/* RetainerCareGuide: shared styles for every page (tokens, chrome, components). Page-only styles live in
   assets/pages/<page>.css; article pages add assets/article.css, index/hub/static pages assets/listing.css.
   Idea: a calm, clean care routine. Very light aqua ground, white rounded cards with thin borders, line
   icons and tray drawings; aqua is the brand hue, raspberry is kept for actions (buttons) only.
   Vocabulary: every class starts with rc- (BEM: rc-block__part--variant). */

:root{
  --ground:#f2fbfc; --mist:#e3f5f7; --mist-2:#cdeef3; --surface:#fff;
  --ink:#10232b; --text:#2c434c; --muted:#4d646d; --line:#d4e8ec; --line-2:#b9dbe1;
  /* aqua: #0e7490 is text-safe (5.4:1 on white); #22d3ee / #a5f3fc are decoration only, never text */
  --aqua:#0e7490; --aqua-800:#155e75; --aqua-900:#164e63; --aqua-tint:#d7f3f7; --aqua-bright:#22d3ee; --aqua-pale:#a5f3fc;
  /* raspberry: actions. White on #be185d is 6.0:1 */
  --rasp:#be185d; --rasp-800:#9d174d; --rasp-tint:#fdeef5; --rasp-line:#f6c4da;
  /* lavender: night guards, "with care" */
  --lav:#5b3fb0; --lav-tint:#efecfb; --lav-line:#d9d0f6;
  --mint:#0f6b45; --mint-tint:#e3f6ec;
  --deep:#0b4f5f; --deep-2:#0a3f4c; --deep-text:#e6f7fa; --deep-muted:#bfe9f0;
  --focus:#1d4ed8;
  --display:'Lexend','Segoe UI',system-ui,sans-serif;
  --body:'Atkinson Hyperlegible','Segoe UI',system-ui,sans-serif;
  --shell:75rem; --gut:clamp(1rem,.45rem + 2.2vw,2rem); --sec:clamp(3rem,1.9rem + 3.6vw,5.5rem);
  --r-xs:8px; --r-s:12px; --r-m:16px; --r-l:22px; --r-xl:30px;
  --sh-1:0 1px 2px rgb(16 35 43/.04),0 10px 26px -16px rgb(14 116 144/.32);
  --sh-2:0 2px 6px rgb(16 35 43/.05),0 26px 50px -24px rgb(14 116 144/.42);
  --t-h1:clamp(2rem,1.4rem + 2.6vw,3.05rem); --t-h2:clamp(1.5rem,1.2rem + 1.25vw,2.1rem); --t-h3:1.125rem;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5.5rem}
