  :root{
    --paper:#f4ede0;
    --paper-2:#ebe1cd;
    --surface:#fffdf8;
    --ink:#221d17;
    --ink-2:#5e554a;
    --ink-3:#736857;
    --line:#e1d8c4;
    --line-2:#cec2a9;
    --accent:#0F2A43;
    --gold:#b3543a;
    --gold-soft:#f1dbd3;
    --font-display:'Newsreader', Georgia, serif;
    --font-body:'Hanken Grotesk', system-ui, sans-serif;
    --maxw:1120px;
  }
  html[data-headline="spectral"]{--font-display:'Spectral', Georgia, serif;}
  html[data-headline="hanken"]{--font-display:'Hanken Grotesk', sans-serif;}
  html[data-paper="cool"]{--paper:#eef0f1;--paper-2:#e3e7ea;--surface:#ffffff;--line:#dde1e4;--line-2:#c8cfd4;}
  html[data-paper="white"]{--paper:#ffffff;--paper-2:#f4f3f0;--surface:#ffffff;--line:#e8e6e0;--line-2:#d6d3cb;}
  html[data-paper="sage"]{--paper:#e9ece2;--paper-2:#dde2d3;--surface:#fbfcf8;--line:#dadfce;--line-2:#c3cbb1;}
  html[data-paper="blush"]{--paper:#f3e9e4;--paper-2:#ecddd4;--surface:#fffaf6;--line:#e6d6cc;--line-2:#d6c0b3;}
  html[data-paper="slate"]{--paper:#e7e8ea;--paper-2:#dcdee2;--surface:#fbfbfc;--line:#d6d8dd;--line-2:#bfc3cb;}

  *{box-sizing:border-box}
  .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}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:var(--font-body);
    background:#f4f8fc;
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  a{color:inherit}
  a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid #275f9e;outline-offset:3px}
  ::selection{background:var(--gold-soft)}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
  section{position:relative}

  /* ---------- type ---------- */
  .eyebrow{
    font-family:var(--font-body);font-weight:600;font-size:.9rem;
    letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
    display:inline-flex;align-items:center;gap:14px;
  }
  .eyebrow::before{content:"";width:34px;height:1.5px;background:var(--accent);display:inline-block;opacity:.65}
  .display{font-family:var(--font-display);font-weight:500;line-height:1.02;letter-spacing:-.015em;color:var(--ink);margin:0}
  .display em{font-style:italic;font-weight:400}
  h1.display{font-size:clamp(2.7rem,5.2vw,4.3rem)}
  h2.display{font-size:clamp(1.9rem,3vw,2.6rem)}
  .lede{font-size:1.18rem;color:var(--ink-2);line-height:1.55;max-width:36em}
  .kicker{font-family:var(--font-body);font-weight:600;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;
    font-family:var(--font-body);font-weight:600;font-size:.95rem;
    padding:.78em 1.35em;border-radius:2px;cursor:pointer;text-decoration:none;
    border:1px solid var(--accent);transition:.18s ease;
  }
  .btn .arr{transition:transform .18s ease}
  .btn:hover .arr{transform:translateX(3px)}
  .btn-primary{background:#275f9e;border-color:#275f9e;color:#fff}
  .btn-primary:hover{background:#0F2A43;border-color:#0F2A43}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
  .btn-ghost:hover{border-color:var(--ink);background:var(--surface)}
  .btn-sm{font-size:.86rem;padding:.6em 1.05em}
  .btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

  /* ---------- nav ---------- */
  header{
    position:sticky;top:0;z-index:40;background:color-mix(in srgb,#0F2A43 95%, transparent);
    backdrop-filter:blur(8px);border-bottom:1px solid #0a2138;
  }
  header .wordmark{color:#eef4fb;font-size:clamp(1.04rem,2.6vw,1.35rem)}
  header .btn-primary{background:#e8f1fb;border-color:#e8f1fb;color:#0F2A43}
  header .btn-primary:hover{background:#ffffff;border-color:#ffffff}
  .nav{display:flex;align-items:center;gap:16px;height:64px}
  .wordmark{font-family:var(--font-display);font-weight:500;font-size:1.5rem;letter-spacing:-.01em;text-decoration:none;color:var(--ink);white-space:nowrap}
  .wordmark .dot{color:var(--accent)}
  .wordmark .llc{color:var(--accent);font-weight:600;font-size:.62em;letter-spacing:.08em;vertical-align:.08em;margin-left:.18em}
  .brand{display:flex;align-items:center;gap:11px;text-decoration:none}
  .xbl{position:relative;display:grid;place-items:center;width:40px;height:40px;flex:none;color:var(--accent)}
  .xbl svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
  .xbl .xb-x{position:relative;z-index:1;font-family:'EB Garamond',Georgia,serif;font-style:italic;font-weight:400;font-size:20px;line-height:.74;color:var(--accent);transform:translateY(-5%)}
  .xbl .xb-x::before{content:"";position:absolute;left:6%;right:-3%;top:.13em;height:.052em;background:currentColor;border-radius:1px}
  .xbl.sm{width:34px;height:34px}.xbl.sm .xb-x{font-size:17px}
  .brand .wordmark{color:var(--accent);font-size:1.4rem}
  .navlinks{display:flex;align-items:center;gap:24px;margin-left:auto}
  .tc-book{margin-left:24px}
  .navtoggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;margin-left:-6px;padding:0;background:none;border:0;color:#c4d2e2;cursor:pointer;border-radius:6px}
  .navtoggle:hover{color:#fff;background:rgba(255,255,255,.08)}
  .navlinks a:not(.btn){font-size:.92rem;font-weight:500;color:#c4d2e2;text-decoration:none;position:relative;padding:4px 0}
  .navlinks a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:#8fb6e6;transition:right .22s ease}
  .navlinks a:not(.btn):hover{color:#ffffff}
  .navlinks a:not(.btn):hover::after{right:0}
  @media(max-width:820px){
    .navtoggle{display:inline-flex}
    .nav{gap:12px;height:60px}
    .navlinks{position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;align-items:stretch;gap:0;background:#0f2a43;border-bottom:1px solid #0a2138;padding:6px 0;display:none}
    header.nav-open .navlinks{display:flex}
    .navlinks a:not(.btn){padding:13px 24px}
    .navlinks a:not(.btn)::after{display:none}
    .tc-book{margin-left:auto}
  }
  @media(max-width:380px){.nav .wname{display:none}}

  /* ---------- hero ---------- */
  .hero{padding:78px 0 64px}
  .hero-grid{display:grid;grid-template-columns:1.45fr .9fr;gap:72px;align-items:center}
  .hero h1{margin-top:22px}
  .hero .lede{margin-top:24px}
  .hero .btns{margin-top:34px}
  .hero-note{margin-top:22px;font-size:.86rem;color:var(--ink-2);display:flex;align-items:center;gap:10px}
  .hero-note .sep{width:4px;height:4px;border-radius:50%;background:var(--line-2)}
  figure.portrait{margin:0}
  figure.portrait img.portrait-img{
    width:100%;height:440px;object-fit:cover;object-position:50% 32%;display:block;
    border:1px solid var(--line-2);
    box-shadow:0 1px 0 var(--line), 14px 16px 0 -2px color-mix(in srgb,var(--accent) 9%, transparent);
  }
  figure.portrait figcaption{margin-top:12px;font-size:.8rem;color:var(--ink-3);letter-spacing:.04em;display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:8px}
  @media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:40px}figure.portrait{order:0;max-width:360px}}

  /* ---------- credential band ---------- */
  .creds{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .creds-inner{padding-top:46px;padding-bottom:50px}
  .creds .kicker{margin-bottom:24px;display:flex}
  .statrow{display:grid;grid-template-columns:repeat(4,1fr)}
  .stat{padding:4px 36px;border-left:1px solid var(--line-2);display:flex;flex-direction:column}
  .stat:first-child{padding-left:0;border-left:none}
  .stat .num{font-family:var(--font-display);font-weight:500;font-size:clamp(2.2rem,3.6vw,3rem);line-height:1;color:var(--accent);letter-spacing:-.02em;min-height:clamp(2.2rem,3.6vw,3rem);display:flex;align-items:flex-end}
  .stat .lbl{margin-top:12px;font-size:.86rem;color:var(--ink-2);line-height:1.4}
  .stat .num-stanford{font-size:clamp(1.7rem,2.6vw,2.25rem);white-space:nowrap}
  @media(max-width:720px){
    .creds-inner{padding-top:40px;padding-bottom:40px}
    .statrow{grid-template-columns:1fr 1fr;gap:16px}
    .stat{padding:24px 20px;border-left:none;background:#ffffff;border:1px solid var(--line-2);border-radius:8px;justify-content:flex-start}
    .stat:first-child{padding:24px 20px;border-left:1px solid var(--line-2)}
    .stat .num,.stat .num-stanford{font-size:1.8rem;min-height:3.6rem;white-space:normal;align-items:flex-start}
    .stat .lbl{margin-top:10px;font-size:.9rem}
    .stat .logos-row{margin-top:auto;padding-top:20px;justify-content:flex-start;gap:6px 10px}
    .stat .logos-row img{height:14px}
    .stat .stanford-row{justify-content:flex-start}
    .stat .stanford-row img{height:26px}
  }

  /* ---------- quote ---------- */
  .quote{padding:84px 0;text-align:center}
  .quote blockquote{margin:0 auto;max-width:20em}
  .quote .qmark{font-family:var(--font-display);font-size:3.4rem;line-height:0;color:var(--line-2);display:block;height:.5em}
  .quote p{font-family:var(--font-display);font-weight:400;font-style:italic;font-size:clamp(1.7rem,3.1vw,2.4rem);line-height:1.28;color:var(--ink);margin:.3em 0 0;letter-spacing:-.01em}
  .mark{background:linear-gradient(to top, var(--gold-soft) 42%, transparent 42%);padding:0 .12em}

  /* ---------- generic section ---------- */
  .block{padding:clamp(52px,8vw,80px) 0;border-top:1px solid var(--line)}
  .block-head{max-width:42em}
  .block-head .lede{margin-top:14px;font-size:1.05rem}

  /* services */
  .svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
  .svc{display:flex;flex-direction:column;padding:24px 28px;border:1px solid var(--line-2);background:var(--surface);border-radius:4px;position:relative;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 1px 0 var(--line)}
  .svc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);border-radius:4px 0 0 4px;opacity:0;transition:opacity .18s ease}
  .svc:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 10px 26px -12px color-mix(in srgb,var(--accent) 30%, transparent)}
  .svc:hover::before{opacity:1}
  .svc-cartoon{flex:none;width:78px;opacity:.95;transition:transform .25s ease}
  .svc-qrow{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:12px}
  .svc-cartoon svg{display:block;width:100%;height:auto}
  .svc:hover .svc-cartoon{transform:scale(1.07)}
  .svc-foot{margin-top:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:15px;border-top:1px solid var(--line);transition:border-color .2s ease}
  .svc-demo{display:inline-flex;align-items:center;gap:7px;font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
  .svc-demo .pl{font-size:.5rem;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--accent);color:var(--surface);padding-left:1px}
  .svc-top{display:flex;align-items:baseline;justify-content:flex-start;gap:13px}
  .svc-idx{font-family:var(--font-display);font-size:.95rem;color:var(--ink-3)}
  .svc-topic{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);font-weight:700}
  .svc h3{font-family:var(--font-display);font-weight:500;font-size:1.4rem;line-height:1.2;margin:0;letter-spacing:-.01em;flex:1;min-width:0}
  .svc p{font-size:.96rem;color:var(--ink-2);margin:10px 0 18px;max-width:34em}
  .svc .more{font-size:.85rem;font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:.4em;padding:6px 4px;transition:color .18s ease}
  .svc .more .arr{transition:transform .18s ease;will-change:transform}
  .svc:hover .more{color:var(--gold)}
  .svc:hover .more .arr{transform:translateX(5px)}
  .svc:hover .svc-foot{border-top-color:var(--accent)}
  @keyframes cartPulse{0%,55%,100%{transform:scale(1)}74%{transform:scale(1.18)}}
  @keyframes cartLift{0%,62%,100%{transform:translateY(0)}80%{transform:translateY(-3px)}}
  @keyframes cartPop{0%,60%,100%{transform:scale(1)}78%{transform:scale(1.12)}}
  @media(prefers-reduced-motion:no-preference){
    .cart-pulse{transform-box:fill-box;transform-origin:center;animation:cartPulse 3.6s ease-in-out infinite}
    .cart-lift{animation:cartLift 3.8s ease-in-out infinite}
    .cart-pop{transform-box:fill-box;transform-origin:center;animation:cartPop 4s ease-in-out infinite}
    .svc:nth-child(2) .cart-lift{animation-delay:.5s}
    .svc:nth-child(3) .cart-pop{animation-delay:1s}
    .svc:nth-child(4) .cart-pulse{animation-delay:1.4s}
  }
  .badge{font-family:var(--font-body);font-weight:600;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;padding:.32em .7em;border-radius:2px;white-space:nowrap}
  .badge-start{background:var(--accent);color:#fdfbf5}
  .badge-sig{background:var(--gold-soft);color:#7a3322;border:1px solid var(--gold)}
  .svc-intro{font-size:1.12rem;line-height:1.55;color:var(--ink-2);max-width:34em;margin:14px 0 0}
  @media(max-width:720px){
    .svc-grid{grid-template-columns:1fr;gap:16px}
    .svc{border-right:none;padding:26px 22px}
    .svc h3{font-size:1.5rem}
    .svc-qrow{gap:14px}
    .svc-cartoon{width:62px}
    .svc-top{margin-bottom:2px}
    .svc-foot{margin-top:20px;padding-top:18px}
    .svc-intro{font-size:1.05rem;margin-top:12px}
  }
  .audit-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
    margin-top:30px;padding:24px 28px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface);text-decoration:none;transition:.18s ease}
  .audit-cta:hover{background:#eef4fb}
  .audit-cta .badge{margin-bottom:2px}
  .audit-cta h3{font-family:var(--font-display);font-weight:500;font-size:1.4rem;margin:12px 0 6px;letter-spacing:-.01em;color:var(--ink)}
  .audit-cta p{font-size:.95rem;color:var(--ink-2);margin:0;max-width:46em}
  .audit-go{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;font-weight:600;font-size:.95rem;color:var(--accent)}
  .audit-cta .arr{transition:transform .18s ease}
  .audit-cta:hover .arr{transform:translateX(3px)}

  /* why different */
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 56px;margin-top:44px}
  .why{display:flex;gap:18px}
  .why .mk{flex:none;width:30px;height:30px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:.9rem;margin-top:3px}
  .why h4{font-family:var(--font-display);font-weight:500;font-size:1.22rem;margin:0 0 6px;letter-spacing:-.01em}
  .why p{font-size:.95rem;color:var(--ink-2);margin:0}
  @media(max-width:720px){.why-grid{grid-template-columns:1fr;gap:28px}}

  /* science / publications */
  .sci{background:var(--paper-2);border-top:1px solid var(--line)}
  .exp{background:var(--paper);border-top:1px solid var(--line)}
  .sci-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;padding-top:80px;padding-bottom:80px;align-items:start}
  .sci .lede{font-size:1.05rem;margin-top:14px}
  .marks{display:flex;flex-direction:column;gap:0;margin-top:30px;border-top:1px solid var(--line-2)}
  .markrow{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line-2)}
  .markrow .mi{font-family:var(--font-display);font-size:1.5rem;color:var(--accent);width:30px;text-align:center;flex:none}
  .markrow b{font-weight:600;font-size:.95rem}
  .markrow span{display:block;font-size:.84rem;color:var(--ink-2)}
  .pubs .pub{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line-2)}
  .pubs .pub:first-of-type{border-top:1px solid var(--line-2)}
  .pub .yr{font-family:var(--font-display);font-size:1.05rem;color:var(--ink-3)}
  .pub .pt{font-family:var(--font-display);font-size:1.18rem;font-weight:500;line-height:1.22;letter-spacing:-.01em}
  .pub .pv{font-size:.85rem;color:var(--ink-2);margin-top:4px;font-style:italic}
  .pub .cit{font-size:.78rem;color:var(--ink-2);white-space:nowrap;border:1px solid var(--line-2);border-radius:999px;padding:.28em .8em;align-self:center}
  .scholar{margin-top:24px;font-size:.9rem;font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;gap:.4em;align-items:center}
  .scholar:hover{text-decoration:underline}
  @media(max-width:880px){.sci-grid{grid-template-columns:1fr;gap:44px}}

  /* notebook */
  .note-list{margin-top:36px;border-top:1px solid var(--line)}
  .note-item{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:.18s ease}
  .note-item:hover{padding-left:10px}
  .note-item .ni{font-family:var(--font-display);font-size:1.2rem;color:var(--accent)}
  .note-item h4{font-family:var(--font-display);font-weight:500;font-size:1.4rem;margin:0;letter-spacing:-.01em}
  .note-item p{font-size:.92rem;color:var(--ink-2);margin:5px 0 0}
  .note-item .rd{font-size:.8rem;color:var(--ink-3);white-space:nowrap}
  @media(max-width:620px){.note-item{grid-template-columns:auto 1fr}.note-item .rd{display:none}}

  /* ---------- hero points ---------- */
  .hero-points{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:16px;max-width:34em}
  .hero-points li{position:relative;padding-left:26px;font-size:1.05rem;line-height:1.45;color:var(--ink-2)}
  .hero-points li::before{content:"";position:absolute;left:0;top:.62em;width:13px;height:1.5px;background:var(--accent)}
  .hero-points li strong{color:var(--ink);font-weight:600}
  .hero-lede{margin:24px 0 0;font-size:1.14rem;line-height:1.6;color:var(--ink-2);max-width:35em}
  .hero-lede strong{color:var(--ink);font-weight:600}
  .hero-lede .pls{color:var(--ink);font-weight:600}

  /* ---------- alternating panels (2-tone, divider line between) ---------- */
  /* ---------- blue scheme: alternating panels (hero A · creds B · testimonials A · work B · cta A) ---------- */
  .hero{background:#f4f8fc}
  #work{background:#e4ecf5}
  #work{border-top:3px solid #0F2A43;border-bottom:3px solid #0F2A43}
  #testimonials .tm{background:transparent}
  /* white cards + audit band pop on the tinted services panel */
  #work .svc{background:#ffffff}
  #work .audit-cta{background:#ffffff}
  .section-tag{font-family:var(--font-body);font-weight:600;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}

  /* ---------- about (narrative chapters) ---------- */
  .about-stack{display:flex;flex-direction:column;gap:16px;margin-top:40px}
  .chapter{display:grid;grid-template-columns:210px 1fr;gap:36px;padding:30px 36px;border:1px solid var(--line-2);background:#ffffff;border-radius:4px;box-shadow:0 1px 0 var(--line);transition:border-color .18s ease,box-shadow .18s ease}
  .chapter:hover{border-color:var(--accent);box-shadow:0 8px 22px -14px color-mix(in srgb,var(--accent) 30%, transparent)}
  .chapter .rail{display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--line);padding-right:0}
  .chapter .ch-num{font-family:var(--font-display);font-size:2.1rem;line-height:1;color:var(--gold);letter-spacing:-.02em}
  .chapter .ch-era{font-family:var(--font-body);font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
  .chapter .ch-logo{margin-top:10px}
  .chapter .ch-logo img{max-width:120px;max-height:42px;object-fit:contain;display:block;opacity:.85}
  .chapter .ch-logo.two{display:flex;gap:10px}
  .chapter .ch-logo.two img{max-width:56px;max-height:40px}
  .chapter .body h2{font-family:var(--font-display);font-weight:500;font-size:1.32rem;margin:0 0 10px;letter-spacing:-.01em;line-height:1.18}
  .chapter .body p{font-size:1rem;color:var(--ink-2);margin:0;line-height:1.58;max-width:46em}
  .chapter .body p .hl{color:var(--ink);font-weight:600}
  @media(max-width:760px){.chapter{grid-template-columns:1fr;gap:16px;padding:26px 24px}.chapter .rail{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:10px 16px;border-right:none;border-bottom:1px solid var(--line);padding-bottom:14px}.chapter .ch-logo{flex-basis:100%;margin-top:4px}.chapter .ch-logo.two img{max-width:46px}}
  .about-scholar{margin-top:26px;font-size:.92rem;font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;gap:.4em;align-items:center}
  .about-scholar:hover{text-decoration:underline}

  /* ---------- testimonials ---------- */
  .tm-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:40px;border-top:1px solid var(--line)}
  .tm{margin:0;display:flex;flex-direction:column;padding:28px 0 26px;border:none;background:transparent;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line)}
  .tm .qm{font-family:var(--font-display);font-size:2.6rem;line-height:.5;color:var(--gold);opacity:.75;height:.42em;display:block}
  .tm blockquote{margin:0;font-family:var(--font-display);font-weight:400;font-size:1.22rem;line-height:1.5;color:var(--ink);letter-spacing:-.005em;text-wrap:pretty;max-width:64ch}
  .tm figcaption{margin-top:16px;display:flex;flex-flow:row wrap;gap:0 8px;align-items:baseline}
  .tm-name{font-weight:600;font-size:.95rem;color:var(--ink)}
  .tm-role{font-size:.83rem;color:var(--ink-3)}
  .tm-role::before{content:"· "}
  @media(max-width:880px){.tm blockquote{font-size:1.08rem}}

  /* CTA band */
  .cta{background:#f4f8fc;color:#1f3a52}
  .cta .cta-inner{padding-top:clamp(46px,9vw,100px);padding-bottom:clamp(46px,9vw,100px);text-align:center}
  .cta h2{color:#0F2A43}
  .cta p{color:#3a5670;font-size:1.1rem;margin:16px auto 0;max-width:30em}
  .cta .btns{justify-content:center;margin-top:34px}
  .cta .btn-primary{background:#275f9e;border-color:#275f9e;color:#fff}
  .cta .btn-primary:hover{background:#0F2A43;border-color:#0F2A43}

  /* footer */
  footer{border-top:1px solid #0a2138;padding:40px 0 56px;background:#0F2A43}
  footer .wordmark{color:#eef4fb}
  .foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
  .foot .links{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:.9rem;color:#c4d2e2}
  .foot .links a{text-decoration:none;padding:.5rem 0;display:inline-flex;align-items:center;min-height:40px}
  .foot .links a:hover{color:#ffffff}
  .foot .fine{font-size:.78rem;color:#93a6ba;margin-top:10px}

  /* entrance, transform-only settle; opacity is NEVER touched, so content is always visible */
  @media(prefers-reduced-motion:no-preference){
    .reveal{animation:revealSettle .55s cubic-bezier(.2,.7,.2,1) both}
  }
  @keyframes revealSettle{from{transform:translateY(12px)}to{transform:none}}

  #tweaks-root{position:fixed;z-index:90}

  /* ---- mobile sizing fixes ---- */
  @media(max-width:600px){
    .wrap{padding-left:18px;padding-right:18px}
    .nav{height:60px}
    .wordmark{font-size:1.04rem}
    .brand .wordmark{font-size:1.02rem}
    header .btn-sm{font-size:.8rem;padding:.5em .9em;min-height:40px}
    h1.display{font-size:clamp(2.05rem,8vw,2.7rem)}
    .hero{padding:54px 0 48px}
  }

  /* T monogram logo */
  .wordmark,.tc-wordmark{display:inline-flex;align-items:center;gap:.5em}
  .tmark{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex:none;border-radius:7px;background:#0F2A43;border:1.5px solid #b3543a;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;font-size:1.3rem;line-height:1;color:#b3543a}
  @media(max-width:600px){.tc-header .wname{display:none}.wname-llc{display:none}}


  /* conversion: hero subhead, CTA risk-reversal note, blue proof band */
  .hero-sub{margin:14px 0 0;font-size:1.12rem;color:var(--ink-2);max-width:32rem;line-height:1.5}
  .cta-note{margin:14px 0 0;font-size:.85rem;color:var(--ink-3);letter-spacing:.02em}
  .creds{background:#e4ecf5;border-top:3px solid #0F2A43;border-bottom:3px solid #0F2A43}

  /* "How I help" 3-up band */
  #howhelp{background:#f4f8fc;border-top:3px solid #0F2A43}
  .help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:1.6rem}
  .help h3{font-family:var(--font-display);font-weight:500;font-size:1.25rem;color:var(--ink);margin:0 0 .5rem;letter-spacing:-.01em}
  .help h3::before{content:"";display:block;width:30px;height:2px;background:var(--gold);margin-bottom:.7rem}
  .help p{font-size:.97rem;color:var(--ink-2);margin:0;line-height:1.55}
  @media(max-width:760px){.help-grid{grid-template-columns:1fr;gap:1.4rem}}

  /* credibility strip: muted logo cluster */
  .logos-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin-top:auto;padding-top:16px}
  .logos-row img{height:22px;width:auto;display:block}
  .stanford-row{justify-content:flex-end}
  .stanford-row img{height:46px}
  #testimonials{background:#f4f8fc}
  .cred-deg{display:block;color:var(--ink);font-weight:600;font-size:1.02rem;margin-bottom:3px;letter-spacing:-.005em}

  /* ---- publications / press lists ---- */
  body{background:#f4f8fc}
  .intro{padding:64px 0 36px;background:#f4f8fc}
  .pubs{padding:44px 0 64px;background:#e4ecf5;border-top:3px solid #0F2A43}
  .pubs .block-head{margin-bottom:8px}
  .pub-list{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--line-2)}
  .pub{display:flex;align-items:baseline;gap:20px;padding:18px 0;border-bottom:1px solid var(--line-2)}
  .pub-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
  .pub-year{flex:none;width:46px;font-family:var(--font-display);font-size:.98rem;color:var(--ink-2);padding-top:1px}
  .pub-title{font-family:var(--font-display);font-weight:500;font-size:1.18rem;line-height:1.3;color:var(--ink);letter-spacing:-.01em}
  .pub-meta{font-size:.86rem;color:var(--ink-2)}
  .pub-link{flex:none;font-size:.85rem;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:.4em;padding:6px 4px;transition:color .18s ease}
  .pub-link .arr{transition:transform .18s ease}
  .pub-link:hover{color:var(--gold)}
  .pub-link:hover .arr{transform:translateX(3px)}
  .pub-note{margin-top:34px;font-size:.85rem;color:var(--ink-3)}
  .pub-authors{font-size:.82rem;color:var(--ink-2);line-height:1.4}
  .pub-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
  .pub-tag{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#3a5670;background:#ffffff;border:1px solid #d3deea;border-radius:999px;padding:.22em .62em}
  .pub.is-hidden{display:none}
  .pub-group{font-family:var(--font-body);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:48px 0 0}
  .pub-group + .pub-list{margin-top:16px}
  @media(max-width:600px){
    .intro{padding:44px 0 22px}
    .pubs{padding:32px 0 72px}
    .pub{gap:14px;padding:16px 0}
    .pub-year{width:40px}
  }

  /* ---- topic filter chips ---- */
  .filterbar{display:flex;flex-wrap:wrap;gap:9px;margin:0}
  .chip{font-family:var(--font-body);font-size:.82rem;font-weight:600;letter-spacing:.01em;padding:.5em 1.05em;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:.16s ease;white-space:nowrap}
  .chip:hover{border-color:var(--accent);color:var(--ink)}
  .chip.is-active,.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
  .filter-count{font-size:.82rem;color:var(--ink-2);margin:13px 0 0;font-weight:600;letter-spacing:.02em}

  /* ---- name list (about page) ---- */
  .name-list{list-style:none;margin:18px 0 0;padding:0}
  .name-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:13px 0;border-bottom:1px solid var(--line)}
  .name-list .nl-name{font-family:var(--font-display);font-weight:500;font-size:1.08rem;color:var(--ink);letter-spacing:-.01em}
  .name-list .nl-note{font-size:.92rem;color:var(--ink-2)}
  .name-list .nl-name a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-2);transition:color .15s ease,border-color .15s ease}
  .name-list .nl-name a:hover{color:var(--gold);border-bottom-color:var(--gold)}
