/* Gold and silver are accents; reading surfaces retain the shared theme. */
:root{--gold:#856019;--silver:#586a80;--metal-line:#c8b386;--metal-soft:#f5eddf;--metal-gradient:linear-gradient(105deg,#997338,#dfc88f 38%,#cbd6e3 72%,#74889e)}
[data-theme=dark]{--gold:#e0c488;--silver:#c9d5e4;--metal-line:#776546;--metal-soft:#2b2e32;--metal-gradient:linear-gradient(105deg,#ae894f,#e4ce9c 38%,#cfdae8 72%,#889cb4)}
/* Service routes: visible explanations, native links and purposeful motion. */
.finance-front{container-type:inline-size}
.home-offer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:none}
.home-offer-links a{--offer-accent:var(--gold);position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:32px minmax(0,1fr) 26px;grid-template-rows:auto 1fr;column-gap:10px;row-gap:7px;align-items:center;min-width:0;min-height:112px;padding:17px 15px;border:1px solid color-mix(in srgb,var(--offer-accent) 28%,var(--line));border-radius:12px;background:var(--card);color:var(--ink);box-shadow:inset 0 1px color-mix(in srgb,var(--offer-accent) 12%,transparent),0 4px 12px var(--panel-shade);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.home-offer-links a:nth-child(even){--offer-accent:var(--silver)}
.home-offer-links a:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(240px circle at var(--offer-x,50%) var(--offer-y,50%),color-mix(in srgb,var(--offer-accent) 13%,transparent),transparent 80%);opacity:0;transition:opacity .2s ease}
.home-offer-links a:after{content:"";position:absolute;inset:16px auto 16px 0;width:2px;border-radius:2px;background:var(--offer-accent);opacity:.5;transition:opacity .2s ease}
.home-offer-links .home-offer-icon{grid-column:1;grid-row:1;align-self:start;width:32px;height:32px;max-width:32px;max-height:32px;padding:6px;border-color:color-mix(in srgb,var(--offer-accent) 40%,var(--line));background:color-mix(in srgb,var(--offer-accent) 8%,var(--card));color:var(--offer-accent);border-radius:9px;transition:transform .2s ease,background-color .2s ease}
.home-offer-links .home-offer-label{grid-column:2;grid-row:1;font-size:.9375rem;font-weight:700;line-height:1.4}
.home-offer-copy{grid-column:2 / -1;grid-row:2;align-self:start;min-width:0;color:var(--muted);font-size:.875rem;font-weight:400;line-height:1.5}
.home-offer-links .home-offer-arrow{grid-column:3;grid-row:1;display:grid;place-items:center;align-self:start;width:26px;height:26px;margin-top:2px;border:1px solid color-mix(in srgb,var(--offer-accent) 30%,var(--line));border-radius:50%;color:var(--offer-accent);font-size:.875rem;transition:transform .2s ease,background-color .2s ease}
.home-offer-links a:last-child{grid-column:1 / -1;min-height:92px}
.home-offer-links a:focus-visible{outline:3px solid var(--offer-accent);outline-offset:4px;border-color:var(--offer-accent);background:var(--card);color:var(--ink)}
.home-offer-links a:focus-visible:before,.home-offer-links a:focus-visible:after{opacity:1}
.home-offer-links a:focus-visible .home-offer-icon{background:color-mix(in srgb,var(--offer-accent) 16%,var(--card));color:var(--offer-accent);border-color:var(--offer-accent)}
@media(hover:hover) and (pointer:fine){
 .home-offer-links a:hover{transform:translateY(-3px);border-color:var(--offer-accent);background:var(--card);color:var(--ink);box-shadow:0 10px 24px var(--panel-shade)}
 .home-offer-links a:hover:before,.home-offer-links a:hover:after{opacity:1}
 .home-offer-links a:hover .home-offer-icon{transform:rotate(-5deg);background:color-mix(in srgb,var(--offer-accent) 16%,var(--card));color:var(--offer-accent);border-color:var(--offer-accent)}
 .home-offer-links a:hover .home-offer-arrow{transform:translate(2px,-2px);background:color-mix(in srgb,var(--offer-accent) 12%,var(--card))}
}
.home-offer-links a:active{transform:scale(.985);border-color:var(--offer-accent);background:color-mix(in srgb,var(--offer-accent) 10%,var(--card))}
@container(min-width:720px){.home-offer-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container(max-width:420px){.home-offer-links{grid-template-columns:1fr;gap:9px}.home-offer-links a,.home-offer-links a:last-child{min-height:88px;padding:14px 15px}.home-offer-links .home-offer-label{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.home-offer-links a,.home-offer-links a:before,.home-offer-links a:after,.home-offer-links .home-offer-icon,.home-offer-links .home-offer-arrow{transition:none!important;transform:none!important}}
.header{border-bottom-color:var(--metal-line)}
.hub-page-nav{border-bottom-color:var(--metal-line)}
.hub-page-nav a span,.card .number,.info-card .number,.home-explorer .finance-link>span{color:var(--gold)}
.hub-hero:not(.international-hero){border-bottom:3px solid transparent;border-image:var(--metal-gradient) 1}
.home-jack-card{border:1px solid var(--metal-line)}
.home-jack-card:before{content:"";display:block;height:3px;background:var(--metal-gradient)}
.home-explorer .finance-link[data-preview=true]{background:var(--metal-soft);border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}
.home-explorer-foot{align-items:center;gap:18px;flex-wrap:wrap}
.home-explorer-foot>p{flex:1 1 170px}
.home-preview-position{font-size:.8125rem;color:var(--muted);min-width:180px;flex:1 1 180px}
.home-preview-position progress{display:block;width:100%;height:3px;border:0;margin-top:9px;accent-color:var(--gold);border-radius:4px;background:var(--line)}
.home-preview-position progress::-webkit-progress-bar{background:var(--line);border-radius:4px}
.home-preview-position progress::-webkit-progress-value{background:var(--metal-gradient);border-radius:4px}
.home-preview-position progress::-moz-progress-bar{background:var(--metal-gradient)}
.home-motion-controls{flex:1 1 350px}
.home-stage,.location-map-views,.investment-result,.consult-summary{border-color:var(--metal-line)}
.project-stage-tabs [aria-selected=true],.priority-tabs [aria-selected=true]{box-shadow:inset 0 -3px var(--gold)}
.project-workspace{position:relative}
.project-stage-progress{height:4px;width:100%;border:0;background:var(--line);margin-bottom:22px;accent-color:var(--gold)}
.project-stage-progress::-webkit-progress-bar{background:var(--line)}
.project-stage-progress::-webkit-progress-value{background:var(--metal-gradient);transition:width .25s ease}
.agenda-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}
.agenda-actions button{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px 14px;background:var(--card);color:var(--ink);cursor:pointer}
.agenda-actions button:disabled{opacity:.55;cursor:default}
.map-country-picker{padding-bottom:24px;margin-bottom:22px;border-bottom:1px solid var(--metal-line)}
.map-country-picker label{display:block;font-weight:600;font-size:.875rem;margin-bottom:8px}
.map-country-picker select{width:100%;max-width:100%;min-height:48px;padding:10px 36px 10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit}
.map-place[data-active=true]{box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 22%,transparent);border-color:var(--gold)}
.map-country-directory a[data-active=true]{box-shadow:inset 3px 0 var(--gold)}
.faq{scroll-margin-top:calc(var(--header-height) + 24px)}
.faq[open]{border-color:var(--metal-line);background:var(--metal-soft)}
.faq[open]>summary{color:var(--ink)}
.faq[open]>summary:after{color:var(--gold)}
.faq-answer-link{display:inline-flex;margin:0 22px 16px;align-items:center;gap:8px;min-height:32px;font-size:.8125rem;color:var(--gold);text-underline-offset:4px}
.faq-centre{padding-top:32px}
.faq-centre>.container{max-width:1080px}
.faq-tools{border:1px solid var(--metal-line);border-radius:16px;padding:28px;background:var(--card);box-shadow:var(--shadow)}
.faq-tools>label{display:block;font:700 clamp(1.25rem,2vw,1.7rem)/1.4 var(--display);margin-bottom:14px}
.faq-search-row{display:flex;gap:10px}
.faq-search-row input{min-width:0;flex:1;min-height:52px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--ink);font:inherit}
.faq-search-row input::placeholder{color:var(--muted);opacity:1}
.faq-topics{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.faq-topics button{font:inherit;font-size:.875rem;padding:10px 13px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer}
.faq-topics button span{margin-left:7px;color:var(--muted);font-size:.75rem}
.faq-topics button[aria-pressed=true]{background:var(--metal-soft);border-color:var(--gold);box-shadow:inset 0 -2px var(--gold)}
.faq-topics button:hover{border-color:var(--gold)}
.faq-results-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px}
.faq-results-bar p{margin:0;color:var(--muted);font-size:.875rem}
.faq-results-bar>div{display:flex;gap:14px;flex-wrap:wrap}
.faq-results-bar button{min-height:44px;background:none;border:0;padding:4px;color:var(--ink);font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.faq-results-bar button:disabled{opacity:.5;cursor:default}
.faq-topic-section{margin:36px 0}
.faq-topic-section h2{font-size:1.35rem;margin:0 0 16px;color:var(--silver)}
.faq-topic-section .faq{margin-bottom:10px;border-radius:10px}
.faq-topic-section .faq p{max-width:78ch;line-height:1.8}
.faq-empty,.faq-personal{margin-top:32px;padding:28px;border-radius:14px;border:1px solid var(--metal-line);background:var(--card)}
.faq-personal h2,.faq-empty h2{font-size:1.6rem}
.faq-personal p{max-width:65ch}
.faq-personal .text-link{display:inline-flex;min-height:44px;align-items:center;margin-left:18px}
.home-answers-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.home-answers-grid .faq{margin:0}
.travel-story{background:var(--soft);border-block:1px solid var(--line);padding-block:56px}
.travel-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:50px;align-items:center}
.travel-intro .kicker{color:var(--gold)}
.travel-intro h2{font-size:clamp(1.8rem,3.3vw,2.75rem);line-height:1.2;letter-spacing:-.035em;margin-bottom:22px}
.travel-intro p{max-width:40ch;color:var(--muted);line-height:1.8}
.travel-links{display:grid;margin-top:24px}
.travel-links a{padding:14px 0;display:flex;justify-content:space-between;gap:18px;align-items:center;color:var(--ink);border-top:1px solid var(--line);text-decoration:none;font-size:.9375rem}
.travel-links a span{color:var(--gold)}
.travel-links a:hover{text-decoration:underline;text-underline-offset:4px}
.travel-film{margin:0;border:1px solid var(--metal-line);border-radius:16px;overflow:hidden;background:#0b1c34;box-shadow:0 18px 42px var(--panel-shade)}
.travel-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 15%}
.travel-film figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:10px 18px;border-top:3px solid transparent;border-image:var(--metal-gradient) 1;color:#e0c488;font-size:.8125rem}
.travel-film-length{color:#c9d5e4}
.travel-film button{min-height:40px;padding:8px 14px;border:1px solid #9aabc0;border-radius:7px;background:#162c45;color:#f4f7fc;font:inherit;cursor:pointer;white-space:nowrap}
.travel-film button:focus-visible{outline-color:#e0c488}
.travel-film button:hover{background:#253d57}
@media(max-width:850px){.travel-grid{grid-template-columns:1fr;gap:24px}.travel-intro p{max-width:60ch}.travel-intro h2 br{display:none}.travel-links{grid-template-columns:1fr 1fr;gap:24px}.home-motion-controls{justify-content:flex-start}.home-explorer-foot>p{margin-bottom:12px}}
@media(max-width:600px){.faq-tools{padding:18px}.faq-search-row{flex-direction:column}.faq-search-row .btn{align-self:flex-start}.faq-results-bar{align-items:flex-start;flex-direction:column}.faq-topics{gap:7px}.faq-topics button{padding:9px 10px;font-size:.8125rem}.faq-personal .text-link{margin:12px 0 0;display:flex}.home-answers-grid{grid-template-columns:1fr}.travel-links{grid-template-columns:1fr;gap:0}.travel-film-length{display:block;margin-top:3px}.travel-film figcaption{padding-inline:12px}.home-preview-position{margin:14px 0}.home-motion-controls{gap:8px}.home-motion-controls .motion-btn{padding-inline:12px}.faq-personal,.faq-empty{padding:22px}}
@media(prefers-reduced-motion:reduce){.project-stage-progress::-webkit-progress-value{transition:none}}
@media print{.faq-tools,.faq-answer-link,.travel-film button,.home-motion-controls,.map-country-picker{display:none!important}.travel-story{break-inside:avoid}.travel-film video{max-height:220px}}

.film-controls{display:flex;gap:6px;flex-wrap:wrap}.film-controls [aria-pressed=true]{border-color:#e0c488;color:#e0c488;background:#253344}@media(max-width:600px){.travel-film figcaption{flex-wrap:wrap}.film-controls{width:100%;justify-content:space-between}.film-controls button{flex:1;padding-inline:8px}}

.faq-topic-section .faq,.home-answers-grid .faq{border:1px solid var(--line);border-radius:10px;background:var(--card)}.faq-topic-section .faq[open],.home-answers-grid .faq[open]{border-color:var(--metal-line);background:var(--metal-soft)}.faq-topic-section .faq>summary,.home-answers-grid .faq>summary{padding:18px 48px 18px 20px}.faq-topic-section .faq>summary:after,.home-answers-grid .faq>summary:after{right:18px}.faq-topic-section .faq>p,.home-answers-grid .faq>p{padding-inline:20px}

/* The international introduction takes its finish from a navy passport cover. */
.international-hero.passport-hero{isolation:isolate;padding-block:38px 52px;background:#08172b url('../images/international-passport-cover.webp') center 60%/cover no-repeat;box-shadow:inset 0 1px #e0c48842,inset 0 -18px 38px #030b1766}
.passport-hero:before{content:"";position:absolute;inset:14px 20px;z-index:-1;border:1px solid #d8bf8294;border-radius:16px;box-shadow:inset 0 0 0 5px #08172b70,inset 0 0 0 6px #b6c6d331;pointer-events:none}
.passport-hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#071426a3 0%,#0714266b 40%,#0714260a 76%);pointer-events:none}
.passport-hero>.container{position:relative}
.passport-hero .breadcrumbs{margin-bottom:36px}
.passport-hero .international-hero-grid{align-items:center;gap:clamp(32px,4.5vw,68px)}
.passport-hero .international-art{padding:10px 10px 0;border:1px solid #cbb482;border-radius:17px;background:linear-gradient(145deg,#b9cbd326,#10243b);box-shadow:0 18px 45px #030a165c,inset 0 0 0 3px #a5b7c114}
.passport-hero .international-art img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-position:center;border:1px solid #d8c08c;border-radius:9px;box-shadow:none}
.passport-hero .international-art .art-note{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;min-height:49px;padding:10px 14px;border:0;border-radius:0;background:none;box-shadow:none;color:#dfc991;font-size:.875rem;line-height:1.4;text-align:center}
.passport-hero .international-art .art-note:before,.passport-hero .international-art .art-note:after{content:"";width:28px;height:1px;background:linear-gradient(90deg,#dfc991,#c8d5e7)}
.passport-hero .hub-hero-copy{min-width:0}
@media(max-width:1000px){.international-hero.passport-hero{padding-block:30px 42px}.passport-hero:before{inset:10px 12px}.passport-hero .international-hero-grid{gap:28px}}
@media(max-width:760px){.international-hero.passport-hero{padding-block:26px 34px;background-position:62% center}.passport-hero:before{inset:8px;border-radius:12px}.passport-hero .breadcrumbs{margin-bottom:27px}.passport-hero .international-art{max-width:520px;justify-self:center;padding:8px 8px 0;border-radius:13px}.passport-hero .international-art .art-note{min-height:45px;font-size:.875rem}.passport-hero:after{background:linear-gradient(180deg,#07142685,#07142638)}}
@media print{.international-hero.passport-hero{background:#10243b!important}.passport-hero:before,.passport-hero:after{display:none}}

/* Each service opens on its own tactile cover, with a shared metallic finish. */
.page-hero.service-cover{
 --ink:#f4f7fc;--muted:#cfdaea;--blue:#c3dcff;--line:#869caf80;
 --gold:#e4cb94;--silver:#d0dce8;--cover-base:#0b2034;
 --metal-gradient:linear-gradient(105deg,#ae894f,#ead8ad 38%,#d6e1ed 72%,#889cb4);
 position:relative;isolation:isolate;overflow:hidden;padding-block:38px 54px;
 background:var(--cover-base) var(--cover-image) center 64%/cover no-repeat;
 color:var(--ink);box-shadow:inset 0 1px #d7c39840,inset 0 -18px 38px #030b1738;
}
.service-cover.cover-residential{--cover-base:#102b3e;--cover-image:url('../images/residential-home-cover.webp')}
.service-cover.cover-btl{--cover-base:#0b2332;--cover-image:url('../images/btl-portfolio-cover.webp')}
.service-cover.cover-finance{--cover-base:#0b2039;--cover-image:url('../images/property-finance-blueprint.webp')}
.service-cover.cover-consultancy{--cover-base:#101e2d;--cover-image:url('../images/consultancy-folio-cover.webp')}
.page-hero.service-cover:before{
 content:"";position:absolute;inset:14px 20px;z-index:-1;pointer-events:none;
 border:1px solid #d2bb8580;border-radius:16px;background:none;
 box-shadow:inset 0 0 0 5px #081b2b38,inset 0 0 0 6px #c4d2df35;
}
.page-hero.service-cover:after{
 content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
 background:linear-gradient(90deg,#061728de 0%,#061728c7 35%,#06172861 62%,#0617280d 100%);
}
.service-cover>.container{position:relative}
.service-cover .breadcrumbs{margin-bottom:34px}
.service-cover .hub-hero-copy{min-width:0}
:root body .service-cover h1{color:#f4f7fc}
:root body .service-cover .lede,:root body .service-cover .hub-contact-note{color:#cfdaea}
:root body .service-cover .kicker{color:#e4cb94;font-size:.875rem;letter-spacing:.1em}
.service-cover .breadcrumbs,.service-cover .breadcrumbs a{color:#cbd9e8}
.service-cover .breadcrumbs [aria-current=page],.service-cover .hub-contact-note a{color:#f4f7fc}
.page-hero.service-cover .btn-primary{background:#e4cb94;border-color:#e4cb94;color:#10233c}
.page-hero.service-cover .btn-primary:hover{background:#f1ddb2;border-color:#f1ddb2;color:#10233c}
.page-hero.service-cover .btn-secondary{background:#0d2238bd;border-color:#b8c9d9;color:#f4f7fc}
.page-hero.service-cover .btn-secondary:hover{background:#253e55;color:#fff}
.service-cover :is(a,button):focus-visible{outline-color:#efd398}
.page-hero.service-cover .scene-frame{
 padding:10px;border:1px solid #d2bd8d;border-radius:18px;
 background:linear-gradient(140deg,#ccdce22e,#13283e 62%,#b49b5926);
 box-shadow:0 18px 42px #030b174d,inset 0 0 0 3px #a7bdcf1f;
}
.page-hero.service-cover .scene-frame img{
 width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover;
 border:1px solid #c8d5e780;border-radius:9px;
}
.page-hero.cover-finance:before{border-radius:4px;border-color:#b9cfdda3;box-shadow:inset 0 0 0 5px #081b2b38,inset 0 0 0 6px #d7bf8245}
.page-hero.cover-finance .scene-frame{border-color:#c4d6e4;border-radius:10px}
.page-hero.cover-finance .scene-frame img{border-radius:4px}
.page-hero.cover-residential:before{border-radius:26px 12px 12px 26px}
.page-hero.cover-residential .scene-frame{border-color:#cbd9e4}
.page-hero.cover-consultancy .scene-frame{border-top:3px solid #ddc58e;padding-top:8px}
@media(max-width:1000px){
 .page-hero.service-cover{padding-block:30px 44px}
 .page-hero.service-cover:before{inset:10px 12px}
}
@media(max-width:760px){
 .page-hero.service-cover{padding-block:26px 34px;background-position:58% bottom}
 .page-hero.service-cover:before{inset:8px;border-radius:12px}
 .page-hero.service-cover:after{background:linear-gradient(180deg,#061728e8 0%,#061728d4 52%,#06172866 78%,#06172824 100%)}
 .service-cover .breadcrumbs{margin-bottom:26px}
 .page-hero.service-cover .scene-frame{padding:8px;max-width:520px;justify-self:center;border-radius:13px}
 .page-hero.service-cover .scene-frame img{border-radius:7px;aspect-ratio:3/2}
 .page-hero.cover-finance:before,.page-hero.cover-finance .scene-frame{border-radius:5px}
 .page-hero.cover-consultancy .scene-frame{padding-top:6px}
}
@media print{
 .page-hero.service-cover{background:#fff!important;color:#112340;box-shadow:none}
 .page-hero.service-cover:before,.page-hero.service-cover:after{display:none}
 :root body .service-cover :is(h1,.lede,.kicker,.breadcrumbs,.breadcrumbs a){color:#112340}
 .page-hero.service-cover .scene-frame{padding:0;border:0;box-shadow:none;background:none}
}
.market-bar .container{gap:20px}
.market-live{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:#cfdaea;font-size:.75rem}
.market-live [data-market-status]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#d8c293;margin-right:6px;vertical-align:1px}
.market-bar[data-market-state=current] .market-live [data-market-status]:before{background:#a8d5be}
.market-live button{display:grid;place-items:center;min-width:30px;min-height:30px;border:1px solid #9aafca55;border-radius:50%;background:transparent;color:#e3edfc;cursor:pointer;font:20px/1 system-ui}
.market-live button:hover{background:#284464;border-color:#dfc895}
.market-live button:focus-visible{outline:2px solid #e4cb94;outline-offset:3px}
.market-live button:disabled{opacity:.6;cursor:progress}
@media(max-width:760px){.market-live button{min-width:36px;min-height:36px}.market-bar .container{gap:16px}}

/* Protection has its own commissioned shield cover. */
.service-cover.cover-protection{--cover-base:#0b2433;--cover-image:url('../images/protection-shield-cover.webp');background-position:center 48%}
.page-hero.cover-protection .scene-frame{border-color:#c8d8e3;border-top:3px solid #e1c58e;padding-top:8px}
.page-hero.cover-protection:before{border-radius:24px;box-shadow:inset 0 0 0 5px #081b2b38,inset 0 0 0 6px #c4d2df55}
/* Show the complete portrait rather than enlarging it to fill a shallow crop. */
.home-jack-portrait{height:clamp(285px,29vw,340px);padding:14px;background:#0c2035;display:flex;justify-content:center;align-items:center}
.home-jack-portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:7px}

/* A compact, user-controlled introduction to the existing consultancy planner. */
.consult-path{background:var(--soft);border-bottom:1px solid var(--line)}
.consult-path .section-heading{margin-bottom:28px}
.consult-path-layout{display:grid;grid-template-columns:minmax(245px,1fr) minmax(0,1.85fr);gap:24px;align-items:start}
.path-goals{display:grid;gap:10px}
.path-goals button{display:grid;grid-template-columns:28px 1fr 18px;gap:12px;align-items:center;text-align:left;padding:19px 17px;min-height:94px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;cursor:pointer;font:inherit;transition:border-color .18s,transform .18s}
.path-goals button strong{display:block;font-size:.9375rem;line-height:1.4}
.path-goals button small{display:block;color:var(--muted);font-size:.875rem;line-height:1.5;margin-top:5px}
.path-choice-number{font-size:.875rem;color:var(--silver)}
.path-goals button>span:last-child{color:var(--gold)}
.path-goals button[aria-pressed=true]{border-color:var(--gold);background:var(--metal-soft);box-shadow:inset 3px 0 var(--gold)}
.path-goals button:hover{border-color:var(--gold);transform:translateX(2px)}
.path-workspace{min-width:0;padding:28px;border:1px solid var(--metal-line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}
.path-workspace-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}
.path-workspace h3{font-size:clamp(1.25rem,2vw,1.65rem);margin:5px 0 0;line-height:1.3}
.path-counter{font:600 .875rem/1 var(--body);color:var(--gold);white-space:nowrap;border:1px solid var(--metal-line);border-radius:30px;padding:11px}
.path-intro{min-height:3.2em;font-size:1rem;line-height:1.65;color:var(--muted);margin:16px 0 24px}
.path-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);padding-top:20px}
.path-steps button{position:relative;text-align:left;background:none;border:0;border-bottom:2px solid var(--line);color:var(--muted);font:inherit;padding:0 0 14px;min-height:100px;cursor:pointer}
.path-steps button>span{display:grid;place-items:center;width:33px;height:33px;margin-bottom:9px;border:1px solid var(--line);border-radius:50%;font-size:.875rem;background:var(--soft);color:var(--muted)}
.path-steps strong{display:block;font-size:.875rem;line-height:1.5;font-weight:600}
.path-steps button[aria-pressed=true]{border-color:var(--gold);color:var(--ink)}
.path-steps button[aria-pressed=true]>span{background:var(--gold);border-color:var(--gold);color:var(--surface)}
.path-detail{padding:22px 0 6px;min-height:165px}
.path-detail h4{font:700 1.15rem/1.45 var(--display);margin:7px 0 8px}
.path-detail p{font-size:1rem;line-height:1.7;margin:0;color:var(--muted)}
.path-actions{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:21px;margin-top:12px}
.path-actions .text-link{font-size:.875rem}
.consult-path button:focus-visible,.story-filters button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}

/* Case studies: real experiences and illustrative scenarios remain distinct. */
.case-intro-nav{border-block:1px solid var(--metal-line);background:var(--card)}
.case-intro-nav .container{display:flex;gap:18px 34px;flex-wrap:wrap;padding-block:20px}
.case-intro-nav a{font-size:.9375rem;color:var(--ink);text-decoration:none;min-height:32px;display:inline-flex;align-items:center;gap:12px}
.case-intro-nav a span{font-size:.875rem;color:var(--gold)}
.case-intro-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.story-filter-bar{margin:0 0 25px}
.story-filters{display:flex;gap:8px;flex-wrap:wrap}
.story-filters button{font:600 .875rem/1.4 var(--body);min-height:44px;border:1px solid var(--line);border-radius:24px;background:var(--card);color:var(--ink);padding:10px 16px;cursor:pointer}
.story-filters button[aria-pressed=true]{border-color:var(--gold);background:var(--metal-soft);color:var(--ink)}
.story-filter-bar>p{margin:12px 0 0;color:var(--muted)}
.client-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.client-outcome{position:relative;padding:30px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}
.client-outcome[hidden]{display:none!important}
.client-outcome .kicker{padding-right:40px;color:var(--gold);font-size:.8125rem}
.story-number{position:absolute;top:27px;right:28px;color:var(--silver);font:500 1.3rem/1 var(--display)}
.client-outcome h3{font-size:1.4rem;line-height:1.4;max-width:29ch;margin:13px 0 24px}
.client-outcome dl{margin:0}
.client-outcome dl>div{border-left:2px solid var(--line);padding:2px 0 2px 18px;margin:18px 0}
.client-outcome dl>div.outcome-solution{border-color:var(--gold);background:none}
.client-outcome dt{color:var(--silver);font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase;font-weight:650;margin-bottom:8px}
.client-outcome dd{font-size:1rem;line-height:1.7;margin:0;color:var(--ink)}
.client-outcome footer{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;gap:10px;flex-wrap:wrap;align-items:center}
.client-outcome footer span{color:var(--gold)}
.client-outcome footer a{font-size:.875rem}
.featured-cases{background:var(--soft)}
.case-note-group[open]>summary{background:var(--metal-soft);border-bottom:1px solid var(--metal-line)}
.case-note-group>.grid{padding-top:24px}
.case-note-group .card{border-top:2px solid var(--metal-line)}
.case-note-group .card .number,.case-note-group>summary b{color:var(--gold)}
.case-library .example-search{border:1px solid var(--metal-line);border-radius:14px;padding:24px;background:var(--card);margin-block:28px}
.case-library .example-search .field{margin:0}
.case-library .card h3{font-size:1.15rem}
.case-library .card p{font-size:.9375rem;line-height:1.7}
.scenario-shell>.notice{max-width:100%;margin:0 0 30px}
.scenario-layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.8fr);gap:40px;align-items:start}
.scenario-sidebar{position:sticky;top:calc(var(--header-height) + 22px);max-height:calc(100vh - var(--header-height) - 50px);overflow:auto;background:var(--card);border:1px solid var(--metal-line);border-radius:12px}
.scenario-sidebar summary{display:flex;justify-content:space-between;gap:12px;padding:20px;font-size:.9375rem;font-weight:700;cursor:pointer;list-style:none}
.scenario-sidebar summary>span{color:var(--gold)}
.scenario-contents{padding:0 12px 14px;display:grid;gap:5px}
.scenario-contents a{padding:12px 10px;border-radius:6px;color:var(--muted);text-decoration:none;font-size:.875rem;line-height:1.6;border-left:2px solid transparent}
.scenario-contents a:hover,.scenario-contents a[aria-current=location]{background:var(--metal-soft);color:var(--ink);border-color:var(--gold)}
.scenario-content{min-width:0}
.scenario-content .scenario{margin:0 0 26px;padding:32px;background:var(--card);border:1px solid var(--line);border-top:2px solid var(--metal-line);border-radius:12px;box-shadow:var(--shadow);scroll-margin-top:calc(var(--header-height) + 24px)}
.scenario-content .scenario h2{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.35;margin:12px 0 20px}
.scenario-content .scenario h3{font-size:1.1rem;line-height:1.5;margin-top:25px}
.scenario-content .scenario .kicker{color:var(--gold)}
.scenario-content .scenario-premise{font-size:1.0625rem;line-height:1.8;color:var(--ink)}
.scenario-content .scenario>ul{padding:20px 22px 20px 42px;background:var(--soft);border-radius:9px}
.scenario-content .case-decision{border-color:var(--gold)}
.scenario-content .case-steps li::marker{color:var(--gold)}

/* Geographic routes with less visual noise and a compact native directory. */
.location-map{--map-ocean:#eff3f6;background:var(--soft)}
[data-theme=dark] .location-map{--map-ocean:#0e2032}
.location-map-shell{align-items:start;gap:22px}
.location-map-views{border-color:var(--line);border-radius:14px;background:var(--map-ocean);box-shadow:none}
.location-map-canvas{background:none;border-color:var(--line)}
.map-view-heading{margin:0;padding:19px 22px;font-size:.9375rem;letter-spacing:0}
.map-connectors{stroke-opacity:.14}
.map-connectors circle{fill:var(--silver);stroke:var(--map-ocean)}
.map-connectors [data-active=true]{stroke:var(--gold);stroke-width:1.5}
.map-connectors [data-active=true] circle{fill:var(--gold)}
.map-journey{stroke:var(--gold);stroke-width:1.7;animation:none;stroke-dasharray:5 5}
.location-map .map-place{width:36px;height:36px;border:1px solid var(--silver);background:var(--map-ocean);color:var(--ink);font-size:.8125rem;box-shadow:0 2px 5px #07142616}
.location-map .map-place:hover,.location-map .map-place:focus-visible,.location-map .map-place[data-active=true]{background:var(--gold);color:var(--surface);border-color:var(--gold);transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 16%,transparent)}
.location-map-detail{padding:25px;border-radius:14px;background:var(--card);box-shadow:none;border-color:var(--metal-line)}
.map-country-picker{padding-bottom:19px;margin-bottom:18px}
.map-route-label{font-size:1.3rem}
.location-map-detail>p{line-height:1.7}
.map-directory-panel{background:var(--card)}
.map-directory-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:56px;padding:17px 22px;font-size:.9375rem;font-weight:600;cursor:pointer;list-style:none}
.map-directory-panel>summary::-webkit-details-marker{display:none}
.map-directory-panel>summary span{color:var(--gold);font-size:1.5rem;line-height:1}
.map-directory-panel[open]>summary span{transform:rotate(45deg)}
.map-directory-panel .map-country-directory{padding:0 16px 16px;background:var(--card)}
.map-country-directory a{min-height:70px;border-radius:7px;box-shadow:none}
.map-country-directory a:hover,.map-country-directory a[data-active=true]{background:var(--metal-soft);box-shadow:inset 2px 0 var(--gold)}
.map-country-directory a>span,.map-country-directory b{color:var(--gold)}
.location-map .map-view-buttons button[aria-pressed=true]{background:var(--metal-soft);color:var(--ink);border-color:var(--gold);box-shadow:inset 0 -2px var(--gold)}
.map-zoom-buttons button{min-height:44px;min-width:44px}

/* The result sheet is a snapshot; browser printing keeps financial inputs local. */
.calc-export-actions{display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;margin:20px 0 32px;padding:20px;border:1px solid var(--metal-line);border-radius:12px;background:var(--card)}
.calc-export-actions .btn{cursor:pointer;font:600 .9375rem/1.5 var(--body)}
.calc-export-actions .btn:disabled{opacity:.55;cursor:not-allowed}
.calc-export-actions>p{flex:1 1 280px;max-width:60ch;margin:0;color:var(--muted)}
body.calc-report-open{overflow:hidden}
.calc-report-dialog{width:min(940px,calc(100vw - 30px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #8d7747;border-radius:14px;background:#fff;color:#172b44;box-shadow:0 24px 100px #0007;font-family:var(--body)}
.calc-report-dialog::backdrop{background:#061426c9}
.calc-report-toolbar{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 24px;background:#10243b;color:#eff5ff;border-bottom:2px solid #d9c28b}
.calc-report-toolbar p{font-size:.875rem;line-height:1.55;max-width:35ch;margin:0}
.calc-report-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.calc-report-toolbar .btn{font:600 .875rem/1.5 var(--body);cursor:pointer;padding:10px 14px;min-height:44px}
.calc-report-toolbar .btn-primary{background:#e4cb94;color:#10243b;border-color:#e4cb94}
.calc-report-toolbar .btn-secondary{background:#10243b;color:#eef4ff;border-color:#849bb5}
.calc-report-sheet{padding:32px 38px;background:#fff;color:#172b44}
.calc-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid #c9d2de;padding-bottom:17px;color:#4b6078}
.calc-report-brand{font:750 1.4rem/1.3 var(--display);color:#142940}
.calc-report-head>span{font-size:.8125rem}
.calc-report-sheet h1{font:750 1.9rem/1.3 var(--display);letter-spacing:-.025em;color:#172b44;margin:27px 0 7px}
.calc-report-date{font-size:.8125rem;color:#4b6078;margin:0 0 24px}
.calc-report-highlight{border:1px solid #d1bb87;border-left:4px solid #9b762d;border-radius:7px;padding:19px 22px;background:#f7f5ef}
.calc-report-sheet h2{font:700 1rem/1.5 var(--body);letter-spacing:0;margin:0 0 12px;color:#172b44}
.calc-report-highlight h2{margin:0 0 5px}
.calc-report-sheet .calc-report-value{font:750 2.15rem/1.3 var(--display);margin:0;color:#142940}
.calc-report-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:26px 0}
.calc-report-rows{margin:0}
.calc-report-rows>div{padding:10px 0;border-top:1px solid #dce3eb;break-inside:avoid}
.calc-report-rows dt{font-size:.8125rem;line-height:1.5;color:#4b6078;margin:0 0 3px}
.calc-report-rows dd{font-size:.9375rem;font-weight:600;line-height:1.5;margin:0;color:#142940}
.calc-report-sheet p,.calc-report-sheet li{font-size:.875rem;line-height:1.65}
.calc-report-assumptions{border-top:1px solid #b9c7d5;padding-top:20px}
.calc-report-assumptions p{color:#354b63}
.calc-report-sheet .source-note{color:#4b6078;padding:0;margin:8px 0;border:0;font-size:.8125rem}
.calc-report-sheet a{color:#1b4f7a;overflow-wrap:anywhere}
.calc-report-footer{border-top:1px solid #c9d2de;margin-top:24px;padding-top:20px;color:#354b63}
.calc-report-footer strong{font-size:.875rem;color:#172b44}
.calc-report-sheet .calc-report-note{font-size:.75rem;line-height:1.6}
@media(max-width:900px){.consult-path-layout{grid-template-columns:1fr}.path-goals{grid-template-columns:1fr 1fr}.scenario-layout{gap:22px;grid-template-columns:230px minmax(0,1fr)}.scenario-content .scenario{padding:24px}}
@media(max-width:760px){
 .path-goals{grid-template-columns:1fr}.path-goals button{min-height:82px;padding:15px}.path-workspace{padding:21px}.path-workspace-heading{align-items:flex-start}.path-counter{padding:9px;font-size:.8125rem}.path-steps{gap:9px}.path-steps button{min-height:110px}.path-actions{align-items:stretch;flex-direction:column}.path-actions .btn{text-align:center}.path-detail{min-height:175px}.path-intro{min-height:0}
 .client-outcome-grid{grid-template-columns:1fr}.client-outcome{padding:24px}.client-outcome h3{font-size:1.25rem}.story-number{right:23px;top:24px}.case-intro-nav .container{gap:8px;flex-direction:column}.case-intro-nav a{min-height:40px}
 .scenario-layout{grid-template-columns:1fr;gap:20px}.scenario-sidebar{position:static;max-height:none}.scenario-content .scenario{padding:23px}.scenario-contents a{font-size:.9375rem}
 .location-map .map-place{width:30px;height:30px;font-size:.75rem}.map-directory-panel>summary{font-size:.875rem;padding-inline:18px}.map-country-directory>ul{grid-template-columns:repeat(2,minmax(0,1fr))}.map-country-directory a{grid-template-columns:22px 1fr;padding:11px;gap:4px;min-height:76px}.map-country-directory b{display:none}.map-country-directory strong{font-size:.875rem}
 .calc-export-actions{padding:17px}.calc-export-actions .btn{width:100%;text-align:center}.calc-report-dialog{max-height:calc(100dvh - 20px);width:calc(100vw - 20px)}.calc-report-toolbar{padding:15px}.calc-report-toolbar>div{width:100%}.calc-report-toolbar .btn{flex:1;padding:10px}.calc-report-sheet{padding:24px 20px}.calc-report-sheet h1{font-size:1.5rem}.calc-report-columns{grid-template-columns:1fr;gap:25px}.calc-report-head{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.path-goals button{transition:none;transform:none!important}}
@media print{
 body.calc-report-open{overflow:visible!important;background:#fff!important;color:#172b44!important;padding:0!important}
 body.calc-report-open>:not(.calc-report-dialog){display:none!important}
 .calc-report-dialog[open]{display:block!important;position:static!important;inset:auto!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important}
 .calc-report-dialog::backdrop,.calc-report-toolbar{display:none!important}
 .calc-report-sheet{padding:0;color:#172b44!important;background:#fff!important}
 .calc-report-head{flex-direction:row;align-items:center}.calc-report-sheet h1{font-size:21pt;margin-top:16px}
 .calc-report-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:20px 0}
 .calc-report-sheet p,.calc-report-sheet li{font-size:9pt;line-height:1.5}.calc-report-sheet h2{font-size:11pt;break-after:avoid}.calc-report-rows dt{font-size:9pt}.calc-report-rows dd{font-size:10pt}.calc-report-rows>div{padding:7px 0}
 .calc-report-sheet .calc-report-note{font-size:8pt}.calc-report-highlight{break-inside:avoid;background:#fff}.calc-report-value{font-size:26pt!important}.calc-report-footer{margin-top:17px;padding-top:15px}.calc-report-footer strong{font-size:9pt}
 .calc-export-actions,.case-intro-nav,.story-filter-bar,.scenario-sidebar{display:none!important}.scenario-layout{display:block}.scenario-content .scenario{box-shadow:none;break-inside:avoid}
}
