:root{--ink:#11110f;--ink-2:#191917;--paper:#f0eee8;--muted:#aaa79f;--gold:#c8a56a;--line:rgba(240,238,232,.16);--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.skip-link{position:fixed;top:-100px;left:1rem;background:var(--paper);color:var(--ink);padding:.7rem 1rem;z-index:99}.skip-link:focus{top:1rem}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);position:absolute;inset:0 0 auto;z-index:10;border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:.8rem;font-size:.86rem;font-weight:600;letter-spacing:.18em;line-height:1.05}.brand em{display:block;color:var(--gold);font-style:normal;font-size:.68rem;letter-spacing:.33em;margin-top:.25rem}.brand-mark{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-family:var(--serif);font-size:.85rem;letter-spacing:0}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.88rem}.site-header nav a:not(.nav-cta){color:#d4d1c9}.site-header nav a:hover{color:var(--gold)}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:.65rem 1.05rem}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--paper);padding:.55rem .75rem}.hero{min-height:760px;height:100svh;position:relative;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.92) 0%,rgba(8,8,7,.67) 40%,rgba(8,8,7,.08) 75%),linear-gradient(0deg,rgba(8,8,7,.45),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(720px,82vw);margin-left:clamp(1.25rem,9vw,9rem);padding-top:5rem}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.25em;font-size:.76rem;font-weight:600;margin:0 0 1.2rem}.hero h1,.section h2{font-family:var(--serif);font-weight:400;line-height:.92;letter-spacing:-.025em;margin:0}.hero h1{font-size:clamp(4.3rem,8.4vw,8.2rem)}h1 i,h2 i{font-weight:400;color:var(--gold)}.hero-copy{max-width:530px;color:#cbc8c0;font-size:1.08rem;margin:2rem 0}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.3rem;border:1px solid transparent;font:600 .84rem var(--sans);letter-spacing:.05em;cursor:pointer;transition:.25s}.button-primary{background:var(--gold);color:var(--ink)}.button-primary:hover{background:#dfbf88;transform:translateY(-2px)}.button-ghost{border-color:rgba(255,255,255,.4)}.button-ghost:hover{border-color:var(--gold);color:var(--gold)}.hero-note{position:absolute;right:3rem;bottom:2.4rem;z-index:2;color:#d8d5ce;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:.8rem}.hero-note span{display:block;width:54px;height:1px;background:var(--gold)}.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,9vw,9rem)}.section-heading{display:grid;grid-template-columns:1.15fr .75fr;gap:5rem;align-items:end;margin-bottom:4rem}.section h2{font-size:clamp(3.3rem,6vw,6rem)}.section-heading>p{color:var(--muted);max-width:490px;margin:0 0 .5rem}.menu-section{background:var(--paper);color:var(--ink)}.menu-section .eyebrow{color:#8c693b}.menu-grid{border-top:1px solid rgba(17,17,15,.18)}.menu-card{display:grid;grid-template-columns:80px 1fr;gap:1rem;padding:2.1rem 0;border-bottom:1px solid rgba(17,17,15,.18);transition:.2s}.menu-card:hover{padding-left:1rem;background:rgba(200,165,106,.08)}.menu-number{color:#9a8f80;font-size:.78rem}.menu-card h3{font-family:var(--serif);font-size:2.2rem;font-weight:400;margin:0 0 .35rem}.menu-card p{margin:0;color:#67635c}.menu-note{color:#777168;font-size:.82rem;margin-top:1.2rem}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,9vw,9rem);align-items:center;background:var(--ink-2)}.about-visual{aspect-ratio:1;max-width:470px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(200,165,106,.12),transparent 62%)}.ring{font-family:var(--serif);font-size:clamp(3rem,6vw,5.5rem);line-height:.8;text-align:center;color:var(--gold)}.small-stamp{position:absolute;right:5%;bottom:12%;width:74px;height:74px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;text-align:center;font-size:.6rem;letter-spacing:.14em;line-height:1.4}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:610px;font-size:1.04rem}.location{display:grid;grid-template-columns:1fr 1fr;padding-top:0;padding-bottom:0;padding-right:0}.location-card{padding:clamp(5rem,9vw,9rem) clamp(2rem,7vw,7rem) clamp(5rem,9vw,9rem) 0}.details{margin:3rem 0;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.details span,.details small{display:block;color:var(--muted);font-size:.78rem}.details strong{display:block;margin:.5rem 0;font-weight:500;line-height:1.55}.map-placeholder{min-height:620px;position:relative;overflow:hidden;background:#c8a56a;color:var(--ink);display:grid;place-items:center}.map-placeholder:before{content:"";position:absolute;inset:0;background-image:linear-gradient(30deg,transparent 47%,rgba(17,17,15,.12) 48%,rgba(17,17,15,.12) 50%,transparent 51%),linear-gradient(120deg,transparent 47%,rgba(17,17,15,.1) 48%,rgba(17,17,15,.1) 50%,transparent 51%);background-size:110px 90px}.map-placeholder p{position:absolute;left:3rem;bottom:2rem;font:2.1rem/1 var(--serif);letter-spacing:.08em}.pin{position:relative;z-index:2;width:82px;height:82px;border-radius:50% 50% 50% 0;background:var(--ink);color:var(--gold);display:grid;place-items:center;transform:rotate(-45deg);box-shadow:0 20px 50px rgba(0,0,0,.25)}.pin b{transform:rotate(45deg);font-family:var(--serif);font-weight:400}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,10vw,10rem);background:#0b0b0a}.contact-intro>p:not(.eyebrow){color:var(--muted);max-width:460px}.contact-form{display:grid;gap:1.35rem}.contact-form label{display:grid;gap:.5rem;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;color:#aaa79f}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.25);background:transparent;color:var(--paper);padding:.75rem 0;font:1rem var(--sans);border-radius:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--gold)}.contact-form .button{justify-self:start}.form-status{min-height:1.5rem;color:var(--gold);font-size:.85rem;margin:0}footer{padding:3rem clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;border-top:1px solid var(--line);font-size:.75rem;color:#8c8982}.footer-brand{color:var(--paper)}footer>p{margin:0;text-align:center}footer>div{display:flex;justify-content:flex-end;gap:1.2rem;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.site-header{height:72px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;padding:1.4rem;background:rgba(17,17,15,.98);flex-direction:column;align-items:stretch;gap:.4rem}.site-header nav.open{display:flex}.site-header nav a{padding:.75rem}.hero{min-height:700px}.hero-overlay{background:linear-gradient(90deg,rgba(8,8,7,.9),rgba(8,8,7,.35)),linear-gradient(0deg,rgba(8,8,7,.7),transparent)}.hero-content{margin-left:1.25rem;width:calc(100% - 2.5rem)}.hero h1{font-size:clamp(4rem,17vw,6rem)}.hero-note{display:none}.section-heading,.about,.contact{grid-template-columns:1fr;gap:3rem}.about-visual{max-width:340px}.location{grid-template-columns:1fr;padding-right:1.25rem}.location-card{padding-right:0}.map-placeholder{min-height:420px}.details{grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:left}footer>p{text-align:left}footer>div{justify-content:flex-start}}@media(max-width:520px){.section{padding:5rem 1.25rem}.menu-card{grid-template-columns:42px 1fr}.location{padding-top:0;padding-bottom:0}.hero-actions .button{width:100%}.map-placeholder{margin-right:-1.25rem}.location-card{padding-top:5rem;padding-bottom:5rem}.brand-mark{width:34px;height:34px}}
