/* Shared reading rhythm. Component layouts still own their columns and artwork. */
:root {
  --text-body:1.0625rem;
  --text-label:.9375rem;
  --text-meta:.8125rem;
  --space-section:clamp(3.5rem,6vw,5.5rem);
  --space-heading:1.5rem;
  --space-group:2rem;
  --space-column:clamp(2rem,5vw,4.5rem);
  --gutter:clamp(1.25rem,3.35vw,3rem);
  --card-inset:2rem;
  --control-line:#72897c;
}
body { font-kerning:normal; text-rendering:optimizeLegibility; font-size:var(--text-body); }
.shell { width:min(1240px,calc(100% - var(--gutter)*2)); }
p,li,label,input,textarea,select,summary { letter-spacing:normal; }
h1,h2,h3,h4 { text-wrap:balance; }
.hero-message h1 { letter-spacing:-.045em; line-height:1.1; }
.section-heading h2,.plan-heading h2,.proof-heading h2,.path-heading h2,.faq h2,.session h2 {
  font-size:clamp(2.25rem,4.2vw,3.5rem); letter-spacing:-.035em; line-height:1.13; font-weight:750;
  margin-top:1rem;
}
.section,.roadmap-plan { padding-block:var(--space-section); }
.proof-section,.engagement-path,.session { padding-top:var(--space-section); }
.section-heading { margin-bottom:var(--space-group); }
.section-heading>p:last-child:not(.eyebrow),.hero-summary,.plan-heading>p:last-child,.path-heading>p:last-child {
  font-size:clamp(1rem,1.5vw,1.125rem); line-height:1.65; max-width:65ch;
}
.hero-summary,.section-heading>p:last-child:not(.eyebrow) { margin-top:var(--space-heading); }
.path-heading>p:last-child { margin-inline:auto; }
.eyebrow,.hero-message>.eyebrow,.proof-heading>.eyebrow,.form-heading .eyebrow,
.proof-category,.proof-contribution h4,.path-kicker,.path-output-label { font-size:var(--text-meta); line-height:1.5; letter-spacing:.1em; }
.team-grid,.session-grid,.faq { gap:var(--space-column); }
.founder-bio { padding:var(--card-inset); }
.founder-bio h3 { font-size:clamp(1.5rem,2.3vw,1.875rem); line-height:1.2; letter-spacing:-.03em; margin-top:0; }
.founder-bio>p:not(.eyebrow),.fit-list div>span,.faq>div>p:not(.eyebrow),.faq-list details>p,
.session-copy>p:not(.eyebrow),.session-agenda li { font-size:var(--text-body); line-height:1.65; }
.founder-bio>p:not(.eyebrow) { margin-top:1rem; max-width:46ch; }
.founder-contact { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; }
.founder-contact p { display:grid; gap:.25rem; font-size:var(--text-label); line-height:1.5; }
.founder-contact strong { color:var(--ink); }
.founder-contact .text-link { margin:0; }
.founder-bio .text-link,.fit>.text-link,.initiative-panel .text-link,.session-booking,
.faq-list summary,.form-button { font-size:var(--text-body); line-height:1.5; }
/* Shared by all six initiative panels; keep the existing text scale. */
.initiative-panel .text-link { font-size:var(--text-label); min-height:2.75rem; }
.initiative-panel .text-link>span { font-size:1.1875rem; }
.fit-list { margin-top:1.5rem; }
.fit-list li { gap:1rem; padding-block:1.5rem; }
.fit-list strong { font-size:1.0625rem; line-height:1.5; letter-spacing:-.01em; }
.fit-note { max-width:min(100%,441px); font-size:var(--text-label); line-height:1.65; padding-top:1.25rem; }
.fit>.text-link { margin-top:1.5rem; }
.faq-list summary { padding-block:1.25rem; }
.faq-list details>p { padding:0 2rem 1.5rem 0; }
.session-copy { padding-top:0; }
.session-copy>p:not(.eyebrow) { max-width:43ch; margin-top:1.5rem; }
.session-agenda { margin-top:2rem; }
.session-agenda li { gap:1rem; padding-block:1rem; }
.session-agenda li span { font-size:var(--text-meta); line-height:1.7; }
.request-card { padding:var(--card-inset); }
.request-card>.form-heading>h3 { min-width:0; font-size:clamp(1.5rem,2.2vw,1.875rem); line-height:1.25; letter-spacing:-.025em; margin:0; }
.connection-note { font-size:var(--text-body); line-height:1.65; max-width:48ch; margin-top:1rem; }
.form-heading>span,.required-label,.field-note,.required-note,.form-privacy,
.optional-fields summary>span:not(.expand-icon),.footer-inner>p { font-size:var(--text-meta); line-height:1.6; }
.form-heading { align-items:baseline; flex-wrap:wrap; gap:.5rem 1rem; }
#lead-form,#request-draft { margin-top:1.5rem; }
.form-step>label,.field-pair label,.optional-content>label,.focus-areas legend,.focus-areas label,
.form-step>.consent,.optional-fields summary,.review-label { font-size:var(--text-label); line-height:1.5; }
.form-step input:not([type=checkbox]),.form-step textarea,.form-step select,
.form-step input::placeholder,.form-step textarea::placeholder { font-size:var(--text-body); line-height:1.5; }
.form-step input:not([type=checkbox]),.form-step select { min-height:3rem; }
.form-step textarea { min-height:9rem; }
.form-step>input,.field-pair { margin-bottom:1.25rem; }
.field-pair { gap:1rem; }
.field-note { margin-top:.5rem; margin-bottom:1.25rem; }
.optional-fields summary { min-height:3rem; flex-wrap:wrap; gap:.5rem; }
.focus-areas label { min-height:2rem; }
.form-privacy { margin-top:1.25rem; }
.form-privacy button { font-size:.875rem; }
.review-label { display:block; font-weight:800; margin-bottom:.5rem; }
#request-draft>p.review-note { font-size:var(--text-label); line-height:1.6; margin:0 0 1rem; }
.review-note strong,#sent-reply-email { overflow-wrap:anywhere; }
#draft-preview { display:block; width:100%; min-height:18rem; padding:1rem; resize:vertical; border:1px solid #a9bdb0; border-radius:6px; background:white; color:var(--ink); font:400 1rem/1.65 Manrope,sans-serif; }
.draft-actions { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; margin-top:.5rem; }
.draft-actions button,.back-button { font-size:var(--text-label); line-height:1.5; min-height:2.75rem; }
.form-status,.session-context { font-size:var(--text-label); line-height:1.6; overflow-wrap:anywhere; }
.form-status:empty { margin:0; }
#email-fallback { margin-top:1.5rem; border-top:1px solid var(--line); padding-top:1rem; font-size:var(--text-label); line-height:1.6; }
#email-fallback a { display:inline-block; color:var(--green); text-decoration:underline; text-underline-offset:4px; padding-block:.5rem; }
#request-success { margin-top:2rem; padding-block:1rem; }
#request-success .check-circle { width:2.5rem; height:2.5rem; margin-bottom:1rem; }
#request-success h4 { font-size:1.5rem; line-height:1.3; letter-spacing:-.02em; }
#request-success p { margin-top:.75rem; font-size:1rem; line-height:1.65; }
button:disabled { cursor:wait; opacity:.65; }
.hero-note,.hero-experience+.shell>.offer-facts dd,.initiative-chooser-heading p,
.initiative-choice-copy>span,.workflow-inputs>span,.workflow-output>div>span,
.plan-term-label,.plan-unsure,.plan-fee-levels>summary,.path-step-copy>span { font-size:var(--text-label); line-height:1.5; }
.workflow .workflow-label { font-size:var(--text-label)!important; }
.demo-caption,.demo-page-number,.proof-notes>p,.proof-notes>small,.path-fees>div>p,
.plan-scope-note,.plan-fee-hint,.footer-inner>div { font-size:var(--text-meta); line-height:1.6; }
.path-title,.path-heading h2,.path-step-copy strong { font-family:var(--font); font-weight:750; letter-spacing:-.025em; }
.path-step-number { font-family:var(--font); font-size:.875rem; font-weight:600; font-variant-numeric:tabular-nums; }
.demo-heading h2 { letter-spacing:-.035em; }
.plan-outputs h3,.path-outputs h4,.proof-summary h3,.initiative-panel h3 { letter-spacing:-.025em; }
.path-duration,.plan-term-value,.proof-metric { font-variant-numeric:lining-nums tabular-nums; }
@media(max-width:760px) {
  .team-grid,.session-grid,.faq { gap:2rem; }
  .founder-bio,.request-card { padding:1.5rem; }
  .session { padding-bottom:3rem; }
.path-step-copy>span { font-size:.875rem; }
  .hero-message h1 { letter-spacing:-.04em; }
  .session-booking { max-width:none; }
  .faq-list details>p { padding-right:0; }
}
@media(max-width:400px) {
  .founder-bio,.request-card { padding:1.25rem; }
  .field-pair { grid-template-columns:1fr; gap:1.25rem; }
  .form-heading { align-items:flex-start; }
  .form-heading>span { margin-left:auto; }
  .founder-contact { align-items:flex-start; }
}

