/* v20: shorter overview, parent decision criteria and guided product previews. */
.home-school-preview{overflow:hidden;background:var(--page,#f0f3fb);border-radius:20px;margin:26px 0;}
.home-school-preview>img{display:block;width:100%;height:200px;object-fit:cover;object-position:center 40%;}
.home-school-preview>div{padding:20px 24px;display:grid;gap:9px;}
.home-school-preview strong{font-size:22px;letter-spacing:-.5px;}
.home-school-preview span{font-size:14px;color:var(--muted);}
.home-school-preview button{text-align:left;margin-top:8px;font-size:16px;}
.home-product-grid article{display:flex;flex-direction:column;}
.home-product-grid article>.text-link{margin-top:auto;}
.home-product-grid h3{margin:20px 0;}
.home-method{padding:0;margin:28px 0;list-style:none;display:grid;gap:20px;}
.home-method li{display:flex;gap:17px;align-items:center;}
.home-method li>span{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:15px;background:#eeebfb;color:#6956d7;font-size:14px;font-weight:700;}
.home-method b{font-size:18px;display:block;}
.home-method small{font-size:15px;color:var(--muted);display:block;margin-top:6px;line-height:1.4;}
.home-compare-link{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-top:28px;padding:24px 4px;line-height:1.5;}
.home-compare-link>span{font-size:18px;color:var(--muted);}
.home-compare-link .text-link{font-size:18px;}
.overview-home .overview-intro{padding-block:85px 45px;}
.overview-home .practice-section .feature-section{padding-block:60px 75px;}
.overview-home .practice-intro .benefits{display:none;}
.overview-home .faq-section{padding-block:80px;}
.overview-home .final-cta{padding-block:70px;}
.overview-home .home-timeline .planning-shot{max-width:1050px;margin-inline:auto;}
.overview-home .home-timeline .shot-mat{padding:18px;}
.overview-home .home-timeline .shot-open img{max-height:520px;object-fit:cover;object-position:top;}
.overview-home .home-timeline .shot-source{max-width:900px;margin-inline:auto;}
.library-scope{display:flex;align-items:center;gap:22px;max-width:1000px;margin:30px auto 0;padding:20px 24px;border:1px solid #d8def0;border-radius:20px;background:#ffffffb8;text-align:left;}
.library-scope>span{flex:0 0 125px;font-size:13px;font-weight:700;color:#6956d7;line-height:1.5;}
.library-scope p{font-size:15px!important;line-height:1.6!important;margin:0!important;max-width:none!important;color:var(--muted);}
.library-scope b{color:var(--ink);}
.library-scope .text-button{font-size:14px;flex-shrink:0;}
.app-handoff{display:flex;gap:40px;align-items:center;justify-content:space-between;padding-block:75px;}
.app-handoff h2{font-size:42px;line-height:1.1;letter-spacing:-1.6px;}
.app-handoff p:not(.eyebrow){max-width:640px;font-size:19px;line-height:1.6;color:var(--muted);margin-top:20px;}
.handoff-actions{display:flex;flex-direction:column;align-items:center;gap:22px;flex-shrink:0;}
/* Trial route is progress through the demo, not a score. */
.trial-route{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;margin:0 0 -15px;}
.trial-progress{display:flex;gap:26px;list-style:none;padding:0;margin:0;}
.trial-progress li{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;color:var(--muted);}
.trial-progress li>span{display:grid;place-items:center;width:29px;height:29px;border:1px solid #cbd4e7;border-radius:50%;background:#fff;color:#56637e;font-size:13px;}
.trial-progress .is-done>span{background:#2d62dd;color:#fff;border-color:#2d62dd;}
.trial-progress .is-done{color:var(--ink);}
#trial-status{font-size:13px;color:var(--muted);white-space:nowrap;}
.practice-next-step{margin-top:22px;padding:20px;border-radius:16px;background:#f0f3fb;border:1px solid #d8e0f0;}
.practice-next-step[hidden]{display:none;}
.practice-next-step b{font-size:17px;}
.practice-next-step p{font-size:15px!important;line-height:1.5!important;margin:9px 0 16px!important;}
.practice-next-step .text-link{display:block;font-size:14px;margin-top:16px;}
/* Comparison stays readable without a sideways swipe on phones. */
.comparison-verified{font-size:14px;color:#596680;margin:0 0 22px;}
.comparison-group{margin:16px 0;border:1px solid #d9e1f1;border-radius:22px;background:#fff;overflow:hidden;}
.comparison-group>summary{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:27px 30px;cursor:pointer;list-style:none;}
.comparison-group>summary::-webkit-details-marker{display:none;}
.comparison-group summary b{font-size:24px;letter-spacing:-.5px;}
.comparison-group summary small{display:block;font-size:14px;color:var(--muted);margin-top:8px;line-height:1.5;}
.compare-toggle{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#f0edfc;color:#6956d7;font-size:25px;flex-shrink:0;}
.comparison-group[open] .compare-toggle{transform:rotate(45deg);}
.parent-comparison{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.55;}
.parent-comparison caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);}
.parent-comparison th,.parent-comparison td{padding:20px 27px;text-align:left;vertical-align:top;border-top:1px solid #e2e7f1;overflow-wrap:anywhere;}
.parent-comparison thead th{background:#eef2fb;color:#485878;font-size:14px;}
.parent-comparison th:first-child{width:27%;}
.parent-comparison tbody th{font-weight:600;color:#465574;}
.parent-comparison tbody tr:nth-child(even){background:#fafbfe;}
.parent-comparison small{display:block;font-size:14px;color:var(--muted);line-height:1.55;margin-top:5px;}
.parent-comparison .mobile-school-name{display:none;}
.comparison-sources{font-size:14px;line-height:1.7;color:var(--muted);padding:22px 28px;margin:0;border-top:1px solid #e2e7f1;}
.comparison-sources a{color:#2b5cc7;text-decoration:underline;text-underline-offset:3px;}
.comparison-next{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px;}
.comparison-next .text-link{font-size:17px;}
/* Shared modal: two paths, then a three-step school planning journey. */
#tour-dialog.school-guide-dialog{max-width:810px;width:calc(100% - 36px);max-height:90dvh;padding:44px;border:1px solid #dfe5f3;border-radius:28px;background:#f9faff;}
.school-guide-dialog #dialog-title{padding-right:12px;font-size:40px;line-height:1.1;letter-spacing:-1.5px;}
.school-guide-dialog #dialog-title:focus{outline:none;}
.school-guide-dialog .dialog-intro{font-size:19px;line-height:1.55;}
.path-options{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:28px 0;}
.path-options>button{padding:26px;border:1px solid #d9e1f1;background:#fff;border-radius:20px;text-align:left;display:flex;flex-direction:column;gap:16px;color:var(--ink);font:inherit;cursor:pointer;}
.path-options>button:last-child{background:#f2effc;border-color:#ded7f1;}
.path-icon{font-size:29px;color:#6956d7;}
.path-options b{font-size:23px;letter-spacing:-.6px;line-height:1.2;}
.path-options button>span:not(.path-icon){font-size:16px;line-height:1.6;color:var(--muted);}
.path-options strong{font-size:15px;color:#2d62dd;margin-top:auto;padding-top:8px;}
.guide-steps{display:flex;list-style:none;padding:0;margin:25px 0;gap:20px;}
.guide-steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);}
.guide-steps li>span{width:25px;height:25px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#e7ebf5;}
.guide-steps [aria-current="step"]{color:#2d62dd;font-weight:700;}
.guide-steps [aria-current="step"]>span{background:#2d62dd;color:white;}
.school-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:23px 0;}
.school-options button{padding:0;border:2px solid #dce3f0;border-radius:18px;overflow:hidden;background:white;text-align:left;cursor:pointer;font:inherit;color:var(--ink);}
.school-options button[aria-pressed="true"]{border-color:#2d62dd;box-shadow:0 0 0 3px #2d62dd1a;}
.school-options img{width:100%;height:150px;object-fit:cover;display:block;}
.school-options button>span{padding:18px;display:grid;gap:8px;}
.school-options b{font-size:19px;line-height:1.3;}
.school-options small,.school-options em{font-size:13px;font-style:normal;color:var(--muted);}
.school-options em{color:#2d62dd;}
.guide-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:25px;}
.guide-actions .button{font-size:16px;}
.guide-actions .text-link,.guide-actions .text-button{font-size:15px;}
.guide-secondary{display:flex;justify-content:space-between;gap:16px;margin-top:24px;}
.guide-secondary .text-button,.guide-back{font-size:14px;}
.guide-back{margin-top:24px;}
.report-summary{display:grid;gap:0;margin:20px 0;background:white;border-radius:18px;border:1px solid #dfe5f1;padding:0 23px;}
.report-summary>div{padding:19px 0;}
.report-summary>div+div{border-top:1px solid #e0e6f1;}
.report-summary dt{font-size:13px;color:#596680;margin-bottom:8px;}
.report-summary dd{font-size:19px;line-height:1.5;margin:0;}
.report-summary small{display:block;font-size:14px;color:var(--muted);margin-top:8px;}
.guide-sources{font-size:13px;color:var(--muted);line-height:1.75;}
.guide-sources a,.school-guide-dialog .dialog-note a{color:#2b5cc7;text-decoration:underline;text-underline-offset:3px;}
.plan-saved{font-size:15px;color:#2655bc;background:#eaf0ff;padding:14px 18px;border-radius:12px;line-height:1.5;}
.guide-timeline{list-style:none;padding:8px 0;margin:22px 0;}
.guide-timeline li{display:flex;gap:18px;position:relative;padding:0 0 25px;}
.guide-timeline li:last-child{padding-bottom:0;}
.guide-timeline li>span{width:12px;height:12px;border:3px solid #9182dd;border-radius:50%;flex-shrink:0;background:#fff;margin-top:5px;z-index:1;}
.guide-timeline li:not(:last-child):before{content:'';position:absolute;left:5px;top:13px;bottom:-5px;width:2px;background:#e1ddf4;}
.guide-timeline b{font-size:17px;}
.guide-timeline p{font-size:15px;line-height:1.5;margin:7px 0 0;color:var(--muted);}
.guide-timeline small{font-size:12px;}
:where(.path-options button,.school-options button,.comparison-group summary):focus-visible{outline:3px solid #2d62dd;outline-offset:4px;}
@media(max-width:900px){
 .library-scope{flex-wrap:wrap;gap:10px;}.library-scope>span{flex-basis:100%;}
 .app-handoff{align-items:flex-start;flex-direction:column;gap:25px;}.handoff-actions{align-items:flex-start;}
 .home-compare-link{align-items:flex-start;flex-direction:column;gap:9px;}
 .trial-route{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:0;}
}
@media(max-width:650px){
 .overview-home .home-introduction{padding-top:40px;padding-bottom:28px;}
 .overview-home .hero-kicker{font-size:14px!important;line-height:1.5;max-width:290px;margin-inline:auto;}
 .overview-home .hero h1{font-size:44px;line-height:1.08;letter-spacing:-1.8px;}
 .overview-home .hero .lead{font-size:18px;line-height:1.55;margin-top:22px;}
 .overview-home .hero-metrics{margin-block:25px;}
 .overview-home .hero-metrics dd{font-size:34px;}
 .overview-home .hero-metrics dt{font-size:11px;line-height:1.45;}
 .overview-home .hero-note{font-size:12px;line-height:1.6;margin-top:20px;}
 .overview-home .hero-timeline-link{display:none;}
 .overview-home .home-timeline .shot-mat{padding:10px;}
 .overview-home .home-timeline .shot-open img{max-height:310px;}
 .overview-home .home-timeline .section-heading h2{font-size:35px;}
 .overview-home .home-timeline .section-heading>p:not(.eyebrow){font-size:17px;line-height:1.55;}
 .overview-home .home-timeline figcaption{padding:14px;}
 .overview-home .home-timeline .shot-source span{display:none;}
 .overview-home .home-timeline .timeline-feature-actions{margin-top:20px;}
 .overview-home .home-timeline .timeline-feature-actions>span{display:none;}
 .overview-home .overview-intro{padding:52px 0 20px;}
 .overview-intro-heading h2{font-size:36px;}
 .home-product-grid{margin-top:28px;gap:18px;}
 .home-product-grid article{padding:25px 23px;}
 .home-product-grid h3{font-size:29px;margin:18px 0;}
 .home-product-grid p{font-size:17px;}
 .home-school-preview{margin:20px 0;}.home-school-preview>img{height:150px;}.home-school-preview>div{padding:17px;}
 .home-school-preview strong{font-size:19px;}.home-school-preview span{font-size:12px;}
 .home-method{margin:23px 0;gap:19px;}.home-method b{font-size:16px;}.home-method small{font-size:13px;}
 .home-compare-link{margin-top:10px;padding:20px 4px;}.home-compare-link>span{font-size:15px;}.home-compare-link .text-link{font-size:16px;}
 .overview-home .practice-section .feature-section{padding-block:40px 45px;}
 .overview-home .practice-intro h2{font-size:36px;}
 .overview-home .practice-intro-detail>p{font-size:18px;}
 .overview-home .faq-section{padding-block:45px;}
 .overview-home .final-cta{padding-block:45px;}
 .overview-home .final-cta h2{font-size:37px;line-height:1.15;}
 .overview-home .final-cta p:not(.eyebrow){font-size:16px;line-height:1.6;}
 .library-scope{padding:18px;margin-top:24px;border-radius:16px;}.library-scope p{font-size:14px!important;}
 .app-handoff{padding-block:45px;}.app-handoff h2{font-size:32px;}.app-handoff p:not(.eyebrow){font-size:17px;}
 .trial-progress{width:100%;gap:10px;justify-content:space-between;}.trial-progress li{font-size:12px;line-height:1.4;max-width:100px;gap:7px;}.trial-progress li>span{width:23px;height:23px;flex-shrink:0;font-size:11px;}
 #trial-status{font-size:12px;}
 .comparison-group{border-radius:18px;}.comparison-group>summary{padding:22px 20px;gap:12px;}.comparison-group summary b{font-size:21px;}.comparison-group summary small{font-size:12px;}
 .parent-comparison{display:block;}.parent-comparison thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;}.parent-comparison tbody{display:block;}
 .parent-comparison tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:18px;border-top:1px solid #e2e7f1;}
 .parent-comparison tbody th{grid-column:1/-1;width:auto!important;padding:0 0 13px;border:0;font-size:15px;color:var(--ink);}
 .parent-comparison td{padding:0 12px 0 0;font-size:15px;border:0;line-height:1.5;}.parent-comparison td+td{border-left:1px solid #dce2f0;padding:0 0 0 13px;}
 .parent-comparison .mobile-school-name{display:block;font-size:11px;font-weight:600;color:#5a6884;margin:0 0 8px;}.parent-comparison small{font-size:12px;}
 .comparison-sources{padding:18px;font-size:12px;line-height:1.75;}.comparison-verified{font-size:12px;line-height:1.6;}
 .comparison-next{gap:22px;}.comparison-next .button{font-size:15px;}.comparison-next .text-link{font-size:15px;}
 #tour-dialog.school-guide-dialog{padding:28px 22px;width:calc(100% - 24px);max-height:92dvh;border-radius:24px;}
 .school-guide-dialog #dialog-title{font-size:31px;letter-spacing:-1px;max-width:270px;padding-top:16px;}
 .school-guide-dialog .dialog-label{font-size:10px;display:block;max-width:235px;line-height:1.5;}
 .school-guide-dialog .dialog-intro{font-size:16px;}
 .path-options{grid-template-columns:1fr;gap:14px;margin:23px 0;}.path-options>button{padding:22px;gap:12px;}.path-options b{font-size:21px;}.path-options button>span:not(.path-icon){font-size:15px;}.path-icon{font-size:24px;}
 .guide-steps{gap:10px;justify-content:space-between;}.guide-steps li{font-size:10px;gap:5px;line-height:1.4;}.guide-steps li>span{width:22px;height:22px;}
 .school-options{gap:12px;}.school-options img{height:105px;}.school-options button>span{padding:12px;}.school-options b{font-size:15px;}.school-options small,.school-options em{font-size:11px;line-height:1.4;}
 .guide-actions{gap:20px;}.guide-actions .button{font-size:14px;padding:14px 19px;}.guide-actions .text-link,.guide-actions .text-button{font-size:14px;}
 .report-summary{padding:0 18px;}.report-summary dt{font-size:12px;}.report-summary dd{font-size:17px;}.report-summary small{font-size:13px;}
 .guide-sources{font-size:12px;}.plan-saved{font-size:13px;padding:13px;}.guide-timeline b{font-size:16px;}.guide-timeline p{font-size:14px;}
 .guide-secondary{align-items:flex-start;flex-direction:column;gap:20px;}
}
@media(prefers-reduced-motion:no-preference){.path-options>button,.school-options button{transition:transform .18s ease,border-color .18s ease;}.path-options>button:hover{transform:translateY(-2px);border-color:#9cafe1;}}
.home-timeline-card{background:#f9fbff;border:1px solid #e1e7f4;border-radius:24px;box-shadow:0 24px 65px -25px #17286455;color:#20264f;padding:30px;margin-top:35px;}
.timeline-card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #e2e7f1;}
.timeline-card-heading>div{display:flex;align-items:center;gap:5px;}.timeline-card-heading img{object-fit:contain;}.timeline-card-heading>div>span{font-size:14px;color:#6956d7;font-weight:700;}
.timeline-card-heading>span{font-size:13px;color:#56637e;}
.timeline-school{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:25px 0 30px;}
.timeline-school div>span{font-size:10px;letter-spacing:.7px;color:#56637e;font-weight:600;}
.timeline-school h3{font-size:29px;letter-spacing:-.8px;line-height:1.2;margin-top:7px;}
.timeline-school>b{font-size:12px;background:#ece7fb;color:#5b4bb6;padding:8px 12px;border-radius:20px;}
.timeline-milestones{display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:0;list-style:none;gap:18px;}
.timeline-milestones li{position:relative;padding-top:42px;}
.timeline-milestones li:before{content:'';position:absolute;top:12px;left:16px;right:-18px;height:2px;background:#dcd9ee;}
.timeline-milestones li:last-child:before{display:none;}
.timeline-milestones li>span{position:absolute;top:0;left:0;border-radius:50%;display:grid;place-items:center;width:26px;height:26px;background:#eeebfb;border:1px solid #d7d0f0;color:#6956d7;font-size:11px;z-index:1;}
.timeline-milestones small{display:block;color:#56637e;font-size:13px;}
.timeline-milestones strong{font-size:18px;letter-spacing:-.4px;display:block;margin-top:8px;}
.timeline-milestones em{display:block;font-size:11px;line-height:1.5;color:#56637e;font-style:normal;margin-top:8px;}
.timeline-card-foot{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid #e2e7f1;margin-top:28px;padding-top:23px;}
.timeline-card-foot>span{font-size:12px;color:#56637e;}.timeline-card-foot .text-button{font-size:14px;}
.overview-home .hero h1 span{text-wrap:balance;}
@media(max-width:650px){
 .home-timeline-card{padding:20px;border-radius:20px;margin-top:25px;}.timeline-card-heading{padding-bottom:16px;gap:8px;}.timeline-card-heading img{width:82px;height:auto;}.timeline-card-heading>div>span{font-size:12px;}.timeline-card-heading>span{font-size:10px;max-width:95px;text-align:right;line-height:1.4;}
 .timeline-school{display:block;margin:20px 0;}.timeline-school h3{font-size:25px;margin:6px 0 13px;}.timeline-school>b{font-size:10px;padding:6px 10px;}
 .timeline-milestones{grid-template-columns:1fr 1fr;gap:21px 13px;}.timeline-milestones li{padding-top:32px;}.timeline-milestones li:before{display:none;}.timeline-milestones li>span{width:23px;height:23px;font-size:10px;}.timeline-milestones small{font-size:11px;}.timeline-milestones strong{font-size:15px;margin-top:5px;}.timeline-milestones em{font-size:10px;margin-top:5px;}
 .timeline-card-foot{display:block;margin-top:22px;padding-top:17px;}.timeline-card-foot>span{font-size:11px;display:block;line-height:1.6;}.timeline-card-foot .text-button{font-size:13px;margin-top:11px;}
}
.featured-timeline .timeline-card-foot .text-button{color:#2b5cc7;}
