  :root{
    --bg:#0C0B0A;
    --bg-elev:#131211;
    --ink:#EDE7DA;
    --muted:#9A9284;
    --gold:#C6A15B;
    --gold-soft:#D8B978;
    --line:#26231F;
    --serif:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;
    --sans:'Helvetica Neue',Arial,system-ui,-apple-system,sans-serif;
    --maxw:920px;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans);
    font-size:17px;
    line-height:1.65;
    letter-spacing:.005em;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  a{color:inherit;}

  /* labels / eyebrows */
  .eyebrow{
    font-family:var(--sans);
    text-transform:uppercase;
    letter-spacing:.28em;
    font-size:11.5px;
    font-weight:600;
    color:var(--gold);
    margin:0 0 18px;
  }
  h1,h2,h3{font-family:var(--serif);font-weight:600;text-wrap:balance;letter-spacing:.005em;}

  /* header / hero */
  header{
    border-bottom:1px solid var(--line);
    padding:34px 0 0;
  }
  .topbar{
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;flex-wrap:wrap;
  }
  .monogram{
    font-family:var(--serif);
    font-size:20px;letter-spacing:.14em;color:var(--ink);
    border:1px solid var(--line);border-radius:2px;
    padding:6px 12px;
  }
  .topbar nav{
    display:flex;gap:26px;flex-wrap:wrap;
    font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  }
  .topbar nav a{text-decoration:none;transition:color .2s;}
  .topbar nav a:hover{color:var(--gold-soft);}

  .hero{padding:70px 0 84px;display:grid;grid-template-columns:1.35fr .8fr;gap:52px;align-items:center;}
  .hero-text{min-width:0;}
  .hero-portrait{justify-self:center;}
  .hero-portrait img{
    width:min(300px,70vw);aspect-ratio:1;object-fit:cover;border-radius:50%;
    border:1px solid var(--line);
    box-shadow:0 0 0 5px rgba(198,161,91,.12), 0 22px 60px rgba(0,0,0,.55);
    display:block;
  }
  .hero-portrait .ph{
    width:min(300px,70vw);aspect-ratio:1;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:var(--bg-elev);border:1px dashed var(--line);
    color:var(--muted);font-family:var(--serif);font-size:64px;letter-spacing:.08em;
  }
  .hero h1{
    font-size:clamp(38px,7.2vw,72px);
    line-height:1.03;
    margin:0 0 26px;
  }
  .hero h1 .accent{color:var(--gold-soft);font-style:italic;}
  .hero .lede{
    font-size:clamp(18px,2.4vw,21px);
    color:var(--ink);
    max-width:60ch;
    margin:0 0 30px;
  }
  .placeline{
    display:flex;gap:14px;flex-wrap:wrap;align-items:center;
    font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
  }
  .placeline .dot{width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.7;}

  /* generic section */
  section{padding:70px 0;border-top:1px solid var(--line);}
  .section-head{max-width:64ch;margin:0 0 44px;}
  .section-head h2{font-size:clamp(26px,4vw,36px);margin:0 0 16px;line-height:1.12;}
  .section-head p{color:var(--muted);margin:0;font-size:17px;}

  /* pillars */
  .pillars{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
  .pillar{background:var(--bg);padding:38px 34px;}
  .pillar .eyebrow{margin-bottom:14px;}
  .pillar h3{font-size:24px;margin:0 0 14px;}
  .pillar p{margin:0 0 16px;color:var(--ink);}
  .pillar ul{margin:0;padding:0;list-style:none;}
  .pillar li{
    position:relative;padding:9px 0 9px 20px;color:var(--muted);font-size:15.5px;
    border-top:1px solid var(--line);
  }
  .pillar li:first-child{border-top:none;}
  .pillar li::before{
    content:"";position:absolute;left:0;top:17px;width:7px;height:1px;background:var(--gold);
  }

  /* work grid */
  .work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
  .card{
    display:block;text-decoration:none;color:inherit;
    background:var(--bg-elev);
    border:1px solid var(--line);
    padding:26px 26px 24px;
    transition:border-color .25s, transform .25s;
  }
  a.card:hover{border-color:var(--gold);transform:translateY(-2px);}
  .card .card-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;}
  .card h3{font-size:21px;margin:0;}
  .card .tag{
    font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
    border:1px solid var(--line);border-radius:2px;padding:3px 8px;white-space:nowrap;flex:none;
  }
  .card p{margin:0 0 14px;color:var(--muted);font-size:15px;line-height:1.55;}
  .card .go{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
  a.card .go{color:var(--gold-soft);}
  .more-note{margin:26px 0 0;color:var(--muted);font-size:15px;font-style:italic;}

  /* footprint */
  .foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .place{border:1px solid var(--line);padding:28px 26px;background:var(--bg);}
  .place .rgn{font-family:var(--serif);font-size:22px;margin:0 0 8px;}
  .place .st{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;}
  .place p{margin:0;color:var(--muted);font-size:15px;}

  /* core / authority band */
  .core{background:var(--bg-elev);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .core .section-head h2 .accent{color:var(--gold-soft);font-style:italic;}
  .core-lede{max-width:60ch;color:var(--ink);font-size:clamp(17px,2.1vw,19px);margin:0 0 40px;}
  .core-lede strong{color:var(--gold-soft);font-weight:600;}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .stat{background:var(--bg);padding:34px 28px;text-align:left;}
  .stat .num{font-family:var(--serif);font-size:clamp(38px,6vw,54px);line-height:1;color:var(--gold-soft);margin:0 0 12px;font-variant-numeric:tabular-nums;}
  .stat .lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;line-height:1.5;}

  /* inline gold link */
  a.inline{color:var(--gold-soft);text-decoration:none;border-bottom:1px solid rgba(198,161,91,.35);transition:border-color .2s;}
  a.inline:hover{border-color:var(--gold);}

  /* quote band */
  .quote-band{border-top:1px solid var(--line);}
  .bigquote{
    font-family:var(--serif);font-weight:600;
    font-size:clamp(27px,4.8vw,46px);line-height:1.24;
    color:var(--ink);margin:0 0 20px;max-width:22ch;text-wrap:balance;
  }
  .bigquote .g{color:var(--gold-soft);}
  .quote-attrib{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0;}

  /* story */
  .story-body{max-width:62ch;}
  .story-body p{margin:0 0 20px;font-size:clamp(17px,2.05vw,19px);line-height:1.7;color:var(--ink);}
  .story-body p:last-child{margin-bottom:0;}
  .story-body .kicker{color:var(--gold-soft);font-style:italic;}

  /* the code (personal principles) */
  .codes{border-top:1px solid var(--line);}
  .code-item{
    padding:26px 4px 24px;border-bottom:1px solid var(--line);
    display:grid;grid-template-columns:auto 1fr;column-gap:20px;row-gap:6px;align-items:baseline;
  }
  .code-item .mark{
    font-family:var(--serif);color:var(--gold);font-size:clamp(18px,2.4vw,24px);line-height:1.2;
    grid-row:1 / span 2;
  }
  .code-line{
    font-family:var(--serif);font-size:clamp(20px,3vw,29px);line-height:1.28;
    color:var(--ink);margin:0;text-wrap:balance;
  }
  .code-line em{font-style:italic;color:var(--gold-soft);}
  .code-note{grid-column:2;margin:0;color:var(--muted);font-size:15px;line-height:1.55;}
  @media (max-width:720px){
    .code-item{grid-template-columns:1fr;}
    .code-item .mark{grid-row:auto;}
  }

  /* closing / contact */
  .closing p{font-size:clamp(19px,2.6vw,24px);font-family:var(--serif);color:var(--ink);max-width:30ch;margin:0;line-height:1.4;}
  .contact{border-top:1px solid var(--line);padding:56px 0 72px;}
  .contact .eyebrow{margin-bottom:22px;}
  .contact-row{display:flex;gap:34px;flex-wrap:wrap;align-items:baseline;}
  .contact-row a{
    font-family:var(--serif);font-size:clamp(20px,3vw,26px);text-decoration:none;color:var(--ink);
    border-bottom:1px solid transparent;transition:border-color .2s,color .2s;
  }
  .contact-row a:hover{color:var(--gold-soft);border-color:var(--gold);}
  footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:12.5px;
    display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;letter-spacing:.06em;}

  /* motion */
  .rise{opacity:0;transform:translateY(14px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards;}
  .rise.d1{animation-delay:.08s;} .rise.d2{animation-delay:.16s;} .rise.d3{animation-delay:.24s;}
  @keyframes rise{to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion:reduce){.rise{animation:none;opacity:1;transform:none;}}

  @media (max-width:720px){
    body{font-size:16px;}
    .wrap{padding:0 20px;}
    .topbar nav{display:none;}
    .pillars{grid-template-columns:1fr;}
    .work-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;}
    .hero{grid-template-columns:1fr;gap:30px;padding:44px 0 52px;text-align:center;}
    .hero-portrait{order:-1;}
    .hero-portrait img,.hero-portrait .ph{width:min(190px,52vw);}
    .hero .lede{margin-left:auto;margin-right:auto;}
    .placeline{justify-content:center;}
    section{padding:54px 0;}
  }
