/* v21: complete mobile content, usable first screen and shared planning screenshots. */
.mobile-app-link{display:none;}
.practice-coverage{max-width:1000px;margin:22px auto 0;text-align:left;}
.practice-coverage>summary{display:flex;justify-content:center;align-items:center;gap:15px;cursor:pointer;list-style:none;font-size:15px;line-height:1.5;color:#2b5cc7;padding:12px;}
.practice-coverage>summary::-webkit-details-marker{display:none;}
.practice-coverage>summary>span{font-size:23px;line-height:1;}
.practice-coverage[open]>summary>span{transform:rotate(45deg);}
.practice-coverage .library-scope{margin-top:8px;}
.coverage-checked{text-align:center;font-size:12px;color:var(--muted);margin:13px 0;line-height:1.5;}
/* Never crop the timeline: use the same complete images as School Planning. */
.overview-home .home-timeline .shot-open img{height:auto;max-height:none;object-fit:contain;}
.home-planning-gallery{padding-top:80px;padding-bottom:30px;}
.home-planning-gallery .section-heading{margin-bottom:30px;}
.planning-preview-tabs{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap;}
.planning-preview-tabs button{border:1px solid #d4ddf0;border-radius:99px;background:#ffffffc4;color:#56637e;font-size:16px;padding:13px 23px;cursor:pointer;min-height:47px;line-height:1.25;}
.planning-preview-tabs button[aria-selected=true]{background:#2d62dd;border-color:#2d62dd;color:#fff;}
.planning-preview-tabs button:focus-visible,.practice-coverage>summary:focus-visible{outline:3px solid #6956d7;outline-offset:4px;}
.home-planning-panel[hidden]{display:none;}
.home-planning-panel img{width:100%;height:auto;max-height:none;object-fit:contain;}
.planning-preview-caption{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:22px 4px;}
.planning-preview-caption>p{font-size:18px;line-height:1.5;color:var(--muted);margin:0;}
.planning-preview-caption .text-link{font-size:17px;flex-shrink:0;}
@media(max-width:950px){
 .mobile-app-link{display:block;}
 .header #nav-links.open{max-height:calc(100dvh - 80px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;gap:0;padding-block:10px;}
 .header #nav-links.open>a{width:100%;padding-block:13px;min-height:46px;flex-shrink:0;}
 .header #nav-links.open>.mobile-app-link{border-top:1px solid #d7dff0;margin-top:5px;color:#2d62dd;}
}
@media(max-width:650px){
 .header #nav-links.open{max-height:calc(100dvh - 72px - env(safe-area-inset-bottom,0px));}
 .detail-page .page-hero{padding-top:28px;padding-bottom:26px;}
 .detail-page .page-hero>.eyebrow{font-size:16px;line-height:1.4;margin-bottom:16px;}
 .detail-page .page-hero h1{font-size:clamp(32px,9vw,39px);line-height:1.1;letter-spacing:-1.4px;text-wrap:balance;}
 .detail-page .page-hero .page-lead{font-size:18px;line-height:1.5;margin-top:20px;letter-spacing:-.2px;}
 .practice-page .page-hero{padding-block:24px 20px;}
 .practice-page .page-hero h1{font-size:clamp(28px,8.15vw,35px);letter-spacing:-1.1px;line-height:1.13;}
 .practice-page .page-hero>.eyebrow{margin-bottom:13px;}
 .practice-page .page-hero .page-lead{font-size:17px;line-height:1.5;margin-top:18px;}
 .practice-page .page-hero .detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;}
 .practice-page .page-hero .detail-actions>a{font-size:15px;min-width:0;min-height:46px;padding:12px 10px;gap:8px;}
 .practice-page .page-hero .detail-stats{margin-top:23px;padding-block:17px;}
 .practice-page .page-hero .detail-stats>div{padding-inline:6px;gap:6px;}
 .practice-page .page-hero .detail-stats dd{font-size:31px;line-height:1.1;}
 .practice-page .page-hero .detail-stats dt{font-size:12px;line-height:1.4;}
 .practice-page .page-hero .data-caption{font-size:12px;line-height:1.6;margin-top:12px;}
 .practice-page .page-hero .data-caption .counts-link{font-size:12px;}
 .practice-coverage{margin-top:7px;}
 .practice-coverage>summary{font-size:13px;padding:10px 0;gap:11px;}
 .practice-coverage .library-scope{margin-top:8px;}
 .practice-page .page-jumps{gap:10px 16px;padding-block:17px;font-size:13px;}
 .practice-page .detail-section{padding-block:45px;}
 .practice-page .section-heading{margin-bottom:25px;}
 .practice-page .section-heading h2{font-size:35px;line-height:1.12;}
 .practice-page .section-heading>p:not(.eyebrow){font-size:18px;line-height:1.55;}
 /* Flex min-content widths must not clip the practice footer or narrow controls. */
 .illustrated-practice .practice-foot{display:block;}
 .illustrated-practice .practice-foot>span{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;}
 .illustrated-practice .answer-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;}
 .illustrated-practice .answer-row input{width:100%;max-width:none;min-width:0;}
 .illustrated-practice .answer-row .button{margin-left:0;padding-inline:15px;white-space:nowrap;}
 .question-help-actions{flex-wrap:wrap;}
 .library-overview select{max-width:100%;min-width:0;font-size:16px;}
 .topic-list li>span{min-width:0;overflow-wrap:anywhere;}
 .subject-tabs button{max-width:100%;white-space:normal;}
 .coach-suggestions button{max-width:100%;white-space:normal;text-align:left;line-height:1.5;}
 .coach-step{min-height:0;}
 .coach-input-row input{font-size:16px;}
 .home-planning-gallery{padding-top:48px;padding-bottom:10px;}
 .home-planning-gallery .section-heading h2{font-size:35px;line-height:1.13;}
 .home-planning-gallery .section-heading>p:not(.eyebrow){font-size:18px;line-height:1.55;}
 .planning-preview-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:20px;}
 .planning-preview-tabs button{font-size:12px;min-height:45px;padding:10px 7px;border-radius:14px;}
 .home-planning-panel .shot-mat{padding:10px;}
 .planning-preview-caption{display:block;margin:20px 2px;}
 .planning-preview-caption>p{font-size:16px;margin-bottom:13px;}
 .planning-preview-caption .text-link{font-size:15px;}
 /* Every modal has a bounded scroll area, including short landscape screens. */
 #tour-dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px);overflow-y:auto;overscroll-behavior:contain;}
 #tour-dialog .dialog-grid{grid-template-columns:minmax(0,1fr);}
 .planning-image-toolbar{flex-wrap:wrap;}
 .planning-image-toolbar>h2{max-width:none;flex:1 1 100%;}
 .planning-image-toolbar>div{margin-left:auto;}
 .planning-image-scroll{max-height:calc(100dvh - 185px - env(safe-area-inset-bottom,0px));}
}
@media(max-width:370px){
 .container{width:calc(100% - 32px);}
 .header #nav-links.open{left:-16px;right:-16px;}
 .practice-page .page-hero .detail-stats dd{font-size:28px;}
 .practice-page .page-hero .detail-actions>a{font-size:14px;}
 .practice-page .page-hero .page-lead{font-size:16px;}
 .practice-page .page-hero .data-caption{font-size:11px;}
 .practice-coverage>summary{font-size:12px;}
 .illustrated-practice .practice-main{padding-inline:17px;}
 .trial-progress{gap:6px;}.trial-progress li{font-size:11px;gap:5px;}
}
@media(max-height:500px) and (orientation:landscape){
 .header .nav{height:58px;}.header #nav-links.open{top:58px;max-height:calc(100dvh - 60px);}
 .practice-page .page-hero{padding-block:24px;}.practice-page .page-hero>.eyebrow{margin-bottom:12px;font-size:16px;}
 .practice-page .page-hero h1{font-size:38px;line-height:1.1;letter-spacing:-1.5px;}.practice-page .page-lead{font-size:17px;line-height:1.5;margin-top:16px;}
 .practice-page .page-hero .detail-actions{margin-top:18px;}
 #tour-dialog.school-guide-dialog{max-height:calc(100dvh - 20px);}
}
@media(max-width:650px){.overview-home .home-timeline .shot-source>span{display:block;}}

/* Direct links from the homepage feature introductions to their full pages. */
.overview-home .home-section-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:25px;}
.overview-home .home-section-actions .button{flex-shrink:0;}
@media(max-width:650px){.overview-home .home-section-actions{margin-top:22px;gap:18px;}.overview-home .home-section-actions .button{width:100%;font-size:16px;}.overview-home .home-section-actions .text-button{font-size:16px;}}

