/* Direction B. Inter 300, capitals for headings, editorial framing. Mobile first. */
@font-face{font-family:"Inter";src:url(fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-wght-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

:root{
  --ink:#0d0b0c; --ink-2:#141112; --ink-3:#1b1718; --paper:#f7f4f0; --mint:#23e1b3; --on-mint:#08201b;
  --body:rgba(247,244,240,.78); --sub:rgba(247,244,240,.8); --second:rgba(247,244,240,.68); --cap:rgba(247,244,240,.62); --line:rgba(247,244,240,.16);
  --header:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",sans-serif;font-weight:300;font-size:16.5px;line-height:1.75;color:var(--body);background:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block;border-radius:0}
picture{display:block}
a{color:var(--paper)}
strong,b{font-weight:500}
ul{list-style:none}
.wrap{width:min(1180px,90vw);margin:0 auto}
.narrow{max-width:820px}
p{max-width:64ch}
section{padding:3rem 0}
[id]{scroll-margin-top:calc(var(--header) + 8px)}

/* display: capitals at 300, negative tracking */
h1,h2,.statement{font-weight:300;text-transform:uppercase;color:var(--paper)}
h1{font-size:clamp(40px,7vw,96px);line-height:1.0;letter-spacing:-.03em}
h2{font-size:clamp(32px,4.4vw,58px);line-height:1.04;letter-spacing:-.02em;margin-bottom:1rem}
.statement{font-size:clamp(34px,6.2vw,72px);line-height:1.04;letter-spacing:-.03em;margin-bottom:1rem}
.subhead{font-weight:300;font-size:clamp(17px,2vw,21px);line-height:1.5;color:var(--sub);text-transform:none;letter-spacing:0;margin-bottom:.6rem}
/* small uppercase labels: positive tracking */
.eyebrow,h2.eyebrow,h3.tlabel,.door h3{font-weight:300;font-size:11px;text-transform:uppercase;letter-spacing:.34em;line-height:1.6;color:var(--mint)}
h2.eyebrow{margin-bottom:1rem}
.lede{margin-bottom:1.4rem}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--mint);color:var(--on-mint);padding:.6rem 1rem;z-index:99}
.skip:focus{left:1rem}

/* header */
.site-header{background:var(--ink);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:var(--header)}
.brand img{height:46px;width:auto}
.menu-btn{background:none;border:1px solid var(--line);border-radius:0;color:var(--paper);font:400 12px/1 "Inter",sans-serif;text-transform:uppercase;letter-spacing:.18em;padding:.7rem .9rem;cursor:pointer}
nav ul{display:none;position:absolute;top:var(--header);left:0;right:0;background:var(--ink);flex-direction:column;padding:.5rem 5vw 1.2rem;border-bottom:1px solid var(--line)}
nav ul.open{display:flex}
nav li{padding:.75rem 0;border-bottom:1px solid var(--line)}
nav a{text-decoration:none;font-weight:400;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--paper)}
nav a:hover{color:var(--mint)}
.cta{color:var(--mint)}
@media (min-width:900px){
  .menu-btn{display:none}
  nav ul{display:flex;position:static;flex-direction:row;gap:2rem;padding:0;align-items:center;border:0}
  nav li{padding:0;border:0}
  .cta{background:var(--mint);color:var(--on-mint)!important;padding:.75rem 1.1rem}
}
.btn{display:inline-block;background:var(--mint);color:var(--on-mint);border-radius:0;text-decoration:none;font-weight:400;font-size:12px;text-transform:uppercase;letter-spacing:.18em;padding:1rem 1.5rem}
.btn:hover{background:#4ff0c8}

/* hero: full bleed, fades into the ink, type sits in the ink band at the bottom */
.stage-hero{position:relative;padding:0;background:var(--ink)}
.hero-photo img{width:100%;height:62vh;object-fit:cover;object-position:68% 22%}
.stage-hero::after{content:"";position:absolute;left:0;right:0;top:0;height:62vh;background:linear-gradient(180deg,rgba(13,11,12,0) 34%,rgba(13,11,12,.55) 62%,var(--ink) 100%);pointer-events:none}
.stage-copy{position:relative;z-index:2;margin-top:-4.5rem;padding-bottom:1.6rem}
.role{font-weight:300;font-size:11px;text-transform:uppercase;letter-spacing:.34em;color:var(--mint);margin-top:.8rem}
.hero-book{font-size:15px;color:var(--sub);margin-top:.4rem}
.hero-book a{text-underline-offset:4px}
@media (min-width:900px){
  .hero-photo img,.stage-hero::after{height:82vh}
  .stage-copy{margin-top:-9rem}
}

/* matted plates: wide margin, no frame, caption outside under a hairline */
.plate{margin:0}
.plate figcaption,.plate .cap{border-top:1px solid var(--line);margin-top:.7rem;padding-top:.6rem;display:grid;gap:.25rem;font-weight:300;font-size:11px;text-transform:uppercase;letter-spacing:.14em;line-height:1.6;color:var(--cap)}

/* press */
.press{padding:2.4rem 0;border-bottom:1px solid var(--line)}
.press-grid{display:grid;gap:1.6rem;align-items:start}
.fortune{font-weight:300;color:var(--body);margin-bottom:.8rem}
.seen{display:inline;margin-right:.8rem}
.seen .eyebrow{display:inline}
.seen-list{display:inline;font-weight:400;color:var(--paper)}
.seen-list li{display:inline}
.seen-list li+li::before{content:"\00b7";margin:0 .55rem;color:var(--cap)}
.cover-doc{max-width:260px}
.cover-doc img{width:100%}
.cover-doc .reprint{color:var(--second)}
@media (min-width:900px){.press-grid{grid-template-columns:1fr 440px;gap:5rem}.cover-doc{max-width:440px;width:440px;margin-top:2.4rem}}

/* stages, one list */
.stages{background:var(--ink-2)}
.rest p{font-size:14.5px;line-height:1.65;color:var(--second);margin-bottom:.45rem;max-width:none}
.grp{font-weight:500;color:var(--paper)}

/* talks */
.speaking{padding-bottom:0}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.2rem;border-top:1px solid var(--line);padding-top:1.4rem}
.door h3{margin-bottom:.5rem}
.door li{font-weight:300;font-size:16px;line-height:1.35;color:var(--paper);padding:.2rem 0}
.program{display:block;font-size:13.5px;color:var(--second);margin-top:.15rem}
@media (min-width:900px){.doors{grid-template-columns:repeat(4,1fr);gap:2rem}.door li{font-size:18px}}
.speak-proof{margin:2.4rem 0}
.panel-photo img{width:100%;height:auto}

