/* ============================================================
   ARGYN AUTO — styles.css
   argynauto.ca | Ontario, Canada
   ============================================================ */

/* ── Tokens ──────────────────────────────────────────────── */
:root {
  --bg:        #0B1220;
  --bg-2:      #111827;
  --bg-3:      #162032;
  --border:    #1F2937;
  --border-2:  #2D3748;
  --text:      #E2E8F0;
  --text-2:    #CBD5E1;
  --text-3:    #94A3B8;
  --text-4:    #4B5563;
  --accent:    #2563EB;
  --accent-h:  #1E40AF;
  --accent-2:  #3B82F6;
  --ok:        #10B981;
  --warn:      #F59E0B;
  --danger:    #EF4444;
  --white:     #ffffff;
  --font:      'Manrope', sans-serif;
  --page:      1200px;
  --ease:      cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Reset ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:62.5%;scroll-behavior:smooth}
body{font-family:var(--font);font-size:1.5rem;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:var(--font);cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
input,select,textarea{font-family:var(--font)}

/* ── Layout ──────────────────────────────────────────────── */
.wrap{max-width:var(--page);margin:0 auto;padding:0 2.4rem}
@media(min-width:768px){.wrap{padding:0 4.8rem}}
.section{padding:9rem 0}
@media(max-width:767px){.section{padding:6rem 0}}

/* ── Typography ──────────────────────────────────────────── */
.eyebrow{display:inline-block;font-size:1.1rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-2);margin-bottom:1.4rem}
.h-xl{font-size:clamp(3.8rem,6.5vw,6.8rem);font-weight:800;line-height:1.06;letter-spacing:-.04em;color:var(--white)}
.h-xl em{font-style:normal;color:var(--text-3);font-weight:300}
.h-lg{font-size:clamp(3rem,4.5vw,4.8rem);font-weight:700;line-height:1.12;letter-spacing:-.03em;color:var(--white)}
.h-md{font-size:clamp(2.4rem,3.2vw,3.4rem);font-weight:700;line-height:1.18;letter-spacing:-.025em;color:var(--white)}
.h-sm{font-size:2rem;font-weight:700;line-height:1.3;color:var(--white)}
.lead{font-size:1.7rem;color:var(--text-3);line-height:1.75;max-width:60rem}
.lead--c{margin:0 auto;text-align:center}

/* ── Section header ──────────────────────────────────────── */
.sec-head{margin-bottom:5.6rem}
.sec-head--c{text-align:center}
.sec-head--c .eyebrow{display:block}
.sec-head--c .lead{margin:1.6rem auto 0}
.sec-head .h-lg,.sec-head .h-md{margin-bottom:1.6rem}
.sec-head .lead{margin-top:1.6rem}

/* ── Buttons ─────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;padding:1.4rem 3.2rem;font-size:1.4rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border:1px solid transparent;transition:all .22s var(--ease);white-space:nowrap;cursor:pointer}
.btn-primary{background:var(--accent);color:var(--white);border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-h);border-color:var(--accent-h);transform:translateY(-2px);box-shadow:0 12px 30px rgba(37,99,235,.38)}
.btn-outline{background:transparent;color:var(--white);border-color:var(--border-2)}
.btn-outline:hover{border-color:var(--text-2);background:rgba(255,255,255,.04)}
.btn-white{background:var(--white);color:var(--accent);border-color:var(--white)}
.btn-white:hover{background:var(--text);border-color:var(--text);transform:translateY(-2px)}
.btn-lg{padding:1.8rem 4rem;font-size:1.55rem}
.btn-sm{padding:.9rem 2rem;font-size:1.2rem}
.btn-full{width:100%}

/* ── Announcement bar ────────────────────────────────────── */
#ann-bar{background:var(--accent);padding:1rem 2rem;text-align:center;font-size:1.25rem;font-weight:600;letter-spacing:.04em;color:var(--white)}
.ann-bar-inner{display:inline-flex;align-items:center;justify-content:center;gap:0}

/* ── Header ──────────────────────────────────────────────── */
#site-header{position:sticky;top:0;z-index:900;background:rgba(11,18,32,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:box-shadow .3s}
#site-header.scrolled{box-shadow:0 4px 40px rgba(0,0,0,.5)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:7rem}

/* Logo */
.logo{display:flex;align-items:center;gap:1.1rem;flex-shrink:0}
.logo-icon{width:3.8rem;height:3.8rem;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.7rem;flex-shrink:0}
.logo-wordmark{font-size:1.6rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--white)}
.logo-wordmark span{color:var(--accent-2)}

/* Desktop nav */
.nav-desktop{display:flex;align-items:center;gap:3rem}
@media(max-width:1059px){.nav-desktop{display:none}}
.nav-desktop a{font-size:1.2rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);transition:color .2s;padding:.5rem 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nav-desktop a:hover,.nav-desktop a.active{color:var(--white);border-bottom-color:var(--accent)}

/* Header right */
.header-right{display:flex;align-items:center;gap:1.4rem}
.burger{display:none;flex-direction:column;gap:.55rem;padding:.8rem;background:none;border:none;cursor:pointer}
@media(max-width:1059px){.burger{display:flex}}
.bl{display:block;width:2.2rem;height:.2rem;background:var(--text-2);transition:all .25s var(--ease)}
.burger.open .bl:nth-child(1){transform:translateY(.75rem) rotate(45deg)}
.burger.open .bl:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open .bl:nth-child(3){transform:translateY(-.75rem) rotate(-45deg)}

/* Mobile menu */
#mob-menu{display:none;position:fixed;inset:0;background:var(--bg);z-index:800;flex-direction:column;padding:9.5rem 3.2rem 3.2rem;overflow-y:auto}
#mob-menu.open{display:flex}
.mob-link{display:block;font-size:2.2rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);padding:1.5rem 0;border-bottom:1px solid var(--border);transition:color .2s}
.mob-link:hover{color:var(--white)}
.mob-cta{margin-top:3.5rem}

/* ── Hero ────────────────────────────────────────────────── */
#hero{min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden;background-size:cover;background-position:center center;background-repeat:no-repeat}
#hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,18,32,.92) 0%,rgba(11,18,32,.80) 50%,rgba(11,18,32,.65) 100%);z-index:0}
#hero>.hero-glow,#hero>.hero-lines,#hero>.wrap{position:relative;z-index:1}
.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 72% 62% at 66% 44%,rgba(37,99,235,.15) 0%,transparent 65%),radial-gradient(ellipse 48% 44% at 6% 82%,rgba(37,99,235,.08) 0%,transparent 62%);pointer-events:none}
.hero-lines{position:absolute;inset:0;opacity:.026;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;position:relative;z-index:1;padding:8rem 0}
@media(max-width:959px){.hero-inner{grid-template-columns:1fr;padding:6rem 0;gap:4rem}.hero-stats{display:none}}
.hero-badge{display:inline-flex;align-items:center;gap:.9rem;background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.32);padding:.55rem 1.6rem;font-size:1.12rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-2);margin-bottom:2.6rem}
.hero-badge-dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--accent-2);animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.7)}}
.hero-h{margin-bottom:2.2rem}
.hero-sub{font-size:1.7rem;color:var(--text-3);line-height:1.74;max-width:52rem;margin-bottom:4rem}
.hero-btns{display:flex;gap:1.4rem;flex-wrap:wrap}
.hero-stats{display:flex;flex-direction:column;gap:1.6rem}
.stat-card{padding:2.4rem 3rem;border:1px solid rgba(37,99,235,.38);background:rgba(37,99,235,.09);border-left:3px solid var(--accent);transition:border-color .22s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.stat-card--featured{border-left-color:var(--accent);background:rgba(37,99,235,.14);border-color:rgba(37,99,235,.5)}
.stat-card--trust{display:flex;align-items:center;gap:1.6rem;border-left-color:var(--ok)}
.stat-num{font-size:4.4rem;font-weight:800;letter-spacing:-.2rem;color:var(--white);line-height:1;margin-bottom:.5rem}
.stat-num strong{font-weight:800}
.stat-num--range{font-size:3.4rem;letter-spacing:-.1rem;display:flex;align-items:baseline;gap:.6rem}
.stat-num--range strong{font-weight:800}
.stat-unit{font-size:1.8rem;font-weight:600;color:var(--text-3);letter-spacing:0}
.stat-num-price{font-size:3.6rem;font-weight:800;letter-spacing:-.1rem;color:var(--white);line-height:1;margin-bottom:.5rem}
.stat-num-price strong{font-weight:800;font-size:4.8rem;letter-spacing:-.25rem}
.stat-lbl{font-size:1.12rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-4)}
.stat-trust-icon{font-size:2.2rem;flex-shrink:0}
.stat-trust-text{font-size:1.3rem;font-weight:600;color:var(--text-2);line-height:1.55}

