.quote-overlay-open{overflow:hidden}.quote-overlay{width:min(1180px,calc(100vw - 48px));height:calc(100dvh - 48px);max-width:none;max-height:none;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);overflow:hidden;box-shadow:0 24px 90px #0005}.quote-overlay::backdrop{background:#07101faa;backdrop-filter:blur(5px)}.quote-overlay-bar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line)}.quote-overlay-bar strong{font-size:14px}.quote-overlay-bar button{border:1px solid var(--outline);background:var(--bg);color:var(--ink);padding:10px 14px;min-height:44px;border-radius:7px;cursor:pointer}.quote-overlay iframe{display:block;width:100%;height:calc(100% - 62px);border:0;background:var(--panel)}
.embedded-request body{padding:0}.embedded-request .wrap{padding:0;max-width:none}.embedded-request .site-header,.embedded-request .ft,.embedded-request .review-bar,.embedded-request .request-page>.back,.embedded-request .skip{display:none}.embedded-request #quote{border-radius:0;padding:26px;background:var(--panel);color:var(--ink)}.embedded-request #quote .quote-workspace{padding:0;gap:28px}.embedded-request #quote>.l h1{font-size:30px}.embedded-request .quote-contact{position:static}.embedded-request .quote-support{display:none}.embedded-request #quote>.l{margin-bottom:26px}.embedded-request #quote .kick{color:var(--ink2)}
@media(max-width:760px){.quote-overlay{width:100%;height:100dvh;margin:0;border:0;border-radius:0}.quote-overlay-bar{padding:0 16px}.embedded-request #quote{padding:22px 18px}.embedded-request #quote .quote-workspace{padding:0}.embedded-request #quote>.l h1{font-size:27px}}
/* Keep the homepage quote entry within the Midnight surface palette. */
:root[data-mode="night"] .quick-start{
  --panel:#0A1426;--bg:#07101F;--frame:#050C18;--ink:#EEF2F8;--ink2:#B6C1D3;
  --muted:#8E9BB2;--line:#17223A;--outline:#24314D;--acc:#F08A97;--btn:#9E1B2D;--btn-ink:#FFFFFF;
  background:var(--panel);border-top:1px solid var(--line);
}
:root[data-mode="night"] .quick-start #quick-quote{background:var(--panel);border-color:var(--outline);box-shadow:none}
:root[data-mode="night"] .quick-start .coverage-planner,
:root[data-mode="night"] .quick-start .quick-planner-details>summary{background:var(--bg);border-color:var(--outline)}
:root[data-mode="night"] .quick-start .btn.primary{box-shadow:none}
/* Opaque edge-to-edge navigation surface; content remains aligned to the page. */
.site-header{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg);box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax);pointer-events:none}
.site-header .btn.primary:hover{color:var(--btn-ink)}
/* Concise hero copy makes room for the people behind the service. */
.hero .left{gap:0}.hero .copy{gap:14px}.hero .copy p{margin-bottom:0}.hero .left .ctas{margin-top:18px;gap:8px}.hero .left .ctas .btn{padding:0 12px}
.hero .hero-photo{height:210px;min-height:210px;max-height:none;aspect-ratio:auto;margin-top:20px;flex-shrink:0}.hero .hero-photo img{object-position:40% 40%;transform:none}
@media(max-width:600px){.hero .hero-photo{height:200px;min-height:200px}.hero .left .ctas{margin-top:16px}.hero .copy h1{font-size:38px}}

/* Keep airport booking beside the guard CTA, with appearance controls first. */
.site-header .header-actions{gap:10px;flex-shrink:0}.site-header .header-actions .btn{white-space:nowrap}.site-header .airport-quick-link{border-color:var(--acc);color:var(--ink);background:var(--panel)}
@media(min-width:981px) and (max-width:1250px){.site-header{flex-wrap:wrap;gap:12px}.site-header nav{order:3;width:100%;justify-content:center;margin:0}.header-actions{margin-left:auto}}
@media(max-width:600px){.site-header .header-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:6px}.site-header .header-actions .btn{font-size:11px;padding:0 8px;min-height:44px}.site-header .mode button{width:25px;height:36px}}

/* Start the sticky header at the viewport edge, with equal internal spacing. */
.wrap{padding-top:0}.site-header{margin-top:0;align-items:center}

/* Reclaim the preview ribbon space for the hero and its personnel photo. */
body{padding-bottom:0}
@media(min-width:981px){.hero{grid-template-rows:minmax(700px,auto) auto}.hero .hero-photo{height:280px;min-height:280px}}
.hero .hero-photo img{transform:scale(1.12);transform-origin:43% 42%;object-position:43% 40%}
@media(max-width:980px){.hero .hero-photo{height:240px;min-height:240px}}

