/* Homepage: shared composition tokens from design/impact-design-system.md.
   Pinned scene tracks retain their own timing and internal dimensions. */
.home-page.home-dark-header{
 --page-width:1480px;--gutter:max(clamp(20px,4.4vw,80px),calc((100vw - var(--page-width))/2));
 --home-section-space:96px;--home-heading-space:48px;
 --home-h2:clamp(32px,calc(26.37px + 1.502vw),48px);
 --home-h2-line:1.1875;--line:#d6d6d6;
}
.home-dark-header main>.section,.home-dark-header main>.business-story{
 padding:var(--home-section-space) var(--gutter);
}
.home-dark-header main>.section h2,
.home-dark-header .bm-heading h2,
.home-dark-header .robot-intro h2,
.home-dark-header .robot-copy h2{
 font-size:var(--home-h2);line-height:var(--home-h2-line);letter-spacing:-.015em;font-weight:400;
}
.home-dark-header :is(.section-heading,.mosaic-heading,.industry-intro,.creator-heading,.governance-grid,.bm-heading){gap:24px}
.home-dark-header :is(.section-heading,.mosaic-heading,.industry-intro,.creator-heading,.bm-heading){margin-bottom:var(--home-heading-space)}
.home-dark-header :is(.section-heading>p,.mosaic-heading>p,.bm-heading>p,.creator-heading>p){font-size:clamp(16px,1.25vw,18px);line-height:1.56;color:var(--muted)}
.home-dark-header :is(.work,.promotion-story,.industry-solutions,.creator-network,.growth-strategy,.governance){background:var(--white);color:var(--ink)}
.home-dark-header :is(.growth-story,.meaning-section,.technology-carousel){background:var(--ink);color:var(--white)}
.home-dark-header .growth-story .bm-heading>p{color:var(--muted-dark)}
.home-dark-header .promotion-story .bm-heading .pf-title{font-size:var(--home-h2);line-height:var(--home-h2-line);letter-spacing:-.015em}
.home-dark-header :is(.pf-title-result,.pf-title-arrow){color:var(--brand);stroke:var(--brand)}
.home-dark-header .pf-explanation{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--brand)}
.home-dark-header :is(.pf-caption-stage,.pf-column-head>span,.pf-column-head p,.pf-converter-caption,.pf-bottom>span,.pf-sales div>span,.pf-return>span,.pf-controls button,.pf-model-note,.pf-explanation a){color:var(--muted);font-weight:400}
.home-dark-header :is(.pf-source,.pf-converter){background:var(--white);border-color:var(--line);box-shadow:none}
.home-dark-header .pf-column.is-current :is(.pf-source,.pf-converter){background:var(--white);border-color:var(--brand);box-shadow:none}
.home-dark-header .pf-column.is-current :is(.pf-bottom strong,.pf-source>span){color:var(--ink)}
.home-dark-header .pf-column.is-current .pf-converter svg{stroke:var(--ink)}
.home-dark-header .pf-return>span{background:var(--white)}
.home-dark-header .pf-controls{border-top-color:var(--line)}
.home-dark-header .pf-explanation [data-pf-caption]{color:var(--ink)}
.home-dark-header .industry-grid,.home-dark-header .industry-card{border-color:var(--line)}
.home-dark-header :is(.industry-intro h2 span,.industry-intro p+p,.industry-card p,.industry-card-bottom,.industry-note){color:var(--muted)}
.home-dark-header .industry-number{color:var(--ink)}
.home-dark-header .creator-network :is(.creator-heading>p,.creator-note){color:var(--muted)}
/* Five steps on the twelve-column page grid; no extra card surfaces. */
.strategy-heading{display:grid;grid-template-columns:7fr 5fr;gap:24px;align-items:end;margin-bottom:48px}
.strategy-kicker{font-size:14px;line-height:20px;color:var(--muted);margin-bottom:16px}
.strategy-heading>p{font-size:18px;line-height:28px;max-width:48ch;color:var(--muted)}
.strategy-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.strategy-steps li{min-width:0;border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column}
.strategy-number{font-size:14px;line-height:20px;color:var(--muted);margin-bottom:24px}
.strategy-steps h3{font-size:clamp(24px,1.95vw,28px);line-height:1.28;letter-spacing:-.01em;font-weight:400;margin-bottom:16px;text-wrap:initial}
.strategy-steps li>p{font-size:16px;line-height:26px;color:var(--muted);margin-bottom:24px}
.strategy-output{display:block;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:14px;line-height:20px;color:var(--muted)}
.strategy-output>span{display:block;color:var(--ink);margin-top:8px}
.strategy-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.strategy-bottom p{font-size:16px;line-height:26px;color:var(--muted)}
.strategy-bottom .text-link{margin:0;min-height:44px;display:inline-flex;align-items:center;gap:16px;font-size:16px}
@media(min-width:1650px){.home-dark-header main>.section,.home-dark-header main>.business-story{padding-left:var(--gutter);padding-right:var(--gutter)}}
@media(min-width:768px) and (max-width:1023px){.home-page.home-dark-header{--home-section-space:80px}.strategy-steps{grid-template-columns:repeat(6,minmax(0,1fr))}.strategy-steps li{grid-column:span 2}.strategy-steps li:nth-child(n+4){grid-column:span 3}}
@media(max-width:767px){
 .home-page.home-dark-header{--gutter:20px;--home-section-space:64px;--home-heading-space:32px}
 .strategy-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
 .strategy-heading>p{font-size:16px;line-height:26px}
 .strategy-steps{grid-template-columns:1fr;gap:24px}
 .strategy-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;padding-top:24px}
 .strategy-number{margin:4px 0 0;grid-row:1/4}
 .strategy-steps h3{margin:0;font-size:24px;line-height:31px}.strategy-steps h3 br{display:none}
 .strategy-steps li>p{margin:0}.strategy-output{grid-column:2;margin:0;padding-top:16px}
 .strategy-bottom{flex-direction:column;align-items:start;margin-top:32px}
 /* Keep the three-word scene title within the pinned mobile viewport. */
 .home-dark-header main>.meaning-section .mi-top h2{font-size:25px;line-height:1.2}
}