/* ── Trust bar ───────────────────────────────────────────── */
#trust-bar{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2.4rem 0}
.trust-inner{display:flex;align-items:center;justify-content:center;gap:4rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:1rem;font-size:1.3rem;font-weight:600;color:var(--text-2);white-space:nowrap}
.trust-icon{font-size:1.7rem}
.trust-sep{width:1px;height:2.4rem;background:var(--border);flex-shrink:0}
@media(max-width:599px){.trust-sep{display:none}}

/* ── Why section ─────────────────────────────────────────── */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
@media(max-width:959px){.why-grid{grid-template-columns:1fr;max-width:54rem}}
@media(max-width:599px){.why-grid{grid-template-columns:1fr;gap:1.4rem;max-width:none}.why-card{padding:2.2rem}.why-title{font-size:1.9rem}.why-desc{font-size:1.45rem;line-height:1.72}}
.why-card{padding:3.6rem;border:1px solid var(--border);background:var(--bg-2);position:relative;overflow:hidden;transition:border-color .25s,transform .22s}
.why-card:hover{border-color:var(--border-2);transform:translateY(-4px)}
.why-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);opacity:0;transition:opacity .25s}
.why-card:hover::after{opacity:1}
.why-icon{width:5.4rem;height:5.4rem;background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.22);display:flex;align-items:center;justify-content:center;font-size:2.2rem;margin-bottom:2.2rem}
.why-title{font-size:1.7rem;font-weight:700;color:var(--white);margin-bottom:1rem}
.why-desc{font-size:1.38rem;color:var(--text-3);line-height:1.76}

/* ── Tagline strip ───────────────────────────────────────── */
.tagline-strip{background:var(--accent);padding:1.8rem 2rem;text-align:center}
.tagline-text{font-size:2.2rem;font-weight:700;color:var(--white);letter-spacing:-.01em}
.tagline-text em{font-style:normal;opacity:.85}
@media(max-width:599px){.tagline-text{font-size:1.7rem}}

/* ── Founder strip ─────────────────────────────────────── */
.founder-strip{margin-top:6rem;padding:4rem 5rem;border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--bg-2);border-radius:.4rem}
.founder-title{font-size:2.4rem;font-weight:700;color:var(--white);line-height:1.3;margin:1.2rem 0 2rem}
.founder-body{font-size:1.45rem;color:var(--text-3);line-height:1.8;margin-bottom:1.4rem}
.founder-sig{font-size:1.35rem;font-weight:600;color:var(--accent-2);margin-top:2rem;font-style:italic}
@media(max-width:767px){.founder-strip{padding:2.8rem 2.4rem}.founder-title{font-size:1.9rem}}

/* ── What we check ───────────────────────────────────────── */
.check-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border)}
@media(max-width:959px){.check-grid{grid-template-columns:repeat(2,1fr)}}
/* Mobile: always 2 columns (2×4 grid), never single column */
@media(max-width:499px){.check-grid{grid-template-columns:repeat(2,1fr)}}
.check-item{padding:3.2rem 2.8rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .2s}
.check-item:hover{background:var(--bg-2)}
.check-item:nth-child(4n){border-right:0}
@media(max-width:959px){.check-item:nth-child(4n){border-right:1px solid var(--border)}.check-item:nth-child(2n){border-right:0}}
@media(max-width:499px){.check-item{border-right:0}}
.check-icon{font-size:2.4rem;margin-bottom:1.4rem}
.check-title{font-size:1.4rem;font-weight:700;color:var(--white);margin-bottom:.6rem}
.check-desc{font-size:1.25rem;color:var(--text-3);line-height:1.66}

/* ── Testimonials ────────────────────────────────────────── */
.t-meta-bar{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-bottom:4.8rem}
.t-stars{font-size:1.7rem;letter-spacing:.1rem;color:var(--warn)}
.t-rating{font-size:1.5rem;font-weight:700;color:var(--white)}
.t-count{font-size:1.35rem;color:var(--text-4)}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
@media(max-width:959px){.t-grid{grid-template-columns:1fr;max-width:54rem}}
.t-card{padding:3.4rem;border:1px solid var(--border);background:var(--bg-2);display:flex;flex-direction:column;gap:2.4rem;transition:border-color .25s}
.t-card:hover{border-color:var(--border-2)}
.t-quote{font-size:1.42rem;color:var(--text-2);line-height:1.8;flex:1;position:relative;padding-top:1.2rem}
.t-quote::before{content:'"';position:absolute;top:0;left:0;font-size:4rem;line-height:.9;color:var(--accent-2);font-family:Georgia,serif}
.t-author{display:flex;align-items:center;gap:1.4rem;padding-top:2rem;border-top:1px solid var(--border)}
.t-avatar{width:4.6rem;height:4.6rem;border-radius:50%;border:1px solid var(--border);background:var(--bg-3);display:flex;align-items:center;justify-content:center;font-size:1.7rem;overflow:hidden;flex-shrink:0}
.t-avatar img{width:100%;height:100%;object-fit:cover}
.t-name{font-size:1.38rem;font-weight:700;color:var(--white)}
.t-detail{font-size:1.2rem;color:var(--text-3);margin-top:.25rem}
.t-card-stars{font-size:1.2rem;color:var(--warn);margin-top:.3rem}

/* ── Process ─────────────────────────────────────────────── */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
@media(max-width:959px){.process-grid{grid-template-columns:1fr 1fr}}
@media(max-width:599px){.process-grid{grid-template-columns:1fr}}
.process-card{border:1px solid var(--border);background:var(--bg-2);overflow:hidden;transition:border-color .25s,transform .22s}
.process-card:hover{border-color:var(--border-2);transform:translateY(-4px)}
.process-img{width:100%;aspect-ratio:16/10;background:var(--bg-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;position:relative;overflow:hidden}
.process-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.process-img-ph{display:flex;flex-direction:column;align-items:center;gap:.8rem;color:var(--text-4);position:relative;z-index:1}
.process-img-ph-icon{font-size:3.2rem}
.process-img-ph-lbl{font-size:1.1rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.process-body{padding:2.6rem}
.process-num{font-size:1.1rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-2);margin-bottom:.9rem}
.process-title{font-size:1.6rem;font-weight:700;color:var(--white);margin-bottom:.9rem}
.process-desc{font-size:1.32rem;color:var(--text-3);line-height:1.72}

/* ── Pricing ─────────────────────────────────────────────── */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;align-items:start}
@media(max-width:959px){.pricing-grid{grid-template-columns:1fr;max-width:46rem;margin:0 auto}}
.price-card{border:1px solid var(--border);background:var(--bg-2);padding:4rem 3.4rem;position:relative;transition:border-color .25s,transform .22s}
.price-card:hover{border-color:var(--border-2);transform:translateY(-4px)}
.price-card.featured{border-color:var(--accent);border-width:2px}
.price-card.featured:hover{border-color:var(--accent-2)}
.pop-badge{position:absolute;top:-1.4rem;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--white);font-size:1.1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.45rem 1.9rem;white-space:nowrap}
.pc-tier{font-size:1.1rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);margin-bottom:1rem}
.pc-name{font-size:2.1rem;font-weight:700;color:var(--white);margin-bottom:.5rem}
.pc-desc{font-size:1.32rem;color:var(--text-3);line-height:1.58;margin-bottom:2.8rem}
.pc-price{display:flex;align-items:flex-start;gap:.4rem;margin-bottom:.7rem}
.pc-cur{font-size:2rem;font-weight:300;color:var(--text-2);margin-top:1rem}
.pc-amount{font-size:6.8rem;font-weight:200;line-height:1;letter-spacing:-.4rem;color:var(--white)}
.pc-note{font-size:1.25rem;color:var(--text-3);margin-bottom:3.4rem}
.pc-feats{border-top:1px solid var(--border);margin-bottom:3.4rem}
.pf{display:flex;align-items:center;gap:1.3rem;padding:1.1rem 0;font-size:1.35rem;color:var(--text-2);border-bottom:1px solid var(--border)}
.pf:last-child{border-bottom:0}
.pf-ok{color:var(--ok);font-weight:700;font-size:1.1rem;width:1.8rem;flex-shrink:0}
.pf-no{color:var(--text-4);width:1.8rem;flex-shrink:0}
.pf-dim{color:var(--text-4)}

