/* Davy Montana Power & Soft Washing page (davymontana.com/powerwashing)
   Layout: a full-width navy hero, then rounded Liquid Glass panels floating on a soft blue-to-sun backdrop.
   Brand matches the carpet cleaning page: navy, royal blue, Davy yellow, Manrope.
   One light look on purpose: it is a page of the live site, which is light. No sharp corners anywhere. */
.pw {
  --navy: #03162f; --blue: #074f9d; --royal: #1d4ed8; --royal-ink: #1a3fb0; --yellow: #ffc928;
  --paper: #f3f6fc; --ink: #0b1630; --muted: #4f5d75; --line: rgba(29,78,216,.14);
  --glass: rgba(255,255,255,.58); --edge: rgba(255,255,255,.88);
  --on-navy: #fff; --on-navy-soft: rgba(255,255,255,.78);
  --note: #fff4cc; --note-ink: #5a4300;
  --r-xl: 36px; --r-lg: 28px; --r-md: 22px; --r-sm: 16px;
  --font: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
  --g-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Manrope", system-ui, sans-serif;
  position: relative; isolation: isolate; overflow: clip;
  font-family: var(--font); font-size: 16px; line-height: 1.55; color: var(--ink);
  background: linear-gradient(180deg, #eaf0ff 0%, #f4f7ff 40%, #fbf8ef 100%);
  padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
  color-scheme: light;
}
@media (min-width: 900px) { .pw { padding-bottom: 0; } }
/* soft light blobs the glass refracts */
.pw::before, .pw::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(80px); pointer-events: none; }
.pw::before { width: 720px; height: 720px; left: -260px; top: 520px; background: radial-gradient(circle, rgba(29,78,216,.30), rgba(29,78,216,0) 70%); }
.pw::after { width: 640px; height: 640px; right: -220px; top: 1500px; background: radial-gradient(circle, rgba(255,201,40,.40), rgba(255,201,40,0) 70%); }
.pw *, .pw *::before, .pw *::after { box-sizing: border-box; }
.pw [hidden] { display: none !important; }
.pw h1, .pw h2, .pw h3, .pw h4, .pw p, .pw ul, .pw ol, .pw dl, .pw dd, .pw figure { margin: 0; }
.pw h1, .pw h2, .pw h3 { font-family: var(--font); font-weight: 800; letter-spacing: -.025em; line-height: 1.06; text-wrap: balance; color: inherit; }
.pw h2 { font-size: clamp(30px, 4.4vw, 48px); }
.pw h3 { font-size: 20px; letter-spacing: -.015em; }
.pw a { color: inherit; }
.pw button, .pw input, .pw select, .pw textarea { font: inherit; }
.pw-wrap { max-width: 1160px; margin: 0 auto; }
.pw-band { padding-block: clamp(14px, 3vw, 28px); padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.pw-band--tight { padding-block: 0; }
.pw-band#pw-estimate, .pw-band#pw-services, .pw-band#pw-fleet, .pw-band#pw-faq { padding-block: clamp(48px, 7vw, 88px); }
.pw-band > .pw-panel { max-width: 1160px; margin: 0 auto; }
.pw-eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--royal); }
.pw-lede { font-size: clamp(17px, 1.6vw, 19px); color: var(--muted); max-width: 58ch; }
.pw-head { display: grid; gap: 12px; max-width: 740px; margin-bottom: clamp(26px, 4vw, 42px); }

