/* v16: clean photographic assets, accessible live labels, vector illustration. */
.imported-purpose .purpose-import-hero-collage{margin:0;min-width:0;align-self:center}
.imported-purpose .purpose-photo-collage{position:relative;padding:0 0 34px 34px}
.imported-purpose .purpose-photo-collage .purpose-collage-main{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border:7px solid #fff;border-radius:5px;box-shadow:0 10px 28px #194c4517}
.imported-purpose .purpose-photo-collage .purpose-collage-city{position:absolute;left:0;bottom:0;width:43%;height:auto;aspect-ratio:3/2;object-fit:cover;border:6px solid #fff;border-radius:3px;box-shadow:0 6px 16px #194c4530;transform:rotate(-5deg)}
.imported-purpose .purpose-collage-note{position:absolute;right:8px;bottom:18px;max-width:56%;background:#075e55;color:#fff;padding:9px 14px;font-size:18px;font-weight:700;line-height:1.6;transform:rotate(-2deg)}
.imported-purpose .purpose-import-hero-collage figcaption{font-size:16px;line-height:1.7;text-align:right;color:#536d68;margin:16px 0 0}
.imported-purpose .purpose-import-purpose-card .purpose-photo-thumb{display:flex;flex-direction:column;position:relative;aspect-ratio:auto;background:none;overflow:hidden}
.imported-purpose .purpose-import-purpose-card .purpose-photo-thumb img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;transition:transform .2s}
.imported-purpose .purpose-photo-label{display:flex;align-items:center;position:relative;padding:15px 16px;min-height:76px;font-size:20px;font-weight:800;line-height:1.45;background:var(--purpose-color,#075e55);color:#fff;border:0;box-shadow:none;transform:none}
.imported-purpose .purpose-photo-label:after{content:'›';display:grid;place-items:center;flex:none;margin-left:auto;width:27px;height:27px;border:1px solid #ffffffa6;border-radius:50%;font-size:22px;line-height:1}
.imported-purpose .purpose-color-budget{--purpose-color:#df245b}.imported-purpose .purpose-color-exam{--purpose-color:#2254ba}.imported-purpose .purpose-color-working{--purpose-color:#f2cc39}.imported-purpose .purpose-color-working .purpose-photo-label{color:#273b38}.imported-purpose .purpose-color-working .purpose-photo-label:after{border-color:#273b3870}
.imported-purpose .purpose-color-speaking{--purpose-color:#138143}.imported-purpose .purpose-color-business{--purpose-color:#007fa4}.imported-purpose .purpose-color-family{--purpose-color:#da326d}.imported-purpose .purpose-color-student{--purpose-color:#7450b6}.imported-purpose .purpose-color-senior{--purpose-color:#098a8a}
.imported-purpose .purpose-import-purpose-card .purpose-import-body{padding:18px;line-height:1.85}
.imported-purpose .purpose-import-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.imported-purpose .purpose-import-plan-card .purpose-import-thumb{aspect-ratio:16/9}
.imported-purpose .purpose-import-plan-card .purpose-import-thumb img{height:100%;object-fit:cover}
.imported-purpose .purpose-import-plan-card .purpose-import-body{padding:20px}
.imported-purpose .purpose-import-rec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.imported-purpose .purpose-import-rec-card{grid-template-columns:minmax(0,1fr) 140px;align-items:start;padding:22px;gap:18px}
.imported-purpose .purpose-import-rec-card img{width:140px;height:186px;object-fit:cover;border-radius:6px}
.imported-purpose .purpose-vector-icon{display:inline-block;width:28px;height:28px;flex:0 0 auto;color:#075e55;vertical-align:middle}
.imported-purpose h3 .purpose-vector-icon{margin-right:9px;vertical-align:-5px}
.imported-purpose .purpose-import-purpose-features .purpose-vector-icon{width:34px;height:34px}
.imported-purpose .purpose-import-flow-grid .purpose-vector-icon{display:block;margin:10px auto;width:32px;height:32px}
.imported-purpose .purpose-import-flow-grid article{height:auto;min-height:220px;padding:18px 14px}
.imported-purpose .purpose-import-point-card,.imported-purpose .purpose-import-rec-card{min-width:0}
.imported-school-choice .school-choice-scale{margin:12px 0 20px;padding:12px;background:#f5faf8;border:1px solid #dcebe5;border-radius:10px}
.imported-school-choice .school-choice-scale svg{display:block;width:100%;max-width:360px;height:auto;margin:auto}
.imported-school-choice .school-choice-scale figcaption{display:grid;grid-template-columns:1fr 1fr;gap:24px;text-align:center;font-size:16px;font-weight:700;color:#075e55;line-height:1.6;margin-top:8px}
.imported-school-choice .school-choice-import-failure-grid{gap:22px;align-items:stretch}
.imported-school-choice .school-choice-import-failure-grid article{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}
.imported-school-choice .school-choice-import-failure-grid .school-choice-case-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.imported-school-choice .school-choice-import-failure-grid article>div{padding:20px}
.imported-school-choice .school-choice-import-failure-grid h3{font-size:19px;line-height:1.65;margin:0 0 12px;color:#075e55}
.imported-school-choice .school-choice-import-failure-grid p{font-size:16px;line-height:1.9;color:#4b6268}
.imported-school-choice .school-choice-photo-note{font-size:16px;line-height:1.8;color:#546963;margin:18px 0 0}
.imported-school-choice .school-choice-import-fit-columns{grid-template-columns:1fr}
.imported-school-choice .school-choice-import-next-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.imported-purpose .purpose-import-card-grid-4,.imported-purpose .purpose-import-point-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .imported-purpose .purpose-import-rec-card{grid-template-columns:minmax(0,1fr) 112px;padding:18px;gap:12px}.imported-purpose .purpose-import-rec-card img{width:112px;height:152px}
 .imported-purpose .purpose-import-plan-grid,.imported-purpose .purpose-import-rec-grid{grid-template-columns:1fr}
 .imported-purpose .purpose-import-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .imported-school-choice .school-choice-import-failure-grid{grid-template-columns:1fr}
 .imported-school-choice .school-choice-import-next-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
 .imported-purpose .purpose-import-card-grid-4,.imported-purpose .purpose-import-point-grid{grid-template-columns:1fr}
 .imported-purpose .purpose-photo-label{min-height:66px;font-size:21px}
 .imported-purpose .purpose-collage-note{font-size:16px;padding:8px 10px;right:0}
 .imported-purpose .purpose-import-rec-card{grid-template-columns:1fr}
 .imported-purpose .purpose-import-rec-card img{width:100%;height:auto;aspect-ratio:16/9}
 .imported-purpose .purpose-import-flow-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.imported-purpose .purpose-import-purpose-card .purpose-photo-thumb img{transition:none}}
/* v18: pricing provenance and readable small-screen school detail. */
.finder-card-fee .fee-origin{font-size:16px;line-height:1.5;color:#315f5b;margin-top:9px;overflow-wrap:anywhere}
.rate-provenance{border-top:1px solid #b6d9dc;margin-top:16px;padding-top:13px;color:#285650}
.rate-provenance strong{display:block;font-size:17px}
.rate-provenance p{font-size:16px;line-height:1.7;margin:4px 0;overflow-wrap:anywhere}
.rate-provenance a{color:#005d53;text-decoration:underline;text-underline-offset:3px}
.section-heading h2,.shared-heading h2,.diagnosis-text h2,.purpose-page h1{line-break:strict;word-break:auto-phrase;text-wrap:balance}
.city-page .city-card-image .city-photo{position:static}
.city-page .city-card-image .city-photo figcaption{display:none}
.city-page .city-card-image .city-photo:after{pointer-events:none}
.city-page .city-image-note{display:block;font-size:14px;color:#52636b;margin-bottom:9px;line-height:1.5}
body[data-page="schools"] .closing-cta{overflow:clip}
body[data-page="schools"] .closing-inner{min-width:0;max-width:100%;grid-template-columns:minmax(0,27%) minmax(0,52%) minmax(0,21%)}
body[data-page="schools"] .closing-inner>*{min-width:0;max-width:100%}
@media(max-width:760px){
 body[data-page="school"] .shared-hero{display:flex;flex-direction:column}
 body[data-page="school"] .shared-hero-media{order:0;padding-bottom:0}
 body[data-page="school"] .shared-hero-media .shared-campus img{height:240px;object-fit:cover}
 body[data-page="school"] .shared-hero-media .school-no-photo{min-height:210px}
 body[data-page="school"] .hero-thumbnails{display:none}
 body[data-page="school"] .shared-identity{order:1}
 body[data-page="school"] .shared-facts{grid-template-columns:minmax(0,1fr)}
 body[data-page="school"] .shared-facts>div{min-width:0}
 body[data-page="school"] .shared-heading h2{line-break:strict;word-break:auto-phrase;text-wrap:pretty}
 .rate-provenance{padding-top:12px}
 body[data-page="schools"] .closing-inner{display:block}
}

/* v26: pricing evidence and width corrections. */
.finder-card-fee .fee-origin,.compare-price small,.price-origin{overflow-wrap:anywhere;line-height:1.65}
.price-origin{font-size:14px;margin:9px 0;color:#315f5b}
body[data-page="schools"] .closing-inner{grid-template-columns:minmax(0,27fr) minmax(0,52fr) minmax(0,21fr)}
body[data-page="school"] .shared-hero{grid-template-columns:minmax(0,35fr) minmax(0,65fr)}
body[data-page="school"] .shared-identity h1{overflow-wrap:anywhere;line-break:strict}
.shared-heading>div,.section-heading>div{min-width:0}
.shared-heading h2>span,.section-heading h2>span{overflow-wrap:anywhere}
@media(max-width:760px){body[data-page="school"] .shared-hero{display:flex;flex-direction:column}body[data-page="school"] .shared-hero-media{order:0}body[data-page="school"] .shared-identity{order:1}.city-page .city-image-note{font-size:13px}}

/* v27: shared bottom layout, city cards, and narrow banner lettering. */
.closing-cta{overflow:clip}
.closing-inner{min-width:0;max-width:100%;grid-template-columns:minmax(0,27fr) minmax(0,52fr) minmax(0,21fr)}
.closing-inner>*{min-width:0;max-width:100%}
@media(max-width:760px){
 .closing-inner{display:block}
 .cities-top .city-card:last-child{justify-self:start}
 .reference-banner.frame-working .banner-mobile-copy,.reference-banner.frame-cost .banner-mobile-copy{font-size:clamp(12px,3.65vw,18px);white-space:nowrap;line-height:1.45}
}

/* v28: keep the final words together on narrow purpose banners. */
@media(max-width:760px){
 .reference-banner.frame-appeal .banner-mobile-copy,.reference-banner.frame-life .banner-mobile-copy{font-size:clamp(12px,3.5vw,18px);white-space:nowrap;line-height:1.45}
}

.consult-handoff{margin:1.25rem 0;padding:1.25rem;border:1px solid #d7e9e6;border-radius:16px;background:#f4faf8}.consult-handoff p{margin:0 0 .6rem}.consult-handoff ol{margin:.5rem 0 1rem;padding-left:1.5rem}.consult-handoff li{margin:.35rem 0}.consult-handoff .btn{max-width:100%;white-space:normal;text-align:center}
