:root{
  --nord:#16283B;
  --nord-2:#1E3348;
  --ink:#1C1E22;
  --paper:#F4F1EA;
  --paper-2:#ECE7DC;
  --brass:#B08D57;
  --nebel:#8A94A0;
  --line:rgba(28,30,34,.12);
  --line-light:rgba(244,241,234,.18);
  --wrap:1120px;
  --serif:'Spectral',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}

.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}

/* ---------- Header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:22px 0;
  color:var(--paper);
  transition:background .4s ease,color .4s ease,padding .4s ease,box-shadow .4s ease;
}
.site-header.scrolled{
  background:rgba(244,241,234,.92);
  backdrop-filter:blur(8px);
  color:var(--ink);
  padding:14px 0;
  box-shadow:0 1px 0 var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{flex:none}
.brand-name{font-family:var(--serif);font-size:20px;letter-spacing:.02em;font-weight:500}
.nav{display:flex;align-items:center;gap:34px}
.nav a{font-size:14.5px;letter-spacing:.01em;opacity:.9;transition:opacity .2s}
.nav a:hover{opacity:1}
.nav-cta{margin-left:6px}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav-toggle span{width:24px;height:2px;background:currentColor;display:block;transition:.3s}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;font-size:14.5px;letter-spacing:.02em;
  padding:13px 26px;border-radius:2px;transition:all .25s ease;cursor:pointer;
  border:1px solid transparent;
}
.btn--light{background:var(--paper);color:var(--nord)}
.btn--light:hover{background:#fff}
.btn--ghost-light{border-color:var(--line-light);color:var(--paper)}
.btn--ghost-light:hover{border-color:var(--paper);background:rgba(244,241,234,.06)}
.btn--ghost{border-color:currentColor;color:inherit;padding:9px 18px}
.btn--ghost:hover{background:rgba(28,30,34,.05)}
.site-header:not(.scrolled) .btn--ghost:hover{background:rgba(244,241,234,.08)}
.btn--solid{background:var(--nord);color:var(--paper);margin-top:26px}
.btn--solid:hover{background:var(--nord-2)}

/* ---------- Meridian ---------- */
.meridian{position:fixed;left:48px;top:0;bottom:0;width:1px;background:rgba(138,148,160,.28);z-index:50;pointer-events:none}
.meridian-fill{position:absolute;top:0;left:0;width:1px;height:0;background:var(--brass);transition:height .1s linear}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  background:var(--nord);color:var(--paper);overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 72% 30%,rgba(46,72,102,.55),rgba(22,40,59,0) 60%),
             radial-gradient(90% 70% at 10% 90%,rgba(11,22,34,.7),rgba(22,40,59,0) 55%);
}
.hero-lines{position:absolute;width:120%;height:120%;left:-10%;top:-10%;animation:drift 34s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-3%,-2%,0)}}
.hero-star{
  position:absolute;top:28%;right:20%;width:6px;height:6px;border-radius:50%;
  background:var(--brass);box-shadow:0 0 0 4px rgba(176,141,87,.18),0 0 24px 6px rgba(176,141,87,.35);
  animation:pulse 5s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}
.hero-inner{position:relative;z-index:2;padding-top:80px}
.eyebrow{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-bottom:26px}
.eyebrow.dark{color:var(--brass)}
.hero-title{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.06;letter-spacing:-.01em}
.hero-sub{max-width:560px;margin:28px 0 40px;font-size:1.14rem;color:rgba(244,241,234,.82)}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;width:26px;height:42px;border:1px solid var(--line-light);border-radius:14px;display:flex;justify-content:center;padding-top:8px}
.scroll-cue span{width:3px;height:8px;background:var(--brass);border-radius:2px;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(-4px)}40%{opacity:1}100%{opacity:0;transform:translateY(10px)}}

/* ---------- Sections ---------- */
.section{padding:120px 0}
.section-intro{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.4;max-width:820px;margin-bottom:72px;color:var(--ink)}
.h-lead{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.01em}
.lede{font-size:1.12rem;color:rgba(28,30,34,.78);max-width:520px}
.section--dark .lede{color:rgba(244,241,234,.82)}
.muted-note{margin-top:20px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--nebel)}

.cols.three{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}
.col-index{font-family:var(--serif);font-size:15px;color:var(--brass)}
.col h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:16px 0 12px}
.col p{color:rgba(28,30,34,.72)}

.section--dark{background:var(--nord);color:var(--paper)}
.where-grid,.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}

.steps{list-style:none;margin-top:56px;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:260px 1fr;gap:32px;padding:34px 0;border-bottom:1px solid var(--line);align-items:baseline}
.step-n{font-family:var(--serif);font-size:1.5rem;font-weight:500}
.step p{color:rgba(28,30,34,.7)}

.section--paper2{background:var(--paper-2)}

.contact-strip{padding:100px 0}
.contact-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;flex-wrap:wrap}
.contact-email{font-family:var(--serif);font-size:clamp(1.3rem,2.6vw,1.9rem);color:var(--paper);border-bottom:1px solid var(--brass);padding-bottom:4px}
.contact-details{text-align:right}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:var(--paper);padding:56px 0 40px}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--line-light)}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-nav{display:flex;gap:26px;flex-wrap:wrap}
.footer-nav a{font-size:14px;color:rgba(244,241,234,.72);transition:color .2s}
.footer-nav a:hover{color:var(--paper)}
.footer-legal{padding-top:22px;font-size:13px;color:rgba(244,241,234,.5)}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:860px){
  .meridian{display:none}
  .nav{position:fixed;inset:0 0 0 auto;width:min(80vw,320px);background:var(--nord);flex-direction:column;justify-content:center;align-items:flex-start;gap:22px;padding:0 40px;transform:translateX(100%);transition:transform .35s ease;color:var(--paper)}
  .nav.open{transform:none}
  .nav a{font-size:1.2rem}
  .nav-toggle{display:flex;z-index:110}
  .cols.three{grid-template-columns:1fr;gap:40px}
  .where-grid,.story-grid,.contact-inner{grid-template-columns:1fr;gap:28px}
  .step{grid-template-columns:1fr;gap:8px}
  .contact-details{text-align:left}
  .section{padding:84px 0}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .hero-lines,.hero-star,.scroll-cue span{animation:none}
  html{scroll-behavior:auto}
}
