/* ==========================================================================
   SKU detail page — story layer
   Source: Figma "Native website", M3 Pro app page (node 129:2078).
   Sits on top of the product template (inline styles + refinement.css +
   content.css). Reuses .blk / .rail / .crd / .arrows / .fullbleed / .ph and
   only adds what the Figma needs: one continuous dark surface, blue accents,
   glow panels, comparison cells, service-cost chart, fitment and add-ons.
   Tokens are the Figma variables, not approximations.
   ========================================================================== */

.page-sku{
  --sku-black:#000;          /* Figma: black media chapters (hero, tech, compare) */
  --sku-ink:#0F0F0F;         /* Figma "Black" — the page surface */
  --sku-card:#141414;
  --sku-line:#262626;        /* Grey 90 — card borders */
  --sku-cell:#1C1C1C;
  --sku-head:#E2E2E2;        /* Grey 30 — headings on dark */
  --sku-body:#AFAFAF;        /* Grey 50 — body on dark */
  --sku-muted:#8E8E87;       /* Grey 60 */
  --sku-blue:#96B4FF;        /* eyebrows, card titles */
  --sku-blue-40:#235AF3;     /* Blue 40 */
  --sku-blue-50:#235AF3;     /* Blue 50 — glow */
  --sku-blue-text:#96B4FF;   /* statement emphasis */
  --sku-dot-blue:#628BF9;    /* dot-matrix emphasis */
  --sku-green:#05945B;       /* Green 50 */
  --sku-red:#E7685A;         /* Red 40 */
  --sku-grey-10:#F5F5F5;
  --sku-grey-20:#EDEDED;
  --sku-grey-70:#545454;
  --sku-gap:clamp(80px,9vw,144px);
  --sku-gut:max(var(--native-gutter,4vw),calc((100vw - var(--native-max,1440px))/2));
}

/* ---------- one continuous dark surface ---------- */
.sku-flow{background:var(--sku-ink);color:var(--sku-head)}
.sku-ch{position:relative;padding-block:var(--sku-gap)}
.sku-ch--black{background:var(--sku-black)}
/* black chapters melt into the ink surface instead of ending on a seam */
.sku-ch--black::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--sku-gap);background:linear-gradient(var(--sku-black),var(--sku-ink));pointer-events:none}
.sku-ch--black>*{position:relative;z-index:1}

