/* Shared layout refinement. Preserve the established colour and type system. */
:root{--section-space:64px;--reading-width:65ch}
.wrap{width:min(1160px,calc(100% - 80px))}
.header{height:76px;padding-inline:40px}
.header .wordmark{font-size:25px}
.header nav{gap:24px}
.header-actions{gap:16px}
.button{min-height:46px;padding:12px 22px;gap:12px}
.button.small{padding:9px 18px}
.button:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0001}
.text-link{min-height:36px;gap:10px}
.hero.wrap,.about-hero.wrap,.product-hero.wrap{padding-block:48px 44px}
body main h1{font-size:clamp(56px,6.8vw,94px);line-height:1.02;letter-spacing:-.065em}
body .product-hero h1,body .connector-page .product-hero h1,body .audiences-page .product-hero h1{font-size:clamp(48px,5.8vw,80px)}
body .hero-copy,body .about-intro,body .product-hero p:not(.eyebrow){font-size:18px;line-height:1.65;max-width:660px;margin:22px auto}
.hero-actions{gap:24px}
.coverage.wrap{padding-block:23px;gap:24px}
.coverage>.coverage-end{font-size:18px;padding-left:22px}
.coverage-items li{font-size:14px}
.product-overview{padding-block:18px;gap:20px}
.product-overview p{font-size:13px}
.section,.product-flow,.product-faq,.audience-chapter{padding-block:var(--section-space)}
.section-heading{margin-bottom:32px}
.section-heading>div{max-width:none}
.section-heading>div:has(>p){display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:64px;align-items:start}
body main h2:not(.page-title){font-size:clamp(26px,2.55vw,34px);line-height:1.2;letter-spacing:-.035em;max-width:28ch}
body main h3:not(.page-title){font-size:22px;line-height:1.3;letter-spacing:-.025em}
.section-heading p:not(.eyebrow){font-size:16px;line-height:1.8;margin:0;max-width:var(--reading-width)}
.feature-grid{gap:32px}
.feature{display:flex;flex-direction:column;padding:23px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;overflow:visible}
.feature:hover,.feature:focus-visible{transform:none;box-shadow:none}
.feature p{font-size:15px;line-height:1.8;min-height:0;margin-top:14px;margin-bottom:20px}
.feature-visual{margin:0;height:160px;flex:0 0 160px;margin-top:auto;overflow:hidden}
.mapping-visual{padding-top:25px}
.visual-note{margin-top:12px}
.operations-visual>div{padding-block:12px}
.connector-section{padding-block:64px}
.connector-layout{grid-template-columns:1fr 1fr;gap:64px}
.connector-copy p:not(.eyebrow){font-size:16px;line-height:1.8;margin-top:20px}
.connector-copy .button{margin-top:22px}
.connector-demo{padding:20px;border-radius:12px;box-shadow:none}
.demo-bar{margin-bottom:18px;font-size:11px;letter-spacing:0}
.context-card,.client-card{padding:22px;border-radius:7px}
.human-note{font-size:12px}
.context-tags span{font-size:12px}
.bridge{font-size:12px}
.audience-grid{gap:48px;margin:0}
.audience-grid article{padding-top:20px}
.audience-grid h3{margin:0}
.audience-grid p{margin:14px 0;max-width:56ch}
.data-section,.about-principles,.audience-fit{padding-block:48px}
.data-section h2{margin:0 0 28px}
.data-columns{gap:36px}
.data-columns h3{font-size:18px}
.data-columns p{font-size:15px;line-height:1.8;margin-top:12px;max-width:50ch}
.flow-steps{border:0;border-radius:0;gap:0;border-block:1px solid var(--line)}
.flow-steps a{padding:20px 16px}
.flow-steps span{font-size:12px;color:var(--muted)}
.flow-steps strong{font-size:17px;margin-block:8px 4px}
.flow-steps small{font-size:12px}
.product-detail,.story-section{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:80px;padding-block:54px;align-items:start}
.detail-heading h2{margin:0}
.detail-copy,.story-body{max-width:var(--reading-width);min-width:0}
.detail-copy>p,.story-body>p{font-size:16px;line-height:1.85;margin:0 0 20px}
.detail-copy>p:last-child,.story-body>p:last-child{margin-bottom:0}
.product-list{font-size:15px;line-height:1.8;margin-block:22px 0;padding-left:18px}
.product-list li{padding-left:5px;margin-bottom:13px}
.product-list li:last-child{margin-bottom:0}
.detail-note{padding:5px 0 5px 20px;margin-top:26px;border:0;border-left:2px solid var(--line);border-radius:0;background:transparent}
.detail-note p{font-size:14px;line-height:1.8;margin-top:8px}
body .story-body .story-emphasis{font-size:19px;line-height:1.6;margin-block:26px;padding-left:20px;border-left:2px solid var(--line)}
body .about-statement{padding-block:48px}
.about-statement>.wrap{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:80px;align-items:start}
body .about-statement h2{margin:0}
.about-statement p:not(.eyebrow){font-size:16px;line-height:1.85;max-width:var(--reading-width)}
.about-principles .data-columns{margin:0}
.product-ai{padding-block:54px}
.ai-explanation{gap:64px}
.ai-explanation h3{font-size:20px;margin-bottom:16px}
.ai-explanation p{font-size:16px;line-height:1.8;margin-bottom:16px;max-width:60ch}
.product-prompt{margin:28px 0;padding:22px 0}
body .product-prompt p{font-size:20px;max-width:70ch;line-height:1.6}
.product-status{grid-template-columns:220px 1fr;gap:30px}
.product-status p{max-width:80ch}
.connector-examples{display:block;margin-bottom:32px}
.connector-examples article{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:64px;padding:25px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.connector-examples h3{font-size:22px;margin:0;max-width:25ch}
.connector-examples p{font-size:16px;line-height:1.8;max-width:var(--reading-width)}
.audience-usecases{gap:32px}
.audience-usecases article{padding:22px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.audience-usecases article:hover{transform:none;box-shadow:none}
.audience-usecases h3{font-size:22px;margin:0 0 14px}
.audience-usecases p:not(.eyebrow){font-size:15px;line-height:1.8}
.audience-consultancies{padding-block:54px}
.audience-scenario{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:0 64px;max-width:none;margin-top:36px;padding-top:28px}
.audience-scenario h3{font-size:22px;line-height:1.4;grid-row:1 / span 2;margin:0}
.audience-scenario p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:var(--reading-width)}
.audience-scenario .text-link{grid-column:2;justify-self:start;margin-top:14px}
.product-faq .section-heading{margin-bottom:20px}
.faq-list summary{font-size:16px;padding-block:19px}
.faq-list details p{font-size:15px;line-height:1.8;max-width:var(--reading-width);padding-bottom:21px}
body .pilot-section{padding-block:40px;gap:48px}
body .pilot-section h2{font-size:26px;margin-bottom:14px}
body .pilot-section .pilot-copy>p:not(.eyebrow){font-size:15px;max-width:70ch}
footer{padding-block:32px 20px;gap:26px;grid-template-columns:1fr 1.5fr}
.footer-links{gap:16px}
@media(max-width:1050px){
  .header{padding-inline:28px;gap:16px}.header nav{gap:16px}.header nav a{font-size:13px}.header-actions{gap:10px}
  .wrap{width:calc(100% - 56px)}.section-heading>div:has(>p),.connector-layout,.product-detail,.story-section,.about-statement>.wrap,.connector-examples article,.audience-scenario{gap:36px}
  .coverage>.coverage-end{font-size:17px}.feature-grid,.audience-usecases{gap:24px}
}
@media(max-width:800px){
  :root{--section-space:44px}.header{height:68px;padding-inline:24px}.header nav{top:68px}
  .hero.wrap,.about-hero.wrap,.product-hero.wrap{padding-block:36px}
  body main h1{font-size:clamp(52px,9vw,72px)}
  body .product-hero h1,body .connector-page .product-hero h1,body .audiences-page .product-hero h1{font-size:clamp(36px,7vw,56px)}
  body .hero-copy,body .about-intro,body .product-hero p:not(.eyebrow){font-size:17px;margin-block:19px}
  .section-heading>div:has(>p),.product-detail,.story-section,.about-statement>.wrap,.connector-examples article,.audience-scenario{grid-template-columns:1fr;gap:20px}
  .section-heading{margin-bottom:26px}body main h2:not(.page-title){font-size:28px}
  .feature-grid{grid-template-columns:1fr}.feature{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;padding-top:22px}
  .feature h3,.feature p{grid-column:1;margin:0}.feature-visual{grid-column:2;grid-row:1 / span 2;margin:0;height:145px}
  .connector-layout{grid-template-columns:1fr;gap:28px}.connector-section,.product-ai,.audience-consultancies{padding-block:44px}
  .connector-copy{max-width:65ch}.connector-demo{max-width:none}
  .product-detail,.story-section{padding-block:38px}.story-body{max-width:65ch}
  .ai-explanation{grid-template-columns:1fr;gap:25px}.product-status{grid-template-columns:1fr;gap:10px}
  .audience-usecases{grid-template-columns:1fr;gap:24px}.audience-usecases article{padding-top:20px}
  .audience-scenario h3{grid-row:auto}.audience-scenario .text-link{grid-column:1;margin-top:0}
  .coverage.wrap{gap:17px}.coverage>.coverage-end{padding-left:0;font-size:18px}
  .flow-steps{grid-template-columns:1fr}.flow-steps a{padding:16px 0}.flow-steps strong{margin:0}
  .flow-steps li+li{border-left:0}.data-section,.about-principles,.audience-fit{padding-block:36px}
  body .pilot-section{gap:22px;padding-block:34px}
  footer{grid-template-columns:1fr 1fr}.footer-links{gap:12px 18px}
}
@media(max-width:520px){
  .wrap{width:calc(100% - 40px)}.header{padding-inline:20px}.header .wordmark{font-size:23px}
  body main h1{font-size:clamp(49px,13vw,66px)}
  body .product-hero h1,body .connector-page .product-hero h1,body .audiences-page .product-hero h1{font-size:clamp(30px,8.7vw,45px)}
  body .hero-copy,body .about-intro,body .product-hero p:not(.eyebrow){font-size:16px}
  .hero-actions{gap:10px}.hero-actions .button{min-width:150px}.button{padding:11px 20px}
  .feature{display:flex;gap:0}.feature p{margin:12px 0 18px}.feature-visual{width:100%;flex-basis:145px}
  .audience-grid,.data-columns{grid-template-columns:1fr;gap:26px}.audience-grid article{padding-top:18px}
  .coverage>.coverage-end{font-size:17px}.coverage-items li{font-size:13px}
  .detail-note{padding-left:16px}.context-card,.client-card{padding:18px}.connector-demo{padding:16px}
  .faq-list summary{gap:18px}.product-overview p{font-size:12px}
  body main h2:not(.page-title){font-size:26px}body main h3:not(.page-title){font-size:21px}
  footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}
}
