
:root{
 --navy:#071d3b;--navy2:#0c3262;--navy3:#114a89;--gold:#c99a32;--gold2:#f0d98b;
 --cream:#fbf8ef;--paper:#fff;--ink:#10243d;--muted:#5a6b7e;--line:#dce4ec;
 --green:#0a8c73;--shadow:0 24px 60px rgba(7,29,59,.12);--softshadow:0 12px 34px rgba(7,29,59,.08);
 --radius:28px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f6f8fb;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:18px;line-height:1.72}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1220px,calc(100% - 34px));margin:auto}
.topnote{background:linear-gradient(90deg,#05182f,#0b3564,#05182f);color:#f6e6b0;text-align:center;padding:9px 16px;font-size:14px;letter-spacing:.06em;font-weight:800}.topcontact{background:#f5ead0;border-bottom:1px solid rgba(7,29,59,.08)}.topcontact .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}.topcontact .label{font-size:13px;font-weight:900;letter-spacing:.08em;color:var(--navy)}.topcontact .items{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.topcontact .item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(7,29,59,.08);font-size:14px;font-weight:800;color:var(--ink);text-decoration:none;box-shadow:0 6px 18px rgba(7,29,59,.05)}.topcontact .item b{color:var(--navy)}.topcontact .item span{font-weight:700;color:#425466}.topcontact .item.email{max-width:100%;overflow-wrap:anywhere}.topcontact .quick{display:flex;gap:10px;flex-wrap:wrap}.topcontact .quick .btn{padding:10px 16px;font-size:14px}@media (max-width:980px){.topcontact .container{flex-direction:column;align-items:flex-start}.topcontact .items{width:100%}.topcontact .quick{width:100%}}@media (max-width:640px){.topcontact .item{width:100%;justify-content:flex-start}.topcontact .quick .btn{flex:1;justify-content:center}}.nav{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(8,39,73,.09)}.navin{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand img{width:58px;height:58px;object-fit:cover;border-radius:15px;box-shadow:0 8px 24px rgba(7,29,59,.15)}.brandstrong{font-family:Georgia,"Times New Roman","Songti SC",serif;font-size:20px;color:var(--navy);font-weight:900;line-height:1.1}.brandsub{font-size:12px;color:#718096;font-weight:700;margin-top:4px}.navlinks{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:800}.navlinks a{text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 19px;text-decoration:none;font-weight:900;border:1px solid transparent;transition:.2s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#0c3566,#071d3b);color:#fff;box-shadow:0 12px 28px rgba(7,29,59,.22)}.btn.gold{background:linear-gradient(135deg,#f1d889,#be8925);color:#071d3b;box-shadow:0 12px 26px rgba(190,137,37,.25)}.btn.light{background:#fff;color:var(--navy);border-color:#cbd7e3}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fffdf6 0%,#fff 44%,#edf5ff 100%);padding:78px 0 70px;border-bottom:1px solid #e5ebf2}.hero:before{content:"";position:absolute;width:650px;height:650px;border-radius:50%;right:-290px;top:-250px;background:radial-gradient(circle,#efd99370 0 32%,transparent 70%)}.hero:after{content:"";position:absolute;left:-180px;bottom:-300px;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,#d8e9ff 0 30%,transparent 70%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.18fr .82fr;gap:46px;align-items:center}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #e1c66f;background:#fff8df;color:#8c6719;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.hero h1{font-family:Georgia,"Times New Roman","Songti SC",serif;color:var(--navy);font-size:clamp(43px,5vw,72px);line-height:1.03;letter-spacing:-.02em;margin:17px 0}.hero h1 span{display:block;font-size:.5em;line-height:1.25;margin-top:10px}.hero .lead{font-size:21px;color:#354e68;max-width:770px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0 20px}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.proof{background:rgba(255,255,255,.9);border:1px solid #dce6ef;border-radius:17px;padding:13px 14px;font-size:14px;font-weight:850;color:#264563;box-shadow:0 7px 20px rgba(7,29,59,.05)}.proof b{display:block;color:var(--navy);font-size:17px}.hero-side{position:relative}.hero-card{background:rgba(255,255,255,.94);border:1px solid #dfe7ef;border-radius:32px;padding:24px;box-shadow:var(--shadow)}.hero-card img{width:190px;height:190px;object-fit:cover;border-radius:28px;margin:0 auto 16px}.hero-card h2{font-family:Georgia,"Times New Roman","Songti SC",serif;color:var(--navy);text-align:center;margin:4px 0 4px;font-size:29px}.hero-card .role{text-align:center;color:#71571d;font-weight:900}.hero-card p{text-align:center;color:var(--muted);margin:7px 0}.mini-contact{margin-top:18px;background:linear-gradient(135deg,#071d3b,#0d4079);color:#fff;border-radius:22px;padding:17px}.mini-contact .title{color:#f5db91;font-weight:950}.mini-contact a{text-decoration:none}.mini-contact .row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:8px;margin-top:8px;font-size:14px}.mini-contact b{color:#fff}.mini-contact span,.mini-contact a{color:#dce9f6;font-weight:750}
.trustbar{background:#fff;border-bottom:1px solid #e1e8ef}.trustgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.trustitem{text-align:center;padding:19px 12px;border-right:1px solid #e8edf2;font-size:14px;color:#66798c}.trustitem:last-child{border-right:0}.trustitem b{display:block;color:var(--navy);font-size:16px}
.section{padding:82px 0}.section.alt{background:#fff}.section.deep{background:linear-gradient(135deg,#061b36,#0d3f76);color:#fff}.sectionhead{max-width:900px;margin:0 auto 37px;text-align:center}.eyebrow{display:block;color:var(--gold);font-size:13px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.section h2{font-family:Georgia,"Times New Roman","Songti SC",serif;color:var(--navy);font-size:clamp(34px,4vw,52px);line-height:1.15;margin:6px 0 13px}.section.deep h2{color:#fff}.sectionhead p{color:var(--muted);font-size:19px;margin:0}.section.deep .sectionhead p{color:#d7e4f2}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid #dde6ee;border-radius:var(--radius);padding:27px;box-shadow:var(--softshadow)}.card h3{font-size:23px;line-height:1.28;color:var(--navy);margin:0 0 9px}.card p{color:var(--muted);margin:0}.icon{width:49px;height:49px;border-radius:15px;background:#eff5fb;display:grid;place-items:center;font-size:25px;margin-bottom:14px}.check{list-style:none;margin:15px 0 0;padding:0}.check li{position:relative;padding-left:29px;margin:8px 0}.check li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:950}.quote{background:linear-gradient(135deg,#fff9e5,#fff);border:1px solid #ead7a0;border-left:6px solid var(--gold);border-radius:0 22px 22px 0;padding:25px 27px;font-size:20px;font-weight:800;color:#28425f;margin:28px 0}
.signature{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.signature .big{background:linear-gradient(145deg,#071d3b,#0d3e73);color:#fff;border-radius:30px;padding:33px;box-shadow:var(--shadow)}.signature .big h3{font-family:Georgia,"Times New Roman","Songti SC",serif;font-size:33px;margin:0 0 12px;color:#fff}.signature .big p{color:#dce8f4}.signature .steps{display:grid;gap:13px}.step{background:#fff;border:1px solid #dee6ee;border-radius:20px;padding:18px;display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start}.num{width:42px;height:42px;border-radius:14px;background:#fff2c8;color:#755313;font-weight:950;display:grid;place-items:center}.step h4{margin:0;color:var(--navy);font-size:18px}.step p{margin:2px 0 0;color:var(--muted);font-size:15px}
.path{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin:31px 0}.course{position:relative;text-align:center;background:#fff;border:1px solid #d9e3ec;border-radius:21px;padding:21px 14px;box-shadow:0 8px 24px rgba(7,29,59,.05)}.course b{display:block;color:var(--navy);font-size:24px}.course span{font-size:14px;color:var(--muted)}.course:not(:last-child):after{content:"→";position:absolute;right:-14px;top:39%;font-weight:950;font-size:24px;color:#2a6fb6;z-index:2}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.chip{background:#edf4fb;color:#244766;border:1px solid #d7e2ed;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:850}
.program-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:25px;padding:25px}.program-card h3{color:#f4d98d;margin:0 0 8px;font-size:22px}.program-card p{color:#d8e5f1;margin:0}.program-card .tag{display:inline-block;background:rgba(240,217,139,.12);border:1px solid rgba(240,217,139,.28);color:#f4dfa2;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;margin-bottom:9px}.small-uni{margin-top:20px;padding:18px 22px;border-radius:20px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);color:#d8e5f1}.small-uni strong{color:#f4d98d}.small-uni span{font-size:14px}
.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.journey .j{background:#fff;border:1px solid #dde6ee;border-radius:23px;padding:23px;text-align:center;box-shadow:0 8px 24px rgba(7,29,59,.05)}.j .round{width:52px;height:52px;border-radius:18px;margin:0 auto 12px;display:grid;place-items:center;background:#eff5fb;font-size:26px}.j b{display:block;color:var(--navy);font-size:18px}.j p{margin:6px 0 0;color:var(--muted);font-size:15px}
.story{display:grid;grid-template-columns:82px 1fr;gap:18px}.storybadge{width:72px;height:72px;border-radius:22px;background:linear-gradient(145deg,#fff0b9,#e7b641);display:grid;place-items:center;font-size:31px}.story h3{margin:0 0 8px}.story p{margin:0 0 11px;color:var(--muted)}
/* Collapsible / resizable survey experience */
.surveybox{background:linear-gradient(135deg,#061b35,#0c427b);border-radius:34px;padding:28px;box-shadow:var(--shadow);overflow:visible}.surveybox h2{color:#fff;text-align:center;margin:0 0 8px;font-size:34px}.surveybox .sub{text-align:center;color:#d9e7f4;margin:0 auto 18px;max-width:860px}.survey-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px auto 18px;max-width:880px}.survey-summary span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.07);color:#e8f2fb;font-size:14px;font-weight:800;text-align:center}.survey-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.survey-actions .btn{font-family:inherit;font-size:15px;cursor:pointer}.survey-actions .btn.ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);color:#fff}.survey-actions .btn.ghost:hover{background:rgba(255,255,255,.14)}.survey-host{display:none}.survey-backdrop{display:none;position:fixed;inset:0;z-index:9997;background:rgba(3,17,35,.68);backdrop-filter:blur(5px)}.survey-backdrop.is-open{display:block}.survey-panel{display:none;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9998;width:min(1040px,calc(100vw - 34px));max-height:92dvh;border-radius:24px;background:#f8fbff;border:1px solid rgba(255,255,255,.25);box-shadow:0 30px 90px rgba(0,0,0,.38);overflow:hidden}.survey-panel.is-open{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.survey-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:linear-gradient(90deg,#eef5fb,#fff8e4);border-bottom:1px solid #dbe4ec}.survey-status{font-size:13px;color:#536a80;font-weight:750;line-height:1.4}.survey-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.survey-tool{appearance:none;border:1px solid #c8d6e3;background:#fff;color:#173b60;border-radius:999px;padding:8px 11px;font:800 13px/1.1 inherit;cursor:pointer;box-shadow:0 3px 10px rgba(7,29,59,.06)}.survey-tool:hover{background:#f1f6fb}.survey-tool.close{background:#0b315f;color:#fff;border-color:#0b315f}.survey-viewport{height:min(66dvh,720px);min-height:470px;background:#fff;transition:height .22s ease,width .22s ease}.survey-panel.is-large{width:min(1280px,calc(100vw - 22px));max-height:96dvh}.survey-panel.is-large .survey-viewport{height:84dvh}.surveyframe{width:100%;height:100%;border:0;background:#fff;display:block}.survey-note{padding:10px 14px 13px;background:#f8fbff;color:#62778c;font-size:12px;line-height:1.5;text-align:center}.survey-note strong{color:#183d62}.survey-panel.is-fullscreen{inset:0;left:0;top:0;transform:none;width:100vw;max-height:none;height:100dvh;border-radius:0;border:0;background:#f8fbff;box-shadow:none}.survey-panel.is-fullscreen .survey-viewport{height:auto;min-height:0}.survey-panel.is-fullscreen .survey-toolbar{padding-top:max(12px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.survey-panel.is-fullscreen .survey-note{padding-bottom:max(12px,env(safe-area-inset-bottom))}body.survey-lock{overflow:hidden}body.survey-lock .floating{display:none}.surveyopen{text-align:center;margin-top:12px}.surveyopen a{color:#f7dfa0;font-weight:900}.survey-mini-note{margin:13px auto 0;text-align:center;color:#bdd0e2;font-size:13px;max-width:780px}
.testboard{background:#fff;border:1px solid #dde6ee;border-radius:30px;padding:12px;box-shadow:var(--shadow)}.testboard img{border-radius:22px;width:100%}.testgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.testgrid figure,.gallery figure{margin:0;background:#fff;border:1px solid #dfe7ef;border-radius:24px;overflow:hidden;box-shadow:0 9px 28px rgba(7,29,59,.06)}.testgrid img,.gallery img{width:100%;cursor:zoom-in}.testgrid figcaption,.gallery figcaption{padding:14px 16px;color:#5c6c7c;font-size:14px}.voice-note{margin-top:13px;background:#fff8df;border:1px solid #ead28f;color:#70551d;border-radius:17px;padding:12px 15px;font-size:14px;font-weight:800}.voice-note span{font-size:18px;margin-right:5px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery figure:first-child{grid-column:1/-1}.contact-card{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center}.contact-card.single{grid-template-columns:1fr}.contactbox{background:#fff;border-radius:30px;padding:28px;color:var(--ink);box-shadow:var(--shadow)}.contactbox h3{font-family:Georgia,"Times New Roman","Songti SC",serif;color:var(--navy);font-size:30px;margin:0 0 13px}.crow{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #e4e9ef;padding:11px 0;font-size:15px}.crow b{color:var(--navy)}.crow a{text-decoration:none;color:#1b568f;font-weight:850;word-break:break-all}.ref{margin-top:12px;background:#fff6d8;border:1px solid #e5cb77;border-radius:16px;padding:13px;color:#694c0e;font-weight:850}.contactshot{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:26px;padding:12px}.contactshot img{border-radius:18px;max-height:430px;margin:auto}.faq{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq details{background:#fff;border:1px solid #dfe7ef;border-radius:19px;padding:17px 19px}.faq summary{cursor:pointer;color:var(--navy);font-weight:900}.faq p{color:var(--muted);margin:9px 0 0}.footer{background:#04162c;color:#cbd9e7;padding:28px 0;font-size:14px}.footergrid{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.floating{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;gap:8px}.floating .btn{padding:10px 15px}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:28px}.lightbox.open{display:flex}.lightbox img{max-width:96vw;max-height:92vh;object-fit:contain}.lightbox button{position:absolute;right:22px;top:18px;background:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:28px;cursor:pointer}

/* High school + IB premium detail */
.highschool{background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%)}
.hs-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;background:linear-gradient(135deg,#071d3b,#104a88);border-radius:30px;padding:30px;color:#fff;box-shadow:var(--shadow);margin-bottom:22px}.hs-intro h3{font-size:30px;margin:8px 0;color:#fff}.hs-intro p{color:#d8e7f6;margin:0}.microtag{display:inline-flex;border-radius:999px;padding:6px 11px;background:#f4dda0;color:#67480f;font-weight:950;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.hs-focus{display:flex;align-content:flex-start;flex-wrap:wrap;gap:9px}.hs-focus b{width:100%;font-size:16px;color:#f4d98d;margin-bottom:2px}.hs-focus span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:8px 11px;border-radius:999px;font-size:13px;font-weight:800;color:#ecf5ff}.course-detail-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.course-detail{grid-column:span 2;background:#fff;border:1px solid #dce6ef;border-radius:25px;padding:24px;box-shadow:var(--softshadow);position:relative;overflow:hidden}.course-detail:nth-child(4),.course-detail:nth-child(5){grid-column:span 3}.course-detail.featured{border-top:5px solid #c99a32}.course-code{display:inline-flex;background:#eaf3fc;color:#0b3e73;padding:5px 10px;border-radius:10px;font-weight:950;font-size:15px}.grade{color:#8a6b28;font-size:13px;font-weight:900;margin-top:8px}.course-detail h3{font-size:22px;margin:7px 0 11px;color:var(--navy)}.course-detail ul{margin:0 0 14px;padding-left:20px;color:#415a72}.course-detail li{margin:5px 0}.course-goal{background:#f7f2e3;border-radius:14px;padding:11px 13px;font-size:14px;color:#4b5360}.hs-exam-band{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.hs-exam-band>div{background:#fff;border:1px solid #dce6ef;border-radius:23px;padding:23px}.hs-exam-band h3{margin:7px 0 6px;color:var(--navy)}.hs-exam-band p{margin:0;color:var(--muted)}
.ib-premium{background:linear-gradient(140deg,#04162d 0%,#092c56 55%,#0b3d70 100%);color:#fff;position:relative;overflow:hidden}.ib-premium:before{content:"";position:absolute;inset:auto -180px -200px auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(231,188,76,.18),transparent 68%)}.ib-premium .sectionhead{position:relative}.ib-premium .sectionhead h2{color:#fff}.ib-premium .sectionhead p{color:#d8e5f2}.ib-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}.ib-track{display:grid;grid-template-columns:80px 1fr;gap:20px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:27px}.ib-badge{width:72px;height:72px;border-radius:21px;background:linear-gradient(145deg,#f3db90,#b98520);display:grid;place-items:center;color:#071d3b;font-weight:1000;font-size:28px}.ib-badge.ai{background:linear-gradient(145deg,#d9efff,#5fa7df)}.ib-track h3{margin:0;color:#f6dd94;font-size:25px}.ib-sub{color:#d8e5f2;margin:7px 0 12px}.ib-track ul{padding-left:19px;color:#dce8f4;margin-bottom:0}.ib-track li{margin:7px 0}.ib-topics{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.ib-topics span{font-size:12px;font-weight:850;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);padding:5px 8px;border-radius:999px;color:#eef6ff}.ib-system{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.ib-system article{background:#fff;color:var(--ink);border-radius:22px;padding:20px}.ib-system span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff0bf;color:#785716;font-weight:950}.ib-system h3{margin:10px 0 5px;color:var(--navy);font-size:19px}.ib-system p{margin:0;color:var(--muted);font-size:14px}.ib-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.ib-detail{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.14);border-radius:21px;padding:21px}.ib-detail h3{margin:0 0 7px;color:#f3db90;font-size:19px}.ib-detail p{margin:0;color:#d8e5f2;font-size:14px}.ia-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center;margin-top:20px;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.17);border-radius:27px;padding:26px}.ia-panel h3{color:#fff;margin:8px 0 6px;font-size:25px}.ia-panel p{color:#d8e5f2;margin:0}.ia-points{display:flex;flex-wrap:wrap;gap:9px}.ia-points span{background:#fff;color:#173958;border-radius:999px;padding:8px 10px;font-weight:850;font-size:13px}.ib-audience{margin-top:18px;border-left:5px solid #e5bd54;background:rgba(0,0,0,.15);border-radius:0 22px 22px 0;padding:20px 23px}.ib-audience h3{color:#f3db90;margin:0 0 8px}.ib-audience>div{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ib-audience p{margin:0;color:#dce8f3;font-size:14px}

@media(max-width:980px){.navlinks a:not(.btn){display:none}.hero-grid,.signature,.contact-card{grid-template-columns:1fr}.hero-side{max-width:620px}.trustgrid{grid-template-columns:repeat(2,1fr)}.trustitem{border-bottom:1px solid #e8edf2}.grid4,.journey{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:1fr 1fr}.path{grid-template-columns:1fr}.course:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-20px}.gallery{grid-template-columns:1fr}.gallery figure:first-child{grid-column:auto}.testgrid{grid-template-columns:1fr}.faq{grid-template-columns:1fr}}
@media(max-width:650px){body{font-size:17px}.container{width:min(100% - 22px,1220px)}.hero{padding:52px 0}.hero h1{font-size:43px}.hero .lead{font-size:19px}.hero-proof,.grid2,.grid3,.grid4,.journey{grid-template-columns:1fr}.trustgrid{grid-template-columns:1fr}.trustitem{border-right:0}.section{padding:62px 0}.surveybox{padding:16px;border-radius:24px}.floating{left:12px;right:12px;justify-content:center}.floating .btn{flex:1}.contact-card{gap:16px}.navin{min-height:70px}.brand img{width:49px;height:49px}.brandstrong{font-size:16px}.hero-card{padding:18px}.testimonial-main{padding:8px}}

@media(max-width:700px){.surveybox{padding:18px 14px;border-radius:25px}.surveybox h2{font-size:30px;line-height:1.22}.survey-summary{grid-template-columns:1fr;gap:7px}.survey-summary span{min-height:40px}.survey-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.survey-actions .btn{padding:11px 10px;font-size:14px}.survey-actions .btn:last-child{grid-column:1/-1}.survey-toolbar{align-items:flex-start;flex-direction:column}.survey-tools{width:100%;justify-content:space-between}.survey-tool{flex:1;min-width:0;padding:9px 7px}.survey-panel{width:calc(100vw - 18px);max-height:96dvh;border-radius:20px}.survey-viewport{height:66dvh;min-height:420px}.survey-panel.is-large{width:calc(100vw - 8px)}.survey-panel.is-large .survey-viewport{height:84dvh}.survey-status{font-size:12px}.survey-note{font-size:11px}}

@media(max-width:980px){.hs-intro,.ib-compare,.ia-panel{grid-template-columns:1fr}.course-detail-grid{grid-template-columns:1fr 1fr}.course-detail,.course-detail:nth-child(4),.course-detail:nth-child(5){grid-column:span 1}.ib-system{grid-template-columns:1fr 1fr}.ib-detail-grid{grid-template-columns:1fr 1fr}.ib-audience>div{grid-template-columns:1fr}.hs-exam-band{grid-template-columns:1fr}}
@media(max-width:640px){.course-detail-grid,.ib-system,.ib-detail-grid{grid-template-columns:1fr}.ib-track{grid-template-columns:1fr}.ib-badge{width:58px;height:58px}.hs-intro{padding:23px}.hs-intro h3{font-size:24px}.course-detail{padding:21px}}

/* Premium top admissions / mobile polish */
.topnote{padding:8px 14px;font-size:13px;letter-spacing:.055em}
.topcontact{background:linear-gradient(90deg,#fbf5e6,#f3e4b9,#fbf5e6)}
.topcontact .container{padding:11px 0}
.topcontact .label{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em}
.topcontact .label:before{content:"";width:8px;height:8px;border-radius:50%;background:#c99a32;box-shadow:0 0 0 4px rgba(201,154,50,.15)}
.topcontact .item{transition:.18s ease}
.topcontact a.item:hover{transform:translateY(-1px);border-color:#cfaa56;box-shadow:0 8px 22px rgba(7,29,59,.09)}
.topcontact .quick .consult{background:linear-gradient(135deg,#071d3b,#0d4079);color:#fff;border-color:transparent}
.topcontact .quick .survey-quick{background:linear-gradient(135deg,#f2dc94,#c7902a);color:#071d3b;border-color:transparent}
.hero h1 .hero-sub{display:block;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:.40em;line-height:1.28;letter-spacing:0;margin-top:16px;font-weight:900;color:#173e69}
.hero h1 .hero-meta{display:block;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:.27em;line-height:1.45;letter-spacing:.01em;margin-top:9px;font-weight:800;color:#64758a}
.hero-actions .wechat-cta{background:#f7fbf9;border-color:#b9ded1;color:#075f50}
.nav-quick-contact{display:none}
@media(max-width:980px){
  .navin{min-height:72px}
  .navlinks .btn{display:inline-flex}
}
@media(max-width:650px){
  .topnote{font-size:11px;padding:7px 10px;white-space:normal;line-height:1.35}
  .topcontact .container{gap:9px;padding:9px 0}
  .topcontact .label{font-size:11px}
  .topcontact .items{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .topcontact .item{width:auto;min-width:0;padding:8px 9px;font-size:12px;border-radius:15px;line-height:1.25}
  .topcontact .item.email{grid-column:1/-1}
  .topcontact .item.email span{font-size:11px;word-break:break-all}
  .topcontact .quick{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .topcontact .quick .btn{padding:9px 7px;font-size:12px}
  .navin{min-height:64px;gap:8px}
  .brand{gap:9px;min-width:0}
  .brand img{width:44px;height:44px;border-radius:12px;flex:0 0 auto}
  .brandstrong{font-size:14px;line-height:1.05;max-width:175px}
  .brandsub{font-size:10px;line-height:1.2;margin-top:3px}
  .navlinks{gap:0}
  .navlinks .btn{padding:9px 12px;font-size:12px}
  .hero{padding:42px 0 50px}
  .pill{font-size:11px;padding:6px 10px;white-space:normal}
  .hero h1{font-size:38px;line-height:1.04;margin:14px 0}
  .hero h1 .hero-sub{font-size:.48em;line-height:1.3;margin-top:13px}
  .hero h1 .hero-meta{font-size:.34em;line-height:1.45;margin-top:8px}
  .hero .lead{font-size:17px;line-height:1.72}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:21px 0 18px}
  .hero-actions .btn{padding:11px 10px;font-size:13px;white-space:normal;text-align:center}
  .hero-actions .btn:first-child{grid-column:1/-1}
  .hero-card img{width:145px;height:145px}
  .mini-contact .row{font-size:13px;flex-wrap:wrap}
}
@media(max-width:390px){
  .brandstrong{max-width:140px;font-size:13px}
  .navlinks .btn{padding:8px 9px;font-size:11px}
  .hero h1{font-size:35px}
}

/* ===== Responsive V3: desktop + mobile polish ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
.container{max-width:1220px}
.topcontact .container{align-items:center}
.topcontact .items{min-width:0}
.topcontact .item{max-width:100%}
.navin,.hero-grid,.hs-intro,.ib-compare,.ia-panel,.contact-card{min-width:0}
.hero h1,.section h2,.card h3,.course-detail h3,.ib-track h3{overflow-wrap:anywhere}

@media (min-width:981px){
  .topcontact .container{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:10px 0}
  .topcontact .items{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:5px}
  .topcontact .item{padding:7px 11px;font-size:13px}
  .topcontact .quick{align-self:center}
  .navin{min-height:76px}
  .brandstrong{font-size:19px;white-space:nowrap}
  .hero{padding:66px 0 64px}
  .hero-grid{gap:38px}
}

@media (max-width:980px){
  .container{width:min(100% - 30px,1220px)}
  .topnote{display:none}
  .topcontact{border-bottom:1px solid #ead9aa}
  .topcontact .container{display:block;padding:8px 0}
  .topcontact .label{display:none}
  .topcontact .items{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-bottom:1px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .topcontact .items::-webkit-scrollbar{display:none}
  .topcontact .item{flex:0 0 auto;width:auto!important;min-width:0;padding:7px 10px;border-radius:12px;font-size:12px;line-height:1.2;box-shadow:none}
  .topcontact .item b{display:none}
  .topcontact .item.email{grid-column:auto}
  .topcontact .item.email span{font-size:12px;word-break:normal;white-space:nowrap}
  .topcontact .quick{display:none}

  .nav{top:0}
  .navin{min-height:58px;gap:8px}
  .brand{gap:8px;min-width:0;max-width:calc(100% - 86px)}
  .brand img{width:40px;height:40px;border-radius:11px;flex:0 0 auto}
  .brandstrong{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}
  .brandsub{display:none}
  .navlinks{gap:0;flex:0 0 auto}
  .navlinks a:not(.btn){display:none}
  .navlinks .btn{padding:8px 11px;font-size:11px;box-shadow:none}

  .hero{padding:34px 0 40px}
  .hero:before{width:360px;height:360px;right:-190px;top:-170px}
  .hero:after{width:300px;height:300px;left:-170px;bottom:-180px}
  .hero-grid{grid-template-columns:1fr;gap:22px}
  .hero-grid>div:first-child{text-align:center}
  .pill{font-size:10px;padding:6px 10px;line-height:1.2;text-align:center}
  .hero h1{font-size:clamp(31px,8vw,39px);line-height:1.06;letter-spacing:-.015em;margin:13px auto 0;max-width:720px}
  .hero h1 .hero-sub{font-size:.48em;line-height:1.32;margin-top:12px}
  .hero h1 .hero-meta{font-size:.35em;line-height:1.45;margin-top:7px}
  .hero .lead{font-size:16px;line-height:1.68;margin:16px auto 0;max-width:680px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:19px 0 16px}
  .hero-actions .btn{padding:11px 9px;font-size:12px;white-space:normal;line-height:1.25;text-align:center}
  .hero-actions .btn:first-child{grid-column:1/-1}
  .hero-proof{display:grid;grid-template-columns:1fr;gap:7px;text-align:left}
  .proof{padding:10px 12px;border-radius:14px;font-size:12px;line-height:1.4}
  .proof b{font-size:14px;margin-bottom:1px}

  .hero-side{max-width:none;margin:0}
  .hero-card{display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:13px;row-gap:2px;align-items:center;padding:14px;border-radius:20px;text-align:left;box-shadow:0 12px 30px rgba(7,29,59,.10)}
  .hero-card img{grid-column:1;grid-row:1/5;width:70px;height:70px;border-radius:16px;margin:0}
  .hero-card h2{grid-column:2;text-align:left;font-size:20px;line-height:1.1;margin:0}
  .hero-card .role{grid-column:2;text-align:left;font-size:12px;line-height:1.3}
  .hero-card p{grid-column:2;text-align:left;font-size:12px;line-height:1.45;margin:2px 0 0}
  .hero-card .mini-contact{display:none}

  .trustgrid{grid-template-columns:1fr 1fr}
  .trustitem{padding:13px 8px;font-size:12px;line-height:1.35}
  .trustitem b{font-size:14px}
  .trustitem:last-child{grid-column:1/-1}

  .section{padding:52px 0}
  .sectionhead{margin-bottom:26px}
  .section h2{font-size:clamp(29px,7vw,38px);line-height:1.15}
  .sectionhead p{font-size:16px;line-height:1.65}
  .eyebrow{font-size:11px;letter-spacing:.12em}
  .quote{font-size:17px;line-height:1.7;padding:20px}
  .grid2,.grid3,.grid4,.journey{grid-template-columns:1fr}
  .card{padding:20px;border-radius:20px}
  .card h3{font-size:20px}

  .hs-intro,.ib-compare,.ia-panel{grid-template-columns:1fr;gap:16px}
  .hs-intro{padding:21px;border-radius:22px}
  .course-detail-grid,.ib-system,.ib-detail-grid{grid-template-columns:1fr}
  .course-detail,.course-detail:nth-child(4),.course-detail:nth-child(5){grid-column:span 1;padding:20px;border-radius:21px}
  .hs-exam-band{grid-template-columns:1fr}
  .ib-track{grid-template-columns:58px 1fr;gap:13px;padding:20px;border-radius:22px}
  .ib-badge{width:52px;height:52px;border-radius:15px;font-size:21px}
  .ib-track h3{font-size:21px}
  .ib-audience>div{grid-template-columns:1fr}
  .ia-panel{padding:20px;border-radius:22px}

  .surveybox{padding:18px 14px;border-radius:22px}
  .surveybox h2{font-size:27px;line-height:1.2}
  .surveybox .sub{font-size:15px;line-height:1.55}
  .survey-summary{grid-template-columns:1fr;gap:6px}
  .survey-summary span{min-height:38px;font-size:13px}
  .survey-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .survey-actions .btn{padding:10px 8px;font-size:12px;white-space:normal}
  .survey-actions .btn:last-child{grid-column:1/-1}

  .testgrid,.gallery{grid-template-columns:1fr}
  .gallery figure:first-child{grid-column:auto}
  .testgrid figure,.gallery figure{border-radius:18px}
  .testgrid figcaption,.gallery figcaption{font-size:12px;line-height:1.5;padding:11px 12px}

  .contactbox{padding:20px;border-radius:22px}
  .contactbox h3{font-size:24px}
  .crow{display:grid;grid-template-columns:95px minmax(0,1fr);gap:8px;font-size:13px}
  .faq{grid-template-columns:1fr}
  .faq details{padding:15px;border-radius:16px}
  .footer{padding:22px 0 92px}
  .footergrid{display:block;text-align:center;font-size:12px;line-height:1.55}
  .footergrid>div+div{margin-top:8px}

  .floating{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));gap:7px;justify-content:center}
  .floating .btn{flex:1;padding:10px 8px;font-size:12px;box-shadow:0 7px 18px rgba(7,29,59,.18)}
}

@media (max-width:420px){
  .container{width:calc(100% - 22px)}
  .topcontact .item{font-size:11px;padding:6px 8px}
  .topcontact .item.email span{font-size:11px}
  .brand{max-width:calc(100% - 76px)}
  .brand img{width:36px;height:36px}
  .brandstrong{font-size:13px}
  .navlinks .btn{padding:7px 9px;font-size:10.5px}
  .hero{padding-top:28px}
  .hero h1{font-size:30px}
  .hero h1 .hero-sub{font-size:.50em}
  .hero h1 .hero-meta{font-size:.37em}
  .hero .lead{font-size:15px}
  .hero-actions{grid-template-columns:1fr}
  .hero-actions .btn:first-child{grid-column:auto}
  .hero-card{grid-template-columns:60px minmax(0,1fr);padding:12px}
  .hero-card img{width:60px;height:60px}
  .hero-card h2{font-size:18px}
  .trustgrid{grid-template-columns:1fr 1fr}
  .section{padding:44px 0}
  .section h2{font-size:28px}
  .survey-actions{grid-template-columns:1fr}
  .survey-actions .btn:last-child{grid-column:auto}
  .crow{grid-template-columns:1fr;gap:2px}
}


/* FINAL RESPONSIVE SAFETY OVERRIDES — full brand/contact visibility on phones */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas,iframe{max-width:100%}
a,p,li,span,div,h1,h2,h3,h4,figcaption{overflow-wrap:break-word}

@media (max-width:980px){
  .topcontact .container{display:block!important;padding:8px 0!important}
  .topcontact .items{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .topcontact .item{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    padding:8px 10px!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  .topcontact .item span{min-width:0;white-space:normal!important}
  .topcontact .item.email{grid-column:1/-1!important}
  .topcontact .item.email span{font-size:11.5px!important;word-break:break-all!important;white-space:normal!important}
  .topcontact .quick{display:none!important}

  .navin{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    min-height:66px!important;
    padding:6px 0!important;
  }
  .brand{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
    max-width:none!important;
    width:100%!important;
  }
  .brand>div{min-width:0!important;max-width:100%!important}
  .brand img{width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:11px!important}
  .brandstrong{
    display:block!important;
    max-width:none!important;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif!important;
    font-size:14px!important;
    line-height:1.16!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .brandsub{display:none!important}
  .navlinks{min-width:0!important;flex:0 0 auto!important}
  .navlinks .btn{
    padding:9px 11px!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
}

@media (max-width:420px){
  .topcontact .item{font-size:11px!important;padding:7px 8px!important}
  .topcontact .item.email span{font-size:10.5px!important}
  .navin{min-height:64px!important;gap:6px!important}
  .brand{gap:7px!important}
  .brand img{width:36px!important;height:36px!important;flex-basis:36px!important}
  .brandstrong{font-size:12.5px!important;line-height:1.14!important}
  .navlinks .btn{padding:7px 8px!important;font-size:10px!important}
}

@media (max-width:350px){
  .topcontact .items{grid-template-columns:1fr!important}
  .topcontact .item.email{grid-column:auto!important}
  .brandstrong{font-size:12px!important}
  .navlinks .btn{padding:7px 7px!important;font-size:9.5px!important}
}



/* A responsive, multi-page, accessible site shell for original content */
:root{--navy:#102b4a;--navy2:#09213e;--accent:#e7be69;--cream:#f8f6f1;--paper:#fff;--ink:#193049;--muted:#607085;--line:#e0e6ed;--radius:24px}
html{scroll-padding-top:90px}body{background:#f8fafc;font-size:16px;color:#1d324a;line-height:1.67;overflow-x:hidden}body:has(.new-hero){background:#f7f8fa}
.site-container{width:min(1210px,calc(100% - 40px));margin:0 auto}
.site-banner{background:#0b223f;color:#e9eff8;font-size:12px;font-weight:650;letter-spacing:.07em}.site-banner .site-container{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}.site-banner a{color:#ffda87;text-decoration:none}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #e9edf1;position:sticky;top:0;z-index:120;backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(12,33,60,.035)}
.header-main{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:79px}
.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.site-brand img{width:45px;height:45px;object-fit:cover;border-radius:12px}.site-brand .brand-info{display:block;line-height:1.1}.site-brand strong{font-size:19px;letter-spacing:-.045em;color:#0f2a48;display:block;white-space:nowrap}.site-brand small{color:#70849a;font-size:11px;display:block;margin-top:6px;font-weight:800;letter-spacing:.08em}
.site-navigation{display:flex;align-items:center;gap:18px}.site-navigation>a,.dropdown-toggle{border:0;background:transparent;font:inherit;font-weight:800;font-size:13.5px;color:#233c58;text-decoration:none;white-space:nowrap;cursor:pointer;padding:11px 2px}.site-navigation>a.current,.site-navigation>a:hover,.dropdown-toggle:hover{color:#ac7825}
.nav-menu{position:relative}.dropdown-toggle{display:inline-flex;align-items:center;gap:6px}.dropdown-toggle:after{content:'⌄';font-size:17px;line-height:1}.menu-panel{position:absolute;top:100%;left:-22px;display:none;width:290px;max-height:75vh;overflow-y:auto;background:white;border:1px solid #e4eaf0;border-radius:18px;box-shadow:0 24px 70px rgba(9,28,55,.14);padding:11px}.nav-menu:hover .menu-panel,.nav-menu:focus-within .menu-panel,.nav-menu[open] .menu-panel{display:block}.menu-panel a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;text-decoration:none;font-size:13px;font-weight:700;color:#2f4761;border-radius:10px}.menu-panel a:hover,.menu-panel a:focus-visible{background:#f1f5fb;color:#0b3262}.menu-caption{font-size:10px;font-weight:950;letter-spacing:.12em;color:#97a3b2;padding:14px 12px 3px}.header-cta{display:inline-flex;padding:10px 15px;border-radius:12px;background:#0b2f59;color:white!important;font-size:13px;text-decoration:none;font-weight:850;white-space:nowrap}.header-cta:hover{background:#164c85}
.mobile-toggle{display:none;border:1px solid #dbe2e8;background:#fff;border-radius:12px;padding:8px 12px;font-size:24px;color:#09213e;cursor:pointer}
.site-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;padding:12px 20px;border-radius:12px;font-weight:850;text-decoration:none;font-size:15px;transition:transform .2s,background .2s;border:1px solid transparent}.site-btn:hover{transform:translateY(-2px)}.btn-yellow{background:#ebc477;color:#1b2d45}.btn-navy{background:#0c315b;color:white}.btn-white{background:#fff;color:#112c4d}.btn-soft{background:#eff4f9;color:#153a64}.btn-outline-white{color:white;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.08)}
.new-hero{background:radial-gradient(circle at 72% 27%,#234d7c 0%,transparent 38%),linear-gradient(125deg,#071b34,#0d315c);color:white;overflow:hidden}.hero-layout{min-height:558px;display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center;padding:66px 0}.eyebrow-main{font-weight:900;letter-spacing:.14em;color:#f3ce86;font-size:11px}.new-hero h1{font-size:clamp(37px,4.5vw,65px);line-height:1.2;font-family:Georgia,'Songti SC',serif;letter-spacing:-.04em;margin:24px 0;color:#fff}.highlight-text{color:#f1ca83}.home-lead{font-size:18px;line-height:1.9;color:#d5e2f0}.home-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:27px}.hero-stats{display:flex;gap:13px;flex-wrap:wrap;margin-top:40px}.hero-stats span{border-top:1px solid #5d7491;padding-top:12px;flex:1 0 100px;min-width:0;font-size:11px;color:#c0ccdd}.hero-stats strong{display:block;font-size:21px;color:white;letter-spacing:.03em}.hero-art{min-height:430px;position:relative;display:flex;align-items:center}.art-circle{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.circle-1{width:410px;height:410px;right:-58px;top:-3px}.circle-2{width:315px;height:315px;right:-13px;top:44px;border-color:#caa35b66}.math-panel{position:relative;background:#fff;border:1px solid #e5e1d8;border-radius:24px;box-shadow:0 40px 90px rgba(0,0,0,.28);padding:28px;color:#102b48;transform:rotate(-2deg);width:min(100%,440px)}.math-panel-top{font-size:11px;color:#b17f36;letter-spacing:.15em;font-weight:950}.math-steps{margin-top:18px}.math-steps div{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #e6ebf1}.math-steps i{background:#eaf1f8;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:12px}.math-steps b{font-size:21px;font-family:Georgia,serif}.math-steps small{font-size:12px;color:#657991}.math-panel-note{background:#fff7e6;border-radius:12px;margin-top:20px;padding:15px;color:#70501b;font-size:13px;font-weight:750}
.section-small-head{margin-bottom:25px}.section-small-head h2{margin:7px 0 8px;font-size:clamp(29px,3vw,42px);line-height:1.2;font-family:Georgia,'Songti SC',serif;color:#0d2c4c}.section-small-head p{margin:0;color:#657a8f}.quick-search,.directory,.grade-directory,.course-picker{padding:76px 0}.quick-search,.grade-directory{background:#fff}.pathway-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pathway-link{display:flex;flex-direction:column;text-decoration:none;background:#f9fafc;border:1px solid #e2e9f0;border-radius:20px;padding:24px 22px;min-height:248px;transition:transform .18s,box-shadow .18s,border-color .18s}.pathway-link:hover{transform:translateY(-4px);box-shadow:0 15px 35px #122e5220;border-color:#d5b771}.pathway-eyebrow{font-size:11px;letter-spacing:.08em;color:#ac792d;font-weight:950}.pathway-link h3{font-size:23px;line-height:1.2;margin:16px 0 10px;color:#102b49}.pathway-link p{color:#667b90;margin:0;font-size:14px}.pathway-cta{margin-top:auto;padding-top:22px;color:#0e467b;font-size:13px;font-weight:900}
.home-intro{padding:90px 0;background:#f3f6f9}.split-home{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.split-home h2,.spotlight-top h2{font-family:Georgia,'Songti SC',serif;font-size:clamp(30px,3vw,43px);line-height:1.25;color:#0b2a4b;margin:10px 0 18px}.split-home p{color:#5e7389;font-size:17px}.inline-link{color:#0c4c81;text-decoration:none;font-weight:850;display:inline-block;margin-top:18px}.reason-list{display:grid;gap:12px}.reason-list>div{display:flex;gap:18px;background:white;border:1px solid #e5ebf0;padding:18px 20px;border-radius:16px;font-weight:750}.reason-list strong{color:#bf8e3b;font-family:Georgia,serif;font-size:18px}
.home-spotlight{background:white;padding:78px 0 88px}.spotlight-top{display:flex;align-items:end;justify-content:space-between;gap:20px}.spotlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.spot-card{background:#f8fafc;border:1px solid #e2e9f0;border-radius:21px;padding:27px;min-height:264px;display:flex;flex-direction:column;text-decoration:none}.spot-card h3{font-size:23px;line-height:1.3;margin:12px 0;color:#163350}.spot-card p{font-size:14px;color:#68798c}.spot-card>span:last-child{color:#0e4f81;font-size:13px;font-weight:900;margin-top:auto}.mini-eyebrow{color:#bc8733;font-size:11px;font-weight:950;letter-spacing:.12em}
.page-intro{background:linear-gradient(125deg,#0a2444,#174470);color:#fff;padding:51px 0 54px}.breadcrumbs{display:flex;align-items:center;gap:11px;font-size:12px;color:#afc0d3}.breadcrumbs a{text-decoration:none;color:#d3e2ef}.intro-inner{display:flex;gap:24px;justify-content:space-between;align-items:end;margin-top:34px}.intro-kicker{font-size:11px;font-weight:900;letter-spacing:.15em;color:#ecc67b}.page-intro h1{font-size:clamp(32px,4vw,53px);line-height:1.18;font-family:Georgia,'Songti SC',serif;color:#fff;margin:10px 0 14px}.page-intro p{margin:0;color:#cbd9e7;font-size:16px;max-width:790px}.call-chip{flex-shrink:0;padding:12px 15px;border:1px solid #66829c;border-radius:12px;text-decoration:none;color:#f6dcaa;font-size:13px;font-weight:850}.call-chip span{margin-left:12px}
.grade-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.grade-tile{position:relative;display:flex;flex-direction:column;background:#f9fbfd;border:1px solid #dae5ef;border-radius:18px;padding:20px;min-height:166px;text-decoration:none}.grade-tile:hover{border-color:#d6ae60;box-shadow:0 10px 28px #122e5218}.grade-short{font-size:34px;font-family:Georgia,serif;line-height:1;color:#0c315a}.grade-tile b{margin-top:13px;color:#24405b;font-size:14px}.grade-tile small{color:#8695a6;margin-top:4px}.tile-arrow{position:absolute;top:14px;right:17px;color:#b78a40}
.individual-grade,.individual-course{padding:75px 0;background:#fff}.grade-content{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:25px}.grade-card-main,.grade-sidebar{border-radius:22px;background:#f8fafc;border:1px solid #e2e9ef;padding:34px}.grade-card-main h2{font-size:38px;font-family:Georgia,serif;color:#112d4d;margin:12px 0}.grade-card-main>p{font-size:18px;color:#455f78}.learning-goal{background:#fff2d7;border-left:5px solid #e1b45e;border-radius:12px;padding:18px 22px;margin:28px 0}.learning-goal p{margin:5px 0 0;color:#604a2d}.grade-card-main .muted-note{font-size:13px;color:#7b8b9b}.grade-sidebar h3{color:#123352;font-size:24px;margin-top:0}.grade-sidebar li{margin:12px 0}.grade-sidebar .site-btn{margin-top:15px}.siblings-head{margin:50px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.siblings-head h2{font-size:26px;color:#193751}.siblings-head a{font-size:14px;color:#0c568a;font-weight:850;text-decoration:none}
.course-nav-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.course-nav-card{display:flex;flex-direction:column;gap:8px;padding:18px 16px;background:white;border:1px solid #dbe4ed;border-radius:17px;text-decoration:none}.course-nav-card:hover{border-color:#dab66e;box-shadow:0 10px 24px #112c5020}.course-nav-card span{font-family:Georgia,serif;font-size:28px;color:#10335a;font-weight:800}.course-nav-card strong{font-size:13px;color:#234663}.course-nav-card small{margin-top:auto;color:#b18032;font-weight:800}.course-detail-page>.course-detail{max-width:850px;margin:0 auto}.course-follow{margin-top:50px}.course-follow>h2{font-size:30px;text-align:center;color:#102e4d}.course-follow .course-nav-grid{margin-top:20px}
.ib-quick{padding:42px 0 4px;background:#fff}.ib-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ib-quick-grid>div{display:grid;grid-template-columns:55px 1fr;column-gap:18px;align-items:start;background:#f8faff;border:1px solid #e1e7f0;border-radius:19px;padding:25px}.ib-sign{grid-row:span 2;font-family:Georgia,serif;font-size:25px;font-weight:950;color:#fff;background:#183f72;border-radius:14px;padding:10px 7px;text-align:center}.ib-sign.ai{background:#8e672a}.ib-quick h3{margin:0;color:#1b3b60;font-size:22px}.ib-quick p{grid-column:2;color:#5a7188;margin:6px 0 0;font-size:14px}
.about-person{padding:85px 0;background:#fff}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:67px}.person-image{background:#f1f5f9;border-radius:25px;padding:25px}.person-image img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px}.person-caption{margin-top:17px;font-size:14px;text-align:center;color:#486075}.about-grid h2{font-family:Georgia,serif;font-size:52px;color:#102d4d;margin:0}.person-role{font-weight:900;color:#a37b3e}.about-grid p{color:#586e82;font-size:17px}.about-tags{display:flex;gap:9px;flex-wrap:wrap}.about-tags span{background:#eff4f8;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:750;color:#45647d}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.survey-page{padding:60px 0 85px;background:#fff}.survey-info-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:25px;align-items:center;margin-bottom:26px}.survey-info-grid h2{font-family:Georgia,serif;color:#0d2e50;margin:0 0 7px;font-size:30px}.survey-info-grid p{margin:0;color:#65778b}.survey-hints{display:flex;flex-wrap:wrap;gap:8px}.survey-hints span{background:#eaf3fc;color:#234b70;font-weight:750;border-radius:20px;padding:7px 11px;font-size:12px}.survey-embed{border:1px solid #dce6f0;border-radius:20px;overflow:hidden;box-shadow:0 22px 55px #162e4916}.survey-embed-head{display:flex;gap:20px;align-items:center;justify-content:space-between;background:#f4f7fa;border-bottom:1px solid #e3e8ee;padding:14px 22px}.survey-embed-head strong{color:#143451;display:block}.survey-embed-head small{display:block;color:#73879b}.survey-embed-head a{font-size:13px;font-weight:900;color:#0b5288;text-decoration:none}.survey-embed iframe{display:block;width:100%;height:1120px;border:0;background:#fff}.survey-embed.is-tall iframe{height:1650px}.survey-embed:fullscreen{display:flex;flex-direction:column;border-radius:0;background:white}.survey-embed:fullscreen iframe{flex:1;height:auto}.survey-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.survey-controls button{font:inherit;font-size:12px;cursor:pointer;border:1px solid #dae3ed;background:white;color:#1e537b;border-radius:9px;padding:7px 12px;font-weight:800}.survey-controls button:hover{background:#e6f1fa}.survey-assist{font-size:13px;color:#7d8e9b;margin-top:16px}
.contact-new{padding:80px 0;background:#fff}.contact-grid-new{display:grid;grid-template-columns:1.4fr .8fr;gap:30px}.contact-primary,.contact-aside{background:#f7fafc;border:1px solid #e1e9ef;border-radius:22px;padding:33px}.contact-primary h2{font:700 37px Georgia,serif;color:#0d2c4b;margin:12px 0}.contact-primary p{color:#6a7d90}.contact-methods{display:grid;gap:12px;margin-top:26px}.contact-methods>a,.contact-methods>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap;text-decoration:none;background:#fff;border:1px solid #e5ebf0;border-radius:13px;padding:18px 20px}.contact-methods span{color:#8a9bad;min-width:95px;font-size:13px;font-weight:900}.contact-methods strong{color:#163b64;font-size:20px;overflow-wrap:anywhere}.contact-methods b,.copy-button{margin-left:auto;font-size:12px;color:#11528b}.copy-button{border:0;cursor:pointer;background:#e7eef6;padding:8px 12px;border-radius:9px;font-weight:800}.contact-aside h3{font-size:26px;color:#133756}.contact-aside p,.contact-location{color:#64788b}.contact-location{padding:16px;background:#fff;border-radius:13px;margin:23px 0}.referral-note{font-size:13px;padding:16px;background:#fffae9;border-radius:14px;margin-bottom:28px;color:#73572d}
.bottom-cta{background:linear-gradient(135deg,#081e39,#103b67);color:#fff;padding:50px 0}.bottom-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.bottom-kicker{letter-spacing:.15em;color:#ddc28a;font-weight:950;font-size:11px}.bottom-cta h2{font-family:Georgia,'Songti SC',serif;color:white;font-size:clamp(26px,2.8vw,37px);margin:6px 0 6px}.bottom-cta p{margin:0;color:#cedce9}.cta-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.site-footer{background:#071b32;color:#acbed2;padding:57px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:28px}.site-footer h3{color:#fff;font-size:14px;margin:0 0 15px}.site-footer a{display:block;color:#bdcad8;text-decoration:none;font-size:13px;margin:6px 0}.site-footer a:hover{color:#f0cf95}.footer-brand{font-size:19px;color:#fff;font-weight:900;letter-spacing:-.02em}.site-footer p{font-size:13px;max-width:320px}.footer-bottom{border-top:1px solid #31506b;padding-top:19px;margin-top:40px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.footer-bottom a{display:inline;color:#d5b87e}
/* Legacy content sections embedded on their respective pages */
.section{padding:62px 0}.sectionhead{margin-bottom:31px}.section h2{font-size:clamp(29px,3.3vw,45px)}.sectionhead p{font-size:16px}.section .card{border-radius:19px;padding:23px}.section .card h3{font-size:21px}.section:not(.alt):not(.deep):not(.highschool):not(.ib-premium){background:#f7f9fb}
.section.highschool,.section.ib-premium{padding:65px 0}.section .sectionhead{max-width:990px}
.section img[data-zoom]{cursor:zoom-in;transition:filter .2s}.section img[data-zoom]:hover{filter:brightness(.96)}
.lightbox-site{padding:0;border:0;border-radius:15px;max-width:min(97vw,1400px);max-height:94vh;background:#fff;box-shadow:0 25px 80px #06162c7a}.lightbox-site::backdrop{background:#020b19dd}.lightbox-site img{max-width:96vw;max-height:89vh;object-fit:contain}.lightbox-close{position:absolute;right:9px;top:9px;z-index:4;background:#fff;border:1px solid #ddd;border-radius:50%;width:34px;height:34px;font-size:23px;cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d29f4b;outline-offset:3px}
@media(max-width:1150px){.site-navigation{gap:11px}.site-navigation>a,.dropdown-toggle{font-size:12px}.pathway-grid{grid-template-columns:repeat(2,1fr)}.course-nav-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.site-banner{display:none}.site-brand strong{font-size:17px}.mobile-toggle{display:block}.header-cta{margin-left:auto}.site-navigation{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:17px 22px 25px;border-bottom:1px solid #e0e7ef;box-shadow:0 20px 40px #102a4817;max-height:78vh;overflow-y:auto;flex-direction:column;align-items:stretch;gap:2px}.site-header.nav-open .site-navigation{display:flex}.site-navigation>a,.dropdown-toggle{font-size:16px;padding:12px 6px}.nav-menu:hover .menu-panel{display:none}.nav-menu[open] .menu-panel{display:block;position:static;width:100%;box-shadow:none;border:0;border-radius:9px;background:#f7f9fc;max-height:none}.site-navigation>a:last-child{display:block}.hero-layout{grid-template-columns:1fr;min-height:unset;gap:30px}.hero-art{display:none}.hero-stats{max-width:610px}.grade-grid{grid-template-columns:repeat(3,1fr)}.split-home,.about-grid{grid-template-columns:1fr;gap:32px}.person-image{max-width:330px}.spotlight-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.contact-grid-new{grid-template-columns:1fr}.contact-methods strong{font-size:17px}}
@media(max-width:650px){body{font-size:15px}.site-container{width:min(100% - 30px,1210px)}.header-main{min-height:70px;gap:8px}.site-brand img{width:37px;height:37px}.site-brand strong{font-size:14.5px;white-space:normal;line-height:1}.site-brand small{font-size:9px;letter-spacing:.03em}.header-cta{display:none}.mobile-toggle{font-size:21px}.new-hero h1{font-size:35px}.new-hero .home-lead{font-size:15px}.hero-layout{padding:52px 0 43px}.home-actions{flex-direction:column}.home-actions .site-btn{width:100%}.hero-stats{gap:10px;margin-top:25px}.hero-stats strong{font-size:18px}.quick-search,.directory,.grade-directory,.course-picker,.home-intro,.home-spotlight,.about-person,.contact-new{padding:48px 0}.pathway-grid,.spotlight-grid,.ib-quick-grid{grid-template-columns:1fr}.pathway-link{min-height:190px}.split-home{gap:22px}.spotlight-top,.intro-inner,.bottom-cta-inner,.survey-embed-head,.survey-info-grid{display:block}.spotlight-top .inline-link{margin-bottom:19px}.page-intro{padding:33px 0 39px}.page-intro h1{font-size:31px}.page-intro p{font-size:14px}.call-chip{margin-top:25px;display:inline-flex}.grade-grid{grid-template-columns:repeat(2,1fr);gap:9px}.grade-tile{padding:15px;min-height:143px}.grade-short{font-size:28px}.grade-content,.survey-info-grid{display:block}.grade-sidebar{margin-top:15px}.grade-card-main,.grade-sidebar{padding:22px}.grade-card-main h2{font-size:30px}.grade-card-main>p{font-size:16px}.siblings-head{display:block}.course-nav-grid{grid-template-columns:repeat(2,1fr)}.course-nav-card{padding:13px}.course-nav-card span{font-size:23px}.ib-quick-grid>div{padding:18px}.about-grid h2{font-size:42px}.about-grid p{font-size:15px}.section{padding:45px 0}.section h2{font-size:29px}.sectionhead p{font-size:15px}.section .container{width:calc(100% - 30px)}.survey-page{padding:34px 0 55px}.survey-embed iframe{height:1050px}.survey-embed-head>div{margin-bottom:8px}.contact-primary,.contact-aside{padding:23px}.contact-methods>a,.contact-methods>div{align-items:flex-start;flex-direction:column;gap:4px;padding:14px}.contact-methods strong{font-size:15px}.copy-button{margin:0}.footer-grid{grid-template-columns:1fr 1fr;gap:25px 16px}.site-footer{padding:36px 0 24px}.site-footer a{font-size:12px}.footer-bottom{display:block}.bottom-cta{padding:38px 0}.cta-actions{margin-top:18px;display:flex}.cta-actions .site-btn{flex:1;font-size:13px;min-width:140px}.grade-tile small{font-size:11px}}
@media(max-width:390px){.footer-grid{grid-template-columns:1fr}.course-nav-grid{grid-template-columns:1fr 1fr}.grade-grid{grid-template-columns:1fr 1fr}.site-brand strong{font-size:12px}.site-brand small{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
