/* ============================================================================
   RaptorLabs replica — HOMEPAGE (front-page only)
   18 sections between the header and the footer, in exact source order.
   Section numbers below match spec/HOMEPAGE-SPEC.md §6.
   ========================================================================= */

/* ------------------------------------------------- shared section rhythm - */
.rl-sec{position:relative}
.rl-sec--surface{background:rgb(var(--surface-container));
  padding-block:3rem}
@media (min-width:768px){.rl-sec--surface{padding-block:4rem}}
@media (min-width:1024px){.rl-sec--surface{padding-block:4.5rem}}
.rl-sec--tall{padding-block:6rem}
@media (min-width:640px){.rl-sec--tall{padding-block:7rem}}
@media (min-width:768px){.rl-sec--tall{padding-block:8rem}}
@media (min-width:1024px){.rl-sec--tall{padding-block:9rem}}
.rl-sec__head{display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:1rem;margin-bottom:2.5rem;padding-inline:1rem}
@media (min-width:768px){.rl-sec__head{margin-bottom:3.5rem;gap:1.5rem}}

/* =============================== §2 HERO ===============================
   Black, ZERO copy. Everything is imagery.
   ====================================================================== */
.rl-hero{position:relative;display:flex;flex-direction:column;
  background:hsl(var(--primary));overflow:visible}
.rl-hero__outer{display:flex;flex-direction:column;justify-content:center;
  align-items:center;flex:1;padding:1rem;min-height:60vh}
@media (min-width:640px){.rl-hero__outer{padding:1.5rem;min-height:65vh}}
@media (min-width:768px){.rl-hero__outer{padding:2rem;min-height:70vh}}
@media (min-width:1024px){.rl-hero__outer{padding-block:2.5rem;min-height:80vh}}
@media (min-width:1280px){.rl-hero__outer{padding-block:3rem;padding-top:3.5rem;
  min-height:90vh}}
.rl-hero__stage{position:relative;display:flex;flex-direction:column;
  align-items:center;width:100%;max-width:1400px;flex:1;justify-content:center;
  padding-block:1.5rem}
@media (min-width:640px){.rl-hero__stage{padding-block:2rem}}
@media (min-width:768px){.rl-hero__stage{padding-block:2.5rem}}
.rl-hero__art{width:100%;max-width:64rem;flex-shrink:0;z-index:10;
  padding-inline:.25rem}
@media (min-width:640px){.rl-hero__art{max-width:72rem}}
.rl-hero__art img{width:100%;height:auto;object-fit:contain;object-position:center}
/* the framed photo, deliberately overlapping UPWARD into the SVG */
.rl-hero__photo{position:relative;width:100%;max-width:69%;flex-shrink:0;
  margin-top:-2rem;z-index:0}
@media (min-width:640px){.rl-hero__photo{max-width:70%;margin-top:-2rem}}
@media (min-width:768px){.rl-hero__photo{max-width:75%;margin-top:-4rem}}
@media (min-width:1024px){.rl-hero__photo{max-width:70%;margin-top:-5.5rem}}
@media (min-width:1280px){.rl-hero__photo{max-width:65%;margin-top:-5rem}}
.rl-hero__photo img{width:100%;height:auto;border-radius:var(--radius-lg);
  border:2px solid rgba(255,255,255,.3);
  box-shadow:var(--shadow-hard-12-gray);transition:all .2s}
@media (min-width:768px){
  .rl-hero__photo img{border-width:4px;border-color:rgba(255,255,255,.6)}
}
.rl-hero__photo img:hover{box-shadow:none;transform:translate(12px,12px)}
/* decorative art */
.rl-hero__dec1{position:absolute;left:-2.5rem;top:50%;
  transform:translateY(-50%) rotate(-90deg);transform-origin:center;
  pointer-events:none;z-index:10;width:min(34vw,380px);opacity:.9}
