@charset "UTF-8";
.fa.fa-chevron-down.main-nav.desktop-only {
  display: none; }

#menu .navPages-list .navPage-subMenu-item a.navPages-action:hover {
  color: #FF9600 !important; }

.mega-cat-dropdown {
  margin-top: 46px;
  background-color: #030625;
  border-top: none; }

div#navPages-717 {
  background-color: #030625;
  border-top: none; }

div#navPages-534 {
  background-color: #030625;
  border-top: none; }

div#navPages-1 {
  background-color: #030625;
  border-top: none; }

div#navPages-543 {
  background-color: #030625;
  border-top: none; }

div#navPages-204 {
  background-color: #030625;
  border-top: none; }

div#navPages-568 {
  background-color: #030625;
  border-top: none; }

div#navPages-587 {
  background-color: #030625;
  border-top: none; }

div#navPages-564 {
  background-color: #030625;
  border-top: none; }

div#navPages-435 {
  background-color: #030625;
  border-top: none; }

div#navPages-140 {
  background-color: #030625;
  border-top: none; }

div#navPages-4 {
  background-color: #030625;
  border-top: none; }

div#navPages-283 {
  background-color: #030625;
  border-top: none; }

#menu-wrapper #menu .navPages-list .navPage-subMenu {
  padding: 0 !important;
  background-color: #030625; }

#menu-wrapper .navPages-list .navPage-subMenu-list {
  margin: 0 !important;
  background-color: #030625; }

#menu-wrapper .navPage-subMenu-item {
  padding: 0 !important;
  background-color: #030625; }

#menu .navPages-list .navPage-subMenu-item a.navPages-action {
  padding: 15px;
  background-color: #030625; }

#menu-wrapper .navPages-list a.navPage-childList-action.navPages-action {
  padding: 15px;
  background-color: #030625; }

#menu .navPages-list .navPage-childList#navPages- {
  display: none !important; }

#menu .navPages-list .navPages-action.has-subMenu:hover ~ .navPage-childList#navPages-,
#menu .navPages-list .navPages-action.has-subMenu ~ .navPage-childList#navPages-:hover {
  display: block !important; }

.dropdown--quickSearch .form-input {
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  font-size: 12px;
  font-family: 'Times New Roman', serif;
  padding-bottom: 5px;
  padding-left: 0;
  color: #70706e !important;
  text-transform: initial;
  padding-left: 5px; }

header svg.header-icon.search-icon {
  width: 20px;
  height: 20px;
  position: absolute;
  margin-top: 35px; }

.is-open ~ .navPage-childList {
  background: #ffffff;
  padding: 0;
  margin: 0 !important;
  position: absolute;
  width: 100%;
  left: 209px;
  top: 0; }

.logo-user-section .navUser .navUser-section.navUser-section--alt {
  margin-top: -50px; }

.logo-user-section .navUser .navUser-section.navUser-section--alt:before {
  position: absolute;
  left: 25px;
  top: 75px;
  font-size: 18px;
  color: #2981ba;
  text-shadow: 1px 1px 1px #fff;
  font-weight: 700; }

.logo-user-section.container .header-logo:before {
  content: '';
  width: 58%;
  height: 100%;
  position: absolute;
  right: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  filter: opacity(0.2); }

.navPages-action-moreIcon {
  display: none; }

#menu-wrapper .mega-cat-dropdown a.navPages-action.navPages-action-depth-max.has-subMenu.is-root.second-level-parent.sideNavTopLevel.active-parent-link:hover,
#menu .mega-cat-dropdown a.navPages-action:hover {
  color: #ff9600 !important; }

#menu-wrapper a.navPages-action.navPages-action-depth-max.has-subMenu.is-root.second-level-parent.sideNavTopLevel.nonactive-parent-link:hover {
  color: #ffffff !important; }

#menu .mega-cat-dropdown li.navPages-item a.navPages-action {
  padding: 10px !important; }

.btn-container {
  width: 100%;
  text-align: center;
  margin-bottom: 75px;
  margin-top: 20px; }