/* Compare table */
.compare-wrap{overflow-x:auto;margin-top:6rem}
.cmp-tbl{width:100%;border-collapse:collapse;font-size:1.32rem;min-width:580px}
.cmp-tbl th{padding:1.4rem 2rem;text-align:left;font-size:1.1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border)}
.cmp-tbl th.feat-col{background:var(--accent);color:var(--white)}
.cmp-tbl td{padding:1.3rem 2rem;border-bottom:1px solid rgba(31,41,55,.5);color:var(--text-2);vertical-align:middle}
.cmp-tbl tbody tr:hover{background:rgba(255,255,255,.015)}
.c-ok{color:var(--ok);font-size:1.4rem;text-align:center}
.c-no{color:var(--text-4);text-align:center}
.c-c{text-align:center}
.c-b{font-weight:700;color:var(--white)}

/* ── Sample report ───────────────────────────────────────── */
.report-box{border:1px solid var(--border);background:var(--bg);overflow:hidden}
.report-topbar{background:var(--accent);padding:2rem 2.8rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.report-brand{font-size:1.35rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--white)}
.report-vin{font-family:'Courier New',monospace;font-size:1.2rem;background:rgba(0,0,0,.22);color:rgba(255,255,255,.85);padding:.45rem 1.3rem;letter-spacing:.08em}
.report-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));border-bottom:1px solid var(--border)}
.rm{padding:2rem 2.4rem;border-right:1px solid var(--border)}
.rm:last-child{border-right:0}
.rm-lbl{font-size:1.1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);margin-bottom:.5rem}
.rm-val{font-size:1.42rem;font-weight:600;color:var(--white)}
.grade-b{color:var(--warn)}
.report-att{padding:2.8rem;border-bottom:1px solid var(--border)}
.att-title{font-size:1.5rem;font-weight:700;color:var(--white);margin-bottom:.5rem}
.att-note{font-size:1.2rem;color:var(--text-4);margin-bottom:2.2rem}
.att-cols{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
@media(max-width:599px){.att-cols{grid-template-columns:1fr}}
.att-col-title{font-size:1.1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.3rem}
.att-col-title.imm{color:var(--danger)}
.att-col-title.soon{color:var(--warn)}
.att-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;font-size:1.3rem;border-bottom:1px solid rgba(31,41,55,.4)}
.att-row:last-of-type{border-bottom:0}
.att-row.imm{color:var(--danger)}
.att-row.soon{color:var(--warn)}
.att-price{font-weight:700;white-space:nowrap}
.att-total{margin-top:1.6rem;font-size:1.48rem;font-weight:700;color:var(--white);border-top:1px solid var(--border);padding-top:1.2rem}
.report-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;border-bottom:1px solid var(--border)}
.rtab{padding:1.6rem 2rem;font-size:1.2rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border:none;background:none;color:var(--text-3);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .18s,border-color .18s}
.rtab:hover{color:var(--text-2)}
.rtab.active{color:var(--white);border-bottom-color:var(--accent)}
.report-pane{display:none;padding:3rem}
.report-pane.active{display:block}
.chk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:767px){.chk-grid{grid-template-columns:1fr 1fr}}
@media(max-width:499px){.chk-grid{grid-template-columns:1fr}}
.chk-card{border:1px solid var(--border);padding:2.2rem}
.chk-card-title{font-size:1.28rem;font-weight:700;color:var(--white);margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.chk-row{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.68rem 0;font-size:1.28rem;color:var(--text-3);border-bottom:1px solid rgba(31,41,55,.4)}
.chk-row:last-child{border-bottom:0}
.s-ok{color:var(--ok)}.s-warn{color:var(--warn)}.s-bad{color:var(--danger)}.s-na{color:var(--text-4);font-size:1.05rem;font-weight:600}
.chk-note{font-size:1.18rem;color:var(--text-3);padding:.9rem 1rem;margin-top:.9rem;background:rgba(37,99,235,.05);line-height:1.6;border-left:2px solid var(--accent)}
.report-legend{display:flex;gap:1.8rem;flex-wrap:wrap;margin-top:3.5rem}
.rl-box{border:1px solid var(--border);padding:2.2rem;flex:1;min-width:18rem;background:var(--bg-2)}
.rl-title{font-size:1.1rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:1.4rem}
.rl-grade{display:flex;align-items:flex-start;gap:1.2rem;margin-bottom:1.1rem}
.rl-letter{font-size:2.8rem;font-weight:200;line-height:1;min-width:2.8rem}
.rl-a{color:var(--ok)}.rl-b{color:var(--warn)}.rl-c{color:var(--danger)}
.rl-desc{font-size:1.3rem;color:var(--text-3);line-height:1.48}
.rl-desc strong{font-weight:700;color:var(--white);display:block}
.rl-icon-row{display:flex;align-items:center;gap:1.1rem;font-size:1.32rem;color:var(--text-3);margin-bottom:.9rem}
.tires-tbl{width:100%;border-collapse:collapse;font-size:1.3rem}
.tires-tbl th{padding:1.2rem 1.6rem;text-align:left;font-size:1.08rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(37,99,235,.15);color:var(--accent-2);border-bottom:1px solid var(--border)}
.tires-tbl td{padding:1.2rem 1.6rem;border-bottom:1px solid rgba(31,41,55,.45);color:var(--text-3)}
.tires-tbl tbody tr:hover{background:rgba(255,255,255,.018)}
.td-ok{color:var(--ok);font-weight:700}

/* ── FAQ ─────────────────────────────────────────────────── */
.faq-layout{display:grid;grid-template-columns:28rem 1fr;gap:9rem;align-items:start}
@media(max-width:999px){.faq-layout{grid-template-columns:1fr;gap:4.5rem}}
.faq-aside{position:sticky;top:9rem}
.faq-aside .lead{margin-bottom:3.2rem;font-size:1.5rem}
.faq-list{border:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:last-child{border-bottom:0}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.4rem 3.2rem;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:background .2s}
.faq-q:hover{background:rgba(255,255,255,.018)}
.faq-q.open{background:rgba(37,99,235,.07)}
.faq-q-text{font-size:1.52rem;font-weight:600;color:var(--white);line-height:1.42}
.faq-q.open .faq-q-text{color:var(--accent-2)}
.faq-toggle{width:3.4rem;height:3.4rem;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:300;color:var(--text-3);flex-shrink:0;transition:all .25s var(--ease);line-height:1;user-select:none}
.faq-q.open .faq-toggle{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:var(--white)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .38s var(--ease)}
.faq-ans.open{max-height:80rem}
.faq-ans-inner{padding:.4rem 3.2rem 3rem;font-size:1.47rem;color:var(--text-3);line-height:1.84}
@media(max-width:599px){.faq-q{padding:2rem 2.4rem}.faq-ans-inner{padding:.4rem 2.4rem 2.6rem}}

/* ── Booking / Contact ───────────────────────────────────── */
.booking-layout{display:grid;grid-template-columns:32rem 1fr;gap:8rem;align-items:start}
@media(max-width:999px){.booking-layout{grid-template-columns:1fr;gap:4.5rem}}
.booking-aside .lead{margin-bottom:3.8rem;font-size:1.5rem}
.bi-list{display:flex;flex-direction:column;gap:2.4rem;border-top:1px solid var(--border);padding-top:3.4rem}
.bi-item{display:flex;gap:1.8rem;align-items:flex-start}
.bi-icon{width:4.4rem;height:4.4rem;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.7rem;flex-shrink:0;background:var(--bg)}
.bi-lbl{font-size:1.1rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-4);margin-bottom:.35rem}
.bi-val{font-size:1.48rem;font-weight:600;color:var(--white)}
.bi-val a{color:var(--accent-2);transition:color .2s}
.bi-val a:hover{color:var(--white)}