/* The complete product journey, visible before the homepage statistics. */
.overview-home .product-flow{margin:32px auto 30px;text-align:left;max-width:1200px;}
.overview-home .product-flow-heading{font-size:18px;font-weight:600;letter-spacing:-.3px;text-align:center;color:#45416b;margin:0 0 18px;}
.overview-home .product-flow ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0;}
.overview-home .product-flow li{min-width:0;--flow-accent:#5379a7;--flow-bg:#f2f7fc;--flow-border:#dce7f2;--flow-ink:#314760;}
.overview-home .product-flow a{position:relative;display:flex;flex-direction:column;gap:17px;height:100%;padding:20px 18px;border:1px solid var(--flow-border);border-radius:20px;background:linear-gradient(155deg,#ffffffc9,var(--flow-bg) 65%);box-shadow:inset 0 2px 0 #bed3e9,0 4px 16px #34396903;text-decoration:none;color:var(--flow-ink);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.overview-home .flow-number{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e1ecf7;color:#45678f;font-size:14px;font-weight:700;box-shadow:none;}
.overview-home .flow-content{display:block;}
.overview-home .flow-content strong{display:block;font-size:19px;line-height:1.25;letter-spacing:-.4px;}
.overview-home .flow-content small{display:block;margin-top:9px;font-size:14px;line-height:1.5;color:#5c5c72;}
.overview-home .flow-arrow{position:absolute;right:18px;top:23px;color:var(--flow-accent);font-size:23px;line-height:1;}
.overview-home .product-flow a:hover{transform:translateY(-3px);box-shadow:inset 0 2px 0 #adc9e4,0 8px 22px #4544870a;border-color:#bfd3e7;}
.overview-home .product-flow a:focus-visible{outline:3px solid #5e59c7;outline-offset:4px;}
@media(max-width:900px){
 .overview-home .product-flow ol{grid-template-columns:1fr;gap:9px;max-width:600px;margin-inline:auto;}
 .overview-home .product-flow a{flex-direction:row;align-items:center;gap:14px;padding:14px 44px 14px 15px;border-radius:16px;}
 .overview-home .flow-number{flex-shrink:0;}
 .overview-home .flow-content strong{font-size:18px;}
 .overview-home .flow-content small{margin-top:4px;font-size:14px;}
 .overview-home .flow-arrow{top:50%;right:17px;transform:translateY(-50%) rotate(90deg);font-size:20px;}
 .overview-home .product-flow li:last-child .flow-arrow{transform:translateY(-50%);}
}
@media(prefers-reduced-motion:reduce){.overview-home .product-flow a{transition:none;}.overview-home .product-flow a:hover{transform:none;}}

/* Match the practice journey to the soft blue product flow. */
.trial-route{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:10px 0 18px;margin:0;}
.trial-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;}
.trial-progress li{position:relative;display:flex;align-items:center;gap:14px;max-width:none;min-width:0;min-height:88px;padding:20px 46px 20px 18px;border:1px solid #dce7f2;border-radius:20px;background:linear-gradient(155deg,#ffffffc9,#f2f7fc 65%);box-shadow:inset 0 2px 0 #bed3e9,0 4px 16px #34396903;color:#314760;font-size:18px;font-weight:600;line-height:1.35;}
.trial-progress li>span{flex-shrink:0;width:34px;height:34px;border:0;border-radius:11px;background:#e1ecf7;color:#45678f;font-size:14px;font-weight:700;}
.trial-progress li:not(:last-child)::after{content:'→';position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:23px;font-weight:400;color:#5379a7;}
.trial-progress li.is-done{border-color:#bfd3e7;color:#314760;}
.trial-progress li.is-done>span{background:#5379a7;color:white;border:0;}
#trial-status{align-self:flex-end;color:#5c5c72;font-size:13px;}
@media(max-width:650px){
 .trial-progress{grid-template-columns:1fr;gap:9px;}
 .trial-progress li{min-height:72px;padding:14px 44px 14px 15px;border-radius:16px;font-size:18px;gap:14px;max-width:none;}
 .trial-progress li>span{width:34px;height:34px;font-size:14px;}
 .trial-progress li:not(:last-child)::after{transform:translateY(-50%) rotate(90deg);right:17px;font-size:20px;}
}

/* Brand accents over warm neutral surfaces: planning blue, learning violet. */
:root{--paper:#fcfbf9;--wash:#f5f3f0;--ink:#34313f;--muted:#6c6671;--line:#e9dfd0;}
body,.detail-page{background:var(--paper);color:var(--ink);}
.header{background:#fcfbf9ed;border-bottom-color:#e7e5e2;}
.hero,.detail-page .page-hero{background:radial-gradient(ellipse at 5% 15%,#f5ede333,transparent 48%),radial-gradient(ellipse at 95% 35%,#efdcf34d,transparent 43%),#fcfbf9;}
.intro-section,.soft-section,.overview-home .home-workspace-preview,.coverage-section,.membership-section,.school-planning-page .planning-compare-section{background:#f5f3f0;}
.practice-section{background:#f5eef9;}
.planning-practice-bridge{background:#f5f2f8;}
.school-planning-page #school-costs{background:#f7f5ef;}
.muted-heading{color:#727383;}
.hero-metrics,.hero-metrics>div+div,.detail-stats,.detail-stats>div+div,.page-jumps,.footer-bottom{border-color:#e2e1e5;}
.hero-metrics>div:nth-child(3) dd{color:#6956b4;}
.home-product-grid article,.planning-feature-grid article,.mode-card:not(.dark-mode),.plan-detail-card,.detailed-plans .plan{border-color:#e5e2e8;background:#fff;}
body .featured-timeline{background:#f5f3ef;color:var(--ink);}
.featured-timeline .section-heading h2,.featured-timeline .shot-detail-pair h3{color:var(--ink);}
.featured-timeline .section-heading .muted-heading{color:#887047;}
.featured-timeline .section-heading .eyebrow{color:#85652b;}
.featured-timeline .section-heading>p:not(.eyebrow),.featured-timeline .shot-detail-pair p{color:var(--muted);}
.featured-timeline .planning-shot figcaption,.featured-timeline .shot-source,.featured-timeline .timeline-feature-actions>span{color:#626e7d;}
.featured-timeline .text-button,.featured-timeline .shot-source>a{color:var(--link);}
.featured-timeline .shot-timeline .shot-mat{background:#eae6df;border:1px solid #ded9d1;box-shadow:0 16px 42px #3543550a;}
.shot-mat,.school-planning-page .shot-mat{background:#eeebe6;}
.shot-report .shot-mat,.school-planning-page .shot-report .shot-mat{background:#f0ece4;}
.shot-budget .shot-mat,.school-planning-page .shot-budget .shot-mat{background:#f3eee4;}
.planning-directory,.school-stage,.planning-checklist{background:#f0f4f7;}
.library-overview{background:#f0ecf6;}
.ai-tutor{background:#f2edf8;border-color:#e3dcee;}
.practice-section .eyebrow,.practice-page .section-heading>.eyebrow{color:#715b9e;}
.final-cta,.detail-cta{background:#f5f1f7;color:var(--ink);}
.final-cta h2,.detail-cta h2{color:var(--ink);}
.final-cta .gradient-text,.detail-cta .gradient-text{color:#7056a1;}
.final-cta .eyebrow,.detail-cta .eyebrow{color:#7056a1;}
.final-cta p:not(.eyebrow),.final-cta .container>p:last-child,.detail-cta p:not(.eyebrow){color:var(--muted);}
.final-cta .text-link,.detail-cta .text-link{color:var(--link);}
.featured-timeline .button,.final-cta .button,.detail-cta .button{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 17px #2d62dd12;}
.featured-timeline .button:hover,.final-cta .button:hover,.detail-cta .button:hover{background:#1756cb;border-color:#1756cb;}
.footer{background:#fcfbf9;color:#6c6671;}
/* Keep the five cards quiet; colour appears only in their step markers. */
.overview-home .product-flow li{--flow-bg:#f7f7f5;--flow-border:#e3e3e4;--flow-ink:#343c4a;--step-bg:#e5edf7;--step-ink:#45678f;}
.overview-home .product-flow li:nth-child(2){--step-bg:#e8ecf8;--step-ink:#52658c;}
.overview-home .product-flow li:nth-child(3){--step-bg:#fff0c7;--step-ink:#7d632a;}
.overview-home .product-flow li:nth-child(4),.overview-home .product-flow li:nth-child(5){--step-bg:#eee6f8;--step-ink:#76599c;}
.overview-home .product-flow a{background:linear-gradient(155deg,#fff,var(--flow-bg));box-shadow:0 4px 16px #34396903;}
.overview-home .flow-number{background:var(--step-bg);color:var(--step-ink);}
.overview-home .flow-arrow{color:#8891a0;}
.overview-home .product-flow a:hover{border-color:#c9c7d5;box-shadow:0 8px 22px #4544870a;}
.trial-progress li{background:#fcfbfd;border-color:#e4dfee;box-shadow:0 4px 16px #34396903;color:#443c54;}
.trial-progress li>span{background:#ece5f6;color:#735895;}
.trial-progress li:not(:last-child)::after{color:#9684ae;}
.trial-progress li.is-done{border-color:#cfc1e1;color:#443c54;}
.trial-progress li.is-done>span{background:#79629c;color:#fff;}
@media(max-width:900px){.header #nav-links{background:#fcfbf9fa;}}

/* Warm education brand: a shared journey, with room to breathe. */
.overview-home .hero-kicker{color:#80652e;}
.overview-home .product-flow{padding:26px 28px 22px;border-radius:30px;background:#f7f5f1;border:1px solid #e8e4de;}
.overview-home .product-flow-heading{color:#735e3d;margin-bottom:25px;font-size:19px;}
.overview-home .product-flow ol{gap:22px;}
.overview-home .product-flow li{position:relative;}
.overview-home .product-flow li:not(:last-child)::after{content:'';position:absolute;height:1px;background:#ded7cb;top:26px;left:70px;right:-22px;pointer-events:none;}
.overview-home .product-flow a{padding:4px 8px 12px;gap:15px;border:0;border-radius:18px;background:transparent;box-shadow:none;}
.overview-home .product-flow a:hover{background:#fcfaf6;box-shadow:none;transform:translateY(-2px);}
.overview-home .flow-number{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;font-size:16px;background:#fff1cb;color:#6e5c3e;box-shadow:0 3px 9px #8a682711;border:1px solid #eadcbe;}
.overview-home .product-flow li:nth-child(1) .flow-number,.overview-home .product-flow li:nth-child(2) .flow-number{background:#edf2fc;color:#4d6ba1;border-color:#dce5f4;}
.overview-home .product-flow li:nth-child(4) .flow-number,.overview-home .product-flow li:nth-child(5) .flow-number{background:#f0e8f8;color:#79609c;border-color:#e5d9f0;}
.overview-home .flow-arrow{display:none;}
.overview-home .flow-content strong{color:#443b3a;}
.overview-home .flow-content small{color:#756b62;}
.home-product-grid article,.planning-feature-grid article,.mode-card,.plan-detail-card,.plan{border-radius:26px;}
.home-product-grid article:first-child{background:#fffdfa;}
.home-product-grid article:nth-child(2){background:#faf6ff;}
.home-product-label{color:#806c4d;}
.hero-metrics dt,.detail-stats dt{color:#706976;}
.hero-metrics,.hero-metrics>div+div{border-color:#e9dfcf;}
.featured-timeline .section-heading .eyebrow{display:inline-block;padding:8px 14px;background:#fcfaf6;border-radius:30px;font-size:15px;}
.featured-timeline .shot-timeline .shot-mat{border-radius:28px;}
.practice-section .section-heading .muted-heading,.practice-intro .muted-heading{color:#8a729c;}
.trial-progress li{background:#fffdf9;border-color:#e8dddf;border-radius:23px;}
.trial-progress li>span{border-radius:50%;}
.final-cta .eyebrow,.detail-cta .eyebrow{color:#87682e;}
.final-cta .gradient-text,.detail-cta .gradient-text{color:#776298;}
@media(max-width:900px){
 .overview-home .product-flow{padding:22px 18px;border-radius:25px;}
 .overview-home .product-flow-heading{font-size:17px;line-height:1.5;margin-bottom:17px;}
 .overview-home .product-flow ol{gap:0;}
 .overview-home .product-flow a{padding:12px 2px;align-items:flex-start;gap:15px;}
 .overview-home .flow-number{width:40px;height:40px;flex-shrink:0;font-size:14px;}
 .overview-home .product-flow li:not(:last-child)::after{width:1px;height:auto;left:22px;right:auto;top:52px;bottom:-12px;}
 .overview-home .flow-content{padding-top:2px;}
 .overview-home .flow-content small{font-size:14px;line-height:1.5;}
}
@media(prefers-reduced-motion:reduce){.overview-home .product-flow a:hover{transform:none;}}

/* Blue leads the brand, moving through violet to magenta. */
:root{--paper:#f9faff;--wash:#f0f3fc;--ink:#252c48;--muted:#60667d;--line:#dfe3f1;--brand:#3263d8;--blue:#3263d8;--violet:#7653c6;--magenta:#b34b98;--brand-gradient:linear-gradient(110deg,#2858c8 5%,#7653c6 60%,#b34b98 100%);}
body,.detail-page{background:var(--paper);color:var(--ink);}
.header{background:#f9faffed;border-bottom-color:#e2e6f2;}
.hero,.detail-page .page-hero{background:radial-gradient(ellipse at 8% 15%,#cbdfffaa,transparent 58%),radial-gradient(ellipse at 90% 20%,#f4dfee88,transparent 52%),linear-gradient(110deg,#edf4ff,#f6f3fc 65%,#fcf4f9);}
.gradient-text,.final-cta .gradient-text,.detail-cta .gradient-text{background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;}
.overview-home .hero-kicker,.home-product-label{color:#53689c;}
.muted-heading{color:#737b9b;}
.hero-metrics,.hero-metrics>div+div,.detail-stats,.detail-stats>div+div,.page-jumps,.footer-bottom{border-color:#dfe3f1;}
.hero-metrics dt,.detail-stats dt{color:#626d88;}
.hero-metrics>div:nth-child(2) dd{color:var(--violet);}
.hero-metrics>div:nth-child(3) dd{color:var(--magenta);}
.intro-section,.soft-section,.overview-home .home-workspace-preview,.coverage-section,.membership-section,.school-planning-page .planning-compare-section{background:#f0f3fb;}
.practice-section{background:linear-gradient(115deg,#f2f0fb,#f8edf5);}
.planning-practice-bridge{background:linear-gradient(115deg,#eff3fc,#f5eef9);}
.school-planning-page #school-costs{background:#f3f2fa;}
body .featured-timeline{background:linear-gradient(120deg,#dfebfb,#eeebfa 63%,#f4e9f2);color:var(--ink);}
.featured-timeline .section-heading h2,.featured-timeline .shot-detail-pair h3{color:var(--ink);}
.featured-timeline .section-heading .muted-heading{color:#6b70a0;}
.featured-timeline .section-heading .eyebrow{color:#4c65a0;background:#ffffffa6;}
.featured-timeline .section-heading>p:not(.eyebrow),.featured-timeline .shot-detail-pair p{color:var(--muted);}
.featured-timeline .planning-shot figcaption,.featured-timeline .shot-source,.featured-timeline .timeline-feature-actions>span{color:#626d88;}
.featured-timeline .text-button,.featured-timeline .shot-source>a{color:var(--link);}
.featured-timeline .shot-timeline .shot-mat{background:linear-gradient(125deg,#dce7f8,#e4dff3 70%,#efdfec);border-color:#d7dcef;box-shadow:0 16px 42px #3543550a;}
.shot-mat,.school-planning-page .shot-mat{background:linear-gradient(125deg,#e2ebf8,#ece7f6);}
.shot-report .shot-mat,.school-planning-page .shot-report .shot-mat{background:#e6ecf7;}
.shot-budget .shot-mat,.school-planning-page .shot-budget .shot-mat{background:linear-gradient(125deg,#e9e7f6,#f0e4ef);}
.home-product-grid article:first-child{background:#fcfdff;}
.home-product-grid article:nth-child(2){background:#fcf9ff;}
.ai-tutor{background:linear-gradient(140deg,#f0ecf9,#f9eef6);border-color:#e2d9ed;}
.practice-section .section-heading .muted-heading,.practice-intro .muted-heading{color:#8a6b9f;}
.final-cta,.detail-cta{background:linear-gradient(110deg,#dce8fb,#eee7f8 60%,#f5e3ef);color:var(--ink);}
.final-cta h2,.detail-cta h2{color:var(--ink);}
.final-cta .eyebrow,.detail-cta .eyebrow{color:#76539d;}
.final-cta p:not(.eyebrow),.final-cta .container>p:last-child,.detail-cta p:not(.eyebrow){color:var(--muted);}
.final-cta .text-link,.detail-cta .text-link{color:var(--link);}
.featured-timeline .button,.final-cta .button,.detail-cta .button{background:var(--brand);border-color:var(--brand);color:#fff;}
.footer{background:#f9faff;color:#626d88;}
.overview-home .product-flow{background:linear-gradient(110deg,#e3eeff,#f2edfb 62%,#f9edf5);border-color:#dfe2f1;}
.overview-home .product-flow-heading{color:#56618a;}
.overview-home .product-flow a:hover{background:#ffffff80;}
.overview-home .flow-content strong{color:#303956;}
.overview-home .flow-content small{color:#646b83;}
.overview-home .product-flow li:nth-child(1){--step-bg:#e0ebff;--step-ink:#365fac;--step-border:#ceddf6;}
.overview-home .product-flow li:nth-child(2){--step-bg:#e5e8fc;--step-ink:#5365aa;--step-border:#d6daf3;}
.overview-home .product-flow li:nth-child(3){--step-bg:#ece3f9;--step-ink:#7955a3;--step-border:#e0d5ee;}
.overview-home .product-flow li:nth-child(4){--step-bg:#f1e0f4;--step-ink:#96549b;--step-border:#e9d3eb;}
.overview-home .product-flow li:nth-child(5){--step-bg:#f7e1f0;--step-ink:#a74b8b;--step-border:#edcfe4;}
.overview-home .product-flow li:nth-child(n) .flow-number{background:var(--step-bg);color:var(--step-ink);border-color:var(--step-border);box-shadow:0 3px 9px #5b57900a;}
.overview-home .product-flow li:not(:last-child)::after{background:linear-gradient(90deg,#bdcdeb,#d5b9dd);}
.trial-progress li{background:linear-gradient(115deg,#f5f8ff,#faf3fa);border-color:#dddfee;color:#414866;}
.trial-progress li:nth-child(1)>span{background:#e1ebfc;color:#4467a8;}
.trial-progress li:nth-child(2)>span{background:#ece3f7;color:#7b58a0;}
.trial-progress li:nth-child(3)>span{background:#f5e0ee;color:#a0538c;}
.trial-progress li.is-done>span{background:var(--brand-gradient);color:#fff;}
@media(max-width:900px){.header #nav-links{background:#f9fafffa;}.overview-home .product-flow{background:linear-gradient(165deg,#e3eeff,#f2edfb 62%,#f9edf5);}.overview-home .product-flow li:not(:last-child)::after{background:linear-gradient(#bdcdeb,#d5b9dd);}}

/* Mobile task-first layout, without changing the established brand palette. */
.mobile-only{display:none;}
.mobile-feature-details>summary{display:none;}
.trial-stage-button{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer;}
.trial-stage-button:focus-visible{outline:3px solid var(--violet);outline-offset:3px;}
.trial-stage-button>span{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#e1ebfc;color:#4467a8;font-size:14px;font-weight:700;}
.trial-progress li:nth-child(2) .trial-stage-button>span{background:#ece3f7;color:#7b58a0;}
.trial-progress li:nth-child(3) .trial-stage-button>span{background:#f5e0ee;color:#a0538c;}
.trial-progress li.is-done .trial-stage-button>span{background:var(--brand-gradient);color:#fff;}
@media(max-width:650px){
 .mobile-only{display:block;}
 .overview-home .hero-copy{padding-top:25px;}
 .overview-home .hero-kicker{margin-bottom:18px;font-size:14px;}
 .overview-home .hero h1{font-size:clamp(33px,9.5vw,39px);line-height:1.12;letter-spacing:-1.4px;}
 .overview-home .hero .lead{font-size:17px;line-height:1.5;margin-top:20px;}
 .overview-home .overview-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:24px;}
 .overview-home .overview-actions .button{width:100%;min-width:0;min-height:48px;padding:12px 8px;font-size:14px;line-height:1.4;}
 .overview-home .product-flow{padding:18px 16px;margin-block:24px;border-radius:22px;}
 .overview-home .product-flow-heading{font-size:15px;margin-bottom:10px;}
 .mobile-enhanced .product-flow li{padding-right:36px;}
 .mobile-enhanced .product-flow li a{min-height:52px;padding:8px 0;gap:11px;align-items:center;}
 .mobile-enhanced .product-flow .flow-number{width:32px;height:32px;font-size:12px;}
 .mobile-enhanced .product-flow .flow-content{padding-top:0;}
 .mobile-enhanced .product-flow .flow-content strong{font-size:16px;line-height:1.35;}
 .mobile-enhanced .product-flow .flow-content small{display:none;}
 .mobile-enhanced .product-flow .flow-expanded .flow-content small{display:block;}
 .mobile-enhanced .product-flow li:not(:last-child)::after{left:16px;top:40px;bottom:-8px;}
 .flow-expand{position:absolute;top:4px;right:-8px;width:44px;height:44px;border:0;background:transparent;color:#6b68a3;font-size:23px;cursor:pointer;}
 .mobile-shot-summary{padding:0 3px 16px;text-align:left;}
 .mobile-shot-summary strong{font-size:18px;color:var(--ink);line-height:1.4;}
 .mobile-shot-summary p{font-size:15px;line-height:1.5;margin-top:7px;color:var(--muted);}
 .planning-shot .shot-open picture{height:380px;background:#f7f8fe;}
 .planning-shot .shot-open img,.overview-home .home-timeline .shot-open img,.home-planning-panel .shot-open img{height:380px;max-height:none;width:100%;object-fit:contain;}
 .planning-shot .shot-zoom{bottom:10px;right:10px;font-size:13px;}
 .planning-shot figcaption .text-button,.text-link,.page-jumps a,.counts-link,.coach-suggestions button{min-height:44px;align-items:center;}
 .planning-shot figcaption .text-button,.page-jumps a{display:inline-flex;}
 .planning-shot figcaption{gap:10px;margin-top:10px;}
 .mobile-enhanced .school-planning-page .page-jumps{display:none;}
 .mobile-enhanced .has-mobile-chapters{display:none;}
 .mobile-chapters{position:sticky;top:70px;z-index:12;background:#f7f8ffed;border-block:1px solid #dfe3f1;padding:8px 20px;display:flex;align-items:center;gap:12px;backdrop-filter:blur(12px);}
 .mobile-chapters label{font-size:13px;color:var(--muted);}
 .mobile-chapters select{flex:1;min-width:0;min-height:44px;border:1px solid #d8ddec;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:16px;padding:8px 10px;}
 .school-planning-page main [id]{scroll-margin-top:145px;}
 .mobile-feature-details{margin-top:20px;border-top:1px solid #dfe0ee;}
 .mobile-feature-details>summary{display:list-item;padding:16px 4px;font-size:16px;color:var(--link);cursor:pointer;}
 .mobile-feature-details .shot-detail-pair{margin-top:10px;}
 .trial-route{gap:8px;padding-bottom:8px;}
 .trial-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
 .trial-progress li{display:block;min-height:0;padding:0;border-radius:15px;}
 .trial-progress li::after{display:none;}
 .trial-stage-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:94px;width:100%;padding:10px 5px;border:0;border-radius:14px;background:transparent;text-align:center;font-size:12px;line-height:1.3;cursor:pointer;}
 .trial-stage-button[aria-selected=true]{background:#e9edfc;box-shadow:inset 0 -3px #7964bd;}
 .trial-stage-button>span{width:26px;height:26px;font-size:12px;}
 .trial-stage-button:focus-visible{outline:3px solid var(--violet);outline-offset:2px;}
 .mobile-enhanced .illustrated-practice .lesson-workspace{display:block;}
 .mobile-enhanced .illustrated-practice .coach-chat{padding-top:10px;}
 .illustrated-practice [role=tabpanel]{scroll-margin-top:90px;}
 .ask-after-steps{margin:0 15px 16px;width:calc(100% - 30px);min-height:44px;}
 .illustrated-practice>#practice-next-step{margin:15px;}
 .menu-toggle,#planning-image-close{min-width:44px;min-height:44px;}
}

/* Native horizontal swiping, synced to the three practice controls. */
@media(max-width:650px){
 .planning-shot .shot-mat,.school-planning-page .planning-shot .shot-mat,.featured-timeline .shot-timeline .shot-mat,.overview-home .home-planning-panel .shot-mat{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;}
 .planning-shot .shot-open,.planning-shot .shot-open:hover{border:0;border-radius:0;background:transparent;box-shadow:none;}
 .planning-shot .shot-open picture{height:auto;background:transparent;}
 .planning-shot .shot-open img,.overview-home .home-timeline .shot-open img,.home-planning-panel .shot-open img{width:100%;height:auto;max-height:none;object-fit:contain;}
 .mobile-enhanced .illustrated-practice .lesson-workspace>.ai-tutor{display:none;}
 .mobile-enhanced .practice-slides{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;width:100%;}
 .practice-slides::-webkit-scrollbar{display:none;}
 .practice-slide{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;}
 .practice-slide-steps,.practice-slide-ask{padding:22px 16px;background:linear-gradient(135deg,#f0eefb,#faeff7);}
 .slide-heading{font-size:19px;font-weight:600;line-height:1.4;color:#4b4165;margin:0 0 18px;}
 .practice-slide .practice-card{border:0;border-radius:0;}
 .practice-slide .coach-chat{margin:0;}
 .practice-pagination{display:flex;justify-content:center;align-items:center;padding:6px 0;background:#fff;border-top:1px solid #e5e3f0;}
 .practice-pagination button{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;padding:0;cursor:pointer;}
 .practice-pagination button::before{content:'';width:8px;height:8px;border-radius:99px;background:#ccd0e4;transition:width .18s ease,background .18s ease;}
 .practice-pagination button[aria-current=true]::before{width:24px;background:linear-gradient(90deg,#3263d8,#b34b98);}
 .practice-pagination button:focus-visible{outline:2px solid var(--violet);outline-offset:-4px;border-radius:12px;}
}
@media(prefers-reduced-motion:reduce){.practice-pagination button::before{transition:none;}}

/* School report carousel: charts first, with the original full screenshot viewer. */
.planning-carousel-ready{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;width:100%;}
.planning-carousel-ready::-webkit-scrollbar{display:none;}
.planning-carousel-ready>.home-planning-panel{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;}
.gallery-pagination{display:flex;justify-content:center;gap:2px;margin:5px 0 18px;}
.gallery-pagination button{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;cursor:pointer;}
.gallery-pagination button::before{content:'';width:8px;height:8px;border-radius:99px;background:#ccd0e4;}
.gallery-pagination button[aria-current=true]::before{width:24px;background:var(--brand-gradient);}
.gallery-pagination button:focus-visible{outline:2px solid var(--violet);border-radius:12px;}
.gallery-sources{font-size:12px;color:var(--muted);line-height:1.6;}
.gallery-sources a{color:var(--link);display:inline-flex;align-items:center;min-height:44px;}
@media(max-width:650px){
 .planning-preview-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:8px;padding:3px 2px 8px;}
 .planning-preview-tabs button{flex:0 0 auto;min-height:44px;padding:10px 15px;font-size:13px;}
 .planning-preview-caption{margin:12px 2px;}
 .gallery-sources{display:block;margin-top:5px;}
 .home-planning-gallery{scroll-margin-top:85px;}
}
