:root{
  --ground:#000;--surface-raised:#1a1a1a;--hairline:#333;
  --ink:#fff;--ink-muted:#a6a6a6;
  --cyan:#38b6ff;--magenta:#ff009d;--yellow:#ffff33;--on-accent:#000;
  --font-display:"Roboto Condensed","Arial Narrow",sans-serif;
  --font-sans:Aptos,Arial,Helvetica,sans-serif;
  --s1:8px;--s2:16px;--s4:32px;--s8:64px;
  --max:1120px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:18px;line-height:28px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--cyan)}
a:focus-visible,button:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--s4)}
.label{font-family:var(--font-sans);font-size:13px;line-height:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--magenta);margin:0 0 var(--s2)}
h1,h2,h3{font-family:var(--font-display);margin:0}
h2{font-size:44px;line-height:1.05;font-weight:700}
h3{font-size:26px;line-height:1.15;font-weight:700}
.muted{color:var(--ink-muted)}
.em{color:var(--magenta)}

/* buttons */
.btn{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:14px 22px 12px;border-radius:4px;border:2px solid transparent;line-height:1}
.btn-primary{background:var(--magenta);color:var(--on-accent)}
.btn-primary:hover{background:#ff3db3}
.btn-ghost{border-color:var(--cyan);color:var(--cyan)}
.btn-ghost:hover{background:var(--cyan);color:var(--on-accent)}
.btn-sm{font-size:15px;padding:10px 16px 9px}

/* header */
header{position:sticky;top:0;z-index:10;background:rgba(0,0,0,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--hairline)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);height:72px}
.nav-logo img{height:60px;width:auto}
.nav ul{display:flex;gap:var(--s4);list-style:none;margin:0;padding:0;align-items:center}
.nav ul a{color:var(--ink);text-decoration:none;font-family:var(--font-display);font-size:17px;letter-spacing:.06em;text-transform:uppercase}
.nav ul a:hover{color:var(--cyan)}

/* hero */
.hero{position:relative;overflow:hidden;padding:var(--s8) 0 calc(var(--s8) + var(--s4))}
.stripes{position:absolute;top:0;bottom:0;left:max(16px,calc((100vw - var(--max))/2 - 40px));width:40px;pointer-events:none}
.stripes i{position:absolute;top:0;bottom:0;width:var(--s2)}
.stripes i:first-child{left:0;background:var(--cyan)}
.stripes i:last-child{left:24px;background:var(--magenta)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:var(--s8);align-items:center;padding-left:var(--s8)}
.lockup{display:inline-block;text-align:center;font-family:var(--font-display);text-transform:uppercase;font-size:clamp(26px,3.7vw,54px);line-height:.95;margin:0}
.lockup .l{font-weight:300;color:var(--cyan)}
.lockup .b{font-weight:700;color:var(--magenta)}
.lockup .x{display:block;color:var(--yellow);font-weight:400;font-size:1.3em;line-height:1;margin:.04em 0 .02em}
.hero p.lead{font-size:21px;line-height:32px;max-width:34ch;margin:var(--s4) 0}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--s2)}
.hero-logo{width:100%;height:auto;max-width:380px;margin-left:auto}

/* sections */
section{padding:var(--s8) 0;border-top:1px solid var(--hairline)}
.sec-head{max-width:640px;margin-bottom:var(--s4)}
.sec-head p{margin:var(--s2) 0 0;color:var(--ink-muted)}

/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s2)}
.card{background:var(--surface-raised);padding:var(--s4) 28px;display:flex;flex-direction:column;gap:12px;border-top:4px solid var(--cyan)}
.card.paid{border-top-color:var(--magenta)}
.card p{margin:0;color:var(--ink-muted);font-size:16px;line-height:25px;flex:1}
.tag{align-self:flex-start;font-size:12px;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 8px 5px;border-radius:4px;background:var(--cyan);color:var(--on-accent)}
.paid .tag{background:var(--magenta)}
.card .btn{align-self:flex-start;margin-top:8px}

/* services */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2)}
.svc .card{border-top-color:var(--magenta)}
.svc ul{margin:0;padding-left:20px;color:var(--ink-muted);font-size:16px;line-height:25px;flex:1}