/* Form tabs */
.form-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:4rem}
.ftab{padding:1.4rem 2.6rem;font-size:1.25rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;background:none;border:none;color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .2s,border-color .2s}
.ftab:hover{color:var(--text-2)}
.ftab.active{color:var(--white);border-bottom-color:var(--accent)}
.form-pane{display:none}
.form-pane.active{display:block}
.fields{display:flex;flex-direction:column;gap:2.2rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem}
@media(max-width:599px){.frow{grid-template-columns:1fr}}
.fgroup{display:flex;flex-direction:column;gap:.9rem}
.fgroup.full{grid-column:1/-1}
.fgroup label{font-size:1.15rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3)}
.fgroup label .req{color:var(--danger);margin-left:.2rem}
.fgroup input,.fgroup select,.fgroup textarea{width:100%;padding:1.4rem 1.8rem;background:var(--bg-2);border:1px solid var(--border);color:var(--white);font-size:1.45rem;outline:none;transition:border-color .2s var(--ease);-webkit-appearance:none;appearance:none;border-radius:0}
.fgroup input::placeholder,.fgroup textarea::placeholder{color:var(--text-4)}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color:var(--accent)}
.fgroup textarea{min-height:12rem;resize:vertical}
.fgroup select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath fill='none' stroke='%2394A3B8' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.6rem center;padding-right:4.6rem;cursor:pointer}
.fgroup select option{background:var(--bg-2);color:var(--white)}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-top:.6rem}
.form-privacy{font-size:1.2rem;color:var(--text-4);display:flex;align-items:center;gap:.7rem}
.form-success{display:none;text-align:center;padding:6rem 2rem;border:1px solid var(--border);background:var(--bg-2)}
.form-success-icon{font-size:4.2rem;margin-bottom:2rem}
.form-success h3{font-size:2.5rem;font-weight:700;color:var(--white);margin-bottom:1rem}
.form-success p{font-size:1.5rem;color:var(--text-3)}

/* ── CTA band ────────────────────────────────────────────── */
.cta-band{background:var(--accent);padding:7rem 0}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:3.5rem;flex-wrap:wrap}
.cta-band-inner h2{font-size:clamp(2.4rem,3.8vw,3.6rem);font-weight:700;color:var(--white);max-width:60rem;line-height:1.22}
.cta-btns{display:flex;gap:1.4rem;flex-wrap:wrap}

/* ── Footer ──────────────────────────────────────────────── */
#site-footer{background:var(--bg-2);border-top:1px solid var(--border);padding:7.5rem 0 3.5rem}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:5.5rem;margin-bottom:5.5rem}
@media(max-width:999px){.footer-grid{grid-template-columns:1fr 1fr;gap:4rem}}
@media(max-width:499px){.footer-grid{grid-template-columns:1fr;gap:3.5rem}}
.footer-brand p{font-size:1.38rem;color:var(--text-3);line-height:1.76;max-width:32rem;margin-top:1.8rem}
.footer-brand-sub{font-size:1.2rem;color:var(--text-4);margin-top:1rem}
.footer-col h4{font-size:1.1rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-4);margin-bottom:1.8rem}
.footer-col ul{display:flex;flex-direction:column;gap:1rem}
.footer-col a{font-size:1.38rem;color:var(--text-3);transition:color .2s;display:block}
.footer-col a:hover{color:var(--white)}
.footer-bottom{border-top:1px solid var(--border);padding-top:2.8rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2rem}
.footer-bottom p{font-size:1.22rem;color:var(--text-4)}
.footer-legal{display:flex;gap:2.8rem}
.footer-legal a{font-size:1.22rem;color:var(--text-4);transition:color .2s}
.footer-legal a:hover{color:var(--text-2)}

/* ── Utilities ───────────────────────────────────────────── */
.text-c{text-align:center}
.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.mt-4{margin-top:4rem}.mt-6{margin-top:6rem}
.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ── Report Executive Summary responsive ────────────────────── */
@media(max-width:899px){
  [style*="grid-template-columns:1fr 1fr 1fr 1fr"]{grid-template-columns:1fr 1fr!important}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr 1fr!important}
}
@media(max-width:599px){
  [style*="grid-template-columns:1fr 1fr 1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr!important}
  .report-topbar{flex-direction:column;align-items:flex-start}
  .report-meta{grid-template-columns:1fr 1fr}
}

/* ── Main Offer Block ───────────────────────────────────────── */
.main-offer-wrap {
  display: grid;
  grid-template-columns: 38rem 1fr;
  gap: 0;
  border: 1px solid var(--border);
  background: var(--bg-2);
  margin-bottom: 3.2rem;
  overflow: hidden;
}
@media(max-width:999px){ .main-offer-wrap{grid-template-columns:1fr} }

.main-offer-left {
  padding: 4.8rem;
  border-right: 1px solid var(--border);
  background: var(--bg);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media(max-width:999px){
  .main-offer-left{
    border-right:0;
    border-bottom:1px solid var(--border);
    padding:3.6rem 3.2rem;
  }
}
.main-offer-eyebrow {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--accent-2);
  margin-bottom: 2rem;
}
.main-offer-price {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  line-height: 1;
  margin-bottom: .8rem;
}
.main-offer-cur {
  font-size: 2.8rem;
  font-weight: 300;
  color: var(--text-2);
  margin-top: 1.4rem;
}
.main-offer-amount {
  font-size: 9.6rem;
  font-weight: 200;
  letter-spacing: -.6rem;
  color: var(--white);
}
.main-offer-flat {
  font-size: 1.32rem;
  color: var(--text-3);
  line-height: 1.65;
  border-top: 1px solid var(--border);
  padding-top: 1.6rem;
  margin-top: .4rem;
  width: 100%;
}
.main-offer-note {
  font-size: 1.2rem;
  color: var(--text-4);
  margin-top: 1.2rem;
}

/* Value stack */
.main-offer-right { padding: 4.2rem 4.8rem; }
@media(max-width:999px){ .main-offer-right{padding:3.2rem} }
.main-offer-stack-title {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text-4);
  margin-bottom: 2.4rem;
}
.main-offer-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.main-offer-stack li {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--border);
}
.main-offer-stack li:last-child { border-bottom: 0; }
.mos-ok {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ok);
  margin-top: .25rem;
  flex-shrink: 0;
  width: 1.6rem;
}
.main-offer-stack li div {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.main-offer-stack li strong {
  font-size: 1.42rem;
  font-weight: 700;
  color: var(--white);
}
.main-offer-stack li span {
  font-size: 1.28rem;
  color: var(--text-3);
  line-height: 1.55;
}

/* Value frame */
.value-frame {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--border);
  background: rgba(37,99,235,.06);
  margin-bottom: 5.6rem;
  overflow: hidden;
}
@media(max-width:767px){ .value-frame{flex-direction:column} }
.vf-item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1.8rem;
  padding: 2.4rem 3rem;
}
.vf-icon { font-size: 2.4rem; flex-shrink: 0; }
.vf-text { font-size: 1.38rem; color: var(--text-2); line-height: 1.62; }
.vf-sep {
  width: 1px;
  background: var(--border);
  flex-shrink: 0;
}
@media(max-width:767px){ .vf-sep{width:auto;height:1px} }

