/* Guided landing page: persistent header and step bar, six step pages, two doors, direct question path. Mobile-first, RTL-aware.
 * No inline styles are used anywhere: every state is a class or an attribute selector. */
:root{--journey-ink:#123d43;--journey-accent:#086b62;--journey-paper:#f5f6f2;--journey-line:#d7dfd8;--journey-focus:#247cbd}
[hidden]{display:none!important}
html{scroll-behavior:auto}
body{background:var(--journey-paper);min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%}
button,input,select{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--journey-focus);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
[tabindex="-1"]:focus-visible{outline:3px solid var(--journey-focus);outline-offset:3px}
.skip-link{position:absolute;inset-inline-start:12px;top:-60px;z-index:100;background:#123d43;color:#fff;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700}
.skip-link:focus{top:10px}

/* Header: same on every view */
.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;max-width:1200px;margin:0 auto;padding:14px 16px;width:100%}
.site-header .brand{display:flex;align-items:center;gap:12px;min-width:0}
.site-header .brand-icon{width:44px;height:44px;flex:none}
.topnote{display:none}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-inline-start:auto}
.nav-btn{min-height:44px;padding:8px 14px;border:1px solid #b7c8bf;border-radius:10px;background:#fff;color:#173e43;font-weight:600;cursor:pointer;white-space:nowrap}
.nav-btn:hover{background:#eef4ef}
.nav-btn[aria-current=page]{border-color:#123d43;box-shadow:inset 0 -3px 0 #123d43}
.nav-btn.nav-primary{background:#123d43;border-color:#123d43;color:#fff}
.nav-btn.nav-primary:hover{background:#0c2d32}
.nav-lang{min-width:84px}

/* Home: hero + two doors */
.intro.journey-welcome{position:relative;isolation:isolate;display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden;min-height:440px;background:#082d36;border:0;border-radius:24px;color:#fff;padding:52px 48px;margin:12px 0 20px;box-shadow:0 20px 50px #103b361a}
.journey-welcome .welcome-copy{position:relative;z-index:2;align-self:center}
.journey-welcome h1{font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.1;font-weight:650;letter-spacing:-.04em;color:#fff;margin:18px 0}
.journey-welcome .eyebrow{color:#afd6c7;letter-spacing:.12em}
.journey-welcome p{font-size:1.05rem;line-height:1.7;max-width:460px;color:#d3e6df}
.journey-welcome .welcome-visual{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.journey-welcome::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,#082d36 0%,#082d36eb 28%,#082d3600 65%)}
.journey-welcome .welcome-footnote{font-size:.82rem;color:#bfcec8;margin-top:18px;max-width:340px}
.doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 24px}
.door{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--journey-line);border-radius:20px;padding:26px 26px 24px;box-shadow:0 14px 40px #173b3510;border-top:6px solid #123d43}
.door-practise{border-top-color:#2f9b72}
.door h3{margin:0;font-size:1.4rem;letter-spacing:-.02em;color:#123d43}
.door p{margin:0;line-height:1.6;color:#46605a;flex:1}
.door-action,.cta-primary{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:12px 22px;border-radius:12px;border:0;background:#123d43;color:#fff;font-weight:700;text-decoration:none;cursor:pointer}
.door-practise .door-action{background:#d7f2d4;color:#173c34}
.door-action:hover,.cta-primary:hover{filter:brightness(1.08)}
.cta-primary[aria-disabled=true]{background:#8da09b;cursor:not-allowed}

/* Step cards */
.view{width:100%}
.step-card{max-width:1020px;margin:12px auto 24px;padding:24px 18px;border:1px solid var(--journey-line);border-radius:20px;background:#fff;box-shadow:0 14px 40px #173b3510}
.step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.step-head h2{font-size:1.5rem;margin:4px 0 0;letter-spacing:-.025em;color:#123d43}
.step-head .eyebrow{color:#0f7a76}
.step-intro{font-size:.95rem;line-height:1.6;color:#52655f;max-width:740px;margin:12px 0 18px}
.journey-trail{padding:10px 14px;background:#edf3ed;border-radius:10px;font-size:.85rem;color:#244d46;overflow-wrap:anywhere;margin:12px 0 0}
.step-card .selectors{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin:18px 0}
.journey-fields{border:0;margin:0;padding:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.journey-fields legend{padding:0;margin:0 0 12px;font-weight:750;color:#244d46}
.journey-fields label{min-width:0;display:flex;flex-direction:column;gap:8px;font-size:.85rem;font-weight:700;color:#557180}
.journey-fields select{width:100%;min-height:52px;border-radius:10px;border:1px solid #b7c8bf;background:#fbfcf9;font-size:1rem;color:#163949;padding:10px 12px}
.journey-feedback{color:#973824;font-size:.9rem;min-height:1.4em;margin:4px 0}
.selection-summary{margin:8px 0 0}

/* Direct question path */
.chip-group{border:0;margin:18px 0 0;padding:0;min-width:0}
.chip-group legend{padding:0;margin:0 0 10px;font-weight:750;color:#244d46}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips-wide{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}
.chip{position:relative;display:block;min-width:0}
.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip span{display:flex;align-items:center;min-height:48px;padding:10px 18px;border:1px solid #b7c8bf;border-radius:999px;background:#fff;color:#173e43;font-weight:600;overflow-wrap:anywhere}
.chips-wide .chip span{border-radius:12px}
.chip:hover span{background:#eef4ef}
.chip input:checked+span{background:#123d43;border-color:#123d43;color:#fff}
.chip input:focus-visible+span{outline:3px solid var(--journey-focus);outline-offset:3px}
.practise-action{position:sticky;bottom:0;z-index:5;margin:18px -6px 0;padding:10px 6px 8px;background:#fff;border-top:1px solid #e0e6df;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.practise-hint{margin:0;color:#244d46;font-weight:600;min-height:1.5em}
.practise-note{margin:14px 0 0;font-size:.9rem;color:#52655f;line-height:1.55}
.practise-alt{margin:10px 0 0}
.link-button{background:none;border:0;padding:10px 4px;min-height:44px;color:#086b62;font-weight:650;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Step 6 and collapsible groups */
.access-cta{margin:18px 0;position:sticky;bottom:84px;z-index:5;padding:10px 0;background:#fff;border-top:1px solid #e0e6df}
.access-cta p{margin:0;line-height:1.6;color:#46605a}
.more-title{margin:26px 0 8px;font-size:1.05rem;color:#123d43}
.more-details{border:1px solid var(--journey-line);border-radius:14px;margin:10px 0;background:#fff}
.more-details>summary,.guide-group>summary{cursor:pointer;font-weight:750;color:#114e58;padding:12px 16px;min-height:48px;display:flex;align-items:center}
.more-details>section{margin:0 14px 14px}
.more-details>section>h3,.more-details>section>.eyebrow{display:none}
.guide-group{padding:0 4px}
.guide-group>*:not(summary){margin:0 12px 14px}
.step-card .compare-card,.step-card .checker-card,.step-card .access-card{margin:16px 0}

/* Persistent bottom bar */
.step-bar{position:sticky;bottom:0;z-index:40;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--journey-line);box-shadow:0 -6px 20px #123d4314}
.step-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 16px;border-radius:12px;border:1px solid #b7c8bf;background:#fff;color:#123d43;font-weight:700;cursor:pointer}
.step-btn-primary{background:#123d43;border-color:#123d43;color:#fff}
#step-prev{grid-column:1;justify-self:start}
.step-mid{grid-column:2;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;min-width:0}
#step-next{grid-column:3;justify-self:end}
.step-count{margin:0;font-weight:700;font-size:.9rem;color:#123d43}
.step-dots{display:flex;gap:6px;list-style:none;margin:2px 0;padding:0}
.step-dots li{width:22px;height:6px;border-radius:3px;background:#cfdad3}
.step-dots li[data-state=done]{background:#5ea58c}
.step-dots li[data-state=current]{background:#123d43}
.step-mid .link-button{padding:2px 6px;min-height:36px;font-size:.85rem}
.nav-arrow{display:inline-block;line-height:1}
html[dir=rtl] .nav-arrow{transform:scaleX(-1)}
html[dir=rtl] .journey-welcome::after{background:linear-gradient(270deg,#082d36 0%,#082d36eb 28%,#082d3600 65%)}

/* Contact is in the header on this page; the floating button would duplicate it */
body[data-stepper] .contact-open{display:none}
body[data-stepper]{padding-top:0}
body[data-stepper]>footer{padding-bottom:20px}

/* Account (sign-in) and verification cards keep their existing look */
#account-panel{max-width:640px;margin:24px auto;padding:24px 18px;background:#fff;border:1px solid var(--journey-line);border-radius:22px}
#account-panel input{min-height:50px;width:100%;border:1px solid #adc2b5;border-radius:10px;padding:12px}
#account-panel button[type=submit]{min-height:50px;border:0;border-radius:10px;background:#123d43;color:#fff;padding:12px 22px;cursor:pointer}
[data-email-state=SENDING]{background:#546767!important;color:#fff!important}[data-email-state=SENT]{background:#17704d!important;color:#fff!important;opacity:1!important}[data-email-state=ERROR],[data-email-state=RATE_LIMITED]{background:#943f2f!important;color:#fff!important}[aria-busy=true]{cursor:wait!important}#account-state{line-height:1.6;padding:12px 0}.verification-card{max-width:600px!important;margin:64px auto!important;padding:32px!important;background:#fff;border-radius:22px}.verification-card a{display:inline-flex;margin-top:20px;min-height:44px;align-items:center;color:#086b62;font-weight:650}
@media(max-width:480px){#account-panel{margin:24px 0;padding:20px 16px}.verification-card{margin:32px auto!important;padding:20px 16px!important}}
@media(max-width:760px){.intro.journey-welcome{display:block;min-height:660px;padding:36px 28px}.journey-welcome .welcome-visual{height:55%;top:auto;bottom:0;object-position:right center}.journey-welcome::after{background:linear-gradient(180deg,#082d36 0%,#082d36 62%,#082d3600 82%)}.journey-welcome h1{max-width:480px;font-size:2.7rem}.journey-welcome p{font-size:1rem;max-width:420px}.journey-welcome .welcome-footnote{margin-top:14px;font-size:.75rem}.journey-fields{grid-template-columns:1fr;gap:20px}#pathway-selector{padding:24px 18px}.journey-tabs{gap:6px}.journey-tab{flex:1 1 auto;font-size:.85rem;padding:10px}.journey-header-actions{margin-inline-start:0}.topbar{gap:10px}.journey-header-actions button{font-size:.85rem;padding:8px 11px}}

/* Phones first, then wider screens */
@media(max-width:760px){
 .intro.journey-welcome{display:block;min-height:480px;padding:28px 22px;border-radius:20px}
 .journey-welcome .welcome-visual{height:50%;top:auto;bottom:0;object-position:right center}
 .journey-welcome::after{background:linear-gradient(180deg,#082d36 0%,#082d36 58%,#082d3600 80%)}
 html[dir=rtl] .journey-welcome::after{background:linear-gradient(180deg,#082d36 0%,#082d36 58%,#082d3600 80%)}
 .journey-welcome h1{font-size:2.2rem}
 .journey-welcome p{font-size:1rem}
 .doors{grid-template-columns:minmax(0,1fr)}
 .site-nav{margin-inline-start:0;width:100%}
 .nav-btn{padding:8px 11px;font-size:.88rem;flex:1 1 auto}
 .step-btn{padding:10px 12px;font-size:.92rem}
 .step-card{margin-inline:0;border-radius:16px}
 main{padding-inline:12px}
}
@media(min-width:761px){
 .step-card{padding:32px}
 .step-head h2{font-size:1.75rem}
 .journey-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .more-details>section{margin:0 18px 18px}
 .step-bar{padding-inline:max(24px,calc((100vw - 1020px)/2))}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Job-title search and results */
.job-search{display:grid;gap:14px;margin:6px 0 4px}
.job-search label{display:grid;gap:6px;font-weight:700}
.job-search select{min-height:48px;font:inherit;padding:0 12px;border:1px solid #bdd0cf;border-radius:12px;background:#fff}
.js-search{justify-self:start;min-width:200px;border:0;cursor:pointer;font:inherit}
.job-advanced{margin:8px 0 0}
.step-edit{background:#fff;color:#0f4d63;border:2px solid #0f4d63;white-space:nowrap;min-height:36px;padding:4px 14px;font-size:.9rem;border-radius:999px;cursor:pointer;margin-block:4px}
.step-edit[hidden]{display:none}
.jt-results{display:grid;gap:10px}
.jt-results h3{margin:0;font-size:1.35rem}
.jt-results h4{margin:10px 0 0}
.jt-sub{margin:0;color:#46605a}
.jt-badge{justify-self:start;padding:4px 12px;border-radius:999px;font-weight:800;font-size:.85rem}
.jt-official{background:#d9f3e6;color:#0b5a37}.jt-reported{background:#fff1d6;color:#7a4b00}
.jt-facts,.jt-sources{margin:0;padding-inline-start:20px;display:grid;gap:8px;line-height:1.6}
.jt-date{margin:8px 0 0;font-weight:700}
.jt-note{margin:0;font-size:.8rem;color:#5b6f6a}
.legacy-guide{margin-top:16px}.legacy-guide[hidden]{display:none}
.legacy-guide summary{cursor:pointer;font-weight:700;padding:10px 0}
.js-search{background:#0f4d63;color:#fff;border-radius:999px;min-height:50px;padding:0 28px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.js-search:hover{background:#0a3a4c}
.jt-corrob{background:#e3ecff;color:#1f3a8a;padding:1px 6px;border-radius:99px}
.jt-cat{border:1px solid #d6e2de;border-radius:12px;padding:12px 14px;margin:0 0 12px;background:#fff}
.jt-cat h4{margin:0 0 8px;font-size:1rem}
.jt-cat-check{background:#fff8e6;border-color:#f0cf8a}
.jt-cat-check h4{color:#7a4b00}
.jt-cat-fees h4,.jt-cat-renewal h4,.jt-cat-exam h4,.jt-cat-grade h4,.jt-cat-document h4,.jt-cat-eligibility h4{color:#0b4f3f}
/* Results: one card per question, an icon per card, and a footer that carries the sources, the search date and the reminder to re-check. */
.jt-cat h4::before{margin-inline-end:8px}
.jt-cat-title{background:#f3f8f6;border-color:#bcd6cc}
.jt-cat-title h4::before{content:"\1F9D1\200D\2695\FE0F"}
.jt-cat-specialty h4::before{content:"\1F3AF"}
.jt-cat-document h4::before{content:"\1F4C4"}
.jt-cat-eligibility h4::before{content:"\1F393"}
.jt-cat-exam h4::before{content:"\1F4DD"}
.jt-cat-grade h4::before{content:"\1F3C5"}
.jt-cat-fees h4::before{content:"\1F4B0"}
.jt-cat-renewal h4::before{content:"\1F501"}
.jt-cat-other h4::before{content:"\2139\FE0F"}
.jt-cat-check h4::before{content:"\26A0\FE0F"}
.jt-cat .jt-facts li::marker{color:#0b6b53}
.jt-foot{border-top:2px solid #d6e2de;margin-top:6px;padding-top:12px;display:grid;gap:8px}
.jt-foot h4{margin:0}
.jt-foot .jt-date{display:inline-block;justify-self:start;background:#eef3f1;border-radius:999px;padding:4px 14px;margin:4px 0 0}
.jt-foot .jt-note{background:#fff8e6;border:1px solid #f0cf8a;border-radius:10px;padding:10px 12px;font-size:.9rem;color:#5c3d00;line-height:1.6}

/* A hidden summary or route-derived block must really disappear (styles.css gives the summary display:grid). */
.selection-summary[hidden],[data-route-derived][hidden]{display:none}