.seemore-btn {
  text-decoration: none;
  font-size: 18px;
  padding: 15px;
  background: #6293d6;
  color: #fff; }

span.subcategory-name {
  border: 1px solid #cccccc;
  text-align: center !important;
  font-weight: 600 !important; }

@media screen and (max-width: 800px) {
  .logo-user-section .navUser .navUser-section.navUser-section--alt:before {
    display: none; }
  .logo-user-section .navUser .navUser-section.navUser-section--alt {
    margin-top: 0px; }
  .mega-cat-dropdown div.mobile a.navPages-action.has-subMenu {
    display: block !important; } }

@media screen and (max-width: 768px) {
  .mega-cat-dropdown {
    width: 100%;
    right: -100% !important; }
  .mega-cat-dropdown .brands li.navPages-item.mobile {
    display: none; }
  .mega-cat-dropdown .brands .mobile.view-all.brands {
    display: block; }
  header svg.header-icon.search-icon {
    margin-top: 4px; } }

@media screen and (max-width: 1280px) and (min-width: 769px) {
  .mega-cat-dropdown {
    width: 370px; } }

@media (max-width: 1193px) {
  .logo-user-section .navUser .navUser-section.navUser-section--alt:before {
    font-size: 16px; } }

@media (max-width: 1069px) {
  .logo-user-section .navUser .navUser-section.navUser-section--alt:before {
    font-size: 13px; } }

.css-neswf8 {
  background: #6293d6 !important; }

.is-open ~ .navPage-childList {
  background: #fff;
  padding: 0;
  margin: 0 !important;
  position: absolute;
  width: 260px;
  top: 0;
  transform: translateX(50px);
  outline: navajowhite; }

.navPage-subMenu-item {
  padding-left: .75rem;
  padding-right: .75rem;
  width: 25%;
  float: left;
  padding: 0 .75rem !important;
  position: relative; }

#menu .navPages-list.nav-page-list .navPage-subMenu-item {
  width: 260px; }

.navPage-subMenu-horizontal.second-level-flyout {
  background: #030625; }

@media only screen and (max-width: 600px) {
  .nav-accessories {
    display: none; } }

@media screen and (min-width: 769px) {
  .logo-user-section.container {
    padding: 0 !important;
    min-height: 80px !important;
    height: 80px !important; }
  .header-logo {
    margin: 0 !important;
    padding: 0 !important; }
  .header-logo-image {
    max-height: 70px !important;
    width: auto !important; } }

@media screen and (max-width: 768px) {
  .logo-user-section.container {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important; }
  .header-logo-image {
    max-height: 55px !important;
    width: auto !important; } }

/* =====================================================
   REPAIR GUIDE DESIGN SYSTEM
   Reusable styling for repair and troubleshooting pages
===================================================== */
/* Hide the native Vault page title only on pages containing a repair guide. */
body:has(.rg) .page-heading {
  display: none !important; }

.rg {
  /* Brand colors */
  --dg-primary:#0b3d91;
  --dg-primary-dark:#072e70;
  --dg-primary-light:#eef6ff;
  --dg-accent:#ff9f0a;
  --dg-accent-hover:#ffb340;
  --dg-accent-text:#b45309;
  /* Neutral colors */
  --dg-heading:#111827;
  --dg-text:#475569;
  --dg-muted:#64748b;
  --dg-border:#e2e8f0;
  --dg-background:#f8fafc;
  --dg-white:#ffffff;
  /* Status colors */
  --dg-warning-bg:#fff7ed;
  --dg-warning-border:#fed7aa;
  --dg-safety-bg:#fff1f2;
  --dg-safety-border:#fecdd3;
  --dg-success-bg:#f0fdf4;
  --dg-success-border:#bbf7d0;
  /* Typography */
  --dg-display:clamp(34px,4vw,48px);
  --dg-h2:clamp(25px,2.6vw,31px);
  --dg-h3:clamp(19px,1.8vw,22px);
  --dg-body:17px;
  --dg-small:15px;
  --dg-label:14px;
  --dg-fw-regular:400;
  --dg-fw-medium:500;
  --dg-fw-semibold:600;
  --dg-fw-bold:700;
  --dg-fw-extra:800;
  --dg-lh-display:1.1;
  --dg-lh-heading:1.25;
  --dg-lh-body:1.7;
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  overflow-x: clip;
  background: var(--dg-background);
  color: var(--dg-heading);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.rg,
.rg * {
  box-sizing: border-box; }

.rg a {
  color: var(--dg-primary); }

.rg a:hover {
  color: var(--dg-accent-text); }

.rg img {
  display: block;
  max-width: 100%;
  height: auto; }

.rg__section[id] {
  scroll-margin-top: 110px; }

/* =====================================================
   HERO
===================================================== */
.rg__hero {
  position: relative;
  padding: 76px 20px 100px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(7, 46, 112, 0.98), rgba(11, 61, 145, 0.95) 55%, rgba(30, 112, 191, 0.92));
  color: var(--dg-white);
  text-align: center; }

.rg__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.11), transparent 30%), radial-gradient(circle at 85% 80%, rgba(255, 159, 10, 0.13), transparent 26%);
  pointer-events: none; }

