  :root{
    --ink:#0B0B0D;
    --ink-2:#121216;
    --ink-3:#1A1A20;
    --gold:#C9A227;
    --gold-lt:#D9B64A;
    --silver:#B7BEC8;
    --paper:#FBF8F0;
    --body:#23232A;
    --soft:#45454E;
    --rule:#DED6C2;
    --muted:#8A8A90;
    --rule-dk:rgba(183,190,200,.16);
    --maxw:1080px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    background:var(--ink);
    color:var(--silver);
    font-family:"Source Serif 4",Georgia,serif;
    font-weight:400;
    font-size:18.5px;
    line-height:1.72;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  a{color:inherit}

  /* ---------- type ---------- */
  h1,h2,h3{
    font-family:"Fraunces","Source Serif 4",Georgia,serif;
    font-weight:400;letter-spacing:-.015em;line-height:1.16;margin:0;
    font-variation-settings:"SOFT" 0,"WONK" 0;
  }
  h1{font-size:clamp(2.45rem,5.6vw,3.7rem)}
  h2{font-size:clamp(1.9rem,3.8vw,2.55rem)}
  h3{font-size:1.22rem;font-weight:600;letter-spacing:-.005em}
  .kicker{
    font-family:"Barlow Condensed",system-ui,sans-serif;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.30em;
    font-size:.80rem;
    color:var(--gold);
    margin:0 0 14px;
  }
  p{margin:0 0 1em}
  .lead{font-size:1.22rem;line-height:1.62;color:#CFD4DC}

  /* ---------- nav ---------- */
  header.nav{
    position:sticky;top:0;z-index:50;
    background:rgba(11,11,13,.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--rule-dk);
  }
  .nav-inner{display:flex;align-items:center;gap:28px;height:68px;max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto}
  .brand img{height:32px;width:auto;display:block}
  .brand-type{display:flex;flex-direction:column;line-height:1}
  .brand-type b{font-weight:600;font-size:1.12rem;white-space:nowrap;font-family:"Fraunces","Source Serif 4",serif;color:var(--gold);letter-spacing:.02em}
  .brand-type span{
    font-family:"Barlow Condensed",sans-serif;font-size:.66rem;letter-spacing:.26em;white-space:nowrap;
    text-transform:uppercase;color:var(--silver);margin-top:3px;
  }
  .nav-links{display:flex;gap:22px;align-items:center}
  .nav-links a{
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.17em;
    font-size:.9rem;text-decoration:none;color:var(--silver);padding:4px 0;white-space:nowrap;
    border-bottom:1px solid transparent;transition:.18s;
  }
  .nav-links a:hover{color:var(--gold-lt);border-bottom-color:var(--gold)}
  .nav-cta{
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.15em;
    font-size:.88rem;text-decoration:none;color:var(--ink);
    background:linear-gradient(135deg,var(--gold),var(--gold-lt));
    padding:9px 18px;border-radius:2px;font-weight:500;white-space:nowrap;
  }
  .menu-btn{display:none;background:none;border:0;color:var(--silver);font-size:1.5rem;cursor:pointer;line-height:1}

  /* ---------- buttons ---------- */
  .btn{
    display:inline-block;text-decoration:none;border-radius:2px;
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
    letter-spacing:.14em;font-size:.95rem;font-weight:500;padding:15px 28px;
  }
  .btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-lt));color:var(--ink)}
  .btn-ghost{border:1px solid rgba(183,190,200,.35);color:var(--silver)}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-lt)}
  .btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

  /* ---------- sections ---------- */
  section{padding:84px 0}
  .alt{background:var(--ink-2)}
  .paper{background:var(--paper);color:var(--body)}
  .paper h1,.paper h2,.paper h3{color:var(--ink)}
  .paper .lead{color:var(--soft)}
  .rule{height:1px;background:var(--rule-dk);border:0;margin:0}

  /* ---------- hero ---------- */
  .hero{
    padding:108px 0 92px;
    background:
      radial-gradient(900px 420px at 72% -10%, rgba(201,162,39,.13), transparent 62%),
      var(--ink);
    border-bottom:1px solid var(--rule-dk);
  }
  .hero h1{max-width:15ch;color:#F2EFE6}
  .hero .lead{max-width:56ch;margin-top:22px}
  .hero-logo{height:58px;width:auto;margin-bottom:30px;display:block}

  /* ---------- credential strip ---------- */
  .strip{background:var(--ink-3);border-bottom:1px solid var(--rule-dk);padding:0}
  .strip-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--maxw);margin:0 auto}
  .strip-grid div{padding:22px 24px;border-left:1px solid var(--rule-dk)}
  .strip-grid div:first-child{border-left:0}
  .strip-grid b{
    display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
    letter-spacing:.2em;font-size:.79rem;color:var(--gold);font-weight:500;margin-bottom:6px;
  }
  .strip-grid span{font-size:1.04rem;line-height:1.5;color:var(--silver)}

  /* ---------- story ---------- */
  .story-grid{display:grid;grid-template-columns:300px 1fr;gap:54px;align-items:start}
  .portrait{
    width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;
    border:1px solid var(--rule);display:block;
  }
  .portrait-note{font-size:.95rem;
    width:100%;aspect-ratio:4/5;border:1px dashed var(--rule);border-radius:2px;
    display:flex;align-items:center;justify-content:center;text-align:center;
    color:var(--muted);font-size:.85rem;padding:20px;
  }
  .sig{
    font-size:1.03rem;color:var(--soft);margin-top:26px;padding-top:18px;
    border-top:1px solid var(--rule);
  }
  .sig b{color:var(--ink);font-weight:600}

  /* ---------- cards ---------- */
  .grid{display:grid;gap:1px;background:var(--rule-dk);margin-top:44px;border:1px solid var(--rule-dk)}
  .g3{grid-template-columns:repeat(3,1fr)}
  .g2{grid-template-columns:repeat(2,1fr)}
  .card{background:var(--ink);padding:30px 26px}
  .alt .card{background:var(--ink-2)}
  .card h3{color:#EDE9DE;margin-bottom:11px}
  .card p{font-size:1.05rem;line-height:1.62;color:var(--silver);margin:0;opacity:.9}

  /* ---------- process ---------- */
  .steps{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:44px}
  .step n{display:block}
  .step b{
    display:block;font-family:"Barlow Condensed",sans-serif;font-size:1.95rem;
    color:var(--gold);font-weight:400;line-height:1;margin-bottom:10px;
  }
  .step span{font-size:1.02rem;line-height:1.5;color:var(--silver);opacity:.9}
  .step{padding-top:16px;border-top:1px solid var(--gold)}

  /* ---------- testimonials ---------- */
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:46px}
  .quote{
    background:#fff;border:1px solid var(--rule);border-radius:2px;
    padding:30px 28px;display:flex;flex-direction:column;
  }
  .quote p{font-size:1.1rem;color:var(--body);line-height:1.68;margin:0 0 20px}
  .quote .mark{color:var(--gold);font-size:2.2rem;line-height:.6;display:block;margin-bottom:14px}
  .quote footer{margin-top:auto;border-top:1px solid var(--rule);padding-top:14px}
  .quote footer b{display:block;font-weight:600;color:var(--ink);font-size:1.04rem}
  .quote footer span{
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
    letter-spacing:.16em;font-size:.78rem;color:var(--soft);
  }

  /* ---------- insights ---------- */
  .post-list{margin-top:42px;border-top:1px solid var(--rule-dk)}
  .post{
    display:grid;grid-template-columns:120px 1fr auto;gap:26px;align-items:baseline;
    padding:24px 0;border-bottom:1px solid var(--rule-dk);text-decoration:none;
  }
  .post:hover h3{color:var(--gold-lt)}
  .post time{
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
    letter-spacing:.18em;font-size:.81rem;color:var(--muted);
  }
  .post h3{color:#EDE9DE;font-weight:400;font-size:1.42rem;transition:.18s}
  .post p{font-size:1.03rem;line-height:1.55;color:var(--silver);opacity:.82;margin:7px 0 0}
  .post .arrow{color:var(--gold);font-size:1.1rem}

  /* ---------- credentials ---------- */
  .cred-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:40px}
  .cred{border:1px solid var(--rule);border-radius:2px;padding:28px}
  .cred h3{margin-bottom:14px}
  .cred dl{margin:0;font-size:1.03rem}
  .cred dt{
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.18em;
    font-size:.76rem;color:var(--soft);margin-top:16px;
  }
  .cred dd{margin:2px 0 0;color:var(--body)}
  .cred dd b{font-weight:600}
  .note{font-size:.96rem;color:var(--soft);margin-top:20px;line-height:1.6}

  /* ---------- contact ---------- */
  .contact{text-align:center}
  .contact h2{max-width:22ch;margin:0 auto}
  .contact .lead{max-width:46ch;margin:18px auto 0}
  .contact .btn-row{justify-content:center}

  /* ---------- footer ---------- */
  footer.site{background:var(--ink-2);border-top:1px solid var(--rule-dk);padding:52px 0 36px}
  .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
  .foot-grid h4{
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.2em;
    font-size:.79rem;color:var(--gold);font-weight:500;margin:0 0 15px;
  }
  .foot-grid a{display:block;text-decoration:none;font-size:1.04rem;color:var(--silver);margin-bottom:9px;opacity:.88}
  .foot-grid a:hover{color:var(--gold-lt)}
  .foot-grid p{font-size:1.04rem;opacity:.88;margin:0 0 8px}
  .foot-logo{width:176px;height:auto;margin-bottom:18px;display:block}
  .legal{
    margin-top:44px;padding-top:22px;border-top:1px solid var(--rule-dk);
    font-size:.9rem;color:var(--muted);line-height:1.65;
  }

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    .story-grid{grid-template-columns:1fr;gap:30px}
    .portrait,.portrait-note{max-width:280px}
    .g3,.quotes,.cred-grid{grid-template-columns:1fr}
    .g2{grid-template-columns:1fr}
    .steps{grid-template-columns:repeat(2,1fr)}
    .strip-grid{grid-template-columns:1fr}
    .strip-grid div{border-left:0;border-top:1px solid var(--rule-dk)}
    .strip-grid div:first-child{border-top:0}
    .foot-grid{grid-template-columns:1fr;gap:30px}
    .post{grid-template-columns:1fr;gap:4px}
    .nav-links{
      display:none;position:absolute;top:68px;left:0;right:0;
      flex-direction:column;gap:0;background:var(--ink-2);
      border-bottom:1px solid var(--rule-dk);padding:8px 24px 16px;
    }
    .nav-links.open{display:flex}
    .nav-links a{padding:12px 0;border-bottom:1px solid var(--rule-dk)}
    .menu-btn{display:block;order:3}
    section{padding:64px 0}
    .hero{padding:76px 0 64px}
    .nav-inner{gap:12px}
    .brand{min-width:0}
    .brand img{height:26px}
    .brand-type b{font-size:.94rem}
    .nav-cta{padding:8px 13px;font-size:.76rem}
  }
  @media (max-width:420px){
    .brand-type span{display:none}
    .nav-cta{padding:8px 11px;font-size:.72rem}
    .nav-inner{gap:10px;padding:0 16px}
    .wrap{padding:0 16px}
    .article .inner{padding:0 16px}
    h1{font-size:2.2rem}
    body{font-size:18px}
    .lead{font-size:1.14rem}
  }

