:root{--teal:#13afa9;--spring:#61cece;--orange:#ff6427;--line-green:#4ebc4b;--paper:#fff;--ink:#333;--heading:#595757;--muted:#727171;--pink:#fff3f3;--pink-accent:#ff8e8e;--aqua:#effafa;--on-accent:#262626;--teal-text:#007e79;--line-text:#237920;--price:#e5531b;--border:#e5e5e5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{border:0;background:none}h1,h2,h3,p,figure{margin:0}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;margin-bottom:8px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--teal-text);outline-offset:4px}[hidden]{display:none!important}.container{width:min(1120px,calc(100% - 36px));margin-inline:auto}.section{padding-block:56px}.eyebrow{color:var(--teal-text);display:block;margin-bottom:10px}.note{color:var(--muted);margin-top:14px}.button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;border-radius:7px;padding:13px 17px;text-align:center;text-decoration:none;transition:background .18s,transform .18s}.button span{margin-left:auto}.primary{background:var(--orange);color:var(--on-accent)}.primary:hover{background:#ff8450}.line-button{background:var(--line-green);color:var(--on-accent)}.line-button:hover{background:#73d26f}.outline{border:1px solid #b7c9c8;background:#fff;color:var(--teal-text)}.outline:hover{background:var(--aqua)}.text-button{color:var(--teal-text);padding:12px 0;text-decoration:underline;text-underline-offset:5px}.skip-link{position:fixed;top:-100px;left:16px;background:white;padding:15px;z-index:20}.skip-link:focus{top:10px}.preview-strip{text-align:center;background:#f4f4f4;color:#595757;padding:5px 12px}.site-header{border-top:3px solid var(--teal);background:#fff}.header-inner{width:min(1240px,calc(100% - 32px));margin:auto;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand img{width:130px;height:auto}.desktop-nav{display:none}.header-consult{border:1px solid var(--teal);padding:9px 14px;border-radius:6px;white-space:nowrap;color:var(--teal-text)}.header-consult span{margin-left:10px}
.hero{position:relative;background:#e8f8f9 url('assets/spring-hero-lane-center.jpg') 62% center/cover no-repeat;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.6) 55%,rgba(255,255,255,.08))}.hero-inner{position:relative;min-height:325px;padding-top:27px;padding-bottom:42px}.hero-kicker{display:flex;gap:12px;align-items:center}.hero-kicker>span{background:white;border:1px solid #abdede;padding:1px 10px;border-radius:3px}.hero .hero-headline{margin:9px 0 12px;color:var(--ink)}.hero .hero-headline span{background:linear-gradient(transparent 79%,rgba(97,206,206,.5) 79%,rgba(97,206,206,.5) 96%,transparent 96%)}.hero-description{margin-bottom:18px}.hero-months{display:flex;gap:7px}.hero-months button{background:rgba(255,255,255,.94);border:1px solid #bcd5d3;border-radius:5px;min-height:44px;padding:9px 13px;display:flex;gap:12px;align-items:center}.hero-months button:hover{background:var(--aqua)}.hero-months span{color:var(--teal-text)}.hero-stamp{display:none}.hero-caption{position:absolute;bottom:7px;right:0;background:rgba(255,255,255,.85);padding:1px 4px;color:#595757}.search-section{position:relative;margin-top:20px}.search-panel{border:1px solid var(--border);border-top:4px solid var(--spring);padding:20px 16px 5px;border-radius:10px;box-shadow:0 5px 24px #00000008}.search-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:17px}.search-title .eyebrow{margin-bottom:3px}.search-year{color:var(--muted);white-space:nowrap}.quick-fields{display:grid;grid-template-columns:1fr;gap:13px}.license-options{display:flex;gap:8px}.license-options label{position:relative;flex:1}.license-options input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.license-options span{display:flex;min-height:46px;align-items:center;justify-content:center;border:1px solid #d5d5d5;border-radius:5px;background:#fff}.license-options input:checked+span{background:var(--aqua);border:2px solid var(--teal);color:var(--teal-text)}.license-options input:checked+span:before{content:'✓';margin-right:9px}.license-options input:focus-visible+span{outline:3px solid var(--teal-text);outline-offset:3px}.select-field{display:flex;flex-direction:column;gap:8px;min-width:0}select{background:#fff;border:1px solid #ccc;border-radius:5px;min-height:46px;padding:8px 30px 8px 12px;width:100%;max-width:100%}.advanced{margin-top:14px;border-top:1px solid var(--border)}.advanced summary{padding:14px 0;cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:5px}.advanced summary:after{content:'＋';margin-left:auto;color:var(--teal-text)}.advanced[open] summary:after{content:'−'}.advanced summary span{color:var(--muted);margin-left:5px}.advanced-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:10px}.advanced-fields .text-button{grid-column:1/-1;justify-self:start}.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:23px}.reasons a{display:flex;align-items:center;flex-direction:column;text-align:center}.reason-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--aqua);color:var(--teal-text);margin-bottom:6px}.reasons small{display:none}.section-heading{margin-bottom:26px}.section-heading>p{color:var(--muted);margin-top:12px}.data-note{background:#f7f8f8;border-left:3px solid #b8cecd;padding:12px 14px;margin-bottom:23px;color:#595757}.data-note>span{display:block;margin-bottom:3px}.result-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:16px}#result-status{flex:1;min-width:0}#result-status strong{display:inline-block;margin-right:4px;color:var(--teal-text)}#result-status small{display:block;color:var(--muted)}.sort-field{display:flex;flex-direction:column;gap:5px;max-width:155px;flex-shrink:0;color:var(--muted)}.sort-field select{padding-left:8px;min-height:40px;color:var(--ink)}.plan-grid{display:grid;grid-template-columns:1fr;gap:20px}.plan-card{border:1px solid #d8e5e4;border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.school-head{padding:19px 20px 17px;border-top:3px solid var(--spring);background:linear-gradient(115deg,#effafa,#fff 85%)}.school-location{display:flex;align-items:center;justify-content:space-between;color:var(--teal-text);margin-bottom:8px}.school-location span:last-child{color:var(--muted)}.school-head h3{color:var(--ink)}.school-head p{color:var(--muted);margin-top:5px}.plan-body{padding:18px 20px 20px;display:flex;flex:1;flex-direction:column}.plan-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}.plan-tags span{border-radius:3px;background:#f4f4f4;padding:3px 9px;color:#595757}.plan-tags span:first-child{background:var(--aqua);color:var(--teal-text)}.plan-name{min-height:24px;margin-bottom:16px;color:var(--muted)}.date-row{display:grid;grid-template-columns:1fr 22px 1fr;border-block:1px solid var(--border);padding-block:12px;margin-top:auto;align-items:center}.date-row>div{display:flex;flex-direction:column}.date-row small{color:var(--muted)}.date-row>span{color:var(--teal-text)}.date-row strong{white-space:nowrap}.date-row em{font-style:normal;margin-left:4px;color:var(--muted)}.price-row{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:16px 0 11px}.price-row>small{color:var(--muted)}.price-amount{color:var(--price);white-space:nowrap}.price-amount small{margin-left:4px;color:var(--ink)}.plan-fees{color:var(--muted);margin-bottom:16px}.plan-body .button{width:100%;min-height:50px}.plan-detail{margin-top:7px;padding:9px;border:0;background:none;color:var(--teal-text);min-height:44px;text-decoration:underline;text-underline-offset:4px}.more-button{width:100%;max-width:420px;margin:26px auto 0}.plan-footnote{color:var(--muted);margin-top:20px}.empty-state{text-align:center;padding:35px 15px;background:var(--aqua);border-radius:10px}.empty-mark{color:var(--teal-text);font-size:40px}.empty-state p{margin:12px 0 18px}.empty-state .button{margin-inline:auto;max-width:280px}.help-inline{background:var(--aqua);padding:22px;border-radius:10px;margin-top:30px}.help-inline p{margin:5px 0 15px}.life-section{background:var(--aqua)}.life-grid{display:grid;gap:12px}.life-grid img{width:100%;object-fit:cover;border-radius:9px}.life-main img{aspect-ratio:1.5}.life-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}.life-side img{aspect-ratio:1.4}.life-grid figcaption{padding-top:10px}.life-grid figcaption small{display:block;color:var(--muted);margin-top:3px}.lifestyle{margin-top:30px}.lifestyle-links{display:grid;gap:10px;margin-top:16px}.lifestyle-links button{display:flex;align-items:center;gap:15px;text-align:left;background:#fff;border:1px solid #d4e9e8;border-radius:7px;padding:17px}.lifestyle-links button>span{color:var(--teal-text)}.lifestyle-links button b{margin-left:auto;color:var(--teal-text)}.lifestyle-links small{display:block;color:var(--muted);margin-top:3px}.benefit-grid{display:grid;gap:18px}.benefit-card{border:1px solid var(--border);border-radius:10px;padding:25px}.benefit-logo{width:140px;height:45px;object-fit:contain;object-position:left;margin-bottom:18px}.benefit-symbol{width:45px;height:45px;border:2px solid var(--spring);border-radius:50%;display:grid;place-items:center;color:var(--teal-text);margin-bottom:18px;font-size:28px}.benefit-card h3{margin-bottom:10px}.benefit-card>a{display:inline-block;margin:15px 0 8px;color:var(--teal-text);text-decoration:underline;text-underline-offset:4px}.benefit-card>small{display:block;color:var(--muted)}.benefit-card details{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}summary{cursor:pointer}summary::marker{color:var(--teal-text)}.benefit-card details p{margin-top:10px}.benefit-card details a{display:block;color:var(--teal-text);margin-top:12px}.guide-section{background:#f7f9f9}.guide-grid{display:grid;gap:25px;margin-top:25px}.guide-grid article{border-top:1px solid #ccdedd;padding-top:18px}.guide-grid article>span{color:var(--teal-text);display:block;margin-bottom:8px}.guide-grid h3{margin-bottom:7px}.guide-grid p{color:#595757}.support-panel{display:grid;gap:25px}.support-photo img{width:100%;aspect-ratio:1.7;object-fit:cover;border-radius:9px}.support-photo small{display:block;margin-top:6px;color:var(--muted)}.support-copy h2{margin-bottom:12px}.support-copy .button{margin-top:20px;width:100%;max-width:370px}.flow{margin-top:45px;padding-top:28px;border-top:1px solid var(--border)}.flow ol{padding:0;list-style:none;display:grid;gap:20px;margin:23px 0 0}.flow li{display:flex;gap:13px}.flow li>span{width:32px;height:32px;border-radius:50%;background:var(--aqua);display:grid;place-items:center;color:var(--teal-text);flex-shrink:0}.flow li p{color:var(--muted);margin-top:4px}.faq-section{background:var(--pink)}.faq-list{margin-top:25px;border-top:1px solid #f0abab}.faq-list details{border-bottom:1px solid #f0abab}.faq-list summary{display:flex;align-items:baseline;gap:13px;list-style:none;padding:20px 0}.faq-list summary::-webkit-details-marker,.advanced summary::-webkit-details-marker{display:none}.faq-list summary>span{color:var(--teal-text)}.faq-list summary:after{content:'＋';margin-left:auto;color:#595757;flex-shrink:0}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 28px 22px;color:#595757}.closing{text-align:center}.closing p:not(.eyebrow){margin-top:13px}.closing .button{margin:24px auto 0;max-width:360px}.closing .button span{margin-left:8px}footer{border-top:1px solid var(--border);padding:30px 0 110px;background:#fafafa}footer img{width:135px;margin-bottom:15px}footer p{color:#595757;margin-bottom:14px}footer small{color:var(--muted)}.desktop-only{display:none}dialog{border:0;border-radius:14px;padding:22px;width:min(540px,calc(100% - 28px));max-height:85dvh;color:var(--ink);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#142d2c88;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-close{min-width:44px;min-height:44px;margin:-10px -10px 0 0;font-size:28px}.dialog-heading .eyebrow{margin:0}dialog h2{margin:10px 0 18px}dialog dl{display:grid;grid-template-columns:90px 1fr;gap:11px 15px;padding-block:18px;border-block:1px solid var(--border)}dialog dt{color:var(--muted)}dialog dd{margin:0;overflow-wrap:anywhere}dialog p{margin:10px 0}.dialog-note{padding:12px;background:var(--aqua);border-radius:5px}.dialog-done{width:100%;margin-top:20px}.dialog-apply{width:100%;margin-top:16px}
@media(min-width:541px){.container{width:min(1120px,calc(100% - 56px))}.hero-inner{min-height:365px;padding-top:40px}.quick-fields{grid-template-columns:1fr 1fr;align-items:end}.search-button{grid-column:1/-1}.search-panel{padding:25px 25px 7px}.reasons a{flex-direction:row;gap:10px;justify-content:center;text-align:left}.reason-icon{margin:0}.reasons small{display:block;color:var(--muted)}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-body,.school-head{padding-inline:17px}.result-toolbar{align-items:center}.help-inline{display:flex;gap:20px;align-items:center;justify-content:space-between}.help-inline p{margin-bottom:0}.help-inline .button{flex-shrink:0}.life-grid{grid-template-columns:1.4fr 1fr;gap:18px}.life-side{grid-template-columns:1fr;gap:18px}.life-main img{height:calc(100% - 68px);min-height:280px}.life-side img{aspect-ratio:2.2}.benefit-grid{grid-template-columns:1fr 1fr}.support-panel{grid-template-columns:.85fr 1.15fr;align-items:center;gap:35px}.support-photo img{aspect-ratio:1.1}.advanced-fields{grid-template-columns:1fr 1fr 160px;align-items:end}.advanced-fields .text-button{grid-column:auto;justify-self:center}.mobile-only{display:none}}
@media(min-width:801px){.section{padding-block:78px}.header-inner{min-height:84px}.brand img{width:158px}.desktop-nav{display:flex;gap:28px;align-items:center}.desktop-nav a:hover{color:var(--teal-text)}.header-consult{padding:12px 20px}.hero{background-position:center 55%}.hero:before{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.65) 36%,transparent 70%)}.hero-inner{min-height:430px;padding-top:44px;padding-bottom:57px}.hero .hero-headline{margin-top:13px;margin-bottom:15px}.hero-description{margin-bottom:21px}.hero-months button{padding:10px 18px;gap:23px}.hero-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;right:8px;top:40px;background:#ffffffed;border:1px solid #fff;border-radius:50%;width:135px;height:135px;transform:rotate(7deg);color:#595757}.hero-stamp span{color:var(--teal-text);margin-top:6px}.search-section{margin-top:-27px}.search-panel{background:white;padding:26px 32px 7px;box-shadow:0 9px 35px #0000000a}.search-title{margin-bottom:20px}.quick-fields{grid-template-columns:1.15fr 1fr 1.25fr;gap:24px}.search-button{grid-column:auto;min-height:48px}.reasons{padding-top:30px;gap:24px}.reasons a{justify-content:center}.reason-icon{width:42px;height:42px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading>p{margin:0}.desktop-only{display:inline}.data-note{display:flex;gap:20px;align-items:baseline}.data-note>span{white-space:nowrap}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.school-head,.plan-body{padding-inline:22px}.school-head{min-height:143px}.plan-name{min-height:46px}.help-inline{padding:25px 30px}.life-grid{grid-template-columns:1.35fr 1fr;gap:24px}.life-side{grid-template-columns:1fr 1fr;gap:18px;align-items:end}.life-side img{aspect-ratio:.75}.life-main img{min-height:0;height:auto;aspect-ratio:1.55}.life-side{padding-top:40px}.lifestyle{margin-top:40px}.lifestyle-links{grid-template-columns:repeat(3,1fr);gap:16px}.benefit-card{padding:32px}.guide-grid{grid-template-columns:repeat(3,1fr);gap:38px;margin-top:35px}.support-panel{grid-template-columns:1fr 1.2fr;gap:75px;max-width:970px;margin-inline:auto}.support-photo img{aspect-ratio:1.5}.flow{margin-top:60px}.flow ol{grid-template-columns:repeat(3,1fr);gap:30px}.faq-section .container{max-width:900px}.closing{padding-block:70px}footer{padding:32px 0 35px}dialog{padding:30px}}
@media(max-width:360px){.container{width:calc(100% - 28px)}.hero-months button{flex:1;padding:9px 8px;gap:4px;white-space:nowrap;justify-content:space-between}.hero-inner{min-height:310px}.hero-kicker{gap:8px}.search-title{align-items:start}.search-year{display:none}.search-panel{padding-inline:13px}.school-head,.plan-body{padding-inline:16px}.sort-field{max-width:142px}.price-row{gap:3px}.advanced summary span{margin-left:0}}
.visual-reasons{gap:10px;padding-top:24px}
.visual-reasons a{flex-direction:column;gap:0;padding:8px 4px 15px;background:#f6faf9;border-radius:10px;overflow:hidden;text-align:center}
.visual-reasons a:nth-child(2){background:#fff6f0}
.visual-reasons a:nth-child(3){background:#f3f7fc}
.reason-art{position:relative;display:grid;place-items:center;width:100%;height:90px;overflow:hidden;margin-bottom:4px}
.reason-art img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:240px;max-width:none;height:112px;object-fit:contain}
.visual-reasons small{margin-top:5px}
.school-photo{position:relative;background:#edf4f3}
.school-photo img{width:100%;aspect-ratio:2;object-fit:cover}
.school-head{border-top:0;background:#fff;min-height:0;padding-bottom:12px}
.benefit-card{background:#f8fbfb;border-color:#e2ece9}
.benefit-art{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;min-height:185px;margin-bottom:25px;text-align:center}
.benefit-art img{width:100%;max-width:145px;margin:0 auto 6px}
.benefit-art figcaption{color:#526963}
#guarantee{background:#fcf8f0;border-color:#eee6d8}
.guarantee-art{height:185px;margin-bottom:25px;display:grid;place-items:center}
.guarantee-art svg{height:185px;width:auto;max-width:100%}
.benefit-label{display:flex;align-items:center;height:45px;margin-bottom:18px;color:#526963}
.guide-section{background:#edf5f3}
.guide-grid{gap:16px}
.guide-grid article{background:#fff;border:0;border-radius:12px;padding:22px}
.guide-art{float:right;width:84px;height:70px;margin-left:12px}
.guide-grid article>span{padding-top:4px}
.guide-grid article p{clear:both;padding-top:12px}
.closing-scene{display:grid;background:#eff8f5;border-radius:16px;overflow:hidden;text-align:left}
.closing-scene figure{position:relative}
.closing-scene img{width:100%;height:100%;aspect-ratio:1.8;object-fit:cover}
.closing-scene figcaption{position:absolute;bottom:10px;right:10px;background:#fffffff0;color:#595757;padding:3px 7px;border-radius:3px}
.closing-copy{padding:28px 22px}
.closing-copy .button{max-width:280px;margin-left:0}
@media(min-width:541px){.visual-reasons small{display:block}.reason-art{height:115px}.reason-art img{width:290px;height:135px}.school-photo img{aspect-ratio:1.85}.closing-scene{grid-template-columns:.9fr 1.1fr}.closing-copy{padding:32px 25px}}
@media(min-width:801px){.reason-art{height:135px}.reason-art img{width:340px;height:158px}.visual-reasons a{padding-bottom:20px}.guide-art{float:none;width:120px;height:100px;margin:0 auto 18px;display:block}.guide-grid article{padding:26px}.guide-grid article>span{padding:0}.closing-copy{padding:48px 40px}}
.plan-body .plan-apply{width:100%;max-width:224px;min-height:44px;padding:10px 15px;margin-inline:auto;border-radius:5px;gap:14px}
.plan-apply span{margin-left:0}
.school-placeholder{position:relative;height:128px;background:#e8f3f0;color:#688b80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.school-placeholder svg{width:88px;height:56px}
.school-placeholder small{position:absolute;top:10px;left:12px;background:#ffffffa8;padding:2px 7px;border-radius:3px}
.plan-card:nth-child(3n+2) .school-placeholder{background:#edf0f8;color:#7b85a1}
.plan-card:nth-child(3n) .school-placeholder{background:#f8eee4;color:#a48a6c}
.plan-card .school-head{padding:12px 16px 8px}
.plan-card .school-location{margin-bottom:4px}
.plan-card .school-head p{margin-top:4px}
.plan-card .plan-body{padding:0 16px 14px}
.plan-card .plan-tags{margin-bottom:10px;gap:5px}
.plan-card .date-row{padding-block:9px;grid-template-columns:1fr 18px 1fr;margin-top:0}
.plan-card .date-row>div{flex-direction:row;align-items:baseline;gap:6px}
.plan-card .date-row>div:last-child{justify-content:flex-end}
.plan-card .price-row{padding:12px 0 7px}
.plan-card .plan-fees{margin-bottom:10px}
.plan-card .plan-detail{margin-top:0;padding:8px 0}
.fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:5;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #e8eceb;backdrop-filter:blur(12px)}
.fixed-cta-inner{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:8px;max-width:480px;margin:0 auto}
.fixed-cta-button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:8px 10px;border-radius:7px;white-space:nowrap;transition:background .18s}
.fixed-cta-reserve{background:var(--orange);color:var(--on-accent)}
.fixed-cta-reserve:hover{background:#ff8450}
.fixed-cta-line{background:#eff8ed;border:1px solid #d7e9d3;color:var(--line-text)}
.fixed-cta-line:hover{background:#dfefd9}
.fixed-cta-phone{background:#fff;border:1px solid #dce2e0;color:var(--ink)}
.fixed-cta-phone:hover{background:var(--aqua)}
footer{padding-bottom:calc(140px + env(safe-area-inset-bottom))}
.phone-desk{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}
.phone-desk .phone-number{display:inline-flex;align-items:center;min-height:44px;color:var(--teal-text);margin:6px 0;text-decoration:underline;text-underline-offset:5px}
.support-conversation{padding:26px 20px;background:linear-gradient(135deg,#edf9f8,#f6fbf7);border-radius:16px;display:flex;flex-direction:column;gap:13px;min-width:0}
.conversation-label{display:flex;align-items:center;gap:8px;color:var(--teal-text);margin-bottom:4px}
.conversation-label span{width:26px;height:26px;display:grid;place-items:center;border:1px solid #c8e6e1;border-radius:50%;flex-shrink:0}
.conversation-bubble{align-self:flex-start;max-width:100%;background:white;padding:11px 15px;border:1px solid #deeeea;border-radius:13px 13px 13px 3px;color:#405651}
.conversation-bubble:nth-of-type(3){align-self:flex-end;background:#dcefe6;border-color:#dcefe6;border-radius:13px 13px 3px 13px}
.conversation-note{color:#596d66;margin-top:4px}
@media(min-width:541px){.support-panel{grid-template-columns:1fr 1.15fr;gap:28px}.support-conversation{padding:24px 18px}}
@media(min-width:801px){.support-panel{gap:56px}.support-conversation{padding:34px 28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Curated school selection: month and license stay beside the school cards. */
.hero-school-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;padding:10px 16px;background:#fffffff2;border:1px solid #bcd5d3;border-radius:5px;color:var(--teal-text)}
.hero-school-link:hover{background:var(--aqua)}
.school-selector{background:#f5f9f8;border-radius:10px;padding:18px 16px;margin-bottom:18px;scroll-margin-top:12px}
.selector-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:15px}
.selector-heading>span{color:var(--muted);white-space:nowrap}
.school-selector-fields{display:grid;gap:13px}
.choice-options{display:flex;gap:6px}
.choice-options label{position:relative;flex:1;min-width:0}
.choice-options input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.choice-options span{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #cedbd8;border-radius:5px;background:white}
.choice-options input:checked+span{background:#dff3ef;border:2px solid var(--teal-text);color:var(--teal-text)}
.choice-options input:focus-visible+span{outline:3px solid var(--teal-text);outline-offset:3px}
.plan-card .school-recommendation{border-left:2px solid #80c9ba;padding-left:10px;margin:10px 0 4px}
.school-recommendation>small{display:block;color:var(--teal-text);margin-bottom:2px}
.school-recommendation>strong{display:block;color:#405651}
@media(min-width:541px){.school-selector-fields{grid-template-columns:1.1fr 1fr;gap:24px}.school-selector{padding:20px 24px}.intro-reasons .visual-reasons{padding-top:28px}}
@media(min-width:801px){.school-selector{max-width:720px}.school-selector-fields{gap:32px}}

/* LINE-inspired consultation example, not an actual chat UI. */
.support-panel .support-conversation{padding:0;gap:0;background:#c7d9e8;border:1px solid #d5e0e8;border-radius:14px;overflow:hidden}
.chat-header{display:flex;align-items:center;gap:9px;padding:15px 16px;background:#f9fbfc;color:#273d4b}
.chat-icon{display:grid;place-items:center;color:#18833b;flex-shrink:0}
.chat-example{margin-left:auto;color:#586e7d;white-space:nowrap}
.chat-messages{padding:22px 18px;display:flex;flex-direction:column;gap:12px}
.chat-bubble{position:relative;width:fit-content;max-width:90%;padding:10px 13px;border-radius:14px;color:#26382b}
.chat-outgoing{align-self:flex-end;background:#b1ee82;border-top-right-radius:4px}
.chat-outgoing:after{content:'';position:absolute;right:-6px;top:0;border-top:9px solid #b1ee82;border-right:9px solid transparent}
.chat-reply{display:flex;align-items:flex-start;gap:9px;margin-top:6px}
.chat-avatar{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#fff;color:var(--teal-text);margin-top:4px}
.chat-reply>div{min-width:0}
.chat-sender{margin-bottom:5px;color:#354e60}
.chat-incoming{max-width:100%;background:#fff;border-top-left-radius:4px}
.chat-incoming:before{content:'';position:absolute;left:-6px;top:0;border-top:9px solid #fff;border-left:9px solid transparent}
.chat-note{padding:13px 16px;background:#f4f8fb;color:#405865;border-top:1px solid #b9cedf}
.chat-note span{color:#59707d}

.school-entry-month{display:flex;align-items:center;gap:7px;border-block:1px solid var(--border);padding:10px 0;color:var(--teal-text)}
.school-entry-month>small{margin-left:auto;color:var(--muted)}
.entry-options{display:grid;gap:14px;margin-top:20px}
.entry-option{padding:16px;border:1px solid #d8e5e4;border-radius:8px;background:#fff}
.entry-dates{display:grid;grid-template-columns:1fr 20px 1fr;gap:8px;align-items:center}
.entry-dates p{margin:0;display:flex;flex-direction:column;gap:2px}
.entry-dates p:last-child{text-align:right}
.entry-dates small,.entry-price>small{color:var(--muted)}
.entry-dates>span{color:var(--teal-text)}
dialog .entry-price{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:12px 0}
.entry-price>strong{color:var(--price);white-space:nowrap}
.entry-price strong small{margin-left:4px;color:var(--ink)}
.school-detail-link{display:inline-flex;align-items:baseline;gap:5px;color:inherit;text-decoration:underline;text-decoration-color:#93b9b0;text-decoration-thickness:1px;text-underline-offset:5px}
.school-detail-link span{color:var(--teal-text);font-size:.8em}
.school-detail-link:hover{color:var(--teal-text);text-decoration-color:currentColor}
.school-detail-link:focus-visible,.school-calendar-link:focus-visible{outline:3px solid var(--teal-text);outline-offset:4px}
.school-schedule-pending{margin-top:auto;padding:17px 0;border-top:1px solid var(--border);color:var(--ink)}
.school-schedule-pending small{display:block;margin-top:6px;color:var(--muted)}
.school-calendar-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--teal-text);text-decoration:underline;text-underline-offset:4px}
.entry-apply{min-height:44px;padding:10px 12px;width:100%}
@media(max-width:360px){.entry-option{padding:12px}.entry-price{flex-wrap:wrap}}

/* Spring editorial direction: a distinct visual role for each section. */
.hero{background:#fff0f2;overflow:hidden}
.hero:before{background:none}
.hero:after{content:'';position:absolute;inset:auto 0 0;height:215px;background:url('assets/spring-hero-lane-center.jpg') 68% 58%/cover no-repeat;z-index:-1;border-radius:65px 0 0 0}
.hero-inner{padding-top:26px;padding-bottom:240px;min-height:0}
.hero-copy{position:relative;z-index:1}
.hero-prelude{color:#a34660;margin-bottom:17px;display:flex;align-items:center;gap:8px}
.hero-prelude:before{content:'';width:20px;height:2px;background:#cf7189}
.hero-kicker>span{background:#fff;border:0;border-radius:0;padding:3px 9px;transform:rotate(-4deg)}
.hero .hero-headline{margin:16px 0 20px;color:#293e3e}
.hero .hero-headline span{background:linear-gradient(transparent 76%,#ffb9cb 76%,#ffb9cb 94%,transparent 94%)}
.hero-description{margin-bottom:22px;color:#485454}
.hero-school-link{background:#fff;border:1px solid #294d4b;color:#294d4b;border-radius:5px;box-shadow:3px 3px 0 #9bccbf}
.hero-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:auto;right:0;bottom:63px;width:101px;height:101px;background:#fff4b6;border:2px solid #fff;border-radius:50%;transform:rotate(8deg);color:#41524e;z-index:1;box-shadow:0 3px 0 #7caaa533}
.hero-stamp span{color:#4e635b;margin-top:4px}
.hero-caption{bottom:9px;z-index:1;max-width:100%;text-align:right}
.spring-ribbon{display:flex;justify-content:center;align-items:center;gap:13px;background:#197a72;color:#fff;padding:15px 12px;flex-wrap:wrap}
.spring-ribbon span:after{content:' /';margin-left:10px;color:#b6e3d6}
.intro-reasons{padding-block:32px 38px}
.intro-heading{text-align:center;color:#47625d}
.intro-heading strong{color:var(--teal-text)}
.intro-reasons .visual-reasons{padding-top:18px;gap:8px}
.visual-reasons a,.visual-reasons a:nth-child(2),.visual-reasons a:nth-child(3){background:transparent;border-radius:0;padding:0 2px 8px}
.visual-reasons a+a{border-left:1px solid #e4ece9}
.reason-art{height:84px}
.schools-section{background:#f4f7f6;border-top:1px solid #e0ebe7}
.schools-section .eyebrow{display:inline-block;background:#d4efe6;color:#275b50;padding:5px 10px;transform:rotate(-2deg)}
.schools-section .section-heading h2{color:#304b45}
.data-note{background:transparent;border-left:2px solid #b8cecd;padding-block:3px;margin-bottom:22px}
.school-selector{background:#fff;border:1px solid #dce8e2;border-radius:12px;max-width:none}
.plan-card{border:1px solid #d7e3de;border-radius:12px;box-shadow:0 4px 0 #e3ebe7}
.school-placeholder{background:#dceee6;color:#5c7f73;isolation:isolate}
.school-placeholder:after{content:'';position:absolute;inset:12px;border:1px dashed currentColor;opacity:.22;border-radius:5px;z-index:-1}
.plan-card:nth-child(3n+2) .school-placeholder{background:#ece9f6;color:#7b7695}
.plan-card:nth-child(3n) .school-placeholder{background:#f7e9d8;color:#94784f}
.plan-card .school-recommendation{border:0;background:#eff8f3;padding:8px 10px;border-radius:4px}
.plan-card:nth-child(3n+2) .school-recommendation{background:#f5f1fa}
.plan-card:nth-child(3n) .school-recommendation{background:#fff5e8}
.plan-body .plan-apply{margin-top:4px;margin-bottom:4px}
.help-inline{background:#e3f2eb;border-left:3px solid #5ba386;border-radius:0}
.life-section{background:#c9ece5;position:relative;overflow:hidden}
.life-section .section{padding-top:38px}
.life-display{color:#2d7668;opacity:.3;white-space:nowrap;margin-bottom:14px}
.life-section .section-heading h2{color:#274d43}
.life-section .section-heading>p{color:#405e54}
.highlight-pink{background:linear-gradient(transparent 65%,#fff2f4 65%,#fff2f4 96%,transparent 96%)}
.life-grid{gap:25px}
.life-main{background:#fff;padding:8px 8px 14px;box-shadow:5px 6px 0 #a5d2c5}
.life-grid .life-main img{border-radius:2px}
.life-main figcaption{padding:12px 7px 0}
.life-side{gap:14px;align-items:start;padding:0 4px}
.life-side figure{background:#fff;padding:6px 6px 12px;transform:rotate(-2deg)}
.life-side figure:last-child{transform:rotate(3deg);margin-top:22px}
.life-side img{border-radius:1px}
.life-side figcaption{padding-inline:4px}
.life-section .note{color:#49665c;margin-top:25px}
.lifestyle{border-top:1px solid #98c9ba;padding-top:25px}
.lifestyle-links button{background:transparent;border:0;border-bottom:1px solid #95c8b8;border-radius:0;padding:15px 0}
.benefits-section{background:#fff9ec}
.benefits-section h2{color:#564b3a}
.highlight-yellow{background:linear-gradient(transparent 65%,#f5db7e 65%,#f5db7e 96%,transparent 96%)}
.benefit-card,#guarantee{background:#fff;border:0;border-radius:16px;box-shadow:0 5px 0 #ede4d0}
.guide-section{background:#fff}
.guide-grid article{border-radius:0;border-top:1px solid #becfc8;padding-inline:0}
.guide-grid article>span{color:#6c9284}
#support{border-top:1px solid #e4ece8}
.faq-section{background:#fae9ee}
.closing-scene{border-radius:0;background:#dbf0e6}
.closing-copy h2{color:#305348}
@media(min-width:541px){.hero-inner{padding-bottom:260px}.hero:after{height:235px;border-radius:100px 0 0 0}.hero-stamp{right:18px;width:120px;height:120px}.intro-reasons{padding-block:40px 48px}.reason-art{height:110px}.life-side figure:last-child{margin-top:30px}.life-display{margin-bottom:22px}.spring-ribbon{gap:35px}}
@media(min-width:801px){.hero-inner{padding-top:52px;padding-bottom:60px;min-height:505px}.hero-copy{max-width:540px}.hero:after{top:22px;bottom:22px;left:49%;right:0;height:auto;border-radius:160px 0 0 18px;background-position:72% center}.hero:before{background:none}.hero-stamp{right:32px;bottom:66px;width:128px;height:128px}.hero-caption{right:0;bottom:26px}.hero .hero-headline{margin-block:17px 23px}.reason-art{height:112px}.intro-reasons{padding-block:34px 45px}.intro-reasons .visual-reasons{padding-top:12px}.section{padding-block:86px}.life-section .section{padding-top:40px}.life-grid{grid-template-columns:1.25fr 1fr;gap:45px;align-items:center}.life-side{grid-template-columns:1fr 1fr;gap:22px;padding:0}.life-side img{aspect-ratio:.95}.life-side figure:last-child{margin-top:90px}.life-main img{height:auto;aspect-ratio:1.5}.benefit-art,.guarantee-art{margin-bottom:30px}.guide-grid article{padding-top:24px}.guide-art{float:right;width:85px;height:80px;margin:0 0 10px 12px}.closing-copy{padding:54px 40px}}

/* Compact floating reservation dock. */
.fixed-cta{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));padding:0;background:transparent;border:0;backdrop-filter:none;pointer-events:none}
.fixed-cta-inner{max-width:460px;padding:6px;gap:4px;grid-template-columns:1.65fr 1fr .9fr;background:rgba(255,255,255,.98);border:1px solid #d8e5df;border-radius:17px;box-shadow:0 4px 22px #223f3826;pointer-events:auto}
.fixed-cta-button{min-height:44px;padding:9px 8px;border:0;border-radius:11px;gap:7px}
.fixed-cta-button svg{flex-shrink:0}
.fixed-cta-reserve{background:#176d61;color:#fff;box-shadow:0 2px 3px #16483b17}
.fixed-cta-reserve:hover{background:#12584e}
.fixed-cta-line{background:transparent;color:#267b39}
.fixed-cta-line:hover{background:#edf7ef}
.fixed-cta-phone{background:transparent;color:#465951;position:relative}
.fixed-cta-phone:before{content:'';position:absolute;left:-2px;top:12px;bottom:12px;width:1px;background:#e0e8e3}
.fixed-cta-phone:hover{background:#f0f5f2}
@media(min-width:801px){.fixed-cta{display:none}footer{padding-bottom:35px}}

/* Unified first view: headline and season label share the spring landscape. */
.hero{background:#fff8f8;overflow:hidden;padding-bottom:24px}
.hero:before,.hero:after{display:none}
.hero-visual{position:relative;min-height:440px;background:linear-gradient(90deg,#ffffffc4,#ffffff10 92%),url('assets/spring-hero-lane-center.jpg') 82% 58%/cover no-repeat}
.hero-inner{min-height:440px;padding-top:30px;padding-bottom:150px}
.hero-copy{max-width:none}
.hero-kicker{margin:0;gap:13px;color:#294641}
.hero-kicker>span{padding:0;transform:none;border:0;background:none}
.hero-kicker>span:first-child{padding-right:13px;border-right:1px solid #789d9299}
.hero-kicker .hero-season{display:block}
.hero-season small{display:block;margin-top:3px;color:#49615c}
.hero .hero-headline{margin:26px 0 19px;color:#23433e;letter-spacing:-.045em}
.hero .hero-headline .hero-title-intro{display:block;background:none}
.hero .hero-headline .hero-title-photo{display:inline;background:linear-gradient(transparent 85%,#f8b9cbbf 85%,#f8b9cbbf 97%,transparent 97%)}
.hero-prelude{display:block;margin:0;color:#304e47;text-shadow:0 1px 6px #fff}
.hero-prelude:before{display:none}
.hero-caption{position:absolute;bottom:43px;right:14px;left:14px;max-width:none;text-align:right;margin:0;padding:0;background:none;color:#334f47;text-shadow:0 0 4px #fff,0 0 4px #fff}
.hero-action-panel{position:relative;z-index:1;width:calc(100% - 36px);max-width:430px;margin:-26px auto 0;padding:20px 18px;background:#fff;border:1px solid #efe6e6;border-radius:16px;box-shadow:0 6px 18px #56343b09;text-align:center}
.hero-description{display:block;margin:0 0 12px;color:#4d615b}
.hero-school-link{display:flex;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px 16px;background:#226d60;color:#fff;border:1px solid #226d60;border-radius:8px;box-shadow:none}
.hero-school-link span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #ffffff70;border-radius:50%}
.hero-school-link:hover{background:#18584d;color:#fff}
@media(max-width:360px){.hero-inner{padding-top:26px}.hero-visual,.hero-inner{min-height:420px}.hero-action-panel{width:calc(100% - 28px);padding:18px 14px}.hero-caption{left:12px;right:12px}.hero-kicker{gap:10px}.hero-kicker>span:first-child{padding-right:10px}}
@media(min-width:541px){.hero-visual,.hero-inner{min-height:480px}.hero-inner{padding-top:40px}.hero-action-panel{margin-inline:auto}.hero-visual{background-position:65% 58%}}
@media(min-width:801px){.hero{padding-bottom:30px}.hero-visual,.hero-inner{min-height:520px}.hero-visual{background-image:linear-gradient(90deg,#ffffffe0,transparent 80%),url('assets/spring-hero-lane-center.jpg');background-position:center 56%}.hero-inner{padding-top:58px;padding-bottom:165px}.hero-copy{max-width:680px}.hero .hero-headline{margin-top:28px}.hero-caption{right:max(28px,calc((100% - 1184px)/2));bottom:22px}.hero-action-panel{max-width:620px;display:flex;align-items:center;gap:24px;padding:20px 24px;margin-top:-34px}.hero-description{flex:1;margin:0;text-align:left}.hero-school-link{width:auto;min-width:260px}.hero-prelude,.hero-kicker{margin-left:0}}

/* Temporary school photography, kept compact on mobile cards. */
.plan-card .school-photo{margin:0;position:relative;overflow:hidden;background:#e7eeeb}
.plan-card .school-photo img{display:block;width:100%;height:164px;aspect-ratio:auto;object-fit:cover;object-position:center 55%}
@media(min-width:801px){.plan-card .school-photo img{height:176px}}

/* Explain the curated selection without implying these are all partner schools. */
.curated-intro strong{color:#275b50}
.curated-intro>span{display:block;margin-top:8px;color:#66776f}
.help-inline .line-button{min-height:44px}

/* Read the invitation before the chat example, then continue to consultation. */
.support-panel{grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.support-copy{min-width:0}
.support-copy>p:last-child{margin-bottom:0}
.support-panel .support-conversation{width:100%}
.chat-header{gap:8px;padding:12px 14px}
.chat-messages{padding:16px 14px;gap:8px}
.chat-bubble{padding:8px 11px}
.chat-reply{margin-top:2px}
.chat-sender{margin-bottom:3px}
.chat-note{padding:10px 14px}
.support-action .button{width:100%;max-width:370px;min-height:46px;margin:0}
@media(min-width:801px){.support-panel{grid-template-columns:1fr 1.15fr;grid-template-areas:'chat copy' 'chat action';column-gap:48px;row-gap:20px;align-items:stretch}.support-copy{grid-area:copy;align-self:end}.support-conversation{grid-area:chat}.support-action{grid-area:action;align-self:start}}

/* Subtle school-list action uses the same LINE destination as the main CTA. */
.help-inline{background:transparent;border:0;border-top:1px solid #cbdcd4;border-radius:0;padding:22px 0 0}
.school-consult-link{background:transparent;border:0;border-radius:0;cursor:pointer;display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;color:#285e52;text-decoration:underline;text-underline-offset:4px;flex-shrink:0}
.school-consult-link:hover{color:#123e34}
.school-consult-link span{text-decoration:none}

/* Benefits by moment: compact illustrations with distinct feature panels. */
.benefits-section{background:#fff8eb}
.benefits-section .section-heading{margin-bottom:26px}
.benefits-section h2{color:#344b44}
.benefits-showcase{display:grid;gap:20px;align-items:start}
.idplus-package{min-width:0;padding:18px;background:#fff;border:1px solid #e8e4d7;border-radius:18px;box-shadow:0 5px 0 #eee7d7}
.idplus-heading{display:flex;align-items:center;gap:18px;padding-bottom:18px}
.idplus-heading img{width:106px;height:auto;flex-shrink:0}
.idplus-heading p{margin:0;color:#435c52}
.idplus-heading p span{display:block;margin-top:3px;color:#69786e}
.benefit-stages{display:grid;gap:12px}
.benefit-stage{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:8px;padding:16px 14px;border-radius:10px;min-width:0}
.benefit-study{background:#eaf5f2}
.benefit-drive{background:#eef2fa}
.benefit-stage img{width:100%;height:auto}
.benefit-stage h3{color:#304d43;margin:9px 0 8px}
.benefit-stage-copy>p:last-child{margin:0;color:#52665d}
.benefit-phase{display:flex;align-items:center;gap:7px;margin:0;color:#54796a}
.benefit-phase>span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #8cae9e;border-radius:50%;flex-shrink:0}
.benefit-drive .benefit-phase{color:#5c7296}
.benefit-drive .benefit-phase>span{border-color:#9daeca}
.benefit-details-link{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;margin-top:14px;padding:9px 0 0;color:#28685b;text-decoration:underline;text-underline-offset:4px}
.benefits-showcase #guarantee{background:#fffdf7;border:1px solid #d9bf83;border-radius:14px;box-shadow:none;padding:22px 18px;position:relative}
.guarantee-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.guarantee-heading h3{margin:10px 0 5px;color:#66542c}
.guarantee-lead{margin:0;color:#715e37}
.guarantee-emblem{flex-shrink:0;width:76px}
.guarantee-emblem svg{display:block;width:100%;height:auto}
.benefit-guarantee .benefit-phase{color:#806d42}
.benefit-guarantee .benefit-phase>span{border-color:#c5ac75}
.benefit-guarantee>p{color:#695f4c;margin:0}
.benefit-guarantee details{margin-top:18px;padding-top:4px;border-top:1px dashed #d8c89f}
.benefit-guarantee summary{min-height:44px;display:list-item;padding-block:10px;color:#645334;cursor:pointer}
.benefit-guarantee details p{margin-top:8px}
.benefit-guarantee details a{display:inline-block;color:#28685b;text-decoration:underline;text-underline-offset:4px;padding-block:10px}
.benefits-note{margin-top:20px;color:#736d60}
@media(max-width:360px){.idplus-package{padding:14px}.idplus-heading{gap:12px}.idplus-heading img{width:88px}.benefit-stage{grid-template-columns:minmax(0,1fr) 70px;padding:14px 12px}.benefits-showcase #guarantee{padding:18px 14px}.guarantee-emblem{width:60px}}
@media(min-width:541px){.benefit-stages{grid-template-columns:1fr 1fr}.benefit-stage{grid-template-columns:1fr}.benefit-stage img{grid-row:1;width:100px;justify-self:center}.idplus-heading img{width:125px}}
@media(min-width:901px){.benefits-showcase{grid-template-columns:1.6fr 1fr;gap:28px}.idplus-package{padding:24px}.benefit-stage{padding:20px}.benefits-showcase #guarantee{padding:26px 24px}.guarantee-emblem{width:82px}.benefit-stage img{width:112px}.benefit-details-link{justify-content:center;gap:20px}}

/* Follow the summer LP's three benefits; price guarantee remains a separate note. */
.benefits-showcase{grid-template-columns:minmax(0,1fr)}
.benefit-insurance{background:#fff2e8}
.benefit-insurance .benefit-phase{color:#916340}
.benefit-insurance .benefit-phase>span{border-color:#cda785}
.insurance-art{display:block;width:100%;height:auto}
@media(min-width:541px) and (max-width:800px){.benefit-stages{grid-template-columns:1fr}.benefit-stage{grid-template-columns:minmax(0,1fr) 100px}.benefit-stage img{grid-row:auto;width:100%}}
@media(min-width:801px){.benefit-stages{grid-template-columns:repeat(3,minmax(0,1fr))}.benefit-stage{grid-template-columns:1fr;align-content:start}.benefit-stage img,.benefit-stage .insurance-art{grid-row:1;width:112px;height:112px;justify-self:center}.benefits-showcase #guarantee{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;align-items:center;padding:20px 24px}.guarantee-heading{margin:0}.benefit-guarantee details{grid-column:1/-1;margin-top:14px}.benefits-showcase{gap:24px}}

/* Three entry points: consultation, benefits and application steps. */
.intro-reasons .visual-reasons{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;margin-inline:auto}

/* Official service marks keep their original colors and proportions. */
.benefit-stage .service-brand{margin:12px 0 10px;min-width:0}
.benefit-stage .service-brand .service-logo{display:block;grid-row:auto;width:132px;max-width:100%;height:42px;object-fit:contain;object-position:left center;margin:0 0 6px}
.benefit-stage .service-brand .candy-service-logo{height:32px;margin-block:5px 11px}
.service-brand>span{display:block;color:#385447}
.roadservice-name{min-height:66px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.roadservice-name small{display:block;color:#526986}
@media(max-width:360px){.benefit-stage .service-brand .service-logo{width:116px}}

/* Road service title accent requested in browser annotation. */
.benefit-stage .roadservice-name{color:#bd4b12}
.benefit-stage .roadservice-name small{color:#596579}

/* Quiet editorial illustrations and a connected application timeline. */
.guide-art{width:100px;height:92px;float:right;margin:0 0 12px 14px}
.guide-grid article{padding-top:22px;padding-bottom:20px}
.guide-grid article>span{color:#759184;letter-spacing:.08em;margin-bottom:10px}
.guide-grid article h3{padding-top:2px}
.guide-grid article p{padding-top:10px}
.flow{padding:24px 20px;background:#f3f7f4;border:1px solid #dce7df;border-radius:18px}
.flow>.eyebrow{margin:0 0 8px;color:#4f7d6a}
.flow>h3{margin:0;color:#304d40}
.flow ol{position:relative;gap:16px;margin-top:24px;isolation:isolate}
.flow ol:before{content:'';position:absolute;left:17px;top:30px;bottom:30px;width:1px;background:#bbd0c2;z-index:-1}
.flow li{gap:13px;align-items:flex-start;min-width:0}
.flow li>span{width:35px;height:35px;margin-top:12px;background:#fff;border:1px solid #86a994;color:#3b6b52;box-shadow:0 0 0 5px #f3f7f4}
.flow li>div{flex:1;min-width:0;background:#fff;border:1px solid #e7eee9;border-radius:10px;padding:13px 14px}
.flow li p{margin:5px 0 0;color:#627469}
.flow>.note{margin:20px 0 0;padding-top:15px;border-top:1px dashed #c7d6cc;color:#67776c}
@media(max-width:360px){.guide-art{width:84px;height:80px;margin-left:8px}.flow{padding:22px 14px}.flow li{gap:10px}.flow li>div{padding:12px}}
@media(min-width:801px){.guide-art{width:108px;height:100px}.flow{padding:30px}.flow ol{gap:20px}.flow ol:before{top:17px;bottom:auto;left:17px;right:17px;width:auto;height:1px}.flow li{flex-direction:column;gap:15px}.flow li>span{margin:0}.flow li>div{width:100%}}

/* Eleven focused questions, grouped for quick mobile scanning. */
.faq-intro{margin-top:12px;color:#6c5f65}
.faq-topics{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 30px}
.faq-topics a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;background:#ffffffbd;border:1px solid #e3d2d8;border-radius:6px;color:#64505a}
.faq-topics a:hover{background:#fff}
.faq-group{scroll-margin-top:20px}
.faq-group+.faq-group{margin-top:30px}
.faq-group h3{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#67525c}
.faq-group h3:before{content:'';width:4px;height:16px;border-radius:2px;background:#c18499}
.faq-detail-link{display:flex;align-items:center;gap:6px;min-height:44px;margin-top:10px;padding-block:8px;color:#28685b;text-decoration:underline;text-underline-offset:4px}

/* In-page actions: quiet surfaces, clear hierarchy, shared circular arrows.
   Deliberately scoped away from the fixed reservation dock. */
:is(.site-header,main,dialog) :is(.button,.hero-school-link,.header-consult){
  min-height:48px;padding:10px 14px 10px 18px;border:1px solid #cadbd3;border-radius:12px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:14px;font-weight:700;line-height:1.6;letter-spacing:.02em;
  box-shadow:none;transition:background .18s,border-color .18s,box-shadow .18s;
}
:is(main,dialog) .button.primary,main .hero-school-link{
  background:#246b5b;border-color:#246b5b;color:#fff;box-shadow:0 4px 12px #224b3d12;
}
:is(main,dialog) .button.outline{background:#fff;color:#315b4d;border-color:#bdcfc5}
:is(.site-header,main,dialog) :is(.button,.hero-school-link,.header-consult)>span[aria-hidden],
.closing .button>span{
  display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin-left:auto;
  border:1px solid currentColor;border-radius:50%;font-size:17px;font-weight:400;line-height:1;
}
:is(main,dialog) .primary>span[aria-hidden],main .hero-school-link>span,.closing .button>span{background:#ffffff12;border-color:#ffffff66}
main .hero-school-link{width:100%;min-height:52px;border-radius:12px;padding-inline:18px 12px}
.plan-card .plan-body .plan-apply{
  width:100%;max-width:264px;min-height:46px;margin:8px auto 4px;padding:8px 10px 8px 16px;
  background:#fff;color:#275f50;border-color:#a9c5b7;box-shadow:none;font-size:13px;border-radius:10px;
}
.plan-card .plan-apply>span[aria-hidden]{background:#eaf3ee;border:0;color:#276651}
main .more-button{max-width:380px;font-size:13px;background:transparent;border-color:#c3d5cb}
.support-action .line-button{
  min-height:50px;background:#edf7ed;color:#246b34;border-color:#a9cfae;box-shadow:none;padding-inline:16px 12px;
}
.support-action .line-button>span{background:#fff;border-color:#b7d8bb}
.closing-copy .button{width:100%;max-width:320px;min-height:52px;font-size:14px;margin-top:24px}
.site-header .header-consult{display:inline-flex;min-height:44px;padding:7px 10px 7px 14px;font-size:12px;background:#f5f9f6;border-color:#d4e2d9;color:#376253;border-radius:999px}
.site-header .header-consult>span[aria-hidden]{width:24px;height:24px;flex-basis:24px;font-size:15px;border-color:#d4e2d9;background:#fff}
.school-consult-link,.benefit-details-link,.faq-detail-link{
  min-height:44px;text-decoration:none;gap:12px;border-bottom:1px solid #b7cec1;color:#315f50;
}
.school-consult-link>span,.benefit-details-link>span,.faq-detail-link>span{
  display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#edf4ef;color:#376b56;
}
.benefit-details-link{padding-block:12px;margin-top:16px;text-align:left}
.faq-detail-link{align-items:center;justify-content:space-between}
.lifestyle-links button{padding:16px 12px;border:1px solid #a5cebf;border-radius:12px;background:#ffffff63;gap:12px}
.lifestyle-links button>b{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;background:#fff;border-radius:50%;font-size:16px;font-weight:400;color:#376b56}
.lifestyle-links button>span{font-size:12px;letter-spacing:.08em;color:#5c8474}
.faq-topics a{border-radius:999px;background:#ffffffb3;border-color:#e5d4da;padding-inline:14px}
:is(main,dialog) .dialog-done,main #reset-empty{justify-content:center}
@media(hover:hover){
  :is(main,dialog) .button.primary:hover,main .hero-school-link:hover{background:#1c5749;border-color:#1c5749;box-shadow:0 5px 14px #224b3d20}
  .plan-card .plan-body .plan-apply:hover{background:#edf5ef;color:#254f41;border-color:#7caa94;box-shadow:none}
  :is(main,dialog) .button.outline:hover,.site-header .header-consult:hover{background:#edf5ef;border-color:#a3bdad}
  .support-action .line-button:hover{background:#dcefdc;border-color:#80b486}
  .lifestyle-links button:hover{background:#ffffffa6;border-color:#81b59f}
  .school-consult-link:hover,.benefit-details-link:hover,.faq-detail-link:hover{color:#173e30;border-bottom-color:#427e64}
}
@media(max-width:360px){
  :is(main,dialog) :is(.button,.hero-school-link){font-size:13px;padding-inline:12px 10px;gap:8px}
  .closing-copy .button{font-size:12px}
}

/* One secondary vacancy route, following the recommended-school list. */
.help-inline.vacancy-help{display:block;padding:24px 20px;background:#edf3ef;border:1px solid #d9e5dd;border-radius:14px;margin-top:28px}
.vacancy-help h3{font-size:15px;line-height:1.7;color:#355c4d}
.vacancy-help p{font-size:13px;line-height:1.9;color:#607268;margin:8px 0 16px}
.vacancy-help .vacancy-link{max-width:340px;width:100%;font-size:13px;background:#fff;min-height:48px}
.vacancy-preview-note{display:block;max-width:340px;margin-top:10px;font-size:10px;line-height:1.7;color:#65736b}
.vacancy-help .school-consult-link{font-size:12px;margin-top:10px;border-bottom:0;min-height:44px}
@media(max-width:360px){.help-inline.vacancy-help{padding:20px 14px}.vacancy-help .vacancy-link{font-size:12px}}

/* Editorial emphasis for selected schools, with a short first-view invitation. */
.hero-action-panel .hero-description{font-size:13px;line-height:1.8;margin-bottom:14px;letter-spacing:0}
.curated-title-accent{background:linear-gradient(transparent 76%,#d3eade 76%,#d3eade 96%,transparent 96%)}
.schools-section .eyebrow{font-size:12px;letter-spacing:.04em;transform:none;border-radius:4px;padding:6px 11px}
#life .life-main img{aspect-ratio:16/9}
#life .life-side figure:first-child img{object-position:38% center}
@media(max-width:360px){.hero-action-panel .hero-description{font-size:12px}}

/* Keep the desktop invitation and its action in separate, readable columns. */
@media(min-width:801px){
  .hero-action-panel .hero-description{flex:1 1 auto;min-width:0;margin:0}
  main .hero-action-panel .hero-school-link{flex:0 0 260px;width:260px}
}

.test-environment-note{margin:0;padding:8px 16px;background:#fff4de;color:#654e28;font-size:12px;line-height:1.7;text-align:center}
.test-environment-note[hidden]{display:none}

/* Mobile review: make dates and supporting labels visible. */
@media(max-width:540px){.intro-reasons .visual-reasons small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:6px;max-width:100%;overflow-wrap:anywhere}}

/* Month controls stay within the school list; the existing bottom CTA is unchanged. */
.month-dock{display:none}
.school-scroll-area{overflow-anchor:none}
.lifestyle{overflow-anchor:none}
.lifestyle-results{margin-top:24px;padding:22px 16px;background:#f6faf7;border:1px solid #aecdc1;border-radius:16px;scroll-margin-top:20px}
.lifestyle-results h4{font-size:18px;line-height:1.6;margin:0 0 8px;color:#305849}
.lifestyle-result-intro,.recommendation-note{font-size:12px;line-height:1.9;color:#65786d}
.lifestyle-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.recommendation-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.recommendation-filters label{font-size:11px;font-weight:700;display:block;margin-bottom:4px;color:#416350}
.recommendation-filters select{font-size:12px;min-height:44px;padding-inline:8px}
.recommendation-card{background:#fff;border:1px solid #d7e5dc;border-radius:12px;overflow:hidden}
.recommendation-card>img{width:100%;aspect-ratio:2;object-fit:cover}
.recommendation-card>div{padding:16px}
.recommendation-reason{font-size:12px;font-weight:700;line-height:1.7;color:#35715b}
.recommendation-card h5{font-size:16px;line-height:1.7;margin:8px 0}
.recommendation-plan{font-size:12px;line-height:1.8;color:#627268}
.recommendation-price{font-size:23px;font-weight:700;color:var(--price);margin:10px 0}
.recommendation-price small{font-weight:400;font-size:11px;color:#65786d}
.recommendation-card .button{font-size:12px;width:100%}
.recommendation-note{margin-top:16px}
.lifestyle-links button.is-selected{background:#fff;border-color:#397d65;box-shadow:0 0 0 1px #397d65}
.guide-grid .guide-copy{clear:both;padding-top:20px;font-size:13px;line-height:1.9}
.entry-example-label{font-size:11px;color:#48775f;margin-bottom:10px}
.lodging-intro{font-size:13px;line-height:1.8;margin-top:16px}
.lodging-groups{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lodging-groups legend{margin-bottom:8px}
.lodging-groups label{display:inline-flex;align-items:center;gap:6px;min-height:48px;min-width:0;padding:8px;border:1px solid #bed1c6;border-radius:8px;font-size:12px;line-height:1.6}
.lodging-groups input{accent-color:#246b5b;width:18px;height:18px;flex-shrink:0}
.lodging-fields{display:grid;gap:14px;margin-top:12px}
.lodging-fields label{display:grid;gap:6px;font-size:12px;font-weight:700}
.lodging-fields select{font-weight:400;font-size:13px}
.lodging-status{font-size:12px;line-height:1.9;margin:12px 0;color:#62786b}
.lodging-price{padding:14px;border-radius:10px;background:#f0f6f2;margin-bottom:18px;font-size:12px;line-height:1.9}
.lodging-price strong{font-size:24px;white-space:nowrap;color:var(--price);display:block}
.lodging-price strong small{font-size:12px}
.lodging-continue[aria-disabled=true]{opacity:.45;cursor:default}
.lodging-unspecified{display:block;font-size:12px}
@media(max-width:800px){
  .month-dock{position:sticky;top:0;z-index:6;display:block;height:0}
  .month-dock-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border:1px solid #d6e4db;border-radius:12px;box-shadow:0 4px 16px #284f3914}
  .month-dock-panel>span{font-size:11px;font-weight:700;color:#305849;white-space:nowrap}
  .month-dock-panel>div{display:flex;gap:6px;flex:1;max-width:270px}
  .month-dock button{flex:1;min-height:44px;padding:8px;font-size:14px;font-weight:700;border:1px solid #d6e4db;border-radius:8px;background:#f5f9f6;color:#3c6653}
  .month-dock button[aria-pressed=true]{background:#246b5b;border-color:#246b5b;color:#fff}
  .lifestyle-result-grid{grid-template-columns:1fr}
  .lifestyle-links button{min-height:80px}
  html{scroll-padding-top:84px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Spring review: explicit topic, compact choice criteria and accessible filters. */
.hero{background:#fff8f8}
.hero-visual{background:none;isolation:isolate}
.hero-landscape{position:absolute;inset:0;z-index:-2;display:block}
.hero-landscape img{width:100%;height:100%;object-fit:cover;object-position:82% 58%}
.hero-visual:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ffffffc4,#ffffff10 92%)}
.hero h1.hero-kicker{display:flex;font-size:16px;line-height:1.4;margin:0;letter-spacing:0;color:#294641;max-width:none}
.hero .hero-headline{font-weight:700}
.hero-kicker .hero-season small{font-size:11px;font-weight:400;line-height:1.7}
.choice-guide{margin:0 0 20px;padding:16px;background:#fff;border:1px solid #dce7df;border-radius:12px}
.choice-guide h3{font-size:14px;line-height:1.7;color:#31574b;margin-bottom:12px}
.choice-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.choice-guide-grid article{min-width:0}
.choice-guide-grid article+article{border-left:1px solid #e0e9e3;padding-left:12px}
.choice-guide-grid span{font-size:10px;color:#5d8a77}
.choice-guide-grid h4{font-size:13px;font-weight:700;margin:3px 0 6px;line-height:1.6;color:#345a4b}
.choice-guide-grid .guide-copy{font-size:11px;line-height:1.8;color:#64756c}
.school-selector{max-width:none}
.school-extra-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.school-extra-filters label{display:grid;gap:6px;min-width:0;font-size:12px;font-weight:700;color:#31564a}
.school-extra-filters label:first-child{grid-column:1/-1}
.school-extra-filters select,.school-extra-filters input{font-size:12px;font-weight:400;min-width:0;width:100%;max-width:100%;min-height:44px}
.school-extra-filters input{background:#fff;border:1px solid #ccc;border-radius:5px;padding:8px;color:var(--ink)}
.filter-note{font-size:11px;line-height:1.8;color:#64756c;margin:12px 0 0}
.card-price-link{display:inline-block;align-self:flex-start;font-size:11px;color:var(--teal-text);text-decoration:underline;text-underline-offset:4px;line-height:1.7;padding:10px 0;min-height:40px;margin-top:6px}
.vacancy-help .vacancy-note{font-size:11px;margin-bottom:10px}
.entry-plan{font-size:12px;line-height:1.7;color:#46675b}
.flow-wrap{margin-block:44px}
.flow>h2{font-size:20px;line-height:1.6;color:#31574b}
footer address{font-size:12px;font-style:normal;line-height:1.9;color:#64756c;margin-bottom:14px}
footer .footer-contact a{font-size:18px;font-weight:700;color:#226d60;text-decoration:underline;text-underline-offset:4px}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin:12px 0 20px;font-size:12px;color:#226d60}
.footer-links a{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
@media(min-width:541px){.hero-landscape img{object-position:65% 58%}.choice-guide-grid .guide-copy{font-size:12px}}
@media(min-width:801px){.hero-visual{background:none}.hero-landscape img{object-position:center 56%}.hero-visual:before{background:linear-gradient(90deg,#ffffffe0,transparent 80%)}.school-extra-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.school-extra-filters label:first-child{grid-column:auto}.choice-guide{padding:20px 24px}.choice-guide-grid h4{font-size:15px}.flow-wrap{margin-block:64px}}

.selection-criteria-link{display:inline-block;margin-top:10px;font-size:13px;text-underline-offset:4px;color:#16716f}

.school-extra-filters label:first-child{grid-column:auto}
@media(min-width:801px){.school-extra-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.card-plan-example{font-size:12px;line-height:1.8;color:#46675b;margin:4px 0 10px}
.card-plan-example span{font-size:11px}
.date-plan-field{display:grid;gap:8px;font-size:13px;font-weight:700;margin:20px 0}
.date-plan-field select{width:100%;min-height:44px;padding:10px;border:1px solid #aac6bc;border-radius:8px;background:#fff;color:var(--ink);font:inherit}
.date-plan-notes{font-size:12px;line-height:1.8;margin:16px 0;color:#46675b}
.date-plan-notes summary{cursor:pointer;padding:8px 0}
.date-plan-notes p{white-space:pre-line}