/* Flat burgundy contact surface and accessible muted text on dark sections. */
.home-dark-header main>.contact{background:var(--wine);color:var(--white)}
.home-dark-header .service-mosaic p{color:var(--muted-dark)}
.home-dark-header .contact-heading h2>span{color:var(--white)}
.home-page.home-dark-header{--wine:#32131d;--ink:#171717;--white:#fff;--brand:#ff5a2b;--muted:#656565;--muted-dark:#a3a3a3}
.home-dark-header .header-cta{background:var(--brand);color:var(--ink)}
.home-dark-header .header-cta svg{color:var(--ink)}
.home-dark-header .premium-home-hero{background:var(--ink)}

.home-dark-header .compact-header .header-cta{background:var(--brand);color:var(--ink);border-radius:8px}
@media(max-width:600px){.home-dark-header .compact-header .header-cta{background:transparent;color:var(--white)}.home-dark-header .compact-header .header-cta svg{color:var(--white)}}

/* The promotion heading and its explanation share one desktop row. */
@media(min-width:1100px){
 .home-dark-header .promotion-story .bm-heading{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:5%;align-items:center}
 .home-dark-header .promotion-story .bm-heading>p{justify-self:start;max-width:none}
}

/* The white growth panel has its own text palette inside the dark section. */
.home-dark-header .growth-story .growth-board{color:var(--ink,#171717)}
.growth-layout>div{min-width:0}
.growth-lever h3[data-growth-title]{max-width:100%;overflow-wrap:break-word;text-wrap:initial;height:auto}
/* Mobile reading rhythm for the non-pinned sections. Clip X without creating
   a scrolling ancestor that would break the sticky narrative scenes. */
html{overflow-x:clip}
.home-page.home-dark-header main{overflow-x:clip;overflow-y:visible}
@media(max-width:767px){
 .home-page.home-dark-header{--gutter:20px;--home-section-space:56px;--home-heading-space:26px}
 .home-dark-header main>:is(.intro,.service-mosaic,.work,.expertise,.industry-solutions,.creator-network,.governance,.contact) h2{font-size:clamp(28px,7.8vw,34px);line-height:1.17;letter-spacing:-.025em}
 .home-dark-header :is(.section-heading,.mosaic-heading,.industry-intro,.creator-heading,.creator-gallery-caption,.governance-grid){grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}
 .home-dark-header :is(.section-heading>p,.mosaic-heading p,.industry-intro p,.creator-intro p,.governance-grid>div:first-child>p){font-size:15px;line-height:1.65;max-width:38ch}
 .home-dark-header .intro-grid{grid-template-columns:minmax(0,1fr);gap:22px}
 .home-dark-header .intro-copy{font-size:16px;line-height:1.65;max-width:36ch}
 .home-dark-header .intro-copy p+p{margin-top:14px}
 .home-dark-header .intro-copy .text-link{margin-top:20px;min-height:44px;font-size:14px}
 .home-dark-header .intro .proof-numbers{display:grid;width:100%;margin-top:30px;padding-top:22px;gap:16px 12px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
 .home-dark-header .proof-numbers>div{display:flex;flex-direction:column;gap:7px;min-width:0}
 .home-dark-header .proof-numbers span{font-size:34px;line-height:1.1}
 .home-dark-header .proof-numbers p{font-size:12px;line-height:1.45;max-width:100%}
 .home-dark-header .intro .kinetic-strip{margin-top:28px;padding:16px 0 0;font-size:34px}
 .home-dark-header .intro .kinetic-strip-row.reverse{display:flex;margin-top:12px}
 .home-dark-header .creator-heading h2 br{display:none}
 .home-dark-header .creator-gallery-caption h3{font-size:25px;line-height:1.25}
 .home-dark-header .creator-gallery-caption p,.home-dark-header .creator-process p{font-size:14px;line-height:1.65}
 .home-dark-header .creator-process{grid-template-columns:1fr;gap:24px;padding:28px 0}
 .home-dark-header .creator-process article{border-top:1px solid var(--line);padding-top:18px}
 .home-dark-header .creator-process h4{font-size:22px;margin-top:12px}
 .home-dark-header .governance-rows h3{font-size:22px}
 .home-dark-header .governance-rows p{font-size:15px;line-height:1.65;margin-top:12px}
 .home-dark-header .industry-card h3{font-size:23px}.home-dark-header .industry-card p{font-size:14px;line-height:1.55}.home-dark-header .industry-card-bottom{font-size:11px;line-height:1.5}
 .home-dark-header .creator-bottom,.home-dark-header .industry-bottom{align-items:start;flex-direction:column;gap:18px}
 .home-dark-header .governance-grid>div:first-child>p{margin-top:20px}
}
@media(max-width:360px){.home-dark-header .proof-numbers span{font-size:30px}.home-dark-header .proof-numbers p{font-size:11px}}

/* Match the promotion title to the other mobile section headings. */
@media(max-width:767px){
 .home-dark-header .promotion-story .bm-heading .pf-title{font-size:clamp(28px,7.8vw,34px);line-height:1.17;letter-spacing:-.025em}
 .home-dark-header .promotion-story .pf-title-line{flex-wrap:wrap;white-space:normal;column-gap:.16em;row-gap:0}
}
