/* Shared finish. Layout only; all existing experience hooks stay in place. */
:root{--reading-width:68ch;--focus-ring:3px solid var(--blue)}
main:before{opacity:.4}
[data-theme=light] main:before{opacity:.5}
:root body :is(p,li){text-wrap:pretty}
:root body :is(button,.btn){font-weight:600}
:root body :is(a,button,input,select,textarea,summary):focus-visible{outline:var(--focus-ring);outline-offset:4px}
button,a,summary{-webkit-tap-highlight-color:transparent}
.section-heading>p{align-self:end}
.breadcrumbs{max-width:100%;flex-wrap:wrap;line-height:1.6}
.page-hero-grid>*,.international-hero-grid>*,.section-heading>*,.hub-page-nav li{min-width:0}
:root body .page-hero h1{font-size:clamp(2.2rem,3.8vw,3.5rem);max-width:23ch;line-height:1.16}
.page-hero .at-glance{align-self:center}
.scene-frame{border-radius:16px;box-shadow:0 18px 40px var(--panel-shade),0 0 0 4px var(--panel-glint)}
.scene-frame img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.article{max-width:var(--reading-width)}
.article>h2:first-child{margin-top:0}
.article :is(p,ul,ol)+h2{margin-top:2.2em}
.article>h2+p{margin-top:0}
.article :is(p,ul,ol)+h3{margin-top:1.7em}
.article li::marker{color:var(--blue)}
.faq summary{padding-right:42px;min-height:58px;line-height:1.5}
.faq[open]{padding-bottom:4px}
.faq p{padding-right:20px}
.card,.info-card{min-width:0}
.card .card-link{margin-top:auto}
.card p{max-width:60ch}
.sidebar{align-self:start}
.sidebar .btn{white-space:normal;text-align:center}
.source-note,.content-review,.tool-note{max-width:76ch}
.nav-item>a{text-decoration:none}
.nav-item>a:hover,.nav-item>a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.nav-menu{max-height:calc(100dvh - var(--header-height) - 12px);overflow-y:auto;overscroll-behavior:contain}
.nav-link-group a{padding-block:7px;line-height:1.5}
.nav-item>button{min-height:44px;min-width:26px}
.header-row{gap:16px}

