/* ===================== self-hosted fonts ===================== */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 600;font-display:swap;src:url("/fonts/Fraunces-roman.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:300 500;font-display:swap;src:url("/fonts/Fraunces-italic.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url("/fonts/HankenGrotesk.woff2") format("woff2")}

:root{
    --paper:#F6F6EC;        /* page cream, sampled from the mark */
    --paper-2:#FBFBF3;      /* raised surfaces */
    --paper-edge:#ECEBDC;   /* card edges on cream */
    --ink:#1A2A48;          /* deep indigo, the brand */
    --ink-deep:#121E36;     /* darker navy for night-sea + footer */
    --ink-deepest:#0E1828;
    --steel:#3B5570;        /* secondary blue from the wave */
    --gold:#B8A16C;         /* gold-leaf */
    --gold-bright:#CDB683;
    --gold-deep:#998249;    /* hairlines on cream */

    --ink-70:rgba(26,42,72,.70);
    --ink-55:rgba(26,42,72,.55);
    --ink-40:rgba(26,42,72,.40);
    --paper-72:rgba(246,246,236,.74);
    --paper-50:rgba(246,246,236,.52);
    --paper-30:rgba(246,246,236,.30);

    --maxw:1160px;
    --pad-x:clamp(1.25rem, 5vw, 2.75rem);
    --sect-y:clamp(4.75rem, 9vw, 8.5rem);

    --serif:"Fraunces", Georgia, "Times New Roman", serif;
    --sans:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

    --r:5px;
  }

  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }

  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    font-weight:400;
    font-size:clamp(1rem,0.96rem + 0.2vw,1.075rem);
    line-height:1.62;
    letter-spacing:.002em;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }

  /* faint printed-paper grain */
  body::before{
    content:""; position:fixed; inset:0; z-index:9999; pointer-events:none;
    opacity:.035; mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  h1,h2,h3,h4{font-family:var(--serif); font-weight:400; font-optical-sizing:auto; margin:0; letter-spacing:-.012em; color:var(--ink)}
  p{margin:0}
  a{color:inherit; text-decoration:none}
  img{max-width:100%; display:block}

  .wrap{max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad-x)}
  .section{padding-block:var(--sect-y); position:relative}

  .eyebrow{
    font-family:var(--sans); font-weight:600;
    font-size:.74rem; letter-spacing:.26em; text-transform:uppercase;
    color:var(--gold-deep);
    display:inline-flex; align-items:center; gap:.7rem;
  }
  .eyebrow::before{content:""; width:1.6rem; height:1px; background:var(--gold)}
  .eyebrow.center{justify-content:center}
  .eyebrow.on-dark{color:var(--gold-bright)}
  .eyebrow.on-dark::before{background:var(--gold)}

  .lead{font-size:clamp(1.12rem,1.02rem + 0.5vw,1.32rem); line-height:1.55; color:var(--ink-70)}

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
    font-family:var(--sans); font-weight:600; font-size:.97rem; letter-spacing:.01em;
    padding:.92em 1.6em; border-radius:var(--r); cursor:pointer; border:1px solid transparent;
    transition:transform .35s cubic-bezier(.2,.7,.3,1), background .3s, color .3s, box-shadow .35s, border-color .3s;
    will-change:transform;
  }
  .btn-primary{background:var(--ink); color:var(--paper); box-shadow:0 1px 0 rgba(0,0,0,.04)}
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 34px -16px rgba(26,42,72,.65); background:#16243d}
  .btn-primary .arc{stroke:var(--gold-bright)}
  .btn-ghost{background:transparent; color:var(--ink); border-color:rgba(26,42,72,.22)}
  .btn-ghost:hover{border-color:var(--ink); transform:translateY(-2px)}
  .btn.on-dark.btn-primary{background:var(--paper); color:var(--ink)}
  .btn.on-dark.btn-primary:hover{background:#fff}
  .btn.on-dark.btn-ghost{color:var(--paper); border-color:var(--paper-30)}
  .btn.on-dark.btn-ghost:hover{border-color:var(--paper)}
  .btn .ar{font-size:1.05em; line-height:0; transition:transform .35s}
  .btn:hover .ar{transform:translateX(3px)}

  a:focus-visible,.btn:focus-visible{outline:2px solid var(--gold); outline-offset:3px}

  /* ---------- nav ---------- */
  .nav{position:sticky; top:0; z-index:100; transition:background .4s, border-color .4s, backdrop-filter .4s}
  .nav-inner{display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-block:.9rem; border-bottom:1px solid transparent; transition:border-color .4s}
  .nav.scrolled{background:rgba(246,246,236,.82); backdrop-filter:saturate(140%) blur(12px); -webkit-backdrop-filter:saturate(140%) blur(12px)}
  .nav.scrolled .nav-inner{border-bottom-color:var(--paper-edge)}
  .brand{display:flex; align-items:center; gap:.6rem; font-family:var(--serif); font-size:1.32rem; letter-spacing:.01em}
  .brand img{width:34px; height:34px}
  .brand b{font-weight:500}
  .nav-links{display:flex; align-items:center; gap:2rem}
  .nav-links a{font-size:.92rem; color:var(--ink-70); transition:color .25s; position:relative}
  .nav-links a:hover{color:var(--ink)}
  .nav-links a::after{content:""; position:absolute; left:0; bottom:-5px; height:1px; width:0; background:var(--gold); transition:width .3s}
  .nav-links a:hover::after{width:100%}
  .nav-cta{display:flex; align-items:center; gap:1.1rem}
  .nav-cta .btn{padding:.6em 1.05em; font-size:.88rem}

  /* ---------- hero ---------- */
  .hero{position:relative; padding-top:clamp(2.5rem,5vw,4.5rem); padding-bottom:0; overflow:hidden}
  .hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; padding-bottom:clamp(2rem,5vw,3.5rem)}
  .hero h1{font-size:clamp(2.7rem,2rem + 4.4vw,4.85rem); line-height:1.0; letter-spacing:-.02em; font-weight:380; margin:1.4rem 0 0}
  .hero h1 em{font-style:italic; color:var(--steel)}
  .hero .lead{margin-top:1.5rem; max-width:34ch}
  .hero-cta{display:flex; flex-wrap:wrap; gap:.85rem; margin-top:2.1rem}
  .hero-fine{margin-top:1.6rem; font-size:.85rem; color:var(--ink-55); display:flex; align-items:center; gap:.6rem; flex-wrap:wrap}
  .hero-fine .dot{width:4px;height:4px;border-radius:50%;background:var(--gold)}

  .hero-mark{position:relative; justify-self:center; width:min(100%,460px); aspect-ratio:1}
  .hero-mark .halo{position:absolute; inset:-8% -8% -2% -8%; border-radius:50%;
    background:radial-gradient(60% 60% at 50% 42%, rgba(184,161,108,.20), rgba(184,161,108,0) 70%);
    filter:blur(6px)}
  .hero-mark img{position:relative; width:100%; height:100%; object-fit:contain;
    filter:drop-shadow(0 26px 50px rgba(18,30,54,.22))}
  .floaty{animation:floaty 7s ease-in-out infinite}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

  /* wave band divider */
  .waveband{display:block; width:100%; height:54px; color:var(--gold)}
  .waveband.dense{height:46px}

  /* ---------- question band ---------- */
  .qband{background:var(--paper-2); border-block:1px solid var(--paper-edge)}
  .qband .wrap{display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(1.5rem,4vw,4rem); align-items:start}
  .qband h2{font-size:clamp(2rem,1.5rem + 2.6vw,3.25rem); line-height:1.04; font-weight:360}
  .qband h2 .q{font-style:italic}
  .qband p{color:var(--ink-70); font-size:clamp(1.02rem,0.98rem + 0.3vw,1.16rem)}
  .qband p + p{margin-top:1rem}

  /* ---------- generic heading block ---------- */
  .head-block{max-width:50rem}
  .head-block h2{font-size:clamp(2rem,1.5rem + 2.6vw,3.15rem); line-height:1.05; margin-top:1.1rem; font-weight:360}
  .head-block .lead{margin-top:1.2rem}

  /* ---------- segments ---------- */
  .segments{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; margin-top:3rem;
    background:var(--paper-edge); border:1px solid var(--paper-edge); border-radius:var(--r); overflow:hidden}
  .seg{background:var(--paper); padding:1.5rem 1.25rem; position:relative}
  .seg .n{font-family:var(--serif); font-size:.95rem; color:var(--gold-deep)}
  .seg h3{font-size:1.12rem; margin-top:.5rem; font-weight:500; letter-spacing:-.01em; line-height:1.15}
  .seg p{font-size:.86rem; color:var(--ink-55); margin-top:.5rem; line-height:1.45}
  .cascade-note{margin-top:1.4rem; font-size:.9rem; color:var(--ink-55); display:flex; align-items:center; gap:.7rem}
  .cascade-note span{flex:0 0 auto; color:var(--gold-deep)}
  .cascade-note .ln{height:1px; background:linear-gradient(90deg,var(--gold),transparent); flex:1}

  /* ---------- sample evaluation panel ---------- */
  .panel{margin-top:2.6rem; background:var(--paper-2); border:1px solid var(--paper-edge); border-radius:10px; overflow:hidden;
    box-shadow:0 30px 60px -40px rgba(18,30,54,.4)}
  .panel-top{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1.25rem; border-bottom:1px solid var(--paper-edge); background:var(--paper)}
  .panel-top .tag{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-55); font-weight:600}
  .panel-top .dots{display:flex; gap:.4rem}
  .panel-top .dots i{width:9px;height:9px;border-radius:50%;background:var(--paper-edge); display:block}
  .panel-body{display:grid; grid-template-columns:.85fr 1.15fr; gap:0}
  .panel-l{padding:1.9rem 1.6rem; border-right:1px solid var(--paper-edge); display:flex; flex-direction:column; align-items:center; text-align:center}
  .gauge{width:200px; max-width:100%}
  .gauge .track{stroke:var(--paper-edge)}
  .gauge .val{stroke:url(#goldgrad); stroke-linecap:round}
  .score{font-family:var(--serif); font-size:3.4rem; line-height:1; font-weight:380; margin-top:-2.4rem}
  .score small{font-size:1.1rem; color:var(--ink-40); font-weight:400}
  .score-label{font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-55); margin-top:.5rem; font-weight:600}
  .pathway{margin-top:1.4rem; font-size:.9rem; color:var(--ink-70)}
  .pathway b{color:var(--ink); font-weight:600}

  .panel-r{padding:1.7rem 1.7rem}
  .panel-r h4{font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-55); font-family:var(--sans); font-weight:600}
  .bars{margin-top:1.1rem; display:flex; flex-direction:column; gap:.85rem}
  .bar{display:grid; grid-template-columns:150px 1fr 34px; align-items:center; gap:.9rem; font-size:.86rem}
  .bar .lab{color:var(--ink-70)}
  .bar .meter{height:7px; background:var(--paper-edge); border-radius:99px; overflow:hidden}
  .bar .meter i{display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--steel),var(--ink)); width:0; transition:width 1.1s cubic-bezier(.2,.7,.3,1)}
  .bar.influ .meter i{background:linear-gradient(90deg,var(--gold),var(--gold-bright))}
  .bar .pct{font-variant-numeric:tabular-nums; color:var(--ink-55); text-align:right}

  .panel-foot{border-top:1px solid var(--paper-edge); padding:1.1rem 1.7rem; display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem 2rem; background:var(--paper)}
  .stat{display:flex; flex-direction:column; gap:.15rem}
  .stat .k{font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-40); font-weight:600}
  .stat .v{font-size:.98rem; font-weight:600; font-variant-numeric:tabular-nums}
  .verdict{color:var(--gold-deep)}
  .fragility{display:flex; align-items:center; gap:.45rem}
  .fragility .seg3{display:flex; gap:3px}
  .fragility .seg3 i{width:18px;height:5px;border-radius:2px;background:var(--paper-edge)}
  .fragility .seg3 i.on{background:var(--gold)}
  .panel-cap{margin-top:.85rem; font-size:.78rem; color:var(--ink-40); text-align:center}

  /* ---------- capabilities ---------- */
  .caps{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:3rem; background:var(--paper-edge); border:1px solid var(--paper-edge); border-radius:var(--r); overflow:hidden}
  .cap{background:var(--paper); padding:2.1rem 1.9rem; transition:background .3s}
  .cap:hover{background:var(--paper-2)}
  .cap.wide{grid-column:1 / -1}
  .cap .sig{width:30px; height:30px; color:var(--gold); margin-bottom:1.1rem}
  .cap h3{font-size:1.42rem; font-weight:420; letter-spacing:-.012em; line-height:1.1}
  .cap p{margin-top:.7rem; color:var(--ink-70); font-size:.99rem; max-width:54ch}
  .cap.wide p{max-width:72ch}

  /* ---------- privacy (night sea) ---------- */
  .nightsea{background:var(--ink-deep); color:var(--paper); position:relative; overflow:hidden}
  .nightsea .field{position:absolute; inset:0; color:var(--gold); opacity:.07; pointer-events:none}
  .nightsea .glow{position:absolute; left:50%; top:-30%; width:80vw; height:80vw; transform:translateX(-50%);
    background:radial-gradient(closest-side, rgba(184,161,108,.10), rgba(184,161,108,0) 70%); pointer-events:none}
  .nightsea .wrap{position:relative}
  .nightsea h2{color:var(--paper); font-size:clamp(2rem,1.5rem + 2.6vw,3.25rem); line-height:1.05; margin-top:1.1rem; font-weight:340}
  .nightsea .lead{color:var(--paper-72); margin-top:1.2rem; max-width:46ch}
  .priv-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:3rem; background:rgba(246,246,236,.10); border:1px solid rgba(246,246,236,.12); border-radius:var(--r); overflow:hidden}
  .priv{background:var(--ink-deep); padding:1.7rem 1.4rem}
  .priv .ic{width:26px;height:26px;color:var(--gold-bright); margin-bottom:.9rem}
  .priv h3{color:var(--paper); font-size:1.08rem; font-weight:500; line-height:1.2; letter-spacing:-.01em}
  .priv p{margin-top:.55rem; color:var(--paper-50); font-size:.86rem; line-height:1.45}

  /* ---------- the name ---------- */
  .name-sec .wrap{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center}
  .name-text h2{font-size:clamp(2.4rem,1.8rem + 3vw,3.8rem); line-height:1; font-weight:340; margin-top:1.1rem}
  .name-text .kanji{font-size:1.15rem; color:var(--gold-deep); letter-spacing:.15em; margin-left:.1rem}
  .name-text p{color:var(--ink-70); margin-top:1.3rem; font-size:1.03rem}
  .pull{font-family:var(--serif); font-style:italic; font-size:clamp(1.5rem,1.2rem + 1.4vw,2.05rem); line-height:1.25; color:var(--ink); margin-top:1.6rem; padding-left:1.2rem; border-left:2px solid var(--gold)}
  .name-mark{justify-self:center; position:relative; width:min(100%,380px); aspect-ratio:1}
  .name-mark img{width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 22px 44px rgba(18,30,54,.18))}
  .name-mark .ring{position:absolute; inset:-6%; border:1px solid var(--paper-edge); border-radius:50%}
  .name-mark .ring.two{inset:-12%; border-color:rgba(184,161,108,.35)}

  /* ---------- for whom ---------- */
  .whom{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; margin-top:3rem}
  .who{padding-top:1.4rem; border-top:1px solid var(--gold)}
  .who h3{font-size:1.5rem; font-weight:420}
  .who p{margin-top:.7rem; color:var(--ink-70); font-size:.97rem}

  /* ---------- final cta ---------- */
  .final{background:var(--ink-deepest); color:var(--paper); position:relative; overflow:hidden; text-align:center}
  .final .field{position:absolute; inset:0; color:var(--gold); opacity:.06}
  .final .wrap{position:relative; max-width:46rem}
  .final img{width:64px; height:64px; margin:0 auto 1.6rem}
  .final h2{color:var(--paper); font-size:clamp(2.1rem,1.6rem + 2.8vw,3.4rem); line-height:1.05; font-weight:340}
  .final .lead{color:var(--paper-72); margin:1.3rem auto 0; max-width:42ch}
  .final-cta{display:flex; justify-content:center; flex-wrap:wrap; gap:.85rem; margin-top:2.3rem}
  .final-fine{margin-top:1.5rem; font-size:.85rem; color:var(--paper-50)}
  .honest{margin-top:2.6rem; padding-top:1.6rem; border-top:1px solid rgba(246,246,236,.14); font-size:.9rem; color:var(--paper-50); max-width:44rem; margin-inline:auto; line-height:1.55}

  /* ---------- waitlist form ---------- */
  .sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
  .waitlist{margin:2.1rem auto 0; max-width:31rem}
  .wl-row{display:flex; gap:.6rem}
  .wl-row input[type=email]{flex:1 1 auto; min-width:0; padding:.95em 1.15em; border-radius:var(--r); border:1px solid var(--paper-30); background:rgba(246,246,236,.06); color:var(--paper); font-family:var(--sans); font-size:1rem; transition:border-color .25s, background .25s}
  .wl-row input[type=email]::placeholder{color:var(--paper-50)}
  .wl-row input[type=email]:focus{border-color:var(--gold); background:rgba(246,246,236,.1); outline:none}
  .wl-row input[type=email]:focus-visible{outline:2px solid var(--gold); outline-offset:2px}
  .wl-row .btn{flex:0 0 auto; white-space:nowrap}
  .wl-row .btn:disabled{opacity:.7; cursor:default; transform:none}
  .wl-hp{position:absolute !important; left:-9999px; top:-9999px; width:1px; height:1px; opacity:0; pointer-events:none}
  .wl-status{min-height:1.1em; margin-top:.85rem; font-size:.9rem; color:var(--paper-50)}
  .wl-status.err{color:#E2A78E}
  .wl-status.ok{color:var(--gold-bright)}
  .waitlist.done .wl-row,.waitlist.done .wl-status,.waitlist.done .wl-fine{display:none}
  .wl-done{display:none; align-items:center; justify-content:center; gap:.6rem; color:var(--paper); font-size:1rem; padding:.5rem 0}
  .waitlist.done .wl-done{display:flex}
  .wl-done svg{flex:0 0 auto}
  .wl-fine{margin-top:.95rem; font-size:.82rem; color:var(--paper-50)}
  @media (max-width:560px){
    .wl-row{flex-direction:column}
    .wl-row .btn{width:100%}
  }

  /* ---------- footer ---------- */
  .foot{background:var(--ink-deep); color:var(--paper-50); padding-block:3.2rem 2.4rem; border-top:1px solid rgba(246,246,236,.10)}
  .foot-top{display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem 3rem}
  .foot-brand{max-width:24rem}
  .foot-brand .b{display:flex; align-items:center; gap:.55rem; color:var(--paper); font-family:var(--serif); font-size:1.25rem}
  .foot-brand .b img{width:30px;height:30px}
  .foot-brand p{margin-top:.9rem; font-size:.9rem; line-height:1.5}
  .foot-cols{display:flex; gap:3.5rem; flex-wrap:wrap}
  .fcol h4{font-family:var(--sans); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--paper-72); font-weight:600; margin-bottom:.9rem}
  .fcol a{display:block; font-size:.9rem; color:var(--paper-50); padding:.22rem 0; transition:color .25s}
  .fcol a:hover{color:var(--paper)}
  .foot-bottom{margin-top:2.6rem; padding-top:1.5rem; border-top:1px solid rgba(246,246,236,.10); display:flex; flex-wrap:wrap; justify-content:space-between; gap:.7rem; font-size:.8rem; color:var(--paper-30)}

  /* ---------- reveal animation ---------- */
  .js .reveal{opacity:0; transform:translateY(18px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.3,1)}
  .js .reveal.is-visible{opacity:1; transform:none}
  .js .reveal.d1{transition-delay:.08s}
  .js .reveal.d2{transition-delay:.16s}
  .js .reveal.d3{transition-delay:.24s}
  @media (prefers-reduced-motion: reduce){
    .js .reveal{opacity:1 !important; transform:none !important; transition:none !important}
    .floaty{animation:none}
  }

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    .nav-links{display:none}
    .hero-grid{grid-template-columns:1fr; text-align:left}
    .hero-mark{grid-row:1; width:min(74%,360px); margin-bottom:.5rem}
    .hero .lead{max-width:46ch}
    .qband .wrap{grid-template-columns:1fr; gap:1.3rem}
    .segments{grid-template-columns:repeat(2,1fr)}
    .seg:last-child{grid-column:1 / -1}
    .panel-body{grid-template-columns:1fr}
    .panel-l{border-right:none; border-bottom:1px solid var(--paper-edge)}
    .bar{grid-template-columns:120px 1fr 32px}
    .caps{grid-template-columns:1fr}
    .priv-grid{grid-template-columns:repeat(2,1fr)}
    .name-sec .wrap{grid-template-columns:1fr; gap:2.2rem}
    .name-mark{grid-row:1; width:min(64%,300px)}
    .whom{grid-template-columns:1fr; gap:0}
    .who{margin-top:0; padding-block:1.4rem}
    .who + .who{border-top:1px solid var(--paper-edge)}
  }
  @media (max-width:560px){
    .segments{grid-template-columns:1fr}
    .seg:last-child{grid-column:auto}
    .priv-grid{grid-template-columns:1fr}
    .bar{grid-template-columns:110px 1fr 30px; font-size:.82rem}
    .panel-foot{gap:1rem 1.4rem}
    .nav-cta .btn-ghost{display:none}
  }

