/* The same daylight, type and material as the Mason homepage. */
.page-nav{position:absolute;top:26px;left:50%;transform:translateX(-50%);z-index:20;padding:5px;gap:4px;width:auto;max-width:none;border-radius:17px;background:#eeece5d9;backdrop-filter:blur(14px)}.page-nav>a:first-child{padding:10px 16px;background:#fff;border-radius:12px}.page-nav img{width:88px}.nav-note{font:400 13px/1.5 MasonDM;color:var(--ink);letter-spacing:0;padding:11px 18px;background:#fff;border-radius:12px;white-space:nowrap}.nav-call{background:var(--heading);color:#fffdf7;border:0;border-radius:12px;padding:12px 17px;font-size:13px;gap:20px}.nav-call:hover{background:#45423b;color:#fffdf7}.case-cover{position:relative;isolation:isolate;overflow:hidden;margin:16px 16px 0;border-radius:24px;min-height:640px;display:flex;flex-direction:column;background:#e6eff4 url('assets/cover-folds.png') center/cover}.case-cover-light{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.case-cover-copy{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;justify-content:center;padding:130px 30px 74px}.case-cover-copy>.eyebrow{font-size:10px;color:#606968;letter-spacing:.12em}.case-cover h1{font:400 clamp(52px,5.3vw,76px)/1.065 MasonEditorial,Arial,sans-serif;letter-spacing:-.025em;max-width:22ch;color:#292d29;margin:25px 0 0;text-wrap:balance}.cover-link{display:inline-flex;gap:30px;align-items:center;text-decoration:none;font:400 13px/1.5 MasonDM;margin-top:32px;padding:11px 19px;color:#fffdf7;background:var(--heading);border-radius:999px}.cover-link:hover{background:#45423b}.case-cover-foot{display:flex;justify-content:space-between;gap:22px;padding:0 34px 26px;color:#65716f;font:400 10px/1.5 MasonDM}.case-cover-foot>span:first-child{font-size:8px;letter-spacing:.09em}.case-results{padding-top:63px;padding-bottom:56px}.case-section-label{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.case-section-label>h2{font:400 12px/1.5 MasonDM;letter-spacing:0}.case-section-label>span{font:400 10px/1.5 MasonDM;color:var(--body)}.case-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-result{padding:31px 32px 29px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:15px}.case-result:first-child{padding-left:0}.case-result:last-child{border-right:0}.case-result>strong{font:400 66px/1 MasonMarist;letter-spacing:-.045em}.case-result.pending>strong{color:#b8b3a9}.case-result>span{font:400 13px/1.5 MasonDM;color:var(--body)}.case-overview{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:28px;padding-bottom:80px}.case-overview .eyebrow{font-size:9px}.case-company h2{font:400 42px/1.14 MasonMarist;letter-spacing:-.03em;margin-top:21px}.case-company>p:last-child{font-size:16px;line-height:1.65;color:var(--body);max-width:34ch;margin-top:21px}.case-brief{padding-left:42px;border-left:1px solid var(--line)}.case-brief h3{font:400 29px/1.2 MasonMarist;letter-spacing:-.025em;margin-top:22px}.case-brief>p:not(.eyebrow){font-size:16px;line-height:1.65;color:var(--body);margin-top:20px;max-width:45ch}.case-scope{display:flex;flex-wrap:wrap;gap:9px 16px;padding-top:18px;margin-top:24px;border-top:1px solid var(--line);font:400 10px/1.6 MasonDM;color:var(--body)}.chapter-nav>.wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.chapter-nav a{font-size:12px;gap:14px;padding:20px 24px;border-right:1px solid var(--line)}.chapter-nav a:first-child{padding-left:0}.chapter-nav a:last-child{border:0;padding-right:0}.chapter-nav a>i{font-style:normal;margin-left:auto;color:#9c9d95}.case-phase{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:82px 0 44px;align-items:start;scroll-margin-top:10px}.case-phase-index{display:flex;flex-direction:column;gap:9px;padding-top:6px}.case-phase-index>span{font:400 9px/1.6 MasonDM;letter-spacing:.1em;color:var(--body)}.case-phase-index>b{font:400 47px/1 MasonEditorial;letter-spacing:-.04em;color:#a5b7bd}.case-phase h2{font:400 clamp(40px,4.1vw,58px)/1.1 MasonMarist;letter-spacing:-.03em;max-width:21ch}.case-phase p{font:400 17px/1.65 MasonDM;color:var(--body);max-width:52ch;margin-top:17px}.story-row{padding-block:55px 65px;gap:72px}.case-phase+.story-row{border-top:0;padding-top:20px}.story-copy h2{font-size:clamp(36px,3.3vw,46px);margin-top:19px;max-width:15ch}.story-copy>p:not(.eyebrow){font-size:18px;line-height:1.65;max-width:34ch}.copy-points{font-size:14px;margin-top:23px}.story-copy .eyebrow{font-size:9px}.closing{margin-top:26px}.closing h2{font-size:49px}.closing>p:not(.eyebrow){font-size:17px}.closing-line{margin-top:43px}
@media(min-width:1101px) and (max-height:800px){.case-cover{min-height:540px}.case-cover-copy{padding-top:111px;padding-bottom:48px}.case-cover h1{font-size:62px;margin-top:20px}.cover-link{margin-top:26px}.case-results{padding-top:45px;padding-bottom:42px}.case-overview{padding-bottom:65px}.case-phase{padding-top:65px}.story-row{padding-block:45px 58px}.story-copy>p:not(.eyebrow){font-size:17px}}
@media(max-width:1100px){.case-cover{min-height:610px}.case-cover h1{font-size:64px}.case-overview{gap:45px}.case-brief{padding-left:30px}.story-row{grid-template-columns:1fr;gap:31px}.story-copy>p:not(.eyebrow){max-width:52ch}.case-phase{grid-template-columns:80px 1fr;gap:23px}.story-copy{max-width:700px}.copy-points{max-width:640px}}
@media(max-width:760px){.page-nav{top:20px}.case-cover{margin:10px 10px 0;border-radius:18px;min-height:570px}.case-cover-copy{padding:125px 21px 75px}.case-cover h1{font-size:50px}.case-cover-foot{padding:0 22px 22px}.case-cover-foot>span:last-child{display:none}.case-results{padding-top:40px;padding-bottom:35px}.case-result{padding:25px 19px 25px;gap:13px}.case-result>strong{font-size:51px}.case-result>span{font-size:12px;max-width:17ch}.case-section-label>span{font-size:9px;max-width:23ch;text-align:right}.case-overview{grid-template-columns:1fr;gap:33px;padding-top:15px;padding-bottom:45px}.case-company h2{font-size:36px}.case-company>p:last-child{max-width:45ch}.case-brief{border-left:0;border-top:1px solid var(--line);padding:29px 0 0}.case-brief h3{font-size:29px;margin-top:17px}.case-brief>p:not(.eyebrow){max-width:48ch}.chapter-nav{position:static}.chapter-nav>.wrap{padding-block:0}.chapter-nav a{padding:17px 12px;font-size:11px;gap:8px;align-items:start;white-space:normal;line-height:1.5}.chapter-nav a>span{padding-top:2px;font-size:8px}.chapter-nav a>i{display:none}.case-phase{padding:50px 0 29px;grid-template-columns:43px 1fr;gap:20px}.case-phase h2{font-size:39px}.case-phase p{font-size:16px;margin-top:17px}.case-phase-index>b{font-size:31px}.case-phase-index>span{font-size:7px}.story-row{padding-block:37px 43px;gap:27px}.story-copy h2{font-size:37px;max-width:18ch}.story-copy>p:not(.eyebrow){font-size:17px;max-width:44ch}.copy-points{font-size:14px;margin-top:18px}.copy-points li{margin-top:9px}.closing h2{font-size:37px}}
@media(max-width:480px){.page-nav{gap:3px;padding:4px;border-radius:14px}.page-nav>a:first-child{padding:10px 12px;border-radius:10px}.page-nav img{width:75px}.nav-note{font-size:11px;padding:11px 12px;max-width:none;border-radius:10px;display:block}.nav-call{font-size:11px;padding:11px 13px;min-height:0;border-radius:10px;gap:12px}.case-cover{min-height:525px}.case-cover-copy{padding:112px 18px 57px}.case-cover-copy>.eyebrow{font-size:8px}.case-cover h1{font-size:43px;line-height:1.08;letter-spacing:-.03em;max-width:16ch;margin-top:23px}.cover-link{font-size:12px;margin-top:29px;padding:11px 17px;gap:27px}.case-cover-foot{font-size:8px;padding-inline:20px}.case-result-grid{grid-template-columns:1fr 1fr}.case-result{padding:24px 0 22px 22px}.case-result:first-child{padding-left:0}.case-result:nth-child(2){border-right:0}.case-result:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding:21px 0;display:flex;flex-direction:row;align-items:center;gap:19px}.case-result:last-child>strong{font-size:38px}.case-result:last-child>span{max-width:none}.case-result>strong{font-size:54px}.case-company h2{font-size:36px}.case-company>p:last-child,.case-brief>p:not(.eyebrow){font-size:16px}.case-phase{gap:16px;grid-template-columns:35px 1fr}.case-phase h2{font-size:36px;max-width:14ch}.case-phase p{font-size:16px}.chapter-nav a{font-size:10px;padding-inline:10px;gap:6px}.story-copy h2{font-size:37px}.story-copy .eyebrow{font-size:8px}.copy-points{font-size:13px}.story-copy>p:not(.eyebrow){font-size:17px}.closing{padding-top:34px}}
@media(max-height:500px) and (min-width:601px){.case-cover{min-height:460px}.case-cover-copy{padding-top:105px;padding-bottom:39px}.case-cover h1{font-size:49px}.case-cover-foot{padding-bottom:19px}.cover-link{margin-top:23px}}