/* All service hubs share the same canvas, including International. */
.hub-hero,.international-hero{
  position:relative;padding-block:30px 42px;color:var(--ink);
  background:radial-gradient(ellipse at 5% 20%,var(--canvas-glow),transparent 66%),radial-gradient(ellipse at 94% 86%,var(--canvas-secondary),transparent 62%),linear-gradient(135deg,var(--soft),var(--surface));
  border-bottom:1px solid var(--line);
}
.hub-hero .page-hero-grid,.international-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(32px,5vw,72px);align-items:center}
:root body .hub-hero h1,:root body .international-hero h1{font-size:clamp(2.35rem,3.8vw,3.5rem);max-width:22ch;line-height:1.15;letter-spacing:-.035em;margin:0 0 20px;color:var(--ink)}
:root body .hub-hero .lede,:root body .international-hero .lede{font-size:1.125rem;max-width:54ch;line-height:1.7;color:var(--muted);margin-bottom:24px}
.hub-hero .scene-frame,.international-art{width:100%;max-width:520px;justify-self:end;margin:0}
.hub-hero .scene-frame img,.international-art img{aspect-ratio:3/2;max-height:350px;object-fit:cover;object-position:center;border-radius:14px}
.international-art img{box-shadow:0 18px 40px var(--panel-shade),0 0 0 4px var(--panel-glint)}
:root body .international-hero .kicker,:root body .international-hero h1 em{color:var(--blue)}
:root body .international-hero .breadcrumbs,:root body .international-hero .breadcrumbs a{color:var(--muted)}
:root body .international-hero .breadcrumbs [aria-current=page]{color:var(--ink)}
:root body .international-hero .btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}
:root[data-theme=dark] body .international-hero .btn-primary{color:#10233c}
:root body .international-hero .btn-secondary{background:var(--card);border-color:var(--line);color:var(--ink)}
.international-hero .international-note{color:var(--muted);margin-top:20px;font-size:.875rem;flex-wrap:wrap}
.international-art .art-note{position:relative;inset:auto;display:table;margin:12px auto 0;padding:0;background:none;color:var(--muted);box-shadow:none;font-size:.875rem}
.hub-hero .international-note{display:none}
.hub-hero .actions{margin-top:24px;gap:12px}
:root body .hub-contact-note{margin:16px 0 0;font-size:.875rem;color:var(--muted)}
.hub-contact-note a{color:var(--ink);white-space:nowrap;text-underline-offset:3px}
.hub-page-nav{border-bottom:1px solid var(--line);background:var(--card)}
.hub-page-nav>.container{display:flex;align-items:center;gap:28px;padding-block:10px}
.hub-page-nav>.container>span{font-size:.8125rem;font-weight:600;color:var(--muted);white-space:nowrap}
.hub-page-nav ul{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:0}
.hub-page-nav a{display:flex;align-items:center;gap:16px;min-height:44px;padding:6px 0;font-size:.9375rem;font-weight:600;text-decoration:none;color:var(--ink)}
.hub-page-nav a span{color:var(--blue)}
.hub-page-nav a:hover{color:var(--blue)}
.hub-page>.header~main>.section{padding-block:60px}
.service-directory{scroll-margin-top:calc(var(--header-height) + 24px)}
.directory-intro.section-heading{display:flex;justify-content:space-between;gap:32px;margin-bottom:28px}
.directory-intro h2{max-width:none;margin:0;font-size:clamp(1.8rem,2.6vw,2.5rem)}
.directory-intro p{max-width:45ch;margin:0;color:var(--muted)}
.hub-section.category-section+.hub-section.category-section{margin-top:14px}
.service-disclosure{margin:0 0 14px;overflow:hidden;background:var(--card);box-shadow:0 5px 18px var(--panel-shade)}
.service-disclosure>summary{padding:22px;gap:22px;grid-template-columns:132px minmax(0,1fr) auto;min-height:124px;align-items:center}
.service-disclosure>summary>span{min-width:0}
.service-disclosure>summary .kicker{margin-bottom:5px}
.category-thumb{width:132px;height:88px;border-radius:9px;background:var(--soft)}
.category-thumb .category-puppet-image{width:100%;height:100%;object-fit:cover}
.disclosure-heading{font-size:1.25rem;line-height:1.35;font-weight:700}
:root body .category-caption{font-size:.9375rem;line-height:1.6;margin-top:6px;max-width:70ch;color:var(--muted)}
.disclosure-count{gap:14px;white-space:nowrap}
.disclosure-count b{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:1.3rem;font-weight:400}
.service-disclosure>summary:hover,.hub-reading>summary:hover{background:color-mix(in srgb,var(--accent-soft) 45%,var(--card))}
.service-disclosure[open],.hub-reading[open]{border-color:var(--blue)}
.service-disclosure[open]>summary{border-bottom:1px solid var(--line);background:var(--soft)}
.service-link-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;padding:12px 24px 20px}
.service-link-list a{padding:16px 24px 16px 0}
.service-link-list a>span{font-weight:650;line-height:1.5}
.service-link-list a>small{max-width:60ch;color:var(--muted)}
.route-disclosure>summary>span:first-child{grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr);gap:32px}
.hub-reading{border:1px solid var(--line);border-radius:14px;background:var(--card)}
.hub-reading>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;list-style:none;cursor:pointer}
.hub-reading>summary::-webkit-details-marker{display:none}
.hub-reading>summary>span{display:grid}
.hub-reading>summary .kicker{margin:0 0 6px}
.hub-reading>summary>b{font-size:1.6rem;font-weight:400;color:var(--blue)}
.hub-reading[open]>summary>b{transform:rotate(45deg)}
.hub-reading .content-layout{border-top:1px solid var(--line);padding:32px 28px}
.hub-reading .sidebar{position:static}
.hub-reading .article>h2:first-child{margin-top:0}

