.sc-pwa-install[hidden],.sc-pwa-promo[hidden],.sc-pwa-help:not([open]),.sc-pwa-help [hidden] { display:none!important; }
/* This banner is in normal document flow, before the sticky site header. */
.sc-pwa-install { display:none; background:#f3f9fc; color:#123d58; border-bottom:1px solid #dbeaf1; font-family:inherit; }
.sc-pwa-install-inner { display:flex; align-items:center; gap:10px; max-width:1280px; margin:auto; padding:10px 16px 10px 4px; box-sizing:border-box; }
.sc-pwa-install img { display:block; flex:0 0 44px; width:44px; height:44px; border-radius:11px; }
.sc-pwa-install-copy { flex:1; min-width:0; }
.sc-pwa-install h2 { margin:0; color:#123d58; font-size:15px; font-weight:750; line-height:1.35; letter-spacing:-.02em; }
.sc-pwa-install p { margin:3px 0 0; color:#597586; font-size:11px; line-height:1.4; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }
.sc-pwa-install button { font:inherit; cursor:pointer; }
.sc-pwa-dismiss { flex:0 0 28px; width:28px; height:44px; padding:0; border:0; background:transparent; color:#5d798b; font-size:25px!important; }
.sc-pwa-install .sc-pwa-install-button { flex-shrink:0; min-height:38px; padding:8px 14px; border:0; border-radius:22px; background:#123d58; color:white; font-size:12px; line-height:1.4; font-weight:700; }
/* In-page promotion immediately follows the homepage hero, before the service cards. */
body .sc-pwa-promo { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) 210px; align-items:center; gap:40px; box-sizing:border-box; padding:36px 42px; margin-block:32px 42px; border:1px solid #235774; border-radius:28px; overflow:hidden; color:#fff; background:radial-gradient(ellipse at 100% 0%,#13668a 0,transparent 62%),#123d58; scroll-margin-top:calc(var(--sc-header-height,130px) + 16px); }
.sc-pwa-promo-brand { display:flex; align-items:center; gap:12px; margin-bottom:18px; color:#bceeff; font-size:13px; font-weight:650; line-height:1.5; }
.sc-pwa-promo-brand img { flex:0 0 52px; width:52px; height:52px; border-radius:13px; background:#fff; }
body .sc-pwa-promo .sc-pwa-promo-title { max-width:630px; margin:0; color:#fff; font-size:clamp(26px,3.3vw,39px); font-weight:750; line-height:1.12; letter-spacing:-.04em; }
body .sc-pwa-promo .sc-pwa-promo-text { max-width:660px; margin:16px 0 18px; color:#d2e9f3; font-size:15px; line-height:1.65; }
.sc-pwa-promo .sc-pwa-promo-features { display:flex; flex-wrap:wrap; gap:10px 20px; margin:0 0 26px; padding:0; list-style:none; font-size:12px; line-height:1.5; color:#e3f5fc; }
.sc-pwa-promo-features li { display:flex; align-items:center; gap:7px; }
.sc-pwa-promo-features li span { color:#5cd1f4; font-size:16px; }
.sc-pwa-promo-action { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; }
.sc-pwa-promo-action button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:48px; padding:12px 22px; border:0; border-radius:28px; background:#fff; color:#123d58; font:inherit; font-size:14px; line-height:1.4; font-weight:750; cursor:pointer; }
.sc-pwa-promo-action button:hover { background:#ddf5ff; }
.sc-pwa-promo-action>span { color:#c0dce9; font-size:12px; line-height:1.5; }
.sc-pwa-promo-qr { display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.sc-pwa-promo-qr [data-pwa-qr] { width:174px; height:174px; box-sizing:border-box; padding:6px; border-radius:18px; background:#fff; }
[data-pwa-qr] svg { display:block; width:100%; height:100%; }
.sc-pwa-promo-qr strong { margin-top:5px; color:#fff; font-size:14px; line-height:1.4; }
.sc-pwa-promo-qr>span { max-width:200px; color:#c0dce9; font-size:11px; line-height:1.5; }
.sc-pwa-help { box-sizing:border-box; width:min(500px,calc(100% - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:24px; overflow:auto; border:1px solid #cbe5f1; border-radius:24px; background:#fff; color:#123d58; font:16px/1.6 system-ui,sans-serif; box-shadow:0 16px 80px #123d5840; }
.sc-pwa-help::backdrop { background:#123d5880; }
.sc-pwa-help header { display:flex; align-items:flex-start; gap:16px; }
.sc-pwa-help h2 { flex:1; margin:0; font-size:23px; line-height:1.3; letter-spacing:-.025em; color:#123d58; }
.sc-pwa-help button { display:grid; place-items:center; flex:0 0 44px; height:44px; padding:0; border:1px solid #cbe5f1; border-radius:50%; background:#eef9ff; color:#123d58; font:inherit; font-size:28px; cursor:pointer; }
.sc-pwa-help ol { padding-inline-start:24px; margin:24px 0 0; }
.sc-pwa-help li+li { margin-top:12px; }
.sc-pwa-help li::marker { color:#087aa3; font-weight:700; }
.sc-pwa-help-qr { display:grid; justify-items:center; gap:8px; margin-top:22px; font-size:12px; color:#597586; }
.sc-pwa-help-qr [data-pwa-qr] { width:180px; height:180px; }
.sc-pwa-install button:focus-visible,.sc-pwa-promo button:focus-visible,.sc-pwa-help button:focus-visible { outline:3px solid #0baee6; outline-offset:3px; }
.sc-pwa-promo button:disabled,.sc-pwa-install button:disabled { opacity:.65; cursor:wait; }
body:has(.sc-pwa-help[open]) { overflow:hidden; }
@media(max-width:900px) { .sc-pwa-install { display:block; } body .sc-pwa-promo { padding:28px; gap:24px; grid-template-columns:minmax(0,1fr) 180px; } }
@media(max-width:600px) { .sc-pwa-install-inner { gap:8px; padding-right:12px; } body .sc-pwa-promo { grid-template-columns:minmax(0,1fr); padding:26px 24px; margin-block:24px 32px; border-radius:24px; } .sc-pwa-promo-qr { display:none; } .sc-pwa-promo-brand { margin-bottom:18px; font-size:12px; } .sc-pwa-promo-brand img { width:44px; height:44px; flex-basis:44px; border-radius:11px; } body .sc-pwa-promo .sc-pwa-promo-text { font-size:14px; } .sc-pwa-promo .sc-pwa-promo-features { display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:22px; } .sc-pwa-promo-action { flex-direction:column; align-items:stretch; gap:10px; } .sc-pwa-promo-action button { width:100%; } .sc-pwa-promo-action>span { text-align:center; } }
@media(display-mode:standalone) { .sc-pwa-install,.sc-pwa-promo { display:none!important; } }