.page-sku .sku-flow .blk{--bg:transparent;--fg:var(--sku-head);--muted:var(--sku-body);--line:var(--sku-line);--ph:var(--sku-card);--phink:#545454;padding-block:0;scroll-margin-top:150px}
.page-sku .sku-flow .blk+.blk{margin-top:var(--sku-gap)}
.page-sku .sku-flow .blk__lead{color:var(--sku-head)}
.page-sku .sku-flow .section-answer{color:var(--sku-body)}

/* ---------- type ---------- */
.sku-eyebrow{display:block;font-size:14px;line-height:1.36;letter-spacing:-.01em;color:var(--sku-blue);margin-bottom:14px}
.sku-eyebrow--grad{font-size:clamp(18px,1.7vw,24px);background:linear-gradient(90deg,#96B4FF,#235AF3);-webkit-background-clip:text;background-clip:text;color:transparent;width:max-content;max-width:100%}
.sku-sub{margin-top:14px;font-size:clamp(14px,1.1vw,16px);line-height:1.6;color:var(--sku-body);max-width:52ch}
.sku-lead{font-size:var(--type-h2);line-height:1.12;letter-spacing:-.045em;max-width:22ch;font-weight:500}
.sku-hl{color:var(--sku-blue-text)}

/* ---------- image slots (empty until assets arrive) ---------- */
.slot{position:relative;display:flex;align-items:flex-end;justify-content:flex-start;background:var(--ph,var(--sku-card));color:var(--phink,#545454);overflow:hidden}
.slot{outline:1px dashed rgba(255,255,255,.14);outline-offset:-1px}
.sku-light .slot,.sku-white .slot,.pdp .slot{outline-color:rgba(0,0,0,.16)}
.fullbleed--onlight .slot{outline-color:rgba(0,0,0,.18)}
.slot>span{position:relative;z-index:3;padding:16px 18px;font-size:10px;letter-spacing:.04em;line-height:1.5;text-transform:uppercase}
.slot img,.slot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot--21{aspect-ratio:21/9}.slot--16{aspect-ratio:16/9}.slot--45{aspect-ratio:4/5}.slot--1{aspect-ratio:1/1}.slot--43{aspect-ratio:4/3}.slot--34{aspect-ratio:3/4}
.page-sku .crd>.slot{height:clamp(300px,30vw,420px);width:100%}

/* ---------- hero (black) ---------- */
.sku-hero{text-align:center}
.sku-hero .sku-eyebrow--grad{margin-inline:auto}
.sku-hero__h{font-size:clamp(34px,4.6vw,68px);line-height:1.08;letter-spacing:-.045em;font-weight:500;color:var(--sku-head);max-width:17ch;margin-inline:auto}
.sku-hero__film{width:100%;margin:0;background:#0F0F0F}

/* ---------- tech cards (4-up) ---------- */
.sku-tech{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.sku-card{position:relative;display:flex;flex-direction:column;background:var(--sku-black);border:1px solid var(--sku-line);overflow:hidden}
.sku-card__txt{position:relative;z-index:1;padding:22px 22px 0}
.sku-card__t{font-size:15px;line-height:1.36;color:var(--sku-blue);font-weight:500}
.sku-card__d{margin-top:4px;font-size:14px;line-height:1.5;color:var(--sku-body);max-width:34ch}
.sku-card>.slot{flex:1 1 auto;min-height:280px;margin-top:20px;background:transparent}
.sku-stat{position:absolute;right:22px;top:46%;z-index:2;text-align:right}
.sku-stat b{display:block;font-size:clamp(34px,3vw,44px);line-height:1;font-weight:500;letter-spacing:-.03em;background:linear-gradient(90deg,#96B4FF,#235AF3);-webkit-background-clip:text;background-clip:text;color:transparent}
.sku-stat small{display:block;margin-top:4px;font-size:13px;color:var(--sku-head)}
@media(max-width:1100px){.sku-tech{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sku-tech{grid-template-columns:1fr}}

/* ---------- rail cards: text on top, media fading up into the card ---------- */
.page-sku .sku-flow .crd.sku-card{padding:0}
.page-sku .sku-flow .crd.sku-card h4{margin:0;font-size:16px;line-height:1.36;color:var(--sku-head)}
.page-sku .sku-flow .crd.sku-card p{margin-top:4px;font-size:14px;line-height:1.5;color:var(--sku-body)}
.page-sku .sku-flow .crd.sku-card>.slot{margin-top:18px;background:var(--sku-ink)}
.sku-flow .crd.sku-card .sku-card__txt{padding:22px 22px 0}
.sku-data{display:flex;gap:18px;margin-top:10px;flex-wrap:wrap}
.sku-data div{display:flex;flex-direction:column}
.sku-data b{font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--sku-head)}
.sku-data small{font-size:11px;color:var(--sku-muted)}

/* ---------- compare banner ---------- */
.sku-banner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:end;gap:24px;margin-top:40px;background:var(--sku-black);border:1px solid var(--sku-line);overflow:hidden;min-height:340px}
.sku-banner__txt{position:relative;z-index:1;align-self:start;padding:clamp(28px,4vw,56px)}
.sku-banner__txt h3{font-size:clamp(26px,2.6vw,38px);line-height:1.12;letter-spacing:-.04em;font-weight:500;color:var(--sku-head)}
.sku-banner>.slot{position:relative;z-index:1;height:100%;min-height:300px;background:transparent}
@media(max-width:760px){.sku-banner{grid-template-columns:1fr}.sku-banner>.slot{min-height:220px}}

/* ---------- buttons ---------- */
.sku-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;margin-top:24px;font-size:14px;border:1px solid #3a3a3a;background:#1C1C1C;color:#fff;transition:background var(--ease,200ms)}
.sku-btn:hover{background:#262626}
.sku-btn svg{width:16px;height:16px}
.sku-btn--light{border-color:var(--sku-grey-20);background:#fff;color:#0F0F0F;width:100%}
.sku-btn--light:hover{background:var(--sku-grey-10)}

/* ---------- fullbleed inside the dark flow: photo fades into the page ---------- */
.page-sku .sku-flow .fullbleed__media{overflow:hidden}
.page-sku .sku-flow .fullbleed__media>.slot{position:absolute;inset:0;background:#1C1C1C}
.page-sku .sku-flow .fullbleed--onlight .fullbleed__media>.slot{background:#d9d4cd;color:#8a8278}
.page-sku .sku-flow .fullbleed__text{z-index:2}
.page-sku .sku-flow .fullbleed__text h2{color:inherit;font-size:var(--type-h2);line-height:1.1;letter-spacing:-.045em;max-width:16ch}
.page-sku .sku-flow .fullbleed--ondark .fullbleed__text{color:var(--sku-head)}
.page-sku .sku-flow .fullbleed--onlight .fullbleed__text{color:#0F0F0F;text-shadow:none}
.page-sku .sku-flow .fullbleed--onlight .sku-eyebrow{color:#0F0F0F}
.page-sku .sku-flow .fullbleed--onlight .sku-sub{color:#3d3a37}
.page-sku .sku-flow .fullbleed__text .sku-sub{max-width:40ch}
/* text anchored low (Figma display + shield frames) */
.page-sku .sku-flow .fullbleed--low .fullbleed__text{top:auto;bottom:clamp(28px,5vw,72px)}

/* ---------- dot-matrix display headline ---------- */
.sku-dot{font-family:'LED Dot-Matrix','Doto',ui-monospace,Menlo,monospace;font-weight:700;text-transform:uppercase;font-size:clamp(34px,4.4vw,66px);line-height:1.12;letter-spacing:.01em;color:var(--sku-head)}
.sku-dot span{display:block;color:var(--sku-dot-blue)}

/* ---------- glow statement panels ---------- */
.sku-glow{position:relative;overflow:hidden;padding-block:clamp(96px,13vw,200px)}
.sku-glow::before{content:"";position:absolute;left:-12%;top:18%;width:96%;height:82%;background:radial-gradient(closest-side,rgba(35,90,243,.85),rgba(35,90,243,.3) 55%,transparent);filter:blur(40px);pointer-events:none}
.sku-glow--top::before{top:0;left:20%;height:80%}
.sku-glow p{position:relative;z-index:1;font-size:clamp(28px,3.6vw,54px);line-height:1.2;letter-spacing:-.035em;font-weight:500;color:var(--sku-muted);max-width:24ch}
.sku-glow p em{font-style:normal;color:var(--sku-blue-text)}
.page-sku .sku-flow .blk.sku-glow{padding-block:clamp(96px,13vw,200px)}

/* ---------- M3 Pro vs others ---------- */
.sku-vs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.sku-vs__col{display:flex;flex-direction:column;gap:10px}
.sku-vs__who{font-size:13px;color:var(--sku-head);margin-top:6px}
.sku-vs__who:first-child{margin-top:0}
.sku-vs__cell{display:flex;flex-direction:column;gap:14px;min-height:118px;padding:18px;background:var(--sku-cell);font-size:13px;line-height:1.55;color:var(--sku-body)}
.sku-vs__cell--yes{color:var(--sku-head)}
.sku-vs__cell svg{width:22px;height:22px;flex:0 0 auto}
.sku-vs__cell--yes svg{color:var(--sku-green)}
.sku-vs__cell--no svg{color:var(--sku-red)}
@media(max-width:1000px){.sku-vs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sku-vs{grid-template-columns:1fr}}

/* ---------- service-cost chart ---------- */
.sku-cost{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:center}
.sku-chart{--row:clamp(40px,5vw,64px);display:grid;grid-template-columns:52px 1fr 1fr;column-gap:clamp(20px,4vw,64px);font-size:13px;color:var(--sku-muted)}
.sku-chart__head{grid-row:1;text-align:center;line-height:1.4;padding-bottom:20px;font-size:15px;font-variant-numeric:tabular-nums}
.sku-chart__head b{display:block;font-weight:500;font-size:clamp(17px,1.4vw,20px)}
.sku-chart__head--native b{color:var(--sku-blue)}
.sku-chart--green .sku-chart__head--native b{color:#05945B}
.t-black .sku-chart--green .sku-chart__head--native b,.t-deep .sku-chart--green .sku-chart__head--native b,.t-ink .sku-chart--green .sku-chart__head--native b{color:#34C77B}
.sku-chart__head--others b{color:var(--sku-head)}
.sku-chart__axis{grid-row:2;display:flex;flex-direction:column-reverse;font-variant-numeric:tabular-nums}
.sku-chart__axis span{height:var(--row);display:flex;align-items:flex-end;transform:translateY(7px)}
.sku-chart__bar{grid-row:2;align-self:end;height:calc(var(--row) * var(--rows,9));display:flex;flex-direction:column-reverse;border-bottom:1px solid var(--sku-line);background:repeating-linear-gradient(to top,transparent 0 calc(var(--row) - 1px),var(--sku-line) calc(var(--row) - 1px) var(--row))}
.sku-chart__seg{display:flex;align-items:center;justify-content:center;height:calc(var(--row) * var(--y));font-size:clamp(12px,1vw,15px);font-weight:500;font-variant-numeric:tabular-nums;border-top:1px solid rgba(0,0,0,.35)}
.sku-chart__seg--zero{background:#d9d9d9;color:#555}
.sku-chart__seg--blue{background:var(--sku-blue-40);color:#fff;border-top-color:rgba(255,255,255,.35)}
.sku-chart__seg--green{background:#087A4B;color:#fff;border-top-color:rgba(255,255,255,.35)}
.sku-chart__seg--grey{background:#3a3a3a;color:#cfcfcf;border-top-color:#555}
.sku-chart__note{grid-column:1/-1;margin-top:20px;font-size:13px;line-height:1.6;color:var(--sku-muted)}
.page-sku .sku-flow .blk:has(.sku-chart){padding-block:clamp(48px,7vw,112px)}
@media(max-width:900px){.sku-cost{grid-template-columns:1fr}}

/* ---------- 3-up design cards ---------- */
.sku-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.sku-three figure{margin:0}
.sku-three figcaption{margin-top:18px}
.sku-three h4{font-size:16px;line-height:1.36;font-weight:500;color:var(--sku-head)}
.sku-three p{margin-top:4px;font-size:14px;line-height:1.55;color:var(--sku-body);max-width:36ch}
@media(max-width:900px){.sku-three{grid-template-columns:1fr}}

/* ---------- health check (green glow) ---------- */
.sku-health{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center;overflow:hidden}
.sku-health>*{position:relative;z-index:1}
.sku-health>.slot{background:transparent;border:1px solid var(--sku-line)}
@media(max-width:900px){.sku-health{grid-template-columns:1fr}}

/* ---------- lifestyle gallery ---------- */
.sku-gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px;margin-top:40px}
@media(max-width:900px){.sku-gallery{grid-template-columns:1fr}}

/* ---------- service advantages ---------- */
.sku-svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.sku-svc__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:36px}
.sku-svc__list li{display:grid;grid-template-columns:32px 1fr;gap:18px;align-items:start}
.sku-svc__list svg{width:28px;height:28px;color:var(--sku-blue-40)}
.sku-svc__list p{font-size:15px;line-height:1.6;color:var(--sku-muted)}
.sku-svc__list b{font-weight:500;color:var(--sku-head)}
@media(max-width:900px){.sku-svc{grid-template-columns:1fr}}

/* ==========================================================================
   Light zone — fitment, add-ons, specifications (Figma grey-10 / white)
   ========================================================================== */
.sku-light{background:var(--sku-grey-10);color:#0F0F0F}
.sku-white{background:#fff;color:#0F0F0F}
.page-sku .sku-light .blk,.page-sku .sku-white .blk{--bg:transparent;--fg:var(--sku-ink);--muted:var(--sku-grey-70);--line:var(--sku-grey-20);--ph:#fff;--phink:#AAA9A4;padding-block:var(--sku-gap);scroll-margin-top:150px}
.page-sku .sku-light .sku-sub,.page-sku .sku-white .sku-sub{color:var(--sku-grey-70)}

.sku-fit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:48px}
.sku-fit h3{font-size:17px;line-height:1.4;font-weight:500;letter-spacing:-.02em;max-width:30ch}
.sku-fit .sku-sub{margin-top:6px;font-size:14px}
.sku-fit__pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.sku-fit__pair .slot{background:#fff}
.sku-badge{position:absolute;top:12px;right:12px;z-index:2;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.sku-badge svg{width:16px;height:16px}
.sku-badge--yes{background:var(--sku-green)}
.sku-badge--no{background:#DC2804}
.sku-dims{list-style:none;padding:0;margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:13px;color:var(--sku-grey-70)}
.sku-dims b{font-weight:500;color:var(--sku-head,#0F0F0F)}
@media(max-width:1000px){.sku-fit{grid-template-columns:1fr 1fr}.sku-fit>:last-child{grid-column:1/-1}}
@media(max-width:640px){.sku-fit{grid-template-columns:1fr}}

.sku-endgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:start}
.sku-endgrid h2{font-size:clamp(24px,2.2vw,30px);letter-spacing:-.04em;font-weight:500;line-height:1.2}
.sku-addons{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.sku-addon{display:grid;grid-template-columns:112px 1fr;gap:20px;align-items:center;padding:16px;background:var(--sku-grey-10)}
.sku-addon .slot{background:#fff;aspect-ratio:1/1}
.sku-addon h4{font-size:15px;font-weight:500;line-height:1.4}
.sku-addon p{margin-top:4px;font-size:13px;line-height:1.55;color:var(--sku-grey-70)}
.sku-specs{margin-top:28px;border-top:1px solid var(--sku-grey-20)}
.sku-specs div{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--sku-grey-20);font-size:14px;line-height:1.5}
.sku-specs dt{color:var(--sku-grey-70)}
.sku-specs dd{margin:0}
@media(max-width:900px){.sku-endgrid{grid-template-columns:1fr}}

/* ---------- fixes: badges sit on the image corner; buy-box slots stay light ---------- */
.slot>.sku-badge{position:absolute;top:12px;right:12px;padding:0;z-index:4}
.pdp .slot,.pdp .thumb .slot{--ph:transparent;background:transparent;color:#AAA9A4}
.pdp .thumb .slot{background:var(--native-surface,#F5F5F5);outline:0}
/* placeholder labels on full-bleed images sit top-right, clear of the headline */
.page-sku .fullbleed__media>.slot{align-items:flex-start;justify-content:flex-end}

/* ---------- gallery: square catalogue images fill the stage ---------- */
.page-sku .gallery__stage{aspect-ratio:1/1;background:var(--native-surface,#F5F5F5)}
.page-sku .slide{padding:0}
.page-sku .slide img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.page-sku .thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px}
.page-sku .thumb{width:auto;height:auto;aspect-ratio:1/1;padding:0;overflow:hidden}
.page-sku .thumb img{width:100%;height:100%;object-fit:cover}

/* ---------- filled slots ---------- */
.slot.is-filled{outline:0;background:transparent}
.slot.is-filled img{z-index:0}
/* tech cards: image fills the card, text + stat sit on its dark top (as in the Figma) */
.sku-tech .sku-card{aspect-ratio:328/344}
.sku-tech .sku-card>.slot{position:absolute;inset:0;margin:0;min-height:0}
.sku-tech .sku-card>.slot img{object-position:center bottom}
/* hero still: edges melt into the black page; portrait crop on phones */
@media(max-width:760px){.sku-hero__film{aspect-ratio:4/5}.sku-hero__film img{object-position:57% center}}
.sku-tech .sku-card>.slot{z-index:0}   /* own stacking context: its gradient stays under the card text */

/* ---------- image effects are baked into the images ----------
   The page draws no glows, fades or gradients over/behind images.
   The template's own legibility gradient on full-bleeds is switched off here too. */
.page-sku .sku-flow .fullbleed__media::after{content:none}

/* ---------- hero: full-bleed image, headline over it ---------- */
.page-sku #technology{padding-top:0}
.sku-hero{position:relative}
.sku-hero>.wrap{position:absolute;left:0;right:0;top:clamp(28px,4vw,72px);z-index:2}

/* ---------- carousels: clip at the page margin, bleed only to the right ---------- */
.page-sku .rail{padding-inline:var(--sku-gut);scroll-padding-inline:var(--sku-gut);clip-path:inset(-40px -100vw -40px var(--sku-gut))}
/* one value for margin, snap point and clip: the template snapped to --native-gutter (max 80px)
   while padding grew past 80px on screens wider than 1600px, so cards snapped left of the heading */
/* arrows: sku.js hides them when every card fits and disables the one at each end */
.page-sku .arrows[hidden]{display:none}
.page-sku .arrows button:disabled{opacity:.28;cursor:default;background:none;color:var(--fg)}
.page-sku .rail-end{display:none;height:1px;scroll-snap-align:none;pointer-events:none}
/* card pictures are full-bleed: the image fills the whole card and the heading sits over its top,
   on a fade of the card colour (artwork leaves that area calm). Carousel cards are 9:16, the app's
   frame, so one export serves both. Grid cards are 3:2 (3:1 when they span the row), 4:5 on phones. */
.page-sku .rail>.crd.sku-card{aspect-ratio:9/16;flex-basis:clamp(240px,24%,320px);height:auto}
.page-sku .sku-grid--bleed>.sku-card:has(>.slot){aspect-ratio:3/2;min-height:auto;overflow:visible}
.page-sku .sku-grid--bleed>.sku-card.sku-span-2:has(>.slot),.page-sku .sku-grid--bleed>.sku-card.sku-span-3:has(>.slot){aspect-ratio:3/1}
@media(max-width:640px){.page-sku .sku-grid--bleed>.sku-card:has(>.slot),.page-sku .sku-grid--bleed>.sku-card.sku-span-2:has(>.slot),
  .page-sku .sku-grid--bleed>.sku-card.sku-span-3:has(>.slot){aspect-ratio:4/5}}
.page-sku .sku-flow .rail>.crd.sku-card>.slot,.page-sku .sku-flow .sku-grid--bleed>.sku-card.sku-card>.slot,.page-sku .sku-grid--bleed>.sku-card.sku-card>.slot{
  position:absolute;inset:0;height:auto;min-height:0;margin:0;z-index:0;border-radius:inherit}
.page-sku .rail>.crd.sku-card>.slot img,.page-sku .sku-grid--bleed>.sku-card>.slot img{object-position:center bottom}
.page-sku .rail>.crd.sku-card:has(>.slot)::before,.page-sku .sku-grid--bleed>.sku-card:has(>.slot)::before{content:"";position:absolute;inset:0 0 auto;height:50%;
  z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(var(--card-bg,#000) 30%,color-mix(in srgb,var(--card-bg,#000) 0%,transparent))}
.page-sku .rail>.crd.sku-card>:not(.slot),.page-sku .sku-grid--bleed>.sku-card>:not(.slot){position:relative;z-index:2}
.page-sku .rail>.crd.sku-card>.sku-test__rep{position:absolute}
@media(max-width:760px){.page-sku .rail>.crd.sku-card{flex-basis:min(72%,300px)}}
/* tablets: two 3:2 cards side by side leave no room under the text, so stack them */
@media(max-width:900px){.page-sku .sku-grid--bleed.sku-grid--2{--cols:1}}
/* buy box: let the column shrink to the phone width (a min-content child pushed it to 365px) */
.page-sku .pdp>*{min-width:0}

/* ---------- buy box: one model, one action ---------- */
.page-sku .cta--single{grid-template-columns:1fr}
.page-sku .cta--single .cta__buy{flex-direction:row;gap:10px;font-size:14px}
.page-sku .cta--single .cta__buy svg{width:16px;height:16px}

/* (i) next to the EMI line opens price / offer / EMI notes */
.page-sku .price__mo{display:inline-flex;align-items:center;gap:8px}
.price-info{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-4px 0;padding:0;border:0;background:none;color:#6b6b66;cursor:pointer;border-radius:50%}
.price-info:hover,.price-info[aria-expanded="true"]{color:var(--black,#000);background:var(--native-surface,#F5F5F5)}
.price-info:focus-visible{outline:2px solid var(--black,#000);outline-offset:2px}
.price-info svg{width:18px;height:18px}
.price-pop{position:fixed;inset:auto;margin:0;width:min(320px,calc(100vw - 32px));padding:16px 18px;border:1px solid #E3E3DE;background:#fff;color:#545454;font-size:12px;line-height:1.6;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.price-pop p+p{margin-top:8px}

/* ---------- buy box: gallery 60 / details 40, generous gutter (stacks below 981px, as the template) ---------- */
@media(min-width:981px){.page-sku .pdp{grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:clamp(56px,6vw,120px)}}

/* ==========================================================================
   SKU LIBRARY — themes, accents and the blocks the other SKU pages need.
   Pages are built from content/sku/<id>.py by scripts/sku_lib.py.
   ========================================================================== */

/* ---------- accents (per page, set on <body data-accent>) ---------- */
.page-sku{--acc-d:#96B4FF;--acc-d2:#96B4FF;--acc-l:#235AF3;--acc-rgb:35,90,243;--sku-radius:0;--sku-radius-s:0}
.page-sku[data-accent="lightblue"]{--acc-d:#96B4FF;--acc-d2:#96B4FF;--acc-l:#235AF3;--acc-rgb:83,132,247}
.page-sku[data-accent="orange"]{--acc-d:#FF5E00;--acc-d2:#FF5E00;--acc-l:#A3410A;--acc-rgb:240,103,0}

/* ---------- themes: set every colour the components read ---------- */
.t-black,.t-deep,.t-ink,.t-grey,.t-warm{--sku-head:#E2E2E2;--sku-body:#AFAFAF;--sku-muted:#8E8E87;--sku-line:#262626;--sku-card:#141414;--sku-cell:#1C1C1C;
  --sku-blue:var(--acc-d);--sku-blue-text:var(--acc-d2);--phink:#5a5a5a;--sku-link:#B69CFF;color:var(--sku-head)}
.t-black{--s-bg:#000;--sku-black:#000;--sku-ink:#000;--card-bg:#000}
.t-deep{--s-bg:#030303;--sku-black:#000;--sku-ink:#030303;--card-bg:#0F0F0F}
.t-ink{--s-bg:#0F0F0F;--sku-black:#000;--sku-ink:#0F0F0F;--card-bg:#000}
.t-grey{--s-bg:#1C1C1C;--sku-black:#262626;--sku-ink:#1C1C1C;--sku-card:#262626;--sku-line:#333;--card-bg:#1C1C1C}
.t-warm{--s-bg:#301A0B;--sku-black:#301A0B;--sku-ink:#301A0B;--card-bg:#3a2415}
.t-light,.t-white{--sku-head:#0F0F0F;--sku-body:#545454;--sku-muted:#8E8E87;--sku-line:#E3E3DE;--sku-blue:var(--acc-l);--sku-blue-text:var(--acc-l);
  --phink:#AAA9A4;--sku-link:#0F0F0F;color:#0F0F0F}
.t-light{--s-bg:#F5F5F5;--sku-ink:#F5F5F5;--sku-black:#FFFFFF;--sku-card:#FFFFFF;--sku-cell:#FFFFFF;--card-bg:#FFFFFF}
.t-white{--s-bg:#FFFFFF;--sku-ink:#FFFFFF;--sku-black:#F5F5F5;--sku-card:#F5F5F5;--sku-cell:#F5F5F5;--card-bg:#F5F5F5}
.sku-ch[class*=" t-"]{background:var(--s-bg)}
.sku-ch--flush{padding-top:0}
.t-light .slot,.t-white .slot{outline-color:rgba(0,0,0,.14)}

/* rounded surfaces, as in the Figma */
.page-sku .sku-card,.page-sku .sku-banner,.page-sku .sku-vs__cell,.page-sku .sku-fit__pair .slot,.page-sku .sku-addon,.page-sku .sku-three .slot,
.page-sku .sku-gallery .slot,.page-sku .sku-media__img,.page-sku .sku-health>.slot,.page-sku .sku-svc .slot,.page-sku .sku-review,
.page-sku .sku-contam__c,.page-sku .sku-box .slot,.page-sku .sku-stats .slot,.page-sku .sku-icons .slot,.page-sku .sku-warr .slot,
.page-sku .sku-cta .slot,.page-sku .sku-checks .slot,.page-sku .sku-madein .slot,.page-sku .sku-bigstat__media,.page-sku .sku-table-wrap{border-radius:0}
.page-sku .sku-addon .slot{border-radius:0}

/* cards take their surface from their own theme, else the chapter's */
.page-sku .sku-card{background:var(--card-bg,var(--sku-black))}
.sku-card.t-black{--card-bg:#000}.sku-card.t-grey{--card-bg:#1C1C1C}.sku-card.t-ink{--card-bg:#0F0F0F}.sku-card.t-deep{--card-bg:#0F0F0F}
.sku-card.t-light{--card-bg:#F5F5F5}.sku-card.t-white{--card-bg:#FFFFFF}
.page-sku .sku-card.t-light,.page-sku .sku-card.t-white,.t-light .sku-card:not([class*=" t-"]),.t-white .sku-card:not([class*=" t-"]){border-color:transparent}
.page-sku .sku-flow .crd.sku-card>.slot,.page-sku .sku-grid .sku-card>.slot{background:transparent}

/* ---------- small type bits ---------- */
.page-sku .ico{width:20px;height:20px;flex:0 0 auto}
.sku-acc{color:var(--sku-blue)}
.sku-dim{color:var(--sku-muted)}
.sku-good{color:#05945B}.t-black .sku-good,.t-deep .sku-good,.t-ink .sku-good{color:#34C77B}
.sku-bad{color:#DC2804}.t-black .sku-bad,.t-deep .sku-bad,.t-ink .sku-bad{color:#E7685A}
.sku-tagname{display:inline-block;padding:1px 6px;margin-left:4px;border:1.5px solid currentColor;border-radius:0;font-size:.78em;line-height:1.2;letter-spacing:.02em;vertical-align:.08em}
.sku-note{margin-top:14px;font-size:11px;line-height:1.5;color:var(--sku-muted)}
.sku-link{display:inline-flex;align-items:center;gap:4px;margin-top:14px;font-size:14px;color:var(--sku-link)}
.sku-link .ico{width:14px;height:14px}
.sku-btn--sm{height:36px;padding:0 16px;margin-top:16px;font-size:13px;border-radius:0}
.sku-btn--white{background:#fff;color:#0F0F0F;border-color:#fff}.sku-btn--white:hover{background:#eee}
.sku-btn--auto{width:auto;min-width:220px}
.sku-btn--ghost{background:transparent;color:var(--sku-head);border-color:var(--sku-line)}
.page-sku .sku-btn{border-radius:0}
.sku-lead-wrap{margin-bottom:40px}
.sku-lead-wrap--center{text-align:center}.sku-lead-wrap--center .sku-lead{margin-inline:auto}
.sku-lead--xl{font-size:clamp(34px,4.2vw,60px)}

/* hero over a photo: text colour follows the photo, not the theme */
.sku-hero--light .sku-hero__h,.sku-hero--light .sku-hero__sub{color:#fff}
.sku-hero--dark .sku-hero__h,.sku-hero--dark .sku-hero__sub{color:#0F0F0F}
.sku-eyebrow--hero{display:block;font-size:clamp(16px,1.5vw,22px);margin-bottom:12px}
.sku-hero--light .sku-eyebrow--hero{color:#fff}.sku-hero--dark .sku-eyebrow--hero{color:var(--acc-l)}
.page-sku[data-accent] .sku-hero .sku-eyebrow--grad{margin-inline:auto}
.sku-hero__sub{margin-top:12px;font-size:clamp(16px,1.5vw,22px);line-height:1.4}
.sku-hero--low>.wrap{top:auto;bottom:clamp(28px,5vw,80px)}
.sku-ch .sku-hero .sku-hero__h{max-width:20ch}

/* ---------- generic card grid (bento) ---------- */
.sku-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:16px}
.sku-grid--2{--cols:2}.sku-grid--3{--cols:3}.sku-grid--4{--cols:4}
.sku-span-2{grid-column:span 2}.sku-span-3{grid-column:span 3}
.sku-grid .sku-card{min-height:260px}
.sku-grid .sku-card>.slot{flex:1 1 auto;min-height:220px;margin-top:18px}
.sku-grid .sku-span-2>.slot,.sku-grid .sku-span-3>.slot{min-height:300px}
.sku-grid .sku-card h4{font-size:17px;line-height:1.35;font-weight:500;color:var(--sku-head);max-width:30ch}
.sku-grid .sku-card p{margin-top:4px;font-size:14px;line-height:1.5;color:var(--sku-body);max-width:40ch}
.sku-grid .sku-card__txt{padding:22px 22px 0}
.sku-grid .sku-card:not(:has(.slot)) .sku-card__txt{padding-bottom:22px}
.sku-grid--tech .sku-card{aspect-ratio:328/344}
.sku-grid--tech .sku-card>.slot{position:absolute;inset:0;margin:0;min-height:0;z-index:0}
.sku-grid--tech .sku-card>.slot img{object-position:center bottom}
@media(max-width:1000px){.sku-grid--3,.sku-grid--4{--cols:2}.sku-span-3{grid-column:span 2}}
@media(max-width:640px){.sku-grid{--cols:1!important}.sku-span-2,.sku-span-3{grid-column:auto}}
.sku-card__k{font-size:12px;letter-spacing:.02em;color:var(--sku-blue);margin-bottom:6px}
.sku-big{margin-top:10px!important;font-size:clamp(34px,3.4vw,52px)!important;line-height:1!important;letter-spacing:-.04em;font-weight:500;color:var(--sku-head)!important}
.sku-big--good{color:#05945B!important}.t-black .sku-big--good,.t-deep .sku-big--good,.t-ink .sku-big--good,.t-grey .sku-big--good{color:#34C77B!important}
.sku-big__sub{margin-top:6px!important;font-size:13px!important;color:var(--sku-muted)!important}
.sku-rating{display:flex;align-items:baseline;gap:6px;margin-top:10px!important}
.sku-rating b{font-size:34px;font-weight:500;letter-spacing:-.03em;color:var(--sku-head)}
.sku-rating small{font-size:14px;color:var(--sku-muted)}
.sku-stars{display:inline-flex;gap:2px;margin-left:10px;color:#F5A300}
.sku-stars .ico{width:16px;height:16px}
.sku-bul{list-style:none;padding:0;margin-top:12px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--sku-body)}
.sku-bul li{display:flex;gap:8px;align-items:center}.sku-bul .ico{width:16px;height:16px}
.sku-mini-icons{display:flex;gap:10px;margin-top:14px}
.sku-mini-icons span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--sku-ink);border:1px solid var(--sku-line)}
.sku-chip{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:2;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:0;background:#fff;color:#0F0F0F;font-size:13px;letter-spacing:.06em}
.sku-chip .ico{width:16px;height:16px}.sku-chip--yes .ico{color:#05945B}.sku-chip--no .ico{color:#DC2804}
.sku-card:has(.sku-chip) .sku-card__txt{padding-top:58px;text-align:center}
.sku-card:has(.sku-chip) h4,.sku-card:has(.sku-chip) p{margin-inline:auto}

/* ---------- heading + one image ---------- */
.sku-media .sku-media__img{margin-top:36px;width:100%;max-width:1100px;margin-inline:auto}
.sku-media .slot--45{max-width:560px}

/* ---------- 8-year horizontal cost chart ---------- */
.sku-hbar{margin:0;font-size:11px;color:var(--sku-muted)}
.sku-hbar__ticks{display:grid;grid-template-columns:110px repeat(calc(var(--years) + 1),minmax(0,1fr));align-items:end;margin-bottom:10px}
.sku-hbar__ticks em{font-style:normal}
.sku-hbar__ticks span{transform:translateX(-50%)}
.sku-hbar__row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:0;margin-top:8px}
.sku-hbar__lbl{font-size:12px;line-height:1.3;color:var(--sku-body);padding-right:10px}
.sku-hbar__track{display:flex;height:48px;margin-right:calc(100% / (var(--years) + 1) * 0)}
.sku-hbar__seg{display:flex;align-items:center;justify-content:center;flex:var(--y) 1 0;font-size:11px;border-right:1px solid rgba(0,0,0,.2)}
.sku-hbar__seg--zero{background:#d9d9d9;color:#555}
.sku-hbar__seg--zero-good{background:#EDF7F2;color:#0B7A3B}
.sku-hbar__seg--good{background:#05945B;color:#fff}
.sku-hbar__seg--bad{background:#DC2804;color:#fff;font-size:10px}
.t-black .sku-hbar__seg--zero-good,.t-deep .sku-hbar__seg--zero-good,.t-ink .sku-hbar__seg--zero-good{background:#0B442D;color:#89CCA9}

/* ---------- big statement (e.g. "2 Years") ---------- */
.sku-bigstat{text-align:center}
.sku-bigstat__pre{font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;color:var(--sku-head)}
.sku-bigstat__big{margin-top:6px;font-size:clamp(72px,10vw,150px);line-height:1;letter-spacing:-.05em;font-weight:500;color:var(--sku-head)}
.sku-bigstat__media{margin:32px auto 0;max-width:820px}
.sku-cert{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:820px;margin:16px auto 0;padding:18px 22px;border:1px solid var(--sku-line);border-radius:0;text-align:left}
.sku-cert p{font-size:14px;line-height:1.5;color:var(--sku-body);max-width:28ch}
.sku-cert__logos{width:200px;height:48px;min-height:0;border-radius:0}
.sku-cert__logos>span{padding:0 8px;font-size:8px}

/* ---------- contamination grid ---------- */
.sku-contam{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.sku-contam__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sku-contam__c{padding:18px;background:var(--sku-cell)}
.sku-contam__n{display:flex;justify-content:space-between;align-items:center;font-size:16px;color:var(--sku-head)}
.sku-contam__n .ico{width:14px;height:14px;color:var(--sku-muted)}
.sku-contam__v{margin-top:12px;font-size:20px;color:#DC2804}.t-black .sku-contam__v,.t-deep .sku-contam__v,.t-ink .sku-contam__v{color:#E7685A}
.sku-contam__l{margin-top:4px;font-size:11px;line-height:1.4;color:var(--sku-muted)}
.sku-contam .sku-btn{margin-top:18px}.sku-contam .sku-btn .ico{width:16px;height:16px}
@media(max-width:900px){.sku-contam{grid-template-columns:1fr}}

/* ---------- lab test cards ---------- */
.page-sku .sku-test{position:relative}
.sku-test__tag{display:inline-block;padding:3px 8px;border-radius:0;background:var(--sku-ink);font-size:11px!important;color:var(--sku-body)!important;margin:0 0 12px!important}
.sku-test__vals{display:flex;align-items:center;gap:14px;margin-top:14px}
.sku-test__vals div{display:flex;flex-direction:column}
.sku-test__vals b{font-size:20px;font-weight:500;color:var(--sku-head)}
.sku-test__vals b small{font-size:11px;color:var(--sku-muted)}
.sku-test__vals div:last-child b{color:#05945B}
.sku-test__vals span{font-size:11px;color:var(--sku-muted)}
.sku-test__vals .ico{width:16px;height:16px;color:var(--sku-muted)}
.sku-test__rep{position:absolute;right:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:0;background:#0F0F0F;color:#fff;font-size:12px}
.sku-test__rep .ico{width:14px;height:14px}

/* ---------- warranty checklist + image ---------- */
.sku-checks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.sku-checks__pre{font-size:clamp(18px,1.7vw,24px);color:var(--sku-muted);letter-spacing:-.02em}
.sku-checks__list{list-style:none;padding:0;margin-top:24px;display:flex;flex-direction:column;gap:16px;font-size:18px;color:var(--sku-body)}
.sku-checks__list li{display:flex;align-items:center;gap:12px}
@media(max-width:900px){.sku-checks{grid-template-columns:1fr}}

/* ---------- reviews ---------- */
.sku-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.sku-chip-f{height:36px;padding:0 14px;border-radius:0;border:1px solid var(--sku-line);background:transparent;color:var(--sku-body);font-size:13px}
.sku-chip-f.is-on{border-color:var(--sku-head);color:var(--sku-head)}
.page-sku .sku-review{flex:0 0 min(78%,380px);padding:22px;background:var(--card-bg,#fff);border:1px solid var(--sku-line)}
.sku-review__src{font-size:12px;color:var(--sku-muted)}
.sku-review__who{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.sku-review__who b{font-size:16px;font-weight:500;color:var(--sku-head)}
.sku-review__stars{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:0;background:#0B7A3B;color:#fff;font-size:12px}
.sku-review__stars .ico{width:12px;height:12px}
.sku-review__meta{margin-top:2px;font-size:12px;color:var(--sku-muted)}
.sku-review__txt{margin-top:14px;font-size:14px;line-height:1.6;color:var(--sku-body)}
.page-sku .sku-review+.sku-review{}
.page-sku section:has(.sku-review) .wrap:last-child{margin-top:24px}

/* ---------- made in India ---------- */
.sku-madein{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.sku-madein__list{list-style:none;padding:0;margin-top:28px;display:flex;flex-direction:column;gap:16px;font-size:15px;color:var(--sku-body)}
.sku-madein__list li{display:flex;align-items:center;gap:12px}
.sku-madein__note{margin-top:32px;font-size:11px;line-height:1.6;color:var(--sku-muted);max-width:60ch}
@media(max-width:900px){.sku-madein{grid-template-columns:1fr}}

/* ---------- stats (lock) ---------- */
.sku-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.sku-stats__list{display:flex;flex-direction:column;gap:28px;margin-top:36px}
.sku-stat2 b{display:block;font-size:clamp(40px,4.4vw,64px);line-height:1;letter-spacing:-.04em;font-weight:500;color:var(--sku-blue)}
.sku-stat2 span{display:block;margin-top:8px;font-size:15px;color:var(--sku-body)}
@media(max-width:900px){.sku-stats{grid-template-columns:1fr}}

/* ---------- comparison table (lock) ---------- */
.sku-table-wrap{margin-top:32px;overflow-x:auto;border:1px solid var(--sku-line)}
.sku-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}
.sku-table th,.sku-table td{padding:16px 18px;border-bottom:1px solid var(--sku-line);text-align:center;vertical-align:middle;color:var(--sku-body)}
.sku-table thead th{font-weight:500;color:var(--sku-head)}
.sku-table tbody th{text-align:left;font-weight:400;color:var(--sku-head);width:30%}
.sku-table td.is-us{background:#EDF7F2;color:#0F0F0F}
.sku-table tr:last-child>*{border-bottom:0}
.sku-table .ico{display:block;margin:0 auto 6px;width:22px;height:22px}.sku-t__yes{color:#05945B}.sku-t__no{color:#DC2804}
.sku-table-wrap+.sku-btn{margin-top:20px}

/* ---------- icon list (ways to unlock) ---------- */
.sku-icons--media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.sku-icons__list{list-style:none;padding:0;margin-top:32px;display:grid;grid-template-columns:repeat(var(--c,3),minmax(0,1fr));gap:22px 18px}
.sku-icons__list--1{--c:1}.sku-icons__list--2{--c:2}.sku-icons__list--3{--c:3}
.sku-icons__list li{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--sku-head)}
.sku-icons__list--1 li{flex-direction:row;align-items:center;gap:14px}
.sku-icons__list .ico{width:28px;height:28px;color:var(--sku-head)}
.sku-icons__list b{font-weight:500}.sku-icons__list span{font-size:11px;color:var(--sku-muted)}
@media(max-width:900px){.sku-icons--media{grid-template-columns:1fr}}

/* ---------- door fit (lock) ---------- */
.sku-doorfit{display:grid;grid-template-columns:1fr 1fr;gap:24px clamp(32px,6vw,96px)}
.sku-doorfit h3{font-size:17px;font-weight:500;margin-top:10px}
.sku-doorfit__list{list-style:none;padding:0;margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sku-doorfit__list li{position:relative;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--sku-body)}
.sku-doorfit__list .ico{width:40px;height:40px;color:var(--sku-head);stroke-width:1.2}
.sku-doorfit__list .sku-doorfit__x{position:absolute;left:28px;top:-6px;width:20px;height:20px;color:#fff;fill:#DC2804;stroke:#fff}
.sku-doorfit__list b{font-size:13px;font-weight:500;color:var(--sku-head)}
.sku-doorfit__note{grid-column:1/-1;padding-top:18px;border-top:1px dashed var(--sku-line);font-size:13px;color:var(--sku-muted)}
@media(max-width:760px){.sku-doorfit{grid-template-columns:1fr}}

/* ---------- box contents ---------- */
.sku-box{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:32px}
.sku-box figure{margin:0}.sku-box figcaption{margin-top:8px;font-size:13px;text-align:center;color:var(--sku-body)}
@media(max-width:900px){.sku-box{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.sku-box{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- warranty band + CTA (lock) ---------- */
.sku-warr,.sku-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.sku-warr__big{font-size:clamp(56px,7vw,110px);line-height:1;letter-spacing:-.05em;font-weight:500;color:var(--sku-head);margin-bottom:6px}
.sku-warr__list{list-style:none;padding:0;margin-top:26px;display:flex;flex-direction:column;gap:14px;font-size:15px;color:var(--sku-body)}
.sku-warr__list li{display:flex;align-items:center;gap:12px}
.sku-cta .sku-btn{margin-top:22px}
@media(max-width:900px){.sku-warr,.sku-cta{grid-template-columns:1fr}}

/* ---------- panels, galleries, three-up variants ---------- */
.sku-three--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sku-gallery--2{grid-template-columns:1fr 1fr}
.sku-gallery--3{grid-template-columns:1.25fr 1fr 1fr}
@media(max-width:900px){.sku-three--2,.sku-gallery--2,.sku-gallery--3{grid-template-columns:1fr}}
.sku-svc__list .ico{width:28px;height:28px;color:var(--sku-blue-40)}
.t-light .sku-svc__list .ico,.t-white .sku-svc__list .ico{color:var(--acc-l)}
.page-sku .sku-banner.t-grey{background:linear-gradient(180deg,#3a3a3a,#1C1C1C)}
.page-sku .sku-banner.t-light{background:#F5F5F5}
.sku-banner .sku-link{margin-top:14px}

/* glows follow the page accent; softer on light surfaces */
.page-sku[data-accent] .sku-glow::before{background:radial-gradient(closest-side,rgba(var(--acc-rgb),.85),rgba(var(--acc-rgb),.3) 55%,transparent)}
.t-light .sku-glow::before,.t-white .sku-glow::before{opacity:.35}

/* FAQ */
.page-sku .sku-faq .faq__items summary{color:var(--sku-head)}
.page-sku .sku-faq .faq__answer p+p{margin-top:10px}

/* ---------- lock colour picker ---------- */
.swatches{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.swatch{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 16px 0 10px;border:1px solid #E3E3DE;background:#fff;font-size:13px;color:#0F0F0F}
.swatch.is-active{border-color:#111;background:#F5F5F5}
.swatch__dot{width:22px;height:22px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.swatch:focus-visible{outline:2px solid #000;outline-offset:2px}

/* ---------- fixes from the full-page review ---------- */
/* light buttons: fixed ink (the themes redefine --sku-ink, which made the label white on white) */
.page-sku .sku-btn--light{color:#0F0F0F;background:#fff;border-color:#D5D5D0}
.page-sku .sku-btn--light:hover{background:#F5F5F5}
/* text over a photo takes its colour from the photo, never from the section theme */
.page-sku .sku-flow .fullbleed--ondark .fullbleed__text,.page-sku .sku-flow .fullbleed--ondark .fullbleed__text h2{color:#E2E2E2}
.page-sku .sku-flow .fullbleed--ondark .sku-sub{color:#AFAFAF}
.page-sku .sku-flow .fullbleed--ondark .sku-eyebrow{color:var(--acc-d)}
.page-sku .sku-flow .fullbleed--ondark .sku-dim{color:#8a8a8a}
.page-sku .sku-flow .fullbleed--onlight .fullbleed__text,.page-sku .sku-flow .fullbleed--onlight .fullbleed__text h2{color:#0F0F0F}
.page-sku .sku-flow .fullbleed--onlight .sku-eyebrow{color:var(--acc-l)}
.page-sku .sku-flow .fullbleed--onlight .sku-acc{color:var(--acc-l)}
.page-sku .sku-flow .fullbleed--onlight .sku-note{color:#545454}
/* hero placeholder matches the photo it stands in for */
.sku-hero--dark .sku-hero__film{background:#E6E3DD}
.sku-hero--dark .slot>span{color:#8a857d}
/* chapters that open or close on a full-bleed sit flush against it */
.sku-ch--flush-b{padding-bottom:0}
/* galleries: equal-height photos */
.page-sku .sku-gallery .slot{aspect-ratio:auto;height:clamp(340px,38vw,600px)}
@media(max-width:900px){.page-sku .sku-gallery .slot{height:auto;aspect-ratio:4/5}}

/* text-only bento cards size to their content; a lone specs block isn't squeezed into half the width */
.sku-grid .sku-card:not(:has(.slot)){min-height:0}
.sku-endgrid--one{grid-template-columns:minmax(0,760px)}
/* the M3 Pro page's light zone (pre-theme markup) gets light-theme text values too */
.sku-light,.sku-white{--sku-head:#0F0F0F;--sku-body:#545454;--sku-muted:#8E8E87;--sku-line:#E3E3DE}

/* ==========================================================================
   Customer reviews — after the FAQs on every SKU page (sku_lib.reviews_section)
   Score + distribution | AI summary + topic tags | photos & videos | reviews.
   Rows sit on the white surface with hairlines; only media tiles are boxed.
   ========================================================================== */
.sku-ch--reviews{padding-top:0}
.rv{--rv-line:#E3E3DE;--rv-star:#F5A300;--rv-star-off:#E2E2E2;--rv-ph:#F5F5F5;--rv-pos:#05945B;--rv-neg:#DC2804;color:var(--sku-head)}
.rv>.wrap{border-top:1px solid var(--rv-line);padding-top:clamp(56px,6vw,96px)}
.rv h3{font-size:20px;line-height:28px;font-weight:500;letter-spacing:-.02em;color:var(--sku-head)}
.rv__top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.rv-flag{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:#FFF4E5;color:#A3410A;font-size:12px;font-weight:500}
.rv__grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:clamp(40px,6vw,112px);align-items:start}
.rv__main{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(40px,4.5vw,64px)}

/* stars (partial fill) */
.rv-stars{--sz:16px;--gap:2px;position:relative;display:inline-block;flex:none;vertical-align:middle;width:calc(var(--sz) * 5 + var(--gap) * 4);height:var(--sz)}
.rv-stars__base,.rv-stars__fill{position:absolute;top:0;bottom:0;left:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8-5.2-2.8-5.2 2.8 1-5.8-4.3-4.1 5.9-.9z'/%3E%3C/svg%3E") 0 0/calc(var(--sz) + var(--gap)) var(--sz) repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8-5.2-2.8-5.2 2.8 1-5.8-4.3-4.1 5.9-.9z'/%3E%3C/svg%3E") 0 0/calc(var(--sz) + var(--gap)) var(--sz) repeat-x}
.rv-stars__base{right:0;background:var(--rv-star-off)}
.rv-stars__fill{background:var(--rv-star)}
.rv-stars--lg{--sz:22px;--gap:3px}
@media (forced-colors:active){.rv-stars__base{background:GrayText}.rv-stars__fill{background:CanvasText}}

/* score column */
.rv__score{position:sticky;top:150px}
.rv__avg{display:flex;align-items:baseline;gap:10px}
.rv__avg b{font-size:clamp(56px,5vw,72px);line-height:1;font-weight:500;letter-spacing:-.05em;color:var(--sku-head)}
.rv__avg span{font-size:16px;color:var(--sku-muted)}
.rv__score .rv-stars{margin-top:14px}
.rv__count{margin-top:10px;font-size:14px;color:var(--sku-muted)}
.rv__dist{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:4px}
.rv-dist{display:grid;grid-template-columns:52px 1fr 40px;align-items:center;gap:12px;width:100%;padding:6px 8px;margin:0 -8px;box-sizing:content-box;border:0;border-radius:0;background:none;font:inherit;font-size:14px;color:var(--sku-body);cursor:pointer;text-align:left}
.rv-dist:hover{background:#F5F5F5}
.rv-dist__track{height:8px;border-radius:999px;background:#EDEDED;overflow:hidden}
.rv-dist__track i{display:block;height:100%;border-radius:inherit;background:var(--sku-head)}
.rv-dist__p{text-align:right;font-variant-numeric:tabular-nums}
.rv-dist[aria-pressed=true]{background:#F5F5F5;color:var(--sku-head)}
.rv-dist[aria-pressed=true] .rv-dist__track i{background:var(--rv-star)}
.rv__dist:has([aria-pressed=true]) .rv-dist:not([aria-pressed=true]){opacity:.45}
.rv__write{margin-top:36px;padding-top:28px;border-top:1px solid var(--rv-line)}
.rv__write h3{font-size:17px;line-height:24px}
.rv__write p{margin-top:4px;font-size:14px;color:var(--sku-body)}

/* buttons */
.rv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;width:100%;margin-top:18px;padding:0 24px;border:1px solid #D5D5D0;border-radius:0;background:#fff;color:#0F0F0F;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}
.rv-btn:hover{background:#F5F5F5}
.rv-btn--auto{width:auto}
.rv-link{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font:inherit;font-size:14px;font-weight:500;color:var(--acc-l,#235AF3);cursor:pointer}
.rv-link svg{width:14px;height:14px}
.rv-link--muted{color:var(--sku-muted);font-weight:400}
.rv-link:hover{text-decoration:underline;text-underline-offset:3px}

/* AI summary + topic tags */
.rv__aitxt{margin-top:12px;font-size:16px;line-height:1.65;color:var(--sku-body);max-width:68ch}
.rv__ainote{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;color:var(--sku-muted)}
.rv__ainote svg{width:16px;height:16px;color:#0F0F0F}
.rv__label{margin-top:28px;font-size:14px;font-weight:500;color:var(--sku-head)}
.rv__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.rv-tag{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border:1px solid var(--rv-line);border-radius:999px;background:#fff;font:inherit;font-size:14px;color:var(--sku-head);cursor:pointer;transition:border-color .2s,background .2s}
.rv-tag svg{width:16px;height:16px;flex:none}
.rv-tag--positive svg{color:var(--rv-pos)}.rv-tag--mixed svg{color:var(--sku-muted)}.rv-tag--negative svg{color:var(--rv-neg)}
.rv-tag__n{color:var(--sku-muted);font-variant-numeric:tabular-nums}
.rv-tag:hover{border-color:#BDBDBD}
.rv-tag[aria-pressed=true]{border-color:var(--sku-head);background:var(--sku-head);color:#fff}
.rv-tag[aria-pressed=true] svg,.rv-tag[aria-pressed=true] .rv-tag__n{color:inherit;opacity:.85}

/* media tiles */
.rv__mhead{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.rv__mhead h3 span{margin-left:6px;color:var(--sku-muted);font-weight:400}
.rv__strip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-top:18px}
.rv-m{position:relative;display:block;aspect-ratio:1;width:100%;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--rv-ph);cursor:pointer;font:inherit;color:var(--sku-muted)}
.rv-m img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.rv-m:hover img{transform:scale(1.04)}
.rv-m:focus-visible{outline:2px solid var(--sku-head);outline-offset:2px}
.rv-m__ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:10px;font-size:10px;line-height:1.3;letter-spacing:.04em;text-transform:uppercase;text-align:left;color:#AAA9A4}
.rv-m__play{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;display:grid;place-items:center;border-radius:50%;background:rgba(15,15,15,.72);color:#fff}
.rv-m__play svg{width:18px;height:18px;margin-left:2px}
.rv-m__dur{position:absolute;right:8px;top:8px;padding:2px 6px;border-radius:0;background:rgba(15,15,15,.72);color:#fff;font-size:11px;font-variant-numeric:tabular-nums}
.rv-m--video .rv-m__ph{display:none}
.rv-m--more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#0F0F0F;color:#fff}
.rv-m--more b{font-size:22px;font-weight:500}.rv-m--more span{font-size:12px;opacity:.8}
.rv-m--sm{width:88px;flex:none}
.rv-m--sm .rv-m__ph{font-size:9px;padding:8px}
.rv-m--sm .rv-m__play{width:30px;height:30px;margin:-15px 0 0 -15px}.rv-m--sm .rv-m__play svg{width:14px;height:14px}

/* list head, filters */
.rv__list{border-top:1px solid var(--rv-line);padding-top:clamp(40px,4.5vw,64px)}
.rv__lhead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rv-sort{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--sku-muted)}
.rv-sort select{height:40px;padding:0 36px 0 14px;border:1px solid var(--rv-line);border-radius:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F0F0F' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/14px;appearance:none;font:inherit;font-size:14px;color:var(--sku-head);cursor:pointer}
.rv__chips{display:flex;gap:8px;margin-top:20px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.rv__chips::-webkit-scrollbar{display:none}
.rv-chip{display:inline-flex;align-items:center;gap:6px;flex:none;height:36px;padding:0 14px;border:1px solid var(--rv-line);border-radius:0;background:#fff;font:inherit;font-size:13px;color:var(--sku-body);cursor:pointer}
.rv-chip svg{width:14px;height:14px}
.rv-chip[data-rv-f="5"] svg,.rv-chip[data-rv-f="4"] svg,.rv-chip[data-rv-f="3"] svg,.rv-chip[data-rv-f="2"] svg,.rv-chip[data-rv-f="1"] svg{color:var(--rv-star)}
.rv-chip.is-on{border-color:var(--sku-head);color:var(--sku-head);background:#F5F5F5}
.rv__status{margin-top:16px;font-size:13px;color:var(--sku-muted)}
.rv__status button{margin-left:8px}

/* one review */
.rv__items{list-style:none;margin:8px 0 0;padding:0}
.rv-r{padding:32px 0;border-bottom:1px solid var(--rv-line);scroll-margin-top:150px}
.rv-r[hidden]{display:none}
.rv-r__who{display:flex;align-items:center;gap:12px}
.rv-r__who b{font-size:14px;font-weight:500;color:var(--sku-head)}
.rv-r__av{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;background:#EDEDED;color:#545454;font-size:13px;font-weight:600;object-fit:cover}
.rv-r__head{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.rv-r__title{font-size:16px;line-height:24px;font-weight:600;letter-spacing:-.01em;color:var(--sku-head)}
.rv-r__meta{margin-top:6px;font-size:13px;color:var(--sku-muted)}
.rv-r__meta2{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:2px}
.rv-r__ver{display:inline-flex;align-items:center;gap:4px;color:var(--rv-pos);font-weight:500}
.rv-r__ver svg{width:14px;height:14px}
.rv-r__txt{margin-top:14px;max-width:72ch;font-size:15px;line-height:1.65;color:var(--sku-body)}
.rv-r__txt p+p{margin-top:10px}
.rv-r__txt.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.rv-r__more{margin-top:8px}
.rv-r__more[aria-expanded=true] svg{transform:rotate(-90deg)}
.rv-r__more svg{transform:rotate(90deg);transition:transform .2s}
.rv-r__media{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.rv-r__reply{margin-top:20px;max-width:72ch;padding:16px 18px;border-radius:0;background:#F5F5F5;font-size:14px;line-height:1.6;color:var(--sku-body)}
.rv-r__rhead{display:flex;gap:10px;align-items:baseline;margin-bottom:4px}
.rv-r__rhead b{font-weight:600;color:var(--sku-head)}.rv-r__rhead span{font-size:12px;color:var(--sku-muted)}
.rv-r__foot{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px}
.rv-r__hc{font-size:13px;color:var(--sku-muted)}
.rv-r__hc:empty{display:none}
.rv-r__acts{display:flex;align-items:center;gap:18px}
.rv-pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border:1px solid #D5D5D0;border-radius:999px;background:#fff;font:inherit;font-size:13px;color:var(--sku-head);cursor:pointer}
.rv-pill svg{width:15px;height:15px}
.rv-pill[aria-pressed=true]{border-color:var(--sku-head);background:var(--sku-head);color:#fff}
.rv__empty{padding:48px 0;text-align:center;color:var(--sku-body)}
.rv__more{margin-top:28px}

/* media viewer (dialog) */
.rv-lb{position:fixed;inset:0;margin:auto;width:min(1200px,calc(100vw - 48px));max-width:none;height:min(820px,calc(100vh - 48px));max-height:none;padding:0;border:0;border-radius:0;background:#fff;color:#0F0F0F;overflow:hidden}
.rv-lb::backdrop{background:rgba(10,10,10,.72)}
.rv-lb__in{display:flex;flex-direction:column;height:100%}
.rv-lb__bar{display:flex;align-items:center;gap:16px;height:64px;padding:0 16px 0 24px;border-bottom:1px solid #E3E3DE;flex:none}
.rv-lb__bar h3{font-size:17px;line-height:24px;font-weight:500;margin-right:auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-lb__bar h3 span{color:#8E8E87;font-weight:400;margin-left:6px}
.rv-lb__x,.rv-lb__back{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:none;color:#0F0F0F;cursor:pointer}
.rv-lb__x:hover,.rv-lb__back:hover{background:#F5F5F5}
.rv-lb__x svg,.rv-lb__back svg{width:20px;height:20px}
.rv-lb__tabs{display:flex;gap:6px}
.rv-lb__tabs button{height:34px;padding:0 14px;border:1px solid #E3E3DE;border-radius:0;background:#fff;font:inherit;font-size:13px;color:#545454;cursor:pointer}
.rv-lb__tabs button[aria-pressed=true]{border-color:#0F0F0F;color:#0F0F0F;background:#F5F5F5}
.rv-lb__grid{flex:1;overflow:auto;padding:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-content:start}
.rv-lb__view{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}
.rv-lb__stage{position:relative;display:grid;place-items:center;min-height:0;background:#0F0F0F;color:#8a8a8a}
.rv-lb__stage img,.rv-lb__stage video{max-width:100%;max-height:100%;object-fit:contain;display:block}
.rv-lb__ph{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:24px}
.rv-lb__ph .rv-m__play{position:static;margin:0;width:64px;height:64px;background:rgba(255,255,255,.12)}
.rv-lb__ph .rv-m__play svg{width:26px;height:26px}
.rv-lb__nav{position:absolute;top:50%;width:44px;height:44px;margin-top:-22px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#0F0F0F;cursor:pointer}
.rv-lb__nav svg{width:20px;height:20px}
.rv-lb__nav--p{left:16px}.rv-lb__nav--n{right:16px}
.rv-lb__nav:disabled{opacity:0;pointer-events:none}
.rv-lb__count{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:4px 10px;border-radius:999px;background:rgba(15,15,15,.72);color:#fff;font-size:12px;font-variant-numeric:tabular-nums}
.rv-lb__side{overflow:auto;padding:24px;border-left:1px solid #E3E3DE}
.rv-lb__side .rv-r{padding:0;border:0;list-style:none}
.rv-lb__side .rv-r__foot,.rv-lb__side .rv-r__more,.rv-lb__side .rv-r__reply{display:none}
.rv-lb__side .rv-r__txt{display:block;-webkit-line-clamp:none;font-size:14px}
.rv-lb__side .rv-r__media .rv-m--sm{width:64px}
.rv-lb__side .rv-m.is-current{outline:2px solid #0F0F0F;outline-offset:2px}
.rv-lb__side .rv-lb__jump{margin-top:18px}

@media (max-width:1100px){.rv__strip{grid-template-columns:repeat(6,minmax(0,1fr))}.rv__strip>.rv-m:nth-child(n+7):not(.rv-m--more){display:none}}
@media (max-width:900px){
  .rv__grid{grid-template-columns:minmax(0,1fr)}
  .rv__score{position:static;display:grid;grid-template-columns:auto 1fr;gap:4px 32px;align-items:start}
  .rv__score>.rv__avg,.rv__score>.rv-stars,.rv__score>.rv__count{grid-column:1}
  .rv__score>.rv__dist{grid-column:2;grid-row:1/span 3;margin-top:0}
  .rv__score>.rv__write{grid-column:1/-1}
  .rv-lb__view{display:flex;flex-direction:column}
  .rv-lb__stage{flex:0 0 auto;height:min(52vh,100vw)}
  .rv-lb__side{flex:1;min-height:0;border-left:0;border-top:1px solid #E3E3DE}
}
@media (max-width:640px){
  .rv__score{grid-template-columns:minmax(0,1fr)}
  .rv__score>.rv__dist{grid-column:1;grid-row:auto;margin-top:20px}
  .rv__strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--native-gutter,20px) * -1);padding-inline:var(--native-gutter,20px);scroll-padding-inline:var(--native-gutter,20px)}
  .rv__strip::-webkit-scrollbar{display:none}
  .rv__strip>.rv-m{flex:0 0 112px;scroll-snap-align:start}
  .rv__strip>.rv-m:nth-child(n+7):not(.rv-m--more){display:block}
  .rv-sort span{display:none}
  .rv-lb{width:100vw;height:100dvh;border-radius:0}
  .rv-lb__bar{padding-left:16px}
  .rv-lb__tabs{display:none}
  .rv-lb__grid{grid-template-columns:repeat(3,1fr);padding:12px;gap:6px}
}
.rv-lb__side .rv-m__dur{display:none}

/* full plain-text specifications (buy-box accordion) + last-updated date */
.page-sku .plain-specs__g{margin:22px 0 6px;font-size:13px;font-weight:600;color:#0F0F0F;letter-spacing:-.01em}
.page-sku .plain-specs__g:first-child{margin-top:4px}
.page-sku .specs-updated{margin-top:18px;font-size:12px;color:#8E8E87}
.page-sku .sku-endgrid .specs-updated{margin-top:16px}
.page-sku .acc__body .plain-specs__g{margin:28px 0 2px;padding-top:0}
.page-sku .acc__body .plain-specs__g:first-child{margin-top:6px}

/* ================= full-bleed image sections (29 Sep 2026) =================
   Images carry no text. Every picture that sits with copy fills its section or card edge to edge,
   and the copy (live HTML) sits over it, on a fade of the section colour. The artwork keeps that
   area calm: the "text zone" printed in the asset list for each file.
     split  (text beside a picture)   16:9 desktop, text zone on the left  · 9:16 phones, text on top
     media / bigstat (text above)     16:9 desktop, text zone on top       · 4:5 phones, text on top
     banner (compare)                 3:1 card, text zone on the left      · 4:5 phones, text on top
     three-up figures                 4:3 cards, caption over the top                                  */
.page-sku .blk:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos)){
  position:relative;isolation:isolate;overflow:hidden;display:grid;align-items:center;min-height:min(56.25vw,1080px);
  padding-block:clamp(56px,6vw,104px)}
.page-sku .blk>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat){position:static;display:block;overflow:visible}
.page-sku .blk>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat)>*{position:static}
.page-sku .blk>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos){
  position:absolute;inset:0;width:auto;height:auto;max-width:none;min-height:0;margin:0!important;aspect-ratio:auto;border:0;border-radius:0;z-index:-2}
.page-sku .blk>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos) img{object-position:right center}
.page-sku .blk:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos))::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,var(--s-bg,#000) 0%,var(--s-bg,#000) 28%,color-mix(in srgb,var(--s-bg,#000) 0%,transparent) 60%)}
/* split: copy in the left column (lists included), picture subject on the right */
.page-sku .blk>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta)>*:not(.slot){max-width:min(44%,540px)}
.page-sku .blk>.wrap.sku-svc>.sku-svc__list{margin-top:36px;gap:24px}
/* media + bigstat: copy on top, subject below */
.page-sku .blk:has(>.wrap:is(.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos)){align-items:start}
.page-sku .blk:has(>.wrap:is(.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos))::before{
  background:linear-gradient(180deg,var(--s-bg,#000) 0%,var(--s-bg,#000) 14%,color-mix(in srgb,var(--s-bg,#000) 0%,transparent) 42%)}
.page-sku .blk>.wrap:is(.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos) img{object-position:center bottom}
.page-sku .blk>.wrap.sku-bigstat{display:flex;flex-direction:column;align-self:stretch}
.page-sku .blk>.wrap.sku-bigstat>.sku-cert{margin-top:auto;background:color-mix(in srgb,var(--s-bg,#000) 82%,transparent);backdrop-filter:blur(6px)}
@media(max-width:760px){
  .page-sku .blk:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta) .slot:not(.sku-cert__logos)){min-height:177.78vw;align-items:start}
  /* long copy never buries the picture: at least 80vw of it stays clear under the text */
  .page-sku .blk:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta) .slot:not(.sku-cert__logos)){padding-bottom:80vw}
  .page-sku .blk:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta) .slot:not(.sku-cert__logos))::before{
    background:linear-gradient(180deg,var(--s-bg,#000) calc(100% - 92vw),color-mix(in srgb,var(--s-bg,#000) 0%,transparent) calc(100% - 50vw))}
  .page-sku .blk:has(>.wrap:is(.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos)){min-height:125vw}
  .page-sku .blk>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta)>*:not(.slot){max-width:none}
  .page-sku .blk:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos))::before{
    background:linear-gradient(180deg,var(--s-bg,#000) 0%,var(--s-bg,#000) 30%,color-mix(in srgb,var(--s-bg,#000) 0%,transparent) 62%)}
  .page-sku .blk>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos) img{object-position:center bottom}}
/* compare banner: the picture fills the card, copy on the left */
.page-sku .sku-banner{display:block;aspect-ratio:3/1;min-height:0;overflow:visible;isolation:isolate}
.page-sku .sku-banner>.slot{position:absolute;inset:0;height:auto;min-height:0;z-index:-2;border-radius:inherit;overflow:hidden}
.page-sku .sku-banner>.slot img{object-position:right center}
.page-sku .sku-banner::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:linear-gradient(90deg,var(--sku-black,#000) 0%,var(--sku-black,#000) 25%,color-mix(in srgb,var(--sku-black,#000) 0%,transparent) 58%)}
.page-sku .sku-banner>.sku-banner__txt{max-width:min(46%,560px)}
@media(max-width:760px){.page-sku .sku-banner{aspect-ratio:4/5}.page-sku .sku-banner>.sku-banner__txt{max-width:none}
  .page-sku .sku-banner::before{background:linear-gradient(180deg,var(--sku-black,#000) 0%,var(--sku-black,#000) 30%,color-mix(in srgb,var(--sku-black,#000) 0%,transparent) 62%)}
  .page-sku .sku-banner>.slot img{object-position:center bottom}}
/* three-up figures (not the dimension drawings): 4:3 cards, caption over the top */
.page-sku .sku-three:not(:has(.sku-dims))>figure{position:relative;isolation:isolate;aspect-ratio:4/3;overflow:hidden;border-radius:0}
.page-sku .sku-three:not(:has(.sku-dims))>figure>.slot{position:absolute;inset:0;z-index:-2;border-radius:0}
.page-sku .sku-three:not(:has(.sku-dims))>figure>.slot img{object-position:center bottom}
.page-sku .sku-three:not(:has(.sku-dims))>figure::before{content:"";position:absolute;inset:0 0 auto;height:55%;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,var(--s-bg,#000) 25%,color-mix(in srgb,var(--s-bg,#000) 0%,transparent))}
.page-sku .sku-three:not(:has(.sku-dims))>figure>figcaption{margin:0;padding:20px 22px}

/* filled slots with a phone crop: <picture> takes no box, so the img keeps the slot's absolute fill */
.slot picture{display:contents}

/* ---------- glow statements: centred, pinned while you scroll through them; each word lights up in turn ----------
   The section is taller than the screen; its content sticks in the middle and sku.js scrubs --p (0 to 1) with the
   scroll. Words start dim and reach their own colour (grey run, then blue run) one by one. */
.page-sku .sku-flow .blk.sku-glow{--scrub:220vh;min-height:var(--scrub);padding-block:0;overflow:clip}
.page-sku .sku-glow::before{content:none}
.page-sku .sku-glow>.wrap{position:sticky;top:var(--gh-nav,72px);height:calc(100vh - var(--gh-nav,72px));display:flex;align-items:center;justify-content:center}
.page-sku .sku-glow>.wrap::before{content:"";position:absolute;left:50%;top:50%;width:min(110%,1400px);height:80%;z-index:0;pointer-events:none;filter:blur(40px);
  background:radial-gradient(closest-side,rgba(var(--acc-rgb,35,90,243),.85),rgba(var(--acc-rgb,35,90,243),.3) 55%,transparent);
  transform:translate(-50%,-50%) scale(calc(.5 + .6 * var(--p,1)));opacity:calc(.2 + .8 * var(--p,1))}
.t-light .sku-glow>.wrap::before,.t-white .sku-glow>.wrap::before{opacity:calc(.1 + .25 * var(--p,1))}
.page-sku .sku-glow p{margin-inline:auto;text-align:center;max-width:21ch;font-size:clamp(27px,4.2vw,69px);line-height:1.1;letter-spacing:-.04em}
.page-sku .sku-glow .w{opacity:calc(.16 + .84 * var(--on,1));transition:opacity .12s linear}
@media(max-width:760px){.page-sku .sku-flow .blk.sku-glow{--scrub:190vh}}
@media(prefers-reduced-motion:reduce){.page-sku .sku-flow .blk.sku-glow{min-height:0;padding-block:clamp(96px,13vw,200px)}
  .page-sku .sku-glow>.wrap{position:relative;top:auto;height:auto}.page-sku .sku-glow .w{opacity:1}}

/* full-bleed pictures meet the chapter edge: no strip of chapter padding above or below them */
.page-sku .sku-ch:not(.sku-ch--flush)>.blk:is(.fullbleed,:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos))):first-child{margin-top:calc(-1 * var(--sku-gap))}
.page-sku .sku-ch:not(.sku-ch--flush-b)>.blk:is(.fullbleed,:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos))):last-child{margin-bottom:calc(-1 * var(--sku-gap))}
/* two full-bleed pictures in a row touch: no strip of chapter background between them */
.page-sku .sku-flow .blk:is(.fullbleed,:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos)))+.blk:is(.fullbleed,:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos))){margin-top:0}

/* ---------- buy box v2 (trial on M3 Pro): info accordions with icons, highlights strip below ---------- */
.page-sku .acc--v2 summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.page-sku .acc--v2 .acc__t{display:inline-flex;align-items:center;gap:12px}
.page-sku .acc--v2 .acc__t .ico{width:20px;height:20px;flex:none;color:#3d3d3a}
.page-sku .acc--v2 .acc__body p+p{margin-top:.7rem}
.page-sku .acc--v2 .acc__body ul{margin:0;padding-left:1.1rem}
.page-sku .acc--v2 .acc__body a{text-decoration:underline;text-underline-offset:3px}
.page-sku .sku-promise{background:var(--native-surface,#F5F5F5);border-block:1px solid #E6E6E1}
.page-sku .sku-promise__row{list-style:none;margin:0 auto;padding:clamp(28px,3vw,40px) var(--sku-gut,24px);max-width:1500px;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.page-sku .sku-promise__i{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:14px;line-height:1.35;font-weight:500;color:#0F0F0F}
.page-sku .sku-promise__i .ico{width:30px;height:30px;color:#0F0F0F}
.page-sku .sku-promise__i span{max-width:16ch}
@media(max-width:760px){.page-sku .sku-promise__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .page-sku .sku-promise__i:last-child{grid-column:1/-1}}
/* an older rule hides the Specifications label while it is closed; the v2 label stays */
.page-sku .acc--v2 .product-specs:not([open]) summary>span{font-size:inherit}
.page-sku .acc--v2 .product-specs:not([open]) summary>span::after{content:none}

/* key-feature icons: filter life + purification stages first, then three per model; five in a row (locks keep four) */
.page-sku .keyfeat{grid-template-columns:repeat(var(--kf,4),minmax(0,1fr))}
.page-sku .keyfeat:has(.kf:nth-child(5)){--kf:5}
.page-sku .keyfeat .kf span{text-wrap:balance}
/* key-feature icons sit in a grey box instead of between two rules */
.page-sku .keyfeat{border:0;background:var(--native-surface,#F5F5F5);padding:22px 12px;margin-top:24px}
.page-sku .keyfeat+.acc{margin-top:8px}

/* ---------- price v2 (trial on M3 Pro): discount %, M.R.P., EMI options, offers row ---------- */
.page-sku .price--v2{display:block}
.page-sku .price--v2 .price__row{display:flex;align-items:flex-start;gap:12px;margin:0}
.page-sku .price--v2 .price__pct{font-size:clamp(24px,2.2vw,30px);line-height:1.2;font-weight:400;color:var(--native-tag,#a3410a);letter-spacing:-.02em}
.page-sku .price--v2 .price__full{line-height:1}
.page-sku .price--v2 .price__mrpline{margin:8px 0 0;font-size:13px;color:#6B6B66}
.page-sku .price--v2 .price__mrpline s{margin-left:4px}
.page-sku .price--v2 .price__tax{margin:10px 0 0;font-size:13px;color:#0F0F0F}
.page-sku .price--v2 .price__emi{margin:4px 0 0;font-size:13px;color:#0F0F0F}
.page-sku .price--v2 .price__emi b{font-weight:600}
.page-sku .price__emilink,.page-sku .offers__go{margin-left:6px;padding:0;border:0;background:none;font:inherit;font-size:13px;color:#0F0F0F;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.page-sku .offers{margin-top:22px}
.page-sku .offers__h{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:14px;font-weight:600;color:#0F0F0F}
.page-sku .offers__ico{width:24px;height:24px;color:var(--native-tag,#a3410a)}
.page-sku .offers__row{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:10px;overflow-x:auto;scrollbar-width:none}
.page-sku .offers__row::-webkit-scrollbar{display:none}
.page-sku .offers__c{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #E3E3DE;background:#fff}
.page-sku .offers__c b{font-size:13px;font-weight:600;color:#0F0F0F}
.page-sku .offers__c span{font-size:12.5px;line-height:1.45;color:#3d3d3a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.page-sku .offers__go{margin:auto 0 0;align-self:flex-start;font-size:12.5px}
@media(max-width:760px){.page-sku .offers__row{grid-auto-columns:72%;scroll-snap-type:x mandatory}.page-sku .offers__c{scroll-snap-align:start}}
/* price v2, second pass: price, struck MRP, exact saving tag; taxes line under it */
.page-sku .price--v2 .price__row{align-items:baseline;flex-wrap:wrap;gap:6px 14px}
.page-sku .price--v2 .price__mrp{font-size:16px;color:#6B6B66;text-decoration-thickness:1px}
.page-sku .price--v2 .price__save{align-self:center;padding:4px 8px;background:var(--native-tag-soft,#F6E9E1);color:var(--native-tag,#a3410a);font-size:13px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}
.page-sku .price--v2 .price__tax{margin-top:10px;color:#6B6B66}
/* offers, second pass: small crisp cards with the bank's logo (UC checkout offers) */
.page-sku .offers__row{grid-auto-columns:minmax(224px,1fr);gap:8px}
.page-sku .offers__c{display:grid;grid-template-columns:32px 1fr;align-items:start;gap:10px;padding:10px 12px;border:1px solid #E3E3DE;background:#fff}
.page-sku .offers__c img{display:block;width:32px;height:32px;object-fit:contain}
.page-sku .offers__c b{display:block;font-size:13px;font-weight:600;line-height:1.3;color:#0F0F0F}
.page-sku .offers__c span{display:block;margin-top:2px;font-size:12px;line-height:1.35;color:#6B6B66;-webkit-line-clamp:2}
.page-sku .offers__c em{display:block;margin-top:4px;font-style:normal;font-size:12px;font-weight:600;color:#0B7A3B}
.page-sku .offers__note{margin:8px 0 0;font-size:11.5px;color:#6B6B66}
@media(max-width:760px){.page-sku .offers__row{grid-auto-columns:78%}}

/* rating under the product name (same partial stars as the reviews section); taps through to #reviews */
.page-sku #reviews{scroll-margin-top:130px}
/* savings are always green: the price tag, the offers icon, each card's saving (30 Sep 2026) */
.page-sku{--save:#0B7A3B;--save-soft:#E6F3EB}
.page-sku .price--v2 .price__save{background:var(--save-soft);color:var(--save)}
.page-sku .offers__ico{color:var(--save)}
.page-sku .offers__row{grid-auto-columns:minmax(176px,1fr)}
.page-sku .offers__c{display:flex;flex-direction:column;gap:10px;padding:12px}
.page-sku .offers__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.page-sku .offers__top img{width:28px;height:28px;object-fit:contain}
.page-sku .offers__top b{font-size:14px;font-weight:600;color:var(--save);white-space:nowrap}
.page-sku .offers__c p{margin:0;font-size:12.5px;line-height:1.4;color:#3d3d3a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:760px){.page-sku .offers__row{grid-auto-columns:62%}}
.page-sku .offers__top{justify-content:space-between}
.page-sku .offers__top b{margin-left:auto;text-align:right}
.page-sku .offers__row{grid-auto-columns:minmax(204px,1fr)}
.page-sku .offers__top b{font-size:13.5px}
.page-sku .offers__c{align-items:stretch}

/* ---------- buy box type scale (30 Sep 2026): five sizes, one weight ----------
   The site loads Open Sauce One at 500 only, so nothing asks for 600 (that renders as faux bold).
   Title 40/30 · price 32 · lead 16 · body 14 · small 13 · micro 12. Primary #0F0F0F, secondary #6B6B66, savings green. */
.page-sku .info{--bb-ink:#0F0F0F;--bb-sub:#6B6B66}
.page-sku .info h1{letter-spacing:-.035em}
.page-sku .info .product-category{font-size:16px;color:var(--bb-sub);letter-spacing:-.01em}
.page-sku .price--v2 .price__full{font-size:32px;letter-spacing:-.03em}
.page-sku .price--v2 .price__mrp{font-size:16px;color:var(--bb-sub)}
.page-sku .price--v2 .price__save{font-size:13px;font-weight:500}
.page-sku .price--v2 .price__tax{font-size:13px;color:var(--bb-sub)}
.page-sku .price--v2 .price__emi,.page-sku .price--v2 .price__emi b{font-size:14px;font-weight:500;color:var(--bb-ink)}
.page-sku .price__emilink{font-size:14px}
.page-sku .offers__h{font-size:14px;font-weight:500;color:var(--bb-ink)}
.page-sku .offers__top b{font-size:14px;font-weight:500}
.page-sku .offers__c p{font-size:13px;line-height:1.45;color:var(--bb-sub)}
.page-sku .offers__note{font-size:12px;color:var(--bb-sub)}
.page-sku .cta__buy{font-size:14px}
.page-sku .keyfeat .kf span{font-size:12px!important;line-height:1.35;color:var(--bb-ink)}
.page-sku .acc summary{font-size:14px;color:var(--bb-ink)}
.page-sku .acc__body{font-size:13px;color:var(--bb-sub)}
@media(max-width:760px){.page-sku .keyfeat .kf span{font-size:11px!important}.page-sku .price--v2 .price__full{font-size:30px}}
.page-sku .info .plain-specs__g{font-weight:500}
@media(max-width:760px){.page-sku .price--v2 .price__full{font-size:28px}}
/* rating below the product name: 4.1 ★★★★☆ ⌄ (155) */
.page-sku .pdp-rating{--rv-star:#F5A300;--rv-star-off:#E2E2E2;display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:14px;color:#0F0F0F;text-decoration:none}
.page-sku .pdp-rating b{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.page-sku .pdp-rating .rv-stars{--sz:19px;--gap:0px}
.page-sku .pdp-rating__chev{width:14px;height:14px;color:#6B6B66}
.page-sku .pdp-rating span{color:#6B6B66;text-decoration:underline;text-underline-offset:3px}
.page-sku .pdp-rating:hover span{color:#0F0F0F}
/* value props (30 Sep 2026): no box; icon + label side by side in two columns, between the offers and Buy now */
.page-sku .info .keyfeat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:28px 0 24px;padding:0;border:0;background:none}
.page-sku .info .keyfeat .kf{display:flex;flex-direction:row;align-items:center;gap:12px;text-align:left;min-width:0}
.page-sku .info .keyfeat .kf svg{flex:none;width:24px;height:24px;margin:0;color:var(--bb-ink,#0F0F0F)}
.page-sku .info .keyfeat .kf span{max-width:none;font-size:14px!important;line-height:1.35;color:var(--bb-ink,#0F0F0F);text-wrap:pretty}
@media(max-width:760px){.page-sku .info .keyfeat{gap:14px 16px}.page-sku .info .keyfeat .kf{gap:10px}.page-sku .info .keyfeat .kf span{font-size:13px!important}}
/* value props in a grey card (30 Sep 2026): six, icon + label, two columns */
.page-sku .info .keyfeat{padding:20px;gap:18px 24px;background:var(--native-surface,#F5F5F5)}
@media(max-width:760px){.page-sku .info .keyfeat{padding:16px;gap:16px 14px}}
/* reviews, cleaner (30 Sep 2026): rating bars are a summary, not filters */
.page-sku .rv__dist .rv-dist{cursor:default}
.page-sku .rv__dist .rv-dist:hover{background:none}
/* review viewer: the whole photo or video fits the stage (letterboxed), never cropped */
.page-sku .rv-lb__stage{overflow:hidden}
.page-sku .rv-lb__stage>img,.page-sku .rv-lb__stage>video{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}
/* "Customers say" AI summary as a highlighted card (30 Sep 2026): light blue into white */
.page-sku .rv__ai{padding:24px 28px;border:1px solid #DCE6F7;border-radius:0;background:linear-gradient(135deg,#E3EEFF 0%,#F1F6FF 45%,#FFFFFF 100%)}
.page-sku .rv__ai h3{margin-top:0}
.page-sku .rv__ai .rv__aitxt{color:#2F3440}
.page-sku .rv__ai .rv__ainote{margin-bottom:0}
@media(max-width:760px){.page-sku .rv__ai{padding:20px}}
/* the summary card's light-blue glow drifts slowly (14 s loop, transform only); still for reduced motion */
.page-sku .rv__ai{position:relative;overflow:hidden;isolation:isolate;background:#fff}
.page-sku .rv__ai::before{content:"";position:absolute;inset:-45%;z-index:-1;pointer-events:none;
  background:radial-gradient(38% 42% at 28% 30%,#C9DDFF 0%,rgba(201,221,255,0) 70%),
             radial-gradient(34% 40% at 72% 58%,#D8E6FF 0%,rgba(216,230,255,0) 70%),
             radial-gradient(40% 36% at 45% 88%,#D2E4FF 0%,rgba(210,228,255,0) 70%);
  animation:rv-ai-drift 14s ease-in-out infinite alternate;will-change:transform}
@keyframes rv-ai-drift{0%{transform:translate3d(-9%,-7%,0) rotate(0deg) scale(1)}
  50%{transform:translate3d(7%,3%,0) rotate(9deg) scale(1.06)}
  100%{transform:translate3d(-3%,9%,0) rotate(-7deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.page-sku .rv__ai::before{animation:none;transform:translate3d(-9%,-7%,0)}}
/* ---------- "Pays for itself" (13 Oct 2026): year-aligned schedule + proportional totals with the saving bracketed ---------- */
.cv2{--g:#087A4B;--g-soft:#DCEFE4;--g-ink:#0B6B44;--o:#E9E7E2;--o-ink:#55534E;--free:transparent;--free-line:rgba(0,0,0,.18)}
.t-black .cv2,.t-deep .cv2,.t-ink .cv2{--g:#2FB875;--g-soft:rgba(47,184,117,.16);--g-ink:#7FE0AE;--o:rgba(255,255,255,.10);--o-ink:rgba(255,255,255,.72);--free-line:rgba(255,255,255,.22)}
.cv2__sub{margin-top:16px;max-width:44ch;font-size:15px;line-height:1.6;color:var(--sku-body)}
.cv2__fig{margin:0;display:flex;flex-direction:column;gap:28px}
.cv2__grid{display:grid;grid-template-columns:max-content 1fr;align-items:center;column-gap:16px;row-gap:8px}
.cv2__axislbl,.cv2__tothead{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sku-muted)}
.cv2__axis,.cv2__track{display:grid;grid-template-columns:repeat(var(--years),minmax(0,1fr));gap:4px}
.cv2__axis span{text-align:center;font-size:12px;color:var(--sku-muted);font-variant-numeric:tabular-nums}
.cv2__lbl{font-size:14px;line-height:1.25;color:var(--sku-head);white-space:nowrap}
.cv2__cell{grid-column:span var(--span);display:grid;place-items:center;height:44px;border-radius:0;font-size:13px;font-variant-numeric:tabular-nums}
.cv2__cell b{font-weight:500}
.cv2__cell--native{background:var(--g-soft);color:var(--g-ink)}
.cv2__cell--others{background:var(--o);color:var(--o-ink)}
.cv2__cell.is-free{background:var(--free);border:1px dashed var(--free-line);color:var(--sku-muted)}
.cv2__short{display:none}
.cv2__totals{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--sku-line,rgba(0,0,0,.12))}
.cv2__tot{display:grid;grid-template-columns:132px 1fr 76px;align-items:center;gap:16px}
.cv2__tot>b{font-size:18px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums;color:var(--sku-head)}
.cv2__tot:first-of-type>b{color:var(--g)}
.cv2__bar{position:relative;height:14px;border-radius:999px;background:transparent}
.cv2__fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px}
.cv2__fill--native{background:var(--g)}
.cv2__fill--others{background:var(--o-ink);opacity:.35}
.cv2__save{position:absolute;top:-6px;bottom:-6px;border:1.5px dashed var(--g);border-left:0;border-radius:0;font-style:normal;display:flex;align-items:center;justify-content:center}
.cv2__save span{padding:2px 8px;border-radius:999px;background:var(--g);color:#fff;font-size:12px;font-weight:500;white-space:nowrap}
.cv2 .cv2__totals .cv2__lbl{font-size:13px;color:var(--sku-body)}
.cv2__note{font-size:12px;line-height:1.5;color:var(--sku-muted)}
@media(max-width:760px){
  .cv2__grid{grid-template-columns:1fr}
  .cv2__axislbl{display:none}
  .cv2__lbl{margin-top:6px}
  .cv2__cell{height:38px;font-size:11px}
  .cv2__full{display:none}.cv2__short{display:inline}
  .cv2__tot{grid-template-columns:1fr 64px;row-gap:6px}
  .cv2__tot .cv2__lbl{grid-column:1/-1}
  .cv2__tot>b{font-size:16px}
}
/* comparison cards with a Native / Other locks badge (13 Oct 2026): the badge floats as a small pill at the top
   (the full-bleed rule had turned it into a full-width bar), and the dark fade runs further down so the subtitle reads */
.page-sku .rail>.crd.sku-card>.sku-chip,.page-sku .sku-grid--bleed>.sku-card>.sku-chip{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:auto;z-index:3;
  padding:6px 14px 6px 10px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.page-sku .sku-grid--bleed>.sku-card:has(>.sku-chip) .sku-card__txt{padding-top:68px}
.page-sku .sku-grid--bleed>.sku-card:has(>.sku-chip):has(>.slot)::before{height:62%;
  background:linear-gradient(180deg,var(--card-bg,#0F0F0F) 0%,color-mix(in srgb,var(--card-bg,#0F0F0F) 92%,transparent) 32%,color-mix(in srgb,var(--card-bg,#0F0F0F) 0%,transparent) 100%)}
.page-sku .sku-grid--bleed>.sku-card:is(.t-black,.t-deep,.t-ink):has(>.sku-chip) .sku-card__txt p{color:rgba(255,255,255,.78)}
/* buy-box accordions (14 Oct 2026): one rounded outlined card, dashed dividers, icon + title left, thin plus / minus right */
.page-sku .info .acc--v2{margin-top:20px;padding:0 20px;border:1px solid #E3E3DE;border-radius:0;background:#fff}
.page-sku .info .acc--v2>details{border:0;border-top:1px dashed #E3E3DE;margin:0;padding:0}
.page-sku .info .acc--v2>details:first-child{border-top:0}
.page-sku .info .acc--v2 summary{position:relative;min-height:60px;padding:18px 32px 18px 0;list-style:none;cursor:pointer;border:0;font-size:15px;font-weight:500;color:#0F0F0F}
.page-sku .info .acc--v2 summary::-webkit-details-marker{display:none}
.page-sku .info .acc--v2 summary .chev{display:none}
.page-sku .info .acc--v2 .acc__t{gap:16px}
.page-sku .info .acc--v2 .acc__t .ico{width:22px;height:22px;color:#0F0F0F;stroke-width:1.4}
.page-sku .info .acc--v2 summary::before,.page-sku .info .acc--v2 summary::after{content:"";position:absolute;right:2px;top:50%;width:18px;height:1.25px;background:#0F0F0F;transition:transform .25s ease,opacity .25s ease}
.page-sku .info .acc--v2 summary::after{transform:rotate(90deg)}
.page-sku .info .acc--v2 details[open]>summary::after{transform:rotate(0deg);opacity:0}
.page-sku .info .acc--v2 .acc__body{padding:0 0 20px 38px}
@media(max-width:760px){.page-sku .info .acc--v2{padding:0 16px}.page-sku .info .acc--v2 .acc__body{padding-left:0}}
/* V1 review rows (14 Oct 2026), UC app style */
.page-sku .rv-r--v1{display:block;padding:24px 0;border-bottom:1px solid var(--sku-line,#E3E3DE)}
.page-sku .rv-r--v1 .rv-r__src{margin:0 0 8px;font-size:14px;color:#6B6B66}
.page-sku .rv-r--v1 .rv-r__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.page-sku .rv-r--v1 .rv-r__name{font-size:20px;font-weight:500;letter-spacing:-.02em;color:#0F0F0F}
.page-sku .rv-r--v1 .rv-r__meta{margin:6px 0 0;font-size:14px;color:#6B6B66}
.page-sku .rv-r--v1 .rv-r__txt{margin-top:14px;font-size:16px;line-height:1.6;color:#0F0F0F}
.page-sku .info .pdp-rating.rating-pill{gap:4px;margin-top:12px;font-size:14px;padding:5px 12px 5px 9px}
.page-sku .info .pdp-rating.rating-pill svg{width:14px;height:14px}

/* ==========================================================================
   V1 concise layout (14 Oct 2026), after apple.com/iphone-18-pro. CSS only, assets unchanged.
   1. One spacing scale: 80px between blocks, 160px between chapters (was 144 / 288 / 0).
   2. (inset rounded tiles tried and removed 14 Oct: pictures stay full-bleed)
   3. Empty image slots collapse: no blank boxes while assets are pending.
   ========================================================================== */
.page-sku{--sku-gap:clamp(48px,5.5vw,80px)}
/* 3 · empty slots collapse */
.page-sku .slot:not(.is-filled):not(.sku-cert__logos):not(.sku-addon .slot){display:none}
.page-sku .rail:not(:has(.slot.is-filled))>.crd.sku-card,.page-sku .sku-grid .sku-card:not(:has(.slot.is-filled)),.page-sku .sku-tech .sku-card:not(:has(.slot.is-filled)){aspect-ratio:auto;min-height:0}
.page-sku .rail:not(:has(.slot.is-filled))>.crd.sku-card .sku-card__txt{padding-bottom:22px}
.page-sku .sku-banner:not(:has(>.slot.is-filled)){aspect-ratio:auto;min-height:0}
.page-sku .sku-three:not(:has(.sku-dims))>figure:not(:has(.slot.is-filled)){aspect-ratio:auto}
/* a full-bleed picture without its picture is a plain section heading */
.page-sku .blk.fullbleed:not(:has(.slot.is-filled)) .fullbleed__media{min-height:0;aspect-ratio:auto;background:none;overflow:visible}
.page-sku .blk.fullbleed:not(:has(.slot.is-filled)) .fullbleed__media::after{content:none}
.page-sku .sku-flow .blk.fullbleed:not(:has(.slot.is-filled)) .fullbleed__text,.page-sku .blk.fullbleed:not(:has(.slot.is-filled)) .fullbleed__text{position:static;width:calc(100% - 2 * var(--native-gutter));max-width:var(--native-max);margin-inline:auto;color:var(--sku-head)}
.page-sku .blk.fullbleed:not(:has(.slot.is-filled)) .fullbleed__text h2{color:var(--sku-head)}
.page-sku .blk.fullbleed:not(:has(.slot.is-filled)) .sku-sub{color:var(--sku-body)}
/* a picture panel without its picture is a plain text block */
.page-sku .blk:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos):not(.is-filled)){min-height:0;aspect-ratio:auto;padding-block:0}
.page-sku .blk:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos):not(.is-filled))::before{content:none}
.page-sku .blk:has(>.wrap:is(.sku-health,.sku-svc,.sku-madein,.sku-stats,.sku-icons--media,.sku-checks,.sku-warr,.sku-cta,.sku-media,.sku-bigstat) .slot:not(.sku-cert__logos):not(.is-filled))>.wrap>*:not(.slot){max-width:min(100%,720px)}

/* glow statements: shorter scroll */
.page-sku .sku-flow .blk.sku-glow{--scrub:160vh}
@media(max-width:760px){.page-sku .sku-flow .blk.sku-glow{--scrub:150vh}}
/* carousel cards (14 Oct 2026): no dark fade over the picture; the artwork keeps its own text zone clear */
.page-sku .rail>.crd.sku-card:has(>.slot)::before{content:none}
/* full-bleed pictures (14 Oct 2026): taller than a bare 21:9 strip on laptop screens; the picture crops at the sides */
@media(min-width:761px){.page-sku .sku-flow .fullbleed__media{min-height:clamp(520px,48vw,760px)}}
/* image-card grids (14 Oct 2026): no dark fade over the picture, as on the carousels */
.page-sku .sku-grid--bleed>.sku-card:has(>.slot)::before{content:none}
/* text over pictures (14 Oct 2026): scripts/text-tone.py flips the copy colour where the picture needs it */
.page-sku .sku-card.is-onlight{--sku-head:#0F0F0F;--sku-body:#3D3A37}
.page-sku .sku-card.is-ondark{--sku-head:#F5F5F5;--sku-body:#CFCFCF}
.page-sku .sku-grid--bleed>.sku-card.is-onlight:has(>.sku-chip) .sku-card__txt p{color:#3D3A37}
@media(max-width:760px){
  .page-sku .sku-flow .fullbleed--m-onlight .fullbleed__text,.page-sku .sku-flow .fullbleed--m-onlight .fullbleed__text h2{color:#0F0F0F;text-shadow:none}
  .page-sku .sku-flow .fullbleed--m-onlight .sku-sub{color:#3D3A37}.page-sku .sku-flow .fullbleed--m-onlight .sku-note{color:#545454}
  .page-sku .sku-flow .fullbleed--m-onlight .sku-eyebrow{color:var(--acc-l)}
  .page-sku .sku-flow .fullbleed--m-ondark .fullbleed__text,.page-sku .sku-flow .fullbleed--m-ondark .fullbleed__text h2{color:#E2E2E2}
  .page-sku .sku-flow .fullbleed--m-ondark .sku-sub{color:#AFAFAF}.page-sku .sku-flow .fullbleed--m-ondark .sku-note{color:#8A8A8A}
  .page-sku .sku-flow .fullbleed--m-ondark .sku-eyebrow{color:var(--acc-d)}}
/* rating under the name (14 Oct 2026): the pill, then the ratings count */
.page-sku .info .pdp-rating--pill{display:inline-flex;align-items:center;gap:10px;margin-top:12px;color:#0F0F0F;text-decoration:none}
.page-sku .pdp-rating--pill .rating-pill{font-size:14px;padding:5px 12px 5px 9px;gap:4px;color:#0F0F0F;text-decoration:none}
.page-sku .pdp-rating--pill .rating-pill svg{width:14px;height:14px}
.page-sku .pdp-rating--pill .pdp-rating__n{font-size:14px;color:#6B6B66;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#C9C9C4}
.page-sku .pdp-rating--pill:hover .pdp-rating__n{color:#0F0F0F;text-decoration-color:currentColor}
.page-sku .pdp-rating--pill:hover .rating-pill{border-color:#AAA9A4}
.page-sku .rv-r--v1 .rv-r__src{display:flex;align-items:center;gap:8px}
.page-sku .rv-r--v1 .rv-r__logo{width:18px;height:18px;flex:none;object-fit:contain}
.page-sku :is([data-slot="filtration-glass"],[data-slot="display-hero"],[data-slot="warranty-shield"]) img{object-position:right center}   /* the purifier sits at the right edge of this picture */
@media(min-width:761px){.page-sku .sku-flow .fullbleed:has([data-slot="warranty-shield"]) .fullbleed__text{max-width:min(32%,480px)}}   /* keep the copy off the glowing shield */
/* add-ons (21 Oct 2026): grey card, line drawing on the left, as in the design */
.page-sku .sku-addons{gap:16px}
.page-sku .sku-addon{grid-template-columns:96px 1fr;gap:28px;padding:20px 28px;border-radius:0;background:#F5F5F5}
.page-sku .sku-addon .slot.is-filled{background:none;aspect-ratio:auto;border-radius:0;outline:0;overflow:visible}
.page-sku .sku-addon .slot.is-filled img{position:static;display:block;width:100%;height:auto;object-fit:contain}
.page-sku .sku-addon h4{font-size:17px}
.page-sku .sku-addon p{font-size:14px}
@media(max-width:760px){.page-sku .sku-addon{grid-template-columns:76px 1fr;gap:18px;padding:16px 18px}.page-sku .sku-addon h4{font-size:15px}.page-sku .sku-addon p{font-size:13px}}
/* review rows, tighter hierarchy (21 Oct 2026): name at body size, quieter meta, readable text column */
.page-sku .rv-r--v1{padding:22px 0}
.page-sku .rv-r--v1 .rv-r__src{margin:0 0 10px;font-size:12px;color:#6B6B66;gap:6px}
.page-sku .rv-r--v1 .rv-r__logo{width:14px;height:14px}
.page-sku .rv-r--v1 .rv-r__top{gap:12px}
.page-sku .rv-r--v1 .rv-r__name{font-size:16px;font-weight:500;letter-spacing:-.005em;line-height:1.3}
.page-sku .rv-r--v1 .rv-r__meta{margin-top:2px;font-size:13px;color:#6B6B66}
.page-sku .rv-r--v1 .rv-r__txt{margin-top:12px;max-width:68ch;font-size:15px;line-height:1.65;color:#2B2B29}
.page-sku .rv-r--v1 .rv-r__txt p+p{margin-top:8px}
.page-sku .rv-r--v1 .rating-pill{font-size:12px;padding:3px 9px 3px 7px}
.page-sku .rv-r--v1 .rating-pill svg{width:12px;height:12px}
@media(max-width:760px){.page-sku .rv-r--v1 .rv-r__txt{font-size:14px}}
/* reviews (21 Oct 2026): no "Top reviews" heading or divider; the list starts right beside the rating summary */
.page-sku .rv__list{border-top:0;padding-top:0}
.page-sku .rv__items>.rv-r--v1:first-child{padding-top:0}
/* M3 hero (21 Oct 2026): the purifier sits mid-wall, so the headline runs on two lines in the clear wall above it */
.page-sku[data-model="m3"] .sku-hero .sku-hero__h{max-width:32ch;font-size:clamp(30px,3.8vw,60px)}
.page-sku[data-model="m3"] .sku-hero>.wrap{top:clamp(22px,3vw,56px)}
/* M3 warranty slide (22 Oct 2026): 21:9 instead of 16:9, copy vertically centred on the left, shield on the right */
@media(min-width:761px){
.page-sku[data-model="m3"] .blk:has([data-slot="warranty-shield"]){min-height:min(42.86vw,820px)!important;align-items:center!important}
.page-sku[data-model="m3"] .blk>.wrap.sku-media:has([data-slot="warranty-shield"]){align-self:center!important}
.page-sku[data-model="m3"] .blk:has([data-slot="warranty-shield"])::before{background:linear-gradient(90deg,var(--s-bg,#000) 0%,var(--s-bg,#000) 28%,color-mix(in srgb,var(--s-bg,#000) 0%,transparent) 60%)}
.page-sku[data-model="m3"] .blk>.wrap.sku-media:has([data-slot="warranty-shield"])>*:not(.slot){max-width:min(44%,540px)}
.page-sku[data-model="m3"] .blk>.wrap.sku-media [data-slot="warranty-shield"] img{object-position:right center}}
/* 22 Oct 2026: no top fade on the image cards; white copy on the dark battery picture */
.page-sku .sku-three:not(:has(.sku-dims))>figure::before{content:none}
.page-sku .sku-three>figure:has([data-slot="modern-battery"]) figcaption :is(h4,p){color:#fff}
/* M3 Pro warranty slide (22 Oct 2026): copy vertically centred, like M3 */
@media(min-width:761px){
.page-sku[data-model="m3pro"] .fullbleed__media:has([data-slot="warranty-shield"]){aspect-ratio:auto!important;min-height:0!important;height:min(42.86vw,820px)!important}
.page-sku[data-model="m3pro"] .fullbleed__media:has([data-slot="warranty-shield"])>.fullbleed__text{top:50%;bottom:auto;transform:translateY(-50%)}}
/* M2 Pro hero (22 Oct 2026): the purifier starts ~35% down the picture; keep the copy above ~29% at every width */
@media(min-width:761px){
.page-sku[data-model="m2pro"] .sku-hero>.wrap{top:clamp(18px,2.4vw,52px)}
.page-sku[data-model="m2pro"] .sku-hero .sku-eyebrow--hero{font-size:clamp(15px,1.3vw,24px)}
.page-sku[data-model="m2pro"] .sku-hero .sku-hero__h{font-size:clamp(30px,3.6vw,72px);line-height:1.04}
.page-sku[data-model="m2pro"] .sku-hero .sku-hero__sub{margin-top:clamp(6px,.6vw,12px);font-size:clamp(14px,1.3vw,24px)}}
/* "2 Years" slides (22 Oct 2026): no empty logo placeholder; the picture stops above the certificate strip */
.page-sku .sku-cert__logos:not(.is-filled){display:none}
/* M3 / M3 Pro service slide (22 Oct 2026): copy column stops before the technician */
@media(min-width:761px){.page-sku:is([data-model="m3"],[data-model="m3pro"]) .blk>.wrap.sku-svc>*:not(.slot){max-width:min(30%,430px)}}
/* "2 Years" block (22 Oct 2026): split layout, copy left and picture right, no dead space; phones stack copy, picture, certificate */
.page-sku .blk:has(>.wrap.sku-bigstat){display:block;min-height:0!important;padding-block:clamp(56px,6vw,104px)}
.page-sku .blk:has(>.wrap.sku-bigstat)::before{content:none}
.page-sku .blk>.wrap.sku-bigstat{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-rows:1fr auto auto auto 1fr;column-gap:clamp(32px,5vw,96px);text-align:left;align-self:auto}
.page-sku .blk>.wrap.sku-bigstat>.sku-bigstat__pre{grid-column:1;grid-row:2;max-width:20ch}
.page-sku .blk>.wrap.sku-bigstat>.sku-bigstat__big{grid-column:1;grid-row:3;margin-top:8px}
.page-sku .blk>.wrap.sku-bigstat>.sku-cert{grid-column:1;grid-row:4;margin:clamp(24px,3vw,40px) 0 0;max-width:400px;background:none;backdrop-filter:none}
.page-sku .blk>.wrap.sku-bigstat .slot:not(.sku-cert__logos){position:relative!important;inset:auto!important;top:auto!important;bottom:auto!important;height:auto!important;
  grid-column:2;grid-row:1/6;z-index:0;width:100%;aspect-ratio:4/3!important;border-radius:0;overflow:hidden}
.page-sku .blk>.wrap.sku-bigstat .slot:not(.sku-cert__logos) img{width:100%;height:100%;object-fit:cover;object-position:center center!important;transform:none!important}
@media(max-width:760px){
  .page-sku .blk>.wrap.sku-bigstat{grid-template-columns:1fr;grid-template-rows:none}
  .page-sku .blk>.wrap.sku-bigstat>*{grid-column:1!important;grid-row:auto!important}
  .page-sku .blk>.wrap.sku-bigstat .slot:not(.sku-cert__logos){order:3;margin-top:16px!important;aspect-ratio:1/1!important}
  .page-sku .blk>.wrap.sku-bigstat .slot:not(.sku-cert__logos) img{object-position:center 80%!important}
  .page-sku .blk>.wrap.sku-bigstat>.sku-cert{order:4;margin-top:20px}}
:is(.t-black,.t-deep,.t-ink,.t-grey) .wrap.sku-bigstat .slot:not(.sku-cert__logos) img{mix-blend-mode:lighten}
:is(.t-light,.t-white,.t-warm) .wrap.sku-bigstat .slot:not(.sku-cert__logos) img{mix-blend-mode:multiply}
/* "2 Years" on M0, M1, M1 Pro, M2 Pro (22 Oct 2026): RO-membrane picture fills the section, copy on its empty left half */
@media(min-width:761px){
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"],[data-model="m2pro"]) .blk:has(>.wrap.sku-bigstat){display:grid;align-items:center;min-height:min(46.8vw,940px)!important}
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"],[data-model="m2pro"]) .blk>.wrap.sku-bigstat .slot:not(.sku-cert__logos){grid-area:auto!important;position:absolute!important;inset:0!important;width:auto;height:auto!important;aspect-ratio:auto!important;z-index:-1;border-radius:0}
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"],[data-model="m2pro"]) .blk>.wrap.sku-bigstat .slot:not(.sku-cert__logos) img{object-position:right center!important;mix-blend-mode:normal}}
@media(max-width:760px){.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"],[data-model="m2pro"]) .blk>.wrap.sku-bigstat .slot:not(.sku-cert__logos) img{object-position:center center!important}}
/* groundwater section (22 Oct 2026): its own band, a step off the chapter colour, and taller */
.page-sku .sku-flow .blk:has(>.wrap.sku-contam){background:#ECECE8;padding-block:clamp(88px,10vw,160px)}
.page-sku .sku-flow :is(.t-black,.t-deep,.t-ink) .blk:has(>.wrap.sku-contam){background:#131313}
.page-sku .sku-flow :is(.t-black,.t-deep,.t-ink) .blk:has(>.wrap.sku-contam) .sku-contam__c{background:#1C1C1C}
.page-sku .sku-flow .blk:has(>.wrap.sku-contam) .sku-contam__c{background:#fff}
.page-sku .sku-flow :is(.t-black,.t-deep,.t-ink) .blk:has(>.wrap.sku-contam) .sku-contam__c{background:#1C1C1C}
.page-sku .sku-ch>.blk:has(>.wrap.sku-contam):first-child{margin-top:calc(-1 * var(--sku-gap))}
.page-sku .sku-ch>.blk:has(>.wrap.sku-contam):last-child{margin-bottom:calc(-1 * var(--sku-gap))}
.page-sku .wrap.sku-contam{align-items:center}
/* service-cost section (22 Oct 2026): same band as the groundwater section; eyebrow in the heading colour, not orange */
.page-sku .sku-flow .blk:has(>.wrap.sku-cost){background:#ECECE8;padding-block:clamp(88px,10vw,160px)}
.page-sku .sku-flow :is(.t-black,.t-deep,.t-ink) .blk:has(>.wrap.sku-cost){background:#131313}
.page-sku .sku-ch>.blk:has(>.wrap.sku-cost):first-child{margin-top:calc(-1 * var(--sku-gap))}
.page-sku .sku-ch>.blk:has(>.wrap.sku-cost):last-child{margin-bottom:calc(-1 * var(--sku-gap))}
.page-sku .wrap.sku-cost .sku-eyebrow{color:var(--sku-head)}
/* service cards + compare banner (22 Oct 2026): shorter */
@media(min-width:641px){.page-sku #service .sku-grid--bleed>.sku-card:has(>.slot){aspect-ratio:16/9}}
@media(min-width:761px){.page-sku .sku-banner:has(>.slot:is([data-slot="compare-all"],[data-slot="compare-m1"])){aspect-ratio:4/1}
  .page-sku .sku-banner>.slot:is([data-slot="compare-all"],[data-slot="compare-m1"]) img{object-fit:contain;object-position:right center}}
@media(max-width:760px){
  .page-sku .sku-banner:has(>.slot:is([data-slot="compare-all"],[data-slot="compare-m1"])){aspect-ratio:auto}
  .page-sku .sku-banner:has(>.slot:is([data-slot="compare-all"],[data-slot="compare-m1"]))::before{content:none}
  .page-sku .sku-banner>.slot:is([data-slot="compare-all"],[data-slot="compare-m1"]){position:relative;inset:auto;aspect-ratio:4/3;margin:-8px 16px 16px}
  .page-sku .sku-banner>.slot:is([data-slot="compare-all"],[data-slot="compare-m1"]) img{object-fit:contain;object-position:center bottom}}
.page-sku .sku-banner.t-light>.slot img{mix-blend-mode:multiply}
@media(max-width:760px){.page-sku[data-model="m1pro"] .sku-hero__film{aspect-ratio:1080/1700}.page-sku[data-model="m1pro"] .sku-hero__film img{object-position:center center}}   /* M1 Pro phone hero: Ankur's own portrait, shown whole */
.page-sku #tracking .sku-grid--bleed.sku-grid--4>.sku-card:has(>.slot){aspect-ratio:4/5}   /* M1 Pro smart tracking: four portrait cards in a row */
/* "2 Years" (23 Oct 2026): copy centred top-to-bottom; "2 Years" lands with a water-blue sweep as it scrolls in */
@media(min-width:761px){
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"],[data-model="m2pro"]) .blk:has(>.wrap.sku-bigstat){display:grid!important;align-items:center;align-content:center}
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"],[data-model="m2pro"]) .blk>.wrap.sku-bigstat{grid-template-rows:auto auto!important;align-content:center;align-self:center}}
.page-sku .wrap.sku-bigstat>.sku-bigstat__big{display:inline-block;width:fit-content;padding-bottom:.08em;
  background:linear-gradient(100deg,var(--sku-head) 0%,var(--sku-head) 38%,#235AF3 47%,#7CC8FF 52%,#235AF3 57%,var(--sku-head) 66%,var(--sku-head) 100%);
  background-size:300% 100%;background-position:0 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.page-sku .wrap.sku-bigstat.is-armed>.sku-bigstat__pre{opacity:0;transform:translateY(16px)}
.page-sku .wrap.sku-bigstat.is-armed>.sku-bigstat__big{opacity:0;background-position:100% 0;transform:translateY(28px)}
.page-sku .wrap.sku-bigstat.is-in>.sku-bigstat__pre{animation:bigstat-rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.page-sku .wrap.sku-bigstat.is-in>.sku-bigstat__big{animation:bigstat-land 1.8s cubic-bezier(.25,.8,.25,1) .15s forwards}
@keyframes bigstat-land{from{background-position:100% 0;opacity:.15;transform:translateY(28px)}60%{opacity:1;transform:none}to{background-position:0 0;opacity:1;transform:none}}
@keyframes bigstat-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* "2-year / 3 years" sweep in headings (23 Oct 2026) */
.page-sku .sku-sweep{background:linear-gradient(100deg,currentColor 0%,currentColor 38%,#235AF3 47%,#7CC8FF 52%,#235AF3 57%,currentColor 66%,currentColor 100%);
  background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.page-sku .sku-sweep.is-in{animation:sku-sweep 1.8s cubic-bezier(.25,.8,.25,1) .1s forwards}
@keyframes sku-sweep{from{background-position:100% 0}to{background-position:0 0}}
/* "2 Years" on M0 / M1 / M1 Pro (22 Oct 2026): the membrane picture sits on #F5F5F5, so the whole section is that grey */
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"]) .blk:has(>.wrap.sku-bigstat){--s-bg:#F5F5F5;background:#F5F5F5}
@media(max-width:760px){.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"]) .blk>.wrap.sku-bigstat .slot:not(.sku-cert__logos) img{-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%);mask-image:linear-gradient(180deg,transparent,#000 18%)}}
/* Lab tests (23 Oct 2026): widget cards. Light pages: grey band, white cards. Dark pages: the same on dark. */
.page-sku .sku-flow .blk.sku-tests{--tw-band:#F5F5F5;--tw-card:#FFFFFF;--tw-track:#F5F5F5;--tw-in:#C4C4C4;--tw-tag:#F5F5F5;background:var(--tw-band);padding-block:clamp(72px,8vw,128px)}
.page-sku .sku-flow :is(.t-black,.t-deep,.t-ink,.t-grey,.t-warm) .blk.sku-tests{--tw-band:#0F0F0F;--tw-card:#1C1C1C;--tw-track:#262626;--tw-in:#5C5C5C;--tw-tag:#262626}
.sku-tests__head{max-width:860px}.sku-tests__head :is(p,.sku-sub){max-width:none!important}
.sku-tests__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:clamp(32px,4vw,56px)}
.sku-tw{display:flex;flex-direction:column;gap:20px;min-height:300px;padding:24px;border-radius:0;background:var(--tw-card);position:relative}
.sku-tw__tag{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:0!important;padding:6px 12px 6px 10px;border-radius:999px;background:var(--tw-tag);font-size:12px!important;line-height:16px;font-weight:500;color:var(--sku-body)!important}
.sku-tw__tag i{width:6px;height:6px;border-radius:50%;background:#05945B}
.sku-tw__h{margin:0;font-size:clamp(20px,1.5vw,24px);line-height:1.25;font-weight:500;letter-spacing:-.01em;color:var(--sku-head);text-wrap:balance}
.sku-tw__rows{display:flex;flex-direction:column;gap:18px;margin-top:auto}
.sku-tw__lab{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.sku-tw__lab span{font-size:13px;color:var(--sku-muted)}
.sku-tw__lab b{font-size:24px;line-height:1;font-weight:500;color:var(--sku-head);font-variant-numeric:tabular-nums;white-space:nowrap}
.sku-tw__lab b small{font-size:13px;font-weight:400;color:var(--sku-muted)}
.sku-tw__row.is-out .sku-tw__lab b{color:#05945B}
.sku-tw__bar{height:8px;border-radius:999px;background:var(--tw-track);overflow:hidden}
.sku-tw__bar i{display:block;height:100%;width:max(var(--w),8px);border-radius:inherit;background:var(--tw-in)}
.sku-tw__row.is-out .sku-tw__bar i{background:#05945B}
.sku-tw__rep{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--sku-head)}
@media(max-width:1180px){.sku-tests__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sku-tests__grid{grid-template-columns:1fr;gap:12px}.sku-tw{min-height:0;gap:16px;padding:20px}.sku-tw__rows{margin-top:8px}}
/* 10-stage picture on M1 / M1 Pro (23 Oct 2026): the full image on its own #F5F5F5 grey, no fade over it */
.page-sku:is([data-model="m1"],[data-model="m1pro"]) .blk:has(>.wrap.sku-media [data-slot="stages"]){--s-bg:#F5F5F5;background:#F5F5F5}
.page-sku:is([data-model="m1"],[data-model="m1pro"]) .blk:has(>.wrap.sku-media [data-slot="stages"])::before{content:none}
@media(max-width:760px){.page-sku:is([data-model="m1"],[data-model="m1pro"]) .blk>.wrap.sku-media [data-slot="stages"] img{object-fit:contain;object-position:center bottom!important}}
/* Warranty slide on M0 / M1 / M1 Pro (23 Oct 2026): the picture's subject fills only 22–89% of its height, so the slide shows 16–94% of it (no dead band above and below) */
@media(min-width:761px){
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"]) .blk:has(>.wrap.sku-checks){min-height:min(44vw,845px)!important}
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"]) .blk>.wrap.sku-checks .slot:not(.sku-cert__logos) img{object-position:right 73%!important}}
/* RO service (23 Oct 2026): three cards in one row, portrait pictures (M0, M1, M1 Pro, M2 Pro) */
@media(min-width:641px){.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"],[data-model="m2pro"]) #service .sku-grid--bleed>.sku-card:has(>.slot){aspect-ratio:4/5}
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m1pro"],[data-model="m2pro"]) #service .sku-grid--bleed>.sku-card>.slot img{object-position:center bottom}}
/* the shared India map is shot on #EEEEEE; M0 / M1 / M2 Pro service pictures sit on #F5F5F5, so lift it to match its neighbours */
.page-sku:is([data-model="m0"],[data-model="m1"],[data-model="m2pro"]) [data-slot="svc-coverage"] img{filter:brightness(1.034)}
/* "Compare all models" on every RO page (23 Oct 2026): the family shot fills the card edge to edge, no fade or tint over it; copy in the clear grey on the left (desktop) / at the top (phone) */
.page-sku .sku-banner:has(>.slot[data-slot="compare-all"])::before{content:none!important}
.page-sku .sku-banner>.slot[data-slot="compare-all"] img{mix-blend-mode:normal!important;object-fit:cover!important}
@media(min-width:761px){
  .page-sku .sku-banner:has(>.slot[data-slot="compare-all"]){aspect-ratio:3/1!important}
  .page-sku .sku-banner>.slot[data-slot="compare-all"] img{object-position:right center!important}
  .page-sku .sku-banner:has(>.slot[data-slot="compare-all"])>.sku-banner__txt{max-width:min(34%,440px)}}
@media(max-width:760px){
  .page-sku .sku-banner:has(>.slot[data-slot="compare-all"]){aspect-ratio:4/5!important}
  .page-sku .sku-banner>.slot[data-slot="compare-all"]{position:absolute!important;inset:0!important;aspect-ratio:auto!important;margin:0!important}
  .page-sku .sku-banner>.slot[data-slot="compare-all"] img{object-position:center bottom!important}}
/* "Compare all models" (23 Oct 2026): the whole banner is the link — the "Know the difference" link stretches over the card */
.page-sku .sku-banner:has(>.slot[data-slot="compare-all"])>.sku-banner__txt{position:static}
.page-sku .sku-banner:has(>.slot[data-slot="compare-all"]) .sku-link::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit}
.page-sku .sku-banner:has(>.slot[data-slot="compare-all"]) .sku-link:focus-visible{outline:none}
.page-sku .sku-banner:has(>.slot[data-slot="compare-all"]) .sku-link:focus-visible::after{outline:2px solid var(--sku-link);outline-offset:2px}
.page-sku .sku-banner:has(>.slot[data-slot="compare-all"]) .slot img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.page-sku .sku-banner:has(>.slot[data-slot="compare-all"]):hover .slot img{transform:scale(1.02)}}
/* M0 / M1 phone heroes (23 Oct 2026): Ankur's portraits extended for the headline, shown whole */
@media(max-width:760px){.page-sku[data-model="m1"] .sku-hero__film{aspect-ratio:1080/1764}.page-sku[data-model="m0"] .sku-hero__film{aspect-ratio:1080/1836}
  .page-sku:is([data-model="m0"],[data-model="m1"]) .sku-hero__film img{object-position:center center}}
@media(min-width:761px){.page-sku[data-model="m1"] .sku-hero__film{aspect-ratio:2000/1447}.page-sku[data-model="m0"] .sku-hero__film{aspect-ratio:2000/1361}}   /* desktop: shown whole too, headline in the wall space Ankur added */
/* M0 / M1 "at a glance" bento (23 Oct 2026): equal rows, pictures blend into their cards, stats and icons sit on the card floor, reviews as a slim strip */
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento{align-items:stretch}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card{height:clamp(300px,25vw,380px);min-height:0!important;aspect-ratio:auto!important;overflow:hidden}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card>.sku-card__txt{position:relative;z-index:2;padding:28px 28px 0}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card:not(:has(>.slot))>.sku-card__txt{display:flex;flex-direction:column;flex:1;padding-bottom:28px}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card:not(:has(>.slot)) .sku-big{margin-top:auto!important;font-size:clamp(44px,4.4vw,68px)!important}
/* product shots on a flat backdrop: in the space under the copy, shown whole, never under the text */
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card>.slot:is([data-slot="glance-warranty"],[data-slot="glance-8stage"],[data-slot="glance-10stage"],[data-slot="glance-prefilter"]){
  position:relative!important;inset:auto!important;flex:1 1 0;min-height:0!important;height:auto!important;margin:12px 0 0!important;z-index:1}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card>.slot:is([data-slot="glance-warranty"],[data-slot="glance-8stage"],[data-slot="glance-10stage"],[data-slot="glance-prefilter"]) img{
  width:100%;height:100%;object-fit:contain!important;object-position:center bottom!important}
/* scenes that run to the card edge: full bleed, subject right, copy top left */
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card>.slot:is([data-slot="glance-filters"],[data-slot="glance-mount"],[data-slot="glance-design"]){position:absolute!important;inset:0!important;margin:0!important;min-height:0!important;z-index:0}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card>.slot:is([data-slot="glance-filters"],[data-slot="glance-mount"],[data-slot="glance-design"]) img{object-fit:cover!important;object-position:right bottom!important}
/* M0 pictures are shot on #E2E2E2; its cards are #F5F5F5 — lift them so no box shows */
.page-sku[data-model="m0"] .sku-grid--bento .slot img{filter:brightness(1.071)}
/* water sources: icons on the card floor, each labelled */
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento .sku-mini-icons{margin-top:auto;gap:28px;padding-bottom:26px}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento .sku-mini-icons span{position:relative;width:56px;height:56px}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento .sku-mini-icons span::after{content:attr(title);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:13px;color:var(--sku-body)}
/* reviews: a slim strip, copy left, button right */
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card.sku-span-3:not(:has(>.slot)){height:auto}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card.sku-span-3:not(:has(>.slot))>.sku-card__txt{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center;padding:28px}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card.sku-span-3:not(:has(>.slot))>.sku-card__txt>h4{grid-column:1;max-width:none}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card.sku-span-3:not(:has(>.slot))>.sku-card__txt>p{grid-column:1}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card.sku-span-3:not(:has(>.slot))>.sku-card__txt>.sku-btn{grid-column:2;grid-row:1/3;margin:0}
@media(max-width:640px){
  .page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card{height:auto;min-height:0!important}
  .page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card:has(>.slot){aspect-ratio:4/5!important;height:auto}
  .page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card:not(:has(>.slot)):not(.sku-span-3){min-height:220px!important}
  .page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card.sku-span-3:not(:has(>.slot))>.sku-card__txt{grid-template-columns:1fr}
  .page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card.sku-span-3:not(:has(>.slot))>.sku-card__txt>.sku-btn{grid-column:1;grid-row:auto;margin-top:16px;justify-self:start}}
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento>.sku-card::before{content:none!important}   /* no fade over the pictures */
.page-sku:is([data-model="m0"],[data-model="m1"]) .sku-grid--bento .slot{background-color:transparent!important}   /* if the overlap guard shrinks a picture, the card colour (= the picture's backdrop) shows, not a box */

/* "stack" cards (Lock Ultra intro, 24 Oct 2026): copy above the picture instead of over it, so it never sits on the product */
.page-sku .sku-grid--stack>.sku-card.sku-card:has(>.slot){aspect-ratio:auto}
.page-sku .sku-grid--stack>.sku-card:has(>.slot)::before{content:none}
.page-sku .sku-grid--stack>.sku-card.sku-card>.slot{position:relative!important;inset:auto!important;aspect-ratio:3/2;height:auto!important;margin:auto 0 0!important;flex:none!important;border-radius:0}
.page-sku .sku-grid--stack>.sku-card>.sku-card__txt{padding-bottom:20px}
@media(max-width:640px){.page-sku .sku-grid--stack>.sku-card.sku-card>.slot{aspect-ratio:4/5}}
.page-sku .sku-grid--stack>.sku-card.is-onlight .sku-card__txt h4{color:#fff}
.page-sku .sku-grid--stack>.sku-card.is-onlight .sku-card__txt p{color:rgba(255,255,255,.62)}   /* tone was measured for copy over the photo */
.page-sku .keyfeat .kf .kf-img{flex:none;width:24px;height:24px;object-fit:contain;margin:0}   /* comparison-page icons in key features (26 Oct 2026) */
.page-sku .cta__note{margin:10px 0 0;font-size:12px;line-height:1.4;color:#6B6B66;text-align:center}   /* under Buy now (26 Oct 2026) */
@media(max-width:760px){.page-sku [data-slot="colours"] img{object-position:center bottom}}   /* Lock Pro colours, phone: the locks sit low in the 9:16 shot (26 Oct 2026) */
/* Lock Pro + Lock Ultra (27 Oct 2026) "Visitors always ring the home doorbell" (26 Oct 2026): badge and copy left-aligned on the clean wall of the new photos */
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card:has(:is([data-slot^="ring-"],[data-slot^="secure-"]))>.sku-chip{left:clamp(20px,2.4vw,32px);transform:none}
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card:has(:is([data-slot^="ring-"],[data-slot^="secure-"])) .sku-card__txt{text-align:left;padding-left:clamp(20px,2.4vw,32px);padding-right:clamp(20px,2.4vw,32px)}
@media(max-width:760px){   /* phone: the wall is only the left third of the 4:5 shot, so the copy goes above the photo on a light card */
  .page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card:has([data-slot^="ring-"]){aspect-ratio:auto!important;background:#F5F5F5;overflow:hidden}
  .page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card:has([data-slot^="ring-"])::before{content:none!important}
  .page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card.sku-card>[data-slot^="ring-"]{position:relative!important;inset:auto!important;aspect-ratio:4/5;height:auto!important;margin:18px 0 0!important;flex:none!important}
  .page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card:has([data-slot^="ring-"]) .sku-card__txt{padding-bottom:0}}
/* Lock Pro (26 Oct 2026): doorbell cards — copy block hugs the left edge (no centred block), no outline */
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card:has(:is([data-slot^="ring-"],[data-slot^="secure-"])){border:0!important}
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card:has(:is([data-slot^="ring-"],[data-slot^="secure-"])) .sku-card__txt{margin:0!important;max-width:none!important;width:auto!important;
  padding-left:28px!important;padding-right:28px!important;text-align:left!important}
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card:has(:is([data-slot^="ring-"],[data-slot^="secure-"])) .sku-card__txt>*{text-align:left!important;margin-left:0!important;margin-right:0!important}
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-grid--bleed>.sku-card:has(:is([data-slot^="ring-"],[data-slot^="secure-"]))>.sku-chip{left:28px!important;right:auto!important;transform:none!important}
/* Lock Pro + Lock Ultra: every tick and cross is solid — filled circle, white mark */
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) :is(.sku-chip,.sku-table,.sku-warr__list,.sku-svc__list) svg circle{fill:currentColor;stroke:currentColor}
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) :is(.sku-chip,.sku-table,.sku-warr__list,.sku-svc__list) svg path{stroke:#fff;stroke-width:2}
/* Lock Pro "Only smart lock" (26 Oct 2026): copy straight on the photo, white on the blue wall; on desktop the two small
   notes sit on the light bedding at the bottom right, where they stay readable */
@media(min-width:761px){
  .page-sku[data-model="lock-pro"] .fullbleed:has([data-slot="doorbell-hero"]) .fullbleed__text .sku-note{position:absolute;right:var(--native-gutter,40px);bottom:20px;
    margin:0;color:#3D3A37!important;text-align:right;max-width:34ch;font-size:12px}
  .page-sku[data-model="lock-pro"] .fullbleed:has([data-slot="doorbell-hero"]) .fullbleed__text .sku-note+.sku-note{bottom:38px}
  .page-sku[data-model="lock-pro"] .fullbleed:has([data-slot="doorbell-hero"]) .fullbleed__text{position:static}
  .page-sku[data-model="lock-pro"] .fullbleed:has([data-slot="doorbell-hero"]) .fullbleed__text h2{position:absolute;top:clamp(28px,4vw,64px);left:var(--native-gutter,40px);max-width:12ch;z-index:2}}
/* Lock Pro "Live life uninterrupted" (26 Oct 2026, Ankur): bed and meeting cards white copy, child card black copy */
.page-sku[data-model="lock-pro"] .crd:has(:is([data-slot="life-bed"],[data-slot="life-meeting"])) .sku-card__txt :is(h4,p){color:#fff!important;text-shadow:0 1px 14px rgba(0,0,0,.28)}
.page-sku[data-model="lock-pro"] .crd:has([data-slot="life-child"]) .sku-card__txt :is(h4,p){color:#0F0F0F!important;text-shadow:none}
/* Lock Pro (26 Oct 2026) and Lock Ultra (27 Oct 2026), Ankur: no overlays on any photo on these pages */
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .blk:has([data-slot])::before,.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .blk:has([data-slot])::after,
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-card:has(>.slot)::before,.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .crd:has(>.slot)::before,
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .fullbleed__media::after{content:none!important;background:none!important}
/* "Only with Lock Pro": the doorbell card's copy sits on the dark top band of the new photo */
.page-sku[data-model="lock-pro"] .sku-card:has([data-slot="only-visitor"]) .sku-card__txt :is(h4,p){color:#fff!important}
/* "Lock Pro vs other smart locks" (26 Oct 2026): our column is one dark card topped by the product; solid ticks and crosses */
.vs2-wrap{margin-top:clamp(28px,3vw,44px)}
.vs2{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.45}
.vs2 col{width:auto}
.vs2 thead td{width:30%}
.vs2 th,.vs2 td{padding:20px 24px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line,#E3E3DE)}
.vs2 thead th{border-bottom:0;padding-top:28px;padding-bottom:20px;vertical-align:bottom}
.vs2 thead b{display:block;font-size:20px;font-weight:500;letter-spacing:-.02em}
.vs2 thead img{display:block;width:96px;height:96px;object-fit:contain;margin-bottom:12px}
.vs2 tbody th{font-weight:500;color:#0F0F0F}
.vs2 tbody th{white-space:nowrap}.vs2 tbody th span{white-space:normal}
.vs2__ico{display:inline-block!important;width:22px;height:22px;margin:0 12px 0 0;vertical-align:-5px;color:#6B6B66}
.vs2 td b{display:block;font-weight:500;margin-top:10px}
.vs2 td span{display:block;margin-top:2px;font-size:13px;line-height:1.45}
.vs2__mark{display:block;width:22px;height:22px}
.vs2__mark circle{fill:currentColor;stroke:currentColor}.vs2__mark path{stroke:#fff;stroke-width:2}
.vs2__mark--yes{color:#05945B}.vs2__mark--no{color:#DC2804}
.vs2 .vs2__us{background:#0F0F0F;color:#fff;border-bottom-color:#262626}
.vs2 .vs2__us span{color:#AFAFAF}
.vs2 thead .vs2__us{background:#0F0F0F}
.vs2 .vs2__them{color:#6B6B66}.vs2 .vs2__them b{color:#2B2B29}
.vs2 tbody tr:last-child .vs2__us{border-bottom:0}
.vs2__link{display:inline-flex;align-items:center;gap:6px;margin-top:24px;font-size:15px;text-decoration:underline;text-underline-offset:3px}
.vs2__link svg{width:16px;height:16px}
@media(max-width:760px){
  .vs2,.vs2 tbody,.vs2 tr{display:block}.vs2 thead{display:none}
  .vs2 tbody tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line,#E3E3DE)}
  .vs2 tbody th{grid-column:1/-1;border:0;padding:18px 0 10px}
  .vs2 td{border:0;padding:14px 14px 16px}
  .vs2 td.vs2__us::before{content:"Native Lock Pro";display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#AFAFAF;margin-bottom:8px}
  .vs2 td.vs2__them::before{content:"Others";display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#6B6B66;margin-bottom:8px}
  .vs2 td.vs2__them{background:#F5F5F5}}
@media(min-width:761px){.vs2 .vs2__them{padding-left:clamp(32px,3.4vw,56px)}}   /* breathing room after the dark Native column */

/* ---- Lock Pro "Size and fit" (26 Oct 2026, Ankur): heading on the left, drawing left with live mm labels, measures + door fit right */
.dfit{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:start;margin-top:clamp(28px,3vw,48px)}
.dfit__fig{position:relative;margin:0;aspect-ratio:13/12;max-width:100%;background:#F5F5F5}
.page-sku .dfit__fig>.slot{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;background:#F5F5F5}
.page-sku .dfit__fig>.slot img{width:100%;height:100%;object-fit:contain}
.dfit__lab{position:absolute;z-index:2;font-size:clamp(11px,1vw,14px);line-height:1;font-weight:500;letter-spacing:-.01em;color:var(--ink-2,#2B2B29);
  font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}
.dfit__lab--h{transform:translate(-100%,-50%)}.dfit__lab--w{transform:translate(-50%,-50%)}
.dfit__nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line,#E3E3DE)}
.dfit__nums>div{display:flex;flex-direction:column;gap:6px;padding:20px 0}
.dfit__nums>div+div{padding-left:clamp(16px,2vw,28px);border-left:1px solid var(--line,#E3E3DE)}
.dfit__nums b{font-size:clamp(32px,3vw,44px);line-height:1.05;font-weight:500;letter-spacing:-.045em;color:var(--ink,#0F0F0F);font-variant-numeric:tabular-nums}
.dfit__nums small{font-size:15px;letter-spacing:-.01em;font-weight:400;color:var(--text-2,#545454)}
.dfit__nums span{font-size:14px;color:var(--text-2,#545454)}
.dfit__h{margin-top:clamp(32px,3.4vw,44px);font-size:17px;font-weight:500;letter-spacing:-.02em;color:var(--ink,#0F0F0F)}
.dfit__list{list-style:none;padding:0;margin-top:10px}
.dfit__list li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line,#E3E3DE);
  font-size:15px;color:var(--ink-2,#2B2B29)}
.dfit__list li:first-child{border-top:1px solid var(--line,#E3E3DE)}
.dfit__list li>b{font-weight:500;color:var(--ink,#0F0F0F);font-variant-numeric:tabular-nums;white-space:nowrap}
.dfit__mark{display:block;width:22px;height:22px}
.dfit__mark circle{fill:currentColor;stroke:currentColor}.dfit__mark path{stroke:#fff;stroke-width:2}
.dfit__mark--yes{color:#05945B}.dfit__mark--no{color:#DC2804}
.dfit__note{margin-top:24px;padding:14px 16px;background:#F5F5F5;font-size:14px;color:var(--ink-2,#2B2B29)}
@media(max-width:900px){.dfit{grid-template-columns:1fr}.dfit__fig{max-width:620px}}
@media(max-width:760px){.dfit__nums b{font-size:30px}.dfit__nums small{font-size:13px}.dfit__nums span{font-size:13px}}
.dfit__lab--g{transform:translate(-50%,-50%);font-weight:400;color:var(--text-3,#6B6B66)}
.dfit__tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.dfit__tbl th,.dfit__tbl td{padding:16px 0;text-align:left;border-bottom:1px solid var(--line,#E3E3DE)}
.dfit__tbl thead th{padding-top:0;font-size:14px;font-weight:400;color:var(--text-2,#545454)}
.dfit__tbl tbody th{font-size:15px;font-weight:500;color:var(--ink,#0F0F0F);width:28%}
.dfit__tbl b{font-size:clamp(28px,2.4vw,36px);line-height:1.05;font-weight:500;letter-spacing:-.045em;color:var(--ink,#0F0F0F)}
.dfit__tbl small{font-size:14px;color:var(--text-2,#545454)}
@media(max-width:760px){.dfit__tbl b{font-size:26px}.dfit__tbl small{font-size:12px}.dfit__tbl tbody th{font-size:14px}}
/* Lock Ultra (27 Oct 2026, Ankur): white copy on the "Enter without breaking stride" and "Stay in control" carousel photos */
.page-sku[data-model="lock-ultra"] .crd:has(:is([data-slot^="stride-"],[data-slot^="control-"])) .sku-card__txt h4{color:#fff!important;text-shadow:0 1px 14px rgba(0,0,0,.28)}
.page-sku[data-model="lock-ultra"] .crd:has(:is([data-slot^="stride-"],[data-slot^="control-"])) .sku-card__txt p{color:rgba(255,255,255,.86)!important;text-shadow:0 1px 14px rgba(0,0,0,.28)}
/* Locks: warranty shield bullets black (the solid-tick rule had turned their strokes white), copy dark; service ticks solid green */
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-warr__list svg:not(:has(circle)){color:#0F0F0F!important}
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-warr__list svg:not(:has(circle)) path{stroke:#0F0F0F!important;stroke-width:1.5}
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-warr__list li{color:#2B2B29}
.page-sku:is([data-model="lock-pro"],[data-model="lock-ultra"]) .sku-svc__list .ico{color:#05945B!important}
/* Lock Pro (27 Oct 2026, Ankur): white copy on the "Always see who's at the door" photo card */
.page-sku[data-model="lock-pro"] .sku-card:has([data-slot="app-see"]) .sku-card__txt :is(h3,h4,p){color:#fff!important;text-shadow:0 1px 14px rgba(0,0,0,.28)}

/* service-cost and groundwater bands in an untinted chapter (28 Oct 2026, Ankur: M3 Pro "Replace filters only once" was light grey
   on light grey). Chapters with no t- theme are dark ink, so the light #ECECE8 band left their light text unreadable. These take
   the dark band, like the black / deep / ink chapters */
.page-sku .sku-flow .sku-ch:not([class*=" t-"])>.blk:is(:has(>.wrap.sku-cost),:has(>.wrap.sku-contam)){background:#131313}
.page-sku .sku-flow .sku-ch:not([class*=" t-"])>.blk:has(>.wrap.sku-contam) .sku-contam__c{background:#1C1C1C}
