.school-portal{--portal-line:rgba(241,239,233,.18);overflow-x:hidden}
.school-portal [hidden]{display:none!important}
.school-portal :focus-visible{outline:2px solid var(--acid);outline-offset:4px}
.school-portal .skip-link{position:absolute;left:20px;top:10px;z-index:20;padding:12px 16px;background:var(--acid);color:var(--black);transform:translateY(-160%)}
.school-portal .skip-link:focus{transform:none}
.portal-top,.portal-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--muted);font:500 .7rem/1.5 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}
.portal-top{padding:26px 0}.portal-top a:hover,.portal-bottom a:hover{color:var(--acid)}
.portal-frame{min-height:660px;display:grid;grid-template-columns:minmax(240px,285px) minmax(0,1fr);border:1px solid var(--portal-line)}
.portal-rail{background:#1a1e22;display:flex;flex-direction:column;border-right:1px solid var(--portal-line);padding:28px 24px}
.rail-title{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--portal-line);padding-bottom:26px}
.rail-mark{display:grid;place-items:center;width:48px;height:48px;flex:none;background:var(--orange);color:var(--black);font:600 1.06rem/1 Manrope,sans-serif;letter-spacing:-.07em}
.rail-mark span{margin:0 2px;opacity:.6}.rail-title strong,.rail-title small{display:block}.rail-title strong{font-size:.93rem;letter-spacing:-.02em}.rail-title small{font-size:.72rem;color:var(--muted);margin-top:3px}
.rail-progress{display:flex;justify-content:space-between;gap:8px;margin:42px 0 19px;color:var(--muted);font:500 .64rem/1.5 'DM Mono',monospace;letter-spacing:.05em}.rail-progress span:first-child{color:var(--orange)}
.step-nav{display:grid;border-top:1px solid var(--portal-line)}
.step-nav button{display:flex;align-items:center;gap:17px;text-align:left;width:100%;padding:18px 6px;background:transparent;border:0;border-bottom:1px solid var(--portal-line);color:#979b9a;font:500 .86rem/1.35 Manrope,sans-serif;cursor:pointer;transition:color .2s,background .2s}.step-nav button span{color:#7e8582;font:500 .65rem 'DM Mono',monospace}.step-nav button:hover{color:var(--cream)}.step-nav button[aria-current="step"]{color:var(--cream);background:rgba(255,107,53,.07)}.step-nav button[aria-current="step"] span{color:var(--orange)}
.step-nav button:disabled{cursor:default;color:#777d79}.step-nav button:disabled:hover{color:#777d79}
.rail-foot{display:flex;align-items:flex-start;gap:11px;margin-top:auto;padding-top:36px;color:var(--muted);font-size:.75rem;line-height:1.6}.rail-live-dot{width:7px;height:7px;margin-top:6px;flex:none;border-radius:50%;background:var(--orange)}
.portal-content{min-width:0;position:relative}.portal-meter{height:3px;background:#30363a}.portal-meter span{display:block;height:100%;width:20%;background:var(--orange);transition:width .35s ease}
.portal-step{padding:clamp(32px,5vw,74px) clamp(28px,6vw,94px) 50px;min-height:657px;animation:portal-enter .3s ease both}
@keyframes portal-enter{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
.step-overline{display:flex;justify-content:space-between;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--portal-line);color:var(--orange);font:500 .67rem/1.4 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.09em}.step-overline span:last-child{color:var(--muted)}
.portal-step h1,.portal-step h2{font:400 clamp(3rem,5.3vw,6.25rem)/1.02 Manrope,sans-serif;letter-spacing:-.075em;margin:42px 0 26px;max-width:950px}.portal-step h1 em,.portal-step h2 em{font-style:normal;color:var(--orange)}
.portal-lead{max-width:740px;font-size:clamp(1.02rem,1.35vw,1.2rem);line-height:1.63;color:#c8c9c6;margin:0}.portal-small{color:var(--muted);font-size:.83rem;line-height:1.65;max-width:730px}.portal-small a{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.welcome-composition h1{font-size:clamp(3.3rem,5.6vw,6.5rem)}
.welcome-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:72px 0 20px}.welcome-steps span{display:block;border-top:1px solid var(--portal-line);padding-top:16px;font-size:.83rem}.welcome-steps span::before{content:"";display:inline-block;width:1em;height:1em;margin-right:12px;vertical-align:-.13em;background:var(--orange);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M5 19 19 5M5 5h14v14%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M5 19 19 5M5 5h14v14%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/contain no-repeat}
.step-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:38px}.step-actions .portal-next:first-child{margin-left:auto}.portal-next,.intake-link{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;background:var(--orange);border:1px solid var(--orange);color:var(--black);padding:15px 19px;min-height:52px;font:500 .74rem/1.4 'DM Mono',monospace;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s}.portal-next:hover,.intake-link:hover{background:#ff875e;transform:translateY(-2px)}.portal-next span,.intake-link span{font:400 1.2rem/1 Manrope}.portal-back{background:transparent;border:0;color:var(--muted);font:500 .75rem/1.5 'DM Mono',monospace;text-transform:uppercase;min-height:48px;padding:8px 0;cursor:pointer}.portal-back:hover{color:var(--cream)}
.editorial-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,4vw,60px);margin:65px 0 35px}.editorial-split>div{border-top:1px solid var(--portal-line);padding-top:18px}.detail-index{display:block;color:var(--orange);font:500 .66rem/1.5 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.editorial-split h3,.attendee-note h3,.preparation-line h3{font:500 clamp(1.38rem,2vw,1.9rem)/1.2 Manrope,sans-serif;letter-spacing:-.045em;margin:22px 0 12px}.editorial-split p,.attendee-note p,.preparation-line li{color:#bbbeb9;font-size:.94rem;line-height:1.7;margin:0}.attendee-note{display:grid;grid-template-columns:46px 1fr;gap:18px;background:#242a2b;padding:23px 27px}.attendee-note h3{margin:0 0 8px}.note-symbol{font:400 1.7rem/1 Manrope;color:var(--orange)}
.schedule-block{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin:56px 0 38px;padding:30px;background:var(--cream);color:var(--black)}.schedule-major{display:flex;flex-direction:column;justify-content:space-between;gap:25px}.schedule-major .detail-index{color:#a64320}.schedule-major strong{font:400 clamp(2.2rem,3.8vw,4.3rem)/1.05 Manrope;letter-spacing:-.065em}.schedule-major p{margin:0;font-size:.85rem;color:#51564f}.schedule-block dl{margin:0}.schedule-block dl>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(16,19,24,.25);padding:15px 0;font-size:.85rem}.schedule-block dt{color:#51564f}.schedule-block dd{margin:0;text-align:right;font-weight:600}.preparation-line{display:grid;grid-template-columns:.68fr 1fr;gap:25px;border-top:1px solid var(--portal-line);padding:24px 0}.preparation-line h3{margin:0}.preparation-line ul{margin:0;padding-left:20px}.preparation-line li{padding:0 0 9px}.preparation-line li::marker{color:var(--orange)}
.route-list{margin:48px 0 0;border-top:1px solid var(--portal-line)}.route-list button{display:grid;grid-template-columns:34px minmax(0,1fr) 32px;gap:22px;align-items:start;width:100%;padding:20px 12px 21px 0;background:transparent;border:0;border-bottom:1px solid var(--portal-line);color:var(--cream);text-align:left;cursor:pointer;transition:background .2s,padding-left .2s}.route-list button:hover,.route-list button[aria-checked="true"]{background:#20262a;padding-left:12px}.route-number{color:var(--orange);font:500 .7rem/1.6 'DM Mono',monospace}.route-copy strong,.route-copy small{display:block}.route-copy strong{font:500 clamp(1rem,1.45vw,1.3rem)/1.32 Manrope;letter-spacing:-.025em}.route-copy small{color:var(--muted);font-size:.78rem;line-height:1.5;margin-top:6px}.route-indicator{width:27px;height:27px;border:1px solid var(--portal-line);display:grid;place-items:center;font-size:1rem;color:var(--muted)}.route-list button[aria-checked="true"] .route-indicator{background:var(--orange);border-color:var(--orange);color:var(--black)}.route-error{padding:13px 16px;border-left:2px solid var(--orange);background:#252221;font-size:.86rem}
.intake-panel{margin:50px 0 0;border:1px solid var(--portal-line);padding:clamp(23px,3.5vw,39px);background:#1a1e22}.intake-header{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:1px solid var(--portal-line);padding-bottom:21px}.intake-header strong{font:500 clamp(1.05rem,1.6vw,1.4rem)/1.3 Manrope;letter-spacing:-.035em;text-align:right;max-width:400px}.intake-panel>p{color:#c8c9c6;line-height:1.7;font-size:.94rem;max-width:660px;margin:25px 0}.intake-link{width:min(100%,440px);background:var(--cream);border-color:var(--cream)}.intake-link:hover{background:#fff}.intake-check{display:flex;align-items:start;gap:13px;max-width:640px;margin:30px 0 0;border-top:1px solid var(--portal-line);padding-top:25px;cursor:pointer;font-size:.9rem;line-height:1.55}.intake-check input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:var(--orange)}.intake-panel .portal-small{border-top:1px solid var(--portal-line);padding-top:21px;margin:22px 0 0;font-size:.79rem}.intake-pending h3{font:500 clamp(1.7rem,2.5vw,2.6rem)/1.13 Manrope;letter-spacing:-.05em;margin:18px 0 8px}.intake-pending .intake-link{margin-top:5px}.portal-next.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none;transform:none}.after-booking{margin-top:42px;border-top:1px solid var(--portal-line);padding-top:20px;display:grid;grid-template-columns:170px 1fr;gap:22px}.after-booking p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.7}
.portal-bottom{padding:25px 0 60px;border-bottom:1px solid var(--portal-line)}.school-portal .clinic-footer .foot{color:var(--muted);margin:0;padding:24px 0 34px}.school-portal .foot-links{display:flex;gap:15px;flex-wrap:wrap}
@media(max-width:1000px){.portal-frame{grid-template-columns:220px minmax(0,1fr)}.portal-rail{padding:23px 18px}.portal-step{padding:36px 38px 42px}.portal-step h1,.portal-step h2{font-size:clamp(3.2rem,6vw,4.8rem)}}
@media(max-width:750px){.portal-frame{display:block}.portal-rail{border-right:0;border-bottom:1px solid var(--portal-line);padding:16px 19px}.rail-title{border:0;padding:0}.rail-mark{width:40px;height:40px;font-size:.92rem}.rail-progress{margin:16px 0 8px}.step-nav{display:flex;overflow-x:auto;scrollbar-width:none;gap:3px;border:0;padding-bottom:2px}.step-nav::-webkit-scrollbar{display:none}.step-nav button{flex:none;width:auto;white-space:nowrap;padding:10px 12px;font-size:.75rem;border:1px solid var(--portal-line)}.step-nav button span{font-size:.6rem}.rail-foot{display:none}.portal-step{min-height:0;padding:29px 24px 36px}.portal-step h1,.portal-step h2{font-size:clamp(2.8rem,9vw,4.2rem);margin:36px 0 20px}.welcome-steps{margin-top:54px}.editorial-split{margin-top:45px}.schedule-block{grid-template-columns:1fr}.schedule-major{gap:16px}.preparation-line{grid-template-columns:1fr}.after-booking{grid-template-columns:1fr;gap:10px}}
@media(max-width:560px){.school-portal .shell{width:calc(100% - 30px)}.portal-top,.portal-bottom{font-size:.62rem}.portal-top span{display:none}.portal-step{padding:26px 19px 31px}.step-overline{font-size:.59rem}.step-overline span:last-child{display:none}.portal-step h1,.portal-step h2{font-size:clamp(2.65rem,11vw,3.6rem);overflow-wrap:normal}.portal-lead{font-size:1rem}.welcome-steps,.editorial-split{grid-template-columns:1fr;gap:15px}.welcome-steps{margin:46px 0 24px}.welcome-steps span{padding-top:12px}.editorial-split{gap:25px}.attendee-note{grid-template-columns:1fr;padding:22px}.note-symbol{display:none}.schedule-block{margin-top:38px;padding:21px}.schedule-major strong{font-size:2.3rem}.schedule-block dl>div{font-size:.78rem}.route-list{margin-top:35px}.route-list button{grid-template-columns:24px minmax(0,1fr) 26px;gap:10px}.route-copy strong{font-size:1rem}.route-indicator{width:24px;height:24px}.intake-header{display:block}.intake-header strong{display:block;text-align:left;margin-top:12px}.step-actions{align-items:stretch;flex-direction:column-reverse}.step-actions .portal-next{width:100%}.portal-back{text-align:left}.portal-bottom{align-items:start;flex-direction:column}.school-portal .foot{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.portal-step{animation:none}.portal-meter span,.portal-next,.intake-link,.step-nav button,.route-list button{transition:none}}

/* The guide sits on a light reading surface while its navigation keeps the site’s dark frame. */
.portal-content{--portal-line:rgba(16,19,24,.17);--muted:#58605b;background:#f5f6f2;color:var(--black)}
.portal-content .step-overline,.portal-content .detail-index,.portal-content .route-number,.portal-content .note-symbol{color:#a6421e}
.portal-content .portal-step h1 em,.portal-content .portal-step h2 em{color:#a6421e}
.portal-meter{background:#d8dcd5}
.portal-lead{color:#414942}
.portal-small a{color:var(--black)}
.editorial-split p,.attendee-note p,.preparation-line li{color:#4f574f}
.attendee-note{background:#e8ece6}
.schedule-block{background:#fff;border:1px solid var(--portal-line)}
.schedule-following{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:baseline;gap:16px;border-top:1px solid rgba(16,19,24,.2);padding-top:17px}
.schedule-following span{font:500 .65rem/1.4 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:#59615c}
.schedule-following time{font:500 clamp(1.13rem,1.65vw,1.5rem)/1.3 Manrope,sans-serif;letter-spacing:-.035em}
@media(max-width:560px){.schedule-following{grid-template-columns:1fr;gap:5px}}
.route-list button{color:var(--black)}
.route-list button:hover,.route-list button[aria-checked="true"]{background:#fff}
.route-error{background:#fbe9e1;color:var(--black)}
.intake-panel{background:#fff}
.intake-panel>p{color:#475048}
.intake-embed-wrap{margin-top:26px;border:1px solid var(--portal-line);background:#fff;min-width:0;overflow:hidden}
.intake-embed-wrap iframe{display:block;width:100%;height:clamp(600px,76vh,900px);border:0;background:#fff}
.intake-panel .intake-fallback{font-size:.82rem;margin:12px 0 0;color:#505850}
.intake-fallback a{color:var(--black);text-decoration:underline;text-underline-offset:4px}
.intake-link{background:var(--black);border-color:var(--black);color:var(--cream)}
.intake-link:hover{background:#30383a;color:#fff}
.portal-back:hover{color:var(--black)}
.after-booking p{color:#4f574f}
@media(max-width:560px){.intake-embed-wrap{margin-left:-12px;margin-right:-12px}.intake-embed-wrap iframe{height:72vh;min-height:580px}}

.school-portal .portal-next:disabled{opacity:.46;cursor:not-allowed;transform:none}
.portal-content .portal-next{min-width:240px;min-height:60px;padding:16px 21px;background:var(--black);border-color:var(--black);color:#fff;font:600 .96rem/1.3 Manrope,sans-serif;letter-spacing:-.02em;text-transform:none;gap:24px;transition:background .2s,transform .2s}
.portal-content .portal-next:hover:not(:disabled){background:#2b3335;color:#fff}
.portal-content .portal-next span{display:grid;place-items:center;flex:none;width:32px;height:32px;background:var(--orange);color:var(--black);font:500 1.25rem/1 Manrope,sans-serif}
@media(max-width:560px){.portal-content .portal-next{width:100%;min-width:0;min-height:62px}}
.booking-embed-wrap{min-width:0;margin:42px 0 12px;border:1px solid var(--portal-line);background:#fff;overflow:hidden}
.booking-embed{width:100%;min-width:320px;min-height:760px}
.booking-fallback{margin:0 0 28px}
.booking-complete{border-left:3px solid var(--orange);background:#e8ece6;padding:20px 24px;margin:24px 0;color:var(--black)}
.booking-complete strong{font:600 1.15rem/1.35 Manrope,sans-serif;letter-spacing:-.03em}
.booking-complete p{font-size:.9rem;line-height:1.6;margin:8px 0 0;color:#4f574f}
.booking-step .after-booking{margin-top:35px}.booking-step .after-booking a{color:var(--black);text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.booking-embed-wrap{margin:32px -19px 12px;border:0}.booking-embed{min-height:780px}}
@media(max-width:360px){.school-portal .portal-frame{width:100%}}

/* Keep the six-step journey readable without a sideways-scrolling navigation on phones. */
@media(max-width:750px){
  .school-portal:not(.university-portal) .step-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible}
  .school-portal:not(.university-portal) .step-nav button{width:100%;min-width:0;min-height:55px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;white-space:normal;padding:7px 9px;line-height:1.25;font-size:.7rem}
  .school-portal:not(.university-portal) .step-nav button span{line-height:1.2}
}
@media(min-width:561px) and (max-width:750px){.school-portal:not(.university-portal) .step-nav{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:560px){
  .school-portal:not(.university-portal) .portal-frame{width:100%;border-left:0;border-right:0}
  .school-portal:not(.university-portal) .portal-rail{padding:16px 19px 18px}
  .school-portal:not(.university-portal) .portal-step{padding-top:26px}
  .school-portal:not(.university-portal) .welcome-steps{margin-top:34px}
  .school-portal:not(.university-portal) .schedule-major strong{font-size:clamp(1.9rem,8vw,2.3rem);overflow-wrap:break-word}
  .school-portal:not(.university-portal) .route-copy{min-width:0}
  .school-portal:not(.university-portal) .route-copy strong{overflow-wrap:break-word}
  .school-portal:not(.university-portal) .portal-step[data-step="4"] .intake-panel{margin-left:-19px;margin-right:-19px;padding:24px 19px;border-left:0;border-right:0}
  .school-portal:not(.university-portal) .portal-step[data-step="4"] .intake-embed-wrap{margin-left:-19px;margin-right:-19px;border-left:0;border-right:0}
  .school-portal:not(.university-portal) .portal-step[data-step="4"] .intake-embed-wrap iframe{height:76dvh;min-height:620px}
}
@media(max-width:380px){.school-portal:not(.university-portal) .portal-step h1,.school-portal:not(.university-portal) .portal-step h2{font-size:clamp(2.35rem,10vw,2.65rem)}}
