:root{
  --ink:#18324b;--muted:#5f7286;--line:#dbe5ef;--bg:#f6f9fc;--surface:#fff;--surface2:#eef4f9;
  --blue:#116eb5;--green:#168a62;--amber:#c88900;--danger:#c94040;--shadow:0 14px 40px rgba(24,50,75,.09);
  --header:rgba(255,255,255,.92);--focus:#0b72c4;--input:#fff;--chip:#eef4f9
}
html[data-theme="dark"]{
  --ink:#eaf3fb;--muted:#a9bac9;--line:#294258;--bg:#0b1621;--surface:#122434;--surface2:#172c3e;
  --blue:#74bdf0;--green:#64d3aa;--amber:#f2c35d;--danger:#ff8888;--shadow:0 16px 42px rgba(0,0,0,.28);
  --header:rgba(11,22,33,.93);--focus:#7ec8f8;--input:#0f2030;--chip:#172c3e
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;transition:background .2s,color .2s}a{color:var(--blue)}button,select,input{font:inherit}.wrap{width:min(1160px,calc(100% - 32px));margin:auto}
.header{position:sticky;top:0;z-index:50;background:var(--header);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:76px;display:flex;align-items:center;gap:16px}.brand img{width:245px;max-width:44vw;display:block}.navlinks{display:flex;gap:18px;margin-left:auto;align-items:center}.navlinks a{text-decoration:none;color:var(--ink);font-weight:700;font-size:14px}.headerTools{display:flex;align-items:center;gap:8px}.lang,.themeToggle,.menu{border:1px solid var(--line);background:var(--input);border-radius:12px;padding:9px 11px;color:var(--ink);font-weight:700}.themeToggle{cursor:pointer;display:inline-flex;align-items:center;gap:7px}.menu{display:none;cursor:pointer}.themeIcon{font-size:16px}
.hero{padding:70px 0 42px}.heroGrid{display:grid;grid-template-columns:1.3fr .7fr;gap:38px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));border-radius:999px;font-weight:850;font-size:13px}.hero h1,.countryHero h1{font-size:clamp(38px,6vw,68px);line-height:1.04;letter-spacing:-.045em;margin:18px 0 20px}.hero p,.countryHero .desc{font-size:18px;color:var(--muted);max-width:820px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:12px;text-decoration:none;font-weight:850;border:1px solid var(--line);cursor:pointer}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.secondary{background:var(--surface);color:var(--ink)}.trustbox,.box,.routePanel,.explorerForm,.resultShell,.simplePage article{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.trustbox{border-radius:24px;padding:24px}.trustbox h3{margin:0 0 14px}.tick{display:flex;gap:10px;margin:11px 0;color:var(--muted)}
.section{padding:46px 0}.section h2{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0 0 12px;letter-spacing:-.025em}.lead{color:var(--muted);max-width:840px}.countryTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.countryCard{position:relative;display:flex;flex-direction:column;min-height:270px;padding:24px;border-radius:22px;text-decoration:none;color:var(--ink);border:1px solid var(--line);box-shadow:0 7px 22px rgba(24,50,75,.07);overflow:hidden;background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.countryCard:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-34px;top:-38px;background:var(--accent);opacity:.12}.countryCard .flag{font-size:36px}.countryCard h3{font-size:24px;margin:18px 0 8px}.countryCard p{font-size:14px;color:var(--muted);margin:0 0 20px}.countryCard .go{margin-top:auto;font-weight:850;color:var(--accent)}.howgrid,.featuregrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.box{border-radius:20px;padding:22px}.box .num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 13%,var(--surface));color:var(--blue);font-weight:900}.langs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.langcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-weight:750}
.countryHero{padding:50px 0 22px}.crumbs{font-size:14px;color:var(--muted);margin-bottom:18px}.badgeRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.badge{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.alert{border:1px solid color-mix(in srgb,var(--amber) 35%,var(--line));background:color-mix(in srgb,var(--amber) 8%,var(--surface));border-radius:18px;padding:18px 20px;margin:22px 0}.alert strong{color:var(--ink)}
/* Pathway explorer */
.explorerIntro{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.explorerIntro .lead{margin:0}.noGuarantee{font-size:13px;font-weight:800;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:8px 12px;white-space:nowrap}.explorerGrid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:20px;align-items:start}.explorerForm,.resultShell{border-radius:22px;padding:22px}.explorerForm h3,.resultShell h3{margin:0 0 4px}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:850;color:var(--ink)}.field small{font-size:12px;color:var(--muted)}.field input,.field select{width:100%;border:1px solid var(--line);background:var(--input);color:var(--ink);border-radius:12px;padding:11px 12px;outline:none}.field input:focus,.field select:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.calcActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.calcNote{margin:14px 0 0;color:var(--muted);font-size:12px}.resultTop{display:flex;justify-content:space-between;gap:14px;align-items:start}.matchCount{font-size:13px;color:var(--muted);font-weight:750}.routeTabs{display:flex;gap:9px;overflow-x:auto;padding:15px 2px 10px;scrollbar-width:thin}.routeTab{flex:0 0 auto;border:1px solid var(--line);background:var(--input);color:var(--ink);border-radius:999px;padding:9px 12px;font-weight:800;cursor:pointer;white-space:nowrap}.routeTab.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.routeTab.matched:before{content:"✓ ";color:var(--green)}.routePanel{box-shadow:none;border-radius:18px;padding:20px;margin-top:4px;border-top:4px solid var(--accent)}.routePanel h4{font-size:24px;line-height:1.2;margin:4px 0 8px}.routeKicker{text-transform:uppercase;letter-spacing:.04em;font-weight:900;font-size:12px;color:var(--accent)}.routePanel p{color:var(--muted)}.matchBadge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;background:color-mix(in srgb,var(--green) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));color:var(--green);font-size:12px;font-weight:900}.reasonList{margin:12px 0 18px;padding-left:20px;color:var(--muted)}.officialCta{display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:var(--accent);color:#fff;border-radius:12px;padding:11px 14px;font-weight:850}.resultPlaceholder{color:var(--muted);border:1px dashed var(--line);background:var(--surface2);border-radius:16px;padding:22px;margin-top:12px}.allRoutesNote{font-size:12px;color:var(--muted);margin-top:12px}
.steps{counter-reset:step;display:grid;gap:12px;margin-top:20px}.step{counter-increment:step;display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.step:before{content:counter(step);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:900}.chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.chip{background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:13px;font-weight:700}.faq{margin-top:20px}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:0 18px;margin:10px 0}.faq summary{cursor:pointer;font-weight:800;padding:18px 0;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq details p{color:var(--muted);margin:0 0 18px}.sources{display:grid;gap:10px;margin-top:16px}.source{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:750}.source span:last-child{color:var(--blue)}
.footer{border-top:1px solid var(--line);padding:36px 0 52px;margin-top:48px;background:var(--surface)}.footergrid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.footerlinks{display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap}.footerlinks a{color:var(--muted);text-decoration:none}.simplePage{padding:58px 0}.simplePage article{max-width:850px;border-radius:22px;padding:34px}.simplePage h1{font-size:44px;line-height:1.1}.simplePage h2{margin-top:32px}.muted{color:var(--muted)}
[dir=rtl] body{text-align:right}[dir=rtl] .navlinks{margin-left:0;margin-right:auto}[dir=rtl] .footerlinks{justify-content:flex-start}[dir=rtl] .reasonList{padding-left:0;padding-right:20px}[dir=rtl] .countryCard:after{right:auto;left:-34px}
@media(max-width:960px){.heroGrid,.explorerGrid{grid-template-columns:1fr}.explorerIntro{align-items:start;flex-direction:column}.noGuarantee{white-space:normal}.countryTabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.countryCard{min-width:74vw;scroll-snap-align:start}.howgrid,.featuregrid{grid-template-columns:1fr}.langs{grid-template-columns:repeat(2,1fr)}.navlinks{display:none;position:absolute;top:68px;left:16px;right:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.navlinks.mobileOpen{display:flex}.menu{display:inline-flex;margin-left:auto}.headerTools{gap:6px}.brand img{width:205px}.footergrid{grid-template-columns:1fr}.footerlinks{justify-content:flex-start}.hero{padding-top:44px}}
@media(max-width:620px){.wrap{width:min(100% - 22px,1160px)}.countryCard{min-width:86vw}.langs,.formGrid{grid-template-columns:1fr}.hero h1,.countryHero h1{font-size:40px}.hero p,.countryHero .desc{font-size:16px}.simplePage article{padding:22px}.simplePage h1{font-size:34px}.nav{min-height:66px}.brand img{width:168px}.lang{max-width:118px}.themeToggle .themeLabel{display:none}.themeToggle{padding:9px}.explorerForm,.resultShell{padding:16px}.routePanel h4{font-size:21px}.section{padding:38px 0}.badgeRow{gap:7px}.badge{font-size:12px;padding:7px 9px}}
@media(max-width:620px){.nav{gap:6px}.brand img{width:145px}.lang{max-width:105px;padding:8px}.menu,.themeToggle{padding:8px}.headerTools{gap:5px}}

/* V3 explorer cleanup: stacked calculator, age slider, tidy route cards */
.explorerStack{display:grid;gap:22px;align-items:start}
.explorerForm,.resultShell{padding:26px;border-radius:24px}
.formHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:4px}
.formHeader h3{font-size:25px;line-height:1.2;margin:0 0 4px}
.profileGroup{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface2) 40%,var(--surface))}
.profileGroup.countryFactors{background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-color:color-mix(in srgb,var(--accent) 18%,var(--line))}
.groupTitle{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--ink);font-size:14px;margin-bottom:12px}
.groupIcon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--surface);border:1px solid var(--line);color:var(--blue);font-size:11px;letter-spacing:.04em}
.countryFactors .groupIcon{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}
.formGrid{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.field label{font-size:14px}
.field select{min-height:48px}
.ageField{padding:4px 0 2px}
.ageLabelRow{display:flex;align-items:center;justify-content:space-between;gap:16px}
.ageLabelRow output{min-width:58px;text-align:center;padding:6px 12px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:18px;font-weight:900;line-height:1.25}
.ageField input[type="range"]{appearance:none;-webkit-appearance:none;width:100%;height:30px;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer}
.ageField input[type="range"]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--country-accent,var(--blue)) 78%,var(--surface)),color-mix(in srgb,var(--country-accent,var(--blue)) 20%,var(--surface2)));border:1px solid color-mix(in srgb,var(--country-accent,var(--blue)) 22%,var(--line))}
.ageField input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;margin-top:-9px;background:var(--surface);border:7px solid var(--country-accent,var(--blue));box-shadow:0 3px 10px rgba(0,0,0,.16)}
.ageField input[type="range"]::-moz-range-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--country-accent,var(--blue)) 22%,var(--surface2));border:1px solid var(--line)}
.ageField input[type="range"]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--surface);border:7px solid var(--country-accent,var(--blue));box-shadow:0 3px 10px rgba(0,0,0,.16)}
.rangeScale{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:750;margin-top:-2px}
.calcActions{padding-top:2px}.calcActions .btn{min-width:170px}
.resultShell{scroll-margin-top:95px}
.resultTop{align-items:center;padding-bottom:6px}.resultTop h3{font-size:25px;margin:0}.matchCount{margin-top:5px}
.routeTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible;padding:14px 0 18px}
.routeTab{min-width:0;min-height:86px;border-radius:16px;padding:14px 15px;text-align:left;white-space:normal;display:grid;align-content:center;gap:4px;position:relative;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;background:var(--surface)}
.routeTab:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--country-accent,var(--blue)) 35%,var(--line))}
.routeTab.active{border-color:var(--country-accent,var(--blue));box-shadow:0 0 0 3px color-mix(in srgb,var(--country-accent,var(--blue)) 10%,transparent)}
.routeTab.matched{background:color-mix(in srgb,var(--green) 7%,var(--surface));border-color:color-mix(in srgb,var(--green) 32%,var(--line))}
.routeTab.matched:before{content:"✓";position:absolute;top:10px;right:11px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:12px;font-weight:900}
.routeTabCode{font-size:11px;line-height:1.25;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.035em;padding-right:26px}
.routeTabTitle{font-size:16px;line-height:1.28;font-weight:900;color:var(--ink)}
.routePanel{padding:24px;border-radius:18px;border:1px solid var(--line);border-top:5px solid var(--accent);background:var(--surface);box-shadow:none}
.routePanelHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:5px 0 10px}.routePanelHeading h4{margin:0;font-size:27px;max-width:760px}
.routePanel>p{font-size:16px;line-height:1.75;margin:10px 0 18px}
.whyBox{border-radius:14px;padding:14px 16px;margin:14px 0 18px;background:var(--surface2);border:1px solid var(--line)}
.whyBox h5{margin:0 0 5px;font-size:13px}.whyBox p{margin:0;color:var(--muted)}
.matchBadge{flex:0 0 auto}
.countryCard .flag{font-size:38px;line-height:1;filter:saturate(1.05)}
[dir=rtl] .routeTab{text-align:right}[dir=rtl] .routeTab.matched:before{right:auto;left:11px}[dir=rtl] .routeTabCode{padding-right:0;padding-left:26px}

