/* D2 round 1. Each scene carries one idea; the image or drawing does the rest. */
body.landing-v2{background:var(--canvas)}
.landing-v2 .nav{top:24px;box-shadow:none}.landing-v2 .nav.is-compact{top:16px}
.landing-v2 .scene{position:relative;min-height:0;scroll-margin-top:0}
body.landing-v2 #content .scene>.scene-stage{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:44px;min-height:100svh;height:auto;padding:110px 0 78px;overflow:visible;width:100%;max-width:none}
body.landing-v2.motion-ready #content .scene>.sc-stage{position:sticky;top:0;height:100vh;padding:104px 0 48px}
.landing-v2 .scene-heading{text-align:center;width:90%;max-width:1180px;flex:none}
.landing-v2 .scene-heading h1{font-size:clamp(64px,6.15vw,100px);font-weight:300;letter-spacing:-.045em;max-width:none;line-height:1.01}
.landing-v2 .scene-heading h2,.landing-v2 .scene-contact h2{font-size:clamp(48px,4.6vw,76px);letter-spacing:-.035em;line-height:1.03;font-weight:300;max-width:none}
.landing-v2 .scene-heading p{font-size:18px;color:var(--ink2);margin-top:20px;line-height:1.45}
.landing-v2 .scene-action{margin-top:0;flex:none;padding:12px 22px}
.landing-v2 .classroom{width:86%;max-width:1240px;height:clamp(340px,53vh,540px);position:relative;isolation:isolate;flex:none}
.landing-v2 .classroom-ground{position:absolute;inset:18px -18px -16px 18px;border-radius:28px;background:var(--surface);z-index:-1}
.landing-v2 .classroom-photo{height:100%;overflow:hidden;border-radius:28px}
.landing-v2 .classroom-photo img{object-position:50% 52%;width:100%;height:100%;object-fit:cover}
.landing-v2 .classroom-inset{position:absolute;bottom:-20px;right:34px;width:190px;height:194px;overflow:hidden;border:7px solid var(--canvas);border-radius:25px;transform:rotate(4deg)}
.landing-v2 .classroom-inset img{object-fit:cover}
body.landing-v2 #content .scene-about>.scene-stage{padding-top:138px;gap:38px}
.landing-v2 .scene-schools{background:var(--surface)}
body.landing-v2 #content .scene-schools>.scene-stage{gap:22px}
.landing-v2 .school-world{width:86%;max-width:1150px;position:relative}
.landing-v2 .relief{height:310px;overflow:hidden;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
.landing-v2 .relief>svg{width:100%;height:100%;display:block}
.landing-v2 .campus-buildings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:-10px}
.landing-v2 .campus-building svg{display:block;width:100%;height:125px}
.landing-v2 .school-wall{width:86%;max-width:1150px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:center}
.landing-v2 .school-mark{display:flex;align-items:center;justify-content:center;height:56px;text-align:center;color:var(--ink2);font:400 19px/1.2 var(--display)}
.landing-v2 .school-mark img{max-width:90%;width:220px;height:44px;object-fit:contain;filter:grayscale(1)}
.landing-v2.motion-ready .relief .extrude,.landing-v2.motion-ready .campus-building .extrude{transform-box:fill-box;transform-origin:center bottom;transform:scaleY(calc(.2 + clamp(0,var(--sc-p,0)*2,1)*.8))}
.landing-v2.motion-ready .relief .transit-path{stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0,var(--sc-p,0)*2,1))}
body.landing-v2 #content .scene-partners>.scene-stage{min-height:120vh;gap:56px}
.landing-v2 .partner-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 36px;width:82%;max-width:1160px;align-items:center}
.landing-v2 .partner-mark{display:flex;align-items:center;justify-content:center;text-align:center;height:70px;min-width:0;color:var(--ink2);font:400 23px/1.2 var(--display)}
.landing-v2 .partner-mark-major{font-size:28px}
.landing-v2 .partner-mark img{width:176px;max-width:100%;height:38px;object-fit:contain;filter:grayscale(1);opacity:.8;transition:opacity .2s}
.landing-v2 .partner-mark:hover img{opacity:1}
.landing-v2 .scene-moments{background:var(--surface)}
body.landing-v2 #content .scene-moments>.scene-stage{gap:28px}
.landing-v2 .moments-stage{position:relative;width:90%;max-width:1280px}
.landing-v2 .moment-film{position:relative;overflow:hidden;border-radius:24px;margin-bottom:20px;height:230px}
.landing-v2 .moment-film video{display:block;width:100%;height:100%;object-fit:cover}
.landing-v2 .moments-gallery{display:grid;grid-template-columns:1.45fr .5fr .5fr;grid-template-rows:1fr 1fr;gap:16px;height:460px}
.landing-v2 .moment{display:block;position:relative;min-width:0;overflow:hidden;border-radius:22px;background:var(--surface-2)}
.landing-v2 .moment img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.landing-v2 .moment:hover img{transform:scale(1.025)}
.landing-v2 .moment-main{grid-row:1/3}.landing-v2 .moment-main img{object-position:50% 40%}
.landing-v2 .moment-wide{grid-column:2/4}
.landing-v2.motion-ready .moment-film{position:absolute;inset:0;height:100%;margin:0;z-index:2;pointer-events:none;clip-path:inset(0 0 0 calc(clamp(0,(var(--sc-p,0) - .2)*2.6,1)*100%) round 24px)}
.landing-v2.motion-ready .moments-gallery{height:clamp(380px,50vh,540px)}
.landing-v2 .scene-benefits{background:var(--canvas)}
.landing-v2 .tool-wall{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:86%;max-width:1220px;column-gap:18px;row-gap:12px}
.landing-v2 .tool-mark{display:flex;align-items:center;justify-content:center;height:100px;padding:12px;text-align:center;text-decoration:none;color:var(--ink2);font:400 21px/1.2 var(--display);transition:background .2s,color .2s;min-width:0;border-radius:18px}
.landing-v2 .tool-mark img{width:160px;max-width:100%;height:40px;object-fit:contain;filter:grayscale(1);opacity:1;transition:filter .2s,opacity .2s}
.landing-v2 .tool-mark:hover,.landing-v2 .tool-mark:focus-visible{color:var(--ink);background:var(--surface)}
.landing-v2 .tool-mark:hover img,.landing-v2 .tool-mark:focus-visible img{filter:grayscale(0);opacity:1}
.landing-v2 .scene-roadmap{background:var(--surface)}
.landing-v2 .scene-roadmap .route-wrap{width:90%;max-width:1220px}
body.landing-v2 #content .scene-briefs>.scene-stage{min-height:120vh;gap:44px}
.landing-v2 .news-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:86%;max-width:1220px}
.landing-v2 .news-card{position:relative;min-height:350px;background:var(--surface);border-radius:24px;padding:34px;display:flex;flex-direction:column;align-items:flex-start;gap:36px;transition:background .2s,transform .2s}
.landing-v2 .news-category{font:400 12px/1.2 var(--mono);padding:7px 11px;border:1px solid #c2bcb4;border-radius:99px;color:var(--ink2)}
.landing-v2 .news-card h3{font:300 clamp(25px,2.25vw,34px)/1.16 var(--display);letter-spacing:-.018em;text-wrap:balance}
.landing-v2 .news-card h3 a{color:inherit;text-decoration:none}
.landing-v2 .news-card h3 a:after{content:"";position:absolute;inset:0;border-radius:24px}
.landing-v2 .news-card:hover{background:var(--surface-2);transform:translateY(-4px)}
.landing-v2 .news-arrow{margin-top:auto;align-self:flex-end}
.landing-v2 .news-arrow svg{width:22px;height:22px}
.landing-v2 .scene-contact{background:var(--surface)}
body.landing-v2 #content .scene-contact>.scene-stage{gap:54px}
.landing-v2 .scene-contact h2{text-align:center;font-size:clamp(60px,5.9vw,92px)}
.landing-v2 .contact-actions{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;width:90%}
.landing-v2 .join-inline{width:470px;max-width:100%}
.landing-v2 .join-inline fieldset{border:1px solid #b3ada5;border-radius:99px;display:flex;padding:5px 5px 5px 22px;gap:12px;min-width:0;margin:0;background:var(--canvas)}
.landing-v2 .join-inline input{border:0;outline-offset:4px;background:transparent;width:100%;min-width:0;font-size:14px;color:var(--ink2)}
.landing-v2 .join-inline input::placeholder{color:var(--ink2);opacity:1}
.landing-v2 .join-inline button{border:0;border-radius:99px;background:var(--surface-2);color:var(--ink2);padding:13px 16px;display:flex;align-items:center;gap:12px;font-size:13px;white-space:nowrap;cursor:not-allowed}
.landing-v2 .contact-actions>.pill{padding:17px 22px}
.landing-v2 .landing-footer{padding:38px 7% 28px;background:var(--surface);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 36px}
.landing-v2 .landing-footer>div{display:flex;gap:24px;align-items:center;font-size:13px;color:var(--ink2)}
.landing-v2 .footer-wordmark{color:var(--ink);font-size:16px;font-weight:500;text-decoration:none;letter-spacing:.02em}
.landing-v2 .landing-footer nav{display:flex;gap:24px;font-size:13px}
.landing-v2 .landing-footer a{color:inherit}
body.landing-v2:not(.motion-ready) [data-sc-cue]{opacity:1;transform:none}
body.landing-v2:not(.motion-ready) video[data-sc-scrub]{opacity:1}
@media(max-width:860px){
 .landing-v2 .nav{top:20px;gap:9px}.landing-v2 .seats{display:none}
 body.landing-v2 #content .scene>.scene-stage{min-height:100svh;padding:94px 0 80px;gap:36px}
 body.landing-v2 #content .scene-about>.scene-stage{padding-top:140px;gap:40px;min-height:100svh}
 .landing-v2 .scene-heading{width:calc(100% - 40px)}
 .landing-v2 .scene-heading h1{font-size:clamp(52px,12vw,76px);max-width:9ch;margin:auto;line-height:1.02}
 .landing-v2 .scene-heading h2{font-size:44px;max-width:13ch;margin:auto}
 .landing-v2 .scene-heading p{font-size:16px;margin:20px auto 0;max-width:30ch}
 .landing-v2 .classroom{width:calc(100% - 40px);height:350px}
 .landing-v2 .classroom-photo{border-radius:22px}.landing-v2 .classroom-photo img{object-position:48% 50%}
 .landing-v2 .classroom-ground{inset:12px -8px -10px 12px;border-radius:22px}
 .landing-v2 .classroom-inset{width:112px;height:126px;right:12px;bottom:-18px;border-width:5px;border-radius:18px}
 body.landing-v2 #content .scene-schools>.scene-stage{gap:30px}
 .landing-v2 .school-world{width:100%}
 .landing-v2 .relief{height:255px;position:relative}.landing-v2 .relief>svg{position:absolute;width:660px;max-width:none;height:340px;left:calc(50% - 330px);top:-30px}
 .landing-v2 .campus-buildings{gap:0;padding:0 12px;margin-top:0}.landing-v2 .campus-building svg{height:88px}
 .landing-v2 .school-wall{width:calc(100% - 28px);gap:10px}
 .landing-v2 .school-mark{font-size:13px;height:46px}.landing-v2 .school-mark img{height:34px;max-width:100%}
 body.landing-v2 #content .scene-partners>.scene-stage{min-height:110svh;gap:44px}
 .landing-v2 .partner-wall{width:calc(100% - 44px);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}
 .landing-v2 .partner-mark{font-size:18px;height:58px}.landing-v2 .partner-mark-major{font-size:21px}.landing-v2 .partner-mark img{height:32px}
 body.landing-v2 #content .scene-moments>.scene-stage{gap:30px}
 .landing-v2 .moments-stage{width:calc(100% - 32px)}
 .landing-v2 .moment-film{height:140px;border-radius:18px;margin-bottom:16px}
 .landing-v2 .moments-gallery{height:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:300px 145px;gap:12px}
 .landing-v2 .moment-main{grid-column:1/4;grid-row:1}.landing-v2 .moment-wide{grid-column:auto}
 .landing-v2 .moment{border-radius:18px}.landing-v2 .moment img{object-position:center}
 .landing-v2 .tool-wall{width:calc(100% - 32px);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px}
 .landing-v2 .tool-mark{height:72px;padding:7px;font-size:17px;border-radius:12px}.landing-v2 .tool-mark img{height:32px}
 body.landing-v2 #content .scene-benefits>.scene-stage{gap:32px}
 body.landing-v2 #content .scene-briefs>.scene-stage{min-height:100svh;gap:36px}
 .landing-v2 .news-wall{width:calc(100% - 40px);grid-template-columns:1fr;gap:14px}
 .landing-v2 .news-card{min-height:230px;padding:26px;gap:22px;border-radius:20px}.landing-v2 .news-card h3{font-size:28px;max-width:21ch;text-wrap:pretty}.landing-v2 .news-category{font-size:11px;padding:6px 10px}
 .landing-v2 .scene-contact h2{font-size:46px;width:calc(100% - 40px)}.landing-v2 .contact-actions{width:calc(100% - 40px);gap:22px;flex-direction:column}
 .landing-v2 .join-inline fieldset{padding-left:16px;gap:6px}.landing-v2 .join-inline button{font-size:12px;padding:14px 12px;gap:5px}.landing-v2 .join-inline button .arrow{display:none}.landing-v2 .join-inline input{font-size:12px}
 .landing-v2 .landing-footer{padding:28px 20px;gap:28px}.landing-v2 .landing-footer>div{justify-content:space-between;width:100%;font-size:12px;gap:16px}.landing-v2 .landing-footer nav{flex-wrap:wrap;gap:16px 20px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.landing-v2 *, .landing-v2 *:before,.landing-v2 *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.landing-v2 [data-sc-parallax]{transform:none!important}}

/* The city has weight; its four campuses retain equal optical space. */
.landing-v2 .scene-heading h1{letter-spacing:-.05em}
.landing-v2 .classroom-photo{border-radius:24px}.landing-v2 .classroom-ground{border-radius:24px}
.landing-v2 .relief{height:325px;filter:contrast(1.18);mask-image:linear-gradient(transparent,#000 8%,#000 93%,transparent)}
.landing-v2 .campus-buildings{gap:26px;margin-top:-8px}.landing-v2 .campus-building{position:relative;border-top:1px solid #d2ccc4;padding-top:10px}.landing-v2 .campus-building svg{height:132px;filter:contrast(1.2)}.campus-city{display:block;text-align:center;font:400 10px/1.5 var(--mono);color:var(--ink2);margin-top:5px}
.landing-v2 .school-mark{font-size:18px}.landing-v2 .partner-mark img{opacity:1}
.landing-v2 .news-card{border:1px solid transparent}.landing-v2 .news-card:focus-within{border-color:var(--ink)}
.landing-v2 .moment:focus-visible{outline-offset:6px}
.landing-v2 .scene-roadmap .foundation-map{max-width:1100px;width:86%}
.landing-v2 .scene-roadmap .foundation-key{margin-top:0}
@media(max-width:860px){.landing-v2 .classroom-photo{border-radius:22px}.landing-v2 .classroom-photo img{object-position:48% 48%}.landing-v2 .relief{height:240px}.landing-v2 .campus-buildings{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 20px}.landing-v2 .campus-building svg{height:110px}.landing-v2 .campus-building{padding-top:5px}.campus-city{font-size:9px}.landing-v2 .school-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;width:calc(100% - 40px)}.landing-v2 .school-mark{font-size:16px;max-width:100%;height:40px}.landing-v2 .school-mark img{height:36px}.landing-v2 .scene-roadmap .foundation-map{width:calc(100% - 44px)}
.landing-v2 .route-drawing{min-height:548px}.landing-v2 .route-phone-line h3{font-size:19px}.landing-v2 .route-phone-line li{font-size:12px}
}

.landing-v2 .campus-buildings.school-wall{width:100%;max-width:none}.landing-v2 .campus-building .school-mark{margin-top:10px;height:44px}.landing-v2 .campus-building .school-mark img{height:38px}
.landing-v2 .tool-mark{font-weight:400}.landing-v2 .tool-mark>span{max-width:14ch}
@media(max-width:860px){.landing-v2 .campus-buildings.school-wall{gap:20px 18px;width:100%}.landing-v2 .campus-building .school-mark{font-size:15px;height:40px}.landing-v2 .campus-building .school-mark img{height:32px}.landing-v2 .campus-building svg{height:98px}.landing-v2 .scene-schools .scene-heading h2{font-size:42px}.landing-v2 .tool-mark{font-size:17px}}

@media(min-width:861px){.landing-v2 .scene-roadmap .foundation-map-wide{height:350px}.landing-v2 .scene-roadmap .foundation-node text{font-size:19px}.landing-v2 .scene-roadmap .foundation-map{max-width:1120px}.landing-v2 .scene-roadmap .foundation-key{margin-top:0}}
@media(max-width:860px){.landing-v2 .route-drawing{min-height:380px}.landing-v2 .route-phone-line li{font-size:14px}.landing-v2 .moment-main img{object-position:100% center}}
/* Phone cover: keep the people, rather than the ceiling, in the foreground. */
@media(max-width:860px){.landing-v2 .classroom-photo img{transform:scale(1.42);transform-origin:50% 70%}}

/* The geographic plate and four equally scaled campus portraits form one scene. */
.landing-v2 .school-world{width:92%;max-width:1280px;min-width:0;overflow:hidden}
.landing-v2 .relief{height:355px;filter:contrast(1.42);mask-image:linear-gradient(transparent,#000 6%,#000 96%,transparent)}
.landing-v2 .campus-building svg{height:154px;filter:contrast(1.35)}
.landing-v2 .campus-buildings{gap:28px;margin-top:0}
.landing-v2 .campus-building{border-color:#bdb6ad}
.landing-v2 .tool-wall{row-gap:10px;column-gap:24px}
.landing-v2 .tool-mark{font-size:22px;font-weight:400;letter-spacing:-.02em;line-height:1.18}
@media(max-width:860px){
 .landing-v2 .school-world{width:100%;overflow:hidden;contain:inline-size}
 .landing-v2 .relief{height:270px}
 .landing-v2 .relief>svg{width:590px;height:285px;left:calc(50% - 295px);top:0}
 .landing-v2 .campus-building svg{height:116px}
 .landing-v2 .tool-wall{column-gap:10px;row-gap:6px}
 .landing-v2 .tool-mark{font-size:18px}
}

.landing-v2 .relief,.landing-v2 .campus-building svg{filter:none}
.landing-v2 .relief [fill="#d6d2cc"]{fill:#b4ada3}
.landing-v2 .relief [fill="#ebe8e4"]{fill:#d8d1c8}
.landing-v2 .campus-building [fill="#d6d2cc"]{fill:#b4ada3}
@media(max-width:860px){.landing-v2 .relief{height:235px}.landing-v2 .relief>svg{position:static;width:100%;height:100%;max-width:100%}}

.landing-v2 .partner-mark>span{max-width:100%;overflow-wrap:normal;hyphens:manual}@media(max-width:700px){.landing-v2 .partner-mark{font-size:clamp(13px,4.6vw,18px)}.landing-v2 .partner-mark-major{font-size:clamp(15px,5.3vw,21px)}}

/* One bounded photo reveal; every other section stays in natural document flow. */
body.landing-v2 #content .scene-about>.hero-stage{padding:150px 0 70px;gap:36px;min-height:100svh}
.landing-v2 .scene-about .scene-heading{max-width:1220px;position:relative;z-index:1}
.landing-v2 .scene-about .scene-heading h1{font-size:clamp(48px,6.3vw,94px);line-height:1.02;letter-spacing:-.05em;max-width:none}
.landing-v2 .scene-about .scene-heading p{max-width:48ch;margin:24px auto 0;font-size:20px}
.landing-v2 .scene-about .classroom{width:88%;max-width:none;height:48svh}
.landing-v2 .scene-about .classroom-photo img{transform:none;object-position:50% 58%}
body.landing-v2.hero-motion #about{height:180svh}
body.landing-v2.hero-motion #content #about>.hero-stage{position:sticky;top:0;height:100svh;min-height:0;padding:0;display:block;overflow:hidden}
.landing-v2.hero-motion #about .scene-heading{position:absolute;top:130px;left:5%;width:90%}
/* The opaque photo uncovers the copy; text never overlays the people. */
.landing-v2.hero-motion #about .classroom{position:absolute;z-index:2;left:calc(var(--hero-progress,0)*6%);top:calc(100px + var(--hero-progress,0)*(52svh - 100px));width:calc(100% - var(--hero-progress,0)*12%);height:calc(100svh - 100px - var(--hero-progress,0)*50svh);margin:0}
.landing-v2.hero-motion #about .classroom-photo{border-radius:calc(var(--hero-progress,0)*24px)}
@media(max-width:599px){
 .landing-v2 .site-header{height:0}
 .landing-v2 .scene{scroll-margin-top:150px}
 body.landing-v2 #content .scene-about>.hero-stage{padding-top:180px}
 .landing-v2 .scene-about .scene-heading h1{font-size:clamp(38px,8.4vw,68px);max-width:none}
 .landing-v2 .scene-about .scene-heading p{font-size:16px;margin-top:20px;max-width:32ch}
 .landing-v2 .scene-about .classroom{width:calc(100% - 32px);height:42svh}
 body.landing-v2.hero-motion #about{height:160svh}
 .landing-v2.hero-motion #about .scene-heading{top:164px;left:6%;width:88%}
 .landing-v2.hero-motion #about .classroom{top:calc(146px + var(--hero-progress,0)*(max(54svh,430px) - 146px));height:calc(100svh - 146px - var(--hero-progress,0)*(max(54svh,430px) - 80px));left:calc(var(--hero-progress,0)*4%);width:calc(100% - var(--hero-progress,0)*8%)}
}

@media(min-width:600px) and (max-height:760px){.landing-v2.hero-motion #about .scene-heading{top:110px}.landing-v2.hero-motion #about .scene-heading h1{font-size:clamp(48px,9svh,68px)}.landing-v2.hero-motion #about .scene-heading p{font-size:17px;margin-top:16px}}

/* Schools: the approved campus reveal (motion study revision 12), scoped to #schools. Progress lives on the section as --campus-progress. */
.landing-v2 .scene-schools{--campus-progress:0;--campus-city-opacity:1;--campus-title-opacity:0;--campus-top:112px;--finish-y:47svh;--finish-logo:calc(47svh + 10.56vw + 24px);background:var(--surface);height:260vh;height:260svh;position:relative}
body.landing-v2 #content .scene-schools>.scene-stage.campus-stage{position:sticky;top:0;display:block;height:100vh;height:100svh;min-height:0;padding:0;overflow:clip;isolation:isolate}
.landing-v2 .campus-map{position:absolute;z-index:1;inset:var(--campus-top) 4vw 11svh;display:grid;place-items:center;transform:translateY(calc(var(--campus-progress) * -3vh)) scale(calc(1 - var(--campus-progress) * .16));opacity:var(--campus-city-opacity);filter:saturate(calc(1 - var(--campus-progress) * .45));will-change:transform,opacity}
.landing-v2 .campus-map-art{display:block;width:100%;height:100%;object-fit:contain}
.landing-v2 .scene-schools .scene-heading.campus-title{position:absolute;z-index:9;top:12svh;left:50%;width:90vw;max-width:none;margin:0;text-align:center;opacity:var(--campus-title-opacity);transform:translate(-50%,calc((1 - var(--campus-title-opacity)) * 18px));will-change:transform,opacity}
.landing-v2 .scene-schools .campus-title h2{font-size:clamp(24px,3.4vw,52px);line-height:.98;letter-spacing:-.045em;font-weight:300}
.landing-v2 .campus-title-count{color:var(--ink3);margin-right:.16em}
.landing-v2 .campus-item{--x:0;--y:0;--scale:.15;--building-opacity:0;--logo-y:112svh;--logo-opacity:0;--slot:calc((var(--i) + .5) * (100vw / var(--n)));position:absolute;inset:0;z-index:calc(7 + var(--i));pointer-events:none}
.landing-v2 .campus-render{position:absolute;top:0;left:0;width:22vw;height:22vw;max-width:none;border-radius:0;box-shadow:none;object-fit:contain;opacity:var(--building-opacity);transform:translate3d(calc(var(--x) * 1px - 50%),calc(var(--y) * 1px - 50%),0) scale(var(--scale));transform-origin:center;filter:drop-shadow(0 18px 24px rgba(47,40,29,calc(var(--campus-progress) * .09)));will-change:transform,opacity}
.landing-v2 .campus-item[data-campus="stern"] .campus-render{clip-path:polygon(0% 54%,2% 54%,2% 49%,5% 47%,6.7% 46%,6.7% 27%,21% 20%,21% 18%,45% 10%,49% 10%,55% 14%,59% 13%,94.5% 30.7%,94.5% 48%,96% 48%,98% 52%,98% 57%,100% 60%,100% 65%,45.5% 94%,0% 60%)}
.landing-v2 .campus-mark{position:absolute;z-index:11;left:calc(var(--slot) - 10vw);top:0;width:20vw;height:7.8vw;display:flex;align-items:center;justify-content:center;padding:0;opacity:var(--logo-opacity);transform:translate3d(0,var(--logo-y),0);will-change:transform,opacity}
.landing-v2 .campus-mark img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;filter:none;opacity:1}
.landing-v2 .campus-mark-cbs img{width:73%}
.landing-v2 .campus-mark-cornell-tech img{width:66%}
.landing-v2 .campus-mark-silhouette{display:block;width:88%;height:100%;background:var(--school-stern);mask:var(--mark) center / contain no-repeat;-webkit-mask:var(--mark) center / contain no-repeat}
.landing-v2 .campus-mark-yale-som{gap:1vw;color:var(--school-yale-som)}
.landing-v2 .campus-mark-yale-som img{width:3.2vw;height:3.92vw;flex:none}
.landing-v2 .campus-mark-text{font-family:Georgia,"Times New Roman",serif;font-size:2.7vw;font-weight:400;letter-spacing:-.035em;line-height:1;white-space:nowrap}
.landing-v2 .campus-mark-name{font:400 clamp(11px,1.2vw,18px)/1.2 var(--display);color:var(--ink);text-align:center}
.landing-v2 .campus-progress{position:absolute;z-index:30;bottom:32px;left:50%;width:min(260px,35vw);display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;transform:translateX(-50%);color:var(--ink2);font:400 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.landing-v2 .campus-progress-track{position:relative;height:2px;width:100%;background:rgba(0,0,0,.14)}
.landing-v2 .campus-progress-track i{position:absolute;left:0;top:0;height:100%;width:calc(var(--campus-progress) * 100%);background:var(--ink)}
.landing-v2 .campus-progress-count b{color:var(--ink);font-weight:500}
@media(max-width:700px){.landing-v2 .scene-schools{--campus-top:150px;--finish-y:43svh;--finish-logo:calc(43svh + 11.28vw + 18px)}.landing-v2 .campus-map{inset-inline:0}.landing-v2 .campus-render{width:23.5vw;height:23.5vw}.landing-v2 .campus-mark{left:calc(var(--slot) - 10.5vw);width:21vw;height:6vw}.landing-v2 .scene-schools .campus-title h2{font-size:26px}.landing-v2 .scene-schools .scene-heading.campus-title{top:24svh}.landing-v2 .campus-mark-yale-som{gap:2px}.landing-v2 .campus-mark-yale-som img{width:5vw;height:6.1vw}.landing-v2 .campus-mark-text{font-size:3.6vw}.landing-v2 .campus-progress{bottom:44px;left:auto;right:20px;transform:none;width:28vw}}
/* Finished composition without motion: reduced motion, short windows, or no script. */
.landing-v2 .scene-schools.campus-static,body.landing-v2:not(.has-scroll-feedback) .scene-schools{height:100vh;height:100svh}
.landing-v2 .scene-schools.campus-static .campus-map,body.landing-v2:not(.has-scroll-feedback) .scene-schools .campus-map,.landing-v2 .scene-schools.campus-static .campus-progress,body.landing-v2:not(.has-scroll-feedback) .scene-schools .campus-progress{display:none}
.landing-v2 .scene-schools.campus-static,body.landing-v2:not(.has-scroll-feedback) .scene-schools{--campus-title-opacity:1}
.landing-v2 .scene-schools.campus-static .campus-render,body.landing-v2:not(.has-scroll-feedback) .scene-schools .campus-render{opacity:1;transform:translate3d(calc(var(--slot) - 50%),calc(var(--finish-y) - 50%),0)}
.landing-v2 .scene-schools.campus-static .campus-mark,body.landing-v2:not(.has-scroll-feedback) .scene-schools .campus-mark{opacity:1;transform:translate3d(0,var(--finish-logo),0)}
@media(prefers-reduced-motion:reduce){.landing-v2 .scene-schools{height:100vh;height:100svh;--campus-title-opacity:1}.landing-v2 .scene-schools .campus-map,.landing-v2 .scene-schools .campus-progress{display:none}.landing-v2 .scene-schools .campus-render{opacity:1!important;transform:translate3d(calc(var(--slot) - 50%),calc(var(--finish-y) - 50%),0)!important}.landing-v2 .scene-schools .campus-mark{opacity:1!important;transform:translate3d(0,var(--finish-logo),0)!important}}

/* Founder copy: keep expanded headings clear of the existing photo and campus motion. */
.landing-v2 .scene-about .scene-heading p{max-width:66ch;font-size:18px}.landing-v2 #roadmap .scene-heading h2{text-wrap:balance}
.landing-v2 .scene-partners .scene-heading h2{text-wrap:balance}.landing-v2 .scene-partners .scene-heading p,.landing-v2 .scene-moments .scene-heading p{max-width:66ch;margin-inline:auto;text-wrap:pretty}
.landing-v2 .scene-schools .campus-title h2{max-width:1000px;margin-inline:auto;font-size:clamp(26px,3vw,44px);line-height:1.08;text-wrap:balance}
.landing-v2 .campus-title strong{font-weight:500}
.landing-v2 .campus-description{position:absolute;z-index:12;top:max(80svh,calc(47svh + 18.36vw + 40px));left:50%;width:min(760px,88vw);text-align:center;transform:translateX(-50%);opacity:var(--campus-title-opacity)}
.landing-v2 .campus-description p{font-size:17px;line-height:1.45;color:var(--ink2);text-wrap:pretty}
.landing-v2 .campus-description small{display:block;margin-top:12px;font-size:12px;line-height:1.4;color:var(--ink2)}
@media(max-width:700px){.landing-v2 .scene-schools .scene-heading.campus-title{top:max(150px,17svh)}.landing-v2 .scene-schools .campus-title h2{max-width:580px;font-size:clamp(24px,5.5vw,32px)}.landing-v2 .campus-description{top:61svh;width:86vw}.landing-v2 .campus-description p{font-size:15px}.landing-v2 .campus-description small{font-size:11px}}
@media(max-width:599px){.landing-v2 .scene-about .scene-heading h1{font-size:clamp(32px,8.4vw,48px);text-wrap:balance}.landing-v2 .scene-about .scene-heading p{font-size:15px;max-width:36ch;margin-top:18px}.landing-v2.hero-motion #about .classroom{top:calc(146px + var(--hero-progress,0)*(max(56svh,450px) - 146px));height:calc(100svh - 146px - var(--hero-progress,0)*(max(56svh,450px) - 80px))}.landing-v2 .scene-partners .scene-heading p,.landing-v2 .scene-moments .scene-heading p{max-width:36ch}}

.landing-v2.hero-motion #about .scene-heading{left:50%;transform:translateX(-50%)}

/* Landing Contact combines the work invitation with the community sign-up. */
body.landing-v2 #content .scene-contact>.contact-stage{align-items:stretch;justify-content:flex-start;min-height:0;gap:0;padding:clamp(130px,11vw,180px) 0 0}
.landing-v2 .contact-cta{position:relative;isolation:isolate;display:grid;align-items:center;min-height:620px;margin-top:0;overflow:hidden;background:var(--surface)}
.landing-v2 .contact-cta-art{position:absolute;inset:0;z-index:-1}
.landing-v2 .contact-cta-art img{width:100%;height:100%;object-fit:cover;object-position:66% 55%}
.landing-v2 .contact-cta-copy{width:90%;max-width:1280px;margin-inline:auto;padding:88px 0}
.landing-v2 .contact-cta-copy h2,.landing-v2 .contact-cta-copy h3{font-family:var(--display);font-size:clamp(58px,5.7vw,84px);font-weight:300;letter-spacing:-.05em;line-height:1;text-align:left;text-wrap:balance;max-width:12ch;max-inline-size:12ch;width:100%}
.landing-v2 .contact-cta-copy>p:not(.label){font-size:17px;line-height:1.65;color:var(--ink2);margin-top:28px;max-width:30ch;text-wrap:pretty}
.landing-v2 .contact-cta-copy .pill{margin-top:32px;gap:18px}
.landing-v2 .contact-join{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(88px,10vw,140px) 0 clamp(96px,12vw,160px)}
.landing-v2 .contact-join h3{font-family:var(--display);font-size:clamp(48px,4.6vw,76px);font-weight:300;letter-spacing:-.035em;line-height:1.03;text-wrap:balance;max-width:12ch;max-inline-size:12ch;width:100%}
.landing-v2 .contact-join>.label{margin-bottom:22px;color:var(--ink2)}
.landing-v2 .contact-join .contact-intro{max-width:54ch;width:86%;font-size:18px;line-height:1.6;color:var(--ink2);margin:24px auto 32px;text-wrap:pretty}
@media(max-width:860px){
 body.landing-v2 #content .scene-contact>.contact-stage{padding-top:150px}
 .landing-v2 .contact-cta{display:flex;flex-direction:column;align-items:stretch;min-height:0;margin-top:0}
 .landing-v2 .contact-cta-art{position:relative;width:100%;height:310px}
 .landing-v2 .contact-cta-art img{object-position:82% 48%}
 .landing-v2 .contact-cta-copy{width:calc(100% - 40px);max-width:none;padding:36px 0 64px}
 .landing-v2 .contact-cta-copy h2,.landing-v2 .contact-cta-copy h3{font-size:60px}
 .landing-v2 .contact-join{width:calc(100% - 40px);padding:64px 0 80px}
 .landing-v2 .contact-join h3{font-size:46px}
 .landing-v2 .contact-join .contact-intro{width:100%;font-size:16px;margin-top:20px}
}
