/* Domain-ready revision: richer exploration, planning tools and shared interaction states. */
.utility-bar { background:#091438; color:#d3dbef; font-size:10px; }
.utility-bar .shell { display:flex; justify-content:space-between; padding-block:8px; gap:20px; }
.utility-bar a { color:#fff; }
.nav nav { gap:22px; }
.nav nav > a { white-space:nowrap; }
.nav { height:86px; }
.hero { padding-top:35px; min-height:660px; }
.hero h1 { font-size:clamp(44px,4.45vw,64px); line-height:1.11; }
.hero-copy { max-width:650px; }
.hero-scene { height:540px; }
.graduate { height:440px; width:320px; }
.hero-scene canvas { cursor:grab; }
.hero-scene canvas:active { cursor:grabbing; }
.destination-passport { position:absolute; right:-6px; bottom:95px; width:200px; border-radius:15px; background:#fff; padding:8px; box-shadow:0 20px 65px #0c285b30; transform:rotate(6deg); z-index:4; transition:transform .4s; }
.destination-passport:hover { transform:rotate(0) translateY(-4px); }
.destination-passport img { height:100px; width:100%; object-fit:cover; border-radius:10px; }
.destination-passport > div { padding:11px 8px; }
.destination-passport span { display:block; font-size:7px; letter-spacing:.14em; color:var(--green); }
.destination-passport strong { display:block; font-family:Poppins,sans-serif; font-size:17px; margin:3px 0; }
.destination-passport a { font-size:9px; color:var(--blue); font-weight:700; }
.label-one { left:-12px; top:145px; padding:14px; }
.destination-switcher { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-block:0 35px; }
.destination-switcher > span { font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; white-space:nowrap; }
.destination-switcher > div { display:flex; flex-wrap:wrap; gap:8px; }
.destination-switcher a { border:1px solid var(--line); background:white; padding:11px 18px; border-radius:30px; font-size:11px; transition:.2s; }
.destination-switcher a[aria-pressed=true] { background:var(--blue); color:white; border-color:var(--blue); box-shadow:0 5px 18px #0024d622; }
.departure-section { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding-bottom:90px; }
.departure-art { min-height:340px; position:relative; background:#ecf2fa url('../assets/scenes/world-map.webp') center/cover; border-radius:24px; overflow:hidden; perspective:1000px; }
.departure-art img { width:74%; height:300px; object-fit:cover; position:absolute; left:0; top:0; border-radius:0 0 100px 0; animation:plane-drift 9s ease-in-out infinite; }
.departure-art span { position:absolute; bottom:24px; left:28px; letter-spacing:.12em; font-size:9px; }
.departure-section p:not(.eyebrow) { margin:20px 0 25px; }
@keyframes plane-drift { 0%,100% { transform:translate(0,0) rotateY(-8deg); } 50% { transform:translate(10px,-8px) rotateY(0); } }
.quick-contact { position:fixed; right:22px; bottom:20px; z-index:19; background:#fff; color:var(--ink); border:1px solid var(--line); box-shadow:0 7px 25px #09143820; padding:8px 17px 8px 8px; display:flex; gap:10px; align-items:center; border-radius:30px; font-size:10px; font-weight:700; }
.quick-contact > span { background:var(--blue); color:white; border-radius:50%; width:29px; height:29px; display:grid; place-items:center; font-size:17px; }
.footer-bottom { padding-bottom:85px; }
.toast { position:fixed; left:50%; bottom:100px; transform:translateX(-50%) translateY(20px); background:var(--ink); color:#fff; padding:14px 24px; border-radius:9px; font-size:13px; opacity:0; pointer-events:none; transition:.25s; z-index:45; max-width:calc(100% - 40px); }
.toast.visible { opacity:1; transform:translateX(-50%) translateY(0); }
.destination-editorial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.destination-editorial { border-radius:18px; overflow:hidden; position:relative; min-height:420px; display:flex; align-items:flex-end; color:white; isolation:isolate; }
.destination-editorial::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 20%,#060d2bdc); z-index:-1; }
.destination-editorial > img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; z-index:-2; transition:transform .7s; }
.destination-editorial:hover > img { transform:scale(1.06); }
.destination-editorial > div { padding:28px; width:100%; }
.destination-editorial span { font-size:9px; letter-spacing:.18em; }
.destination-editorial h2 { font-size:27px; margin:14px 0 10px; }
.destination-editorial p { color:#d4dbee; font-size:11px; }
.destination-editorial b { display:block; width:35px; height:35px; border:1px solid #ffffff66; border-radius:50%; text-align:center; margin-top:20px; font-size:19px; font-weight:400; }
.country-hero { position:relative; isolation:isolate; min-height:580px; color:white; padding-block:35px 70px; display:flex; align-items:flex-end; }
.country-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.country-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#08102ae8,#08102a40); z-index:-1; }
.country-hero .eyebrow { color:var(--amber); margin-top:65px; }
.country-hero h1 { font-size:64px; max-width:800px; }
.country-hero p:not(.eyebrow) { color:#e4e9f6; margin:24px 0; }
.back-link { font-size:12px; color:#d1d9ed; }
.country-facts { display:grid; grid-template-columns:1fr 1fr 1.4fr; border-bottom:1px solid var(--line); padding-block:30px; gap:30px; }
.country-facts span { display:block; font-size:9px; letter-spacing:.15em; color:var(--muted); margin-bottom:8px; }
.country-facts strong,.country-facts a { font-size:15px; }
.country-facts a { color:var(--blue); font-weight:700; }
.country-content { display:grid; grid-template-columns:1.5fr 1fr; gap:85px; align-items:start; }
.country-content h2 { margin-bottom:25px; font-size:36px; }
.country-content p { font-size:14px; }
.guide-points { margin:30px 0 50px; }
.guide-points article { border-top:1px solid var(--line); padding:20px 0; display:flex; gap:25px; }
.guide-points article span { color:var(--blue); font-size:12px; }
.country-sidebar { position:sticky; top:115px; background:var(--paper); padding:32px; border:1px solid var(--line); border-radius:16px; }
.country-sidebar h3 { font-size:22px; }
.country-sidebar ol { padding-left:20px; margin:25px 0; color:var(--muted); font-size:13px; }
.country-sidebar li { margin-bottom:15px; }
.country-sidebar hr { border:0; border-top:1px solid var(--line); margin-block:30px; }
.country-sidebar p:not(.eyebrow) { margin-block:18px; }
.country-sidebar .button { gap:10px; font-size:11px; }
.service-deliverables { border-top:1px solid var(--line); padding-top:20px; margin:20px 0 24px; }
.service-deliverables > span { font-size:8px; letter-spacing:.12em; color:var(--green); }
.service-deliverables ul { font-size:12px; color:var(--muted); padding-left:18px; margin:12px 0; }
.finder-tools { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:20px; }
.finder-tools label { display:flex; gap:15px; align-items:center; margin:0; white-space:nowrap; }
.finder-tools select { margin:0; width:auto; padding:9px 10px; font-size:11px; }
.university-card .card-actions { flex-wrap:wrap; }
.university-card .compare-choice { border-top:1px solid var(--line); padding-top:17px; margin:18px 0 0; width:100%; }
.compare-choice label { margin:0; }
.compare-tray { position:fixed; bottom:0; left:0; right:0; background:var(--ink); color:#fff; z-index:25; padding:16px max(24px,calc((100vw - 1200px)/2)); display:flex; align-items:center; gap:25px; box-shadow:0 -7px 30px #08143620; }
.compare-tray[hidden] { display:none; }
.compare-tray > div { flex:1; }
.compare-tray span { display:block; color:#bbc5dd; font-size:10px; }
.compare-tray .text-link { color:#fff; }
.compare-tray .button { padding:12px 20px; }
.compare-dialog { border:0; border-radius:18px; padding:35px; width:min(1050px,calc(100% - 30px)); max-height:90vh; color:var(--ink); box-shadow:0 40px 100px #07102a55; }
.compare-dialog::backdrop { background:#07102a90; backdrop-filter:blur(4px); }
.dialog-top { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:25px; }
.dialog-top h2 { font-size:30px; }
.icon-button { font-size:27px; border:1px solid var(--line); background:white; border-radius:50%; min-width:40px; height:40px; }
.compare-table-wrap { overflow-x:auto; }
.compare-table { width:100%; border-collapse:collapse; min-width:550px; font-size:12px; }
.compare-table th,.compare-table td { text-align:left; border:1px solid var(--line); padding:18px; vertical-align:top; }
.compare-table th { background:var(--paper); font-weight:700; }
.compare-table td a { color:var(--blue); font-weight:700; }
.resource-nav { display:flex; gap:12px; flex-wrap:wrap; padding-top:25px; }
.resource-nav a { border:1px solid var(--line); border-radius:30px; padding:10px 16px; font-size:11px; }
.toolkit-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:85px; align-items:start; }
.toolkit-grid p:not(.eyebrow) { font-size:14px; margin-top:24px; }
.check-progress { margin:30px 0; }
.check-progress strong { font-size:12px; }
progress { display:block; width:100%; height:8px; border:0; border-radius:6px; overflow:hidden; margin-top:13px; accent-color:var(--green); }
progress::-webkit-progress-bar { background:#e8edf7; }
progress::-webkit-progress-value { background:var(--green); }
#reset-checklist { display:block; margin-top:20px; }
.checklist-card { border:1px solid var(--line); border-radius:16px; padding:15px 28px; }
.checklist-card label { display:flex; gap:14px; align-items:center; font-size:12px; font-weight:400; padding:17px 0; border-bottom:1px solid var(--line); margin:0; }
.checklist-card label:last-child { border:0; }
.checklist-card input { width:18px; height:18px; flex-shrink:0; accent-color:var(--green); }
.checklist-card input:checked + span { color:var(--green); text-decoration:line-through; }
.resource-guides { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; margin-top:35px; }
.resource-guides article { padding:28px; border:1px solid var(--line); border-radius:15px; }
.resource-guides span { font-size:8px; color:var(--green); letter-spacing:.13em; }
.resource-guides h3 { font-size:21px; margin:23px 0 17px; }
.resource-guides p { font-size:13px; margin-bottom:25px; }
.legal-content { max-width:800px; padding-block:50px 100px; }
.legal-content h2 { font-size:25px; margin:35px 0 15px; }
.legal-content p { font-size:14px; }
.legal-content a,.privacy-note a { color:var(--blue); text-decoration:underline; }
.privacy-note { font-size:10px; margin-bottom:15px; }
.bot-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.inquiry-confirmation { background:#e7f7ee; border:1px solid #c4e9d6; padding:22px; border-radius:12px; margin-top:20px; }
.inquiry-confirmation h3 { font-size:21px; }
.inquiry-confirmation p { font-size:12px; margin:12px 0; color:#275440; }
.inquiry-confirmation .button { font-size:11px; padding:12px 16px; }
.noscript-note { margin:20px; padding:20px; background:#fff2d9; }
@media(max-width:1100px) { .nav nav { gap:15px; } .destination-switcher { gap:20px; } .destination-switcher a { padding:9px 12px; font-size:10px; } .hero h1 { font-size:52px; } .destination-passport { width:170px; right:-10px; } .destination-passport img { height:90px; } .toolkit-grid,.country-content { gap:45px; } .destination-editorial { min-height:360px; } .destination-editorial h2 { font-size:23px; } .quick-contact { font-size:9px; } }
@media(max-width:800px) { .utility-bar { font-size:8px; } .utility-bar .shell > span { display:none; } .utility-bar .shell { justify-content:center; } .nav { height:80px; } .hero h1 { font-size:57px; } .hero { padding-top:40px; } .hero-scene { height:480px; } .graduate { height:400px; } .destination-passport { right:10px; bottom:90px; width:180px; } .destination-switcher { display:block; } .destination-switcher > div { margin-top:15px; gap:8px; } .destination-switcher a { padding:10px 14px; } .destination-editorial-grid { grid-template-columns:1fr 1fr; gap:18px; } .country-hero { min-height:520px; } .country-hero h1 { font-size:48px; } .country-content { grid-template-columns:1fr; } .country-sidebar { position:static; } .country-facts { gap:18px; } .country-facts strong,.country-facts a { font-size:12px; } .departure-section { gap:35px; grid-template-columns:1fr; } .departure-art { min-height:310px; } .toolkit-grid { grid-template-columns:1fr; gap:35px; } .resource-guides { grid-template-columns:1fr; } .resource-guides article { padding:30px; } .compare-dialog { padding:22px; } .dialog-top h2 { font-size:24px; } .compare-tray { gap:12px; } }
@media(max-width:480px) { .hero h1 { font-size:41px; } .hero h1 br:nth-of-type(2) { display:block; } .hero h1 em:before { content:none; } .hero .lead { font-size:14px; } .hero-scene { height:420px; } .graduate { height:345px; width:260px; } .destination-passport { width:145px; right:0; bottom:65px; padding:6px; } .destination-passport img { height:72px; } .destination-passport strong { font-size:13px; } .destination-passport span { font-size:6px; } .destination-passport a { font-size:8px; } .label-one { left:0; top:100px; padding:10px; } .destination-editorial-grid { grid-template-columns:1fr; } .destination-editorial { min-height:380px; } .destination-editorial h2 { font-size:29px; } .country-hero { min-height:490px; } .country-hero h1 { font-size:39px; } .country-facts { grid-template-columns:1fr 1fr; padding-block:25px; } .country-facts > div:last-child { grid-column:1/-1; } .country-content h2 { font-size:31px; } .country-sidebar { padding:25px; } .finder-tools { align-items:start; flex-direction:column; gap:15px; } .finder-tools > a { font-size:11px; } .compare-tray { flex-wrap:wrap; padding:12px 16px; } .compare-tray > div { flex-basis:45%; } .compare-tray strong { font-size:12px; } .compare-tray .button { font-size:10px; padding:10px 13px; } .compare-tray #clear-compare { font-size:10px; } .quick-contact { right:12px; bottom:12px; padding:7px 12px 7px 7px; } .resource-nav { gap:8px; } .resource-nav a { font-size:10px; padding:8px 12px; }  .checklist-card { padding-inline:20px; } .country-hero .eyebrow { margin-top:45px; } }
@media print { header,footer,.utility-bar,.quick-contact,.resource-nav,#guides,#questions,#print-plan,#reset-checklist { display:none!important; } .shell { width:100%; } .section,.page-intro { padding-block:20px; } .toolkit-grid { display:block; } .checklist-card { margin-top:25px; } .motion-ready .reveal.pending { opacity:1; transform:none; } body { color:#000; font-size:12px; } }
