/* Research Library visual layer: matches the buyer guides (navy/teal, amber + coral accents).
   Loaded last on /research-library/ pages. Styles existing article markup only. */
:root {
  --rl-ink: #0b1f36;
  --rl-navy: #0b2447;
  --rl-navy2: #173a6b;
  --rl-muted: #5c6c75;
  --rl-paper: #f3f6f6;
  --rl-line: #d8e0e2;
  --rl-teal: #1f7a5c;
  --rl-bright: #e8c77f;
  --rl-amber: #d9a441;
  --rl-coral: #3b6fb6;
  --rl-blue: #1765ad;
}

body.rl-page { background: var(--rl-paper); overflow-x: clip; }
html:has(body.rl-page) { overflow-x: clip; }
body.rl-page .wrap { max-width: 860px; }
body.rl-page .crumbs { font: 600 12.5px/1.5 Inter, Arial, sans-serif; color: var(--rl-muted); margin: 14px 0 0; }
body.rl-page .crumbs a { color: var(--rl-teal); text-decoration: none; }
/* Links between city delivery guides */
body.rl-page .rl-city-guides { margin: 26px 0 0; padding: 14px 16px; border-radius: 12px; background: #f4f7f9; border: 1px solid #e1e8ed; font-size: 14px; line-height: 1.7; }
body.rl-page .rl-city-guides a { color: var(--rl-teal); font-weight: 600; text-decoration: none; }
body.rl-page .rl-city-guides a:hover { text-decoration: underline; }

/* Breadcrumb inside the navy hero */
body.rl-page .article-head > .crumbs,
body.rl-page .library-hero > .crumbs { margin: 0 0 26px; color: #9fb3c4; }
body.rl-page .article-head > .crumbs a,
body.rl-page .library-hero > .crumbs a { color: var(--rl-bright); }
body.rl-page .article-head > .crumbs a:hover,
body.rl-page .library-hero > .crumbs a:hover { text-decoration: underline; }
body.rl-page .article-head:has(> .crumbs:first-child),
body.rl-page .library-hero:has(> .crumbs:first-child) { padding-top: 26px; }

/* ---------- Hero (article head and library hero) ---------- */
body.rl-page .article-head,
body.rl-page .library-hero {
  position: relative;
  margin: 16px 0 34px;
  padding: 54px 0 46px;
  color: #fff;
  background: var(--rl-navy);
  box-shadow: 0 0 0 100vmax var(--rl-navy);
  clip-path: inset(0 -100vmax);
  border: 0;
}
body.rl-page .article-head::before,
body.rl-page .library-hero::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50vw);
  background:
    radial-gradient(ellipse 60% 70% at 85% 10%, #1f7a5c38, transparent 70%),
    radial-gradient(ellipse 50% 60% at 5% 100%, #1765ad22, transparent 70%);
  pointer-events: none;
}
body.rl-page .article-head > *,
body.rl-page .library-hero > * { position: relative; }
body.rl-page .library-hero { text-align: left !important; }
body.rl-page .library-hero p { margin-left: 0 !important; margin-right: 0 !important; }
body.rl-page .rl-eyebrow,
body.rl-page .library-hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 800 11.5px/1.4 Inter, Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rl-bright);
  margin: 0 0 14px;
}
body.rl-page .rl-eyebrow::before,
body.rl-page .library-hero .eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--rl-bright); }
body.rl-page .article-head h1,
body.rl-page .library-hero h1 {
  color: #fff;
  font: 800 clamp(30px, 5.2vw, 48px)/1.08 Inter, Arial, sans-serif;
  letter-spacing: -.035em;
  margin: 0 0 16px;
}
body.rl-page .article-head p,
body.rl-page .library-hero p { color: #c9d6e0; font-size: 17px; line-height: 1.6; max-width: 680px; margin: 0; }
body.rl-page .article-head .policy-meta {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; font-size: 12.5px; color: #c9d6e0;
}
body.rl-page .article-head .policy-meta,
body.rl-page .rl-read {
  font-weight: 600;
}
body.rl-page .rl-chip {
  display: inline-block; padding: 5px 11px; border-radius: 999px; background: #ffffff14; border: 1px solid #ffffff26; color: #e6eef3;
}

/* ---------- Article sections as cards ---------- */
body.rl-page .article-body {
  counter-reset: rl-sec;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
body.rl-page .article-body .guide-section,
body.rl-page .article-body .panel-test {
  padding: 26px 26px 22px !important;
  margin: 0 0 18px !important;
  background: #fff !important;
  border: 1px solid var(--rl-line) !important;
  border-top-width: 4px !important;
  border-radius: 16px !important;
}
body.rl-page .article-body .guide-section.rl-check { background: var(--rl-navy) !important; border-color: var(--rl-navy) !important; }
body.rl-page .article-body .guide-sources { background: transparent !important; border: 1px dashed #c3ced2 !important; border-radius: 14px !important; padding: 18px 20px !important; margin: 6px 0 18px !important; }
body.rl-page .article-body .guide-sources ul { list-style: none !important; padding: 0 !important; margin: 8px 0 0 !important; }
body.rl-page .article-body .guide-sources li { margin: 6px 0 !important; }
@media (max-width: 600px) {
  body.rl-page .article-body .guide-section,
  body.rl-page .article-body .panel-test { padding: 20px 18px 18px !important; border-radius: 14px !important; }
}
body.rl-page .guide-section,
body.rl-page .panel-test {
  position: relative;
  background: #fff;
  border: 1px solid var(--rl-line);
  border-top: 4px solid var(--rl-teal);
  border-radius: 16px;
  padding: 26px 26px 22px;
  margin: 0 0 18px;
  box-shadow: 0 6px 18px #0b244708;
}
body.rl-page .article-body .guide-section,
body.rl-page .article-body .panel-test { border-top-color: var(--rl-teal) !important; }
body.rl-page .article-body .guide-section:nth-of-type(4n+2),
body.rl-page .article-body .panel-test:nth-of-type(4n+2) { border-top-color: var(--rl-amber) !important; }
body.rl-page .article-body .guide-section:nth-of-type(4n+3),
body.rl-page .article-body .panel-test:nth-of-type(4n+3) { border-top-color: var(--rl-blue) !important; }
body.rl-page .article-body .guide-section:nth-of-type(4n+4),
body.rl-page .article-body .panel-test:nth-of-type(4n+4) { border-top-color: var(--rl-coral) !important; }
body.rl-page .article-body .guide-section.rl-check { border-top-color: var(--rl-bright) !important; }
body.rl-page .article-body .guide-section.guide-sources { border-top: 1px dashed #c3ced2 !important; }
body.rl-page .guide-section:not(.guide-sources):not(.rl-check) { counter-increment: rl-sec; }
body.rl-page .guide-section:not(.guide-sources):not(.rl-check) > h2::before {
  content: counter(rl-sec, decimal-leading-zero);
  display: inline-grid;
  place-items: center;
  min-width: 34px; height: 34px;
  margin-right: 12px;
  border-radius: 10px;
  background: var(--rl-navy);
  color: var(--rl-bright);
  font: 800 13px/1 Inter, Arial, sans-serif;
  vertical-align: 3px;
}
body.rl-page .guide-section h2,
body.rl-page .panel-test h2 {
  font: 800 clamp(20px, 3vw, 25px)/1.25 Inter, Arial, sans-serif;
  letter-spacing: -.02em;
  color: var(--rl-ink);
  margin: 0 0 14px;
}
body.rl-page .guide-section p,
body.rl-page .panel-test p,
body.rl-page .guide-section li { font-size: 16px; line-height: 1.7; color: #33424c; }
body.rl-page .guide-section p:last-child,
body.rl-page .panel-test p:last-child { margin-bottom: 0; }
body.rl-page .guide-section h3 { color: var(--rl-ink); font: 700 17px/1.35 Inter, Arial, sans-serif; margin: 18px 0 8px; }

/* Checklist bullets */
body.rl-page .guide-section ul { list-style: none; padding: 0; margin: 12px 0; }
body.rl-page .guide-section ul li { position: relative; padding-left: 30px; margin: 8px 0; }
body.rl-page .guide-section ul li::before {
  content: "";
  position: absolute; left: 2px; top: 7px;
  width: 16px; height: 16px; border-radius: 50%;
  background: #1f7a5c1f;
  box-shadow: inset 0 0 0 2px var(--rl-teal);
}
body.rl-page .guide-section ul li::after {
  content: "";
  position: absolute; left: 8px; top: 10px;
  width: 4px; height: 8px;
  border: solid var(--rl-teal); border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
body.rl-page .guide-section ol { padding-left: 22px; }
body.rl-page .guide-section ol li { padding-left: 4px; margin: 8px 0; }

/* Citations as small pills */
body.rl-page a.guide-citation {
  display: inline-block;
  margin: 2px 0;
  padding: 3px 10px;
  border-radius: 999px;
  background: #1f7a5c14;
  border: 1px solid #1f7a5c40;
  color: #1765ad;
  font: 600 12.5px/1.5 Inter, Arial, sans-serif;
  text-decoration: none;
}
body.rl-page a.guide-citation::before { content: "\2197\00a0"; }

/* Example callouts */
body.rl-page aside.guide-example {
  position: relative;
  background: #fff8ea;
  border: 1px solid #f3dca8;
  border-left: 5px solid var(--rl-amber);
  border-radius: 12px;
  padding: 18px 20px 16px;
  margin: 16px 0;
}
body.rl-page aside.guide-example h3 {
  margin: 0 0 6px;
  font: 800 11.5px/1.4 Inter, Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #9a6508;
}
body.rl-page aside.guide-example p { font-size: 15px; color: #4b3a14; margin: 0; }

/* Tables */
body.rl-page .guide-table { border-radius: 12px; overflow: hidden; border: 1px solid var(--rl-line); margin: 14px 0; background: #fff; }
/* Tables inside navy boxes keep a light, readable surface */
body.rl-page .guide-section.rl-check .guide-table { border-color: #ffffff33; }
body.rl-page .guide-section.rl-check .guide-table tr,
body.rl-page .guide-section.rl-check .guide-table td { background-color: #fff; color: #33424c; }
body.rl-page .guide-section.rl-check .guide-table td:first-child { color: var(--rl-ink); }
body.rl-page .guide-table table { width: 100%; border-collapse: collapse; }
body.rl-page .guide-table thead th {
  background: var(--rl-navy); color: #fff; text-align: left;
  font: 700 12.5px/1.4 Inter, Arial, sans-serif; letter-spacing: .04em; text-transform: uppercase; padding: 12px 14px;
}
body.rl-page .guide-table td { padding: 12px 14px; border-top: 1px solid #e6ecee; font-size: 15px; line-height: 1.55; color: #33424c; vertical-align: top; }
body.rl-page .guide-table tbody tr:nth-child(even) td { background: #f6f9f9; }
body.rl-page .guide-table td:first-child { font-weight: 700; color: var(--rl-ink); }

/* "What to check" section as a dark checklist card */
body.rl-page .guide-section.rl-check {
  background: var(--rl-navy);
  border-color: var(--rl-navy);
  border-top-color: var(--rl-bright);
  color: #fff;
}
body.rl-page .guide-section.rl-check h2 { color: #fff; }
body.rl-page .guide-section.rl-check h2::after {
  content: "Checklist";
  display: inline-block; margin-left: 10px; padding: 3px 9px; border-radius: 999px;
  background: #e8c77f22; color: var(--rl-bright);
  font: 800 10.5px/1.4 Inter, Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; vertical-align: 4px;
}
body.rl-page .guide-section.rl-check p,
body.rl-page .guide-section.rl-check li { color: #d6e2ea; }
body.rl-page .guide-section.rl-check ul li::before { background: #e8c77f1f; box-shadow: inset 0 0 0 2px var(--rl-bright); }
body.rl-page .guide-section.rl-check ul li::after { border-color: var(--rl-bright); }
body.rl-page .guide-section.rl-check a { color: var(--rl-bright); }
/* Bold lead-ins inside navy boxes stay readable (white; links stay gold) */
body.rl-page .guide-section.rl-check strong,
body.rl-page .guide-section.rl-check b { color: #fff !important; }
body.rl-page .guide-section.rl-check .guide-table strong,
body.rl-page .guide-section.rl-check .guide-table b { color: var(--rl-ink) !important; }

/* Panel-test page intro note */
body.rl-page .panel-context {
  background: #fff8ea; border: 1px solid #f3dca8; border-left: 5px solid var(--rl-amber);
  border-radius: 12px; padding: 16px 20px; color: #4b3a14; font-size: 15px; line-height: 1.6; margin: 0 0 20px;
}

/* Sources */
body.rl-page .guide-sources {
  background: transparent; border: 1px dashed #c3ced2; border-top: 1px dashed #c3ced2; box-shadow: none;
}
body.rl-page .guide-sources h2 { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--rl-muted); }
body.rl-page .guide-sources ul li { font-size: 14px; }
body.rl-page .guide-sources ul li::before,
body.rl-page .guide-sources ul li::after { display: none; }
body.rl-page .guide-sources ul li { padding-left: 0; }
body.rl-page .guide-sources a { color: #1765ad; }

/* Shop block (internal links to product pages) */
body.rl-page .rl-shop {
  position: relative; overflow: hidden;
  margin: 26px 0 8px; padding: 28px 26px 26px; border-radius: 18px;
  background: linear-gradient(135deg, #0b2447 0%, #173a6b 100%); color: #fff;
  box-shadow: 0 12px 30px #0b244722;
}
body.rl-page .rl-shop::after {
  content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%;
  background: radial-gradient(circle, #e8c77f2e, transparent 70%); pointer-events: none;
}
body.rl-page .rl-shop h2 { position: relative; color: #fff; font: 800 clamp(20px, 3vw, 26px)/1.25 Inter, Arial, sans-serif; letter-spacing: -.02em; margin: 0 0 10px; }
body.rl-page .rl-shop p { position: relative; color: #c9d6e0; font-size: 15px; line-height: 1.6; margin: 0 0 16px; max-width: 640px; }
body.rl-page .rl-shop-links { position: relative; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
body.rl-page .rl-shop-links a {
  display: inline-block; padding: 7px 13px; border-radius: 999px;
  background: #ffffff12; border: 1px solid #ffffff2e; color: #fff;
  font: 600 13px/1.3 Inter, Arial, sans-serif; text-decoration: none;
}
body.rl-page .rl-shop-links a:hover { background: var(--rl-bright); border-color: var(--rl-bright); color: var(--rl-navy); }
body.rl-page .rl-shop-cta {
  position: relative; display: inline-block; padding: 12px 20px; border-radius: 999px;
  background: var(--rl-bright); color: var(--rl-navy); font: 800 14px/1.2 Inter, Arial, sans-serif; text-decoration: none;
}
body.rl-page .rl-shop-cta:hover { background: #fff; }
@media (max-width: 600px) {
  body.rl-page .rl-shop { padding: 22px 18px 20px; border-radius: 16px; }
  body.rl-page .rl-shop-links a { font-size: 12.5px; padding: 6px 11px; }
}

/* Bottom navigation as buttons */
body.rl-page .article-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 40px; }
body.rl-page .article-nav a {
  display: inline-block; padding: 11px 18px; border-radius: 999px;
  background: #fff; border: 1.5px solid var(--rl-navy); color: var(--rl-navy);
  font: 700 14px/1.2 Inter, Arial, sans-serif; text-decoration: none;
}
body.rl-page .article-nav a:first-child { background: var(--rl-navy); color: #fff; }
body.rl-page .article-nav a:hover { background: var(--rl-teal); border-color: var(--rl-teal); color: #fff; }

/* ---------- FAQ page ---------- */
body.rl-faq .mp-faq-head {
  position: relative; text-align: left !important;
  margin: 16px 0 26px !important; padding: 54px 0 46px !important; color: #fff;
  background: var(--rl-navy) !important; box-shadow: 0 0 0 100vmax var(--rl-navy); clip-path: inset(0 -100vmax); border: 0 !important;
}
body.rl-faq .mp-faq-head::before {
  content: ""; position: absolute; inset: 0 calc(50% - 50vw);
  background: radial-gradient(ellipse 60% 70% at 85% 10%, #1f7a5c38, transparent 70%), radial-gradient(ellipse 50% 60% at 5% 100%, #1765ad22, transparent 70%);
  pointer-events: none;
}
body.rl-faq .mp-faq-head > * { position: relative; }
body.rl-faq .mp-faq-eyebrow {
  display: inline-flex !important; align-items: center; gap: 10px; margin: 0 0 14px !important;
  font: 800 11.5px/1.4 Inter, Arial, sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: var(--rl-bright) !important;
}
body.rl-faq .mp-faq-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--rl-bright); }
body.rl-faq .mp-faq-head h1 { color: #fff !important; font: 800 clamp(30px, 5.2vw, 48px)/1.08 Inter, Arial, sans-serif !important; letter-spacing: -.035em; margin: 0 0 14px !important; }
body.rl-faq .mp-faq-head p:not(.mp-faq-eyebrow) { color: #c9d6e0 !important; font-size: 17px !important; margin: 0 !important; }

body.rl-faq .mp-faq-jumps { display: flex !important; flex-wrap: wrap; justify-content: flex-start !important; gap: 8px; margin: 0 0 26px !important; border: 0 !important; padding: 0 !important; background: none !important; }
body.rl-faq .mp-faq-jumps a {
  display: inline-block; padding: 9px 15px; border-radius: 999px; background: #fff; border: 1.5px solid var(--rl-line);
  color: var(--rl-navy) !important; font: 700 13.5px/1.2 Inter, Arial, sans-serif; text-decoration: none;
}
body.rl-faq .mp-faq-jumps a:hover { border-color: var(--rl-teal); color: var(--rl-teal) !important; }

body.rl-faq .section.faq {
  background: #fff !important; border: 1px solid var(--rl-line) !important; border-top: 4px solid var(--rl-teal) !important;
  border-radius: 16px !important; padding: 24px 24px 12px !important; margin: 0 0 18px !important; box-shadow: 0 6px 18px #0b244708;
  scroll-margin-top: 110px;
}
body.rl-faq .section.faq:nth-of-type(2) { border-top-color: var(--rl-amber) !important; }
body.rl-faq .section.faq:nth-of-type(3) { border-top-color: var(--rl-blue) !important; }
body.rl-faq .section.faq:nth-of-type(4) { border-top-color: var(--rl-coral) !important; }
body.rl-faq .section.faq h2 { font: 800 clamp(20px, 3vw, 25px)/1.25 Inter, Arial, sans-serif !important; letter-spacing: -.02em; color: var(--rl-ink) !important; margin: 0 0 10px !important; background: none !important; padding: 0 !important; border: 0 !important; }
body.rl-faq .section.faq details { border: 0 !important; border-top: 1px solid #e6ecee !important; margin: 0 !important; padding: 0 !important; background: none !important; }
body.rl-faq .section.faq details:first-of-type { border-top: 0 !important; }
body.rl-faq .section.faq summary {
  position: relative; list-style: none; cursor: pointer; padding: 15px 40px 15px 0 !important;
  font: 700 15.5px/1.45 Inter, Arial, sans-serif !important; color: var(--rl-ink) !important; background: none !important;
}
body.rl-faq .section.faq summary::-webkit-details-marker { display: none; }
body.rl-faq .section.faq summary::after {
  content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
  background: #1f7a5c14; color: var(--rl-teal); font: 700 18px/1 Inter, Arial, sans-serif;
}
body.rl-faq .section.faq details[open] summary::after { content: "\2212"; background: var(--rl-navy); color: var(--rl-bright); }
body.rl-faq .section.faq details[open] summary { color: #1765ad !important; }
body.rl-faq .section.faq details p { margin: 0 0 16px !important; padding: 0 !important; font-size: 15.5px !important; line-height: 1.7 !important; color: #33424c !important; }
body.rl-faq .section.faq details a { color: #1765ad; font-weight: 600; }

body.rl-faq .mp-faq-help {
  display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
  background: #fff !important; border: 1.5px solid var(--rl-line) !important; border-radius: 16px !important;
  padding: 22px 24px !important; margin: 18px 0 40px !important;
}
body.rl-faq .mp-faq-help h2 { font: 800 20px/1.3 Inter, Arial, sans-serif !important; color: var(--rl-ink) !important; margin: 0 0 4px !important; }
body.rl-faq .mp-faq-help p { color: var(--rl-muted) !important; margin: 0 !important; }
body.rl-faq .mp-faq-help > a {
  display: inline-block; padding: 12px 20px; border-radius: 999px; background: var(--rl-navy) !important; color: #fff !important;
  font: 700 14px/1.2 Inter, Arial, sans-serif; text-decoration: none; border: 0 !important;
}
@media (max-width: 600px) {
  body.rl-faq .mp-faq-head { padding: 38px 0 32px !important; }
  body.rl-faq .mp-faq-head p:not(.mp-faq-eyebrow) { font-size: 15.5px !important; }
  body.rl-faq .section.faq { padding: 18px 18px 8px !important; border-radius: 14px !important; }
  body.rl-faq .section.faq summary { font-size: 15px !important; }
}

/* ---------- Shipping page ---------- */
body.rl-ship .shipping-page { max-width: 1000px; }
body.rl-ship .policy-hero {
  position: relative; text-align: left !important;
  margin: 16px 0 28px !important; padding: 54px 0 44px !important; color: #fff;
  background: var(--rl-navy) !important; box-shadow: 0 0 0 100vmax var(--rl-navy); clip-path: inset(0 -100vmax); border: 0 !important;
}
body.rl-ship .policy-hero::before {
  content: ""; position: absolute; inset: 0 calc(50% - 50vw);
  background: radial-gradient(ellipse 60% 70% at 85% 10%, #1f7a5c38, transparent 70%), radial-gradient(ellipse 50% 60% at 5% 100%, #1765ad22, transparent 70%);
  pointer-events: none;
}
body.rl-ship .policy-hero > * { position: relative; }
body.rl-ship .policy-hero { display: block !important; }
body.rl-ship .shipping-at-glance { width: 100% !important; max-width: 820px !important; }
body.rl-ship .shipping-eyebrow {
  display: inline-flex !important; align-items: center; gap: 10px; margin: 0 0 14px !important;
  font: 800 11.5px/1.4 Inter, Arial, sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: var(--rl-bright) !important;
}
body.rl-ship .shipping-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--rl-bright); }
body.rl-ship .policy-hero h1 { color: #fff !important; font: 800 clamp(32px, 5.6vw, 52px)/1.05 Inter, Arial, sans-serif !important; letter-spacing: -.035em; margin: 0 0 14px !important; }
body.rl-ship .policy-hero > p:not(.shipping-eyebrow):not(.shipping-launch) { color: #c9d6e0 !important; font-size: 17px !important; margin: 0 0 24px !important; }
body.rl-ship .shipping-at-glance { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px !important; padding: 0 !important; background: none !important; border: 0 !important; }
body.rl-ship .shipping-at-glance > div {
  background: #ffffff10 !important; border: 1px solid #ffffff24 !important; border-radius: 14px !important; padding: 14px 14px 12px !important; margin: 0 !important; box-shadow: none !important;
}
body.rl-ship .shipping-at-glance dt { color: #c9d6e0 !important; font: 700 11.5px/1.3 Inter, Arial, sans-serif !important; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 6px !important; }
body.rl-ship .shipping-at-glance dd { color: var(--rl-amber) !important; font: 800 20px/1.2 Inter, Arial, sans-serif !important; margin: 0 !important; }
body.rl-ship .shipping-at-glance dd small { display: block; margin-top: 3px; color: #c9d6e0 !important; font: 600 12px/1.3 Inter, Arial, sans-serif !important; }
body.rl-ship .shipping-launch {
  display: inline-block !important; margin: 0 !important; padding: 5px 12px !important; border-radius: 999px;
  background: #e8c77f1f !important; color: var(--rl-bright) !important; font: 700 12.5px/1.4 Inter, Arial, sans-serif !important; border: 0 !important;
}
body.rl-ship .rl-city-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 0; font: 700 12.5px/1.4 Inter, Arial, sans-serif; color: #c9d6e0; }
body.rl-ship .rl-city-links a { display: inline-block; padding: 6px 12px; border-radius: 999px; border: 1px solid #ffffff38; color: #fff; text-decoration: none; }
body.rl-ship .rl-city-links a:hover { background: var(--rl-bright); border-color: var(--rl-bright); color: var(--rl-navy); }

body.rl-ship .shipping-section,
body.rl-ship main > .section {
  background: #fff !important; border: 1px solid var(--rl-line) !important; border-top: 4px solid var(--rl-teal) !important;
  border-radius: 16px !important; padding: 24px 24px 20px !important; margin: 0 0 18px !important; box-shadow: 0 6px 18px #0b244708 !important;
}
body.rl-ship #shipping-rates { border-top-color: var(--rl-amber) !important; }
body.rl-ship .shipping-box-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0 0 18px !important; }
body.rl-ship .shipping-box-grid .shipping-section { margin: 0 !important; }
body.rl-ship .shipping-box-grid .shipping-section:nth-child(4n+1) { border-top-color: var(--rl-blue) !important; }
body.rl-ship .shipping-box-grid .shipping-section:nth-child(4n+2) { border-top-color: var(--rl-coral) !important; }
body.rl-ship .shipping-box-grid .shipping-section:nth-child(4n+3) { border-top-color: var(--rl-teal) !important; }
body.rl-ship .shipping-box-grid .shipping-section:nth-child(4n+4) { border-top-color: var(--rl-amber) !important; }
body.rl-ship .shipping-card-head { display: flex !important; align-items: center; gap: 12px; margin: 0 0 12px !important; }
body.rl-ship .shipping-icon {
  flex: none; display: grid !important; place-items: center; width: 40px !important; height: 40px !important; border-radius: 12px !important;
  background: var(--rl-navy) !important; color: var(--rl-bright) !important; border: 0 !important;
}
body.rl-ship .shipping-icon svg { width: 22px; height: 22px; }
body.rl-ship .shipping-section h2,
body.rl-ship main > .section h2 { font: 800 clamp(19px, 2.6vw, 23px)/1.25 Inter, Arial, sans-serif !important; letter-spacing: -.02em; color: var(--rl-ink) !important; margin: 0 !important; }
body.rl-ship main > .section h2 { margin-bottom: 10px !important; }
body.rl-ship .shipping-card-head p { margin: 2px 0 0 !important; color: var(--rl-muted) !important; font: 600 13.5px/1.4 Inter, Arial, sans-serif !important; }
body.rl-ship .shipping-section ul,
body.rl-ship main > .section ul { list-style: none !important; padding: 0 !important; margin: 10px 0 !important; }
body.rl-ship .shipping-section li,
body.rl-ship main > .section li { position: relative; padding-left: 28px !important; margin: 8px 0 !important; font-size: 15px !important; line-height: 1.6 !important; color: #33424c !important; }
body.rl-ship .shipping-section li::before,
body.rl-ship main > .section li::before {
  content: ""; position: absolute; left: 1px; top: 5px; width: 16px; height: 16px; border-radius: 50%;
  background: #1f7a5c1f; box-shadow: inset 0 0 0 2px var(--rl-teal);
}
body.rl-ship .shipping-section li::after,
body.rl-ship main > .section li::after {
  content: ""; position: absolute; left: 7px; top: 8px; width: 4px; height: 8px;
  border: solid var(--rl-teal); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
body.rl-ship .shipping-section p,
body.rl-ship main > .section p { font-size: 15px; line-height: 1.65; color: #33424c; }
body.rl-ship .shipping-detail { color: var(--rl-muted) !important; font-size: 13.5px !important; }
body.rl-ship ul.shipping-detail li { font-size: 13.5px !important; color: var(--rl-muted) !important; }
body.rl-ship main > .section h3 { font: 700 16px/1.4 Inter, Arial, sans-serif; color: var(--rl-ink); margin: 6px 0 6px; }
body.rl-ship main a { color: #1765ad; }

body.rl-ship .shipping-rates { width: 100%; border-collapse: collapse !important; border-radius: 12px; overflow: hidden; border: 1px solid var(--rl-line) !important; margin: 12px 0 !important; }
body.rl-ship .shipping-rates thead th { background: var(--rl-navy) !important; color: #fff !important; text-align: left; font: 700 12.5px/1.4 Inter, Arial, sans-serif !important; letter-spacing: .04em; text-transform: uppercase; padding: 12px 14px !important; border: 0 !important; }
body.rl-ship .shipping-rates tbody th,
body.rl-ship .shipping-rates tbody td { padding: 12px 14px !important; border: 0 !important; border-top: 1px solid #e6ecee !important; font-size: 15px !important; background: #fff !important; text-align: left; }
body.rl-ship .shipping-rates tbody th { font-weight: 700 !important; color: var(--rl-ink) !important; }
body.rl-ship .shipping-rates tbody td { font-weight: 800 !important; color: #1765ad !important; }
body.rl-ship .shipping-rates tbody tr:nth-child(even) th,
body.rl-ship .shipping-rates tbody tr:nth-child(even) td { background: #f6f9f9 !important; }

body.rl-ship .shipping-contact-panel {
  display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
  background: linear-gradient(135deg, #0b2447 0%, #173a6b 100%) !important; color: #fff; border: 0 !important;
  border-radius: 18px !important; padding: 26px 24px !important; margin: 26px 0 40px !important; box-shadow: 0 12px 30px #0b244722 !important;
}
body.rl-ship .shipping-contact-panel h2 { color: #fff !important; font: 800 22px/1.25 Inter, Arial, sans-serif !important; margin: 0 0 4px !important; }
body.rl-ship .shipping-contact-panel p { color: #c9d6e0 !important; margin: 0 !important; }
body.rl-ship .shipping-contact-actions { display: flex !important; flex-wrap: wrap; gap: 10px; }
body.rl-ship .shipping-contact-actions a {
  display: flex !important; flex-direction: column; gap: 2px; padding: 11px 16px !important; border-radius: 14px !important;
  background: #ffffff12 !important; border: 1px solid #ffffff2e !important; color: #fff !important; text-decoration: none;
}
body.rl-ship .shipping-contact-actions a strong { color: #fff !important; font: 800 14px/1.2 Inter, Arial, sans-serif; }
body.rl-ship .shipping-contact-actions a span { color: #c9d6e0 !important; font-size: 12.5px; }
body.rl-ship .shipping-contact-actions a:hover { background: var(--rl-bright) !important; border-color: var(--rl-bright) !important; }
body.rl-ship .shipping-contact-actions a:hover strong,
body.rl-ship .shipping-contact-actions a:hover span { color: var(--rl-navy) !important; }

@media (max-width: 900px) {
  body.rl-ship .shipping-contact-panel { flex-direction: column; align-items: stretch; }
  body.rl-ship .shipping-contact-actions { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.rl-ship .shipping-contact-actions a { padding: 11px 12px !important; }
}
@media (max-width: 640px) {
  body.rl-ship .shipping-contact-actions { grid-template-columns: 1fr; }
  body.rl-ship .shipping-contact-actions a { padding: 12px 16px !important; }
}
@media (max-width: 760px) {
  body.rl-ship .shipping-at-glance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.rl-ship .shipping-box-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  body.rl-ship .policy-hero { padding: 38px 0 32px !important; }
  body.rl-ship .policy-hero > p:not(.shipping-eyebrow):not(.shipping-launch) { font-size: 15.5px !important; }
  body.rl-ship .shipping-at-glance dd { font-size: 17px !important; }
  body.rl-ship .shipping-section, body.rl-ship main > .section { padding: 20px 18px 16px !important; border-radius: 14px !important; }
}

/* ---------- Contact page ---------- */
body.rl-contact .contact-hero {
  position: relative; text-align: left !important; max-width: 1000px; margin: 16px auto 28px !important; padding: 54px 20px 46px !important;
  color: #fff; background: var(--rl-navy) !important; box-shadow: 0 0 0 100vmax var(--rl-navy); clip-path: inset(0 -100vmax); border: 0 !important;
}
body.rl-contact .contact-hero::before {
  content: ""; position: absolute; inset: 0 calc(50% - 50vw);
  background: radial-gradient(ellipse 60% 70% at 85% 10%, #1765ad40, transparent 70%), radial-gradient(ellipse 50% 60% at 5% 100%, #1f7a5c30, transparent 70%);
  pointer-events: none;
}
body.rl-contact .contact-hero > * { position: relative; }
body.rl-contact .contact-eyebrow {
  display: inline-flex !important; align-items: center; gap: 10px; margin: 0 0 14px !important;
  font: 800 11.5px/1.4 Inter, Arial, sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: var(--rl-bright) !important;
}
body.rl-contact .contact-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--rl-bright); }
body.rl-contact .contact-hero h1 { color: #fff !important; font: 800 clamp(32px, 5.6vw, 52px)/1.05 Inter, Arial, sans-serif !important; letter-spacing: -.035em; margin: 0 0 14px !important; }
body.rl-contact .contact-hero p { color: #c9d6e0 !important; font-size: 17px !important; line-height: 1.6 !important; max-width: 680px; margin: 0 !important; }
body.rl-contact .support-card { border-top: 4px solid var(--rl-teal) !important; border-radius: 16px !important; box-shadow: 0 6px 18px #0b244708 !important; }
body.rl-contact .support-card:nth-child(4n+2) { border-top-color: var(--rl-amber) !important; }
body.rl-contact .support-card:nth-child(4n+3) { border-top-color: var(--rl-blue) !important; }
body.rl-contact .support-card:nth-child(4n+4) { border-top-color: var(--rl-coral) !important; }
body.rl-contact .support-number {
  display: inline-grid !important; place-items: center; min-width: 36px; height: 36px; border-radius: 10px;
  background: var(--rl-navy) !important; color: var(--rl-bright) !important; font: 800 13px/1 Inter, Arial, sans-serif !important;
}
body.rl-contact .contact-panel { border-top: 4px solid var(--rl-navy) !important; border-radius: 16px !important; }
@media (max-width: 600px) {
  body.rl-contact .contact-hero { padding: 38px 16px 32px !important; }
  body.rl-contact .contact-hero p { font-size: 15.5px !important; }
}

/* ---------- Library index cards ---------- */
body.rl-page .library-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; margin-bottom: 40px; }
body.rl-page .library-card {
  position: relative; display: flex; flex-direction: column; gap: 8px;
  background: #fff; border: 1px solid var(--rl-line); border-top: 4px solid var(--rl-teal);
  border-radius: 16px; padding: 22px 20px 20px; text-decoration: none; color: var(--rl-ink);
  box-shadow: 0 6px 18px #0b244708; transition: transform .15s ease, box-shadow .15s ease;
}
body.rl-page .library-card:nth-child(4n+2) { border-top-color: var(--rl-amber); }
body.rl-page .library-card:nth-child(4n+3) { border-top-color: var(--rl-blue); }
body.rl-page .library-card:nth-child(4n+4) { border-top-color: var(--rl-coral); }
body.rl-page .library-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px #0b244714; }
body.rl-page .library-card .tag {
  align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--rl-navy); color: var(--rl-bright);
  font: 800 10.5px/1.4 Inter, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase;
}
body.rl-page .library-card h2 { font: 800 18px/1.3 Inter, Arial, sans-serif; letter-spacing: -.01em; margin: 4px 0 0; color: var(--rl-ink); }
body.rl-page .library-card p { font-size: 14.5px; line-height: 1.55; color: var(--rl-muted); margin: 0; }
body.rl-page .library-card::after { content: "Read guide \2192"; margin-top: auto; padding-top: 8px; font: 700 13.5px Inter, Arial, sans-serif; color: var(--rl-teal); }

@media (max-width: 600px) {
  body.rl-page .article-head, body.rl-page .library-hero { padding: 38px 0 32px; margin-bottom: 24px; }
  body.rl-page .article-head p, body.rl-page .library-hero p { font-size: 15.5px; }
  body.rl-page .guide-section, body.rl-page .panel-test { padding: 20px 18px 18px; border-radius: 14px; }
  body.rl-page .guide-section p, body.rl-page .panel-test p, body.rl-page .guide-section li { font-size: 15.5px; }
  body.rl-page .guide-section:not(.guide-sources):not(.rl-check) > h2::before { min-width: 30px; height: 30px; font-size: 12px; margin-right: 10px; }
  body.rl-page .guide-table thead { display: none; }
  body.rl-page .guide-table tr { display: block; border-top: 1px solid #e6ecee; padding: 8px 0; }
  body.rl-page .guide-table td { display: block; border: 0; padding: 4px 14px; }
  body.rl-page .guide-table td[data-label]::before {
    content: attr(data-label); display: block; font: 800 10.5px/1.4 Inter, Arial, sans-serif;
    letter-spacing: .1em; text-transform: uppercase; color: var(--rl-teal); margin-bottom: 2px;
  }
  body.rl-page .guide-table tbody tr:nth-child(even) td { background: transparent; }
  body.rl-page .guide-table tbody tr:nth-child(even) { background: #f6f9f9; }
}

/* Two-button contact row on white cards (institutions page) */
body.rl-page .rl-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 0; }
body.rl-page .rl-cta-row .rl-shop-cta { margin: 0; text-align: center; border: 2px solid var(--rl-navy); }
body.rl-page .rl-cta-row .rl-cta-primary { background: var(--rl-navy); color: #fff; }
body.rl-page .rl-cta-row .rl-cta-primary:hover { background: #16335f; border-color: #16335f; color: #fff; }
body.rl-page .rl-cta-row .rl-cta-secondary { background: #fff; color: var(--rl-navy); }
body.rl-page .rl-cta-row .rl-cta-secondary:hover { background: #eef3f8; color: var(--rl-navy); }
body.rl-page .rl-cta-note { margin: 12px 0 0; font-size: 14px; }
@media (max-width: 600px) {
  body.rl-page .rl-cta-row { flex-direction: column; gap: 10px; }
  body.rl-page .rl-cta-row .rl-shop-cta { display: block; width: 100%; padding: 14px 18px; }
}
