:root{--cream:#f4efe2;--ink:#253128;--green:#687b62;--deep:#354437;--coral:#d7866c;--sand:#d9c5a0;--muted:#77776d;--line:#cbc7ba;--serif:"Playfair Display",serif;--sans:"DM Sans",sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.045;background-image: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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}.nav{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:10;color:#fff}.logo{font-weight:700;letter-spacing:-.06em;font-size:20px}.logo span{font-family:var(--serif);font-style:italic;font-weight:500;margin-left:3px}.nav nav{display:flex;gap:30px;font-size:12px}.reserve{font:9px var(--mono);border:1px solid #fff9;border-radius:50px;padding:11px 15px}.hero{min-height:100vh;background:var(--deep);color:#fff;position:relative;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.hero-image{grid-column:2;position:relative;background:radial-gradient(circle at 55% 40%,#d6a875 0 4%,transparent 5%),linear-gradient(145deg,#829476,#334538 55%,#1f2b22)}.hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 20%,#d7866c55 20% 21%,transparent 21% 60%,#d9c5a033 60%)}.hero-image__overlay{position:absolute;inset:8%;border:1px solid #ffffff33}.hero-stamp{position:absolute;bottom:12%;left:9%;font:11px var(--mono);line-height:1.5}.hero-stamp em{font-family:var(--serif);font-size:18px}.hero-copy{grid-column:1;grid-row:1;padding:18vh 8vw 10vh;align-self:center;z-index:2}.eyebrow{font:9px var(--mono);letter-spacing:.14em;opacity:.7}.hero h1{font:600 clamp(65px,8.5vw,135px) var(--sans);letter-spacing:-.085em;line-height:.8;margin:30px 0}.hero h1 em,.story h2 em,.moments h2 em,.reservation h2 em{font-family:var(--serif);font-weight:500;color:#e7c995}.hero-copy>p:not(.eyebrow){max-width:440px;font-size:15px;line-height:1.7;color:#d7ddd6}.button{display:inline-flex;gap:40px;padding:14px 18px;border:1px solid #ffffff77;border-radius:50px;font:10px var(--mono);margin-top:25px}.hero-location{position:absolute;bottom:28px;left:5vw;font:8px var(--mono);line-height:1.5;opacity:.55}.menu-section,.story,.moments,.footer-section{padding:135px 7vw;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:75px}.section-head h2,.story h2,.moments h2{font:600 clamp(58px,7vw,110px) var(--sans);line-height:.84;letter-spacing:-.08em;margin:25px 0 0}.section-head>p{max-width:380px;color:var(--muted);line-height:1.65;font-size:14px}.menu-grid{border-top:1px solid var(--line)}.menu-grid article{display:grid;grid-template-columns:45px 1fr 70px;gap:15px;align-items:start;padding:25px 0;border-bottom:1px solid var(--line)}.menu-grid article>span,.menu-grid b{font:9px var(--mono);color:var(--muted)}.menu-grid h3{font-size:20px;margin:0 0 7px}.menu-grid p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.menu-grid b{text-align:right;font-size:11px;color:var(--ink)}.story{background:#ddd6c7;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.story-photo{min-height:650px;background:linear-gradient(145deg,#819278,#c0a67f 55%,#5e725e);padding:30px;position:relative;color:#fff;overflow:hidden}.story-photo:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid #fff5;right:-120px;top:20%;box-shadow:0 0 0 55px #fff1,0 0 0 110px #fff1}.story-photo span{font:9px var(--mono)}.story-photo strong{position:absolute;left:8%;bottom:10%;font:600 clamp(60px,7vw,110px) var(--sans);line-height:.8;letter-spacing:-.08em}.story-photo em{font-family:var(--serif);font-weight:500}.story-copy{align-self:center;max-width:530px}.story-copy>p:not(.eyebrow){color:#5f625b;font-size:15px;line-height:1.7}.signature{margin-top:40px;font-size:13px}.signature em{font:italic 20px var(--serif)}.marquee{overflow:hidden;background:var(--coral);color:#fff;padding:18px 0;font:11px var(--mono);white-space:nowrap}.marquee div{animation:move 20s linear infinite}@keyframes move{to{transform:translateX(-40%)}}.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.moment{height:430px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden}.moment:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,#0006)}.moment span,.moment strong{position:relative;z-index:1}.moment span{font:10px var(--mono)}.moment strong{font:600 clamp(35px,4vw,65px) var(--sans);letter-spacing:-.07em}.m1{background:linear-gradient(135deg,#758b6c,#26372b)}.m2{background:linear-gradient(135deg,#b78c63,#3e3026)}.m3{background:linear-gradient(135deg,#d78970,#603e36)}.reservation{padding:150px 7vw;background:var(--deep);color:#fff;position:relative;overflow:hidden}.reservation:after{content:"";position:absolute;width:550px;height:550px;border:1px solid #fff2;border-radius:50%;right:-170px;top:-100px;box-shadow:0 0 0 80px #fff1}.reservation h2{font:600 clamp(65px,9vw,145px) var(--sans);line-height:.8;letter-spacing:-.085em;margin:35px 0}.reservation>p:not(.eyebrow){color:#cbd1ca;max-width:440px;line-height:1.6}.button-light{color:#fff}.footer-section{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.footer-section>div>span{font:9px var(--mono);color:var(--muted)}.footer-section p{font-size:13px;line-height:1.7}.footer-section footer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:35px;margin-top:70px;display:flex;justify-content:space-between;font:8px var(--mono);color:var(--muted)}@media(max-width:850px){.nav{padding:0 7vw}.nav nav{display:none}.hero{display:block;min-height:auto;padding-top:82px}.hero-image{height:430px}.hero-copy{padding:70px 7vw}.hero h1{font-size:19vw}.hero-location{display:none}.menu-section,.story,.moments,.footer-section{padding:100px 7vw}.section-head,.story{grid-template-columns:1fr}.moment-grid,.footer-section{grid-template-columns:1fr}.moment{height:330px}.story-photo{min-height:450px}.footer-section footer{flex-direction:column;gap:12px}.menu-grid article{grid-template-columns:35px 1fr 50px}}