.rg__hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto; }

.rg__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  margin: 0 0 18px;
  padding: 8px 15px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: var(--dg-white);
  font-size: var(--dg-label);
  line-height: 1.3;
  font-weight: var(--dg-fw-bold);
  letter-spacing: .075em;
  text-transform: uppercase; }

.rg__hero h1 {
  max-width: 920px;
  margin: 0 auto 20px;
  color: var(--dg-white);
  font-size: var(--dg-display);
  line-height: var(--dg-lh-display);
  font-weight: var(--dg-fw-extra);
  letter-spacing: -.03em;
  text-wrap: balance; }

.rg__hero-intro {
  max-width: 830px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.92);
  font-size: 18px;
  line-height: 1.65;
  font-weight: var(--dg-fw-regular); }

.rg__hero-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 26px 0 0; }

.rg__hero-tag {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--dg-white);
  font-size: 13px;
  line-height: 1.3;
  font-weight: var(--dg-fw-semibold); }

/* =====================================================
   PAGE CONTAINER
===================================================== */
.rg__container {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px 64px; }

.rg__panel {
  position: relative;
  z-index: 3;
  max-width: 1040px;
  margin: -50px auto 34px;
  padding: 34px;
  background: var(--dg-white);
  border: 1px solid var(--dg-border);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14); }

.rg__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  align-items: start;
  gap: 30px; }

.rg__content {
  min-width: 0; }

.rg__sidebar {
  position: sticky;
  top: 100px;
  min-width: 0; }

/* =====================================================
   CONTENT SECTIONS
===================================================== */
.rg__section {
  margin: 0 0 26px;
  padding: 30px 28px;
  background: var(--dg-white);
  border: 1px solid var(--dg-border);
  border-radius: 18px;
  box-shadow: 0 7px 18px rgba(15, 23, 42, 0.045); }

.rg__section:last-child {
  margin-bottom: 0; }

.rg__section h2 {
  margin: 0 0 16px;
  color: var(--dg-primary);
  font-size: var(--dg-h2);
  line-height: 1.2;
  font-weight: var(--dg-fw-extra);
  letter-spacing: -.02em;
  text-wrap: balance; }

.rg__section h3 {
  margin: 24px 0 10px;
  color: var(--dg-heading);
  font-size: var(--dg-h3);
  line-height: 1.3;
  font-weight: var(--dg-fw-bold);
  letter-spacing: -.01em;
  text-wrap: balance; }

.rg__section h3:first-child {
  margin-top: 0; }

.rg__section p {
  margin: 0 0 16px;
  color: var(--dg-text);
  font-size: var(--dg-body);
  line-height: var(--dg-lh-body);
  font-weight: var(--dg-fw-regular); }

.rg__section p:last-child {
  margin-bottom: 0; }

.rg__section strong {
  color: var(--dg-heading);
  font-weight: var(--dg-fw-bold); }

/* =====================================================
   INTRO PANEL
===================================================== */
.rg__summary {
  margin: 0;
  color: var(--dg-text);
  font-size: 18px;
  line-height: 1.7; }

.rg__summary + .rg__summary {
  margin-top: 14px; }

/* =====================================================
   VIDEO
===================================================== */
.rg__video {
  overflow: hidden;
  margin-top: 20px;
  background: #050b18;
  border: 1px solid #cbd5e1;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.16); }

.rg__video-ratio {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; }

.rg__video-ratio iframe,
.rg__video-ratio video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0; }

.rg__video-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 380px;
  padding: 24px;
  background: linear-gradient(135deg, #071938, #0b3d91);
  color: var(--dg-white);
  text-align: center; }

.rg__video-placeholder span {
  font-size: 17px;
  line-height: 1.5;
  font-weight: var(--dg-fw-semibold); }

/* =====================================================
   WARNING AND INFORMATION BOXES
===================================================== */
.rg__notice {
  margin: 20px 0 0;
  padding: 18px 20px;
  border-radius: 14px;
  font-size: 16px;
  line-height: 1.65; }

.rg__notice p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit; }

.rg__notice-title {
  display: block;
  margin: 0 0 6px;
  color: var(--dg-heading);
  font-size: 16px;
  line-height: 1.4;
  font-weight: var(--dg-fw-bold); }

