.subpage .hdr-bar{background:var(--navy)}
.page-intro{padding:calc(var(--hdr) + 38px) 0 52px;background:var(--navy);color:#fff}
.page-intro h1{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.12;color:#fff;max-width:1000px;margin-top:18px}
.page-intro .eyebrow{color:#91c9ed}
.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:.83rem;color:#b8c9db;margin-bottom:32px}
.breadcrumbs a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.price-grid,.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-block:30px}
.price-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.price-grid--one{grid-template-columns:1fr;max-width:740px}
.course-description{font-size:.94rem;line-height:1.75;margin-bottom:24px}
.price-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--shadow);min-width:0}
.price-card h2,.price-card h3{font-size:1.35rem;margin-top:14px;line-height:1.3}
.price-card .eyebrow{font-size:.68rem;min-height:34px;color:var(--blue-d)}
.price-card .price{font:700 2.5rem/1.15 var(--ff-h);color:var(--blue);margin:24px 0}
.price span{display:block;font:400 .95rem/1.5 var(--ff-b);color:var(--muted);margin-top:4px}
.price-card ul{display:grid;gap:12px;margin-bottom:26px;font-size:.92rem}
.price-card li{padding-bottom:10px;border-bottom:1px solid var(--line)}
.price-card .btn{margin-top:auto;width:100%;font-size:.7rem;padding-inline:12px}
.content-note{font-size:.9rem;color:var(--muted);max-width:950px;margin:24px 0 30px;line-height:1.8}
.article-body>p,.content-block p{max-width:950px;line-height:1.85;margin-bottom:20px}
.article-body>.price-grid{margin-block:40px}
.content-block{margin-block:48px}
.content-block h2{font-size:clamp(1.45rem,2.8vw,2rem);margin-bottom:22px}
.content-list{list-style:disc;padding-left:24px;margin-block:20px}
.content-list li{padding-block:6px}
.text-link{font-weight:600;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.related-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:28px}
.table-scroll{overflow-x:auto;margin-block:32px;border:1px solid var(--line);border-radius:16px}
.table-scroll table{width:100%;border-collapse:collapse;min-width:550px;text-align:start}
caption{text-align:start;padding:20px;background:var(--navy);color:white;font-family:var(--ff-h);font-weight:600}
th,td{padding:16px 20px;border-bottom:1px solid var(--line);text-align:start}
thead{background:#eaf3fa;color:var(--navy)}
tbody tr:nth-child(even){background:var(--bg)}
tbody tr:last-child>*{border-bottom:0}
.team-card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:white}
.team-card img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 25%}
.team-card h2{font-size:1.2rem;line-height:1.4;margin:22px 22px 12px}
.team-card p{margin:0 22px 26px;color:var(--muted);font-size:.9rem}
.level-summary{text-align:center;font:700 clamp(1.3rem,3vw,2rem)/1.5 var(--ff-h);color:var(--blue)}
.level-summary span{padding-inline:22px;color:var(--red)}
.lang-menu{grid-template-columns:1fr;width:210px}
.ft-langs a{display:block;color:inherit;padding:6px 0}
.ft-langs a.is-active{color:#fff;text-decoration:underline;text-underline-offset:4px}
.article-body address{line-height:2;overflow-wrap:anywhere}
.ft address a{overflow-wrap:anywhere}
/* Keep the direct form link visible without an empty frame when an external load fails. */
.form-failed #aidaform-mount>[data-aidaform-widget]{display:none}
.form-failed #aidaform-mount{min-height:0}
@media(max-width:950px){.price-grid{gap:14px}.price-card{padding:22px}.price-card .price{font-size:2rem}}
@media(max-width:760px){.price-grid,.team-grid{grid-template-columns:1fr}.price-card{padding:28px}.price-card .eyebrow{min-height:0}.page-intro{padding-bottom:34px}.content-block{margin-block:34px}.lang-menu{inset-inline:auto 12px;grid-template-columns:1fr;width:210px}.team-card img{max-height:360px}}
/* The school-approved program catalog: three immersions and one custom group experience. */
.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:32px}
.program-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);transition:transform .2s,border-color .2s}
.program-card:hover{transform:translateY(-4px);border-color:var(--blue)}
.program-card:focus-within{outline:3px solid var(--blue);outline-offset:4px}
.program-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}
.program-number{color:#bfd5e5;font:700 2.7rem/1 var(--ff-h);letter-spacing:-.05em}
.program-card .eyebrow{font-size:.65rem;letter-spacing:.1em;color:var(--blue-d);margin:0;text-align:end}
.program-card h2,.program-card h3{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.25;margin:0 0 14px;color:var(--navy)}
.program-title-link::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.program-card .program-more{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;color:var(--blue-d);font-size:.88rem}
.program-card .course-description{margin:18px 0 30px;color:var(--muted)}
.program-hours{font-weight:600;font-size:.88rem;line-height:1.6;color:var(--blue-d)}
.group-program{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center;padding:38px;border-radius:var(--r);background:var(--navy);color:#fff;margin-block:24px 32px}
.group-program .eyebrow{color:#9dcdeb;font-size:.7rem;letter-spacing:.12em}
.group-program h2,.group-program h3{color:#fff;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.3;margin:0 0 18px}
.group-program h3 a:hover,.group-program h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.group-program .course-description{color:#dfebf5;margin:0;max-width:700px}
.group-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.group-actions .btn{white-space:normal;text-align:center;line-height:1.6;padding:16px 22px;width:100%}
.group-actions .text-link{font-size:.88rem;color:white}
.course-overview{max-width:950px;margin-bottom:36px}
.course-overview .eyebrow{color:var(--blue-d)}
.course-lead{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.8;margin-bottom:24px}
.course-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.course-panel{padding:30px;background:#edf5fa;border:1px solid var(--line);border-radius:var(--r)}
.course-panel h2{font-size:1.5rem;line-height:1.4;margin-bottom:18px}
.course-panel p{line-height:1.8;color:var(--muted)}
.program-features{display:grid;gap:15px;list-style:none}
.program-features li{padding:0 0 14px 25px;border-bottom:1px solid #d2e0ea;position:relative;font-size:.96rem;line-height:1.7}
.program-features li::before{content:'✓';position:absolute;left:0;color:var(--blue-d);font-weight:700}
.program-features li:last-child{border-bottom:0;padding-bottom:0}
.program-contact{display:flex;flex-direction:column;gap:20px;margin:40px 0;align-items:flex-start}
.program-contact .btn{white-space:normal;line-height:1.6;text-align:center}
.program-contact p{line-height:1.8;color:var(--muted);font-size:.92rem;overflow-wrap:anywhere}
.term-plan{padding:32px;background:#edf5fa;border-radius:var(--r);max-width:950px}
.term-plan .eyebrow{color:var(--blue-d)}
.term-plan .term-length{font-size:clamp(1.3rem,3vw,2rem);color:var(--navy);margin-bottom:18px}
.term-length strong{font:700 clamp(3rem,5vw,4.5rem)/1 var(--ff-h);color:var(--blue);margin-right:8px}
.term-plan p:last-child{margin:0;line-height:1.8}
@media(max-width:1000px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.program-card:last-child{grid-column:1/-1}.group-program{grid-template-columns:1fr;gap:26px}.group-actions{align-items:flex-start}.group-actions .btn{width:auto}}
@media(max-width:600px){.program-grid,.course-detail-grid{grid-template-columns:1fr}.program-card{padding:26px}.program-card:last-child{grid-column:auto}.group-program{padding:28px 24px}.group-actions{width:100%}.group-actions .btn{width:100%;font-size:.72rem}.course-panel{padding:26px}.term-plan{padding:26px}.program-contact .btn{width:100%;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.program-card{transition:none}.program-card:hover{transform:none}}
.group-program h2 a,.group-program h3 a{color:inherit}
/* Original school photo: preserve both people and the full sign in every viewport. */
.welcome-section .split{align-items:center}
.welcome-section .split-img{max-width:520px;justify-self:end;width:100%}
.welcome-section .welcome-photo{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;border-radius:var(--r-lg)}
/* Frame the real avatars from the supplied screenshots without altering their pixels. */
.review-avatar{position:relative;overflow:hidden;background:#fff;isolation:isolate}
.review-avatar img{position:absolute;max-width:none;object-fit:fill}
.rev-top{align-items:center}
.rev-name{overflow-wrap:anywhere}
.rev-name-row{display:flex;align-items:center;gap:9px}
.rev-google{display:block;width:20px;height:auto;flex:none}
.revs{margin-block-end:0;padding-block-end:28px;overscroll-behavior-x:contain;scroll-snap-stop:always}
.rev{scroll-snap-stop:always}
.rev-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:6px var(--gut) 0}
.rev-controls .round-btn{display:grid;position:static;inset:auto;background:#fff;border:0;box-shadow:none;color:var(--navy)}
.rev-controls .round-btn:hover{background:var(--red);color:#fff}
.rev-position{font:600 .9rem/1 var(--ff-h);min-width:42px;text-align:center;font-variant-numeric:tabular-nums;color:#fff}
.rev-play-icon,#rev-toggle.is-paused .rev-pause-icon{display:none}
#rev-toggle.is-paused .rev-play-icon{display:block}
@media(max-width:1100px){.revs-outer{max-width:720px}.revs{gap:calc(var(--gut) + 4px)}.revs .rev{flex:0 0 100%;min-width:0}}
.rev-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rev-date{font-size:.79rem;line-height:1.5;color:var(--muted);white-space:nowrap}
.rev blockquote{margin:0;overflow:visible;max-height:none;-webkit-line-clamp:unset}
@media(max-width:860px){.welcome-section .split-img{justify-self:center;max-width:540px}.welcome-section .split-txt{grid-row:2}.welcome-section .split-img{grid-row:1}}
@media(max-width:560px){.welcome-section .split-img{max-width:420px}.rev-name{font-size:1rem}.rev-date{font-size:.76rem}}
/* Owner-supplied student photos replace the provisional illustrations. */
.why-img .students-open-doors{object-position:50% 68%}
.why-img .students-worldwide-friends,.why-img .students-speaking-confidence{object-position:center}
/* Lightweight YouTube previews. The iframe is inserted only after Play. */
.life-video{overflow:visible;min-width:0}
.youtube-player{position:relative;aspect-ratio:16/9;min-height:200px;width:100%;overflow:hidden;border-radius:var(--r-lg);background:var(--navy);box-shadow:var(--shadow)}
.youtube-player--square{aspect-ratio:1/1;max-width:480px;margin-inline:auto}
.youtube-play{position:absolute;inset:0;display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#fff;overflow:hidden}
.youtube-play[hidden]{display:none}
.youtube-player .youtube-poster{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;opacity:.78;border-radius:0;transition:opacity .2s}
.youtube-player--square .youtube-poster{object-fit:cover}
.youtube-play:hover .youtube-poster{opacity:1}
.youtube-play-icon{z-index:1;display:grid;place-items:center;width:76px;height:54px;border-radius:15px;background:#c90016;box-shadow:0 8px 24px #0005}
.youtube-play-icon svg{width:30px;height:30px;fill:#fff}
.youtube-play-label{position:absolute;bottom:18px;left:16px;right:16px;font:600 .83rem/1.5 var(--ff-h);text-shadow:0 2px 8px #000;padding:6px 12px;background:#0a1b33d9;border-radius:999px;justify-self:center}
.youtube-player iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0}
@media(min-width:561px) and (max-width:860px){.why-img .students-worldwide-friends,.why-img .students-speaking-confidence{object-fit:contain;background:var(--navy)}}

/* Complete language navigation and original partner mark. */
.lang-menu{grid-template-columns:repeat(2,minmax(0,1fr));width:340px;max-height:calc(100svh - var(--hdr) - 30px);overflow:auto;overscroll-behavior:contain}
.lang-menu .lang-opt{display:flex;align-items:center;min-height:44px;white-space:normal}
.ft-credentials{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap;padding-block:32px;margin-top:16px;border-top:1px solid #ffffff24}
.ft-partner{width:160px;height:auto;object-fit:contain}
.accr-mark{display:block;flex:none;max-width:100%;width:160px;background:#fff;border-radius:8px;overflow:hidden;overflow:clip}
/* Frame the intact CEA mark from the school's supplied image, without redrawing it. */
.accr-mark--cea{height:56px}
.accr-mark--cea img{position:relative;left:-34%;width:256%;height:auto;max-width:none}
.accr-mark--sevp img{display:block;width:100%;height:auto;object-fit:contain}
.wa{opacity:1;visibility:visible;transform:none;bottom:calc(20px + env(safe-area-inset-bottom,0px))}
.wa:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px var(--navy)}
@media(min-width:861px) and (max-width:1100px){.accr-item{flex-direction:column}}
[dir="rtl"] .revs{direction:rtl}
[dir="rtl"] .rev blockquote{text-align:left}
[dir="rtl"] .rev-date{unicode-bidi:isolate}
[dir="rtl"] address{text-align:start}
.sysfont h1,.sysfont h2,.sysfont h3{line-height:1.3}
@media(max-width:860px){.lang-menu{position:fixed;inset-inline:12px;top:calc(var(--hdr) + 6px);width:auto;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.lang-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-partner{width:140px}.ft-credentials{gap:24px}.btn{overflow-wrap:anywhere}}
