/* Foaster blanc (white variant of noir.css): the continuous homepage in the tones of the launch film.
   Loaded after home-continuous.css; everything is scoped to body.theme-blanc. */
html:has(body.theme-blanc){background:#fff;color-scheme:light}
body.refined.home-revised.home-continuous.theme-blanc{--n-bg:#fff;--n-raise:#f3f3f1;--n-ink:#111110;--n-mut:rgba(17,17,16,.6);--n-dim:rgba(17,17,16,.34);--n-line:rgba(17,17,16,.12);--n-paper:#dcd8cf;--lc-ink:var(--n-ink);--lc-muted:var(--n-mut);--lc-line:var(--n-line);--section-space:140px;background:var(--n-bg);color:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc ::selection{background:#111110;color:#fff}

/* Header: untouched from the continuous page (white fade, dark wordmark once the film has left). */
body.refined.home-revised.home-continuous.theme-blanc{--pp-ink:var(--n-ink);--pp-text:var(--n-ink);--pp-muted:var(--n-mut);--pp-surface:var(--n-raise);--pp-line:var(--n-line)}
body.refined.home-revised.home-continuous.theme-blanc .lh-button-dark{min-height:46px;padding-inline:26px}
body.refined.home-revised.home-continuous.theme-blanc :is(.lh-content,.lc-footer) :focus-visible{outline:2px solid currentColor;outline-offset:6px}

/* Film frame. The picture no longer docks beside the text: it rises and the statement follows. */
body.refined.home-revised.home-continuous.theme-blanc .lh-film{background:#fff}
body.refined.home-revised.home-continuous.theme-blanc .lh-frame-caption{color:var(--n-mut)}
body.refined.home-revised.home-continuous.theme-blanc .lh-content{background:transparent}
html.lc-motion-ready body.refined.home-revised.home-continuous.theme-blanc .lc-film-slot,body.refined.home-revised.home-continuous.theme-blanc .lc-film-slot{display:none}
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
 html.lc-motion-ready body.refined.home-revised.home-continuous.theme-blanc .lh-content{margin-top:-16svh}
 html.lc-motion-ready body.refined.home-revised.home-continuous.theme-blanc .lh-intro{display:block;min-height:0}
}

/* Statement: one large paragraph that lights up word by word as it is read. */
body.refined.home-revised.home-continuous.theme-blanc .lh-intro{display:block;max-width:1440px;width:calc(100% - var(--lc-gutter)*2);margin-inline:auto;min-height:0;padding:clamp(90px,16svh,170px) 0 clamp(120px,20svh,220px);background:transparent}
body.refined.home-revised.home-continuous.theme-blanc .lc-intro-copy{max-width:none;margin:0}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lh-intro h2{display:flex;gap:.5em;flex-wrap:wrap;font-size:13px;line-height:1.4;letter-spacing:.01em;font-weight:500;color:var(--n-ink);margin:0 0 clamp(40px,6vw,84px);padding-top:22px;border-top:1px solid var(--n-line)}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro h2 span{color:var(--n-mut)}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro .lh-statement{font-size:clamp(31px,4.5vw,76px);line-height:1.07;letter-spacing:-.045em;font-weight:500;max-width:19.5em;color:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc .lh-statement span{color:rgba(17,17,16,.16);transition:color .25s linear}
body.refined.home-revised.home-continuous.theme-blanc .lh-statement span.is-read{color:var(--n-ink)}

/* Shared type: every section opens on a hairline, a small label and a very large title. */
body.refined.home-revised.home-continuous.theme-blanc .eyebrow{color:var(--n-mut);letter-spacing:.01em;text-transform:none;font-size:13px;font-weight:500;margin:0 0 clamp(36px,5vw,72px);padding-top:22px;border-top:1px solid var(--n-line)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc :is(#platform-title,#fm-kg-title,#audiences-title,#proof-title){color:var(--n-ink);font-size:clamp(40px,6.2vw,104px);line-height:.98;letter-spacing:-.055em;max-width:none}
body.refined.home-revised.home-continuous.theme-blanc .home-section-heading{margin-bottom:clamp(64px,9vw,140px)}
body.refined.home-revised.home-continuous.theme-blanc .text-link,body.refined.home-revised.home-continuous.theme-blanc .platform-links .text-link,body.refined.home-revised.home-continuous.theme-blanc .home-proof .text-link{color:var(--n-ink);border-color:var(--n-dim);transition:border-color .3s}
body.refined.home-revised.home-continuous.theme-blanc .text-link:hover{border-color:var(--n-ink)}

/* Platform: four numbered acts. The numeral leads, the product plays in a dark screen beside it. */
body.refined.home-revised.home-continuous.theme-blanc [data-platform-story]{margin-top:0;padding-top:0}
body.refined.home-revised.home-continuous.theme-blanc .platform-story-reader{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,6vw,112px)}
body.refined.home-revised.home-continuous.theme-blanc .platform-story-pin::before{background:#f3f3f1;box-shadow:inset 0 0 0 1px var(--n-line);width:100%}
body.refined.home-revised.home-continuous.theme-blanc .lc-chapter-progress{color:var(--n-mut)}
body.refined.home-revised.home-continuous.theme-blanc .lc-chapter-progress::before{background:var(--n-line)}
body.refined.home-revised.home-continuous.theme-blanc .lc-chapter-progress i{background:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc .story-beat{padding-block:clamp(70px,13svh,130px)}
body.refined.home-revised.home-continuous.theme-blanc .story-beat-index{display:block;height:auto;width:auto;min-height:0;border-radius:0;font-size:clamp(96px,13vw,210px);font-weight:500;line-height:.8;letter-spacing:-.07em;margin:0 0 clamp(32px,4vw,56px) -.05em;color:rgba(17,17,16,.1);font-variant-numeric:tabular-nums;transition:color .8s cubic-bezier(.2,.7,.2,1)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .story-beat h3{max-width:none;font-size:clamp(28px,2.9vw,46px);line-height:1.06;letter-spacing:-.04em;color:rgba(17,17,16,.22);transition:color .8s cubic-bezier(.2,.7,.2,1)}
body.refined.home-revised.home-continuous.theme-blanc .story-beat>p{max-width:500px;font-size:17px;line-height:1.65;color:rgba(17,17,16,.16);transition:color .8s cubic-bezier(.2,.7,.2,1)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .story-beat.is-current h3{color:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc .story-beat.is-current>p{color:var(--n-mut)}
body.refined.home-revised.home-continuous.theme-blanc .story-beat.is-current .story-beat-index{color:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc .platform-story-reader+.platform-links{justify-content:flex-start;margin-top:40px;padding-top:22px;border-top:1px solid var(--n-line)}
body.refined.home-revised.home-continuous.theme-blanc .story-flow-chapter{color:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc .story-flow-chapter.has-vector-scene figure{background:#f3f3f1;box-shadow:inset 0 0 0 1px var(--n-line)}
body.refined.home-revised.home-continuous.theme-blanc .story-flow-index{display:block;color:var(--n-ink);font-size:84px;font-weight:500;line-height:.8;letter-spacing:-.07em;margin-bottom:26px}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .story-flow-copy h3{color:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc .story-flow-copy p{color:var(--n-mut)}

/* Evidence graph: same dark screen, full width. */
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section{padding-block:clamp(120px,20svh,220px) 0}
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section::before{display:none}
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading{display:block;margin-bottom:clamp(48px,6vw,90px);padding-top:22px;border-top:1px solid var(--n-line)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading h2{color:var(--n-ink);max-width:none;margin:clamp(36px,5vw,72px) 0 0}
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading p{color:var(--n-mut);font-size:clamp(17px,1.5vw,22px);line-height:1.5;letter-spacing:-.015em;max-width:560px;margin:clamp(28px,3vw,44px) 0 0 auto}
body.refined.home-revised.home-continuous.theme-blanc .fm.fm-kg-stage{background:#f3f3f1;box-shadow:inset 0 0 0 1px var(--n-line)}

/* Audiences: two typographic panels that invert on hover. No imagery. */
body.refined.home-revised.home-continuous.theme-blanc .home-audiences{padding-top:clamp(120px,20svh,220px)}
body.refined.home-revised.home-continuous.theme-blanc .home-audiences .home-section-heading{display:block}
body.refined.home-revised.home-continuous.theme-blanc .audience-panels{gap:20px}
body.refined.home-revised.home-continuous.theme-blanc .audience-panel{aspect-ratio:auto;min-height:clamp(320px,34vw,520px);display:flex;background:transparent;border:1px solid var(--n-line);border-radius:24px;color:var(--n-ink);clip-path:inset(0 0 var(--n-clip,0%) 0 round 24px);transition:background .6s cubic-bezier(.2,.7,.2,1),color .6s cubic-bezier(.2,.7,.2,1),border-color .6s}
body.refined.home-revised.home-continuous.theme-blanc .audience-panel::after,body.refined.home-revised.home-continuous.theme-blanc .audience-panel:nth-child(2)::after{display:none}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy{color:inherit;position:static;inset:auto;display:flex;flex-direction:column;width:100%;padding:clamp(28px,3vw,48px)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .audience-copy h3{color:inherit;font-size:clamp(30px,3.6vw,58px);line-height:1;letter-spacing:-.05em;transition:none}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy p{color:inherit;opacity:.62;max-width:440px;font-size:17px;line-height:1.6;margin-top:24px}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy .audience-link{color:inherit;margin-top:auto;padding-top:48px;border:0;display:flex;justify-content:space-between;align-items:center;font-size:14px}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy .audience-link::after{content:"\2197";font-size:22px;line-height:1;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){
 body.refined.home-revised.home-continuous.theme-blanc .audience-panel:hover{background:var(--n-ink);color:#fff;border-color:var(--n-ink)}
 body.refined.home-revised.home-continuous.theme-blanc .audience-panel:hover .audience-link::after{transform:translate(4px,-4px)}
}

/* Proof: the number carries the section. */
body.refined.home-revised.home-continuous.theme-blanc .home-proof{padding:clamp(120px,20svh,220px) 0 clamp(110px,18svh,200px);align-items:end}
body.refined.home-revised.home-continuous.theme-blanc .n-count{display:flex;flex-direction:column;color:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc .n-count-num{font-size:clamp(120px,19vw,320px);font-weight:500;line-height:.82;letter-spacing:-.07em;margin-left:-.05em;font-variant-numeric:tabular-nums}
body.refined.home-revised.home-continuous.theme-blanc .n-count-label{margin-top:34px;font-size:15px;line-height:1.5;color:var(--n-mut);max-width:260px}
body.refined.home-revised.home-continuous.theme-blanc .n-count ul{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
body.refined.home-revised.home-continuous.theme-blanc .n-count li{border:1px solid var(--n-line);border-radius:999px;padding:8px 16px;font-size:12px;letter-spacing:.02em;color:var(--n-ink)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .home-proof #proof-title{color:var(--n-ink);font-size:clamp(34px,3.6vw,56px)}
body.refined.home-revised.home-continuous.theme-blanc .home-proof>div>p:not(.eyebrow){color:var(--n-mut);font-size:17px;line-height:1.7}

/* Closing: the film returns, dimmed, behind the last call. */
body.refined.home-revised.home-continuous.theme-blanc .lc-footer{--n-ink:#f3efe8;--n-mut:rgba(243,239,232,.62);--n-dim:rgba(243,239,232,.3);--n-line:rgba(243,239,232,.13);background:#0a0a09;color:var(--n-ink);padding-top:150px;min-height:0}
body.refined.home-revised.home-continuous.theme-blanc .lc-close-matter{inset:0 0 0 auto;width:62%;opacity:1;background-image:linear-gradient(90deg,#0a0a09 0%,rgba(10,10,9,.82) 30%,rgba(10,10,9,.28) 68%,rgba(10,10,9,.5) 100%),linear-gradient(180deg,#0a0a09 0%,rgba(10,10,9,0) 34%,rgba(10,10,9,0) 62%,#0a0a09 96%),url('./videos/launch-v40/hero-4k.jpg');background-size:100% 100%,100% 100%,cover;background-position:center,center,50% 30%;background-repeat:no-repeat;-webkit-mask-image:none;mask-image:none;filter:saturate(.75) brightness(.8);transform:scale(var(--n-zoom,1));transform-origin:50% 40%}
body.refined.home-revised.home-continuous.theme-blanc .lc-closing{padding-bottom:150px}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lc-closing h2{color:var(--n-ink);font-size:clamp(40px,5.6vw,92px);line-height:1;letter-spacing:-.05em;margin-bottom:44px}
body.refined.home-revised.home-continuous.theme-blanc .lc-watch{color:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc .lc-legal{color:var(--n-mut);border-color:var(--n-line)}
body.refined.home-revised.home-continuous.theme-blanc .lc-legal a{color:var(--n-mut)}
body.refined.home-revised.home-continuous.theme-blanc .lc-legal a:hover{color:var(--n-ink)}

body.refined.home-revised.home-continuous.theme-blanc .lc-footer .lh-button-dark{background:#f3efe8;color:#0a0a09}
body.refined.home-revised.home-continuous.theme-blanc .lc-footer .lh-button-dark:hover{background:#fff}
body.refined.home-revised.home-continuous.theme-blanc .lc-footer .eyebrow{color:var(--n-mut);border-color:var(--n-line)}

/* Scroll-linked reveals driven by noir.js. Without the script everything is simply visible. */
body.refined.home-revised.home-continuous.theme-blanc .n-lines .n-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
body.refined.home-revised.home-continuous.theme-blanc .n-lines .n-line-in{display:block;will-change:transform}
html.n-ready body.refined.home-revised.home-continuous.theme-blanc .n-lines .n-line-in{transform:translate3d(0,calc((1 - var(--n-p,0)) * 108%),0)}
html.n-ready body.refined.home-revised.home-continuous.theme-blanc [data-n-rise]{opacity:var(--n-p,0);transform:translate3d(0,calc((1 - var(--n-p,0)) * 34px),0);will-change:transform,opacity}

@media(max-width:760px){
 body.refined.home-revised.home-continuous.theme-blanc{--section-space:90px}
 body.refined.home-revised.home-continuous.theme-blanc .lh-intro{width:calc(100% - 48px);padding:70px 0 96px}
 body.refined.home-revised.home-continuous.theme-blanc .lh-intro .lh-statement{font-size:31px;line-height:1.1}
 html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc :is(#platform-title,#fm-kg-title,#audiences-title,#proof-title){font-size:40px;line-height:1}
 body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section{padding-block:96px 0}
 body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading p{margin-left:0}
 body.refined.home-revised.home-continuous.theme-blanc .home-audiences{padding-top:96px}
 body.refined.home-revised.home-continuous.theme-blanc .audience-panel{min-height:0}
 body.refined.home-revised.home-continuous.theme-blanc .audience-copy .audience-link{padding-top:36px}
 body.refined.home-revised.home-continuous.theme-blanc .home-proof{padding:96px 0}
 body.refined.home-revised.home-continuous.theme-blanc .n-count-num{font-size:42vw}
 body.refined.home-revised.home-continuous.theme-blanc .lc-footer{padding-top:90px}
 body.refined.home-revised.home-continuous.theme-blanc .lc-closing{padding-bottom:90px}
 html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lc-closing h2{font-size:42px;line-height:1.04}
 body.refined.home-revised.home-continuous.theme-blanc .lc-close-matter{width:100%;opacity:.45}
}
@media(prefers-reduced-motion:reduce){
 html.n-ready body.refined.home-revised.home-continuous.theme-blanc .n-lines .n-line-in,html.n-ready body.refined.home-revised.home-continuous.theme-blanc [data-n-rise]{transform:none;opacity:1}
 body.refined.home-revised.home-continuous.theme-blanc .audience-panel{clip-path:inset(0 round 24px)}
}

/* Finer scale for the white version. */
body.refined.home-revised.home-continuous.theme-blanc .lh-intro{padding:clamp(80px,13svh,140px) 0 clamp(96px,15svh,170px)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lh-intro h2{margin-bottom:clamp(32px,4vw,56px)}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro .lh-statement{font-size:clamp(24px,2.7vw,42px);line-height:1.22;letter-spacing:-.03em;font-weight:450;max-width:21em}
body.refined.home-revised.home-continuous.theme-blanc .lh-statement span{color:rgba(17,17,16,.2)}
body.refined.home-revised.home-continuous.theme-blanc .eyebrow{margin-bottom:clamp(28px,3.4vw,48px)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc :is(#platform-title,#fm-kg-title,#audiences-title,#proof-title){font-size:clamp(34px,3.9vw,62px);line-height:1.05;letter-spacing:-.042em}
body.refined.home-revised.home-continuous.theme-blanc .home-section-heading{margin-bottom:clamp(56px,6vw,96px)}
body.refined.home-revised.home-continuous.theme-blanc .story-beat-index{font-size:clamp(56px,6.4vw,104px);font-weight:400;letter-spacing:-.055em;line-height:.85;margin-bottom:clamp(24px,2.6vw,40px);color:rgba(17,17,16,.14)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .story-beat h3{font-size:clamp(24px,2.25vw,34px);line-height:1.14;letter-spacing:-.032em;color:rgba(17,17,16,.3)}
body.refined.home-revised.home-continuous.theme-blanc .story-beat>p{font-size:16px;line-height:1.7;color:rgba(17,17,16,.26)}
body.refined.home-revised.home-continuous.theme-blanc .platform-story-pin::before,body.refined.home-revised.home-continuous.theme-blanc .fm.fm-kg-stage,body.refined.home-revised.home-continuous.theme-blanc .story-flow-chapter.has-vector-scene figure{box-shadow:none}
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section{padding-top:clamp(110px,16svh,180px)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading h2{margin-top:clamp(28px,3.4vw,48px)}
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading p{font-size:17px;line-height:1.65;letter-spacing:-.005em;max-width:480px}
body.refined.home-revised.home-continuous.theme-blanc .home-audiences{padding-top:clamp(110px,16svh,180px)}
body.refined.home-revised.home-continuous.theme-blanc .audience-panel{min-height:clamp(260px,25vw,380px);border-radius:20px;clip-path:inset(0 0 var(--n-clip,0%) 0 round 20px)}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .audience-copy h3{font-size:clamp(26px,2.5vw,38px);line-height:1.08;letter-spacing:-.035em}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy p{font-size:16px;margin-top:18px}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy .audience-link{font-size:13px}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy .audience-link::after{font-size:18px}
body.refined.home-revised.home-continuous.theme-blanc .home-proof{padding:clamp(110px,16svh,180px) 0 clamp(100px,15svh,170px)}
body.refined.home-revised.home-continuous.theme-blanc .n-count-num{font-size:clamp(110px,16vw,260px);font-weight:450}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .home-proof #proof-title{font-size:clamp(30px,3vw,46px)}
body.refined.home-revised.home-continuous.theme-blanc .home-proof>div>p:not(.eyebrow){font-size:16px;line-height:1.7}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lc-closing h2{font-size:clamp(36px,4.4vw,70px);line-height:1.04;letter-spacing:-.045em;margin-bottom:36px}
body.refined.home-revised.home-continuous.theme-blanc .lc-footer{padding-top:clamp(100px,14svh,150px)}
body.refined.home-revised.home-continuous.theme-blanc .lc-closing{padding-bottom:clamp(100px,14svh,150px)}
@media(max-width:760px){
 body.refined.home-revised.home-continuous.theme-blanc .lh-intro .lh-statement{font-size:24px;line-height:1.25}
 html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc :is(#platform-title,#fm-kg-title,#audiences-title,#proof-title){font-size:32px;line-height:1.08}
 body.refined.home-revised.home-continuous.theme-blanc .story-flow-index{font-size:56px;font-weight:400}
 body.refined.home-revised.home-continuous.theme-blanc .n-count-num{font-size:36vw}
 html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lc-closing h2{font-size:36px}
}

/* No horizontal rules between sections: spacing alone separates them. */
body.refined.home-revised.home-continuous.theme-blanc .eyebrow,body.refined.home-revised.home-continuous.theme-blanc .lc-footer .eyebrow{border-top:0;padding-top:0}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lh-intro h2{border-top:0;padding-top:0}
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading{border-top:0;padding-top:0}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading h2{margin-top:0}
body.refined.home-revised.home-continuous.theme-blanc .platform-story-reader+.platform-links{border-top:0;padding-top:0}


/* Round 3: neutral stages (colour only where it means something: file icons, approvals, highlights),
   the type scale of the numbered beats everywhere, and a fuller two-column rhythm. */
body.refined.home-revised.home-continuous.theme-blanc{--n-col:minmax(0,1.06fr) minmax(0,1fr);--n-gap:clamp(48px,6.4vw,112px);--n-sec:clamp(84px,12svh,136px)}
body.refined.home-revised.home-continuous.theme-blanc .platform-story-pin::before,body.refined.home-revised.home-continuous.theme-blanc .story-flow-chapter.has-vector-scene figure,body.refined.home-revised.home-continuous.theme-blanc .fm.fm-kg-stage{background:#f4f4f2}
body.refined.home-revised.home-continuous.theme-blanc .lc-chapter-progress i{background:var(--n-ink)}

/* The film leaves first; the statement arrives after it, never under it. */
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
 html.lc-motion-ready body.refined.home-revised.home-continuous.theme-blanc .lh-content{margin-top:0}
}
body.refined.home-revised.home-continuous.theme-blanc .lh-frame-caption{display:none}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro{padding:var(--n-sec) 0}
body.refined.home-revised.home-continuous.theme-blanc .lc-intro-copy{display:grid;grid-template-columns:var(--n-col);column-gap:var(--n-gap);align-items:start}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lh-intro h2{display:block;font-size:clamp(26px,2.5vw,38px);line-height:1.14;letter-spacing:-.034em;font-weight:500;margin:0;color:var(--n-ink)}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro h2 span{display:block;color:var(--n-dim)}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro .lh-statement{font-size:clamp(19px,1.72vw,26px);line-height:1.45;letter-spacing:-.018em;font-weight:450;max-width:none;margin:.2em 0 0}

/* Section openers: label, then title left and supporting copy right, on the same grid as the beats. */
body.refined.home-revised.home-continuous.theme-blanc .eyebrow{margin-bottom:22px}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc :is(#platform-title,#fm-kg-title,#audiences-title,#proof-title){font-size:clamp(30px,3.2vw,50px);line-height:1.08;letter-spacing:-.04em}
body.refined.home-revised.home-continuous.theme-blanc .home-section-heading{margin-bottom:clamp(40px,4.4vw,64px)}
body.refined.home-revised.home-continuous.theme-blanc .story-beat{padding-block:clamp(56px,10svh,104px)}
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section{padding-top:var(--n-sec)}
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading{display:grid;grid-template-columns:var(--n-col);column-gap:var(--n-gap);align-items:end;margin-bottom:clamp(40px,4.4vw,64px)}
body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading p{margin:0;max-width:none;font-size:17px;line-height:1.65}
body.refined.home-revised.home-continuous.theme-blanc .home-audiences{padding-top:var(--n-sec)}
body.refined.home-revised.home-continuous.theme-blanc .home-proof{padding:var(--n-sec) 0}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .home-proof #proof-title{font-size:clamp(26px,2.5vw,38px);line-height:1.14;letter-spacing:-.034em}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lc-closing h2{font-size:clamp(32px,3.6vw,56px);line-height:1.06}
@media(max-width:760px){
 body.refined.home-revised.home-continuous.theme-blanc .lc-intro-copy,body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading{display:block}
 body.refined.home-revised.home-continuous.theme-blanc .lh-intro .lh-statement{font-size:20px;margin-top:22px}
 body.refined.home-revised.home-continuous.theme-blanc .fm-kg-section .launch-heading p{margin-top:20px}
 html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc :is(#platform-title,#fm-kg-title,#audiences-title,#proof-title){font-size:30px}
 html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lc-closing h2{font-size:32px}
}

/* The evidence stage is always full width: no sideways wipe that leaves it looking cut. */
body.refined.home-revised.home-continuous.theme-blanc .fm.fm-kg-stage{clip-path:inset(0 round 24px)}

/* Behind the film itself stays dark, so the hero never flashes white under white text while the video loads. */
body.refined.home-revised.home-continuous.theme-blanc .lh-film{background:#14110e}

/* Film to statement in one movement: no held frame before the picture leaves, and the text arrives
   fully inked right behind it (no word-by-word grey). */
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
 html.lc-motion-ready body.refined.home-revised.home-continuous.theme-blanc .lh-hero{height:230svh}
 html.lc-motion-ready body.refined.home-revised.home-continuous.theme-blanc .lh-content{margin-top:-6svh}
}
body.refined.home-revised.home-continuous.theme-blanc .lh-statement span,body.refined.home-revised.home-continuous.theme-blanc .lh-statement span.is-read{color:var(--n-ink);transition:none}
body.refined.home-revised.home-continuous.theme-blanc .lc-intro-copy{opacity:1!important;transform:none!important;will-change:auto}

/* Platform as one pinned scene (blanc-story.js). */
body.refined.home-revised.home-continuous.theme-blanc .bs-stage{display:none}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .platform-story-beats{opacity:0;pointer-events:none}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .bs-stage{display:flex;flex-direction:column;justify-content:center;position:absolute;top:0;bottom:34px;pointer-events:none;opacity:var(--lc-stage-opacity,1)}
body.refined.home-revised.home-continuous.theme-blanc .bs-num{height:.86em;overflow:hidden;font-size:clamp(56px,6.4vw,104px);font-weight:400;line-height:.86;letter-spacing:-.055em;color:var(--n-ink);font-variant-numeric:tabular-nums;margin:0 0 clamp(24px,2.6vw,40px) -.04em}
body.refined.home-revised.home-continuous.theme-blanc .bs-roll{display:flex;flex-direction:column;will-change:transform}
body.refined.home-revised.home-continuous.theme-blanc .bs-roll span{display:block;height:.86em}
body.refined.home-revised.home-continuous.theme-blanc .bs-texts{display:grid}
body.refined.home-revised.home-continuous.theme-blanc .bs-item{grid-area:1/1}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .bs-item h3{margin:0;font-size:clamp(24px,2.25vw,34px);line-height:1.14;letter-spacing:-.032em;font-weight:520;color:var(--n-ink);will-change:transform,opacity}
body.refined.home-revised.home-continuous.theme-blanc .bs-item p{margin:25px 0 0;max-width:500px;font-size:16px;line-height:1.7;color:var(--n-mut);will-change:transform,opacity}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .platform-showcase{transform:scale(var(--bs-dip,1));transform-origin:50% 50%}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .lc-chapter-progress i{transition:none}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .platform-story-pin .motion-view.product-view{transition:opacity .7s cubic-bezier(.2,.7,.2,1),visibility 0s .7s}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .platform-story-pin .motion-view.is-current{transition:opacity .7s cubic-bezier(.2,.7,.2,1),visibility 0s}

/* ---- Round 5: motion rebuilt (blanc.js). No scroll-scrubbed text anywhere below the film. ---- */
body.refined.home-revised.home-continuous.theme-blanc .lc-chapter-progress{display:none}
body.refined.home-revised.home-continuous.theme-blanc .platform-story-pin::before{height:100%}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .bs-stage{bottom:0}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .platform-showcase{transform:none}
body.refined.home-revised.home-continuous.theme-blanc .platform-story-pin .product-scene.product-motion{transform:none;opacity:1;will-change:auto}
body.refined.home-revised.home-continuous.theme-blanc .fm.fm-kg-stage{transform:none;will-change:auto}
body.refined.home-revised.home-continuous.theme-blanc .audience-panel{clip-path:none;will-change:auto}

/* Reveals: once, on entering the viewport. */
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .n-lines .n-line-in{transform:translate3d(0,108%,0);transition:transform 1.05s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*90ms)}
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .n-lines.rv-in .n-line-in{transform:none}
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .rv{opacity:0;transform:translate3d(0,18px,0);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.05s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*80ms + 60ms)}
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .rv.rv-in{opacity:1;transform:none}
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .rv-panel{opacity:0;transform:translate3d(0,26px,0);transition:opacity .9s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*110ms),transform 1.1s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*110ms),background .5s cubic-bezier(.2,.7,.2,1),color .5s cubic-bezier(.2,.7,.2,1),border-color .5s}
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .rv-panel.rv-in{opacity:1;transform:none}

/* Platform hand-over: the outgoing text lifts away, the incoming one settles in after the product has changed. */
body.refined.home-revised.home-continuous.theme-blanc .bs-roll{transition:transform .95s cubic-bezier(.65,0,.2,1)}
body.refined.home-revised.home-continuous.theme-blanc .bs-item h3,body.refined.home-revised.home-continuous.theme-blanc .bs-item p{opacity:0;transform:translate3d(0,22px,0);transition:opacity .3s ease,transform .45s ease;will-change:auto}
body.refined.home-revised.home-continuous.theme-blanc .bs-item.is-before h3,body.refined.home-revised.home-continuous.theme-blanc .bs-item.is-before p{transform:translate3d(0,-22px,0)}
body.refined.home-revised.home-continuous.theme-blanc .bs-item.is-current h3{opacity:1;transform:none;transition:opacity .75s cubic-bezier(.2,.7,.2,1) .2s,transform .95s cubic-bezier(.2,.7,.2,1) .2s}
body.refined.home-revised.home-continuous.theme-blanc .bs-item.is-current p{opacity:1;transform:none;transition:opacity .75s cubic-bezier(.2,.7,.2,1) .3s,transform .95s cubic-bezier(.2,.7,.2,1) .3s}
@media(prefers-reduced-motion:reduce){
 body.refined.home-revised.home-continuous.theme-blanc .bs-roll,body.refined.home-revised.home-continuous.theme-blanc .bs-item h3,body.refined.home-revised.home-continuous.theme-blanc .bs-item p{transition:none}
}

/* Audiences now sit right under the statement; the platform chapter follows. */
body.refined.home-revised.home-continuous.theme-blanc .lh-intro{padding-bottom:clamp(56px,8svh,88px)}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro+.home-audiences{padding-top:0}
body.refined.home-revised.home-continuous.theme-blanc .home-audiences+[data-platform-story]{padding-top:var(--n-sec)}

/* Fixed video surfaces: scroll changes compositor transforms, not layout sizes. */
body.theme-blanc.film-home-v39 .lh-film{inset:0 auto auto 0;transform-origin:0 0;clip-path:none;will-change:transform;border-radius:0;backface-visibility:hidden}
body.theme-blanc .lh-scroll-player{backface-visibility:hidden}

/* A lighter reading rhythm: short handovers, without waiting for delayed text. */
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .n-lines .n-line-in{transition-duration:.55s;transition-delay:calc(var(--i,0)*45ms)}
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .rv{transform:translate3d(0,10px,0);transition-duration:.4s,.5s;transition-delay:calc(min(var(--i,0),1)*45ms)}
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .rv.rv-in{transform:none}
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .rv-panel{transform:translate3d(0,14px,0);transition-duration:.4s,.5s,.35s,.35s,.35s;transition-delay:calc(var(--i,0)*55ms),calc(var(--i,0)*55ms),0s,0s,0s}
html.rv-ready body.refined.home-revised.home-continuous.theme-blanc .rv-panel.rv-in{transform:none}
body.refined.home-revised.home-continuous.theme-blanc .bs-roll{transition:transform .48s cubic-bezier(.22,.7,.25,1)}
body.refined.home-revised.home-continuous.theme-blanc .bs-item h3,body.refined.home-revised.home-continuous.theme-blanc .bs-item p{transform:translate3d(0,10px,0);transition:opacity .2s ease,transform .3s ease}
body.refined.home-revised.home-continuous.theme-blanc .bs-item.is-before h3,body.refined.home-revised.home-continuous.theme-blanc .bs-item.is-before p{transform:translate3d(0,-10px,0)}
body.refined.home-revised.home-continuous.theme-blanc .bs-item.is-current h3,body.refined.home-revised.home-continuous.theme-blanc .bs-item.is-current p{opacity:1;transform:none;transition:opacity .35s ease .05s,transform .45s cubic-bezier(.22,.7,.25,1) .05s}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .platform-story-pin .motion-view.product-view{transition:opacity .32s ease,visibility 0s .32s}
body.refined.home-revised.home-continuous.theme-blanc .bs-on .platform-story-pin .motion-view.is-current{transition:opacity .4s ease,visibility 0s}
@media(prefers-reduced-motion:reduce){
 html.rv-ready body.refined.home-revised.home-continuous.theme-blanc :is(.rv,.rv-panel,.n-line-in),body.refined.home-revised.home-continuous.theme-blanc :is(.bs-roll,.bs-item h3,.bs-item p){transition:none!important;transform:none!important}
}
/* Give touch and tablet readers the same compact opening as desktop. */
@media(max-width:1000px) and (prefers-reduced-motion:no-preference){
 html.lc-motion-ready body.refined.home-revised.home-continuous.theme-blanc .lh-hero{height:230svh}
}

/* One editorial introduction, followed directly by the two audience choices. */
body.refined.home-revised.home-continuous.theme-blanc .lh-intro{padding:clamp(56px,7svh,88px) 0 44px}
body.refined.home-revised.home-continuous.theme-blanc .lc-intro-copy{display:block;max-width:780px;margin-inline:auto;text-align:center}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lh-intro h2{font-size:clamp(36px,4.1vw,58px);line-height:1.08;letter-spacing:-.042em;margin:0}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro h2 span{color:#737573}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro .lh-statement{max-width:650px;margin:24px auto 0;font-size:clamp(18px,1.6vw,22px);line-height:1.5;letter-spacing:-.018em}
body.refined.home-revised.home-continuous.theme-blanc .lh-intro+.home-audiences{padding-top:20px}
body.refined.home-revised.home-continuous.theme-blanc .home-audiences .home-section-heading{margin-bottom:22px;text-align:center}
body.refined.home-revised.home-continuous.theme-blanc .home-audiences .eyebrow{padding:0;margin:0;border:0;font-size:12px;color:#797d79}
body.refined.home-revised.home-continuous.theme-blanc .blanc-audience-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body.refined.home-revised.home-continuous.theme-blanc .audience-panel{min-height:290px}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy{padding:32px}
html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .audience-copy h3{font-size:clamp(26px,2.25vw,36px);line-height:1.14;letter-spacing:-.034em}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy p{font-size:16px;line-height:1.6;margin-top:18px;max-width:450px}
body.refined.home-revised.home-continuous.theme-blanc .audience-copy .audience-link{padding-top:28px}
@media(max-width:760px){
 body.refined.home-revised.home-continuous.theme-blanc .lh-intro{padding:48px 0 32px}
 html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .lh-intro h2{font-size:30px;line-height:1.14}
 body.refined.home-revised.home-continuous.theme-blanc .lh-intro .lh-statement{font-size:18px;line-height:1.5;margin-top:20px}
 body.refined.home-revised.home-continuous.theme-blanc .lh-intro+.home-audiences{padding-top:16px}
 body.refined.home-revised.home-continuous.theme-blanc .audience-panel{min-height:0}
 body.refined.home-revised.home-continuous.theme-blanc .audience-copy{padding:26px}
 html[data-typeface] body.refined.home-revised.home-continuous.theme-blanc .audience-copy h3{font-size:26px}
 body.refined.home-revised.home-continuous.theme-blanc .audience-copy p{font-size:15px}
}
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
 html.lc-motion-ready body.refined.home-revised.home-continuous.theme-blanc .lh-intro{padding:clamp(56px,7svh,88px) 0 44px}
 html.lc-motion-ready body.refined.home-revised.home-continuous.theme-blanc .lc-intro-copy{display:block;max-width:780px;margin:0 auto}
}

/* Walnut mineral surface, matching the Consulting firms demonstrations. */
body.refined.home-revised.home-continuous.theme-blanc .platform-story-pin::before,
body.refined.home-revised.home-continuous.theme-blanc .story-flow-chapter.has-vector-scene figure,
body.refined.home-revised.home-continuous.theme-blanc .fm.fm-kg-stage{background-color:#49382f;background-image:linear-gradient(rgba(73,56,47,.28),rgba(73,56,47,.28)),url('./images/materials/walnut-mineral.webp');background-size:cover;background-position:center;box-shadow:none}
body.refined.home-revised.home-continuous.theme-blanc .fm-micro{background:transparent}
/* Flat navigation surface: transparent on the cover, opaque white after it. */
body.film-home-v39.home-revised.theme-blanc .lh-header::before{display:none;background:none;transition:none}
body.film-home-v39.home-revised.theme-blanc .lh-header{transition:none}
body.film-home-v39.home-revised.theme-blanc .lh-header.is-solid,
body.film-home-v39.home-revised.theme-blanc.menu-open .lh-header{background:#fff;border:0;box-shadow:none}


/* Direct introduction to the original four chapters, with audience links afterwards. */
body.refined.home-revised.home-continuous.theme-blanc.home-direct-product .home-platform>.home-section-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body.refined.home-revised.home-continuous.theme-blanc.home-direct-product [data-platform-story]{padding-top:0;margin-top:0}
body.refined.home-revised.home-continuous.theme-blanc.home-direct-product [data-platform-story]+.home-audiences{padding-top:clamp(64px,9svh,100px)}
body.refined.home-revised.home-continuous.theme-blanc.home-direct-product .home-audiences .home-section-heading{text-align:left;margin-bottom:24px}
@media(max-width:760px){
 body.refined.home-revised.home-continuous.theme-blanc.home-direct-product .lh-intro{padding-bottom:28px}
 body.refined.home-revised.home-continuous.theme-blanc.home-direct-product [data-platform-story]+.home-audiences{padding-top:56px}
}

/* Use the animation charcoal for selected dark surfaces, with white at rest. */
@media(hover:hover){
 body.refined.home-revised.home-continuous.theme-blanc .audience-panel:hover{background:#302e2b;border-color:#302e2b;color:#fff}
}
body.refined.home-revised.home-continuous.theme-blanc .lh-header.is-solid .lh-nav-cta{background:#302e2b}
body.refined.home-revised.home-continuous.theme-blanc .lh-header.is-solid .lh-nav-cta:hover{background:#403d39}
/* Match the existing space above the introduction on both sides. */
body.refined.home-revised.home-continuous.theme-blanc #a-new-scale{padding-block:var(--launch-intro-space)}

/* Join the statement to the framed film's real lower edge, not its hero wrapper. */
body.refined.home-revised.home-continuous.theme-blanc #main.lh-content{margin-top:calc(-1 * var(--lh-film-tail,0px))}

/* Give the statement equal breathing room on both sides. */
body.refined.home-revised.home-continuous.theme-blanc #a-new-scale{--launch-intro-space:clamp(112px,16svh,176px);padding-block:var(--launch-intro-space)}
/* Keep the four scenes intact, with more room around their contents. The canvas
   fitter scales each composition uniformly and keeps its centre unchanged. */
body.refined.home-revised.home-continuous.theme-blanc [data-platform-story] .fm-micro{inset:6%}
@media(max-width:760px){
 body.refined.home-revised.home-continuous.theme-blanc #a-new-scale{--launch-intro-space:80px}
 body.refined.home-revised.home-continuous.theme-blanc [data-platform-story] .fm-micro{inset:4%}
}

/* Balance the complete proof copy against the complete company-count column. */
body.refined.home-revised.home-continuous.theme-blanc .home-proof{align-items:center}
