:root{
  --rl-ink:#17201b;
  --rl-muted:#667067;
  --rl-line:#dfe4df;
  --rl-paper:#fbfbf8;
  --rl-soft:#f0f2ec;
  --rl-moss:#3f5a46;
  --rl-moss-dark:#293c30;
  --rl-clay:#9a6d52;
  --rl-sand:#ddd1bd;
  --rl-white:#fff;
  --rl-radius:18px;
  --rl-shadow:0 18px 55px rgba(24,34,28,.08);
}

body{background:var(--rl-paper);color:var(--rl-ink)}
.ast-container{max-width:none;padding-left:0;padding-right:0}
.site-content .ast-container{display:block}
.entry-content{margin:0}
.entry-content>.rl-home,.entry-content>.rl-page{margin-top:-1px}
.entry-header,.ast-single-post .entry-header{display:none}

.rl-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.rl-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:750;font-size:.76rem;color:var(--rl-clay);margin:0 0 14px}
.rl-hero{padding:88px 0 72px;background:linear-gradient(135deg,#f7f4ed 0%,#eef2eb 55%,#e2e9df 100%);overflow:hidden;border-bottom:1px solid var(--rl-line)}
.rl-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:64px;align-items:center}
.rl-hero h1{font-size:clamp(3rem,6vw,5.7rem);line-height:.96;letter-spacing:-.055em;max-width:820px;margin:0 0 26px;color:var(--rl-ink)}
.rl-hero__lede{font-size:clamp(1.15rem,2vw,1.36rem);line-height:1.65;color:#3f4941;max-width:760px}
.rl-hero__note{font-size:.92rem;color:var(--rl-muted);max-width:680px;margin-top:24px}
.rl-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
.rl-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;background:var(--rl-moss-dark);color:#fff!important;text-decoration:none!important;font-weight:720;border:1px solid var(--rl-moss-dark);transition:.18s ease}
.rl-button:hover{transform:translateY(-1px);background:#1f3026}
.rl-button--ghost{background:transparent;color:var(--rl-moss-dark)!important}
.rl-button--ghost:hover{background:rgba(255,255,255,.55)}
.rl-hero__visual{position:relative;min-height:430px}
.rl-ring{position:absolute;inset:18px 5% 10px 12%;border:1px solid rgba(63,90,70,.22);border-radius:50%;transform:rotate(-14deg)}
.rl-stone{position:absolute;border-radius:45% 55% 58% 42%/52% 40% 60% 48%;box-shadow:0 26px 58px rgba(39,54,44,.18),inset -22px -24px 42px rgba(0,0,0,.12),inset 12px 12px 28px rgba(255,255,255,.34)}
.rl-stone--one{width:210px;height:180px;left:12%;top:24%;background:radial-gradient(circle at 35% 28%,#d8c3a5,#97785c 52%,#655447)}
.rl-stone--two{width:155px;height:138px;right:8%;top:8%;background:radial-gradient(circle at 35% 30%,#aab8a5,#5f765f 55%,#314433);transform:rotate(26deg)}
.rl-stone--three{width:178px;height:150px;right:16%;bottom:8%;background:radial-gradient(circle at 32% 30%,#dfd7ca,#9c9083 54%,#655f5a);transform:rotate(-19deg)}

.rl-section{padding:84px 0}
.rl-section--soft{background:var(--rl-soft);border-block:1px solid var(--rl-line)}
.rl-section--dark{background:#1c2820;color:#eef2ed}
.rl-section--dark .rl-eyebrow{color:#c9a98f}
.rl-section--dark h2{color:#fff}
.rl-section--dark p{color:#d9e0da}
.rl-section--dark a{color:#fff}
.rl-section h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.06;letter-spacing:-.035em;margin:0 0 18px;max-width:850px;color:var(--rl-ink)}
.rl-sectionlede{font-size:1.14rem;color:var(--rl-muted);max-width:760px;margin:0 0 36px}
.rl-grid{display:grid;gap:18px;margin-top:34px}
.rl-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rl-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rl-card{background:rgba(255,255,255,.78);border:1px solid var(--rl-line);border-radius:var(--rl-radius);padding:28px;box-shadow:0 1px 0 rgba(255,255,255,.75) inset;transition:.18s ease}
.rl-card:hover{transform:translateY(-3px);box-shadow:var(--rl-shadow)}
.rl-card__icon{width:48px;height:48px;border-radius:14px;background:#edf0e8;display:grid;place-items:center;margin-bottom:24px}
.rl-card__icon svg{width:27px;height:27px;fill:none;stroke:var(--rl-moss);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rl-card h3{font-size:1.28rem;margin:0 0 10px;color:var(--rl-ink)}
.rl-card p{color:var(--rl-muted);line-height:1.65;margin:0 0 18px}
.rl-card__link,.rl-textlink{font-weight:720;color:var(--rl-moss-dark)!important;text-decoration:none!important}
.rl-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:56px;align-items:start}
.rl-split p{font-size:1.05rem;line-height:1.76}
.rl-checklist,.rl-mini-tool{background:#fff;border:1px solid var(--rl-line);border-radius:var(--rl-radius);padding:30px;box-shadow:var(--rl-shadow)}
.rl-checklist h3{margin-top:0}
.rl-checklist li{margin:.65em 0;color:#485149}

.rl-pagehero{padding:72px 0 52px;background:linear-gradient(180deg,#f1f3ed,#fbfbf8);border-bottom:1px solid var(--rl-line)}
.rl-pagehero h1{font-size:clamp(2.55rem,5.6vw,4.9rem);line-height:1;letter-spacing:-.052em;max-width:940px;margin:0 0 20px;color:var(--rl-ink)}
.rl-lede{font-size:1.22rem;line-height:1.65;color:#4b564d;max-width:850px;margin:0}
.rl-content{max-width:920px;padding-top:64px;padding-bottom:90px}
.rl-content h2{font-size:clamp(1.75rem,3.4vw,2.6rem);line-height:1.15;letter-spacing:-.03em;margin:2.1em 0 .65em;color:var(--rl-ink)}
.rl-content h3{font-size:1.32rem;margin:1.7em 0 .5em;color:var(--rl-ink)}
.rl-content p,.rl-content li{font-size:1.05rem;line-height:1.78;color:#38433b}
.rl-content a{color:var(--rl-moss-dark);font-weight:650;text-decoration-thickness:1px;text-underline-offset:3px}
.rl-content ul,.rl-content ol{padding-left:1.35rem}
.rl-prosegrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}
.rl-prosegrid>div{border:1px solid var(--rl-line);border-radius:16px;padding:22px;background:#fff}
.rl-prosegrid h3{margin-top:0}

.rl-tool{border:1px solid var(--rl-line);border-radius:16px;padding:24px;background:#fff}
.rl-tool h2{font-size:1.45rem!important;margin:0 0 10px!important}
.rl-tool label{display:block;font-weight:700;margin-top:14px;margin-bottom:6px}
.rl-tool select{width:100%;min-height:44px;border:1px solid #cfd6cf;border-radius:10px;padding:0 10px;background:#fff}
.rl-tool button{margin-top:16px;border:0;border-radius:999px;padding:12px 18px;background:var(--rl-moss-dark);color:#fff;font-weight:700;cursor:pointer}
.rl-tool__result{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--rl-soft);color:var(--rl-ink)}

.site-header{border-bottom:1px solid var(--rl-line);background:rgba(251,251,248,.95)}
.site-title a{font-weight:800;letter-spacing:-.025em;color:var(--rl-ink)!important}
.main-header-menu>.menu-item>a{font-weight:650;color:#314038!important}
.site-footer{border-top:1px solid var(--rl-line)}

@media(max-width:980px){
  .rl-hero__grid,.rl-split{grid-template-columns:1fr}
  .rl-hero__visual{min-height:320px;max-width:520px;width:100%;margin:0 auto}
  .rl-grid--3{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .rl-shell{width:min(100% - 28px,1180px)}
  .rl-hero{padding:62px 0 52px}
  .rl-hero h1{font-size:clamp(2.75rem,15vw,4.2rem)}
  .rl-hero__visual{min-height:260px}
  .rl-stone--one{width:160px;height:135px}
  .rl-stone--two{width:116px;height:106px}
  .rl-stone--three{width:128px;height:112px}
  .rl-section{padding:62px 0}
  .rl-grid--3,.rl-grid--2,.rl-prosegrid{grid-template-columns:1fr}
  .rl-pagehero{padding:54px 0 40px}
  .rl-content{padding-top:44px;padding-bottom:70px}
}


/* v0.3 — Astra integration polish */
body.page .site-content > .ast-container,
body.page .site-content .ast-container{
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.page #primary,
body.page .content-area{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.page .site-main,
body.page .ast-article-single,
body.page .entry-content{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}

/* Fix dark-section heading specificity from v0.2. */
.rl-section.rl-section--dark h2,
.rl-section--dark .rl-split h2{
  color:#fff!important;
}
.rl-section.rl-section--dark p{color:#d9e0da!important}
.rl-section.rl-section--dark a{color:#fff!important}

/* Compact development header; final logo/brand will replace the text later. */
.site-header{background:rgba(251,251,248,.97)!important}
.ast-primary-header-bar{
  min-height:72px;
  border-bottom:1px solid var(--rl-line)!important;
}
.ast-primary-header-bar .site-primary-header-wrap{
  width:min(1280px,calc(100% - 36px));
  max-width:1280px!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.site-title{font-size:1.18rem!important;line-height:1.15!important;margin:0!important}
.site-title a{font-weight:800!important;letter-spacing:-.025em!important;white-space:nowrap;color:var(--rl-ink)!important}
.site-description{display:none!important}
.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu > .menu-item > .menu-link{
  font-size:.93rem!important;
  font-weight:650!important;
  padding-left:10px!important;
  padding-right:10px!important;
}

/* The custom project footer replaces Astra's default "Powered by" footer. */
.site-footer{display:none!important}
.rl-site-footer{
  background:#f6f5f0;
  border-top:1px solid var(--rl-line);
  color:#455047;
  padding:42px 0 24px;
}
.rl-site-footer__inner{
  display:grid;
  grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);
  gap:36px;
  align-items:start;
}
.rl-site-footer__brand{display:flex;flex-direction:column;gap:7px}
.rl-site-footer__brand strong{font-size:1.05rem;color:var(--rl-ink)}
.rl-site-footer__brand span{font-size:.92rem;line-height:1.55;color:var(--rl-muted);max-width:430px}
.rl-site-footer__nav{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:flex-end}
.rl-site-footer__nav a{color:#34473a!important;text-decoration:none!important;font-size:.92rem;font-weight:650}
.rl-site-footer__nav a:hover{text-decoration:underline!important;text-underline-offset:3px}
.rl-site-footer__bottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid var(--rl-line);
  font-size:.82rem;
  color:#737b74;
}

@media(max-width:1100px){
  .ast-builder-menu-1 .menu-item > .menu-link,
  .main-header-menu > .menu-item > .menu-link{padding-left:7px!important;padding-right:7px!important;font-size:.88rem!important}
  .site-title{font-size:1.05rem!important}
}
@media(max-width:921px){
  .ast-primary-header-bar .site-primary-header-wrap{width:min(100% - 28px,1280px)}
}
@media(max-width:760px){
  .rl-site-footer__inner{grid-template-columns:1fr}
  .rl-site-footer__nav{justify-content:flex-start}
  .rl-site-footer__bottom{flex-direction:column}
}

/* v0.4 — unified hub-page reading grid + approved homepage hero image */

/* Keep body copy visually connected to the page hero instead of recentering it
   as a separate narrow column. */
.rl-content{
  max-width:none;
  padding-top:52px;
  padding-bottom:90px;
}
.rl-content > h2,
.rl-content > h3,
.rl-content > p,
.rl-content > ul,
.rl-content > ol{
  max-width:880px;
}
.rl-content > h2:first-child{
  margin-top:0;
}
.rl-content > .rl-prosegrid,
.rl-content > .rl-grid,
.rl-content > .rl-machine-grid,
.rl-content > .rl-tool{
  max-width:980px;
}

/* Scan-friendly machine choice on the Rock Tumblers hub. */
.rl-machine-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:26px 0 12px;
}
.rl-machine-card{
  background:#fff;
  border:1px solid var(--rl-line);
  border-radius:18px;
  padding:26px;
}
.rl-machine-card__label{
  margin:0 0 10px!important;
  color:var(--rl-clay)!important;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.72rem!important;
  line-height:1.2!important;
  font-weight:780;
}
.rl-machine-card h3{
  margin:0 0 10px;
  font-size:1.35rem;
}
.rl-machine-card p:last-child{
  margin-bottom:0;
}

/* Approved homepage visual. The source image is compressed to WebP and lives
   inside the plugin, so the development site does not depend on a temporary
   Media Library URL. */
.rl-hero__visual{
  min-height:455px;
  border-radius:26px;
  background-image:url('../images/home-rock-tumbler-hero.webp');
  background-size:cover;
  background-position:66% center;
  background-repeat:no-repeat;
  box-shadow:0 24px 60px rgba(39,54,44,.12);
  border:1px solid rgba(71,88,74,.12);
  overflow:hidden;
}
.rl-hero__visual .rl-stone,
.rl-hero__visual .rl-ring{
  display:none!important;
}

@media(max-width:980px){
  .rl-content{padding-top:46px}
  .rl-hero__visual{min-height:430px;max-width:620px;background-position:64% center}
}
@media(max-width:680px){
  .rl-content{padding-top:38px;padding-bottom:70px}
  .rl-machine-grid{grid-template-columns:1fr}
  .rl-machine-card{padding:22px}
  .rl-hero__visual{min-height:330px;border-radius:20px;background-position:67% center}
}

/* v0.5 — hero balance + affiliate product system */
@media(min-width:981px){
  .rl-hero__grid{grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);gap:70px;align-items:center}
  .rl-hero__visual{min-height:505px;transform:translateY(-10px)}
}
.rl-affiliate-note,.rl-research-note{
  max-width:980px;
  border:1px solid var(--rl-line);
  border-radius:14px;
  padding:16px 18px;
  margin:0 0 16px;
  font-size:.96rem;
  line-height:1.6;
  background:#fff;
  color:#465249;
}
.rl-research-note{background:#f4f5ef}
.rl-affiliate-note a,.rl-research-note a{color:var(--rl-moss-dark)!important;font-weight:700}
.rl-product-card{
  max-width:980px;
  border:1px solid var(--rl-line);
  border-radius:20px;
  background:#fff;
  padding:28px;
  margin:24px 0;
  box-shadow:0 12px 34px rgba(40,55,45,.06);
}
.rl-product-card__top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);gap:28px;align-items:start}
.rl-product-badge{display:inline-flex;align-items:center;border-radius:999px;background:#edf0e8;color:#355040;padding:7px 10px;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.rl-product-card h3{font-size:1.75rem;margin:0 0 10px;color:var(--rl-ink)}
.rl-product-best{font-size:1rem!important;line-height:1.6!important;margin:0!important;color:#48534b!important}
.rl-product-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rl-product-facts span{display:flex;flex-direction:column;gap:4px;background:#f6f6f1;border-radius:12px;padding:12px 14px;font-size:.92rem;color:#455047}
.rl-product-facts strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#758077}
.rl-product-card__body{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px;padding-top:22px;border-top:1px solid var(--rl-line)}
.rl-product-card__body h4{margin:0 0 10px;font-size:1.02rem;color:var(--rl-ink)}
.rl-product-card__body ul{margin:0;padding-left:1.2rem}
.rl-product-card__body li{font-size:.98rem;line-height:1.62;margin:.42rem 0;color:#455047}
.rl-product-card__footer{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--rl-line)}
.rl-product-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.rl-product-cta{font-size:.93rem!important;padding:11px 16px!important}
.rl-product-source{font-size:.9rem;color:var(--rl-moss-dark)!important;font-weight:700;text-decoration:none!important}
.rl-product-card__footer small{color:#778078;font-size:.78rem}
.rl-admin-pending{display:inline-flex;border:1px dashed #b99f84;background:#fbf6ef;color:#72543e;border-radius:10px;padding:9px 11px;font-size:.82rem;max-width:430px}
.rl-hub-feature{max-width:880px;margin:38px 0 8px;padding:24px 26px;border-radius:18px;background:#f1f3ed;border:1px solid var(--rl-line)}
.rl-hub-feature h3{margin:.2em 0 .45em!important}
.rl-hub-feature p{margin:.45em 0 1em!important}
@media(max-width:760px){
  .rl-product-card{padding:22px}
  .rl-product-card__top,.rl-product-card__body{grid-template-columns:1fr}
  .rl-product-facts{grid-template-columns:1fr 1fr}
  .rl-product-card__footer{align-items:flex-start;flex-direction:column}
}


/* v0.6 — image-first affiliate cards + compact compliant link labels */
.rl-product-card__top--has-image{
  grid-template-columns:minmax(170px,220px) minmax(0,1fr) minmax(230px,.72fr);
  gap:28px;
  align-items:start;
}
.rl-product-card__image{
  margin:0;
  width:100%;
  aspect-ratio:1/1;
  border:1px solid var(--rl-line);
  border-radius:16px;
  background:#f7f7f3;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rl-product-card__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:10px;
  background:#fff;
}
.rl-product-card__summary{min-width:0}
.rl-paid-link-wrap{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}
.rl-paid-link-label{font-size:.74rem!important;color:#737d75!important;font-weight:700;letter-spacing:.02em}
.rl-footer-associate{color:#69736b}
@media(max-width:900px){
  .rl-product-card__top--has-image{grid-template-columns:180px minmax(0,1fr)}
  .rl-product-card__top--has-image .rl-product-facts{grid-column:1/-1}
}
@media(max-width:620px){
  .rl-product-card__top--has-image{grid-template-columns:1fr}
  .rl-product-card__image{max-width:280px}
}

/* v1.0 — first SEO cluster, diagrams, comparison aids and affiliate-card polish */
.rl-affiliate-inline{
  max-width:980px!important;
  margin:8px 0 30px!important;
  color:#707970!important;
  font-size:.84rem!important;
  line-height:1.5!important;
}
.rl-product-card__top--has-image{
  grid-template-columns:minmax(210px,255px) minmax(0,1fr) minmax(220px,.68fr);
}
.rl-product-card__image{min-height:220px}
.rl-product-card__image img{padding:6px;max-height:390px}
.rl-product-cta{white-space:nowrap}
.rl-paid-link-label{display:none!important}

.rl-answer-box{
  max-width:900px;
  background:#f1f4ed;
  border:1px solid #dce3d9;
  border-left:4px solid var(--rl-moss);
  border-radius:14px;
  padding:18px 20px;
  margin:0 0 34px;
  font-size:1.02rem;
  line-height:1.68;
  color:#334138;
}
.rl-note{
  max-width:880px!important;
  font-size:.88rem!important;
  color:#727b73!important;
  margin-top:-8px!important;
}
.rl-callout{
  max-width:880px;
  padding:20px 22px;
  margin:28px 0;
  border-radius:14px;
  background:#faf6ef;
  border:1px solid #e7d8c7;
  color:#493c31;
  line-height:1.65;
}

.rl-link-grid{
  max-width:980px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:0 0 42px;
}
.rl-topic-link{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:150px;
  padding:22px 24px;
  border:1px solid var(--rl-line);
  border-radius:17px;
  background:#fff;
  text-decoration:none!important;
  box-shadow:0 10px 30px rgba(35,49,40,.04);
  transition:.18s ease;
}
.rl-topic-link:hover{transform:translateY(-2px);box-shadow:var(--rl-shadow)}
.rl-topic-link span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--rl-clay)}
.rl-topic-link strong{font-size:1.16rem;line-height:1.25;color:var(--rl-ink)}
.rl-topic-link em{font-style:normal;font-size:.94rem;line-height:1.55;color:var(--rl-muted)}

.rl-stage-flow{
  max-width:980px;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:10px;
  align-items:center;
  margin:34px 0 48px;
}
.rl-flow-step{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  padding:18px;
  border-radius:16px;
  border:1px solid var(--rl-line);
  background:#fff;
}
.rl-flow-step>span{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:var(--rl-moss-dark);color:#fff;font-weight:800;font-size:.86rem;
}
.rl-flow-step strong{font-size:1.05rem;line-height:1.2;color:var(--rl-ink)}
.rl-flow-step small{font-size:.82rem;line-height:1.45;color:var(--rl-muted)}
.rl-flow-arrow{font-size:1.45rem;color:#9aa39b;font-weight:700}

.rl-formula-card{
  max-width:760px;
  margin:30px 0 40px;
  padding:24px 26px;
  border-radius:18px;
  background:linear-gradient(135deg,#203128,#344b3b);
  color:#fff;
  box-shadow:0 18px 46px rgba(25,41,31,.12);
}
.rl-formula-card span{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#d2dfd4;margin-bottom:10px}
.rl-formula-card strong{display:block;font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;margin-bottom:10px;color:#fff}
.rl-formula-card small{display:block;color:#d7dfd9;font-size:.88rem;line-height:1.55}

.rl-load-diagram{
  max-width:820px;
  display:grid;
  grid-template-columns:1fr 1fr 1.25fr;
  gap:12px;
  margin:28px 0 44px;
}
.rl-load-diagram>div{
  min-height:120px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  border:1px solid var(--rl-line);
  border-radius:16px;
  background:#fff;
  padding:18px;
}
.rl-load-diagram span{font-size:.9rem;color:var(--rl-muted);font-weight:650}
.rl-load-diagram strong{font-size:1.35rem;color:var(--rl-moss-dark)}
.rl-load-diagram .rl-load-total{background:#eef2eb;border-color:#d8e0d5}
.rl-load-diagram .rl-load-total strong{font-size:1.02rem}

.rl-decision-tree{
  max-width:900px;
  margin:28px 0 42px;
}
.rl-decision-node{
  width:min(100%,420px);
  margin:0 auto;
  padding:18px 20px;
  border-radius:16px;
  border:1px solid var(--rl-line);
  background:#fff;
  text-align:center;
}
.rl-decision-node strong,.rl-decision-branches strong{display:block;color:var(--rl-ink);font-size:1.02rem;margin-bottom:5px}
.rl-decision-node span,.rl-decision-branches span{display:block;color:var(--rl-muted);font-size:.9rem;line-height:1.5}
.rl-decision-start{background:#eef2eb;border-color:#d9e1d6}
.rl-decision-branches{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;position:relative}
.rl-decision-branches:before{content:"";position:absolute;left:50%;top:-34px;width:1px;height:34px;background:#cdd5cd}
.rl-decision-branches>div{padding:20px;border-radius:16px;border:1px solid var(--rl-line);background:#fff}

.rl-related-guides{
  max-width:980px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:24px 0 10px;
}
.rl-related-guides a{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:130px;
  padding:20px;
  border-radius:15px;
  border:1px solid var(--rl-line);
  background:#fff;
  text-decoration:none!important;
}
.rl-related-guides strong{color:var(--rl-ink);line-height:1.25}
.rl-related-guides span{color:var(--rl-muted);font-size:.9rem;line-height:1.5}

.rl-tool input[type="number"]{
  width:100%;min-height:44px;border:1px solid #cfd6cf;border-radius:10px;padding:0 10px;background:#fff;
}

@media(max-width:980px){
  .rl-stage-flow{grid-template-columns:1fr 1fr;gap:14px}
  .rl-flow-arrow{display:none}
  .rl-related-guides{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .rl-product-card__top--has-image{grid-template-columns:1fr}
  .rl-product-card__image{max-width:320px;min-height:0}
  .rl-link-grid,.rl-related-guides,.rl-decision-branches,.rl-load-diagram,.rl-stage-flow{grid-template-columns:1fr}
  .rl-decision-branches:before{display:none}
  .rl-flow-step{min-height:0}
}


/* v1.1 — second SEO cluster, article scale, loading/media diagrams and unified tables */
.rl-page--article .rl-pagehero h1{
  font-size:clamp(2.35rem,4.7vw,4.2rem);
  line-height:1.035;
  letter-spacing:-.046em;
  max-width:980px;
}
.rl-page--article .rl-pagehero .rl-lede{max-width:860px}
.rl-table-wrap{
  max-width:1060px;
  overflow-x:auto;
  margin:24px 0 38px;
  border:1px solid var(--rl-line);
  border-radius:15px;
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
.rl-spec-table{width:100%;border-collapse:collapse;min-width:720px;margin:0!important;background:#fff}
.rl-spec-table th,.rl-spec-table td{padding:15px 16px;border-right:1px solid var(--rl-line);border-bottom:1px solid var(--rl-line);text-align:left;vertical-align:top;font-size:.95rem;line-height:1.5;color:#3f4a42}
.rl-spec-table th{background:#f0f3ed;color:#2b3a31;font-weight:800;font-size:.85rem;letter-spacing:.01em}
.rl-spec-table tr:last-child td{border-bottom:0}
.rl-spec-table th:last-child,.rl-spec-table td:last-child{border-right:0}
.rl-spec-table tbody tr:nth-child(even) td{background:#fcfcf9}

.rl-barrel-compare{max-width:980px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0 44px}
.rl-barrel-state{padding:22px 18px 20px;border:1px solid var(--rl-line);border-radius:18px;background:#fff;text-align:center}
.rl-barrel-state strong{display:block;margin-top:14px;color:var(--rl-ink);font-size:1.04rem}
.rl-barrel-state small{display:block;margin-top:5px;color:var(--rl-muted);font-size:.86rem;line-height:1.45}
.rl-barrel{width:150px;height:150px;margin:0 auto;border:8px solid #33493b;border-radius:50%;position:relative;overflow:hidden;background:#f6f5ef;box-shadow:inset 0 0 0 2px #d7ddd6}
.rl-barrel span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#c5b095,#9b8065);border-top:3px solid rgba(49,66,53,.28)}
.rl-barrel-state--low .rl-barrel span{height:34%}
.rl-barrel-state--good .rl-barrel span{height:66%;background:linear-gradient(180deg,#aebba9,#6d846e)}
.rl-barrel-state--high .rl-barrel span{height:87%;background:linear-gradient(180deg,#c5b095,#a38467)}

.rl-process-strip{max-width:940px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 40px}
.rl-process-strip>div{padding:18px;border:1px solid var(--rl-line);border-radius:15px;background:#fff}
.rl-process-strip span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--rl-clay);font-weight:800;margin-bottom:6px}
.rl-process-strip strong{display:block;color:var(--rl-ink);line-height:1.35}

.rl-check-steps{max-width:1050px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:28px 0 42px}
.rl-check-steps>div{padding:17px;border:1px solid var(--rl-line);border-radius:15px;background:#fff;min-height:145px}
.rl-check-steps span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--rl-moss-dark);color:#fff;font-weight:800;font-size:.8rem;margin-bottom:10px}
.rl-check-steps strong{display:block;color:var(--rl-ink);font-size:1rem;margin-bottom:5px}
.rl-check-steps small{display:block;color:var(--rl-muted);line-height:1.45;font-size:.82rem}

.rl-media-cards{max-width:980px;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0 44px}
.rl-media-cards article{padding:24px;border:1px solid var(--rl-line);border-radius:18px;background:#fff}
.rl-media-cards article:first-child{background:#eef2eb}
.rl-media-cards span{font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rl-clay);font-weight:800}
.rl-media-cards h2{font-size:1.35rem!important;margin:8px 0 10px!important}
.rl-media-cards p{margin:0!important}
.rl-stage-bins{max-width:820px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 42px}
.rl-stage-bins>div{padding:18px;border:1px solid var(--rl-line);border-radius:14px;background:#fff}
.rl-stage-bins span{display:block;color:var(--rl-clay);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:6px}
.rl-stage-bins strong{display:block;color:var(--rl-ink)}

.rl-impact-flow{max-width:1050px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin:28px 0 44px}
.rl-impact-flow>div{padding:18px 14px;border:1px solid var(--rl-line);border-radius:14px;background:#fff;text-align:center;min-height:86px;display:grid;place-items:center}
.rl-impact-flow span{font-weight:800;color:var(--rl-ink);line-height:1.3}
.rl-impact-flow>b{color:#98a199;font-size:1.4rem}
.rl-impact-flow .rl-impact-flow__bad{background:#faf2ec;border-color:#e6cdbb}
.rl-impact-flow .rl-impact-flow__bad span{color:#714733}

.rl-load-sequence{max-width:1080px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:9px;align-items:center;margin:30px 0 44px}
.rl-load-sequence>div{padding:16px 12px;border:1px solid var(--rl-line);border-radius:14px;background:#fff;text-align:center;min-height:105px}
.rl-load-sequence span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--rl-moss-dark);color:#fff;font-weight:800;font-size:.8rem;margin:0 auto 9px}
.rl-load-sequence strong{display:block;color:var(--rl-ink);font-size:.94rem;line-height:1.3}
.rl-load-sequence>b{color:#98a199;font-size:1.3rem}
.rl-size-mix{max-width:760px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 40px}
.rl-size-mix>div{padding:22px;border:1px solid var(--rl-line);border-radius:15px;background:#fff;text-align:center}
.rl-size-mix span{display:block;margin:0 auto 12px;border-radius:46% 54% 52% 48%;background:linear-gradient(145deg,#c7b195,#8d745d);box-shadow:inset -5px -6px 12px rgba(60,43,28,.12)}
.rl-size-mix__large span{width:72px;height:62px}.rl-size-mix__medium span{width:50px;height:45px}.rl-size-mix__small span{width:29px;height:27px}
.rl-size-mix strong{color:var(--rl-ink)}

/* Slightly larger commercial product imagery without making cards feel like a store grid. */
.rl-product-card__top--has-image{grid-template-columns:minmax(225px,275px) minmax(0,1fr) minmax(220px,.68fr)}
.rl-product-card__image{min-height:235px}
.rl-product-card__image img{max-height:420px;padding:4px}

@media(max-width:980px){
  .rl-check-steps{grid-template-columns:repeat(3,1fr)}
  .rl-impact-flow,.rl-load-sequence{grid-template-columns:1fr 1fr;gap:12px}
  .rl-impact-flow>b,.rl-load-sequence>b{display:none}
}
@media(max-width:760px){
  .rl-page--article .rl-pagehero h1{font-size:clamp(2.15rem,10.5vw,3.35rem);line-height:1.04}
  .rl-barrel-compare,.rl-process-strip,.rl-check-steps,.rl-media-cards,.rl-stage-bins,.rl-impact-flow,.rl-load-sequence,.rl-size-mix{grid-template-columns:1fr}
  .rl-barrel{width:132px;height:132px}
  .rl-spec-table{min-width:650px}
}


/* v1.2 — Rocks & Materials cluster, material facts and compatibility visuals */
.rl-material-facts{
  max-width:980px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:28px 0 42px;
}
.rl-material-facts>div{
  padding:18px 19px;
  border:1px solid var(--rl-line);
  border-radius:15px;
  background:#fff;
}
.rl-material-facts span{
  display:block;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--rl-clay);
  font-weight:800;
  margin-bottom:6px;
}
.rl-material-facts strong{display:block;color:var(--rl-ink);font-size:1.02rem;line-height:1.3}

.rl-compat-legend{
  max-width:980px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:28px 0 42px;
}
.rl-compat-legend>div{
  padding:18px 20px;
  border-radius:15px;
  border:1px solid var(--rl-line);
  background:#fff;
}
.rl-compat-legend strong{display:block;color:var(--rl-ink);margin-bottom:5px}
.rl-compat-legend span{display:block;color:var(--rl-muted);font-size:.88rem;line-height:1.45}
.rl-compat-legend__good{background:#eef4ec!important;border-color:#d3dfcf!important}
.rl-compat-legend__caution{background:#faf5e9!important;border-color:#e9ddbd!important}
.rl-compat-legend__separate{background:#faf0eb!important;border-color:#ebd0c3!important}

.rl-compat-flow{
  max-width:1080px;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:10px;
  align-items:center;
  margin:28px 0 44px;
}
.rl-compat-flow>div{
  min-height:128px;
  padding:17px;
  border:1px solid var(--rl-line);
  border-radius:15px;
  background:#fff;
}
.rl-compat-flow span{
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--rl-moss-dark);color:#fff;
  font-weight:800;font-size:.78rem;margin-bottom:9px;
}
.rl-compat-flow strong{display:block;color:var(--rl-ink);font-size:.96rem;line-height:1.3;margin-bottom:4px}
.rl-compat-flow small{display:block;color:var(--rl-muted);font-size:.81rem;line-height:1.45}
.rl-compat-flow>b{color:#98a199;font-size:1.3rem}

.rl-obsidian-load{
  max-width:900px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:28px 0 42px;
}
.rl-obsidian-load>div{
  padding:22px 20px;border:1px solid var(--rl-line);border-radius:16px;background:#fff;
}
.rl-obsidian-load span{
  display:block;color:var(--rl-clay);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;margin-bottom:6px;
}
.rl-obsidian-load strong{display:block;color:var(--rl-ink);line-height:1.35}

.rl-beach-sort{
  max-width:1000px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:28px 0 42px;
}
.rl-beach-sort>div{
  padding:18px;border:1px solid var(--rl-line);border-radius:15px;background:#fff;
}
.rl-beach-sort span{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--rl-moss-dark);color:#fff;font-size:.78rem;font-weight:800;margin-bottom:9px;
}
.rl-beach-sort strong{display:block;color:var(--rl-ink);margin-bottom:5px}
.rl-beach-sort small{display:block;color:var(--rl-muted);line-height:1.45;font-size:.82rem}

.rl-next-step{
  max-width:920px;
  margin:38px 0 10px;
  padding:22px 24px;
  border-radius:16px;
  background:#eef2eb;
  border:1px solid #d7dfd4;
}
.rl-next-step>strong{display:block;color:var(--rl-ink);font-size:1.05rem;margin-bottom:6px}
.rl-next-step p{margin:0!important}

.rl-compat-table td:nth-child(2){white-space:nowrap}

@media(max-width:980px){
  .rl-material-facts,.rl-beach-sort{grid-template-columns:repeat(2,1fr)}
  .rl-compat-flow{grid-template-columns:1fr 1fr}
  .rl-compat-flow>b{display:none}
}
@media(max-width:760px){
  .rl-material-facts,.rl-compat-legend,.rl-compat-flow,.rl-obsidian-load,.rl-beach-sort{grid-template-columns:1fr}
}

.rl-material-ranking{
  max-width:1040px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:28px 0 44px;
}
.rl-material-ranking article{
  padding:18px;border:1px solid var(--rl-line);border-radius:15px;background:#fff;
}
.rl-material-ranking article>span{
  width:29px;height:29px;border-radius:50%;display:grid;place-items:center;
  background:var(--rl-moss-dark);color:#fff;font-size:.78rem;font-weight:800;margin-bottom:10px;
}
.rl-material-ranking h3{font-size:1.02rem!important;margin:0 0 7px!important}
.rl-material-ranking p{font-size:.88rem!important;line-height:1.5!important;margin:0 0 12px!important}
.rl-material-ranking a{font-size:.84rem;font-weight:800}
@media(max-width:980px){.rl-material-ranking{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.rl-material-ranking{grid-template-columns:1fr}}

/* v1.5 — commercial-page visual system + hard mobile QA fixes */
.rl-page,.rl-home,.rl-page *,.rl-home *{box-sizing:border-box}
body{overflow-x:hidden}
.rl-content>*{min-width:0}

/* Editorial rhythm: clearer sections without turning articles into a wall of cards. */
.rl-page--article .rl-content>h2{
  position:relative;
  padding-top:10px;
  margin-top:2.35em;
}
.rl-page--article .rl-content>h2:before{
  content:"";
  display:block;
  width:42px;
  height:3px;
  border-radius:99px;
  background:var(--rl-clay);
  margin-bottom:15px;
  opacity:.72;
}
.rl-page--article .rl-content>h2+ p{margin-top:0}
.rl-page--article .rl-content>p{max-width:820px}
.rl-page--article .rl-content>ul,
.rl-page--article .rl-content>ol{max-width:820px}
.rl-page--article .rl-answer-box{box-shadow:0 10px 28px rgba(35,49,40,.045)}

/* Product cards: visual hierarchy inspired by editorial buying guides, not store grids. */
.rl-product-card{
  position:relative;
  width:min(100%,1040px);
  max-width:1040px;
  padding:26px;
  overflow:hidden;
  border-color:#d9dfd9;
  box-shadow:0 16px 46px rgba(31,46,36,.065);
}
.rl-product-card *{min-width:0}
.rl-product-card--featured{
  border-color:#b9c8bb;
  background:linear-gradient(145deg,#fff 0%,#fbfcf8 62%,#f0f4ed 100%);
  box-shadow:0 20px 54px rgba(31,55,40,.10);
}
.rl-product-card__flag{
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  padding:7px 14px;
  border-radius:0 0 12px 0;
  background:var(--rl-moss-dark);
  color:#fff;
  font-size:.7rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.rl-product-card--featured .rl-product-card__top{padding-top:13px}
.rl-product-card__top--has-image{
  grid-template-columns:minmax(210px,255px) minmax(280px,1fr) minmax(180px,.62fr);
  gap:24px;
  align-items:center;
}
.rl-product-card__image{
  align-self:stretch;
  min-height:230px;
  background:linear-gradient(180deg,#fff,#f7f7f3);
}
.rl-product-card__summary{align-self:center}
.rl-product-card h3{
  font-size:clamp(1.5rem,2.4vw,1.9rem);
  line-height:1.12;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.rl-product-best{max-width:530px}
.rl-product-cta--top{margin-top:18px;min-width:188px}
.rl-product-facts{align-self:center;grid-template-columns:1fr;gap:9px}
.rl-product-facts span{border:1px solid #e6e9e3;background:rgba(246,247,242,.94)}
.rl-product-card__body{
  gap:16px;
  margin-top:24px;
  padding-top:0;
  border-top:0;
}
.rl-product-card__body>div{
  padding:20px 21px;
  border:1px solid #e3e7e1;
  border-radius:15px;
  background:#fafbf8;
}
.rl-product-card__body>div:first-child{background:#f2f5ef}
.rl-product-card__body h4{font-size:1rem;margin-bottom:8px}
.rl-product-card__body li{font-size:.94rem;line-height:1.58}
.rl-product-card__meta{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #edf0ec;
  color:#858c86;
}
.rl-product-card__meta small{font-size:.72rem}

/* The requested disclosure placement: tiny note at the very end of commercial articles. */
.rl-affiliate-end{
  max-width:760px!important;
  margin:50px 0 0!important;
  padding-top:14px;
  border-top:1px solid #edf0ec;
  color:#919791!important;
  font-size:.68rem!important;
  line-height:1.45!important;
}

/* More polished desktop content modules. */
.rl-prosegrid>div,.rl-related-guides a,.rl-topic-link,.rl-machine-card{
  box-shadow:0 10px 30px rgba(35,49,40,.035);
}
.rl-table-wrap{
  box-shadow:0 12px 34px rgba(35,49,40,.035);
}
.rl-review-status{
  max-width:900px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:24px 0 34px;
  padding:14px 18px;
  border:1px solid #dce3d9;
  border-radius:14px;
  background:#f4f6f1;
}
.rl-review-status strong{color:var(--rl-moss-dark);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.rl-review-status span{color:var(--rl-muted);font-size:.88rem;line-height:1.45}

/* Tablet: product image + summary on first row, facts below. */
@media(max-width:980px){
  .rl-product-card__top--has-image{
    grid-template-columns:minmax(190px,230px) minmax(0,1fr)!important;
    align-items:center;
  }
  .rl-product-card__top--has-image .rl-product-facts{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rl-product-card__body{grid-template-columns:1fr 1fr}
}

/* Mobile hardening: force all commercial cards into a real stacked layout. */
@media(max-width:760px){
  .rl-shell{width:calc(100% - 24px)!important}
  .rl-pagehero{padding:42px 0 34px}
  .rl-page--article .rl-pagehero h1,
  .rl-pagehero h1{
    font-size:clamp(2rem,10vw,2.75rem)!important;
    line-height:1.04!important;
    letter-spacing:-.043em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .rl-lede{font-size:1.03rem;line-height:1.58}
  .rl-content{padding-top:34px;padding-bottom:62px}
  .rl-content p,.rl-content li{font-size:1rem;line-height:1.68}
  .rl-page--article .rl-content>h2{font-size:1.72rem;margin-top:1.9em}
  .rl-content h3{font-size:1.2rem}

  .rl-product-card{
    width:100%!important;
    max-width:100%!important;
    margin:20px 0!important;
    padding:16px!important;
    border-radius:17px!important;
  }
  .rl-product-card--featured{padding-top:23px!important}
  .rl-product-card__flag{font-size:.62rem;padding:6px 10px}
  .rl-product-card__top,
  .rl-product-card__top--has-image{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:15px!important;
    width:100%!important;
    grid-template-columns:none!important;
  }
  .rl-product-card__image{
    order:1;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    aspect-ratio:4/3!important;
    margin:0!important;
    border-radius:14px!important;
  }
  .rl-product-card__image img{width:100%!important;height:100%!important;max-height:none!important;padding:12px!important;object-fit:contain!important}
  .rl-product-card__summary{order:2;width:100%!important;align-self:stretch!important}
  .rl-product-badge{font-size:.64rem;padding:6px 8px;margin-bottom:9px}
  .rl-product-card h3{
    width:100%!important;
    max-width:100%!important;
    font-size:1.45rem!important;
    line-height:1.16!important;
    letter-spacing:-.025em;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto!important;
    margin-bottom:9px!important;
  }
  .rl-product-best{font-size:.94rem!important;line-height:1.55!important}
  .rl-product-cta--top{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    margin-top:15px!important;
    min-height:46px!important;
  }
  .rl-product-facts{
    order:3;
    width:100%!important;
    grid-column:auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .rl-product-facts span{padding:11px 12px!important;font-size:.83rem!important;overflow-wrap:break-word!important}
  .rl-product-facts strong{font-size:.64rem!important}
  .rl-product-card__body{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:15px!important;
  }
  .rl-product-card__body>div{padding:16px!important;border-radius:13px!important}
  .rl-product-card__body li{font-size:.91rem!important;line-height:1.55!important}
  .rl-product-card__meta{margin-top:12px;padding-top:11px}
  .rl-product-card__meta small{font-size:.66rem}

  .rl-table-wrap{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    border-radius:12px;
  }
  .rl-spec-table{min-width:620px!important}
  .rl-spec-table th,.rl-spec-table td{padding:12px 13px;font-size:.86rem}
  .rl-table-wrap:after{
    content:"Swipe table →";
    display:block;
    position:sticky;
    left:0;
    width:max-content;
    padding:7px 10px;
    color:#858d86;
    font-size:.66rem;
    background:rgba(255,255,255,.94);
    border-top-right-radius:8px;
  }
  .rl-answer-box{font-size:.94rem;padding:15px 16px;margin-bottom:24px}
  .rl-review-status{flex-direction:column;align-items:flex-start;padding:13px 15px;margin:18px 0 26px}
  .rl-related-guides,.rl-link-grid,.rl-prosegrid{gap:11px}
}

@media(max-width:430px){
  .rl-product-facts{grid-template-columns:1fr!important}
  .rl-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .rl-actions .rl-button{width:100%}
  .rl-page--article .rl-content>h2{font-size:1.6rem}
  .rl-product-card__image{aspect-ratio:1/1!important}
}

/* v1.8 — site-wide editorial design overhaul + maintenance cluster */
.rl-content{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.rl-page--article .rl-content{width:min(1080px,calc(100% - 40px))}

/* Turn plain H2-led copy into designed editorial sections on every managed page. */
.rl-story-section{
  position:relative;
  margin:28px 0 34px;
  padding:clamp(22px,3vw,36px);
  border:1px solid #e0e5df;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#fdfdf9 100%);
  box-shadow:0 16px 44px rgba(31,46,36,.055);
}
.rl-story-section--tint{background:linear-gradient(180deg,#f5f7f2 0%,#fbfcf9 100%)}
.rl-story-section>h2:first-child{margin-top:0!important;padding-top:0!important}
.rl-story-section>h2:first-child:before{margin-top:0}
.rl-story-section>p:last-child,.rl-story-section>ul:last-child,.rl-story-section>ol:last-child{margin-bottom:0}
.rl-story-section .rl-table-wrap:last-child,.rl-story-section .rl-related-guides:last-child,.rl-story-section .rl-prosegrid:last-child{margin-bottom:0}

/* Hub links feel like a magazine/navigation system instead of stacked text. */
.rl-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 34px;max-width:1080px}
.rl-topic-link{
  display:flex;flex-direction:column;gap:7px;min-height:154px;padding:22px 23px;
  border:1px solid #dfe5df;border-radius:18px;background:#fff;text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.rl-topic-link:hover{transform:translateY(-3px);box-shadow:0 18px 46px rgba(32,48,38,.09);border-color:#cbd7cd}
.rl-topic-link span{font-size:.69rem;text-transform:uppercase;letter-spacing:.11em;color:var(--rl-clay);font-weight:800}
.rl-topic-link strong{font-size:1.08rem;line-height:1.28;color:var(--rl-ink)}
.rl-topic-link em{font-style:normal;font-size:.91rem;line-height:1.55;color:var(--rl-muted)}

/* Stronger info modules. */
.rl-answer-box,.rl-callout,.rl-next-step,.rl-review-status{
  border-radius:18px!important;
  box-shadow:0 12px 34px rgba(35,49,40,.045);
}
.rl-answer-box{border-left:4px solid var(--rl-moss)!important;background:linear-gradient(135deg,#f0f4ed,#f8faf6)!important}
.rl-callout{padding:18px 20px;background:#fff8ee;border:1px solid #eadfcf;border-left:4px solid #b8835d;color:#4d4339;margin:24px 0}
.rl-callout strong{color:#6d4e39}
.rl-next-step{display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);gap:14px 26px;align-items:center;background:linear-gradient(135deg,#eef4ed,#f8faf6)}
.rl-next-step>strong{font-size:1.08rem}.rl-next-step>span{line-height:1.6;color:#435048}

/* Diagnosis / maintenance visual systems. */
.rl-diagnose-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:26px 0 38px}
.rl-diagnose-grid a{display:flex;flex-direction:column;min-height:160px;padding:20px;border:1px solid var(--rl-line);border-radius:17px;background:#fff;text-decoration:none!important;box-shadow:0 10px 28px rgba(35,49,40,.04)}
.rl-diagnose-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--rl-clay);margin-bottom:7px}
.rl-diagnose-grid strong{font-size:1.05rem;line-height:1.28;color:var(--rl-ink);margin-bottom:7px}
.rl-diagnose-grid em{font-style:normal;font-size:.86rem;line-height:1.5;color:var(--rl-muted)}

.rl-clean-map,.rl-equipment-path,.rl-location-score,.rl-noise-ladder{display:grid;gap:13px;margin:26px 0 38px}
.rl-clean-map{grid-template-columns:repeat(4,minmax(0,1fr))}
.rl-equipment-path{grid-template-columns:repeat(4,minmax(0,1fr))}
.rl-location-score{grid-template-columns:repeat(5,minmax(0,1fr))}
.rl-noise-ladder{grid-template-columns:repeat(4,minmax(0,1fr))}
.rl-clean-map>div,.rl-equipment-path article,.rl-location-score>div,.rl-noise-ladder>div{
  padding:20px;border:1px solid var(--rl-line);border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(35,49,40,.035)
}
.rl-clean-map span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--rl-moss-dark);color:#fff;font-weight:800;font-size:.77rem;margin-bottom:10px}
.rl-clean-map strong,.rl-location-score strong,.rl-noise-ladder strong{display:block;color:var(--rl-ink);margin-bottom:6px}
.rl-clean-map small,.rl-location-score span,.rl-noise-ladder span{display:block;color:var(--rl-muted);line-height:1.45;font-size:.84rem}
.rl-equipment-path article>span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--rl-clay);margin-bottom:8px}
.rl-equipment-path h3{margin:0 0 7px!important;font-size:1.18rem!important}
.rl-equipment-path p{margin:0!important;font-size:.9rem!important;line-height:1.55!important;color:var(--rl-muted)!important}

.rl-decision-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:24px 0 34px}
.rl-decision-branches>div{padding:19px;border-radius:16px;border:1px solid var(--rl-line);background:#fff}
.rl-decision-branches strong{display:block;color:var(--rl-ink);margin-bottom:5px}.rl-decision-branches span{color:var(--rl-muted);font-size:.88rem}

.rl-leak-check,.rl-maintenance-flow{display:flex;align-items:stretch;gap:9px;margin:26px 0 38px;max-width:1080px}
.rl-leak-check>div,.rl-maintenance-flow>div{flex:1;min-width:0;padding:16px;border:1px solid var(--rl-line);border-radius:15px;background:#fff;text-align:center}
.rl-leak-check span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:var(--rl-moss-dark);color:#fff;font-size:.72rem;font-weight:800}
.rl-leak-check strong,.rl-maintenance-flow strong{display:block;color:var(--rl-ink);font-size:.9rem;line-height:1.3}
.rl-maintenance-flow span{display:block;color:var(--rl-clay);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:5px}
.rl-maintenance-flow>b{align-self:center;color:#98a199;font-size:1.2rem}

/* Make related links look like intentional next steps. */
.rl-related-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0}
.rl-related-guides a{display:flex;flex-direction:column;gap:6px;padding:18px 19px;border:1px solid var(--rl-line);border-radius:16px;background:#fff;text-decoration:none!important}
.rl-related-guides strong{color:var(--rl-ink);line-height:1.3}.rl-related-guides span{color:var(--rl-muted);font-size:.86rem;line-height:1.48}

/* Better hierarchy for money pages and high-intent content. */
.rl-product-card{transition:transform .18s ease,box-shadow .18s ease}
.rl-product-card:hover{transform:translateY(-2px);box-shadow:0 22px 58px rgba(31,55,40,.11)}
.rl-product-cta--top{box-shadow:0 9px 22px rgba(41,60,48,.14)}
.rl-product-cta--top:after{content:" →"}
.rl-product-card__summary h3{max-width:620px}
.rl-product-best{color:#465249!important}

/* Table polish. */
.rl-table-wrap{border-radius:16px;overflow-x:auto;border:1px solid #dfe4df;background:#fff}
.rl-table-wrap .rl-spec-table{border:0;margin:0}
.rl-spec-table tbody tr:nth-child(even){background:#fbfcf9}
.rl-spec-table tbody tr:hover{background:#f3f6f1}

/* Home retains its approved photographic hero. */
.rl-hero__visual{background:url('../images/home-rock-tumbler-hero.webp') center/cover no-repeat;border-radius:24px;box-shadow:0 24px 56px rgba(35,49,40,.12);min-height:430px}
.rl-hero__visual .rl-stone,.rl-hero__visual .rl-ring{display:none!important}

@media(max-width:1050px){
  .rl-diagnose-grid{grid-template-columns:repeat(2,1fr)}
  .rl-clean-map,.rl-equipment-path,.rl-noise-ladder{grid-template-columns:repeat(2,1fr)}
  .rl-location-score{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .rl-content,.rl-page--article .rl-content{width:calc(100% - 24px)!important}
  .rl-story-section{margin:18px 0 24px;padding:18px 16px;border-radius:17px;box-shadow:0 9px 24px rgba(31,46,36,.045)}
  .rl-link-grid,.rl-diagnose-grid,.rl-clean-map,.rl-equipment-path,.rl-location-score,.rl-noise-ladder,.rl-decision-branches,.rl-related-guides{grid-template-columns:1fr!important}
  .rl-topic-link{min-height:0;padding:18px}
  .rl-next-step{grid-template-columns:1fr;padding:18px}
  .rl-leak-check,.rl-maintenance-flow{display:grid;grid-template-columns:1fr;gap:8px}
  .rl-maintenance-flow>b{display:none}
  .rl-leak-check>div,.rl-maintenance-flow>div{text-align:left}
  .rl-leak-check span{margin:0 0 8px}
  .rl-hero__visual{min-height:310px;border-radius:18px}
}
@media(max-width:430px){
  .rl-story-section{padding:16px 14px}
  .rl-pagehero{padding-left:0;padding-right:0}
  .rl-answer-box,.rl-callout,.rl-next-step{padding:14px 15px!important}
}


/* v1.9 — public-facing cleanup, restrained article titles, editorial split layouts and finish/polish cluster */
.rl-page--article .rl-pagehero{padding:58px 0 46px}
.rl-page--article .rl-pagehero h1{
  font-size:clamp(2.35rem,3.55vw,3.45rem)!important;
  line-height:1.045!important;
  letter-spacing:-.043em!important;
  max-width:1040px!important;
  text-wrap:balance;
}
.rl-page--article .rl-pagehero .rl-lede{font-size:1.12rem;max-width:820px}
.rl-page--article .rl-eyebrow{margin-bottom:12px}

/* Plain sections become an editorial two-column composition on desktop; rich sections keep full-width visuals. */
.rl-story-section{overflow:hidden}
.rl-story-section__head h2{margin:0!important;padding:0!important}
.rl-story-section__head h2:before{margin-top:0!important}
.rl-story-section__body>*:first-child{margin-top:0!important}
.rl-story-section__body>*:last-child{margin-bottom:0!important}
.rl-story-section--split{
  display:grid;
  grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);
  gap:clamp(26px,4vw,56px);
  align-items:start;
}
.rl-story-section--split .rl-story-section__head h2{
  font-size:clamp(1.55rem,2.35vw,2.15rem)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
}
.rl-story-section--split .rl-story-section__body{max-width:720px}
.rl-story-section--rich .rl-story-section__head{max-width:860px;margin-bottom:20px}
.rl-story-section--rich .rl-story-section__head h2{font-size:clamp(1.75rem,2.8vw,2.45rem)!important}

/* Cleaner commercial cards: no process/verification metadata in the visitor UI. */
.rl-product-card__meta,.rl-research-note{display:none!important}
.rl-product-card__summary>.rl-product-badge{display:none!important}
.rl-product-card__top--has-image{align-items:start}
.rl-product-card__summary{padding-top:8px}
.rl-product-card__summary h3{margin-top:0}
.rl-product-card__body>div{min-height:100%}

/* Finish and polish visuals. */
.rl-burnish-sequence,.rl-finish-diagnostic,.rl-clean-stage-map{
  display:grid;gap:10px;align-items:stretch;margin:26px 0 38px;max-width:1080px
}
.rl-burnish-sequence{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}
.rl-finish-diagnostic{grid-template-columns:1fr auto 1fr auto 1fr;max-width:900px}
.rl-clean-stage-map{grid-template-columns:repeat(5,minmax(0,1fr))}
.rl-burnish-sequence>div,.rl-finish-diagnostic>div,.rl-clean-stage-map>div{
  padding:18px;border:1px solid var(--rl-line);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(35,49,40,.035)
}
.rl-burnish-sequence span,.rl-clean-stage-map span{
  width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--rl-moss-dark);color:#fff;font-size:.75rem;font-weight:800;margin-bottom:9px
}
.rl-finish-diagnostic span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rl-clay);font-weight:800;margin-bottom:7px}
.rl-burnish-sequence strong,.rl-finish-diagnostic strong,.rl-clean-stage-map strong{display:block;color:var(--rl-ink);line-height:1.3;margin-bottom:5px}
.rl-burnish-sequence small,.rl-finish-diagnostic small,.rl-clean-stage-map small{display:block;color:var(--rl-muted);font-size:.82rem;line-height:1.45}
.rl-burnish-sequence>b,.rl-finish-diagnostic>b{align-self:center;color:#97a098;font-size:1.15rem}

/* More polished public hubs. */
.rl-page:not(.rl-page--article) .rl-pagehero h1{font-size:clamp(2.75rem,4.8vw,4.35rem);max-width:980px}
.rl-content .rl-grid--2,.rl-content .rl-grid--3{max-width:1080px}
.rl-content .rl-card{height:100%}

/* Prevent long nav labels from crowding the header. */
@media(min-width:922px){
  .main-header-menu>.menu-item>a,.ast-builder-menu-1 .menu-item>.menu-link{white-space:nowrap!important}
}
@media(max-width:980px){
  .rl-story-section--split{grid-template-columns:1fr;gap:15px}
  .rl-story-section--split .rl-story-section__body{max-width:none}
  .rl-clean-stage-map{grid-template-columns:repeat(2,1fr)}
  .rl-burnish-sequence,.rl-finish-diagnostic{grid-template-columns:1fr 1fr}
  .rl-burnish-sequence>b,.rl-finish-diagnostic>b{display:none}
}
@media(max-width:760px){
  .rl-page--article .rl-pagehero{padding:40px 0 32px}
  .rl-page--article .rl-pagehero h1{
    font-size:clamp(2rem,8.9vw,2.55rem)!important;
    line-height:1.06!important;
    letter-spacing:-.038em!important;
    text-wrap:pretty;
  }
  .rl-page--article .rl-pagehero .rl-lede{font-size:1rem;line-height:1.55}
  .rl-story-section--split,.rl-story-section--rich{display:block}
  .rl-story-section__head{margin-bottom:14px!important}
  .rl-story-section--split .rl-story-section__head h2,.rl-story-section--rich .rl-story-section__head h2{font-size:1.58rem!important;line-height:1.12!important}
  .rl-burnish-sequence,.rl-finish-diagnostic,.rl-clean-stage-map{grid-template-columns:1fr!important;gap:9px}
  .rl-burnish-sequence>div,.rl-finish-diagnostic>div,.rl-clean-stage-map>div{padding:16px}
  .rl-page:not(.rl-page--article) .rl-pagehero h1{font-size:clamp(2.2rem,10vw,3rem)}
}
@media(max-width:430px){
  .rl-page--article .rl-pagehero h1{font-size:clamp(1.9rem,8.8vw,2.35rem)!important}
  .rl-story-section{padding:15px 13px}
}

/* v2.0 — affiliate-first top-of-page commerce, stronger editorial rhythm and schematics */
.rl-shop-spotlight{margin:1.5rem 0 2.3rem;padding:24px;border:1px solid rgba(41,60,48,.14);border-radius:24px;background:linear-gradient(135deg,#f2f5ef 0%,#fff 68%);box-shadow:0 18px 48px rgba(31,55,40,.08)}
.rl-shop-spotlight__head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(280px,1.28fr);gap:28px;align-items:end;margin-bottom:20px}
.rl-shop-spotlight__head .rl-eyebrow{grid-column:1/-1;margin-bottom:-12px}.rl-shop-spotlight__head h2{font-size:clamp(1.55rem,2.6vw,2.25rem)!important;line-height:1.06!important;margin:0!important}.rl-shop-spotlight__head p{margin:0!important;max-width:680px;color:#5d6961!important}
.rl-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rl-shop-grid:has(.rl-shop-card:only-child){grid-template-columns:minmax(0,760px)}
.rl-shop-grid:has(.rl-shop-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.rl-shop-card{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:center;background:#fff;border:1px solid rgba(41,60,48,.13);border-radius:18px;padding:16px;min-width:0;overflow:hidden}
.rl-shop-card__badge{position:absolute;top:10px;right:10px;background:#e8efe4;color:#38513f;border-radius:999px;padding:5px 9px;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.rl-shop-card__media{aspect-ratio:1/1;display:grid;place-items:center;background:#fafaf7;border:1px solid #e7ebe5;border-radius:14px;overflow:hidden}.rl-shop-card__media img{width:100%;height:100%;object-fit:contain;padding:7px}
.rl-shop-card__content{min-width:0}.rl-shop-card__content h3{font-size:1.15rem!important;line-height:1.17!important;margin:0 0 7px!important;overflow-wrap:anywhere}.rl-shop-card__content p{font-size:.88rem!important;line-height:1.48!important;margin:0 0 9px!important;color:#59645d!important}.rl-shop-card__fact{display:block;font-size:.77rem;color:#6e786f;margin-bottom:11px}.rl-shop-card__cta{min-height:40px;padding:0 14px;font-size:.82rem}
.rl-shop-bridge{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:20px;align-items:center;margin:22px 0 28px;padding:20px 22px;border-radius:19px;background:#1f3127;color:#edf2ee;box-shadow:0 14px 36px rgba(22,42,30,.12)}.rl-shop-bridge>div:first-child>span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;color:#d0b29a;font-weight:800;margin-bottom:6px}.rl-shop-bridge>div:first-child>strong{font-size:1.18rem}.rl-shop-bridge p{font-size:.88rem!important;line-height:1.5!important;color:#cfd8d1!important;margin:6px 0 0!important}.rl-shop-bridge__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rl-shop-bridge__links a{display:flex;flex-direction:column;gap:3px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:13px;color:#fff!important;text-decoration:none!important}.rl-shop-bridge__links strong{font-size:.9rem}.rl-shop-bridge__links span{font-size:.77rem;color:#d5ddd7}
.rl-commercial-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0 8px}.rl-commercial-paths a{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid var(--rl-line);border-radius:16px;background:#fff;text-decoration:none!important}.rl-commercial-paths span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rl-clay);font-weight:800}.rl-commercial-paths strong{color:var(--rl-ink);font-size:1rem}.rl-commercial-paths em{font-style:normal;color:var(--rl-muted);font-size:.85rem}
.rl-schematic{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:22px;align-items:center;margin:26px 0 34px;padding:22px;border:1px solid rgba(41,60,48,.14);border-radius:22px;background:linear-gradient(135deg,#f4f6f1,#fff);box-shadow:0 16px 42px rgba(31,55,40,.07)}.rl-schematic__copy h3{font-size:1.55rem!important;line-height:1.08!important;margin:.25rem 0 .7rem!important}.rl-schematic__copy p:last-child{font-size:.94rem!important;line-height:1.55!important;color:#59645d!important}.rl-schematic svg{width:100%;height:auto;display:block}.rl-schematic figcaption{grid-column:1/-1;font-size:.72rem;color:#788079;border-top:1px solid #e3e7e2;padding-top:9px}
.rl-content{counter-reset:rlstory}.rl-story-section{counter-increment:rlstory}
.rl-story-section--split{background:linear-gradient(135deg,#fff 0%,#fbfcf9 100%);border:1px solid rgba(41,60,48,.11);box-shadow:0 14px 38px rgba(31,55,40,.055);padding:24px!important;border-radius:20px!important;gap:28px!important;align-items:start}
.rl-story-section--split .rl-story-section__head:before{content:counter(rlstory, decimal-leading-zero);display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf1ea;color:#3f5a46;font-size:.68rem;font-weight:850;letter-spacing:.04em;margin-bottom:12px}
.rl-story-section--split .rl-story-section__body{background:#f6f8f4;border-radius:15px;padding:18px 20px;max-width:none!important}.rl-story-section--split .rl-story-section__body p{font-size:1rem;line-height:1.7}.rl-story-section--split .rl-story-section__body h3:first-child{margin-top:0}
body.page .rl-page--article .rl-pagehero h1{font-size:clamp(2.25rem,3.15vw,3.15rem)!important;line-height:1.04!important;max-width:980px!important;letter-spacing:-.042em!important}
@media(max-width:980px){.rl-shop-grid{grid-template-columns:1fr 1fr}.rl-shop-spotlight__head,.rl-schematic{grid-template-columns:1fr}.rl-shop-card{grid-template-columns:112px minmax(0,1fr)}}
@media(max-width:720px){.rl-shop-spotlight{padding:16px 13px;border-radius:18px}.rl-shop-spotlight__head{gap:10px}.rl-shop-spotlight__head .rl-eyebrow{margin-bottom:0}.rl-shop-grid,.rl-shop-grid:has(.rl-shop-card:nth-child(2):last-child){grid-template-columns:1fr}.rl-shop-card{grid-template-columns:104px minmax(0,1fr);padding:12px;gap:12px}.rl-shop-card__badge{position:static;grid-column:1/-1;justify-self:start;margin-bottom:-3px}.rl-shop-card__content h3{font-size:1.02rem!important}.rl-shop-card__cta{width:100%;min-height:42px}.rl-shop-bridge{grid-template-columns:1fr;padding:17px 15px}.rl-shop-bridge__links{grid-template-columns:1fr}.rl-commercial-paths{grid-template-columns:1fr}.rl-story-section--split{display:block!important;padding:17px 14px!important}.rl-story-section--split .rl-story-section__body{margin-top:12px;padding:15px 14px}.rl-schematic{padding:16px 13px}.rl-schematic svg{min-width:0}body.page .rl-page--article .rl-pagehero h1{font-size:clamp(1.95rem,8.7vw,2.45rem)!important;line-height:1.055!important}}
@media(max-width:430px){.rl-shop-card{grid-template-columns:92px minmax(0,1fr)}.rl-shop-card__content p{font-size:.82rem!important}.rl-shop-card__fact{font-size:.72rem}.rl-shop-card__media{border-radius:12px}}


/* v2.1 — compact editorial system, no numbered section badges, richer commercial UX */
.rl-content{counter-reset:none!important}.rl-story-section{counter-increment:none!important}
.rl-story-section--split .rl-story-section__head:before{display:none!important;content:none!important}
.rl-story-section--split{padding:20px!important;border-radius:18px!important;gap:22px!important;border:1px solid rgba(41,60,48,.10);box-shadow:0 10px 28px rgba(31,55,40,.045)}
.rl-story-section--split .rl-story-section__head{padding-top:2px}.rl-story-section--split .rl-story-section__head h2{font-size:clamp(1.48rem,2.35vw,2.05rem)!important;line-height:1.08!important}
.rl-story-section--split .rl-story-section__body{padding:15px 17px!important;background:linear-gradient(135deg,#f5f7f2,#fbfcfa)!important;border:1px solid rgba(41,60,48,.065)}
.rl-story-section--rich{padding:20px!important;border-radius:18px!important}.rl-story-section{margin:16px 0 20px!important}
.rl-page--article .rl-pagehero{padding-top:50px!important;padding-bottom:46px!important}.rl-page--article .rl-pagehero h1{font-size:clamp(2.35rem,4.1vw,3.45rem)!important;line-height:1.015!important;max-width:1050px!important;letter-spacing:-.046em!important}.rl-page--article .rl-lede{max-width:780px}
.rl-shop-spotlight{margin:22px 0 32px!important;padding:18px!important}.rl-shop-spotlight__head{margin-bottom:14px!important}.rl-shop-spotlight__head h2{font-size:clamp(1.55rem,2.4vw,2rem)!important;margin:0 0 5px!important}.rl-shop-grid{gap:14px!important}.rl-shop-card{min-height:0!important;padding:14px!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(31,55,40,.05)!important}.rl-shop-card__media img{max-height:180px!important;object-fit:contain!important}.rl-shop-card__content h3{font-size:1.08rem!important;line-height:1.18!important}.rl-shop-card__content p{font-size:.91rem!important;line-height:1.5!important}.rl-shop-card__cta{padding:.72rem .95rem!important;font-size:.86rem!important}
.rl-product-card{border-radius:18px!important;box-shadow:0 14px 38px rgba(31,55,40,.055)!important}.rl-product-card__top{padding:18px!important}.rl-product-card__image img{max-height:300px!important}.rl-product-card__summary h3{font-size:clamp(1.28rem,2vw,1.7rem)!important;line-height:1.1!important}.rl-product-card__body{padding:17px 18px!important}
.rl-equipment-path,.rl-workshop-map,.rl-lapidary-path,.rl-choice-cards,.rl-lap-compare,.rl-saw-purpose{display:grid;gap:14px;margin:20px 0 28px}.rl-equipment-path{grid-template-columns:repeat(4,minmax(0,1fr))}.rl-equipment-path article,.rl-workshop-map article,.rl-lapidary-path article,.rl-choice-cards article,.rl-lap-compare article,.rl-saw-purpose article{border:1px solid rgba(41,60,48,.11);background:#fff;border-radius:17px;padding:18px;box-shadow:0 9px 25px rgba(31,55,40,.04)}.rl-equipment-path article>span,.rl-lapidary-path article>span{display:inline-block;font-size:.69rem;letter-spacing:.11em;text-transform:uppercase;font-weight:850;color:#9a6d52;margin-bottom:7px}.rl-equipment-path h3,.rl-workshop-map h3{margin:0 0 7px!important;font-size:1.15rem!important}.rl-equipment-path p,.rl-workshop-map p,.rl-lapidary-path p{margin:0 0 8px!important;font-size:.93rem}.rl-equipment-path a{font-size:.87rem;font-weight:800}.rl-workshop-map{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch}.rl-workshop-map i,.rl-lapidary-path b,.rl-saw-purpose b{display:grid;place-items:center;color:#718078;font-style:normal;font-weight:900}.rl-lapidary-path{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center}.rl-choice-cards,.rl-lap-compare,.rl-saw-purpose{grid-template-columns:repeat(2,minmax(0,1fr))}.rl-choice-cards strong,.rl-lap-compare strong,.rl-saw-purpose strong{display:block;font-size:1.08rem;margin-bottom:6px}.rl-lap-compare span,.rl-saw-purpose span{display:inline-block;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#9a6d52;margin-bottom:7px}
.rl-lapidary-blueprint,.rl-saw-diagram{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:24px;align-items:center;background:linear-gradient(135deg,#f2f5ef,#fff);border:1px solid rgba(41,60,48,.11);border-radius:20px;padding:20px;margin:22px 0 30px;overflow:hidden}.rl-lapidary-blueprint svg,.rl-saw-diagram svg{width:100%;height:auto;display:block}.rl-lapidary-blueprint h3,.rl-saw-diagram strong{font-size:1.35rem;line-height:1.15}.rl-saw-diagram>div:first-child p{margin:.4rem 0 0}
.rl-lap-size-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 28px}.rl-lap-size-visual>div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:center;border:1px solid rgba(41,60,48,.11);border-radius:18px;background:#fff;padding:18px}.rl-lap-size-visual span{font-size:1.4rem;font-weight:850;color:#183026}.rl-lap-size-visual i{grid-row:1/3;grid-column:2;width:var(--d);height:var(--d);max-width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fafbf8,#d6ddd4);border:4px solid #31513d;justify-self:end}.rl-lap-size-visual strong{font-size:.88rem;color:#66736c}
.rl-wheel-flow{display:flex;align-items:stretch;gap:7px;margin:20px 0 30px;overflow-x:auto;padding-bottom:5px}.rl-wheel-flow>div{min-width:130px;border-radius:15px;padding:14px;background:#fff;border:1px solid rgba(41,60,48,.11);text-align:center}.rl-wheel-flow span{display:block;color:#9a6d52;font-weight:900;margin-bottom:5px}.rl-wheel-flow strong{font-size:.88rem}.rl-wheel-flow i{display:grid;place-items:center;font-style:normal;color:#728079;font-weight:900}
.rl-affiliate-end{font-size:.68rem!important;opacity:.72;margin-top:2.2rem!important;padding-top:.65rem!important}
@media(max-width:900px){.rl-equipment-path{grid-template-columns:repeat(2,minmax(0,1fr))}.rl-workshop-map,.rl-lapidary-path{grid-template-columns:1fr}.rl-workshop-map i,.rl-lapidary-path b{transform:rotate(90deg);min-height:12px}.rl-lapidary-blueprint,.rl-saw-diagram{grid-template-columns:1fr}.rl-lap-size-visual i{width:min(var(--d),145px);height:min(var(--d),145px)}}
@media(max-width:720px){.rl-page--article .rl-pagehero{padding-top:34px!important;padding-bottom:32px!important}.rl-page--article .rl-pagehero h1{font-size:clamp(1.82rem,8vw,2.35rem)!important;line-height:1.04!important}.rl-story-section--split,.rl-story-section--rich{padding:14px!important;margin:12px 0 16px!important}.rl-story-section--split .rl-story-section__body{padding:13px!important;margin-top:10px!important}.rl-equipment-path,.rl-choice-cards,.rl-lap-compare,.rl-saw-purpose,.rl-lap-size-visual{grid-template-columns:1fr}.rl-lap-size-visual>div{grid-template-columns:auto 1fr;padding:14px}.rl-lap-size-visual i{width:110px!important;height:110px!important}.rl-lapidary-blueprint,.rl-saw-diagram{padding:14px;gap:12px}.rl-wheel-flow>div{min-width:112px}.rl-shop-card{grid-template-columns:92px minmax(0,1fr)!important}.rl-shop-card__media img{max-height:130px!important}.rl-product-card__top{grid-template-columns:1fr!important}.rl-product-card__image{max-width:240px;margin:0 auto}.rl-product-card__summary{text-align:left}.rl-product-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:430px){.rl-equipment-path{grid-template-columns:1fr}.rl-shop-card{grid-template-columns:82px minmax(0,1fr)!important;padding:11px!important;gap:10px!important}.rl-shop-card__badge{font-size:.65rem}.rl-shop-card__content h3{font-size:.95rem!important}.rl-shop-card__content p{font-size:.84rem!important}.rl-shop-card__fact{font-size:.72rem!important}.rl-shop-card__cta{font-size:.8rem!important}.rl-product-facts{grid-template-columns:1fr!important}.rl-lap-size-visual i{width:90px!important;height:90px!important}}

/* v2.2 — complete-guide components, richer commercial pages and mobile comparison UX */
.rl-guide-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0 30px;padding:10px 12px;border:1px solid rgba(41,60,48,.10);border-radius:14px;background:#f7f8f5}.rl-guide-nav strong{font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:#785b49;margin-right:5px}.rl-guide-nav a{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid rgba(41,60,48,.10);font-size:.82rem;font-weight:750;color:#294334;text-decoration:none}.rl-guide-nav a:hover{background:#eef3eb}
.rl-guide-cards,.rl-included-grid,.rl-maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 30px}.rl-guide-cards article,.rl-included-grid article,.rl-maintenance-grid article{padding:18px;border:1px solid rgba(41,60,48,.11);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(31,55,40,.035)}.rl-guide-cards span{display:block;font-size:.68rem;font-weight:850;letter-spacing:.10em;text-transform:uppercase;color:#9a6d52;margin-bottom:7px}.rl-guide-cards strong,.rl-included-grid strong,.rl-maintenance-grid strong{display:block;font-size:1.02rem;line-height:1.22;color:#17201b;margin-bottom:7px}.rl-guide-cards p,.rl-included-grid p,.rl-maintenance-grid p{margin:0!important;font-size:.93rem;line-height:1.62;color:#526057}
.rl-setup-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 30px}.rl-setup-flow article{position:relative;padding:18px 16px;border:1px solid rgba(41,60,48,.11);border-radius:16px;background:linear-gradient(180deg,#fff,#f9faf7)}.rl-setup-flow article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#294334;color:#fff;font-size:.78rem;font-weight:900;margin-bottom:10px}.rl-setup-flow strong{display:block;margin-bottom:6px;color:#17201b}.rl-setup-flow p{margin:0!important;font-size:.9rem;line-height:1.55;color:#566158}
.rl-cost-flow,.rl-material-flow,.rl-water-diagram,.rl-grit-timeline{display:flex;align-items:stretch;gap:8px;margin:18px 0 30px;overflow-x:auto;padding:2px 0 7px;scroll-snap-type:x proximity}.rl-cost-flow article,.rl-material-flow article,.rl-grit-timeline article,.rl-water-diagram>div{flex:1 0 145px;scroll-snap-align:start;border:1px solid rgba(41,60,48,.11);border-radius:15px;background:#fff;padding:14px;text-align:center}.rl-cost-flow i,.rl-material-flow i,.rl-grit-timeline i,.rl-water-diagram i{display:grid;place-items:center;font-style:normal;font-weight:900;color:#76837a;min-width:22px}.rl-cost-flow strong,.rl-material-flow strong,.rl-grit-timeline strong,.rl-water-diagram strong{display:block;color:#17201b}.rl-cost-flow span,.rl-material-flow span,.rl-water-diagram span{display:block;margin-top:5px;font-size:.82rem;color:#6a756e}.rl-grit-timeline span{display:inline-block;color:#9a6d52;font-weight:900;margin-bottom:5px}.rl-grit-timeline p{margin:.35rem 0 0!important;font-size:.82rem;color:#6a756e}
.rl-decision-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 30px}.rl-decision-list>div{border-left:4px solid #6d8776;padding:15px 16px;background:#f5f7f2;border-radius:0 14px 14px 0}.rl-decision-list strong{display:block;color:#17201b;margin-bottom:5px}.rl-decision-list span{font-size:.92rem;color:#58635b}
.rl-cta-band{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:28px 0;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#223a2c,#2d4a38);color:#fff;box-shadow:0 16px 35px rgba(28,52,38,.13)}.rl-cta-band span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#d6dfd7;margin-bottom:4px}.rl-cta-band strong{font-size:1.1rem}.rl-cta-band .rl-button{margin:0;background:#fff!important;color:#223a2c!important;white-space:nowrap}
.rl-cta-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0}.rl-cta-split a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;border-radius:16px;background:#243d2e;color:#fff;padding:16px 18px}.rl-cta-split span{font-size:.82rem;color:#d8e0d9}.rl-cta-split strong{font-size:.94rem}
.rl-size-test{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 30px}.rl-size-test>div{border:1px solid rgba(41,60,48,.11);border-radius:18px;background:#fff;padding:20px}.rl-size-test span{display:inline-block;font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#9a6d52;margin-bottom:7px}.rl-size-test strong{display:block;font-size:1.15rem;color:#17201b;margin-bottom:6px}.rl-size-test p{margin:0!important;color:#5c675f}
.rl-bench-diagram{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0 30px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#f0f4ed,#fff);border:1px solid rgba(41,60,48,.10)}.rl-bench-diagram>div{padding:16px;background:#fff;border-radius:13px;border:1px solid rgba(41,60,48,.10)}.rl-bench-diagram span{display:block;font-size:.65rem;font-weight:850;letter-spacing:.1em;color:#9a6d52;margin-bottom:5px}.rl-bench-diagram strong{color:#17201b}.rl-bench-diagram small{grid-column:1/-1;color:#657068;padding:3px 4px 0}
.rl-story-section--rich .rl-guide-nav,.rl-story-section--rich .rl-setup-flow,.rl-story-section--rich .rl-guide-cards,.rl-story-section--rich .rl-included-grid,.rl-story-section--rich .rl-maintenance-grid,.rl-story-section--rich .rl-cost-flow,.rl-story-section--rich .rl-material-flow,.rl-story-section--rich .rl-water-diagram,.rl-story-section--rich .rl-grit-timeline,.rl-story-section--rich .rl-decision-list,.rl-story-section--rich .rl-cta-band,.rl-story-section--rich .rl-cta-split,.rl-story-section--rich .rl-size-test,.rl-story-section--rich .rl-bench-diagram{grid-column:1/-1}
@media(max-width:900px){.rl-setup-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.rl-guide-cards,.rl-included-grid,.rl-maintenance-grid,.rl-decision-list{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.rl-guide-nav{gap:6px;padding:9px;margin:14px 0 20px}.rl-guide-nav strong{width:100%;margin-bottom:1px}.rl-guide-nav a{font-size:.75rem;padding:6px 8px}.rl-guide-cards,.rl-included-grid,.rl-maintenance-grid,.rl-decision-list,.rl-setup-flow,.rl-size-test,.rl-bench-diagram,.rl-cta-split{grid-template-columns:1fr}.rl-guide-cards article,.rl-included-grid article,.rl-maintenance-grid article,.rl-setup-flow article{padding:15px}.rl-bench-diagram small{grid-column:1}.rl-cta-band{align-items:stretch;flex-direction:column;padding:16px}.rl-cta-band .rl-button{width:100%;text-align:center}.rl-table-wrap{position:relative;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.rl-table-wrap .rl-spec-table{min-width:680px!important}.rl-table-wrap:before{content:'Swipe to compare →';display:block;position:sticky;left:0;width:max-content;margin:0 0 8px;padding:5px 8px;border-radius:999px;background:#f2f5ef;color:#617065;font-size:.68rem;font-weight:800;letter-spacing:.02em}.rl-cost-flow,.rl-material-flow,.rl-water-diagram,.rl-grit-timeline{margin-left:-2px;margin-right:-2px}.rl-cost-flow article,.rl-material-flow article,.rl-grit-timeline article,.rl-water-diagram>div{flex-basis:135px}}


/* v2.3 — site-wide layout hardening and component containment */
.rl-page,.rl-home{overflow-x:clip}
.rl-content,.rl-page--article .rl-content{max-width:none!important}
.rl-content>.rl-story-section{width:100%;max-width:100%;margin-left:0;margin-right:0}
.rl-story-section,.rl-story-section__head,.rl-story-section__body{min-width:0;max-width:100%}
.rl-story-section--rich{display:block!important}
.rl-story-section--rich .rl-story-section__body{width:100%;max-width:none!important;min-width:0}
.rl-story-section--rich .rl-product-card,
.rl-story-section--rich .rl-table-wrap,
.rl-story-section--rich .rl-media-cards,
.rl-story-section--rich .rl-saw-purpose,
.rl-story-section--rich .rl-lap-compare,
.rl-story-section--rich .rl-choice-cards,
.rl-story-section--rich .rl-equipment-path,
.rl-story-section--rich .rl-prosegrid,
.rl-story-section--rich .rl-related-guides{width:100%;max-width:100%}

/* Product cards must always stay inside their parent column. */
.rl-product-card{width:100%;max-width:1040px;min-width:0;margin-left:0;margin-right:0}
.rl-product-card__top,.rl-product-card__top--has-image{width:100%;min-width:0}
.rl-product-card__top--has-image{
  grid-template-columns:minmax(180px,240px) minmax(0,1fr) minmax(170px,215px)!important;
  gap:clamp(16px,2.2vw,24px)!important;
}
.rl-product-card__summary,.rl-product-facts,.rl-product-facts span{min-width:0;max-width:100%}
.rl-product-card h3,.rl-product-best,.rl-product-facts span{overflow-wrap:anywhere;word-break:normal}
.rl-product-facts span{white-space:normal}
.rl-product-cta,.rl-product-cta--top{max-width:100%;white-space:normal;text-align:center}
.rl-product-card__image{min-width:0;max-width:100%;height:auto}
.rl-product-card__image img{max-width:100%}

/* Rich comparison components should not inherit prose-column constraints. */
.rl-media-cards,.rl-saw-purpose,.rl-lap-compare,.rl-choice-cards{min-width:0}
.rl-media-cards>article,.rl-saw-purpose>*,.rl-lap-compare>*,.rl-choice-cards>*{min-width:0}
.rl-media-cards h2,.rl-media-cards h3{overflow-wrap:normal;word-break:normal}

/* Tables may scroll on small screens, but their wrapper must never escape the article. */
.rl-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto!important}
.rl-table-wrap .rl-spec-table{width:100%;max-width:none}

/* Preserve readable measure for plain prose while keeping designed sections centered. */
.rl-story-section--split .rl-story-section__body{min-width:0;width:100%;max-width:720px}
.rl-story-section--split .rl-story-section__body>*{max-width:100%}

@media(max-width:980px){
  .rl-product-card__top--has-image{
    grid-template-columns:minmax(160px,210px) minmax(0,1fr)!important;
  }
  .rl-product-card__top--has-image .rl-product-facts{
    grid-column:1/-1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  .rl-content,.rl-page--article .rl-content{width:min(100% - 28px,1080px)!important}
  .rl-story-section--split{grid-template-columns:1fr!important}
  .rl-story-section--split .rl-story-section__body{max-width:none!important}
  .rl-product-card{padding:14px!important}
  .rl-product-card__top,.rl-product-card__top--has-image{grid-template-columns:1fr!important;padding:0!important}
  .rl-product-card__top--has-image .rl-product-facts{grid-column:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rl-product-card__image{width:min(100%,260px);max-width:260px;margin:0 auto}
  .rl-product-card__summary{padding-top:0!important}
  .rl-product-card__body{grid-template-columns:1fr!important;padding:14px 0 0!important}
}
@media(max-width:430px){
  .rl-product-card__top--has-image .rl-product-facts{grid-template-columns:1fr!important}
}

/* The saw comparison has three grid children: card / VS / card. */
@media(min-width:721px){
  .rl-saw-purpose{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    align-items:stretch!important;
  }
  .rl-saw-purpose>b{min-width:42px;align-self:center}
}

/* v2.4 — high-ticket lapidary comparison visuals and responsive budget/workflow modules */
.rl-visual-card,
.rl-budget-visual,
.rl-bench-plan,
.rl-machine-paths,
.rl-saw-size-ladder,
.rl-cut-workflow,
.rl-budget-cards{
  width:min(100%,1040px);
  max-width:1040px;
  min-width:0;
  box-sizing:border-box;
}
.rl-visual-card{
  margin:24px 0 34px;
  padding:18px 20px;
  overflow:hidden;
  border:1px solid var(--rl-line);
  border-radius:18px;
  background:linear-gradient(145deg,#fff 0%,#f4f6f1 100%);
  box-shadow:0 12px 34px rgba(35,49,40,.045);
}
.rl-visual-card svg{display:block;width:100%;height:auto;max-height:360px;overflow:visible}
.rl-visual-card svg text{font:700 18px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:var(--rl-ink)}
.rl-svg-table{fill:#d9ded5}
.rl-svg-blade{fill:#f5f7f3;stroke:#65756b;stroke-width:8}
.rl-svg-blade-solid{fill:#829188}
.rl-svg-hub{fill:var(--rl-clay)}
.rl-svg-rock{fill:#d5c1a6;stroke:#9a765b;stroke-width:4}
.rl-svg-water{fill:none;stroke:#6f9293;stroke-width:8;stroke-linecap:round}
.rl-svg-water-fill{fill:#6f9293}
.rl-svg-line{fill:none;stroke:#829188;stroke-width:4;stroke-linecap:round}
.rl-svg-disc{fill:#cbd4cb}
.rl-svg-disc-top{fill:#eef2eb;stroke:#65756b;stroke-width:5}
.rl-svg-wheels circle{fill:#eef2eb;stroke:#65756b;stroke-width:5}
.rl-svg-wheels circle:nth-child(2n){fill:#e4e9e1}

.rl-saw-size-ladder{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:22px 0 34px;
}
.rl-saw-size-ladder article{
  min-width:0;
  padding:20px;
  border:1px solid var(--rl-line);
  border-radius:16px;
  background:#fff;
}
.rl-saw-size-ladder span,
.rl-saw-size-ladder small{display:block;color:var(--rl-muted)}
.rl-saw-size-ladder span{font-size:.74rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.rl-saw-size-ladder strong{display:block;margin:6px 0 3px;font-size:clamp(1.65rem,3vw,2.35rem);color:var(--rl-moss-dark)}
.rl-saw-size-ladder small{font-size:.86rem;line-height:1.45}

.rl-cut-workflow{
  display:grid;
  grid-template-columns:minmax(120px,1fr) 24px minmax(120px,1fr) 24px minmax(120px,1fr) 24px minmax(120px,1fr) 24px minmax(120px,1fr);
  gap:8px;
  align-items:stretch;
  margin:24px 0 36px;
}
.rl-cut-workflow>div{
  min-width:0;
  padding:18px 14px;
  border:1px solid var(--rl-line);
  border-radius:15px;
  background:#fff;
  text-align:center;
}
.rl-cut-workflow>div.rl-cut-workflow__machine{background:#eef2eb;border-color:#cbd6ca}
.rl-cut-workflow>b{align-self:center;text-align:center;color:var(--rl-clay);font-size:1.4rem}
.rl-cut-workflow span{display:inline-grid;place-items:center;width:28px;height:28px;margin-bottom:8px;border-radius:999px;background:var(--rl-moss-dark);color:#fff;font-size:.75rem}
.rl-cut-workflow strong,.rl-cut-workflow small{display:block}
.rl-cut-workflow strong{font-size:1rem;color:var(--rl-ink)}
.rl-cut-workflow small{margin-top:5px;color:var(--rl-muted);font-size:.78rem;line-height:1.4}
.rl-cut-workflow--compact{grid-template-columns:minmax(140px,1fr) 24px minmax(140px,1fr) 24px minmax(140px,1fr) 24px minmax(140px,1fr)}

.rl-machine-paths{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:24px 0 36px;
}
.rl-machine-path{
  min-width:0;
  padding:20px;
  border:1px solid var(--rl-line);
  border-radius:18px;
  background:#fff;
}
.rl-machine-path>span{display:block;margin-bottom:8px;color:var(--rl-clay);font-size:.72rem;font-weight:850;letter-spacing:.1em}
.rl-machine-path svg{display:block;width:100%;height:auto;max-height:220px}
.rl-machine-path svg text{font:700 15px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:var(--rl-ink)}

.rl-budget-visual{
  margin:24px 0 36px;
  padding:20px;
  border:1px solid var(--rl-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 34px rgba(35,49,40,.04);
}
.rl-budget-bar{display:flex;min-height:86px;overflow:hidden;border-radius:14px;background:#eef1eb}
.rl-budget-bar>span{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:14px 16px;overflow:hidden;line-height:1.15}
.rl-budget-bar__saw{background:#dce6dc;color:#254634}
.rl-budget-bar__lap{background:#bfcfbe;color:#1d3c2c}
.rl-budget-bar__room{background:#ede4d9;color:#744f39;align-items:center;text-align:center;font-weight:800}
.rl-budget-bar strong{display:block;margin-top:4px;font-size:1.25rem}
.rl-budget-visual>small{display:block;margin-top:10px;color:var(--rl-muted);font-size:.78rem;line-height:1.45}
.rl-budget-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:22px 0 34px;
}
.rl-budget-cards article{
  min-width:0;
  padding:18px;
  border:1px solid var(--rl-line);
  border-radius:15px;
  background:#fff;
}
.rl-budget-cards strong{display:block;margin-bottom:7px;color:var(--rl-ink)}
.rl-budget-cards p{margin:0!important;font-size:.9rem;line-height:1.52}

.rl-bench-plan{
  display:grid;
  grid-template-columns:1fr .82fr 1fr;
  gap:12px;
  margin:24px 0 36px;
  padding:16px;
  border:1px solid var(--rl-line);
  border-radius:18px;
  background:#f8f9f5;
}
.rl-bench-plan>div{min-width:0;padding:24px 18px;border-radius:14px;text-align:center}
.rl-bench-plan__saw{background:#e3ece3}
.rl-bench-plan__gap{background:#fff;border:1px dashed #cfd6ce}
.rl-bench-plan__lap{background:#edf0e8}
.rl-bench-plan span,.rl-bench-plan strong,.rl-bench-plan small{display:block}
.rl-bench-plan span{font-size:.7rem;font-weight:850;letter-spacing:.1em;color:var(--rl-clay)}
.rl-bench-plan strong{margin:7px 0 5px;color:var(--rl-ink);font-size:1.05rem}
.rl-bench-plan small{color:var(--rl-muted);font-size:.8rem;line-height:1.42}

/* Keep article visuals and product cards inside the rich section even with long copy. */
.rl-story-section--rich .rl-visual-card,
.rl-story-section--rich .rl-budget-visual,
.rl-story-section--rich .rl-bench-plan,
.rl-story-section--rich .rl-machine-paths,
.rl-story-section--rich .rl-saw-size-ladder,
.rl-story-section--rich .rl-cut-workflow,
.rl-story-section--rich .rl-budget-cards{max-width:100%}

@media(max-width:980px){
  .rl-cut-workflow,.rl-cut-workflow--compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .rl-cut-workflow>b{display:none}
  .rl-budget-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .rl-visual-card{padding:12px;margin:20px 0 28px}
  .rl-visual-card svg text{font-size:15px}
  .rl-saw-size-ladder,.rl-machine-paths,.rl-bench-plan{grid-template-columns:1fr}
  .rl-cut-workflow,.rl-cut-workflow--compact{grid-template-columns:1fr}
  .rl-cut-workflow>div{text-align:left}
  .rl-cut-workflow span{margin-right:8px;vertical-align:middle}
  .rl-budget-bar{flex-direction:column;min-height:0}
  .rl-budget-bar>span{min-height:64px;flex:auto!important}
  .rl-budget-bar__room{min-height:48px!important}
  .rl-budget-cards{grid-template-columns:1fr}
  .rl-bench-plan{padding:12px}
}

@media(max-width:520px){
  .rl-saw-size-ladder article,.rl-budget-cards article{padding:16px}
  .rl-machine-path{padding:14px}
  .rl-visual-card svg text{font-size:13px}
}


/* v2.5 — lapidary commercial cluster visuals + containment */
.rl-cab-size-visual .rl-svg-machine circle{fill:#d7dfd6;stroke:#294334;stroke-width:5}
.rl-svg-measure{stroke:#9a6d52;stroke-width:3;fill:none;stroke-linecap:round}
.rl-svg-arrow{stroke:#5b7565;stroke-width:4;fill:none;marker-end:none}
.rl-svg-box{fill:#f7f8f4;stroke:#cfd8d0;stroke-width:2}
.rl-wheel-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 30px}
.rl-wheel-rail article{min-width:0;padding:18px 16px;border:1px solid rgba(41,60,48,.12);border-radius:17px;background:linear-gradient(180deg,#fff,#f5f7f3);box-shadow:0 8px 25px rgba(31,55,40,.04)}
.rl-wheel-rail span{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:5px 9px;border-radius:999px;background:#294334;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.04em;margin-bottom:9px}
.rl-wheel-rail strong{display:block;font-size:1.05rem;color:var(--rl-ink);margin-bottom:5px}.rl-wheel-rail p{margin:0!important;font-size:.9rem;line-height:1.55}
.rl-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 30px}
.rl-spec-grid article{min-width:0;padding:18px 16px;border:1px solid rgba(41,60,48,.11);border-radius:16px;background:#fff}.rl-spec-grid span{display:block;font-size:.68rem;letter-spacing:.12em;color:#9a6d52;font-weight:900;margin-bottom:7px}.rl-spec-grid strong{display:block;font-size:1.03rem;margin-bottom:6px}.rl-spec-grid p{margin:0!important;font-size:.9rem;line-height:1.55}
.rl-kerf-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0 30px}.rl-kerf-visual article{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;column-gap:14px;row-gap:5px;padding:18px;border:1px solid rgba(41,60,48,.11);border-radius:17px;background:#fff;min-width:0}.rl-kerf{grid-column:1!important;grid-row:1/3!important;align-self:stretch;justify-self:center;display:block;background:linear-gradient(180deg,#b0b5ae,#777f78);border-radius:3px;min-height:90px}.rl-kerf--thin{width:6px}.rl-kerf--wide{width:18px}.rl-kerf-visual article>strong{grid-column:2!important;grid-row:1!important;display:block!important;min-width:0;width:auto!important;max-width:none!important;font-size:1.05rem}.rl-kerf-visual article>p{grid-column:2!important;grid-row:2!important;display:block!important;min-width:0;width:auto!important;max-width:none!important;margin:0!important;font-size:.92rem;line-height:1.55;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.rl-machine-triad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 34px}.rl-machine-triad article{min-width:0;padding:20px;border:1px solid rgba(41,60,48,.12);border-radius:18px;background:linear-gradient(180deg,#fff,#f7f8f4);box-shadow:0 10px 30px rgba(31,55,40,.045)}.rl-machine-triad span{display:inline-block;font-size:.68rem;letter-spacing:.12em;font-weight:900;color:#9a6d52;margin-bottom:8px}.rl-machine-triad strong{display:block;font-size:1.2rem;margin-bottom:7px;color:var(--rl-ink)}.rl-machine-triad p{margin:0 0 12px!important;font-size:.94rem}.rl-machine-triad b{display:block;font-size:.82rem;line-height:1.45;color:#52635a;font-weight:800}
.rl-story-section--rich .rl-wheel-rail,.rl-story-section--rich .rl-spec-grid,.rl-story-section--rich .rl-kerf-visual,.rl-story-section--rich .rl-machine-triad{grid-column:1/-1;min-width:0;width:100%}
.rl-wheel-rail>*,.rl-spec-grid>*,.rl-kerf-visual>*,.rl-machine-triad>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:980px){.rl-wheel-rail,.rl-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rl-machine-triad{grid-template-columns:1fr 1fr}.rl-machine-triad article:last-child{grid-column:1/-1}}
@media(max-width:720px){.rl-wheel-rail,.rl-spec-grid,.rl-kerf-visual,.rl-machine-triad{grid-template-columns:1fr}.rl-machine-triad article:last-child{grid-column:auto}.rl-visual-card svg text{font-size:15px!important}.rl-cab-size-visual svg{min-width:620px}.rl-cab-size-visual{overflow-x:auto}.rl-blade-anatomy svg{min-width:620px}.rl-blade-anatomy{overflow-x:auto}}

/* v2.5.1 — explicit kerf-copy placement prevents theme/global grid rules from collapsing copy into the 46px blade column. */
@media(max-width:420px){.rl-kerf-visual article{grid-template-columns:34px minmax(0,1fr)!important;padding:15px;column-gap:11px}.rl-kerf{min-height:74px}}

/* v2.5.2 — site-wide grid alignment, balanced card rows and responsive hardening */

/* Hub navigation blocks must share one visual width. Earlier releases mixed a
   full-width commercial grid with a 1080px link grid inside a 1180px hub,
   which created the stepped / crooked right edge visible on wide screens. */
.rl-content > .rl-link-grid,
.rl-content > .rl-commercial-paths,
.rl-content > .rl-grid,
.rl-content > .rl-diagnose-grid{
  width:100%;
  max-width:none!important;
  margin-left:0;
  margin-right:0;
}

/* The first commercial paths and the following topic links now use the same
   card rhythm, so one grid does not look shorter or wider than the next. */
.rl-content > .rl-commercial-paths,
.rl-content > .rl-link-grid{gap:16px}
.rl-content > .rl-commercial-paths a,
.rl-content > .rl-link-grid .rl-topic-link{
  min-height:154px;
  height:100%;
  padding:22px 23px;
  border-radius:18px;
  gap:7px;
}
.rl-content > .rl-commercial-paths span{
  font-size:.69rem;
  letter-spacing:.11em;
}
.rl-content > .rl-commercial-paths strong{
  font-size:1.08rem;
  line-height:1.28;
}
.rl-content > .rl-commercial-paths em{
  font-size:.91rem;
  line-height:1.55;
}

/* All repeated card systems stretch items consistently rather than allowing
   a short card to make one row look stepped. */
.rl-link-grid,
.rl-commercial-paths,
.rl-prosegrid,
.rl-related-guides,
.rl-process-strip,
.rl-decision-branches,
.rl-check-steps,
.rl-material-ranking,
.rl-clean-stage-map,
.rl-location-score,
.rl-choice-cards,
.rl-guide-cards,
.rl-included-grid,
.rl-maintenance-grid,
.rl-decision-list,
.rl-wheel-rail,
.rl-spec-grid,
.rl-machine-triad,
.rl-budget-cards,
.rl-saw-size-ladder{
  align-items:stretch;
}
.rl-link-grid > *,
.rl-commercial-paths > *,
.rl-prosegrid > *,
.rl-related-guides > *,
.rl-process-strip > div,
.rl-decision-branches > div,
.rl-check-steps > div,
.rl-material-ranking > article,
.rl-clean-stage-map > div,
.rl-location-score > div,
.rl-choice-cards > *,
.rl-guide-cards > *,
.rl-included-grid > *,
.rl-maintenance-grid > *,
.rl-decision-list > *,
.rl-wheel-rail > *,
.rl-spec-grid > *,
.rl-machine-triad > *,
.rl-budget-cards > *,
.rl-saw-size-ladder > *{
  height:100%;
  min-width:0;
}

/* Narrow editorial modules keep their readable measure, but are centered so
   their whitespace is symmetrical instead of collecting on the right. */
.rl-content > .rl-answer-box,
.rl-content > .rl-review-status,
.rl-content > .rl-formula-card,
.rl-content > .rl-stage-flow,
.rl-content > .rl-process-strip,
.rl-content > .rl-barrel-compare,
.rl-content > .rl-media-cards,
.rl-content > .rl-material-facts,
.rl-content > .rl-compat-legend,
.rl-content > .rl-material-ranking,
.rl-content > .rl-next-step{
  margin-left:auto;
  margin-right:auto;
}

@media(min-width:1001px){
  /* Four-step strips should be one intentional four-card row, not 3 + 1. */
  .rl-process-strip:has(> div:nth-child(4):last-child){
    grid-template-columns:repeat(4,minmax(0,1fr));
    max-width:1080px;
  }
}

@media(min-width:761px){
  /* Balance odd two-column hub/prose grids by centering the orphan card. */
  .rl-link-grid > :last-child:nth-child(odd),
  .rl-prosegrid > :last-child:nth-child(odd){
    grid-column:1/-1;
    width:calc(50% - 8px);
    justify-self:center;
  }

  /* A two-card related/decision module should use two columns, not leave a
     third empty track because the generic component defaults to three. */
  .rl-related-guides:has(> :nth-child(2):last-child),
  .rl-decision-branches:has(> :nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(min-width:761px) and (max-width:1000px){
  /* Tablet cards are easier to scan as a balanced 2-column matrix. */
  .rl-process-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:none;
  }
  .rl-process-strip > div:last-child:nth-child(odd){
    grid-column:1/-1;
    width:calc(50% - 7px);
    justify-self:center;
  }
}

@media(min-width:761px) and (max-width:1050px){
  /* Five-card systems previously became 3 + 2 on tablet. Use 2 + 2 + a
     centered final card for a deliberate composition. */
  .rl-check-steps,
  .rl-material-ranking,
  .rl-location-score,
  .rl-clean-stage-map{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .rl-check-steps > :last-child:nth-child(odd),
  .rl-material-ranking > :last-child:nth-child(odd),
  .rl-location-score > :last-child:nth-child(odd),
  .rl-clean-stage-map > :last-child:nth-child(odd){
    grid-column:1/-1;
    width:calc(50% - 7px);
    justify-self:center;
  }
}

@media(max-width:760px){
  /* Mobile is always a true single column; remove desktop orphan placement. */
  .rl-content > .rl-commercial-paths a,
  .rl-content > .rl-link-grid .rl-topic-link{
    min-height:0;
    padding:18px;
  }
  .rl-link-grid > :last-child:nth-child(odd),
  .rl-prosegrid > :last-child:nth-child(odd),
  .rl-process-strip > div:last-child:nth-child(odd),
  .rl-check-steps > :last-child:nth-child(odd),
  .rl-material-ranking > :last-child:nth-child(odd),
  .rl-location-score > :last-child:nth-child(odd),
  .rl-clean-stage-map > :last-child:nth-child(odd){
    grid-column:auto!important;
    width:100%!important;
    justify-self:stretch!important;
  }
  .rl-related-guides:has(> :nth-child(2):last-child),
  .rl-decision-branches:has(> :nth-child(2):last-child){
    grid-template-columns:1fr!important;
  }
}

/* v2.5.2 — keep small workflow labels on their own line so label + title
   never concatenate visually (for example ROUGH / Cut). */
.rl-lapidary-path article > span{
  display:block!important;
  margin-bottom:6px!important;
}
.rl-lapidary-path article > strong{
  display:block;
  margin-bottom:6px;
  line-height:1.25;
}

/* v2.5.2 — tablet balance pass found during whole-site grid QA. */
@media(min-width:761px) and (max-width:980px){
  /* Three product choices should read as 2 + centered 1 instead of a stray
     card attached to the left edge. */
  .rl-shop-grid > .rl-shop-card:last-child:nth-child(odd){
    grid-column:1/-1;
    width:calc(50% - 7px);
    justify-self:center;
  }

  /* Older workflow markup uses bare <b> arrows. Hide those arrows at the
     tablet breakpoint before the cards become a two-column matrix. */
  .rl-stage-flow > b{display:none!important}

  /* Five- and three-card process modules use an intentional centered final
     card when the tablet layout has two columns. */
  .rl-load-sequence > div:last-child:nth-of-type(5),
  .rl-finish-diagnostic > div:last-child:nth-of-type(3),
  .rl-cut-workflow > div:last-child:nth-of-type(5){
    grid-column:1/-1;
    width:calc(50% - 6px);
    justify-self:center;
  }
}

@media(max-width:760px){
  .rl-shop-grid > .rl-shop-card:last-child:nth-child(odd),
  .rl-load-sequence > div:last-child,
  .rl-finish-diagnostic > div:last-child,
  .rl-cut-workflow > div:last-child{
    grid-column:auto!important;
    width:100%!important;
    justify-self:stretch!important;
  }
}

/* On stacked mobile workshop paths use a real down arrow. Rotating a thin
   right-arrow glyph can render as a nearly invisible vertical mark. */
@media(max-width:900px){
  .rl-workshop-map > i,
  .rl-lapidary-path > b{
    transform:none!important;
    font-size:0!important;
    min-height:18px!important;
  }
  .rl-workshop-map > i::after,
  .rl-lapidary-path > b::after{
    content:"↓";
    display:block;
    font-size:1rem;
    line-height:1;
    color:#718078;
  }
}

/* v2.5.2 — some older grit/polish workflow markup uses plain child divs
   instead of the newer .rl-flow-step class. Style both forms identically. */
.rl-stage-flow > div{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  padding:18px;
  border-radius:16px;
  border:1px solid var(--rl-line);
  background:#fff;
}
.rl-stage-flow > div > span{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--rl-moss-dark);
  color:#fff;
  font-weight:800;
  font-size:.86rem;
}
.rl-stage-flow > div strong{font-size:1.05rem;line-height:1.2;color:var(--rl-ink)}
.rl-stage-flow > div small{font-size:.82rem;line-height:1.45;color:var(--rl-muted)}
.rl-stage-flow > b{font-size:1.45rem;color:#9aa39b;font-weight:700;text-align:center}
@media(max-width:760px){.rl-stage-flow > div{min-height:0}}

/* v2.7-v2.8 commercial media resilience layer */
/* RockLab Site Foundation 2.7 — resilient commercial media layer.
   Core visual rules remain intentionally conservative so Astra/site-specific
   styling is not overwritten. */
.rl-product-card *,
.rl-shop-card *,
.rl-shop-spotlight *,
.rl-cta-band *,
.rl-cta-split *{box-sizing:border-box;min-width:0}

.rl-product-card__image,
.rl-shop-card__media{position:relative;overflow:hidden}

.rl-product-card__image img,
.rl-shop-card__media img{display:block;max-width:100%;height:auto;margin-inline:auto}

.rl-product-image-fallback{display:none;align-items:center;justify-content:center;min-height:160px;width:100%;padding:1rem;text-align:center;border:1px dashed rgba(24,48,38,.18);border-radius:12px;background:#f7f8f5;color:#68736d;font-size:.88rem;font-weight:700;line-height:1.35}
.rl-product-card__image.is-fallback .rl-product-image-fallback,
.rl-shop-card__media.is-fallback .rl-product-image-fallback{display:flex}
.rl-product-card__image.is-fallback,
.rl-shop-card__media.is-fallback{display:flex;align-items:center;justify-content:center}

.rl-product-card__summary,
.rl-product-facts,
.rl-product-card__body>div,
.rl-shop-card__content{min-width:0;overflow-wrap:anywhere}

.rl-shop-grid,
.rl-product-card__top,
.rl-product-card__body{max-width:100%}

.rl-product-cta,
.rl-shop-card__cta,
.rl-cta-band .rl-button,
.rl-cta-split a{max-width:100%;white-space:normal;text-align:center}

@media (max-width:700px){
  .rl-product-image-fallback{min-height:132px}
}
