/* Shared site chrome (nav, footer, buttons, typography, reset) — mirrors index.html's design tokens */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Jost',sans-serif;background:#F2EBD9;color:#1C1A14;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}
img,video{max-width:100%;display:block}
a{text-decoration:none;color:var(--gold-dark)}
a:hover{color:var(--gold)}
ul{list-style:none}
:root{--cream:#F2EBD9;--cream-light:#FAF6EE;--cream-dark:#EBE2CC;--gold:#B8962E;--gold-light:#D4AF5A;--gold-pale:#E8D5A0;--gold-dark:#8A6E1C;--dark:#1C1A14;--dark2:#232118;--dark3:#141210;--muted:#5C5444;--muted-light:#837A68;--border:rgba(184,150,46,0.22);--border-dark:rgba(184,150,46,0.4);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',sans-serif;--shadow-sm:0 2px 12px rgba(28,26,20,0.07);--shadow-md:0 8px 32px rgba(28,26,20,0.11);--shadow-lg:0 20px 60px rgba(28,26,20,0.16);--shadow-xl:0 32px 80px rgba(28,26,20,0.22)}
.skip-link{position:absolute;left:-999px;top:auto;background:var(--dark);color:#fff!important;padding:12px 22px;z-index:9999;font-family:var(--sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.skip-link:focus{left:12px;top:12px}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--gold-light),var(--gold));width:0%;z-index:1000}
.t-eyebrow{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px}
.t-eyebrow::before,.t-eyebrow::after{content:'';flex:0 0 28px;height:1px;background:currentColor;opacity:.6}
.t-eyebrow.no-lines::before,.t-eyebrow.no-lines::after{display:none}
.t-eyebrow.center{justify-content:center}
.t-body{font-family:var(--sans);font-weight:400;line-height:1.8;font-size:16px;color:var(--muted)}
.t-body strong{color:var(--dark);font-weight:600}
.container{max-width:1200px;margin:0 auto;padding:0 40px}
.gold-line{width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:28px 0}
.gold-line.center{margin:28px auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border:none;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .35s;white-space:nowrap;min-height:44px}
.btn::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-20deg);transition:left .55s cubic-bezier(.4,0,.2,1)}
.btn:hover::after{left:150%}
.btn-gold{background:linear-gradient(135deg,#CBA83C 0%,#B8962E 50%,#9A7D20 100%);color:#fff!important;padding:18px 42px;box-shadow:0 4px 18px rgba(184,150,46,.38),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.1)}
.btn-gold:hover{background:linear-gradient(135deg,#D4B548 0%,#C9A83A 50%,#B8962E 100%);box-shadow:0 8px 32px rgba(184,150,46,.48),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.1);transform:translateY(-2px);color:#fff!important}
.btn-outline-gold{background:transparent;color:var(--gold);padding:16px 40px;border:1px solid var(--gold)}
.btn-outline-gold:hover{background:var(--gold);color:#fff;box-shadow:0 6px 24px rgba(184,150,46,.32);transform:translateY(-2px)}
.reveal{opacity:1;transform:translateY(16px);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.reveal.visible{opacity:1;transform:none;will-change:auto}
.d1{transition-delay:.06s}.d2{transition-delay:.12s}.d3{transition-delay:.18s}
@media (prefers-reduced-motion: reduce){.reveal{transition-duration:.4s;transform:none}}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(242,235,217,0);border-bottom:1px solid transparent;transition:background .45s,box-shadow .45s,border-color .45s;padding-top:env(safe-area-inset-top)}
#nav.scrolled{background:rgba(242,235,217,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom-color:var(--border);box-shadow:0 4px 40px rgba(28,26,20,.07)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px;max-width:1280px;margin:0 auto;padding:0 40px}
.nav-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
#nav .nav-cta,#nav .hamburger{flex-shrink:0}
.nav-logo-img{height:62px;width:auto}
.nav-wordmark{display:flex;flex-direction:column;gap:1px;white-space:nowrap}
.nav-wordmark strong{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:.04em;color:var(--dark);line-height:1.2}
.nav-wordmark span{font-family:var(--sans);font-size:8.5px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:flex;align-items:center;gap:38px}
.nav-links a{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--dark);position:relative;padding-bottom:3px;transition:color .25s}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .32s cubic-bezier(.4,0,.2,1)}
.nav-links a:hover{color:var(--gold)}
.nav-links a:hover::after{width:100%}
.nav-links a.active{color:var(--gold)}
.nav-links a.active::after{width:100%}
.nav-cta{margin-left:16px}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;padding:8px;background:none;border:none;width:44px;height:44px}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--dark);transition:all .35s cubic-bezier(.4,0,.2,1);transform-origin:center}
.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.mobile-menu{max-height:0;overflow:hidden;background:var(--cream-light);border-bottom:1px solid var(--border);transition:max-height .42s cubic-bezier(.4,0,.2,1)}
.mobile-menu.open{max-height:560px}
.mobile-menu-inner{padding:20px 32px 32px;display:flex;flex-direction:column;gap:2px}
.mobile-menu a{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--dark);padding:15px 0;border-bottom:1px solid var(--border);transition:color .2s,padding-left .2s;display:block;min-height:44px}
.mobile-menu a:hover{color:var(--gold);padding-left:6px}
.mobile-menu a:last-of-type{border-bottom:none}
.mobile-menu .btn-gold{margin-top:20px;text-align:center;width:100%;padding:16px}
@media (max-width:1080px){.nav-links,.nav-cta{display:none}.hamburger{display:flex}}

