/* Public content only: the established studio palette, with a calmer reading rhythm. */
.public-page .page-intro>p:not(.kicker){max-width:66ch;margin-top:25px;font-size:clamp(17px,1.45vw,19px);line-height:1.75;color:var(--muted);text-wrap:pretty}
.public-page .page-intro h1{line-height:1.1;letter-spacing:-.045em;text-wrap:balance}
.public-page .page-intro .kicker{margin-bottom:20px}
.public-page :is(.service-detail,.education-section,.research-walkthrough,.process-path,.faq-section,.studio-section)[id]{scroll-margin-top:36px}
.public-page .public-section-links{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:30px}
.public-page .public-section-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:6px;color:var(--accent-strong);font-size:14px;text-decoration:none;transition:background 150ms}
.public-page .public-section-links a:hover{background:#e5eadb}
.public-page :is(.section-heading>p,.offer-row p,.service-detail ul,.service-detail p:not(.kicker):not(.service-lede):not(.example-note),.process-path p,.faq-section details p,.education-comparison p,.research-card p,.research-honesty p,.research-records dd,.research-review-explanation,.research-measures p){font-size:16px;line-height:1.75;text-wrap:pretty}
.public-page :is(.section-heading>p,.learn-teaser p:not(.kicker),.research-teaser p:not(.kicker)){max-width:54ch}
.public-page :is(.offer-row,.research-card){transition:background 160ms,border-color 160ms; border:1px solid transparent}
.public-page :is(.offer-row,.research-card):focus-visible{border-color:#6d805a;outline-offset:4px}
.public-page :is(.offer-row,.research-card):hover .offer-arrow{transform:translateX(3px)}
.public-page .offer-arrow{transition:transform 160ms}
.public-page .service-detail h2{font-size:clamp(29px,3vw,39px);line-height:1.2;letter-spacing:-.035em}
.public-page .service-detail>div:last-child{min-width:0}
.public-page .service-detail .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:15px;text-wrap:balance}
.public-page .process-path article{min-width:0}
.public-page .process-path .step-output{font-size:13px;line-height:1.55;max-width:28ch}
.public-page .faq-section summary{min-height:68px;font-size:17px;line-height:1.45;text-wrap:pretty}
.public-page .faq-section summary>span{flex-shrink:0;transition:transform 150ms}
.public-page .faq-section details p{max-width:68ch}
.public-page .education-heading h2{line-height:1.15;text-wrap:balance}
.public-page .education-flow{font-size:15px;line-height:1.6}
.public-page .education-section>p{font-size:18px;line-height:1.85;text-wrap:pretty}
.public-page .reading-note{font-size:15px;line-height:1.75;color:var(--muted)}
.public-page .reading-note p+p{margin-top:15px}
.public-page .research-detail-intro>.text-link{font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.public-page :is(.research-example-label,.research-tag){font-size:12px;line-height:1.55}
.public-page .research-card-link{font-size:14px}
.public-page .research-card h2{line-height:1.25;text-wrap:balance}
.public-page .research-back{font-size:14px}
.public-page .research-demo-heading h2{font-size:clamp(23px,2.1vw,29px);line-height:1.45;text-wrap:balance}
.public-page .research-steps button{font-size:15px;line-height:1.4;gap:10px;min-height:76px}
.public-page .research-steps button>span{font-size:12px}
.public-page .research-stage-content{min-height:0;padding:clamp(24px,3vw,40px)}
.public-page .research-stage-content h3{font-size:clamp(25px,2.3vw,32px);line-height:1.3;scroll-margin-top:36px;text-wrap:balance}
.public-page .research-stage-label,.public-page .research-records dt{font-size:14px;line-height:1.55}
.public-page .research-stage-content .button,.public-page .research-review-actions .text-button,.public-page .research-hold .text-button{font-size:15px;min-height:44px}
.public-page .research-hold,.public-page .research-decision{font-size:15px;line-height:1.7}
.public-page .research-review-record>span,.public-page .research-decision>span,.public-page .research-local-note{font-size:13px;line-height:1.65}
.public-page .research-review-record>p{font-size:17px}
.public-page .research-local-note{max-width:72ch}
.public-page .research-flow-feedback{padding:15px 24px;background:var(--surface-tint);color:var(--accent-strong);font-size:14px;line-height:1.65;border-top:1px solid #d4dacb;min-height:1.6em;margin:0}
.public-page .research-other{font-size:14px;gap:12px 24px}
.public-page .research-other>a{font-size:14px}
.public-page .public-next-link{margin-top:24px;font-size:16px;line-height:1.75}
.public-page .public-next-link a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:950px){.public-page .research-steps button{padding:16px 13px;font-size:14px}.public-page .service-detail{gap:6%}.public-page .section-heading>p{max-width:48ch}}
@media(max-width:650px){
 .public-page .page-intro{padding-block:38px 44px}.public-page .page-intro h1{font-size:clamp(34px,8.7vw,44px)}
 .public-page .page-intro>p:not(.kicker){font-size:17px;margin-top:22px}
 .public-page .public-section-links{gap:8px;margin-top:24px}.public-page .public-section-links a{font-size:13px;padding:8px 11px}
 .public-page .offer-row h3{font-size:20px;line-height:1.3}.public-page .offer-row p{font-size:15px;line-height:1.65}
 .public-page .service-detail{gap:28px}.public-page .service-detail .service-lede{font-size:21px}.public-page .service-detail ul{font-size:16px}
 .public-page .service-art{max-width:350px;padding:0 12px}.public-page .service-art>span{font-size:12px}
 .public-page .process-path p{font-size:16px}.public-page .process-path .step-output{max-width:32ch}
 .public-page .faq-section summary{padding:19px 18px;font-size:16px}.public-page .faq-section details p{font-size:16px}
 .public-page .education-section>p{font-size:17px}.public-page .education-comparison p{font-size:16px}.public-page .education-heading h2{font-size:30px}
 .public-page .research-card{gap:13px;padding:24px 20px}.public-page .research-card p{font-size:15px}.public-page .research-card-link{font-size:14px}
 .public-page .research-steps button{font-size:14px;min-height:70px;padding:15px 12px}.public-page .research-stage-content{padding:25px 20px}
 .public-page .research-records>div{gap:7px}.public-page .research-records dd{font-size:16px}
 .public-page .research-review-actions{align-items:stretch;gap:10px}.public-page .research-review-actions .button{width:100%;justify-content:space-between}
 .public-page .research-review-actions .text-button{padding:10px 0}.public-page .research-flow-feedback{padding:14px 20px}
 .public-page .research-hold{padding:16px}.public-page .research-next p:not(.kicker){font-size:16px}.public-page .research-other>a{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.public-page :is(.offer-row,.research-card,.offer-arrow,.public-section-links a,.faq-section summary>span){transition:none}}
@media(max-width:650px){.public-page .service-detail>.service-art{order:2}.public-page .service-detail>div:last-child{order:1}}
/* Coloured hero phrases form their own balanced lines at every width. */
.public-page :is(.page-intro,.hero-intro,.canvas-product-hero) h1>span{display:block;text-wrap:balance}
.public-page :is(.page-intro,.hero-intro,.canvas-product-hero) h1>br{display:none}
/* Rows without a sequence number: the heading takes the first column. */
.public-page .offer-rows-plain .offer-row{grid-template-columns:1fr 1.1fr 35px}
@media(max-width:980px){.public-page .offer-rows-plain .offer-row{grid-template-columns:1fr .9fr 25px}}
@media(max-width:650px){.public-page .offer-rows-plain .offer-row{grid-template-columns:1fr 23px}.public-page .offer-rows-plain .offer-row p{grid-column:1}.public-page .offer-rows-plain .offer-row .offer-arrow{grid-column:2}}
.public-page .hero-intro .studio-note{display:block}

/* Product work belongs in the page, without displacing the studio illustration. */
.home-bench{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(32px,5vw,76px);align-items:center}
.home-bench-copy h2{font-size:clamp(30px,3.6vw,46px);line-height:1.15;letter-spacing:-.035em;text-wrap:balance;margin:0 0 24px}
.home-bench-copy>p:not(.kicker){font-size:17px;line-height:1.75;max-width:43ch;text-wrap:pretty;color:var(--muted)}
.home-bench-copy .text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:14px}
.home-bench-copy p.home-bench-status{font-size:13px;margin-top:16px}
.home-bench-capture{margin:0;min-width:0}
.home-bench-capture>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:var(--surface-tint);border-radius:8px 8px 0 0;font-size:13px}
.home-bench-capture>div>span{color:var(--muted)}
.home-bench-image{display:block;position:relative;aspect-ratio:1280/626;overflow:hidden;background:var(--surface-tint);border-radius:0 0 8px 8px}
.home-bench-image img{position:absolute;width:100%;max-width:none;height:auto;top:calc(-94 / 626 * 100%);left:0}
.home-bench-capture figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px;text-wrap:pretty}
.public-page :is(h1,h2,h3){text-wrap:balance}
.public-page .studio-strip strong{font-weight:650}
@media(max-width:800px){.home-bench{grid-template-columns:minmax(0,1fr);gap:30px}.home-bench-copy>p:not(.kicker){max-width:58ch}}