/* buttons: pills */
.pw-btn { display: inline-flex; align-items: center; gap: .5em; font-weight: 800; font-size: 16px; line-height: 1.2; text-decoration: none; padding: 15px 24px; border-radius: 999px; border: 0; cursor: pointer; transition: transform .2s cubic-bezier(.3,1.4,.6,1), box-shadow .2s; }
.pw-btn--yellow { background: var(--yellow); color: var(--navy); box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 10px 26px rgba(0,8,24,.22); }
.pw-btn--glass { color: #fff; background: rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.4), inset 0 0 0 1px rgba(255,255,255,.28); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); }
.pw-btn--sm { padding: 10px 16px; font-size: 14px; }
.pw-btns { display: flex; flex-wrap: wrap; gap: 12px; }
@media (prefers-reduced-motion: no-preference) { .pw-btn:hover { transform: translateY(-2px); } }
.pw a:focus-visible, .pw button:focus-visible, .pw summary:focus-visible, .pw input:focus-visible, .pw select:focus-visible, .pw textarea:focus-visible { outline: 3px solid var(--royal); outline-offset: 3px; }
.pw-panel--navy a:focus-visible, .pw-foot a:focus-visible, .pw-top a:focus-visible, .gx-sum button:focus-visible, .gx-bar button:focus-visible { outline-color: var(--yellow); }


/* header: a solid royal blue bar, the same as the carpet cleaning page */
.pw { --hdr: 88px; }
.pw [id] { scroll-margin-top: calc(var(--hdr) + 12px); }
.pw-top { position: sticky; top: 0; z-index: 30; height: var(--hdr); display: flex; align-items: center; background: #1d4ed8; color: #fff; border-bottom: 1px solid rgba(255,255,255,.18);
  padding: env(safe-area-inset-top, 0px) max(16px, env(safe-area-inset-right, 0px)) 0 max(16px, env(safe-area-inset-left, 0px)); }
.pw-top__bar { width: 100%; max-width: 1160px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pw-logo { display: flex; align-items: center; gap: 14px; text-decoration: none; line-height: 1.15; min-width: 0; color: #fff; }
.pw-logo picture { display: block; flex: none; }
.pw-logo__mark { display: block; width: 72px; height: 72px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(0,10,50,.25)); }
.pw-logo > span { display: grid; gap: 3px; }
.pw-logo b { font-size: 16px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.pw-logo small { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #ffd84d; }
.pw-nav { display: flex; align-items: center; gap: 24px; font-size: 15px; font-weight: 600; }
.pw-nav__link { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.pw-nav__call { display: inline-flex; align-items: center; padding: 13px 20px; border-radius: 10px; background: var(--yellow); color: var(--navy); font-weight: 800; text-decoration: none; box-shadow: 0 4px 14px rgba(0,10,50,.18); }
@media (max-width: 760px) {
  .pw { --hdr: 72px; }
  .pw-logo__mark { width: 58px; height: 58px; }
  .pw-logo { gap: 10px; }
  .pw-logo b { font-size: 14px; }
  .pw-logo small { font-size: 9.5px; letter-spacing: .12em; }
  .pw-nav__link { display: none; }
  .pw-nav__call { padding: 11px 14px; font-size: 14px; }
}
@media (max-width: 400px) { .pw-logo > span { display: none; } }
.pw-panel--navy .pw-eyebrow { color: var(--yellow); }
.pw-panel--navy .pw-lede { color: var(--on-navy-soft); }
.pw-phone { font-size: 15px; color: var(--on-navy-soft); }
.pw-phone b { color: #fff; font-variant-numeric: tabular-nums; }
.pw-shero { position: relative; height: 240vh; height: 240svh; color: var(--on-navy); }
.pw-shero__stage { position: sticky; top: var(--hdr); height: calc(100vh - var(--hdr)); height: calc(100svh - var(--hdr)); overflow: hidden; display: grid; align-items: center;
  border-radius: 0 0 clamp(32px, 5vw, 64px) clamp(32px, 5vw, 64px);
  background:
    radial-gradient(60% 70% at 88% 8%, rgba(79,124,255,.6), rgba(79,124,255,0) 70%),
    radial-gradient(55% 60% at 4% 100%, rgba(255,201,40,.34), rgba(255,201,40,0) 70%),
    linear-gradient(155deg, var(--navy) 0%, #062a5a 55%, var(--blue) 100%);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.3), 0 30px 70px rgba(3,22,47,.28); }
.pw-shero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s ease; pointer-events: none; }
.pw-shero.has-video .pw-shero__video { opacity: 1; }
.pw-shero__shade { position: absolute; inset: 0; pointer-events: none; opacity: calc(1 - var(--p, 0) * 1.25);
  background: linear-gradient(90deg, rgba(3,22,47,.72) 0%, rgba(3,22,47,.38) 38%, rgba(3,22,47,0) 62%), linear-gradient(0deg, rgba(3,22,47,.45), rgba(3,22,47,0) 30%); }
.pw-shero__in { position: relative; z-index: 1; width: 100%; max-width: 1160px; margin: 0 auto; padding: 32px max(20px, env(safe-area-inset-right, 0px)) 96px max(20px, env(safe-area-inset-left, 0px)); }
/* no card: the words sit right on the video and fade away as the house gets clean */
.pw-shero__card { position: relative; display: grid; gap: 18px; justify-items: start; max-width: 600px;
  opacity: calc(1 - var(--p, 0) * 1.6); transform: translateY(calc(var(--p, 0) * -48px)); will-change: opacity, transform; }
.pw-shero.is-clear .pw-shero__card { visibility: hidden; }
.pw-shero h1, .pw-shero .pw-lede, .pw-shero__card > p { text-shadow: 0 2px 18px rgba(0,8,24,.55), 0 1px 3px rgba(0,8,24,.5); }
.pw-shero .pw-eyebrow { color: var(--yellow); }
.pw-shero h1 { font-size: clamp(36px, 5.2vw, 64px); line-height: 1.02; }
.pw-shero h1 span { display: block; color: var(--yellow); }
.pw-shero .pw-lede { color: var(--on-navy-soft); }
.pw-shero a:focus-visible { outline-color: var(--yellow); }
.pw-shero__meter { position: absolute; z-index: 1; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; padding: 9px 16px; border-radius: 999px;
  font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #fff;
  background: rgba(3,22,47,.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 0 0 1px rgba(255,255,255,.18);
  -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); }
.pw-shero__meter i { display: block; width: clamp(110px, 18vw, 200px); height: 6px; border-radius: 6px; overflow: hidden; background: rgba(255,255,255,.2); }
.pw-shero__meter b { display: block; height: 100%; border-radius: 6px; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--yellow), #fff 55%, #6f9bff); }
.pw-shero__cue { position: absolute; z-index: 1; right: max(20px, env(safe-area-inset-right, 0px)); bottom: 32px; font-size: 13px; font-weight: 800; color: rgba(255,255,255,.85); opacity: calc(1 - var(--p, 0) * 4); }
.pw-shero__cue span { display: inline-block; color: var(--yellow); }
@media (prefers-reduced-motion: no-preference) { .pw-shero__cue span { animation: pw-bob 1.6s ease-in-out infinite; } }
@keyframes pw-bob { 50% { transform: translateY(4px); } }
/* no video, or reduced motion: a normal hero that does not pin */
.pw-shero.is-static { height: auto; }
.pw-shero.is-static .pw-shero__stage { position: relative; top: auto; height: auto; min-height: min(680px, calc(92svh - var(--hdr))); }
.pw-shero.is-static .pw-shero__card { opacity: 1; transform: none; }
.pw-shero.is-static .pw-shero__meter, .pw-shero.is-static .pw-shero__cue { display: none; }
@media (max-width: 760px) {
  .pw-shero { height: 200vh; height: 200svh; }
  .pw-shero__stage { align-items: end; }
  .pw-shero__shade { background: linear-gradient(0deg, rgba(3,22,47,.85) 0%, rgba(3,22,47,.45) 40%, rgba(3,22,47,0) 66%); }
  .pw-shero__in { padding-bottom: 78px; }
  .pw-shero__card { gap: 14px; }
  .pw-shero .pw-lede { font-size: 16px; }
  .pw-shero__cue { display: none; }
  .pw-shero__meter { bottom: 18px; }
}

/* ticker: a navy glass band with yellow dots that slides like the painting page */
.pw-ticker { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; margin: clamp(18px, 3vw, 28px) max(16px, env(safe-area-inset-right, 0px)) 0 max(16px, env(safe-area-inset-left, 0px));
  padding: 6px 6px 6px 0; border-radius: 999px; overflow: hidden; color: #fff;
  background: linear-gradient(90deg, rgba(3,22,47,.94), rgba(8,47,102,.92) 55%, rgba(29,78,216,.90));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), inset 0 0 0 1px rgba(255,255,255,.12), 0 18px 44px rgba(3,22,47,.22), 0 0 0 1px rgba(255,201,40,.35); }
.pw-ticker::before { content: ""; position: absolute; left: 40px; right: 40px; top: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, rgba(255,201,40,0), var(--yellow), rgba(255,201,40,0)); pointer-events: none; }
.pw-ticker__track { flex: 1; min-width: 0; display: flex; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.pw .pw-ticker__list { list-style: none; margin: 0; padding: 0; display: flex; flex: none; align-items: center; white-space: nowrap; }
.pw-ticker__list li { display: flex; align-items: center; padding: 12px 0; font-size: 14px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pw-ticker__list li::after { content: ""; width: 8px; height: 8px; margin: 0 26px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 12px rgba(255,201,40,.8); }
@media (prefers-reduced-motion: no-preference) {
  .pw-ticker__list { animation: pw-tick 42s linear infinite; }
  .pw-ticker:hover .pw-ticker__list, .pw-ticker.is-paused .pw-ticker__list, .pw-ticker:focus-within .pw-ticker__list { animation-play-state: paused; }
}
@keyframes pw-tick { to { transform: translateX(-100%); } }
.pw-ticker__pause { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 0; border-radius: 999px; cursor: pointer; color: var(--navy); font-size: 13px; font-weight: 800;
  background: linear-gradient(180deg, #ffe07a, var(--yellow)); box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 6px 16px rgba(0,8,24,.25); }
.pw-ticker__pause svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.pw-ticker__pause:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (max-width: 560px) { .pw-ticker__list li { font-size: 12.5px; } .pw-ticker__pause span { display: none; } .pw-ticker__pause { padding: 10px; } }
@media (prefers-reduced-motion: reduce) { .pw-ticker__track { overflow-x: auto; } }

/* ---------- estimator (Liquid Glass) ---------- */
.gx { font-family: var(--g-font); color: var(--ink); }
.gx .pw-head h2 { font-family: var(--g-font); letter-spacing: -.035em; }
.gx-hl { background: linear-gradient(transparent 62%, rgba(255,201,40,.8) 62%); padding: 0 .08em; border-radius: 4px; }
.gx-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
@media (min-width: 900px) { .gx-grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 26px; align-items: start; } .gx-sumwrap { position: sticky; top: calc(var(--hdr) + 16px); } }
.gx-steps, .gx-sumwrap { min-width: 0; }
.gx-glass { position: relative; background: var(--glass); border-radius: var(--r-lg);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), inset 0 0 0 1px var(--edge), inset 0 -1px 0 rgba(29,78,216,.05), 0 20px 48px rgba(29,46,110,.13);
  -webkit-backdrop-filter: blur(26px) saturate(180%); backdrop-filter: blur(26px) saturate(180%); }
.gx-glass::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(160deg, rgba(255,255,255,.6), rgba(255,255,255,0) 40%); }
.gx-card { padding: clamp(18px, 3vw, 28px); display: grid; gap: 18px; }
.gx-card > * { position: relative; }
.gx-q { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; align-items: center; }
.gx-q i { grid-row: span 2; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 14px; font-weight: 800; background: var(--royal); color: #fff; box-shadow: 0 6px 14px rgba(29,78,216,.35); }
.gx-q h3 { font-family: var(--g-font); font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.gx-q p { font-size: 14px; color: var(--muted); }
.gx-fine { font-size: 13.5px; color: var(--muted); }
.gx-fine a { color: var(--royal-ink); font-weight: 650; }

/* progress */
.gx-prog { display: grid; gap: 8px; }
.gx-prog__top { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; font-weight: 650; color: var(--muted); }
.gx-prog__top b { color: var(--royal-ink); }
.gx-prog__dots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.gx-prog__dots i { height: 6px; border-radius: 999px; background: rgba(29,78,216,.14); overflow: hidden; position: relative; }
.gx-prog__dots i::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--royal); transform: scaleX(0); transform-origin: left; transition: transform .4s cubic-bezier(.3,1.2,.6,1); }
.gx-prog__dots i.done::after, .gx-prog__dots i.now::after { transform: scaleX(1); }
.gx-prog__dots i.now::after { background: linear-gradient(90deg, var(--royal), #4f7cff); }
.gx-screen { display: grid; gap: 16px; animation: gxSlide .35s cubic-bezier(.3,1.1,.5,1) both; }
.gx-screen.back { animation-name: gxSlideBack; }
@keyframes gxSlide { from { opacity: 0; transform: translateX(18px); } }
@keyframes gxSlideBack { from { opacity: 0; transform: translateX(-18px); } }

/* service cards */
.gx-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 620px) { .gx-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.gx-cat { position: relative; display: grid; justify-items: center; align-content: start; gap: 6px; padding: 18px 10px 16px; border: 0; border-radius: var(--r-md); cursor: pointer; text-align: center; color: var(--ink);
  background: rgba(255,255,255,.64); box-shadow: inset 0 0 0 1px var(--edge), 0 6px 18px rgba(29,46,110,.08); transition: transform .22s cubic-bezier(.3,1.4,.6,1), box-shadow .25s, background .25s; }
.gx-cat svg { width: 42px; height: 42px; fill: none; stroke: var(--royal); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.gx-cat svg .fill { fill: var(--yellow); stroke: none; }
.gx-cat b { font-size: 15px; font-weight: 700; line-height: 1.2; }
.gx-cat small { font-size: 12.5px; color: var(--muted); line-height: 1.25; }
@media (hover: hover) { .gx-cat:hover { transform: translateY(-2px); } }
.gx-cat:active { transform: scale(.97); }
.gx-cat[aria-pressed="true"] { background: #fff; box-shadow: inset 0 0 0 2px var(--royal), 0 12px 28px rgba(29,78,216,.22); }
.gx-cat em { position: absolute; top: 9px; right: 9px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 13px; font-weight: 800; background: var(--yellow); color: var(--ink); box-shadow: 0 3px 8px rgba(160,110,0,.3); transform: scale(0); transition: transform .3s cubic-bezier(.3,1.6,.6,1); }
.gx-cat[aria-pressed="true"] em { transform: scale(1); }

/* size blocks */
.gx-block { display: grid; gap: 10px; padding: 16px; border-radius: var(--r-md); background: rgba(255,255,255,.6); box-shadow: inset 0 0 0 1px var(--edge); }
.gx-block h4 { margin: 0; font-size: 16px; font-weight: 750; letter-spacing: -.01em; color: var(--royal-ink); }
.gx-label { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 14px; font-weight: 650; }
.gx-label output { font-size: 15px; font-weight: 750; color: var(--royal-ink); font-variant-numeric: tabular-nums; }
.gx-seg { display: grid; gap: 6px; padding: 6px; border-radius: 20px; background: rgba(29,78,216,.07); box-shadow: inset 0 0 0 1px var(--line); }
.gx-seg--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gx-seg--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 560px) { .gx-seg--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.gx-seg button { display: grid; gap: 1px; padding: 10px 6px; border: 0; border-radius: 15px; background: transparent; color: var(--ink); cursor: pointer; font-size: 15px; font-weight: 700; line-height: 1.2; transition: background .25s, box-shadow .25s, transform .15s; min-width: 0; }
.gx-seg button small { font-size: 11.5px; font-weight: 550; color: var(--muted); }
.gx-seg button[aria-pressed="true"] { background: #fff; color: var(--royal-ink); box-shadow: 0 4px 14px rgba(29,46,110,.16), inset 0 0 0 1.5px var(--royal); }
.gx-seg button:active { transform: scale(.96); }

/* glass slider */
.gx-range { -webkit-appearance: none; appearance: none; width: 100%; height: 34px; background: transparent; margin: 0; cursor: pointer; --fill: 25%; }
.gx-range::-webkit-slider-runnable-track { height: 10px; border-radius: 999px; background: linear-gradient(90deg, var(--royal) 0 var(--fill), rgba(29,78,216,.14) var(--fill) 100%); }
.gx-range::-moz-range-track { height: 10px; border-radius: 999px; background: rgba(29,78,216,.14); }
.gx-range::-moz-range-progress { height: 10px; border-radius: 999px; background: var(--royal); }
.gx-range::-webkit-slider-thumb { -webkit-appearance: none; width: 30px; height: 30px; margin-top: -10px; border-radius: 50%; background: #fff; box-shadow: 0 3px 10px rgba(0,0,0,.2), inset 0 0 0 1px rgba(29,78,216,.15); }
.gx-range::-moz-range-thumb { width: 30px; height: 30px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 3px 10px rgba(0,0,0,.2); }
.gx-sqft { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; font-weight: 650; }
.gx-sqft input { width: 120px; font-size: 17px; font-weight: 700; text-align: right; padding: 10px 14px; border-radius: 14px; border: 0; box-shadow: inset 0 0 0 1px var(--line); background: #fff; color: var(--ink); }
.gx-sqft span { color: var(--muted); font-weight: 500; }

/* switch rows */
.gx-toggle { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border-radius: 20px; background: rgba(255,255,255,.6); box-shadow: inset 0 0 0 1px var(--edge); cursor: pointer; }
.gx-toggle > span { display: grid; gap: 1px; font-weight: 650; font-size: 15.5px; line-height: 1.3; }
.gx-toggle small { font-weight: 500; font-size: 13px; color: var(--muted); }
.gx-toggle.off { opacity: .45; pointer-events: none; }
.gx-switch { -webkit-appearance: none; appearance: none; flex: none; width: 52px; height: 32px; margin: 0; border-radius: 999px; background: rgba(120,130,150,.32); position: relative; cursor: pointer; transition: background .25s; }
.gx-switch::after { content: ""; position: absolute; top: 2px; left: 2px; width: 28px; height: 28px; border-radius: 50%; background: #fff; box-shadow: 0 3px 8px rgba(0,0,0,.2); transition: transform .3s cubic-bezier(.3,1.5,.6,1); }
.gx-switch:checked { background: var(--royal); }
.gx-switch:checked::after { transform: translateX(20px); }
.gx-step { display: inline-flex; align-items: center; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(29,78,216,.08); flex: none; }
.gx-step button { width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer; font-size: 22px; line-height: 1; display: grid; place-items: center; background: #fff; color: var(--royal); box-shadow: 0 2px 6px rgba(29,46,110,.14); transition: transform .12s; }
.gx-step button.plus { background: var(--royal); color: #fff; box-shadow: 0 4px 10px rgba(29,78,216,.35); }
.gx-step button:active { transform: scale(.88); }
.gx-step button:disabled { opacity: .35; cursor: not-allowed; }
.gx-step output { min-width: 28px; text-align: center; font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; }

/* nav */
.gx-nav { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.gx-back { font-size: 15px; font-weight: 650; color: var(--royal-ink); background: rgba(29,78,216,.08); border: 0; border-radius: 999px; padding: 13px 18px; cursor: pointer; }
.gx-back[hidden] { display: inline-block !important; visibility: hidden; }
.gx-next { font-size: 16px; font-weight: 750; color: #fff; background: var(--royal); border: 0; border-radius: 999px; padding: 14px 28px; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 22px rgba(29,78,216,.35); transition: transform .15s, opacity .2s; }
.gx-next:active { transform: scale(.97); }
.gx-next:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.gx-next[hidden] { display: inline-block !important; visibility: hidden; }
.gx-hint { flex: 1; font-size: 13px; color: var(--muted); text-align: right; }
.gx-hint:empty { display: none; }

/* summary: royal blue glass */
.gx-sum { position: relative; overflow: hidden; display: grid; gap: 16px; padding: clamp(20px, 3vw, 28px); border-radius: 32px; color: #fff;
  background: linear-gradient(160deg, rgba(37,92,235,.92), rgba(24,60,180,.9));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 0 0 1px rgba(255,255,255,.22), 0 24px 54px rgba(29,78,216,.35);
  -webkit-backdrop-filter: blur(26px) saturate(180%); backdrop-filter: blur(26px) saturate(180%); }
.gx-sum::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 60% at 10% 0%, rgba(255,255,255,.28), rgba(255,255,255,0) 60%); }
.gx-sum::after { content: ""; position: absolute; width: 260px; height: 260px; right: -110px; bottom: -130px; border-radius: 50%; background: rgba(120,170,255,.35); filter: blur(40px); pointer-events: none; }
.gx-sum > * { position: relative; z-index: 1; }
.gx-sum__top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.gx-sum__top h3 { font-family: var(--g-font); font-size: 17px; font-weight: 650; letter-spacing: 0; color: rgba(255,255,255,.88); }
.gx-clear { font-size: 13.5px; font-weight: 650; color: rgba(255,255,255,.9); background: rgba(255,255,255,.14); border: 0; border-radius: 999px; padding: 6px 12px; cursor: pointer; }
.gx-total { font-size: clamp(50px, 7vw, 66px); font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--yellow); font-variant-numeric: tabular-nums; text-shadow: 0 6px 24px rgba(0,10,60,.25); }
.gx-total.bump { animation: gxBump .45s cubic-bezier(.3,1.6,.6,1); }
@keyframes gxBump { 40% { transform: scale(1.06); } }
.gx-lines { display: grid; border-top: 1px solid rgba(255,255,255,.2); }
.gx-lines:empty { display: none; }
.gx-line { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.13); font-size: 14.5px; line-height: 1.3; animation: gxIn .3s ease both; }
.gx-line div { display: grid; min-width: 0; }
.gx-line small { font-size: 12.5px; color: rgba(255,255,255,.72); }
.gx-line span { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
@keyframes gxIn { from { opacity: 0; transform: translateY(4px); } }
.gx-empty { font-size: 14.5px; color: rgba(255,255,255,.82); }
.gx-go { display: flex; justify-content: center; align-items: center; gap: 8px; width: 100%; padding: 16px 20px; border: 0; border-radius: 999px; cursor: pointer; font-size: 16.5px; font-weight: 750; background: var(--yellow); color: var(--ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 10px 24px rgba(0,10,60,.28); transition: transform .15s, opacity .2s; }
.gx-go:active { transform: scale(.98); }
.gx-go:disabled { opacity: .5; cursor: not-allowed; }
.gx-go--blue { background: var(--royal); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 24px rgba(29,78,216,.35); }
.gx-sum__fine { font-size: 12.5px; color: rgba(255,255,255,.78); text-align: center; }

/* forms */
.gx-form { display: grid; gap: 12px; }
.gx-form label { display: grid; gap: 6px; font-size: 14px; font-weight: 650; min-width: 0; }
.gx-form label small { font-weight: 500; color: var(--muted); }
.gx-form input, .gx-form select, .gx-form textarea { width: 100%; min-width: 0; font-size: 16px; padding: 13px 16px; border: 0; border-radius: 16px; background: rgba(255,255,255,.88); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); }
.gx-form textarea { resize: vertical; border-radius: 18px; }
.gx-form select { -webkit-appearance: none; appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, var(--royal) 50%), linear-gradient(135deg, var(--royal) 50%, transparent 50%); background-position: calc(100% - 22px) 55%, calc(100% - 16px) 55%; background-size: 6px 6px; background-repeat: no-repeat; }
.gx-form input:focus, .gx-form select:focus, .gx-form textarea:focus { outline: none; box-shadow: inset 0 0 0 2px var(--royal), 0 0 0 4px rgba(29,78,216,.18); }
.gx-form__row { display: grid; gap: 12px; }
@media (min-width: 560px) { .gx-form__row { grid-template-columns: 1fr 1fr; } }
.gx-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gx-send { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.gx-send small { font-size: 14px; color: var(--muted); }
.gx-send small b { color: var(--ink); font-size: 19px; font-variant-numeric: tabular-nums; }
.gx-send .gx-go { width: auto; background: var(--royal); color: #fff; box-shadow: 0 10px 24px rgba(29,78,216,.35); }
.gx-msg { font-size: 14.5px; font-weight: 650; color: var(--royal-ink); }
.gx-msg:empty { display: none; }

/* phone: floating glass total bar */
.gx-bar { position: fixed; left: max(12px, env(safe-area-inset-left, 0px)); right: max(12px, env(safe-area-inset-right, 0px)); bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 22px; border-radius: 999px; color: #fff;
  background: rgba(29,78,216,.84); box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 0 0 1px rgba(255,255,255,.3), 0 16px 40px rgba(10,30,100,.35);
  -webkit-backdrop-filter: blur(22px) saturate(180%); backdrop-filter: blur(22px) saturate(180%); transform: translateY(160%); transition: transform .35s cubic-bezier(.3,1.3,.6,1); }
.gx-bar.show { transform: none; }
.gx-bar small { display: block; font-size: 12px; color: rgba(255,255,255,.82); }
.gx-bar b { font-size: 22px; font-weight: 800; color: var(--yellow); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.gx-bar button { font-size: 15px; font-weight: 750; border: 0; border-radius: 999px; padding: 12px 18px; background: var(--yellow); color: var(--ink); cursor: pointer; }
@media (min-width: 900px) { .gx-bar { display: none; } }

/* services */
.pw-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pw-card { display: grid; gap: 10px; align-content: start; padding: 24px; border-radius: var(--r-lg); min-width: 0; background: var(--glass);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), inset 0 0 0 1px var(--edge), 0 16px 40px rgba(29,46,110,.1); -webkit-backdrop-filter: blur(22px) saturate(170%); backdrop-filter: blur(22px) saturate(170%); }
.pw-card svg { width: 44px; height: 44px; fill: none; stroke: var(--royal); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.pw-card small { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--royal); }
.pw-card p { color: var(--muted); font-size: 15px; }
@media (max-width: 980px) { .pw-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .pw-cards { grid-template-columns: 1fr; } }

/* navy panels */
.pw-panel { border-radius: var(--r-xl); padding: clamp(28px, 5vw, 60px); position: relative; overflow: hidden; }
.pw-panel--navy { color: var(--on-navy); background: linear-gradient(150deg, var(--navy), #082f66 60%, var(--blue)); box-shadow: 0 30px 70px rgba(3,22,47,.25); }
.pw-panel--navy::after { content: ""; position: absolute; width: 460px; height: 460px; left: -160px; bottom: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(255,201,40,.25), rgba(255,201,40,0) 70%); pointer-events: none; }
.pw-panel > * { position: relative; z-index: 1; }
.pw-why { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.pw-why__copy { display: grid; gap: 16px; min-width: 0; }
.pw-why h2 { font-size: clamp(28px, 3.6vw, 40px); }
.pw-compare { display: grid; gap: 10px; }
.pw-compare div { display: grid; gap: 2px; padding: 16px 18px; border-radius: var(--r-md); background: rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 0 0 1px rgba(255,255,255,.14); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.pw-compare dt { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--yellow); }
.pw-compare dd { font-size: 15.5px; color: var(--on-navy-soft); }
.pw-compare b { color: #fff; }
@media (max-width: 860px) { .pw-why { grid-template-columns: 1fr; } }

/* fleets */
.pw-fleet { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.pw-fleet__copy { display: grid; gap: 16px; justify-items: start; min-width: 0; }
.pw-ticks { list-style: none; padding: 0; display: grid; gap: 10px; }
.pw-ticks li { display: flex; gap: 12px; align-items: center; font-size: 16px; font-weight: 650; }
.pw-ticks li::before { content: ""; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--royal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.5l3.2 3L17 8.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; box-shadow: 0 4px 10px rgba(29,78,216,.3); }
.pw-fleetform h3 { font-family: var(--g-font); font-size: 22px; font-weight: 700; }
@media (max-width: 860px) { .pw-fleet { grid-template-columns: 1fr; } }

/* process */
.pw-steps { list-style: none; padding: 0; counter-reset: s; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pw-steps li { counter-increment: s; display: grid; gap: 8px; align-content: start; padding: 22px; border-radius: var(--r-lg); min-width: 0; background: var(--glass); box-shadow: inset 0 1px 0 rgba(255,255,255,.95), inset 0 0 0 1px var(--edge), 0 14px 34px rgba(29,46,110,.08); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.pw-steps li::before { content: counter(s); width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--yellow); color: var(--navy); font-weight: 800; box-shadow: 0 6px 14px rgba(190,140,0,.25); }
.pw-steps p { color: var(--muted); font-size: 15px; }
@media (max-width: 760px) { .pw-steps { grid-template-columns: 1fr; } }

/* faq */
.pw-faq { display: grid; gap: 10px; max-width: 840px; }
.pw-faq details { border-radius: var(--r-md); background: var(--glass); box-shadow: inset 0 1px 0 rgba(255,255,255,.95), inset 0 0 0 1px var(--edge), 0 8px 22px rgba(29,46,110,.06); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.pw-faq summary { cursor: pointer; list-style: none; padding: 17px 22px; font-weight: 800; display: flex; justify-content: space-between; gap: 12px; border-radius: var(--r-md); }
.pw-faq summary::-webkit-details-marker { display: none; }
.pw-faq summary::after { content: "+"; flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: rgba(29,78,216,.1); color: var(--royal); font-size: 18px; line-height: 1; }
.pw-faq details[open] summary::after { content: "\2212"; }
.pw-faq details p { padding: 0 22px 18px; color: var(--muted); font-size: 15px; max-width: 65ch; }

/* close + footer */
.pw-close { display: grid; gap: 18px; justify-items: start; }
.pw-close h2 { font-size: clamp(32px, 5vw, 54px); }
.pw-close b { color: #fff; }
.pw-band--foot { padding-block: 8px 24px; }
.pw-foot { max-width: 1160px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 26px; border-radius: var(--r-lg); background: rgba(3,22,47,.92); color: rgba(255,255,255,.75); font-size: 14px; }
.pw-foot div { display: grid; gap: 2px; }
.pw-foot b { color: #fff; }
.pw-foot nav { display: flex; flex-wrap: wrap; gap: 8px; }
.pw-foot nav a { text-decoration: none; color: #fff; font-weight: 700; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.1); }

/* ---------- Liquid Glass, page wide ----------
   One recipe for every light panel (cards, steps, FAQ, trust chips, estimator and fleet form),
   one for every dark panel (navy sections, footer). Coloured light sits behind them so the blur has something to bend. */
.pw {
  --glass-tint: rgba(255,255,255,.46);
  --glass-sheen: linear-gradient(160deg, rgba(255,255,255,.70) 0%, rgba(255,255,255,.16) 46%, rgba(255,255,255,.34) 100%);
  --glass-shadow: inset 0 1px 0 rgba(255,255,255,.98), inset 0 0 0 1px rgba(255,255,255,.78), inset 0 -12px 26px rgba(255,255,255,.22), 0 18px 44px rgba(29,46,110,.12);
  --glass-blur: blur(26px) saturate(185%);
  background:
    radial-gradient(900px 700px at -8% 14%, rgba(29,78,216,.20), rgba(29,78,216,0) 70%),
    radial-gradient(820px 640px at 108% 30%, rgba(255,201,40,.26), rgba(255,201,40,0) 70%),
    radial-gradient(900px 720px at -6% 52%, rgba(79,124,255,.20), rgba(79,124,255,0) 70%),
    radial-gradient(820px 640px at 106% 70%, rgba(29,78,216,.16), rgba(29,78,216,0) 70%),
    radial-gradient(900px 700px at 20% 92%, rgba(255,201,40,.22), rgba(255,201,40,0) 70%),
    linear-gradient(180deg, #eaf0ff 0%, #f2f6ff 40%, #fbf8ef 100%);
}
.pw-card, .pw-steps li, .pw-faq details, .gx-glass {
  background: var(--glass-sheen), var(--glass-tint);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
}
.gx-glass::before { display: none; }
.pw-card { border-radius: var(--r-xl); padding: 26px; transition: transform .3s cubic-bezier(.3,1.3,.6,1), box-shadow .3s; }
.pw-card svg { width: 52px; height: 52px; padding: 10px; border-radius: 18px; background: rgba(29,78,216,.09); box-shadow: inset 0 0 0 1px rgba(29,78,216,.10); }
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .pw-card:hover, .pw-steps li:hover { transform: translateY(-4px); box-shadow: inset 0 1px 0 #fff, inset 0 0 0 1px rgba(255,255,255,.85), 0 26px 56px rgba(29,46,110,.18); }
}
.pw-steps li { border-radius: var(--r-xl); padding: 26px; transition: transform .3s cubic-bezier(.3,1.3,.6,1), box-shadow .3s; }
.pw-faq details { border-radius: var(--r-lg); }
.pw-faq summary { border-radius: var(--r-lg); }

/* dark glass: navy sections and footer */
.pw-panel--navy, .pw-foot {
  color: var(--on-navy);
  background:
    radial-gradient(70% 90% at 100% 0%, rgba(79,124,255,.42), rgba(79,124,255,0) 70%),
    linear-gradient(150deg, rgba(3,22,47,.94), rgba(8,47,102,.90) 60%, rgba(7,79,157,.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), inset 0 0 0 1px rgba(255,255,255,.12), inset 0 -18px 40px rgba(255,255,255,.04), 0 30px 70px rgba(3,22,47,.26);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
}
.pw-panel--navy::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(165deg, rgba(255,255,255,.12), rgba(255,255,255,0) 36%); }
.pw-foot { position: relative; overflow: hidden; border-radius: var(--r-xl); padding: 24px clamp(20px, 3vw, 32px); color: rgba(255,255,255,.78); }
.pw-foot nav a { background: rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), inset 0 0 0 1px rgba(255,255,255,.16); }
.pw-band--foot { padding-block: 8px 28px; }

/* ---------- premium pass: more Davy yellow and royal blue in the glass ---------- */
.pw {
  background:
    radial-gradient(900px 700px at -8% 12%, rgba(29,78,216,.28), rgba(29,78,216,0) 70%),
    radial-gradient(820px 640px at 108% 26%, rgba(255,201,40,.36), rgba(255,201,40,0) 70%),
    radial-gradient(900px 720px at -6% 50%, rgba(79,124,255,.26), rgba(79,124,255,0) 70%),
    radial-gradient(820px 640px at 106% 66%, rgba(255,201,40,.26), rgba(255,201,40,0) 70%),
    radial-gradient(900px 700px at 18% 90%, rgba(29,78,216,.20), rgba(29,78,216,0) 70%),
    radial-gradient(760px 600px at 92% 98%, rgba(255,201,40,.30), rgba(255,201,40,0) 70%),
    linear-gradient(180deg, #e6eeff 0%, #f1f5ff 40%, #fdf7e6 100%);
}
/* a thin yellow to white to blue ring of light on every light glass panel */
.pw-card, .pw-steps li, .pw-faq details { position: relative; }
.pw-card::after, .pw-steps li::after, .pw-faq details::after, .gx-glass::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: linear-gradient(140deg, rgba(255,201,40,.95), rgba(255,255,255,.75) 38%, rgba(255,255,255,.2) 60%, rgba(29,78,216,.75));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
/* icon tiles: yellow glass with navy strokes */
.pw-card svg { stroke: var(--navy); background: linear-gradient(150deg, #ffe58a, var(--yellow) 60%, #f5b400); box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 20px rgba(214,150,0,.28); }
.pw-steps li::before { background: linear-gradient(150deg, #ffe58a, var(--yellow) 60%, #f5b400); box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px rgba(214,150,0,.3); }
/* glossy yellow buttons */
.pw-btn--yellow { background: linear-gradient(180deg, #ffe27e 0%, var(--yellow) 52%, #f6b600 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 -2px 0 rgba(160,100,0,.18), 0 12px 28px rgba(214,150,0,.32), 0 4px 10px rgba(0,8,24,.18); }
/* eyebrows as small glass pills with a yellow dot */
.pw-eyebrow { display: inline-flex; align-items: center; gap: 8px; justify-self: start; width: fit-content; padding: 6px 12px 6px 10px; border-radius: 999px;
  background: rgba(255,255,255,.55); box-shadow: inset 0 1px 0 #fff, inset 0 0 0 1px rgba(29,78,216,.14); }
.pw-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 3px rgba(255,201,40,.28); }
.pw-shero .pw-eyebrow, .pw-panel--navy .pw-eyebrow { background: rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), inset 0 0 0 1px rgba(255,255,255,.14); }
/* navy panels: yellow hairline and a warm glow */
.pw-panel--navy::after { content: ""; position: absolute; left: 36px; right: 36px; top: 0; bottom: auto; width: auto; height: 2px; border-radius: 2px; pointer-events: none; background: linear-gradient(90deg, rgba(255,201,40,0), var(--yellow), rgba(255,255,255,.85), rgba(111,155,255,.9), rgba(111,155,255,0)); }
.pw-panel--navy { background:
    radial-gradient(60% 80% at 100% 0%, rgba(79,124,255,.5), rgba(79,124,255,0) 70%),
    radial-gradient(50% 70% at 0% 100%, rgba(255,201,40,.22), rgba(255,201,40,0) 70%),
    linear-gradient(150deg, rgba(3,22,47,.95), rgba(8,47,102,.92) 60%, rgba(7,79,157,.88)); }
.pw-foot { box-shadow: inset 0 1px 0 rgba(255,201,40,.45), inset 0 0 0 1px rgba(255,255,255,.12), 0 30px 70px rgba(3,22,47,.26); }

@media (prefers-reduced-motion: reduce) {
  .pw *, .gx-bar { transition: none !important; animation: none !important; }
}
