/* The cover artwork stays visible in both colour schemes. */
:root:not([data-theme=dark]) body :is(.page-hero.service-cover,.international-hero){
 --ink:#122c47;--muted:#425a72;--blue:#165bc0;--gold:#83601f;--silver:#9facba;
 color:var(--ink);background-color:#f3f7fa;
 background-image:linear-gradient(90deg,#f7fafdfc 0%,#f7fafdf2 40%,#eef4fad9 72%,#edf2f9bd 100%),var(--cover-image,none);
 box-shadow:inset 0 1px #fff,inset 0 -1px #b7c7d6;
}
:root:not([data-theme=dark]) body .international-hero.passport-hero{--cover-image:url('../images/international-passport-cover.webp')}
:root:not([data-theme=dark]) body :is(.service-cover,.international-hero):after{background:none}
:root:not([data-theme=dark]) body :is(.page-hero.service-cover,.international-hero):before{border-color:#a4884b99;box-shadow:inset 0 0 0 5px #ffffff50,inset 0 0 0 6px #9babbf66}
:root:not([data-theme=dark]) body :is(.service-cover,.international-hero) :is(h1,.breadcrumbs [aria-current=page],.hub-contact-note a){color:#122c47}
:root:not([data-theme=dark]) body :is(.service-cover,.international-hero) :is(.lede,.hub-contact-note,.breadcrumbs,.breadcrumbs a){color:#425a72}
:root:not([data-theme=dark]) body :is(.service-cover,.international-hero) .kicker{color:#775516}
:root:not([data-theme=dark]) body :is(.service-cover,.international-hero) .btn-primary{background:#173653;color:#fff;border-color:#173653}
:root:not([data-theme=dark]) body :is(.service-cover,.international-hero) .btn-primary:hover{background:#244b6b}
:root:not([data-theme=dark]) body :is(.service-cover,.international-hero) .btn-secondary{background:#ffffffbd;border-color:#7d90a5;color:#163652}
:root:not([data-theme=dark]) body :is(.service-cover,.international-hero) .btn-secondary:hover{background:#e5edf6}
:root:not([data-theme=dark]) body :is(.service-cover .scene-frame,.passport-hero .international-art){background:linear-gradient(130deg,#f4e5bf,#edf3f8 60%,#cedae6);border-color:#a78a4e;box-shadow:0 14px 35px #122d4718}
:root:not([data-theme=dark]) body .passport-hero .international-art .art-note{color:#634817}
:root:not([data-theme=dark]) body :is(.service-cover,.international-hero) :is(a,button):focus-visible{outline-color:#145baa}

/* Ask Jack: one readable answer, useful follow-ups and a clear human handover. */
:root body .chat-panel{width:420px;height:660px;max-height:calc(100dvh - 124px);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 24px 90px #03132940;bottom:106px}
:root body .chat-panel[hidden]{display:none}
:root body .chat-header{padding:16px;background:linear-gradient(115deg,#102b45,#193b58);border-bottom:2px solid #baa06b;gap:10px;flex-shrink:0}
:root body .chat-header strong{font-size:1.125rem;letter-spacing:-.02em}
:root body .chat-header .chat-agent span{font-size:.8125rem;line-height:1.4;color:#d8e5ee}
:root body .chat-header .chat-agent-avatar{width:46px;height:46px;margin:0;display:block}
:root body .chat-header button{width:40px;height:40px;border-radius:12px;font-size:1.5rem}
.chat-header-actions{display:flex;align-items:center;gap:6px}
:root body .chat-header [data-chat-reset]{font-size:1.05rem}
:root body .chat-log{padding:18px;min-height:0;scroll-behavior:smooth}
:root body .chat-message{padding:0;background:transparent;border:0;margin:0 0 22px}
:root body .chat-message small{font-size:.75rem;text-transform:none;letter-spacing:0;margin-bottom:7px}
:root body .chat-message p{font-size:1rem;line-height:1.65;margin:0;overflow-wrap:anywhere}
:root body .chat-message.you{padding:11px 14px;margin-left:35px;background:var(--soft);border:1px solid var(--line);border-radius:15px 15px 3px 15px}
:root body .chat-message.you small{display:none}
:root body .chat-message a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;background:var(--soft);border:1px solid var(--line);border-radius:10px;font-size:.875rem;line-height:1.5;text-decoration:none;margin-top:9px;min-height:44px}
:root body .chat-message a:hover{border-color:var(--blue);color:var(--blue);transform:translateX(2px)}
.chat-link-arrow{font-size:1rem;flex-shrink:0}
:root body .chat-prompts{padding:10px 16px;flex-wrap:nowrap;overflow-x:auto;flex-shrink:0;border-top:1px solid var(--line);scrollbar-width:thin}
:root body .chat-prompts button{font-size:.875rem;padding:9px 12px;min-height:42px;flex-shrink:0;white-space:nowrap;border-radius:10px;background:var(--surface)}
:root body .chat-prompts button:hover{background:var(--soft);border-color:var(--blue)}
.chat-status{padding:0 18px;min-height:0;font-size:.875rem;color:var(--muted)}
.chat-status:empty{display:none}
:root body .chat-form{padding:10px 16px 4px;gap:8px;flex-shrink:0;align-items:flex-end}
:root body .chat-form textarea{display:block;min-width:0;width:100%;min-height:48px;max-height:106px;resize:none;overflow-y:auto;padding:12px 13px;font:inherit;font-size:1rem;line-height:1.5;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--soft)}
:root body .chat-form button{height:48px;width:46px;min-width:46px;border-radius:12px;background:#1b5798;color:#fff;font-size:1.3rem}
:root body .chat-form button:disabled{opacity:.55;cursor:wait}
.chat-handoff{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 17px 0;font-size:.875rem;flex-shrink:0}
.chat-handoff a{font-weight:650;text-decoration:underline;text-underline-offset:3px}
.chat-handoff span{font-size:.75rem;color:var(--muted)}
:root body .chat-privacy{font-size:.75rem;line-height:1.5;padding:8px 17px 13px;margin:0;flex-shrink:0}
:root body .chat-panel :is(button,a,textarea):focus-visible{outline:3px solid #78a9de;outline-offset:3px}
:root body .chat-launcher{border-color:#c3a76c}
@media(min-width:761px){:root body .chat-launcher-copy strong{font-size:.875rem}:root body .chat-launcher-copy small{font-size:.75rem}:root body .chat-launcher-copy{display:grid}}
@media(max-width:760px){
 :root body .chat-panel{left:8px;right:8px;top:max(8px,env(safe-area-inset-top,0px));bottom:max(8px,env(safe-area-inset-bottom,0px));width:auto;height:auto;max-width:none;max-height:none;border-radius:18px}
 :root body .chat-header{padding:12px}.chat-handoff{padding-top:7px}
 :root body .chat-log{padding:16px}
 :root body .chat-panel[data-keyboard-open=true]{top:calc(var(--guide-visible-top,0px) + 6px);bottom:auto;height:calc(var(--guide-visible-height,100dvh) - 12px)}
 :root body .chat-panel[data-keyboard-open=true] .chat-prompts{display:none}
 :root body .chat-panel[data-keyboard-open=true] .chat-privacy{padding-block:5px}
}
@media(prefers-reduced-motion:reduce){:root body .chat-log{scroll-behavior:auto}:root body .chat-message a:hover{transform:none}}
@media print{:root body .chat-panel,:root body .chat-launcher{display:none!important}}

/* International guidance and the one-page collection. */
.gcc-hero{position:relative;padding:28px 0 66px;background:linear-gradient(115deg,#eef3f8,#f9fafb 58%,#e7edf3);border-bottom:3px solid #baa06b;color:#112c48}
.gcc-hero .breadcrumbs{margin-bottom:38px}.gcc-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:64px}
.gcc-hero h1{font-size:clamp(2.25rem,4.2vw,3.7rem);line-height:1.12;letter-spacing:-.045em;max-width:21ch;margin:14px 0 24px}.gcc-hero .lede{max-width:65ch;color:#425b72;font-size:1.125rem;line-height:1.8}
.gcc-hero .kicker{color:#75531b}.gcc-hero .btn-primary{color:#fff;background:#183853;border-color:#183853}.gcc-hero .btn-secondary{color:#183853;background:#ffffff8a;border-color:#8698ac}
.gcc-hero-note{border:1px solid #b59b68;border-radius:3px 22px 3px 22px;padding:30px;background:#ffffff70;box-shadow:inset 0 0 0 5px #ffffff50,inset 0 0 0 6px #b9c6d480}
.gcc-hero-note strong{font-family:var(--display);font-size:1.75rem;display:block;margin-top:18px}.gcc-hero-note p{line-height:1.9;margin:14px 0 22px}.gcc-hero-note a{font-weight:650;color:inherit;text-decoration:underline;text-underline-offset:4px}
.gcc-jumps{border-bottom:1px solid var(--line);background:var(--surface)}.gcc-jumps .container{display:flex;align-items:center;gap:28px;overflow:auto;padding-block:17px;white-space:nowrap}.gcc-jumps span{font-size:.875rem;color:var(--muted)}.gcc-jumps a{font-size:1rem;font-weight:650;min-height:30px;display:flex;align-items:center}
.gcc-guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:70px}.gcc-prose{max-width:76ch}.gcc-prose>section{margin:0 0 40px}.gcc-prose h2{font-size:1.6rem;line-height:1.35;letter-spacing:-.025em;margin:0 0 16px}.gcc-prose p{line-height:1.85}.gcc-byline{font-size:.875rem;color:var(--muted);margin-bottom:35px}.gcc-byline a{text-decoration:underline}
.gcc-brief{padding:26px;border:1px solid var(--line);border-top:3px solid #bc9c5d;border-radius:0 0 16px 16px;background:var(--soft);position:sticky;top:114px;scroll-margin-top:130px}.gcc-brief h2{font-size:1.5rem;margin-top:12px}.gcc-brief ol{padding-left:23px}.gcc-brief li{padding:0 0 15px 4px;line-height:1.6}.gcc-brief .btn{width:100%;white-space:normal;text-align:center}.gcc-brief .small{margin:18px 0 0;line-height:1.6}
.gcc-sources{padding:25px 0 0;border-top:1px solid var(--line)}.gcc-sources h2{font-size:1.125rem}.gcc-sources p,.gcc-sources li{font-size:.9375rem;line-height:1.7}.gcc-sources ul{padding-left:19px}.gcc-sources li{padding-bottom:10px}.gcc-sources a{text-decoration:underline;text-underline-offset:3px}
.gcc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.gcc-card{padding:27px 25px;border:1px solid var(--line);border-top:2px solid #b7a079;border-radius:5px 18px 5px 18px;background:var(--card);display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .2s,border-color .2s}.gcc-card h3{font-size:1.3rem;line-height:1.4;margin:15px 0}.gcc-card p{font-size:1rem;line-height:1.7;color:var(--muted);margin-bottom:28px}.gcc-card-action{display:flex;justify-content:space-between;gap:12px;margin-top:auto;font-size:1rem;font-weight:650;color:var(--blue)}.gcc-card:hover{transform:translateY(-3px);border-color:#aa905b}.gcc-card:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.gcc-guide-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:36px;border:1px solid var(--line);border-top:3px solid #bc9c5d;background:var(--soft);border-radius:0 0 18px 18px}.gcc-guide-cta h2{font-size:1.75rem;margin:12px 0}.gcc-guide-cta p{max-width:55ch}.gcc-guide-cta .actions{flex-shrink:0;flex-direction:column;align-items:flex-start;margin:0}
.gcc-download-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gcc-download-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);display:grid;grid-template-columns:130px minmax(0,1fr)}.gcc-document{background:linear-gradient(160deg,#132c45,#1e425d);color:#e8cd94;display:flex;flex-direction:column;padding:28px 18px;min-height:270px;border-right:3px solid #b9a578}.gcc-document span{font-size:.625rem;font-weight:700;letter-spacing:.1em}.gcc-document b{font-family:var(--display);font-size:3.5rem;line-height:1;margin:auto 0}.gcc-document em{font-style:normal;font-size:.625rem;letter-spacing:.12em;line-height:1.8;color:#d1dce8}.gcc-download-copy{padding:26px}.gcc-download-copy h2{font-size:1.4rem;line-height:1.35;margin:13px 0}.gcc-download-copy p{font-size:1rem;line-height:1.7}.gcc-download-copy .actions{gap:15px;align-items:center}.gcc-download-copy .btn{padding:11px 15px;white-space:nowrap}.gcc-download-copy .small{font-size:.875rem;margin-bottom:0}.gcc-editor-note{margin-top:30px;color:var(--muted);font-size:.9375rem;line-height:1.7}
[data-theme=dark] .gcc-hero{background:linear-gradient(120deg,#102840,#132c45 62%,#244155);color:#edf4ff}[data-theme=dark] .gcc-hero .lede{color:#c8d7e7}[data-theme=dark] .gcc-hero .kicker{color:#e8c684}[data-theme=dark] .gcc-hero-note{background:#10263d99;border-color:#a38f69;box-shadow:inset 0 0 0 5px #10263d,inset 0 0 0 6px #8fa1b455}[data-theme=dark] .gcc-hero .btn-primary{background:#e0c58b;border-color:#e0c58b;color:#0e243c}[data-theme=dark] .gcc-hero .btn-secondary{color:#edf4ff;background:#152e47;border-color:#8da2b7}
@media(max-width:1080px){.gcc-guide-layout{gap:35px;grid-template-columns:minmax(0,1fr) 280px}.gcc-download-card{grid-template-columns:85px minmax(0,1fr)}.gcc-document{padding:24px 12px}.gcc-document b{font-size:2.5rem}.gcc-guide-cta{flex-direction:column;align-items:flex-start}.gcc-guide-cta .actions{flex-direction:row;flex-wrap:wrap;align-items:center}}
@media(max-width:800px){.gcc-hero-grid{grid-template-columns:1fr;gap:30px}.gcc-hero-note{max-width:480px;display:none}.gcc-guide-layout{grid-template-columns:1fr;gap:28px}.gcc-brief{position:static}.gcc-cards{grid-template-columns:1fr 1fr}.gcc-download-grid{grid-template-columns:1fr}.gcc-download-card{grid-template-columns:130px minmax(0,1fr)}.gcc-document b{font-size:3.5rem}.gcc-jumps .container{gap:22px}.gcc-hero{padding-bottom:40px}}
@media(max-width:500px){.gcc-cards{grid-template-columns:1fr}.gcc-hero .breadcrumbs{margin-bottom:25px;font-size:.875rem}.gcc-hero h1{font-size:2.3rem}.gcc-hero .actions{align-items:stretch;flex-direction:column}.gcc-hero .btn{justify-content:center}.gcc-download-card{grid-template-columns:1fr}.gcc-document{min-height:0;flex-direction:row;align-items:center;gap:20px;padding:16px 22px;border-right:0;border-bottom:2px solid #b9a578}.gcc-document b{font-size:2rem;margin:0 0 0 auto}.gcc-document em{display:none}.gcc-download-copy{padding:24px}.gcc-guide-cta{padding:24px}.gcc-prose h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.gcc-card{transition:none}.gcc-card:hover{transform:none}}
@media print{.gcc-hero-note,.gcc-jumps{display:none}.gcc-guide-layout{display:block}.gcc-brief{position:static}.gcc-cards,.gcc-download-grid{display:block}.gcc-download-card{break-inside:avoid;margin-bottom:20px}}

.chat-form .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gcc-hero .actions .btn,.gcc-guide-cta .actions .btn{flex:0 0 auto}
:root:not([data-theme=dark]) body .international-hero .international-note{color:#425a72}
:root:not([data-theme=dark]) body .international-hero h1 em{color:#775516}

:root body .chat-prompts{scrollbar-width:none}:root body .chat-prompts::-webkit-scrollbar{display:none}
:root body .chat-form textarea{min-height:50px;overflow-y:hidden}