/* quotes */
.quote{margin:0}
.quote blockquote p{font-weight:300;font-size:clamp(21px,2.4vw,27px);line-height:1.45;color:var(--paper);max-width:none}
.quote figcaption{margin-top:.9rem;display:grid;gap:.15rem;font-weight:300;font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;line-height:1.6}
.who{color:var(--paper)}
.org{color:var(--second)}
.big-quote{max-width:58rem}

/* book */
.book{border-top:1px solid var(--mint)}
.book-grid{display:grid;gap:1.6rem}

.status{color:var(--mint);font-weight:400;margin-bottom:1rem}
.book-body{margin-bottom:1.6rem}
@media (min-width:900px){.book-grid{grid-template-columns:240px 1fr;gap:4rem;align-items:start}}

/* advisory */
.advisory{background:var(--ink-2)}
.advisory-head{display:grid;grid-template-columns:84px 1fr;gap:1.1rem;align-items:start;margin-bottom:1.4rem}
.studio-inset img{width:100%;max-width:260px}
@media (min-width:900px){.advisory-head{grid-template-columns:180px 1fr;gap:3rem}}
.text-link{color:var(--mint);font-weight:400;text-underline-offset:4px;white-space:nowrap}
.rail-cue{display:none}
.rail .quote blockquote p{font-size:17px;line-height:1.55}
.tlabel{margin:2rem 0 .2rem}
/* desktop: grouped blocks, labels span the row */
@media (min-width:760px){
  .rail{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem 2.4rem;align-items:start}
  .rail .tlabel{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.2rem}
  .rail .quote blockquote p{font-size:clamp(17px,1.6vw,20px)}
}
/* phone: one horizontal rail, 85vw cards, snap, first card peeks the next, no script */
@media (max-width:759px){
  .rail-cue{display:block;font-weight:300;font-size:11px;text-transform:uppercase;letter-spacing:.34em;color:var(--mint);margin:.4rem 0 .8rem}
  .rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:.8rem;margin-right:-5vw;padding-right:5vw}
  .rail .tlabel{display:none}
  .rail .quote{flex:0 0 85vw;scroll-snap-align:start;background:var(--ink-3);padding:1.2rem}
  .rail .quote blockquote p{font-size:15.5px;line-height:1.55}
}