.rg__notice--warning {
  background: var(--dg-warning-bg);
  border: 1px solid var(--dg-warning-border);
  border-left: 5px solid var(--dg-accent);
  color: #7c2d12; }

.rg__notice--safety {
  background: var(--dg-safety-bg);
  border: 1px solid var(--dg-safety-border);
  border-left: 5px solid #e11d48;
  color: #881337; }

.rg__notice--info {
  background: var(--dg-primary-light);
  border: 1px solid #bfdbfe;
  border-left: 5px solid var(--dg-primary);
  color: #1e3a5f; }

.rg__notice--success {
  background: var(--dg-success-bg);
  border: 1px solid var(--dg-success-border);
  border-left: 5px solid #16a34a;
  color: #166534; }

/* =====================================================
   LISTS
===================================================== */
.rg__list {
  margin: 14px 0 0;
  padding-left: 22px; }

.rg__list li {
  margin: 0 0 9px;
  padding-left: 3px;
  color: var(--dg-text);
  font-size: 16px;
  line-height: 1.65; }

.rg__list li:last-child {
  margin-bottom: 0; }

.rg__list li::marker {
  color: var(--dg-primary);
  font-weight: var(--dg-fw-bold); }

.rg__checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none; }

.rg__checklist li {
  position: relative;
  min-height: 48px;
  padding: 13px 14px 13px 42px;
  background: var(--dg-background);
  border: 1px solid var(--dg-border);
  border-radius: 12px;
  color: var(--dg-text);
  font-size: 15px;
  line-height: 1.5; }

.rg__checklist li::before {
  content: "✓";
  position: absolute;
  top: 13px;
  left: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--dg-primary);
  color: var(--dg-white);
  font-size: 12px;
  line-height: 1;
  font-weight: var(--dg-fw-bold); }

/* =====================================================
   SYMPTOM CARDS
===================================================== */
.rg__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px; }

.rg__card {
  min-width: 0;
  padding: 20px;
  background: var(--dg-background);
  border: 1px solid var(--dg-border);
  border-radius: 14px; }

.rg__card h3 {
  margin: 0 0 8px;
  color: var(--dg-heading);
  font-size: 18px;
  line-height: 1.35;
  font-weight: var(--dg-fw-bold); }

.rg__card p {
  margin: 0;
  color: var(--dg-text);
  font-size: 15px;
  line-height: 1.65; }

/* =====================================================
   REPAIR STEPS
===================================================== */
.rg__steps {
  display: grid;
  gap: 18px;
  margin-top: 22px; }

.rg__step {
  position: relative;
  padding: 22px 22px 22px 78px;
  background: var(--dg-background);
  border: 1px solid var(--dg-border);
  border-radius: 15px; }

.rg__step-number {
  position: absolute;
  top: 21px;
  left: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--dg-primary);
  color: var(--dg-white);
  font-size: 17px;
  line-height: 1;
  font-weight: var(--dg-fw-extra);
  box-shadow: 0 6px 14px rgba(11, 61, 145, 0.2); }

.rg__step h3 {
  margin: 0 0 8px;
  color: var(--dg-heading);
  font-size: 20px;
  line-height: 1.35;
  font-weight: var(--dg-fw-bold); }

.rg__step p {
  margin: 0;
  color: var(--dg-text);
  font-size: 16px;
  line-height: 1.65; }

.rg__step .rg__list {
  margin-top: 12px; }

/* =====================================================
   PARTS GRID
===================================================== */
.rg__parts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px; }

.rg__part {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 12px;
  background: var(--dg-primary-light);
  border: 1px solid #bfdbfe;
  border-radius: 12px;
  color: var(--dg-primary-dark);
  font-size: 15px;
  line-height: 1.4;
  font-weight: var(--dg-fw-semibold);
  text-align: center; }

/* =====================================================
   RELATED RESOURCES
===================================================== */
.rg__resources {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px; }

.rg__resource-link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 66px;
  padding: 16px 48px 16px 17px;
  background: var(--dg-background);
  border: 1px solid var(--dg-border);
  border-radius: 13px;
  color: var(--dg-primary) !important;
  font-size: 16px;
  line-height: 1.45;
  font-weight: var(--dg-fw-bold);
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease; }

.rg__resource-link::after {
  content: "→";
  position: absolute;
  right: 18px;
  color: var(--dg-primary);
  font-size: 20px;
  line-height: 1;
  transition: transform .2s ease; }

.rg__resource-link:hover {
  background: var(--dg-white);
  border-color: #93c5fd;
  color: var(--dg-accent-text) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  transform: translateY(-2px); }