.case-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-result:last-child{padding-left:40px}
@media(max-width:480px){.case-result:last-child{grid-column:auto;border-top:0;padding:24px 0 22px 22px;flex-direction:column;align-items:start;gap:13px}.case-result>strong,.case-result:last-child>strong{font-size:49px}.case-result:last-child>span{max-width:17ch}}
.page-nav{width:max-content;max-width:calc(100% - 28px)}.page-nav>*{flex-shrink:0}.nav-call{white-space:nowrap}
/* A single beat per scroll; alternating composition shares one continuous visual thread. */
.case-overview{padding-top:72px;padding-bottom:72px}.flow-step{min-height:min(790px,94svh);padding-block:68px;align-items:center;grid-template-columns:minmax(0,.83fr) minmax(0,1.27fr)}.flow-step .story-copy h2{max-width:15ch;font-size:clamp(38px,3.6vw,50px);margin-bottom:27px}.flow-step .story-copy>p:not(.eyebrow){max-width:36ch;line-height:1.65}.flow-reverse{grid-template-columns:minmax(0,1.27fr) minmax(0,.83fr)}.flow-reverse>.cm-evidence-column{grid-column:1;grid-row:1}.flow-reverse>.story-copy{grid-column:2;grid-row:1}.case-thread{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;padding-top:20px;margin-top:28px;border-top:1px solid var(--line);max-width:37ch;font:400 11px/1.6 MasonDM;color:var(--body)}.case-thread>i{font-style:normal;color:#9bb1ba}.case-thread>span:last-child{color:var(--ink)}.case-phase+.flow-step{padding-top:26px}.ep-pattern>p{display:none}.ep-patterns>.ep-pattern{padding-block:24px}.ep-pattern>small{display:block;margin-top:13px}.case-phase h2{max-width:23ch}.case-cover h1{max-width:22ch}
@media(min-width:1101px) and (max-height:800px){.flow-step{padding-block:54px;min-height:690px}.flow-step .story-copy h2{font-size:43px}.flow-step .story-copy>p:not(.eyebrow){font-size:17px}.case-overview{padding-block:55px}}
@media(max-width:1100px){.flow-step,.flow-reverse{grid-template-columns:1fr;min-height:0;padding-block:55px;gap:31px}.flow-reverse>.story-copy,.flow-reverse>.cm-evidence-column{grid-column:auto;grid-row:auto}.flow-reverse>.story-copy{order:0}.flow-reverse>.cm-evidence-column{order:1}.flow-step .story-copy h2{max-width:21ch}.flow-step .story-copy>p:not(.eyebrow){max-width:52ch}.case-thread{max-width:52ch;margin-top:23px}.case-overview{padding-top:50px}}
@media(max-width:600px){.flow-step{padding-block:43px;gap:28px}.flow-step .story-copy h2{font-size:37px;max-width:17ch;margin-bottom:21px}.flow-step .story-copy>p:not(.eyebrow){font-size:17px;line-height:1.65}.case-thread{font-size:10px;margin-top:22px;padding-top:17px;gap:8px 10px}.case-phase+.flow-step{padding-top:17px}.case-overview{padding-top:38px;padding-bottom:43px}.ep-patterns>.ep-pattern{padding-block:28px}}
/* Scroll unlock: the reading frame settles, then its demonstration appears. */
.scroll-chapter{position:relative}.flow-connector{display:none}
.scroll-story .scroll-chapter{min-height:calc(var(--row-height,0px) + var(--travel,0px))}
.scroll-story .scroll-chapter.is-pinned>.flow-step{position:sticky;top:var(--pin-top,24px)}
.scroll-story .flow-step{min-height:0;padding-block:28px;--reveal:0}
.scroll-story .cm-evidence-column{opacity:var(--reveal);transform:translate3d(0,calc((1 - var(--reveal))*24px),0);clip-path:inset(0 0 calc((1 - var(--reveal))*8%) 0 round 22px);will-change:auto}
.scroll-story .flow-step{border-top:0}
.scroll-story .flow-connector{display:block;height:160px;position:relative;margin-block:14px;--draw:0;pointer-events:none}
.flow-connector svg{display:block;width:100%;height:100%;overflow:visible}
.flow-connector path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
.flow-connector-track{stroke:#d7dce0;stroke-width:1;opacity:.36}
.flow-connector-ink{stroke:#9bafb8;stroke-width:1.35;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw));opacity:.8}
@media(max-width:1100px){.scroll-story .flow-step{padding-block:32px;gap:28px}.scroll-story .flow-connector{height:105px;margin-block:18px}.scroll-story .cm-evidence-column{transform:translate3d(0,calc((1 - var(--reveal))*16px),0)}}
@media(prefers-reduced-motion:reduce){.scroll-story .cm-evidence-column{opacity:1;transform:none;clip-path:none;will-change:auto}.scroll-story .scroll-chapter{padding-bottom:0}.scroll-story .flow-connector-ink{stroke-dashoffset:0}}
@media print{.scroll-story .cm-evidence-column{opacity:1;transform:none;clip-path:none}.scroll-story .scroll-chapter{padding-bottom:0}.scroll-story .flow-step{position:static!important}.flow-connector{display:none!important}}
/* Part playback uses the deterministic renderer; ambient CSS animation stays off. */
.case-motion[data-scroll-driven=true] *{animation:none!important;transition:none!important}
.case-motion[data-scroll-driven=true] .cm-toggle,.case-motion[data-scroll-driven=true] .cm-replay{display:none}
.cm-scroll-label{font:400 10px/1.4 MasonDM;color:var(--body);white-space:nowrap}
.cm-mobile-heading{display:none}
@media(max-width:1100px){.cm-mobile-heading{display:block;font:400 23px/1.15 MasonMarist;color:var(--heading);letter-spacing:-.02em;margin:0 0 14px;max-width:26ch}.scroll-story .flow-connector{margin-block:26px}.scroll-story .scroll-chapter.is-pinned>.flow-step{position:sticky}}
@media(prefers-reduced-motion:reduce){.cm-mobile-heading{display:none}.cm-scroll-label{display:none}}

.cm-visual-frame{position:relative;min-width:0}.cm-visual-frame>.case-motion{transform-origin:top center}
/* Hold the reading frame until its current part is complete. */
.scroll-story .flow-connector{opacity:var(--ready,0)}
.scroll-story .flow-connector-track{opacity:calc(var(--draw,0)*.36)}
.cm-scroll-label{background:none;border:0;padding:6px 0;text-align:left;cursor:pointer;min-height:32px}
.cm-scroll-label:disabled{cursor:default;opacity:.7}
.cm-scroll-label:focus-visible{outline:2px solid #93abb8;outline-offset:4px;border-radius:4px}
html.scroll-story{scroll-behavior:auto}
.scroll-chapter[data-engaged=true]{touch-action:none}

/* Free-flow chapters reveal once; playback never owns the visitor's scroll. */
.scroll-story .scroll-chapter[data-flow="free"]{min-height:0}
.scroll-story .scroll-chapter[data-flow="free"]>.flow-step{position:relative;top:auto;padding-block:36px}
.scroll-story .scroll-chapter[data-flow="free"] .cm-evidence-column{will-change:auto}
.case-motion[data-playback="auto"] .cm-scroll-label{cursor:pointer}
@media(max-width:600px){.scroll-story .scroll-chapter[data-flow="free"]>.flow-step{padding-block:28px}}

.scroll-chapter[data-flow="free"] .cm-mobile-heading{display:none}

.case-motion[data-playback="auto"] .cm-seek{display:none}
