:root{
  --paper:#f6efe4; --ink:#33312c; --soft:#5d5a52;
  --sage:#8aa38b; --sage-d:#5f7a61; --rose:#c98a86; --rose-d:#a8615d;
  --line:#ddd2c0;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:17px;line-height:1.7;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 28px}
.narrow{max-width:760px}
.kicker{font-family:"Space Mono",monospace;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--sage-d);margin:0 0 14px}
h2{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.08;letter-spacing:-.01em;margin:0 0 18px}
h2 em,h1 em{font-style:italic;color:var(--rose-d)}
p{margin:0 0 18px}
.small{font-size:.9rem;color:var(--soft)}

/* minibar */
.minibar{display:none}

/* NAV */
.nav{position:sticky;top:0;z-index:40;background:rgba(246,239,228,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:16px}
.brand{font-family:Fraunces,serif;font-size:1.35rem;text-decoration:none;letter-spacing:-.01em}
.brand span{color:var(--soft);font-style:italic}
.nav-links{display:flex;gap:26px}
.nav-links a{text-decoration:none;font-size:.96rem;color:var(--soft);position:relative;padding:3px 0}
.nav-links a:hover{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-3px;height:1.5px;width:0;background:var(--rose-d);transition:width .25s}
.nav-links a:hover::after{width:100%}
.nav-cta{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink);border-radius:30px;padding:9px 16px;white-space:nowrap}
.nav-cta:hover{background:var(--ink);color:var(--paper)}
.burger{display:none;background:none;border:0;cursor:pointer;width:46px;height:46px}
.burger span,.burger span::before,.burger span::after{content:"";display:block;height:2px;width:26px;background:var(--ink);position:relative;transition:.2s}
.burger span::before{position:absolute;top:-7px}.burger span::after{position:absolute;top:7px}
.drawer{display:none}

/* HERO */
.hero{position:relative;min-height:90vh;display:flex;align-items:flex-end;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-media img{width:100%;height:118%;object-fit:cover;will-change:transform}
.hero-grade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(38,36,32,.18) 0%,rgba(38,36,32,.16) 40%,rgba(38,36,32,.72) 100%)}
.hero-in{position:relative;z-index:2;color:#fbf6ee;padding-bottom:64px}
.hero-eyebrow{display:flex;align-items:center;gap:12px;font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;color:#f1e6d6}
.hero-eyebrow .rule{width:40px;height:1px;background:#f1e6d6;display:inline-block}
.hero h1{font-family:Fraunces,serif;font-weight:400;font-size:clamp(2.6rem,7vw,5.2rem);line-height:1.02;margin:0 0 18px;max-width:14ch;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.hero-lede{max-width:600px;font-size:clamp(1rem,2.2vw,1.18rem);color:#f3e9da;line-height:1.6;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.scrollcue{display:inline-block;margin-top:26px;font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#fbf6ee;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}

/* STORY */
.story{padding:96px 0}
.pull{font-family:Fraunces,serif;font-style:italic;font-size:clamp(1.4rem,3.2vw,2rem);line-height:1.35;color:var(--sage-d);border-left:3px solid var(--rose);margin:34px 0 0;padding:6px 0 6px 26px}

/* FEATURE full-bleed */
.feature{padding:0 0 96px}
.feat-media{margin:0 0 56px;height:64vh;min-height:420px;overflow:hidden}
.feat-media img{width:100%;height:100%;object-fit:cover}
.feat-text{max-width:760px}
.ticks{list-style:none;padding:0;margin:24px 0 0}
.ticks li{padding:11px 0 11px 30px;border-bottom:1px solid var(--line);position:relative;color:var(--soft)}
.ticks li::before{content:"";position:absolute;left:0;top:18px;width:10px;height:10px;border-radius:50%;background:var(--sage)}

/* SPLIT */
.split{padding:0 0 96px}
.split-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.split-grid figure{margin:0;aspect-ratio:1;overflow:hidden;border-radius:6px;background:#ece2d2;position:relative}
.split-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.split-grid figure:hover img{transform:scale(1.05)}
@media(max-width:820px){.split-in{grid-template-columns:1fr;gap:34px}}

/* BAND */
.band{background:#efe6d6;padding:84px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-in{margin-bottom:40px}
.band-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1140px;margin:0 auto;padding:0 28px}
.band-strip figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:#e3d8c6;position:relative}
.band-strip img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.band-strip figure:hover img{transform:scale(1.05)}
@media(max-width:720px){.band-strip{grid-template-columns:1fr}}

/* VISIT */
.visit{padding:96px 0}
.visit-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.meta{margin:26px 0 28px}
.meta div{display:flex;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.meta dt{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-d);min-width:80px;margin:0}
.meta dd{margin:0;color:var(--soft)}
.btn{display:inline-block;font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;background:var(--ink);color:var(--paper);padding:14px 22px;border-radius:30px;min-height:46px}
.btn:hover{background:var(--rose-d)}
.map{width:100%;aspect-ratio:4/3;min-height:340px;overflow:hidden;border-radius:8px;background:#e3d8c6;position:relative}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:820px){.visit-in{grid-template-columns:1fr;gap:34px}.map{aspect-ratio:auto;min-height:300px;height:300px}}

.note{margin:46px auto 0;max-width:760px;font-size:.9rem;color:var(--soft);border:1px dashed var(--sage);border-radius:10px;padding:16px 20px;background:#fbf6ee}

/* FOOTER */
.foot{background:var(--ink);color:#e9e2d4;padding:50px 0}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:flex-start}
.foot-mark{font-family:Fraunces,serif;font-size:1.3rem}
.foot p{margin:6px 0 0;color:#b0a896;font-size:.9rem}
.foot-credit{font-size:.86rem;color:#b0a896;text-align:right}
.foot-credit a{color:var(--sage)}

/* image fallback */
.imgfb{background:repeating-linear-gradient(45deg,#efe6d6,#efe6d6 16px,#e3d8c6 16px,#e3d8c6 32px)!important}
.imgfb img{display:none}
.imgfb::after{content:"Swap your own photo";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Space Mono",monospace;font-size:12px;color:var(--soft)}

/* reveals — never hide the hero */
html.x9anim section .reveal{opacity:0;transform:translateY(26px)}
@media(prefers-reduced-motion:reduce){html.x9anim section .reveal{opacity:1!important;transform:none!important}}
html.x9anim section .reveal.in{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease}

@media(max-width:640px){
  .minibar{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#f1e6d6;padding:9px 22px;font-size:13px;position:sticky;top:0;z-index:50}
  .minibar .mb-name{font-family:Fraunces,serif}
  .minibar a{color:var(--sage);text-decoration:none;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.05em}
  .nav{top:38px}
  .nav-links,.nav-cta{display:none}
  .burger{display:block}
  .drawer{display:block;max-height:0;overflow:hidden;transition:max-height .3s;background:var(--paper);border-bottom:1px solid var(--line)}
  .drawer.open{max-height:300px}
  .drawer a{display:block;padding:14px 28px;text-decoration:none;border-top:1px solid var(--line);color:var(--soft)}
  .hero{min-height:82vh}
  .story,.visit{padding:60px 0}.feature,.split{padding-bottom:60px}.band{padding:56px 0}
  .split-grid{grid-template-columns:1fr 1fr}
  .foot-credit{text-align:left}
}