@media (min-width:768px){.rl-hero__dec1{left:-5rem}}
@media (min-width:1024px){.rl-hero__dec1{left:-2.5rem}}
@media (min-width:1280px){.rl-hero__dec1{left:.75rem}}
.rl-hero__dec2{display:none}
@media (min-width:768px){
  .rl-hero__dec2{display:block;position:absolute;right:0;bottom:0;
    width:min(30vw,260px);pointer-events:none;z-index:10}
}
.rl-hero__spacer{position:relative;width:100%;height:10px}
@media (min-width:640px){.rl-hero__spacer{height:20px}}
@media (min-width:768px){.rl-hero__spacer{height:40px}}
@media (min-width:1024px){.rl-hero__spacer{height:50px}}
@media (min-width:1280px){.rl-hero__spacer{height:100px}}

/* ============================ §3 TAGLINE =============================== */
.rl-tagline{position:relative;display:flex;flex-direction:column;
  align-items:center;gap:1.5rem;padding:5rem 1rem;text-align:center;
  max-width:1900px;margin-inline:auto}
@media (min-width:768px){.rl-tagline{padding-inline:2rem}}
@media (min-width:1280px){.rl-tagline{padding-block:8rem}}
.rl-tagline__text{position:relative;z-index:0;
  font-family:var(--font-heading);font-weight:900;text-transform:uppercase;
  letter-spacing:var(--tracking-title);line-height:1.02;
  color:hsl(var(--foreground));font-size:2.25rem}
@media (min-width:768px){.rl-tagline__text{font-size:3rem}}
@media (min-width:1024px){.rl-tagline__text{font-size:3.75rem}}
@media (min-width:1280px){.rl-tagline__text{font-size:6rem}}
.rl-tagline__dec{position:absolute;left:9%;top:37%;
  transform:scaleX(-1);pointer-events:none;z-index:10;
  width:min(28vw,400px);opacity:.9}

/* ========================= §4 SIX TRUST BADGES ========================= */
.rl-badges{max-width:1900px;margin-inline:auto;margin-bottom:4rem;
  padding:1.5rem 1rem}
