/* Reference-led visual layer. Content and data remain owned by VHM CMS. */
.finder-select { position:relative; min-width:0; }
.finder-select-button { display:flex; align-items:center; gap:9px; width:100%; min-height:50px; padding:12px; border:1px solid #d4dae1; border-radius:4px; background:#fff; color:var(--navy); font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.finder-select-button::after { content:'⌄'; margin-left:auto; }
.finder-select-button:disabled { opacity:.6; cursor:not-allowed; }
.finder-select-button:focus-visible,.faq summary:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.finder-options { position:absolute; top:100%; left:0; right:0; max-height:260px; overflow-y:auto; overscroll-behavior:contain; margin:5px 0 0; padding:5px; background:#fff; border:1px solid var(--sand); box-shadow:0 8px 24px #041a3220; border-radius:4px; z-index:10; list-style:none; }
.finder-select.opens-upward .finder-options { top:auto; bottom:100%; margin:0 0 5px; box-shadow:0 -8px 24px #041a3220; }
.finder-options li { display:flex; align-items:center; gap:9px; min-height:46px; padding:10px; color:var(--navy); font-size:14px; cursor:pointer; }
.finder-options li:hover,.finder-options .is-highlighted { background:#f5f0e7; outline:1px solid var(--sand); }
.finder-options [aria-selected=true] { font-weight:600; border-left:3px solid var(--gold); }
.finder-symbol { flex:0 0 24px; font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif; font-size:22px; line-height:1; }
.finder-symbol svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.faq summary { min-height:48px; padding:16px 26px 16px 0; position:relative; cursor:pointer; }
.faq summary::after { position:absolute; right:0; top:16px; content:'+'; }
.faq details[open] summary::after { content:'−'; }
.faq summary:hover,.faq details[open] { background:#f5f0e7; }
.service-list article:first-child { border-top:2px solid var(--gold); }
.finder select[hidden],.finder-options[hidden] { display:none; }
@media(max-width:999px) { .header-cta { display:inline-flex!important; font-size:11px; padding:9px; } .header-inner { flex-wrap:wrap; } }
@font-face { font-family:VHMDisplay; src:url('fonts/bebas-neue-latin-ext-400.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; unicode-range:U+0100-02FF,U+1E00-1EFF; }
@font-face { font-family:VHMDisplay; src:url('fonts/bebas-neue-latin-400.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122; }
:root { --navy:#041a32; --gold:#c9a253; --container:1280px; }
body { background:#fff; }
.utility { display:none; }
.site-header { background:var(--navy); border:0; color:#fff; }
.header-inner { min-height:92px; gap:24px; }
.brand { max-width:180px; }
.brand-logo { background:#fff; border-radius:4px; padding:5px; }
#primary-navigation a { font-size:13px; }
#primary-navigation .sub-menu { color:var(--navy); }
.header-cta { background:var(--gold); color:var(--navy); border:0; }
.hero { position:relative; overflow:hidden; background:var(--navy); padding:0; color:#fff; }
.hero-grid { display:block; position:relative; min-height:420px; padding-block:42px 72px; }
.hero-copy { position:relative; z-index:2; max-width:700px; padding:0; }
.hero h1 { color:#fff; font-family:VHMDisplay,'Arial Narrow',sans-serif; font-weight:400; font-size:clamp(44px,5.2vw,74px); max-width:20ch; letter-spacing:.005em; line-height:1.05; }
.hero .eyebrow { color:var(--gold); }
.hero h1 span { display:block; color:var(--gold); }
.hero .lead { color:#eef2f6; max-width:48ch; font-size:17px; }
.hero .button { background:var(--gold); color:var(--navy); border:0; text-transform:uppercase; font-size:13px; }
.hero-secondary-link { display:inline-flex; align-items:center; gap:7px; margin-left:18px; color:#fff; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.hero-secondary-link:hover,.hero-secondary-link:focus { color:var(--gold); }
.hero-media { position:absolute; inset:0 calc((min(1280px,100vw - 40px) - 100vw)/2); z-index:0; }
.hero-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#041a32 5%,#041a32ef 32%,#041a32a3 61%,#041a3226 100%); }
.hero-media>img { width:100%; height:100%; border-radius:0; object-position:center; }
.hero-placeholder { height:100%; border-radius:0; }
.media-caption { display:none; }
.hero-service { color:#e2e9f0; max-width:60ch; }
.hero-points { display:flex; gap:24px; padding:8px 0 26px; list-style:none; font-size:12px; }
.hero-points li { border-right:1px solid #ffffff26; padding-right:24px; }
.hero-points li:last-child { border:0; }
.hero-points strong { display:block; color:var(--gold); font-size:15px; }
.finder { position:relative; z-index:3; margin-top:-48px; display:grid; grid-template-columns:220px 1fr; gap:28px; padding:27px 30px; border-top:0; box-shadow:0 4px 20px #071b3314; }
.finder>div:first-child { border-right:1px solid #e7eaed; padding-right:24px; }
.finder h2 { font-size:22px; margin:0 0 8px; }
.finder .eyebrow { display:none; }
.finder>div>p:last-child { font-size:13px; margin:0; }
.finder-form { align-self:center; }
.finder label { font-size:12px; }
.finder select { min-height:48px; font-size:13px; border-color:#d4dae1; }
.finder .button { font-size:13px; min-height:48px; }
.finder-status { min-height:0; font-size:12px; }
.section { padding-block:48px; }
.section-heading { margin-bottom:24px; }
.section-heading .eyebrow,.services .eyebrow,.process .eyebrow { display:none; }
.section-heading h2,.services h2 { font-size:25px; letter-spacing:-.025em; }
.section-heading .text-link { font-size:13px; }
.countries { grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; border:0; }
.country { padding:0; border:1px solid #e2e5e8!important; border-radius:7px; overflow:hidden; min-height:0; background:#fff; transition:transform .15s; }
.country:hover { transform:translateY(-3px); box-shadow:0 6px 20px #041a3210; }
.country-visual { height:160px; background-color:var(--sand); }
.country-visual img { width:100%; height:100%; object-fit:cover; }
.country h3 { font-size:15px; margin:14px 12px 6px; }
.country p { font-size:12px; margin:0 12px 14px; line-height:1.55; }
.country .text-link { display:block; margin:0 12px 14px; font-size:11px; }
.country-number { display:none; }
.all-countries { font-size:13px; margin-top:14px; }
.services { background:#faf7f2; padding-block:34px; }
.service-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.service-list article { display:flex; flex-direction:column; text-align:center; align-items:center; gap:12px; padding:24px 16px; border:1px solid #f0ebe4; border-radius:6px; background:#ffffffa8; }
.service-list article>span { color:var(--navy); font-size:24px; border:1px solid var(--gold); border-radius:50%; width:46px; height:46px; line-height:44px; }
.service-list h3 { font-size:15px; letter-spacing:0; }
.service-list p { font-size:12px; }
.trust { width:100%; max-width:none; background:var(--navy); color:#fff; padding:34px max(20px,calc((100vw - 1280px)/2)); grid-template-columns:1.3fr 1fr; align-items:center; }
.trust h2 { color:#fff; font-size:23px; margin-bottom:10px; }
.trust .eyebrow,.trust p:last-child { display:none; }
.trust p { font-size:13px; margin:0; }
.history div { border-top:0; border-left:1px solid #ffffff26; padding:0 0 0 30px; }
.history dt { color:#fff; font-size:34px; }
.history dd { color:#d6dfeb; font-size:12px; }
.process { background:#fff; color:var(--navy); text-align:center; }
.process h2 { font-size:27px; margin:0 auto 36px; }
.process ol { gap:24px; }
.process li { position:relative; border-top:1px solid var(--gold); padding:0 18px; }
.process li::before { width:48px; height:48px; border:1px solid var(--gold); border-radius:50%; background:#fff; color:var(--navy); margin:-24px auto 20px; line-height:46px; }
.process h3 { font-size:16px; letter-spacing:0; }
.process p { font-size:13px; color:var(--muted); }
.guides { grid-template-columns:1fr 1fr 1fr; gap:20px; padding-top:20px; }
.guides>div { background:#faf7f2; padding:28px; border-radius:7px; }
.guides h2 { font-size:22px; }
.guides p { font-size:14px; }
.guides .support-panel { background:var(--navy); color:#fff; }
.support-panel h2 { color:#fff; font-size:29px; }
.support-panel .eyebrow { color:var(--gold); }
.support-panel .button { background:var(--gold); color:var(--navy); font-size:12px; margin-top:16px; }
.support-panel { grid-column:2; grid-row:1; }
.guides>.faq { grid-column:3; }
.faq summary { font-size:14px; }
.final-cta { padding-block:28px; background:#f4f6f8; }
.final-cta h2 { font-size:24px; margin-bottom:10px; }
.final-cta p { font-size:14px; margin-bottom:0; }
.final-cta .eyebrow { display:none; }
.site-footer { padding-top:48px; }
.footer-grid { font-size:14px; }
.footer-note { margin-top:28px; }
@media(max-width:600px) { .guides>.support-panel,.guides>.faq { grid-column:1; grid-row:auto; } }
@media(max-width:1100px) { .header-inner { gap:16px; } #primary-navigation a { font-size:11px; } .countries { gap:12px; } .country-visual { height:130px; } .finder { grid-template-columns:170px 1fr; gap:20px; } }
@media(max-width:999px) { .menu-toggle { background:transparent; color:#fff; } #primary-navigation a { font-size:15px; } #primary-navigation .sub-menu { background:transparent; color:#fff; } .hero-grid { min-height:460px; } .hero-copy { max-width:620px; } .finder { display:block; } .finder>div:first-child { border:0; margin-bottom:18px; padding:0; } .finder-form { grid-template-columns:1fr 1fr auto; } .finder-form>.button { grid-column:auto; } .countries { grid-template-columns:repeat(3,minmax(0,1fr)); } .country-visual { height:180px; } .service-list { grid-template-columns:repeat(3,minmax(0,1fr)); } .guides { grid-template-columns:1fr 1fr; } .guides>.faq { grid-column:1/-1; } }
@media(max-width:600px) { .hero-grid { min-height:0; padding-block:42px 82px; } .hero h1 { font-size:39px; max-width:17ch; } .hero .lead { font-size:15px; } .hero-media::after { background:linear-gradient(90deg,#041a32ed,#041a32b8); } .hero-points { flex-wrap:wrap; gap:12px; padding-bottom:14px; } .hero-points li { padding-right:12px; } .hero-points strong { font-size:13px; } .hero-secondary-link { display:inline-flex; margin:14px 0 0; } .finder { padding:22px; margin-top:-38px; } .finder-form { grid-template-columns:1fr; } .finder-form>.button { grid-column:1; } .countries { grid-template-columns:repeat(2,minmax(0,1fr)); } .country-visual { height:150px; } .service-list { grid-template-columns:1fr 1fr; gap:12px; } .service-list article { padding:20px 12px; } .service-list article:last-child { grid-column:1/-1; } .trust { grid-template-columns:1fr; gap:26px; padding:30px 20px; } .history div { padding-left:18px; } .guides { grid-template-columns:1fr; } .guides>.faq { grid-column:auto; } .section { padding-block:34px; } .section-heading h2 { font-size:23px; } }