/* Secondary packages */
.secondary-packages {
  border-top: 1px solid var(--border);
  padding-top: 4.8rem;
}
.sp-label {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text-4);
  text-align: center;
  margin-bottom: 3rem;
}
.sp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  max-width: 80rem;
  margin: 0 auto;
}
@media(max-width:767px){ .sp-grid{grid-template-columns:1fr;max-width:40rem} }
.sp-card {
  padding: 2.8rem;
  border: 1px solid var(--border);
  background: var(--bg-2);
  display: flex;
  flex-direction: column;
  gap: .6rem;
  position: relative;
  opacity: .75;
  transition: opacity .2s, border-color .2s;
}
.sp-card:hover { opacity: 1; border-color: var(--border-2); }
.sp-card.sp-main {
  opacity: 1;
  border-color: var(--accent);
  border-width: 2px;
}
.sp-badge {
  position: absolute;
  top: -1.3rem;
  left: 50%;
  transform: translateX(-50%);
  background: var(--accent);
  color: var(--white);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .4rem 1.6rem;
  white-space: nowrap;
}
.sp-tier {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent-2);
}
.sp-price {
  font-size: 3.2rem;
  font-weight: 200;
  color: var(--white);
  letter-spacing: -.15rem;
  line-height: 1.1;
}
.sp-desc {
  font-size: 1.28rem;
  color: var(--text-3);
  line-height: 1.65;
  flex: 1;
  margin-top: .4rem;
}
.sp-btn { margin-top: 1.4rem; width: 100%; }

/* ── Main offer trust row ────────────────────────────────────── */
.main-offer-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  margin-top: 1.8rem;
  padding-top: 1.8rem;
  border-top: 1px solid var(--border);
  width: 100%;
}
.main-offer-trust span {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--text-3);
  display: flex;
  align-items: center;
  gap: .5rem;
}

/* ── Testimonials marquee ────────────────────────────────────── */
#testimonials { overflow: hidden; padding-bottom: 5.6rem; }
.marquee-wrap { overflow: hidden; position: relative; }
/* fade edges */
.marquee-wrap::before,
.marquee-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 12rem;
  z-index: 2;
  pointer-events: none;
}
.marquee-wrap::before { left: 0;  background: linear-gradient(90deg, var(--bg), transparent); }
.marquee-wrap::after  { right: 0; background: linear-gradient(-90deg, var(--bg), transparent); }
.marquee-track {
  display: flex;
  width: max-content;
}
.marquee-inner {
  display: flex;
  gap: 2.4rem;
  padding: 0 1.2rem;
  flex-shrink: 0;
}
/* Row 1 — scroll left (default) */
.marquee-left  { animation: scrollLeft  48s linear infinite; }
/* Row 2 — scroll right */
.marquee-right { animation: scrollRight 52s linear infinite; }
.marquee-wrap:hover .marquee-left,
.marquee-wrap:hover .marquee-right { animation-play-state: paused; }
@keyframes scrollLeft  { from { transform: translateX(0); }    to { transform: translateX(-50%); } }
@keyframes scrollRight { from { transform: translateX(-50%); } to { transform: translateX(0); } }

/* Review card */
.m-card {
  width: 36rem;
  flex-shrink: 0;
  padding: 3rem 3.2rem;
  border: 1px solid var(--border);
  background: var(--bg-2);
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
  transition: border-color .22s;
}
.m-card:hover { border-color: var(--border-2); }
.m-quote {
  font-size: 1.38rem;
  color: var(--text-2);
  line-height: 1.78;
  flex: 1;
  position: relative;
  padding-top: 1.4rem;
}
.m-quote::before {
  content: '\201C';
  position: absolute;
  top: 0; left: 0;
  font-size: 3.6rem;
  line-height: .9;
  color: var(--accent-2);
  font-family: Georgia, serif;
}
.m-author {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding-top: 1.8rem;
  border-top: 1px solid var(--border);
}
.m-avatar {
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 50%;
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: .04em;
  flex-shrink: 0;
}
.m-author > div:nth-child(2) { flex: 1; }
.m-name  { font-size: 1.35rem; font-weight: 700; color: var(--white); }
.m-city  { font-size: 1.18rem; color: var(--text-3); margin-top: .2rem; }
.m-stars { font-size: 1.15rem; color: var(--warn); letter-spacing: .05rem; flex-shrink: 0; }

/* Secondary packages 2-col */
.sp-grid--2 {
  grid-template-columns: 1fr 1fr;
  max-width: 64rem;
}
@media(max-width:767px) { .sp-grid--2 { grid-template-columns: 1fr; max-width: 40rem; } }

/* Reduce motion */
@media(prefers-reduced-motion: reduce) {
  .marquee-left, .marquee-right { animation: none; }
  .marquee-track { overflow-x: auto; }
  .marquee-inner { flex-wrap: nowrap; }
}

/* ── Hero location pin ───────────────────────────────────────── */
.hero-loc-pin {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  color: var(--accent-2);
  flex-shrink: 0;
}
.hero-loc-pin svg {
  width: 1rem;
  height: 1.3rem;
  position: relative;
  z-index: 1;
}
.hero-loc-pulse {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: rgba(59,130,246,.22);
  transform: translate(-50%, -50%);
  animation: locPulse 2.8s ease-out infinite;
}
@keyframes locPulse {
  0%   { transform: translate(-50%,-50%) scale(.4); opacity: .8; }
  70%  { transform: translate(-50%,-50%) scale(1.6); opacity: 0; }
  100% { transform: translate(-50%,-50%) scale(1.6); opacity: 0; }
}
/* Override old dot - hide if still present */
.hero-badge-dot { display: none; }