@media(max-width:760px){
  .explorerForm,.resultShell{padding:18px}
  .profileGroup{padding:14px}
  .formGrid{grid-template-columns:1fr}
  .routeTabs{grid-template-columns:1fr}
  .routeTab{min-height:74px}
  .routePanelHeading{display:block}.matchBadge{margin-top:9px}
  .routePanelHeading h4{font-size:23px}
  .calcActions .btn{width:100%}
}

/* V3 age slider refinement: current age stays centered and prominent */
.ageField{display:grid;grid-template-columns:1fr;gap:8px;padding-top:2px}
.ageStandaloneLabel{display:block;font-size:14px;font-weight:800;color:var(--ink);margin:0}
.ageValueCentered{justify-self:center;min-width:78px;text-align:center;padding:9px 18px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:24px;font-weight:950;line-height:1;box-shadow:0 7px 18px rgba(24,50,75,.14)}
.ageField input[type="range"]{margin-top:2px}
@media(max-width:620px){.ageValueCentered{font-size:22px;min-width:72px;padding:8px 16px}}

/* Language/age polish 2026-10-01: keep the current age centered and prominent. */
.ageField{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.ageStandaloneLabel{display:block!important;text-align:left!important}
.ageValueCentered{justify-self:center!important;align-self:center!important;min-width:100px!important;padding:12px 24px!important;border-radius:999px!important;font-size:32px!important;font-weight:950!important;line-height:1!important;text-align:center!important;margin:2px auto 4px!important;letter-spacing:.01em!important;box-shadow:0 8px 22px rgba(24,50,75,.18)!important}
[dir=rtl] .ageStandaloneLabel{text-align:right!important}
@media(max-width:620px){.ageValueCentered{min-width:90px!important;padding:11px 20px!important;font-size:29px!important}}

/* Homepage hero visual — preserves the V3 copy while adding a lightweight illustration. */
.heroGrid{grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);gap:44px;align-items:center}
.heroCopy{min-width:0}
.heroVisual{display:grid;gap:16px;align-items:center;min-width:0}
.heroImageWrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:330px;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 5%,var(--surface)),color-mix(in srgb,var(--green) 4%,var(--surface)));border:1px solid color-mix(in srgb,var(--blue) 10%,var(--line));box-shadow:0 18px 50px rgba(24,50,75,.08)}
.heroImageWrap img{display:block;width:100%;height:auto;max-height:470px;object-fit:contain;mix-blend-mode:multiply}
html[data-theme="dark"] .heroImageWrap{background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 10%,var(--surface)),color-mix(in srgb,var(--green) 7%,var(--surface)));border-color:var(--line)}
html[data-theme="dark"] .heroImageWrap img{mix-blend-mode:normal;border-radius:22px;opacity:.94}
.heroTrust{padding:18px 20px;border-radius:20px;box-shadow:0 10px 30px rgba(24,50,75,.07)}
.heroTrust h3{font-size:17px;margin-bottom:8px}.heroTrust .tick{font-size:14px;margin:7px 0}
@media(max-width:960px){.heroGrid{grid-template-columns:1fr;gap:28px}.heroVisual{max-width:720px;width:100%;margin:0 auto}.heroImageWrap{min-height:0}.heroImageWrap img{max-height:520px}.heroTrust{width:100%}}
@media(max-width:620px){.heroVisual{gap:12px}.heroImageWrap{border-radius:22px}.heroImageWrap img{max-height:410px}.heroTrust{padding:16px}.heroTrust .tick{font-size:13px}}

