.visibility-page{background:var(--sc-canvas)}
.visibility-page h1,.visibility-page h2,.visibility-page h3{letter-spacing:-.035em}
.visibility-page p{font-size:17px;line-height:1.75}
/* The moving screen sits behind the hero; the copy has a stable light field. */
.visibility-hero{position:relative;isolation:isolate;overflow:hidden;min-height:700px;padding:70px var(--g) 104px;display:flex;align-items:center;background:#f4f6fa}
.visibility-film{position:absolute;inset:0;z-index:-2;pointer-events:none}
.visibility-film video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.visibility-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(247,249,252,.99) 0%,rgba(247,249,252,.98) 38%,rgba(247,249,252,.90) 49%,rgba(247,249,252,.16) 68%,rgba(247,249,252,.02) 100%)}
.visibility-intro{min-width:0;width:56%;max-width:690px;position:relative}
.visibility-intro .service-label{font-size:14px;margin-bottom:25px;color:var(--sc-ink-soft)}
.visibility-intro h1{font-size:clamp(48px,5.3vw,76px);line-height:1.08;margin:0 0 28px}
.visibility-intro h1 span{color:var(--sc-accent)}
.visibility-intro>p{max-width:45ch;color:#36445b}
.visibility-intro .visibility-lead{font-size:22px;line-height:1.5;color:var(--sc-ink);max-width:34ch;margin-bottom:18px}
.visibility-intro .ap-link{margin-top:12px}
.visibility-film-caption{position:absolute;right:var(--g);bottom:26px;display:flex;align-items:center;gap:24px;color:#34445d}
.visibility-film-caption>span{font-size:12px}
.visibility-film-control{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid #8793a5;border-radius:0;background:rgba(247,249,252,.92);color:#1c2d49;font:inherit;font-size:12px;cursor:pointer}
.visibility-film-control:hover{background:#fff;border-color:var(--sc-accent)}
.visibility-film-control:focus-visible{outline:3px solid var(--sc-accent);outline-offset:4px}
.visibility-film-control[hidden]{display:none}
.film-control-icon{font-size:11px;width:12px;text-align:center}
.service-navigation{display:flex;justify-content:flex-start;align-items:center;gap:28px;padding:20px var(--g);border-block:1px solid #ced8e6}
.service-navigation nav{display:flex;gap:36px;flex-wrap:wrap;font-size:14px}
.service-navigation a{padding:10px 0;text-decoration:underline}
.foundation-section,.first-days-section,.working-together,.visibility-questions{padding:100px var(--g)}
.foundation-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px 10%;background:white}
.section-heading h2,.working-together h2,.visibility-questions h2{font-size:clamp(34px,3.8vw,56px);line-height:1.15;margin-bottom:26px}
.section-heading>p{max-width:46ch;color:var(--sc-ink-soft)}
.foundation-list{margin:0}.foundation-list>div{border-top:1px solid #c8d3e2;padding:22px 0}
.foundation-list dt{font-size:21px;letter-spacing:-.025em;margin:0 0 12px}.foundation-list dd{font-size:16px;line-height:1.75;color:var(--sc-ink-soft);margin:0;max-width:53ch}
.foundation-section .foundation-source{grid-column:1/-1;max-width:84ch;font-size:13px;color:var(--sc-ink-soft);margin:0}
.foundation-source a{text-decoration:underline}.foundation-source span{display:block;margin-top:6px;font-size:12px}
.monthly-section{padding:90px var(--g) 100px;background:var(--sc-accent);color:white}
.monthly-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:58px}
.monthly-heading h2{font-size:clamp(40px,4.7vw,68px);line-height:1.1;margin:0}
.monthly-heading>p{max-width:41ch;margin:0;color:#ecf1ff}
.monthly-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr);gap:10%;align-items:start}
.monthly-cycle{list-style:none;counter-reset:work;margin:0;padding:0}
.monthly-cycle li{counter-increment:work;position:relative;padding:25px 0 30px 45px;border-top:1px solid #8daaff}
.monthly-cycle li:before{content:counter(work);position:absolute;left:0;top:28px;font-size:14px;color:#dce6ff}
.monthly-cycle h3{font-size:24px;margin:0 0 15px;line-height:1.3}
.monthly-cycle p{font-size:16px;margin:0;color:#ecf1ff}
.work-note{background:#f7f9fc;color:var(--sc-ink);padding:32px;position:sticky;top:32px}
.work-note .note-label{font-size:12px;color:var(--sc-accent);margin-bottom:25px}
.work-note h3{font-size:30px;line-height:1.2;margin:0 0 18px}
.work-note .note-context{font-size:13px;color:var(--sc-ink-soft);margin:0 0 26px}
.work-note dl{margin:0}.work-note dl>div{border-top:1px solid #c8d3e2;padding:17px 0}
.work-note dt{font-size:14px;font-weight:700;margin-bottom:8px}
.work-note dd{font-size:15px;line-height:1.65;margin:0;color:var(--sc-ink-soft)}
.first-days-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:50px 8%}
.first-days{list-style:none;padding:0;margin:0}.first-days>li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:30px;border-top:1px solid #c8d3e2;padding:25px 0 35px}
.day-range{font-size:14px;color:var(--sc-accent);padding-top:4px;white-space:nowrap}
.first-days h3{font-size:24px;line-height:1.3;margin:0 0 16px}.first-days p{font-size:16px;color:var(--sc-ink-soft);margin:0 0 18px}
.period-output{font-size:14px;line-height:1.65;display:block}.first-days-section .time-note{grid-column:2;font-size:13px;color:var(--sc-ink-soft);margin:0;max-width:62ch}
.working-together{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12%;background:#eaf0fb}
.working-together h2{font-size:clamp(34px,3.4vw,49px)}.working-together p{max-width:50ch;color:var(--sc-ink-soft)}
.outcome-copy{padding-top:8px}.outcome-copy h3{font-size:26px;line-height:1.25;margin:0 0 28px}
.outcome-copy .outcome-promise{font-size:23px;line-height:1.5;color:var(--sc-ink);margin-top:34px;padding-top:26px;border-top:1px solid #b7c8e2}
.visibility-questions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;background:white}
.question-list details{border-top:1px solid #c8d3e2;padding:10px 0}
.question-list details:last-child{border-bottom:1px solid #c8d3e2}
.question-list summary{font-size:18px;line-height:1.5;padding:18px 26px 18px 0;cursor:pointer}
.question-list details p{font-size:16px;line-height:1.75;color:var(--sc-ink-soft);max-width:62ch;margin:0 0 20px}
.visibility-close{min-height:0}.visibility-close h2{font-size:clamp(48px,6vw,84px)}
@media(max-width:1000px){
 .visibility-hero{min-height:700px}.visibility-hero:before{background:linear-gradient(90deg,rgba(247,249,252,.99) 0%,rgba(247,249,252,.97) 53%,rgba(247,249,252,.88) 64%,rgba(247,249,252,.14) 87%)}.visibility-intro{width:62%}.visibility-intro h1{font-size:clamp(48px,5.8vw,62px)}.visibility-film-caption>span{display:none}
 .service-navigation{display:block}.service-navigation nav{gap:24px}
 .monthly-heading{display:block}.monthly-heading>p{margin-top:28px;max-width:60ch}
 .monthly-layout{gap:6%;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.work-note{padding:24px;position:static}
 .first-days-section{grid-template-columns:1fr}.first-days-section .time-note{grid-column:1}
 .first-days{max-width:800px}.first-days>li{grid-template-columns:100px minmax(0,1fr)}
 .visibility-questions{gap:6%;grid-template-columns:.85fr 1.15fr}
}
@media(max-width:760px){
 .visibility-hero{display:block;min-height:0;padding:36px 24px 360px}.visibility-intro{width:100%;max-width:none}.visibility-intro h1{font-size:clamp(42px,10.7vw,70px)}
 .visibility-film{top:auto;height:380px}.visibility-film video{object-position:right center}.visibility-hero:before{background:linear-gradient(180deg,#f7f9fc 0%,#f7f9fc calc(100% - 380px),rgba(247,249,252,.98) calc(100% - 365px),rgba(247,249,252,.02) calc(100% - 250px))}
 .visibility-film-caption{right:24px;left:24px;bottom:18px;justify-content:flex-end;gap:12px}.visibility-film-control{flex-shrink:0}
 .visibility-intro .visibility-lead{font-size:21px}.visibility-intro .ap-link{font-size:14px;gap:18px}
 .service-navigation{padding:22px 24px}.service-navigation nav{gap:4px 22px}.service-navigation a{min-height:44px;display:inline-flex;align-items:center}
 .foundation-section,.first-days-section,.working-together,.visibility-questions{display:block;padding:64px 24px}
 .section-heading{margin-bottom:38px}.section-heading h2,.working-together h2,.visibility-questions h2{font-size:clamp(33px,8.8vw,44px)}
 .foundation-list dt{font-size:21px}.foundation-list dd{font-size:16px}.foundation-section .foundation-source{margin-top:28px}
 .monthly-section{padding:64px 24px}.monthly-heading h2{font-size:clamp(37px,10vw,52px)}.monthly-heading{margin-bottom:38px}
 .monthly-layout{display:block}.monthly-cycle h3{font-size:23px}.monthly-cycle li{padding-left:30px}.monthly-cycle li:before{top:30px;font-size:13px}
 .work-note{margin-top:22px;padding:26px}.work-note h3{font-size:29px}
 .first-days>li{display:block;padding:26px 0 30px}.day-range{display:block;margin-bottom:20px}.first-days-section .time-note{margin-top:14px}
 .outcome-copy{padding-top:26px}.outcome-copy .outcome-promise{font-size:22px}
 .visibility-questions h2{margin-bottom:34px}.question-list summary{font-size:17px}
 .visibility-close{padding-top:64px}.visibility-close h2{font-size:clamp(45px,11.8vw,72px)}
}
@media(prefers-reduced-motion:reduce){.work-note{position:static}}