/* Opaque mobile header and accessible full-screen navigation. */
@media(max-width:980px){.site-header,.site-header::before{background:var(--bg);opacity:1;backdrop-filter:none;-webkit-backdrop-filter:none}}
body.mobile-menu-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
.mobile-menu-modal{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:24px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));box-sizing:border-box;background:var(--bg);color:var(--ink);overflow:auto}
.mobile-menu-modal::backdrop{background:var(--bg);backdrop-filter:none}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.mobile-menu-top strong{font-size:15px;max-width:180px;line-height:1.3}
.mobile-menu-close{min-height:44px;padding:10px 16px;border:1px solid var(--outline);border-radius:8px;background:var(--panel);color:var(--ink);cursor:pointer}
.mobile-menu-modal nav{display:flex;flex-direction:column;padding:24px 0;margin:0;gap:0}
.mobile-menu-modal nav a{display:block;font-size:clamp(22px,5vw,32px);font-weight:500;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.mobile-menu-modal nav a:hover{color:var(--acc)}
.mobile-menu-actions{display:grid;gap:12px;padding:12px 0}.mobile-menu-actions .btn{min-height:50px;justify-content:center}
.mobile-menu-modal :focus-visible{outline:2px solid var(--acc);outline-offset:4px}

/* One form palette across desktop and mobile, including native controls. */
:root:not([data-mode="night"]) .quick-start{--panel:inherit;--bg:inherit;--frame:inherit;--ink:inherit;--ink2:inherit;--muted:inherit;--line:inherit;--outline:inherit;--acc:inherit;--btn:inherit;--btn-ink:inherit;background:var(--bg);color:var(--ink);border-top:1px solid var(--line);color-scheme:light}
:root[data-mode="night"] .quick-start{--panel:inherit;--bg:inherit;--frame:inherit;--ink:inherit;--ink2:inherit;--muted:inherit;--line:inherit;--outline:inherit;--acc:inherit;--btn:inherit;--btn-ink:inherit;background:var(--bg);color-scheme:dark}
:root .quick-start #quick-quote{background:var(--panel);border-color:var(--outline);box-shadow:none}
:root .quick-start .coverage-planner,:root .quick-start .quick-planner-details>summary{background:var(--bg);border-color:var(--outline)}
.quick-start input,.quick-start select,.quick-start button{color-scheme:inherit;-webkit-tap-highlight-color:transparent}
.quick-start .timing-pills button,.quick-start .plan-pills span,.quick-start .range-row button{box-shadow:none}
.quick-start .btn.primary{background:var(--btn);color:var(--btn-ink);box-shadow:none}
.quick-start .quick-field input,.quick-start .quick-field select{color:var(--ink);-webkit-text-fill-color:var(--ink);opacity:1}
.quick-start .quick-field input::placeholder{color:var(--ink2);-webkit-text-fill-color:var(--ink2);opacity:1}

/* Fixed icon geometry prevents iOS emoji and native button padding shifts. */
.site-header .mode{box-sizing:border-box;flex:none;height:44px;padding:3px;align-items:center}
.site-header .mode button{appearance:none;-webkit-appearance:none;box-sizing:border-box;padding:0;width:32px;min-width:32px;height:38px;line-height:1;flex:none}
.site-header .mode svg{display:block;width:18px;height:18px;flex:none}
.mobile-menu-top .brand{min-width:0;gap:8px}.mobile-menu-top .brand-crest{width:32px;height:auto}.mobile-menu-top .brand b{font-size:22px}.mobile-menu-top .brand small{font-size:6px;letter-spacing:1px;white-space:nowrap}
.mobile-menu-close{appearance:none;-webkit-appearance:none;flex:none;height:44px;min-width:76px;padding:0 12px;display:grid;place-items:center;line-height:1}
@media(max-width:600px){.site-header .header-actions{grid-template-columns:70px minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:6px}.site-header .header-actions .btn{height:44px;min-height:44px;font-size:11px;padding:0 6px;line-height:1.2}.mobile-menu-top{gap:12px}}
@media(max-width:360px){.site-header .header-actions .btn{white-space:normal;text-align:center;font-size:10px}.mobile-menu-top .brand small{font-size:5px;letter-spacing:.6px}}

/* Center both persistent header call-to-action labels. */
.site-header .header-actions > a.btn{display:flex;align-items:center;justify-content:center;text-align:center}

/* Restore separation when desktop copy/card pairs stack on tablets and phones. */
@media(max-width:980px){.page-head{grid-template-rows:auto;row-gap:28px}.page-head>.back{margin-bottom:0}.page-head>div .lead{margin-top:0;margin-bottom:0}}

/* Keep the uniform crest central in the hero’s wider photo frame. */
.hero .hero-photo img{object-position:50% 53%;transform:none}