/* ===================== content pages (prose) ===================== */
.page{padding-block:clamp(3.75rem,8vw,7rem)}
.prose{max-width:46rem; margin-inline:auto}
.page .eyebrow{margin-bottom:1rem}
.prose h1{font-size:clamp(2.2rem,1.7rem + 2.4vw,3.3rem); line-height:1.04; font-weight:340; letter-spacing:-.015em}
.page-meta{margin-top:.7rem; color:var(--ink-40); font-size:.85rem; letter-spacing:.04em}
.prose > p:first-of-type, .prose .lead{font-size:1.16rem; line-height:1.6; color:var(--ink-70)}
.prose h2{font-family:var(--serif); font-size:1.6rem; font-weight:440; letter-spacing:-.01em; margin-top:2.4rem; padding-top:.2rem}
.prose h3{font-family:var(--sans); font-size:1.05rem; font-weight:600; letter-spacing:0; margin-top:1.7rem; color:var(--ink)}
.prose p{margin-top:1rem; color:var(--ink-70); line-height:1.72}
.prose ul,.prose ol{margin-top:1rem; padding-left:1.25rem; color:var(--ink-70)}
.prose li{margin-top:.5rem; line-height:1.65}
.prose li::marker{color:var(--gold-deep)}
.prose a{color:var(--ink); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px; text-decoration-thickness:1px}
.prose a:hover{text-decoration-color:var(--ink)}
.prose strong{color:var(--ink); font-weight:600}
.prose hr{border:0; border-top:1px solid var(--paper-edge); margin:2.6rem 0}
.prose blockquote{margin:1.5rem 0; padding-left:1.15rem; border-left:2px solid var(--gold); font-family:var(--serif); font-style:italic; font-size:1.2rem; color:var(--ink)}
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.9em; background:var(--paper-2); border:1px solid var(--paper-edge); border-radius:4px; padding:.1em .4em}
.note{margin:0 0 2rem; padding:1.05rem 1.25rem; background:var(--paper-2); border:1px solid var(--paper-edge); border-left:3px solid var(--gold); border-radius:var(--r); font-size:.92rem; color:var(--ink-70); line-height:1.6}
.note strong{color:var(--ink)}
.contact-actions{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem}
.contact-actions .btn{text-decoration:none}
.prose .btn{text-decoration:none}
.prose .btn-primary{color:var(--paper)}
.prose .btn-ghost{color:var(--ink)}