/* V7 visual polish: smaller hero artwork, larger readable text, lower change notice, stronger mobile layout */
body{font-size:17px}

/* Homepage typography */
.hero h1{font-size:clamp(42px,5.7vw,72px)}
.hero p{font-size:19px;line-height:1.7}
.hero .btn{font-size:16px;padding:13px 18px}
.section h2{font-size:clamp(30px,4vw,44px)}
.lead{font-size:17px;line-height:1.75}
.countryCard h3{font-size:25px}
.countryCard p{font-size:15.5px;line-height:1.65}
.countryCard .go{font-size:16px}
.box{font-size:16.5px}
.langcard{font-size:16px}

/* Keep the homepage artwork visually lighter than the heading */
.heroGrid{grid-template-columns:minmax(0,1.38fr) minmax(320px,.62fr);gap:42px}
.heroVisual{width:100%;max-width:430px;justify-self:end;gap:14px}
.heroImageWrap{min-height:245px;border-radius:26px;padding:8px}
.heroImageWrap img{width:100%;max-width:390px;max-height:330px;object-fit:contain}
.heroTrust{padding:20px 22px}
.heroTrust h3{font-size:19px}
.heroTrust .tick{font-size:15.5px;line-height:1.55}

/* Country/calculator page readability */
.countryHero .desc{font-size:19px;line-height:1.72}
.crumbs{font-size:15px}
.badge{font-size:14px;padding:9px 13px}
.explorerIntro .lead{font-size:17.5px}
.noGuarantee{font-size:14px}
.formHeader h3,.resultTop h3{font-size:27px}
.groupTitle{font-size:15.5px}
.field label{font-size:15.5px}
.field small{font-size:13.5px}
.field select,.field input{font-size:16.5px;min-height:50px}
.routeTabCode{font-size:12px}
.routeTabTitle{font-size:17px}
.routePanelHeading h4{font-size:29px}
.routePanel>p{font-size:17px;line-height:1.8}
.routeKicker{font-size:13px}
.whyBox h5{font-size:14px}
.whyBox p,.reasonList{font-size:15.5px}
.officialCta{font-size:16px;padding:12px 15px}
.calcNote,.allRoutesNote{font-size:13.5px;line-height:1.6}

/* Give the rules-change notice more breathing room below the country intro. */
.countryHero + .section{padding-top:64px}
.countryHero + .section > .wrap > .alert:first-child{margin:0 0 34px;padding:20px 22px;font-size:15.5px;line-height:1.65}

/* Mobile: artwork stays compact, typography remains readable, forms stack cleanly. */
@media(max-width:960px){
  .heroGrid{grid-template-columns:1fr;gap:24px}
  .heroVisual{max-width:560px;justify-self:center;margin:2px auto 0}
  .heroImageWrap{padding:6px;min-height:0}
  .heroImageWrap img{max-width:420px;max-height:345px}
  .heroTrust{max-width:560px;margin:0 auto}
  .countryHero + .section{padding-top:48px}
}
@media(max-width:620px){
  body{font-size:16px}
  .hero{padding:36px 0 24px}
  .hero h1,.countryHero h1{font-size:clamp(36px,11vw,44px);line-height:1.07}
  .hero p,.countryHero .desc{font-size:17px;line-height:1.65}
  .hero .actions{gap:9px;margin-top:20px}
  .hero .btn{width:100%;font-size:15px}
  .heroVisual{max-width:100%;gap:10px}
  .heroImageWrap{max-width:390px;width:100%;margin:0 auto;border-radius:20px;padding:4px}
  .heroImageWrap img{max-width:350px;max-height:285px}
  .heroTrust{max-width:390px;width:100%;padding:16px 17px}
  .heroTrust h3{font-size:18px}
  .heroTrust .tick{font-size:14px}
  .section h2{font-size:32px}
  .lead{font-size:16px}
  .countryCard h3{font-size:23px}
  .countryCard p{font-size:15px}
  .countryHero{padding:38px 0 14px}
  .countryHero + .section{padding-top:40px}
  .countryHero + .section > .wrap > .alert:first-child{margin-bottom:28px;padding:17px 16px;font-size:14.5px}
  .explorerIntro .lead{font-size:16px}
  .formHeader h3,.resultTop h3{font-size:24px}
  .groupTitle{font-size:15px}
  .field label{font-size:15px}
  .field select,.field input{font-size:16px;min-height:50px}
  .routeTabTitle{font-size:16px}
  .routePanelHeading h4{font-size:24px}
  .routePanel>p{font-size:16px;line-height:1.72}
  .officialCta{width:100%;text-align:center;justify-content:center}
  .badgeRow{gap:7px}
  .badge{font-size:12.5px;padding:7px 9px}
}


/* V8 responsive/nav fixes — 2026-10-01 */
/* Compact country PR links in the header */
.prNavMenu{position:relative;color:var(--ink)}
.prNavMenu summary{list-style:none;cursor:pointer;color:var(--ink);font-weight:750;font-size:14px;white-space:nowrap}
.prNavMenu summary::-webkit-details-marker{display:none}
.prNavMenu summary::after{content:" ▾";font-size:11px;color:var(--muted)}
.prNavMenu[open] summary::after{content:" ▴"}
.prMenuPanel{position:absolute;top:calc(100% + 12px);left:0;z-index:80;min-width:210px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:grid;gap:4px}
.prMenuPanel a{display:block!important;padding:9px 10px;border-radius:9px;color:var(--ink)!important;text-decoration:none;font-size:13.5px!important;font-weight:750!important;white-space:nowrap}
.prMenuPanel a:hover{background:var(--surface2)}
[dir=rtl] .prMenuPanel{left:auto;right:0}

/* On mobile/tablet, force hero elements into normal vertical flow so artwork never overlaps copy. */
@media(max-width:960px){
  .heroGrid{display:flex!important;flex-direction:column!important;gap:22px!important;align-items:stretch!important}
  .heroCopy,.heroVisual{position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;justify-self:stretch!important}
  .heroVisual{display:flex!important;flex-direction:column!important;align-items:center!important;gap:14px!important}
  .heroImageWrap{position:relative!important;inset:auto!important;transform:none!important;width:min(100%,520px)!important;max-width:520px!important;min-height:0!important;margin:0 auto!important;padding:6px!important;overflow:hidden!important}
  .heroImageWrap img{position:static!important;inset:auto!important;transform:none!important;display:block!important;width:min(100%,420px)!important;max-width:420px!important;height:auto!important;max-height:none!important;margin:0 auto!important;object-fit:contain!important}
  .heroTrust{position:static!important;inset:auto!important;transform:none!important;width:min(100%,520px)!important;max-width:520px!important;margin:0 auto!important}

  /* Country cards: no horizontal swipe required. */
  .countryTabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;overflow:visible!important;scroll-snap-type:none!important;padding-bottom:0!important}
  .countryCard{min-width:0!important;width:100%!important;min-height:245px!important;scroll-snap-align:none!important}

  /* Header PR links live inside the hamburger menu on smaller screens. */
  .prNavMenu{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
  .prNavMenu summary{padding:10px 12px;font-size:14px}
  .prMenuPanel{position:static;min-width:0;border:0;border-top:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:none;background:var(--surface);padding:6px}
  .prMenuPanel a{padding:9px 10px!important}
}

