.travel-notice{padding:12px 24px;text-align:center;background:#f4efe5;font-size:14px;color:#394b52}.form{display:grid;gap:22px;background:#fff;padding:clamp(20px,5vw,40px);border:1px solid #dedad0;border-radius:20px}.form label{display:grid;gap:8px;font-weight:600}.form input:not([type=checkbox]),.form select,.form textarea{width:100%;min-height:48px;border:1px solid #acb4b7;border-radius:8px;padding:12px;font:inherit;background:white;color:#172d38}.form .consent{display:flex;align-items:center;gap:12px}.consent input{width:22px;height:22px}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.form details{border:1px solid #ddd;padding:16px;border-radius:8px}.form summary{cursor:pointer;min-height:32px}#error{color:#a02020;margin:16px 0}#result,#status{padding:24px;background:#fff;border:1px solid #dedad0;border-radius:16px;margin:24px 0;overflow-wrap:anywhere}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #26768b;outline-offset:4px}[hidden]{display:none!important}.nav.open{display:flex}@media(max-width:760px){.row2{grid-template-columns:1fr}.travel-notice{text-align:left}.hd.open .nav{max-height:calc(100dvh - 80px);overflow-y:auto}.form{padding:20px}.btn{min-height:48px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* ── Senior course lengths (3/6/12 months) ── */
.field-help{font-weight:400;font-size:15px;color:var(--ink-3)}
.hero-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:-12px 0 32px}
.hero-price b{font:600 clamp(24px,3vw,30px)/1.2 var(--serif);color:var(--sea)}
.hero-price span{font-size:16px;color:var(--ink-3)}
.scope-note{margin-top:14px;font-size:16px;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--brass-2);border-radius:var(--r-sm);padding:12px 16px}
.dur-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0;padding:0}
.dur-chips li{font-size:14px;font-weight:700;color:var(--sea);background:var(--sea-soft);border-radius:999px;padding:4px 12px}
.course-picker{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(18px,3vw,28px)}
.dur{border:0;margin:0;padding:0;min-width:0}
.dur-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dur-opt{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:12px;row-gap:6px;padding:18px 20px 20px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.dur-opt:hover{border-color:var(--sea-2)}
.dur-opt input{grid-row:1;align-self:center;width:22px;height:22px;margin:0;accent-color:var(--sea)}
.dur-opt.on,.dur-opt:has(input:checked){border-color:var(--sea);background:var(--sea-soft);box-shadow:inset 0 0 0 1px var(--sea)}
.dur-opt:has(input:focus-visible){outline:3px solid var(--brass-2);outline-offset:3px}
.dur-head{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px}
.dur-name{font:600 20px/1.2 var(--serif);color:var(--ink)}
.dur-off{flex:none;font:700 14px/1 var(--sans);color:var(--brass);background:var(--brass-soft);border-radius:999px;padding:5px 10px;font-variant-numeric:tabular-nums}
.dur-was{grid-column:2;grid-row:2;align-self:start;font-size:14px;line-height:1.45;color:var(--ink-3)}
.dur-was s{font-variant-numeric:tabular-nums;text-decoration-thickness:1.5px;white-space:nowrap}
.dur-price{grid-column:2;grid-row:3;font:600 clamp(24px,2.6vw,30px)/1.1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dur-opt.on .dur-price,.dur-opt:has(input:checked) .dur-price{color:var(--sea)}
.dur-foot{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.dur-note{margin:0;max-width:52ch;font-size:15px;line-height:1.55;color:var(--ink-3)}
.dur-foot .btn{flex:none}
.plan.lang-only,.plan.travel-only{margin-top:40px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,1.1fr) 170px;align-items:center;gap:20px 32px;background:var(--bg);border-style:dashed}
.plan.lang-only+.plan.travel-only{margin-top:16px}
.plan.lang-only h3,.plan.travel-only h3{min-height:0}
.plan.lang-only .btn,.plan.travel-only .btn{margin-top:0}
@media (max-width:1000px){.plan.lang-only,.plan.travel-only{grid-template-columns:1fr 1fr}}
@media (max-width:800px){.dur-opts{grid-template-columns:1fr;gap:10px}.dur-opt{padding:14px 16px}.dur-foot{flex-direction:column;align-items:stretch}.dur-foot .btn{justify-content:center}}
@media (max-width:600px){.plan.lang-only,.plan.travel-only{grid-template-columns:1fr}.hero-price{margin-top:-16px}}