.rg__resource-link:hover::after {
  color: var(--dg-accent-text);
  transform: translateX(4px); }

/* =====================================================
   FAQ
===================================================== */
.rg__faq {
  display: grid;
  gap: 13px;
  margin-top: 18px; }

.rg__faq details {
  overflow: hidden;
  background: var(--dg-white);
  border: 1px solid var(--dg-border);
  border-radius: 13px; }

.rg__faq summary {
  position: relative;
  padding: 17px 50px 17px 18px;
  color: var(--dg-heading);
  font-size: 17px;
  line-height: 1.45;
  font-weight: var(--dg-fw-bold);
  cursor: pointer;
  list-style: none;
  transition: background-color .2s ease, color .2s ease; }

.rg__faq summary:hover {
  background: var(--dg-primary-light);
  color: var(--dg-primary-dark); }

.rg__faq summary::-webkit-details-marker {
  display: none; }

.rg__faq summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--dg-primary-light);
  color: var(--dg-primary);
  font-size: 19px;
  line-height: 1;
  font-weight: var(--dg-fw-bold);
  transform: translateY(-50%); }

.rg__faq details[open] summary::after {
  content: "−"; }

.rg__faq details[open] summary {
  border-bottom: 1px solid var(--dg-border); }

.rg__faq-answer {
  padding: 16px 18px 18px; }

.rg__faq-answer p {
  margin: 0;
  color: var(--dg-text);
  font-size: 16px;
  line-height: 1.7; }

/* =====================================================
   SIDEBAR
===================================================== */
.rg__sidebar-box {
  margin-bottom: 18px;
  padding: 20px;
  background: var(--dg-white);
  border: 1px solid var(--dg-border);
  border-radius: 15px;
  box-shadow: 0 7px 18px rgba(15, 23, 42, 0.05); }

.rg__sidebar-box:last-child {
  margin-bottom: 0; }

.rg__sidebar-title {
  margin: 0 0 12px;
  color: var(--dg-primary);
  font-size: 18px;
  line-height: 1.35;
  font-weight: var(--dg-fw-extra); }

.rg__sidebar-nav {
  margin: 0;
  padding: 0;
  list-style: none; }

.rg__sidebar-nav li {
  border-bottom: 1px solid var(--dg-border); }

.rg__sidebar-nav li:last-child {
  border-bottom: 0; }

.rg__sidebar-nav a {
  display: block;
  padding: 10px 0;
  color: var(--dg-text) !important;
  font-size: 14px;
  line-height: 1.45;
  font-weight: var(--dg-fw-semibold);
  text-decoration: none; }

.rg__sidebar-nav a:hover {
  color: var(--dg-accent-text) !important; }

.rg__sidebar-help {
  background: var(--dg-primary-light);
  border-color: #bfdbfe; }

.rg__sidebar-help p {
  margin: 0 0 14px;
  color: var(--dg-text);
  font-size: 14px;
  line-height: 1.6; }

.rg__sidebar-help .rg__button {
  width: 100%; }

/* =====================================================
   CTA
===================================================== */
.rg__cta {
  position: relative;
  overflow: hidden;
  margin-top: 30px;
  padding: 58px 30px;
  background: linear-gradient(135deg, rgba(7, 46, 112, 0.98), rgba(11, 61, 145, 0.94), rgba(30, 112, 191, 0.9));
  border-radius: 20px;
  color: var(--dg-white);
  text-align: center;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.2); }

.rg__cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 30%, rgba(255, 255, 255, 0.1), transparent 28%), radial-gradient(circle at 85% 70%, rgba(255, 159, 10, 0.15), transparent 25%);
  pointer-events: none; }

.rg__cta-inner {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto; }

.rg__cta h2 {
  margin: 0 0 14px;
  color: var(--dg-white);
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.15;
  font-weight: var(--dg-fw-extra);
  letter-spacing: -.025em;
  text-wrap: balance; }

.rg__cta p {
  max-width: 720px;
  margin: 0 auto 24px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 17px;
  line-height: 1.65; }

.rg__cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px; }

.rg__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 24px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: var(--dg-fw-extra);
  text-align: center;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; }

.rg__button--primary {
  background: var(--dg-accent);
  border-color: var(--dg-accent-text);
  color: #111827 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18); }

.rg__button--primary:hover {
  background: var(--dg-accent-hover);
  border-color: var(--dg-accent-hover);
  color: #111827 !important;
  transform: translateY(-2px); }

.rg__button--secondary {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.8);
  color: var(--dg-white) !important; }