/* about */
.about{display:grid;grid-template-columns:320px 1fr;gap:var(--s8);align-items:center}
.headshot{width:100%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--hairline)}
.about p{margin:0 0 var(--s2)}
.creds{display:flex;flex-wrap:wrap;gap:var(--s1);list-style:none;padding:0;margin:var(--s4) 0 0}
.creds li{font-family:var(--font-display);font-size:15px;letter-spacing:.04em;border:1px solid var(--hairline);padding:6px 10px 5px;line-height:1}

/* closing */
.closing{text-align:left}
.closing h2{font-size:clamp(40px,6vw,64px);text-transform:uppercase}
.closing p{max-width:52ch;color:var(--ink-muted);margin:var(--s2) 0 var(--s4)}

/* footer */
footer{border-top:1px solid var(--hairline);padding:var(--s4) 0 var(--s8)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s4)}
.handle{font-size:18px;color:var(--ink)}
.handle .c{color:var(--cyan)}.handle .m{color:var(--magenta)}
.foot nav{display:flex;gap:var(--s4);flex-wrap:wrap}
.foot nav a{color:var(--ink);text-decoration:none;font-size:16px}
.foot nav a:hover{color:var(--cyan)}
.slashes{font-family:var(--font-display);font-weight:700;letter-spacing:.1em;color:var(--ink)}
.copy{font-size:14px;line-height:20px;color:var(--ink-muted);margin-top:var(--s2)}

@media (max-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--s4)}
  .lockup{font-size:clamp(26px,7.2vw,60px)}
  .hero-logo{margin:0;max-width:300px;order:-1}
  .svc{grid-template-columns:1fr}
  .about{grid-template-columns:1fr;gap:var(--s4)}
  .headshot{max-width:260px}
  .nav ul li:not(:last-child){display:none}
}
@media (max-width:600px){
  body{font-size:17px;line-height:26px}
  .wrap{padding:0 20px}
  .nav{height:60px}
  .nav-logo img{height:40px}
  .nav .btn-sm{font-size:13px;padding:9px 12px 8px}
  .hero{padding:40px 0 48px}
  .hero-logo{display:none}
  .hero-grid{padding-left:28px}
  .stripes{left:8px;width:20px}
  .stripes i{width:6px}.stripes i:last-child{left:10px}
  .lockup{font-size:clamp(24px,7vw,40px);line-height:1}
  .hero p.lead{font-size:18px;line-height:28px;margin:24px 0 28px}
  .cta-row{flex-direction:column;gap:12px}
  .cta-row .btn{text-align:center;width:100%}
  section{padding:48px 0}
  .sec-head{margin-bottom:24px}
  h2{font-size:30px;line-height:1.1}
  h3{font-size:22px}
  .grid,.svc{gap:12px}
  .card{padding:24px 20px;gap:10px}
  .card .btn{align-self:stretch;text-align:center}
  .headshot{max-width:180px}
  .about{gap:24px}
  .creds li{font-size:13px;padding:5px 8px 4px}
  .closing h2{font-size:36px}
  .foot{flex-direction:column;align-items:flex-start;gap:20px}
  .slashes{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* speaking page */
.talks{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2)}
.talks .card{border-top-color:var(--cyan)}
.talks .given{font-size:14px;line-height:20px;color:var(--ink-muted);font-family:var(--font-sans);margin:0}
.events{width:100%;border-collapse:collapse;font-size:16px;line-height:24px}
.events th{font-family:var(--font-sans);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);text-align:left;font-weight:700;padding:0 16px 12px 0;border-bottom:1px solid var(--hairline)}
.events td{padding:14px 16px 14px 0;border-bottom:1px solid var(--hairline);vertical-align:top}
.events td:first-child{font-family:var(--font-display);font-weight:700;color:var(--cyan);white-space:nowrap}
.events td:last-child{color:var(--ink-muted)}
.formats{display:flex;flex-wrap:wrap;gap:var(--s1);list-style:none;padding:0;margin:0}
.formats li{font-family:var(--font-display);font-size:17px;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--cyan);color:var(--cyan);padding:8px 14px 7px;line-height:1}
.bio{display:grid;grid-template-columns:220px 1fr;gap:var(--s4);align-items:start}
.bio p{margin:0 0 var(--s2)}
.kit{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s2)}
.page-hero{padding:var(--s8) 0;position:relative;overflow:hidden}
.page-hero h1{font-size:clamp(36px,5vw,60px);line-height:1.02;font-weight:700;max-width:16ch}
.page-hero p.lead{font-size:21px;line-height:32px;max-width:52ch;margin:var(--s2) 0 var(--s4)}
@media (max-width:900px){.talks{grid-template-columns:1fr}.bio{grid-template-columns:1fr}.bio img{max-width:180px}}
@media (max-width:600px){
  .page-hero{padding:40px 0 48px}
  .page-hero p.lead{font-size:18px;line-height:28px}
  .events{font-size:15px}
  .events thead{display:none}
  .events tr{display:block;padding:12px 0;border-bottom:1px solid var(--hairline)}
  .events td{display:block;border:0;padding:2px 0}
  .kit .btn{width:100%;text-align:center}
}
.tag.key{background:var(--magenta);color:var(--on-accent);margin-left:8px;vertical-align:2px;display:inline-block}
@media (min-width:601px){.events{table-layout:fixed}.events td:nth-child(1),.events th:nth-child(1){width:72px}.events td:nth-child(2),.events th:nth-child(2){width:36%}}

