:root {
  --navy:#0b1f3a; --blue:#1457d9; --accent:#0e3f9e; --ink:#132033;
  --muted:#536174; --soft:#f6f8fb; --blue-tint:#eaf1ff; --line:#dbe3ee;
  --control:#718096; --white:#fff; --max:1180px; --header:80px;
  --serif:'Fraunces',Georgia,serif; --sans:'Source Sans 3',Arial,sans-serif;
}
* { 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; scroll-padding-top:calc(var(--nav-clearance,var(--header)) + 16px); }
body { overflow-wrap:break-word; overflow-wrap:anywhere; margin:0; color:var(--ink); background:var(--white); font:400 18px/28px var(--sans); }
body, button { -webkit-font-smoothing:antialiased; }
a { color:var(--blue); text-underline-offset:4px; text-decoration-thickness:1px; }
a:hover { color:var(--accent); }
button,a { touch-action:manipulation; }
a,button { transition:color 140ms ease-out,background-color 140ms ease-out,border-color 140ms ease-out; }
button { font:600 16px/22px var(--sans); cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
p { margin:16px 0 0; }
ul,ol { margin:16px 0 0; }
h1,h2,h3 { margin:0; color:var(--navy); font-weight:600; overflow-wrap:break-word; }
h1,h2 { font-family:var(--serif); font-weight:500; letter-spacing:-.02em; text-wrap:balance; }
h1 { font-size:60px; line-height:66px; max-width:960px; }
h2 { font-size:42px; line-height:49px; }
h3 { font:600 25px/32px var(--sans); }
small { font-size:16px; line-height:24px; }
li+li { margin-top:6px; }
:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.container { width:min(var(--max),calc(100% - 64px)); margin-inline:auto; }
.eyebrow,.pill,.num { display:block; font:600 13px/18px var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--blue); }
.eyebrow { margin-bottom:12px; }
.note { font-size:16px; line-height:24px; color:var(--muted); }
.skip-link { position:fixed; z-index:100; left:16px; top:8px; padding:12px 20px; background:var(--navy); color:white; transform:translateY(-160%); border-radius:6px; }
.skip-link:focus { transform:none; color:white; outline:2px solid var(--blue); outline-offset:3px; }
.nav { position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--line); }
.nav-inner { min-height:var(--header); display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; flex-shrink:0; }
.logo { width:232px; height:40px; }
.nav-links { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px 24px; min-width:0; }
.nav-links a { color:var(--ink); font-size:16px; line-height:22px; font-weight:600; padding-block:12px; text-decoration:none; }
.nav-links a:hover,.nav-links a[aria-current='page'] { color:var(--blue); text-decoration:underline; }
.nav-links .btn { color:white; padding:12px 20px; }
.menu-toggle { display:none; align-items:center; gap:8px; min-height:44px; padding:10px 12px; border:1px solid var(--control); border-radius:6px; background:white; color:var(--navy); }
.menu-symbol { width:16px; height:12px; border-top:2px solid currentColor; border-bottom:2px solid currentColor; position:relative; }
.menu-symbol::after { content:''; position:absolute; top:4px; left:0; width:16px; border-top:2px solid currentColor; }
.btn { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 24px; font:600 16px/22px var(--sans); border:1px solid var(--control); border-radius:6px; text-align:center; text-decoration:none; }
.btn.primary { background:var(--blue); color:white; border-color:var(--blue); }
.btn.primary:hover { background:var(--accent); border-color:var(--accent); color:white; }
.btn.secondary { color:var(--navy); background:white; }
.btn.secondary:hover { color:var(--blue); border-color:var(--blue); }
.text-link,.link { display:inline-flex; gap:8px; align-items:center; min-height:44px; font-weight:600; text-decoration:none; }
.text-link:hover,.link:hover { text-decoration:underline; }
.hero { padding:72px 0 64px; }
.hero p { max-width:720px; font-size:21px; line-height:32px; color:var(--muted); margin-top:24px; }
.hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:24px; }
.hero-note { margin-top:20px; font-size:16px; line-height:24px; color:var(--muted); max-width:720px; }
.hero .container { border-left:3px solid var(--blue); padding-left:32px; }
.section { padding:80px 0; }
.section.soft { background:var(--soft); }
.section.blue-soft { background:var(--blue-tint); }
.section-short { padding:56px 0; }
.section-head { max-width:760px; margin-bottom:32px; }
.section-head p { color:var(--muted); }
.evidence-feature { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; padding:32px; background:white; border:1px solid var(--line); border-radius:10px; border-top:3px solid var(--blue); }
.feature-result .metric { font-size:64px; line-height:68px; font-weight:600; letter-spacing:-.03em; color:var(--blue); font-variant-numeric:tabular-nums; }
.feature-result .metric-context { margin:8px 0 24px; font-size:20px; line-height:28px; color:var(--navy); }
.feature-result h3 { max-width:340px; }
.case-story { display:grid; gap:24px; margin:0; }
.case-story div { display:grid; grid-template-columns:100px 1fr; gap:16px; }
.case-story dt { color:var(--blue); font-weight:600; }
.case-story dd { margin:0; color:var(--muted); }
.evidence-attribution { grid-column:1/-1; margin:0; padding-top:20px; border-top:1px solid var(--line); }
.case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; margin-top:32px; }
.case { padding:24px 0; border-top:1px solid var(--line); }
.case .metric { font:600 40px/44px var(--sans); color:var(--blue); font-variant-numeric:tabular-nums; letter-spacing:-.015em; }
.metric-context { color:var(--navy); margin:4px 0 12px; font-size:18px; line-height:28px; }
.case h3 { font-size:22px; line-height:28px; margin-top:12px; }
.case p { color:var(--muted); }
.case small { display:block; margin-top:16px; color:var(--muted); }
.cap-core { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cap-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.cap { display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:10px; background:white; min-width:0; }
.cap.flagship { background:var(--blue-tint); border-top:3px solid var(--blue); padding-top:26px; }
.pill { align-self:flex-start; margin-bottom:16px; }
.cap p,.cap li { color:var(--muted); }
.cap ul { padding-left:20px; font-size:16px; line-height:24px; }
.cap .link { margin-top:auto; padding-top:24px; font-size:16px; line-height:24px; align-self:flex-start; }
.cap.compact { padding:24px 28px; }
.cap.compact h3 { font-size:23px; line-height:30px; }
.directory { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.directory p { max-width:760px; color:var(--muted); margin:0; }
.directory h3 { margin-bottom:12px; }
.system { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.step { padding-top:24px; border-top:2px solid var(--blue); }
.step h3 { margin-top:16px; }
.step p { color:var(--muted); }
.system-note { margin-top:32px; border-top:1px solid var(--control); padding-top:24px; max-width:900px; color:var(--muted); }
.system-note strong { color:var(--navy); }
.agent { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:48px; align-items:start; }
.agent p { color:var(--muted); }
.agent .quote { margin:24px 0 16px; font:500 24px/32px var(--serif); color:var(--navy); }
.agent-criteria { display:flex; flex-wrap:wrap; gap:8px 16px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:8px; }
.agent-criteria span { font:600 13px/18px var(--sans); color:var(--blue); letter-spacing:.04em; }
.decision-path { list-style:none; padding:0; margin:0; }
.decision-path li { position:relative; display:block; padding:20px 0; margin:0; border-bottom:1px solid var(--line); }

.decision-path .decision-number { display:none; }
.decision-path strong { display:block; font:600 17px/24px var(--sans); color:var(--navy); letter-spacing:.025em; }
.decision-path p { margin:6px 0 0; font-size:16px; line-height:24px; }
.decision-path .stop { display:block; font-size:16px; line-height:24px; font-weight:600; color:var(--navy); margin-top:8px; }
.decision-note { margin:16px 0 0; font-size:16px; line-height:24px; }
.economics { padding:24px; margin-top:24px; background:var(--blue-tint); border-left:3px solid var(--blue); border-radius:0 6px 6px 0; }
.economics strong { color:var(--navy); font-size:20px; }
.economics p { margin-top:8px; font-size:16px; line-height:24px; }
.path { counter-reset:phase; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; border-top:2px solid var(--blue); }
.path>div { padding-top:24px; }
.path>div::before { counter-increment:phase; content:counter(phase,decimal-leading-zero); display:block; margin-bottom:12px; font:600 16px/24px var(--sans); color:var(--blue); }
.path p { color:var(--muted); font-size:16px; line-height:24px; }
.why-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.why::before { content:''; display:block; width:32px; border-top:3px solid var(--blue); margin-bottom:20px; }
.why p { color:var(--muted); }
.about { display:grid; grid-template-columns:280px minmax(0,1fr); gap:48px; align-items:center; }
.portrait { width:280px; height:auto; border-radius:10px; }
.about p { color:var(--muted); max-width:720px; }
.cta { background:var(--navy); color:white; padding:64px 0; }
.cta .eyebrow { color:#d8e4f5; }
.cta h2 { color:white; max-width:880px; }
.cta p { max-width:720px; color:#d8e4f5; }
.cta .btn { background:white; color:var(--navy); border-color:white; }
.cta .btn:hover { background:var(--blue-tint); border-color:var(--blue-tint); }
.cta a:not(.btn) { color:white; }
.cta :focus-visible { outline-color:white; }
.contact-detail { margin-top:24px; font-size:16px; line-height:24px; }
.contact-detail a { overflow-wrap:anywhere; }
.contact-detail span { display:block; color:#d8e4f5; margin-top:8px; }
.footer { padding:32px 0; border-top:1px solid var(--line); font-size:16px; line-height:24px; color:var(--muted); }
.footer-row { display:flex; justify-content:space-between; align-items:start; gap:32px; }
.footer p { margin:0; }
.footer-links { display:flex; flex-wrap:wrap; gap:8px 24px; }
.footer-links a { overflow-wrap:anywhere; display:flex; align-items:center; min-height:44px; color:var(--muted); text-decoration:none; }
.footer-links a:hover { color:var(--blue); text-decoration:underline; }
.footer-email { display:inline-block; padding-block:10px; overflow-wrap:anywhere; }
.page-hero { padding:48px 0 56px; }
.page-hero h1 { font-size:52px; line-height:59px; max-width:960px; }
.page-hero> .container>p { font-size:20px; line-height:30px; max-width:780px; color:var(--muted); }
.breadcrumb { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; font-size:16px; line-height:24px; color:var(--muted); margin-bottom:32px; }
.breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.service-body .two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.service-body .two-col > * { min-width:0; }
.service-body .failure-rows { display:block; border-top:1px solid var(--line); counter-reset:failure; }
.failure-rows .box { display:grid; grid-template-columns:32px minmax(0,1fr); gap:24px; padding:24px 0; border-bottom:1px solid var(--line); }
.failure-rows .box::before { counter-increment:failure; content:counter(failure,decimal-leading-zero); color:var(--blue); font-size:16px; font-weight:600; }
.failure-rows .box h3 { font-size:23px; line-height:30px; }
.failure-rows .box p { grid-column:2; margin-top:0; color:var(--muted); }
.functional-title { font:600 28px/36px var(--sans); letter-spacing:0; text-wrap:pretty; }
.proof-box { border-left:3px solid var(--blue); padding-left:24px; align-self:start; }
.proof-box p { color:var(--muted); }
.kicker { color:var(--blue); font-weight:600; }
.deliverables { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; border-bottom:1px solid var(--line); }
.deliverable { padding:24px 0; border-top:1px solid var(--line); }
.deliverable strong { display:block; color:var(--navy); font-size:20px; line-height:28px; }
.deliverable .note { display:block; margin-top:8px; }
.related { display:flex; flex-direction:column; margin-top:16px; border-top:1px solid var(--line); }
.related a { display:flex; min-height:48px; padding:16px 0; border-bottom:1px solid var(--line); font-weight:600; text-decoration:none; }
.related a:hover { text-decoration:underline; }
.scope-copy { color:var(--muted); }
.modules { margin-top:40px; border-top:1px solid var(--line); padding-top:32px; }
.modules ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; list-style:none; padding:0; }
.modules li { border-bottom:1px solid var(--line); padding:16px 0; margin:0; color:var(--muted); }
.section-return { margin-top:24px; font-size:16px; }
.list-note { margin:0 0 24px; }
@media (max-width:1119px) {
  :root { --header:64px; }
  .logo { width:180px; height:36px; }
  .nav-inner { flex-wrap:wrap; gap:0; }
  .js .menu-toggle { display:inline-flex; }
  .nav-links { flex:0 0 100%; flex-direction:column; align-items:stretch; gap:0; padding:8px 0 20px; }
  .js .nav-links { display:none; }
  .js .nav-links.is-open { display:flex; max-height:calc(100vh - var(--menu-clearance,64px)); max-height:calc(100dvh - var(--menu-clearance,64px)); overflow-y:auto; overscroll-behavior:contain; }
  .nav-links a { min-height:44px; padding:12px 4px; }
  .nav-links .btn { margin-top:12px; align-self:flex-start; }
  .cap-core { grid-template-columns:1fr; }
  .cap-core .cap { padding:28px 32px; }
  .cap-core .cap h3 { max-width:680px; }
  .path { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:32px; }
  .evidence-feature { gap:32px; }
  .agent { gap:32px; }
  .cap .link { margin-top:16px; padding-top:8px; }
}
@media (min-width:768px) and (max-width:1023px) {
  .system { grid-template-columns:1fr; }
  .agent { grid-template-columns:1fr; }
  .agent>div:first-child { max-width:760px; }
  .evidence-feature { grid-template-columns:1fr; }
  .case-story { gap:20px; }
  .feature-result { max-width:600px; }
  .feature-result h3 { max-width:600px; }
  .why-grid { gap:24px; }
}
@media (max-width:767px) {
  .container { width:calc(100% - 40px); }
  h1 { font-size:38px; line-height:43px; }
  h2 { font-size:30px; line-height:36px; }
  h3 { font-size:23px; line-height:30px; }
  .hero { padding:40px 0 48px; }
  .hero .container { border-left:0; padding-left:0; }
  .hero p { font-size:19px; line-height:29px; margin-top:20px; }
  .hero-actions { flex-direction:column; align-items:stretch; gap:8px; margin-top:20px; }
  .hero-actions .text-link { justify-content:center; }
  .hero-note { margin-top:16px; }
  .section { padding:48px 0; }
  .section-short { padding:40px 0; }
  .section-head { margin-bottom:24px; }
  .eyebrow { margin-bottom:8px; }
  .evidence-feature { grid-template-columns:1fr; gap:24px; padding:24px; }
  .feature-result .metric { font-size:48px; line-height:52px; }
  .feature-result .metric-context { font-size:18px; margin-bottom:16px; }
  .case-story div { grid-template-columns:1fr; gap:4px; }
  .case-grid { grid-template-columns:1fr; margin-top:24px; }
  .case .metric { font-size:34px; line-height:39px; }
  .cap-secondary,.system,.agent,.path,.why-grid,.about,.service-body .two-col,.deliverables { grid-template-columns:minmax(0,1fr); }
  .cap-core,.cap-secondary { gap:16px; }
  .cap,.cap-core .cap,.cap.compact { padding:24px; }
  .cap.flagship { padding-top:22px; }
  .system { gap:24px; }
  .agent { gap:32px; }
  .path { gap:24px; }
  .path>div+div { border-top:1px solid var(--line); }
  .why-grid { gap:32px; }
  .about { gap:32px; }
  .portrait { width:min(280px,100%); }
  .cta { padding:48px 0; }
  .footer-row { flex-direction:column; gap:16px; }
  .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
  .page-hero { padding:32px 0 40px; }
  .page-hero h1 { font-size:36px; line-height:41px; }
  .page-hero>.container>p { font-size:19px; line-height:29px; }
  .breadcrumb { margin-bottom:24px; }
  .functional-title { font-size:25px; line-height:33px; }
  .service-body .two-col { gap:32px; }
  .failure-rows .box { gap:12px 16px; grid-template-columns:24px minmax(0,1fr); }
  .modules ul { grid-template-columns:1fr; }
}
@media (max-width:374px) {
  .container { width:calc(100% - 32px); }
  h1 { font-size:34px; line-height:40px; }
  .logo { width:160px; }
  .menu-toggle { padding:10px; }
  .cap,.cap-core .cap,.cap.compact,.evidence-feature { padding:20px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
}
@media print {
  .nav,.skip-link,.menu-toggle { display:none; }
  .section,.hero,.page-hero { padding:24px 0; }
  .container { width:100%; }
  .cap,.evidence-feature { break-inside:avoid; }
  a { color:inherit; }
}

/* V12 content-precision enhancements */
.route-list { border-top:1px solid var(--line); }
.route-row { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr); gap:32px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink); }
.route-row:hover .route-start, .route-row:focus-visible .route-start { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.route-problem { font:600 21px/29px var(--sans); color:var(--navy); }
.route-start { font:600 17px/25px var(--sans); color:var(--blue); }
.modules li { display:flex; flex-direction:column; gap:4px; }
.modules li strong { color:var(--navy); font-size:17px; line-height:24px; }
.modules li span { color:var(--muted); font-size:16px; line-height:24px; }
.path-five { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
.path-five>div:last-child { grid-column:1 / -1; border-top:1px solid var(--line); display:grid; grid-template-columns:32px minmax(120px,.3fr) minmax(0,.7fr); gap:16px; align-items:baseline; }
.path-five>div:last-child p,.path-five>div:last-child::before { margin:0; }

@media (max-width:767px){ .route-row { grid-template-columns:1fr; gap:8px; padding:20px 0; } .route-problem { font-size:19px; line-height:27px; } .path-five { grid-template-columns:1fr; } .path-five>div:last-child { grid-column:auto; display:block; } .path-five>div:last-child::before { margin-bottom:12px; } .path-five>div:last-child p { margin-top:16px; } }

/* V12 proof-grid refinement */
@media (max-width:1119px) and (min-width:768px){ .case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Final V12 launch polish: open secondary capabilities and neutral AI choices. */
.cap-secondary>.cap { border:0; border-top:1px solid var(--line); border-radius:0; padding:24px 0; background:transparent; }
.cap-secondary { column-gap:48px; }
.cap-secondary .pill { margin-bottom:12px; }
.service-body .page-hero { border-bottom:1px solid var(--line); }
.keep-word { display:inline-block; max-width:100%; }
.choice-visual { grid-column:1 / -1; border-top:1px solid var(--control); padding-top:24px; }
.choice-set { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:0; }
.choice-set li { padding:12px 0; margin:0; border-top:2px solid var(--blue); color:var(--navy); font-weight:600; }
.choice-criteria { display:flex; flex-wrap:wrap; gap:8px 24px; padding-top:16px; margin-top:12px; border-top:1px solid var(--line); font-size:16px; line-height:24px; color:var(--muted); }
.btn { max-width:100%; overflow-wrap:anywhere; }
.nav-inner>* { min-width:0; }
.nav-links a { overflow-wrap:anywhere; }
@media (max-width:1119px) {
  html:not(.js) .nav { position:static; }
  .nav-links { justify-content:flex-start; flex-wrap:nowrap; }
}
@media (max-width:767px) {
  .cap-secondary { gap:24px; }
  .choice-set { grid-template-columns:minmax(0,1fr); gap:0; }
  .choice-set li { border-top:1px solid var(--control); }
  .choice-criteria { flex-direction:column; }
}
@media (forced-colors:active) {
  .btn,.menu-toggle { border:1px solid ButtonText; }
  :focus-visible { outline:2px solid Highlight; }
}


/* V13 final editorial polish; approved research content retained. */
.hero .container { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; align-items:start; border:0; padding-left:0; }
.hero-primary { min-width:0; }
.hero-market { min-width:0; border-top:2px solid var(--blue); padding:20px 0 0; }
.hero-market .eyebrow { margin-bottom:8px; font-size:12px; line-height:18px; letter-spacing:.065em; }
.hero-market-title { font:600 22px/28px var(--sans); letter-spacing:0; margin-bottom:16px; }
.market-list { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.market-list>li { margin:0; }
.market-item { display:grid; grid-template-columns:92px minmax(0,1fr); gap:4px 16px; padding:12px 0; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
.market-item:hover strong,.market-item:focus-visible strong { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.market-tag { grid-row:1 / span 2; font:600 13px/18px var(--sans); letter-spacing:.045em; text-transform:uppercase; color:var(--blue); }
.market-number { display:block; margin-bottom:6px; font:600 13px/18px var(--sans); letter-spacing:0; font-variant-numeric:tabular-nums; }
.market-item strong { font:600 17px/23px var(--sans); color:var(--navy); }
.market-item>span:last-child { font-size:15px; line-height:22px; color:var(--muted); }
.market-item .market-number { font-size:13px; line-height:18px; color:var(--blue); }
.market-principle { margin:16px 0 0 !important; padding-top:0; font:600 16px/24px var(--sans) !important; color:var(--navy) !important; }
.cause-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; border-top:1px solid var(--line); }
.cause { display:grid; grid-template-columns:32px minmax(0,1fr); gap:16px; padding:24px 0; border-bottom:1px solid var(--line); }
.cause>span { color:var(--blue); font-weight:600; font-variant-numeric:tabular-nums; }
.cause h3 { color:var(--navy); font:600 21px/28px var(--sans); }
.cause p { margin-top:8px; color:var(--muted); font-size:16px; line-height:24px; }
.market-research { background:var(--soft); padding:48px 0; }
.market-research>.container { display:grid; grid-template-columns:minmax(0,.64fr) minmax(0,1.36fr); gap:48px; align-items:start; }
.market-research .section-head { margin:0; max-width:none; }
.market-research h2 { font:600 25px/32px var(--sans); letter-spacing:0; }
.market-research .section-head p { font-size:15px; line-height:23px; max-width:360px; }
.market-insights { display:grid; grid-template-columns:minmax(0,1fr); }
.market-insight { display:grid; grid-template-columns:minmax(0,.4fr) minmax(0,.6fr); gap:24px; padding:18px 0; border-top:1px solid var(--line); }
.market-insight:first-child { padding-top:0; border-top:0; }
.market-insight:last-child { padding-bottom:0; }
.market-insight h3 { color:var(--navy); font:600 18px/25px var(--sans); }
.market-insight p { margin:0; color:var(--muted); font-size:16px; line-height:24px; }
.nav-links a.is-section-current { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.breadcrumb [aria-current='page'] { min-width:0; }
@media (min-width:768px) {
  .hero { padding:48px 0 56px; }
  .hero h1 { font-size:56px; line-height:62px; }
  .hero-primary>p { font-size:20px; line-height:30px; margin-top:20px; }
  .hero-primary .hero-actions { gap:12px; margin-top:20px; }
  .hero-note { margin-top:16px; }
  #problems .section-head { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:12px 48px; max-width:none; align-items:end; }
  #problems .section-head .eyebrow { grid-column:1 / -1; margin:0; }
  #problems .section-head p { margin:0; }
}
@media (max-width:1119px) {
  .hero .container { grid-template-columns:minmax(0,1fr); gap:40px; }
  .hero-market { max-width:none; }
  .market-item { grid-template-columns:144px minmax(0,1fr); }
  .market-tag { display:flex; align-items:baseline; gap:12px; }
  .market-number { flex-shrink:0; margin:0; }
  .market-research>.container { grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); gap:32px; }
  .market-insight { grid-template-columns:minmax(0,1fr); gap:8px; }
}
@media (min-width:768px) and (max-width:1023px) {
  .hero h1 { font-size:52px; line-height:59px; }
  .market-research>.container { grid-template-columns:minmax(0,1fr); gap:24px; }
  .market-research .section-head { display:grid; grid-template-columns:minmax(0,.45fr) minmax(0,.55fr); gap:12px 32px; align-items:start; }
  .market-research .section-head .eyebrow { grid-column:1 / -1; margin:0; }
  .market-research .section-head p { margin:0; max-width:none; }
  .market-insight { grid-template-columns:minmax(0,.4fr) minmax(0,.6fr); gap:24px; }
}
@media (max-width:767px) {
  .hero-market { padding-top:20px; }
  .hero-market-title { font-size:22px; line-height:28px; }
  .market-item { grid-template-columns:minmax(0,1fr); gap:6px; padding:18px 0; }
  .market-tag { grid-row:auto; }
  .market-item .market-number { min-width:24px; }
  .cause-grid { grid-template-columns:minmax(0,1fr); }
  .market-research { padding:40px 0; }
  .market-research>.container { grid-template-columns:minmax(0,1fr); gap:24px; }
  .market-research .section-head p { max-width:none; }
  .market-insight { grid-template-columns:minmax(0,1fr); gap:8px; }
}
@media print {
  .hero .container,.market-research>.container { display:block; }
  .hero-market,.market-insights { margin-top:24px; }
  .cta { background:white; color:var(--ink); }
  .cta h2,.cta p,.cta .eyebrow,.cta a:not(.btn),.contact-detail span { color:var(--ink); }
  .cta .btn { border-color:var(--control); }
}

/* Research integration: editorial source context and linked perspectives. */
.research-context { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,.64fr) minmax(0,1.36fr); gap:48px; padding-top:28px; border-top:1px solid var(--line); }
.research-context > * { min-width:0; }
.research-context h3 { font:600 18px/25px var(--sans); }
.research-interpretation p { color:var(--muted); font-size:16px; line-height:24px; margin-top:12px; }
.research-interpretation .research-attribution { color:var(--navy); margin-top:16px; }
.research-perspective { display:inline-block; padding:10px 0; margin-top:6px; font:600 16px/24px var(--sans); }
.source-list { list-style:none; padding:0; margin:16px 0 0; }
.source-list li { margin:0; padding:12px 0; border-top:1px solid var(--line); font-size:16px; line-height:24px; }
.source-list li:first-child { padding-top:0; border-top:0; }
.source-list a { font-weight:600; }
.source-note { display:block; color:var(--muted); margin-top:4px; }
.standards-reference { margin-top:8px; border-top:1px solid var(--line); }
.standards-reference summary { padding:12px 0; min-height:44px; font:600 16px/24px var(--sans); color:var(--blue); cursor:pointer; text-underline-offset:4px; }
.standards-reference summary:hover,.standards-reference summary:focus-visible { text-decoration:underline; }
.standards-reference[open] { padding-bottom:8px; }
.standards-reference .source-list { margin-top:4px; padding-left:20px; }
.footer-links [aria-current='page'] { color:var(--blue); text-decoration:underline; }
.insights-body .page-hero { border-bottom:1px solid var(--line); }
.insights-index-hero .insights-context-note { font-size:16px; line-height:24px; max-width:78ch; margin-top:20px; }
.insight-index-list { list-style:none; margin:0; padding:0; border-top:2px solid var(--blue); }
.insight-index-list > li { margin:0; border-bottom:1px solid var(--line); }
.insight-index-link { display:grid; grid-template-columns:32px minmax(0,1.05fr) minmax(0,.95fr); gap:32px; align-items:baseline; padding:28px 0; color:var(--ink); text-decoration:none; }
.insight-index-number { color:var(--blue); font:600 16px/24px var(--sans); font-variant-numeric:tabular-nums; }
.insight-index-link h2 { font:600 26px/34px var(--sans); letter-spacing:0; }
.insight-index-link p { margin:0; color:var(--muted); font-size:18px; line-height:28px; }
.insight-index-link:hover h2,.insight-index-link:focus-visible h2 { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.insights-capability-return { display:inline-block; padding:12px 0; margin-top:20px; }
.article-hero h1 { max-width:1040px; font-size:48px; line-height:55px; }
.article-hero > .container > .article-lead { max-width:72ch; }
.article-hero > .container > .article-byline { font-size:16px; line-height:24px; margin-top:24px; color:var(--navy); }
.article-byline span { display:block; color:var(--muted); margin-top:4px; }
.article-layout { display:grid; grid-template-columns:minmax(0,70ch) minmax(0,1fr); gap:64px; padding-top:48px; padding-bottom:64px; align-items:start; }
.article-layout > * { min-width:0; }
.article-reading h2 { font:600 26px/34px var(--sans); letter-spacing:0; margin-top:36px; }
.article-reading > h2:first-child { margin-top:0; }
.article-reading p { line-height:29px; }
.article-sources { margin-top:36px; border-top:1px solid var(--line); padding-top:28px; }
.article-sources h2 { margin-top:0; font-size:22px; line-height:30px; }
.article-reference-note { font-size:16px; line-height:24px; color:var(--muted); }
.article-related { border-top:2px solid var(--blue); padding-top:20px; }
.article-related h2 { font:600 18px/25px var(--sans); letter-spacing:0; }
.article-capability-link { display:block; margin-top:12px; padding:8px 0; font:600 22px/30px var(--sans); }
.article-related .btn { margin-top:20px; }
.article-mailto-note { color:var(--muted); font-size:16px; line-height:24px; margin-top:8px; }
.article-all-insights { display:inline-block; padding:12px 0; margin-top:12px; font-size:16px; line-height:24px; }
@media (max-width:1119px) {
  .research-context { grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); gap:32px; }
  .article-layout { grid-template-columns:minmax(0,1fr) minmax(0,.48fr); gap:40px; }
  .insight-index-link { gap:24px; }
}
@media (max-width:1023px) {
  .research-context { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .article-layout { grid-template-columns:minmax(0,1fr); gap:40px; }
  .article-reading { max-width:70ch; }
  .article-related { max-width:70ch; }
  .article-related .article-capability-link { max-width:36ch; }
}
@media (max-width:767px) {
  .research-context { grid-template-columns:minmax(0,1fr); gap:28px; padding-top:24px; }
  .insight-index-link { grid-template-columns:24px minmax(0,1fr); gap:12px 16px; padding:24px 0; }
  .insight-index-link p { grid-column:2; font-size:17px; line-height:26px; }
  .insight-index-link h2 { font-size:23px; line-height:30px; }
  .article-hero h1 { font-size:36px; line-height:42px; }
  .article-layout { padding-top:32px; padding-bottom:48px; }
  .article-reading h2 { font-size:24px; line-height:31px; margin-top:28px; }
  .article-sources h2 { margin-top:0; font-size:22px; line-height:29px; }
  .article-related .btn { width:100%; }
}
@media (max-width:374px) {
  .article-hero h1 { font-size:32px; line-height:38px; }
  .insight-index-link { gap:10px 12px; }
}
@media print {
  .research-context,.article-layout { display:block; }
  .research-sources,.article-related { margin-top:24px; }
  .standards-reference:not([open]) > .source-list { display:block; }
  .article-related .btn { background:white; color:var(--ink); border-color:var(--control); }
}

/* Direct founder contact: a browser destination with explicit email choices. */
.contact-introduction{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.48fr);gap:64px;align-items:center}
.contact-introduction>*{min-width:0}
.contact-introduction h1{max-width:750px}
.contact-introduction p{max-width:64ch}
.contact-founder{display:flex;align-items:center;gap:20px}
.contact-founder img{width:112px;height:128px;object-fit:cover;border-radius:4px;flex-shrink:0}
.contact-founder p{font-size:18px;line-height:26px;margin:0 0 8px}
.contact-founder span{display:block;color:var(--muted);font-size:16px;line-height:24px}
.contact-founder a{font-size:16px;line-height:24px;display:inline-block;padding:6px 0}
.contact-options h2{font:600 26px/34px var(--sans);letter-spacing:0}
.contact-options .hero-actions{margin-top:24px}
.contact-method-note{font-size:16px;line-height:24px;color:var(--muted);max-width:75ch}
.contact-copy{margin-top:28px;max-width:760px}
.contact-copy label{display:block;font-weight:600;margin-bottom:10px}
.contact-copy-row{display:flex;gap:12px;align-items:stretch}
.contact-copy input{font:400 18px/26px var(--sans);color:var(--ink);background:white;border:1px solid var(--control);border-radius:4px;padding:12px;min-width:0;width:100%}
.contact-copy-row .btn{flex-shrink:0}
#contact-copy-status{font-size:16px;line-height:24px;color:var(--muted);margin-top:10px}
#copy-contact-email[hidden]{display:none}
@media(max-width:1119px){.contact-introduction{grid-template-columns:minmax(0,1fr) minmax(230px,.6fr);gap:32px}.contact-founder{flex-direction:column;align-items:flex-start}}
@media(max-width:767px){.contact-introduction{grid-template-columns:minmax(0,1fr);gap:28px}.contact-founder{flex-direction:row}.contact-founder img{width:80px;height:92px}.contact-copy-row{flex-direction:column}.contact-copy-row .btn{width:100%}.contact-copy input{font-size:16px}}

/* Enquiry and booking: open editorial layout with native, labelled controls. */
.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:72px;align-items:start}
.contact-layout>*{min-width:0}
.contact-direct{border-top:2px solid var(--blue);padding-top:24px}
.booking-option .btn{margin-top:20px}
.email-option{border-top:1px solid var(--line);margin-top:36px;padding-top:28px}
.contact-direct .hero-actions{flex-direction:column;align-items:stretch;gap:12px}
.contact-direct .contact-copy-row{flex-direction:column}
.enquiry-form{margin-top:28px}
.form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.form-field{margin-bottom:22px;min-width:0}
.form-field label{display:block;font-weight:600;margin-bottom:8px}
.form-field label span{font-weight:400;color:var(--muted)}
.form-field input,.form-field select,.form-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:12px;border:1px solid var(--control);border-radius:4px;background:white;color:var(--ink);font:400 18px/26px var(--sans);min-height:50px}
.form-field textarea{resize:vertical;min-height:150px}
.form-field select{white-space:normal;height:auto}
.form-note{font-size:16px;line-height:24px;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}
.form-note a{text-decoration:underline;text-underline-offset:3px}
.form-honey{display:none}
@media(max-width:1119px){.contact-layout{gap:36px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.form-pair{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:767px){.contact-layout{grid-template-columns:minmax(0,1fr);gap:40px}.enquiry-form>.btn,.booking-option>.btn{width:100%}.form-field input,.form-field select,.form-field textarea{font-size:16px}}
@media print{.enquiry-form{display:none}.contact-layout{display:block}.contact-direct{margin-top:24px}}
