/* ============================================================
   Carpet Cleaning Report — Elevated experience layer (2026+)
   Loaded AFTER styles.css. Adds motion, interactivity, and the
   signature components (counters, before/after, estimator,
   red-flag checker, spotlight cards). Relies on :root tokens
   from styles.css. Fully degrades with prefers-reduced-motion.
   ============================================================ */

/* ---------- scroll progress ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:80;
  background:linear-gradient(90deg,var(--brand),var(--gold));box-shadow:0 0 12px rgba(192,102,74,.5);transition:width .12s linear;}

/* ---------- animated mesh hero bg ---------- */
.hero--xl{position:relative;overflow:clip;padding:96px 0 84px;}
/* interior page heroes can host the same mesh */
.page-hero{position:relative;overflow:clip;}
.page-hero .mesh{opacity:.6;inset:-40% -10%;}
.mesh{position:absolute;inset:-20% -10%;z-index:-1;filter:blur(46px);opacity:.9;}
.mesh span{position:absolute;border-radius:50%;mix-blend-mode:multiply;animation:drift 22s var(--ease) infinite alternate;}
.mesh .b1{width:46vw;height:46vw;left:-6%;top:-10%;background:radial-gradient(circle at 30% 30%,rgba(192,102,74,.55),transparent 65%);}
.mesh .b2{width:42vw;height:42vw;right:-8%;top:-6%;background:radial-gradient(circle at 60% 40%,rgba(199,154,78,.45),transparent 65%);animation-delay:-7s;}
.mesh .b3{width:40vw;height:40vw;left:30%;bottom:-24%;background:radial-gradient(circle at 50% 50%,rgba(46,125,79,.35),transparent 65%);animation-delay:-13s;}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(4%,3%,0) scale(1.08)}100%{transform:translate3d(-3%,-4%,0) scale(.96)}}
.hero--xl h1{font-size:clamp(40px,7vw,82px);line-height:1.0;letter-spacing:-.025em;}
.hero--xl h1 em{font-style:italic;color:var(--brand);}
.hero-sub{font-size:clamp(17px,2.2vw,21px);color:var(--ink-soft);max-width:44ch;margin:24px 0 30px;}

/* word-by-word reveal */
.rw{display:inline-block;overflow:hidden;vertical-align:top;}
.rw > span{display:inline-block;transform:translateY(110%);transition:transform .8s var(--ease);}
.is-in .rw > span{transform:translateY(0);}
.hero--xl h1 .rw{padding:0 .01em;}

/* ---------- magnetic buttons ---------- */
.magnetic{will-change:transform;transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);}

/* ---------- big stat counters ---------- */
.statline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;}
.statline .s{background:rgba(255,255,255,.62);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:20px 18px;box-shadow:var(--shadow-sm);}
.statline .n{font-family:var(--display);font-weight:600;font-size:clamp(26px,3.4vw,38px);color:var(--brand);line-height:1;letter-spacing:-.02em;}
.statline .l{font-size:13px;color:var(--ink-faint);margin-top:6px;line-height:1.3;}

/* ---------- glass card ---------- */
.glass{background:rgba(255,255,255,.7);backdrop-filter:saturate(150%) blur(14px);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-lg);}

/* hero report card */
.reportcard{position:relative;border-radius:22px;padding:26px;}
.reportcard .cover{aspect-ratio:4/5;border-radius:14px;background:linear-gradient(155deg,#33261d,#5a4130 60%,#c0664a);color:#fff;padding:24px;display:flex;flex-direction:column;box-shadow:var(--shadow-md);}
.reportcard .cover .tagbadge{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#f0d9aa;border:1px solid rgba(232,201,140,.5);background:rgba(232,201,140,.14);padding:5px 11px;border-radius:999px;width:fit-content;}
.reportcard .cover h3{color:#fff;font-size:25px;line-height:1.1;margin:auto 0 6px;}
.reportcard .cover small{color:rgba(255,255,255,.7);font-size:12.5px;}
.reportcard .float{position:absolute;right:-16px;top:28px;}
.chip-float{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow-md);font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;animation:floaty 6s var(--ease) infinite;}
.chip-float svg{color:var(--brand);}
.chip-float.c2{right:auto;left:-18px;top:auto;bottom:40px;animation-delay:-3s;}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2);padding:16px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee-track{display:flex;gap:42px;width:max-content;animation:scrollx 34s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{font-family:var(--display);font-size:19px;color:var(--ink-soft);display:flex;align-items:center;gap:42px;white-space:nowrap;}
.marquee-track span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ---------- spotlight + tilt cards ---------- */
.spot{position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}
.spot::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .3s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(192,102,74,.12),transparent 45%);pointer-events:none;}
.spot:hover::before{opacity:1;}
.spot:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--line-strong);}
.tilt{transform-style:preserve-3d;transition:transform .2s var(--ease);}