/* ── SVG check icons in What We Check ───────────────────────── */
.check-icon-svg {
  width: 4.8rem;
  height: 4.8rem;
  background: rgba(37,99,235,.1);
  border: 1px solid rgba(37,99,235,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  color: var(--accent-2);
  transition: background .22s, border-color .22s;
}
.check-icon-svg svg {
  width: 2rem;
  height: 2rem;
}
.check-item:hover .check-icon-svg {
  background: rgba(37,99,235,.18);
  border-color: rgba(37,99,246,.4);
}

/* ── Green checkmarks in pricing stack ──────────────────────── */
.mos-ok {
  color: var(--ok) !important;
  font-size: 1.2rem;
  font-weight: 700;
}

/* ── Trust bar location icon ─────────────────────────────────── */
.trust-icon-loc {
  display: inline-flex;
  align-items: center;
  color: var(--accent-2);
  margin-right: .2rem;
}
.trust-icon-loc svg { width: 1.1rem; height: 1.4rem; }

/* ── Consent checkbox ────────────────────────────────────────── */
.form-consent {
  margin-bottom: 2rem;
  padding: 1.8rem 2rem;
  background: rgba(37,99,235,.06);
  border: 1px solid rgba(37,99,235,.2);
}
.consent-label {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  cursor: pointer;
}
.consent-label input[type="checkbox"] {
  width: 1.8rem;
  height: 1.8rem;
  min-width: 1.8rem;
  margin-top: .2rem;
  accent-color: var(--accent);
  cursor: pointer;
}
.consent-text {
  font-size: 1.35rem;
  color: var(--text-3);
  line-height: 1.65;
}
.consent-text a {
  color: var(--accent-2);
  border-bottom: 1px solid rgba(59,130,246,.35);
  text-decoration: none;
  transition: color .2s;
}
.consent-text a:hover { color: var(--white); }
.consent-error {
  display: none;
  font-size: 1.2rem;
  color: var(--danger);
  font-weight: 600;
  margin-top: 1rem;
  padding-left: 3rem;
}
.consent-error.visible { display: block; }

/* ══════════════════════════════════════════════════════════════
   COMPACT REPORT PREVIEW
══════════════════════════════════════════════════════════════ */
.rpreview-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5.6rem;
  align-items: start;
}
.rpreview-card {
  border: 1px solid var(--border);
  background: var(--bg);
  overflow: hidden;
  position: relative;
}
.rpreview-header {
  background: var(--accent);
  padding: 1.4rem 2.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .8rem;
}
.rpreview-brand { font-size: 1.1rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.rpreview-vin { font-size: 1rem; font-family: monospace; background: rgba(0,0,0,.25); color: #fff; padding: .3rem .8rem; }
.rpreview-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--border);
}
.rpm-item { padding: 1.2rem 2rem; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.rpm-item:nth-child(even) { border-right: none; }
.rpm-lbl { font-size: 1rem; text-transform: uppercase; letter-spacing: .1em; color: var(--text-4); margin-bottom: .3rem; }
.rpm-val { font-size: 1.4rem; font-weight: 700; color: var(--text); }
.rpreview-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem 2.4rem;
  border-bottom: 1px solid var(--border);
  gap: 1.6rem;
}
.rps-verdict { display: flex; align-items: center; gap: 1.6rem; }
.rps-verdict-badge { font-size: 1.1rem; font-weight: 800; letter-spacing: .1em; padding: .5rem 1.2rem; background: rgba(245,158,11,.15); border: 1px solid rgba(245,158,11,.4); color: var(--warn); }
.rps-grade { font-size: 4rem; font-weight: 900; color: var(--warn); line-height: 1; }
.rps-stats { display: flex; gap: 2.4rem; }
.rps-stat { text-align: center; }
.rps-val { display: block; font-size: 2rem; font-weight: 800; }
.rps-val.danger { color: var(--danger); }
.rps-val.ok { color: var(--ok); }
.rps-lbl { font-size: 1rem; color: var(--text-4); text-transform: uppercase; letter-spacing: .08em; }
.rpreview-concerns { border-bottom: 1px solid var(--border); }
.rpc { display: flex; align-items: center; gap: 1.6rem; padding: 1.2rem 2.4rem; border-bottom: 1px solid var(--border); }
.rpc:last-child { border-bottom: none; }
.rpc.danger { border-left: 3px solid var(--danger); }
.rpc.warn { border-left: 3px solid var(--warn); }
.rpc-num { font-size: 1.1rem; font-weight: 800; color: var(--text-4); min-width: 2.4rem; }
.rpc-name { flex: 1; font-size: 1.35rem; font-weight: 600; }
.rpc.danger .rpc-name { color: var(--danger); }
.rpc.warn .rpc-name { color: var(--warn); }
.rpc-cost { font-size: 1.3rem; font-weight: 700; color: var(--text-3); }
.rpreview-blur {
  padding: 2.4rem;
  background: linear-gradient(to bottom, rgba(11,18,32,0) 0%, rgba(11,18,32,.96) 40%);
  text-align: center;
}
.rpreview-blur-content p { font-size: 1.3rem; color: var(--text-3); margin-bottom: 1.6rem; }

/* Right info panel */
.rpreview-info { padding: 1.6rem 0; }
.rpi-h { font-size: 2.6rem; font-weight: 800; line-height: 1.25; margin-bottom: 1.6rem; }
.rpi-body { font-size: 1.5rem; color: var(--text-3); margin-bottom: 2.4rem; line-height: 1.7; }
.rpi-list { list-style: none; padding: 0; margin: 0 0 3.2rem; display: flex; flex-direction: column; gap: 1.2rem; }
.rpi-list li { font-size: 1.45rem; color: var(--text-2); display: flex; align-items: flex-start; gap: 1rem; }
.rpi-ok { color: var(--ok); font-weight: 700; flex-shrink: 0; }
.rpi-actions { display: flex; gap: 1.6rem; flex-wrap: wrap; }

/* ── Mobile: report preview ── */
@media (max-width: 860px) {
  .rpreview-wrap { grid-template-columns: 1fr; gap: 3.2rem; }
}

/* ══════════════════════════════════════════════════════════════
   MOBILE FORM FIXES — compact 2-col on small screens
══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  /* Booking form — keep 2 col for paired fields */
  .frow { grid-template-columns: 1fr 1fr !important; gap: 1.2rem; }
  /* Single full-width fields */
  .frow.frow--full { grid-template-columns: 1fr !important; }
  /* Contact aside — hide secondary info on mobile to save space */
  .bi-item--secondary { display: none; }
  /* Form tabs — smaller text */
  .form-tab { font-size: 1.2rem; padding: .8rem 1.2rem; }
  /* Consent text smaller */
  .consent-text { font-size: 1.2rem; }
}
@media (max-width: 480px) {
  .frow { grid-template-columns: 1fr !important; }
}

/* ══════════════════════════════════════════════════════════════
   PROCESS SECTION — mobile horizontal cards
══════════════════════════════════════════════════════════════ */
.proc-slider-outer {
  display: none;
  margin-bottom: 4rem;
}
.proc-slider-wrap {
  display: flex;
  gap: 1.4rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.proc-slider-wrap::-webkit-scrollbar { display: none; }
.proc-slide {
  flex: 0 0 86%;
  max-width: 34rem;
  scroll-snap-align: start;
  border: 1px solid var(--border);
  background: var(--bg-2);
  overflow: hidden;
}
.proc-slide-image {
  width: 100%;
  aspect-ratio: 16/11;
  background: var(--bg-3);
}
.proc-slide-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.proc-slide-body {
  padding: 1.9rem 1.8rem 2rem;
}
.proc-slide-step {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--accent-2);
  margin-bottom: .9rem;
}
.proc-slide-title {
  font-size: 1.68rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.28;
  margin-bottom: .9rem;
}
.proc-slide-desc {
  font-size: 1.33rem;
  color: var(--text-3);
  line-height: 1.7;
}
.proc-dots {
  display: flex;
  gap: .8rem;
  justify-content: center;
  margin-top: 1.4rem;
}
.proc-dot {
  width: .6rem;
  height: .6rem;
  border-radius: 50%;
  background: var(--border);
  border: none;
  cursor: pointer;
  transition: background .2s;
  padding: 0;
}
.proc-dot.active { background: var(--accent-2); }

@media (max-width: 767px) {
  .process-grid { display: none !important; }
  .proc-slider-outer { display: block; }
}
@media (max-width: 420px) {
  .proc-slide { flex-basis: 88%; }
}

/* ── Ontario logo in announcement bar ───────────────────────── */
.ann-ontario-logo {
  height: 2.4rem;
  width: auto;
  vertical-align: middle;
  margin-right: .8rem;
  object-fit: contain;
  opacity: .95;
}

/* ── Company logo in nav ─────────────────────────────────────── */
.logo-img {
  height: 4.2rem;
  width: auto;
  max-width: 8rem;
  object-fit: contain;
  object-position: center;
  filter: brightness(1.3);
}

/* ── Why cards: SVG icons ────────────────────────────────────── */
.why-svg {
  width: 100%;
  height: 100%;
  color: var(--accent-2);
}
.why-icon {
  width: 5.2rem;
  height: 5.2rem;
  background: rgba(37,99,235,.1);
  border: 1px solid rgba(37,99,235,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.1rem;
  margin-bottom: 2rem;
  transition: background .25s, border-color .25s;
}
.why-card:hover .why-icon {
  background: rgba(37,99,235,.18);
  border-color: rgba(37,99,235,.4);
}

/* ── Report preview: PDF link extras ────────────────────────── */
.rpreview-blur-note {
  font-size: 1.25rem;
  color: var(--text-2);
  line-height: 1.6;
  margin-bottom: 1.6rem;
  text-align: center;
}
.rpreview-pdf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-size: 1.2rem;
  padding: 1.1rem 2rem;
  border-color: rgba(255,255,255,.25);
  color: var(--text);
  text-decoration: none;
  width: 100%;
}
.rpreview-pdf-btn:hover {
  border-color: var(--accent-2);
  color: var(--accent-2);
}
.rpi-actions {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
  margin-top: 2.8rem;
}
.rpi-actions .btn {
  flex: 1;
  min-width: 16rem;
  text-align: center;
  justify-content: center;
  font-size: 1.25rem;
}
@media (max-width: 600px) {
  .rpi-actions { flex-direction: column; }
  .rpi-actions .btn { min-width: unset; }
}