@media (min-width:768px){.rl-badges{padding-block:2.5rem}}
@media (min-width:1280px){.rl-badges{padding-top:0}}
.rl-badges__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;align-items:start;justify-items:center}
@media (min-width:768px){.rl-badges__grid{gap:2rem}}
@media (min-width:1024px){
  .rl-badges__grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
.rl-badges__cell{display:flex;flex-direction:column;align-items:center;
  gap:.75rem;width:100%}
.rl-badges__well{border-radius:var(--radius-full);
  border:2px solid hsl(var(--foreground));color:hsl(var(--foreground));
  width:100%;max-width:80px;aspect-ratio:1/1;flex-shrink:0;
  display:flex;align-items:center;justify-content:center}
@media (min-width:640px){.rl-badges__well{max-width:100px}}
.rl-badges__well svg{width:100%;height:100%}
.rl-badges__well svg.rl-icon--pad{padding:1rem}
.rl-badges__cell h4{text-align:center;font-weight:500;white-space:normal}

/* ====================== CAROUSEL (§5, §11-§17, §9) =====================
   Source is Embla with CSS-variable driven slide sizing:
   --slide-spacing:2.2rem; --slide-size:85%; --slide-max-width:30rem
   Reproduced as a CSS scroll-snap rail — no JS framework required.
   ====================================================================== */
.rl-carousel{--slide-spacing:2.2rem;--slide-size:85%;--slide-max-width:30rem;
  position:relative}
.rl-carousel__rail{display:flex;gap:var(--slide-spacing);overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-block:.5rem 1rem;scrollbar-width:thin;
  -webkit-overflow-scrolling:touch}
.rl-carousel__rail::-webkit-scrollbar{height:6px}
.rl-carousel__rail::-webkit-scrollbar-thumb{background:hsl(var(--border))}
.rl-carousel__slide{flex:0 0 var(--slide-size);max-width:var(--slide-max-width);
  min-width:0;scroll-snap-align:start}
@media (min-width:640px){
  .rl-carousel{--slide-spacing:2rem;
    --slide-size:calc((100% - var(--slide-spacing)) / 2);--slide-max-width:none}
}
@media (min-width:768px){
  .rl-carousel{--slide-size:calc((100% - 2 * var(--slide-spacing)) / 3)}
}
@media (min-width:1024px){
  .rl-carousel{--slide-size:calc((100% - 3 * var(--slide-spacing)) / 4)}
}
@media (min-width:1280px){
  .rl-carousel{--slide-spacing:3rem}
}
.rl-carousel__empty{padding:2rem;text-align:center;
  border:2px dashed hsl(var(--border));
  font-family:var(--font-ui);font-size:.75rem;font-weight:700;
  text-transform:uppercase;letter-spacing:var(--tracking-chip);
  color:hsl(var(--muted-foreground))}

/* ======================= §6 LAB VERIFICATION STRIP ===================== */
.rl-labsearch{background:hsl(var(--foreground));color:hsl(var(--background))}
.rl-labsearch__inner{margin-inline:auto;width:100%;max-width:var(--content-max);
  padding:3rem 1.5rem;display:flex;flex-direction:column;gap:2rem}
@media (min-width:768px){
  .rl-labsearch__inner{flex-direction:row;align-items:center;
    justify-content:space-between;padding-block:4rem}
}
.rl-labsearch__left{max-width:24rem}
.rl-labsearch__eyebrow{font-family:var(--font-ui);font-size:.75rem;
  text-transform:uppercase;letter-spacing:var(--tracking-widest);
  color:rgba(255,255,255,.6)}
.rl-labsearch__left h2{margin-top:.5rem;font-family:var(--font-heading);
  font-weight:900;text-transform:uppercase;font-size:1.5rem;
  color:hsl(var(--background))}
@media (min-width:768px){.rl-labsearch__left h2{font-size:2.25rem}}
.rl-labsearch__left p{margin-top:.75rem;font-family:var(--font-ui);
  font-size:.875rem;color:rgba(255,255,255,.6)}
.rl-labsearch__right{width:100%}
@media (min-width:768px){.rl-labsearch__right{max-width:36rem;flex:1}}
.rl-labsearch__right input[type="search"]{width:100%;border-radius:1rem;
  border:2px solid rgba(255,255,255,.25);background:hsl(var(--background));
  padding:.875rem 1rem;font-family:var(--font-ui);font-size:1rem;
  color:hsl(var(--foreground))}
.rl-labsearch__right input[type="search"]::placeholder{color:rgba(0,0,0,.4)}
.rl-labsearch__right input[type="search"]:focus{outline:none;
  box-shadow:0 0 0 4px rgba(255,255,255,.3)}
.rl-labsearch__right input[type="search"]::-webkit-search-cancel-button{display:none}
.rl-labsearch__note{margin-top:.75rem;font-family:var(--font-ui);
  font-size:.875rem;color:rgba(255,255,255,.6)}
.rl-labsearch__note a{text-decoration:underline;text-underline-offset:4px;
  transition:color .2s}
.rl-labsearch__note a:hover{color:hsl(var(--background))}

/* ========================== §7 TESTIMONIALS ============================
   All three quotes are hard-coded MARKETING COPY at source (bundle
   constants, not database reviews) and ship as static copy here.
   They are deliberately NOT seeded as WooCommerce reviews.
   ====================================================================== */
.rl-testi{position:relative;background:hsl(var(--primary));overflow:visible;
  padding-block:3rem}
@media (min-width:768px){.rl-testi{padding-block:4rem}}
@media (min-width:1024px){.rl-testi{padding-block:5rem}}
.rl-testi__inner{position:relative;z-index:20;margin-inline:auto;width:100%;
  max-width:var(--container-max);padding-inline:1.5rem}
@media (min-width:768px){.rl-testi__inner{padding-inline:2rem}}
.rl-testi h1{color:hsl(var(--primary-foreground))}
.rl-testi__stars{margin-top:1.5rem;color:hsl(var(--primary-foreground));
  font-size:1.25rem;letter-spacing:.2em}
.rl-testi__item{display:none}
.rl-testi__item.is-active{display:block}
.rl-testi blockquote{margin:1rem 0 0}
.rl-testi blockquote p{font-family:var(--font-heading);font-weight:900;
  font-style:italic;text-transform:uppercase;letter-spacing:var(--tracking-title);
  color:hsl(var(--primary-foreground));font-size:1.5rem;line-height:1.15}
@media (min-width:768px){.rl-testi blockquote p{font-size:2.25rem}}
@media (min-width:1024px){.rl-testi blockquote p{font-size:3rem}}
@media (min-width:1280px){.rl-testi blockquote p{font-size:3.75rem}}
.rl-testi cite{display:block;margin-top:.5rem;font-style:normal;
  font-family:var(--font-display);font-weight:700;font-size:1.5rem;
  color:hsl(var(--primary-foreground))}
@media (min-width:768px){.rl-testi cite{font-size:1.875rem}}
.rl-testi__controls{display:flex;justify-content:flex-end;align-items:center;
  gap:.625rem;margin-top:1.75rem}

/* ======================= §8 COMPARISON TABLE =========================== */
.rl-compare__scroll{padding-inline:1rem;overflow-x:auto}
.comparison-table{margin-inline:auto;width:100%;max-width:48rem;
  table-layout:fixed;border-collapse:collapse;
  border:2px solid hsl(var(--foreground))}
.comparison-table th,.comparison-table td{border:2px solid hsl(var(--foreground));
  padding:1rem;width:35vw;min-width:120px;vertical-align:middle}
@media (min-width:1024px){
  .comparison-table th,.comparison-table td{width:auto;min-width:0}
}
.comparison-table .rl-compare__scrollhint{text-align:left;font-size:.875rem;
  color:hsl(var(--muted-foreground));font-family:var(--font-ui);
  text-transform:none;font-weight:400}
@media (min-width:1024px){
  .comparison-table .rl-compare__scrollhint{position:absolute;width:1px;height:1px;
    padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
.comparison-table .rl-compare__us{background:hsl(var(--primary));
  color:hsl(var(--primary-foreground));text-align:center}
.comparison-table .rl-compare__us h1{color:hsl(var(--primary-foreground));
  font-size:1.875rem}
.comparison-table .rl-compare__us h1 + h1{margin-top:-.5rem;font-size:3rem}
@media (min-width:1024px){
  .comparison-table .rl-compare__us h1{font-size:43px}
  .comparison-table .rl-compare__us h1 + h1{font-size:70px}
}
.comparison-table .rl-compare__them{text-align:center}
.comparison-table .rl-compare__label{font-family:var(--font-ui);
  text-transform:uppercase;font-size:.875rem;line-height:1.35;font-weight:500}
@media (min-width:640px){.comparison-table .rl-compare__label{font-size:1rem}}
.rl-glyph{margin-inline:auto;display:flex;height:2rem;width:2rem;
  align-items:center;justify-content:center;border-radius:var(--radius-full);
  border:2px solid currentColor;background:transparent}
@media (min-width:1024px){.rl-glyph{height:2.5rem;width:2.5rem}}
.rl-glyph > span{display:block;height:1.25rem;width:1.25rem}
@media (min-width:1024px){.rl-glyph > span{height:1.5rem;width:1.5rem}}
.rl-glyph--us{color:hsl(var(--primary-foreground))}
.rl-glyph--them{color:hsl(var(--foreground))}

/* ====================== §9 PRODUCT OF THE MONTH ======================== */
.rl-potm__card{margin-inline:auto;max-width:72rem;display:grid;
  grid-template-columns:1fr;gap:2rem;align-items:center;
  background:hsl(var(--primary-foreground));padding:1.5rem;
  box-shadow:0 0 0 2px hsl(var(--primary-foreground)),0 0 0 4px var(--rl-card-ring)}
@media (min-width:768px){
  .rl-potm__card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:2rem}
}
.rl-potm__media{border:2px solid hsl(var(--border));background:#fff;
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
  overflow:hidden}
.rl-potm__media img{width:100%;height:100%;object-fit:contain}
.rl-potm__meta{display:flex;flex-direction:column;gap:1rem;min-width:0}
.rl-potm__price{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.rl-potm__desc{font-family:var(--font-ui);font-size:1rem;line-height:1.6;
  text-transform:none;color:hsl(var(--muted-foreground))}
.rl-potm__row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.rl-potm__rowlabel{font-family:var(--font-ui);font-size:.6875rem;font-weight:700;
  text-transform:uppercase;letter-spacing:var(--tracking-chip);
  color:hsl(var(--muted-foreground))}
.rl-potm__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.rl-potm__empty{margin-inline:auto;max-width:48rem;text-align:center;
  border:2px dashed hsl(var(--border));padding:2rem;
  font-family:var(--font-ui);font-size:.75rem;font-weight:700;
  text-transform:uppercase;letter-spacing:var(--tracking-chip);
  color:hsl(var(--muted-foreground))}

/* ======================= §10 FULL LINEUP BANNER ======================== */
.rl-lineup{position:relative;display:flex;align-items:center;overflow:visible;
  min-height:82dvh;padding-block:3rem}
@media (min-width:640px){.rl-lineup{min-height:88dvh;padding-block:4rem}}
@media (min-width:768px){.rl-lineup{min-height:94dvh;padding-block:5rem}}
@media (min-width:1024px){.rl-lineup{min-height:max(56rem,96dvh);padding-block:7rem}}
@media (min-width:1280px){.rl-lineup{min-height:max(60rem,98dvh);padding-block:8rem}}
@media (min-width:1536px){.rl-lineup{min-height:max(64rem,100dvh);padding-block:9rem}}
.rl-lineup__bg{position:absolute;inset:0;z-index:1;overflow:hidden}
.rl-lineup__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.rl-lineup__scrim{position:absolute;inset:0;z-index:2;background:rgba(0,0,0,.5)}
.rl-lineup__wrap{position:relative;z-index:10;margin-inline:auto;width:100%;
  max-width:1900px;padding-inline:1rem}
@media (min-width:640px){.rl-lineup__wrap{padding-inline:1.5rem}}
@media (min-width:768px){.rl-lineup__wrap{padding-inline:2rem}}
.rl-lineup__card{margin-inline:auto;max-width:48rem;cursor:default;
  overflow:hidden;border-radius:var(--radius-lg);
  border:4px solid hsl(var(--primary-foreground));
  background:hsl(var(--background));padding:1.5rem;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:1.25rem;
  transition:all .2s;box-shadow:var(--shadow-hard-12-gray)}
@media (min-width:640px){.rl-lineup__card{padding:2rem}}
@media (min-width:768px){.rl-lineup__card{padding:2.5rem}}
.rl-lineup__card:hover,.rl-lineup__card:active{
  transform:translate(12px,12px);box-shadow:none}
.rl-lineup__card p{max-width:36rem;font-family:var(--font-ui);font-size:1rem;
  text-transform:uppercase;color:hsl(var(--foreground))}
@media (min-width:640px){.rl-lineup__card p{font-size:1.125rem}}
.rl-lineup__card .rl-btn{width:100%}
@media (min-width:640px){.rl-lineup__card .rl-btn{width:auto}}

/* ==================== §11-§17 FEATURED LINE SECTIONS ===================
   Seven collection carousels. The <h2> titles keep their emoji verbatim,
   with ONE deliberate correction to the source's own inconsistency:
   `🔥Fat Loss & Metabolic` is missing the space the other six have and is
   rendered here as `🔥 Fat Loss & Metabolic`.
   ====================================================================== */
.rl-line{margin-inline:auto;max-width:var(--container-max);
  padding:4rem 1.5rem}
@media (min-width:768px){.rl-line{padding:6rem 3rem}}
.rl-line__head{display:flex;flex-wrap:wrap;align-items:flex-end;
  justify-content:space-between;gap:1rem;margin-bottom:2rem}
.rl-line__title{font-family:var(--font-display);font-weight:700;
  font-size:1.5rem;color:hsl(var(--foreground));margin-top:.25rem}
@media (min-width:768px){.rl-line__title{font-size:1.875rem}}

/* ==================== SEO CONTENT ZONE (LOCKED #6) =====================
   Rendered from the front page's WP editor content, so the owner edits it at
   wp-admin > Pages > Home without a code change. Sits immediately BEFORE
   the FAQ section, per the locked spec.
   ====================================================================== */
.rl-seozone{background:hsl(var(--background));padding-block:4rem}
@media (min-width:768px){.rl-seozone{padding-block:6rem}}
.rl-seozone__inner{margin-inline:auto;max-width:var(--prose-max);
  padding-inline:1.5rem}
.rl-seozone h2{font-family:var(--font-heading);font-weight:900;
  text-transform:uppercase;letter-spacing:var(--tracking-title);
  font-size:1.875rem;margin-bottom:1.25rem}
@media (min-width:1024px){.rl-seozone h2{font-size:2.25rem}}
.rl-seozone h3{font-family:var(--font-ui);font-weight:700;text-transform:uppercase;
  letter-spacing:var(--tracking-wider);font-size:1rem;
  margin-top:1.75rem;margin-bottom:.5rem}
.rl-seozone p{font-family:var(--font-ui);font-size:1rem;line-height:1.7;
  color:hsl(var(--muted-foreground));margin-bottom:1rem}
.rl-seozone ul{font-family:var(--font-ui);font-size:1rem;line-height:1.7;
  color:hsl(var(--muted-foreground));padding-left:1.25rem;margin-bottom:1rem}
.rl-seozone a{text-decoration:underline;text-underline-offset:3px;
  color:hsl(var(--foreground))}

/* ============================== §18 FAQ ===============================
   Radix Accordion type="multiple" — several panels can be open at once,
   none open by default. Reproduced with <details>/<summary>, which gives
   the same multi-open, no-JS-required behaviour.
   ====================================================================== */
.rl-faq{background:hsl(var(--primary-foreground))}
.rl-faq__inner{margin-inline:auto;max-width:1900px;padding-inline:1rem}
@media (min-width:640px){.rl-faq__inner{padding-inline:1.5rem}}
@media (min-width:768px){.rl-faq__inner{padding-inline:2rem}}
.rl-faq__list{margin-inline:auto;display:flex;max-width:56rem;
  flex-direction:column;gap:1rem}
.rl-faq__item{overflow:hidden;border-radius:1.5rem;
  border:2px solid hsl(var(--foreground));
  background:rgb(var(--surface-container));
  box-shadow:var(--shadow-hard-6-soft);
  transition:box-shadow .2s,background-color .2s}
.rl-faq__item:hover{background:hsl(var(--primary-foreground));
  box-shadow:var(--shadow-hard-8)}
.rl-faq__item[open]{box-shadow:var(--shadow-hard-6);
  background:hsl(var(--primary-foreground))}
.rl-faq__q{list-style:none;cursor:pointer;width:100%;padding:1rem;
  background:transparent;border:0;border-radius:0}
.rl-faq__q::-webkit-details-marker{display:none}
@media (min-width:768px){.rl-faq__q{padding:2rem}}
.rl-faq__item[open] .rl-faq__q{padding-bottom:.5rem;
  background:hsl(var(--primary-foreground))}
.rl-faq__qrow{display:flex;width:100%;align-items:center;
  justify-content:space-between;gap:1rem}
.rl-faq__qrow h3{text-align:left;font-family:var(--font-heading);
  font-size:1.125rem;font-weight:800;text-transform:uppercase;
  color:hsl(var(--foreground));line-height:1.25}
@media (min-width:768px){.rl-faq__qrow h3{font-size:1.5rem}}
.rl-faq__toggle{position:relative;display:flex;height:2.5rem;width:2.5rem;
  flex-shrink:0;align-items:center;justify-content:center;
  border-radius:var(--radius-full);
  background:hsl(var(--foreground));color:hsl(var(--background))}
@media (min-width:768px){.rl-faq__toggle{height:2.75rem;width:2.75rem}}
.rl-faq__toggle > span{position:absolute;display:block;width:1.5rem;height:1.5rem;
  transition:all .2s;line-height:0}
.rl-faq__toggle > span svg{width:1.5rem;height:1.5rem}
.rl-faq__toggle .rl-faq__plus{transform:scale(1) rotate(0deg);opacity:1}
.rl-faq__toggle .rl-faq__minus{transform:scale(0);opacity:0}
.rl-faq__item[open] .rl-faq__plus{transform:scale(0) rotate(90deg);opacity:0}
.rl-faq__item[open] .rl-faq__minus{transform:scale(1);opacity:1}
.rl-faq__a{border-top:2px solid hsl(var(--foreground));
  background:hsl(var(--muted)/.4);padding:0 1rem 1.5rem;
  font-family:var(--font-ui);text-align:left;font-size:1rem;line-height:1.625;
  color:hsl(var(--muted-foreground))}
@media (min-width:768px){.rl-faq__a{padding:0 2rem 2rem}}
/* `normal-case` explicitly cancels the p variant's default uppercase — the FAQ
   answers are the one place on the homepage where sentence case survives. */
.rl-faq__a p{padding-top:.5rem;text-transform:none}
.rl-faq__a a{text-decoration:underline;overflow-wrap:anywhere}

/* ========================= §19 JOIN THE PACK =========================== */
.rl-pack{position:relative;overflow:visible;background:#000;color:#fff;
  padding-block:6rem}
@media (min-width:768px){.rl-pack{padding-block:7rem}}
@media (min-width:1024px){.rl-pack{padding-block:8rem}}
.rl-pack__dec{position:absolute;left:50%;top:0;
  transform:translate(-50%,-50%) scaleX(-1);pointer-events:none;z-index:0;
  width:min(40vw,420px);opacity:.85}
.rl-pack__vignette{pointer-events:none;position:absolute;inset:0;z-index:1;
  background:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.82) 100%)}
.rl-pack__inner{position:relative;z-index:10;margin-inline:auto;width:100%;
  max-width:var(--container-max);padding-inline:1.5rem;
  display:flex;flex-direction:column;align-items:center;text-align:center}
@media (min-width:768px){.rl-pack__inner{padding-inline:2rem}}
.rl-pack__title{font-family:var(--font-heading);font-weight:900;
  text-transform:uppercase;letter-spacing:var(--tracking-title);
  text-wrap:balance;line-height:1;font-size:2.25rem;
  color:transparent;-webkit-text-fill-color:transparent;
  -webkit-background-clip:text;background-clip:text;
  background-image:linear-gradient(to bottom,#fff 15%,#e5e5e5,#737373);
  filter:drop-shadow(0 2px 16px rgba(255,255,255,.2))}
@media (min-width:768px){.rl-pack__title{font-size:3.75rem}}
@media (min-width:1024px){.rl-pack__title{font-size:4.5rem}}
@media (min-width:1280px){.rl-pack__title{font-size:6rem}}
.rl-pack__sub{margin-top:1rem;font-family:var(--font-ui);font-size:1rem;
  text-transform:uppercase;color:rgba(255,255,255,.9)}
@media (min-width:640px){.rl-pack__sub{font-size:1.125rem}}
.rl-pack .rl-news-form{margin-top:2rem}
@media (min-width:768px){.rl-pack .rl-news-form{margin-top:3rem}}