/* ---------- before / after slider ---------- */
.ba{position:relative;max-width:980px;margin:0 auto;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/9;background:#cdd8d4;user-select:none;}
.ba .layer{position:absolute;inset:0;background-size:cover;background-position:center;}
.ba .after{background:linear-gradient(120deg,#9a8f6a,#b3a884);}
.ba .before{background:linear-gradient(120deg,#6b6258,#8a8175);clip-path:inset(0 50% 0 0);}
.ba .lab{position:absolute;bottom:16px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.4);padding:6px 12px;border-radius:999px;backdrop-filter:blur(4px);}
.ba .lab.l{left:16px;} .ba .lab.r{right:16px;}
.ba .handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1);transform:translateX(-50%);}
.ba .knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:var(--shadow-md);display:grid;place-items:center;color:var(--brand);}
.ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;}
.ba .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.85);font-family:var(--display);font-size:28px;letter-spacing:.02em;}

/* ---------- cost estimator ---------- */
.estimator{max-width:760px;margin:0 auto;border-radius:22px;padding:32px;}
.est-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.est-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 16px;}
.est-row label{font-weight:600;font-size:15px;}
.est-row .hint{font-size:12.5px;color:var(--ink-faint);display:block;font-weight:400;}
.stepper{display:flex;align-items:center;gap:4px;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:999px;padding:3px;}
.stepper button{width:32px;height:32px;border-radius:50%;border:none;background:var(--brand-tint);color:var(--brand);font-size:18px;font-weight:700;display:grid;place-items:center;line-height:1;}
.stepper button:hover{background:var(--brand);color:#fff;}
.stepper .v{min-width:28px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;}
.chip-toggle{display:flex;flex-wrap:wrap;gap:8px;}
.chip-toggle input{position:absolute;opacity:0;}
.chip-toggle label{cursor:pointer;border:1px solid var(--line-strong);border-radius:999px;padding:9px 15px;font-size:14px;font-weight:500;color:var(--ink-soft);transition:all .18s var(--ease);background:var(--paper-2);}
.chip-toggle input:checked + label{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 4px 12px rgba(192,102,74,.28);}
.chip-toggle label:hover{border-color:var(--brand);}
.est-result{margin-top:24px;background:linear-gradient(150deg,#33261d,#5a4130);border-radius:18px;padding:26px 28px;color:#fff;text-align:center;}
.est-result .range{font-family:var(--display);font-size:clamp(34px,6vw,52px);font-weight:600;letter-spacing:-.02em;line-height:1;}
.est-result .range .tn{transition:none;font-variant-numeric:tabular-nums;}
.est-result .sub{color:rgba(255,255,255,.75);font-size:14px;margin-top:8px;}
.est-result .btn{margin-top:18px;}
.est-note{font-size:12px;color:var(--ink-faint);text-align:center;margin-top:14px;}

/* ---------- red-flag checker ---------- */
.checker{max-width:760px;margin:0 auto;}
.checker .opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.checkitem{display:flex;gap:12px;align-items:flex-start;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;transition:all .18s var(--ease);}
.checkitem:hover{border-color:var(--line-strong);}
.checkitem input{margin-top:3px;accent-color:var(--brand);width:18px;height:18px;flex:none;}
.checkitem.is-on{border-color:var(--brand);background:var(--brand-tint);}
.checkitem b{font-size:15px;display:block;}
.checkitem span{font-size:13px;color:var(--ink-soft);}
.verdict{margin-top:22px;border-radius:18px;padding:24px 26px;text-align:center;border:1px solid var(--line);background:var(--paper-2);box-shadow:var(--shadow-sm);}
.verdict .meter{height:12px;border-radius:999px;background:#e7efec;overflow:hidden;margin:6px 0 16px;}
.verdict .fill{height:100%;width:0;border-radius:999px;transition:width .5s var(--ease),background .5s;background:var(--good);}
.verdict h3{font-size:23px;margin-bottom:6px;}
.verdict p{color:var(--ink-soft);margin:0;}

/* ---------- sticky steps process ---------- */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;}
.flow::before{content:"";position:absolute;top:28px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--brand-tint),var(--gold-tint));z-index:0;}
.flow .node{position:relative;z-index:1;text-align:center;}
.flow .ring{width:58px;height:58px;border-radius:50%;margin:0 auto 16px;background:var(--paper-2);border:2px solid var(--brand);color:var(--brand);display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:22px;box-shadow:0 8px 20px rgba(192,102,74,.18);transition:transform .3s var(--ease),background .3s,color .3s;}
.flow .node:hover .ring{background:var(--brand);color:#fff;transform:scale(1.08);}
.flow h3{font-size:19px;margin-bottom:6px;}
.flow p{color:var(--ink-soft);font-size:15px;margin:0;}

/* ---------- reveal stagger ---------- */
.up{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.up.is-in{opacity:1;transform:none;}
[data-stagger] > *{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
[data-stagger].is-in > *{opacity:1;transform:none;}
[data-stagger].is-in > *:nth-child(2){transition-delay:.07s}
[data-stagger].is-in > *:nth-child(3){transition-delay:.14s}
[data-stagger].is-in > *:nth-child(4){transition-delay:.21s}
[data-stagger].is-in > *:nth-child(5){transition-delay:.28s}
[data-stagger].is-in > *:nth-child(6){transition-delay:.35s}

/* ============================================================
   Warm Boutique hero (reference redesign)
   ============================================================ */
.hero--boutique{position:relative;overflow:clip;padding:72px 0 80px;background:var(--paper);}
.hero--boutique .hero-grid{align-items:center;gap:60px;}
.hero--boutique h1{font-size:clamp(40px,6.4vw,74px);line-height:1.02;letter-spacing:-.02em;}
.hero--boutique h1 em{font-style:italic;color:var(--brand);}
.hero--boutique .hero-sub{font-size:clamp(17px,2.1vw,20px);color:var(--ink-soft);max-width:42ch;margin:22px 0 0;}

.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:30px 0 26px;}
.link-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:15.5px;color:var(--ink);transition:color .2s var(--ease),gap .2s var(--ease);}
.link-arrow:hover{color:var(--brand);gap:11px;}

.trust-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.avatars{display:flex;}
.avatars span{width:40px;height:40px;border-radius:50%;border:2.5px solid var(--paper);margin-left:-12px;
  background:linear-gradient(135deg,var(--brand-tint),var(--gold-tint));display:grid;place-items:center;
  color:var(--brand-dark);font-family:var(--display);font-size:14px;font-weight:600;box-shadow:var(--shadow-sm);}
.avatars span:first-child{margin-left:0;}
.trust-row .t{font-size:14px;color:var(--ink-soft);max-width:32ch;line-height:1.45;}
.trust-row .t b{color:var(--ink);}

.hero-chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px;}
.hero-chips span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink-soft);
  background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;box-shadow:var(--shadow-sm);}
