/* Shared website hierarchy. Brand text matches the Newsreader 500 wordmark.
   Keep role sizes here instead of adding page-specific display sizes. */
:root{
 --type-display:clamp(36px,4vw,56px);
 --type-section:clamp(30px,3vw,40px);
 --type-brand:28px;
 --type-subhead:24px;
 --type-body:17px;
 --type-lead:var(--type-body);
 --type-ui:16px;
 --type-diagram:14px;
 --type-caption:14px;
 --type-meta:14px;
 --section-space:80px;
 --content-gap:clamp(32px,5vw,72px);
 --editorial-columns:minmax(0,1fr) minmax(0,1.7fr);
}
/* Explicit selectors also cover the shared footer on every language/page. */
.brand-descriptor,
.page-home .eyebrow.brand-descriptor,
.hero-intro>.service-definition.brand-descriptor,
.service-hero .eyebrow.brand-descriptor,
.site-footer .footer-brand .brand-descriptor,
.site-footer .footer-group>.brand-descriptor{
 font-family:Newsreader,Georgia,serif;font-size:var(--type-brand);font-weight:500;
 font-optical-sizing:auto;line-height:1.25;letter-spacing:-.025em;text-transform:none;
}
.site-footer .footer-brand .brand-descriptor{max-width:360px}
.site-footer .footer-group>.brand-descriptor{margin-bottom:8px}
.site-footer .footer-navigation{min-width:0}
.site-footer .footer-group{min-width:0}

/* One title scale for home, service, product and contact openings. */
html[lang] .page-home .hero-intro h1,
html[lang] .detail-hero h1,
html[lang] .contact-page h1{font-size:var(--type-display);line-height:1.12;letter-spacing:-.035em}
html[lang=ko] .page-home .hero-intro h1,
html[lang=ko] .detail-hero h1,
html[lang=ko] .contact-page h1{line-height:1.4;letter-spacing:-.05em}
.hero-intro{gap:28px}
.hero-description{max-width:530px}
.hero-description p,.service-hero .lead,.detail-hero .lead{font-size:var(--type-body);line-height:1.85}

