/* Peaches polish layer - shared type, motion, nav and footer. Loaded after each page's own styles. */
:root{--body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--ease-out:cubic-bezier(.2,.7,.3,1)}
body{font-family:var(--body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,.section-title,.tagline,.isec-title{text-wrap:balance}
p,li,dd{text-wrap:pretty}
::selection{background:var(--lip);color:#fff}

/* type scale */
.kicker{font-weight:700;letter-spacing:.32em;font-size:.72rem}
.hero-sub{font-size:1.06rem;line-height:1.65}
.lede{line-height:1.6}
.card h3{font-size:1.7rem;line-height:1.1;margin-bottom:6px}
.card p:last-child{font-size:1rem;line-height:1.55}
.price{font-family:var(--display);font-style:italic;font-weight:800;font-size:1.45rem;letter-spacing:-.01em;margin-bottom:10px}
.tcard figcaption span:last-child{color:#5a4636;line-height:1.45}
.fine{line-height:1.6}

/* buttons + links: feedback you can feel */
.btn{font-family:var(--body);font-weight:700;letter-spacing:.01em;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),background-color .18s,color .18s}
.btn:active{transform:translateY(1px) scale(.97);box-shadow:0 3px 10px rgba(217,50,94,.25)}
.btn-ghost:hover{background:var(--lip);color:#fff;box-shadow:0 10px 24px rgba(217,50,94,.3)}
.btn:focus-visible,.nav-links a:focus-visible,.site-foot a:focus-visible,.kiss:focus-visible{outline:3px solid var(--peach);outline-offset:3px}

/* nav */
.nav{align-items:center}
.nav-brand{text-decoration:none;color:var(--ink)}
.nav-links{margin-left:auto;display:flex;gap:clamp(14px,2.4vw,30px)}
.nav-links a{position:relative;color:var(--ink);text-decoration:none;font-weight:600;font-size:.9rem;padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--lip);transform:scaleX(0);transform-origin:right;transition:transform .28s var(--ease-out)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
@media (max-width:600px){.nav-links{gap:14px}.nav-links a{font-size:.82rem}.nav-links .nl-extra{display:none}}

/* staggered ease-ins */
.cards>.reveal:nth-child(2){transition-delay:.09s}
.tcards>.reveal:nth-child(3n+2){transition-delay:.08s}
.tcards>.reveal:nth-child(3n){transition-delay:.16s}
.hero-copy>.reveal:nth-child(2){transition-delay:.06s}
.hero-copy>.reveal:nth-child(3){transition-delay:.12s}
.hero-copy>.reveal:nth-child(4){transition-delay:.18s}
.hero-copy>.reveal:nth-child(5){transition-delay:.24s}
@media (max-width:820px){.tcards>.reveal:nth-child(3n+2),.tcards>.reveal:nth-child(3n){transition-delay:0s}.tcards>.reveal:nth-child(even){transition-delay:.08s}}

/* menu card: image lift on hover */
.card img{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
@media (hover:hover){.card:hover img{transform:translateY(-3px);box-shadow:0 12px 26px rgba(43,27,18,.18)}}

/* footer */
.site-foot{background:var(--ink);color:var(--cream);margin-top:0}
.sf-inner{max-width:1240px;margin:0 auto;padding:clamp(44px,7vw,80px) var(--pad) clamp(30px,5vw,48px);display:grid;grid-template-columns:1.1fr 1.4fr;gap:clamp(28px,5vw,72px);align-items:start}
.sf-mark{font-family:var(--display);font-weight:900;font-size:clamp(2.6rem,6vw,4rem);line-height:.95;color:var(--cream);text-decoration:none;letter-spacing:-.02em}
.sf-mark span{font-size:.4em;vertical-align:super;color:var(--peach)}
.sf-tag{display:block;margin-top:10px;letter-spacing:.35em;text-transform:uppercase;font-size:.7rem;color:var(--peach);font-weight:700}
.sf-line{font-family:var(--display);font-size:1.3rem;margin-top:18px;line-height:1.25}
.sf-line em{color:#ff9fb5}
.sf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px 28px;margin:0}
.sf-facts div{border-top:2px solid rgba(255,246,234,.18);padding-top:14px}
.sf-facts dt{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--peach);font-weight:700;margin-bottom:6px}
.sf-facts dd{margin:0;color:#e9dccb;line-height:1.5}
.site-foot .kiss{opacity:.8;font-size:1.05em}
.sf-base{max-width:1240px;margin:0 auto;padding:18px var(--pad) 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid rgba(255,246,234,.14);font-size:.82rem;color:#b9a48f}
.sf-base a{color:var(--cream);text-decoration:none;font-weight:600}
.sf-base a:hover{color:var(--peach)}
@media (max-width:700px){.sf-inner{grid-template-columns:1fr}.sf-base{padding-bottom:84px}}
@media (prefers-reduced-motion:reduce){.btn,.nav-links a::after,.card img{transition:none}}
