/* Scoped additions; the existing stylesheet and assessments are unchanged. */
.cost-page [hidden]{display:none!important}
.cost-page select,.cost-page input{font:inherit;color:var(--ink)}
.cost-page .site-nav{gap:clamp(8px,1.3vw,20px)}
.cost-page #cost-question-title{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;margin:28px 0 14px}
.cost-page #cost-question-help{color:var(--ink-soft);margin-bottom:28px}
.cost-page .cost-field{display:block;margin:20px 0}
.cost-page .cost-field>span,.cost-page fieldset>legend{display:block;font-weight:700;margin-bottom:10px}
.cost-page input[type=number],.cost-page input[type=text],.cost-page input[type=search],.cost-page select{width:100%;padding:12px 14px;border:1px solid #a6b3a4;border-radius:10px;background:white;min-height:48px}
.cost-page input[type=checkbox],.cost-page input[type=radio]{width:20px;height:20px;accent-color:var(--forest);flex-shrink:0;margin:2px 0}
.cost-page fieldset{border:0;padding:0;margin:25px 0;min-width:0}
.cost-page .cost-options{display:grid;gap:10px}
.cost-page .cost-option{display:flex;gap:13px;align-items:flex-start;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.cost-page .cost-option:has(input:checked){border-color:var(--forest);background:var(--sage-light)}
.cost-page .cost-option small{display:block;font-weight:400;color:var(--ink-soft);margin-top:3px}
.cost-page .cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}
.cost-page .cost-stepper{display:flex;gap:8px;align-items:center;max-width:250px}
.cost-page .cost-stepper input{text-align:center;min-width:0;-moz-appearance:textfield}
.cost-page .cost-stepper input::-webkit-inner-spin-button{appearance:none}
.cost-page .cost-stepper button{border:1px solid #a6b3a4;border-radius:10px;background:var(--sage-light);width:46px;height:48px;flex-shrink:0;color:var(--forest);font-size:22px}
.cost-page .cost-controls{display:flex;justify-content:space-between;gap:12px;margin-top:32px}
.cost-page #cost-error{color:#8b2c24;font-weight:600}
.cost-page .cost-note{padding:16px 20px;background:var(--sage-light);border-radius:12px;color:var(--ink-soft);font-size:.95rem}
.cost-page .cost-note a{text-decoration:underline}
.cost-page .cost-destinations{max-height:390px;overflow:auto;padding:3px;display:grid;gap:8px;margin:16px 0}
.cost-page .cost-destinations .cost-option{padding:10px 14px}
.cost-page .cost-chip{display:inline-block;background:var(--sage);border-radius:20px;padding:5px 12px;margin:4px;font-size:.9rem}
.cost-page #cost-results-title{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;margin:15px 0}
.cost-page .cost-result-intro{text-align:center;margin-bottom:28px}
.cost-page .cost-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0}
.cost-page .cost-summary>div{padding:22px;border-radius:15px;background:var(--sage-light)}
.cost-page .cost-summary>div:first-child{background:linear-gradient(135deg,var(--ink),var(--forest));color:#fff}
.cost-page .cost-summary strong{display:block;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.25;margin:8px 0;overflow-wrap:anywhere}
.cost-page .cost-summary small{display:block}
.cost-page .cost-result{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}
.cost-page .cost-result h3{font-size:1.8rem;margin:14px 0}
.cost-page .cost-table-wrap{overflow-x:auto}
.cost-page table{width:100%;border-collapse:collapse;font-size:.94rem;margin:15px 0 25px}
.cost-page th,.cost-page td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.cost-page td:last-child,.cost-page th:last-child{text-align:right;white-space:nowrap}
.cost-page tfoot{font-weight:700;background:var(--sage-light)}
.cost-page .cost-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.cost-page .cost-advice{padding-left:22px}
.cost-page .cost-advice li{margin:14px 0}
.cost-page details{border-top:1px solid var(--line);padding:18px 0}
.cost-page summary{cursor:pointer;font-weight:700}
.cost-page .cost-method{font-size:.92rem}
.cost-page .cost-method a{overflow-wrap:anywhere}
.cost-page .cost-print-only{display:none}
.cost-page :focus-visible{outline:3px solid #92672c;outline-offset:4px}
@media(max-width:680px){.cost-page .cost-grid,.cost-page .cost-summary{grid-template-columns:1fr}.cost-page .worldschooling-fit-card{padding:26px 20px}.cost-page .cost-controls .button{padding:12px 18px}.cost-page th,.cost-page td{padding:10px 5px;font-size:.85rem}.cost-page .cost-actions .button{width:100%}.cost-page .cost-stepper{max-width:none}}
@media(prefers-reduced-motion:reduce){.cost-page *{animation:none!important;scroll-behavior:auto!important}}
@media print{
 @page{size:letter;margin:16mm}
 .cost-page{background:#fff;font-size:10pt}
 .cost-page .site-header,.cost-page .site-footer,.cost-page .skip-link,.cost-page .worldschooling-fit-background,.cost-page .cost-actions,.cost-page #cost-welcome,.cost-page #cost-questions,.cost-page .cost-no-print{display:none!important}
 .cost-page .cost-print-only{display:block}
 .cost-page .worldschooling-fit-main{padding:0;overflow:visible}
 .cost-page .shell{width:100%;max-width:none}
 .cost-page .worldschooling-fit-card{padding:0;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
 .cost-page .cost-summary>div:first-child{color:#193047;background:#f1f5ed}
 .cost-page .cost-summary>div{padding:12px;border:1px solid #ccc}
 .cost-page h2,.cost-page h3,.cost-page summary{break-after:avoid}
 .cost-page tr,.cost-page .cost-summary{break-inside:avoid}
 .cost-page details{display:block}.cost-page details>*{display:block!important}
 .cost-page a{color:inherit;text-decoration:none}
 .cost-page table{font-size:9pt}
}

/* v2: regional choices are a normal page list, never a nested scrolling list. */
.cost-page .cost-options{overflow:visible}
.cost-page .cost-result h2{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.2;overflow-wrap:anywhere}
.cost-page #cost-question-title,.cost-page #cost-results-title{scroll-margin-top:150px}
.cost-page .cost-print-only{overflow-wrap:anywhere}

/* v3: one monthly headline per regional comparison. */
.cost-page .cost-summary{grid-template-columns:1fr}

/* Region map selector: self-contained, touch friendly, and keyboard accessible. */
.cost-page .cost-world-map{position:relative;aspect-ratio:900/365;background:#edf3f1;border:1px solid #d7e2dc;border-radius:16px;margin:16px 0 12px;overflow:visible}
.cost-page .cost-world-map svg{display:block;width:100%;height:100%;border-radius:16px;fill:#d5dcd8;stroke:#fff;stroke-width:.65;pointer-events:none}
.cost-page .cost-world-map path[data-region]{fill:#a7b9a0;pointer-events:all;cursor:pointer;transition:fill .15s}
.cost-page .cost-world-map path.is-selected{fill:#365e38}
.cost-page .cost-map-marker{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;isolation:isolate;font:700 12px/1 system-ui;color:#29462d;cursor:pointer;padding:0;z-index:1}
.cost-page .cost-map-marker:before{content:"";position:absolute;inset:8px;background:white;border:1px solid #6d8969;border-radius:50%;z-index:-1;box-shadow:0 1px 5px #16352226}
.cost-page .cost-map-marker[aria-pressed="true"]{color:white}
.cost-page .cost-map-marker[aria-pressed="true"]:before{background:#365e38;border:2px solid white;box-shadow:0 0 0 2px #365e38}
.cost-page .cost-map-marker:hover:before{box-shadow:0 0 0 3px #9bb394}
.cost-page .cost-map-marker:focus-visible,.cost-page .cost-selected-regions button:focus-visible{outline:3px solid #926327;outline-offset:2px}
.cost-page .cost-map-help,.cost-page .cost-map-key{font-size:.85rem;color:#526354}
.cost-page .cost-region-detail{min-height:3.2em;margin:0;padding:10px 12px;background:#f2f5ee;border-radius:8px;font-size:.88rem;line-height:1.5}
.cost-page .cost-map-key{display:flex;gap:8px;align-items:center;margin:10px 0 18px}
.cost-page .cost-map-key span{width:12px;height:12px;background:#a7b9a0;flex-shrink:0;border-radius:2px}
.cost-page .cost-region-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cost-page .cost-region-options .cost-option{align-items:center;min-width:0;min-height:64px;padding:10px;gap:8px}
.cost-page .cost-region-options .cost-option>span:last-child{min-width:0}
.cost-page .cost-region-number{display:grid;place-items:center;border-radius:50%;background:#eef2e9;color:#365e38;font:700 12px system-ui;flex:0 0 24px;width:24px;height:24px}
.cost-page .cost-region-options input:checked~.cost-region-number{background:#365e38;color:white}
.cost-page .cost-selected-regions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cost-page .cost-selected-regions:empty{display:none}
.cost-page .cost-selected-regions button{min-height:44px;border:1px solid #9bae91;border-radius:24px;background:#eef3e7;color:#2c4c30;padding:8px 14px;font:inherit;font-size:.85rem;cursor:pointer}
.cost-page .cost-selected-regions button span{margin-left:8px;font-size:1.2em}
.cost-page .cost-map-mobile-help{display:none}
@media(max-width:600px){
 .cost-page .cost-region-options{grid-template-columns:1fr}
 .cost-page .cost-world-map{aspect-ratio:900/365}
 /* The compact map is visual on phones: every region has a full-size button below. */
 .cost-page .cost-map-marker{display:none}
 .cost-page .cost-map-desktop-help{display:none}
 .cost-page .cost-map-mobile-help{display:inline}
}
@media(prefers-reduced-motion:reduce){.cost-page .cost-world-map path{transition:none}}

/* Global coverage and optional country refinement. */
.cost-page .cost-map-key{flex-wrap:wrap}
.cost-page .cost-map-key .cost-key-selected{background:#365e38;margin-left:8px}
.cost-page .cost-world-map path.is-country-selected{fill:#244728;stroke:#e3c681;stroke-width:1.5}
.cost-page .cost-country-card{border:1px solid var(--line);border-radius:14px;padding:20px;margin:16px 0;background:#f9faf6}
.cost-page .cost-country-card h3{margin:0;font-size:1.35rem;line-height:1.3}
.cost-page .cost-country-hint{font-size:.9rem;line-height:1.5;color:var(--ink-soft);margin-bottom:0}
.cost-page .cost-country-card select{max-width:100%}
.cost-page .cost-scope-label{display:inline-block;padding:5px 12px;border-radius:20px;background:var(--sage-light);color:var(--forest);font-size:.85rem;font-weight:600}
.cost-page .cost-skip{margin-top:14px;white-space:normal}
.cost-page .cost-coverage h3{font-size:1.2rem;margin-bottom:6px}
.cost-page .cost-coverage p{font-size:.9rem;line-height:1.6}
@media(max-width:600px){.cost-page .cost-country-card{padding:16px}.cost-page .cost-country-card select{font-size:16px}}

.cost-page .cost-world-map path.is-hovered:not(.is-selected){fill:#7f9c75}