/* about */
.about-grid{display:grid;gap:1.6rem}
.cafe-plate{max-width:240px}
.about p{margin-bottom:1rem}
@media (min-width:900px){.about-grid{grid-template-columns:1fr minmax(0,380px);gap:5rem;align-items:start}.about-grid .cafe-plate{order:2;max-width:380px;margin-top:4rem}}

/* contact, footer */
.contact{background:var(--ink-2)}
.contact-row{display:grid;gap:.8rem;justify-items:start}
.contact-row h2{margin:0}
@media (min-width:900px){.contact-row{grid-template-columns:auto 1fr auto;align-items:center;gap:2rem}}
.site-footer{border-top:1px solid var(--line);padding:1.4rem 0;font-size:13px;color:var(--cap)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem}
.foot a{color:var(--paper);text-underline-offset:3px}
.foot-id{display:flex;flex-direction:column;gap:.25rem}
.foot-id p{margin:0}
.foot-mail{font-size:11px}
.foot-mail a{color:var(--cap)}

@media (max-width:899px){
  section{padding:2.2rem 0}
  .panel-photo{display:block}
}
@media (max-width:899px){
  section{padding:1.9rem 0}
  .hero-photo img,.stage-hero::after{height:52vh}
  .cover-doc{max-width:360px}
  .big-quote blockquote p{font-size:18px}
  .about-grid{display:block}
  .cafe-plate{float:right;width:120px;margin:0 0 .8rem 1.1rem}
  .cafe-plate .cap{display:none}
  .rest p{font-size:13.5px}
  .door li{font-size:15px}
}
/* rev 3.5: section entrances and current-section mark */
.context{font-weight:300;font-size:15px;color:var(--second);margin:-.4rem 0 1.2rem}
h2.eyebrow + .context{margin-top:-.4rem}
nav a[aria-current]{color:var(--mint)}
@media (min-width:900px){nav a[aria-current]:not(.cta){border-bottom:1px solid var(--mint);padding-bottom:4px}}
/* rev 3.6: wide statement hero band, native ratio, type on the ink below */
.stage-hero::after{display:none}
.hero-band{position:relative;max-width:1600px;margin:0 auto}
.hero-band .hero-photo img,.hero-photo img{width:100%;height:auto!important;object-fit:initial}
.hero-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,11,12,0) 60%,rgba(13,11,12,.42) 80%,rgba(13,11,12,.88) 96%,var(--ink) 100%);pointer-events:none}
.stage-copy{margin-top:0!important;padding:.8rem 0 1.2rem;display:grid;gap:.9rem}
.stage-right{display:grid;gap:1rem;justify-items:start}
.stage-right .hero-book{margin:0}
@media (min-width:900px){
  .stage-copy{grid-template-columns:1.4fr 1fr;align-items:end;gap:4rem;padding:1rem 0 1.8rem}
}
@media (min-width:900px){
  .hero-band::after{background:linear-gradient(180deg,rgba(13,11,12,0) 58%,rgba(13,11,12,.45) 78%,rgba(13,11,12,.9) 95%,var(--ink) 100%)}
  .stage-copy{position:relative;z-index:2;margin-top:-84px!important;padding:0 0 .9rem;grid-template-columns:1.7fr 1fr;gap:3rem}
  .press{padding-top:1.4rem}
}
@media (min-width:900px){
  .hero-band::after{background:linear-gradient(180deg,rgba(13,11,12,0) 56%,rgba(13,11,12,.48) 76%,rgba(13,11,12,.92) 93%,var(--ink) 100%)}
  /* the copy rises into the bottom fifth of the band, which is solid ink */
  .stage-copy{margin-top:calc(min(100vw,1600px) * -0.0857)!important}
}
@media (min-width:900px){
  .stage-copy{padding-bottom:.4rem}
  .press{padding-top:.6rem;border-top:0}
  .role{margin-top:.5rem}
  .fortune{margin-bottom:.4rem}
}
@media (min-width:900px){h1{font-size:clamp(40px,min(7vw,7.8vh),96px)}}