.hero-chips svg{color:var(--brand);flex:none;}

.hero-photo{position:relative;}
.hero-photo .frame{aspect-ratio:4/3.6;border-radius:30px;background-size:cover;background-position:center;
  box-shadow:var(--shadow-lg);border:7px solid var(--paper-2);}
.hero-photo .pin-br{position:absolute;left:-16px;bottom:26px;}
.hero-photo .pin-tr{position:absolute;right:-14px;top:28px;}

@media (max-width:980px){
  .hero--boutique .hero-grid{grid-template-columns:1fr;gap:36px;}
  .hero--boutique .hero-figure{order:-1;max-width:520px;}
  .hero-photo .pin-br,.hero-photo .pin-tr{display:none;}
}

/* ============================================================
   Best-Pick-inspired patterns (warm boutique skin)
   ============================================================ */
/* town search bar */
.town-search{display:flex;align-items:center;gap:6px;background:var(--paper-2);border:1px solid var(--line-strong);
  border-radius:999px;padding:6px 6px 6px 18px;box-shadow:var(--shadow-md);max-width:540px;margin:28px 0 22px;}
.town-search .pin{color:var(--brand);flex:none;}
.town-search select{flex:1;border:none;background:transparent;font-family:var(--body);font-size:15.5px;font-weight:500;
  color:var(--ink);padding:11px 6px;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;}
