/* Step 2: extend the approved TOP design to the four study-planning pages. */
body:is([data-page="schools"],[data-page="school"],[data-page="price"],[data-page="consultation"]){font-size:16px;--sky:#19adbf;--yellow:#f9d338;--inner-border:#d5e7e6}
.journey-page .crumb{padding:22px 0;font-size:16px}
.journey-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:20px 0 32px;position:relative}
.journey-hero h1{font-size:clamp(28px,3.3vw,40px);line-height:1.5;font-weight:800;letter-spacing:.015em;margin:8px 0 14px;color:#132c32}
.journey-hero h1 em{display:inline-block;font-style:normal;color:var(--green);background:linear-gradient(transparent 84%,var(--yellow) 84%,var(--yellow) 95%,transparent 95%)}
.journey-hero p{color:var(--muted);line-height:1.85}
.journey-hero .eyebrow,.journey-page .eyebrow{font-size:16px;letter-spacing:.07em;font-weight:800;color:var(--green)}
.hero-postcard{width:225px;flex:none;transform:rotate(3deg);border:7px solid white;box-shadow:0 3px 20px #07453b1c;position:relative}
.hero-postcard .art-window{border-radius:0}.hero-postcard:before{content:'';position:absolute;top:-14px;left:35%;width:65px;height:22px;background:#ffe789d9;transform:rotate(-8deg);z-index:1}
.school-search{background:#edfafb;border:1px solid #b7e4e8;border-top:4px solid var(--sky);padding:24px 26px;border-radius:10px;box-shadow:none}
.school-search .field label{font-size:16px;font-weight:700;color:var(--deep)}
.journey-page input,.journey-page select{min-height:50px;background:#fff;border:1px solid #b6cfce;border-radius:6px;font-size:16px;padding:11px 12px;width:100%;color:var(--ink)}
.journey-page select:disabled{color:#718080;background:#f3f6f6;border-color:#dce5e4;cursor:not-allowed}
.journey-page .field label{display:block;margin-bottom:8px}
.journey-page .result-line{margin:27px 0 19px;border-bottom:1px solid var(--inner-border);padding-bottom:14px}
.result-line .result-context{font-size:16px;color:var(--muted);margin-left:15px}
.journey-page .school-grid{gap:28px 24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.journey-page .school-card{border:1px solid var(--inner-border);border-radius:9px;overflow:hidden;background:white;box-shadow:0 3px 12px #005e5108;display:flex;flex-direction:column;transition:box-shadow .16s,border-color .16s}
.journey-page .school-card:hover{box-shadow:0 8px 22px #005e5119;border-color:#69b9b0}
.journey-page .school-card>.school-card-cover{display:block;overflow:hidden}
.journey-page .school-visual{height:auto;aspect-ratio:1.65;position:relative;overflow:hidden;background:#e6f2ee}
.journey-page .school-visual img{width:100%;height:100%;object-fit:cover}
.journey-page .school-visual>small{font-size:16px;background:#fff;color:var(--deep);padding:4px 12px;position:absolute;left:12px;bottom:12px;top:auto;border-radius:4px}
.journey-page .school-visual>small.photo-pending{bottom:14px;left:auto;right:12px;background:transparent;font-size:16px}
.journey-page .school-card-body{padding:21px 20px 18px;display:flex;flex-direction:column;flex:1}
.journey-page .school-card h3{font-size:22px;line-height:1.45;margin:4px 0 12px;min-height:64px;letter-spacing:0}
.journey-page .location{font-size:16px;color:#52716a;display:flex;align-items:center;gap:5px}
.journey-page .location .icon{width:17px;height:17px}
.journey-page .tags{gap:6px;display:flex;flex-wrap:wrap;margin:0 0 15px}
.journey-page .tag{font-size:16px;line-height:1.5;font-weight:700;background:#eaf7f7;color:#00665c;border:0;padding:5px 9px;border-radius:3px}
.card-course-count{font-size:16px;color:var(--muted);margin:auto 0 14px!important}
.card-course-count strong{font-weight:800;color:var(--deep);font-size:18px;margin:0 3px}
.journey-page .card-footer{display:grid;grid-template-columns:1fr auto;gap:14px;padding-top:14px;margin-top:0;border-top:1px solid var(--inner-border);align-items:center}
.journey-page .card-footer a{font-size:16px;color:var(--green);font-weight:700;white-space:nowrap}
.journey-page .card-footer a:last-child{color:#d54a00}
.journey-page .section-footnote{font-size:16px;line-height:1.8;margin-top:22px;color:var(--muted)}
.journey-page .btn{font-size:16px;min-height:48px;border-radius:999px;line-height:1.5;padding:12px 22px;font-weight:700}
.journey-page .btn.orange{background:linear-gradient(105deg,#ff8500,#ff4c00);border-color:transparent}
.journey-page .btn.outline{border:1px solid #8cced5;background:white;color:var(--deep)}
.journey-page .btn[aria-disabled="true"]{background:#e3e9e8;border-color:#e3e9e8;color:#778583;pointer-events:none;opacity:1}
.journey-page .detail-hero{padding:10px 0 34px;gap:34px;grid-template-columns:1.1fr 1fr}
.journey-page .detail-hero>.school-visual{height:350px;aspect-ratio:auto;border-radius:8px;box-shadow:10px 10px 0 #e6f7f7}
.journey-page .detail-hero h1{font-size:clamp(28px,3.2vw,38px);line-height:1.4;margin:12px 0 16px}
.journey-page .detail-hero .eyebrow{margin-bottom:12px}
.journey-page .detail-hero .actions{gap:10px;margin-top:22px;align-items:stretch}
.journey-page .detail-hero .actions .btn{padding:12px 18px}
.detail-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--inner-border);border-radius:8px;padding:19px 0;background:#fff;margin-bottom:30px}
.detail-numbers>div{padding:0 20px;border-right:1px solid var(--inner-border)}
.detail-numbers>div:last-child{border:0}.detail-numbers dt{font-size:16px;color:var(--muted);margin-bottom:3px}.detail-numbers dd{font-size:18px;color:var(--deep);font-weight:800;margin:0}.detail-numbers dd small{font-size:16px;font-weight:400;display:block;color:var(--muted)}
.journey-page .detail-tabs{gap:0;border:0;background:#ecf8f7;margin:0 0 32px;padding:0;border-radius:7px;overflow:hidden}
.journey-page .detail-tabs a{flex:1;text-align:center;padding:16px 8px;font-size:16px;border-bottom:3px solid transparent}
.journey-page .detail-tabs a:hover,.journey-page .detail-tabs a:focus-visible{background:#def3f1;border-bottom-color:var(--orange)}
.journey-page .panel{padding:29px;border:1px solid var(--inner-border);border-radius:8px;box-shadow:none}
.journey-page .panel h2{font-size:24px;line-height:1.5;color:#153b38;margin-bottom:19px}
.journey-page .panel>.eyebrow{font-size:16px;margin-bottom:6px}
.journey-page .course-list{gap:10px}.journey-page .course-list a{background:#f8fcfc;min-height:57px;font-size:16px;line-height:1.6;border-color:#cbe6e7;border-radius:6px}
.journey-page .aside-card{position:sticky;top:24px;border-radius:9px;padding:26px;background:#eff9f7;border-top:4px solid var(--green)}
.journey-page .aside-card h2{font-size:23px;line-height:1.6}
.journey-page .aside-card p,.journey-page .aside-card li{font-size:16px}
.journey-page .facts dt{font-size:16px}.journey-page .facts dd{font-size:16px}
.journey-page .gallery{gap:19px}.journey-page .gallery img{border-radius:6px}.journey-page .gallery figcaption{font-size:16px;margin-top:8px}
.journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--inner-border);border-radius:7px;overflow:hidden;margin:0 0 28px;background:#fff}
.journey-steps>*{font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 8px;color:#627875;border-right:1px solid var(--inner-border)}
.journey-steps>*:last-child{border:0}.journey-steps b{font:bold 22px/1 Arial;color:#93b2ad}.journey-steps .active{background:var(--green);color:#fff;font-weight:700}.journey-steps .active b{color:#ffe37a}
.price-layout{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:25px;align-items:start}
.price-layout .price-panel{padding:28px}.form-section-title{display:flex;gap:10px;align-items:center;margin-bottom:24px!important}.form-section-title>span{font:bold 24px Arial;color:var(--orange)}
.price-panel .form-grid{gap:21px 16px}.price-panel .micro{font-size:16px;line-height:1.8;margin-top:7px}
.price-progress{font-size:16px;color:var(--muted);padding:12px 0 0}.price-progress strong{color:var(--green)}
.price-summary{position:sticky;top:24px;border:1px solid #94cbc1;border-radius:9px;overflow:hidden;background:#fff}
.price-summary-head{padding:20px 23px;background:#edf8f5;border-bottom:1px solid #c6e2dc}
.price-summary-head h2{font-size:22px;color:var(--deep);margin:0}.price-summary-head p{font-size:16px;color:var(--muted);margin-top:5px}
.price-selected-school{display:flex;gap:12px;align-items:center;margin:18px 21px 0;font-size:16px;font-weight:700;line-height:1.6;color:var(--deep)}
.price-selected-school img{width:76px;height:53px;object-fit:cover;border-radius:4px;flex:none}
.price-selection{padding:5px 22px;margin:0}.price-selection>div{display:grid;grid-template-columns:65px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #e2edeb;font-size:16px;line-height:1.65}.price-selection dt{color:var(--muted)}.price-selection dd{margin:0;overflow-wrap:anywhere;font-weight:500}
.price-summary .amount-box{margin:18px 0 0;border-radius:0;padding:22px;background:linear-gradient(130deg,#007267,#004f45)}
.price-summary .amount-box #amount{font-size:36px;margin:7px 0}.price-summary .amount-box .label{font-size:16px}.price-summary .amount-box #amount-detail{font-size:16px;line-height:1.8}.price-summary .amount-box .micro{font-size:16px;line-height:1.8}
.price-summary .price-actions{padding:19px 18px;margin:0}.price-summary .price-actions .btn{font-size:16px;padding:12px 10px}.price-summary .price-actions p{font-size:16px;color:var(--muted);margin-top:10px;line-height:1.8}
.cost-guide{margin-top:25px;padding:26px;background:#f5fafb;border:1px solid #d7e9ed;border-radius:8px}
.cost-guide h2{font-size:21px;color:var(--deep);margin-bottom:16px}.cost-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cost-guide h3{font-size:16px;margin:0 0 8px}.cost-guide p{font-size:16px;line-height:1.9;color:var(--muted)}
.consult-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:26px;align-items:start}.consult-layout .consult-panel{max-width:none;width:100%;margin:0}
.consult-layout .memo{min-height:380px;border-color:#99c5c0;background:#fcfefd;line-height:1.9}
.consult-layout .selected-summary{background:#edf9f7;font-size:16px;line-height:1.9;margin:16px 0 10px;padding:17px;border-left:3px solid var(--green)}
.consult-layout .textlink{font-size:16px}.consult-layout .micro{font-size:16px;line-height:1.8}
.consult-side{border:1px solid #cce3de;border-radius:8px;overflow:hidden;background:#f3faf8}
.consult-side .art-window{border-radius:0}.consult-side-content{padding:24px}.consult-side h2{font-size:22px;color:var(--deep);line-height:1.7;margin:0 0 15px}.consult-side p{font-size:16px;line-height:1.9;color:var(--muted)}
.consult-side ul{margin:20px 0}.consult-side li{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #cfe4de;font-size:16px;color:var(--deep)}.consult-side li b{color:var(--orange);font:700 19px Arial}
.consult-side .preview-note{font-size:16px;background:#fff;padding:12px;border-radius:5px}
.channel-tabs{display:flex;gap:8px;margin:18px 0 24px}.channel-tabs a{flex:1;border:1px solid #b6d6d0;text-align:center;padding:10px 7px;border-radius:6px;font-size:16px;font-weight:700;color:var(--green)}
.channel-tabs a[aria-current="true"]{background:var(--green);color:#fff;border-color:var(--green)}.channel-tabs a:last-child[aria-current="true"]{background:#ff6500;border-color:#ff6500;color:white}
.journey-page .note{font-size:16px;background:#fff8e9;border-color:#f4dda6}.journey-page .status{font-size:16px}
@media(max-width:1000px){.journey-page .school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-layout{grid-template-columns:minmax(0,1fr) 310px}.consult-layout{grid-template-columns:minmax(0,1fr) 250px}.price-layout .price-panel{padding:22px}.price-panel .form-grid{grid-template-columns:1fr}.journey-page .detail-hero{gap:26px}.journey-page .detail-hero>.school-visual{height:300px}}
@media(max-width:760px){
 body:is([data-page="schools"],[data-page="school"],[data-page="price"],[data-page="consultation"]){font-size:16px}
 .journey-page.wrap{width:calc(100% - 32px);padding-inline:0}.journey-page .crumb{font-size:16px;padding:18px 0;flex-wrap:wrap}
 .journey-hero{padding:8px 0 25px;gap:15px;align-items:start}.journey-hero h1{font-size:28px;margin:7px 0 12px}.journey-hero p{font-size:16px;line-height:1.85}.journey-hero .eyebrow,.journey-page .eyebrow{font-size:16px}.hero-postcard{display:none}
 .school-search{padding:20px 16px;gap:18px 12px;grid-template-columns:1fr 1fr}.school-search .field:first-child{grid-column:1/-1}.journey-page .result-line{margin:23px 0 18px}.result-context{display:none}
 .journey-page .school-grid{gap:22px;grid-template-columns:1fr}.journey-page .school-card h3{font-size:23px;min-height:0;margin:6px 0 14px}.journey-page .school-card-body{padding:20px}.journey-page .school-card .school-visual{aspect-ratio:1.65}.journey-page .school-card-body .tags{margin-bottom:12px}.journey-page .card-footer a{font-size:16px}
 .journey-page .btn{font-size:16px;min-height:48px;padding:12px 17px}.journey-page .detail-hero{display:flex;flex-direction:column;gap:25px;padding:8px 0 25px;align-items:stretch}.journey-page .detail-hero>.school-visual{height:auto;aspect-ratio:1.45;box-shadow:6px 6px 0 #e6f7f7}.journey-page .detail-hero h1{font-size:30px}.journey-page .detail-hero p{font-size:16px}
 .journey-page .detail-hero .actions{flex-direction:column;gap:10px}.detail-numbers{grid-template-columns:1fr;margin-bottom:24px;padding:0 16px}.detail-numbers>div{padding:13px 0;border-right:0;border-bottom:1px solid var(--inner-border);display:grid;grid-template-columns:120px 1fr;gap:10px}.detail-numbers dd{font-size:16px}.detail-numbers dt{font-size:16px}.detail-numbers dd small{font-size:16px}
 .journey-page .detail-tabs{margin-bottom:24px}.journey-page .detail-tabs a{font-size:16px;padding:13px 4px}.journey-page .two-col{display:block}.journey-page .aside-card{position:static}.journey-page .panel{padding:23px 18px}.journey-page .panel h2{font-size:22px}.journey-page .facts>div{grid-template-columns:1fr;gap:5px}.journey-page .facts dd{font-size:16px}.journey-page .course-list{grid-template-columns:1fr}
 .journey-steps{margin-bottom:24px}.journey-steps>*{font-size:16px;gap:6px;padding:12px 5px}.journey-steps b{font-size:17px}.price-layout{display:flex;flex-direction:column;gap:0}.price-layout>*,.price-summary{width:100%}.price-summary{position:static;margin-top:0}.price-layout .price-panel{padding:23px 18px;margin-bottom:20px}.price-panel .form-grid{gap:19px}.price-summary .amount-box #amount{font-size:36px}.price-summary .price-actions .btn{font-size:16px}.price-selection>div{font-size:16px}.cost-guide{padding:23px 18px}.cost-guide-grid{grid-template-columns:1fr;gap:18px}.cost-guide h3{font-size:16px}.cost-guide p{font-size:16px}
 .consult-layout{grid-template-columns:1fr;gap:23px}.consult-layout .memo{min-height:420px;padding:15px}.consult-layout .actions{display:grid;grid-template-columns:1fr;gap:10px}.consult-layout .actions .btn{width:100%;font-size:16px}.consult-side{display:grid;grid-template-columns:1fr}.consult-side>.art-window{max-height:180px}.consult-side-content{padding:23px}.consult-side h2{font-size:22px}.consult-side ul{margin:12px 0 18px}.channel-tabs a{font-size:16px}.journey-page .page-main{padding-bottom:35px}
}
@media(min-width:601px) and (max-width:760px){.journey-page .school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-page .school-card-body{padding:17px}.journey-page .school-card h3{font-size:20px;min-height:58px}.journey-page .card-footer{grid-template-columns:1fr;gap:8px}}
@media(prefers-reduced-motion:reduce){.journey-page .school-card{transition:none}}
