/* Mobile layer — phones only. Loaded with media="(max-width:720px)". */
:root{--m-gut:18px}
body{font-size:15px}
.wrap{padding-left:var(--m-gut)!important;padding-right:var(--m-gut)!important}
/* calmer rhythm */
main>section:not(.jr-end):not(.jr-hero){padding-top:46px!important;padding-bottom:46px!important}
main h1{font-size:clamp(34px,10.4vw,44px)!important;letter-spacing:-.04em!important;line-height:1.04!important}
main h2{font-size:clamp(27px,8vw,34px)!important;letter-spacing:-.035em!important;line-height:1.08!important}
main h3{font-size:clamp(20px,5.6vw,24px)}
main section>.wrap>p,main .subhead,main .lead{font-size:16px;line-height:1.55}
.section-label{font-size:11px!important;letter-spacing:.14em!important}
/* utility bar: one calm line */
.utility-bar{padding:6px 0!important}.utility-bar .utility-note{font-size:11.5px;line-height:1.35;justify-content:center;text-align:center}
.utility-event-link{display:none!important}
/* header */
.site-header .header-row{min-height:64px}
.sticky-mobile-cta{padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important}
.sticky-mobile-cta .btn{min-height:46px!important;font-size:14.5px!important}
.sticky-mobile-cta .btn+.btn{display:none}
/* rails */
.m-rail{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:12px!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:4px var(--m-gut) 6px!important;width:100vw;max-width:100vw;grid-template-columns:none!important}
.m-rail::-webkit-scrollbar{display:none}
.m-rail>*{flex:0 0 min(80%,300px)!important;width:auto!important;max-width:none!important;min-width:0;margin:0!important;scroll-snap-align:center;transform:none!important;min-height:0!important}
.m-rail>.card,.m-rail>.gr-card,.m-rail>.ap-pri,.m-rail>.gr-tile{height:auto}
.m-dots{display:flex;justify-content:center;gap:6px;margin:10px 0 2px}
.m-dots i{width:6px;height:6px;border-radius:50%;background:rgba(120,120,140,.35);transition:width .25s,background .25s}
.m-dots i.on{width:18px;border-radius:6px;background:#533afd}
/* accordions */
.m-acc-head{position:relative;cursor:pointer;padding-right:44px!important;-webkit-tap-highlight-color:transparent}
.m-acc-head::after{position:absolute;right:6px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:rgba(83,58,253,.10) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23533afd' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/14px no-repeat;content:"";transition:transform .3s}
.m-acc.is-open>.m-acc-head::after{transform:rotate(180deg)}
.m-acc>*:not(.m-acc-head):not(.jr-node){display:none!important}
.m-acc.is-open>*:not(.m-acc-head):not(.jr-node){display:revert!important}
.m-acc.is-open>ol,.m-acc.is-open>ul{display:block!important}
/* footer accordion */
.site-footer .footer-grid{gap:0!important;display:block!important}
.site-footer .footer-grid>div{padding:0;border-bottom:1px solid rgba(120,120,140,.22)}
.site-footer .footer-grid>div>h4{margin:0;padding:16px 44px 16px 0;font-size:12.5px}
.site-footer .footer-grid>div.is-open>ul,.site-footer .footer-grid>div.is-open>p{padding-bottom:14px}
.footer-bottom{flex-direction:column;gap:8px!important;margin-top:24px!important}
/* clamp */
.m-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.m-clamp.is-open{display:block;-webkit-line-clamp:unset}
.m-more{display:inline-block;margin:6px 0 0;padding:0;color:#533afd;background:none;border:0;border-bottom:1px solid rgba(83,58,253,.35);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
/* glossary: terms become tappable rows */
.gloss-entry{padding:0!important;border-bottom:1px solid rgba(120,120,140,.2)}
.gloss-entry dt{padding:14px 44px 14px 0;font-size:16px}
.gloss-entry dd{padding:0 0 16px}
.gloss-letter{font-size:34px!important;margin-top:22px}
/* journey (programmes): compact stations */
.jr-group{padding:18px 20px!important}
.jr-group .jr-group-head{margin:0!important;gap:8px}
.jr-group.is-open .jr-group-head{margin-bottom:12px!important}
/* institute pillars */
.ins-pillar{border-bottom:1px solid rgba(120,120,140,.22);padding:8px 0}
.ins-pillar-head{cursor:pointer}
.ins-pillar-head>p{display:none}
.ins-pillar.is-open .ins-pillar-head>p{display:block}
/* home: tighter */
.hero-home{padding-top:36px!important;padding-bottom:36px!important}
.shift-head{gap:18px!important;margin-bottom:34px!important}
.bridge-journey{margin-bottom:44px!important}
/* level pages + action plan */
.gr-hero-media{height:260px!important}.gr-ph-b,.gr-ph-c{display:none}.gr-ph-a{grid-column:1/-1!important;grid-row:auto!important}
.gr-hero-media{grid-template-columns:1fr!important;grid-template-rows:1fr!important}
.gr-badge{display:none}
.gr-head{margin-bottom:24px!important}.ap-head{margin-bottom:26px!important}
.gr-path{margin-top:28px!important}.gr-path>p{font-size:14.5px}
.gr-flagship{border-radius:26px!important}.gr-flag-media{min-height:200px!important}
.gr-outcome-panel{padding:26px 22px!important;border-radius:28px!important}
.ap-tl::before{display:none}
.ap-hero-copy{padding:36px 0 4px!important}
/* cards read well when they swipe */
.m-rail .card,.m-rail .gr-card,.m-rail .ap-pri,.m-rail .ap-tile,.m-rail .gr-tile,.m-rail .ap-band{padding:24px 22px!important;border-radius:24px!important}
/* generic photo strips shorter */
.site-image.tall{min-height:220px!important}
/* second pass */
.gloss-group{margin:0!important;padding:0!important}
.gloss-list{margin:0!important}
.gloss-entry dt{padding:11px 42px 11px 0!important;font-size:15.5px;line-height:1.25}
.gloss-entry dt .gloss-ta{display:block;margin-top:2px;font-size:12.5px}
.gloss-letter{width:36px;height:36px;font-size:18px!important;margin:18px 0 4px!important;display:grid;place-items:center;border-radius:10px}
.gloss-entry dd{padding:0 0 14px!important;font-size:14.5px;line-height:1.55}
.gloss-index{overflow-x:auto;white-space:nowrap;scrollbar-width:none;margin:0 calc(var(--m-gut)*-1);padding:8px var(--m-gut)}
.shift-section .m-more,.pf-hero .m-more{color:#c8f56c;border-bottom-color:rgba(200,245,108,.4)}
.bridge-crossing{min-height:360px!important}.bridge-art{bottom:96px!important}
.bridge-name{top:0!important}
main section .wrap>.cta-row{gap:10px}
/* third pass */
.jr-road-head,.jr-horizon,.jr-hero .jr-lead{position:relative;z-index:3}
.jr-road-head,.jr-horizon{background:#fff;padding:14px 8px!important;border-radius:16px}
.jr-illo{transform:scale(.7);transform-origin:center}
.jr-visual{min-height:0!important;height:150px!important}
.gr-tile{padding-bottom:66px!important}.gr-tile i{left:22px;bottom:18px}
.m-rail .gr-tile{min-height:170px!important}
/* institute quick facts: 2 x 2 */
.ins-glance-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px 14px!important}
.ins-glance-item{padding:14px 0!important}.ins-glance-item strong,.ins-glance-item h3{font-size:17px!important}
