/* Photo framing and text placement follow each scene's natural negative space. */
.hero{background:#11120f;padding-top:0;min-height:0}
.hero-stage{position:relative;isolation:isolate;min-height:clamp(720px,60vw,900px);padding-bottom:80px}
.hero-scenes{inset:0;height:100%;background:#11120f}
.hero-scene .hero-art{background-size:contain;background-position:right top;transform:none;transform-origin:62% 45%;--camera-from-x:-.8%;--camera-to-x:.8%;--camera-from-y:.35%;--camera-to-y:-.35%;--camera-from-scale:1.01;--camera-to-scale:1.06}
.hero-scene.is-active .hero-art,.hero-scene.is-leaving .hero-art{animation:scene-camera 6s ease-in-out infinite alternate both}
@keyframes scene-camera{from{transform:translate3d(var(--camera-from-x),var(--camera-from-y),0) scale(var(--camera-from-scale))}to{transform:translate3d(var(--camera-to-x),var(--camera-to-y),0) scale(var(--camera-to-scale))}}
.hero-scene .hero-art-reading{--camera-from-x:.8%;--camera-to-x:-.8%;transform-origin:68% 43%}
.hero-scene .hero-art-counseling{--camera-from-x:0%;--camera-to-x:0%;--camera-from-scale:1.06;--camera-to-scale:1.01;transform-origin:center 42%}
.hero-scene .hero-art-you{--camera-from-x:.4%;--camera-to-x:-.4%;--camera-to-scale:1.05;transform-origin:70% 38%}
.hero.hero-out-of-view .hero-art{animation-play-state:paused}
.hero-art-reading{background-image:url('assets/reading-hero.png')}
.hero-art-counseling{background-image:url('assets/together-conversation-hero.png')}
.hero-art-you{background-image:url('assets/self-discovery-hero.jpg')}
.hero-scene .hero-art::after{display:none}
.hero-shade{background:linear-gradient(180deg,#0002,transparent 28%,#11120f00 65%,#11120f 100%),linear-gradient(90deg,#090b0985,transparent 58%)}
.hero-copy{width:44%;max-width:650px;margin-left:5.5%;padding-top:clamp(154px,12vw,205px);text-align:left}
.hero-message{padding:0;min-height:300px}
.hero .hero-message h1{font-size:clamp(52px,5vw,80px);line-height:1.06;letter-spacing:-3px;margin:21px 0 22px}
.hero .hero-message h1 em{letter-spacing:inherit}
.hero-description{font-size:14px;max-width:510px;line-height:1.75}
.hero-controls{justify-content:flex-start;margin-left:0;margin-right:0;gap:15px}
.hero-scene-buttons{gap:11px}
.hero-motion-control{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:9px 13px;border:1px solid #ffffff4d;border-radius:30px;background:#151712b3;color:#f6f5ef;font-size:10px;letter-spacing:.2px}
.hero-motion-control:hover{background:#ffffff20}
.hero-motion-control [data-motion-icon]{min-width:12px;font-size:11px}
.hero[data-scene="together"] .hero-copy{width:42%;max-width:540px;margin:0 auto;text-align:center;padding-top:clamp(122px,10vw,165px)}
.hero[data-scene="together"] .hero-message{min-height:295px}
.hero[data-scene="together"] .hero-message h1{font-size:clamp(36px,3.8vw,60px)}
.hero[data-scene="together"] .hero-description{max-width:365px;margin-left:auto;margin-right:auto}
.hero[data-scene="together"] .hero-controls{justify-content:center;margin-left:auto;margin-right:auto}
.hero[data-scene="together"] .hero-shade{background:linear-gradient(180deg,#0002,transparent 55%,#11120f 100%)}
.hero[data-scene="you"] .hero-shade{background:linear-gradient(180deg,#0001,transparent 55%,#11120f 100%)}
.hero-bottom{margin-top:32px;width:89%;padding-bottom:34px}
.journey-carousel{position:relative;margin-top:-28px;isolation:isolate}
.journey-stage{--deck-step:590px;position:relative;display:block;width:100%;height:470px;min-height:0;left:auto;margin:0;perspective:1500px;scale:1;transform-origin:center}
.journey-stage .journey-card{position:absolute;left:50%;top:0;margin-left:-310px;width:620px;height:430px;padding:30px 34px;border-radius:4px;overflow:hidden;box-shadow:0 23px 50px #0004;transform:translateX(calc(var(--deck-x,0) * var(--deck-step))) translateY(var(--deck-y,0px)) rotateY(var(--deck-turn,0deg)) rotateZ(var(--deck-rotation,0deg)) scale(var(--deck-scale,1));transition:transform 1s cubic-bezier(.22,.7,.18,1),opacity .7s,box-shadow .3s;animation:none;will-change:transform}
.journey-card .mini-header{position:relative;z-index:3;font-size:10px}
.journey-card h2{position:relative;z-index:2;font-size:52px;font-weight:450;line-height:1.05;letter-spacing:-1.8px;margin-top:76px;max-width:405px;text-shadow:none}
.journey-card h2 em{font-size:55px}
.journey-card>p{position:absolute;z-index:2;bottom:32px;left:34px;font-size:12px;max-width:405px}
.deck-photo{position:absolute;right:0;bottom:0;top:42px;width:55%;background-size:auto 100%;background-position:75% center;background-repeat:no-repeat;opacity:.8;mask-image:linear-gradient(90deg,transparent,#000 18%)}
.deck-academics{background:#e8e6d7;color:#30382c}.deck-academics .deck-photo{opacity:1;mask-image:linear-gradient(90deg,transparent,#000 35%)}
.deck-exploration{background:#242627;color:#f3ede4}.deck-exploration .deck-photo{width:67%;background-position:80% center;opacity:.85}
.deck-leadership{background:#d5b69a;color:#342c25}.deck-leadership .deck-photo{opacity:.9;background-position:74% center;mask-image:linear-gradient(90deg,transparent,#000 40%)}
.deck-summer{background:#c6cbd2;color:#303843}.deck-college{background:#a9b6a3;color:#29352b}.deck-college .deck-photo{width:62%;opacity:.75;background-position:77% center;mask-image:linear-gradient(90deg,transparent,#000 50%)}
.deck-essays{background:#dac5c4;color:#423332}
.deck-sun{position:absolute;right:-12px;bottom:-65px;width:260px;height:260px;border:1px solid #6a7b8d;border-radius:50%;box-shadow:0 0 0 20px #c6cbd2,0 0 0 21px #7b8a9a,0 0 0 41px #c6cbd2,0 0 0 42px #8c9baa}
.deck-sun:after{content:"";position:absolute;width:75px;height:75px;left:72px;top:58px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#faf4df,#b7966d 66%,#675748);box-shadow:9px 18px 30px #66738240}
.deck-page{position:absolute;width:150px;height:204px;right:15px;top:74px;background:#f3ecdf;padding:20px 16px;rotate:9deg;box-shadow:10px 10px 20px #57483d22}
.deck-page>span{font-size:6px;letter-spacing:.8px}.deck-page i{display:block;height:15px;border-bottom:1px solid #cabfad;margin-top:10px}
.journey-controls{display:flex;justify-content:center;align-items:center;gap:17px;margin-top:8px;color:#f0eee5}.journey-controls button{border:1px solid #f0eee559;border-radius:50%;background:transparent;width:34px;height:34px;color:inherit}.journey-controls button:hover{background:#fff2}.journey-controls span{font-size:9px;letter-spacing:1.5px;min-width:55px;text-align:center}
.program-tabs{flex-wrap:wrap;gap:8px;width:94%;max-width:1250px}.program-tabs button{font-size:11px;padding:13px 17px}.carousel-window{--panel:min(1240px,90vw);--gap:24px}.program-card{height:610px}.program-content{padding:56px 28px 46px 56px}.program-card h3{font-size:clamp(38px,3.8vw,54px)}.program-content>p{max-width:390px;font-size:15px}.carousel-controls{width:90%;max-width:1240px}
.area-academics{background:#354135;color:#f1f1e6}.area-exploration{background:#323b43;color:#f0eae2}.area-leadership{background:#c7a98d;color:#332d27}.area-summer{background:#bac6cf;color:#293844}.area-college{background:#abb8a4;color:#293b2c}.area-essays{background:#d7c0be;color:#422e2f}
.area-photo{position:absolute;inset:30px 28px 30px 0;background-size:auto 100%;background-position:78% center;background-repeat:no-repeat;border-radius:150px 150px 4px 4px;box-shadow:0 20px 50px #0002}
.area-exploration .area-photo{background-position:83% center;border-radius:4px}.area-college .area-photo{background-position:80% center;border-radius:4px}.area-leadership .area-photo{background-position:80% center}
.area-visual .caption-bottom{bottom:47px;right:20px;font-size:10px}
.summer-orbits{position:absolute;inset:65px 35px 65px 5px;display:grid;place-items:center;perspective:900px}.summer-orbits i{position:absolute;width:290px;height:290px;border:1px solid #667f93;border-radius:50%;rotate:-20deg;transform:rotateY(30deg)}.summer-orbits i:nth-child(2){width:220px;height:220px;transform:rotateY(-10deg)}.summer-orbits i:nth-child(3){width:150px;height:150px;transform:rotateY(50deg)}.summer-orbits b{position:absolute;width:98px;height:98px;border-radius:50%;background:radial-gradient(circle at 28% 23%,#fff9e4,#cdb18c 50%,#8b7053 83%);box-shadow:20px 35px 44px #5971864d;animation:orb-float 7s ease-in-out infinite}
.program-formats{width:88%;max-width:1050px;margin:39px auto 0;padding-top:25px;border-top:1px solid #bcc2b4;display:flex;align-items:center;justify-content:space-between;gap:20px}.program-formats>span{font-size:9px;letter-spacing:1px}.program-formats p{font-size:11px;color:#555f4f}.program-formats b{font-weight:400;margin:0 12px;color:#89937c}
.motion-paused .journey-stage .journey-card{transition:none}

/* Keep the full scene above its caption on small screens. */
@media(max-width:1100px){
  .hero-copy{width:46%;margin-left:5%}
  .hero .hero-message h1{font-size:clamp(43px,5.4vw,59px);letter-spacing:-2.4px}
  .hero-description{font-size:13px}.hero-message{min-height:286px}
  .hero[data-scene="together"] .hero-copy{width:44%}
  .hero[data-scene="together"] .hero-message h1{font-size:clamp(32px,3.8vw,42px)}
  .journey-stage{--deck-step:480px;height:390px;margin-bottom:0}
  .journey-stage .journey-card{width:500px;height:355px;margin-left:-250px}
  .journey-card h2{font-size:43px;margin-top:58px}.journey-card h2 em{font-size:46px}
  .hero-bottom{margin-top:29px}.program-card{height:580px}.program-content{padding:43px 20px 36px 38px}.program-card h3{font-size:40px}.program-content>p{font-size:14px}
}
@media(max-width:700px){
  .hero{padding-top:0;min-height:0}
  .hero-stage{min-height:0;padding-top:calc(76px + 66.667vw);padding-bottom:38px}
  .hero-scenes{top:76px;height:66.667vw;bottom:auto}
  .hero-scene .hero-art{background-size:contain;background-position:center center;transform-origin:center}
  .hero-shade{display:none}
  .hero .hero-copy,.hero[data-scene="together"] .hero-copy{width:auto;max-width:none;margin:0 23px;padding-top:24px;text-align:center}
  .hero .hero-message,.hero[data-scene="together"] .hero-message{min-height:245px;padding:0}
  .hero .hero-message h1,.hero[data-scene="together"] .hero-message h1{font-size:clamp(40px,12vw,54px);letter-spacing:-2px;line-height:1.08;margin-top:18px;margin-bottom:22px}
  .hero-message .hero-description{font-size:12px;padding:0;max-width:370px;min-height:63px;margin-left:auto;margin-right:auto}
  .hero-message .hero-eyebrow{font-size:8px;letter-spacing:1px}
  .hero .hero-controls{justify-content:center;margin-left:auto;margin-right:auto;gap:12px}
  .hero-scene-buttons{gap:4px}.hero-scene-button{min-width:45px}.scene-progress{width:32px}.scene-name{font-size:7px}.hero-arrow{width:30px;height:30px}
  .hero .button-light{margin-top:10px}
  .journey-carousel{margin-top:0}.journey-stage{--deck-step:min(405px,calc(100vw - 43px));height:315px;perspective:1100px;margin-bottom:0}
  .journey-stage .journey-card{width:min(430px,calc(100vw - 36px));height:285px;margin-left:max(-215px,calc(18px - 50vw));padding:24px}
  .journey-card .mini-header{font-size:7px}.journey-card h2{font-size:34px;letter-spacing:-1px;margin-top:47px;max-width:300px}.journey-card h2 em{font-size:37px}
  .journey-card>p{font-size:9px;bottom:25px;left:24px}.deck-photo{top:35px}
  .deck-page{width:110px;height:156px;top:59px;right:6px;padding:16px 12px}.deck-page>span{font-size:4px}.deck-page i{height:10px;margin-top:9px}
  .deck-sun{width:190px;height:190px;right:-23px;bottom:-60px}.deck-sun:after{width:57px;height:57px;left:48px;top:38px}
  .journey-controls{margin-top:10px}.journey-controls button{width:32px;height:32px}
  .hero-bottom{width:calc(100% - 42px);font-size:8px;margin-top:27px;padding-bottom:25px}
  .program-tabs{flex-wrap:nowrap;justify-content:flex-start;width:100%;max-width:none;padding:2px 24px 8px}
  .program-tabs button{font-size:10px;padding:12px 15px}
  .carousel-window{--panel:calc(100vw - 32px);--gap:14px}.program-card{height:740px;grid-template-rows:380px 360px}.program-card h3{font-size:clamp(30px,8.7vw,36px)}.program-content{padding:32px 26px 20px}.program-content>p{font-size:13px}.carousel-controls{width:calc(100% - 32px)}
  .area-photo{inset:8px 27px 25px;background-position:79% center}
  .area-visual .caption-bottom{bottom:32px;right:15px;font-size:8px}
  .summer-orbits{inset:20px 30px 50px}.summer-orbits i{width:250px;height:250px}.summer-orbits i:nth-child(2){width:190px;height:190px}.summer-orbits i:nth-child(3){width:130px;height:130px}.summer-orbits b{width:83px;height:83px}
  .program-formats{width:calc(100% - 48px);display:block;margin-top:27px;padding-top:23px}.program-formats>span{font-size:8px}.program-formats p{font-size:10px;line-height:1.8;margin-top:11px}.program-formats b{margin:0 5px}
}
@media(max-width:375px){.hero .hero-copy,.hero[data-scene="together"] .hero-copy{margin:0 18px}.hero .hero-message{min-height:251px}}
@media(prefers-reduced-motion:reduce){:root:not(.motion-enabled) .journey-stage .journey-card{transition:none}}
/* Both people remain visible inside the college-planning card. */
.area-college .area-photo{background-size:contain;background-position:center;background-color:#1b120c}
.deck-college .deck-photo{width:100%;background-size:cover;background-position:center;opacity:.28;mask-image:none}