.town-search .btn{flex:none;}
@media(max-width:560px){.town-search{flex-wrap:wrap;border-radius:20px;padding:12px;}.town-search select{width:100%;}.town-search .btn{width:100%;justify-content:center;}}

/* 4-up how-it-works */
.flow.flow--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:980px){.flow.flow--4{grid-template-columns:1fr;}}

/* "why homeowners trust us" split */
.trust-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.trust-split .media{aspect-ratio:4/3.3;border-radius:24px;background-size:cover;background-position:center;box-shadow:var(--shadow-lg);border:6px solid var(--paper-2);}
.trust-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:16px;}
.trust-list li{display:flex;gap:14px;align-items:flex-start;}
.trust-list .ck{width:30px;height:30px;border-radius:50%;background:var(--brand-tint);color:var(--brand);display:grid;place-items:center;flex:none;margin-top:2px;}
.trust-list b{display:block;font-size:16.5px;}
.trust-list span{font-size:14.5px;color:var(--ink-soft);}
@media(max-width:860px){.trust-split{grid-template-columns:1fr;gap:30px;}.trust-split .media{order:-1;}}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .statline{grid-template-columns:repeat(2,1fr);}
  .est-grid{grid-template-columns:1fr;}
  .checker .opts{grid-template-columns:1fr;}
  .flow{grid-template-columns:1fr;gap:32px;}
  .flow::before{display:none;}
}
@media (max-width:680px){
  .statline{grid-template-columns:1fr 1fr;}
  .reportcard .float,.chip-float{display:none;}
  .estimator{padding:22px;}
  .est-result .range{font-size:38px;}
}
@media (prefers-reduced-motion: reduce){
  .mesh span{animation:none;}
  .marquee-track{animation:none;}
  .rw > span{transform:none;}
  .chip-float{animation:none;}
  .up,[data-stagger] > *{opacity:1;transform:none;transition:none;}
}

/* ============================================================
   Editorial 2026 pass (July 2026)
   Contrast rhythm, hero estimator card, photo cards, sticky
   mobile CTA, dateline masthead chips, MPA view transitions.
   ============================================================ */

/* cross-page view transitions (progressive enhancement, Chromium MPA) */
@view-transition { navigation: auto; }

/* iOS: fields under 16px trigger auto-zoom + horizontal pan on focus.
   16px on coarse pointers prevents it. Do NOT use maximum-scale=1. */
@media (pointer: coarse) {
  input, select, textarea, .town-search select, .subscribe-inline input { font-size: 16px; }
}