/* ================= BLOG ================= */
.page-head{padding:84px 0 40px;border-bottom:1px solid var(--rule-dk)}
.page-head h1{color:#F2EFE6;max-width:20ch}
.page-head .lead{max-width:58ch;margin-top:18px}
.back{
  display:inline-block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
  letter-spacing:.18em;font-size:.84rem;color:var(--silver);text-decoration:none;
  margin-bottom:26px;opacity:.8;
}
.back:hover{color:var(--gold-lt)}

/* article */
.article{background:var(--paper);color:var(--body);padding:70px 0 84px}
.article .inner{max-width:720px;margin:0 auto;padding:0 24px}
.article h1{color:var(--ink);max-width:22ch}
.article h2{color:var(--ink);font-size:1.88rem;margin:52px 0 16px}
.article h3{color:var(--ink);font-size:1.3rem;margin:34px 0 10px}
.article p{color:var(--body);font-size:1.16rem;line-height:1.75}
.article .back{color:var(--soft)}
.article .back:hover{color:var(--ink)}
.meta{
  font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.2em;
  font-size:.81rem;color:var(--soft);margin:0 0 20px;
}
.standfirst{font-size:1.34rem;line-height:1.6;color:var(--soft);margin:24px 0 0}
.article hr{border:0;height:1px;background:var(--rule);margin:44px 0}

.figures{
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  margin:36px 0;padding:6px 0;
}
.figures dl{display:grid;grid-template-columns:auto 1fr;gap:0;margin:0}
.figures dt{
  padding:14px 0;border-bottom:1px solid var(--rule);
  font-family:"Barlow Condensed",sans-serif;font-size:1.95rem;color:var(--gold);
  font-weight:500;padding-right:22px;line-height:1.1;
}
.figures dd{padding:16px 0;border-bottom:1px solid var(--rule);margin:0;font-size:1.09rem;line-height:1.55;color:var(--soft)}
.figures dl > :nth-last-child(1),.figures dl > :nth-last-child(2){border-bottom:0}

.callout{
  background:#fff;border:1px solid var(--rule);border-left:3px solid var(--gold);
  padding:22px 24px;margin:34px 0;border-radius:2px;
}
.callout p{margin:0;font-size:1.1rem;line-height:1.65}
.callout p + p{margin-top:.8em}

.sources{font-size:.97rem;color:var(--soft);line-height:1.65;margin-top:10px}
.sources b{
  display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
  letter-spacing:.2em;font-size:.76rem;color:var(--soft);margin-bottom:8px;
}
.todo{
  background:#FFF8E1;border:1px dashed #C9A227;border-radius:2px;
  padding:18px 20px;margin:30px 0;font-size:1.01rem;line-height:1.6;color:#6B5518;
}
.todo b{display:block;margin-bottom:4px}

.author{
  display:flex;gap:18px;align-items:flex-start;margin-top:48px;padding-top:26px;
  border-top:1px solid var(--rule);
}
.author img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.author div{font-size:1.03rem;line-height:1.6;color:var(--soft)}
.author b{display:block;color:var(--ink);font-weight:600;font-size:1.1rem}
.article-cta{text-align:center;margin-top:48px;padding-top:34px;border-top:1px solid var(--rule)}
.article-cta h3{font-size:1.6rem;font-weight:400;margin-bottom:10px}
.article-cta .btn-row{justify-content:center}

@media (max-width:900px){
  .page-head{padding:60px 0 32px}
  .article{padding:48px 0 60px}
  .figures dl{grid-template-columns:1fr}
  .figures dt{padding-bottom:0;border-bottom:0}
  .figures dd{padding-top:4px}
}
