:root{--primary:#ed9600;--accent:#ed6100;--heading:#333333;--body:#555555;--section:#55555510;--line:#55555526;--tint:#ed960020;--eyebrow:#ed96001a;--success:#25d366;--info:#5ba2ff;--shadow-sm:2px 2px 6px #00000033;--shadow:3px 3px 10px #00000033;--r:15px;--r-sm:5px;--hdr:78px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 20px)}
body{margin:0;font-family:"Poppins",system-ui,sans-serif;font-size:clamp(15px,1.23vw,16px);line-height:1.5;color:var(--body);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--heading);line-height:1.2;margin:0;font-weight:700;text-wrap:balance}
h1{font-size:clamp(38px,4.62vw,60px)}h2{font-size:clamp(26px,3.08vw,40px)}h3{font-size:clamp(17px,1.45vw,20px)}h4{font-size:16px}
p{margin:0;text-wrap:pretty}p+p{margin-top:8px}
ul{margin:0;padding:0;list-style:none}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img{display:block;max-width:100%}svg{display:block}
.wrap{max-width:1360px;margin:0 auto;padding:0 30px}
section{padding:75px 0}
.alt{background:var(--section)}
.eyebrow{display:inline-flex;align-items:center;padding:6px 14px;border-radius:100vw;background:var(--eyebrow);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.2}
.eyebrow+h1,.eyebrow+h2{margin-top:10px}
.sec-head{margin-bottom:50px;max-width:780px}.sec-head>p{margin-top:15px;font-size:clamp(15px,1.3vw,17px)}
.sec-head .sub{margin-top:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:100vw;border:2px solid var(--primary);font-weight:500;font-size:16px;line-height:1.2;text-decoration:none;transition:background .18s,color .18s,border-color .18s;white-space:nowrap;background:var(--primary);color:#fff}
.btn:hover{text-decoration:none;background:#fff;color:var(--primary)}
.btn-sec{background:#fff;color:var(--body);border-color:var(--body)}.btn-sec:hover{background:var(--heading);border-color:var(--heading);color:#fff}
.btn-caps{font-size:14px;text-transform:uppercase;letter-spacing:1px}
.btn-link{border:0;padding:0 10px;color:var(--accent);background:none}.btn-link:hover{background:none;color:var(--accent);text-decoration:underline}
.btn-white{background:#fff;color:var(--heading);border-color:#fff}.btn-white:hover{background:var(--heading);border-color:var(--heading);color:#fff}
.dark .btn:hover{background:#fff;color:var(--body);border-color:#fff}
.link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:16px;font-weight:400}
.link-arrow .ico{width:18px;height:18px;transition:transform .18s}.link-arrow:hover .ico{transform:translateX(3px)}
.ico{width:24px;height:24px;flex:none}
.well{width:50px;height:50px;border-radius:var(--r);background:var(--tint);color:var(--accent);display:grid;place-items:center;flex:none}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px}
.check li{display:flex;gap:10px;align-items:flex-start}.check li::before{content:"";width:1em;height:1em;flex:none;margin-top:.3em;border-radius:50%;background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/60% no-repeat}
.dark .check li::before{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E")}
.dark{background:var(--heading);color:#fff}.dark h2,.dark h3,.dark h4{color:#fff}.dark p{color:#ffffffd9}.dark .eyebrow{background:#ffffff1f;color:#fff}
.dark .card{background:#ffffff0f;border-color:#ffffff1a}.dark .well{background:#ffffff1a;color:#fff}
.disc{font-size:14px;font-style:italic}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{min-height:44px;padding:0 18px;border-radius:100vw;border:1px solid var(--line);background:#fff;color:var(--heading);font-weight:500;font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:.18s}
.tab:hover{border-color:var(--primary);color:var(--accent)}.tab[aria-selected="true"],.tab.is-on{background:var(--heading);border-color:var(--heading);color:#fff}
.dark .tab{background:transparent;border-color:#ffffff40;color:#fff}.dark .tab[aria-selected="true"],.dark .tab.is-on{background:#fff;color:var(--heading);border-color:#fff}

/* header */
.topbar{background:var(--heading);color:#fff;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:38px}
.topbar ul{display:flex;gap:22px;flex-wrap:wrap}
.topbar a{color:#ffffffd9;display:inline-flex;align-items:center;gap:7px}.topbar a:hover{color:#fff;text-decoration:none}
.topbar .ico{width:15px;height:15px}.topbar .caps a{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.hdr{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:30px;height:var(--hdr)}
.logo{flex:none}.logo img{height:40px;width:auto;max-width:none}
.hdr-nav{display:flex;gap:6px;min-width:0}
.hdr-nav a{display:inline-flex;align-items:center;gap:4px;color:var(--heading);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-radius:100vw;white-space:nowrap}
.hdr-nav a .ico{width:14px;height:14px;color:var(--body)}
.hdr-nav a:hover{color:var(--accent);text-decoration:none;background:var(--section)}.hdr-nav a.is-on{color:var(--accent)}
.hdr-right{display:flex;align-items:center;gap:10px;flex:none}
.hdr-menu{display:none;width:48px;height:48px;border-radius:50%;place-items:center;color:var(--heading)}.hdr-menu:hover{background:var(--section)}
.mnav{display:flex;flex-direction:column;padding:10px 5% 20px;border-top:1px solid var(--line);background:#fff;max-height:calc(100dvh - var(--hdr));overflow:auto}
.mnav[hidden]{display:none}
.mnav a:not(.btn){color:var(--heading);font-size:16px;font-weight:600;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none}
.mnav a.is-on{color:var(--accent)}
.mnav-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:20px}.mnav-cta .btn{width:100%}

/* journey rail */
.rail{position:fixed;left:max(14px,calc((100vw - 1300px)/2 - 110px));top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:6px;opacity:0;pointer-events:none;transition:opacity .3s}
.rail.is-vis{opacity:1;pointer-events:auto}
.rail a{display:flex;align-items:center;gap:10px;color:var(--body);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:6px 0;text-decoration:none;position:relative}
.rail a::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--line);border:2px solid #fff;box-shadow:0 0 0 1px var(--line);transition:.2s;flex:none}
.rail a span{opacity:0;transform:translateX(-4px);transition:.2s;background:#fff;padding:4px 10px;border-radius:100vw;box-shadow:var(--shadow-sm);white-space:nowrap}
.rail:hover a span,.rail a.is-on span{opacity:1;transform:none}
.rail a.is-on{color:var(--heading)}.rail a.is-on::before{background:var(--primary);box-shadow:0 0 0 1px var(--primary);transform:scale(1.25)}
.rail a.is-done::before{background:var(--heading);box-shadow:0 0 0 1px var(--heading)}
.rail-m{display:none}
.progress{position:fixed;top:var(--hdr);left:0;height:3px;width:0;background:var(--primary);z-index:41;transition:width .1s linear}

/* hero */
.hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:flex-end;padding:120px 0 120px;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#333333e6 0%,#333333b3 45%,#33333340 100%)}
.hero .wrap{position:relative;z-index:1;width:100%}
.hero-copy{max-width:760px}
.hero .badge{display:inline-flex;align-items:center;gap:10px;background:#ffffff1f;border:1px solid #ffffff40;border-radius:100vw;padding:7px 16px 7px 10px;font-size:13px;font-weight:600;color:#fff;backdrop-filter:blur(6px)}
.hero .badge .stars{display:flex;gap:1px;color:var(--primary)}.hero .badge .stars .ico{width:14px;height:14px}
.hero .badge i{width:1px;height:14px;background:#ffffff66}
.hero h1{margin-top:20px;color:#fff}.hero h1 em{font-style:normal;color:var(--primary)}
.hero .lead{margin-top:20px;font-size:clamp(16px,1.38vw,19px);max-width:620px;color:#ffffffe6}
.hero-actions{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-actions .link-arrow{color:#fff}
.hero-foot{position:relative;z-index:1;margin-top:50px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end}
.why{display:flex;gap:10px 28px;flex-wrap:wrap}
.why h3{width:100%;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;font-weight:600}
.why li{color:#fff;font-weight:500;font-size:15px}.why a{color:#fff}.why a:hover{color:var(--primary)}
.greview{display:flex;align-items:center;gap:14px;background:#fff;border-radius:var(--r);padding:12px 18px;box-shadow:var(--shadow);color:var(--body)}
.greview .g img{width:28px;height:28px}
.greview strong{display:block;color:var(--heading);font-size:15px;line-height:1.2}.greview small{font-size:12.5px}
.avatars{display:flex}.avatars span{width:34px;height:34px;border-radius:50%;border:2px solid #fff;margin-left:-8px;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;background:var(--heading)}
.avatars span:nth-child(2n){background:var(--accent)}.avatars span:nth-child(3n){background:var(--primary)}

/* agent finder */
.finder{padding:0;margin-top:-60px;position:relative;z-index:2;margin-bottom:10px}
.finder-card{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--line);padding:30px 35px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;align-items:center}
.finder-card h2{font-size:clamp(22px,2vw,28px)}.finder-card .sub{margin-top:6px;font-size:14.5px}
.finder-meta{display:flex;gap:20px;margin-top:15px;font-size:13px;font-weight:500;color:var(--heading);flex-wrap:wrap}
.finder-meta span{display:inline-flex;align-items:center;gap:6px}.finder-meta .ico{width:16px;height:16px;color:var(--accent)}
.finder-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.finder-form label,.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--heading)}
select,input[type=text],input[type=email],input[type=search]{font:inherit;font-size:15px;color:var(--heading);min-height:50px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;width:100%;appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}
select:focus,input:focus{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)}
.finder-form .btn{min-height:50px}.finder-step[hidden]{display:none}.finder-form .back{justify-self:start}

/* goal personaliser */
.goal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:30px;align-items:center;padding:25px 30px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);margin-bottom:50px}
.goal h3{font-size:17px}.goal p{font-size:14px;margin-top:4px}
.goal-opts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.goal-opts .tab{min-height:48px;padding:0 20px;font-size:15px}
.goal-opts .tab .ico{width:18px;height:18px}
.goal-note{grid-column:1/-1;display:none;gap:12px;align-items:flex-start;padding:15px 18px;border-radius:var(--r-sm);background:var(--tint);color:var(--heading);font-size:14.5px}
.goal-note .ico{width:20px;height:20px;color:var(--accent);margin-top:2px}
body[data-goal] .goal-note{display:flex}
.goal-note span{display:none}body[data-goal="pr"] .goal-note .n-pr,body[data-goal="study"] .goal-note .n-study,body[data-goal="work"] .goal-note .n-work{display:inline}

/* course explorer */
.explorer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin-bottom:25px}
.view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:100vw;padding:3px;background:#fff}
.view-toggle button{min-height:40px;padding:0 16px;border-radius:100vw;font-size:14px;font-weight:500;color:var(--body);display:inline-flex;align-items:center;gap:6px}
.view-toggle button .ico{width:16px;height:16px}
.view-toggle button[aria-pressed="true"]{background:var(--heading);color:#fff}
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.course{display:flex;flex-direction:column;gap:14px;transition:border-color .25s,opacity .25s;position:relative;border:0;border-top:2px solid var(--line);border-radius:0;padding:30px 0 0;background:transparent}
.course:hover{border-color:var(--heading)}
.course h3{font-size:clamp(20px,1.6vw,22px)}
.course .lbl{font-size:14px;font-weight:600;color:var(--heading);margin-top:4px}
.course ul{display:flex;flex-wrap:wrap;gap:8px}
.course ul a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:100vw;border:1px solid var(--line);color:var(--heading);font-size:14px;font-weight:500}
.course ul a:hover{border-color:var(--primary);color:var(--accent);text-decoration:none}
.course .link-arrow{margin-top:auto;padding-top:8px}
.course .fit{display:none;position:absolute;top:32px;right:0;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.course .fit .ico{width:14px;height:14px}
body[data-goal] .course{opacity:.55}body[data-goal] .course.is-fit{opacity:1;border-color:var(--primary)}body[data-goal] .course.is-fit .fit{display:inline-flex}
.course.is-hidden{display:none}
.compare{display:none;overflow:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.compare.is-vis{display:block}.course-grid.is-hidden{display:none}
.compare table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:760px}
.compare th,.compare td{padding:18px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare th{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--body);font-weight:700;background:var(--section)}
.compare tr:last-child td{border-bottom:0}
.compare td:first-child{font-weight:700;color:var(--heading);white-space:nowrap}
.compare .dotlist{display:flex;flex-direction:column;gap:4px}
.compare .pill{display:inline-flex;padding:4px 10px;border-radius:100vw;background:var(--tint);color:var(--accent);font-size:12px;font-weight:600}
.consult{margin-top:30px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:30px}
.consult .card{display:flex;flex-direction:column;gap:12px;justify-content:center}
.photo-card{position:relative;border-radius:var(--r);overflow:hidden;min-height:300px;display:flex;align-items:flex-end;padding:30px;color:#fff}
.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#000 100%)}
.photo-card>div{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px}
.photo-card h3,.photo-card p{color:#fff}.photo-card p{font-size:14.5px;color:#ffffffe6}
.photo-card .btn{align-self:flex-start;margin-top:6px}

/* visa checklist */
.visa-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:50px;align-items:start}
.visa-photo{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;position:sticky;top:calc(var(--hdr) + 30px)}
.visa-photo img{width:100%;height:100%;object-fit:cover}
.visa-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#000 100%)}
.visa-photo .cap{position:absolute;left:30px;right:30px;bottom:30px;color:#fff;z-index:1}
.visa-photo .cap strong{display:block;font-size:20px;line-height:1.2}.visa-photo .cap span{font-size:14px;color:#ffffffe6}
.progress-lbl{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;font-weight:600;color:var(--heading);margin-bottom:10px}
.progress-lbl button{color:var(--accent);font-weight:500}
.bar{height:8px;border-radius:100vw;background:var(--line);overflow:hidden;margin-bottom:20px}
.bar i{display:block;height:100%;width:0;background:var(--primary);border-radius:100vw;transition:width .3s}
.checklist{display:flex;flex-direction:column;gap:12px}
.checklist{gap:0;border-top:1px solid var(--line)}
.ck{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:18px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:.2s}
.ck:hover h3{color:var(--accent)}
.ck input{position:absolute;opacity:0;pointer-events:none}
.ck .box{width:26px;height:26px;border-radius:8px;border:2px solid var(--line);display:grid;place-items:center;margin-top:12px;transition:.2s;color:#fff}
.ck .box .ico{width:16px;height:16px;opacity:0;transform:scale(.6);transition:.2s}
.ck.is-done h3{color:var(--body);text-decoration:line-through;text-decoration-color:var(--line)}.ck.is-done .box{background:var(--primary);border-color:var(--primary)}.ck.is-done .box .ico{opacity:1;transform:none}
.ck h3{font-size:17px}.ck p{font-size:14.5px;margin-top:6px}
.ck .num{font-size:12px;font-weight:700;color:var(--primary);letter-spacing:.1em;margin-top:2px}
.visa-cta{margin-top:20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:20px 25px;border-radius:var(--r);background:var(--tint)}
.visa-cta p{flex:1;min-width:220px;font-size:14.5px;color:var(--heading)}

/* living */
.living-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:30px;align-items:stretch}
.estimator{display:flex;flex-direction:column;gap:22px}
.estimator h3{font-size:22px}
.est-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.range{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:var(--heading)}
.range output{font-weight:700;color:var(--accent);font-size:15px}
input[type=range]{width:100%;accent-color:var(--primary);height:32px;margin:0}
.range .minmax{display:flex;justify-content:space-between;font-size:12px;font-weight:500;color:var(--body)}
.est-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.est-out div{padding:18px 20px;border-radius:var(--r);background:var(--section)}
.est-out small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.est-out strong{display:block;font-size:clamp(20px,1.8vw,26px);color:var(--heading);margin-top:4px;line-height:1.2}
.est-out .total{background:var(--heading)}.est-out .total small{color:#ffffffb3}.est-out .total strong{color:#fff}
.side-stack{display:flex;flex-direction:column;gap:30px}
.side-stack .card{display:flex;flex-direction:column;gap:12px;flex:1}
.side-stack .subq{font-weight:600;color:var(--heading);font-size:15px}
.side-stack .check{display:flex;flex-direction:column;gap:8px}
.side-stack .note{font-size:14px}
.side-stack .accom{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start}
.accom h3{font-size:17px}
.cities{margin-top:30px}
.city-panels{margin-top:25px;padding:30px 0 0;border-top:2px solid var(--line);max-width:760px}
.city-panel{display:none}.city-panel.is-on{display:block}
.city-panel h3{font-size:clamp(26px,2.6vw,36px)}
.city-panel p{margin-top:12px;font-size:clamp(15px,1.3vw,17px)}
.city-panel .btn{margin-top:20px}
.city-map{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--body)}.city-map .ico{width:18px;height:18px;color:var(--primary)}

/* after graduation */
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative;margin-bottom:30px}
.timeline::before{content:"";position:absolute;top:26px;left:12.5%;right:12.5%;height:2px;background:#ffffff33}
.tl{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:0 10px;position:relative}
.tl .dot{width:52px;height:52px;border-radius:50%;background:var(--heading);border:2px solid #ffffff59;color:#fff;display:grid;place-items:center;transition:.25s;position:relative;z-index:1}
.tl .dot .ico{width:22px;height:22px}
.tl:hover .dot{border-color:#fff}.tl[aria-selected="true"] .dot{background:var(--primary);border-color:var(--primary);transform:scale(1.1)}
.tl strong{font-size:15px;color:#fff;line-height:1.2}.tl small{font-size:12.5px;color:#ffffffb3}
.tl-panel{display:none;padding:30px 35px;border-radius:var(--r);background:#ffffff0f;border:1px solid #ffffff1a}
.tl-panel.is-on{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
.tl-panel h3{font-size:22px}.tl-panel .lbl{font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:#ffffffb3;margin-bottom:10px}
.tl-panel ul.check{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.opts{display:flex;flex-direction:column;gap:10px}
.opts li{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:var(--r);background:#ffffff0f;border:1px solid #ffffff1a}
.opts .well{width:40px;height:40px;border-radius:10px;color:var(--primary)}.opts .well .ico{width:20px;height:20px}
.opts h4{font-size:15px}.opts p{font-size:13.5px;margin-top:2px}
.picker{display:flex;flex-direction:column;gap:12px}
.picker .tabs{gap:8px}
.picker-out{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;padding:20px 24px;border-radius:var(--r);background:var(--primary);color:#fff}
.picker-out strong{font-size:clamp(28px,3vw,40px);line-height:1;color:#fff}
.picker-out p{color:#fff;font-size:14.5px}
.picker .regional{display:flex;align-items:center;gap:12px;font-size:14.5px;color:#fff;cursor:pointer}
.switch{width:44px;height:26px;border-radius:100vw;background:#ffffff33;position:relative;transition:.2s;flex:none}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.regional input{position:absolute;opacity:0;pointer-events:none}.regional input:checked+.switch{background:var(--primary)}.regional input:checked+.switch::after{left:21px}
.reqs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:30px}
.reqs .card{display:flex;flex-direction:column;gap:10px;padding:22px}
.reqs h4{font-size:16px}.reqs p{font-size:14px}
.after-bottom{margin-top:30px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:30px}
.after-bottom .card{display:flex;flex-direction:column;gap:12px}
.after-bottom .cta{background:var(--primary);border-color:var(--primary)}.after-bottom .cta p{color:#fff}
.after-bottom .cta .btn{align-self:flex-start;margin-top:8px}
.after-bottom .lbl{font-size:14px;font-weight:600;color:#fff}

/* talk to us */
.why-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:start}
.support{display:flex;flex-direction:column;gap:20px}
.support>h3{font-size:19px}
.support li{display:flex;gap:16px;align-items:flex-start}
.support li h4{font-size:16px}.support li p{font-size:14.5px;margin-top:3px}
.support .btn{align-self:flex-start;margin-top:10px}
.vid-col{display:flex;flex-direction:column;gap:18px}.vid-col h4{font-size:19px}
.yt{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--heading);cursor:pointer;box-shadow:var(--shadow-sm)}
.yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.yt:hover img{transform:scale(1.03)}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt .play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow);transition:transform .2s}
.yt:hover .play{transform:scale(1.08)}.yt .play .ico{width:26px;height:26px;margin-left:3px}
.yt.ph{display:grid;place-items:center;color:#ffffffb3;font-size:14px}.yt.ph .play{display:none}
.stories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.story{display:flex;flex-direction:column;gap:14px}
.story blockquote{margin:0;font-size:15px;color:var(--heading)}
.story .who{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px}
.story .who strong{color:var(--heading);font-size:14px}
.story .yt{aspect-ratio:9/12}
.feature-grid{margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,.8fr);gap:30px}
.feat{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center;border:0;padding:0;background:transparent}
.feat img{width:120px;height:120px;border-radius:var(--r);object-fit:cover}
.feat h3{font-size:18px}.feat p{font-size:14.5px;margin-top:8px;font-style:italic}
.grating{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px;background:var(--tint);border-color:transparent}
.grating .stars{display:flex;gap:2px;color:var(--primary)}
.grating strong{color:var(--heading);font-size:18px}.grating p{font-size:14px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;counter-reset:step}
.step{display:flex;flex-direction:column;gap:12px;counter-increment:step;border:0;border-radius:0;border-top:2px solid var(--line);padding:25px 0 0;background:transparent}
.step .num{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;display:grid;place-items:center;font-size:18px}
.step .num::before{content:counter(step)}
.step h3{font-size:18px}.step p{font-size:14.5px}
.step .link-arrow{margin-top:auto;padding-top:6px;font-size:15px}
.faq-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:50px;align-items:start}
.faq-search{position:relative;margin-bottom:15px}
.faq-search .ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--body)}
.faq-search input{padding-left:48px;border-radius:100vw;min-height:52px}
.faq-empty{display:none;padding:20px;text-align:center;font-size:14.5px}
.faq-list{display:flex;flex-direction:column;gap:10px}
.q{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.q.is-hidden{display:none}
.q.is-open{border-color:var(--primary);box-shadow:var(--shadow-sm)}
.q-btn{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:20px 25px;text-align:left;font-size:16px;font-weight:600;color:var(--heading);line-height:1.35}
.q-btn:hover{color:var(--accent)}
.q-chev{width:28px;height:28px;border-radius:50%;background:var(--tint);color:var(--accent);display:grid;place-items:center;flex:none;transition:transform .25s}
.q-chev .ico{width:16px;height:16px}.q.is-open .q-chev{transform:rotate(180deg)}
.q-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.q.is-open .q-body{grid-template-rows:1fr}
.q-body>div{overflow:hidden}.q-inner{padding:0 25px 25px}.q-inner p{font-size:15px;line-height:1.6}
mark{background:var(--tint);color:inherit;border-radius:3px;padding:0 2px}
.faq-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--hdr) + 30px)}
.faq-side h3{font-size:19px}.faq-side p{font-size:14.5px}
.final{position:relative;overflow:hidden;color:#fff;padding:0}
.final img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.final::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#333333e6 0%,#333333a6 60%,#33333359 100%)}
.final .wrap{position:relative;z-index:1;padding-top:90px;padding-bottom:90px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
.final h2{color:#fff}.final p{color:#ffffffe6;margin-top:12px;max-width:560px}
.modified{font-size:12.5px;padding:15px 0 0}

/* dock */
.dock{position:fixed;right:30px;bottom:30px;z-index:35;display:flex;gap:10px;transform:translateY(120%);transition:transform .35s}
.dock.is-vis{transform:none}
.dock a{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 20px;border-radius:100vw;font-weight:500;font-size:15px;box-shadow:var(--shadow)}
.dock .chat{background:#fff;color:var(--heading);border:2px solid #fff}.dock .chat:hover{background:var(--heading);color:#fff;border-color:var(--heading);text-decoration:none}
.dock .ico{width:20px;height:20px}

/* footer */
.ftr{background:var(--heading);color:#fff;padding:60px 0 30px}
.ftr-grid{display:grid;grid-template-columns:2fr 1.2fr 1.4fr 1.2fr;gap:50px}
.ftr h4{margin:0 0 15px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.ftr p,.ftr a,.ftr li{color:#ffffffd9;font-size:14px}.ftr a:hover{color:#fff}
.ftr ul{display:flex;flex-direction:column;gap:8px}
.ftr-logo{height:44px;width:auto;margin-bottom:18px;filter:brightness(0) invert(1)}
.social{display:flex;gap:10px;margin-top:20px}
.social a{width:40px;height:40px;border-radius:50%;border:1px solid #ffffff33;display:grid;place-items:center;color:#fff}.social a:hover{background:#ffffff1a}
.social .ico{width:18px;height:18px}
.ftr .mara{margin-top:14px;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-sm);background:#ffffff14;font-size:13px;font-weight:600}
.ftr-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:50px;padding-top:20px;border-top:1px solid #ffffff26;font-size:13px}
.ftr-bot span,.ftr-bot a{color:#ffffffb3}.ftr-bot div{display:flex;gap:16px;flex-wrap:wrap}

[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
[data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media (max-width:1500px){.rail{display:none}.rail-m{display:flex}}
.rail-m{position:sticky;top:var(--hdr);z-index:30;background:#fff;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;gap:4px;padding:8px 30px}
.rail-m::-webkit-scrollbar{display:none}
.rail-m a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:100vw;font-size:13px;font-weight:600;color:var(--body);text-decoration:none;white-space:nowrap}
.rail-m a i{width:20px;height:20px;border-radius:50%;background:var(--section);color:var(--heading);display:grid;place-items:center;font-size:11px;font-style:normal;font-weight:700}
.rail-m a.is-on{background:var(--heading);color:#fff}.rail-m a.is-on i{background:var(--primary);color:#fff}
.rail-m a.is-done i{background:var(--heading);color:#fff}
@media (max-width:1180px){
.hdr-nav,.hide-m{display:none}.hdr-menu{display:grid}
.stories{grid-template-columns:repeat(2,minmax(0,1fr))}
.feature-grid{grid-template-columns:1fr 1fr}.grating{grid-column:1/-1;flex-direction:row;justify-content:space-between;text-align:left}
.steps,.reqs{grid-template-columns:repeat(2,minmax(0,1fr))}
.ftr-grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media (min-width:1181px){.mnav{display:none}}
@media (max-width:1000px){
.topbar{display:none}
.hero{min-height:0;padding:90px 0 100px}.hero-bg img{object-position:75% 30%}.hero-bg::after{background:linear-gradient(90deg,#333333f2 0%,#333333cc 55%,#33333366 100%)}.hero-foot{grid-template-columns:1fr}.greview{justify-self:start}
.finder-card{grid-template-columns:1fr;gap:20px;padding:25px}.finder-form{grid-template-columns:1fr 1fr}.finder-form .btn{grid-column:1/-1}
.goal{grid-template-columns:1fr}.goal-opts{justify-content:flex-start}
.visa-grid,.living-grid,.why-grid,.faq-grid,.after-bottom,.consult,.tl-panel.is-on{grid-template-columns:1fr}
.visa-photo{position:static;aspect-ratio:16/9}.faq-side{position:static}
.explorer{grid-template-columns:1fr}
.final .wrap{grid-template-columns:1fr}
}
@media (max-width:760px){
html,body{overflow-x:hidden}body{font-size:15px}
section{padding:50px 0}.wrap{padding:0 5%}.rail-m{padding:8px 5%}
h1{font-size:clamp(30px,8.5vw,38px)}h2{font-size:clamp(24px,6.5vw,30px)}
:root{--hdr:64px}.logo img{height:32px}
.hero{padding:70px 0 90px}.hero-bg::after{background:linear-gradient(180deg,#33333380 0%,#333333e6 70%)}
.why{gap:8px 20px}.greview{width:100%}
.finder{margin-top:-50px}.finder-form{grid-template-columns:1fr}
.card{padding:22px}.goal{padding:20px}.course-grid{grid-template-columns:1fr;gap:10px}.course{padding-top:25px}.steps{gap:10px}
.goal-opts{display:grid;grid-template-columns:1fr;width:100%}.goal-opts .tab{justify-content:center}
.view-toggle{width:100%}.view-toggle button{flex:1;justify-content:center}
.ck{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px}.ck .num{display:none}
.est-row,.est-out{grid-template-columns:1fr}

.timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.timeline::before{display:none}
.tl-panel{padding:22px}
.reqs,.steps{grid-template-columns:1fr}
.stories{grid-template-columns:1fr}.story .yt{aspect-ratio:16/9}
.feature-grid{grid-template-columns:1fr}.feat{grid-template-columns:90px 1fr}.feat img{width:90px;height:90px}
.grating{flex-direction:column;text-align:center}
.q-btn{padding:16px 18px;font-size:15px;gap:12px}.q-inner{padding:0 18px 18px}
.final .wrap{padding-top:60px;padding-bottom:60px}.final .btn{width:100%}
.dock{right:5%;left:5%;bottom:15px}.dock a{flex:1;justify-content:center;padding:0 12px;font-size:14px}
.ftr{padding:40px 0 20px}.ftr-grid{grid-template-columns:1fr;gap:25px}.ftr-bot{margin-top:30px;flex-direction:column;gap:8px}
}