/* Optional video guidance: one overview, then only verified answer chapters. */
.faq-video-overview { display:inline-flex; align-items:center; gap:.75rem; width:fit-content; max-width:100%; min-height:2.75rem; margin-top:1.5rem; padding-block:.25rem; color:var(--green); font-size:.9375rem; line-height:1.5; font-weight:700; }
.faq-video-play { display:grid; place-items:center; flex:none; width:2.25rem; height:2.25rem; border:1px solid #c7ae74; border-radius:50%; background:#efe5ce; transition:background .2s; }
.faq-video-play svg { width:1rem; height:1rem; fill:currentColor; }
.faq-video-external { color:var(--mid); font-size:1.125rem; }
.faq-video-overview:hover .faq-video-play { background:var(--gold); }
.faq-video-overview>span:nth-child(2) { text-decoration:underline; text-decoration-color:#aebfb5; text-underline-offset:.3em; text-decoration-thickness:1px; }
.faq-video-chapter { display:flex; align-items:center; gap:.5rem; width:fit-content; max-width:100%; min-height:2.75rem; margin-top:-1rem; margin-bottom:1rem; padding-block:.5rem; color:var(--green); font-size:.875rem; line-height:1.5; font-weight:700; }
.faq-video-chapter svg { width:.875rem; height:.875rem; fill:currentColor; flex:none; }
.faq-video-chapter>span:first-of-type { text-decoration:underline; text-decoration-color:#aebfb5; text-underline-offset:.25em; }
.faq-video-chapter:hover,.faq-video-overview:hover { color:#276552; }

/* Explicit component rules prevent older, more specific microtype from winning. */
.trust-strip>.eyebrow,.initiative-panel .eyebrow,.scheduler-header .eyebrow {
  font-size:var(--text-meta); line-height:1.5; letter-spacing:.1em;
}
.trust-strip>.eyebrow { color:var(--muted); max-width:46rem; margin-inline:auto; }
.plan-output-number { color:var(--muted); }
.form-step input::placeholder,.form-step textarea::placeholder { color:var(--muted); opacity:1; }
.form-step input:not([type=checkbox]),.form-step textarea,.form-step select,#draft-preview {
  border-color:var(--control-line);
}
.form-step input:not([type=checkbox]):focus-visible,.form-step textarea:focus-visible,
.form-step select:focus-visible,#draft-preview:focus-visible { outline-color:var(--green); outline-offset:3px; }
.hero-action,.plan-action .button,.path-next,.demo-next { font-weight:700; }
.hero-action { font-size:1rem; background:var(--green); color:var(--white); transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s; }
.hero-action:hover,.hero-action:focus-visible { background:var(--gold); border-color:var(--gold); color:var(--green); }
.hero-action svg { color:var(--gold); transition:color .18s; }
.hero-action:hover svg,.hero-action:focus-visible svg { color:var(--green); }
.session-booking>span[aria-hidden="true"] { color:var(--white); }
.plan-action .button { font-size:var(--text-label); }
.demo-invitation,.demo-heading>div>p,.demo-caption a,.path-fees>div>p,
.footer-inner>div,.scheduler-footer a { font-size:.875rem; line-height:1.5; }
.footer-inner button { font-size:inherit; }
.demo-caption { flex-wrap:wrap; gap:.5rem 1rem; }
.demo-caption a { min-height:2.75rem; }
.demo-invitation { max-width:9rem; }
.initiative-choice-copy strong { font-size:var(--text-label); line-height:1.4; }
.initiative-choice-copy>span { font-size:.875rem; line-height:1.5; margin-top:.375rem; }
.initiative-tabs button { min-height:6rem; padding:1.25rem; }
.initiative-panel p:not(.eyebrow),.plan-outputs p,.path-outputs p,.path-phase-summary>p:last-child {
  font-size:var(--text-body); line-height:1.6;
}
.workflow-output strong { font-size:1.125rem; line-height:1.4; }
.path-fees dl>div { font-size:var(--text-label); }
.path-next { font-size:var(--text-label); }
.plan-level-grid label { border-color:var(--control-line); }
.proof-case { padding:var(--card-inset); border-color:#c3cec5; }
.proof-summary { min-height:0; }
.proof-summary h3,.plan-outputs h3,.path-outputs h4 { font-weight:750; line-height:1.3; }
.proof-notes>p { font-size:.625rem; line-height:1.65; }
.path-panel { padding:var(--card-inset) var(--card-inset) 0; }
.initiative-panel { padding:var(--card-inset); gap:var(--space-group); }
.faq-list summary { font-size:1.125rem; font-weight:700; min-height:4.5rem; }
.faq-list details>p { max-width:62ch; line-height:1.65; }
.faq>div>p:not(.eyebrow) { max-width:28ch; }
.team,.initiatives { padding-bottom:clamp(2rem,4vw,3rem); }
.roadmap-plan,.faq { padding-top:clamp(3rem,5.3vw,4rem); }
#privacy-dialog p:not(.eyebrow) { font-size:var(--text-body); line-height:1.65; }
#scheduler-dialog .scheduler-loading { font-size:var(--text-label); line-height:1.5; }
#scheduler-dialog .scheduler-footer p { font-size:.875rem; line-height:1.5; }
.scheduler-footer { gap:.5rem 1rem; }

/* Keep navigation readable instead of shrinking it to fit intermediate widths. */
.site-header .brand { width:clamp(11.25rem,16.5vw,12.5625rem); }
.header-inner { gap:2rem; }
#main-nav { gap:1.5rem; }
#main-nav>a:not(.button) { font-size:var(--text-label); font-weight:600; }
#main-nav>.button { font-size:var(--text-label); line-height:1.5; }
.site-header .button-small { font-size:var(--text-label); min-height:3rem; padding:.75rem 1.25rem; gap:1.25rem; font-weight:700; }
@media(max-width:950px) {
  .header-inner { height:4.5rem; }
  .menu-toggle { display:flex; align-items:center; gap:.75rem; min-height:2.75rem; padding:.5rem 0 .5rem 1rem; border:0; background:transparent; font-size:var(--text-label); font-weight:700; }
  .menu-toggle span { font-size:1.5rem; font-weight:400; line-height:1; }
  #main-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:1.5rem var(--gutter); background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 10px 18px #0a3b3210; }
  #main-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  #main-nav>a:not(.button) { padding:.875rem 0; font-size:1rem; }
  #main-nav>.button { margin-top:.75rem; }
}
@media(max-width:760px) {
  :root { --card-inset:1.5rem; }
  .founder-bio,.request-card { padding:var(--card-inset); }
  .team,.initiatives { padding-bottom:2rem; }
  .roadmap-plan,.faq { padding-top:3rem; }
  .initiative-tabs button { padding:1rem; }
  .plan-termbar { padding:var(--card-inset); }
  .path-step-copy>span { font-size:.875rem; }
  .path-panel-head { gap:1.5rem; }
  .path-heading h2 { max-width:20ch; margin-inline:auto; }
}
@media(max-width:450px) {
  .demo-heading { flex-wrap:wrap; align-items:flex-start; gap:.5rem 1rem; }
  .demo-invitation { max-width:none; padding-bottom:0; }
  .plan-termbar>div { min-width:0; }
  .plan-termbar>div+div { padding-left:1rem; }
  .plan-termbar>.plan-action { padding-left:0; }
  .plan-term-label { font-size:.875rem; }
  .plan-level-grid label { min-height:3.5rem; }
  .faq-list summary { font-size:1.0625rem; }
  .initiative-tabs button { padding:.875rem .75rem; gap:.5rem; }
}
@media(max-width:370px) {
  :root { --gutter:1rem; --card-inset:1.25rem; }
  .founder-bio,.request-card { padding:var(--card-inset); }
}

/* Larger key headings retain their desktop scale and ease down on narrow phones. */
#results-heading,#initiatives-heading { font-size:clamp(2.625rem,4.2vw,3.5rem); }
.hero-message>.eyebrow,.trust-strip>.eyebrow,.proof-heading>.eyebrow { font-size:.75rem; }
@media(max-width:600px) {
  #results-heading,#initiatives-heading { font-size:clamp(2.25rem,7vw,2.625rem); }
}

/* Let the longer demo title and its caption each use the header width. */
.demo-heading { display:block; }
.demo-invitation { max-width:none; margin-top:.5rem; padding-bottom:0; }
.demo-invitation svg { display:none; }

/* Give client scale and estimated returns explicit, adjacent context. */
.proof-cases { grid-auto-rows:auto; }
.proof-client-scale,.proof-submission-value { margin-block:22px 24px; }
.proof-client-scale .proof-scale-label,.proof-submission-value .proof-scale-label { font-size:.875rem; font-weight:700; line-height:1.5; color:var(--green); }
.proof-submission-value .proof-metric { margin-block:8px; }
.proof-case-care .proof-metric { margin-block:8px; white-space:nowrap; }
/* One scale for all four metrics, based on the space inside each card. */
.proof-case { container-type:inline-size; }
.proof-case .proof-metric { font-size:clamp(4rem,15.5vw,7.5rem); }
@supports(font-size:1cqi) {
  .proof-case .proof-metric { font-size:clamp(4rem,26cqi,7.5rem); }
}
.proof-metric .proof-roi-unit { display:inline-block; font-size:calc(11em / 15); line-height:1; letter-spacing:-.035em; white-space:nowrap; }
.proof-client-scale .proof-approx { font-size:.46em; vertical-align:middle; margin-right:.12em; font-weight:500; }
.proof-client-scale .proof-scale-context { font-size:.8125rem; line-height:1.5; color:var(--muted); }
.proof-engagement-criterion { margin-top:24px; padding-left:16px; border-left:2px solid var(--gold); }
.proof-engagement-criterion>p { color:var(--ink); font-size:var(--text-body); line-height:1.65; }
.proof-engagement-criterion>.proof-criterion-note { color:var(--muted); font-size:var(--text-meta); line-height:1.5; margin-top:8px; }
.proof-method { margin-top:auto; padding-top:24px; }
.proof-coverage { font-size:1rem; line-height:1.5; color:var(--mid); margin-top:16px; }
.proof-method summary { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:48px; padding-block:12px; border-top:1px solid var(--control-line); color:var(--green); font-size:.75rem; font-weight:700; cursor:pointer; list-style:none; }
.proof-method summary::-webkit-details-marker { display:none; }
.proof-method summary:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.proof-method dl { margin:12px 0 0; }
.proof-method dl>div { padding-block:12px; border-top:1px solid #b5c9be; }
.proof-method dt { color:var(--green); font-size:.875rem; line-height:1.4; font-weight:750; }
.proof-method dd { font-size:.875rem; line-height:1.6; color:var(--muted); margin-top:5px; }

/* Keep the privacy title and close control visible while the notice scrolls. */
#privacy-dialog { width:min(720px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; overflow:hidden; }
#privacy-dialog[open] { display:flex; flex-direction:column; }
.privacy-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex:none; padding:24px clamp(20px,4vw,32px) 20px; border-bottom:1px solid var(--line); }
#privacy-dialog h2 { margin:0; font-size:clamp(1.5rem,4vw,2rem); line-height:1.2; }
#privacy-dialog p.privacy-updated { margin:8px 0 0; color:var(--muted); font-size:.875rem; line-height:1.5; }
#privacy-dialog .close-dialog { position:static; flex:none; width:44px; height:44px; margin:-8px -8px 0 0; border-radius:50%; }
#privacy-dialog .close-dialog:hover { background:var(--sage); }
.privacy-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:8px clamp(20px,4vw,32px) 24px; }
#privacy-dialog .privacy-body:focus-visible { outline:2px solid var(--mid); outline-offset:-4px; }
#privacy-dialog h3 { margin:24px 0 8px; font-size:1rem; line-height:1.4; letter-spacing:0; }
#privacy-dialog .privacy-body p { margin:14px 0 0; font-size:1rem; line-height:1.65; }
#privacy-dialog h3+p { margin-top:0; }
#privacy-dialog p.privacy-update-note { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); font-size:.875rem; color:var(--muted); }

@media(max-width:370px) {
  .hero-experience+.shell>.offer-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-experience+.shell>.offer-facts>div:first-child { grid-column:1/-1; border:0; border-bottom:1px solid var(--line); padding:0 0 12px; }
  .hero-experience+.shell>.offer-facts>div:nth-child(2) { border-left:0; padding-left:0; }
}

/* Keep the FAQ invitation secondary and let the longer fee note wrap naturally. */
.faq>div>p:not(.eyebrow) { font-size:15px; }
.plan-fee-levels summary { align-items:flex-start; gap:16px 24px; }
.plan-fee-levels summary>span:first-child { flex-shrink:0; }
.plan-fee-hint { max-width:65ch; }

/* A compact, swipeable team row follows the session CTA. */
.session-copy,.request-card { min-width:0; }
.principals { margin-top:32px; }
.principals-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.principals-heading h3 { color:var(--paper); font-size:17px; line-height:1.5; letter-spacing:0; }
.principals-controls { display:flex; gap:8px; }
.principals-controls[hidden] { display:none; }
.principals-controls button { width:44px; height:44px; padding:0; display:grid; place-items:center; background:transparent; border:1px solid #7d9f92; border-radius:50%; color:var(--paper); font-size:23px; line-height:1; }
.principals-controls button:hover:not(:disabled) { background:#245d50; }
.principals-controls button:disabled { opacity:.4; cursor:default; }
.principal-track { position:relative; display:grid; grid-auto-flow:column; grid-auto-columns:calc(100% - 32px); gap:12px; list-style:none; margin:0; padding:2px 2px 12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#7d9f92 transparent; }
.principal-card { display:flex; align-items:center; gap:16px; padding:16px 20px; min-height:128px; min-width:0; background:#164d41; border:1px solid #507d6f; border-radius:10px; scroll-snap-align:start; scroll-snap-stop:always; }
.principal-card>img { width:76px; height:76px; flex-shrink:0; border-radius:50%; object-fit:cover; object-position:center 25%; background:var(--sage); }
.principal-card h4 { font-size:18px; line-height:1.35; font-weight:750; color:var(--paper); margin:0 0 4px; letter-spacing:0; }
.principal-card p { font-size:14px; line-height:1.5; color:#d1e2d9; }
.principal-track:focus-visible,.principals-controls button:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media(min-width:1101px) {
  .principal-track { grid-auto-columns:calc((100% - 12px)/2); }
  .principal-card { flex-direction:column; align-items:flex-start; gap:12px; }
}
@media(max-width:370px) {
  .principal-card { padding:12px 16px; gap:12px; }
  .principal-card>img { width:60px; height:60px; }
}

/* Credential marks stay small and keep their own proportions beside readable text. */
.principal-card>div { min-width:0; }
.principal-card h4 { text-wrap:pretty; }
.principal-credentials { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:8px; color:#d1e2d9; font-size:12px; line-height:1.5; }
.principal-logo { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:5px 0; background:transparent; }
.principal-logo img { display:block; width:auto; max-width:90px; height:20px; object-fit:contain; filter:brightness(0) invert(1); }
.principal-logo-mit img { width:38px; }
.principal-logo-google img { width:48px; }
.principal-logo-meta img { width:52px; }
.principal-experience { gap:14px; }
/* Roadmap: concrete materials, with the first engagement visible at a glance. */
#roadmap {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);
  gap:2.25rem 3rem;
  align-content:start;
  margin-top:var(--space-section);
  padding:clamp(1.5rem,3.5vw,3rem);
  border:1px solid #c6d7cd;
  border-radius:20px;
  background:var(--paper,#f8f6f2);
}
#roadmap .plan-heading { grid-column:1; min-width:0; }
#roadmap .plan-heading h2 { font-size:clamp(2.25rem,3.6vw,3rem); max-width:16ch; }
#roadmap .plan-heading>p:last-child { max-width:45ch; margin-top:1.25rem; }
#roadmap .plan-deliverables { grid-column:1; min-width:0; }
#roadmap .plan-list-label { margin:0 0 1.25rem; font-size:.8125rem; letter-spacing:.06em; line-height:1.6; text-transform:uppercase; }
#roadmap .plan-outputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem; margin:0; }
#roadmap .plan-outputs li { display:block; padding:1.1rem 0 0; border:0; border-top:1px solid var(--line); }
#roadmap .plan-output-number { display:block; padding:0; font-size:.75rem; line-height:1.5; margin-bottom:.65rem; color:#64766b; }
#roadmap .plan-outputs h3 { font-size:1.125rem; line-height:1.35; margin:0; letter-spacing:-.015em; }
#roadmap .plan-outputs p { font-size:.9375rem; line-height:1.65; margin-top:.6rem; }
#roadmap aside { grid-column:2; grid-row:1/3; align-self:start; min-width:0; background:#e8eee8; border-radius:14px; padding:1.75rem; }
#roadmap .plan-offer-label { font-size:1.375rem; font-weight:750; letter-spacing:-.025em; color:var(--ink); margin-bottom:1.5rem; }
#roadmap .plan-termbar { padding:0; gap:1.5rem .9rem; border-radius:0; background:transparent; color:var(--ink); }
#roadmap .plan-termbar>div+div { border-left:1px solid #b9cabc; padding-left:.9rem; }
#roadmap .plan-termbar>.plan-action { border:0; padding:0; }
#roadmap .plan-term-value { color:var(--ink); font-size:clamp(1.55rem,2.4vw,2rem); white-space:nowrap; }
#roadmap .plan-term-label { color:var(--muted); font-size:.8125rem; }
#roadmap .plan-action .button { background:var(--green); color:white; border-color:var(--green); font-size:.9375rem; padding:15px 12px; gap:8px; }
#roadmap .plan-action .button:hover { background:#174d3f; }
#roadmap .plan-fee-levels { margin-top:1.25rem; border-top:0; }
#roadmap .plan-fee-levels>summary { min-height:48px; padding:12px 0; font-size:.875rem; }
#roadmap .plan-fee-body { padding:1rem 0; }
#roadmap .plan-fee-body legend { font-size:.8125rem; }
#roadmap .plan-level-grid { grid-template-columns:1fr; gap:.5rem; }
#roadmap .plan-level-grid label { padding:.65rem .75rem; min-height:48px; }
#roadmap .plan-level-grid label>span { display:flex; flex:1; align-items:center; justify-content:space-between; gap:1rem; }
#roadmap .plan-level-grid strong { font-size:1rem; }
#roadmap .plan-unsure { font-size:.8125rem; }
#roadmap .plan-timing-note,#roadmap .plan-continuation { font-size:.8125rem; line-height:1.6; margin-top:1rem; }
#roadmap .plan-continuation { color:var(--ink); }
@media(max-width:980px) {
  #roadmap { grid-template-columns:minmax(0,1fr); gap:2rem; }
  #roadmap .plan-heading h2 { max-width:22ch; }
  #roadmap aside { grid-column:1; grid-row:auto; }
  #roadmap .plan-term-value { font-size:2rem; }
}
@media(max-width:600px) {
  #roadmap { border-radius:14px; padding:1.5rem; }
  #roadmap .plan-heading h2 { font-size:2.125rem; }
  #roadmap .plan-outputs { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
  #roadmap .plan-outputs li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:0 .75rem; }
  #roadmap .plan-output-number { grid-row:1/3; margin:0; padding-top:.15rem; }
  #roadmap .plan-outputs p { grid-column:2; }
  #roadmap aside { padding:1.25rem; }
  #roadmap .plan-term-value { font-size:1.45rem; }
}
@media(max-width:420px) {
  #roadmap .plan-termbar { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
  #roadmap .plan-termbar>div+div { border-left:0; padding-left:0; }
  #roadmap .plan-term-value { font-size:1.75rem; }
}

/* Let the shorter copy determine spacing without changing the shared breakpoints. */
#demo-economics .demo-transformation { grid-template-columns:minmax(0,1fr); }
#demo-economics .demo-transformation h3 { grid-column:1/-1; }
#demo-execution .demo-next { margin-left:auto; }
#phase-panel-plan { min-height:0; }
.path-panel-head .path-title:first-child { margin-top:0; }
.path-result-group>.path-outputs:first-child { margin-top:0; }
.path-details-link { display:inline-flex; align-items:center; min-height:48px; max-width:100%; color:var(--green); font-size:var(--text-label); font-weight:700; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.path-details-link:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.founder-bio>p:first-child { margin-top:0; }
.session-copy>p.session-reassurance { font-size:1rem; line-height:1.5; margin-top:1rem; }
/* Keep every form title level with its progress label, including the review and sent states. */
.request-card>.form-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:1rem; }
.request-card>.form-heading>#step-count { margin:0; white-space:nowrap; }

/* Separate the service explorer from the logos while retaining the shared content width. */
#healthcare-organizations { padding-bottom:var(--space-group); }
#how-we-help { background:var(--sage); border-top:1px solid var(--line); padding-block:var(--space-section); }
#how-we-help .initiative-panel { background:var(--paper); border:1px solid var(--line); }