body{margin:0;background:var(--ground);color:var(--text);font:400 1rem/1.62 var(--body);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--aqua-800)}
a:hover{color:var(--aqua-900)}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);font-weight:600;letter-spacing:-.012em;line-height:1.18}
h1{font-size:var(--t-h1);letter-spacing:-.025em;line-height:1.08}
h2{font-size:var(--t-h2);letter-spacing:-.02em}
h3{font-size:var(--t-h3)}
b,strong{font-weight:700;color:var(--ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
details:not([open])>:not(summary){display:none}
input,select,textarea,button{font:inherit}
.rc-wrap{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gut)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:1.25rem;height:1.25rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ic--sm{width:1rem;height:1rem}.ic--lg{width:1.6rem;height:1.6rem}.ic--xl{width:2rem;height:2rem}
.rc-sec{padding-block:var(--sec) 0}
.rc-sec--tint{background:linear-gradient(180deg,var(--ground),var(--mist) 18%,var(--mist) 82%,var(--ground));padding-block:var(--sec)}
.rc-sec--tint+.rc-sec{padding-top:calc(var(--sec) * .5)}

/* ---------- mockup chrome (not part of the design) ---------- */
.mock{background:#fdf6d8;color:#3d3100;font-size:.84rem;border-bottom:1px solid #eedc8f}
.mock .rc-wrap{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;justify-content:space-between;padding-block:.45rem}
.mock a{color:#3d3100}
.mock button{font:700 .8rem var(--body);border:1px solid #c9a52a;background:#fff;color:#3d3100;border-radius:999px;padding:.3rem .85rem;min-height:2rem;cursor:pointer}
[data-seo]{position:relative}
html.notes [data-seo]{outline:2px dashed #d4a017;outline-offset:-2px}
html.notes [data-seo]::before{content:attr(data-seo);position:absolute;z-index:80;top:.4rem;left:.4rem;max-width:min(30rem,calc(100% - .8rem));padding:.45rem .65rem;border-radius:8px;background:#fff3b0;color:#3d2e00;font:700 .78rem/1.42 var(--body);letter-spacing:0;text-transform:none;text-align:left;box-shadow:0 6px 18px rgb(0 0 0/.18);pointer-events:none;white-space:normal}
/* mockup chip for a planned page ("Planned page"). Always with data-mock, so the audit treats it as mockup chrome.
   Sample quotes carry no chip: each quote element keeps a hidden data-sample-quote marker instead. */
.sample-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.14rem .55rem;border-radius:999px;border:1px dashed #c9a52a;background:#fdf6d8;color:#5c4700;font:700 .75rem/1.35 var(--body);white-space:nowrap;vertical-align:middle}
.sample-chip::before{content:"";width:.4rem;height:.4rem;border-radius:999px;background:#c9a52a}

/* ---------- buttons, chips, small parts ---------- */
.rc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.65rem 1.15rem;border-radius:var(--r-s);border:1.5px solid transparent;font:600 .95rem/1.15 var(--display);letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;white-space:nowrap}
.rc-btn:hover{transform:translateY(-1px)}
.rc-btn--buy{background:var(--rasp);color:#fff;box-shadow:0 10px 20px -12px rgb(190 24 93/.75)}
.rc-btn--buy:hover{background:var(--rasp-800);color:#fff}
.rc-btn--aqua{background:var(--aqua);color:#fff}
.rc-btn--aqua:hover{background:var(--aqua-800);color:#fff}
.rc-btn--soft{background:var(--aqua-tint);color:var(--aqua-900)}
.rc-btn--soft:hover{background:var(--mist-2);color:var(--aqua-900)}
.rc-btn--line{background:#fff;border-color:var(--line-2);color:var(--ink)}
.rc-btn--line:hover{border-color:var(--aqua);color:var(--ink)}
.rc-btn--white{background:#fff;color:var(--deep)}
.rc-btn--white:hover{background:var(--aqua-tint);color:var(--deep)}
.rc-btn--sm{min-height:2.5rem;padding:.5rem .9rem;font-size:.875rem}
.rc-btn--block{width:100%}
@media (max-width:767px){.rc-btn--sm{min-height:2.75rem}}
.rc-iconbtn{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--r-s);border:1px solid var(--line);background:#fff;color:var(--ink);transition:border-color .18s,background .18s}
.rc-iconbtn:hover,details[open]>.rc-iconbtn{border-color:var(--aqua);background:var(--aqua-tint)}

.rc-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:999px;font:700 .8125rem/1.25 var(--body);background:var(--mist);color:var(--aqua-900);white-space:nowrap}
.rc-chip--aqua{background:var(--aqua-tint);color:var(--aqua-900)}
.rc-chip--rasp{background:var(--rasp-tint);color:var(--rasp-800)}
.rc-chip--lav{background:var(--lav-tint);color:var(--lav)}
.rc-chip--mint{background:var(--mint-tint);color:var(--mint)}
.rc-chip--white{background:#fff;color:var(--aqua-900);box-shadow:0 0 0 1px var(--line)}
.rc-chip--line{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--line-2)}
/* article kind label */
.rc-kind{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .6rem;border-radius:999px;font:700 .8125rem/1.25 var(--body);background:var(--aqua-tint);color:var(--aqua-900);white-space:nowrap}
.rc-kind--review{background:var(--lav-tint);color:var(--lav)}
.rc-kind--vs{background:var(--rasp-tint);color:var(--rasp-800)}
.rc-kind--how{background:var(--mint-tint);color:var(--mint)}
.rc-kind--explain{background:#edf2f3;color:var(--text)}
.rc-kind--gift{background:var(--rasp-tint);color:var(--rasp-800)}
/* a source tag: who says so */
.rc-src{display:inline-flex;align-items:center;gap:.25rem;padding:.08rem .5rem;border-radius:6px;border:1px solid var(--line-2);background:#fff;color:var(--aqua-900);font:700 .75rem/1.5 var(--body);white-space:nowrap;vertical-align:middle}
.rc-srcs{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}
/* link chip */
.rc-tag{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:.35rem .8rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;font-size:.875rem;text-decoration:none;transition:border-color .18s,background .18s}
.rc-tag:hover{border-color:var(--aqua);background:var(--aqua-tint);color:var(--ink)}
.rc-tag[aria-current]{background:var(--aqua);border-color:var(--aqua);color:#fff}
@media (max-width:767px){.rc-tag{min-height:2.75rem}}
/* "more" link with a chevron */
.rc-more{display:inline-flex;align-items:center;gap:.3rem;min-height:2.75rem;font:600 .93rem/1.2 var(--display);color:var(--aqua-800);text-decoration:none;white-space:nowrap}
.rc-more:hover{color:var(--aqua-900);text-decoration:underline;text-underline-offset:3px}
.rc-more .ic{transition:transform .18s}
.rc-more:hover .ic{transform:translateX(2px)}

/* freshness badge: removed by mockup.js once its data-reviewed date falls before this quarter */
.rc-fresh{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;background:var(--mint-tint);color:var(--mint);font:700 .8125rem/1.3 var(--body);white-space:nowrap}
.rc-fresh--new{background:var(--aqua-tint);color:var(--aqua-900)}
/* byline with the team mark */
.rc-byline{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .8rem;color:var(--muted);font-size:.875rem}
.rc-byline>span:first-of-type b{color:var(--ink)}
.rc-byline__mark{width:1.6rem;height:1.6rem;flex:none}
.rc-byline__rt{display:inline-flex;align-items:center;gap:.3rem}
/* disclosure line: must come before the first sponsored link on a page */
.rc-disclose{display:flex;align-items:flex-start;gap:.45rem;color:var(--muted);font-size:.875rem;line-height:1.5}
.rc-disclose .ic{margin-top:.1rem;color:var(--aqua)}
.rc-disclose a{color:var(--aqua-800);font-weight:700}

/* section head: icon tile, heading and one line, "more" link */
.rc-head{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;align-items:center;margin-bottom:clamp(1.25rem,1rem + 1vw,2rem)}
.rc-head__ico{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:#fff;color:var(--aqua);box-shadow:0 0 0 1px var(--line),0 8px 18px -12px rgb(14 116 144/.5)}
.rc-head__ico--rasp{color:var(--rasp)}
.rc-head__ico--lav{color:var(--lav)}
.rc-head__text p{color:var(--muted);margin-top:.25rem}
.rc-head>.rc-more{grid-column:1/-1;justify-self:start;min-height:2.75rem}
@media (min-width:768px){.rc-head{grid-template-columns:auto 1fr auto}.rc-head>.rc-more{grid-column:auto;justify-self:end}}
.rc-head--center{grid-template-columns:1fr;justify-items:center;text-align:center}
.rc-head--center .rc-head__text{max-width:40rem}

/* ---------- top bar ---------- */
.rc-top{background:var(--mist);border-bottom:1px solid var(--line);font-size:.875rem;color:var(--text)}
.rc-top__row{display:flex;align-items:center;gap:1.25rem;min-height:2.5rem;padding-block:.35rem}
.rc-top p{display:flex;align-items:center;gap:.45rem}
.rc-top .ic{color:var(--aqua)}
.rc-top .rc-top__long,.rc-top .rc-top__season,.rc-top .rc-top__links{display:none}
.rc-top__links{gap:1.1rem;white-space:nowrap}
.rc-top__links a{color:var(--aqua-900);font-weight:700;text-decoration:none}
.rc-top__links a:hover{text-decoration:underline}
.rc-top__season{white-space:nowrap}
@media (min-width:768px){.rc-top .rc-top__season{display:flex;margin-left:auto}.rc-top__note{flex:none}}
@media (min-width:1100px){.rc-top .rc-top__links{display:flex;padding-left:1.1rem;border-left:1px solid var(--line-2)}}
@media (min-width:1320px){.rc-top .rc-top__long{display:inline}}

/* ---------- masthead + nav ---------- */
.rc-mast{position:sticky;top:0;z-index:50;background:rgb(255 255 255/.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(10px)}
.rc-mast__row{position:relative;display:flex;align-items:center;gap:.6rem;min-height:4.5rem}
.rc-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);flex:none}
.rc-brand__mark{width:2.25rem;height:2.25rem}
.rc-brand__name{font:600 1.05rem/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.rc-brand__name span{font-weight:400;color:var(--aqua)}
@media (min-width:400px){.rc-brand__name{font-size:1.18rem}}
.rc-nav{display:none}
.rc-nav__list{display:flex;align-items:center;gap:.1rem}
.rc-nav__item{position:static}
.rc-nav__item--near{position:relative}
.rc-nav__top{display:inline-flex;align-items:center;gap:.25rem;min-height:2.75rem;padding:.5rem .75rem;border-radius:var(--r-s);font:500 .96rem/1 var(--display);color:var(--ink);text-decoration:none;transition:background .15s,color .15s}
.rc-nav__top .ic{color:var(--muted);transition:transform .18s}
.rc-nav__item:hover>.rc-nav__top,.rc-nav__item:focus-within>.rc-nav__top{background:var(--mist);color:var(--ink)}
.rc-nav__item:hover>.rc-nav__top .ic{transform:rotate(180deg)}
.rc-nav__top[aria-current="page"]{color:var(--aqua-900);background:var(--aqua-tint)}
.rc-mast__actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.rc-mast__cta{display:none}
@media (min-width:640px){.rc-mast__cta{display:inline-flex}}
@media (min-width:1024px){.rc-nav{display:block;margin-left:auto}.rc-mast__actions{margin-left:.5rem}.rc-burger{display:none}}
@media (min-width:1024px) and (max-width:1179px){.rc-nav__top{padding-inline:.55rem;font-size:.92rem}.rc-mast__cta .ic{display:none}}

/* dropdown panels: a ::before bridge over the gap and a 0.25 s close delay keep them open while the
   pointer travels from the menu item into the panel (checked with _tools/probe-hover.mjs) */
.rc-drop{position:absolute;z-index:60;top:calc(100% + .45rem);background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-2);padding:1.1rem;visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .25s}
.rc-drop::before{content:"";position:absolute;left:0;right:0;top:-2rem;height:2rem}
.rc-nav__item:hover>.rc-drop,.rc-nav__item:focus-within>.rc-drop{visibility:visible;opacity:1;transform:translateY(0);transition-delay:0s}
.rc-drop--mega{left:50%;width:min(50rem,calc(100% - 2 * var(--gut)));display:grid;grid-template-columns:1fr 1fr 13.5rem;gap:.5rem 1.1rem;transform:translate(-50%,6px)}
.rc-nav__item:hover>.rc-drop--mega,.rc-nav__item:focus-within>.rc-drop--mega{transform:translate(-50%,0)}
.rc-drop--types{left:0;width:21rem}
@media (prefers-reduced-motion:reduce){.rc-drop{transition:visibility 0s linear .25s}}
.rc-drop__label{font:600 .8125rem/1.3 var(--display);color:var(--muted);padding:.2rem .55rem .45rem}
.rc-drop li a{display:flex;align-items:center;gap:.7rem;padding:.5rem .55rem;border-radius:var(--r-s);text-decoration:none;color:var(--ink);font-weight:700;font-size:.94rem;line-height:1.25}
.rc-drop li a:hover{background:var(--ground)}
.rc-drop li small{display:block;color:var(--muted);font-weight:400;font-size:.8125rem;margin-top:.1rem}
.rc-drop__ico{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border-radius:11px;background:var(--aqua-tint);color:var(--aqua-800)}
.rc-drop__promo{position:relative;grid-row:1/3;grid-column:3;display:flex;flex-direction:column;border-radius:var(--r-m);overflow:hidden;background:var(--mist);text-decoration:none;color:var(--ink)}
.rc-drop__promo-art{aspect-ratio:4/3}
.rc-drop__promo-art>svg{width:72%}
.rc-drop__promo-body{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:.8rem .85rem 1rem}
.rc-drop__promo b{font:600 1rem/1.25 var(--display)}
.rc-drop__all{grid-column:1/3;display:inline-flex;align-items:center;gap:.3rem;justify-self:start;margin:.15rem 0 0 .55rem;min-height:2.25rem;font:600 .9rem var(--display);color:var(--aqua-800);text-decoration:none}
.rc-drop__all:hover{text-decoration:underline}
.rc-tray{display:block;flex:none}
.rc-tray--xs{width:2.6rem;height:2.1rem;padding:.15rem;border-radius:10px;background:var(--ground)}

/* search popover + phone menu (both <details>, no script) */
.rc-search,.rc-burger{position:static}
.rc-search__panel,.rc-burger__panel{position:absolute;z-index:60;left:var(--gut);right:var(--gut);top:calc(100% + .4rem);background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-2);padding:1rem}
@media (min-width:768px){.rc-search__panel{left:auto;width:30rem}}
.rc-search__popular{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.85rem;font-size:.875rem;color:var(--muted)}
.rc-search__popular>span{font-weight:700;margin-right:.15rem}
.rc-finder{display:flex;align-items:center;gap:.5rem;padding:.35rem .35rem .35rem .85rem;border-radius:var(--r-m);border:1.5px solid var(--line-2);background:#fff}
.rc-finder:focus-within{border-color:var(--aqua);box-shadow:0 0 0 4px var(--aqua-tint)}
.rc-finder>.ic{color:var(--muted)}
.rc-finder input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:1rem;min-height:2.5rem}
.rc-finder input::placeholder{color:var(--muted)}
.rc-burger__panel{display:grid;gap:.15rem;max-height:calc(100vh - 8rem);overflow:auto}
.rc-burger__panel>a{display:flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.4rem .6rem;border-radius:var(--r-s);color:var(--ink);font-weight:700;text-decoration:none}
.rc-burger__panel>a .ic{color:var(--aqua)}
.rc-burger__panel>a:hover,.rc-burger__panel>a[aria-current]{background:var(--aqua-tint)}
.rc-burger__label{font:600 .8125rem var(--display);color:var(--muted);padding:.75rem .6rem .25rem}
.rc-burger__label:first-child{padding-top:.2rem}
.rc-burger__types{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.rc-burger__types a{display:flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.35rem .5rem;border-radius:var(--r-s);border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:.9rem;text-decoration:none}
.rc-burger__small{display:flex;flex-wrap:wrap;gap:.25rem .4rem;padding:0 .2rem}
.rc-burger__small a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.3rem .45rem;color:var(--aqua-900);font-weight:700;text-decoration:none}

/* ---------- footer ---------- */
.rc-foot{margin-top:var(--sec);padding-top:1.5rem;background:var(--mist);border-top:1px solid var(--line);color:var(--text);font-size:.94rem}
.rc-foot__care{display:flex;gap:.9rem;align-items:flex-start;transform:none;margin:0 0 1.75rem;padding:1rem 1.15rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1)}
.rc-foot__care p{line-height:1.5}
.rc-foot__care-ico{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:none;border-radius:14px;background:var(--aqua-tint);color:var(--aqua-800)}
.rc-foot__top{display:grid;gap:2rem;padding-bottom:2rem}
.rc-foot__about{display:grid;gap:.85rem;align-content:start;max-width:26rem}
.rc-foot__cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1rem}
.rc-foot__label{font:600 .95rem var(--display);color:var(--ink);margin-bottom:.4rem}
.rc-foot__cols a{display:inline-block;padding-block:.4rem;color:var(--text);text-decoration:none}
.rc-foot__cols a:hover{color:var(--aqua-900);text-decoration:underline}
.rc-foot__base{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;align-items:center;padding-block:1rem 1.5rem;border-top:1px solid var(--line-2);color:var(--muted);font-size:.875rem}
.rc-foot__legal{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}
.rc-foot__legal a{display:inline-flex;align-items:center;min-height:2.5rem;color:var(--aqua-900);font-weight:700;text-decoration:none}
.rc-foot__legal a:hover{text-decoration:underline}
@media (min-width:768px){.rc-foot__cols{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1024px){.rc-foot__top{grid-template-columns:22rem 1fr;gap:3rem}}
@media (max-width:767px){.rc-foot__cols a{padding-block:.7rem}.rc-foot__legal a{min-height:2.75rem}}

/* ---------- home hero: split, photo with a floating routine card ---------- */
.rc-hero{position:relative;overflow:hidden;padding-block:clamp(2rem,1.2rem + 3vw,4rem) clamp(2.5rem,1.5rem + 3vw,4.5rem);background:radial-gradient(60rem 30rem at 85% 10%,#dff6f9 0,rgb(223 246 249/0) 70%),radial-gradient(40rem 26rem at 0% 100%,#e8f7f9 0,rgb(232 247 249/0) 70%)}
.rc-hero__bubbles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}
@media (min-width:960px){.rc-hero__bubbles{display:block}}
.rc-hero__grid{position:relative;display:grid;gap:2.25rem;align-items:center}
.rc-hero__copy{display:grid;gap:1.1rem;justify-items:start}
.rc-hero__copy h1{max-width:21ch}
.rc-hero__lede{font-size:clamp(1.05rem,1rem + .35vw,1.22rem);color:var(--text);max-width:34rem}
.rc-hero__actions{display:flex;flex-wrap:wrap;gap:.65rem}
.rc-hero__trust{display:flex;flex-wrap:wrap;gap:.5rem .6rem;margin-top:.2rem}
.rc-hero__trust li{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem .35rem .4rem;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:.875rem;font-weight:700;color:var(--ink)}
.rc-hero__trust .ic{width:1.35rem;height:1.35rem;padding:.2rem;border-radius:999px;background:var(--aqua-tint);color:var(--aqua-800)}
.rc-hero__media{position:relative;padding-bottom:0}
.rc-hero__photo{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3.3;background:var(--mist);box-shadow:var(--sh-2)}
.rc-hero__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-hero__photo::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgb(16 35 43/.06)}
.rc-hero__routine{position:relative;z-index:2;margin:-3.25rem .75rem 0;padding:1rem 1.1rem 1.05rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-2)}
.rc-hero__routine-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}
.rc-hero__routine-head b{display:inline-flex;align-items:center;gap:.45rem;font:600 1rem var(--display)}
.rc-hero__routine-head b .ic{color:var(--aqua)}
.rc-hero__routine ol{display:grid;gap:.45rem}
.rc-hero__routine li{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:center;font-size:.92rem;color:var(--ink)}
.rc-tick{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:999px;background:var(--aqua);color:#fff}
.rc-tick .ic{width:.85rem;height:.85rem;stroke-width:3}
.rc-tick--todo{background:#fff;color:var(--aqua);box-shadow:inset 0 0 0 2px var(--aqua-pale)}
.rc-hero__routine .rc-more{min-height:2.75rem;margin-top:.25rem}
.rc-hero__badge{position:absolute;z-index:2;top:.85rem;right:.85rem;display:flex;align-items:center;gap:.55rem;max-width:15rem;padding:.55rem .75rem;border-radius:var(--r-m);background:#fff;box-shadow:var(--sh-1);font-size:.84rem;line-height:1.35;color:var(--ink)}
.rc-hero__badge>.ic{color:var(--lav);width:1.6rem;height:1.6rem}
.rc-hero__badge b{display:block;font:600 .92rem var(--display)}
@media (min-width:640px) and (max-width:959px){
  .rc-hero__media{padding-bottom:2.5rem}
  .rc-hero__photo{aspect-ratio:16/10}
  .rc-hero__routine{position:absolute;left:1.25rem;bottom:0;margin:0;width:20rem}
}
@media (min-width:960px){
  .rc-hero__grid{grid-template-columns:1.02fr .98fr;gap:3.5rem}
  .rc-hero__photo{aspect-ratio:1/1.02}
  .rc-hero__routine{position:absolute;left:-2.25rem;bottom:2rem;margin:0;width:19.5rem}
  .rc-hero__badge{top:1.25rem;right:1.25rem}
}
@media (min-width:1200px){.rc-hero__photo{aspect-ratio:1/.95}}

/* ---------- retainer type selector (tray drawings) ---------- */
.rc-types{display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gut) * -1);padding:.25rem var(--gut) 1rem;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.rc-type{position:relative;flex:0 0 min(15.5rem,74%);scroll-snap-align:start;display:flex;flex-direction:column;padding:.8rem .8rem 1rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1);text-decoration:none;color:var(--text);transition:border-color .18s,box-shadow .18s,transform .18s}
.rc-type:hover{border-color:var(--aqua-pale);box-shadow:var(--sh-2);transform:translateY(-2px);color:var(--text)}
.rc-type__art{position:relative;display:grid;place-items:center;aspect-ratio:16/10;border-radius:var(--r-m);background:linear-gradient(160deg,#e9f9fb,#f8fdfe 70%);overflow:hidden}
.rc-type__art::before,.rc-type__art::after{content:"";position:absolute;border-radius:999px;border:1.5px solid var(--aqua-pale);opacity:.9}
.rc-type__art::before{width:1.1rem;height:1.1rem;left:12%;top:16%}
.rc-type__art::after{width:.6rem;height:.6rem;right:14%;bottom:18%;background:var(--aqua-pale)}
.rc-type__art svg{width:58%;height:auto;aspect-ratio:120/96}
.rc-type--lav .rc-type__art{background:linear-gradient(160deg,#f1eefc,#fbfaff 70%)}
.rc-type--lav .rc-type__art::before,.rc-type--lav .rc-type__art::after{border-color:var(--lav-line)}
.rc-type--lav .rc-type__art::after{background:var(--lav-line)}
.rc-type h3{margin-top:.85rem;font-size:1.06rem}
.rc-type__sub{font-size:.875rem;color:var(--muted);margin-top:.15rem}
.rc-type__rule{display:flex;gap:.45rem;align-items:flex-start;margin-top:.75rem;padding:.55rem .6rem;border-radius:var(--r-s);background:var(--ground);font-size:.84rem;line-height:1.45;color:var(--text)}
.rc-type__rule>.ic{color:var(--aqua);margin-top:.05rem}
.rc-type__go{display:inline-flex;align-items:center;gap:.25rem;margin-top:auto;padding-top:.8rem;font:600 .9rem var(--display);color:var(--aqua-800)}
@media (min-width:768px){
  .rc-types{flex-wrap:wrap;justify-content:center;overflow:visible;margin-inline:0;padding:0}
  .rc-type{flex:0 1 calc((100% - 1.8rem) / 3)}
}
@media (min-width:1180px){.rc-type{flex:1 1 0;min-width:0}}

/* ---------- featured top list + "new and re-checked" ---------- */
.rc-front{display:grid;gap:1.25rem}
@media (min-width:1100px){.rc-front{grid-template-columns:minmax(0,1fr) 22.5rem;align-items:start}}
.rc-feature{display:grid;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-1);overflow:hidden}
.rc-feature__media{position:relative;min-height:13rem;background:var(--mist)}
.rc-feature__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-feature__media .rc-chip{position:absolute;left:1rem;top:1rem}
.rc-feature__count{position:absolute;right:1rem;top:1rem;display:grid;justify-items:center;padding:.55rem .8rem;border-radius:var(--r-m);background:#fff;box-shadow:var(--sh-1);color:var(--ink);line-height:1.1}
.rc-feature__count b{font:600 1.6rem var(--display);color:var(--aqua-800)}
.rc-feature__count small{font-size:.8125rem;color:var(--muted)}
.rc-feature__facts{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}
.rc-feature__facts .rc-spec{background:#fff}
.rc-feature__media.rc-art{min-height:19rem;padding-block:3.5rem 5.5rem}
.rc-feature__media.rc-art>svg{width:min(70%,17rem)}
.rc-feature__body{display:grid;gap:.85rem;padding:clamp(1.1rem,.8rem + 1.2vw,1.75rem)}
.rc-feature__tags{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.rc-feature h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem)}
.rc-feature h2 a{color:var(--ink);text-decoration:none}
.rc-feature h2 a:hover{color:var(--aqua-900)}
.rc-feature__dek{color:var(--muted)}
.rc-feature__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding-top:.75rem;border-top:1px dashed var(--line)}
.rc-caution{display:flex;align-items:flex-start;gap:.45rem;font-size:.875rem;color:var(--muted);line-height:1.45}
.rc-caution .ic{color:var(--lav);margin-top:.05rem}
@media (min-width:768px){.rc-feature{grid-template-columns:minmax(14rem,.78fr) 1.22fr}.rc-feature__media{min-height:100%}}

/* rank rows: the ranked picks with their "Check price" button */
.rc-ranks{display:grid;gap:.55rem}
.rc-rank{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem .75rem;align-items:center;padding:.6rem .65rem .6rem .6rem;border-radius:var(--r-m);background:var(--ground);border:1px solid transparent}
.rc-rank:first-child{background:#fff;border-color:var(--aqua-pale);box-shadow:0 8px 20px -16px rgb(14 116 144/.6)}
.rc-rank__no{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:12px;background:#fff;color:var(--aqua-900);font:600 1.05rem var(--display);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.rc-rank:first-child .rc-rank__no{background:var(--aqua);color:#fff;box-shadow:none}
.rc-rank__name{display:grid;min-width:0;line-height:1.3}
.rc-rank__name b{font:600 .98rem/1.3 var(--display)}
.rc-rank__name a{color:var(--ink);text-decoration:none}
.rc-rank__name a:hover{color:var(--aqua-900);text-decoration:underline}
.rc-rank__name small{font-size:.84rem;color:var(--muted)}
.rc-ranks{container-type:inline-size}
.rc-rank .rc-rank__spec{display:none}
@container (min-width:36rem){.rc-rank .rc-rank__spec{display:inline-flex}.rc-rank{grid-template-columns:auto 1fr auto auto}}
@media (max-width:420px){.rc-rank{grid-template-columns:auto 1fr}.rc-rank .rc-btn{grid-column:1/-1}}

.rc-new{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:1.15rem 1.15rem .6rem;box-shadow:var(--sh-1)}
.rc-new__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}
.rc-new__head h2{font-size:1.2rem}
.rc-new li+li{border-top:1px solid var(--line)}
.rc-new li a{display:grid;grid-template-columns:auto 1fr;gap:.75rem;padding:.8rem 0;text-decoration:none;color:var(--ink)}
.rc-new li a:hover h3{color:var(--aqua-900);text-decoration:underline;text-underline-offset:3px}
.rc-new__ico{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:13px;background:var(--aqua-tint);color:var(--aqua-800)}
.rc-new__ico--lav{background:var(--lav-tint);color:var(--lav)}
.rc-new__ico--rasp{background:var(--rasp-tint);color:var(--rasp-800)}
.rc-new__ico--mint{background:var(--mint-tint);color:var(--mint)}
.rc-new__meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.3rem}
.rc-new h3{font-size:.98rem;line-height:1.35}
@media (min-width:768px) and (max-width:1099px){.rc-new ol{display:grid;grid-template-columns:1fr 1fr;column-gap:1.25rem}.rc-new li+li{border-top:0}.rc-new li{border-bottom:1px solid var(--line)}.rc-new li:last-child:nth-child(odd){grid-column:1/-1}}

/* ---------- sources strip (who every care step comes from) ---------- */
.rc-sources{display:grid;gap:.75rem;grid-template-columns:1fr}
@media (min-width:640px){.rc-sources{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.rc-sources{grid-template-columns:repeat(4,1fr)}}
.rc-source{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;align-items:center;padding:1rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line)}
.rc-source__ico{grid-row:1/3;display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:14px;background:var(--aqua-tint);color:var(--aqua-800)}
.rc-source b{font:600 1rem/1.25 var(--display)}
.rc-source small{font-size:.875rem;color:var(--muted);line-height:1.4}

/* ---------- care routine timeline ---------- */
.rc-routine{position:relative;display:grid;gap:1.1rem}
.rc-routine::before{content:"";position:absolute;left:1.7rem;top:1.5rem;bottom:1.5rem;border-left:2px dashed var(--aqua-pale)}
.rc-routine__step{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:1rem 1rem 1.1rem 4.6rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line)}
.rc-routine__node{position:absolute;left:.55rem;top:.85rem;display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:999px;background:var(--aqua);color:#fff;box-shadow:0 0 0 5px var(--ground),0 0 0 6px var(--line)}
.rc-routine__step h3{font-size:1.06rem}
.rc-routine__step p{font-size:.94rem}
.rc-routine__step .rc-srcs{margin-top:auto;padding-top:.15rem}
.rc-routine__step--stop .rc-routine__node{background:var(--rasp)}
.rc-routine__step--week .rc-routine__node{background:var(--lav)}
@media (min-width:960px){
  .rc-routine{grid-template-columns:repeat(4,1fr);gap:1rem}
  .rc-routine::before{left:12%;right:12%;top:2.1rem;bottom:auto;border-left:0;border-top:2px dashed var(--aqua-pale)}
  .rc-routine__step{padding:4.25rem 1.1rem 1.2rem}
  .rc-routine__node{left:1.1rem;top:1rem;width:2.5rem;height:2.5rem}
}
.rc-routine-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:1.1rem;padding:.9rem 1rem;border-radius:var(--r-l);background:var(--aqua-tint)}
.rc-routine-foot p{display:flex;gap:.55rem;align-items:flex-start;color:var(--aqua-900);font-weight:700;line-height:1.5}
.rc-routine-foot p>.ic{margin-top:.1rem}

/* ---------- do / don't matrix ("safe for your retainer?") ---------- */
.rc-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.rc-safe{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,16.5rem),1fr))}
.rc-safe__item{display:grid;grid-template-columns:auto 1fr;align-content:start;gap:.25rem .75rem;padding:.9rem .95rem 1rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line)}
.rc-safe__ico{grid-row:1/4;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:13px;background:var(--ground);color:var(--ink)}
.rc-safe__top{display:grid;grid-template-columns:1fr auto;align-items:start;gap:.5rem}
.rc-safe__top b{font:600 1rem/1.3 var(--display)}
.rc-safe__item p{font-size:.9rem;line-height:1.45;color:var(--text)}
.rc-safe__item .rc-srcs{margin-top:.3rem}
.rc-mark{display:inline-flex;align-items:center;gap:.25rem;padding:.16rem .55rem .16rem .4rem;border-radius:999px;font:700 .8125rem/1.3 var(--body);white-space:nowrap}
.rc-mark .ic{width:.95rem;height:.95rem;stroke-width:2.6}
.rc-mark--do{background:var(--aqua-tint);color:var(--aqua-900)}
.rc-mark--care{background:var(--lav-tint);color:var(--lav)}
.rc-mark--ask{background:#e9eff0;color:var(--text)}
.rc-mark--dont{background:var(--rasp-tint);color:var(--rasp-800)}
.rc-safe__item--do .rc-safe__ico{background:var(--aqua-tint);color:var(--aqua-800)}
.rc-safe__item--care .rc-safe__ico{background:var(--lav-tint);color:var(--lav)}
.rc-safe__item--dont .rc-safe__ico{background:var(--rasp-tint);color:var(--rasp-800)}
.rc-safe__item--dont{border-color:#f3d9e5}

/* ---------- "general information, not dental advice" band ---------- */
.rc-band{position:relative;overflow:hidden;border-radius:var(--r-xl);background:linear-gradient(135deg,var(--deep),var(--deep-2));color:var(--deep-text);padding:clamp(1.5rem,1rem + 2vw,2.75rem)}
.rc-band__art{position:absolute;right:-2rem;bottom:-2.5rem;width:16rem;height:auto;opacity:.16;pointer-events:none}
.rc-band__grid{position:relative;display:grid;gap:1.5rem}
.rc-band h2{color:#fff}
.rc-band p{color:var(--deep-muted)}
.rc-band__lead{display:grid;gap:.85rem;justify-items:start;align-content:start}
.rc-band__eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;background:rgb(255 255 255/.12);color:#fff;font-weight:700;font-size:.875rem}
.rc-band__list{display:grid;gap:.6rem}
.rc-band__list li{display:flex;gap:.7rem;align-items:center;padding:.7rem .85rem;border-radius:var(--r-m);background:#0d5a6b;color:#fff;font-weight:700}
.rc-band__list .ic{flex:none;width:2rem;height:2rem;padding:.4rem;border-radius:10px;background:#fff;color:var(--deep)}
.rc-band__src{font-size:.875rem}
@media (min-width:900px){.rc-band__grid{grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:center}.rc-band__list{grid-template-columns:1fr 1fr}}

/* ---------- cards (top lists, reviews, comparisons, posts) ---------- */
.rc-grid{display:grid;gap:1.15rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}
.rc-grid--3{grid-template-columns:1fr}
@media (min-width:640px){.rc-grid--3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.rc-grid--3{grid-template-columns:repeat(3,1fr)}}
.rc-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-1);transition:border-color .18s,box-shadow .18s,transform .18s}
.rc-card:hover{border-color:var(--aqua-pale);box-shadow:var(--sh-2);transform:translateY(-2px)}
.rc-card__media{position:relative;aspect-ratio:16/10;background:var(--mist)}
.rc-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-card__media>.rc-kind,.rc-card__media>.rc-chip{position:absolute;left:.75rem;top:.75rem;box-shadow:0 2px 8px rgb(16 35 43/.12)}
.rc-card__media>.rc-fresh{position:absolute;right:.75rem;bottom:.75rem;background:#fff;box-shadow:0 2px 8px rgb(16 35 43/.12)}
.rc-card__body{display:flex;flex-direction:column;gap:.5rem;flex:1;padding:1rem 1.1rem 1.1rem}
.rc-card__body h3{font-size:1.08rem;line-height:1.3}
.rc-card__body h3 a{color:var(--ink);text-decoration:none}
.rc-card__body h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.rc-card:hover h3 a{color:var(--aqua-900)}
.rc-card__dek{color:var(--muted);font-size:.94rem;line-height:1.5}
.rc-card__foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .75rem;padding-top:.75rem;border-top:1px dashed var(--line);font-size:.875rem;color:var(--muted)}
.rc-card__go{display:inline-flex;align-items:center;gap:.25rem;color:var(--aqua-800);font:600 .9rem var(--display)}
/* horizontal post row */
.rc-row{position:relative;display:grid;grid-template-columns:5.5rem 1fr;gap:.9rem;align-items:center;padding:.65rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);transition:border-color .18s,box-shadow .18s}
.rc-row:hover{border-color:var(--aqua-pale);box-shadow:var(--sh-1)}
.rc-row img{width:5.5rem;height:5.5rem;border-radius:var(--r-m);object-fit:cover;background:var(--mist)}
.rc-row h3{font-size:1rem;line-height:1.32;margin:.3rem 0 .2rem}
.rc-row h3 a{color:var(--ink);text-decoration:none}
.rc-row h3 a::after{content:"";position:absolute;inset:0}
.rc-row:hover h3 a{color:var(--aqua-900)}
.rc-row p{font-size:.875rem;color:var(--muted);line-height:1.45}
@media (min-width:640px){.rc-row{grid-template-columns:7rem 1fr}.rc-row img{width:7rem;height:7rem}}

/* show more (native <details>, no script) */
.rc-showmore{margin-top:1.15rem}
.rc-showmore>summary{display:flex;justify-content:center}
.rc-showmore>summary>span{display:inline-flex;align-items:center;gap:.45rem;min-height:2.75rem;padding:.55rem 1.1rem;border-radius:var(--r-s);border:1.5px solid var(--line-2);background:#fff;color:var(--ink);font:600 .93rem var(--display)}
.rc-showmore>summary:hover>span{border-color:var(--aqua)}
.rc-showmore>summary .ic{transition:transform .2s}
.rc-showmore[open]>summary .ic{transform:rotate(45deg)}
.rc-showmore .when-open,.rc-showmore[open] .when-closed{display:none}
.rc-showmore[open] .when-open{display:inline}
.rc-showmore__body{margin-top:1.15rem}

/* ---------- category photo tiles ---------- */
.rc-cats{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:768px){.rc-cats{grid-template-columns:repeat(3,1fr);gap:1rem}}
@media (min-width:1180px){.rc-cats{grid-template-columns:repeat(6,1fr)}}
.rc-cat{position:relative;display:flex;flex-direction:column;padding:.45rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);text-decoration:none;box-shadow:var(--sh-1);transition:border-color .18s,box-shadow .18s,transform .18s}
.rc-cat:hover{border-color:var(--aqua-pale);box-shadow:var(--sh-2);transform:translateY(-2px)}
.rc-cat__img{position:relative;display:block;aspect-ratio:1/1;border-radius:var(--r-m);overflow:hidden;background:var(--mist)}
.rc-cat__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rc-cat:hover .rc-cat__img img{transform:scale(1.04)}
.rc-cat__img--low img{object-position:50% 90%}
.rc-cat__label{flex:1;display:grid;grid-template-columns:1fr auto;gap:0 .4rem;align-items:center;padding:.65rem .4rem .35rem;color:var(--ink)}
.rc-cat__label h3{font-size:.98rem;line-height:1.25}
.rc-cat__label small{grid-column:1;font-size:.8125rem;color:var(--muted)}
.rc-cat__label .ic{grid-row:1/3;grid-column:2;color:var(--aqua)}
.rc-more-cats{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1rem;color:var(--muted);font-size:.9rem}
/* on phones the "Also:" pills are one scrolling row that fades at its right edge (home and listings) */
@media (max-width:639.98px){.rc-more-cats{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut) * -1);padding:.2rem var(--gut) .6rem;scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.75rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 2.75rem),transparent)}.rc-more-cats>*{flex:none}}
/* a phone number, or a last word and its source chip, that must not break across lines */
.rc-nw{white-space:nowrap}

/* ---------- drawn media (ultrasonic pod): use in place of a photo where no honest stock photo exists ---------- */
.rc-art{display:grid;place-items:center;background:radial-gradient(circle at 28% 22%,#fff 0,rgb(255 255 255/0) 42%),linear-gradient(150deg,#d7f3f7 0,#f2fbfc 58%,#ece7fb 100%)}
.rc-art>svg{width:min(74%,22rem);height:auto;aspect-ratio:240/200}
.rc-art--pair{grid-template-columns:1fr 1fr;gap:.25rem;padding-inline:.75rem}
.rc-art--pair>svg{width:100%}
.rc-art--pair>svg:last-of-type{filter:hue-rotate(40deg) saturate(.8)}
.rc-cat__img.rc-art>svg{width:82%}
/* a single drawing in a card: pinned inside the 16:10 box so the card is as tall as its photo neighbours (builders 2 and 3) */
.rc-card__media.rc-art:not(.rc-art--pair)>svg{position:absolute;top:9%;left:50%;height:82%;width:auto;transform:translateX(-50%)}
.rc-card__media.rc-art--pair>svg{width:100%;height:auto}

/* ---------- reviews: lead review card with a word verdict, comparison card ---------- */
.rc-revgrid{display:grid;gap:1.15rem}
@media (min-width:1024px){.rc-revgrid{grid-template-columns:1.55fr 1fr}}
.rc-review{display:grid;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1)}
.rc-review__media{position:relative;min-height:14rem;background:var(--mist)}
.rc-review__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-review__body{container-type:inline-size;display:grid;gap:.85rem;align-content:start;padding:clamp(1.1rem,.8rem + 1vw,1.6rem)}
.rc-review__body h3{font-size:clamp(1.15rem,1rem + .5vw,1.4rem)}
.rc-review__body h3 a{color:var(--ink);text-decoration:none}
.rc-review__body h3 a:hover{color:var(--aqua-900)}
.rc-review__actions{display:flex;flex-wrap:wrap;gap:.55rem}
@container (max-width:27.99rem){.rc-review__body .rc-pc{grid-template-columns:1fr}}
@media (min-width:768px){.rc-review{grid-template-columns:.9fr 1.1fr}.rc-review__media{min-height:100%}}
/* the verdict, in words only (no score, no stars) */
.rc-seal{position:absolute;left:1rem;bottom:1rem;display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem .6rem .6rem;border-radius:var(--r-m);background:#fff;box-shadow:var(--sh-2);max-width:calc(100% - 2rem)}
.rc-seal__ico{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:12px;background:var(--aqua);color:#fff}
.rc-seal small{display:block;font-size:.8125rem;color:var(--muted);line-height:1.2}
.rc-seal b{font:600 1rem/1.25 var(--display)}
.rc-verdict{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;font:700 .8125rem/1.3 var(--body);white-space:nowrap}
.rc-verdict--yes{background:var(--aqua-tint);color:var(--aqua-900)}
.rc-verdict--mixed{background:var(--lav-tint);color:var(--lav)}
.rc-verdict--no{background:var(--rasp-tint);color:var(--rasp-800)}
/* spec chips */
.rc-specs{display:flex;flex-wrap:wrap;gap:.4rem}
.rc-spec{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border-radius:10px;background:var(--ground);border:1px solid var(--line);font-size:.84rem;font-weight:700;color:var(--ink);white-space:nowrap}
.rc-spec .ic{color:var(--aqua)}
/* what owners like / dislike (two short lists) */
.rc-pc{display:grid;gap:.75rem}
@media (min-width:560px){.rc-pc{grid-template-columns:1fr 1fr}}
.rc-pc__col{padding:.8rem .9rem;border-radius:var(--r-m);background:var(--ground)}
.rc-pc__col--con{background:#fdf5f9}
.rc-pc__col p{font:600 .9rem var(--display);color:var(--ink);margin-bottom:.4rem}
.rc-pc__col li{display:flex;gap:.45rem;align-items:flex-start;font-size:.9rem;line-height:1.45}
.rc-pc__col li+li{margin-top:.35rem}
.rc-pc__col li .ic{margin-top:.12rem;color:var(--aqua);stroke-width:2.6;width:1rem;height:1rem}
.rc-pc__col--con li .ic{color:var(--rasp)}
/* comparison card: two products, soak-time rings */
.rc-vs{position:relative;display:flex;flex-direction:column;gap:1rem;padding:clamp(1.1rem,.8rem + 1vw,1.5rem);border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1)}
.rc-vs__pair{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.rc-vs__side{display:grid;justify-items:center;gap:.4rem;padding:1rem .6rem .9rem;border-radius:var(--r-l);background:var(--ground);text-align:center}
.rc-vs__side b{font:600 .98rem/1.25 var(--display)}
.rc-vs__side small{font-size:.84rem;color:var(--muted);line-height:1.35}
.rc-vs__badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--rasp);color:#fff;font:600 .875rem var(--display);box-shadow:0 0 0 4px #fff}
.rc-ring{position:relative;width:5.25rem;height:5.25rem}
.rc-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.rc-ring b{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:600 1.25rem/1 var(--display);color:var(--ink)}
.rc-ring b small{display:block;font:700 .75rem var(--body);color:var(--muted);margin-top:.15rem}
.rc-vs__rows{display:grid}
.rc-vs__rows div{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--line);font-size:.9rem}
.rc-vs__rows dt{grid-column:1/-1;font:600 .8125rem var(--display);color:var(--muted)}
.rc-vs__rows dd{color:var(--ink);font-weight:700;line-height:1.35}
.rc-vs__note{display:flex;gap:.45rem;font-size:.875rem;color:var(--muted);line-height:1.45}
.rc-vs__note .ic{color:var(--lav);margin-top:.05rem}
.rc-vs h3 a{color:var(--ink);text-decoration:none}
.rc-vs h3 a:hover{color:var(--aqua-900)}

/* ---------- blog block + sidebar widgets ---------- */
.rc-blog{display:grid;gap:1.25rem}
@media (min-width:1024px){.rc-blog{grid-template-columns:minmax(0,1fr) 21rem;align-items:start}}
.rc-posts{display:grid;gap:.85rem}
.rc-postlead{position:relative;display:grid;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1)}
.rc-postlead__media{position:relative;aspect-ratio:16/9;background:var(--mist)}
.rc-postlead__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-postlead__body{display:grid;gap:.7rem;align-content:center;justify-items:start;padding:clamp(1.1rem,.8rem + 1vw,1.6rem)}
.rc-postlead h3{font-size:clamp(1.15rem,1rem + .55vw,1.45rem)}
.rc-postlead h3 a{color:var(--ink);text-decoration:none}
.rc-postlead h3 a:hover{color:var(--aqua-900)}
.rc-postlead__steps{display:flex;flex-wrap:wrap;gap:.4rem}
@media (min-width:768px){.rc-postlead{grid-template-columns:1fr 1fr}.rc-postlead__media{aspect-ratio:auto;min-height:100%}.rc-postlead__media img{position:absolute;inset:0}}
.rc-posts__list{display:grid;gap:.75rem}
@media (min-width:768px){.rc-posts__list{grid-template-columns:1fr 1fr}}
.rc-aside{display:grid;gap:1rem}
@media (min-width:768px) and (max-width:1023px){.rc-aside{grid-template-columns:1fr 1fr}.rc-aside>:last-child:nth-child(odd){grid-column:1/-1}}
.rc-widget{padding:1.1rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line)}
.rc-widget h3{display:flex;align-items:center;gap:.5rem;font-size:1.02rem;margin-bottom:.7rem}
.rc-widget h3 .ic{color:var(--aqua)}
.rc-widget--season{background:linear-gradient(160deg,#fff,var(--rasp-tint))}
.rc-widget--season h3 .ic{color:var(--rasp)}
.rc-cal{display:grid;gap:.5rem}
.rc-cal li{display:grid;grid-template-columns:3.1rem 1fr;gap:.65rem;align-items:center;font-size:.9rem;line-height:1.4}
.rc-cal li b{display:grid;place-items:center;height:2.6rem;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--line);font:600 .875rem var(--display);color:var(--ink)}
.rc-cal li.is-now b{background:var(--rasp);color:#fff;box-shadow:none}
.rc-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.rc-most{counter-reset:most;display:grid;gap:.15rem}
.rc-most li{counter-increment:most}
.rc-most a{display:grid;grid-template-columns:1.75rem 1fr;gap:.5rem;align-items:start;padding:.45rem 0;color:var(--ink);font-weight:700;font-size:.92rem;line-height:1.4;text-decoration:none}
.rc-most a::before{content:counter(most);display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:9px;background:var(--aqua-tint);color:var(--aqua-900);font:600 .84rem var(--display)}
.rc-most a:hover{color:var(--aqua-900);text-decoration:underline}

/* ---------- owner quotes ---------- */
.rc-voices{display:grid;gap:1.25rem;padding:clamp(1.25rem,.9rem + 1.6vw,2.5rem);border-radius:var(--r-xl);background:linear-gradient(150deg,#fff 0,var(--mist) 100%);border:1px solid var(--line)}
.rc-voices__intro{display:grid;gap:.75rem;align-content:start;justify-items:start}
.rc-voices__intro p{color:var(--muted)}
.rc-voices__note{display:flex;gap:.45rem;align-items:flex-start;font-size:.875rem;color:var(--text)}
.rc-voices__note .ic{color:var(--aqua);margin-top:.1rem}
.rc-voices__wall{display:grid;gap:.9rem}
@media (min-width:768px){.rc-voices__wall{grid-template-columns:1fr 1fr}.rc-say--lead{grid-row:span 2}}
@media (min-width:1100px){.rc-voices{grid-template-columns:19rem 1fr;gap:2rem}}
.rc-say{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:1.15rem 1.2rem 1.1rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1)}
.rc-say--lead{align-self:start}
.rc-say__mark{position:absolute;right:1rem;top:.9rem;width:2.4rem;height:2.4rem;color:var(--aqua-pale)}
.rc-say blockquote{font:400 1.02rem/1.55 var(--body);color:var(--ink)}
.rc-say--lead blockquote{font:500 clamp(1.1rem,1rem + .4vw,1.3rem)/1.5 var(--display);letter-spacing:-.01em}
.rc-say__ctx{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;padding:.2rem .6rem;border-radius:999px;background:var(--ground);font-size:.84rem;font-weight:700;color:var(--text)}
.rc-say__ctx .ic{color:var(--aqua)}
.rc-say figcaption{display:flex;align-items:center;gap:.65rem;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}
.rc-say figcaption b{display:block;color:var(--ink);font-size:.92rem}
.rc-say figcaption a{color:var(--aqua-800);font-weight:700}
.rc-say__who{display:grid;place-items:center;width:2.6rem;height:2.6rem;flex:none;border-radius:999px;background:var(--aqua-tint)}
.rc-say__who svg{width:1.9rem;height:1.6rem}

/* ---------- seasonal promos ---------- */
.rc-promos{display:grid;gap:1.15rem}
@media (min-width:1024px){.rc-promos{grid-template-columns:1.2fr 1fr}}
.rc-promo{position:relative;display:grid;overflow:hidden;border-radius:var(--r-xl);background:var(--rasp-tint);text-decoration:none;color:var(--text);border:1px solid var(--rasp-line);transition:box-shadow .18s,transform .18s}
.rc-promo:hover{box-shadow:var(--sh-2);transform:translateY(-2px);color:var(--text)}
.rc-promo--aqua{background:var(--aqua-tint);border-color:var(--mist-2)}
.rc-promo__media{position:relative;aspect-ratio:16/9;background:var(--mist)}
.rc-promo__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-promo__body{display:grid;gap:.6rem;align-content:center;justify-items:start;padding:clamp(1.1rem,.8rem + 1.2vw,1.75rem)}
.rc-promo__body h3{font-size:clamp(1.2rem,1rem + .7vw,1.55rem)}
.rc-promo__tiers{display:flex;flex-wrap:wrap;gap:.4rem}
.rc-promo__tiers span{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;background:#fff;font-size:.84rem;font-weight:700;color:var(--ink)}
.rc-promo__tiers .ic{color:var(--rasp)}
.rc-promo--aqua .rc-promo__tiers .ic{color:var(--aqua)}
.rc-promo__cta{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:.55rem 1rem;border-radius:var(--r-s);background:var(--rasp);color:#fff;font:600 .9rem var(--display)}
.rc-promo--aqua .rc-promo__cta{background:var(--aqua)}
@media (min-width:640px){.rc-promo{grid-template-columns:.95fr 1.05fr}.rc-promo__media{aspect-ratio:auto;min-height:15rem}.rc-promo__media img{position:absolute;inset:0}}

/* ---------- how we pick + money box ---------- */
.rc-method{display:grid;gap:1.25rem}
@media (min-width:1024px){.rc-method{grid-template-columns:.9fr 1.1fr;align-items:stretch}}
.rc-method__photo{position:relative;min-height:16rem;border-radius:var(--r-xl);overflow:hidden;background:var(--mist)}
.rc-method__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-method__note{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;gap:.6rem;align-items:center;padding:.75rem .9rem;border-radius:var(--r-m);background:#fff;box-shadow:var(--sh-2);font-size:.9rem;line-height:1.4;color:var(--ink)}
.rc-method__note .ic{color:var(--aqua);width:1.6rem;height:1.6rem}
.rc-steps{display:grid;gap:.75rem;counter-reset:step}
@media (min-width:640px){.rc-steps{grid-template-columns:1fr 1fr}}
.rc-step{counter-increment:step;display:grid;gap:.4rem;align-content:start;padding:1rem 1.05rem 1.1rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line)}
.rc-step__top{display:flex;align-items:center;justify-content:space-between}
.rc-step__ico{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:13px;background:var(--aqua-tint);color:var(--aqua-800)}
.rc-step__top::after{content:"0" counter(step);font:600 1.25rem var(--display);color:var(--aqua)}
.rc-step h3{font-size:1.02rem}
.rc-step p{font-size:.92rem;color:var(--muted);line-height:1.5}
.rc-money{display:grid;gap:.9rem;align-items:center;margin-top:1.15rem;padding:1.1rem 1.2rem;border-radius:var(--r-l);background:#fff;border:1.5px dashed var(--rasp-line)}
.rc-money__ico{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:var(--rasp-tint);color:var(--rasp-800)}
.rc-money b{font:600 1.05rem var(--display)}
.rc-money p{font-size:.94rem;margin-top:.2rem}
@media (min-width:768px){.rc-money{grid-template-columns:auto 1fr auto}}

/* ---------- FAQ + ask card ---------- */
.rc-faqwrap{display:grid;gap:1.25rem}
@media (min-width:1024px){.rc-faqwrap{grid-template-columns:minmax(0,1fr) 20rem;align-items:start}}
.rc-faq{display:grid;gap:.6rem}
.rc-faq details{border-radius:var(--r-l);background:#fff;border:1px solid var(--line);transition:border-color .18s,box-shadow .18s}
.rc-faq details[open]{border-color:var(--aqua-pale);box-shadow:var(--sh-1)}
.rc-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.25rem;padding:.8rem 1rem .8rem 1.15rem;font:600 1rem/1.35 var(--display);color:var(--ink)}
.rc-faq summary .ic{flex:none;width:2rem;height:2rem;padding:.4rem;border-radius:999px;background:var(--aqua-tint);color:var(--aqua-800);transition:transform .2s,background .2s}
.rc-faq details[open] summary .ic{transform:rotate(45deg);background:var(--aqua);color:#fff}
.rc-faq details>div{padding:0 1.15rem 1.1rem;color:var(--text)}
.rc-faq details>div p+p{margin-top:.5rem}
.rc-ask{position:relative;display:grid;gap:.75rem;justify-items:start;padding:1.35rem;border-radius:var(--r-xl);background:linear-gradient(160deg,var(--aqua-tint),#fff 75%);border:1px solid var(--mist-2);overflow:hidden}
.rc-ask__art{width:6.5rem;height:auto}
.rc-ask p{color:var(--text)}

/* ---------- misc ---------- */
.rc-note-line{display:flex;gap:.5rem;align-items:flex-start;font-size:.875rem;color:var(--muted);margin-top:1rem}
.rc-note-line .ic{color:var(--aqua);margin-top:.1rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- breadcrumb (every page except home; article and listing pages alike) ---------- */
.rc-crumbs{padding-block:1rem .25rem}
.rc-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .35rem;font-size:.875rem;color:var(--muted)}
.rc-crumbs li{display:inline-flex;align-items:center;gap:.35rem}
.rc-crumbs li+li::before{content:"";width:.45rem;height:.45rem;border-top:1.5px solid var(--line-2);border-right:1.5px solid var(--line-2);transform:rotate(45deg);margin-right:.2rem}
.rc-crumbs a{display:inline-flex;align-items:center;gap:.3rem;min-height:2.25rem;color:var(--aqua-800);font-weight:700;text-decoration:none}
.rc-crumbs a:hover{text-decoration:underline}
.rc-crumbs [aria-current]{color:var(--text)}
@media (max-width:767px){.rc-crumbs a{min-height:2.75rem}}
/* an odd last card in a two-column grid lies down across the row (tablets) */
@media (min-width:640px) and (max-width:1023px){
  .rc-grid--3>.rc-card:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row}
  .rc-grid--3>.rc-card:last-child:nth-child(odd)>.rc-card__media{flex:0 0 45%;aspect-ratio:auto;min-height:13rem}
}

/* =====================================================================================================
   Components added in round 2 (homepage, free for any page). The classes above are unchanged.
   ===================================================================================================== */

/* how a guide is made: four steps in one flow, then the money line */
.rc-made{display:grid;gap:1.1rem;padding:clamp(1.1rem,.8rem + 1.4vw,2rem);border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1)}
.rc-made__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem}
.rc-made__head h2{font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem)}
.rc-made__head p{color:var(--muted)}
.rc-made__flow{display:grid;gap:.65rem}
@media (min-width:640px){.rc-made__flow{grid-template-columns:1fr 1fr}}
.rc-made__step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;align-content:start;padding:.85rem .9rem;border-radius:var(--r-l);background:var(--ground)}
.rc-made__ico{grid-row:1/4;position:relative;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:14px;background:#fff;color:var(--aqua-800);box-shadow:0 0 0 1px var(--line)}
.rc-made__no{position:absolute;right:-.4rem;top:-.4rem;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:var(--aqua);color:#fff;font:600 .75rem var(--display)}
.rc-made__step b{font:600 1rem/1.3 var(--display)}
.rc-made__step p{font-size:.9rem;color:var(--text);line-height:1.45}
.rc-made__step .rc-srcs{margin-top:.25rem}
@media (min-width:1024px){
  .rc-made__flow{grid-template-columns:repeat(4,1fr);gap:0}
  .rc-made__step{background:none;border-radius:0;padding:.35rem 1.4rem .35rem 1.2rem}
  .rc-made__step:first-child{padding-left:0}
  .rc-made__step+.rc-made__step{border-left:1px dashed var(--line-2)}
  .rc-made__step+.rc-made__step::before{content:"";position:absolute;left:-.42rem;top:1rem;width:.75rem;height:.75rem;background:#fff;border-top:2px solid var(--aqua-pale);border-right:2px solid var(--aqua-pale);transform:rotate(45deg)}
}
.rc-made__money{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.8rem 1rem;border-radius:var(--r-l);border:1.5px dashed var(--rasp-line);background:#fff}
.rc-made__money>.ic{color:var(--rasp)}
.rc-made__money p{flex:1 1 20rem;font-size:.93rem;line-height:1.5}
.rc-made__money a{font-weight:700;color:var(--rasp-800)}

/* which cleaner fits which retainer: a table with a tray drawing in each row head */
.rc-table.rc-fit{min-width:52rem}
.rc-fit thead th:first-child{min-width:12rem}
.rc-fit__type{display:flex;align-items:center;gap:.6rem}
.rc-fit__type svg{width:3rem;height:2.4rem;flex:none;padding:.2rem;border-radius:10px;background:var(--ground)}
.rc-fit__type small{display:block;font:400 .8125rem var(--body);color:var(--muted)}
.rc-fit td{font-size:.9rem;line-height:1.45;color:var(--ink)}
.rc-fit td .rc-src{display:table;margin-top:.35rem}
.rc-fit__na{color:var(--muted)}
.rc-fit thead th .ic{color:var(--aqua);vertical-align:-3px;margin-right:.3rem}

/* ultrasonic shortlist: three pick cards with their own drawings (a rail on phones) */
.rc-short{display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gut) * -1);padding:.25rem var(--gut) 1rem;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.rc-short__pick{position:relative;flex:0 0 min(17.5rem,80%);scroll-snap-align:start;display:flex;flex-direction:column;border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1);overflow:hidden}
.rc-short__pick--top{border-color:var(--aqua-pale);box-shadow:var(--sh-2)}
.rc-short__art{position:relative;aspect-ratio:16/11}
.rc-short__art>svg{position:absolute;top:10%;left:50%;height:82%;width:auto;transform:translateX(-50%)}
.rc-short__rank{position:absolute;left:.85rem;top:.85rem;z-index:1;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:14px;background:#fff;color:var(--aqua-900);font:600 1.2rem var(--display);box-shadow:0 0 0 1.5px var(--line-2)}
.rc-short__pick--top .rc-short__rank{background:var(--aqua);color:#fff;box-shadow:none}
.rc-short__art .rc-chip{position:absolute;right:.85rem;top:.95rem;z-index:1}
.rc-short__body{display:flex;flex-direction:column;gap:.55rem;flex:1;padding:1rem 1.1rem 1.15rem}
.rc-short__body h3{font-size:1.12rem}
.rc-short__body h3 a{color:var(--ink);text-decoration:none}
.rc-short__body h3 a:hover{color:var(--aqua-900);text-decoration:underline}
.rc-short__for{font-size:.92rem;color:var(--muted);line-height:1.45}
.rc-short__body .rc-btn{margin-top:auto}
@media (min-width:768px){.rc-short{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;margin-inline:0;padding:0}}
.rc-short-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-top:1rem}

/* the core guides: review, comparison and how-to as three cards with different visuals */
.rc-core{display:grid;gap:1rem}
@media (min-width:640px) and (max-width:1023px){.rc-core{grid-template-columns:1fr 1fr}.rc-core>:first-child{grid-column:1/-1;flex-direction:row}.rc-core>:first-child>.rc-core__top{flex:0 0 42%}}
@media (min-width:1024px){.rc-core{grid-template-columns:repeat(3,1fr)}}
.rc-core__card{position:relative;display:flex;flex-direction:column;border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1);overflow:hidden}
.rc-core__top{position:relative;min-height:12.5rem;background:var(--mist)}
.rc-core__top>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-core__top.rc-art>svg{position:absolute;top:7%;left:50%;height:62%;width:auto;transform:translateX(-50%)}
.rc-core__top .rc-seal{left:50%;transform:translateX(-50%);bottom:.85rem;white-space:nowrap}
.rc-core__top .rc-vs__pair{position:absolute;inset:1rem}
.rc-core__top .rc-vs__side{background:#fff;align-content:center}
.rc-core__body{display:flex;flex-direction:column;gap:.65rem;flex:1;padding:1.05rem 1.15rem 1.15rem}
.rc-core__body h3{font-size:1.1rem;line-height:1.3}
.rc-core__body h3 a{color:var(--ink);text-decoration:none}
.rc-core__body h3 a:hover{color:var(--aqua-900);text-decoration:underline}
.rc-core__line{display:flex;gap:.45rem;align-items:flex-start;font-size:.92rem;line-height:1.45}
.rc-core__line .ic{width:1rem;height:1rem;margin-top:.2rem;stroke-width:2.6;color:var(--aqua)}
.rc-core__line--con .ic{color:var(--rasp)}
.rc-core__foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.6rem}

/* more guides: labelled columns of compact rows */
.rc-guides{display:grid;gap:1.25rem}
@media (min-width:768px){.rc-guides{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.rc-guides{grid-template-columns:repeat(3,1fr)}}
@media (min-width:768px) and (max-width:1099px){.rc-guides>:last-child:nth-child(odd){grid-column:1/-1}.rc-guides>:last-child:nth-child(odd) .rc-guides__list{grid-template-columns:1fr 1fr}}
.rc-guides__col{display:grid;gap:.6rem;align-content:start}
.rc-guides__label{display:flex;align-items:center;gap:.5rem;font:600 1.02rem var(--display);color:var(--ink)}
.rc-guides__label .ic{width:2rem;height:2rem;padding:.4rem;border-radius:10px;background:var(--aqua-tint);color:var(--aqua-800)}
.rc-guides__list{display:grid;gap:.6rem}
.rc-row__art{display:grid;place-items:center;width:5.5rem;height:5.5rem;border-radius:var(--r-m)}
.rc-row__art>svg{width:84%;height:auto}
@media (min-width:640px){.rc-row__art{width:7rem;height:7rem}}
.rc-guides .rc-row{grid-template-columns:4.5rem 1fr;padding:.55rem}
.rc-guides .rc-row img,.rc-guides .rc-row__art{width:4.5rem;height:4.5rem}

/* owner quotes as three equal cards, the tray avatar large */
.rc-voices--row{grid-template-columns:1fr!important}
.rc-voices--row .rc-voices__wall{grid-template-columns:1fr}
@media (min-width:768px){.rc-voices--row .rc-voices__wall{grid-template-columns:repeat(3,1fr)}}
.rc-say__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.rc-say__top .rc-say__who{width:3.6rem;height:3.6rem}
.rc-say__top .rc-say__who svg{width:2.7rem;height:2.2rem}

/* this season: one banner and a three-season calendar (mockup.js marks the current row .is-now) */
.rc-season{display:grid;gap:1rem}
@media (min-width:1024px){.rc-season{grid-template-columns:1.45fr 1fr;align-items:stretch}}
.rc-season__cal{display:grid;gap:.6rem;align-content:start;padding:1.15rem;border-radius:var(--r-xl);background:#fff;border:1px solid var(--line)}
.rc-season__cal h3{display:flex;align-items:center;gap:.5rem;font-size:1.08rem}
.rc-season__cal h3 .ic{color:var(--aqua)}
.rc-season__row{display:grid;grid-template-columns:6.25rem 1fr;gap:.75rem;align-items:center;padding:.6rem .7rem;border-radius:var(--r-m);background:var(--ground);text-decoration:none;color:var(--ink)}
.rc-season__row b{display:grid;place-items:center;min-height:2.6rem;padding:0 .4rem;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--line);font:600 .84rem/1.2 var(--display);text-align:center}
.rc-season__row span{font-size:.92rem;line-height:1.4}
.rc-season__row span small{display:block;color:var(--muted);font-size:.84rem}
.rc-season__row.is-now{background:var(--rasp-tint)}
.rc-season__row.is-now b{background:var(--rasp);color:#fff;box-shadow:none}
a.rc-season__row:hover span{text-decoration:underline}

/* "which cleaner fits your appliance?": a small chooser built on the tray drawings */
.rc-chooser{display:grid;gap:.75rem;align-content:start;padding:1.2rem;border-radius:var(--r-xl);background:linear-gradient(160deg,var(--aqua-tint),#fff 70%);border:1px solid var(--mist-2)}
.rc-chooser h3{font-size:1.1rem}
.rc-chooser>p{font-size:.92rem;color:var(--text)}
.rc-chooser__list{display:grid;gap:.45rem}
.rc-chooser__list a{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;min-height:3.25rem;padding:.45rem .65rem;border-radius:var(--r-m);background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.rc-chooser__list a:hover{border-color:var(--aqua)}
.rc-chooser__list .rc-tray{width:2.7rem;height:2.2rem}
.rc-chooser__list b{font:600 .95rem/1.25 var(--display)}
.rc-chooser__list small{display:block;font-size:.8125rem;color:var(--muted)}
.rc-chooser__list .ic{color:var(--aqua)}

/* the do / don't matrix on phones: two compact columns */
@media (max-width:559px){
  .rc-safe{grid-template-columns:1fr 1fr;gap:.5rem}
  .rc-safe__item{grid-template-columns:1fr;gap:.3rem;padding:.7rem .7rem .75rem}
  .rc-safe__ico{display:none}
  .rc-safe__top{grid-template-columns:1fr;gap:.3rem}
  .rc-safe__top .rc-mark{justify-self:start;order:-1}
  .rc-safe__top b{font-size:.94rem}
  .rc-safe__item p{font-size:.84rem;line-height:1.4}
}

/* the scrolling table (copied from article.css so the homepage's .rc-fit table works without it; keep both in step) */

.rc-tablewrap{position:relative;overflow-x:auto;border-radius:var(--r-l);border:1px solid var(--line);background:#fff;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.rc-table{width:100%;min-width:40rem;border-collapse:separate;border-spacing:0;font-size:.92rem}
.rc-table caption{caption-side:top;text-align:left;padding:.85rem 1rem .25rem;font:600 1rem var(--display);color:var(--ink)}
.rc-table th,.rc-table td{padding:.7rem .85rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.rc-table thead th{position:sticky;top:0;background:var(--ground);font:600 .84rem var(--display);color:var(--ink);white-space:nowrap}
.rc-table tbody th{position:sticky;left:0;z-index:1;background:#fff;font:600 .92rem var(--display);color:var(--ink);min-width:10rem;box-shadow:1px 0 0 var(--line)}
.rc-table tbody tr:nth-child(even) td,.rc-table tbody tr:nth-child(even) th{background:#f8fdfe}
.rc-table tbody tr:last-child>*{border-bottom:0}
.rc-table td small{display:block;color:var(--muted);font-size:.8125rem}
.rc-yes,.rc-no{display:inline-flex;align-items:center;gap:.3rem;font-weight:700}
.rc-yes{color:var(--aqua-900)}.rc-no{color:var(--rasp-800)}
.rc-yes .ic,.rc-no .ic{width:1rem;height:1rem;stroke-width:2.6}
.rc-table-hint{display:flex;align-items:center;gap:.4rem;margin-top:.45rem;font-size:.8125rem;color:var(--muted)}
@media (min-width:900px){.rc-table-hint{display:none}}

@media (max-width:559px){
  .rc-table.rc-fit tbody th,.rc-fit thead th:first-child{min-width:8.25rem}
  .rc-fit__type{gap:.45rem}
  .rc-fit__type svg{width:2.2rem;height:1.8rem}
}
/* phone rails keep the page gutter when they snap (review r2) */
.rc-types,.rc-short{scroll-padding-inline:var(--gut)}

/* =====================================================================================================
   Tidy pass (2026-10-18, home scope). Added for any page; nothing above changed.
   ===================================================================================================== */
/* a closed <details> for secondary detail (a table, long notes): one full-width row with a chevron, no script.
   <details class="rc-reveal"><summary><span><svg class="ic">…</svg>Label</span><svg class="ic"><use href="#i-down"/></svg></summary>
   <div class="rc-reveal__body">…</div></details> */
.rc-reveal{margin-top:1rem;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);transition:border-color .18s,box-shadow .18s}
.rc-reveal[open]{border-color:var(--aqua-pale);box-shadow:var(--sh-1)}
.rc-reveal>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3rem;padding:.55rem .75rem .55rem 1rem;font:600 .98rem/1.3 var(--display);color:var(--ink)}
.rc-reveal>summary:hover{color:var(--aqua-900)}
.rc-reveal>summary>span{display:inline-flex;align-items:center;gap:.55rem}
.rc-reveal>summary>span>.ic{color:var(--aqua)}
.rc-reveal>summary>.ic{flex:none;width:2rem;height:2rem;padding:.4rem;border-radius:999px;background:var(--aqua-tint);color:var(--aqua-800);transition:transform .2s,background .2s}
.rc-reveal[open]>summary>.ic{transform:rotate(180deg);background:var(--aqua);color:#fff}
.rc-reveal__body{padding:0 1rem 1rem}
