/* ============================================================
   Uncommon Christian Network — stylesheet module: support
   Support page: signal hero, path cards, support builder (Stripe),
   airtime scheduler, shortwave quote, values, checkout overlay.
   Load order (header.php): base, layout, home, live, support, pages.
   ============================================================ */

/* ---------- Hero: "Keep the signal open." ---------- */
.sp-hero{position:relative;overflow:hidden;padding:clamp(64px,8vw,110px) 0 clamp(56px,7vw,88px);
  border-bottom:1px solid rgba(255,255,255,.07);
  background:radial-gradient(700px 480px at 78% -10%, rgb(from var(--violet-500) r g b / .18), transparent 62%),
             radial-gradient(520px 420px at 8% 60%, rgb(from var(--violet-600) r g b / .1), transparent 60%),
             var(--bg)}
.sp-hero-grid{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);
  gap:clamp(2rem,5vw,4.4rem);align-items:center}
.sp-hero-copy{min-width:0}
.sp-hero-title{font-family:var(--display);font-weight:800;
  font-size:clamp(2.6rem,6vw,5.4rem);line-height:.96;letter-spacing:-.045em;
  margin:1.1rem 0 0;color:#fbfaff}
.sp-hero-title .accent{color:var(--violet-500);text-shadow:0 0 34px rgb(from var(--violet-500) r g b / .28)}
.sp-hero-lead{color:#c6cad5;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.6;
  max-width:40rem;margin:1.3rem 0 0}
.sp-hero-lead strong{color:#fff}
.sp-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.9rem}
.sp-btn-primary{color:#fff;background:var(--violet-600);
  border:1px solid var(--violet-500);box-shadow:0 16px 38px rgb(from var(--violet-600) r g b / .28);font-weight:700}
.sp-btn-primary:hover{transform:translateY(-1px);color:#fff;
  background:var(--violet-500);box-shadow:0 20px 44px rgb(from var(--violet-500) r g b / .4)}
.sp-btn-ghost{color:var(--text);border:1px solid var(--line);background:rgba(18,20,31,.76)}
.sp-btn-ghost:hover{border-color:var(--accent);color:var(--accent-2)}
.sp-btn-gold{color:#fff;background:linear-gradient(135deg,#c98a3f,#a3671f);border:0;font-weight:700}
.sp-btn-gold:hover{transform:translateY(-1px);color:#fff}
.sp-free{display:flex;align-items:center;gap:.75rem;color:var(--muted);
  font-size:.92rem;margin:1.6rem 0 0}
.sp-free strong{color:#fff}
.sp-free-ico{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;
  color:#ffbd65;background:rgba(255,189,101,.12);font-size:1.05rem}
.sp-hero .support-taxnote{margin-top:1rem}

/* The signal visual: rings + praying hands + floating cards + on-air pill. */
.sp-visual{position:relative;min-height:460px;display:grid;place-items:center}
.sp-rings{position:absolute;width:min(360px,80%);aspect-ratio:1;border-radius:50%;
  border:1px solid rgb(from var(--violet-200) r g b / .22)}
.sp-rings::before,.sp-rings::after{content:"";position:absolute;border-radius:inherit;
  border:inherit;inset:14%}
.sp-rings::after{inset:28%;border-color:rgba(255,189,101,.28);
  box-shadow:0 0 65px rgb(from var(--violet-200) r g b / .13)}
.sp-center{position:relative;z-index:2;width:160px;height:160px;border-radius:50%;
  display:grid;place-items:center;background:radial-gradient(circle at 40% 35%, var(--violet-900), var(--violet-900) 68%);
  border:1px solid var(--violet-600);box-shadow:0 0 60px rgb(from var(--violet-400) r g b / .34)}
.sp-mark{font-size:3.4rem;filter:drop-shadow(0 0 20px rgba(255,255,255,.16))}
.sp-float{position:absolute;z-index:3;width:242px;padding:1rem 1.1rem;
  border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(18,20,31,.88);
  box-shadow:0 24px 80px rgba(0,0,0,.36);backdrop-filter:blur(14px)}
.sp-float small{display:block;color:var(--accent-2);font-weight:700;text-transform:uppercase;
  letter-spacing:.11em;font-size:.68rem;margin-bottom:.45rem}
.sp-float p{margin:0;font-size:.88rem;color:#d6d8e0;line-height:1.5}
.sp-float--one{top:44px;right:0;transform:rotate(2deg)}
.sp-float--two{bottom:40px;left:-8px;transform:rotate(-2deg)}
.sp-onair{position:absolute;right:20px;bottom:74px;z-index:4;padding:.5rem .8rem;border-radius:999px;
  background:rgb(from var(--beacon-500) r g b / .12);border:1px solid var(--beacon-500);color:var(--beacon-500);font-size:.72rem;font-weight:800;
  letter-spacing:.03em;text-transform:uppercase}

/* ---------- Shared section furniture ---------- */
#ways,#support,#airtime{scroll-margin-top:84px}
.sp-muted{background:#0c0e16;border-block:1px solid rgba(255,255,255,.07)}
.sp-head{max-width:760px;margin-bottom:2.1rem}
.sp-head--center{text-align:center;margin-inline:auto}
.sp-h2{font-family:var(--display);font-weight:800;
  font-size:clamp(1.9rem,3.8vw,3.1rem);line-height:1.06;letter-spacing:-.035em;
  margin:.6rem 0 .8rem}
.sp-sub{color:var(--muted);font-size:1.08rem;line-height:1.65;margin:0}
.sp-sub--gap{margin-top:.9rem}
.sp-note{border-left:3px solid var(--accent);padding:1.2rem 0 1.2rem 1.4rem;margin:1.5rem 0 0;
  color:#d4d5dc;font-size:1.02rem;line-height:1.65}
.sp-fine{max-width:760px;color:var(--muted);opacity:.85;font-size:.8rem;line-height:1.6;
  margin:2.6rem auto 0;text-align:center}

/* ---------- Three path cards ---------- */
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.05rem}
.path-card{position:relative;min-height:340px;padding:1.8rem;display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:22px;overflow:hidden;
  background:linear-gradient(145deg,#171a29,#10121c);
  transition:transform .2s,border-color .2s}
.path-card:hover{transform:translateY(-4px);border-color:var(--violet-600)}
.path-card--featured{background:linear-gradient(145deg,var(--violet-900),var(--violet-900) 70%);border-color:var(--violet-600)}
.path-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;
  right:-70px;top:-90px;background:rgb(from var(--violet-400) r g b / .12);filter:blur(2px)}
.path-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;
  background:var(--violet-900);color:var(--accent-2)}
.path-icon svg{width:25px;height:25px}
.path-card h3{font-family:var(--display);font-size:1.45rem;letter-spacing:-.02em;margin:1.3rem 0 .45rem}
.path-card p{margin:0 0 1rem;color:var(--muted);line-height:1.55}
.path-list{list-style:none;padding:0;margin:0 0 1.5rem;color:#d8dae2;font-size:.88rem}
.path-list li{margin:.55rem 0;display:flex;gap:.5rem}
.path-list li::before{content:"\2713";color:var(--ok);font-weight:900}
.path-link{margin-top:auto;color:var(--accent-2);font-weight:700;transition:color .15s}
.path-link:hover{color:#fff}

/* ---------- Why support matters ---------- */
.sp-impact{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(1.8rem,4.5vw,3.4rem);align-items:center}
.impact-list{display:grid;gap:.75rem}
.impact-row{display:grid;grid-template-columns:46px 1fr auto;gap:.9rem;align-items:center;
  padding:1rem 1.1rem;border:1px solid var(--line);border-radius:16px;background:rgba(18,20,31,.72)}
.impact-ico{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;
  background:var(--violet-900);color:var(--accent-2)}
.impact-ico svg{width:21px;height:21px}
.impact-row strong{display:block;font-size:.98rem}
.impact-row div span{color:var(--muted);font-size:.82rem;line-height:1.4;display:block}
.impact-status{color:var(--ok);font-weight:800;font-size:.72rem;letter-spacing:.07em;
  text-transform:uppercase}

/* ---------- Builder shell (support + airtime share it) ---------- */
.sp-builder{border:1px solid var(--line);border-radius:26px;background:#0e1019;
  box-shadow:0 24px 80px rgba(0,0,0,.36);overflow:hidden}
.builder-tabs{display:flex;gap:5px;padding:8px;background:#131622;border-bottom:1px solid var(--line)}
.builder-tab{border:0;cursor:pointer;flex:1;padding:.9rem;border-radius:12px;background:transparent;
  color:var(--muted);font-family:var(--display);font-weight:700;font-size:.95rem;transition:.15s}
.builder-tab:hover{color:var(--text)}
.builder-tab.active{color:#fff;background:var(--violet-600);border-color:var(--violet-500)}
.builder-panel{display:none;padding:clamp(1.2rem,3vw,2rem)}
.builder-panel.active{display:block}
.builder-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:1.8rem}

/* Amount pickers */
.amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1.2rem 0}
.amount{cursor:pointer;padding:1.05rem .8rem;border:1px solid var(--line);color:#fff;border-radius:14px;
  background:#171a29;text-align:left;font-family:var(--font);transition:.15s}
.amount:hover{border-color:var(--violet-600)}
.amount strong{display:block;font-family:var(--display);font-size:1.45rem}
.amount span{color:var(--muted);font-size:.76rem;line-height:1.35;display:block;margin-top:.15rem}
.amount.selected{border-color:var(--accent);background:var(--violet-900);
  box-shadow:0 0 0 1px rgb(from var(--violet-200) r g b / .24)}
.custom-row{display:grid;grid-template-columns:1fr auto;gap:.65rem}
.sp-field{width:100%;border:1px solid var(--line);border-radius:12px;padding:.85rem .95rem;
  background:#0b0d14;color:#fff;font-family:var(--font);font-size:.98rem;outline:none;
  transition:border-color .15s,box-shadow .15s}
.sp-field:focus{border-color:var(--violet-400);box-shadow:0 0 0 3px rgb(from var(--violet-400) r g b / .18)}
.sp-field::placeholder{color:#6b7686}
textarea.sp-field{min-height:88px;resize:vertical}
.sp-field--gap{margin-top:1.1rem}

/* Impact preview / continue */
.impact-preview{padding:1.5rem;border-radius:20px;border:1px solid var(--violet-700);
  background:linear-gradient(145deg,var(--violet-900),#121420)}
.impact-preview small{color:var(--accent-2);text-transform:uppercase;letter-spacing:.13em;
  font-weight:800;font-size:.7rem}
.impact-preview h3{font-family:var(--display);margin:.75rem 0 .5rem;font-size:1.65rem}
.impact-preview p{color:#c2c5d0;font-size:.95rem;line-height:1.55;margin:0 0 1.2rem}
.impact-preview .sp-continue{width:100%}
.secure-line{margin:1rem 0 0;color:var(--muted);font-size:.76rem;text-align:center}

/* ---------- Airtime scheduler ---------- */
.scheduler{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.8rem}
.step-label{display:flex;align-items:center;gap:.6rem;margin:0 0 .85rem;font-weight:700}
.step-label--gap{margin-top:1.6rem}
.step-number{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;
  background:var(--violet-600);color:#fff;font-size:.72rem;font-weight:800;flex:none}
.date-strip,.duration-strip{display:flex;gap:.5rem;flex-wrap:wrap}
.choice{cursor:pointer;padding:.65rem .8rem;border:1px solid var(--line);border-radius:11px;
  background:#171a29;color:#d8dbe3;font-weight:600;font-size:.82rem;font-family:var(--font);
  transition:.15s}
.choice:hover{border-color:var(--violet-600)}
.choice.active{border-color:var(--accent);background:var(--violet-900);color:#fff}
.step-hint{color:var(--muted);font-weight:500;font-size:.8rem}
.time-legend{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;
  margin:0 0 .7rem;color:var(--muted);font-size:.72rem}
.legend{display:flex;align-items:center;gap:.4rem}
.swatch{width:11px;height:11px;border-radius:3px;display:inline-block}
.swatch--open{background:var(--violet-900);border:1px solid var(--violet-900)}
.swatch--sel{background:var(--accent);border:1px solid var(--violet-200)}
.swatch--taken{background:#14161d;border:1px solid #22252e;opacity:.7}
.legend-tz{margin-left:auto;font-weight:600;color:var(--accent-2)}
/* 96 quarter-hour slots — compact 8-across grid, scrolling inside itself. */
.time-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.32rem;margin-top:.2rem;
  max-height:420px;overflow-y:auto;padding-right:.35rem}
.slot{cursor:pointer;min-height:34px;padding:.25rem .15rem;border:1px solid var(--violet-900);border-radius:8px;
  color:var(--violet-400);background:var(--violet-900);font-size:.66rem;font-weight:700;font-family:var(--font);
  font-variant-numeric:tabular-nums;transition:.12s}
.slot:hover:not(:disabled){background:var(--violet-900)}
.slot.selected{background:var(--violet-600);color:#fff;border-color:var(--violet-500);
  box-shadow:0 0 16px rgb(from var(--violet-200) r g b / .24)}
.slot.taken,.slot:disabled{cursor:not-allowed;background:#14161d;color:#555b69;
  border-color:#22252e;text-decoration:line-through}
.booking-card{position:sticky;top:92px;align-self:start;padding:1.4rem;
  border:1px solid var(--violet-600);border-radius:20px;
  background:linear-gradient(150deg,var(--violet-900),#11131d 70%)}
.booking-card h3{font-family:var(--display);margin:.4rem 0 .9rem;font-size:1.45rem}
.summary-line{display:flex;justify-content:space-between;gap:1.2rem;padding:.55rem 0;
  border-bottom:1px solid rgba(255,255,255,.08);color:var(--muted);font-size:.9rem}
.summary-line strong{color:#fff;text-align:right}
.sp-select-label{display:block;margin:1rem 0 0;color:var(--muted);font-size:.85rem;font-weight:600}
.sp-select-label .sp-field{margin-top:.4rem}
.price{display:flex;align-items:flex-end;justify-content:space-between;margin:1.3rem 0}
.price span{color:var(--muted);font-size:.9rem;line-height:1.35}
.price small{color:var(--muted);font-size:.72rem}
.price strong{font-family:var(--display);font-size:2.4rem;line-height:1;color:#fff}
.message-option{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.09)}
.sp-check{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer;font-size:.85rem;
  color:#d7d8e0;line-height:1.5}
.sp-check input{accent-color:var(--accent);margin-top:3px;flex:none}
.sp-check--gap{margin:1.1rem 0}
.message-fields{display:grid;gap:.55rem;margin-top:.85rem}
.message-fields[hidden]{display:none}
.sp-wide{width:100%;margin-top:1.1rem}
.sp-status{margin:.7rem 0 0;font-size:.88rem;color:var(--ok);text-align:center;min-height:1.2em}
.sp-status.is-err{color:var(--danger)}

/* ---------- Shortwave quote ---------- */
.sw-quote-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:1.8rem;align-items:start}
.sw-quote-title{font-family:var(--display);font-size:1.6rem;letter-spacing:-.02em;margin:.55rem 0 .7rem}
.region-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin:1.1rem 0 1.3rem}
.region{cursor:pointer;padding:1rem;border:1px solid var(--line);border-radius:13px;
  background:#171a29;color:#fff;text-align:left;font-family:var(--font);transition:.15s}
.region:hover{border-color:#75552d}
.region strong,.region span{display:block}
.region span{color:var(--muted);font-size:.76rem;margin-top:.15rem}
.region.selected{border-color:#ffbd65;background:#2c231a}
.quote-card{padding:1.5rem;border-radius:20px;border:1px solid #75552d;
  background:linear-gradient(145deg,#2b2119,var(--violet-900))}
.quote-card .eyebrow{color:#ffbd65}
.quote-card p{color:#cfbfab;font-size:.95rem;line-height:1.55}

/* ---------- Values / the promise ---------- */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.value{padding:1.4rem;border:1px solid var(--line);background:var(--panel);border-radius:17px}
.value strong{display:block;margin:.8rem 0 .35rem;font-size:1.02rem;font-family:var(--display)}
.value span{color:var(--muted);font-size:.85rem;line-height:1.5}
.value span a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px}
.value-ico{font-size:1.5rem;color:var(--accent-2)}
.value-ico--stripe svg{width:26px;height:26px;border-radius:6px;display:block}

/* ---------- Tax note + consent (legal — kept from the previous page) ------ */
.support-taxnote{display:flex;align-items:flex-start;gap:.55rem;max-width:660px;margin:1.15rem 0 0;
  color:var(--muted);font-size:.85rem;line-height:1.55}
.support-taxnote svg{width:16px;height:16px;flex:0 0 auto;margin-top:.15rem;color:var(--accent-2)}
.give-consent{margin:1.8rem 0 0;color:var(--muted);font-size:.85rem;line-height:1.5;max-width:640px}
.give-consent a{color:var(--accent-2);font-weight:600}
.give-consent a:hover{text-decoration:underline}

/* ---------- Embedded checkout overlay (unchanged) ---------- */
/* iOS Safari ignores overflow:hidden on <body>; position:fixed is what
   actually stops the page scrolling behind the checkout overlay. */
body.checkout-open{overflow:hidden;position:fixed;width:100%}
.checkout-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px}
.checkout-backdrop{position:absolute;inset:0;background:rgba(6,8,12,.7);backdrop-filter:blur(4px)}
.checkout-dialog{position:relative;width:100%;max-width:640px;max-height:92vh;overflow:auto;
  background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.checkout-close{position:absolute;top:8px;right:12px;z-index:2;background:rgba(0,0,0,.06);border:0;
  width:32px;height:32px;border-radius:50%;font-size:1.4rem;line-height:1;color:#333;cursor:pointer}
.checkout-close:hover{background:rgba(0,0,0,.12)}
#checkout{min-height:60px;padding:6px}
.checkout-loading{display:grid;place-items:center;min-height:230px}
.checkout-spinner{width:34px;height:34px;border-radius:50%;
  border:3px solid rgba(0,0,0,.14);border-top-color:#635bff;animation:ckspin .7s linear infinite}
@keyframes ckspin{to{transform:rotate(360deg)}}

/* ---------- Sponsor-an-hour ---------- */
.sp-builder--pad{padding:clamp(1.2rem,3vw,2rem)}
.week-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  margin:0 0 1.1rem;padding:.85rem 1.15rem;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(180deg,rgb(from var(--violet-200) r g b / .10),transparent)}
.week-banner-main{display:flex;align-items:center;gap:.85rem}
.week-ico{font-size:1.35rem;line-height:1}
.week-banner-main strong{display:block}
.week-banner-main span{display:block;color:var(--muted);font-size:.82rem;margin-top:.12rem}
.week-open{font-weight:700;font-size:.78rem;color:var(--accent-2);white-space:nowrap;
  border:1px solid var(--line);border-radius:999px;padding:.4rem .8rem}

/* Uniform hour buttons: three rows of eight, identical size + shape. */
.hour-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.45rem;margin-top:.2rem}
.hour-grid .choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;
  min-height:56px;padding:.4rem .2rem;text-align:center;line-height:1.1;font-variant-numeric:tabular-nums}
.hour-t{font-weight:700}
.hour-ap{font-size:.62rem;font-weight:600;opacity:.7}
.choice--sold{cursor:not-allowed;background:#14161d;color:#5b6270;border-color:#22252e}
.choice--sold:hover{border-color:#22252e}
.hour-sold{font-size:.55rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hour-hint{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:.75rem 0 0;color:var(--muted);font-size:.78rem}
.hour-hint .dot{width:10px;height:10px;border-radius:3px;display:inline-block}
.dot--open{background:var(--violet-600)}
.dot--sold{background:#22252e;border:1px solid #33384a}

/* Char counter + per-hour message editor */
.sp-count{margin:.35rem 0 0;text-align:right;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}
.sp-count.over{color:#ff8f8f}
.msg-mode{margin-top:1rem}
.msg-toggle{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.88rem;color:var(--text)}
.msg-toggle input{width:16px;height:16px;accent-color:var(--violet-500)}
.msg-toggle-sub{color:var(--muted);font-size:.78rem;margin:.35rem 0 0}
.hour-msgs{margin-top:.9rem;display:grid;gap:.8rem}
.hour-msg-row label{display:block;font-size:.76rem;font-weight:700;color:var(--accent-2);margin:0 0 .35rem}
.hour-msg-row textarea{min-height:60px}

/* ---------- Shortwave sponsor ---------- */
.sw-net{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.2rem}
.sw-net-card{cursor:pointer;text-align:left;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;
  background:#171a29;color:#fff;font-family:var(--font);transition:.15s}
.sw-net-card:hover{border-color:var(--violet-600)}
.sw-net-card.active{border-color:var(--accent);background:var(--violet-900);
  box-shadow:0 0 0 1px rgb(from var(--violet-200) r g b / .24)}
.sw-net-card strong{display:block;font-family:var(--display);font-size:1.25rem}
.sw-net-card span{display:block;color:var(--muted);font-size:.76rem;margin:.1rem 0 .5rem}
.sw-net-card em{font-style:normal;font-weight:700;font-size:.82rem;color:var(--accent-2)}
.sw-qty{display:flex;align-items:center;gap:.5rem;margin-top:.2rem}
.sw-qbtn{cursor:pointer;width:44px;height:44px;flex:none;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:11px;background:#171a29;color:#fff;
  font-size:1.4rem;font-weight:700;line-height:1;padding:0;transition:.15s}
.sw-qbtn:hover{border-color:var(--violet-600);background:var(--violet-900)}
.sw-qty-input{width:84px;height:44px;flex:none;text-align:center;padding:0 .4rem;margin:0;
  font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05rem}
/* Hide the native number spinners (they render dark/invisible on the dark field). */
.sw-qty-input::-webkit-outer-spin-button,
.sw-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sw-qty-input{-moz-appearance:textfield;appearance:textfield}
.sw-qty-note{color:var(--muted);font-size:.82rem}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .sp-hero-grid,.sp-impact,.builder-layout,.scheduler,.sw-quote-grid{grid-template-columns:1fr}
  .sp-visual{min-height:410px}
  .path-grid{grid-template-columns:1fr}
  .booking-card{position:static}
  .values-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .sp-visual{min-height:350px;transform:scale(.86);margin-inline:-30px}
  .amount-grid{grid-template-columns:1fr}
  .hour-grid{gap:.3rem}
  .hour-grid .choice{min-height:50px;padding:.35rem .1rem}
  .sw-net{grid-template-columns:1fr}
  .time-grid{grid-template-columns:repeat(4,1fr);max-height:340px}
  .values-grid{grid-template-columns:1fr}
}
