/* Homepage opening: shared header over an uninterrupted photographic hero. */
body.home #page .site-header-frame { height:0; padding:0; }
body.home #page .header.template-classic-header:not(.scrolled) { position:absolute!important; top:0!important; left:0!important; width:100%!important; max-width:none!important; margin:0!important; transform:none!important; padding:0!important; }
body.home #page .header.template-classic-header:not(.scrolled) .template-header-shell { max-width:1320px; margin:auto; background:transparent!important; border:0!important; box-shadow:none!important; border-radius:0!important; backdrop-filter:none!important; }
body.home #page .header.template-classic-header:not(.scrolled) .template-header-meta { display:none!important; }
body.home #page .header.template-classic-header:not(.scrolled) .template-header-main { display:flex!important; align-items:center; justify-content:space-between; min-height:90px!important; height:90px!important; padding:20px 32px!important; gap:20px; }
body.home #page .header.template-classic-header:not(.scrolled) .template-header-brand { width:auto!important; }
body.home #page .header.template-classic-header:not(.scrolled) .template-brand-name { font-size:22px!important; }
body.home #page .header.template-classic-header:not(.scrolled) .template-brand-tagline { display:block!important; font-size:10px!important; }
body.home #page .header.template-classic-header:not(.scrolled) .template-header-nav a { font:500 13px/1.5 Poppins,Arial,sans-serif; }
body.home #page #main { padding-top:0; }
body.home #page .journey-hero { box-sizing:border-box; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:calc(100svh - 112px); min-height:600px; max-height:820px; margin:0!important; padding:128px 24px 64px; background:linear-gradient(180deg,rgba(17,38,61,.48),rgba(28,35,45,.34) 40%,rgba(9,19,42,.9)),url('heroes/home-hero-v2.webp') center 58%/cover no-repeat; }
.journey-intro { width:100%; max-width:760px; text-align:center; }
body.home #page .journey-eyebrow { margin:0 0 16px; color:#f1c65c; font:600 11px/1.7 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:2.4px; }
body.home #page #journey-title { margin:0 0 22px; color:#fff; font:600 clamp(36px,4vw,56px)/1.12 Poppins,Arial,sans-serif; letter-spacing:-1.4px; text-shadow:0 2px 20px #08162b18; }
body.home #page .journey-description { max-width:560px; margin:0 auto; color:#f0efed; font:400 16px/1.8 Poppins,Arial,sans-serif; }
.journey-discovery { position:relative; z-index:3; width:100%; max-width:680px; margin-top:42px; padding-top:0; }
body.home #page .journey-search { position:relative; display:flex; align-items:center; gap:12px; width:100%; box-sizing:border-box; margin:0; padding:9px 10px 9px 20px; border:1px solid #ffffff2b; border-radius:22px; background:rgba(70,72,79,.91); box-shadow:0 12px 40px #07112833; backdrop-filter:blur(14px); }
.journey-search svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; }
.journey-search-mark { color:#d3a347; flex:none; }
body.home #page .journey-search input { flex:1; min-width:0; width:100%; height:44px; margin:0; padding:0; border:0; background:transparent; box-shadow:none; color:#fff; font:400 14px/1.5 Poppins,Arial,sans-serif; }
body.home #page .journey-search input::placeholder { color:#e0e0e3; opacity:1; }
body.home #page .journey-search input:focus { outline:none; }
body.home #page .journey-search:focus-within { border-color:#edc65f; }
body.home #page .journey-search button { display:grid; place-items:center; flex:none; width:42px; height:42px; padding:0; margin:0; border:0; border-radius:50%; background:#ffffff15; color:#fff; box-shadow:none; cursor:pointer; }
body.home #page .journey-search .journey-submit { background:var(--brand-accent); }
body.home #page .journey-search button:hover { background:#d46b16; }
body.home #page .journey-search :is(button,select):focus-visible { outline:2px solid #f2cf76; outline-offset:3px; }
body.home #page .journey-search-filters { position:absolute; top:calc(100% + 12px); right:0; z-index:5; width:330px; max-width:100%; box-sizing:border-box; padding:20px; border:1px solid #e8ece8; border-radius:18px; background:#fff; box-shadow:0 18px 50px #07112833; color:var(--brand-primary); text-align:left; }
.journey-filter-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; font:600 15px/1.5 Poppins,Arial,sans-serif; }
body.home #page .journey-search .journey-filter-close { width:28px; height:28px; background:#f1f4f1; color:#617068; }
body.home #page .journey-search .journey-filter-close:hover { background:#e4ece6; color:var(--brand-primary); }
.journey-filter-close svg { width:16px; height:16px; }
body.home #page .journey-search-filters fieldset { border:0; margin:0; padding:0; min-width:0; }
body.home #page .journey-search-filters legend { width:100%; padding:0; margin:0 0 16px; color:#7a857d; font:400 11px/1.7 Poppins,Arial,sans-serif; }
body.home #page .journey-search-filters .journey-type-option { display:flex; align-items:center; gap:12px; margin:0 0 8px; padding:12px; border:1px solid #e7ece8; border-radius:10px; background:#fff; cursor:pointer; }
body.home #page .journey-search-filters .journey-type-option:last-child { margin-bottom:0; }
body.home #page .journey-search-filters .journey-type-option:hover { background:#f7f9f7; }
body.home #page .journey-search-filters .journey-type-option:has(input:checked) { background:#f0f6f1; border-color:#91b29b; }
body.home #page .journey-search-filters input[type=radio] { appearance:auto; -webkit-appearance:radio; flex:0 0 17px; width:17px; min-width:17px; height:17px; margin:0; padding:0; accent-color:var(--brand-primary-raised); cursor:pointer; }
body.home #page .journey-search-filters input[type=radio]::before,body.home #page .journey-search-filters input[type=radio]::after { content:none; }
body.home #page .journey-type-option:has(input:focus-visible) { outline:2px solid #718e7b; outline-offset:2px; }
.journey-type-option strong { display:block; color:#244535; font:500 12px/1.5 Poppins,Arial,sans-serif; }
.journey-type-option small { display:block; margin-top:3px; color:#7a857d; font:400 10px/1.5 Poppins,Arial,sans-serif; }
body.home #page .journey-search .journey-filter-toggle.is-filtered { background:#f0cd75; color:var(--brand-primary); }
.journey-trending { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 10px; margin:16px auto 0; color:#dbdde5; font:500 11px/1.8 Poppins,Arial,sans-serif; }
.journey-trending span { color:#c0c5d0; }
.journey-trending a { color:inherit; text-decoration:none; padding:3px 0; }
.journey-trending a:hover { color:#f0c96a; }
.journey-results { position:absolute; top:calc(100% - 24px); left:0; right:0; z-index:4; max-height:min(420px,65svh); overflow:auto; padding:16px; border-radius:14px; background:#fff; color:var(--brand-primary); box-shadow:0 15px 45px #07112840; }
.journey-search-status { margin:0 0 10px; font:400 12px/1.7 Poppins,Arial,sans-serif; }
.journey-result { display:grid; grid-template-columns:65px minmax(0,1fr); gap:2px 10px; padding:12px 6px; border-bottom:1px solid #eef1ed; color:var(--brand-primary); text-decoration:none; }
.journey-result:hover,.journey-result:focus { background:#f2f6f3; }
.journey-result span { grid-row:span 2; align-self:center; color:#947228; font-size:10px; text-transform:uppercase; }
.journey-result strong { font:500 13px/1.5 Poppins,Arial,sans-serif; }
.journey-result small { color:#7a857e; font-size:11px; }
.journey-browse-links { display:flex; justify-content:space-between; gap:12px; margin-top:14px; font-size:12px; }
.journey-browse-links a { color:var(--brand-primary-raised); }
#page .journey-highlights { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin:0!important; padding:28px max(24px,calc((100vw - 1160px)/2)); background:#101c3a; }
.journey-highlights a { display:flex; align-items:center; gap:12px; min-width:0; color:#fff; text-decoration:none; border-radius:8px; }
.journey-highlights a:hover strong { color:#f0cd75; }
.journey-highlights a:focus-visible,.journey-trending a:focus-visible { outline:2px solid #f0cd75; outline-offset:5px; }
.journey-highlight-icon { display:grid; place-items:center; flex:0 0 38px; height:38px; border:1px solid #c6a13c4a; border-radius:50%; background:#d9af3d0a; color:#e9bc4a; font:400 23px/1 Arial,sans-serif; }
.journey-highlights strong { display:block; font:600 14px/1.5 Poppins,Arial,sans-serif; }
.journey-highlights small { display:block; margin-top:3px; color:#aeb7cf; font:500 9px/1.5 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:.4px; }
.journey-search-filters[hidden],.journey-results[hidden] { display:none!important; }
@media(max-width:767px) {
 body.home #page .header.template-classic-header:not(.scrolled) .template-header-main { min-height:76px!important; height:76px!important; padding:16px 20px!important; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-brand-name { font-size:17px!important; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-brand-tagline { font-size:8px!important; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-brand-mark { width:31px!important; height:34px!important; font-size:13px!important; margin-right:8px; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-header-meta { display:block!important; position:absolute; top:23px; right:62px; padding:0!important; height:auto!important; border:0; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-date-pill { display:none!important; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-whatsapp-pill { padding:0!important; width:24px; min-height:24px; border:0!important; background:transparent!important; }
 body.home #page .template-whatsapp-pill span { display:none; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-mobile-menu-toggle { width:28px; min-width:28px; height:28px; padding:6px!important; border:0!important; background:transparent!important; box-shadow:none; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-header-nav { display:none!important; }
 /* Reserve the bottom of the opening screen for the two-row service strip. */
 body.home #page .journey-hero { height:auto; min-height:calc(100vh - 152px); min-height:calc(100svh - 152px); max-height:none; padding:104px 20px 28px; background-position:54% center; }
 body.home #page #journey-title { font-size:clamp(30px,8.5vw,38px); line-height:1.12; letter-spacing:-.8px; margin-bottom:18px; }
 body.home #page .journey-eyebrow { font-size:9px; letter-spacing:1.5px; margin-bottom:14px; }
 body.home #page .journey-description { max-width:340px; font-size:14px; line-height:1.75; }
 .journey-discovery { margin-top:28px; }
 body.home #page .journey-search { padding:7px 8px 7px 14px; gap:8px; border-radius:20px; }
 body.home #page .journey-search input { font-size:13px; height:42px; }
 body.home #page .journey-search > button { width:42px; height:42px; }
 .journey-search-mark { width:14px!important; }
 .journey-trending { font-size:11px; gap:5px 9px; max-width:340px; margin-top:14px; }
 #page .journey-highlights { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; padding:22px 22px; }
 .journey-highlights a { gap:9px; }
 .journey-highlight-icon { flex-basis:30px; height:30px; font-size:19px; }
 .journey-highlights strong { font-size:12px; line-height:1.6; }
 .journey-highlights small { font-size:9px; line-height:1.6; letter-spacing:0; }
}
@media(max-width:767px) and (max-height:700px) {
 body.home #page .journey-hero { padding-top:92px; padding-bottom:22px; }
 body.home #page #journey-title { font-size:28px; margin-bottom:12px; }
 body.home #page .journey-eyebrow { margin-bottom:10px; font-size:8px; }
 body.home #page .journey-description { font-size:13px; line-height:1.65; }
 .journey-discovery { margin-top:22px; }
 .journey-trending { margin-top:10px; }
}
@media(max-width:380px) {
 .journey-search-mark { display:none; }
 body.home #page .journey-search { gap:6px; padding-left:12px; }
 #page .journey-highlights { padding:20px 16px; gap:18px 10px; }
 .journey-highlights a { gap:7px; }
 .journey-highlights strong { font-size:11px; }
}
@media(min-width:768px) and (max-width:1000px) {
 body.home #page .header.template-classic-header:not(.scrolled) .template-header-main { padding-inline:24px!important; gap:12px; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-header-nav { gap:4px; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-header-nav a { font-size:11px; padding-inline:6px; }
 body.home #page .header.template-classic-header:not(.scrolled) .template-brand-name { font-size:19px!important; }
}
.journey-highlight-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
/* UI template hero composition, using the site's existing copy and search. */
@font-face{font-family:'ZP Poppins';src:url('ui-chrome/poppins-700-normal-Qrb0O0WB.woff2') format('woff2');font-weight:700;font-display:swap}
body.home #page .journey-hero{display:flex;align-items:stretch;justify-content:flex-start;height:auto;min-height:80svh;max-height:none;padding:0;background:var(--brand-primary);isolation:isolate}
.journey-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.journey-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--brand-primary-rgb),.6) 0%,rgba(var(--brand-primary-rgb),.28) 35%,rgba(var(--brand-primary-rgb),.82) 100%);pointer-events:none}
.journey-hero-content{display:flex;flex:1;flex-direction:column;align-items:center;width:100%;max-width:1024px;margin:0 auto;padding:160px 24px 64px;box-sizing:border-box}
.journey-intro{max-width:100%}
body.home #page .journey-eyebrow{margin:0 0 16px;font:400 12px/1.5 'ZP Poppins',sans-serif;letter-spacing:1.68px;color:var(--brand-gold-light)}
body.home #page #journey-title{margin:0 0 14px;font:700 clamp(34px,5.6vw,66px)/1.05 'ZP Poppins',sans-serif;letter-spacing:-.025em;text-shadow:none}
body.home #page .journey-description{max-width:448px;font:400 17px/1.625 'ZP Poppins',sans-serif;color:#ffffffd9}
.journey-hero-spacer{flex:1;min-height:110px}
.journey-discovery{max-width:768px;margin:0;width:100%}
body.home #page .journey-search{flex-wrap:wrap;gap:10px;padding:8px 8px 8px 24px;border:1px solid #ffffff33;border-radius:26px;background:#ffffff1a;backdrop-filter:blur(24px);box-shadow:none}
.journey-search-mark{width:19px!important;height:19px!important;color:var(--brand-accent)}
body.home #page .journey-search #journey-query{height:48px;width:0;font:400 16px/1.5 'ZP Poppins',sans-serif}
body.home #page .journey-search #journey-query::placeholder{color:#ffffff99}
body.home #page .journey-search .journey-filter-toggle{display:flex;gap:6px;width:auto;height:38px;padding:8px 14px;border:1px solid #ffffff40;border-radius:999px;background:#ffffff1a;font:400 12.5px/1.5 'ZP Poppins',sans-serif;position:relative}
.journey-filter-toggle:before{content:'';position:absolute;left:-11px;top:5px;height:26px;border-left:1px solid #ffffff33}
body.home #page .journey-search .journey-filter-toggle>svg:first-child{display:none}
.journey-search .journey-filter-chevron{width:12px;height:12px}
.journey-search .journey-filter-toggle[aria-expanded=true] .journey-filter-chevron{transform:rotate(180deg)}
body.home #page .journey-search .journey-submit{width:48px;height:48px;background:var(--brand-accent)!important}
body.home #page .journey-search .journey-submit:hover{background:var(--brand-accent-strong)!important;transform:scale(1.05)}
body.home #page .journey-search-filters{position:static;flex-basis:calc(100% + 32px);width:calc(100% + 32px);max-width:none;margin:0 -8px -8px -24px;padding:16px 20px 18px;border:0;border-top:1px solid #ffffff26;border-radius:0 0 26px 26px;background:transparent;box-shadow:none;color:#fff}
.journey-filter-heading{font-family:'ZP Poppins',sans-serif;font-size:13px}
body.home #page .journey-search-filters legend{color:#ffffff99;margin-bottom:12px}
body.home #page .journey-search .journey-filter-close{background:#ffffff1a!important;color:#fff}
body.home #page .journey-search-filters fieldset{display:flex;flex-wrap:wrap;gap:8px}
body.home #page .journey-search-filters .journey-type-option{flex:1 1 180px;margin:0;padding:10px;border:1px solid #ffffff40;background:#ffffff1a}
body.home #page .journey-search-filters .journey-type-option:has(input:checked){background:rgba(var(--brand-accent-rgb),0.251);border-color:var(--brand-accent)}
.journey-type-option strong{color:#fff}.journey-type-option small{color:#ffffffb3}
body.home #page .journey-search-filters input[type=radio]{accent-color:var(--brand-accent)}
.journey-trending{font:500 12.5px/1.5 'ZP Poppins',sans-serif;gap:10px;margin-top:16px;max-width:none;color:#ffffffd9}
.journey-trending span{color:#ffffff8c}.journey-trending a:hover{color:var(--brand-accent)}
#page .journey-highlights{background:radial-gradient(circle,#ffffff0f 1px,transparent 1px) 0 0/22px 22px,linear-gradient(120deg,var(--brand-primary),var(--brand-primary-raised));padding:32px max(24px,calc((100vw - 1248px)/2));gap:28px}
.journey-highlight-icon{flex-basis:40px;height:40px;border-color:rgba(var(--brand-gold-light-rgb),0.302);background:rgba(var(--brand-gold-light-rgb),0.102);color:var(--brand-gold-light)}
@media(min-width:768px){#page .journey-highlights{padding-block:46px}.journey-highlights a+a{border-left:1px solid #ffffff1a;border-radius:0;padding-left:24px}.journey-highlight-icon{flex-basis:48px;height:48px}}
@media(max-width:767px){
 body.home #page .journey-hero{min-height:calc(100svh - 152px);padding:0}
 .journey-hero-content{padding:112px 24px 28px}
 .journey-hero-image{object-position:center}
 body.home #page .journey-eyebrow{font-size:10px;letter-spacing:1.4px}
 body.home #page #journey-title{font-size:clamp(34px,8.8vw,48px);margin-bottom:14px;line-height:1.05}
 body.home #page .journey-description{max-width:448px;font-size:15px;line-height:1.625}
 .journey-hero-spacer{min-height:80px}
 .journey-discovery{margin-top:0}
 body.home #page .journey-search{gap:10px;padding:8px 8px 8px 18px;border-radius:26px}
 body.home #page .journey-search #journey-query{height:48px;font-size:12px}
 body.home #page .journey-search .journey-filter-toggle{width:40px;height:40px;padding:0;justify-content:center}
 body.home #page .journey-search .journey-filter-toggle>svg:first-child{display:block;width:16px;height:16px}
 .journey-filter-label,.journey-search .journey-filter-chevron{display:none}
 .journey-search-mark{display:block;width:16px!important}
 .journey-trending{font-size:11px;gap:6px 9px;margin-top:16px}
 body.home #page .journey-search-filters{flex-basis:calc(100% + 26px);width:calc(100% + 26px);margin-left:-18px}
 #page .journey-highlights{padding:22px;gap:20px 14px}
 .journey-highlight-icon{flex-basis:32px;height:32px}
}
@media(max-width:767px) and (max-height:700px){.journey-hero-content{padding-top:100px;padding-bottom:24px}.journey-hero-spacer{min-height:40px}body.home #page .journey-description{font-size:14px}body.home #page #journey-title{font-size:32px}}
@media(prefers-reduced-motion:reduce){body.home #page .journey-search .journey-submit{transition:none}}
