/* The four screens AFTER the starfield: an inset editorial stage inspired by
   nesilnoble.com, using Cybernetics' own type, palette and existing content. */
body.reference-design .home-chapters{position:relative;margin:0 14px 110px;overflow-anchor:none;--chapter-ink:#072B55;--chapter-paper:#EDF4FC}
.home-chapters .chapters-stage{position:relative}
.home-chapters .chapter-panel{position:relative;isolation:isolate;border-radius:24px;overflow:hidden;margin:0 0 14px;padding:26px clamp(24px,4vw,72px) 56px;color:var(--chapter-ink);background:var(--chapter-paper);scroll-margin-top:110px}
.home-chapters .chapter-panel:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.13;background-image:radial-gradient(currentColor .65px,transparent .65px);background-size:5px 5px;mask-image:linear-gradient(125deg,#000,transparent 70%)}
.home-chapters .chapter-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid color-mix(in srgb,currentColor 24%,transparent);padding:0 0 20px;margin-bottom:clamp(30px,5vh,64px);font:12px/1.4 'Departure Mono',monospace;text-transform:uppercase}
.home-chapters .chapter-meta>span:first-child{font-variant-numeric:tabular-nums}
.home-chapters .chapter-meta>span:nth-child(2){margin-right:auto}
.home-chapters .chapter-voice{--chapter-paper:#FF8BC8}
.home-chapters .chapter-graduation{--chapter-paper:#0660CE;--chapter-ink:#fff}
.home-chapters .chapter-orientation{--chapter-paper:#d9e7fb}
.home-chapters .chapter-invitation{--chapter-paper:#FF8BC8}
body.reference-design .home-chapters :is(h2,h3,p,blockquote,summary,address,.text-link,.social-retry){color:var(--chapter-ink)}
body.reference-design .home-chapters :is(.student-story,.social-section,.home-finale){max-width:none;width:100%;padding:0;background:transparent;color:var(--chapter-ink);margin:0;transform:none}
body.reference-design .home-chapters :is(.student-story,.social-section,.finale-content){display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center}
body.reference-design .home-chapters :is(.social-heading,.finale-content h2){text-align:left;margin:0;padding:0}
body.reference-design .home-chapters :is(.social-heading h2){font:650 clamp(44px,5.5vw,96px)/.98 'TikTok Sans',sans-serif;letter-spacing:-.055em;text-wrap:balance}
body.reference-design .home-chapters :is(.social-heading p,.finale-content p){font:400 16px/1.55 'TikTok Sans',sans-serif;max-width:40ch}
body.reference-design .home-chapters :is(.social-heading p,.finale-content p){margin:24px 0 28px}
body.reference-design .home-chapters :is(a,button,summary):focus-visible{outline:3px solid var(--chapter-ink);outline-offset:5px}
body.reference-design .home-chapters .button{border-radius:100px;min-height:50px;padding:12px 24px;max-width:100%;border:1px solid var(--chapter-ink);background:var(--chapter-ink);color:var(--chapter-paper);gap:20px;line-height:1.4}
body.reference-design .home-chapters .button:hover{background:var(--chapter-paper);color:var(--chapter-ink)}
body.reference-design .home-chapters .button .icon{flex-shrink:0}
body.reference-design .home-chapters .text-link{color:var(--chapter-ink);border-color:currentColor;line-height:1.5}
body.reference-design .home-chapters .student-story{grid-template-columns:.7fr 2fr;min-height:420px;gap:7vw}
body.reference-design .home-chapters .student-story blockquote{font:500 clamp(36px,4.6vw,78px)/1.09 'TikTok Sans',sans-serif;letter-spacing:-.045em;max-width:22ch;margin:0}
body.reference-design .home-chapters .story-name{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
body.reference-design .home-chapters .story-name .quote-sign{font:650 clamp(140px,19vw,320px)/.7 'TikTok Sans',sans-serif;color:var(--chapter-ink);height:auto}
body.reference-design .home-chapters .story-name p{font:500 22px/1.35 'TikTok Sans',sans-serif}
body.reference-design .home-chapters .story-name p span{display:block;margin-top:8px;font:12px/1.5 'Departure Mono',monospace;color:inherit;max-width:25ch}
body.reference-design .home-chapters .quote-note{font:12px/1.6 'Geist Mono',monospace;margin-top:30px;max-width:45ch}
body.reference-design .home-chapters .social-heading{align-self:center}
body.reference-design .home-chapters .social-heading h2{max-width:12ch}
body.reference-design .home-chapters .social-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4vw}
body.reference-design .home-chapters .social-post{display:grid;grid-template-columns:minmax(260px,360px) minmax(110px,180px);gap:24px;align-items:end;margin:0;transform:none;justify-content:end}
body.reference-design .home-chapters .social-player-frame{width:100%;padding:0;border:5px solid var(--chapter-ink);border-radius:18px;overflow:hidden;box-shadow:9px 10px 0 color-mix(in srgb,var(--chapter-ink) 20%,transparent);background:#071423}
body.reference-design .home-chapters .social-player{border-radius:10px;aspect-ratio:9/16}
body.reference-design .home-chapters .social-post-footer{padding:0 0 8px;min-width:0;text-align:left}
body.reference-design .home-chapters .social-post-footer h3{font:500 24px/1.1 'TikTok Sans',sans-serif;text-transform:none;letter-spacing:-.035em}
body.reference-design .home-chapters .social-post-footer p{font:12px/1.6 'Geist Mono',monospace}
body.reference-design .home-chapters .social-post-actions{display:block}
body.reference-design .home-chapters .social-post-actions .text-link{font-size:12px;margin-top:18px}
body.reference-design .home-chapters .home-finale{overflow:visible}
body.reference-design .home-chapters .finale-content{grid-template-columns:1.7fr 1fr;min-height:440px;position:relative}
body.reference-design .home-chapters .finale-content h2{font:650 clamp(64px,8.5vw,148px)/.91 'TikTok Sans',sans-serif;letter-spacing:-.065em;max-width:12ch;color:var(--chapter-ink)}
body.reference-design .home-chapters .finale-content h2 span{color:var(--chapter-ink);text-decoration:none}
body.reference-design .home-chapters .finale-content>div{align-self:end;position:relative;padding-top:170px}
body.reference-design .home-chapters .finale-content>div:before{content:'↗' / '';position:absolute;top:-20px;right:6%;font:400 220px/.8 'TikTok Sans',sans-serif;transform:rotate(-10deg);color:var(--chapter-ink);pointer-events:none}
.home-chapters .chapters-nav{display:none}

/* A separate Maps window above the footer, styled after the client's reference. */
body.reference-design .home-experience>.campus-location{--location-ink:#072B55;--location-paper:#fff;position:relative;isolation:isolate;margin:0 14px 100px;padding:76px clamp(24px,5vw,80px) 80px;border-radius:28px;background:#0660CE;color:var(--location-ink);scroll-margin-top:100px}
.home-experience>.campus-location:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background-image:radial-gradient(#ffffff2a .8px,transparent .8px);background-size:9px 9px;mask-image:linear-gradient(115deg,#000,transparent 50%)}
.home-experience>.campus-location .location-search-wrap{position:relative;width:min(100%,800px);margin:0 auto 64px;z-index:2}
body.reference-design .home-experience>.campus-location h2{margin:0;font:650 clamp(20px,2.1vw,30px)/1.25 'TikTok Sans',sans-serif;letter-spacing:-.025em;text-transform:none}
.home-experience>.campus-location .location-search{display:flex;align-items:center;gap:22px;min-height:90px;padding:16px 18px 16px 26px;background:var(--location-paper);border:3px solid var(--location-ink);border-radius:22px;color:var(--location-ink);box-shadow:8px 10px 0 var(--location-ink),10px 13px 3px #072b5540;text-decoration:none;transition:transform .18s,box-shadow .18s}
.home-experience>.campus-location .location-search>span:not(.location-search-go){flex:1}
.home-experience>.campus-location .location-search-icon{width:38px;height:38px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round}
.home-experience>.campus-location .location-search-go{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--location-ink);border-radius:12px;background:var(--pink);flex-shrink:0}
.home-experience>.campus-location .location-search-go .icon{width:25px;height:25px}
.home-experience>.campus-location .location-search:hover{transform:translate(3px,3px);box-shadow:5px 7px 0 var(--location-ink),7px 10px 3px #072b5540}
.home-experience>.campus-location .location-cursor{position:absolute;right:-30px;bottom:-39px;width:72px;height:90px;fill:var(--pink);stroke:var(--location-ink);stroke-width:3;filter:drop-shadow(4px 5px 0 #fff);transform:rotate(-8deg);pointer-events:none}
.home-experience>.campus-location .location-window{max-width:1240px;margin:auto;padding:0 18px 24px;border:3px solid var(--location-ink);border-radius:28px;background:var(--location-paper);box-shadow:14px 16px 0 var(--location-ink),18px 21px 4px #072b5540;overflow:hidden}
.home-experience>.campus-location .location-window-bar{display:flex;align-items:center;gap:24px;min-height:74px;padding:12px 10px;font:13px/1.3 'Departure Mono',monospace}
.home-experience>.campus-location .location-window-dots{display:flex;gap:7px;flex-shrink:0}
.home-experience>.campus-location .location-window-dots i{display:block;width:10px;height:10px;border:1.5px solid var(--location-ink);border-radius:50%;background:var(--pink)}
.home-experience>.campus-location .location-window-dots i:nth-child(2){background:#0660CE}
.home-experience>.campus-location .location-window-dots i:nth-child(3){background:#EDF4FC}
.home-experience>.campus-location .location-window-tab{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 16px;border:1.5px solid var(--location-ink);border-radius:10px;background:var(--pink)}
.home-experience>.campus-location .location-window-tab .icon{width:22px;height:22px}
.home-experience>.campus-location .location-open-map{display:flex;align-items:center;gap:12px;min-height:44px;margin-left:auto;color:var(--location-ink);text-decoration:none}
.home-experience>.campus-location .location-open-map:hover{text-decoration:underline;text-underline-offset:5px}
.home-experience>.campus-location .location-open-map .icon{width:18px;height:18px;flex-shrink:0}
body.reference-design .home-experience>.campus-location .location-map{height:clamp(340px,40vw,460px);margin:0;border:2px solid var(--location-ink);border-radius:17px;overflow:hidden;background:#EDF4FC}
body.reference-design .home-experience>.campus-location .location-map iframe{width:100%;height:100%;border:0}
body.reference-design .home-experience>.campus-location .location-details{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw;margin:0;padding:28px 14px 0;color:var(--location-ink)}
body.reference-design .home-experience>.campus-location .location-name{display:flex;gap:9px;align-items:center;margin:0 0 12px;font:650 23px/1.25 'TikTok Sans',sans-serif;letter-spacing:-.025em;color:var(--location-ink)}
body.reference-design .home-experience>.campus-location .location-name .icon{color:#0660CE;width:25px;height:25px;flex-shrink:0}
body.reference-design .home-experience>.campus-location .location-details address{font:13px/1.65 'Geist Mono',monospace;color:var(--location-ink)}
body.reference-design .home-experience>.campus-location .location-visit>p{font:16px/1.5 'TikTok Sans',sans-serif;color:var(--location-ink);max-width:48ch;margin:0 0 20px}
body.reference-design .home-experience>.campus-location .location-actions{gap:22px;align-items:center;flex-wrap:wrap}
body.reference-design .home-experience>.campus-location .location-actions .button{min-height:46px;padding:10px 18px;border:2px solid var(--location-ink);border-radius:10px;background:var(--pink);color:var(--location-ink);font-size:12px;box-shadow:3px 4px 0 var(--location-ink);gap:20px;line-height:1.4}
body.reference-design .home-experience>.campus-location .location-actions .button:hover{background:#EDF4FC;box-shadow:1px 2px 0 var(--location-ink);transform:translate(2px,2px)}
body.reference-design .home-experience>.campus-location .text-link{min-height:44px;color:var(--location-ink);border-color:var(--location-ink);font-size:12px;line-height:1.4}
body.reference-design .home-experience>.campus-location .text-link:hover{color:var(--location-ink);text-decoration:underline}
body.reference-design .home-experience>.campus-location :is(a,button):focus-visible{outline:3px solid var(--location-ink);outline-offset:5px}
@media(max-width:1000px){
 body.reference-design .home-experience>.campus-location .location-details{gap:30px;grid-template-columns:1fr 1fr}
 .home-experience>.campus-location .location-cursor{right:4px}
}
@media(max-width:700px){
 body.reference-design .home-experience>.campus-location{margin:0 10px 70px;padding:34px 16px 40px;border-radius:22px}
 .home-experience>.campus-location .location-search-wrap{margin-bottom:52px}
 body.reference-design .home-experience>.campus-location h2{font-size:20px}
 .home-experience>.campus-location .location-search{gap:12px;padding:15px 12px;min-height:84px;border-width:2px;border-radius:16px;box-shadow:5px 6px 0 var(--location-ink)}
 .home-experience>.campus-location .location-search-icon{width:25px;height:25px}
 .home-experience>.campus-location .location-search-go{width:34px;height:36px;border-radius:8px}
 .home-experience>.campus-location .location-search-go .icon{width:20px;height:20px}
 .home-experience>.campus-location .location-cursor{width:53px;height:66px;right:10px;bottom:-37px}
 .home-experience>.campus-location .location-window{padding:0 8px 24px;border-width:2px;border-radius:18px;box-shadow:6px 8px 0 var(--location-ink),9px 11px 3px #072b5540}
 .home-experience>.campus-location .location-window-bar{padding:10px 3px;min-height:64px;gap:10px;font-size:10px}
 .home-experience>.campus-location .location-window-dots{display:none}
 .home-experience>.campus-location .location-window-tab{gap:5px;padding:7px;min-height:36px;border-radius:8px}
 .home-experience>.campus-location .location-window-tab .icon{width:17px;height:17px}
 .home-experience>.campus-location .location-open-map{gap:5px;max-width:130px}
 .home-experience>.campus-location .location-open-map .icon{width:16px;height:16px}
 body.reference-design .home-experience>.campus-location .location-map{height:350px;border-radius:12px}
 body.reference-design .home-experience>.campus-location .location-details{display:block;padding:24px 8px 0}
 body.reference-design .home-experience>.campus-location .location-name{font-size:21px}
 body.reference-design .home-experience>.campus-location .location-details address{font-size:12px}
 body.reference-design .home-experience>.campus-location .location-visit{margin-top:24px}
 body.reference-design .home-experience>.campus-location .location-visit>p{font-size:15px}
 body.reference-design .home-experience>.campus-location .location-actions{gap:14px}
}
@media(prefers-reduced-motion:reduce){
 .home-experience>.campus-location .location-search{transition:none}
}
body.motion-reduced .home-experience>.campus-location .location-search{transition:none}

/* The enhancement only changes native scroll geometry. No wheel/touch handler. */
body.reference-design .home-chapters.chapters-active{height:var(--chapters-height,480svh)}
.home-chapters.chapters-active .chapters-stage{position:sticky;top:100px;height:calc(100svh - 190px);border-radius:24px;overflow:clip;background:var(--studio-bg);border:1px solid var(--studio-line)}
.home-chapters.chapters-active .chapters-window{position:absolute;inset:0 0 64px;overflow:clip;border-radius:23px 23px 0 0}
.home-chapters.chapters-active .chapter-panel{position:absolute;inset:0 0 auto;min-height:100%;border-radius:0;margin:0;overflow:clip;padding-bottom:28px;will-change:transform;contain:paint}
.home-chapters.chapters-active .chapter-video{padding-block:16px}
.home-chapters.chapters-active .chapter-video .chapter-meta{position:absolute;top:26px;left:clamp(24px,4vw,72px);right:57%;margin:0;padding-bottom:16px}
.home-chapters.chapters-active .chapter-video .chapter-meta>span:last-child{display:none}
body.reference-design .home-chapters.chapters-active .chapter-video .social-section{min-height:100%}
body.reference-design .home-chapters.chapters-active .chapter-video .social-heading{padding-top:64px}
.home-chapters.chapters-active .chapter-meta{margin-bottom:clamp(24px,3.5svh,42px);padding-bottom:16px}
body.reference-design .home-chapters.chapters-active :is(.student-story,.finale-content){min-height:calc(100svh - 390px)}
body.reference-design .home-chapters.chapters-active .student-story blockquote{font-size:clamp(34px,min(4.4vw,6.5svh),76px)}
body.reference-design .home-chapters.chapters-active :is(.social-heading h2){font-size:clamp(40px,min(5.7vw,8svh),94px)}
body.reference-design .home-chapters.chapters-active .finale-content h2{font-size:clamp(60px,min(8.5vw,12.4svh),148px)}
body.reference-design .home-chapters.chapters-active .social-post{grid-template-columns:minmax(180px,calc((100svh - 302px)*.5625 + 10px)) minmax(100px,160px);gap:18px}
.home-chapters.chapters-active .chapters-nav{position:absolute;bottom:0;left:0;right:0;height:64px;display:block;background:var(--studio-bg);color:var(--studio-text);padding:0 28px}
.home-chapters .chapters-ruler{position:relative;height:15px;background:repeating-linear-gradient(90deg,var(--studio-muted) 0 1px,transparent 1px 12px) bottom/100% 6px no-repeat;border-top:1px solid var(--studio-line)}
.home-chapters .chapters-ruler>span{position:absolute;left:calc(var(--chapters-progress,0)*100%);top:0;width:3px;height:15px;background:var(--pink);transform:translateX(-50%)}
.home-chapters .chapters-links{display:flex;align-items:center;justify-content:space-between;gap:8px}
.home-chapters .chapters-links a{display:flex;gap:9px;align-items:center;min-height:44px;padding:0 6px;font:12px 'Departure Mono',monospace;color:var(--studio-muted);text-decoration:none}
.home-chapters .chapters-links a>span{font-size:9px;opacity:.65}
.home-chapters .chapters-links a[aria-current=step],.home-chapters .chapters-links a:hover{color:var(--studio-text);text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:6px}

@media(max-width:1100px){
 body.reference-design .home-chapters :is(.student-story,.social-section,.finale-content){gap:4vw}
 body.reference-design .home-chapters .social-post{grid-template-columns:minmax(240px,360px)}
 body.reference-design .home-chapters .social-post-footer h3{font-size:20px}
 body.reference-design .home-chapters .social-post-footer>p{display:none}
 body.reference-design .home-chapters .social-post-actions .text-link{margin-top:6px}
 .home-chapters .chapters-links a{font-size:10px;gap:5px}
}
@media(max-width:899px){
 body.reference-design .home-chapters{margin:0 10px 70px}
 .home-chapters .chapter-panel{padding:24px 28px 44px;border-radius:20px}
 .home-chapters .chapter-meta{font-size:10px;gap:16px;margin-bottom:40px}
 body.reference-design .home-chapters :is(.student-story,.social-section,.finale-content){display:block;min-height:0}
 body.reference-design .home-chapters .student-story blockquote{font-size:clamp(34px,6vw,60px)}
 body.reference-design .home-chapters .story-name{flex-direction:row;align-items:center;gap:26px;margin-bottom:40px}
 body.reference-design .home-chapters .story-name .quote-sign{font-size:130px;line-height:.5;margin-top:30px}
 body.reference-design .home-chapters .story-name p{font-size:22px}
 body.reference-design .home-chapters .story-name p span{font-size:11px}
 body.reference-design .home-chapters :is(.social-heading h2){font-size:clamp(42px,8.5vw,76px)}
 body.reference-design .home-chapters .social-post{display:block;width:min(100%,400px);margin:40px auto 0}
 body.reference-design .home-chapters .social-post-footer{padding-top:24px}
 body.reference-design .home-chapters .social-post-footer>p{display:block}
 body.reference-design .home-chapters .social-post-actions .text-link{margin-top:16px}
 body.reference-design .home-chapters .finale-content h2{font-size:clamp(52px,10vw,96px);max-width:14ch}
 body.reference-design .home-chapters .finale-content>div{padding-top:110px;margin-top:30px}
 body.reference-design .home-chapters .finale-content>div:before{font-size:130px;right:15%;top:0}
}
@media(max-width:380px){
 .home-chapters .chapter-panel{padding-inline:20px}
 .home-chapters .chapter-meta>span:last-child{display:none}
 body.reference-design .home-chapters :is(.social-heading h2){font-size:36px;overflow-wrap:anywhere}
 body.reference-design .home-chapters .finale-content h2{font-size:44px}
 body.reference-design .home-chapters .button{font-size:12px;padding-inline:18px}
}

/* Keep the same sideways journey on laptops, tablets and phones. The native
   scroll timeline reads any taller content before sliding to the next panel. */
@media(max-width:1024px){
 .home-chapters.chapters-active .chapters-stage{top:88px;height:calc(100svh - 178px)}
}
@media(max-width:899px){
 .home-chapters.chapters-active .chapter-panel{padding:22px 24px 30px}
 .home-chapters.chapters-active .chapter-meta{margin-bottom:24px;padding-bottom:14px}
 .home-chapters.chapters-active .chapter-meta>span:last-child{display:none}
 .home-chapters.chapters-active .chapter-video .chapter-meta{position:static;padding-bottom:14px;margin-bottom:24px}
 body.reference-design .home-chapters.chapters-active :is(.student-story,.social-section,.finale-content){min-height:0;display:block}
 body.reference-design .home-chapters.chapters-active .chapter-video .social-heading{padding-top:0}
 body.reference-design .home-chapters.chapters-active .social-heading h2{font-size:clamp(32px,6vw,52px);max-width:16ch}
 body.reference-design .home-chapters.chapters-active .social-heading p{margin:16px 0}
 body.reference-design .home-chapters.chapters-active .social-post{width:min(100%,280px);margin:24px auto 0;display:block}
 body.reference-design .home-chapters.chapters-active .social-post-footer{padding-top:18px}
 body.reference-design .home-chapters.chapters-active .story-name{gap:18px;margin-bottom:28px}
 body.reference-design .home-chapters.chapters-active .story-name .quote-sign{font-size:100px}
 body.reference-design .home-chapters.chapters-active .student-story blockquote{font-size:clamp(30px,5.8vw,46px)}
 body.reference-design .home-chapters.chapters-active .finale-content h2{font-size:clamp(40px,8vw,68px);overflow-wrap:anywhere}
 body.reference-design .home-chapters.chapters-active .finale-content>div{padding-top:80px;margin-top:22px}
 body.reference-design .home-chapters.chapters-active .finale-content>div:before{font-size:100px}
 .home-chapters.chapters-active .chapters-nav{padding-inline:10px;height:76px}
 .home-chapters.chapters-active .chapters-window{bottom:76px}
 .home-chapters .chapters-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
 .home-chapters .chapters-links a{flex-direction:column;justify-content:center;gap:3px;min-height:56px;padding:3px 0;text-align:center;font-size:10px;line-height:1.3}
}
@media(max-width:700px){
 .home-chapters.chapters-active .chapters-stage{top:78px;height:calc(100svh - 198px);border-radius:20px}
 .home-chapters.chapters-active .chapter-panel{padding-inline:20px}
 .home-chapters.chapters-active .chapters-window{border-radius:19px 19px 0 0}
}
@media(max-height:500px){
 .home-chapters.chapters-active .chapters-stage{top:78px;height:calc(100svh - 146px)}
}