@media(max-width:620px){
  /* Mobile hero: copy, equal CTAs, artwork, trust box — all separate and centered. */
  .hero{padding:34px 0 30px!important;overflow:hidden}
  .heroGrid{gap:18px!important}
  .heroCopy{overflow:visible!important}
  .hero h1{font-size:clamp(35px,10.5vw,44px)!important;line-height:1.06!important;overflow-wrap:anywhere}
  .hero p{font-size:16.5px!important;line-height:1.62!important}
  .eyebrow{font-size:12.5px!important;max-width:100%;white-space:normal}
  .hero .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;margin-top:20px!important}
  .hero .actions .btn{width:100%!important;min-width:0!important;min-height:50px!important;padding:11px 10px!important;font-size:14px!important;line-height:1.25!important;text-align:center!important}
  .heroImageWrap{width:min(100%,350px)!important;max-width:350px!important;border-radius:20px!important;margin-top:2px!important}
  .heroImageWrap img{width:min(100%,320px)!important;max-width:320px!important}
  .heroTrust{width:100%!important;max-width:100%!important;padding:16px!important}
  .heroTrust h3{font-size:18px!important}
  .heroTrust .tick{font-size:14px!important;line-height:1.45!important}

  /* One card per row on phones: all countries visible vertically, no sideways sliding. */
  .countryTabs{grid-template-columns:1fr!important;gap:12px!important}
  .countryCard{min-height:0!important;padding:20px!important}
  .countryCard .flag{font-size:34px!important}
  .countryCard h3{margin:13px 0 6px!important}
  .countryCard p{margin-bottom:16px!important}
}

@media(max-width:390px){
  .hero .actions{grid-template-columns:1fr!important}
}


/* V9 — larger, easier-to-read calculator typography (2026-10-08) */
.explorerIntro h2{font-size:clamp(30px,4vw,42px);line-height:1.15}
.explorerIntro .lead{font-size:19px;line-height:1.7}
.noGuarantee{font-size:15.5px;padding:10px 15px;line-height:1.4}
.formHeader h3,.resultTop h3{font-size:30px}
.formHeader .muted{font-size:17px}
.groupTitle{font-size:18.5px;gap:12px}
.groupIcon{width:36px;height:36px;font-size:13px;border-radius:10px}
.field{gap:9px}
.field label,.ageStandaloneLabel{font-size:17.5px;line-height:1.35}
.field select,.field input{font-size:18px;min-height:56px;padding:12px 15px;border-radius:14px}
.field select option{font-size:18px}
.rangeScale{font-size:15.5px}
.ageValueCentered{font-size:34px!important}
.calcActions .btn{font-size:18px;min-height:56px;padding:14px 24px}
.calcNote,.allRoutesNote{font-size:15.5px;line-height:1.65}
.matchCount{font-size:16.5px}
.routeTab{min-height:98px;padding:16px 18px}
.routeTabCode{font-size:13.5px}
.routeTabTitle{font-size:19px;line-height:1.3}
.routeKicker{font-size:14.5px}
.routePanelHeading h4{font-size:32px}
.routePanel>p{font-size:18.5px;line-height:1.8}
.whyBox{padding:16px 18px}
.whyBox h5{font-size:16px}
.whyBox p{font-size:17.5px;line-height:1.7}
.matchBadge{font-size:14px;padding:8px 13px}
.officialCta{font-size:17.5px;padding:14px 20px}
.source{font-size:17px;padding:16px 18px}
.faq summary{font-size:17.5px}.faq details p{font-size:16.5px}
.step{font-size:17px}.chip{font-size:15px}

@media(max-width:620px){
  .explorerIntro .lead{font-size:17.5px}
  .noGuarantee{font-size:14.5px}
  .formHeader h3,.resultTop h3{font-size:26px}
  .formHeader .muted{font-size:16px}
  .groupTitle{font-size:17px}
  .field label,.ageStandaloneLabel{font-size:16.5px}
  .field select,.field input{font-size:17px;min-height:54px}
  .ageValueCentered{font-size:30px!important}
  .calcActions .btn{font-size:17px}
  .routeTab{min-height:84px;padding:14px 16px}
  .routeTabTitle{font-size:17.5px}
  .routePanelHeading h4{font-size:26px}
  .routePanel>p{font-size:17px;line-height:1.75}
  .whyBox p{font-size:16.5px}
  .officialCta{font-size:16.5px}
  .source{font-size:16px}
}