/* ── Check-card: tighter on small mobile ────────────────────── */
@media (max-width: 399px) {
  .check-name { font-size: 1.1rem; }
  .check-icon-svg { width: 2.4rem; height: 2.4rem; }
}

/* ── Ann bar Ontario logo placeholder ────────────────────────── */
.ann-logo-ph {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  vertical-align: middle;
  margin-right: .5rem;
  border: 1.5px dashed rgba(255,255,255,.45);
  border-radius: 3px;
  position: relative;
}
.ann-logo-ph::after {
  content: "?";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  color: rgba(255,255,255,.5);
  line-height: 1;
  text-align: center;
  padding-top: .1rem;
}

/* ── Price card: 199$ format ─────────────────────────────────── */
.stat-num-price {
  display: flex;
  align-items: baseline;
  gap: .2rem;
  font-size: 4.4rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.04em;
}
.stat-num-price strong { font-size: inherit; font-weight: inherit; }
.price-currency {
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--white);
}

/* ── Mobile: Ontario logo giant fix ──────────────────────────── */
@media (max-width: 640px) {
  #ann-bar { font-size: 1.15rem; padding: .65rem 1.6rem; }
  .ann-ontario-logo, .ann-logo-ph { 
    height: 1.3rem; width: 1.3rem; 
  }
}

/* ── Process grid img: fills box, crops nicely ────────────── */
.process-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  inset: 0;
  display: block;
}


/* Final audit updates */
.reviews-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.8rem; margin-top:2.4rem; }
.field-help { margin:.45rem 0 .8rem; font-size:1.2rem; color:var(--muted); line-height:1.45; }
@media (max-width: 980px) { .reviews-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) {
  .reviews-grid {
    display: flex;
    grid-template-columns: none;
    flex-wrap: nowrap;
    gap: 1.4rem;
    width: max-content;
    margin-top: 2.4rem;
    padding: 0;
  }
  .reviews-grid .m-card {
    width: min(86vw, 34rem);
    min-width: min(86vw, 34rem);
  }
  .reviews-grid.reviews-grid--marquee {
    animation: scrollLeft 34s linear infinite;
    will-change: transform;
  }
  #testimonials .wrap {
    overflow: hidden;
  }
}

/* ══════════════════════════════════════════════════════════════
   MOBILE OVERHAUL — 2026-04-10
   Professional mobile-first redesign for 80% phone traffic
══════════════════════════════════════════════════════════════ */

/* ── Global mobile: tighter sections, better rhythm ───────── */
@media (max-width: 767px) {
  .section { padding: 4.8rem 0; }
  .wrap { padding: 0 2rem; }
  .sec-head { margin-bottom: 3.6rem; }
  .sec-head .lead { font-size: 1.45rem; line-height: 1.7; }

  /* Slightly smaller headings on phone */
  .h-lg { font-size: clamp(2.4rem, 7vw, 3.2rem); }
  .h-md { font-size: clamp(2.2rem, 6vw, 2.8rem); }

  /* All cards: subtle rounding for mobile feel */
  .why-card,
  .process-card,
  .t-card,
  .price-card,
  .stat-card,
  .founder-strip,
  .report-box,
  .rpreview-card,
  .faq-list,
  .sp-card,
  .nb-form-card,
  .value-frame,
  .main-offer-wrap { border-radius: 1.2rem; }

  .proc-slide { border-radius: 1.2rem; }

  /* Buttons: bigger touch targets, rounded */
  .btn { padding: 1.5rem 2.8rem; font-size: 1.35rem; border-radius: .8rem; }
  .btn-lg { padding: 1.6rem 3rem; font-size: 1.4rem; }
}

/* ── Announcement bar: compact ────────────────────────────── */
@media (max-width: 767px) {
  #ann-bar { padding: .7rem 1.2rem; font-size: 1.05rem; letter-spacing: .02em; }
  .ann-bar-inner { gap: 0; line-height: 1.45; }
  .ann-ontario-logo { height: 1.2rem; margin-right: .5rem; }
}

/* ── Header: tighter ──────────────────────────────────────── */
@media (max-width: 767px) {
  .header-inner { height: 5.8rem; }
  .logo-img { height: 3.2rem; max-width: 6rem; }
  .logo-wordmark { font-size: 1.35rem; letter-spacing: .18em; }
  .header-right .btn { padding: .7rem 1.4rem; font-size: 1.1rem; border-radius: .6rem; }
}

/* ── Hero: show stats, tighter layout ─────────────────────── */
@media (max-width: 959px) {
  #hero {
    min-height: auto;
    background-image: url(../images/hero-bg-mobile.jpg) !important;
    background-position: center top;
  }
  .hero-inner { padding: 3.5rem 0 4.5rem; }
  .hero-badge { font-size: 1rem; padding: .45rem 1.2rem; margin-bottom: 1.8rem; border-radius: .6rem; }
  .hero-h { margin-bottom: 1.6rem; }
  .hero-sub { font-size: 1.45rem; line-height: 1.7; margin-bottom: 2.8rem; }
  .hero-btns { gap: 1rem; }
  .hero-btns .btn { width: 100%; text-align: center; justify-content: center; border-radius: .8rem; }
  .hero-btns .btn-lg { padding: 1.5rem 2rem; font-size: 1.35rem; }

  /* SHOW stat cards on mobile as 2x2 grid */
  .hero-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: .5rem;
  }
  .stat-card {
    padding: 1.6rem 1.8rem;
    border-radius: 1rem;
  }
  .stat-num { font-size: 2.8rem; }
  .stat-num--range { font-size: 2.2rem; gap: .4rem; }
  .stat-unit { font-size: 1.2rem; }
  .stat-num-price { font-size: 2.8rem; }
  .stat-num-price strong { font-size: inherit; }
  .price-currency { font-size: 2.2rem; }
  .stat-lbl { font-size: .95rem; letter-spacing: .1em; }
}
@media (max-width: 420px) {
  .hero-stats { gap: .8rem; }
  .stat-card { padding: 1.4rem 1.4rem; }
  .stat-num { font-size: 2.4rem; }
  .stat-num--range { font-size: 1.9rem; gap: .3rem; }
  .stat-unit { font-size: 1rem; }
  .stat-num-price { font-size: 2.4rem; }
  .price-currency { font-size: 1.9rem; }
}

/* ── Trust bar: horizontal scroll, no wrap ────────────────── */
@media (max-width: 767px) {
  #trust-bar { padding: 1.6rem 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .trust-inner { flex-wrap: nowrap; gap: 2rem; justify-content: flex-start; padding: 0 2rem; min-width: max-content; }
  .trust-item { font-size: 1.15rem; }
  .trust-sep { display: block !important; height: 1.8rem; }
}