/* rev 3.7 */
/* press: cover at 340, text centred against it */
.press-grid{align-items:center}
@media (min-width:900px){.press-grid{grid-template-columns:1fr 340px}.cover-doc{width:360px;max-width:360px;margin-top:0}}
/* book: type only, one column */
.book-col{max-width:62ch}
/* talks: fifteen cells, three even columns, five full rows */
.doors{display:block;border-top:0;padding-top:0}
.talks{display:grid;grid-template-columns:1fr;gap:0 2.4rem;border-top:1px solid var(--line)}
.talk{display:grid;gap:.25rem;align-content:start;padding:1rem 0 1.1rem;border-bottom:1px solid var(--line)}
.door-label{font-weight:300;font-size:10.5px;text-transform:uppercase;letter-spacing:.34em;color:var(--mint);line-height:1.6}
.talk-title{font-weight:300;font-size:18px;line-height:1.35;color:var(--paper)}
@media (min-width:640px){.talks{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.talks{grid-template-columns:repeat(3,1fr)}.talk-title{font-size:20px}}
/* advisory: lede left, portrait plate right at 520 */
.advisory-head{grid-template-columns:1fr;gap:1.4rem}
.advisory-plate{max-width:300px}
@media (min-width:900px){
  .advisory-head{grid-template-columns:1fr 520px;gap:4rem;align-items:center;margin-bottom:2rem}
  .advisory-plate{order:2;max-width:520px;width:520px}
}
/* hero: full bleed to its native 2013 px, then centred */
.hero-band{max-width:2013px}
/* headline floor on desktop */
@media (min-width:900px){h1{font-size:clamp(56px,min(7vw,7.8vh),96px)}}

/* rev 3.8 */
/* press on desktop screens up to 1080 tall: copy starts at the top, cover at 300, so "On air" clears the fold */
@media (min-width:900px) and (max-height:1080px){
  .press-grid{align-items:start;grid-template-columns:1fr 300px}
  .cover-doc{width:300px;max-width:300px}
}
/* talks: intro beside a matted plate shown at its native 312 px, never upscaled */
.speak-head{display:grid;gap:1.4rem;margin-bottom:1.6rem}
@media (min-width:900px){
  .speak-head{grid-template-columns:1fr 312px;gap:4rem;align-items:end}
}
/* advisory: plate on one side, heading and lede on the other, quotes below in three balanced columns */
.advisory-cols{display:grid;gap:1.4rem;margin-bottom:1.4rem}
.advisory-body{min-width:0}
.advisory-plate{max-width:300px;order:0;width:auto}
@media (min-width:900px){
  .advisory-cols{grid-template-columns:minmax(0,520px) 1fr;gap:4rem;align-items:end;margin-bottom:1.6rem}
  .advisory-plate{max-width:520px;width:100%}
}
@media (min-width:760px){
  .advisory .rail{display:block;column-count:2;column-gap:2.4rem}
  .advisory .rail .quote{break-inside:avoid;margin:0 0 1.2rem}
  .advisory .rail .quote figcaption{margin-top:.5rem}
  .advisory .rail .tlabel{break-after:avoid;margin-top:0;padding-top:.9rem}
}
@media (min-width:1000px){
  .advisory .rail{column-count:3}
  .advisory .rail .quote blockquote p{font-size:18px}
}
/* about: two plates, mixed ratios, no captions */
.about-plates{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;max-width:420px}
.about-plates .plate{max-width:none;width:auto;float:none;margin:0}
.about-plates .carolina-plate{margin-top:2.4rem}
@media (max-width:759px){.about-grid{display:grid}}
@media (min-width:900px){
  .about-grid .about-plates{order:2;display:grid;grid-template-columns:1fr;gap:2rem;max-width:380px;margin-top:4rem}
  .about-plates .carolina-plate{margin-top:0;width:300px;justify-self:end}
}
.about-grid .about-plates .cafe-plate{order:0;margin-top:0}

/* rev 3.9: book copy */
.thesis{font-weight:300;font-size:clamp(24px,3vw,36px);line-height:1.3;color:var(--paper);border-left:2px solid var(--mint);padding-left:1.2rem;margin:0 0 2rem;max-width:30ch}
.speak-intro{max-width:62ch;margin:0 0 1rem}
.placeholder{display:inline-block;font-size:13px;color:var(--mint);border:1px solid var(--mint);padding:.5rem .8rem;margin:0 0 1.6rem}

/* rev 4.0: six photographs, one per section, zig-zag on a 12-column grid */
.plate-img img,.plate img{display:block;width:100%;height:auto}
.grid12{display:grid;gap:1.4rem}
/* phones and tablets: every plate full width of the measure, stacked in reading order */
@media (max-width:899px){
  .cover-doc,.advisory-plate,.cafe-plate,.carolina-plate{max-width:none!important;width:100%!important;float:none!important;margin:0!important}
  .about-grid{display:grid}
}
.contact-copy{display:grid;gap:.8rem;justify-items:start}
.contact-copy h2{margin:0}
@media (min-width:900px){
  .grid12{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:2rem;row-gap:0}
  /* speaking: plate left, cols 1 to 4, beside the intro */
  .speak-head{align-items:start;margin-bottom:2rem}
  .speak-copy{grid-column:1/-1;grid-row:1}
  /* advisory: copy left, plate right, cols 8 to 12 */
  .advisory-cols{gap:0 2rem;align-items:end;margin-bottom:2rem}
  .advisory-body{grid-column:1/8;grid-row:1}
  .advisory-plate{grid-column:8/13;grid-row:1;width:100%;max-width:480px;justify-self:end;position:static}
  /* about: heading over the copy, cafe plate left, cols 1 to 4, top-aligned with paragraph one */
  .about-grid{align-items:start}
  .about-head{grid-column:5/13;grid-row:1}
  .cafe-plate{grid-column:1/5;grid-row:2;width:100%;max-width:360px;margin:.45rem 0 0;order:0}
  .about-bio{grid-column:5/13;grid-row:2;max-width:64ch}
  /* contact: copy left, Carolina plate right, cols 8 to 12 */
  .contact-grid{align-items:end}
  .contact-copy{grid-column:1/8;grid-row:1;padding-bottom:.4rem}
  .carolina-plate{grid-column:8/13;grid-row:1;width:100%;max-width:480px;justify-self:end}
}
/* book: type only, one column */
.spine{display:grid;gap:.15rem;font-weight:300;font-size:clamp(18px,1.6vw,22px);text-transform:uppercase;letter-spacing:.08em;color:var(--paper);margin:0 0 1.6rem}
.book-date{color:var(--mint);font-weight:400;margin:0 0 1.4rem}
@media (min-width:900px){.about-grid .cafe-plate{max-width:360px;margin-top:.45rem}}
.rest .boards{border-top:1px solid var(--line);padding-top:.6rem;margin-top:.8rem}

/* rev 4.1: consolidated pass */
/* hero: tagline then role, never mint, never above 12px */
.tagline{font-weight:300;font-size:12px;letter-spacing:.18em;color:rgba(247,244,240,.78);margin-top:.8rem}
.stage-copy .role,.role{font-weight:300;font-size:11px;text-transform:none;letter-spacing:.34em;color:rgba(247,244,240,.62);margin-top:.45rem}
/* press: broadcast credits first, the print credit below a hairline */
.press .seen{display:block;margin:0 0 .35rem}
.press .seen-list{display:block;font-size:16px;line-height:1.6}
.press-print{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.4rem;align-items:end}
.press-print .cover-doc{width:300px!important;max-width:300px!important;margin:0!important}
.press .fortune{font-size:12px;line-height:1.6;color:var(--second);margin:0;max-width:60ch}
@media (min-width:900px){
  .press-print .cover-doc{grid-column:9/13;grid-row:1;justify-self:end}
  .press .fortune{grid-column:1/9;grid-row:1}
}
/* advisory and contact plates at 480: cols 7 to 12, copy cols 1 to 6 */
@media (min-width:900px){
  .advisory-body{grid-column:1/7}
  .advisory-plate{grid-column:7/13;max-width:480px}
  .contact-copy{grid-column:1/7}
  .carolina-plate{grid-column:7/13;max-width:480px}
}
/* book: spine in three ruled lines, date small and muted */
.spine{display:block;font-weight:300;font-size:12.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--paper);margin:0 0 1.2rem;max-width:34ch}
.spine span{display:block;padding:.55rem 0;border-top:1px solid var(--line)}
.spine span:last-child{border-bottom:1px solid var(--line)}
.book-date{font-weight:300;font-size:13px;color:var(--second);margin:0 0 1.4rem}
@media (min-width:900px){
  .press-print .cover-doc{grid-column:10/13}
  .press .fortune{grid-column:5/10;justify-self:end;text-align:right;max-width:44ch}
}
.spine{max-width:440px}

