/* ==========================================================================
   VOGUE ELECTRICAL — SMOKE ALARM UPGRADES
   Single stylesheet. No build step, no framework.
   Sections: 1 Tokens  2 Base  3 Layout  4 Buttons  5 Header  6 Hero
             7 Sections  8 Packages  9 Why 10 Included 11 FAQ 12 Form
            13 Footer  14 Mobile bar  15 Responsive
   ========================================================================== */

/* ── 1. TOKENS ─────────────────────────────────────────────────────────── */
:root{
  --navy:#0d1b2a;
  --navy-800:#12253a;
  --ink:#16202b;
  --muted:#5a6675;
  --line:#e4dfd9;
  --paper:#ffffff;
  --pale:#f7f4f1;
  --pale-2:#efeae5;
  --flame:#ff5a1f;
  --flame-dark:#e04710;
  --flame-tint:#fff1eb;
  --green:#1c7a4f;

  --r-sm:8px; --r:14px; --r-lg:22px;
  --shadow-sm:0 1px 2px rgba(13,27,42,.06), 0 2px 8px rgba(13,27,42,.05);
  --shadow:0 4px 12px rgba(13,27,42,.07), 0 12px 32px rgba(13,27,42,.07);
  --shadow-lg:0 12px 28px rgba(13,27,42,.10), 0 28px 64px rgba(13,27,42,.10);

  --wrap:1160px;
  --font-head:"Barlow","Helvetica Neue",Arial,sans-serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

/* ── 2. BASE ───────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.65;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-head); line-height:1.12; letter-spacing:-.02em; margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5vw,3.6rem); font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem); font-weight:700}
h3{font-size:1.2rem; font-weight:700; letter-spacing:-.01em}
p{margin:0 0 1rem}
a{color:var(--flame-dark); text-decoration-thickness:1.5px; text-underline-offset:3px}
a:hover{color:var(--flame)}
img,svg{max-width:100%}
ul,ol{margin:0; padding:0}
:focus-visible{outline:3px solid var(--flame); outline-offset:3px; border-radius:4px}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--navy); color:#fff; padding:.8rem 1.2rem; border-radius:0 0 var(--r-sm) 0;
}
.skip-link:focus{left:0}

.eyebrow{
  font-family:var(--font-head); font-weight:700; font-size:.8rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--flame-dark);
  margin:0 0 .6rem;
}
.hl{color:var(--flame); white-space:nowrap}

/* Tick bullet */
.tick{
  flex:0 0 auto; width:20px; height:20px; margin-top:.22em; border-radius:50%;
  background:var(--flame-tint); position:relative; display:inline-block;
}
.tick::after{
  content:""; position:absolute; left:6.5px; top:4px;
  width:5px; height:9px; border:solid var(--flame-dark);
  border-width:0 2px 2px 0; transform:rotate(45deg);
}

/* ── 3. LAYOUT ─────────────────────────────────────────────────────────── */
.wrap{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:20px}
.wrap--narrow{max-width:800px}
.section{padding:clamp(3.5rem,7vw,6rem) 0}
.section--pale{background:var(--pale)}
.section--dark{background:var(--navy); color:#e8edf3}
.section--book{background:linear-gradient(180deg,var(--pale) 0%,#fff 100%)}
.section__head{max-width:760px; margin:0 0 2.6rem}
.section__sub{font-size:1.08rem; color:var(--muted); margin:0}
.section__head--light .section__sub{color:#9fb0c4}
.section--dark h2{color:#fff}

/* ── 4. BUTTONS ────────────────────────────────────────────────────────── */
.btn{
  --btn-bg:var(--navy); --btn-fg:#fff; --btn-bd:var(--navy);
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--font-head); font-weight:700; font-size:1rem; letter-spacing:.01em;
  padding:.72rem 1.35rem; border-radius:var(--r-sm); border:2px solid var(--btn-bd);
  background:var(--btn-bg); color:var(--btn-fg); text-decoration:none; cursor:pointer;
  transition:transform .12s ease, box-shadow .2s ease, background .2s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px); box-shadow:var(--shadow); color:var(--btn-fg)}
.btn:active{transform:translateY(0)}
.btn--primary{--btn-bg:var(--flame); --btn-bd:var(--flame); --btn-fg:#fff}
.btn--primary:hover{--btn-bg:var(--flame-dark); --btn-bd:var(--flame-dark)}
.btn--ghost{--btn-bg:transparent; --btn-fg:var(--navy); --btn-bd:rgba(13,27,42,.25)}
.btn--ghost:hover{--btn-bd:var(--navy)}
.section--dark .btn--ghost{--btn-fg:#fff; --btn-bd:rgba(255,255,255,.35)}
.btn--lg{font-size:1.08rem; padding:.95rem 1.8rem}
.btn--sm{font-size:.92rem; padding:.6rem 1rem}
.btn--block{display:flex; width:100%}
.btn--phone{--btn-bg:transparent; --btn-fg:var(--navy); --btn-bd:rgba(13,27,42,.18)}
.btn--phone:hover{--btn-bd:var(--flame); --btn-fg:var(--flame-dark)}
.ico{width:17px; height:17px}

/* ── 5. DEADLINE STRIP + HEADER ────────────────────────────────────────── */
.deadline-strip{background:var(--navy); color:#fff; font-size:.9rem; padding:.55rem 0}
.deadline-strip .wrap{display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; justify-content:center; text-align:center}
.deadline-strip strong{font-family:var(--font-head); font-weight:600; letter-spacing:.01em}
.deadline-strip__sub{color:#93a6bb}
.deadline-strip__dot{
  width:9px; height:9px; border-radius:50%; background:var(--flame); flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(255,90,31,.7); animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(255,90,31,.7)}
  70%{box-shadow:0 0 0 9px rgba(255,90,31,0)}
  100%{box-shadow:0 0 0 0 rgba(255,90,31,0)}
}

.site-header{position:sticky; top:0; z-index:60; background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.site-header__inner{display:flex; align-items:center; gap:1.5rem; min-height:74px}
.brand{display:flex; align-items:center; gap:.7rem; text-decoration:none; color:var(--navy); flex:0 0 auto}
/* Logo PNG has a white ground rather than alpha, so multiply drops it
   against the near-white header. */
.brand__mark{height:34px; width:auto; flex:0 0 auto; mix-blend-mode:multiply}
.brand__text{display:flex; flex-direction:column; line-height:1.15}
.brand__name{font-family:var(--font-head); font-weight:800; font-size:1.16rem; letter-spacing:-.01em}
.brand__tag{font-size:.72rem; color:var(--muted); letter-spacing:.03em}
.site-nav{display:flex; gap:1.6rem; margin-left:auto}
.site-nav a{
  font-family:var(--font-head); font-weight:600; font-size:.98rem;
  color:var(--ink); text-decoration:none; padding:.3rem 0; border-bottom:2px solid transparent;
}
.site-nav a:hover{color:var(--flame-dark); border-bottom-color:var(--flame)}

/* ── 6. HERO ───────────────────────────────────────────────────────────── */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(1000px 460px at 88% -10%, rgba(255,90,31,.13), transparent 62%),
    linear-gradient(180deg,#fbf9f7 0%,#fff 100%);
  padding:clamp(3rem,6vw,5.2rem) 0 clamp(3rem,6vw,5rem);
  border-bottom:1px solid var(--line);
}
.hero__inner{display:grid; grid-template-columns:1.35fr .85fr; gap:clamp(2rem,4vw,4rem); align-items:center}
.hero .lede{font-size:1.16rem; color:var(--muted); max-width:56ch}
.hero__cta{display:flex; gap:.8rem; flex-wrap:wrap; margin:1.8rem 0 1.6rem}
.hero__trust{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:.55rem 1.4rem; font-size:.97rem}
.hero__trust li{display:flex; gap:.55rem; align-items:flex-start; font-weight:500}

.hero__card{
  background:var(--navy); color:#fff; border-radius:var(--r-lg); padding:1.9rem;
  box-shadow:var(--shadow-lg); position:relative; overflow:hidden;
}
.hero__card::before{
  content:""; position:absolute; inset:auto -40px -70px auto; width:200px; height:200px;
  background:radial-gradient(circle,rgba(255,90,31,.35),transparent 70%);
}
.hero__card-label{
  font-family:var(--font-head); font-size:.78rem; letter-spacing:.14em;
  text-transform:uppercase; color:#9fb0c4; margin:0 0 1rem;
}
.countdown{display:flex; gap:.6rem; margin-bottom:1.2rem}
.countdown__unit{
  flex:1; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13);
  border-radius:var(--r); padding:.85rem .4rem; text-align:center;
}
.countdown__num{
  display:block; font-family:var(--font-head); font-weight:800;
  font-size:clamp(1.7rem,3.4vw,2.3rem); line-height:1; color:#fff;
  font-variant-numeric:tabular-nums;
}
.countdown__lbl{display:block; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#9fb0c4; margin-top:.4rem}
.hero__card-note{font-size:.95rem; color:#c7d3e0; margin:0 0 1.2rem; position:relative}
.hero__card-foot{
  border-top:1px solid rgba(255,255,255,.14); padding-top:.9rem;
  font-size:.86rem; color:#9fb0c4; position:relative;
}

/* ── 7. THE LAW ────────────────────────────────────────────────────────── */
.law-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem}
.law-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:1.5rem 1.4rem; box-shadow:var(--shadow-sm); position:relative;
}
.law-card__num{
  font-family:var(--font-head); font-weight:800; font-size:.85rem;
  color:var(--flame); letter-spacing:.08em; display:block; margin-bottom:.5rem;
}
.law-card h3{margin-bottom:.35rem}
.law-card p{margin:0; font-size:.96rem; color:var(--muted)}
.law-foot{
  margin:1.8rem 0 0; padding:1.1rem 1.3rem; background:var(--flame-tint);
  border-left:4px solid var(--flame); border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:1rem;
}

/* ── 8. PACKAGES ───────────────────────────────────────────────────────── */
.bedroom-picker{display:grid; grid-template-columns:repeat(6,1fr); gap:.75rem; margin-bottom:1.8rem}
.bedroom{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.15rem; padding:1.35rem .5rem 1.15rem; cursor:pointer;
  background:#fff; border:2px solid var(--line); border-radius:var(--r);
  font-family:var(--font-head); transition:all .15s ease; text-align:center;
  box-shadow:var(--shadow-sm); color:var(--ink);
}
.bedroom:hover{border-color:var(--navy); transform:translateY(-2px); box-shadow:var(--shadow)}
.bedroom__num{font-size:2rem; font-weight:800; line-height:1}
.bedroom__lbl{font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted)}
.bedroom__price{font-size:.92rem; font-weight:700; color:var(--flame-dark); margin-top:.3rem}
.bedroom[aria-checked="true"]{
  border-color:var(--flame); background:var(--flame-tint);
  box-shadow:0 0 0 4px rgba(255,90,31,.14), var(--shadow);
}
.bedroom[aria-checked="true"] .bedroom__lbl{color:var(--flame-dark)}
.bedroom__tag{
  position:absolute; top:-11px; left:50%; transform:translateX(-50%);
  background:var(--navy); color:#fff; font-size:.63rem; font-weight:700;
  letter-spacing:.09em; text-transform:uppercase; padding:.22rem .55rem; border-radius:99px;
  white-space:nowrap;
}

.quote{
  display:grid; grid-template-columns:1fr 1.15fr; gap:0;
  border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--shadow); background:#fff;
}
.quote__main{
  background:var(--navy); color:#fff; padding:2.2rem 2rem;
  display:flex; flex-direction:column; justify-content:center;
  background-image:radial-gradient(600px 240px at 110% -20%, rgba(255,90,31,.28), transparent 60%);
}
.quote__eyebrow{
  font-family:var(--font-head); font-weight:600; font-size:.95rem;
  letter-spacing:.08em; text-transform:uppercase; color:#9fb0c4; margin:0 0 .3rem;
}
.quote__price{
  font-family:var(--font-head); font-weight:800; line-height:1; margin:0 0 .7rem;
  font-size:clamp(3rem,7vw,4.4rem); display:flex; align-items:flex-start; gap:.1em;
  font-variant-numeric:tabular-nums;
}
.quote__cur{font-size:.44em; margin-top:.35em; color:var(--flame)}
.quote__note{font-size:.92rem; color:#b9c7d6; margin:0}
.quote__detail{padding:2rem}
.quote__detail-head{
  font-family:var(--font-head); font-weight:700; font-size:.8rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 .9rem;
}
.quote__list{list-style:none; display:grid; gap:.55rem; margin:0 0 1.5rem; font-size:1rem}
.quote__list li{display:flex; gap:.6rem; align-items:flex-start}
#quoteAltCta{margin-top:.6rem}
.quote__secure{text-align:center; font-size:.85rem; color:var(--muted); margin:.8rem 0 0; line-height:1.5}
.packages__foot{
  margin:1.8rem auto 0; max-width:760px; text-align:center;
  font-size:.98rem; color:var(--muted);
}
.noscript-msg{grid-column:1/-1; padding:1rem; background:var(--pale); border-radius:var(--r)}

/* ── 8b. ADD-ON CARD ───────────────────────────────────────────────────── */
.addon{
  display:grid; grid-template-columns:150px 1fr 210px; gap:1.6rem; align-items:center;
  margin-top:1.2rem; padding:1.4rem 1.6rem;
  background:#fff; border:1px solid var(--line); border-left:4px solid var(--flame);
  border-radius:var(--r); box-shadow:var(--shadow-sm);
}
.addon--nomedia{grid-template-columns:1fr 210px}
.addon__media{
  background:var(--pale); border-radius:var(--r-sm); aspect-ratio:1;
  display:grid; place-items:center; overflow:hidden;
}
.addon__media img{width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transform:scale(1.22)}
.addon__eyebrow{
  font-family:var(--font-head); font-weight:700; font-size:.72rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--flame-dark); margin:0 0 .25rem;
}
.addon__body h3{margin:0 0 .4rem; font-size:1.25rem}
.addon__blurb{margin:0 0 .7rem; color:var(--muted); font-size:.98rem}
.addon__list{list-style:none; display:grid; gap:.3rem; font-size:.93rem}
.addon__list li{display:flex; gap:.5rem; align-items:flex-start}
.addon__buy{text-align:center}
.addon__price{
  font-family:var(--font-head); font-weight:800; font-size:2.4rem; line-height:1;
  margin:0 0 .7rem; display:flex; justify-content:center; align-items:flex-start; gap:.08em;
  font-variant-numeric:tabular-nums;
}
.addon__cur{font-size:.46em; margin-top:.3em; color:var(--flame)}
.addon__note{font-size:.78rem; color:var(--muted); margin:.6rem 0 0; line-height:1.45}
.btn--dark{--btn-bg:var(--navy); --btn-bd:var(--navy); --btn-fg:#fff}
.btn--dark:hover{--btn-bg:var(--navy-800); --btn-bd:var(--navy-800)}

/* ── 9. WHY US ─────────────────────────────────────────────────────────── */
.why-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem}
.why-card{
  background:var(--navy-800); border:1px solid rgba(255,255,255,.09);
  border-radius:var(--r); padding:1.8rem;
}
.why-card__ico{
  width:44px; height:44px; border-radius:12px; background:rgba(255,90,31,.15);
  display:grid; place-items:center; color:var(--flame); margin-bottom:1rem;
}
.why-card__ico svg{width:24px; height:24px}
.why-card h3{color:#fff; margin-bottom:.5rem; font-size:1.28rem}
.why-card p{margin:0; color:#aebdcd; font-size:1rem}
/* Fifth card closes the row full-width; cap the measure so the line
   length stays readable across the whole grid. */
.why-card--wide{grid-column:1/-1}
.why-card--wide p{max-width:68ch}

/* ── 10. INCLUDED / STEPS ──────────────────────────────────────────────── */
.split{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,4vw,3.5rem); align-items:start}
.check-list{list-style:none; display:grid; gap:.85rem; margin-top:1.5rem}
.check-list li{display:flex; gap:.7rem; align-items:flex-start; font-size:1.02rem}
.check-list strong{font-weight:600}

/* Product photo in the "what's included" column */
.product-shot{
  width:100%; max-width:230px; margin:0 auto 1.2rem;
  background:var(--pale); border-radius:var(--r); padding:.9rem .9rem .2rem;
}
.product-shot img{width:100%; height:auto; display:block; mix-blend-mode:multiply; transform:scale(1.12)}
.product-shot figcaption{
  font-size:.78rem; color:var(--muted); line-height:1.45;
  padding:.5rem .1rem .8rem; border-top:1px solid var(--line); margin-top:.4rem;
}

.steps{background:var(--pale); border-radius:var(--r-lg); padding:2rem 1.9rem}
.steps__head{
  font-family:var(--font-head); font-weight:700; font-size:.8rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--flame-dark); margin:0 0 1.4rem;
}
.steps__list{list-style:none; counter-reset:step; display:grid; gap:1.4rem}
.steps__list li{counter-increment:step; position:relative; padding-left:3.1rem}
.steps__list li::before{
  content:counter(step); position:absolute; left:0; top:-2px;
  width:2.2rem; height:2.2rem; border-radius:50%; background:var(--navy); color:#fff;
  display:grid; place-items:center; font-family:var(--font-head); font-weight:800; font-size:1rem;
}
.steps__list li::after{
  content:""; position:absolute; left:1.1rem; top:2.4rem; bottom:-1.4rem; width:2px;
  background:var(--line);
}
.steps__list li:last-child::after{display:none}
.steps__list h3{font-size:1.05rem; margin-bottom:.2rem}
.steps__list p{margin:0; font-size:.95rem; color:var(--muted)}

/* ── 11. FAQ ───────────────────────────────────────────────────────────── */
.faq{display:grid; gap:.6rem}
.faq__item{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; box-shadow:var(--shadow-sm);
}
.faq__item summary{
  cursor:pointer; list-style:none; padding:1.1rem 3rem 1.1rem 1.3rem;
  font-family:var(--font-head); font-weight:600; font-size:1.06rem; position:relative;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:""; position:absolute; right:1.3rem; top:1.45rem; width:9px; height:9px;
  border-right:2px solid var(--flame); border-bottom:2px solid var(--flame);
  transform:rotate(45deg); transition:transform .2s ease;
}
.faq__item[open] summary::after{transform:rotate(-135deg); top:1.6rem}
.faq__item[open] summary{background:var(--flame-tint)}
.faq__body{padding:0 1.3rem 1.2rem; border-top:1px solid var(--line)}
.faq__body p{margin:1rem 0 0; color:var(--muted); font-size:1rem}

/* ── 12. FORM ──────────────────────────────────────────────────────────── */
.form{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(1.5rem,3vw,2.4rem); box-shadow:var(--shadow);
}
.form__row{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
.field{margin-bottom:1.1rem}
.field label,.fieldset legend{
  display:block; font-family:var(--font-head); font-weight:600;
  font-size:.95rem; margin-bottom:.4rem; padding:0;
}
.req{color:var(--flame-dark)}
.field input,.field select,.field textarea{
  width:100%; font-family:var(--font-body); font-size:1rem; color:var(--ink);
  padding:.75rem .9rem; border:2px solid var(--line); border-radius:var(--r-sm);
  background:#fff; transition:border-color .15s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--flame); outline:none}
.field textarea{resize:vertical}
.fieldset{border:0; margin:0 0 1.1rem; padding:0}
.checks{display:grid; gap:.5rem}
.check{
  display:flex; gap:.65rem; align-items:flex-start; padding:.7rem .9rem;
  border:2px solid var(--line); border-radius:var(--r-sm); cursor:pointer; font-size:.97rem;
  transition:border-color .15s ease, background .15s ease;
}
.check:hover{border-color:rgba(13,27,42,.3)}
.check input{width:auto; margin:.25rem 0 0; accent-color:var(--flame); flex:0 0 auto}
.check:has(input:checked){border-color:var(--flame); background:var(--flame-tint)}
.hp-field{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form__foot{font-size:.86rem; color:var(--muted); text-align:center; margin:.9rem 0 0}
.form__status{
  margin:.9rem 0 0; text-align:center; font-weight:600; font-size:.95rem; min-height:1.2em;
}
.form__status--ok{color:var(--green)}
.form__status--err{color:var(--flame-dark)}

/* ── 13. FOOTER ────────────────────────────────────────────────────────── */
.site-footer{background:var(--navy); color:#a8b8c9; padding:3rem 0 1.5rem; font-size:.95rem}
.site-footer__inner{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem}
.site-footer p{margin:0 0 .4rem}
.site-footer a{color:#dbe4ee; text-decoration:none}
.site-footer a:hover{color:var(--flame); text-decoration:underline}
.site-footer__brand{font-family:var(--font-head); font-weight:800; font-size:1.25rem; color:#fff; margin-bottom:.6rem}
.site-footer__head{
  font-family:var(--font-head); font-weight:700; font-size:.78rem; letter-spacing:.12em;
  text-transform:uppercase; color:#fff; margin-bottom:.7rem;
}
.site-footer__legal{
  border-top:1px solid rgba(255,255,255,.12); margin-top:2.4rem; padding-top:1.3rem;
  font-size:.82rem; color:#7f92a6;
}
.site-footer__legal p{margin:0 0 .5rem}

/* ── 14. MOBILE BAR ────────────────────────────────────────────────────── */
.mobile-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:70; display:none; gap:.6rem;
  padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.97); border-top:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.mobile-bar .btn{flex:1}

/* ── 15. RESPONSIVE ────────────────────────────────────────────────────── */
@media (max-width:1020px){
  .hero__inner{grid-template-columns:1fr}
  .hero__card{max-width:520px}
  .law-grid{grid-template-columns:repeat(2,1fr)}
  .site-nav{display:none}
  .split{grid-template-columns:1fr}
}
@media (max-width:820px){
  .quote{grid-template-columns:1fr}
  .addon{grid-template-columns:110px 1fr; gap:1.1rem}
  .addon--nomedia{grid-template-columns:1fr}
  .addon__buy{grid-column:1/-1; display:flex; align-items:center; gap:1rem; text-align:left}
  .addon__price{margin:0}
  .addon__buy .btn{flex:1}
  .addon__note{display:none}
  .why-grid{grid-template-columns:1fr}
  .bedroom-picker{grid-template-columns:repeat(3,1fr)}
  .site-footer__inner{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  body{font-size:16px}
  .deadline-strip{font-size:.82rem; padding:.5rem 0}
  .deadline-strip .wrap{flex-wrap:nowrap; gap:.45rem}
  .deadline-strip__sub{display:none}
  .btn--phone span{display:none}
  .btn--phone{padding:.6rem .8rem}
  .brand__mark{height:28px}
  .hero__trust{grid-template-columns:1fr}
  .product-shot{max-width:180px; margin:0 auto 1.2rem}
  .addon,.addon--nomedia{grid-template-columns:1fr; text-align:center; padding:1.3rem}
.addon__media{width:130px; margin:0 auto; aspect-ratio:1}
  .addon__list{text-align:left; max-width:280px; margin-inline:auto}
  .addon__buy{flex-direction:column; text-align:center}
  .form__row{grid-template-columns:1fr}
  .site-footer__inner{grid-template-columns:1fr}
  .mobile-bar{display:flex}
  main{padding-bottom:4.5rem}
  .hero__cta .btn{flex:1}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important}
}
@media print{
  .deadline-strip,.mobile-bar,.site-header,.hero__card{display:none}
  body{font-size:12pt}
}
