#walkthrough{max-width:1120px;margin:64px auto 0;padding:32px;border:1px solid #ffffff16;border-radius:24px;background:radial-gradient(ellipse at 0 100%,#f88b4210,transparent 55%),#0e1016;scroll-margin-top:90px}
.tour-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.tour-heading h2{margin:0;font:500 clamp(26px,3.5vw,38px)/1.3 var(--sans)}
.tour-label{color:#c0c5ce;font-size:12px;white-space:nowrap;border:1px solid #ffffff19;padding:5px 10px;border-radius:999px}
.tour-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;background:#080a10;border:1px solid #ffffff0d;border-radius:16px;margin-bottom:24px}
.tour-tabs button{font:500 15px var(--sans);color:#bac1cd;border:1px solid transparent;background:transparent;border-radius:11px;padding:13px 8px;min-height:48px;cursor:pointer}
.tour-tabs button[aria-selected=true]{color:#ffb37e;border-color:#f88b4238;background:#f88b4214}
.tour-tabs button span{margin-inline-end:8px;opacity:.7;font-size:12px}
.tour-panel{min-height:270px;display:grid;grid-template-columns:.85fr 1.4fr;gap:40px;align-items:center;padding:20px 16px 28px}
.tour-panel[hidden],#walkthrough [hidden]{display:none!important}
.tour-panel h3{font:500 clamp(25px,3vw,34px)/1.3 var(--sans);margin:0 0 18px;max-width:14ch}
.tour-points{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:#bac1cd;font-size:15px}
.tour-points li::before{content:'✓';margin-inline-end:9px;color:#f8a269}
.tour-scene{padding:22px;background:#090c12;border:1px solid #ffffff12;border-radius:18px;min-width:0}
.tour-scene-label{display:flex;justify-content:space-between;color:#b8c0cd;font-size:12px;margin-bottom:16px;gap:12px}
.tour-schools{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tour-school{font:inherit;text-align:start;color:#f1f3f7;border:1px solid #ffffff18;border-top:3px solid var(--school-color);border-radius:12px;background:linear-gradient(145deg,var(--school-tint),#11141c 65%);padding:18px;cursor:pointer;min-height:140px;display:grid;gap:12px}
.tour-school strong{font-size:22px;font-weight:500}
.tour-school [data-school-action]{font-size:13px;color:#d4d9e2}
.tour-school[aria-pressed=true]{border-color:var(--school-color);box-shadow:0 0 0 1px var(--school-color)}
.tour-feedback{font-size:12px;color:#b9c2cf;min-height:20px;margin:14px 0 0}
.tour-date{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;gap:16px;background:#13203a;border-inline-start:3px solid #7cacfa;border-radius:12px}
.tour-date+.tour-date{margin-top:12px;background:#2c1720;border-color:#e78898}
.tour-date strong{display:block;font-size:18px;font-weight:500}.tour-date small{color:#c5c8d1;font-size:12px}
.tour-days{font:500 32px/1 var(--sans);text-align:center;flex-shrink:0}.tour-days small{display:block;font:400 11px var(--sans);margin-top:5px}
.tour-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #ffffff10;font-size:14px}.tour-file:last-child{border:0}
.tour-status{color:#a1e4b8;background:#2d704324;border-radius:6px;padding:4px 8px;font-size:12px;white-space:nowrap}.tour-status.pending{color:#ffd49a;background:#b76c1c22}
.tour-controls{border-top:1px solid #ffffff12;padding-top:22px;display:flex;align-items:center;gap:16px;justify-content:space-between}
.tour-controls button,.tour-controls a{min-height:46px;font:600 14px var(--sans);padding:12px 20px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.tour-controls button:disabled{opacity:.4;cursor:default}.tour-count{font-size:12px;color:#c1c5d0;direction:ltr}.tour-actions{display:flex;gap:10px;align-items:center}
.tour-footnote{font-size:12px;color:#b8c0cd;margin:16px 0 0}
@media(max-width:760px){#walkthrough{margin:36px 16px 0;padding:20px 16px;border-radius:20px}.tour-heading{align-items:flex-start;gap:8px;flex-direction:column}.tour-heading h2{font-size:27px}.tour-tabs{gap:2px;padding:4px}.tour-tabs button{font-size:12px;padding:10px 4px}.tour-tabs button span{display:block;margin:0 0 4px}.tour-panel{grid-template-columns:1fr;gap:20px;padding:4px 0 22px;min-height:380px;align-content:start}.tour-panel h3{font-size:25px;margin-bottom:12px;max-width:none}.tour-points{gap:6px;font-size:13px}.tour-scene{padding:16px}.tour-school{padding:14px;min-height:112px}.tour-school strong{font-size:21px}.tour-controls{gap:8px}.tour-controls button,.tour-controls a{padding:11px 13px;font-size:13px}.tour-actions{gap:6px}.tour-date{padding:12px}.tour-days{font-size:28px}}

/* Course film and hands-on walkthrough share one section. */
.tour-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;align-items:center}
.tour-interactive{min-width:0}
.tour-video{margin:0;min-width:0;border:1px solid #ffffff20;border-radius:18px;overflow:hidden;background:#080a10;box-shadow:0 16px 48px #0005}
.tour-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;direction:ltr}
.tour-video video.is-portrait{aspect-ratio:9/16;max-height:78svh}
.tour-video:has(video.is-portrait){width:min(100%,calc(78svh * 9 / 16));justify-self:center}
.tour-video video:focus-visible{outline:3px solid #ffad73;outline-offset:-3px}
.tour-video{position:relative}
.tour-sound{position:absolute;top:14px;inset-inline-start:14px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid #ffffff38;border-radius:999px;background:#0a0c12cc;backdrop-filter:blur(6px);color:#fff;font:600 15px var(--sans);cursor:pointer}
.tour-sound svg{width:20px;height:20px;fill:currentColor}
.tour-sound:hover{border-color:#ffad73}
.tour-sound:focus-visible{outline:3px solid #ffad73;outline-offset:2px}
@media(min-width:961px){.tour-interactive .tour-panel{grid-template-columns:1fr;gap:16px;padding:0 0 24px;min-height:350px;align-content:start}.tour-interactive .tour-panel h3{font-size:26px;max-width:none;margin:0}.tour-interactive .tour-scene{padding:18px}.tour-interactive .tour-tabs button{font-size:13px}.tour-interactive .tour-tabs button span{margin-inline-end:4px}}
@media(max-width:960px){.tour-layout{grid-template-columns:1fr;gap:28px}.tour-video{order:-1;max-width:680px;width:100%;justify-self:center}}
@media(max-width:760px){.tour-video{border-radius:12px}.tour-layout{gap:24px}}

/* The five-step tour: schools, scores, tuition, dates and the student's work. */
.tour-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
.tour-tabs button span{display:block;margin:0 0 4px}
.tour-tabs button{padding:11px 4px;font-size:12px}
.tour-panel-calculator{grid-template-columns:1fr;gap:16px;padding:0 0 24px;align-content:start}
.tour-panel-calculator h3{max-width:none;font-size:26px;margin:0}
.tour-panel-calculator .tour-scene{padding:20px}
.tour-score-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:22px}
.tour-score-summary>div{display:flex;flex-direction:column;gap:3px;padding:12px 8px;background:#ffffff05;border:1px solid #ffffff10;border-radius:10px}
.tour-score-summary span,.tour-score-summary small{font-size:11px;color:#b8c0cd}
.tour-score-summary strong{font:600 28px/1.25 var(--sans);font-variant-numeric:tabular-nums;direction:ltr;text-align:right;color:#fff}
.tour-range-label{display:block;font:500 14px var(--sans);color:#e8eaf0;margin-bottom:10px}
.tour-range{--range-background:#303746;-webkit-appearance:none;appearance:none;display:block;width:100%;height:32px;margin:0;background:transparent;cursor:pointer;direction:ltr;accent-color:#ffa96b;touch-action:pan-y}
.tour-sat-range{--range-background:linear-gradient(to right,#303746 0% 70%,#7cacfa 70% 90%,#303746 90% 100%)}
.tour-range::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:var(--range-background)}
.tour-range::-moz-range-track{height:8px;border-radius:8px;background:var(--range-background)}
.tour-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-7px;border-radius:50%;background:#ffad73;border:3px solid #11151d;box-shadow:0 0 0 1px #ffad73,0 0 16px #f88b4240}
.tour-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#ffad73;border:3px solid #11151d;box-shadow:0 0 0 1px #ffad73}
.tour-range:focus-visible{outline:2px solid #ffad73;outline-offset:4px;border-radius:5px}
.tour-range-ends{display:flex;justify-content:space-between;direction:ltr;font:400 11px var(--sans);color:#b8c0cd}
.tour-compact-note{font:400 12px/1.65 var(--sans);color:#b8c0cd;margin:12px 0 0}
.tour-comparisons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.tour-comparison{display:flex;flex-direction:column;gap:8px;padding:14px 12px;min-width:0;border:1px solid #ffffff12;border-inline-start:3px solid var(--school-color);border-radius:10px;background:linear-gradient(145deg,var(--school-tint),#11141c)}
.tour-comparison strong{color:var(--school-color);font:500 20px var(--sans);text-align:start}
.tour-comparison span{font:500 13px/1.5 var(--sans);color:#f1f3f7}
.tour-comparison small{font:400 11px/1.5 var(--sans);color:#c0c7d2}
.tour-income-value{display:block;font:600 30px/1.3 var(--sans);font-variant-numeric:tabular-nums;color:#fff;margin:0 0 10px}
.tour-tuition-result{display:flex;align-items:flex-start;flex-direction:column;gap:7px;margin-top:12px;padding:20px;background:linear-gradient(140deg,#18393170,#0c1514);border:1px solid #8ee0b735;border-radius:14px}
.tour-tuition-result>span{font-size:13px;color:#c0dcd2}
.tour-tuition-result>strong{display:block;font:600 52px/1.2 var(--sans);font-variant-numeric:tabular-nums;color:#b6f6d5;unicode-bidi:isolate}
.tour-footnote a{color:#ffb37e;text-underline-offset:3px;white-space:nowrap}
@media(max-width:760px){.tour-tabs button{font-size:11px;line-height:1.35}.tour-panel-calculator h3{font-size:24px}.tour-panel-calculator .tour-scene{padding:14px}.tour-score-summary{gap:5px}.tour-score-summary>div{padding:10px 6px}.tour-score-summary strong{font-size:25px}.tour-comparisons{gap:8px}.tour-comparison{padding:12px 9px}.tour-comparison span{font-size:12px}.tour-range{height:44px}}

.tour-comparisons-single{grid-template-columns:1fr}

.tour-gpa-control{margin-bottom:24px}

.tour-gpa-range{--gpa-band-start:92.5%;--gpa-band-end:100%;--range-background:linear-gradient(to right,#303746 0% var(--gpa-band-start),#7cacfa var(--gpa-band-start) var(--gpa-band-end),#303746 var(--gpa-band-end) 100%)}

.tour-purchase{margin-top:20px;display:flex}
.tour-purchase a{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:600 15px var(--sans);padding:14px 20px}

.tour-jump{font-size:14px;color:#ffb680;text-decoration:none;padding-block:8px}
.tour-heading{gap:12px;flex-wrap:wrap}
.tour-school[aria-pressed=true]{border-color:var(--school-color);box-shadow:inset 0 0 0 1px var(--school-color)}
.tour-school[aria-pressed=false]{background:#11141c}
.tour-date{gap:16px;flex-wrap:wrap}
.tour-date>div:first-child{flex:1}
.tour-calendar{font:500 13px var(--sans);color:#ffbd8e;background:#201810;border:1px solid #ffad7340;border-radius:10px;min-height:44px;padding:9px 13px;cursor:pointer}
.tour-empty p{font-size:14px;color:#c6cedb;margin:0 0 16px}
.tour-empty button{padding:10px 14px;font:500 14px var(--sans)}
.tour-feedback:empty{display:none}
.tour-draft{margin-top:18px;padding-top:16px;border-top:1px solid #ffffff16}
.tour-draft label{display:block;font-size:14px;font-weight:500;margin-bottom:10px}
.tour-draft textarea{width:100%;min-height:110px;resize:vertical;border:1px solid #555e70;border-radius:10px;background:#10151d;color:#f3f5fa;font:400 15px/1.7 var(--sans);padding:12px}
.tour-draft textarea::placeholder{color:#aeb7c8}
.tour-draft>div{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#bac4d6;margin-top:8px}
.tour-draft output{direction:ltr;flex:none}
.tour-comparison:has(>span:only-child){padding-block:12px}
/* Desktop: the launch video gets its own row above the tour, as wide as the
   section and never taller than the screen (David, 1 Oct 2026). */
@media(min-width:961px){#walkthrough{max-width:1200px}.tour-layout{grid-template-columns:minmax(0,1fr);align-items:start}.tour-video{order:-1;width:min(100%,calc((100svh - 190px) * 16 / 9));justify-self:center}}