/* rev 4.2: readability */
body{font-size:18px;line-height:1.7}
/* advisory ends at its own content */
.advisory-cols{margin-bottom:0}
/* testimonials: own section, featured quote, then ten in at most two columns */
.testimonials{background:var(--ink-2)}
.tq{margin:0 0 40px;break-inside:avoid}
.tq blockquote p{font-weight:300;font-size:20px;line-height:1.5;color:var(--paper);margin:0}
.tq figcaption{margin-top:16px;font-weight:300;font-size:11px;text-transform:uppercase;letter-spacing:.14em;line-height:1.6;color:var(--cap)}
.tq-featured{max-width:34ch;margin:1.4rem 0 56px}
.tq-featured blockquote p{font-size:30px;line-height:1.35}
@media (max-width:759px){.tq-featured blockquote p{font-size:20px;line-height:1.5}.tq-featured{margin-bottom:40px}}
@media (min-width:760px){.tq{margin-bottom:56px}.tq-featured{max-width:36rem}}
@media (min-width:1000px){.tq-list{column-count:2;column-gap:64px;column-rule:none}}
/* press band: one row, text and cover centred, 40px apart */
.press{padding:2rem 0}
.press > .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:40px}
.press .press-text{display:grid;gap:.6rem;justify-items:center}
.press .seen{margin:0}
.press .press-text .fortune{border-top:1px solid var(--line);padding-top:.8rem;text-align:center;justify-self:center;max-width:52ch}
.press .cover-doc{width:360px!important;max-width:360px!important;margin:0!important}
.press .cover-doc figcaption{text-align:left}
@media (min-width:900px){.press > .wrap{flex-direction:row;justify-content:center}}
/* press: the pair is centred across the band and top-aligned, so "On air" stays high */
.press{padding:1.6rem 0}
@media (min-width:900px){.press > .wrap{align-items:flex-start}}
.press .cover-doc figcaption{margin-top:.5rem;padding-top:.45rem}
.press .press-text{grid-template-columns:minmax(0,1fr)!important;grid-column:auto!important}
.press .press-text .fortune{grid-column:auto!important;grid-row:auto!important;justify-self:center}
.press{padding:1.2rem 0}.press .cover-doc figcaption{line-height:1.45;gap:.15rem;margin-top:.4rem;padding-top:.4rem}
@media (min-width:900px){.advisory-cols{align-items:center}}
.testimonials{background:var(--ink);border-top:1px solid var(--line)}