/* ---------- dark editorial band ---------- */
.section--dark{background:linear-gradient(165deg,#2c241d,#3d332a 70%,#46352a);border:none;}
.section--dark .eyebrow{color:var(--gold);}
.section--dark h2,.section--dark h3{color:#f7efe5;}
.section--dark p,.section--dark .lede-center{color:rgba(247,239,229,.78);}
.section--dark .flow::before{background:linear-gradient(90deg,rgba(199,154,78,.4),rgba(192,102,74,.4));}
.section--dark .flow .ring{background:transparent;border-color:var(--gold);color:#ecd3a3;box-shadow:0 8px 20px rgba(0,0,0,.3);}
.section--dark .flow .node:hover .ring{background:var(--gold);color:#2c241d;}
.section--dark .statline .s{background:rgba(255,255,255,.06);backdrop-filter:none;border-color:rgba(255,255,255,.14);}
.section--dark .statline .n{color:#ecd3a3;}
.section--dark .statline .l{color:rgba(247,239,229,.65);}

/* ---------- masthead dateline chips (hero) ---------- */
.dateline-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:22px;}
.dateline-chips span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line-strong);
  border-radius:999px;padding:7px 13px;}
.dateline-chips .dc-badge{background:var(--espresso);color:#ecd3a3;border-color:var(--espresso);font-family:var(--display);
  text-transform:none;letter-spacing:.02em;font-size:13px;}

/* ---------- hero instant-estimate card ---------- */
.hero-est{border-radius:24px;padding:26px 26px 22px;position:relative;}
.hero-est .he-tag{margin-bottom:12px;}
.hero-est h3{font-size:23px;margin-bottom:4px;}
.hero-est .he-sub{font-size:14px;color:var(--ink-soft);margin:0 0 16px;}
.hero-est .est-row{margin-bottom:12px;background:var(--paper);}
.hero-est .chip-toggle label{padding:8px 13px;font-size:13.5px;}
.hero-est .he-range{margin:18px 0 4px;text-align:center;background:linear-gradient(150deg,#33261d,#5a4130);
  border-radius:16px;padding:18px 20px;color:#fff;}
.hero-est .he-range .range{font-family:var(--display);font-weight:600;font-size:clamp(30px,4vw,42px);letter-spacing:-.02em;line-height:1;}
.hero-est .he-range .range .tn{font-variant-numeric:tabular-nums;}
.hero-est .he-range small{display:block;color:rgba(255,255,255,.72);font-size:12.5px;margin-top:7px;}
.hero-est .btn--block{margin-top:14px;}
.hero-est .he-note{font-size:12px;color:var(--ink-faint);text-align:center;margin:10px 0 0;}
.hero-est .pin-tr{position:absolute;right:-14px;top:-14px;}
@media (max-width:980px){
  /* headline first on mobile (overrides the earlier order:-1) */
  .hero--boutique .hero-figure{order:2;max-width:520px;margin:0 auto;}
}

/* ---------- photo service cards ---------- */
.pcard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.pcard{display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--line-strong);}
.pcard .pc-media{aspect-ratio:16/11;background-size:cover;background-position:center;
  background-color:var(--brand-tint);transition:transform .5s var(--ease);}
.pcard:hover .pc-media{transform:scale(1.04);}
.pcard .pc-wrap{overflow:hidden;}
.pcard .pc-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.pcard h3{font-size:20px;}
.pcard:hover h3{color:var(--brand-dark);}
.pcard p{font-size:15.5px;color:var(--ink-soft);margin:0;}
.pcard .pc-link{margin-top:auto;font-size:14px;font-weight:600;color:var(--brand);padding-top:8px;}
.pcard-more{text-align:center;margin-top:26px;font-size:15px;color:var(--ink-soft);}
.pcard-more a{font-weight:600;color:var(--brand);}
.pcard-more a:hover{color:var(--brand-dark);}
@media (max-width:980px){.pcard-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.pcard-grid{grid-template-columns:1fr;}}

/* ---------- sticky mobile CTA bar ---------- */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,253,249,.92);backdrop-filter:saturate(150%) blur(14px);border-top:1px solid var(--line-strong);
  box-shadow:0 -8px 30px rgba(44,36,29,.12);}
.sticky-cta .btn{flex:1;justify-content:center;padding:13px 10px;font-size:14.5px;}
@media (max-width:680px){
  .sticky-cta{display:flex;}
  body{padding-bottom:74px;}
}

/* ---------- statline 4-up variant ---------- */
.statline--4{grid-template-columns:repeat(4,1fr);}
@media (max-width:980px){.statline--4{grid-template-columns:repeat(2,1fr);}}
