/* CLAUDE-55 role enforcement. Protected home main is intentionally outside this scope. */
[data-typography] main h1{font:400 var(--fs-display)/1.1 Sora,system-ui,sans-serif;hyphens:manual;text-wrap:balance;max-width:20ch;overflow-wrap:anywhere}
[data-typography] main h2{font:400 var(--fs-h2)/1.25 Sora,system-ui,sans-serif;hyphens:manual;text-wrap:balance;overflow-wrap:anywhere}
[data-typography] main h3,[data-typography] main h4{font:400 var(--fs-h3)/1.35 Sora,system-ui,sans-serif;hyphens:manual;text-wrap:balance}
[data-typography] main p,[data-typography] main address{font:var(--fs-body)/1.65 Inter,system-ui,sans-serif;text-wrap:pretty}
[data-typography] main li{font:16px/1.65 Inter,system-ui,sans-serif}
[data-typography] main td,[data-typography] main th,[data-typography] main td p{font:16px/1.5 Inter,system-ui,sans-serif}
[data-typography] main th{font-weight:500}
[data-typography] main button,[data-typography] main input,[data-typography] main select,[data-typography] .content-cta{font:16px/1.5 Inter,system-ui,sans-serif}
[data-typography] main .hero-intro,[data-typography] main .product-intro{font:22px/1.65 Inter,system-ui,sans-serif}
[data-typography] main [data-role=label],[data-typography] main [data-role=meta],[data-typography] main .content-status,[data-typography] main .product-label,[data-typography] main .product-number,[data-typography] main .product-related,[data-typography] main .document-date,[data-typography] main .article-breadcrumb,[data-typography] main .article-byline,[data-typography] main .blog-date,[data-typography] main figcaption,[data-typography] main .legal-note,[data-typography] main .document-toc a,[data-typography] main .document-toc li{font:14px/1.5 Inter,system-ui,sans-serif;letter-spacing:normal;text-transform:none}
[data-typography] main .content-closing p{font:400 var(--fs-h2)/1.25 Sora,system-ui,sans-serif}
[data-typography] main .stage-copy{font:400 var(--fs-stage)/1.18 Sora,system-ui,sans-serif}
[data-typography] main [data-measure] p{max-width:var(--measure)}
[data-typography] main .blog-list h2{font-size:22px;line-height:1.35}
[data-typography] main .blog-list .blog-teaser{font:16px/1.65 Inter,system-ui,sans-serif}
[data-typography] .narrative-layout{display:grid;grid-template-columns:minmax(0,var(--measure)) minmax(0,var(--aside));gap:var(--grid-gap)}
[data-typography] .narrative-layout>.legal-body{grid-column:1}
[data-typography] .narrative-layout .document-toc{display:none}
[data-typography] .content-hero{grid-template-columns:minmax(0,var(--measure)) minmax(0,var(--aside));gap:var(--grid-gap);align-items:start}
[data-typography] .content-hero-image{aspect-ratio:4/5;object-fit:cover}
[data-typography] .content-closing{width:calc(100% - 2 * var(--site-gutter));max-width:var(--site-width);padding:64px 0 0;margin:0 auto 96px}
[data-typography] .content-closing p{font:400 var(--fs-h2)/1.25 Sora,system-ui,sans-serif}
[data-typography] .product-main{width:calc(100% - 2 * var(--site-gutter));max-width:var(--site-width)}
[data-typography] .product-hero,[data-typography] .product-feature{grid-template-columns:minmax(0,var(--measure)) minmax(0,var(--aside));gap:var(--grid-gap)}
[data-typography] .product-hero{padding:64px 0 96px}
[data-typography] .product-feature{padding:0;margin:0 0 96px}
[data-typography] .product-feature .product-copy{grid-column:1;grid-row:1}
[data-typography] .product-feature figure{grid-column:2;grid-row:1;order:0}
[data-typography] .product-hero img{aspect-ratio:4/5}
[data-typography] .product-copy p{max-width:none}
[data-typography] .product-number{display:none}
[data-typography] .product-question-grid{grid-template-columns:1fr;max-width:var(--measure);gap:32px}
[data-typography] .product-question-grid article{padding:0;border:0}
[data-typography] .product-question-grid h3{margin-bottom:16px}
[data-typography] .product-question-grid p{max-width:none}
@media(max-width:760px){[data-typography] main h1{line-height:1.12}[data-typography] main .hero-intro,[data-typography] main .product-intro{font-size:17px}[data-typography] main .stage-copy{line-height:1.15}[data-typography] .narrative-layout,[data-typography] .content-hero,[data-typography] .product-hero,[data-typography] .product-feature{display:flex;flex-direction:column;gap:32px}[data-typography] .product-feature{margin-bottom:64px}[data-typography] .product-feature .product-copy{order:0}[data-typography] .product-feature figure{order:1;width:100%}[data-typography] .content-hero-image{width:100%;max-height:none;aspect-ratio:1.6}[data-typography] .product-hero{padding:40px 0 64px}[data-typography] main [data-measure] p{width:100%;max-width:none}[data-typography] .content-closing{margin-bottom:64px;padding-top:48px}}
[data-typography] .blog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:none}
[data-typography] .blog-list article{position:relative;padding:24px;border:1px solid var(--line);border-radius:10px}
[data-typography] .blog-list article h2{margin:8px 0}.blog-list h2 a:after{content:'';position:absolute;inset:0}
[data-typography] .blog-list .blog-teaser{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0 16px}
[data-typography] .blog-list [data-role]{margin:0}.blog-filters{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0}
.blog-filters a{display:flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:24px;font:14px/1.5 Inter,system-ui,sans-serif}
.blog-filters a[aria-current]{background:var(--ink);color:var(--bg)}
@media(max-width:760px){[data-typography] .blog-list{grid-template-columns:1fr;gap:16px}}
[data-typography] .person-placeholder{font:22px/1.35 Sora,system-ui,sans-serif;min-height:160px;padding:32px;margin:0}
[data-typography] main [data-measure] p{hyphens:manual}
.narrative-aside{grid-column:2;grid-row:1;position:sticky;top:120px}
.address-card{padding:32px;background:var(--wash);border-radius:16px}.address-card h2{margin:0 0 24px}
.contact-details{margin:24px 0}.contact-details dt{margin:24px 0 8px}.contact-details dd{margin:0;font:var(--fs-body)/1.65 Inter,system-ui,sans-serif}
[data-typography] .case-index-layout{display:block}.case-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-bottom:96px}
.case-cards>a{padding:24px;border:1px solid var(--line);border-radius:10px}.case-cards h3{margin:0}
.case-story{display:grid;grid-template-columns:minmax(0,var(--measure)) minmax(0,var(--aside));gap:var(--grid-gap);padding:96px 0;border-bottom:1px solid var(--line)}
.case-story h2{margin:0 0 32px}.case-story figure{margin:0;align-self:start;position:sticky;top:120px}.case-story img{width:100%;height:auto;border-radius:16px}
@media(max-width:760px){.narrative-aside{position:static;width:100%}.case-cards{grid-template-columns:1fr;gap:16px;margin-bottom:64px}.case-story{display:flex;flex-direction:column;gap:32px;padding:64px 0}.case-story figure{position:static}.case-story img{width:100%}}
[data-typography] main [data-role=teaser]{font:16px/1.65 Inter,system-ui,sans-serif}
.case-cards [data-role=label]{display:block;color:var(--muted);margin-bottom:8px}.case-cards h3{margin:8px 0}.case-cards [data-role=teaser]{margin:8px 0 0}
[data-typography] .market-result p{font:16px/1.5 Inter,system-ui,sans-serif}.market-result .stage-copy{margin-bottom:16px}
[data-typography] .market-result [data-role=label]{font:14px/1.5 Inter,system-ui,sans-serif}
[data-typography] main .hero-intro,[data-typography] main .product-intro{line-height:1.35}
[data-typography] main .content-faq{padding:24px 0}
@media(max-width:760px){[data-typography] main .hero-intro,[data-typography] main .product-intro{line-height:1.65}}

.narrative-layout .content-block{position:relative}
.narrative-layout .person-placeholder{position:absolute;left:calc(100% + var(--grid-gap));top:0;width:var(--aside)}
@media(max-width:760px){.narrative-layout .person-placeholder{position:static;width:100%;margin:32px 0}}