/* V10 — bigger header text on every page (2026-10-08) */
.nav{min-height:86px;gap:20px}
.brand img{width:262px;max-width:46vw}
.navlinks{gap:26px}
.navlinks a,.prNavMenu summary{font-size:18px;font-weight:800}
.prNavMenu summary::after{font-size:13px}
.prMenuPanel{min-width:250px;padding:10px;top:calc(100% + 14px)}
.prMenuPanel a{font-size:17px!important;padding:12px 14px;font-weight:800!important}
.lang,.themeToggle,.menu{font-size:17px;padding:11px 14px;min-height:48px}
.themeIcon{font-size:19px}
.headerTools{gap:10px}
/* collapse to the hamburger earlier so larger text never wraps or overlaps */
@media(max-width:1180px){
  .navlinks{display:none;position:absolute;top:100%;left:16px;right:16px;margin-top:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:6px}
  .navlinks.mobileOpen{display:flex}
  .navlinks>a{padding:12px 14px;border-radius:12px;font-size:18.5px}
  .navlinks>a:hover{background:var(--surface2)}
  .menu{display:inline-flex;align-items:center;margin-left:auto;font-size:22px}
  .prNavMenu{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
  .prNavMenu summary{padding:13px 14px;font-size:18.5px}
  .prMenuPanel{position:static;min-width:0;border:0;border-top:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:none;background:var(--surface);padding:6px}
  .prMenuPanel a{padding:12px 14px!important;font-size:17.5px!important}
}
@media(max-width:620px){
  .nav{min-height:70px;gap:6px}
  .brand img{width:132px}
  .lang{font-size:15.5px;max-width:112px;padding:9px 8px;min-height:46px}
  .themeToggle,.menu{padding:9px 11px;min-height:46px}
  .navlinks{left:11px;right:11px}
}

/* V10 — language level hints */
.field small.fieldHint{display:grid;gap:6px;font-size:15.5px;line-height:1.55;color:var(--muted)}
.fieldHint:empty{display:none}
.hintLine{display:block}
.hintNote{color:var(--ink);font-weight:650;background:color-mix(in srgb,var(--blue) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 20%,var(--line));border-radius:10px;padding:8px 10px}

/* V10 — "how could this become achievable" tabs (shown when 0 routes match) */
.improve{border:1px solid color-mix(in srgb,var(--accent,var(--blue)) 28%,var(--line));border-radius:22px;background:color-mix(in srgb,var(--accent,var(--blue)) 6%,var(--surface));padding:24px;margin:8px 0 22px}
.improveHead{display:flex;gap:16px;align-items:flex-start}
.improveIcon{font-size:40px;line-height:1}
.improveHead h4{margin:0 0 8px;font-size:26px;line-height:1.25}
.improveHead p{margin:0;color:var(--muted);font-size:17.5px;line-height:1.7}
.improveTabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 16px}
.improveTab{display:grid;gap:3px;text-align:start;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;padding:13px 17px;cursor:pointer;min-width:0;transition:transform .15s,border-color .15s,box-shadow .15s}
.improveTab:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent,var(--blue)) 45%,var(--line))}
.improveTab.active{border-color:var(--accent,var(--blue));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,var(--blue)) 14%,transparent);background:color-mix(in srgb,var(--accent,var(--blue)) 8%,var(--surface))}
.improveTabTitle{font-weight:900;font-size:17.5px;line-height:1.3}
.improveTabSub{font-size:14.5px;font-weight:800;color:var(--green)}
.improveBody{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}
.comboLead{margin:0 0 14px;font-size:17.5px;line-height:1.7;color:var(--muted)}
.changeBlock{margin-bottom:16px}
.stepNo{font-weight:900;font-size:14.5px;color:var(--accent,var(--blue));text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.changeRow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:stretch}
.changeCard{border:1px solid var(--line);border-radius:14px;padding:13px 15px;background:var(--surface2);display:grid;gap:5px;align-content:center}
.changeCard span{font-size:14px;color:var(--muted);font-weight:800}
.changeCard strong{font-size:18px;line-height:1.35}
.changeCard.target{border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:color-mix(in srgb,var(--green) 9%,var(--surface))}
.changeArrow{display:grid;place-items:center;font-size:28px;font-weight:900;color:var(--accent,var(--blue))}
[dir=rtl] .changeArrow{transform:scaleX(-1)}
.changeNote{margin:10px 0 0;font-size:16px;line-height:1.6;color:var(--muted)}
.improveBody h5{font-size:15.5px;margin:6px 0 10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.unlockList{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:9px}
.unlockList li{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px 15px;font-weight:800;font-size:17px;line-height:1.35}
.unlockList a{color:var(--blue);white-space:nowrap;text-decoration:none;font-weight:850;font-size:15.5px}
.improveApply{font-size:18px;min-height:54px;padding:13px 24px}

/* V10 — celebration pop-up when pathways are found */
.celebrate{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(10,24,40,.4);backdrop-filter:blur(3px);animation:celFade .25s ease both;cursor:pointer;overflow:hidden;padding:16px}
.celebrate.leaving{animation:celOut .32s ease forwards}
.celebrateCard{position:relative;text-align:center;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:30px;padding:36px 42px 32px;width:min(100%,440px);box-shadow:0 30px 80px rgba(0,0,0,.35);animation:celPop .6s cubic-bezier(.2,1.4,.4,1) both}
.celebrateIcon{font-size:88px;line-height:1;display:inline-block;animation:celBounce 1.1s ease .35s 2 both}
.celebrateCard h3{font-size:36px;margin:10px 0 8px;letter-spacing:-.02em;line-height:1.15}
.celebrateCount{display:inline-grid;place-items:center;min-width:88px;height:88px;padding:0 20px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:48px;font-weight:950;margin:6px 0 12px;box-shadow:0 10px 26px rgba(24,50,75,.28)}
.celebrateCard p{margin:0;color:var(--muted);font-size:19px;line-height:1.5}
.celebrateClose{position:absolute;top:12px;right:14px;border:0;background:var(--surface2);color:var(--ink);width:40px;height:40px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer}
[dir=rtl] .celebrateClose{right:auto;left:14px}
.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.confettiBit{position:absolute;top:-8%;animation-name:celFall;animation-timing-function:linear;animation-fill-mode:forwards;will-change:transform}
@keyframes celFall{0%{transform:translate3d(0,-10vh,0) rotate(0)}100%{transform:translate3d(var(--drift),118vh,0) rotate(540deg)}}
@keyframes celPop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes celBounce{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-18px) scale(1.16) rotate(-8deg)}70%{transform:translateY(0) scale(.96)}}
@keyframes celFade{from{opacity:0}to{opacity:1}}
@keyframes celOut{to{opacity:0}}
@media(prefers-reduced-motion:reduce){.celebrate,.celebrateCard,.celebrateIcon{animation:none!important}}

@media(max-width:760px){
  .improve{padding:18px}
  .improveHead h4{font-size:22px}
  .improveHead p{font-size:16.5px}
  .improveIcon{font-size:34px}
  .improveTabs{gap:8px}
  .improveTab{flex:1 1 100%}
  .changeRow{grid-template-columns:1fr;gap:8px}
  .changeArrow{transform:rotate(90deg);font-size:24px;line-height:1}
  [dir=rtl] .changeArrow{transform:rotate(90deg)}
  .unlockList li{flex-direction:column;align-items:flex-start;gap:6px}
  .improveApply{width:100%}
  .celebrateCard{padding:30px 24px 26px}
  .celebrateCard h3{font-size:30px}
  .celebrateIcon{font-size:72px}
}

/* V10 header fit — scale type smoothly so long translations never overflow */
.navlinks{gap:clamp(14px,1.5vw,26px)}
.navlinks a,.prNavMenu summary{font-size:clamp(16px,1.35vw,18px)}
.brand img{width:clamp(210px,19vw,262px)}
@media(min-width:1181px) and (max-width:1420px){.themeToggle .themeLabel{display:none}.themeToggle{padding:11px 13px}}
@media(max-width:1180px){.navlinks>a,.prNavMenu summary{font-size:18.5px}.brand img{width:230px}}
@media(max-width:620px){
  .brand img{width:118px}
  .nav{gap:4px}
  .headerTools{gap:5px}
  .lang{max-width:98px;font-size:15px;padding:9px 6px}
  .themeToggle,.menu{padding:9px 10px;min-width:44px}
  .menu{font-size:20px}
}
@media(max-width:350px){
  .brand img{width:96px}
  .lang{max-width:78px;font-size:14px;padding:8px 4px}
  .themeToggle,.menu{min-width:38px;padding:8px 7px}
}


/* V6: five country cards on the home page */
@media(min-width:961px){.countryTabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1240px){.countryTabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.countryCard{padding:20px;min-height:300px}.countryCard h3{font-size:22px}}

