  :root{
    --abyss:#042C53; --deep-navy:#0C447C; --horizon:#185FA5; --gold:#FAC775; --dawn:#FAEEDA;
    --bg:#F6F2EA; --bg-soft:#FBF8F1; --bg-navy:#042C53; --ink:#042C53; --ink-soft:#0C447C; --ink-muted:#4A6A8C; --ink-inv:#F6F2EA; --ink-inv-soft:#B5D4F4;
    --accent:#C8831B; --rule:rgba(4,44,83,0.12); --rule-strong:rgba(4,44,83,0.20); --rule-inv-strong:rgba(181,212,244,0.34);
    --ff-sans:'Jost',ui-sans-serif,system-ui,sans-serif;
    --ff-serif:'Cormorant Garamond','Iowan Old Style',Georgia,serif;
    --ff-mono:'JetBrains Mono','SF Mono',ui-monospace,monospace;
    --col-w:min(1280px,92vw);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{ background:var(--bg); color:var(--ink); font-family:var(--ff-sans); font-weight:300; -webkit-font-smoothing:antialiased; line-height:1.5; }
  .container{ width:var(--col-w); margin:0 auto; }

  /* ── hero ── parallax on .mast__img (outer), ken-burns on .mast__img-inner (no transform conflict) */
  .mast{ position:relative; overflow:hidden; background:var(--bg-navy); color:var(--ink-inv); }
  .mast__img{ position:absolute; inset:0; overflow:hidden; }
  .mast__img-inner{ position:absolute; inset:0; background-image:url('/assets/hero-summit.jpeg'); background-size:cover; background-position:50% 42%; transform:scale(1.22); will-change:transform; }
  .mast__veil{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(4,44,83,.18) 0%, rgba(4,44,83,.42) 46%, rgba(4,44,83,.92) 100%); }
  .mast__inner{ position:relative; padding:54px 0 64px; }
  .mast .container{ display:flex; flex-direction:column; min-height:90vh; }
  .mast__top{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
  .brand{ display:flex; align-items:center; gap:16px; }
  .brand__mark{ height:40px; width:auto; display:block; }
  .brand__word{ font-weight:200; font-size:21px; letter-spacing:.34em; }
  .mast__head{ margin-top:auto; }
  .mast__rule{ margin-top:34px; height:1px; width:100%; background:linear-gradient(90deg,transparent,var(--rule-inv-strong) 8%,var(--rule-inv-strong) 60%,transparent); }

  /* sign-in (ghost pill, inverse palette) — route wired later */
  .signin{ font-family:var(--ff-sans); font-weight:400; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-inv); text-decoration:none; padding:9px 22px; border:1px solid var(--rule-inv-strong); border-radius:999px; white-space:nowrap; transition:background .2s ease, border-color .2s ease, color .2s ease; }
  .signin:hover{ background:rgba(181,212,244,0.12); border-color:var(--gold); color:#FCFAF4; }

  .eyebrow{ font-size:13px; font-weight:500; letter-spacing:.40em; text-transform:uppercase; color:var(--gold); }
  .display{ font-family:var(--ff-serif); font-style:italic; font-weight:500; font-size:clamp(54px,7vw,104px); line-height:.96; letter-spacing:-.018em; color:#FCFAF4; max-width:14ch; margin:20px 0 0; }
  .lead{ margin-top:26px; max-width:min(760px,92vw); color:var(--ink-inv-soft); font-size:18px; line-height:1.5; font-weight:300; }
  .lead span{ display:block; }
  .lead span + span{ margin-top:4px; }

  /* ── scroll-reveal section ── */
  .manifesto{ position:relative; overflow:hidden; background:var(--bg-soft); padding:80px 0 120px; }
  /* faded cartography wash (b3f-C) — qt592 indigo ink, right-anchored, with a carve-out behind the
     headline's second half. Pure CSS, degrades to plain parchment if masks/blend unsupported. */
  .manifesto__tex{ position:absolute; inset:0; pointer-events:none;
    background-image:url('/assets/carto-qt592.webp'); background-repeat:no-repeat; background-position:80% 46%; background-size:172%;
    opacity:.13; mix-blend-mode:multiply;
    -webkit-mask-image:radial-gradient(120% 125% at 70% 60%, #000 22%, transparent 78%), radial-gradient(48% 54% at 40% 12%, transparent 0%, transparent 42%, #000 88%);
    mask-image:radial-gradient(120% 125% at 70% 60%, #000 22%, transparent 78%), radial-gradient(48% 54% at 40% 12%, transparent 0%, transparent 42%, #000 88%);
    -webkit-mask-size:100% 100%; mask-size:100% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
    -webkit-mask-composite:source-in; mask-composite:intersect; }
  .manifesto .container{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
  .m-eyebrow{ grid-column:1/-1; font-family:var(--ff-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; }
  /* section headline — Cormorant upright, ink-blue, single line (nowrap) */
  .section-head{ grid-column:1/-1; white-space:nowrap; font-family:var(--ff-serif); font-style:normal; font-weight:500; font-size:clamp(22px,2.2vw,28px); line-height:1.2; letter-spacing:0; color:var(--ink); margin:0 0 34px; }
  .m-card{ padding:30px 28px; background:var(--bg); border:1px solid var(--rule); border-radius:8px; }
  .m-card .n{ font-family:var(--ff-mono); font-size:12px; color:var(--ink-muted); }
  .m-card .t{ font-family:var(--ff-serif); font-style:italic; font-size:26px; color:var(--ink); margin:10px 0 8px; }
  .m-card .d{ font-size:16px; color:var(--ink-soft); line-height:1.6; }

  /* ── footer bar — parked below the fold, reveals ("slides up") on scroll to bottom ── */
  .site-footer{ background:var(--bg-navy); color:var(--ink-inv); }
  .site-footer .foot{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; }
  .foot__mark{ height:26px; width:auto; display:block; }
  .foot__copy{ font-size:12.5px; letter-spacing:.06em; color:var(--ink-inv-soft); }
  .foot__soon{ font-family:var(--ff-mono); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); }

  @media (max-width:760px){ .manifesto .container{ grid-template-columns:1fr; } .signin{ padding:8px 16px; } }
  @media (max-width:640px){ .site-footer .foot{ flex-direction:column; gap:10px; text-align:center; } }