/* Three services use the same hero, media frame and content grid. */
.service-page .service-hero{
 display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
 gap:var(--content-gap);align-items:start;
 padding:64px var(--site-gutter) 48px;background:#fafaf7;
}
.service-hero .eyebrow{margin-bottom:22px;color:var(--service-accent)}
.service-hero .lead{max-width:520px;margin:0}
.service-hero>div{min-width:0}
.service-hero>div:last-child{padding-top:4px}
.service-hero .button{margin-top:26px}
.service-hero-media{padding:0 var(--site-gutter) 56px;background:#fafaf7}
.service-hero-media .service-visual{aspect-ratio:3.4/1;max-height:420px}
.service-hero-media .service-visual img{object-position:center 56%}
.service-hero-media .visual-advisory img{object-position:center 58%}
.service-visual figcaption,.three-services .service-visual figcaption{
 left:28px;right:28px;bottom:24px;padding:0;gap:8px;
}
.service-visual figcaption>span{font-size:var(--type-meta);letter-spacing:.08em}
.service-hero-media .service-visual figcaption>strong,
.three-services .service-visual figcaption>strong{font-size:var(--type-subhead);line-height:1.45;font-weight:500}
.service-visual::after{inset:30% 0 0;background:linear-gradient(transparent,#092219d6)}
.service-page>.section,.service-page>.consulting-cases{
 padding:var(--section-space) var(--site-gutter);
}
.service-section-title,.scope-explorer,.engagement-guide,.service-questions{
 grid-template-columns:var(--editorial-columns);column-gap:var(--content-gap);
}
.service-section-title{margin-bottom:40px}
.service-section-title .eyebrow{padding-top:8px}
.service-questions{row-gap:16px}
.service-questions>div{min-width:0}
.service-page .service-scope-note{text-align:left;margin-left:calc((100% - var(--content-gap))/2.7 + var(--content-gap))}
.advisory-deliverables{border-top:0;margin:0}
.advisory-deliverables>div{grid-template-columns:120px minmax(0,1fr);gap:24px;padding:22px 0}
.advisory-deliverables>div:last-child{border-bottom:0;padding-bottom:0}

/* Repeated content keeps its size whether it is on home or a service page. */
html[lang] .page-home .home-section-heading h2,
html[lang] .case-proposition h2,
html[lang] .service-section-title h2,
html[lang] .engagement-heading h2,
html[lang] .service-questions h2,
html[lang] .closing h2{font-size:var(--type-section);font-weight:400;line-height:1.2;letter-spacing:-.035em}
html[lang=ko] .page-home .home-section-heading h2,
html[lang=ko] .case-proposition h2,
html[lang=ko] .service-section-title h2,
html[lang=ko] .engagement-heading h2,
html[lang=ko] .service-questions h2,
html[lang=ko] .closing h2{line-height:1.45;letter-spacing:-.045em}
html[lang] .startup-entry h2{font-size:var(--type-section)!important;line-height:1.4!important}
html[lang] .three-services .story-copy h3,
.scope-panels [role=tabpanel]>h3,.service-levels dt,.review-contract h5,
.service-page .result-document-head h4{font-size:var(--type-subhead);line-height:1.5;font-weight:500}
.scope-panels [role=tabpanel]>p,.three-services .story-copy p,
.case-detail>p, .case-detail .case-task p,.engagement-detail>p,.engagement-facts dd,
.service-levels p,.service-questions p,.startup-entry p,.advisory-deliverables dd{
 font-size:var(--type-body);line-height:1.85;
}
.scope-navigation button,.service-page .scope-navigation button,
.service-questions summary,.text-link,.button,.case-tabs button,
.three-services .story-category,.three-services .story-copy .service-intent{font-size:var(--type-ui);line-height:1.65}
.three-services .story-category{letter-spacing:0}
.service-levels dt .phase-number{font-size:var(--type-meta)}
.service-page .eyebrow:not(.brand-descriptor),.page-home .eyebrow:not(.brand-descriptor),
.closing>small,.page-home .closing>small,.case-proof-label,.case-single-label,
.case-industry,.case-context,.case-task span,.case-proposition>p,.case-deliverables dt,
.example-context>span,.example-context>small,.example-evidence dt,
.service-page .report-footnote,.service-page .result-insight small,
.review-contract>span,.review-contract p,.review-findings dt,
.profit-summary span,.review-amounts span,.profit-summary strong small,.review-amounts strong small,
.service-levels small,.engagement-facts dt,.engagement-detail .engagement-note,.advisory-deliverables dt{
 font-size:var(--type-caption);line-height:1.7;
}
.case-deliverables dd,.example-evidence dd,.review-findings dd,.service-page .result-insight{font-size:var(--type-ui);line-height:1.8}
.profit-table{font-size:var(--type-ui)}
.profit-table thead th,.profit-table small,.profit-table caption{font-size:var(--type-caption)}
.profit-table b{font-size:var(--type-ui)}
.site-footer .footer-group>a,.site-footer .footer-group>span:not(.brand-descriptor){font-size:var(--type-caption);line-height:1.7}

@media(min-width:761px){
 .service-page .service-hero{min-height:390px}
 .home-section-heading{align-items:start}
 .page-home .home-section-heading .brand-descriptor{padding-top:5px}
}
@media(min-width:761px) and (max-width:1100px){
 .service-page .service-hero{grid-template-columns:1.2fr 1fr}
 .service-page .service-hero h1{font-size:36px}
 .site-footer .footer-navigation{grid-template-columns:1fr 1.7fr}
}
@media(max-width:760px){
 :root{--type-display:clamp(30px,8vw,40px);--type-section:30px;--type-brand:24px;--type-subhead:22px;--type-body:16px;--section-space:48px;--content-gap:28px}
 html[lang] .page-home .hero-intro h1{font-size:clamp(27px,7.8vw,40px);white-space:normal}
 .page-home .home-hero .hero-intro{gap:24px}
 .service-page .service-hero{display:grid;grid-template-columns:1fr;padding:42px var(--site-gutter) 32px;gap:26px}
 .service-hero .eyebrow{margin-bottom:18px}
 .service-hero>div:last-child{padding:0}
 .service-hero h1 br{display:none}
 .service-hero-media{padding:0 var(--site-gutter) 40px}
 .service-hero-media .service-visual{aspect-ratio:1.7/1}
 .service-visual figcaption,.three-services .service-visual figcaption{left:20px;right:20px;bottom:20px;gap:6px}
 .service-hero-media .service-visual figcaption>strong,.three-services .service-visual figcaption>strong{font-size:var(--type-ui);line-height:1.55}
 .service-visual figcaption>span{font-size:var(--type-caption)}
 .service-section-title,.scope-explorer,.engagement-guide,.service-questions{display:block}
 .service-section-title{margin-bottom:28px}
 .service-page .scope-navigation{grid-template-columns:1fr;gap:0;margin-bottom:26px}
 .service-page .scope-navigation button{padding:13px 0;gap:12px}
 .service-page .scope-navigation button>span{font-size:var(--type-caption)}
 .service-page .service-scope-note{margin-left:0}
 .advisory-deliverables>div{grid-template-columns:1fr;gap:6px;padding:18px 0}
 .site-footer .footer-navigation{grid-template-columns:1fr;gap:30px}
 .site-footer .footer-brand .brand-descriptor{max-width:none}
 .service-page .example-evidence dt{font-size:var(--type-caption)}
 .service-page .example-evidence dd{font-size:var(--type-ui)}
 .profit-table{font-size:var(--type-caption)}
 .profit-table b{font-size:var(--type-caption)}
}

/* Small labels follow one readable caption size, including secondary pages. */
.scope-navigation button>span,.scope-navigation button>b,
.channel-row>span,.channel-labels span,
.contact-page .eyebrow,.contact-direct small,.inquiry-privacy,
.page-stocktor main .eyebrow,.page-stocktor .status-line,
.page-stocktor main small,.page-stocktor main time,
.page-stocktor .workspace-label,.page-stocktor .detail-kicker,
.page-stocktor .movement-heading,.page-stocktor .method button,
.page-stocktor .source-state,.page-stocktor .source-title>span{
 font-size:var(--type-caption);line-height:1.65;
}
.profit-table tbody th{font-size:inherit}
.page-stocktor .valuation-overview>div>span,.page-stocktor .valuation-method>span,
.page-stocktor .detail-price>span{font-size:var(--type-caption);line-height:1.65}
.page-stocktor .forecast-metrics b span{font-size:var(--type-caption)}

/* User-approved yellow section accents; preserve brand, heading and action colors. */
:root{--section-label:#806319;--section-label-on-dark:#e3bf4f}
.page-home .home-section-heading>.eyebrow,
.page-home .case-heading>.eyebrow,
.page-home .startup-entry .eyebrow,
.service-page .service-section-title .eyebrow,
.service-page .case-heading>.eyebrow,
.service-page .engagement-heading .eyebrow,
.service-page .service-questions>.eyebrow,
.page-contact .contact-page .eyebrow,
.page-stocktor .section .eyebrow,
.su-page .su-pricing-heading>.su-kicker,
.su-page .su-expertise .su-kicker,
.su-page .su-contact .su-kicker{color:var(--section-label)}
.service-visual figcaption>span,
.su-page .su-photo figcaption>span,
.closing>small,.page-home .closing>small{color:var(--section-label-on-dark)}
/* Retain the existing photo scrim, with enough contrast for yellow labels. */
.service-visual::after{background:linear-gradient(transparent,#092219d9 34%,#092219eb)}
.su-page .su-photo figcaption{background:linear-gradient(transparent,#092219d9 35%,#092219eb)}

/* Copy refinement: reserve the serif hierarchy for actual headings. */
.page-home .home-section-heading{display:block}
.service-hero .eyebrow.service-label{font-family:Wanted,Arial,sans-serif;font-size:var(--type-ui);font-weight:600;line-height:1.5;letter-spacing:.025em;text-transform:none}
.site-footer .footer-brand .footer-definition{font-family:Wanted,Arial,sans-serif;font-size:var(--type-ui);line-height:1.65;letter-spacing:0;max-width:320px}
.service-visual.visual-unlabelled::after{display:none}
.closing>p{grid-column:1;max-width:620px;margin:0;color:inherit;font-size:var(--type-body);line-height:1.85;opacity:.85}
@media(min-width:761px){.closing:has(>p)>.button{grid-column:2;grid-row:2/4;align-self:end}}
