  :root{
    --bg:#070b0e;
    --bg-2:#0a1013;
    --ink:#f3efe9;
    --muted:rgba(243,239,233,.62);
    --faint:rgba(243,239,233,.50);
    --line:rgba(243,239,233,.12);
    --gold:#c8a878;
    --gold-soft:rgba(200,168,120,.82);
    --teal:#16363d;
    --max:1240px;
    --serif:"Fraunces",Georgia,serif;
    --sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;color:var(--ink);background:var(--bg);
    font-family:var(--sans);font-weight:300;line-height:1.75;
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  ::selection{background:var(--gold);color:#0b0b0b}

  .wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
  .label{
    font-size:11px;letter-spacing:.34em;text-transform:uppercase;
    color:var(--gold-soft);font-weight:500;
  }

  /* ---------- header ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s ease,border-color .4s ease;border-bottom:1px solid transparent}
  header.scrolled{background:#070b0e;border-bottom:1px solid var(--line)}
  .nav{max-width:var(--max);margin:0 auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
  .brand{font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:.01em}
  .brand span{color:var(--gold)}
  .nav-links{display:flex;gap:30px;align-items:center;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
  .nav-links a{position:relative;padding:4px 0;transition:color .25s ease}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .3s ease}
  .nav-links a:hover{color:var(--ink)}
  .nav-links a:hover::after{width:100%}
  .nav-links .sep{opacity:.3}
  @media(max-width:760px){.nav-links a.hide-sm{display:none}.nav-links .sep{display:none}}

  /* ---------- hero ---------- */
  .hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}
  .hero-photo{position:absolute;top:50%;right:7%;transform:translateY(-50%);
    width:clamp(320px,36vw,560px);aspect-ratio:4/5;z-index:0;
    background-size:cover;background-position:64% 20%;
    -webkit-mask-image:radial-gradient(ellipse 78% 80% at 56% 44%, #000 52%, rgba(0,0,0,0) 100%);
    mask-image:radial-gradient(ellipse 78% 80% at 56% 44%, #000 52%, rgba(0,0,0,0) 100%)}
  .hero-veil{position:absolute;inset:0;z-index:1;
    background:
      linear-gradient(90deg, var(--bg) 0%, var(--bg) 26%, rgba(7,11,14,.72) 44%, rgba(7,11,14,.18) 60%, rgba(7,11,14,0) 78%),
      linear-gradient(0deg, var(--bg) 1%, rgba(7,11,14,0) 26%, rgba(7,11,14,0) 74%, rgba(7,11,14,.5) 100%);
  }
  .hero-inner{position:relative;z-index:2;width:100%}
  .hero-content{max-width:620px}
  .hero .label{display:block;margin-bottom:26px;opacity:0}
  .hero h1{
    font-family:var(--serif);font-weight:300;font-size:clamp(54px,9vw,116px);
    line-height:.94;letter-spacing:-.02em;margin:0;
  }
  .hero h1 .ln{display:block;overflow:hidden}
  .hero h1 .ln i{display:block;font-style:normal;transform:translateY(110%);opacity:0}
  .hero h1 .gold{color:var(--gold)}
  .hero-sub{margin:30px 0 0;max-width:430px;font-size:17px;color:var(--muted);opacity:0}
  .hero-kicker{margin-top:30px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:19px;color:var(--ink);opacity:0}
  .scroll-cue{position:absolute;left:28px;bottom:30px;z-index:3;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);opacity:0}
  .scroll-cue .ln-v{width:46px;height:1px;background:var(--faint);position:relative;overflow:hidden}
  .scroll-cue .ln-v::after{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);animation:slide 2.6s ease-in-out infinite}
  @keyframes slide{0%{transform:translateX(-100%)}50%{transform:translateX(0)}100%{transform:translateX(100%)}}

  /* load animation */
  .ready .hero .label{animation:fade .9s ease .2s forwards}
  .ready .hero h1 .ln i{animation:rise 1.1s cubic-bezier(.16,1,.3,1) forwards}
  .ready .hero h1 .ln:nth-child(1) i{animation-delay:.35s}
  .ready .hero h1 .ln:nth-child(2) i{animation-delay:.48s}
  .ready .hero-sub{animation:fade 1s ease .95s forwards}
  .ready .hero-kicker{animation:fade 1s ease 1.15s forwards}
  .ready .scroll-cue{animation:fade 1s ease 1.5s forwards}
  @keyframes rise{to{transform:translateY(0);opacity:1}}
  @keyframes fade{to{opacity:1}}

  @media(max-width:1024px){
    .hero-photo{top:0;bottom:auto;right:0;left:0;transform:none;aspect-ratio:auto;width:100%;height:50svh;background-position:60% 16%;
      -webkit-mask-image:linear-gradient(180deg,#000 54%,transparent);mask-image:linear-gradient(180deg,#000 54%,transparent)}
    .hero{align-items:flex-end;padding-bottom:96px}
    .hero-veil{background:
      linear-gradient(0deg, var(--bg) 8%, rgba(7,11,14,.80) 36%, rgba(7,11,14,.30) 64%, rgba(7,11,14,.20) 100%);}
    .hero-content{max-width:none}
    .hero-sub{max-width:none}
  }

  /* ---------- sections ---------- */
  section{position:relative}
  .blk{padding:120px 0}
  .sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:54px}
  .sec-head .num{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:15px}
  .sec-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4vw,46px);letter-spacing:-.01em;margin:0;line-height:1.05}

  .reveal{opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

  /* bio */
  .bio-grid{display:grid;grid-template-columns:1fr;gap:0}
  .bio-lead{font-family:var(--serif);font-weight:300;font-size:clamp(24px,3vw,34px);line-height:1.32;letter-spacing:-.01em;color:var(--ink);max-width:18ch;margin:0 0 46px}
  .bio-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1000px}
  .bio-cols p{margin:0 0 20px;font-size:16.5px;color:var(--muted)}
  .bio-cols p:last-child{margin-bottom:0}
  .bio-cols b{color:var(--ink);font-weight:500}
  @media(max-width:760px){.bio-cols{grid-template-columns:1fr;gap:20px}.bio-lead{max-width:none}}
  .bio-edu{margin:48px 0 0;display:flex;align-items:baseline;gap:18px;font-family:var(--serif);font-weight:300;font-size:22px;color:var(--ink)}
  .bio-edu span{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft)}

  .rule{height:1px;background:var(--line);border:0;margin:0}

  /* ventures */
  .ventures{display:grid;gap:0;border-top:1px solid var(--line)}
  .venture{display:grid;grid-template-columns:minmax(0,200px) 1fr auto;gap:40px;align-items:baseline;
    padding:34px 4px;border-bottom:1px solid var(--line);transition:padding-left .4s ease,background .4s ease}
  .venture:hover{padding-left:18px;background:linear-gradient(90deg,rgba(200,168,120,.05),transparent 60%)}
  .venture .v-name{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:-.01em}
  .venture .v-name .role{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-top:8px}
  .venture .v-desc{color:var(--muted);font-size:15.5px;max-width:54ch}
  .venture .v-meta{color:var(--faint);font-size:12px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
  @media(max-width:860px){
    .venture{grid-template-columns:1fr;gap:12px;padding:28px 4px}
    .venture:hover{padding-left:4px}
    .venture .v-meta{order:-1}
  }

  /* quote band */
  .quote{padding:130px 0;text-align:center;position:relative}
  .quote::before{content:"";position:absolute;inset:0;background:
    radial-gradient(60% 120% at 50% 0%, rgba(22,54,61,.5), transparent 70%);z-index:0}
  .quote blockquote{position:relative;z-index:1;margin:0 auto;max-width:34ch;
    font-family:var(--serif);font-weight:300;font-size:clamp(24px,4.4vw,52px);line-height:1.22;letter-spacing:-.015em}
  .quote blockquote .em{font-style:italic;color:var(--gold)}
  .quote .src{position:relative;z-index:1;margin-top:30px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}

  /* speaking / recognition */
  .speaks-list{border-top:1px solid var(--line);max-width:940px}
  .sl{font-family:var(--serif);font-weight:300;font-size:clamp(18px,2vw,23px);letter-spacing:-.01em;line-height:1.2;
    padding:24px 4px;border-bottom:1px solid var(--line);color:var(--ink);transition:padding-left .4s ease,color .4s ease}
  .sl:hover{padding-left:16px;color:var(--gold)}

  /* off the clock */
  .offclock{background:linear-gradient(180deg,var(--bg),var(--bg-2))}
  .oc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .oc-text p{font-family:var(--serif);font-weight:300;font-size:clamp(20px,2.4vw,27px);line-height:1.45;color:var(--ink);margin:0 0 24px;max-width:24ch}
  .oc-text .small{font-family:var(--sans);font-size:15.5px;line-height:1.7;color:var(--muted);max-width:42ch}
  .oc-ig{display:inline-flex;align-items:center;gap:12px;margin-top:30px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
  .oc-ig .arrow{transition:transform .3s ease}
  .oc-ig:hover .arrow{transform:translateX(6px)}
  .oc-ig u{text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}
  .oc-side{border-left:1px solid var(--line);padding-left:36px}
  .oc-side .label{display:block;margin-bottom:18px}
  .oc-interests{font-family:var(--serif);font-weight:300;font-size:clamp(24px,3vw,40px);line-height:1.3;color:var(--ink)}
  @media(max-width:760px){.oc-grid{grid-template-columns:1fr;gap:40px}.oc-side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:32px}}

  /* contact */
  .contact{text-align:center;padding:140px 0 90px}
  .contact h2{font-family:var(--serif);font-weight:300;font-size:clamp(34px,5.2vw,68px);letter-spacing:-.02em;line-height:1.04;margin:0 auto 26px;max-width:16ch}
  .contact h2 .em{font-style:italic;color:var(--gold)}
  .contact .lede{color:var(--muted);max-width:46ch;margin:0 auto 42px;font-size:17px}
  .cta{display:inline-block;font-family:var(--serif);font-size:22px;border-bottom:1px solid var(--gold);padding-bottom:6px;transition:color .3s,border-color .3s}
  .cta:hover{color:var(--gold)}

  .links{margin-top:90px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .links a{background:var(--bg);padding:26px 18px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;text-align:center;transition:background .35s ease}
  .links a:hover{background:var(--bg-2)}
  .links a .k{font-size:13.5px;color:var(--ink);letter-spacing:.04em}
  .links a .v{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
  @media(max-width:760px){.links{grid-template-columns:repeat(2,1fr)}}

  footer{border-top:1px solid var(--line);padding:40px 0}
  .foot{max-width:var(--max);margin:0 auto;padding:0 28px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
  .foot .c{font-size:12.5px;color:var(--faint);letter-spacing:.04em}
  .foot .fs{display:flex;gap:24px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
  .foot .fs a:hover{color:var(--gold)}

  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
    .hero h1 .ln i{transform:none;opacity:1}
    .hero .label,.hero-sub,.hero-kicker,.scroll-cue{opacity:1}
    .reveal{opacity:1;transform:none}
  }

  /* ---------- link pages (press / media / links) ---------- */
  .page{padding:150px 0 110px;min-height:62vh}
  .page-head{margin-bottom:18px}
  .page-head .num{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:15px;display:block;margin-bottom:14px}
  .page-head h1{font-family:var(--serif);font-weight:300;font-size:clamp(34px,5vw,60px);letter-spacing:-.02em;line-height:1.05;margin:0}
  .page-head .intro{margin:22px 0 0;max-width:60ch;font-size:17px;color:var(--muted)}
  .linkset{max-width:940px;margin-top:46px}
  .linkset h2{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);font-weight:500;margin:48px 0 0}
  .linkset h2:first-of-type{margin-top:0}
  .linkset .list{border-top:1px solid var(--line);margin-top:14px}
  .linkset a.row{display:block;padding:20px 4px;border-bottom:1px solid var(--line);color:var(--ink);
    font-family:var(--serif);font-weight:300;font-size:clamp(17px,1.6vw,21px);letter-spacing:-.01em;line-height:1.35;
    transition:padding-left .4s ease,color .4s ease}
  .linkset a.row:hover{padding-left:14px;color:var(--gold)}
  .linkset a.row.full{color:var(--gold-soft)}
  /* item wrapper: used where a link carries a one-line description beneath it */
  .linkset .item{border-bottom:1px solid var(--line)}
  .linkset .item a.row{border-bottom:0}
  .linkset .item.has-desc a.row{padding-bottom:5px}
  .linkset .item .desc{margin:0;padding:0 4px 18px;color:var(--muted);
    font-size:14.5px;line-height:1.55;max-width:74ch}
  @media(max-width:760px){.page{padding:120px 0 80px}.linkset a.row{font-size:17px}}

