  :root{
    --bg:#0a0a09;
    --bg-alt:#111110;
    --bg-card:#161513;
    --line:rgba(245,244,241,0.08);
    --line-strong:rgba(245,244,241,0.16);
    --ink:#f4f2ee;
    --ink-muted:#a49f95;
    --ink-faint:#6b675f;
    --gold:#b28d55;
    --gold-light:#d1ac76;
    --gold-dim:rgba(178,141,85,0.28);
    --serif:'Fraunces', serif;
    --sans:'Inter', sans-serif;
    --mono:'JetBrains Mono', monospace;
    --maxw:1180px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans);
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img,svg{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer;}
  input,select,textarea{font-family:inherit;}

  ::selection{background:var(--gold-dim); color:var(--ink);}

  :focus-visible{outline:1.5px solid var(--gold-light); outline-offset:3px;}

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

  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--gold);
    display:flex; align-items:center; gap:10px;
    margin-bottom:20px;
  }
  .eyebrow::before{content:""; width:24px; height:1px; background:var(--gold);}

  h1,h2,h3,h4{
    font-family:var(--serif);
    font-weight:500;
    letter-spacing:-0.01em;
    color:var(--ink);
  }
  .section-heading{
    font-size:clamp(28px,3.4vw,42px);
    line-height:1.15;
    max-width:720px;
    margin-bottom:18px;
  }
  .section-lede{
    color:var(--ink-muted);
    max-width:620px;
    font-size:16px;
    line-height:1.75;
  }
  .section-head-row{
    display:flex; justify-content:space-between; align-items:flex-end; gap:40px;
    margin-bottom:56px; flex-wrap:wrap;
  }

  section{padding:120px 0; position:relative;}
  .section-alt{background:var(--bg-alt);}