.rg__button--secondary:hover {
  background: var(--dg-white);
  border-color: var(--dg-white);
  color: var(--dg-primary-dark) !important;
  transform: translateY(-2px); }

/* =====================================================
   TABLET
===================================================== */
@media (max-width: 1024px) {
  .rg__container {
    padding-right: 16px;
    padding-left: 16px; }
  .rg__layout {
    grid-template-columns: 1fr; }
  .rg__sidebar {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px; }
  .rg__sidebar-box {
    margin-bottom: 0; }
  .rg__parts {
    grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* =====================================================
   MOBILE
===================================================== */
@media (max-width: 768px) {
  .rg {
    width: 100%;
    margin-left: 0; }
  .rg__hero {
    padding: 48px 15px 72px; }
  .rg__hero h1 {
    font-size: clamp(28px, 8vw, 36px);
    line-height: 1.14; }
  .rg__hero-intro {
    font-size: 16px;
    line-height: 1.65; }
  .rg__hero-tags {
    gap: 8px;
    margin-top: 21px; }
  .rg__container {
    padding: 0 14px 42px; }
  .rg__panel {
    margin: -34px 0 24px;
    padding: 22px 17px;
    border-radius: 16px; }
  .rg__summary {
    font-size: 16px;
    line-height: 1.7; }
  .rg__section {
    margin-bottom: 18px;
    padding: 22px 17px;
    border-radius: 15px; }
  .rg__section h2 {
    font-size: clamp(23px, 6.5vw, 27px); }
  .rg__section h3 {
    font-size: 20px; }
  .rg__section p {
    font-size: 16px;
    line-height: 1.7; }
  .rg__video-placeholder {
    min-height: 240px; }
  .rg__grid,
  .rg__checklist,
  .rg__resources,
  .rg__sidebar {
    grid-template-columns: 1fr; }
  .rg__step {
    padding: 66px 17px 19px; }
  .rg__step-number {
    top: 17px;
    left: 17px; }
  .rg__step h3 {
    font-size: 19px; }
  .rg__parts {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg__faq summary {
    padding: 16px 48px 16px 16px;
    font-size: 16px; }
  .rg__faq-answer {
    padding: 15px 16px 17px; }
  .rg__cta {
    margin-top: 22px;
    padding: 42px 17px;
    border-radius: 16px; }
  .rg__cta h2 {
    font-size: clamp(24px, 6.5vw, 29px); }
  .rg__cta p {
    font-size: 16px; }
  .rg__cta-actions {
    display: grid;
    grid-template-columns: 1fr; }
  .rg__button {
    width: 100%; } }

/* =====================================================
   VERY SMALL PHONES
===================================================== */
@media (max-width: 420px) {
  .rg__hero {
    padding-right: 12px;
    padding-left: 12px; }
  .rg__panel {
    margin-right: 0;
    margin-left: 0;
    padding: 20px 14px; }
  .rg__section {
    padding: 20px 14px; }
  .rg__parts {
    grid-template-columns: 1fr; }
  .rg__hero-tag {
    width: 100%;
    justify-content: center; } }

/* =====================================================
   ACCESSIBILITY
===================================================== */
.rg a:focus-visible,
.rg summary:focus-visible {
  outline: 3px solid #f59e0b;
  outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .rg__resource-link,
  .rg__resource-link::after,
  .rg__button,
  .rg__faq summary {
    transition: none; }
  .rg__resource-link:hover,
  .rg__button:hover {
    transform: none; } }

/* =====================================================
   PRINT
===================================================== */
@media print {
  .rg {
    width: 100%;
    margin: 0;
    overflow: visible;
    background: #ffffff;
    color: #000000; }
  .rg__hero,
  .rg__cta {
    background: #ffffff !important;
    color: #000000;
    box-shadow: none; }
  .rg__hero h1,
  .rg__hero-intro,
  .rg__eyebrow,
  .rg__hero-tag,
  .rg__cta h2,
  .rg__cta p {
    color: #000000; }
  .rg__layout {
    display: block; }
  .rg__sidebar,
  .rg__video,
  .rg__cta-actions {
    display: none; }
  .rg__panel,
  .rg__section,
  .rg__card,
  .rg__step {
    break-inside: avoid;
    box-shadow: none; }
  .rg__faq details {
    break-inside: avoid; }
  .rg__faq details:not([open]) .rg__faq-answer {
    display: block; } }