/* ── Booking section: polish ──────────────────────────────── */
@media (max-width: 899px) {
  #booking { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }

  /* Form FIRST, contacts SECOND on mobile */
  .new-booking-layout { display: flex; flex-direction: column; }
  .nb-form-col { order: -1; }
  .nb-aside { order: 1; }

  /* Vibrant form card header */
  .nb-form-card { border-radius: 1.4rem; overflow: hidden; border-color: rgba(37,99,235,.35); }
  .nb-form-head {
    padding: 1.8rem 2rem;
    background: linear-gradient(135deg, var(--accent) 0%, #4f46e5 100%);
    border-bottom: none;
  }
  .nb-form-title { color: var(--white); }
  .nb-form-sub { color: rgba(255,255,255,.7); }
  .nb-dot { background: rgba(255,255,255,.25); }
  .nb-dot--active { background: var(--white); }
  .nb-form-head { padding: 1.6rem 2rem; }
  .nb-step { padding: 1.8rem 2rem; }
  .nb-field input, .nb-field select { padding: 1.2rem 1.4rem; font-size: 1.4rem; border-radius: .8rem; }
  .nb-continue-btn, .nb-submit-btn { padding: 1.4rem; font-size: 1.4rem; border-radius: .8rem; }
  .nb-cbtn { padding: 1.1rem .6rem; border-radius: .8rem; font-size: 1.2rem; }
  .nb-tag { font-size: 1.1rem; padding: .35rem .8rem; border-radius: .5rem; }
  .nb-hours-card { border-radius: .8rem; }
  .nb-icon-box { border-radius: 1rem; width: 4rem; height: 4rem; }
  .nb-report-link { border-radius: 1rem; padding: 1.4rem 1.6rem; }
  .nb-report-icon { border-radius: .8rem; width: 3.6rem; height: 3.6rem; }
}

/* ── Why section: tighter cards ───────────────────────────── */
@media (max-width: 767px) {
  .why-grid { gap: 1.2rem; }
  .why-card { padding: 2rem 1.8rem; border-radius: 1rem; }
  .why-icon { width: 4.4rem; height: 4.4rem; padding: .9rem; margin-bottom: 1.4rem; border-radius: .8rem; }
  .why-title { font-size: 1.6rem; margin-bottom: .6rem; }
  .why-desc { font-size: 1.35rem; line-height: 1.7; }

  /* Founder strip: readable on phone */
  .founder-strip { margin-top: 4rem; padding: 2.4rem 2rem; border-radius: 1rem; }
  .founder-title { font-size: 1.8rem; margin: 1rem 0 1.4rem; }
  .founder-body { font-size: 1.38rem; line-height: 1.75; margin-bottom: 1rem; }
  .founder-sig { font-size: 1.3rem; }
}

/* ── Process slider: polish ───────────────────────────────── */
@media (max-width: 767px) {
  .proc-slider-outer { margin-bottom: 0; }
  .proc-slide { border-radius: 1rem; max-width: none; }
  .proc-slide-image { aspect-ratio: 16/10; }
  .proc-slide-body { padding: 1.6rem 1.6rem 1.8rem; }
  .proc-slide-title { font-size: 1.55rem; }
  .proc-slide-desc { font-size: 1.3rem; }
  .proc-dots { margin-top: 1.6rem; }
  .proc-dot { width: .7rem; height: .7rem; }
}

/* ── Report preview: mobile fix ───────────────────────────── */
@media (max-width: 767px) {
  #report { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  #report .sec-head { margin-bottom: 2.4rem; }
  .rpreview-card { border-radius: 1rem; }
  .rpreview-header { padding: 1.2rem 1.6rem; flex-direction: column; align-items: flex-start; gap: .5rem; border-radius: 1rem 1rem 0 0; }
  .rpreview-brand { font-size: 1rem; }
  .rpreview-vin { font-size: .9rem; }
  .rpreview-summary { padding: 1.4rem 1.6rem; flex-direction: row; flex-wrap: wrap; }
  .rps-grade { font-size: 3rem; }
  .rps-val { font-size: 1.7rem; }
  .rpc { padding: 1rem 1.6rem; }
  .rpreview-blur { padding: 1.6rem; }
  .rpreview-blur-content p { font-size: 1.2rem; }

  /* Info panel */
  .rpi-h { font-size: 2.2rem; }
  .rpi-body { font-size: 1.4rem; }
  .rpi-list li { font-size: 1.35rem; }
  .rpi-actions { flex-direction: column; }
  .rpi-actions .btn { min-width: unset; border-radius: .8rem; }
}

/* ── Testimonials: clean scroll ───────────────────────────── */
@media (max-width: 767px) {
  #testimonials { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  #testimonials .sec-head { margin-bottom: 2.4rem; }
  .t-meta-bar { margin-bottom: 2rem; gap: 1rem; }
  .reviews-grid .m-card { border-radius: 1rem; }
}

/* ── Pricing / Main offer: mobile ─────────────────────────── */

/* Compact checklist on mobile — always visible */
@media (max-width: 999px) {
  .main-offer-stack li {
    padding: 1rem 0;
    gap: 1.2rem;
  }
  .main-offer-stack li strong { font-size: 1.32rem; }
  .main-offer-stack li span { font-size: 1.18rem; }
  .main-offer-stack-title { font-size: 1.05rem; margin-bottom: 1.6rem; }
}

@media (max-width: 767px) {
  .main-offer-wrap { border-radius: 1.2rem; }
  .main-offer-left { padding: 2.8rem 2.2rem; }
  .main-offer-amount { font-size: 7.2rem; }
  .main-offer-cur { font-size: 2.2rem; margin-top: 1rem; }
  .main-offer-right { padding: 2.4rem 2rem; }
  .main-offer-stack li { padding: 1.2rem 0; }

  /* Value frame */
  .value-frame { border-radius: 1rem; }
  .vf-item { padding: 1.8rem 2rem; gap: 1.4rem; }
  .vf-text { font-size: 1.3rem; }

  /* Included list */
  .main-offer-stack li strong { font-size: 1.35rem; }
  .main-offer-stack li span { font-size: 1.22rem; }

  /* Secondary packages */
  .sp-card { padding: 2.2rem; border-radius: 1rem; }
}

/* ── FAQ: mobile fix ──────────────────────────────────────── */
@media (max-width: 767px) {
  .faq-list { border-radius: 1rem; overflow: hidden; }
  .faq-q { padding: 1.6rem 1.8rem; }
  .faq-q-text { font-size: 1.38rem; }
  .faq-toggle { width: 2.8rem; height: 2.8rem; font-size: 1.6rem; border-radius: .6rem; }
  .faq-ans-inner { padding: .4rem 1.8rem 2rem; font-size: 1.35rem; }
  .faq-aside { position: static; }
  .faq-aside .lead { margin-bottom: 2rem; font-size: 1.35rem; }
  .faq-layout { gap: 2.5rem; }

  /* FAQ section buttons: tighter */
  #faq .btn { border-radius: .8rem; }
  #faq .sec-head { margin-bottom: 2.4rem; }
}

/* ── CTA band: full-width buttons ─────────────────────────── */
@media (max-width: 767px) {
  .cta-band { padding: 3.5rem 0; }
  .cta-band-inner { flex-direction: column; text-align: center; gap: 1.6rem; }
  .cta-band-inner h2 { font-size: clamp(2rem, 5.5vw, 2.6rem); }
  .cta-btns { width: 100%; flex-direction: column; gap: .8rem; }
  .cta-btns .btn { width: 100%; justify-content: center; border-radius: .8rem; }
}

/* ── Pricing / Main offer: tighter on mobile ──────────────── */
@media (max-width: 767px) {
  #pricing { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  #pricing .sec-head { margin-bottom: 3rem; }
  #pricing .sec-head .lead { font-size: 1.38rem; }
  /* Contact form */
  .booking-layout { gap: 2.4rem; }
  #contact { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  #contact .sec-head { margin-bottom: 2.4rem; }
  .form-tabs { margin-bottom: 2rem; }
  .ftab { padding: 1rem 1.4rem; font-size: 1.12rem; }
  .fgroup input, .fgroup select, .fgroup textarea {
    padding: 1.2rem 1.4rem;
    font-size: 1.4rem;
    border-radius: .6rem;
  }
  .fgroup textarea { min-height: 9rem; }

  /* Footer */
  #site-footer { padding: 3.5rem 0 2rem; }
  .footer-grid { margin-bottom: 2.8rem; gap: 2.4rem; }
  .footer-brand p { font-size: 1.25rem; }
  .footer-col a { font-size: 1.25rem; }
  .footer-col h4 { margin-bottom: 1.2rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 1rem; padding-top: 1.6rem; }
  .footer-legal { gap: 1.6rem; }
}

/* ── Mobile menu: polish ──────────────────────────────────── */
@media (max-width: 767px) {
  #mob-menu { padding: 7.5rem 2.4rem 3rem; }
  .mob-link { font-size: 1.9rem; padding: 1.3rem 0; }
  .mob-cta { margin-top: 2.5rem; }
  .mob-cta .btn { border-radius: .8rem; padding: 1.5rem; font-size: 1.4rem; }
}

/* ── Smooth scroll hint: subtle horizontal scroll indicator ─ */
@media (max-width: 767px) {
  .proc-slider-wrap,
  .reviews-grid {
    scroll-padding-left: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
