:root{--ink:#0b0908;--cream:#f0e7d8;--gold:#c79955;--wine:#641c20;--muted:#a69c8e;--line:rgba(240,231,216,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:"DM Sans",sans-serif;font-weight:300;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.035;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.nav{position:fixed;z-index:50;top:0;left:0;width:100%;height:88px;padding:0 clamp(24px,5vw,80px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.12);transition:.4s}.nav.scrolled{height:70px;background:rgba(11,9,8,.88);backdrop-filter:blur(18px)}a{color:inherit;text-decoration:none}.brand{display:flex;gap:12px;align-items:center;font:22px "Italiana",serif;letter-spacing:.03em}.brand span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;font:11px "DM Sans"}.nav nav{display:flex;gap:40px;text-transform:uppercase;font-size:11px;letter-spacing:.18em}.nav nav a,.text-link,footer a{transition:color .25s}.nav nav a:hover,.text-link:hover,footer a:hover{color:var(--gold)}.nav-cta{justify-self:end;border-bottom:1px solid var(--gold);padding:10px 0;text-transform:uppercase;font-size:11px;letter-spacing:.14em}.nav nav .nav-reserve-link{display:none}.nav-toggle{display:none;position:relative;z-index:41;justify-self:end;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}.nav-toggle span{width:22px;height:1px;background:var(--cream);transition:.3s}
#grain{position:fixed;inset:0;z-index:2;pointer-events:none}.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:140px clamp(24px,8vw,130px) 90px;isolation:isolate;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-image{background:url("assets/hero-pappardelle.jpg") 61% center/cover no-repeat;transform:scale(1.05)}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(8,6,5,.96) 0%,rgba(8,6,5,.7) 38%,rgba(8,6,5,.08) 72%),linear-gradient(0deg,rgba(8,6,5,.7),transparent 45%)}.hero-copy{max-width:740px}.eyebrow,.section-index{text-transform:uppercase;font-size:10px;letter-spacing:.25em;color:var(--gold);font-weight:500}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow span{width:32px;height:1px;background:var(--gold)}h1,h2{font:clamp(64px,9.4vw,150px)/.85 "Italiana",serif;letter-spacing:-.045em;margin:28px 0}h1 em,h2 em{font-style:italic;color:var(--gold)}.lead{max-width:520px;font-size:clamp(16px,1.35vw,20px);line-height:1.7;color:#d7cfc4}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:40px}.button{display:inline-flex;align-items:center;gap:45px;background:var(--wine);padding:18px 22px;text-transform:uppercase;font-weight:500;font-size:11px;letter-spacing:.12em;transition:.3s}.button:hover{background:#7d2429;transform:translateY(-2px)}.button span{font-size:18px}.text-link{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0}.hero-note{position:absolute;right:5vw;bottom:6vh;display:flex;flex-direction:column;text-align:right;font-size:11px;letter-spacing:.1em}.hero-note b{color:var(--gold);text-transform:uppercase;margin-bottom:6px}.scroll-cue{position:absolute;left:50%;bottom:34px;display:flex;align-items:center;gap:10px;transform:translateX(-50%);font-size:9px;text-transform:uppercase;letter-spacing:.2em}.scroll-cue i{width:1px;height:36px;background:linear-gradient(var(--gold),transparent)}
.manifesto{padding:clamp(110px,14vw,220px) clamp(24px,8vw,130px);position:relative}.section-index{border-top:1px solid var(--line);padding-top:18px}.manifesto h2{font-size:clamp(48px,6.5vw,104px);max-width:1300px;line-height:1.02;margin:70px 0}.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center}.manifesto-grid>p{font:clamp(18px,2vw,28px)/1.55 "Italiana";max-width:520px;color:#bfb4a4}.seal{justify-self:end;width:190px;aspect-ratio:1;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;text-align:center;position:relative;animation:turn 18s linear infinite}.seal span{text-transform:uppercase;letter-spacing:.18em;font-size:9px;line-height:2}.seal b{position:absolute;font:30px "Italiana";color:var(--gold)}@keyframes turn{to{transform:rotate(360deg)}}
.menu{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#100e0c}.menu-visual{min-height:760px;position:relative;overflow:hidden}.menu-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.05);transform:scale(1.08)}.menu-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,#100e0c),linear-gradient(0deg,rgba(0,0,0,.5),transparent 50%)}.menu-copy{padding:clamp(70px,8vw,130px) clamp(24px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.menu-copy h2,.ritual h2,.reserve h2{font-size:clamp(52px,6vw,96px);line-height:.95;margin:45px 0 60px}.dishes{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.dishes li{border-bottom:1px solid var(--line)}.dishes button{width:100%;padding:24px 0;border:0;background:none;color:inherit;display:grid;grid-template-columns:35px 1fr auto;text-align:left;align-items:center;cursor:pointer}.dishes button span{color:var(--gold);font-size:10px}.dishes button b{font:20px "Italiana"}.dishes button i{font-style:normal;font-size:11px;color:var(--muted)}.dishes p{margin:-10px 0 24px 35px;color:var(--muted);font-size:13px;line-height:1.6;overflow:hidden}.dishes li:not(:first-child) p{height:0;margin-bottom:0;opacity:0}
.ritual{min-height:100vh;position:relative;padding:clamp(120px,15vw,230px) clamp(24px,8vw,130px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(circle at 70% 50%,#29190e 0,transparent 35%)}.ritual h2{max-width:950px}.ritual>p:last-child{max-width:530px;color:var(--muted);font-size:17px;line-height:1.7}.oil{position:absolute;right:17vw;top:-3%;height:65%;width:160px}.oil span{position:absolute;left:79px;width:3px;height:0;background:linear-gradient(#f5c05b,#b86b14);box-shadow:0 0 16px #e39a2e;border-radius:5px}.oil i{position:absolute;bottom:0;left:48px;width:65px;height:18px;border-radius:50%;background:radial-gradient(ellipse,#d68b22,transparent 70%);opacity:0}.cheese{position:absolute;inset:0;pointer-events:none}.cheese i{position:absolute;width:3px;height:3px;background:#f1dfb5;border-radius:50%;opacity:0}
.reserve{min-height:80vh;background:var(--wine);padding:clamp(100px,12vw,190px) clamp(24px,8vw,130px);display:grid;grid-template-columns:1fr auto;align-items:center;position:relative}.reserve .eyebrow{color:#dec29a}.reserve h2 em{color:#e1c18f}.button.light{background:var(--cream);color:var(--wine);font-size:12px}.button.light:hover{background:white}.reserve-note{position:absolute;left:8vw;bottom:50px;font-size:11px;line-height:1.7;color:#dfbfc0}footer{height:120px;padding:0 clamp(24px,5vw,80px);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.13em}
@media(max-width:800px){.nav{height:72px;display:flex;justify-content:space-between}.nav-cta{display:none}.nav-toggle{display:flex}.nav nav{position:fixed;inset:0;top:0;flex-direction:column;align-items:center;justify-content:center;gap:34px;background:rgba(11,9,8,.98);backdrop-filter:blur(20px);opacity:0;transform:translateY(-14px);pointer-events:none;transition:opacity .4s ease,transform .4s ease}.nav nav a{font:26px "Italiana",serif;letter-spacing:.01em}.nav nav .nav-reserve-link{display:inline-block;margin-top:6px;padding:14px 30px;border:1px solid var(--gold);color:var(--gold)}.nav.open nav{z-index:40;opacity:1;transform:translateY(0);pointer-events:auto}.nav.open .nav-toggle span:first-child{transform:translateY(6px) rotate(45deg)}.nav.open .nav-toggle span:nth-child(2){opacity:0}.nav.open .nav-toggle span:last-child{transform:translateY(-6px) rotate(-45deg)}.hero{align-items:flex-end;padding-bottom:110px}.hero-image{background-position:64% center}.hero-shade{background:linear-gradient(0deg,rgba(8,6,5,.98) 4%,rgba(8,6,5,.68) 55%,rgba(8,6,5,.18))}.hero h1{font-size:clamp(62px,20vw,92px)}.hero-note{display:none}.scroll-cue{left:auto;right:20px;transform:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.manifesto-grid,.menu,.reserve{grid-template-columns:1fr}.manifesto-grid{gap:60px}.seal{justify-self:start;width:140px}.menu-visual{min-height:56vh}.menu-copy{padding-top:80px;padding-bottom:100px}.oil{right:-15px;opacity:.7}.reserve{gap:20px}.reserve h2{margin-bottom:20px}.reserve .button{justify-self:start;gap:20px}footer .brand{display:none}}
.oil{right:12vw;top:-8%;width:190px;height:72%;filter:drop-shadow(0 0 22px rgba(220,143,28,.2))}.oil svg{width:100%;height:100%;overflow:visible}.oil path{fill:none;stroke:url(#olive-gold);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:url(#oil-glow)}.oil i{display:block;position:absolute;top:2%;left:78px;width:13px;height:20px;border-radius:55% 45% 58% 42%;background:radial-gradient(circle at 35% 25%,#fff3ae 0,#dc921e 42%,#874008 100%);box-shadow:0 0 14px rgba(236,167,48,.65);opacity:0}.oil b{position:absolute;left:48px;bottom:1%;width:75px;height:20px;border:2px solid rgba(221,151,38,.7);border-radius:50%;opacity:0;transform:scale(0);box-shadow:0 0 18px rgba(221,151,38,.25)}
@media(max-width:800px){.oil{right:-38px;width:150px;opacity:.55}}
.seal{animation:none;width:240px;aspect-ratio:auto;border:0;border-left:1px solid var(--gold);border-radius:0;display:flex;align-items:center;gap:22px;padding:12px 0 12px 24px;text-align:left}.seal b{position:static;font:42px "Italiana",serif;color:var(--gold)}.seal span{display:flex;flex-direction:column;gap:7px;font:18px "Italiana",serif;text-transform:none;letter-spacing:.02em;line-height:1}.seal small{font:9px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.24em;color:var(--muted)}
@media(max-width:800px){.seal{width:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.seal{animation:none}*{transition:none!important}}