/* The country directory leads. Detailed worldwide routes expand on request. */
#countries .market-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#countries .market-card{border:1px solid var(--line);background:var(--card);border-radius:12px;box-shadow:0 5px 18px var(--panel-shade)}
#countries .market-card[data-text-card] .market-card-copy{padding:22px}
#countries .market-card h3{font-size:1.3rem;margin:12px 0 6px;line-height:1.3}
#countries .market-card p{margin-bottom:16px}
#countries .market-card .card-link{padding-top:8px}
#countries .market-card:hover{border-color:var(--blue);background:var(--accent-soft)}
.country-world{margin-top:24px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.country-world>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;cursor:pointer;list-style:none}
.country-world>summary::-webkit-details-marker{display:none}
.country-world>summary>span{display:grid;gap:4px}
.country-world>summary strong{font:700 1.25rem/1.4 var(--display)}
.country-world>summary span>span{color:var(--muted);font-size:.9375rem}
.country-world>summary b{font-size:1.6rem;color:var(--blue);font-weight:400}
.country-world[open]>summary{border-bottom:1px solid var(--line)}
.country-world[open]>summary b{transform:rotate(45deg)}
.country-world>.market-grid{padding:0 24px 24px}
.country-world>.market-world{margin:28px 24px}
.country-world>.market-world h2{font-size:1.6rem}
.international-help{margin-top:24px;padding:22px 24px}
.international-popular-routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:44px}
.international-popular-routes .card{padding:20px 24px}
.international-popular-routes .number{display:none}
.international-popular-routes .card h3{font-size:1.15rem}
.international-popular-routes .card p{font-size:.9375rem}
.international-popular-routes .card-link{padding-top:10px}
.location-map-shell{align-items:start}
.location-map-views,.location-map-detail{border-radius:14px}
.location-map-detail{padding:24px}
.map-country-directory>ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.map-country-directory a{min-height:68px}
.map-country-directory{max-height:286px;overflow-y:auto;overscroll-behavior:contain;scroll-padding:12px}
.location-map-detail .map-hover-note{font-size:.875rem}
.map-place{width:42px;height:42px;font-size:.8125rem}
.map-source{font-size:.875rem}

/* Calm the home introduction without removing its service previews. */
.finance-home{padding-top:40px}
.finance-home-grid{align-items:start;gap:clamp(32px,4.5vw,70px)}
.finance-front h1{font-size:clamp(2.6rem,4.3vw,3.9rem);max-width:18ch;line-height:1.12}
:root body .finance-front .lede{font-size:1.125rem;line-height:1.75;max-width:54ch}
.home-offer-links{gap:10px}
.home-trust-strip{margin-top:26px}
.home-trust-strip a span{font-size:.875rem;line-height:1.5}
.home-offer-links a{min-height:65px;gap:12px;padding:13px 14px;border-radius:9px;background:var(--card)}
.home-offer-icon{width:26px;height:26px;flex:0 0 26px;max-width:26px;max-height:26px}
.home-offer-links a:hover,.home-offer-links a:focus-visible{border-color:var(--blue);background:var(--accent-soft);color:var(--ink)}
.home-jack-card{border-radius:16px;overflow:hidden}
.home-jack-portrait{height:280px}
.home-jack-portrait img{object-position:center 8%}
.home-jack-body{padding:24px}
.home-jack-heading h2{font-size:1.9rem;margin-bottom:8px}
.home-profile-links{gap:8px 18px}
.home-profile-links a{display:inline-flex;align-items:center;min-height:38px}
.home-contact-block{margin-top:20px;padding-top:20px}
.home-jack-contact a{padding-block:12px}
.home-services-block{padding-top:64px}
.home-services-heading{margin-bottom:28px}
.home-services-heading h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.home-explorer .finance-link{min-height:96px;padding:20px;box-shadow:none}
.home-explorer .finance-link h2{font-size:1.1rem}
.home-route-panel{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.home-stage,.home-route-art{border-radius:12px}
.home-route-art{height:280px}
.home-route-art img{object-fit:cover}
.home-route-copy{padding:26px}
.home-route-copy h3{font-size:1.65rem;line-height:1.3}
.wealth-links-panel{margin-top:28px}
.service-ticker-pause{flex-shrink:0;min-height:44px;min-width:44px;margin-right:16px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);font:600 .8125rem/1.5 var(--body);cursor:pointer;z-index:2}
.service-ticker[data-paused=true] .service-ticker-track{animation-play-state:paused}