/* NEWSLETTER */
.newsletter-form{display:flex;align-items:center;gap:8px;max-width:380px;border-bottom:1px solid var(--border-dark);transition:border-color .3s}
.newsletter-form:focus-within{border-color:var(--gold)}
.newsletter-input{flex:1;min-width:0;background:none;border:none;font-family:var(--sans);font-size:14px;padding:14px 2px;color:var(--dark)}
.newsletter-input:focus{outline:none}
.newsletter-input::placeholder{color:var(--muted-light)}
.newsletter-submit{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--gold);cursor:pointer;transition:transform .3s,color .3s}
.newsletter-submit svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.newsletter-submit:hover{transform:translateX(4px);color:var(--gold-dark)}
.newsletter-success{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--gold-dark);padding:12px 2px}

/* FOOTER */
#footer{background:var(--dark3);padding:96px 40px 52px;border-top:1px solid rgba(184,150,46,.1);padding-bottom:calc(52px + env(safe-area-inset-bottom))}
.footer-newsletter-wrap{max-width:1200px;margin:0 auto;padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid rgba(255,255,255,.045)}
.footer-newsletter{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.footer-newsletter h4{font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.footer-newsletter p{font-family:var(--sans);font-size:14px;color:rgba(255,255,255,.58);max-width:340px;line-height:1.6}
.footer-newsletter .newsletter-wrap{flex:1 1 320px;max-width:380px}
.footer-newsletter .newsletter-form{border-bottom-color:rgba(255,255,255,.25);max-width:100%}
.footer-newsletter .newsletter-input{color:#fff}
.footer-newsletter .newsletter-input::placeholder{color:rgba(255,255,255,.4)}
.footer-newsletter .newsletter-submit{color:var(--gold-light)}
.footer-newsletter .newsletter-success{color:var(--gold-light)}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:72px;padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,.045)}
.footer-logo{height:54px;margin-bottom:24px}
.footer-brand p{font-family:var(--sans);font-size:14px;font-weight:400;line-height:1.8;color:rgba(255,255,255,.58);max-width:285px;margin-bottom:28px}
.footer-socials{display:flex;gap:10px;flex-wrap:wrap}
.footer-social{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.1);padding:9px 16px;display:inline-block;transition:border-color .25s,color .25s}
.footer-social:hover{border-color:var(--gold);color:var(--gold)}
.footer-col h4{font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:28px}
.footer-col li{margin-bottom:14px}
.footer-col a{font-family:var(--sans);font-size:14px;font-weight:400;color:rgba(255,255,255,.85);transition:color .25s,padding-left .25s;display:inline-block}
.footer-col a:hover{color:var(--gold-light);padding-left:5px}
.footer-bottom{max-width:1200px;margin:0 auto;padding-top:36px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-family:var(--sans);font-size:11px;font-weight:400;color:rgba(255,255,255,.42);letter-spacing:.04em}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap}
.footer-legal a{font-family:var(--sans);font-size:11px;color:rgba(255,255,255,.42);letter-spacing:.04em}
.footer-legal a:hover{color:var(--gold-light)}

@media (max-width:1024px){.container{padding:0 32px}.nav-inner{padding:0 32px}}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:44px}.footer-brand{grid-column:1/-1}.footer-newsletter{flex-direction:column;align-items:flex-start}.footer-newsletter .newsletter-wrap{width:100%;max-width:100%}.footer-bottom{flex-direction:column;text-align:center}}
@media (max-width:600px){.container{padding:0 20px}.nav-inner{padding:0 20px;height:64px}.nav-logo-img{height:46px}.nav-wordmark strong{font-size:15px}.mobile-menu-inner{padding:16px 20px 28px}.footer-grid{grid-template-columns:1fr;gap:40px}.footer-brand{grid-column:auto}.footer-socials{flex-wrap:wrap}}