/* rev 4.3 */
/* testimonials: featured at about 26ch */
.tq-featured{max-width:26ch}
@media (min-width:760px){.tq-featured{max-width:26ch}}
/* press: text and cover centred against each other */
@media (min-width:900px){.press > .wrap{align-items:center}}
/* boards: hairline, small caps label, then the seats */
.rest .boards{border-top:1px solid var(--line);padding-top:.8rem;margin-top:.9rem}
.boards-label{font-weight:300;font-size:11px;text-transform:uppercase;letter-spacing:.34em;line-height:1.6;color:var(--mint);margin:0 0 .3rem}
/* accessibility */
:focus-visible{outline:2px solid #23e1b3;outline-offset:3px}
.menu-btn{min-height:44px;min-width:44px}
nav ul.open li{padding:0}
nav ul.open a{display:flex;align-items:center;min-height:44px}
html{scroll-behavior:auto}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.tq-featured,.tq-featured:where(*){max-width:none}
.tq-featured blockquote p{max-width:26ch}
.tq-featured figcaption{max-width:none}
/* rev 4.4: six quotes behind a native details */
.tq-more{margin:0}
.tq-more summary{cursor:pointer;font-weight:300;font-size:18px;line-height:1.7;color:var(--mint);text-decoration:underline;text-underline-offset:4px;list-style:none;display:inline-flex;align-items:center;min-height:44px;margin-bottom:24px}
.tq-more summary::-webkit-details-marker{display:none}
.tq-more summary::after{content:"+";margin-left:.5rem;text-decoration:none}
.tq-more[open] summary::after{content:"\2212"}

/* rev 4.5: testimonial attributions, the green tick */
.quote .who,.tq .who{color:#f7f4f0;font-weight:500}
.quote .who::before,.tq .who::before{content:"";display:inline-block;width:18px;height:1px;background:#23e1b3;vertical-align:middle;margin-right:10px;position:relative;top:-2px}
.quote .org,.tq .org{color:rgba(247,244,240,.62);font-weight:300}
.tq figcaption{display:grid;gap:.2rem}
.tq .who,.tq .org{display:block}

@media (max-width:759px){.quote .who::before,.tq .who::before{width:14px}}

/* rev 4.6 (brief "Rev 3.9", build 5) */
/* advisory copy, her register */
.adv-copy{font-size:18px;line-height:1.7;max-width:34rem;margin:0 0 1rem}
.adv-link{margin:.4rem 0 0}
/* footer: firm as operator, legal links on the same line */
.site-footer .foot{align-items:baseline}
.legal-links{font-size:11px;color:var(--cap);margin:0}
.legal-links a{color:var(--cap);display:inline-block;padding:.75rem 0;text-underline-offset:3px}
.legal-links a:hover{color:var(--paper)}
/* inquiry form: one column, 34rem, real labels, 44px targets */
.inquiry{display:grid;gap:1.1rem;max-width:34rem;width:100%;margin-top:.6rem}
.inquiry fieldset{border:0;padding:0;margin:0;display:grid;gap:.1rem}
.inquiry legend{padding:0;font-size:16px;color:var(--paper);margin-bottom:.2rem}
.inquiry .hint{font-size:13px;color:var(--second);margin:0 0 .3rem}
.inquiry .field{display:grid;gap:.35rem}
.inquiry label{font-size:16px;color:var(--paper)}
.inquiry .opt{color:var(--second);font-size:13px}
.inquiry input[type=text],.inquiry input[type=email],.inquiry textarea{font:300 18px/1.5 "Inter",sans-serif;color:var(--paper);background:transparent;border:0;border-bottom:1px solid rgba(247,244,240,.5);border-radius:0;padding:.55rem 0;min-height:44px;width:100%}
.inquiry textarea{resize:vertical}
.inquiry .check{display:flex;align-items:center;gap:.75rem;min-height:44px;font-size:16px;color:var(--paper);cursor:pointer}
.inquiry .check input{width:20px;height:20px;margin:0;accent-color:#23e1b3;flex:none}
.inquiry .field-error{color:#23e1b3;font-size:14px;margin:.3rem 0 0}
.inquiry button.btn{border:0;cursor:pointer;min-height:44px;justify-self:start;font-family:"Inter",sans-serif}
.sent{font-size:20px;line-height:1.5;color:var(--paper);max-width:34rem}
@media (min-width:900px){.contact-grid{align-items:start}}
/* legal pages: one column, 68ch, h1 44px, body 18/1.7 */
.legal{max-width:68ch;padding:3.5rem 0 4rem}
.legal h1{font-size:44px;line-height:1.1;margin:0 0 2rem}
.legal h2{font-size:20px;line-height:1.4;text-transform:none;letter-spacing:0;font-weight:400;margin:2.2rem 0 .6rem}
.legal p{font-size:18px;line-height:1.7;margin:0 0 1rem;color:var(--body)}
/* legal pages run no script, so the nav shows as a row on every width */
.static-nav nav ul{display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:0 1.2rem;padding:0;border:0;background:none}
.static-nav nav li{padding:0;border:0}
.static-nav nav a{display:flex;align-items:center;min-height:44px}
@media (max-width:899px){.static-nav .bar{height:auto;flex-wrap:wrap;padding:.5rem 0}.static-nav .brand img{height:38px}}
/* press: trim the dead air above the band, desktop only, one place */
@media (min-width:900px){.press{padding-top:0}}

/* rev 4.7 */
/* about body copy at the site body size */
#about .about-bio p{font-size:18px;line-height:1.7}
/* press: 25px less above the band, desktop only, one place: the hero copy sits 25px higher on the band's solid ink */
@media (min-width:900px){.stage-copy{margin-top:calc(min(100vw,1600px) * -0.0857 - 25px)!important}}


/* rev 4.8: speaking list, names in sentence case at body size */
.rest{max-width:60ch}
.rest p{font-size:18px;line-height:1.7;color:var(--body);text-transform:none;letter-spacing:0;margin:0 0 20px;max-width:60ch}
.rest .grp{font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.16em;color:rgba(247,244,240,.62);margin-right:.35rem}
.rest .boards p{margin-bottom:0}
.rest .boards .boards-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;line-height:1.6;margin-bottom:.3rem}


/* rev 4.9: speaking wall, verbatim from the brief */
.speak-wall{margin:40px 0 0}
.speak-wall figure,.speak-grid figure{margin:0;overflow:hidden;background:#171314}
.speak-wall img,.speak-grid img{display:block;width:100%;height:auto;object-fit:cover}
.speak-wall img{aspect-ratio:233/100;object-position:55% 10%}
.speak-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0 48px}
.speak-grid img{aspect-ratio:3/2;object-position:50% 30%}
.speak-grid figure:nth-child(1) img{object-position:50% 0%}
.speak-grid figure:nth-child(6) img{object-position:10% 0%}
@media (min-width:760px){.speak-grid{grid-template-columns:repeat(6,1fr);gap:10px}.speak-wall{margin-top:48px}}
@media (min-width:1100px){.speak-grid{grid-template-columns:repeat(6,1fr);gap:10px}}
/* with the lead held back, the grid takes the lead's top margin */
.speak-grid.no-lead{margin-top:40px}
/* the list underneath, quieter */
.rest p{font-size:16px;line-height:1.65}
.rest p{break-inside:avoid}
@media (min-width:1100px){
  .rest{columns:2;column-gap:56px;max-width:none}
  .rest .boards{column-span:all;margin-top:28px}
}

/* On air row: align to the page margin, cover right. 2026-11-12 */
.press{padding:40px 0}
.press .wrap{justify-content:space-between;align-items:flex-start}
.press .press-text{display:grid;justify-items:start;text-align:left;max-width:660px;padding-top:8px}
.press .press-text .fortune{text-align:left;justify-self:start;margin-left:0}

/* five cells, six tracks: three across then two at half width, no empty slot */
@media (min-width:760px){.speak-grid figure{grid-column:span 2}}

/* hero aside: the book line and CTA sit on a hairline, right-aligned, so they
   read as an intentional marginal note rather than text floating in the band */
.stage-right{justify-items:end;text-align:right;border-top:1px solid rgba(247,244,240,.28);padding-top:.85rem;gap:.7rem}
.stage-right .hero-book{margin:0;max-width:34ch;line-height:1.5}
.stage-right .btn{margin-top:.15rem}
@media (max-width:759px){
  .stage-right{justify-items:start;text-align:left;border-top:1px solid rgba(247,244,240,.22);padding-top:.7rem}
  .stage-right .hero-book{max-width:none}
}



/* cover plate: the artwork is dark navy on a near-black page, so it needs a
   paper edge to exist at all. Seated on a warm-white card, like a proof copy
   laid on a table. No tilt, no gloss, no border radius. */
.book-plate{display:block;width:clamp(104px,8.6vw,148px);line-height:0;
  background:#f7f4f0;padding:7px;
  box-shadow:0 26px 60px rgba(0,0,0,.62),0 2px 6px rgba(0,0,0,.45)}
.book-plate img{width:100%;height:auto;display:block}
.stage-right{gap:.85rem}
.stage-right .hero-book{margin:0;font-size:13px}
@media (max-width:759px){.book-plate{width:100px;padding:5px}}

/* hero corner, 2026-11-12: the cover sits beside the book line and the button,
   its bottom edge on the button's baseline, sized to fill the right column so no
   black is left under it. Card, padding and shadow unchanged. No crop, no tilt. */
.stage-right{grid-template-columns:1fr auto;grid-template-rows:1fr auto auto;column-gap:1.25rem;align-items:end}
.stage-right .book-plate{grid-column:2;grid-row:1 / 4;align-self:end}
.stage-right .hero-book{grid-column:1;grid-row:2}
.stage-right .btn{grid-column:1;grid-row:3;justify-self:end}
.stage-right{container-type:inline-size}
.stage-right .btn{white-space:nowrap}
/* the cover takes whatever the column leaves after the button and a gap, so the button never wraps */
@media (min-width:760px){.book-plate{width:clamp(100px,calc(100cqw - 236px),200px)}}
@media (max-width:759px){
  .stage-right .btn{justify-self:start}
  .book-plate{width:clamp(96px,calc(100cqw - 233px),150px);padding:5px}
}
/* very narrow phones: no room for the cover beside the button, so it stacks above as before */
@media (max-width:379px){
  .stage-right{grid-template-columns:1fr;grid-template-rows:auto}
  .stage-right .book-plate,.stage-right .hero-book,.stage-right .btn{grid-column:1;grid-row:auto}
  .book-plate{width:100px}
}
/* Press band balance, 2026-11-12: smaller cover, larger On air list, columns centred */
@media (min-width:900px){
.press > .wrap{align-items:center;justify-content:center;gap:56px}
.press .press-text{max-width:560px;padding-top:0;gap:.7rem}
.press .seen-list{font-size:clamp(22px,2vw,28px);line-height:1.3;font-weight:600;letter-spacing:-.01em}
.press .seen-list li+li{margin-top:.25rem}
.press .press-text .fortune{font-size:14px;max-width:46ch}
.press .cover-doc{width:220px!important;max-width:220px!important}
}
@media (max-width:899px){.press .cover-doc{width:min(240px,100%)!important;max-width:100%!important}}
@media (min-width:900px){
.press .seen-list{display:block!important}
.press .seen-list li{display:block!important}
.press .seen-list li::before,.press .seen-list li::after{content:none!important}
.press .cover-doc{width:240px!important;max-width:240px!important}
}