/* Floating controls never compete with the cookie decision or keyboard. */
.analytics-consent{right:18px;bottom:18px;width:min(490px,calc(100vw - 36px));border-radius:14px;padding:22px;background:var(--card)}
.analytics-consent h2{font-size:1.35rem}
.analytics-consent p{font-size:.9375rem;line-height:1.65}
.analytics-consent .kicker{margin-bottom:8px}
.analytics-consent-actions{gap:10px;margin-top:14px}
body:has(.analytics-consent:not([hidden])) .chat-launcher{visibility:hidden}
.chat-panel{overscroll-behavior:contain}
.scene-zoom-tools button{min-width:44px;min-height:44px}
.scene-zoom-tools button span{font-size:.75rem}
.scene-hotspot{width:44px;height:44px}
.priority-tabs button,.project-tabs>button,.project-stage-tabs>button{min-height:48px}
.project-tabs>button{min-width:0;flex-wrap:wrap;text-align:left}
.project-tabs>button span{min-width:0;overflow-wrap:anywhere}
.project-workspace,.protection-workspace,.consult-workspace{min-width:0}

@media(min-width:761px) and (max-width:1320px){.header-tools>.btn{display:inline-flex}.nav-menu{max-height:none}.nav-menu-groups{padding:8px 0}.nav-item>a{min-height:48px}}
@media(max-width:1000px){
 .hub-hero .page-hero-grid,.international-hero-grid{gap:30px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
 .service-disclosure>summary{grid-template-columns:110px minmax(0,1fr);gap:14px 20px}
 .category-thumb{grid-row:1/3;width:110px;height:84px}
 .service-disclosure .disclosure-count{grid-column:2;justify-content:space-between}
 .service-disclosure.route-disclosure>summary{grid-template-columns:minmax(0,1fr) auto}
 .route-disclosure>summary>span:first-child{grid-template-columns:1fr;gap:5px}
 .route-disclosure .disclosure-count{grid-column:auto}
 .home-route-panel{grid-template-columns:1fr 1.3fr}
 .location-map-shell{grid-template-columns:1fr}
 .location-map-detail .map-route-label{margin:12px 0}
}
@media(min-width:1001px) and (max-width:1450px){
 .chat-launcher{right:2px;bottom:18px;width:52px;height:74px;border-radius:14px;flex-direction:column;gap:3px;padding:3px;box-shadow:0 4px 14px var(--panel-shade)}
 .chat-launcher .chat-puppet-face{width:40px;height:40px}
 .chat-launcher-copy strong{font-size:.6875rem;line-height:1.5;white-space:nowrap}
 .chat-launcher-copy small{display:none}
}
@media(min-width:761px) and (max-width:1000px){
 :root body .hub-hero .lede{font-size:1.0625rem}
 .mobile-contact{display:grid;position:fixed;z-index:45;left:0;right:0;bottom:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:70px;padding:12px 78px 12px 18px;background:var(--surface);border-top:1px solid var(--line)}
 .mobile-contact a{min-height:44px;text-align:center;padding:10px}
 .chat-launcher{width:48px;height:48px;right:15px;bottom:12px;padding:2px;box-shadow:none}
 .chat-puppet-face{width:40px;height:40px}
 .chat-launcher-copy{display:none}
 body:has(.chat-launcher[aria-expanded=true]) .mobile-contact{visibility:hidden}
 .footer{padding-bottom:110px}
}
@media(max-width:760px){
 .header-row{min-height:94px;padding:10px 0 36px;gap:7px}
 :root body .header .wordmark small{white-space:nowrap;font-size:clamp(.69rem,2.95vw,.75rem);bottom:8px}
 .header .wordmark{font-size:1.5rem}
 .nav-menu{max-height:none}
 .nav-link-group a{min-height:44px}
 .hub-hero,.international-hero{padding:24px 0 30px}
 .hub-hero .page-hero-grid,.international-hero-grid{grid-template-columns:1fr;gap:28px}
 :root body .hub-hero h1,:root body .international-hero h1{font-size:clamp(2rem,8.5vw,2.8rem);max-width:24ch;line-height:1.17}
 :root body .hub-hero .lede,:root body .international-hero .lede{font-size:1.0625rem;line-height:1.7}
 .hub-hero .scene-frame,.international-art{max-width:580px;justify-self:center}
 .hub-hero .scene-frame img,.international-art img{max-height:280px;aspect-ratio:16/10}
 .hub-hero .actions{margin-top:20px}
 .hub-page-nav>.container{display:block;padding-block:14px}
 .hub-page-nav>.container>span{display:block;margin-bottom:5px}
 .hub-page-nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}
 .hub-page-nav a{font-size:.875rem;justify-content:space-between;gap:8px;line-height:1.5;border-bottom:1px solid var(--line)}
 .hub-page>.header~main>.section{padding-block:40px}
 .directory-intro.section-heading{display:block;margin-bottom:22px}
 .directory-intro p{margin-top:12px}
 .service-disclosure>summary{grid-template-columns:72px minmax(0,1fr);padding:18px;gap:12px 16px;min-height:0}
 .category-thumb{grid-row:1;align-self:start;width:72px;height:72px}
 .disclosure-heading{font-size:1.1rem;line-height:1.4}
 :root body .category-caption{font-size:.875rem;line-height:1.65}
 .service-disclosure .disclosure-count{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--line)}
 .service-link-list{grid-template-columns:1fr;padding:4px 18px 14px}
 .service-link-list a{padding-block:15px}
 .service-disclosure.route-disclosure>summary{grid-template-columns:1fr;padding:18px;gap:12px}
 .route-disclosure>summary>span:first-child{grid-template-columns:1fr;gap:4px}
 .service-disclosure[data-text-summary]>summary{grid-template-columns:1fr}
 .hub-reading>summary{padding:22px}
 .hub-reading .content-layout{padding:24px 20px;grid-template-columns:1fr;gap:26px}
 .hub-reading .sidebar{padding:0}
 #countries .market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #countries .market-card[data-text-card] .market-card-copy{padding:18px}
 #countries .market-card h3{font-size:1.2rem}
 .country-world>summary{padding:20px}
 .country-world>.market-grid{padding:0 16px 16px}
 .country-world>.market-world{margin:22px 18px}
 .international-popular-routes{grid-template-columns:1fr}
 .international-help{display:block;padding:22px}
 .international-help .btn{margin-top:16px;width:100%}
 .location-map-tools{align-items:stretch}
 .map-place{width:40px;height:40px}
 .map-country-directory>ul{grid-template-columns:repeat(2,minmax(0,1fr))}
 .map-country-directory{padding:12px;max-height:240px}
 .map-country-directory a{grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;min-height:72px;padding:10px}
 .map-country-directory a>span{display:none}
 .map-country-directory strong{font-size:.875rem}
 .map-country-directory small{grid-column:1;font-size:.8125rem}
 .map-country-directory b{grid-column:2}
 .finance-home{padding-top:28px}
 .finance-front h1{font-size:clamp(2.15rem,9vw,3.1rem)}
 .finance-home-grid{gap:30px}
 .home-offer-links{grid-template-columns:1fr 1fr;gap:8px}
 .home-offer-links a{min-height:80px;padding:13px 11px;gap:8px;grid-template-columns:24px minmax(0,1fr) auto}
 .home-offer-links .home-offer-label{font-size:.875rem;line-height:1.5}
 .home-offer-links a:last-child{min-height:60px}
 .home-offer-icon{width:22px;height:22px;max-width:22px;flex-basis:22px}
 .home-jack-portrait{height:240px}
 .home-jack-body{padding:22px}
 .home-services-block{padding-top:42px}
 .home-explorer .finance-links{gap:10px}
 .home-explorer .finance-link{min-height:110px;padding:16px 13px}
 .home-route-panel{grid-template-columns:1fr}
 .home-route-art{height:220px}
 .home-route-copy{padding:22px}
 .service-ticker-label{display:none}
 .service-ticker-pause{margin-right:10px}
 .analytics-consent{left:12px;right:12px;bottom:calc(var(--mobile-dock-height) + 12px);width:auto;padding:20px;max-height:calc(100dvh - var(--mobile-dock-height) - 32px);overflow:auto}
 .analytics-consent-actions{display:grid;grid-template-columns:1fr 1fr}
 .analytics-consent-actions .btn{padding:10px;font-size:.875rem;line-height:1.4;min-height:48px}
 body:has(.chat-launcher[aria-expanded=true]) .mobile-contact,body:has(.field input:focus,.field textarea:focus,.field select:focus) .mobile-contact{visibility:hidden}
 body:has(.field input:focus,.field textarea:focus,.field select:focus) .chat-launcher{visibility:hidden}
 .chat-panel{bottom:12px}
 .mobile-contact{padding-right:74px;gap:6px}
 .mobile-contact a{padding-inline:5px;font-size:.8125rem}
 .chat-launcher{width:48px;height:48px;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:2px;box-shadow:none}
 .chat-puppet-face{width:40px;height:40px}
 .scene-hotspot{width:42px;height:42px}
 .scene-zoom-tools button{min-width:44px;min-height:44px}
 .scene-stops{grid-template-columns:repeat(2,minmax(0,1fr))}
 .scene-stops>a{min-height:44px;line-height:1.4;padding:8px}
 .scene-viewport,.scroll-scene-finance .scene-viewport{max-height:29svh}
 .scene-overlay strong{font-size:.9375rem}
 .scroll-scene.motion-ready:not(.reduced-motion) .scene-chapter{scroll-margin-top:calc(var(--header-height) + 29svh + 155px)}
 .footer-grid{gap:28px}
}
@media(max-width:400px){
 #countries .market-grid{grid-template-columns:1fr}
 .home-offer-links{grid-template-columns:1fr}
 .home-offer-links a,.home-offer-links a:last-child{min-height:58px}
 .home-offer-links a:last-child{grid-column:auto}
 .map-country-directory>ul{grid-template-columns:1fr}
 .hub-page-nav ul{gap:2px 12px}
 .hub-page-nav a{font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce){
 .service-ticker-track{animation:none!important}
 .service-ticker-pause{display:none}
 .card,.market-card,.service-disclosure,.home-offer-links a{transition:none;transform:none!important}
}
@media print{.hub-page-nav,.hub-contact-note,.service-ticker-pause{display:none}.hub-reading::details-content,.country-world::details-content{content-visibility:visible}.hub-hero{padding-block:16px}.hub-hero img{max-height:220px}.hub-reading{border:0}.hub-reading .content-layout{display:block}.map-country-directory{max-height:none;overflow:visible}}