/* ===== V7: colourful header tabs + highlighted PR calculators tab ===== */
.navlinks a[data-i18n="home"]{--tab:#2563eb;--tab-rgb:37,99,235}
.navlinks a[data-i18n="about"]{--tab:#0d9d6e;--tab-rgb:13,157,110}
.navlinks a[data-i18n="editorial"]{--tab:#7c3aed;--tab-rgb:124,58,237}
.navlinks a[data-i18n="contact"]{--tab:#e0245e;--tab-rgb:224,36,94}
html[data-theme="dark"] .navlinks a[data-i18n="home"]{--tab:#7fb0ff;--tab-rgb:127,176,255}
html[data-theme="dark"] .navlinks a[data-i18n="about"]{--tab:#4fe0ae;--tab-rgb:79,224,174}
html[data-theme="dark"] .navlinks a[data-i18n="editorial"]{--tab:#b99cff;--tab-rgb:185,156,255}
html[data-theme="dark"] .navlinks a[data-i18n="contact"]{--tab:#ff7fa5;--tab-rgb:255,127,165}
.navlinks>a{color:var(--tab,var(--ink))!important;background:rgba(var(--tab-rgb,0,0,0),.11);border:1.5px solid rgba(var(--tab-rgb,0,0,0),.28);border-radius:999px;padding:7px 14px;line-height:1.25;transition:background .18s,transform .18s,box-shadow .18s}
.navlinks>a:hover{background:rgba(var(--tab-rgb,0,0,0),.2);transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--tab-rgb,0,0,0),.22)}
.navlinks{gap:clamp(6px,.8vw,12px)}
/* PR calculators: the hero tab */
.prNavMenu{border-radius:999px;background:linear-gradient(120deg,#ff8a1f,#f0306b 52%,#7c3aed);padding:2px;box-shadow:0 8px 22px rgba(240,48,107,.38);position:relative;animation:prGlow 2.8s ease-in-out infinite}
.prNavMenu summary{color:#fff!important;padding:6px 15px;border-radius:999px;background:transparent;display:flex;align-items:center;gap:6px;font-weight:850;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.prNavMenu summary::before{content:"🧮";font-size:.95em}
.prNavMenu summary::after{color:#fff!important}
.prNavMenu:hover,.prNavMenu[open]{transform:translateY(-1px)}
@keyframes prGlow{0%,100%{box-shadow:0 6px 18px rgba(240,48,107,.34)}50%{box-shadow:0 8px 26px rgba(255,138,31,.55)}}
@media(prefers-reduced-motion:reduce){.prNavMenu{animation:none}}
.prMenuPanel{border:2px solid transparent!important;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(120deg,#ff8a1f,#f0306b,#7c3aed) border-box!important}
.prMenuPanel a{--tab:#2563eb;--tab-rgb:37,99,235;border-left:5px solid var(--tab);background:rgba(var(--tab-rgb),.09);color:var(--ink)!important}
.prMenuPanel a:hover{background:rgba(var(--tab-rgb),.2)}
.prMenuPanel a[href$="canada/index.html"]{--tab:#df3e48;--tab-rgb:223,62,72}
.prMenuPanel a[href$="australia/index.html"]{--tab:#0d74b8;--tab-rgb:13,116,184}
.prMenuPanel a[href$="germany/index.html"]{--tab:#d49a00;--tab-rgb:212,154,0}
.prMenuPanel a[href$="ireland/index.html"]{--tab:#168a62;--tab-rgb:22,138,98}
.prMenuPanel a[href$="newzealand/index.html"]{--tab:#6d5ce0;--tab-rgb:109,92,224}
body[data-country="canada"] .prMenuPanel a[href$="canada/index.html"],body[data-country="australia"] .prMenuPanel a[href$="australia/index.html"],body[data-country="germany"] .prMenuPanel a[href$="germany/index.html"],body[data-country="ireland"] .prMenuPanel a[href$="ireland/index.html"],body[data-country="newzealand"] .prMenuPanel a[href$="newzealand/index.html"]{background:rgba(var(--tab-rgb),.26);box-shadow:inset 0 0 0 2px var(--tab)}
.menu{background:linear-gradient(120deg,#ff8a1f,#f0306b);color:#fff;border:0}
.themeToggle{background:linear-gradient(120deg,#ffe29a,#ffb199);color:#4a2a00;border:0}
html[data-theme="dark"] .themeToggle{background:linear-gradient(120deg,#33406e,#5b3f8f);color:#fff}
.header{border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#df3e48,#ff8a1f,#d49a00,#168a62,#0d74b8,#7c3aed) 1}
@media(max-width:1180px){
  .navlinks>a{border-radius:12px;border-left:6px solid var(--tab);padding:12px 14px}
  .prNavMenu{border-radius:14px;padding:2px;width:100%}
  .prNavMenu summary{padding:12px 14px}
  .prMenuPanel{border-radius:0 0 12px 12px!important;margin-top:2px}
}

/* ===== V7: colourful country calculator pages ===== */
body[data-country="canada"]{--ac:#df3e48;--ac2:#ff9a5c;--ac-rgb:223,62,72}
body[data-country="australia"]{--ac:#0d74b8;--ac2:#2ec4b6;--ac-rgb:13,116,184}
body[data-country="germany"]{--ac:#c48a00;--ac2:#e2572f;--ac-rgb:196,138,0}
body[data-country="ireland"]{--ac:#168a62;--ac2:#7bc96f;--ac-rgb:22,138,98}
body[data-country="newzealand"]{--ac:#5b4bc4;--ac2:#e0578f;--ac-rgb:91,75,196}
body[data-country] .countryHero{background:linear-gradient(135deg,rgba(var(--ac-rgb),.2),rgba(var(--ac-rgb),.04) 55%,transparent),var(--surface);border-bottom:4px solid var(--ac);position:relative;overflow:hidden}
body[data-country] .countryHero::after{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(var(--ac-rgb),.28),transparent 68%);pointer-events:none}
body[data-country] .countryHero h1{background:linear-gradient(90deg,var(--ac),var(--ac2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--ac)}
body[data-country] .countryHero .eyebrow{background:linear-gradient(90deg,var(--ac),var(--ac2));color:#fff;border:0}
.seoDesc{max-width:880px;margin:12px 0 4px;padding:14px 18px;border-left:5px solid var(--ac,var(--blue));border-radius:0 14px 14px 0;background:rgba(var(--ac-rgb,17,110,181),.09);color:var(--ink);font-size:16.5px;line-height:1.7}
.seoDesc[hidden]{display:none}
body[data-country] .badge:nth-child(1){background:rgba(22,138,98,.14);border-color:rgba(22,138,98,.4)}
body[data-country] .badge:nth-child(2){background:rgba(37,99,235,.13);border-color:rgba(37,99,235,.4)}
body[data-country] .badge:nth-child(3){background:rgba(224,36,94,.12);border-color:rgba(224,36,94,.38)}
body[data-country] .badge:nth-child(4){background:rgba(124,58,237,.13);border-color:rgba(124,58,237,.4)}
body[data-country] .explorerForm{border-top:6px solid var(--ac);background:linear-gradient(180deg,rgba(var(--ac-rgb),.07),transparent 140px),var(--surface)}
body[data-country] .resultShell{border-top:6px solid var(--ac2);background:linear-gradient(180deg,rgba(var(--ac-rgb),.07),transparent 140px),var(--surface)}
body[data-country] .explorerForm h3,body[data-country] .resultShell h3{color:var(--ac)}
body[data-country] .field select,body[data-country] .field input{border-color:rgba(var(--ac-rgb),.35)}
body[data-country] .field select:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(var(--ac-rgb),.22)}
body[data-country] .explorerForm button[type=submit],body[data-country] #profileForm button[type=submit]{background:linear-gradient(90deg,var(--ac),var(--ac2))!important;color:#fff!important;border:0;box-shadow:0 8px 20px rgba(var(--ac-rgb),.35)}
body[data-country] .routeTab{border-color:rgba(var(--ac-rgb),.3);background:rgba(var(--ac-rgb),.06)}
body[data-country] .routeTab.active,body[data-country] .routeTab[aria-selected="true"]{background:linear-gradient(135deg,rgba(var(--ac-rgb),.22),rgba(var(--ac-rgb),.08));border-color:var(--ac);box-shadow:0 6px 16px rgba(var(--ac-rgb),.25)}
body[data-country] .routeTab.matched{box-shadow:0 0 0 2px var(--ac2)}
body[data-country] .step{background:linear-gradient(90deg,rgba(var(--ac-rgb),.1),transparent),var(--surface);border-left:5px solid var(--ac)}
body[data-country] .chip{background:rgba(var(--ac-rgb),.1);border:1px solid rgba(var(--ac-rgb),.3);color:var(--ink)}
body[data-country] .chip:nth-child(3n+2){background:rgba(37,99,235,.1);border-color:rgba(37,99,235,.3)}
body[data-country] .chip:nth-child(3n){background:rgba(22,138,98,.11);border-color:rgba(22,138,98,.3)}
body[data-country] .faq details{border-left:5px solid var(--ac);background:linear-gradient(90deg,rgba(var(--ac-rgb),.07),transparent 40%),var(--surface)}
body[data-country] .faq details:nth-child(4n+2){border-left-color:var(--ac2)}
body[data-country] .faq details:nth-child(4n+3){border-left-color:#2563eb}
body[data-country] .faq details:nth-child(4n){border-left-color:#7c3aed}
body[data-country] .faq details[open]{box-shadow:0 8px 22px rgba(var(--ac-rgb),.18)}
body[data-country] .faq summary{color:var(--ink)}
body[data-country] .source{border-left:5px solid var(--ac);background:linear-gradient(90deg,rgba(var(--ac-rgb),.08),transparent 50%),var(--surface)}
body[data-country] .section h2{display:inline-block;background:linear-gradient(90deg,var(--ac),var(--ac2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--ac)}
@media(max-width:620px){.seoDesc{font-size:15.5px;padding:12px 14px}}
/* V7 header fit tuning for the coloured tabs */
@media(min-width:1181px){
  .navlinks>a{padding:6px 11px}
  .navlinks{gap:clamp(4px,.55vw,10px)}
  .prNavMenu summary{padding:5px 11px;gap:5px}
  .brand img{width:clamp(170px,15vw,245px)}
  .nav{gap:clamp(8px,1vw,20px)}
  .themeToggle .themeLabel{display:none}.themeToggle{padding:11px 13px}
  .lang{max-width:clamp(120px,10vw,170px)}
}

/* ===================================================================== *
 * V8 additions
 * ===================================================================== */

/* --- Theme toggle: always clearly visible (moon on navy in light theme, sun on gold in dark theme) --- */
.themeToggle{
  background:#14213d!important;color:#ffd94d!important;border:2px solid #ffd94d!important;
  min-width:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  box-shadow:0 2px 8px rgba(20,33,61,.35);cursor:pointer;font-weight:800;line-height:1
}
.themeToggle .themeIcon{font-size:21px;line-height:1;filter:none;opacity:1}
.themeToggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(20,33,61,.45)}
.themeToggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
html[data-theme="dark"] .themeToggle{
  background:#ffd94d!important;color:#3a2700!important;border-color:#fff1b0!important;box-shadow:0 2px 10px rgba(255,217,77,.35)
}
/* show the word next to the icon when the header has room */
@media(min-width:1500px){
  .themeToggle .themeLabel{display:inline!important;font-size:15px}
}

/* --- Punjabi + Bengali typography (system fonts that ship with Windows, macOS, Android and iOS) --- */
html[lang="pa"] body,html[lang="pa"] input,html[lang="pa"] select,html[lang="pa"] button{font-family:Inter,"Noto Sans Gurmukhi","Raavi","Gurmukhi MN","Nirmala UI",system-ui,-apple-system,"Segoe UI",sans-serif}
html[lang="bn"] body,html[lang="bn"] input,html[lang="bn"] select,html[lang="bn"] button{font-family:Inter,"Noto Sans Bengali","Vrinda","Bangla MN","Nirmala UI",system-ui,-apple-system,"Segoe UI",sans-serif}
html[lang="pa"] body,html[lang="bn"] body{line-height:1.8}
html[lang="pa"] h1,html[lang="pa"] h2,html[lang="pa"] h3,html[lang="bn"] h1,html[lang="bn"] h2,html[lang="bn"] h3{line-height:1.35;letter-spacing:0}

/* --- Partner field hidden unless "married" --- */
.field.isHidden,.field[hidden]{display:none!important}

/* --- Beginner-friendly "What does this mean?" help --- */
.fieldHelp{margin-top:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);overflow:hidden}
.fieldHelp>summary{cursor:pointer;list-style:none;padding:8px 12px;font-size:13.5px;font-weight:800;color:var(--blue);display:flex;align-items:center;gap:6px}
.fieldHelp>summary::-webkit-details-marker{display:none}
.fieldHelp>summary:after{content:"▾";margin-left:auto;transition:transform .15s ease;opacity:.7}
.fieldHelp[open]>summary:after{transform:rotate(180deg)}
.fieldHelp>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.fieldHelpBody{padding:2px 14px 12px;font-size:14.5px;line-height:1.65;color:var(--ink)}
.fieldHelpBody p{margin:8px 0}
.fieldHelpBody ul{margin:6px 0 8px;padding-left:20px}
.fieldHelpBody li{margin:3px 0}
[dir=rtl] .fieldHelpBody ul{padding-left:0;padding-right:20px}
[dir=rtl] .fieldHelp>summary:after{margin-left:0;margin-right:auto}

/* --- Gentle wording note for family options --- */
.familyNote{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--amber) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--amber) 35%,var(--line));font-size:14.5px;line-height:1.6;color:var(--ink)}

/* --- Route accordion: tap a pathway, read the explanation and the official link right there --- */
.routeHint{margin:6px 0 0;font-size:14.5px;color:var(--muted)}
body .routeTabs.routeAccordion{display:flex;flex-direction:column;gap:10px;grid-template-columns:none;padding:12px 0 14px}
.routeAcc{border:1px solid color-mix(in srgb,var(--accent,var(--blue)) 28%,var(--line));border-radius:16px;background:var(--surface);overflow:hidden;transition:box-shadow .16s ease,border-color .16s ease}
.routeAcc.open{border-color:var(--accent,var(--blue));box-shadow:0 8px 24px color-mix(in srgb,var(--accent,var(--blue)) 18%,transparent)}
.routeAcc.matched{border-color:color-mix(in srgb,var(--green) 55%,var(--line))}
body .routeAcc .routeTab{width:100%;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;padding:15px 16px;text-align:left;cursor:pointer;transform:none}
body .routeAcc .routeTab:hover{background:color-mix(in srgb,var(--accent,var(--blue)) 7%,transparent)!important}
body .routeAcc .routeTab:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
body .routeAcc .routeTab.matched:before{display:none}
.routeAcc .routeTabText{display:grid;gap:3px;min-width:0;flex:1}
.routeAcc .routeTabCode{padding-right:0}
.accChev{flex:0 0 auto;font-size:18px;line-height:1;color:var(--muted);transition:transform .18s ease}
.routeAcc.open .accChev{transform:rotate(180deg)}
.routeAcc.matched .matchBadge{flex:0 0 auto}
.routeAcc .accPanel{border:0;border-top:1px solid var(--line);border-radius:0;padding:6px 18px 18px;background:color-mix(in srgb,var(--accent,var(--blue)) 4%,var(--surface))}
.routeAcc .accPanel[hidden]{display:none}
.routeAcc .accPanel>p{margin:12px 0}
[dir=rtl] body .routeAcc .routeTab{text-align:right}
.tempBadge{flex:0 0 auto;font-size:12px;font-weight:850;line-height:1.2;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--amber) 22%,var(--surface));color:var(--ink);border:1px solid color-mix(in srgb,var(--amber) 55%,var(--line));white-space:nowrap}
.tempInline{font-style:normal;font-size:.88em;color:var(--muted)}
@media(max-width:620px){
  body .routeAcc .routeTab{flex-wrap:wrap;padding:13px 14px}
  .tempBadge,.routeAcc .matchBadge{order:3}
  .routeAcc .accPanel{padding:4px 14px 16px}
  .fieldHelpBody{font-size:14px}
}
/* V8: fields with help blocks must not stretch their neighbours */
.countryFactors .formGrid,.profileGroup .formGrid{align-items:start}
.field select{height:auto;align-self:start}

/* ===== V9: help toggle beside the question, bigger dropdown text, PR-path box, richer legal pages ===== */
.field .labelRow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.field .labelRow>label{flex:0 1 auto}
.helpToggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font:inherit;font-size:15.5px;font-weight:800;line-height:1.2;color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--surface));border:1.5px solid color-mix(in srgb,var(--blue) 38%,var(--line));border-radius:999px;padding:6px 8px 6px 12px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.helpToggle:hover{background:color-mix(in srgb,var(--blue) 16%,var(--surface));border-color:var(--blue)}
.helpToggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.helpToggle .helpStar{font-size:22px;line-height:.8;font-weight:900;color:var(--red,#d9304a);transform:translateY(3px)}
.helpToggle .helpChev{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font-size:22px;line-height:1;font-weight:900;transition:transform .18s ease}
.helpToggle.open{box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}
.helpToggle.open .helpChev{transform:rotate(180deg)}
.fieldHelpBody{margin:2px 0 4px;padding:12px 16px 14px;border:1px solid color-mix(in srgb,var(--blue) 30%,var(--line));border-left:5px solid var(--blue);border-radius:12px;background:var(--surface2);font-size:15.5px;line-height:1.7;color:var(--ink)}
.fieldHelpBody[hidden]{display:none}
.fieldHelpBody p{margin:7px 0}.fieldHelpBody ul{margin:6px 0 8px;padding-left:22px}.fieldHelpBody li{margin:4px 0}
[dir=rtl] .fieldHelpBody{border-left:1px solid color-mix(in srgb,var(--blue) 30%,var(--line));border-right:5px solid var(--blue)}
[dir=rtl] .fieldHelpBody ul{padding-left:0;padding-right:22px}
[dir=rtl] .helpToggle{padding:6px 12px 6px 8px}

/* larger dropdown text and options (desktop + mobile) */
.field select{font-size:18px}
.field select option{font-size:19px;padding:10px 12px;line-height:1.5}
@media(min-width:900px){
  .field select{font-size:20px;min-height:58px}
  .field select option{font-size:21px;padding:11px 14px;line-height:1.55}
  .helpToggle{font-size:16.5px}
  .fieldHelpBody{font-size:16.5px}
}
@media(min-width:1500px){
  .field select{font-size:21px}
  .field select option{font-size:22px}
}

/* temporary-visa badge: allow wrapping now that the text is longer */
.tempBadge{white-space:normal;max-width:260px;text-align:center;font-size:12.5px;line-height:1.25}
.routeAcc .routeTab{flex-wrap:wrap}

/* "How could this lead to PR?" box */
.prPath{border-radius:14px;padding:14px 18px 12px;margin:14px 0 18px;background:color-mix(in srgb,var(--amber) 11%,var(--surface));border:1px solid color-mix(in srgb,var(--amber) 45%,var(--line))}
.prPath h5{margin:0 0 8px;font-size:15px;font-weight:900}
.prPath ol{margin:0;padding-left:22px;display:grid;gap:8px}
.prPath li{line-height:1.65;font-size:15.5px}
.prPath .prPathNote{margin:10px 0 0;font-size:13.5px;color:var(--muted);font-weight:700}
[dir=rtl] .prPath ol{padding-left:0;padding-right:22px}
@media(min-width:900px){.prPath h5{font-size:17px}.prPath li{font-size:17px}.prPath .prPathNote{font-size:14.5px}}

/* richer About / Privacy / Terms / ... pages */
.simplePage article h2{margin:30px 0 8px;font-size:clamp(21px,2.2vw,26px);line-height:1.3}
.simplePage article p{line-height:1.8}
.simplePage article ul{margin:8px 0 12px;padding-left:24px;display:grid;gap:7px}
.simplePage article li{line-height:1.7}
.simplePage article .updatedOn{color:var(--muted);font-weight:800;font-size:14.5px;margin:-4px 0 14px}
[dir=rtl] .simplePage article ul{padding-left:0;padding-right:24px}

/* V9 mobile fix: badges wrap under the title instead of squeezing it */
@media (max-width:700px){
 body .routeAcc .routeTab{flex-wrap:wrap;align-items:flex-start}
 .routeAcc .routeTabText{flex:1 1 calc(100% - 34px);min-width:0}
 .routeAcc .accChev{order:2;margin-left:auto}
 .routeAcc .tempBadge,.routeAcc .matchBadge{order:3;max-width:100%;position:static}
}

/* V10 contact form */
.contactFormBox{margin-top:34px;padding-top:6px}
.contactFormBox form{display:grid;gap:18px;max-width:640px}
.cfField{display:grid;gap:8px}
.cfField label{font-weight:800;font-size:15.5px;color:var(--ink)}
.cfField input,.cfField select,.cfField textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;box-sizing:border-box}
.cfField textarea{min-height:150px;resize:vertical;line-height:1.6}
.cfField input:focus,.cfField select:focus,.cfField textarea:focus{outline:3px solid var(--focus);outline-offset:1px}
.cfSend{justify-self:start;border:0;border-radius:999px;padding:14px 30px;font:inherit;font-size:16px;font-weight:900;cursor:pointer;background:var(--ink);color:var(--surface)}
.cfSend:hover{filter:brightness(1.15)}
.cfNote{margin:0;font-size:14px;color:var(--muted);line-height:1.6}
.cfErr{margin:0;color:#c0392b;font-weight:800;font-size:14.5px}
[dir=rtl] .cfSend{justify-self:start}

/* V10 jump-to-explorer button */
.jumpExplorer{display:inline-flex;align-items:center;gap:10px;margin:2px 0 14px;padding:11px 20px;border-radius:999px;background:var(--accent,var(--blue,#0b72c4));color:#fff;font-weight:900;font-size:16px;line-height:1.25;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.14)}
.jumpExplorer:hover{filter:brightness(1.08);transform:translateY(-1px)}
.jumpExplorer:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.jumpArrow{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.28);font-size:17px;font-weight:900;animation:jumpBounce 1.6s ease-in-out infinite}
@keyframes jumpBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.jumpArrow{animation:none}}
#pathwayExplorer{scroll-margin-top:90px}
@media(max-width:620px){.jumpExplorer{display:flex;justify-content:center;width:100%;box-sizing:border-box}}

/* V12: sparkle symbol (not red) + optional badge */
.helpToggle .helpStar{color:#7c3aed;font-size:19px;line-height:1;transform:none}
:root[data-theme="dark"] .helpToggle .helpStar{color:#b794f6}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .helpToggle .helpStar{color:#b794f6}}
.optBadge{display:inline-flex;align-items:center;font-size:12.5px;font-weight:850;line-height:1.2;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--amber,#f59e0b) 22%,var(--surface));color:var(--ink);border:1px solid color-mix(in srgb,var(--amber,#f59e0b) 55%,var(--line))}
.labelRow{flex-wrap:wrap}

/* V13: bigger optional badge */
.optBadge{font-size:16px;font-weight:850;line-height:1.3;padding:7px 15px;border-radius:14px}
@media(max-width:620px){.optBadge{font-size:15px;padding:6px 13px}}

.optLine{margin-bottom:8px}

/* V15: optional badge under the question, interlink cards, bigger PR calculators arrow */
.optLine{margin:2px 0 8px}
.optBadge{display:inline-flex}
.otherGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:16px}
.otherCard{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--oc,#0b72c4);color:var(--ink);text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.06);transition:transform .15s ease,box-shadow .15s ease}
.otherCard:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.otherCard:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.ocFlag{font-size:32px;line-height:1}
.ocText{display:grid;gap:2px;flex:1;min-width:0}
.ocText strong{font-size:18px;line-height:1.25}
.ocText small{font-size:14px;font-weight:800;color:var(--oc,#0b72c4)}
.ocArrow{font-size:22px;font-weight:900;color:var(--oc,#0b72c4)}
[dir=rtl] .otherCard{border-left:1px solid var(--line);border-right:6px solid var(--oc,#0b72c4)}
[dir=rtl] .ocArrow{transform:scaleX(-1)}
.prNavMenu summary::after{font-size:22px!important;line-height:1;vertical-align:-2px;font-weight:900}