/* reading page */
.how{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.how{grid-template-columns:1fr}}
.quarter{margin-top:var(--s8)}
.quarter:first-of-type{margin-top:0}
.q-label{font-family:var(--font-display);font-size:26px;line-height:1.15;font-weight:700;margin:0 0 var(--s2);display:flex;align-items:baseline;gap:12px}
.q-label span{color:var(--cyan);font-size:44px;line-height:1}
.months{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.month .author,.exec .author{font-size:14px;line-height:20px;color:var(--ink-muted);margin:-6px 0 0;flex:0}
.month .do{flex:0;color:var(--ink);border-left:3px solid var(--magenta);padding-left:12px;margin-top:4px}
.month .do strong{display:block;font-family:var(--font-display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--magenta)}
.exec{list-style:none;counter-reset:exec;margin:0;padding:0;display:grid;gap:var(--s2)}
.exec li{counter-increment:exec;display:grid;grid-template-columns:72px 1fr;column-gap:var(--s2);background:var(--surface-raised);padding:var(--s4) 28px;border-left:4px solid var(--magenta)}
.exec li::before{content:counter(exec);grid-row:1 / span 3;font-family:var(--font-display);font-weight:700;font-size:56px;line-height:1;color:var(--cyan)}
.exec h3,.exec p{grid-column:2}
.exec p{margin:8px 0 0;color:var(--ink-muted);font-size:16px;line-height:25px}
.exec .author{margin-top:4px}
@media (max-width:900px){.months{grid-template-columns:1fr}}
@media (max-width:600px){
  .q-label{font-size:22px}.q-label span{font-size:34px}
  .exec li{grid-template-columns:44px 1fr;padding:24px 20px}
  .exec li::before{font-size:40px}
}
@media print{
  :root{--ground:#fff;--surface-raised:#fff;--ink:#000;--ink-muted:#333;--hairline:#ccc;color-scheme:light}
  header,footer,.stripes,.cta-row,#suggest{display:none}
  section,.page-hero{padding:16px 0;border:0}
  .card,.exec li{break-inside:avoid;border:1px solid #ccc}
  .months{grid-template-columns:repeat(3,1fr)}
}
.sec-head.story{max-width:68ch}
.sec-head.story p{color:var(--ink);margin-top:var(--s2)}
.reading-hero h1{font-size:clamp(32px,3.6vw,46px);max-width:22ch}
.reading-hero p.lead{font-size:19px;line-height:30px}
.exec-cards .card{padding:29px 25px;gap:11px}
.exec-cards h3{font-size:23px}
.exec-cards .card p{font-size:14.5px;line-height:22.5px}
.exec-cards .card .author{font-size:13px;line-height:18px}
.exec-cards .tag{font-size:11px;padding:5px 7px 4px}
@media (max-width:600px){.exec-cards .card{padding:22px 18px}.exec-cards h3{font-size:20px}}
