/* Keep photograph dimensions steady; the moving light is a separate layer. */
.interactive-ready .campus-storefront .campaign-media>img{animation:none;transform:none;transition:none}
/* Show the whole slide photo; a soft, blurred copy fills the unused space. */
.interactive-ready .campus-storefront .campaign-media{isolation:isolate;background-color:var(--deep)}
.interactive-ready .campus-storefront .campaign-media::before{content:"";position:absolute;inset:-16px;z-index:0;pointer-events:none;background-image:linear-gradient(90deg,color-mix(in srgb,var(--deep) 48%,transparent),transparent 72%),var(--campaign-image);background-size:cover;background-position:center;filter:blur(15px) brightness(.72) saturate(.82);opacity:.78}
.interactive-ready .campus-storefront .campaign-media>img{z-index:1;object-fit:cover!important;object-position:center;padding:0}
/* Allow the hero grid item to shrink to its allocated row so the menu rail stays below it. */
.interactive-ready #main.has-ambassadors{min-width:0;min-height:0;grid-template-rows:minmax(0,1fr)}
.interactive-ready #main.has-ambassadors>[data-explorer-block="hero"],.interactive-ready #main.has-ambassadors>.campus-ambassadors,.interactive-ready #main.has-ambassadors>.campus-pins{min-width:0;min-height:0}
/* The portrait may float gently, but never scales while it is on screen. */
@keyframes ambassador-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
/* All vertical portrait cards share a frame track, regardless of title length. */
@media(min-width:1101px), (max-width:1100px) and (max-height:500px) and (orientation:landscape){
 .interactive-ready #main .campus-ambassadors .ambassador-person:not([hidden]){grid-template-rows:minmax(0,1fr) var(--ambassador-frame-space,110px)}
 .interactive-ready #main .campus-ambassadors .ambassador-caption.ambassador-poster{align-self:end}
}
/* Touch layouts: full-width story above a compact portrait and pin rail. */
@media(max-width:1100px){
 .interactive-ready .campus-storefront{height:100dvh;min-height:0;grid-template-rows:72px minmax(0,1fr) 100px 22px;padding:0 18px;gap:0}
 .interactive-ready .header{display:flex;align-items:center;gap:10px;padding:10px 0;width:100%;min-width:0}.interactive-ready .header .brand{min-width:0;flex:1;gap:9px}.interactive-ready .header .brand>img{width:44px;height:44px;flex-shrink:0}.interactive-ready .header .brand-wordmark{font-size:21px;min-width:0;line-height:1.15}.interactive-ready .header .brand-wordmark small{font-size:9px;line-height:1.4;letter-spacing:.04em;max-width:420px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.interactive-ready .header-tools{flex-shrink:0;gap:5px}.interactive-ready .header-tools .store-account-link{display:none}.interactive-ready .header-tools .icon-button{width:44px;height:44px}
 .interactive-ready #main.has-ambassadors,.interactive-ready #main.has-ambassadors.has-pinned-menus{grid-template-columns:minmax(0,1fr) 88px;grid-template-rows:minmax(0,1fr) clamp(180px,28dvh,280px);gap:10px 12px;min-height:0}
 .interactive-ready #main.has-ambassadors>[data-explorer-block=hero]{grid-column:1/-1;grid-row:1;min-height:0}.interactive-ready #main.has-ambassadors>.campus-ambassadors{grid-column:1;grid-row:2;min-height:0;overflow:hidden}.interactive-ready #main.has-ambassadors:not(.has-pinned-menus)>.campus-ambassadors{grid-column:1/-1}
 .interactive-ready #main .campaign-window{border-radius:23px}.interactive-ready .has-ambassadors .campaign-slide .campaign-copy{padding:clamp(20px,3vw,30px);justify-content:center}.interactive-ready .campaign-glass{width:min(80%,610px);padding:0;gap:12px}.interactive-ready .has-ambassadors .campaign-copy h1,.interactive-ready .has-ambassadors .campaign-copy h2{font-size:clamp(26px,4.5vw,43px);line-height:1.1}.interactive-ready .campaign-slide .campaign-glass p{font-size:12px;line-height:1.6;max-width:430px}.interactive-ready .campaign-glass .campaign-tag{font-size:8px;padding:7px 10px}.interactive-ready .campaign-slide .floating-label{display:none}.interactive-ready .campaign-controls{height:35px;min-height:35px;padding:4px 2px}.interactive-ready .campaign-controls button{min-width:32px;min-height:28px}.interactive-ready .slide-navigation{font-size:9px}
 .interactive-ready .campus-ambassadors .ambassador-person:not([hidden]){grid-template-columns:minmax(0,48%) minmax(0,52%);grid-template-rows:minmax(0,1fr);padding:0 12px 6px 0;gap:5px;align-items:center}
 .interactive-ready .ambassador-photo-size{height:100%;padding-top:8px;overflow:hidden}.interactive-ready .ambassador-photo-size .ambassador-portrait{height:100%;width:auto;max-width:100%;transform-origin:center top;transform:scale(var(--portrait-scale,1.2))}
 .interactive-ready .ambassador-caption.ambassador-poster{zoom:1;inset:auto;width:calc(100% - 12px);max-width:250px;margin:0;padding:12px 10px;align-self:center;box-sizing:border-box;transform:rotate(-3deg)}.interactive-ready .ambassador-caption.ambassador-poster h2{font-size:clamp(17px,2.4vw,26px);line-height:1.08}.interactive-ready .ambassador-caption .ambassador-poster-kicker{font-size:8px;letter-spacing:.12em;margin-bottom:6px}.interactive-ready .ambassador-caption .ambassador-poster-note{font-size:7px;margin-top:7px;letter-spacing:.03em}.interactive-ready .ambassador-caption.ambassador-poster a.ambassador-frame-link{font-size:10px;margin-top:7px;padding-top:7px;gap:6px;line-height:1.4}.interactive-ready .ambassador-controls{height:30px;min-height:30px;gap:8px;padding:2px 6px;font-size:9px}.interactive-ready .ambassador-controls>button{font-size:9px;padding:5px 8px;white-space:nowrap}.interactive-ready .ambassador-dots button{padding:8px 2px}
 .interactive-ready #main>.campus-pins{grid-column:2;grid-row:2;container-type:size;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px;padding:6px 3px 12px;min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--line)}.interactive-ready .campus-pins>.pin-heading{flex:0 0 auto;min-width:0;gap:0}.interactive-ready .pin-heading>span,.interactive-ready .pin-heading i{display:none}.interactive-ready .pin-heading strong{font-size:8px;line-height:1.3;letter-spacing:.08em}.interactive-ready .pin-heading br{display:none}.interactive-ready .campus-pins>.campus-pin{flex:1 1 0;flex-direction:row;justify-content:center;align-items:center;gap:5px;padding:2px 0;max-width:100%;min-height:0;animation:none}.interactive-ready .campus-pins .pin-number{flex:0 0 24px;width:24px;font-size:31px;height:34px;text-shadow:1px 1px 0 var(--deep),2px 2px 0 var(--deep),3px 3px 0 var(--deep),4px 6px 6px #123a3435}.interactive-ready .campus-pin-label{font-size:8px;max-width:44px;text-align:left;line-height:1.4}
 .interactive-ready .explorer-menu-carousel{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;min-height:0}.interactive-ready .explorer-menu-carousel .explorer-launcher{height:100%;padding:8px 0 12px;gap:10px;align-items:stretch;box-sizing:border-box}.interactive-ready .explorer-menu-carousel .explorer-tile{flex:0 0 calc((100% - 40px)/5);min-width:0;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;gap:7px;border-radius:16px}.interactive-ready .explorer-tile strong{font-size:11px;text-align:center}.interactive-ready .explorer-tile small,.interactive-ready .explorer-tile .tile-arrow{display:none}.interactive-ready .explorer-icon{width:34px;height:34px;flex-shrink:0}.interactive-ready .explorer-icon svg{width:22px;height:22px}.interactive-ready .menu-step{width:36px;height:44px;font-size:28px}.interactive-ready .explorer-status{font-size:8px;align-items:center}.interactive-ready .explorer-status>span:last-child{display:none}
 .explorer-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0;border:0}.explorer-top{padding:12px;gap:8px}.explorer-top nav{min-width:0;overflow:hidden}.explorer-top nav button{font-size:9px;white-space:nowrap}.explorer-heading{padding:22px 22px 10px}.explorer-stage{padding:12px 22px 24px}
}
@media(max-width:600px){
 .interactive-ready .campus-storefront{grid-template-rows:64px minmax(0,1fr) 92px 18px;padding:0 12px}.interactive-ready .header .brand>img{width:38px;height:38px}.interactive-ready .header .brand-wordmark{font-size:18px}.interactive-ready .header .brand-wordmark small{font-size:8px;max-width:240px;letter-spacing:.02em}.interactive-ready .theme-trigger{display:none}
 .interactive-ready #main.has-ambassadors,.interactive-ready #main.has-ambassadors.has-pinned-menus{grid-template-columns:minmax(0,1fr) 74px;grid-template-rows:minmax(0,1fr) clamp(190px,30dvh,245px);gap:6px 6px}.interactive-ready .has-ambassadors .campaign-slide .campaign-copy{padding:20px}.interactive-ready .campaign-glass{width:100%;gap:11px}.interactive-ready .has-ambassadors .campaign-copy h1,.interactive-ready .has-ambassadors .campaign-copy h2{font-size:clamp(23px,6.5vw,34px);line-height:1.12}.interactive-ready .campaign-slide .campaign-glass p{display:none}.interactive-ready .campaign-glass .campaign-tag{font-size:7px;letter-spacing:.03em;max-width:100%}.interactive-ready .campaign-copy .button{font-size:10px;padding:11px 16px}.interactive-ready .campaign-copy .actions{margin:0}
 .interactive-ready .campus-ambassadors .ambassador-person:not([hidden]){padding-right:6px;grid-template-columns:minmax(0,48%) minmax(0,52%);gap:2px}.interactive-ready .ambassador-caption.ambassador-poster{padding:10px 7px;width:calc(100% - 8px)}.interactive-ready .ambassador-caption.ambassador-poster h2{font-size:15px}.interactive-ready .ambassador-caption .ambassador-poster-kicker{font-size:7px}.interactive-ready .ambassador-caption .ambassador-poster-note{font-size:6px}.interactive-ready .ambassador-caption.ambassador-poster a.ambassador-frame-link{font-size:9px;padding-top:5px;margin-top:5px}.interactive-ready .ambassador-controls{font-size:8px;padding:0 4px;gap:5px;height:28px;min-height:28px}.interactive-ready .ambassador-controls>button{font-size:8px;padding:4px 6px}.interactive-ready .ambassador-dots{gap:3px}.interactive-ready .ambassador-dots button[aria-pressed=true] span{width:16px}
 .interactive-ready .campus-pins .pin-number{font-size:28px;flex-basis:20px;width:20px;height:31px}.interactive-ready .campus-pin-label{font-size:7px;max-width:38px}.interactive-ready .pin-heading strong{font-size:7px;letter-spacing:.04em}.interactive-ready .explorer-menu-carousel{gap:6px;grid-template-columns:32px minmax(0,1fr) 32px}.interactive-ready .menu-step{width:32px;height:44px}.interactive-ready .explorer-menu-carousel .explorer-launcher{gap:8px;padding:8px 0 10px}.interactive-ready .explorer-menu-carousel .explorer-tile{flex-basis:calc((100% - 16px)/3);padding:7px 3px;gap:7px}.interactive-ready .explorer-tile strong{font-size:10px}
 .explorer-top nav{display:none}.explorer-top{justify-content:space-between}.explorer-heading{padding:20px 18px 8px}.explorer-stage{padding:12px 18px 22px}.explorer-submenu{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.explorer-subtile{min-height:140px;padding:16px}.explorer-subtile strong{font-size:15px}
}
@media(max-width:1100px) and (max-height:700px) and (orientation:landscape){
 .interactive-ready .campus-storefront{grid-template-rows:54px minmax(0,1fr) 76px 16px;padding:0 14px}.interactive-ready #main.has-ambassadors,.interactive-ready #main.has-ambassadors.has-pinned-menus{grid-template-columns:minmax(0,62fr) minmax(0,30fr) minmax(70px,8fr);grid-template-rows:minmax(0,1fr);gap:10px}.interactive-ready #main.has-ambassadors>[data-explorer-block=hero]{grid-column:1;grid-row:1}.interactive-ready #main.has-ambassadors>.campus-ambassadors{grid-column:2;grid-row:1}.interactive-ready #main>.campus-pins{grid-column:3;grid-row:1}.interactive-ready .has-ambassadors .campaign-copy h1,.interactive-ready .has-ambassadors .campaign-copy h2{font-size:clamp(20px,3vw,30px)}.interactive-ready .campaign-slide .campaign-glass p{display:none}.interactive-ready .campus-ambassadors .ambassador-person:not([hidden]){grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;padding:0 5px 5px;gap:0}.interactive-ready .ambassador-caption.ambassador-poster{zoom:.8;max-width:180px;padding:7px;margin-top:-8px}.interactive-ready .ambassador-caption.ambassador-poster h2{font-size:14px}.interactive-ready .ambassador-caption .ambassador-poster-kicker,.interactive-ready .ambassador-caption .ambassador-poster-note{display:none}.interactive-ready .ambassador-controls{height:24px;min-height:24px;font-size:7px}.interactive-ready .ambassador-controls [data-ambassador-count]{display:none}.interactive-ready .campaign-controls{height:27px;min-height:27px}.interactive-ready .header .brand>img{width:32px;height:32px}.interactive-ready .header .brand-wordmark{font-size:17px}.interactive-ready .header .brand-wordmark small{font-size:7px}.interactive-ready .explorer-menu-carousel .explorer-tile{flex-basis:calc((100% - 40px)/5);gap:4px;padding:5px}.interactive-ready .explorer-icon{width:28px;height:28px}.interactive-ready .explorer-icon svg{width:19px;height:19px}.interactive-ready .explorer-tile strong{font-size:9px}
}

/* Campus wordmark: rounded, bold lettering inspired by the program nameplate. */
.interactive-ready .header .brand-wordmark,.site-header .brand>span{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:900;letter-spacing:-.055em;line-height:1.05;text-shadow:0 1px 0 color-mix(in srgb,var(--deep) 24%,transparent),0 2px 0 color-mix(in srgb,var(--deep) 10%,transparent)}
.interactive-ready .header .brand-wordmark small,.site-header .brand>span small{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:600;letter-spacing:.025em;line-height:1.35;text-shadow:none}
