:root {
  --ink:#14201b; --muted:#5e6c65; --paper:#eef1eb; --cream:#fbfcf8;
  --sage:#cfdfd5; --green:#123b2d; --green2:#315f4e; --line:#c9d1ca;
  --clay:#98583d; --serif:"Newsreader",Georgia,serif; --sans:"DM Sans",Arial,sans-serif; --mono:"DM Mono",monospace;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:84px }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 var(--sans) }
a { color:inherit }
img { max-width:100% }
.skip-link { position:absolute; left:-9999px }
.skip-link:focus { left:1rem; top:1rem; z-index:30; background:#fff; padding:.75rem }
.nav-wrap { position:sticky; top:0; z-index:20; background:rgba(238,241,235,.96); backdrop-filter:blur(12px); border-bottom:1px solid rgba(20,32,27,.1) }
.nav { max-width:1240px; margin:auto; min-height:74px; padding:12px 24px; display:flex; align-items:center; gap:22px }
.wordmark { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:600; white-space:nowrap }
.mark { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--green); color:#fff; font:500 12px var(--serif); flex:0 0 auto }
.nav-links { margin-left:auto; display:flex; align-items:center; gap:21px }
.nav-links a { text-decoration:none; font-size:12.5px; white-space:nowrap }
.nav-links a:hover,.nav-links a.active { color:var(--clay) }
.nav-links .brand-link-3cc { display:flex; align-items:center; padding:2px 0 }
.brand-link-3cc img { display:block; width:72px; height:28px; object-fit:contain; filter:brightness(0) saturate(100%) }
.nav-actions { display:flex; align-items:center; gap:10px }
.nav-cta { border:1px solid var(--ink); border-radius:99px; padding:8px 14px; text-decoration:none; font-size:13px; font-weight:600 }
.menu-toggle { display:none; width:42px; height:42px; padding:10px; border:1px solid var(--line); border-radius:50%; background:transparent }
.menu-toggle span { display:block; height:1px; background:var(--ink); margin:5px 0 }
.hero { max-width:1200px; margin:auto; padding:84px 24px 92px; display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr); align-items:center; gap:68px }
.eyebrow,.kicker,.section-index,.resource-meta,.offering-type { text-transform:uppercase; letter-spacing:.15em; font-size:11px; font-weight:600 }
.eyebrow { color:var(--green); display:flex; align-items:center; gap:9px }
.eyebrow span { width:7px; height:7px; border-radius:50%; background:var(--clay) }
h1,h2,h3 { font-family:var(--serif); font-weight:500; line-height:1.02; margin:0 }
h1 { font-size:clamp(58px,8.4vw,108px); letter-spacing:-.045em; margin:28px 0 }
h1 em { color:var(--clay); font-weight:500 }
.hero-copy { max-width:760px; color:#405049; font-size:clamp(19px,2vw,24px) }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:34px }
.button { display:inline-block; border:1px solid var(--ink); border-radius:99px; padding:13px 20px; text-decoration:none; font:600 14px var(--sans); cursor:pointer }
.primary { background:var(--green); color:#fff; border-color:var(--green) }
.secondary { background:transparent; color:var(--ink) }
.hero-portrait { margin:0; background:var(--green2); padding:12px; transform:rotate(1deg); box-shadow:18px 20px 0 var(--green) }
.hero-portrait img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; filter:saturate(.85) contrast(1.03) }
.hero-portrait figcaption { padding:18px 12px 10px; color:#fff; display:flex; flex-direction:column; gap:4px }
.hero-portrait figcaption strong { font:500 21px var(--serif) }
.hero-portrait figcaption span { font-size:11px; color:#cbd8d1 }
.kicker { color:var(--clay); margin:0 0 15px }
.experience { background:var(--green); color:#fff; padding:82px max(24px,calc((100vw - 1200px)/2)) }
.experience .kicker { color:#bfd2c8 }
.section-heading { display:grid; grid-template-columns:2fr 1fr; align-items:end; gap:50px }
.section-heading.compact { display:block }
.section-heading h2,.perspective h2,.about h2,.advisory h2,.writing h2,.contact h2,.toolkit-teaser h2,.method h2,.toolkit-cta h2 { font-size:clamp(40px,5vw,68px); letter-spacing:-.03em }
.section-heading>p { color:var(--muted); margin:0 }
.experience-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:46px; border-top:1px solid rgba(255,255,255,.22); border-left:1px solid rgba(255,255,255,.22) }
.experience-grid article { min-height:260px; padding:24px; border-right:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22) }
.experience-grid span { color:#bfd2c8; font:11px var(--mono) }
.experience-grid h3 { margin:48px 0 20px; font-size:28px }
.experience-grid p { color:#cbd8d1; font-size:13px }
.perspective,.about,.advisory { max-width:1200px; margin:auto; padding:110px 24px; display:grid; grid-template-columns:.55fr 2fr; gap:60px }
.section-index { color:var(--muted) }
.copy-columns { display:grid; grid-template-columns:1fr 1fr; gap:38px; margin-top:42px }
.copy-columns p,.bio-copy p,.advisory-lede { font-size:18px; color:#405049; margin:0 }
.pull-quote { margin:0; padding:90px max(24px,calc((100vw - 1200px)/2)); background:var(--green); color:#fff }
.pull-quote p { max-width:1050px; margin:0; font:500 clamp(42px,6vw,78px)/1.03 var(--serif); letter-spacing:-.035em }
.pull-quote footer { display:block; margin-top:30px; padding:0; background:transparent; color:#bfd2c8; font:600 12px var(--sans); letter-spacing:.12em; text-transform:uppercase }
.offerings,.library,.writing { max-width:1200px; margin:auto; padding:105px 24px }
.speaking-intro { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:52px; align-items:start; margin-bottom:48px }
.speaking-copy { padding-top:2px }
.speaking-copy h2 { font-size:clamp(40px,5vw,68px); letter-spacing:-.03em }
.speaking-copy>p:last-child { color:var(--muted); margin:28px 0 0; max-width:430px; font-size:17px }
.speaking-photo { margin:0 }
.speaking-photo img { display:block; width:100%; height:430px; object-fit:cover }
.speaking-photo figcaption { font-size:13px; color:var(--muted); margin-top:12px; max-width:680px }
.offering-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-left:1px solid var(--line); border-top:1px solid var(--line) }
.offering-card { min-height:570px; padding:30px; display:flex; flex-direction:column; background:var(--cream); border-right:1px solid var(--line); border-bottom:1px solid var(--line) }
.offering-card.featured { background:var(--sage) }
.offering-type { color:var(--clay); margin:0 0 52px }
.offering-card h3 { font-size:clamp(40px,4vw,58px) }
.offering-card h4 { margin:26px 0 4px; font-size:12px; text-transform:uppercase; letter-spacing:.12em }
.offering-card p:not(.offering-type),.offering-card li { color:var(--muted) }
.offering-card ul { padding-left:18px; margin-top:8px }
.offering-card .formats { margin-top:auto; padding-top:20px; font-size:12px; font-weight:600 }
.offering-card a { margin-top:18px; padding-top:16px; border-top:1px solid; text-decoration:none; font-size:13px; font-weight:600; display:flex; justify-content:space-between }
.advisory { border-top:1px solid var(--line); border-bottom:1px solid var(--line) }
.advisory-lede { max-width:820px; margin-top:30px }
.advisory-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:46px; border-top:1px solid var(--line); border-left:1px solid var(--line) }
.advisory-grid article { padding:28px; min-height:260px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--cream) }
.advisory-grid article:nth-child(2) { background:var(--sage) }
.advisory-grid h3 { font-size:34px }
.advisory-grid p { color:var(--muted) }
.about { display:block; background:var(--cream); padding-top:84px; padding-bottom:84px }
.about .section-index { margin-bottom:18px }
.about-copy { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); column-gap:64px; align-items:start }
.about-copy>.kicker { grid-column:1 }
.about-copy>h2 { grid-column:1; max-width:470px }
.bio-copy { grid-column:2; grid-row:1 / span 3; display:grid; grid-template-columns:1fr 1fr; gap:38px; margin:0 }
.bio-copy>div { display:flex; flex-direction:column; gap:24px }
.about-copy>.text-link { grid-column:1; justify-self:start }
.text-link { display:inline-flex; gap:22px; text-decoration:none; border-bottom:1px solid; padding:5px 0; font-weight:600; margin-top:36px }
.social-link { align-items:center; gap:10px }
.social-link svg { width:22px; height:22px; fill:currentColor }
.writing { border-top:1px solid var(--line) }
.writing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:42px; border-top:1px solid var(--line); border-left:1px solid var(--line) }
.writing-grid article { min-height:300px; padding:30px; background:var(--cream); border-right:1px solid var(--line); border-bottom:1px solid var(--line) }
.writing-grid .book-note { background:var(--sage) }
.writing-label { margin:0 0 50px; color:var(--clay); font-size:11px; font-weight:600; letter-spacing:.15em; text-transform:uppercase }
.writing-grid h3 { font-size:clamp(32px,3.6vw,48px) }
.writing-grid article>p:last-child,.writing-grid article>h3+p { color:var(--muted) }
.toolkit-teaser { padding:100px max(24px,calc((100vw - 1200px)/2)); background:var(--sage); display:grid; grid-template-columns:1.25fr 1fr; gap:80px; align-items:end }
.toolkit-teaser>div>p:not(.kicker) { color:var(--muted); font-size:18px; max-width:670px; margin-bottom:28px }
.teaser-list { border-top:1px solid rgba(20,32,27,.25) }
.teaser-list p { margin:0; padding:22px 0; border-bottom:1px solid rgba(20,32,27,.25); font:500 22px var(--serif) }
.teaser-list span { display:inline-block; width:45px; color:var(--clay); font:11px var(--mono) }
.contact { background:var(--green); color:#fff; padding:100px max(24px,calc((100vw - 1200px)/2)); display:grid; grid-template-columns:.78fr 1.22fr; gap:70px }
.contact .kicker { color:#bcd2c6 }
.contact-intro>p:not(.kicker) { color:#c3d0ca }
.contact-intro>a { display:inline-block; margin-top:25px; color:#fff }
.form-frame { background:var(--cream); color:var(--ink); padding:34px }
.inquiry-form { display:grid; gap:22px }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px }
.inquiry-form label,.inquiry-form legend { display:grid; gap:8px; font-size:12px; font-weight:600; letter-spacing:.06em }
.inquiry-form input:not([type=checkbox]),.inquiry-form textarea { width:100%; border:1px solid var(--line); border-radius:0; background:#fff; padding:13px 14px; color:var(--ink); font:16px var(--sans) }
.inquiry-form textarea { resize:vertical; min-height:140px }
.inquiry-form fieldset { margin:0; padding:0; border:0 }
.check-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px }
.check-grid label { display:flex; align-items:flex-start; gap:8px; padding:12px; border:1px solid var(--line); background:#fff; font-size:13px; font-weight:500; letter-spacing:0 }
.check-grid input { margin-top:3px; accent-color:var(--green) }
.inquiry-form .button { justify-self:start }
.form-status { margin:0; min-height:22px; color:var(--green); font-size:13px }
.response-frame { display:none }
footer { background:var(--ink); color:#fff; padding:45px max(24px,calc((100vw - 1200px)/2)); display:grid; grid-template-columns:1fr 2fr auto; gap:38px; align-items:start }
footer>div { display:flex; gap:12px; align-items:center }
footer p { margin:0; color:#b8c2bd; font-size:12px }
.disclaimer { max-width:680px }
.toolkit-hero { max-width:1200px; margin:auto; padding:100px 24px 72px }
.toolkit-hero h1 { margin-bottom:24px }
.toolkit-hero>p:last-child { max-width:760px; color:var(--muted); font-size:21px }
.toolkit-page .library { padding-top:60px }
.filters { display:flex; gap:8px; overflow:auto; padding:46px 0 24px }
.filter { white-space:nowrap; border:1px solid var(--line); border-radius:99px; background:transparent; padding:9px 14px; font:500 13px var(--sans); cursor:pointer }
.filter.active { background:var(--ink); color:#fff; border-color:var(--ink) }
.filter span { opacity:.68; margin-left:5px }
.resource-grid { display:grid; grid-template-columns:repeat(2,1fr); border-left:1px solid var(--line); border-top:1px solid var(--line) }
.resource-card { min-height:370px; padding:25px; display:flex; flex-direction:column; justify-content:space-between; background:var(--cream); border-right:1px solid var(--line); border-bottom:1px solid var(--line) }
.resource-card.featured { background:var(--sage) }
.resource-meta { display:flex; justify-content:space-between; color:var(--muted); margin:0 }
.number { display:block; color:var(--clay); font:500 15px var(--serif); margin-bottom:16px }
.resource-card h3 { font-size:clamp(34px,3.4vw,46px); max-width:500px }
.resource-card div p { color:var(--muted); max-width:480px }
.card-action { padding:15px 0 0; border:0; border-top:1px solid rgba(20,32,27,.24); background:none; color:var(--ink); font:600 13px var(--sans); display:flex; justify-content:space-between; text-decoration:none; cursor:pointer }
.resource-card[hidden] { display:none }
.affiliation-footnote { color:var(--muted); font-size:12px; max-width:760px; margin-top:20px }
.method { background:var(--sage); padding:100px max(24px,calc((100vw - 1200px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:80px }
.method ol { list-style:none; padding:0; margin:0 }
.method li { display:grid; grid-template-columns:50px 1fr; border-top:1px solid rgba(20,32,27,.2); padding:22px 0 }
.method li span { font:500 12px var(--mono); color:var(--clay) }
.method li p { margin:0; color:var(--muted) }
.method li strong { color:var(--ink) }
.toolkit-cta { max-width:1200px; margin:auto; padding:100px 24px }
.toolkit-cta>p:not(.kicker) { max-width:700px; color:var(--muted); font-size:18px; margin-bottom:28px }
dialog { width:min(760px,calc(100% - 28px)); max-height:90vh; border:0; border-radius:16px; padding:34px; background:var(--cream); color:var(--ink); box-shadow:0 24px 80px rgba(0,0,0,.26) }
dialog::backdrop { background:rgba(10,24,18,.72); backdrop-filter:blur(4px) }
.dialog-close { position:absolute; right:17px; top:12px; border:0; background:none; font-size:30px; cursor:pointer }
.dialog-meta { font:500 11px var(--mono); text-transform:uppercase; letter-spacing:.12em; color:var(--clay) }
dialog h2 { font-size:46px }
.dialog-intro { color:var(--muted) }
.prompt-box { background:#ebece6; border-radius:8px; padding:20px; white-space:pre-wrap; font:13px/1.55 var(--mono); max-height:350px; overflow:auto }
.human-step { border-left:3px solid var(--clay); padding-left:14px }
.resource-disclaimer { font-size:11px; color:var(--muted) }
.dialog-actions { display:flex; gap:10px; margin-top:20px }
.copy-status { font-size:13px; color:var(--green); min-height:20px }
@media(max-width:1060px) {
  .nav-links { display:none; position:absolute; left:0; right:0; top:73px; padding:18px 24px 28px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:0 }
  .nav-links.open { display:flex }
  .nav-links a { width:100%; padding:13px 0; border-bottom:1px solid var(--line); font-size:15px }
  .nav-links .brand-link-3cc { padding:10px 0 }
  .brand-link-3cc img { width:92px; height:34px }
  .nav-actions { margin-left:auto }
  .menu-toggle { display:block }
  .experience-grid { grid-template-columns:1fr 1fr }
}
@media(max-width:850px) {
  .hero { grid-template-columns:1fr }
  .hero-portrait { max-width:410px }
  .perspective,.advisory { grid-template-columns:1fr; gap:20px }
  .about-copy { grid-template-columns:1fr }
  .about-copy>.kicker,.about-copy>h2,.about-copy>.text-link,.bio-copy { grid-column:1; grid-row:auto }
  .bio-copy { margin-top:34px }
  .section-heading,.method,.contact,.toolkit-teaser { grid-template-columns:1fr }
  .speaking-intro { grid-template-columns:1fr; gap:28px }
  .speaking-copy { grid-row:1 }
  .offering-grid { grid-template-columns:1fr }
  .bio-copy { grid-template-columns:1fr }
}
@media(max-width:620px) {
  .nav { padding:12px 16px }
  .wordmark>span:last-child { display:none }
  .nav-cta { padding:8px 12px }
  .hero { padding:56px 20px 68px; gap:48px }
  h1 { font-size:55px }
  .hero-copy { font-size:18px }
  .hero-actions .button { width:100%; text-align:center }
  .experience,.pull-quote { padding:68px 20px }
  .experience-grid { grid-template-columns:1fr }
  .experience-grid article { min-height:220px }
  .perspective,.about,.advisory,.offerings,.library,.writing,.toolkit-cta { padding:72px 20px }
  .copy-columns,.resource-grid,.advisory-grid,.writing-grid { grid-template-columns:1fr }
  .speaking-photo img { height:280px }
  .offering-card { min-height:0 }
  .resource-card { min-height:340px }
  .method,.contact,.toolkit-teaser { padding:68px 20px; gap:42px }
  .form-frame { padding:22px 18px }
  .form-row,.check-grid { grid-template-columns:1fr }
  footer { grid-template-columns:1fr; gap:24px }
  .toolkit-hero { padding:66px 20px 30px }
  dialog { padding:28px 20px }
  dialog h2 { font-size:36px }
}
@media print { .nav-wrap,.hero-actions,.filters,.card-action,dialog { display:none!important } }
