:root {
  --rvp-ink: #111820;
  --rvp-navy: #07386f;
  --rvp-blue: #0c68b5;
  --rvp-bright: #1688d4;
  --rvp-soft: #eef6fc;
  --rvp-surface: #f5f7f9;
  --rvp-border: #e1e6ec;
  --rvp-muted: #5f6b76;
  --rvp-footer: #0b0f13;
  --rvp-content: 1400px;
  --rvp-reading: 1120px;
}

/* Product Detail Visual Polish V2 pilot: draft Product 899 only. */
body.ritoks-product-v2-pilot {
  --p899-ink:#12223b;
  --p899-blue:#1769c2;
  --p899-blue-dark:#0e4e96;
  --p899-muted:#5d6b7c;
  --p899-line:#dbe3ec;
  --p899-surface:#f4f7fa;
  --p899-white:#fff;
  --p899-radius:8px;
  --p899-section:56px;
  --p899-content:1180px;
  color:var(--p899-ink);
}
body.ritoks-product-v2-pilot .entry-content {
  overflow:clip;
}
body.ritoks-product-v2-pilot .entry-content > .wp-block-group.alignfull {
  margin-block:0;
}
body.ritoks-product-v2-pilot .ritoks-product-hero {
  padding-block:52px !important;
  background:#f4f7fa !important;
}
body.ritoks-product-v2-pilot .ritoks-product-hero-columns {
  gap:clamp(36px,5vw,72px);
}
body.ritoks-product-v2-pilot .ritoks-product-hero-columns > .wp-block-column:last-child {
  padding-left:0 !important;
}
body.ritoks-product-v2-pilot .ritoks-product-hero-image {
  display:grid;
  place-items:center;
  aspect-ratio:1;
  margin:0;
  padding:clamp(18px,3vw,34px);
  border:1px solid var(--p899-line);
  border-radius:var(--p899-radius);
  background:var(--p899-white);
  box-shadow:0 18px 42px rgba(18,34,59,.08);
}
body.ritoks-product-v2-pilot .ritoks-product-hero-image img {
  width:100%;
  height:100%;
  object-fit:contain;
}
body.ritoks-product-v2-pilot .p899-family {
  margin:0 0 10px;
  color:var(--p899-blue-dark) !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:0;
  text-transform:uppercase;
}
body.ritoks-product-v2-pilot .ritoks-product-hero h1 {
  max-width:16ch;
  margin:0 0 18px !important;
  color:var(--p899-ink);
  font-size:clamp(38px,4vw,54px) !important;
  line-height:1.08 !important;
  letter-spacing:-.02em;
}
body.ritoks-product-v2-pilot .p899-intro {
  max-width:62ch;
  margin:0 0 22px !important;
  color:#3f4d5f;
  font-size:17px !important;
  line-height:1.65 !important;
}
body.ritoks-product-v2-pilot .p899-quick-specs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}
body.ritoks-product-v2-pilot .p899-quick-spec {
  min-height:78px;
  padding:14px 16px;
  border:1px solid var(--p899-line);
  border-radius:6px;
  background:rgba(255,255,255,.72);
}
body.ritoks-product-v2-pilot .p899-quick-spec strong,
body.ritoks-product-v2-pilot .p899-quick-spec span {
  display:block;
}
body.ritoks-product-v2-pilot .p899-quick-spec strong {
  margin-bottom:3px;
  color:var(--p899-ink);
  font-size:16px;
  line-height:1.25;
}
body.ritoks-product-v2-pilot .p899-quick-spec span {
  color:var(--p899-muted);
  font-size:12px;
  line-height:1.4;
}
body.ritoks-product-v2-pilot .ritoks-product-hero .wp-block-buttons {
  margin-top:24px !important;
}
body.ritoks-product-v2-pilot .ritoks-product-hero .wp-block-button__link {
  min-height:46px;
  padding:12px 22px;
  border-radius:6px;
  background:var(--p899-blue) !important;
  color:#fff !important;
  font-weight:600;
}
body.ritoks-product-v2-pilot .ritoks-product-hero .wp-block-button__link:hover {
  background:var(--p899-blue-dark) !important;
}
body.ritoks-product-v2-pilot .ritoks-product-hero .wp-block-button__link:focus-visible,
body.ritoks-product-v2-pilot .ritoks-product-section-nav a:focus-visible,
body.ritoks-product-v2-pilot .p899-related-card a:focus-visible {
  outline:3px solid rgba(23,105,194,.35);
  outline-offset:3px;
}
body.ritoks-product-v2-pilot .ritoks-product-section-nav {
  padding-block:0 !important;
  background:#fff;
  box-shadow:0 1px 0 var(--p899-line);
}
body.ritoks-product-v2-pilot .ritoks-product-section-nav p {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:4px 22px;
  margin:0;
  padding:14px 0;
}
body.ritoks-product-v2-pilot .ritoks-product-section-nav a {
  color:#405168;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}
body.ritoks-product-v2-pilot .ritoks-product-section-nav .p899-nav-separator {
  display:none;
}
body.ritoks-product-v2-pilot .ritoks-product-section,
body.ritoks-product-v2-pilot .p899-section,
body.ritoks-product-v2-pilot .ritoks-product-rfq {
  padding-block:var(--p899-section) !important;
}
body.ritoks-product-v2-pilot .ritoks-product-section > *,
body.ritoks-product-v2-pilot .p899-section > *,
body.ritoks-product-v2-pilot .ritoks-product-rfq > * {
  width:min(100%,var(--p899-content));
}
body.ritoks-product-v2-pilot .ritoks-product-section h2,
body.ritoks-product-v2-pilot .p899-section h2,
body.ritoks-product-v2-pilot .ritoks-product-rfq > h2 {
  margin:0 0 14px;
  color:var(--p899-ink);
  font-size:clamp(30px,3vw,40px) !important;
  line-height:1.15 !important;
  letter-spacing:-.015em;
}
body.ritoks-product-v2-pilot .p899-section-lede {
  max-width:72ch;
  margin:0 0 26px;
  color:var(--p899-muted);
  line-height:1.7;
}
body.ritoks-product-v2-pilot .p899-overview-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:48px;
  align-items:start;
}
body.ritoks-product-v2-pilot .p899-feature-list {
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--p899-line);
}
body.ritoks-product-v2-pilot .p899-feature-list li {
  position:relative;
  margin:0;
  padding:13px 0 13px 22px;
  border-bottom:1px solid var(--p899-line);
  color:#36465a;
}
body.ritoks-product-v2-pilot .p899-feature-list li::before {
  content:'';
  position:absolute;
  top:21px;
  left:2px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--p899-blue);
}
body.ritoks-product-v2-pilot .ritoks-scroll-table {
  width:100%;
  margin:24px 0 0;
  overflow-x:auto;
  border:1px solid var(--p899-line);
  border-radius:6px;
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
body.ritoks-product-v2-pilot .ritoks-scroll-table table {
  width:100%;
  min-width:760px;
  margin:0;
  border-collapse:separate;
  border-spacing:0;
  font-variant-numeric:tabular-nums;
}
body.ritoks-product-v2-pilot .ritoks-scroll-table th,
body.ritoks-product-v2-pilot .ritoks-scroll-table td {
  padding:13px 15px;
  border:0;
  border-bottom:1px solid #e7edf3;
  text-align:left;
  vertical-align:middle;
}
body.ritoks-product-v2-pilot .ritoks-scroll-table thead th {
  position:sticky;
  top:0;
  z-index:1;
  background:#142843;
  color:#fff;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}
body.ritoks-product-v2-pilot .ritoks-scroll-table tbody tr:nth-child(even) {
  background:#f7f9fb;
}
body.ritoks-product-v2-pilot .ritoks-scroll-table tbody tr:last-child th,
body.ritoks-product-v2-pilot .ritoks-scroll-table tbody tr:last-child td {
  border-bottom:0;
}
body.ritoks-product-v2-pilot .p899-general-specs table {
  min-width:620px;
}
body.ritoks-product-v2-pilot .p899-general-specs th {
  width:36%;
  color:var(--p899-ink);
  font-weight:600;
}
body.ritoks-product-v2-pilot .p899-technical-subhead {
  margin:34px 0 8px !important;
  color:var(--p899-ink);
  font-size:23px !important;
}
body.ritoks-product-v2-pilot .p899-app-grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:42px;
  align-items:center;
}
body.ritoks-product-v2-pilot .p899-app-image {
  margin:0;
  overflow:hidden;
  border-radius:var(--p899-radius);
  background:#dce5ee;
}
body.ritoks-product-v2-pilot .p899-app-image img {
  display:block;
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
}
body.ritoks-product-v2-pilot .p899-app-image figcaption {
  padding:10px 14px;
  background:#fff;
  color:#687587;
  font-size:12px;
}
body.ritoks-product-v2-pilot .p899-app-items {
  display:grid;
  gap:12px;
}
body.ritoks-product-v2-pilot .p899-app-item {
  padding:18px 20px;
  border:1px solid var(--p899-line);
  border-radius:6px;
  background:#fff;
}
body.ritoks-product-v2-pilot .p899-app-item h3 {
  margin:0 0 6px;
  color:var(--p899-ink);
  font-size:18px;
}
body.ritoks-product-v2-pilot .p899-app-item p {
  margin:0;
  color:var(--p899-muted);
  font-size:14px;
  line-height:1.6;
}
body.ritoks-product-v2-pilot .p899-selection {
  margin-top:28px;
  padding:24px 26px;
  border:1px solid #cbd8e7;
  border-radius:var(--p899-radius);
  background:#eef4fa;
}
body.ritoks-product-v2-pilot .p899-selection h3 {
  margin:0 0 12px;
  color:var(--p899-ink);
  font-size:20px;
}
body.ritoks-product-v2-pilot .p899-selection ul {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px 24px;
  margin:0;
  padding-left:20px;
}
body.ritoks-product-v2-pilot .p899-selection li {
  margin:0;
  color:#405168;
}
body.ritoks-product-v2-pilot .p899-faq-list {
  border-top:1px solid var(--p899-line);
}
body.ritoks-product-v2-pilot .p899-faq-list details {
  margin:0;
  border-bottom:1px solid var(--p899-line);
  background:transparent;
}
body.ritoks-product-v2-pilot .p899-faq-list summary {
  padding:18px 4px;
  color:var(--p899-ink);
  font-weight:600;
  cursor:pointer;
}
body.ritoks-product-v2-pilot .p899-faq-list details > p {
  margin:0;
  padding:0 4px 18px;
  color:var(--p899-muted);
  line-height:1.65;
}
body.ritoks-product-v2-pilot .p899-related-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
body.ritoks-product-v2-pilot .p899-related-card {
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  min-height:180px;
  overflow:hidden;
  border:1px solid var(--p899-line);
  border-radius:var(--p899-radius);
  background:#fff;
}
body.ritoks-product-v2-pilot .p899-related-card figure {
  display:grid;
  place-items:center;
  margin:0;
  padding:14px;
  background:#f6f8fa;
}
body.ritoks-product-v2-pilot .p899-related-card img {
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
}
body.ritoks-product-v2-pilot .p899-related-copy {
  align-self:center;
  padding:20px;
}
body.ritoks-product-v2-pilot .p899-related-copy h3 {
  margin:0 0 8px;
  font-size:18px;
  line-height:1.35;
}
body.ritoks-product-v2-pilot .p899-related-copy h3 a {
  color:var(--p899-ink);
  text-decoration:none;
}
body.ritoks-product-v2-pilot .p899-related-copy p {
  margin:0 0 12px;
  color:var(--p899-muted);
  font-size:13px;
  line-height:1.55;
}
body.ritoks-product-v2-pilot .p899-related-copy > a {
  color:var(--p899-blue-dark);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
body.ritoks-product-v2-pilot .ritoks-product-rfq {
  border-top:1px solid var(--p899-line);
  background:#fff !important;
}
body.ritoks-product-v2-pilot .ritoks-product-rfq > h2,
body.ritoks-product-v2-pilot .ritoks-product-rfq > p {
  display:none;
}
body.ritoks-product-v2-pilot .ritoks-product-rfq > .wp-block-block {
  width:100%;
}
body.ritoks-product-v2-pilot .spectra-mfz6jq7g-pvxhy7 {
  padding:42px 0 !important;
  background:#fff !important;
  gap:26px !important;
}
body.ritoks-product-v2-pilot .spectra-mfz72g8a-l7ojy0 {
  width:min(100%,var(--p899-content)) !important;
  gap:28px !important;
}
body.ritoks-product-v2-pilot .spectra-mjgkcryd-roe3q9 {
  align-items:flex-start !important;
  text-align:left !important;
  gap:8px !important;
}
body.ritoks-product-v2-pilot .spectra-d7a9054d-3102-4368-a0b6-1f12d9a29f09 {
  display:grid !important;
  grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr) !important;
  gap:28px !important;
  align-items:stretch !important;
}
body.ritoks-product-v2-pilot .spectra-mjgke43h-y2a191 {
  padding:28px !important;
  border-radius:var(--p899-radius) !important;
}
body.ritoks-product-v2-pilot .spectra-a9b03de0-61d5-45f8-9229-6c35b8c49999 {
  padding:26px !important;
  border:1px solid var(--p899-line);
  border-radius:var(--p899-radius);
  background:#f8fafc;
}
body.ritoks-product-v2-pilot .wpforms-container {
  margin:0;
}

@media (max-width:900px) {
  body.ritoks-product-v2-pilot {
    --p899-section:46px;
  }
  body.ritoks-product-v2-pilot .ritoks-product-hero-columns {
    gap:32px;
  }
  body.ritoks-product-v2-pilot .ritoks-product-hero h1 {
    font-size:40px !important;
  }
  body.ritoks-product-v2-pilot .p899-overview-grid,
  body.ritoks-product-v2-pilot .p899-app-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  body.ritoks-product-v2-pilot .p899-selection ul {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.ritoks-product-v2-pilot .p899-related-card {
    grid-template-columns:120px minmax(0,1fr);
  }
  body.ritoks-product-v2-pilot .spectra-d7a9054d-3102-4368-a0b6-1f12d9a29f09 {
    grid-template-columns:minmax(230px,.7fr) minmax(360px,1.3fr) !important;
    gap:22px !important;
  }
}

@media (max-width:767px) {
  body.ritoks-product-v2-pilot {
    --p899-section:38px;
  }
  body.ritoks-product-v2-pilot .ritoks-product-hero {
    padding:34px 20px 40px !important;
  }
  body.ritoks-product-v2-pilot .ritoks-product-hero-columns {
    gap:26px;
  }
  body.ritoks-product-v2-pilot .ritoks-product-hero-image {
    width:min(100%,420px);
    margin-inline:auto;
    padding:18px;
  }
  body.ritoks-product-v2-pilot .ritoks-product-hero h1 {
    max-width:none;
    font-size:clamp(32px,9vw,40px) !important;
  }
  body.ritoks-product-v2-pilot .p899-intro {
    font-size:16px !important;
  }
  body.ritoks-product-v2-pilot .p899-quick-specs {
    grid-template-columns:1fr 1fr;
  }
  body.ritoks-product-v2-pilot .p899-quick-spec {
    min-height:72px;
    padding:12px;
  }
  body.ritoks-product-v2-pilot .ritoks-product-section-nav p {
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding:12px 20px;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  body.ritoks-product-v2-pilot .ritoks-product-section,
  body.ritoks-product-v2-pilot .p899-section,
  body.ritoks-product-v2-pilot .ritoks-product-rfq {
    padding:var(--p899-section) 20px !important;
  }
  body.ritoks-product-v2-pilot .ritoks-product-section h2,
  body.ritoks-product-v2-pilot .p899-section h2 {
    font-size:30px !important;
  }
  body.ritoks-product-v2-pilot .ritoks-scroll-table {
    max-width:calc(100vw - 40px);
  }
  body.ritoks-product-v2-pilot .ritoks-scroll-table th,
  body.ritoks-product-v2-pilot .ritoks-scroll-table td {
    padding:11px 12px;
    font-size:14px;
  }
  body.ritoks-product-v2-pilot .p899-selection {
    padding:20px;
  }
  body.ritoks-product-v2-pilot .p899-selection ul,
  body.ritoks-product-v2-pilot .p899-related-grid {
    grid-template-columns:1fr;
  }
  body.ritoks-product-v2-pilot .p899-related-card {
    grid-template-columns:112px minmax(0,1fr);
    min-height:150px;
  }
  body.ritoks-product-v2-pilot .p899-related-copy {
    padding:16px;
  }
  body.ritoks-product-v2-pilot .spectra-mfz6jq7g-pvxhy7 {
    padding:30px 0 !important;
  }
  body.ritoks-product-v2-pilot .spectra-d7a9054d-3102-4368-a0b6-1f12d9a29f09 {
    grid-template-columns:1fr !important;
  }
  body.ritoks-product-v2-pilot .spectra-mjgke43h-y2a191,
  body.ritoks-product-v2-pilot .spectra-a9b03de0-61d5-45f8-9229-6c35b8c49999 {
    padding:22px !important;
  }
}

/* Product Detail V2 R3: alignment and component normalization, Product 899 only. */
body.single-product.ritoks-product-v2-pilot {
  --p899-content:1180px;
  --p899-page-pad:clamp(24px,3vw,32px);
  --p899-section-space:48px;
  --p899-heading-gap:24px;
  --p899-component-gap:20px;
  --p899-column-gap:40px;
  --p899-card-pad:20px;
  --p899-control-height:46px;
  --p899-radius:8px;
}

body.single-product.ritoks-product-v2-pilot .entry-content > .wp-block-group.alignfull {
  box-sizing:border-box;
  padding-inline:var(--p899-page-pad) !important;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-hero > .wp-block-columns,
body.single-product.ritoks-product-v2-pilot .ritoks-product-section-nav > p,
body.single-product.ritoks-product-v2-pilot .ritoks-product-section > *,
body.single-product.ritoks-product-v2-pilot .p899-section > *,
body.single-product.ritoks-product-v2-pilot .ritoks-product-rfq > * {
  width:min(100%,var(--p899-content)) !important;
  max-width:var(--p899-content) !important;
  margin-inline:auto !important;
  box-sizing:border-box;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-hero,
body.single-product.ritoks-product-v2-pilot .ritoks-product-section,
body.single-product.ritoks-product-v2-pilot .p899-section,
body.single-product.ritoks-product-v2-pilot .ritoks-product-rfq {
  padding-block:var(--p899-section-space) !important;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-hero-columns {
  align-items:center !important;
  gap:var(--p899-column-gap) !important;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-hero-columns > .wp-block-column {
  min-width:0;
  align-self:center !important;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-hero-columns > .wp-block-column:last-child {
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

body.single-product.ritoks-product-v2-pilot .p899-family {
  margin-bottom:8px !important;
  font-size:12px !important;
  line-height:1.4 !important;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-hero h1 {
  margin-bottom:16px !important;
}

body.single-product.ritoks-product-v2-pilot .p899-intro {
  margin-bottom:20px !important;
}

body.single-product.ritoks-product-v2-pilot .p899-quick-specs {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:12px;
}

body.single-product.ritoks-product-v2-pilot .p899-quick-spec {
  display:flex;
  min-height:82px;
  align-items:center;
  padding:16px;
  border-radius:var(--p899-radius);
}

body.single-product.ritoks-product-v2-pilot .p899-quick-spec p {
  width:100%;
  margin:0;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-hero .wp-block-buttons {
  margin-top:20px !important;
}

body.single-product.ritoks-product-v2-pilot .entry-content .wp-block-button__link,
body.single-product.ritoks-product-v2-pilot .entry-content .wpforms-submit,
body.single-product.ritoks-product-v2-pilot .entry-content button[type="submit"] {
  display:inline-flex !important;
  min-height:var(--p899-control-height) !important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:11px 22px !important;
  border-radius:6px !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-section h2,
body.single-product.ritoks-product-v2-pilot .p899-section h2,
body.single-product.ritoks-product-v2-pilot .spectra-mjgkey99-zfsk31 {
  margin:0 0 var(--p899-heading-gap) !important;
  font-size:36px !important;
  line-height:1.16 !important;
  letter-spacing:-.015em;
}

body.single-product.ritoks-product-v2-pilot .p899-section-lede,
body.single-product.ritoks-product-v2-pilot .spectra-ab451a79-13a0-4d86-90af-c521025981dd {
  margin:calc(-1 * (var(--p899-heading-gap) - 10px)) 0 var(--p899-heading-gap) !important;
}

body.single-product.ritoks-product-v2-pilot .p899-overview-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--p899-column-gap);
  align-items:start;
}

body.single-product.ritoks-product-v2-pilot .p899-overview-grid > .wp-block-group {
  min-width:0;
}

body.single-product.ritoks-product-v2-pilot .p899-overview-grid h2,
body.single-product.ritoks-product-v2-pilot .p899-overview-grid h3 {
  margin:0 0 18px !important;
  font-size:32px !important;
  line-height:1.2 !important;
}

body.single-product.ritoks-product-v2-pilot .p899-overview-grid p {
  margin:0;
}

body.single-product.ritoks-product-v2-pilot .p899-feature-list li {
  padding-block:12px;
}

body.single-product.ritoks-product-v2-pilot .ritoks-scroll-table {
  width:100%;
  margin:0;
  border-radius:var(--p899-radius);
  box-shadow:0 12px 28px rgba(18,34,59,.07);
}

body.single-product.ritoks-product-v2-pilot .ritoks-scroll-table th,
body.single-product.ritoks-product-v2-pilot .ritoks-scroll-table td {
  height:48px;
  box-sizing:border-box;
  padding:12px 14px;
  font-size:14px;
  line-height:1.45;
}

body.single-product.ritoks-product-v2-pilot .ritoks-scroll-table thead th {
  height:50px;
  font-size:13px;
}

body.single-product.ritoks-product-v2-pilot .p899-general-specs,
body.single-product.ritoks-product-v2-pilot .p899-technical-subhead + p + .ritoks-scroll-table {
  margin-top:0;
}

body.single-product.ritoks-product-v2-pilot .p899-technical-subhead {
  margin:32px 0 10px !important;
}

body.single-product.ritoks-product-v2-pilot .p899-technical-subhead + p {
  margin:0 0 18px;
}

body.single-product.ritoks-product-v2-pilot .p899-app-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--p899-column-gap);
  align-items:stretch;
}

body.single-product.ritoks-product-v2-pilot .p899-app-image {
  display:flex;
  height:100%;
  min-height:300px;
  flex-direction:column;
}

body.single-product.ritoks-product-v2-pilot .p899-app-image img {
  min-height:0;
  flex:1 1 auto;
  aspect-ratio:auto;
}

body.single-product.ritoks-product-v2-pilot .p899-app-image figcaption {
  flex:0 0 auto;
}

body.single-product.ritoks-product-v2-pilot .p899-app-items {
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:var(--p899-component-gap);
}

body.single-product.ritoks-product-v2-pilot .p899-app-item {
  display:flex;
  height:100%;
  min-height:0;
  flex-direction:column;
  justify-content:center;
  box-sizing:border-box;
  padding:var(--p899-card-pad);
  border-radius:var(--p899-radius);
}

body.single-product.ritoks-product-v2-pilot .p899-selection {
  margin-top:var(--p899-component-gap);
  padding:var(--p899-card-pad);
}

body.single-product.ritoks-product-v2-pilot #faq > * {
  width:min(100%,var(--p899-content)) !important;
  max-width:var(--p899-content) !important;
}

body.single-product.ritoks-product-v2-pilot .p899-faq-list summary {
  position:relative;
  display:flex;
  width:100%;
  min-height:58px;
  align-items:center;
  box-sizing:border-box;
  padding:16px 38px 16px 4px;
  list-style:none;
  line-height:1.45;
}

body.single-product.ritoks-product-v2-pilot .p899-faq-list summary::-webkit-details-marker {
  display:none;
}

body.single-product.ritoks-product-v2-pilot .p899-faq-list summary::after {
  content:'+';
  position:absolute;
  right:6px;
  top:50%;
  width:24px;
  color:var(--p899-blue-dark);
  font-size:20px;
  line-height:24px;
  text-align:center;
  transform:translateY(-50%);
}

body.single-product.ritoks-product-v2-pilot .p899-faq-list details[open] summary::after {
  content:'\2212';
}

body.single-product.ritoks-product-v2-pilot .p899-related-grid {
  align-items:stretch;
  gap:var(--p899-component-gap);
}

body.single-product.ritoks-product-v2-pilot .p899-related-card {
  height:100%;
  min-height:210px;
  grid-template-columns:160px minmax(0,1fr);
}

body.single-product.ritoks-product-v2-pilot .p899-related-card figure {
  min-height:210px;
}

body.single-product.ritoks-product-v2-pilot .p899-related-copy {
  display:flex;
  min-width:0;
  align-self:stretch;
  flex-direction:column;
  padding:var(--p899-card-pad);
}

body.single-product.ritoks-product-v2-pilot .p899-related-copy h3 {
  min-height:49px;
}

body.single-product.ritoks-product-v2-pilot .p899-related-copy p:last-child {
  margin-top:auto;
  margin-bottom:0;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-rfq > .wp-block-block,
body.single-product.ritoks-product-v2-pilot .spectra-mfz6jq7g-pvxhy7,
body.single-product.ritoks-product-v2-pilot .spectra-mfz72g8a-l7ojy0 {
  width:min(100%,var(--p899-content)) !important;
  max-width:var(--p899-content) !important;
  margin-inline:auto !important;
}

body.single-product.ritoks-product-v2-pilot .spectra-mfz6jq7g-pvxhy7 {
  padding:0 !important;
  gap:var(--p899-heading-gap) !important;
}

body.single-product.ritoks-product-v2-pilot .spectra-mfz72g8a-l7ojy0 {
  gap:var(--p899-heading-gap) !important;
}

body.single-product.ritoks-product-v2-pilot .spectra-mjgkcryd-roe3q9 {
  gap:10px !important;
}

body.single-product.ritoks-product-v2-pilot .spectra-d7a9054d-3102-4368-a0b6-1f12d9a29f09 {
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
  gap:var(--p899-column-gap) !important;
  align-items:stretch !important;
}

body.single-product.ritoks-product-v2-pilot .spectra-mjgke43h-y2a191,
body.single-product.ritoks-product-v2-pilot .spectra-a9b03de0-61d5-45f8-9229-6c35b8c49999 {
  height:100%;
  box-sizing:border-box;
  padding:var(--p899-card-pad) !important;
  border-radius:var(--p899-radius) !important;
}

body.single-product.ritoks-product-v2-pilot .wpforms-container .wpforms-field {
  padding:0 0 14px !important;
}

body.single-product.ritoks-product-v2-pilot .wpforms-container .wpforms-field-label {
  margin:0 0 6px !important;
  line-height:1.35 !important;
}

body.single-product.ritoks-product-v2-pilot .wpforms-container input,
body.single-product.ritoks-product-v2-pilot .wpforms-container textarea {
  width:100% !important;
  box-sizing:border-box;
}

@media (max-width:900px) {
  body.single-product.ritoks-product-v2-pilot {
    --p899-page-pad:28px;
    --p899-section-space:44px;
    --p899-column-gap:28px;
  }

  body.single-product.ritoks-product-v2-pilot .p899-overview-grid,
  body.single-product.ritoks-product-v2-pilot .p899-app-grid,
  body.single-product.ritoks-product-v2-pilot .spectra-d7a9054d-3102-4368-a0b6-1f12d9a29f09 {
    grid-template-columns:1fr !important;
  }

  body.single-product.ritoks-product-v2-pilot .p899-app-image {
    min-height:0;
  }

  body.single-product.ritoks-product-v2-pilot .p899-app-image img {
    aspect-ratio:16/9;
  }
}

@media (max-width:767px) {
  body.single-product.ritoks-product-v2-pilot {
    --p899-page-pad:20px;
    --p899-section-space:38px;
    --p899-heading-gap:20px;
    --p899-component-gap:16px;
    --p899-column-gap:24px;
    --p899-card-pad:18px;
  }

  body.single-product.ritoks-product-v2-pilot .ritoks-product-hero,
  body.single-product.ritoks-product-v2-pilot .ritoks-product-section,
  body.single-product.ritoks-product-v2-pilot .p899-section,
  body.single-product.ritoks-product-v2-pilot .ritoks-product-rfq {
    padding:var(--p899-section-space) var(--p899-page-pad) !important;
  }

  body.single-product.ritoks-product-v2-pilot .ritoks-product-section h2,
  body.single-product.ritoks-product-v2-pilot .p899-section h2,
  body.single-product.ritoks-product-v2-pilot .spectra-mjgkey99-zfsk31,
  body.single-product.ritoks-product-v2-pilot .p899-overview-grid h2,
  body.single-product.ritoks-product-v2-pilot .p899-overview-grid h3 {
    font-size:30px !important;
  }

  body.single-product.ritoks-product-v2-pilot .p899-quick-spec {
    min-height:78px;
    padding:14px;
  }

  body.single-product.ritoks-product-v2-pilot .entry-content .wp-block-button__link,
  body.single-product.ritoks-product-v2-pilot .entry-content .wpforms-submit,
  body.single-product.ritoks-product-v2-pilot .entry-content button[type="submit"] {
    min-height:46px !important;
  }

  body.single-product.ritoks-product-v2-pilot .ritoks-scroll-table {
    max-width:calc(100vw - (2 * var(--p899-page-pad)));
  }

  body.single-product.ritoks-product-v2-pilot .ritoks-scroll-table th,
  body.single-product.ritoks-product-v2-pilot .ritoks-scroll-table td {
    height:46px;
    padding:11px 12px;
  }

  body.single-product.ritoks-product-v2-pilot .p899-selection ul,
  body.single-product.ritoks-product-v2-pilot .p899-related-grid {
    grid-template-columns:1fr;
  }

  body.single-product.ritoks-product-v2-pilot .p899-related-card {
    min-height:180px;
    grid-template-columns:112px minmax(0,1fr);
  }

  body.single-product.ritoks-product-v2-pilot .p899-related-card figure {
    min-height:180px;
  }

  body.single-product.ritoks-product-v2-pilot .p899-related-copy h3 {
    min-height:0;
  }

  body.single-product.ritoks-product-v2-pilot .spectra-mjgke43h-y2a191,
  body.single-product.ritoks-product-v2-pilot .spectra-a9b03de0-61d5-45f8-9229-6c35b8c49999 {
    padding:var(--p899-card-pad) !important;
  }
}

/*
 * Product Template Spacing Tune R1
 *
 * Standard Gutenberg product pages use top-level full-width Groups as their
 * section contract. Product 333 uses the separate .rvp-product renderer and
 * therefore does not match these selectors.
 */
body.single-product:not(.postid-333) .entry-content > .wp-block-group.alignfull {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}

body.single-product:not(.postid-333) .entry-content > .wp-block-group.alignfull:first-child {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

@media (max-width: 900px) {
  body.single-product:not(.postid-333) .entry-content > .wp-block-group.alignfull {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  body.single-product:not(.postid-333) .entry-content > .wp-block-group.alignfull:first-child {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
}

@media (max-width: 600px) {
  body.single-product:not(.postid-333) .entry-content > .wp-block-group.alignfull {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  body.single-product:not(.postid-333) .entry-content > .wp-block-group.alignfull:first-child {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* Services: private-preview presentation of the existing Gutenberg body. */
body.ritoks-viox-template-services .site-content > .ast-container,
body.ritoks-viox-template-services .site-content #primary,
body.ritoks-viox-template-services .site-content .site-main,
body.ritoks-viox-template-services .site-content article,
body.ritoks-viox-template-services .site-content .entry-content,
body.ritoks-viox-template-services .site-content .rvp-services-preview {
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.ritoks-viox-template-services .rvp-services-preview {
  background: #fff;
}

body.ritoks-viox-template-services .rvp-services-preview > .alignfull {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.ritoks-viox-template-services .rvp-services-preview > .wp-block-cover:first-child {
  min-height: 540px !important;
  padding: 64px 32px !important;
}

body.ritoks-viox-template-services .rvp-services-preview > .wp-block-cover:first-child .wp-block-cover__image-background {
  object-position: center right;
}

body.ritoks-viox-template-services .rvp-services-preview .ritoks-services-hero-inner,
body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page > .wp-block-columns {
  width: min(100%, 1240px);
  max-width: 1240px;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.ritoks-viox-template-services .rvp-services-preview .ritoks-services-hero-inner > .wp-block-columns {
  gap: 56px;
}

body.ritoks-viox-template-services .rvp-services-preview h1,
body.ritoks-viox-template-services .rvp-services-preview h2,
body.ritoks-viox-template-services .rvp-services-preview p,
body.ritoks-viox-template-services .rvp-services-preview figure {
  margin-top: 0;
}

body.ritoks-viox-template-services .rvp-services-preview h1 {
  font-size: 60px !important;
  line-height: 1.06 !important;
  letter-spacing: 0;
}

body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page {
  padding: 82px 32px !important;
}

body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page > .wp-block-columns {
  align-items: center !important;
  gap: 68px;
}

body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page h2 {
  color: #0b2239 !important;
  font-size: 40px !important;
  line-height: 1.18 !important;
  letter-spacing: 0;
}

body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page p,
body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page li {
  font-size: 16px !important;
  line-height: 1.72 !important;
}

body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page figure,
body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page figure img {
  width: 100% !important;
  max-width: 100%;
}

body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page figure {
  overflow: hidden;
  border-radius: 6px;
  background: #eef2f6;
}

body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page figure img {
  display: block;
  height: auto !important;
}

body.ritoks-viox-template-services .rvp-services-preview .wp-block-buttons {
  gap: 12px;
}

body.ritoks-viox-template-services .rvp-services-preview .wp-block-button__link {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border-radius: 4px !important;
  padding: 13px 22px !important;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
}

body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-section-cta h2 {
  color: #fff !important;
}

body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-section-cta p {
  color: #d8e3ef !important;
}

@media (max-width: 1100px) {
  body.ritoks-viox-template-services .rvp-services-preview > .wp-block-cover:first-child {
    min-height: 500px !important;
    padding: 58px 28px !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview h1 {
    font-size: 52px !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page {
    padding: 68px 28px !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page > .wp-block-columns {
    gap: 42px;
  }

  body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page h2 {
    font-size: 34px !important;
  }
}

@media (max-width: 781px) {
  body.ritoks-viox-template-services .rvp-services-preview > .wp-block-cover:first-child {
    min-height: 430px !important;
    padding: 48px 20px !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview .ritoks-services-hero-inner > .wp-block-columns {
    gap: 0;
  }

  body.ritoks-viox-template-services .rvp-services-preview .ritoks-services-hero-inner .wp-block-column:last-child:empty {
    display: none;
  }

  body.ritoks-viox-template-services .rvp-services-preview h1 {
    font-size: 42px !important;
    line-height: 1.08 !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page {
    padding: 54px 20px !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page > .wp-block-columns {
    gap: 30px;
  }

  body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page h2 {
    font-size: 31px !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview .wp-block-buttons,
  body.ritoks-viox-template-services .rvp-services-preview .wp-block-button,
  body.ritoks-viox-template-services .rvp-services-preview .wp-block-button__link {
    width: 100%;
  }
}

@media (max-width: 480px) {
  body.ritoks-viox-template-services .rvp-services-preview > .wp-block-cover:first-child {
    min-height: 400px !important;
    padding: 40px 18px !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview h1 {
    font-size: 38px !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page {
    padding: 48px 18px !important;
  }

  body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page > .wp-block-columns {
    gap: 26px;
  }

  body.ritoks-viox-template-services .rvp-services-preview > .ritoks-services-page h2 {
    font-size: 29px !important;
    line-height: 1.2 !important;
  }
}

.screen-reader-text {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

body.ritoks-viox-preview {
  color: var(--rvp-ink);
  background: #fff;
  font-family: Poppins, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  overflow-x: clip;
}

.ritoks-viox-header-preview #masthead {
  display: none !important;
}

.ritoks-viox-preview #masthead,
.ritoks-viox-footer-shell #colophon,
.ritoks-viox-footer-shell .site-footer {
  display: none !important;
}

.ritoks-viox-preview *,
.ritoks-viox-preview *::before,
.ritoks-viox-preview *::after { box-sizing: border-box; }
.ritoks-viox-preview h1,
.ritoks-viox-preview h2,
.ritoks-viox-preview h3,
.ritoks-viox-preview h4,
.ritoks-viox-preview h5,
.ritoks-viox-preview h6 { font-family: Poppins, Arial, sans-serif; letter-spacing: 0 !important; }
.ritoks-viox-preview a { color: var(--rvp-navy); }
.ritoks-viox-preview img { max-width: 100%; height: auto; }
.ritoks-viox-preview [hidden] { display: none !important; }
.rvp-truth-hidden { display: none !important; }

.rvp-header { position: relative; z-index: 9990; height: 82px; background: #fff; border-bottom: 1px solid var(--rvp-border); font-family: Poppins, Arial, sans-serif; }
.rvp-header,
.rvp-header *,
.rvp-header *::before,
.rvp-header *::after { box-sizing: border-box; }
.rvp-header [hidden] { display: none !important; }
.rvp-header__bar { width: 100%; height: 82px; display: grid; grid-template-columns: 180px 1fr 134px; align-items: center; gap: 32px; padding: 0 34px; }
.rvp-logo { display: flex; width: 150px; height: 42px; align-items: center; }
.rvp-logo img { width: 150px; height: auto; object-fit: contain; }
.rvp-desktop-nav { display: flex; height: 100%; align-items: stretch; justify-content: center; gap: 29px; }
.rvp-desktop-nav > a,
.rvp-nav-disclosure { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 100%; padding: 0; border: 0 !important; border-radius: 0 !important; appearance: none; background: transparent !important; box-shadow: none !important; color: #1f252b; font: 600 13px/1 Poppins, Arial, sans-serif; letter-spacing: 0; text-decoration: none; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.rvp-desktop-nav > a,
.rvp-nav-disclosure {
  background-image: none !important;
  filter: none !important;
  clip-path: none !important;
}
.rvp-desktop-nav > a::before,
.rvp-nav-disclosure::before { content: none !important; }
.rvp-desktop-nav > a:hover,
.rvp-desktop-nav > a:focus,
.rvp-nav-disclosure:hover,
.rvp-nav-disclosure:focus,
.rvp-nav-disclosure[aria-expanded="true"] { color: var(--rvp-blue); outline: none; }
.rvp-desktop-nav > .is-current,
.rvp-nav-disclosure.is-current { color: var(--rvp-blue); }
.rvp-desktop-nav > .is-current::after,
.rvp-nav-disclosure.is-current::after,
.rvp-nav-disclosure[aria-expanded="true"]::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; border: 0; border-radius: 0; background: var(--rvp-blue); box-shadow: none; }
.rvp-desktop-nav > a:focus-visible,
.rvp-nav-disclosure:focus-visible { outline: 2px solid var(--rvp-blue); outline-offset: 4px; }
.rvp-nav-disclosure > span {
  display: inline-flex;
  width: 10.25px;
  height: 12px;
  flex: 0 0 10.25px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: currentColor;
  font-size: 0;
  transform: rotate(0deg);
  transform-origin: 50% 50%;
  transition: transform 200ms ease;
}
.rvp-nav-disclosure > span::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transform-origin: 50% 50%;
}
.rvp-nav-disclosure:hover > span,
.rvp-nav-disclosure:focus-within > span,
.rvp-nav-disclosure[aria-expanded="true"] > span { transform: rotate(180deg); }
.rvp-header-cta,
.rvp-button { display: inline-flex; width: 134px; min-height: 50px; align-items: center; justify-content: center; border-radius: 6px; background: var(--rvp-blue); color: #fff !important; font-size: 13px; font-weight: 700; text-decoration: none !important; }
.rvp-header-cta:hover,
.rvp-header-cta:focus,
.rvp-button:hover,
.rvp-button:focus { background: var(--rvp-navy); color: #fff; }
.rvp-mobile-trigger { display: none; width: 42px; height: 42px; padding: 10px; border: 0; background: transparent; }
.rvp-mobile-trigger > span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--rvp-navy); }

.rvp-mega { position: absolute; top: 82px; left: 34px; right: 34px; display: grid; min-height: 414px; border-top: 3px solid var(--rvp-blue); background: #fff; box-shadow: 0 18px 40px rgba(12, 26, 40, .18); }
.rvp-mega--products { grid-template-columns: 240px 320px minmax(0, 1fr); height: 548px; }
.rvp-mega--resources { grid-template-columns: 240px 320px minmax(0, 1fr); height: 414px; }
.rvp-mega--about { grid-template-columns: 255px minmax(0, 1fr); min-height: 355px; }
.rvp-mega--applications,
.rvp-mega--company { grid-template-columns: 255px minmax(0, 1fr); height: 414px; }
.rvp-mega__intro { display: flex; flex-direction: column; padding: 44px 38px 38px; background: #f3f5f7; }
.rvp-mega__intro .rvp-eyebrow { margin: 0 0 8px; color: var(--rvp-blue); font-size: 12px; font-weight: 600; text-transform: uppercase; }
.rvp-mega__intro h2 { margin: 0 0 24px; color: var(--rvp-ink); font-size: 30px; line-height: 1.12; font-weight: 700; }
.rvp-mega__intro > p:not(.rvp-eyebrow) { margin: 0; color: #707c88; font-size: 15px; line-height: 1.65; }
.rvp-mega__intro > a { margin-top: auto; color: var(--rvp-blue); font-size: 13px; font-weight: 600; text-decoration: none; }
.rvp-mega__families { border-right: 1px solid var(--rvp-border); }
.rvp-mega__families button { display: grid; width: 100%; height: 82px; grid-template-columns: 28px minmax(0, 1fr) 14px; align-items: center; gap: 14px; padding: 0 32px; border: 0; border-bottom: 1px solid var(--rvp-border); background: #fff; color: #1f252b; font: 600 14px/1.35 Poppins, Arial, sans-serif; text-align: left; cursor: pointer; }
.rvp-mega__families button:hover,
.rvp-mega__families button:focus,
.rvp-mega__families button[aria-selected="true"] { background: var(--rvp-soft); color: var(--rvp-blue); outline: none; }
.rvp-family-icon { display: flex; align-items: center; }
.rvp-family-icon svg { width: 24px; height: 24px; }
.rvp-mega__discovery { min-width: 0; padding: 40px 38px; }
.rvp-discovery-heading { display: flex; min-height: 72px; align-items: flex-start; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--rvp-border); }
.rvp-discovery-heading h2 { margin: 0; color: var(--rvp-ink); font-size: 28px; line-height: 1.2; font-weight: 700; }
.rvp-discovery-heading a { color: var(--rvp-blue); font-size: 13px; font-weight: 600; text-decoration: none; }
.rvp-discovery-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; }
.rvp-discovery-links a { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--rvp-border); color: #394553; font-size: 14px; font-weight: 500; text-decoration: none; }
.rvp-discovery-links a:hover,
.rvp-discovery-links a:focus { color: var(--rvp-blue); }
.rvp-resource-types { padding: 40px 32px; border-right: 1px solid var(--rvp-border); }
.rvp-mega-label { margin: 0 0 18px; color: #364150; font-size: 13px; font-weight: 600; text-transform: uppercase; }
.rvp-resource-types a { display: grid; min-height: 67px; grid-template-columns: 1fr auto; align-items: center; gap: 16px; border-bottom: 1px solid var(--rvp-border); color: #28333e; font-size: 14px; text-decoration: none; }
.rvp-resource-types a:hover,
.rvp-resource-types a:focus { color: var(--rvp-blue); }
.rvp-about-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 28px 32px; }
.rvp-about-grid a { position: relative; display: grid; align-content: start; min-width: 0; padding: 10px 28px; border-right: 1px solid var(--rvp-border); color: var(--rvp-ink); text-decoration: none; }
.rvp-about-grid a:last-child { border-right: 0; }
.rvp-about-number { margin-bottom: 14px; color: var(--rvp-blue); font-size: 12px; font-weight: 700; }
.rvp-about-grid strong { margin-bottom: 12px; font-size: 16px; }
.rvp-about-grid a > span:not(.rvp-about-number) { max-width: 210px; color: var(--rvp-muted); font-size: 14px; line-height: 1.55; }
.rvp-about-grid b { position: absolute; right: 28px; bottom: 22px; font-size: 14px; }
.rvp-about-grid a:hover strong,
.rvp-about-grid a:focus strong { color: var(--rvp-blue); }

.rvp-application-grid,
.rvp-mega--company .rvp-about-grid {
  display: grid;
  min-width: 0;
  padding: 0;
  border-left: 1px solid var(--rvp-border);
}
.rvp-application-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); }
.rvp-application-card {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: 30px minmax(0, 1fr);
  align-content: center;
  gap: 18px;
  padding: 30px 44px 30px 30px;
  border-right: 1px solid var(--rvp-border);
  border-bottom: 1px solid var(--rvp-border);
  background: #fff;
  color: var(--rvp-ink) !important;
  text-decoration: none !important;
}
.rvp-application-card:nth-child(n + 4) { border-bottom: 0; }
.rvp-application-card:nth-child(3n) { border-right: 0; }
.rvp-application-card:hover,
.rvp-application-card:focus-visible,
.rvp-mega--company .rvp-about-grid a:hover,
.rvp-mega--company .rvp-about-grid a:focus-visible { background: #f7fafc; }
.rvp-application-icon { display: flex; color: var(--rvp-blue); }
.rvp-application-icon svg { width: 27px; height: 27px; }
.rvp-application-copy { display: grid; min-width: 0; gap: 9px; }
.rvp-application-copy strong { font-size: 15px; line-height: 1.35; }
.rvp-application-copy > span { color: var(--rvp-muted); font-size: 13px; line-height: 1.55; }
.rvp-application-card b { position: absolute; top: 28px; right: 22px; font-size: 13px; font-weight: 500; }
.rvp-application-card:hover strong,
.rvp-application-card:focus-visible strong { color: var(--rvp-blue); }

.rvp-mega--company .rvp-about-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); }
.rvp-mega--company .rvp-about-grid a {
  min-height: 0;
  padding: 30px 40px 28px 28px;
  border-right: 1px solid var(--rvp-border);
  border-bottom: 1px solid var(--rvp-border);
  background: #fff;
}
.rvp-mega--company .rvp-about-grid a:nth-child(4n) { border-right: 0; }
.rvp-mega--company .rvp-about-grid a:nth-child(n + 5) { border-bottom: 0; }
.rvp-mega--company .rvp-about-number { margin-bottom: 10px; }
.rvp-mega--company .rvp-about-grid strong { margin-bottom: 9px; font-size: 14px; line-height: 1.35; }
.rvp-mega--company .rvp-about-grid a > span:not(.rvp-about-number) { max-width: 190px; font-size: 12px; line-height: 1.5; }
.rvp-mega--company .rvp-about-grid b { top: 29px; right: 20px; bottom: auto; font-weight: 500; }

.rvp-mobile-drawer { position: absolute; top: 70px; right: 16px; left: 16px; max-height: calc(100vh - 86px); overflow-y: auto; border-top: 3px solid var(--rvp-blue); background: #fff; box-shadow: 0 18px 40px rgba(12, 26, 40, .2); }
.rvp-mobile-drawer nav { padding: 12px 20px 20px; }
.rvp-mobile-drawer nav > a,
.rvp-mobile-drawer nav > button { display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: space-between; padding: 0; border: 0; border-bottom: 1px solid var(--rvp-border); background: transparent; color: var(--rvp-ink); font: 600 15px/1.3 Poppins, Arial, sans-serif; text-align: left; text-decoration: none; }
.rvp-mobile-drawer nav > button > span {
  display: inline-flex;
  transform: rotate(0deg);
  transform-origin: center;
  transition: transform 200ms ease;
}
.rvp-mobile-drawer nav > button[aria-expanded="true"] > span { transform: rotate(180deg); }
.rvp-mobile-drawer nav > .is-current {
  color: var(--rvp-blue);
  box-shadow: inset 0 -2px 0 var(--rvp-blue);
}
.rvp-mobile-subnav { padding: 8px 0 10px 16px; border-bottom: 1px solid var(--rvp-border); }
.rvp-mobile-subnav a { display: flex; min-height: 42px; align-items: center; color: var(--rvp-muted); font-size: 13px; text-decoration: none; }
.rvp-mobile-drawer .rvp-mobile-cta { min-height: 49px; justify-content: center; margin-top: 18px; border: 0; border-radius: 6px; background: var(--rvp-blue); color: #fff; }

.rvp-footer { background: var(--rvp-footer); color: #c9d0d6; font-family: Poppins, Arial, sans-serif; }
.rvp-footer-assist { display: flex; min-height: 148px; max-width: var(--rvp-content); align-items: center; justify-content: space-between; gap: 32px; margin: 0 auto; padding: 36px 34px; border-bottom: 1px solid #2a3036; }
.rvp-footer-assist .rvp-eyebrow { margin: 0 0 6px; color: #72bce9; font-size: 12px; text-transform: uppercase; }
.rvp-footer-assist h2 { margin: 0; color: #fff; font-size: 36px; line-height: 1.2; }
.rvp-footer-grid { display: grid; max-width: var(--rvp-content); grid-template-columns: 1.5fr repeat(4, 1fr); gap: 34px; margin: 0 auto; padding: 58px 34px 44px; }
.rvp-footer-brand img { width: 150px; filter: brightness(0) invert(1); }
.rvp-footer-brand p { max-width: 330px; color: #929ba3; font-size: 14px; }
.rvp-footer h3 { margin: 0 0 18px; color: #fff; font-size: 13px; text-transform: uppercase; }
.rvp-footer-grid a,
.rvp-footer-grid span { display: block; margin: 0 0 11px; color: #aeb6bd; font-size: 13px; text-decoration: none; overflow-wrap: anywhere; }
.rvp-footer-grid a:hover,
.rvp-footer-grid a:focus { color: #fff; }
.rvp-footer-bottom { max-width: var(--rvp-content); margin: 0 auto; padding: 20px 34px; border-top: 1px solid #2a3036; color: #7d878f; font-size: 12px; }

.ritoks-viox-preview .site-content { overflow: visible; }
.ritoks-viox-preview .entry-content > .alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; }
.ritoks-viox-preview .wp-block-button__link,
.ritoks-viox-preview .uagb-buttons-repeater { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px !important; font-weight: 700; }
.ritoks-viox-preview .wp-block-group { scroll-margin-top: 96px; }
.ritoks-viox-preview .wp-block-columns { gap: 24px; }
.ritoks-viox-preview .wp-block-table { width: 100%; overflow-x: auto; }
.ritoks-viox-preview .wp-block-table table { min-width: 680px; border-collapse: collapse; }
.ritoks-viox-preview .wp-block-table th { background: var(--rvp-navy); color: #fff; }
.ritoks-viox-preview .wp-block-table th,
.ritoks-viox-preview .wp-block-table td { padding: 14px 16px; border: 1px solid var(--rvp-border); }
.ritoks-viox-preview details { border: 1px solid var(--rvp-border); border-radius: 6px; background: #fff; }
.ritoks-viox-preview details summary { padding: 18px 20px; font-weight: 600; }

.ritoks-viox-template-home .entry-content > .wp-block-group.alignfull { padding-top: 88px !important; padding-bottom: 88px !important; }
.ritoks-viox-template-home .entry-content > .wp-block-group.alignfull:first-child,
.ritoks-viox-template-home .entry-content > .uagb-container__wrap:first-child { min-height: 620px; }
.ritoks-viox-template-home .entry-content h1 { max-width: 1050px; margin-right: auto; margin-left: auto; font-size: clamp(44px, 5vw, 72px) !important; line-height: 1.05 !important; }
.ritoks-viox-template-home #products .wp-block-column { padding-bottom: 22px; border-bottom: 1px solid var(--rvp-border); }
.ritoks-viox-template-home #products .wp-block-image { overflow: hidden; background: var(--rvp-surface); }
.ritoks-viox-template-home #products .wp-block-image img { width: 100%; aspect-ratio: 4/3; object-fit: contain; transition: transform .25s ease; }
.ritoks-viox-template-home #products .wp-block-column:hover img { transform: scale(1.025); }

.ritoks-viox-template-home .site-content > .ast-container,
.ritoks-viox-template-home .site-content .site-main,
.ritoks-viox-template-home .site-content article,
.ritoks-viox-template-home .site-content .entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.rvp-home {
  width: 100%;
  overflow: hidden;
  background: #fff;
}

.rvp-home-shell {
  width: min(100% - 64px, var(--rvp-content));
  margin: 0 auto;
}

.rvp-home h1,
.rvp-home h2,
.rvp-home h3,
.rvp-home p,
.rvp-home figure {
  margin-top: 0;
}

.rvp-home h1,
.rvp-home h2,
.rvp-home h3 {
  color: var(--rvp-ink);
  font-weight: 700;
}

.rvp-home-label {
  margin: 0 0 14px;
  color: var(--rvp-blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}

.rvp-home-hero {
  position: relative;
  display: flex;
  min-height: 650px;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  background: #0b2741;
}

.rvp-home-hero__media,
.rvp-home-hero__overlay {
  position: absolute;
  inset: 0;
}

.rvp-home-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.rvp-home-hero__overlay {
  z-index: 1;
  background: rgba(5, 24, 42, .72);
}

.rvp-home-hero__content {
  position: relative;
  z-index: 2;
  padding: 88px 0 96px;
}

.ritoks-viox-template-home .entry-content .rvp-home-hero h1 {
  max-width: 850px;
  margin: 0 0 24px;
  color: #fff;
  font-size: 64px !important;
  line-height: 1.06 !important;
  text-align: left;
}

.rvp-home-hero .rvp-home-label {
  color: #8fd1f5;
}

.rvp-home-lead {
  max-width: 760px;
  margin-bottom: 32px;
  color: #dce9f3;
  font-size: 17px;
  line-height: 1.7;
}

.rvp-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.rvp-home-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid var(--rvp-blue);
  border-radius: 4px;
  background: var(--rvp-blue);
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
}

.rvp-home-button:hover,
.rvp-home-button:focus-visible {
  border-color: var(--rvp-navy);
  background: var(--rvp-navy);
  color: #fff;
}

.rvp-home-button--outline {
  border-color: rgba(255, 255, 255, .72);
  background: transparent;
}

.rvp-home-button--outline:hover,
.rvp-home-button--outline:focus-visible {
  border-color: #fff;
  background: #fff;
  color: var(--rvp-navy) !important;
}

.rvp-home-section {
  padding: 96px 0;
}

.rvp-home-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 44px;
}

.rvp-home-section-heading > div {
  max-width: 780px;
}

.rvp-home-section-heading h2,
.rvp-home-support h2,
.rvp-home-company h2 {
  margin-bottom: 16px;
  font-size: 44px;
  line-height: 1.14;
}

.rvp-home-section-heading p:not(.rvp-home-label),
.rvp-home-support p,
.rvp-home-company p,
.rvp-home-rfq p {
  margin-bottom: 0;
  color: var(--rvp-muted);
  line-height: 1.75;
}

.rvp-home-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rvp-blue) !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
}

.rvp-home-text-link:hover,
.rvp-home-text-link:focus-visible {
  color: var(--rvp-navy) !important;
}

.rvp-home-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--rvp-border);
  border-left: 1px solid var(--rvp-border);
}

.rvp-home-product {
  position: relative;
  display: grid;
  min-height: 330px;
  align-content: start;
  padding: 34px;
  border-right: 1px solid var(--rvp-border);
  border-bottom: 1px solid var(--rvp-border);
  background: #fff;
  color: var(--rvp-ink) !important;
  text-decoration: none !important;
}

.rvp-home-product:hover,
.rvp-home-product:focus-visible {
  z-index: 1;
  background: var(--rvp-soft);
  outline: 2px solid var(--rvp-blue);
  outline-offset: -2px;
}

.rvp-home-product__icon {
  display: flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  margin-bottom: 38px;
  color: var(--rvp-blue);
}

.rvp-home-product__icon svg {
  width: 46px;
  height: 46px;
}

.rvp-home-product__count {
  position: absolute;
  top: 34px;
  right: 34px;
  color: #8b96a1;
  font-size: 12px;
  font-weight: 600;
}

.rvp-home-product h3 {
  margin-bottom: 12px;
  font-size: 21px;
  line-height: 1.3;
}

.rvp-home-product p {
  margin-bottom: 26px;
  color: var(--rvp-muted);
  font-size: 14px;
  line-height: 1.65;
}

.rvp-home-product__link {
  align-self: end;
  margin-top: auto;
  color: var(--rvp-blue);
  font-size: 13px;
  font-weight: 700;
}

.rvp-home-applications {
  background: var(--rvp-soft);
}

.rvp-home-application-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #cfdce7;
  border-left: 1px solid #cfdce7;
}

.rvp-home-application-grid > div {
  min-height: 205px;
  padding: 30px;
  border-right: 1px solid #cfdce7;
  border-bottom: 1px solid #cfdce7;
  background: rgba(255, 255, 255, .48);
}

.rvp-home-application-grid h3 {
  margin-bottom: 14px;
  font-size: 19px;
  line-height: 1.35;
}

.rvp-home-application-grid p {
  margin-bottom: 0;
  color: var(--rvp-muted);
  font-size: 14px;
  line-height: 1.7;
}

.rvp-home-support {
  background: #0b1015;
  color: #fff;
}

.rvp-home-support__grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 86px;
  align-items: start;
}

.rvp-home-support h2 {
  max-width: 620px;
  color: #fff;
}

.rvp-home-support__intro > p:not(.rvp-home-label) {
  max-width: 660px;
  margin-bottom: 30px;
  color: #aebac4;
}

.rvp-home-support__details {
  border-top: 1px solid #303840;
}

.rvp-home-support__details > div {
  display: grid;
  grid-template-columns: minmax(190px, .8fr) minmax(0, 1.2fr);
  gap: 28px;
  padding: 23px 0;
  border-bottom: 1px solid #303840;
}

.rvp-home-support__details strong {
  color: #fff;
  font-size: 15px;
}

.rvp-home-support__details span {
  color: #aebac4;
  font-size: 14px;
  line-height: 1.6;
}

.rvp-home-resources {
  background: var(--rvp-surface);
}

.rvp-home-resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #d8dee5;
}

.rvp-home-resource {
  position: relative;
  min-height: 250px;
  padding: 34px 34px 30px;
  border-right: 1px solid #d8dee5;
  border-bottom: 1px solid #d8dee5;
}

.rvp-home-resource:first-child {
  border-left: 1px solid #d8dee5;
}

.rvp-home-resource__number {
  display: block;
  margin-bottom: 34px;
  color: var(--rvp-blue);
  font-size: 12px;
  font-weight: 700;
}

.rvp-home-resource h3 {
  margin-bottom: 28px;
  font-size: 20px;
  line-height: 1.42;
}

.rvp-home-resource h3 a {
  color: var(--rvp-ink);
  text-decoration: none;
}

.rvp-home-resource h3 a:hover,
.rvp-home-resource h3 a:focus-visible {
  color: var(--rvp-blue);
}

.rvp-home-company__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 72px;
  align-items: center;
}

.rvp-home-company__media {
  aspect-ratio: 4 / 3;
  margin-bottom: 0;
  overflow: hidden;
  background: var(--rvp-surface);
}

.rvp-home-company__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rvp-home-company__content p:not(.rvp-home-label) {
  margin-bottom: 18px;
}

.rvp-home-company__content .rvp-home-button {
  margin-top: 14px;
}

.rvp-home-rfq {
  background: #eaf2f8;
}

.rvp-home-rfq__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: 0;
  align-items: stretch;
}

.rvp-home-faq,
.rvp-home-rfq__form {
  padding: 46px 42px;
}

.rvp-home-faq {
  background: #fff;
}

.rvp-home-rfq h2 {
  margin-bottom: 14px;
  font-size: 32px;
  line-height: 1.2;
}

.rvp-home-rfq p {
  color: var(--rvp-muted);
}

.rvp-home-faq > p {
  margin-bottom: 28px;
}

.rvp-home-faq details {
  margin-bottom: 12px;
  border: 0;
  border-top: 1px solid var(--rvp-border);
  border-radius: 0;
}

.rvp-home-faq details:last-child {
  border-bottom: 1px solid var(--rvp-border);
}

.rvp-home-faq summary {
  padding: 18px 0;
}

.rvp-home-faq details p {
  padding: 0 0 18px;
  font-size: 14px;
}

.rvp-home-rfq__form {
  background: var(--rvp-navy);
}

.rvp-home-rfq__form h2 {
  color: #fff;
}

.rvp-home-rfq__form > .rvp-home-label {
  color: #90d2f6;
}

.rvp-home-rfq__form > p:not(.rvp-home-label) {
  margin-bottom: 28px;
  color: #d9e8f3;
}

.rvp-home-rfq__form .wpforms-container {
  margin: 0;
}

.rvp-home-rfq__form .wpforms-field-label,
.rvp-home-rfq__form .wpforms-field-sublabel,
.rvp-home-rfq__form .wpforms-required-label {
  color: #fff !important;
}

.rvp-home-rfq__form input,
.rvp-home-rfq__form textarea {
  border-color: #b7c9d8 !important;
  background: #fff !important;
  color: var(--rvp-ink) !important;
}

.rvp-home-rfq__form button[type="submit"] {
  min-height: 50px !important;
  padding: 0 22px !important;
  border: 1px solid #fff !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: var(--rvp-navy) !important;
}

.ritoks-viox-preview :focus-visible {
	outline: 2px solid rgba(12, 104, 181, .62);
	outline-offset: 3px;
}

.ritoks-viox-preview ::selection {
  background: var(--rvp-blue);
  color: #fff;
}

.ritoks-viox-template-product .site-content,
.ritoks-viox-template-article .site-content { background: #fff; }
.ritoks-viox-template-product .entry-content > .wp-block-group.alignfull { padding-top: 72px !important; padding-bottom: 72px !important; }
.ritoks-viox-template-product .entry-content > .wp-block-group.alignfull:first-child { padding-top: 64px !important; padding-bottom: 64px !important; background: var(--rvp-surface) !important; }
.ritoks-viox-template-product .entry-content h1 { font-size: clamp(38px, 4vw, 56px) !important; line-height: 1.08 !important; }
.ritoks-viox-template-product .entry-content h2 { font-size: clamp(30px, 3vw, 44px) !important; line-height: 1.15 !important; }
.ritoks-viox-template-product .entry-content h3 { font-size: 20px !important; }
.ritoks-viox-template-product .entry-content .wp-block-image img { object-fit: contain; }

.ritoks-viox-template-article .site-content > .ast-container { max-width: none; padding: 0; }
.ritoks-viox-template-article article { padding: 0 !important; }
.ritoks-viox-template-article .entry-content > .wp-block-group.alignfull:first-child { padding-top: 72px !important; padding-bottom: 72px !important; background: var(--rvp-navy) !important; }
.ritoks-viox-template-article .entry-content > .wp-block-group.alignfull:first-child > * { max-width: 1120px; }
.ritoks-viox-template-article .entry-content > .wp-block-group:not(:first-child) { max-width: 920px; margin-right: auto !important; margin-left: auto !important; padding-top: 64px !important; padding-bottom: 64px !important; }
.ritoks-viox-template-article .entry-content h1 { font-size: clamp(38px, 4vw, 56px) !important; line-height: 1.08 !important; }
.ritoks-viox-template-article .entry-content h2 { font-size: clamp(30px, 3.3vw, 46px) !important; line-height: 1.16 !important; }
.ritoks-viox-template-article .entry-content h3 { font-size: 24px !important; }
.ritoks-viox-template-article .entry-content p,
.ritoks-viox-template-article .entry-content li { font-size: 17px; line-height: 1.78; }
.ritoks-viox-template-article .entry-content blockquote { margin: 30px 0; padding: 20px 24px; background: var(--rvp-soft); }
.ritoks-viox-template-article .entry-content figure img { border-radius: 6px; }

.ritoks-viox-template-child-category .ritoks-child-category-archive,
.ritoks-viox-template-top-category .ritoks-child-category-archive { padding: 64px 24px 88px; background: var(--rvp-surface); }
.ritoks-viox-preview .ritoks-child-category-shell { max-width: 1400px; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; }
.ritoks-viox-preview .ritoks-child-category-panel,
.ritoks-viox-preview .ritoks-child-category-certification,
.ritoks-viox-preview .ritoks-child-category-card { border-color: var(--rvp-border); border-radius: 6px; box-shadow: 0 6px 22px rgba(37, 39, 45, .05); }
.ritoks-viox-preview .ritoks-child-category-panel-title { background: var(--rvp-navy); font-size: 18px; }
.ritoks-viox-preview .ritoks-category-top-item.is-expanded > .ritoks-category-top-link,
.ritoks-viox-preview .ritoks-child-category-sublist .is-current { background: var(--rvp-soft); color: var(--rvp-navy); }
.ritoks-viox-preview .ritoks-child-category-sublist .is-current { border-left-color: var(--rvp-blue); }
.ritoks-viox-preview .ritoks-child-category-intro h1 { font-size: clamp(38px, 4vw, 56px); color: var(--rvp-navy); }
.ritoks-viox-preview .ritoks-child-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ritoks-viox-preview .ritoks-child-category-card { padding: 24px; }
.ritoks-viox-preview .ritoks-child-category-product-title { font-size: 19px; }

.ritoks-viox-template-products .entry-content > .alignfull,
.ritoks-viox-template-resources .entry-content > .alignfull,
.ritoks-viox-template-about .entry-content > .alignfull,
.ritoks-viox-template-services .entry-content > .alignfull,
.ritoks-viox-template-contact .entry-content > .alignfull { padding-top: 82px !important; padding-bottom: 82px !important; }
.ritoks-viox-template-products .entry-content h1,
.ritoks-viox-template-resources .entry-content h1,
.ritoks-viox-template-about .entry-content h1,
.ritoks-viox-template-services .entry-content h1,
.ritoks-viox-template-contact .entry-content h1 { font-size: clamp(40px, 4.5vw, 64px) !important; line-height: 1.08 !important; }

@media (max-width: 1100px) {
  .rvp-header__bar { grid-template-columns: 150px 1fr 118px; gap: 18px; padding: 0 22px; }
  .rvp-logo, .rvp-logo img { width: 138px; }
  .rvp-desktop-nav { gap: 17px; }
  .rvp-header-cta { width: 118px; }
  .rvp-mega { right: 20px; left: 20px; }
  .rvp-mega--products, .rvp-mega--resources { grid-template-columns: 220px 280px minmax(0, 1fr); }
  .rvp-mega--applications, .rvp-mega--company { grid-template-columns: 220px minmax(0, 1fr); }
  .rvp-application-card { gap: 12px; padding: 24px 32px 24px 20px; }
  .rvp-application-card b { top: 22px; right: 14px; }
  .rvp-mega--company .rvp-about-grid a { padding: 26px 28px 24px 20px; }
  .rvp-mega--company .rvp-about-grid b { top: 25px; right: 12px; }
  .rvp-home-shell { width: min(100% - 44px, var(--rvp-content)); }
  .ritoks-viox-template-home .entry-content .rvp-home-hero h1 { max-width: 760px; font-size: 54px !important; }
  .rvp-home-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rvp-home-application-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rvp-home-support__grid { gap: 54px; }
}

@media (max-width: 921px) {
  .rvp-header { height: 70px; }
  .rvp-header__bar { height: 70px; grid-template-columns: 1fr auto; padding: 0 16px; }
  .rvp-logo, .rvp-logo img { width: 126px; }
  .rvp-desktop-nav, .rvp-header-cta { display: none; }
  .rvp-mobile-trigger { display: block; }
  .rvp-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rvp-footer-brand { grid-column: 1 / -1; }
  .ritoks-viox-preview .ritoks-child-category-shell { grid-template-columns: 1fr; }
  .ritoks-viox-preview .ritoks-child-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rvp-home-hero { min-height: 590px; }
  .ritoks-viox-template-home .entry-content .rvp-home-hero h1 { font-size: 48px !important; }
  .rvp-home-section { padding: 76px 0; }
  .rvp-home-section-heading { align-items: flex-start; flex-direction: column; gap: 20px; }
  .rvp-home-section-heading h2,
  .rvp-home-support h2,
  .rvp-home-company h2 { font-size: 38px; }
  .rvp-home-support__grid { grid-template-columns: 1fr; }
  .rvp-home-resource-grid { grid-template-columns: 1fr; }
  .rvp-home-resource { min-height: 0; border-left: 1px solid #d8dee5; }
  .rvp-home-company__grid { gap: 42px; }
  .rvp-home-rfq__grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .ritoks-viox-preview { font-size: 15px; }
  .ritoks-viox-preview .entry-content > .alignfull { width: auto; margin-right: 0; margin-left: 0; }
  .ritoks-viox-preview .wp-block-columns { gap: 24px; }
  .rvp-footer-assist { align-items: flex-start; flex-direction: column; padding: 34px 20px; }
  .rvp-footer-grid { grid-template-columns: 1fr; padding: 42px 20px 32px; }
  .rvp-footer-brand { grid-column: auto; }
  .rvp-footer-bottom { padding: 18px 20px; }
  .ritoks-viox-template-home .entry-content > .wp-block-group.alignfull,
  .ritoks-viox-template-product .entry-content > .wp-block-group.alignfull,
  .ritoks-viox-template-products .entry-content > .alignfull,
  .ritoks-viox-template-resources .entry-content > .alignfull,
  .ritoks-viox-template-about .entry-content > .alignfull,
  .ritoks-viox-template-services .entry-content > .alignfull,
  .ritoks-viox-template-contact .entry-content > .alignfull { padding: 56px 18px !important; }
  .ritoks-viox-template-home .entry-content > .wp-block-group.alignfull:first-child,
  .ritoks-viox-template-home .entry-content > .uagb-container__wrap:first-child { min-height: 520px; }
  .ritoks-viox-template-article .entry-content > .wp-block-group.alignfull:first-child,
  .ritoks-viox-template-article .entry-content > .wp-block-group:not(:first-child) { padding: 48px 18px !important; }
  .ritoks-viox-template-article .entry-content p,
  .ritoks-viox-template-article .entry-content li { font-size: 16px; }
  .ritoks-viox-preview .ritoks-child-category-archive { padding: 40px 16px 56px; }
  .ritoks-viox-preview .ritoks-child-category-grid { grid-template-columns: 1fr; }
  .rvp-home-shell { width: min(100% - 36px, var(--rvp-content)); }
  .rvp-home-hero { min-height: 540px; }
  .rvp-home-hero__media img { object-position: 58% center; }
  .rvp-home-hero__content { padding: 70px 0 76px; }
  .ritoks-viox-template-home .entry-content .rvp-home-hero h1 { max-width: none; font-size: 38px !important; line-height: 1.1 !important; }
  .rvp-home-lead { font-size: 15px; }
  .rvp-home-actions { align-items: stretch; flex-direction: column; }
  .rvp-home-button { width: 100%; }
  .rvp-home-section { padding: 58px 0; }
  .rvp-home-section-heading { margin-bottom: 30px; }
  .rvp-home-section-heading h2,
  .rvp-home-support h2,
  .rvp-home-company h2 { font-size: 31px; }
  .rvp-home-product-grid { grid-template-columns: 1fr; }
  .rvp-home-application-grid { grid-template-columns: 1fr; }
  .rvp-home-application-grid > div { min-height: 0; padding: 26px; }
  .rvp-home-product { min-height: 275px; padding: 28px; }
  .rvp-home-product__icon { margin-bottom: 28px; }
  .rvp-home-product__count { top: 28px; right: 28px; }
  .rvp-home-support__details > div { grid-template-columns: 1fr; gap: 7px; }
  .rvp-home-company__grid { grid-template-columns: 1fr; gap: 34px; }
  .rvp-home-company__media { aspect-ratio: 4 / 3; }
  .rvp-home-faq,
  .rvp-home-rfq__form { padding: 34px 24px; }
  .rvp-home-rfq h2 { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .ritoks-viox-preview *, .ritoks-viox-preview *::before, .ritoks-viox-preview *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Homepage 314 frozen mockup parity. Navigation V3 rules above remain unchanged. */
.ritoks-viox-template-home .rvp-home-hero {
  min-height: 610px;
}

.ritoks-viox-template-home .rvp-home-hero__media img {
  object-position: 54% center;
}

.ritoks-viox-template-home .rvp-home-hero__overlay {
  background: linear-gradient(90deg, rgba(5, 24, 42, .9) 0%, rgba(5, 24, 42, .75) 47%, rgba(5, 24, 42, .34) 100%);
}

.ritoks-viox-template-home .rvp-home-hero__content {
  padding: 96px 0 102px;
}

.ritoks-viox-template-home .entry-content .rvp-home-hero h1 {
  max-width: 800px;
  margin-bottom: 22px;
  font-size: 58px !important;
  line-height: 1.08 !important;
}

.ritoks-viox-template-home .rvp-home-lead {
  max-width: 690px;
  margin-bottom: 34px;
}

.ritoks-viox-template-home .rvp-home-actions {
  gap: 14px;
}

.ritoks-viox-template-home .rvp-home-products {
  padding-top: 104px;
  padding-bottom: 112px;
  background: #fff;
}

.ritoks-viox-template-home .rvp-home-product-grid {
  gap: 24px;
  border: 0;
}

.ritoks-viox-template-home .rvp-home-product {
  display: flex;
  min-height: 0;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--rvp-border);
  border-radius: 4px;
  background: #fff;
}

.ritoks-viox-template-home .rvp-home-product:hover,
.ritoks-viox-template-home .rvp-home-product:focus-visible {
  background: #fff;
  outline: 2px solid var(--rvp-blue);
  outline-offset: -2px;
}

.rvp-home-product__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid var(--rvp-border);
  background: #edf3f7;
}

.rvp-home-product__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .28s ease;
}

.rvp-home-product:nth-child(4) .rvp-home-product__media img {
  object-fit: contain;
  padding: 20px;
  background: #f4f7f9;
}

.rvp-home-product:hover .rvp-home-product__media img,
.rvp-home-product:focus-visible .rvp-home-product__media img {
  transform: scale(1.025);
}

.rvp-home-product__body {
  display: flex;
  min-height: 205px;
  flex: 1;
  flex-direction: column;
  padding: 26px 28px 28px;
}

.ritoks-viox-template-home .rvp-home-product h3 {
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 1.35;
}

.ritoks-viox-template-home .rvp-home-product p {
  margin-bottom: 20px;
  font-size: 13px;
  line-height: 1.65;
}

.ritoks-viox-template-home .rvp-home-product__link {
  margin-top: auto;
}

.ritoks-viox-template-home .rvp-home-support {
  padding: 0;
  background: #0a1118;
}

.ritoks-viox-template-home .rvp-home-support__grid {
  width: min(100%, 1600px);
  max-width: none;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  gap: 0;
  align-items: stretch;
}

.ritoks-viox-template-home .rvp-home-support__intro {
  display: flex;
  max-width: 700px;
  min-height: 570px;
  flex-direction: column;
  justify-content: center;
  padding: 88px 76px 92px max(48px, calc((100vw - var(--rvp-content)) / 2));
}

.ritoks-viox-template-home .rvp-home-support__intro > p:not(.rvp-home-label) {
  margin-bottom: 24px;
}

.rvp-home-support__intro ul {
  display: grid;
  gap: 12px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
}

.rvp-home-support__intro li {
  position: relative;
  padding-left: 22px;
  color: #d3dce3;
  font-size: 14px;
  line-height: 1.65;
}

.rvp-home-support__intro li::before {
  position: absolute;
  top: .72em;
  left: 0;
  width: 8px;
  height: 2px;
  background: #56afe2;
  content: "";
}

.ritoks-viox-template-home .rvp-home-support__intro .rvp-home-button {
  width: fit-content;
}

.rvp-home-support__media {
  min-height: 570px;
  margin: 0;
  overflow: hidden;
  background: #142431;
}

.rvp-home-support__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.ritoks-viox-template-home .rvp-home-resources {
  padding-top: 108px;
  padding-bottom: 112px;
  background: #f3f6f8;
}

.ritoks-viox-template-home .rvp-home-resource-grid {
  gap: 24px;
  border: 0;
}

.ritoks-viox-template-home .rvp-home-resource {
  display: flex;
  min-height: 0;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d8dee5;
  background: #fff;
}

.ritoks-viox-template-home .rvp-home-resource:first-child {
  border-left: 1px solid #d8dee5;
}

.rvp-home-resource__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid #d8dee5;
  background: #e9f0f5;
}

.rvp-home-resource__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .28s ease;
}

.rvp-home-resource:hover .rvp-home-resource__media img {
  transform: scale(1.025);
}

.rvp-home-resource__body {
  display: flex;
  min-height: 228px;
  flex: 1;
  flex-direction: column;
  padding: 25px 27px 27px;
}

.ritoks-viox-template-home .rvp-home-resource h3 {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 1.42;
}

.rvp-home-resource__body p {
  margin: 0 0 20px;
  color: var(--rvp-muted);
  font-size: 13px;
  line-height: 1.65;
}

.rvp-home-resource__body .rvp-home-text-link {
  margin-top: auto;
}

.ritoks-viox-template-home .rvp-home-company {
  padding-top: 112px;
  padding-bottom: 112px;
  background: #fff;
}

.ritoks-viox-template-home .rvp-home-company__grid {
  gap: 84px;
}

.ritoks-viox-template-home .rvp-home-company__media {
  aspect-ratio: 4 / 3;
}

.rvp-home-company__points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 28px 0 6px;
  border-top: 1px solid var(--rvp-border);
  border-left: 1px solid var(--rvp-border);
}

.rvp-home-company__points span {
  display: flex;
  min-height: 82px;
  align-items: center;
  padding: 18px 20px;
  border-right: 1px solid var(--rvp-border);
  border-bottom: 1px solid var(--rvp-border);
  color: var(--rvp-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.ritoks-viox-template-home .rvp-home-rfq {
  padding: 64px 0;
  background: var(--rvp-blue);
}

.ritoks-viox-template-home .rvp-home-rfq__grid {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 64px;
  align-items: center;
}

.ritoks-viox-template-home .rvp-home-rfq .rvp-home-label {
  color: #bce4fb;
}

.ritoks-viox-template-home .rvp-home-rfq h2 {
  max-width: 850px;
  margin-bottom: 12px;
  color: #fff;
  font-size: 34px;
  line-height: 1.22;
}

.ritoks-viox-template-home .rvp-home-rfq p:not(.rvp-home-label) {
  max-width: 820px;
  color: #e5f2fa;
}

.rvp-home-button--light {
  min-width: 190px;
  border-color: #fff;
  background: #fff;
  color: var(--rvp-navy) !important;
}

.rvp-home-button--light:hover,
.rvp-home-button--light:focus-visible {
  border-color: #dbeaf4;
  background: #dbeaf4;
  color: var(--rvp-navy) !important;
}

@media (max-width: 1100px) {
  .ritoks-viox-template-home .rvp-home-hero {
    min-height: 580px;
  }

  .ritoks-viox-template-home .entry-content .rvp-home-hero h1 {
    max-width: 720px;
    font-size: 50px !important;
  }

  .ritoks-viox-template-home .rvp-home-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ritoks-viox-template-home .rvp-home-support__intro {
    min-height: 520px;
    padding: 72px 48px 76px 44px;
  }

  .rvp-home-support__media {
    min-height: 520px;
  }

  .ritoks-viox-template-home .rvp-home-company__grid {
    gap: 54px;
  }
}

@media (max-width: 921px) {
  .ritoks-viox-template-home .rvp-home-hero {
    min-height: 560px;
  }

  .ritoks-viox-template-home .rvp-home-support__grid {
    grid-template-columns: 1fr 1fr;
  }

  .ritoks-viox-template-home .rvp-home-support__intro {
    min-height: 500px;
    padding: 64px 38px;
  }

  .rvp-home-support__media {
    min-height: 500px;
  }

  .ritoks-viox-template-home .rvp-home-resource-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ritoks-viox-template-home .rvp-home-resource {
    border-left: 1px solid #d8dee5;
  }

  .rvp-home-resource__body {
    min-height: 262px;
    padding: 22px;
  }

  .ritoks-viox-template-home .rvp-home-resource h3 {
    font-size: 16px;
  }

  .ritoks-viox-template-home .rvp-home-company__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .ritoks-viox-template-home .rvp-home-shell {
    width: calc(100% - 40px);
    max-width: 100%;
    min-width: 0;
  }

  .ritoks-viox-template-home .rvp-home-hero {
    min-height: 560px;
    max-width: 100%;
  }

  .ritoks-viox-template-home .rvp-home-hero__media img {
    object-position: 63% center;
  }

  .ritoks-viox-template-home .rvp-home-hero__overlay {
    background: rgba(5, 24, 42, .78);
  }

  .ritoks-viox-template-home .rvp-home-hero__content {
    width: calc(100% - 40px);
    max-width: 100%;
    min-width: 0;
    padding: 72px 0 78px;
  }

  .ritoks-viox-template-home .entry-content .rvp-home-hero h1 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    font-size: 38px !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  .ritoks-viox-template-home .rvp-home-lead,
  .ritoks-viox-template-home .rvp-home-actions,
  .ritoks-viox-template-home .rvp-home-button {
    max-width: 100%;
    min-width: 0;
  }

  .ritoks-viox-template-home .rvp-home-products,
  .ritoks-viox-template-home .rvp-home-resources,
  .ritoks-viox-template-home .rvp-home-company {
    padding-top: 64px;
    padding-bottom: 68px;
  }

  .ritoks-viox-template-home .rvp-home-product-grid,
  .ritoks-viox-template-home .rvp-home-resource-grid {
    grid-template-columns: 1fr;
  }

  .rvp-home-product__body,
  .rvp-home-resource__body {
    min-height: 0;
  }

  .ritoks-viox-template-home .rvp-home-support__grid,
  .ritoks-viox-template-home .rvp-home-company__grid,
  .ritoks-viox-template-home .rvp-home-rfq__grid {
    grid-template-columns: 1fr;
  }

  .ritoks-viox-template-home .rvp-home-support__intro {
    min-height: 0;
    padding: 62px 18px 68px;
  }

  .rvp-home-support__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .ritoks-viox-template-home .rvp-home-company__grid {
    gap: 38px;
  }

  .rvp-home-company__points {
    grid-template-columns: 1fr;
  }

  .rvp-home-company__points span {
    min-height: 64px;
  }

  .ritoks-viox-template-home .rvp-home-rfq {
    padding: 54px 0 58px;
  }

  .ritoks-viox-template-home .rvp-home-rfq__grid {
    gap: 28px;
  }

  .ritoks-viox-template-home .rvp-home-rfq h2 {
    font-size: 29px;
  }

  .ritoks-viox-template-home .rvp-home-rfq .rvp-home-button {
    width: 100%;
  }
}

@media (max-width: 420px) {
  .ritoks-viox-template-home .entry-content .rvp-home-hero h1 {
    font-size: 35px !important;
    line-height: 1.1 !important;
  }
}

/* Product 333 private-preview pilot. */
.ritoks-viox-template-product .site-content > .ast-container,
.ritoks-viox-template-product .site-content .site-main,
.ritoks-viox-template-product .site-content article,
.ritoks-viox-template-product .site-content .entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Product 333 preview replaces the theme entry header; suppress its legacy meta only. */
.ritoks-viox-template-product .entry-header .entry-meta,
.ritoks-viox-template-product .entry-meta {
  display: none !important;
}

.rvp-product {
  width: 100%;
  overflow: clip;
  background: #fff;
  color: var(--rvp-ink);
}

.rvp-product-shell {
  width: min(100% - 64px, var(--rvp-content));
  margin: 0 auto;
}

.rvp-product-reading {
  max-width: 1120px;
}

.rvp-product-breadcrumb {
  border-bottom: 1px solid var(--rvp-border);
  background: #fff;
}

.rvp-product-breadcrumb .rvp-product-shell {
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 9px;
  color: #7b8791;
  font-size: 12px;
  white-space: nowrap;
  overflow-x: auto;
  scrollbar-width: thin;
}

.rvp-product-breadcrumb a {
  color: #66727d;
  text-decoration: none;
}

.rvp-product-breadcrumb a:hover,
.rvp-product-breadcrumb a:focus-visible {
  color: var(--rvp-blue);
}

.rvp-product-hero {
  padding: 58px 0 68px;
  background: #fff;
}

.rvp-product-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 46%) minmax(0, 54%);
  gap: 58px;
  align-items: center;
}

.rvp-product-hero__media {
  display: flex;
  min-width: 0;
  aspect-ratio: 1;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 34px;
  border: 1px solid var(--rvp-border);
  background: var(--rvp-surface);
}

.rvp-product-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.rvp-product-hero__content {
  min-width: 0;
}

.rvp-product-label {
  margin: 0 0 10px;
  color: var(--rvp-blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}

.ritoks-viox-template-product .entry-content .rvp-product h1 {
  max-width: 780px;
  margin: 0 0 22px;
  color: var(--rvp-ink);
  font-size: 52px !important;
  font-weight: 700;
  line-height: 1.05 !important;
  overflow-wrap: normal;
  word-break: normal;
}

.rvp-product-lead {
  max-width: 760px;
  margin: 0 0 26px;
  color: var(--rvp-muted);
  font-size: 16px;
  line-height: 1.72;
}

.rvp-product-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 26px;
  border-top: 1px solid var(--rvp-border);
  border-left: 1px solid var(--rvp-border);
}

.rvp-product-facts > div {
  display: grid;
  min-height: 94px;
  align-content: center;
  gap: 7px;
  padding: 16px 18px;
  border-right: 1px solid var(--rvp-border);
  border-bottom: 1px solid var(--rvp-border);
}

.rvp-product-facts span {
  color: #7b8791;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

.rvp-product-facts strong {
  color: var(--rvp-navy);
  font-size: 13px;
  line-height: 1.45;
}

.rvp-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.rvp-product-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid var(--rvp-blue);
  border-radius: 4px;
  background: var(--rvp-blue);
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
}

.rvp-product-button:hover,
.rvp-product-button:focus-visible {
  border-color: var(--rvp-navy);
  background: var(--rvp-navy);
}

.rvp-product-button--outline {
  background: #fff;
  color: var(--rvp-navy) !important;
}

.rvp-product-local-nav {
  position: sticky;
  z-index: 30;
  top: 0;
  border-top: 1px solid var(--rvp-border);
  border-bottom: 1px solid var(--rvp-border);
  background: rgba(255, 255, 255, .98);
}

.rvp-product-local-nav .rvp-product-shell {
  display: flex;
  align-items: center;
  gap: 34px;
  min-height: 62px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.rvp-product-local-nav a {
  flex: 0 0 auto;
  color: #384550;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

.rvp-product-local-nav a:hover,
.rvp-product-local-nav a:focus-visible {
  color: var(--rvp-blue);
}

.rvp-product-section {
  scroll-margin-top: 78px;
  padding: 92px 0;
}

.rvp-product-section--muted {
  background: var(--rvp-surface);
}

.ritoks-viox-template-product .entry-content .rvp-product h2 {
  max-width: 820px;
  margin: 0 0 18px;
  color: var(--rvp-ink);
  font-size: 42px !important;
  font-weight: 700;
  line-height: 1.12 !important;
}

.rvp-product-section .rvp-product-reading > p:not(.rvp-product-label) {
  max-width: 760px;
  margin: 0 0 34px;
  color: var(--rvp-muted);
}

.rvp-product-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 46px;
}

.rvp-product-overview-grid > div {
  min-width: 0;
  min-height: 190px;
  padding: 28px;
  border: 1px solid var(--rvp-border);
}

.rvp-product-overview-grid span {
  display: block;
  margin-bottom: 24px;
  color: var(--rvp-blue);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.ritoks-viox-template-product .entry-content .rvp-product-overview-grid h3,
.ritoks-viox-template-product .entry-content .rvp-product-related h3 {
  margin: 0 0 10px;
  font-size: 17px !important;
  line-height: 1.35;
}

.rvp-product-overview-grid p,
.rvp-product-related p {
  margin: 0;
  color: var(--rvp-muted);
  font-size: 13px;
  line-height: 1.65;
}

.rvp-product-table-wrap {
  max-width: 100%;
  margin-top: 34px;
  overflow-x: auto;
  border: 1px solid var(--rvp-border);
  background: #fff;
  scrollbar-width: thin;
}

.rvp-product-table-wrap table {
  width: 100%;
  min-width: 780px;
  border: 0;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.rvp-product-table-wrap th,
.rvp-product-table-wrap td {
  padding: 14px 18px;
  border: 0;
  border-bottom: 1px solid var(--rvp-border);
  text-align: left;
  vertical-align: middle;
  font-size: 12px;
  line-height: 1.45;
}

.rvp-product-table-wrap th {
  background: var(--rvp-navy);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
}

.rvp-product-table-wrap tbody tr:nth-child(even) {
  background: #f6f8fa;
}

.rvp-product-table-wrap tbody tr:last-child td {
  border-bottom: 0;
}

.rvp-product-note {
  max-width: none !important;
  margin: 14px 0 0 !important;
  color: #6f7b86 !important;
  font-size: 11px;
  line-height: 1.6;
}

.rvp-product-guide {
  background: var(--rvp-soft);
}

.rvp-product-guide__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 48%);
  gap: 70px;
  align-items: center;
}

.rvp-product-guide__grid p:not(.rvp-product-label) {
  max-width: 680px;
  margin: 0 0 28px;
  color: var(--rvp-muted);
}

.rvp-product-guide__grid figure {
  display: flex;
  aspect-ratio: 16 / 10;
  align-items: center;
  justify-content: center;
  margin: 0;
  overflow: hidden;
  background: #fff;
}

.rvp-product-guide__grid img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.rvp-product-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 42px;
}

.rvp-product-related {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--rvp-border);
  background: #fff;
}

.rvp-product-related__media {
  display: flex;
  aspect-ratio: 16 / 9;
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow: hidden;
  background: var(--rvp-surface);
}

.rvp-product-related__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.rvp-product-related > div {
  display: grid;
  min-height: 210px;
  align-content: start;
  padding: 24px;
}

.rvp-product-related h3 a {
  color: var(--rvp-ink);
  text-decoration: none;
}

.rvp-product-related > div > a {
  align-self: end;
  margin-top: 26px;
  color: var(--rvp-blue);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.rvp-product-rfq {
  padding: 76px 0 84px;
  background: var(--rvp-blue);
  color: #fff;
}

.rvp-product-rfq .rvp-product-label,
.rvp-product-rfq h2,
.rvp-product-rfq p {
  color: #fff !important;
}

.rvp-product-rfq__heading {
  margin-bottom: 32px;
}

.rvp-product-rfq__heading h2 {
  margin-bottom: 12px !important;
}

.rvp-product-rfq__heading p:not(.rvp-product-label) {
  max-width: 860px;
  margin: 0;
  color: #e5f2fa !important;
}

.rvp-product-rfq__form {
  padding: 34px;
  background: #fff;
  color: var(--rvp-ink);
}

.rvp-product-rfq__form .wpforms-container,
.rvp-product-rfq__form .wpforms-form {
  margin: 0 !important;
}

.rvp-product-rfq__form .wpforms-field-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 24px;
}

.rvp-product-rfq__form .wpforms-field,
.rvp-product-rfq__form .wpforms-field-container > p {
  min-width: 0;
  margin: 0;
}

.rvp-product-rfq__form label {
  display: grid;
  gap: 7px;
  color: #27333e;
  font-size: 13px;
  font-weight: 600;
}

.rvp-product-rfq__form .rvp-company-name-optional .wpforms-field-label::after {
  content: "*";
  visibility: hidden;
}

/* Post 655 Blog / Guide Detail private-preview pilot. */
.entry-content[data-ast-blocks-layout] > .rvp-article,
.rvp-article {
  --rvp-article-reading: 760px;
  width: 100%;
  max-width: none;
  margin: 0;
  color: #263746;
  background: #fff;
}

/* Preserve Astra's single-post wrapper while giving the frozen article shell its full canvas. */
.ritoks-viox-template-article .site-content > .ast-container,
.ritoks-viox-template-article .site-content #primary,
.ritoks-viox-template-article .site-content .site-main,
.ritoks-viox-template-article .site-content article.ast-article-single,
.ritoks-viox-template-article .site-content .entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.ritoks-viox-template-article .site-content #secondary {
  display: none;
}

.rvp-article-shell {
  width: min(1400px, calc(100% - 40px));
  margin-inline: auto;
}

.rvp-article-breadcrumb {
  border-bottom: 1px solid #dce4ea;
  background: #fff;
}

.rvp-article-breadcrumb .rvp-article-shell {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 46px;
  color: #667785;
  font-size: 12px;
}

.rvp-article-breadcrumb a {
  color: #425463;
  text-decoration: none;
}

.rvp-article-hero {
  padding: 68px 0 72px;
  background: #0b2741;
}

.rvp-article-hero > .rvp-article-shell {
  max-width: 1120px;
}

.rvp-article-label,
.rvp-article-rail__label {
  margin: 0 0 14px;
  color: #1475bf;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.rvp-article-hero .rvp-article-label {
  color: #66bdf0;
}

.rvp-article-hero > .rvp-article-shell > .wp-block-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  grid-template-areas: "title media" "lead media";
  column-gap: 68px;
  align-items: center;
  max-width: none !important;
  padding: 0 !important;
  color: #fff !important;
  background: transparent !important;
}

.ritoks-viox-template-article .entry-content .rvp-article-hero h1 {
  grid-area: title;
  min-width: 0;
  max-width: 720px;
  margin: 0 0 24px !important;
  color: #fff !important;
  font-size: clamp(44px, 3.6vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.rvp-article-hero figure {
  grid-area: media;
  margin: 0 !important;
}

.rvp-article-hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  border-radius: 6px;
  background: #f3f6f8;
}

.rvp-article-hero figcaption {
  margin-top: 9px;
  color: #bac7d1;
  font-size: 11px;
  line-height: 1.5;
}

.rvp-article-hero > .rvp-article-shell > .wp-block-group > p {
  grid-area: lead;
  align-self: start;
  margin: 0 !important;
  color: #d7e1e8 !important;
  font-size: 19px !important;
  line-height: 1.65 !important;
}

.rvp-article-hero-content > h1 { grid-area:auto!important; grid-column:1; }
.rvp-article-hero-content > p,
.rvp-article-hero > .rvp-article-shell > .wp-block-group > p { grid-area:auto!important; grid-column:1; align-self:start; }
.rvp-article-hero-content > figure { grid-area:auto!important; grid-column:2; grid-row:1 / span 4; }

.rvp-article-hero-content--normalized-columns > .rvp-article-hero-copy {
  grid-column: 1;
  align-self: center;
}

.rvp-article-hero-content--normalized-columns > .rvp-article-hero-copy > h1 {
  margin-top: 0;
}

.rvp-article-hero-content--normalized-columns > .rvp-article-hero-copy > p {
  max-width: 680px;
}

.rvp-article-hero-content--normalized-columns > .rvp-article-hero-media {
  grid-column: 2;
  width: 100%;
  max-width: 520px;
  align-self: center;
  justify-self: stretch;
}

.rvp-article-hero-content--normalized-columns > .rvp-article-hero-media > :first-child {
  margin-top: 0;
}

@media (max-width: 820px) {
  .rvp-article-hero-content--normalized-columns > .rvp-article-hero-copy,
  .rvp-article-hero-content--normalized-columns > .rvp-article-hero-media {
    grid-column: 1;
  }
}

.rvp-article-meta {
  margin: 24px 0 0;
  color: #bac7d1;
  font-size: 12px;
}

.rvp-article-layout {
  display: grid;
  grid-template-columns: 190px minmax(0, var(--rvp-article-reading)) 230px;
  gap: 48px;
  justify-content: center;
  align-items: start;
  padding-block: 72px 88px;
}

.rvp-article-toc,
.rvp-article-rail {
  position: sticky;
  top: 105px;
  min-width: 0;
}

.rvp-article-toc details {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.rvp-article-toc summary {
  padding: 0 0 14px;
  border-bottom: 1px solid #dce4ea;
  color: #132a3d;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.rvp-article-toc nav {
  display: grid;
  max-height: min(560px, calc(100vh - 180px));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 12px 4px 12px 0;
  scrollbar-gutter: stable;
}

.rvp-article-toc a {
  padding: 8px 8px;
  border-left: 2px solid transparent;
  color: #657685;
  font-size: 12px;
  line-height: 1.45;
  text-decoration: none;
}

.rvp-article-toc__h2:not(.is-active) {
  color: #405463;
  font-weight: 600;
}

.rvp-article-toc a:hover,
.rvp-article-toc a:focus-visible,
.rvp-article-toc a.is-active {
  border-left-color: #1475bf;
  color: #1475bf;
}

.rvp-article-toc__h3 {
  padding: 6px 8px 6px 20px !important;
  font-size: 11.5px !important;
}

.rvp-article-content {
  min-width: 0;
  font-size: 16px;
  line-height: 1.78;
}

.rvp-article-content > .wp-block-group {
  max-width: none !important;
  padding: 0 !important;
}

.rvp-article-content p,
.rvp-article-content li {
  color: #3f5261;
}

.rvp-article-content p {
  margin: 0 0 22px;
}

.rvp-article-content ul,
.rvp-article-content ol {
  margin: 0 0 24px;
  padding-left: 24px;
}

.rvp-article-content h2,
.rvp-article-content h3 {
  scroll-margin-top: 110px;
  color: #122638 !important;
  letter-spacing: 0 !important;
}

.rvp-article-content h2 {
  margin: 58px 0 18px;
  font-size: 32px !important;
  line-height: 1.22 !important;
}

.rvp-article-content h3 {
  margin: 38px 0 14px;
  font-size: 22px;
  line-height: 1.3;
}

.rvp-article-content a {
  color: #096db6;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.rvp-article-content figure.wp-block-image {
  margin: 32px 0 !important;
}

.rvp-article-content figure.wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 6px;
  background: #f3f6f8;
}

.rvp-article-content figcaption {
  margin-top: 9px;
  color: #6f7f8b;
  font-size: 12px;
  line-height: 1.55;
}

.rvp-article-content .wp-block-table {
  max-width: 100%;
  margin: 30px 0;
  overflow-x: auto;
  border: 1px solid #d6e0e7;
  border-radius: 4px;
}

.rvp-article-content table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.55;
}

.rvp-article-content th,
.rvp-article-content td {
  padding: 13px 15px;
  border: 0;
  border-bottom: 1px solid #dce4ea;
  text-align: left;
  vertical-align: top;
}

.rvp-article-content th {
  color: #fff;
  background: #0d4779;
  font-weight: 600;
}

.rvp-article-content tbody tr:nth-child(even) {
  background: #f4f7f9;
}

.rvp-article-content blockquote {
  margin: 28px 0;
  padding: 20px 22px !important;
  border: 1px solid #cfe0ec !important;
  border-left: 4px solid #1475bf !important;
  border-radius: 4px;
  background: #eef6fb;
}

.rvp-article-content blockquote p:last-child {
  margin-bottom: 0;
}

.rvp-article-content details {
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #d8e1e8;
  border-radius: 0;
  background: #fff;
}

.rvp-article-content details:last-of-type {
  border-bottom: 1px solid #d8e1e8;
}

.rvp-article-content details summary {
  padding: 18px 34px 18px 0;
  color: #172c3e;
  font-weight: 600;
  cursor: pointer;
}

.rvp-article-content details p {
  padding: 0 24px 18px 0;
}

.rvp-article-rail {
  display: grid;
  gap: 14px;
}

.rvp-article-rail > div {
  padding: 16px;
  border: 1px solid #d8e1e8;
  border-radius: 6px;
  background: #fff;
}

.ritoks-viox-template-article .entry-content .rvp-article-rail h2 {
  margin: 0 0 8px;
  color: #132a3d;
  font-size: 15px !important;
  line-height: 1.25;
}

.rvp-article-rail__label {
  margin-bottom: 10px;
}

.rvp-article-rail p:not(.rvp-article-rail__label) {
  margin: 0 0 12px;
  color: #647583;
  font-size: 12px;
  line-height: 1.65;
}

.rvp-article-rail a,
.rvp-article-related a {
  color: #096db6;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

.rvp-article-related {
  padding: 72px 0 80px;
  background: #f2f6f8;
}

.rvp-article-related h2 {
  max-width: 700px;
  margin: 0 0 28px;
  color: #102638;
  font-size: 36px;
  line-height: 1.18;
}

.rvp-article-related__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 940px;
}

.rvp-article-related article {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-height: 190px;
  border: 1px solid #d7e1e8;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.rvp-article-related__media {
  min-width: 0;
  background: #eef3f6;
}

.rvp-article-related__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.rvp-article-related article > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
}

.rvp-article-related h3 {
  margin: 0 0 10px;
  color: #132a3d;
  font-size: 17px;
  line-height: 1.35;
}

.rvp-article-related h3 a {
  color: inherit;
  font-size: inherit;
}

.rvp-article-related article p {
  margin: 0 0 18px;
  color: #647583;
  font-size: 12px;
  line-height: 1.6;
}

.rvp-article-related article > div > a:last-child {
  margin-top: auto;
}

.rvp-article-cta > .wp-block-group {
  max-width: none !important;
  padding: 64px max(20px, calc((100% - 1120px) / 2)) !important;
  color: #fff !important;
  background: #1475bf !important;
}

.rvp-article-cta h2 {
  max-width: 760px;
  margin: 0 0 18px;
  color: #fff !important;
  font-size: 36px !important;
  line-height: 1.18 !important;
}

.rvp-article-cta p {
  max-width: 760px;
  color: #e4f2fa !important;
}

.rvp-article-cta .wp-block-button__link {
  min-height: 48px;
  padding: 13px 22px !important;
  color: #1475bf !important;
  background: #fff !important;
}

@media (max-width: 1180px) {
  .rvp-article-hero > .rvp-article-shell > .wp-block-group {
    grid-template-columns: minmax(0, 1fr) 400px;
    column-gap: 40px;
  }

  .rvp-article-layout {
    grid-template-columns: 180px minmax(0, 700px);
    gap: 40px;
  }

  .rvp-article-rail {
    position: static;
    grid-column: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .rvp-article-hero {
    padding: 48px 0 54px;
  }

  .rvp-article-hero > .rvp-article-shell > .wp-block-group {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "lead" "media";
    gap: 22px;
  }

  .rvp-article-hero-content > h1,
  .rvp-article-hero-content > p,
  .rvp-article-hero-content > figure { grid-column:1; grid-row:auto; }

  .ritoks-viox-template-article .entry-content .rvp-article-hero h1 {
    font-size: clamp(38px, 5.4vw, 42px) !important;
  }

  .rvp-article-layout {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-block: 48px 64px;
  }

  .rvp-article-toc,
  .rvp-article-rail {
    position: static;
  }

  .rvp-article-toc nav {
    max-height: 300px;
  }

  .rvp-article-rail {
    grid-column: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .rvp-article-shell {
    width: min(100% - 40px, 1400px);
  }

  .rvp-article-breadcrumb .rvp-article-shell {
    overflow-x: auto;
    white-space: nowrap;
  }

  .rvp-article-hero {
    padding: 38px 0 44px;
  }

  .ritoks-viox-template-article .entry-content .rvp-article-hero h1 {
    font-size: clamp(32px, 8.7vw, 36px) !important;
    line-height: 1.1 !important;
  }

  .rvp-article-hero > .rvp-article-shell > .wp-block-group > p {
    font-size: 16px !important;
  }

  .rvp-article-layout {
    padding-block: 36px 52px;
  }

  .rvp-article-content {
    font-size: 15px;
    line-height: 1.72;
  }

  .rvp-article-content h2 {
    margin-top: 44px;
    font-size: 28px !important;
  }

  .rvp-article-content h3 {
    margin-top: 32px;
    font-size: 20px;
  }

  .rvp-article-rail,
  .rvp-article-related__grid {
    grid-template-columns: 1fr;
  }

  .rvp-article-related {
    padding: 52px 0 60px;
  }

  .rvp-article-related h2,
  .rvp-article-cta h2 {
    font-size: 30px !important;
  }

  .rvp-article-related article {
    grid-template-columns: 1fr;
  }

  .rvp-article-related__media {
    aspect-ratio: 16 / 9;
  }
}

.rvp-product-rfq__form input,
.rvp-product-rfq__form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px;
  padding: 10px 12px !important;
  border-color: #cfd7df !important;
  background: #fff !important;
}

.rvp-product-rfq__form textarea {
  min-height: 118px;
  resize: vertical;
}

.rvp-product-rfq__form .wpforms-submit-container,
.rvp-product-rfq__form > form > button[type="submit"] {
  margin-top: 24px;
}

.rvp-product-rfq__form button[type="submit"] {
  min-height: 50px !important;
  padding: 0 24px !important;
  border: 1px solid var(--rvp-blue) !important;
  border-radius: 4px !important;
  background: var(--rvp-blue) !important;
  color: #fff !important;
}

@media (max-width: 1100px) {
  .rvp-product-shell { width: min(100% - 44px, var(--rvp-content)); }
  .rvp-product-hero__grid { gap: 38px; }
  .ritoks-viox-template-product .entry-content .rvp-product h1 { font-size: 44px !important; }
  .rvp-product-guide__grid { gap: 42px; }
}

@media (max-width: 820px) {
  .rvp-product-hero__grid,
  .rvp-product-guide__grid { grid-template-columns: 1fr; }
  .rvp-product-hero__media { width: min(100%, 620px); margin: 0 auto; }
  .rvp-product-overview-grid { grid-template-columns: 1fr; }
  .rvp-product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rvp-product-guide__grid figure { order: -1; }
}

@media (max-width: 760px) {
  .rvp-product-shell { width: calc(100% - 40px); max-width: 100%; min-width: 0; }
  .rvp-product-breadcrumb .rvp-product-shell { width: calc(100% - 40px); }
  .rvp-product-hero { padding: 36px 0 48px; }
  .rvp-product-hero__grid { gap: 34px; }
  .rvp-product-hero__media { padding: 22px; }
  .ritoks-viox-template-product .entry-content .rvp-product h1 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    font-size: 38px !important;
    line-height: 1.1 !important;
    white-space: normal !important;
  }
  .rvp-product-facts { grid-template-columns: 1fr; }
  .rvp-product-actions { display: grid; grid-template-columns: 1fr; }
  .rvp-product-button { width: 100%; }
  .rvp-product-local-nav .rvp-product-shell { gap: 24px; }
  .rvp-product-section { padding: 64px 0; }
  .ritoks-viox-template-product .entry-content .rvp-product h2 { font-size: 32px !important; }
  .rvp-product-overview-grid { margin-top: 34px; }
  .rvp-product-overview-grid > div { min-height: 0; }
  .rvp-product-related-grid { grid-template-columns: 1fr; }
  .rvp-product-related > div { min-height: 0; }
  .rvp-product-rfq { padding: 58px 0 64px; }
  .rvp-product-rfq__form { padding: 22px 18px; }
  .rvp-product-rfq__form .wpforms-field-container { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .ritoks-viox-template-product .entry-content .rvp-product h1 { font-size: 34px !important; }
}

/* Frozen Applications + Company destination systems (source preserved). */
:root {
  --ac-blue: #0875be;
  --ac-blue-dark: #075e99;
  --ac-navy: #0e2233;
  --ac-ink: #111820;
  --ac-muted: #647383;
  --ac-line: #dfe5ea;
  --ac-soft: #f3f6f8;
  --ac-content: 1320px;
}

.rvp-destination-page,
.rvp-destination-page * { box-sizing: border-box; }
.rvp-destination-page { color: var(--ac-ink); font-family: Poppins, Arial, sans-serif; overflow: clip; }
.rvp-destination-page h1,
.rvp-destination-page h2,
.rvp-destination-page h3,
.rvp-destination-page p,
.rvp-destination-page figure { margin-top: 0; }
.rvp-destination-page a { color: inherit; }
.rvp-destination-shell { width: min(100%, var(--ac-content)); margin-inline: auto; padding-inline: 34px; }
.rvp-destination-breadcrumb { border-bottom: 1px solid var(--ac-line); background: #fff; }
.rvp-destination-breadcrumb .rvp-destination-shell { display: flex; min-height: 48px; align-items: center; gap: 9px; color: var(--ac-muted); font-size: 12px; }
.rvp-destination-breadcrumb a { text-decoration: none; }
.rvp-destination-breadcrumb a:hover { color: var(--ac-blue); }

.rvp-destination-hero { position: relative; height: 590px; min-height: 590px; background: var(--ac-navy); color: #fff; }
.rvp-destination-hero__grid { display: grid; height: 590px; min-height: 590px; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); align-items: stretch; }
.rvp-destination-hero__copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 60px 76px 60px 0; }
.rvp-destination-kicker { margin-bottom: 18px; color: #7ac5f0; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.rvp-destination-hero h1 { max-width: 700px; margin-bottom: 24px; color: #fff; font-size: clamp(48px, 4.55vw, 64px); line-height: 1.06; letter-spacing: 0; }
.rvp-destination-hero__copy > p:not(.rvp-destination-kicker) { max-width: 680px; margin-bottom: 30px; color: #c6d1da; font-size: 18px; line-height: 1.65; }
.rvp-destination-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.rvp-destination-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 0 24px; border: 1px solid var(--ac-blue); background: var(--ac-blue); color: #fff !important; font-size: 14px; font-weight: 700; text-decoration: none; }
.rvp-destination-button:hover { border-color: var(--ac-blue-dark); background: var(--ac-blue-dark); }
.rvp-destination-button--outline { border-color: #8fa0ad; background: transparent; }
.rvp-destination-button--outline:hover { border-color: #fff; background: #fff; color: var(--ac-navy) !important; }
.rvp-destination-hero__media { position: relative; min-width: 0; height: 590px; margin: 0; overflow: hidden; }
.rvp-destination-hero__media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.rvp-destination-hero__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,34,51,.4), transparent 28%); content: ""; }

.rvp-destination-local-nav { border-bottom: 1px solid var(--ac-line); background: #fff; }
.rvp-destination-local-nav .rvp-destination-shell { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); padding-inline: 34px; }
.rvp-destination-local-nav a,
.rvp-destination-local-nav span { display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 8px; padding: 0 18px; border-left: 1px solid var(--ac-line); color: #303b45; font-size: 12px; font-weight: 600; text-decoration: none; }
.rvp-destination-local-nav > .rvp-destination-shell > :last-child { border-right: 1px solid var(--ac-line); }
.rvp-destination-local-nav .is-current { box-shadow: inset 0 -3px 0 var(--ac-blue); color: var(--ac-blue); }
.rvp-destination-local-nav .is-pending { color: #8a969f; cursor: default; }
.rvp-company-detail .rvp-destination-local-nav .rvp-destination-shell { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.rvp-company-detail .rvp-destination-local-nav .is-pending { color: #303b45; opacity: 1; }

.rvp-destination-section { padding-block: 92px; background: #fff; }
.rvp-destination-section--soft { background: var(--ac-soft); }
.rvp-destination-section--dark { background: var(--ac-navy); color: #fff; }
.rvp-destination-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: 72px; align-items: end; margin-bottom: 48px; }
.rvp-destination-heading h2 { max-width: 820px; margin-bottom: 0; font-size: clamp(36px, 4.1vw, 58px); line-height: 1.08; letter-spacing: 0; }
.rvp-destination-heading p { margin-bottom: 0; color: var(--ac-muted); font-size: 16px; line-height: 1.7; }
.rvp-destination-section--dark .rvp-destination-heading p { color: #aebdca; }
.rvp-destination-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.rvp-destination-intro h2 { margin-bottom: 0; font-size: clamp(38px, 4.2vw, 60px); line-height: 1.08; }
.rvp-destination-intro__copy p { max-width: 760px; margin-bottom: 18px; color: var(--ac-muted); font-size: 17px; line-height: 1.75; }
.rvp-destination-keyline { margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--ac-line); color: var(--ac-ink); font-size: 19px; font-weight: 600; line-height: 1.55; }

.rvp-decision-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ac-line); border-left: 1px solid var(--ac-line); }
.rvp-decision-item { min-height: 220px; padding: 34px 30px; border-right: 1px solid var(--ac-line); border-bottom: 1px solid var(--ac-line); background: #fff; }
.rvp-decision-item svg { width: 28px; height: 28px; margin-bottom: 36px; color: var(--ac-blue); }
.rvp-decision-item h3 { margin-bottom: 12px; font-size: 19px; line-height: 1.35; }
.rvp-decision-item p { margin-bottom: 0; color: var(--ac-muted); font-size: 14px; line-height: 1.65; }

.rvp-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.rvp-product-card { display: flex; min-width: 0; min-height: 430px; flex-direction: column; border: 1px solid var(--ac-line); background: #fff; text-decoration: none; }
.rvp-product-card__media { height: 238px; padding: 18px; border-bottom: 1px solid var(--ac-line); background: #f6f8f9; }
.rvp-product-card__media img { width: 100%; height: 100%; display: block; object-fit: contain; }
.rvp-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 26px; }
.rvp-product-card h3 { margin-bottom: 11px; font-size: 19px; line-height: 1.35; }
.rvp-product-card p { margin-bottom: 24px; color: var(--ac-muted); font-size: 13px; line-height: 1.6; }
.rvp-product-card__link { margin-top: auto; color: var(--ac-blue); font-size: 13px; font-weight: 700; }
.rvp-product-card:hover { border-color: var(--ac-blue); }

.rvp-guidance { display: grid; grid-template-columns: .85fr 1.15fr; gap: 88px; align-items: start; }
.rvp-guidance__copy h2 { margin-bottom: 22px; font-size: clamp(38px, 4.2vw, 58px); line-height: 1.1; }
.rvp-guidance__copy p { color: #afbdc9; font-size: 16px; line-height: 1.75; }
.rvp-guidance__steps { border-top: 1px solid #3a4a58; }
.rvp-guidance__step { display: grid; grid-template-columns: 54px 1fr; gap: 20px; padding: 26px 0; border-bottom: 1px solid #3a4a58; }
.rvp-guidance__step span { color: #67b7e8; font-size: 12px; font-weight: 700; }
.rvp-guidance__step h3 { margin-bottom: 8px; color: #fff; font-size: 18px; }
.rvp-guidance__step p { margin-bottom: 0; color: #aebdca; font-size: 14px; line-height: 1.65; }

.rvp-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.rvp-resource-card { display: flex; min-width: 0; min-height: 450px; flex-direction: column; border: 1px solid var(--ac-line); background: #fff; }
.rvp-resource-card img { width: 100%; aspect-ratio: 16 / 8.5; display: block; border-bottom: 1px solid var(--ac-line); object-fit: cover; }
.rvp-resource-card div { display: flex; flex: 1; flex-direction: column; padding: 26px; }
.rvp-resource-card h3 { margin-bottom: 12px; font-size: 18px; line-height: 1.4; }
.rvp-resource-card p { margin-bottom: 22px; color: var(--ac-muted); font-size: 13px; line-height: 1.65; }
.rvp-resource-card a { margin-top: auto; color: var(--ac-blue); font-size: 13px; font-weight: 700; text-decoration: none; }

.rvp-editorial-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 0; align-items: stretch; }
.rvp-editorial-media { min-height: 520px; margin: 0; background: #e8ecef; }
.rvp-editorial-media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rvp-editorial-copy { display: flex; flex-direction: column; justify-content: center; padding: 72px; background: var(--ac-navy); color: #fff; }
.rvp-editorial-copy h2 { margin-bottom: 22px; font-size: clamp(38px, 4.2vw, 58px); line-height: 1.08; }
.rvp-editorial-copy p { color: #b2c0cb; font-size: 16px; line-height: 1.75; }
.rvp-editorial-copy ul { margin: 12px 0 30px; padding: 0; list-style: none; }
.rvp-editorial-copy li { padding: 14px 0; border-bottom: 1px solid #3a4a58; color: #fff; font-size: 14px; }

.rvp-topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ac-line); border-left: 1px solid var(--ac-line); }
.rvp-topic-card { position: relative; min-height: 218px; padding: 30px; border-right: 1px solid var(--ac-line); border-bottom: 1px solid var(--ac-line); background: #fff; text-decoration: none; }
.rvp-topic-card__number { display: block; margin-bottom: 32px; color: var(--ac-blue); font-size: 12px; font-weight: 700; }
.rvp-topic-card h3 { margin-bottom: 9px; font-size: 17px; }
.rvp-topic-card p { max-width: 240px; margin-bottom: 0; color: var(--ac-muted); font-size: 13px; line-height: 1.55; }
.rvp-topic-card__arrow { position: absolute; top: 30px; right: 30px; color: var(--ac-blue); }
.rvp-topic-card.is-pending { color: #687681; cursor: default; }
.rvp-company-detail .rvp-topic-card h3,
.rvp-company-detail .rvp-topic-card.is-pending h3 { color: var(--ac-ink); font-weight: 600; opacity: 1; }
.rvp-topic-card.is-pending::after { position: absolute; right: 28px; bottom: 24px; color: #85919b; content: "PENDING"; font-size: 10px; font-weight: 700; }

.rvp-proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #3a4a58; }
.rvp-proof-item { min-height: 190px; padding: 30px 28px; border-right: 1px solid #3a4a58; }
.rvp-proof-item:last-child { border-right: 0; }
.rvp-proof-item h3 { margin-bottom: 11px; color: #fff; font-size: 18px; }
.rvp-proof-item p { margin-bottom: 0; color: #aebdca; font-size: 13px; line-height: 1.65; }

.rvp-destination-cta { padding-block: 72px; background: var(--ac-blue); color: #fff; }
.rvp-destination-cta__grid { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: center; }
.rvp-destination-cta h2 { max-width: 820px; margin-bottom: 12px; color: #fff; font-size: clamp(34px, 3.6vw, 50px); line-height: 1.12; }
.rvp-destination-cta p { max-width: 760px; margin-bottom: 0; color: #d9effc; font-size: 15px; line-height: 1.65; }
.rvp-destination-cta .rvp-destination-button { border-color: #fff; background: #fff; color: var(--ac-blue) !important; }

body.rvp-application-page .rvp-nav-disclosure[data-rvp-panel="applications"],
body.rvp-company-page .rvp-nav-disclosure[data-rvp-panel="company"] { color: var(--ac-blue); box-shadow: inset 0 -3px 0 var(--ac-blue); }

@media (max-width: 1100px) {
  .rvp-destination-shell { padding-inline: 24px; }
  .rvp-destination-hero__copy { padding-right: 46px; }
  .rvp-destination-local-nav .rvp-destination-shell { overflow-x: auto; grid-template-columns: repeat(6, minmax(170px, 1fr)); padding-inline: 24px; }
  .rvp-company-detail .rvp-destination-local-nav .rvp-destination-shell { grid-template-columns: repeat(8, minmax(160px, 1fr)); }
  .rvp-destination-heading { gap: 40px; }
  .rvp-decision-grid,
  .rvp-product-grid,
  .rvp-topic-grid,
  .rvp-proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rvp-proof-item:nth-child(2) { border-right: 0; }
  .rvp-proof-item:nth-child(-n+2) { border-bottom: 1px solid #3a4a58; }
  .rvp-editorial-copy { padding: 52px; }
}

@media (max-width: 767px) {
  .rvp-destination-shell { padding-inline: 20px; }
  .rvp-destination-breadcrumb .rvp-destination-shell { min-height: 42px; font-size: 11px; }
  .rvp-destination-hero,
  .rvp-destination-hero__grid { height: auto; min-height: 0; }
  .rvp-destination-hero__grid { grid-template-columns: 1fr; }
  .rvp-destination-hero__copy { min-width: 0; padding: 38px 0 34px; }
  .rvp-destination-hero h1 { max-width: 100%; margin-bottom: 20px; font-size: clamp(36px, 10vw, 42px); overflow-wrap: normal; word-break: normal; }
  .rvp-destination-hero__copy > p:not(.rvp-destination-kicker) { margin-bottom: 22px; font-size: 15px; }
  .rvp-destination-actions { align-items: stretch; flex-direction: column; gap: 8px; }
  .rvp-destination-button { width: 100%; }
  .rvp-destination-hero__media { height: 240px; min-height: 240px; max-height: 240px; }
  .rvp-destination-hero__media::after { background: linear-gradient(180deg, rgba(14,34,51,.25), transparent 25%); }
  .rvp-destination-local-nav .rvp-destination-shell { grid-template-columns: repeat(6, 168px); padding-inline: 20px; }
  .rvp-company-detail .rvp-destination-local-nav .rvp-destination-shell { grid-template-columns: repeat(8, 168px); }
  .rvp-destination-local-nav a,
  .rvp-destination-local-nav span { min-height: 62px; padding-inline: 14px; font-size: 11px; }
  .rvp-destination-section { padding-block: 64px; }
  .rvp-destination-heading,
  .rvp-destination-intro,
  .rvp-guidance,
  .rvp-editorial-grid,
  .rvp-destination-cta__grid { grid-template-columns: 1fr; gap: 28px; }
  .rvp-destination-heading { margin-bottom: 34px; }
  .rvp-destination-heading h2,
  .rvp-destination-intro h2,
  .rvp-guidance__copy h2,
  .rvp-editorial-copy h2 { font-size: 34px; }
  .rvp-destination-intro__copy p,
  .rvp-guidance__copy p { font-size: 15px; }
  .rvp-decision-grid,
  .rvp-product-grid,
  .rvp-resource-grid,
  .rvp-topic-grid,
  .rvp-proof-grid { grid-template-columns: 1fr; }
  .rvp-decision-item { min-height: 0; }
  .rvp-product-card { min-height: 0; }
  .rvp-product-card__media { height: 240px; }
  .rvp-resource-card { min-height: 0; }
  .rvp-proof-item { min-height: 0; border-right: 0; border-bottom: 1px solid #3a4a58; }
  .rvp-proof-item:last-child { border-bottom: 0; }
  .rvp-editorial-media { min-height: 310px; }
  .rvp-editorial-copy { padding: 48px 20px; }
  .rvp-topic-card { min-height: 190px; }
  .rvp-destination-cta { padding-block: 58px; }
  .rvp-destination-cta__grid { text-align: left; }
}

/* Frozen per-page destination systems (source preserved). */
:root { --pp-blue:#0875be; --pp-blue-dark:#075e99; --pp-navy:#0e2233; --pp-ink:#111820; --pp-muted:#647383; --pp-line:#dfe5ea; --pp-soft:#f3f6f8; --pp-content:1320px; }
.rvp-per-page, .rvp-per-page * { box-sizing:border-box; }
.rvp-per-page { overflow:clip; color:var(--pp-ink); font-family:Poppins,Arial,sans-serif; }
.rvp-per-page h1,.rvp-per-page h2,.rvp-per-page h3,.rvp-per-page p,.rvp-per-page figure { margin-top:0; }
.pp-shell { width:min(100%,var(--pp-content)); margin-inline:auto; padding-inline:34px; }
.pp-breadcrumb { border-bottom:1px solid var(--pp-line); background:#fff; }
.pp-breadcrumb .pp-shell { display:flex; min-height:48px; align-items:center; gap:9px; color:var(--pp-muted); font-size:12px; }
.pp-breadcrumb a { color:inherit; text-decoration:none; }
.pp-breadcrumb a:hover { color:var(--pp-blue); }
.pp-kicker { margin-bottom:16px; color:#79c4ef; font-size:12px; font-weight:700; text-transform:uppercase; }
.pp-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:0 24px; border:1px solid var(--pp-blue); background:var(--pp-blue); color:#fff!important; font-size:14px; font-weight:700; text-decoration:none; }
.pp-button:hover { border-color:var(--pp-blue-dark); background:var(--pp-blue-dark); }
.pp-button--outline { border-color:#8fa0ad; background:transparent; }
.pp-button--outline:hover { border-color:#fff; background:#fff; color:var(--pp-navy)!important; }
.pp-actions { display:flex; flex-wrap:wrap; gap:12px; }
.pp-section { padding-block:92px; background:#fff; }
.pp-section--soft { background:var(--pp-soft); }
.pp-section--dark { background:var(--pp-navy); color:#fff; }
.pp-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); gap:72px; align-items:end; margin-bottom:46px; }
.pp-heading h2 { max-width:800px; margin-bottom:0; font-size:clamp(36px,4.1vw,58px); line-height:1.08; }
.pp-heading p { margin-bottom:0; color:var(--pp-muted); font-size:16px; line-height:1.7; }
.pp-section--dark .pp-heading p { color:#adbdc9; }

.pp-solar-hero { background:var(--pp-navy); color:#fff; }
.pp-solar-hero__copy { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr); gap:72px; align-items:end; padding-block:68px 58px; }
.pp-solar-hero h1 { max-width:820px; margin-bottom:0; color:#fff; font-size:clamp(52px,5.2vw,76px); line-height:1.03; }
.pp-solar-hero__summary p { margin-bottom:26px; color:#c6d1da; font-size:17px; line-height:1.7; }
.pp-solar-hero__media { position:relative; width:100%; height:min(46vw,560px); min-height:420px; margin:0; overflow:hidden; }
.pp-solar-hero__media img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.pp-solar-hero__media figcaption { position:absolute; right:34px; bottom:26px; padding:9px 12px; background:rgba(14,34,51,.82); color:#dbe7ef; font-size:11px; }

.pp-local-nav { border-bottom:1px solid var(--pp-line); background:#fff; }
.pp-local-nav .pp-shell { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.pp-local-nav a,.pp-local-nav span { display:flex; min-height:74px; align-items:center; justify-content:space-between; gap:8px; padding:0 18px; border-left:1px solid var(--pp-line); color:#303b45; font-size:12px; font-weight:600; text-decoration:none; opacity:1; }
.pp-local-nav .pp-shell>:last-child { border-right:1px solid var(--pp-line); }
.pp-local-nav .is-current { box-shadow:inset 0 -3px 0 var(--pp-blue); color:var(--pp-blue); }
.pp-local-nav .is-pending { cursor:default; }
.pp-local-nav--company .pp-shell { grid-template-columns:repeat(8,minmax(0,1fr)); }

.pp-overview { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.pp-overview h2 { margin-bottom:0; font-size:clamp(38px,4.2vw,60px); line-height:1.08; }
.pp-overview__copy>p { color:var(--pp-muted); font-size:17px; line-height:1.75; }
.pp-function-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:34px; border-top:1px solid var(--pp-line); border-left:1px solid var(--pp-line); }
.pp-function-rail span { min-height:82px; padding:20px 18px; border-right:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); color:var(--pp-ink); font-size:13px; font-weight:600; }
.pp-value-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--pp-line); border-left:1px solid var(--pp-line); }
.pp-value-card { min-height:260px; padding:34px 30px; border-right:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); background:#fff; }
.pp-value-card>span { display:block; margin-bottom:44px; color:var(--pp-blue); font-size:12px; font-weight:700; }
.pp-value-card h3 { margin-bottom:12px; font-size:20px; }
.pp-value-card p { margin-bottom:0; color:var(--pp-muted); font-size:14px; line-height:1.7; }
.pp-discovery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #3a4a58; border-left:1px solid #3a4a58; }
.pp-discovery-card { display:flex; min-height:220px; flex-direction:column; padding:30px; border-right:1px solid #3a4a58; border-bottom:1px solid #3a4a58; color:#fff; text-decoration:none; }
.pp-discovery-card span:first-child { margin-bottom:38px; color:#68b9e8; font-size:12px; font-weight:700; }
.pp-discovery-card h3 { margin-bottom:12px; color:#fff; font-size:18px; }
.pp-discovery-card p { margin-bottom:22px; color:#aebdca; font-size:13px; line-height:1.65; }
.pp-discovery-card b { margin-top:auto; color:#7bc5ef; font-size:13px; }
.pp-guide-split { display:grid; grid-template-columns:1.08fr .92fr; min-height:510px; }
.pp-guide-split figure { min-width:0; margin:0; background:#e8edf0; }
.pp-guide-split img { width:100%; height:100%; display:block; object-fit:cover; }
.pp-guide-split figure.is-contain img { object-fit:contain; padding:28px; background:#fff; }
.pp-guide-split__copy { display:flex; flex-direction:column; justify-content:center; padding:70px; background:#fff; }
.pp-guide-split__copy h2 { margin-bottom:20px; font-size:clamp(38px,4.2vw,58px); line-height:1.08; }
.pp-guide-split__copy p { color:var(--pp-muted); font-size:16px; line-height:1.75; }
.pp-note { margin:8px 0 28px; padding-top:20px; border-top:1px solid var(--pp-line); color:#4e5d69; font-size:12px; }

.pp-verification-hero { background:var(--pp-navy); color:#fff; }
.pp-verification-hero__grid { display:grid; min-height:580px; grid-template-columns:.9fr 1.1fr; }
.pp-verification-hero__copy { display:flex; flex-direction:column; justify-content:center; padding:72px 72px 72px 0; }
.pp-verification-hero h1 { margin-bottom:24px; color:#fff; font-size:clamp(50px,5vw,70px); line-height:1.05; }
.pp-verification-hero__copy>p:not(.pp-kicker) { max-width:620px; margin-bottom:28px; color:#c5d1da; font-size:17px; line-height:1.7; }
.pp-hero-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:8px 0 30px; border-top:1px solid #3a4a58; }
.pp-hero-meta div { padding:18px 20px 0 0; }
.pp-hero-meta span { display:block; margin-bottom:5px; color:#7bc5ef; font-size:10px; font-weight:700; text-transform:uppercase; }
.pp-hero-meta strong { color:#fff; font-size:14px; }
.pp-verification-hero figure { min-width:0; margin:0; overflow:hidden; }
.pp-verification-hero img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.pp-layer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--pp-line); border-left:1px solid var(--pp-line); }
.pp-layer { min-height:250px; padding:32px; border-right:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); background:#fff; }
.pp-layer span { display:block; margin-bottom:42px; color:var(--pp-blue); font-size:12px; font-weight:700; }
.pp-layer h3 { margin-bottom:12px; font-size:20px; }
.pp-layer p { margin:0; color:var(--pp-muted); font-size:14px; line-height:1.7; }
.pp-checkpoints { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid #3a4a58; border-left:1px solid #3a4a58; }
.pp-checkpoint { min-height:280px; padding:30px 24px; border-right:1px solid #3a4a58; border-bottom:1px solid #3a4a58; }
.pp-checkpoint span { display:block; margin-bottom:42px; color:#68b9e8; font-size:12px; font-weight:700; }
.pp-checkpoint h3 { margin-bottom:12px; color:#fff; font-size:17px; }
.pp-checkpoint p { margin:0; color:#aebdca; font-size:13px; line-height:1.65; }
.pp-evidence-split { display:grid; grid-template-columns:.95fr 1.05fr; min-height:520px; }
.pp-evidence-split__copy { display:flex; flex-direction:column; justify-content:center; padding:70px max(34px,calc((100vw - var(--pp-content))/2 + 34px)) 70px 70px; background:#fff; }
.pp-evidence-split__copy h2 { margin-bottom:20px; font-size:clamp(38px,4vw,56px); line-height:1.08; }
.pp-evidence-split__copy p { color:var(--pp-muted); font-size:16px; line-height:1.75; }
.pp-evidence-split figure { min-width:0; margin:0; background:#eef1f3; }
.pp-evidence-split img { width:100%; height:100%; display:block; object-fit:cover; }
.pp-source-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--pp-line); border-left:1px solid var(--pp-line); }
.pp-source { min-height:210px; padding:28px; border-right:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); }
.pp-source h3 { margin-bottom:12px; font-size:18px; }
.pp-source p { margin:0; color:var(--pp-muted); font-size:13px; line-height:1.65; }
.pp-cta { padding-block:72px; background:var(--pp-blue); color:#fff; }
.pp-cta__grid { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.pp-cta h2 { max-width:800px; margin-bottom:12px; color:#fff; font-size:clamp(34px,3.6vw,50px); line-height:1.12; }
.pp-cta p { max-width:760px; margin-bottom:0; color:#d9effc; font-size:15px; line-height:1.65; }
.pp-cta .pp-button { border-color:#fff; background:#fff; color:var(--pp-blue)!important; }
body.rvp-solar-page .rvp-nav-disclosure[data-rvp-panel="applications"],body.rvp-verification-page .rvp-nav-disclosure[data-rvp-panel="company"] { color:var(--pp-blue); box-shadow:inset 0 -3px 0 var(--pp-blue); }

@media (max-width:1100px) {
  .pp-shell { padding-inline:24px; }
  .pp-local-nav .pp-shell { overflow-x:auto; grid-template-columns:repeat(6,minmax(170px,1fr)); }
  .pp-local-nav--company .pp-shell { grid-template-columns:repeat(8,minmax(160px,1fr)); }
  .pp-heading { gap:40px; }
  .pp-discovery-grid,.pp-source-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pp-checkpoints { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .pp-shell { padding-inline:20px; }
  .pp-breadcrumb .pp-shell { min-height:42px; font-size:11px; }
  .pp-solar-hero__copy,.pp-heading,.pp-overview,.pp-cta__grid { grid-template-columns:1fr; gap:28px; }
  .pp-solar-hero__copy { padding-block:52px 44px; }
  .pp-solar-hero h1,.pp-verification-hero h1 { max-width:100%; font-size:clamp(36px,10vw,42px); overflow-wrap:normal; word-break:normal; }
  .pp-solar-hero__summary p,.pp-verification-hero__copy>p:not(.pp-kicker) { font-size:15px; }
  .pp-solar-hero__media { height:62vw; min-height:250px; max-height:340px; }
  .pp-solar-hero__media figcaption { right:20px; bottom:16px; }
  .pp-local-nav .pp-shell { grid-template-columns:repeat(6,168px); }
  .pp-local-nav--company .pp-shell { grid-template-columns:repeat(8,168px); }
  .pp-local-nav a,.pp-local-nav span { min-height:62px; padding-inline:14px; font-size:11px; }
  .pp-section { padding-block:64px; }
  .pp-heading { margin-bottom:34px; }
  .pp-heading h2,.pp-overview h2,.pp-guide-split__copy h2,.pp-evidence-split__copy h2 { font-size:34px; }
  .pp-overview__copy>p { font-size:15px; }
  .pp-function-rail,.pp-value-grid,.pp-layer-grid,.pp-discovery-grid,.pp-checkpoints,.pp-source-grid { grid-template-columns:1fr; }
  .pp-function-rail span,.pp-value-card,.pp-layer,.pp-discovery-card,.pp-checkpoint,.pp-source { min-height:0; }
  .pp-guide-split,.pp-evidence-split,.pp-verification-hero__grid { grid-template-columns:1fr; }
  .pp-guide-split figure,.pp-evidence-split figure { min-height:270px; }
  .pp-guide-split__copy,.pp-evidence-split__copy { padding:48px 20px; }
  .pp-verification-hero__grid { min-height:0; }
  .pp-verification-hero__copy { padding:52px 0 48px; }
  .pp-verification-hero figure { min-height:280px; max-height:350px; }
  .pp-hero-meta { grid-template-columns:1fr; }
  .pp-actions { flex-direction:column; }
  .pp-button { width:100%; }
  .pp-cta { padding-block:58px; }
}

/* Remaining destination pages: shared visual language, page-specific composition. */
.rp-hero-split { display:grid; min-height:560px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); background:var(--pp-navy); color:#fff; }
.rp-hero-split__copy { display:flex; flex-direction:column; justify-content:center; padding:72px max(40px,calc((100vw - var(--pp-content))/2 + 34px)); padding-right:68px; }
.rp-hero-split h1,.rp-hero-editorial h1,.rp-hero-product h1,.rp-contact-hero h1 { margin-bottom:24px; color:inherit; font-size:clamp(48px,5vw,70px); line-height:1.05; }
.rp-hero-split__copy>p:not(.pp-kicker),.rp-hero-editorial__copy>p:not(.pp-kicker),.rp-hero-product__copy>p:not(.pp-kicker),.rp-contact-hero__copy>p:not(.pp-kicker) { color:#c5d1da; font-size:17px; line-height:1.7; }
.rp-hero-split figure,.rp-hero-editorial figure { min-width:0; margin:0; overflow:hidden; background:#e9edf0; }
.rp-hero-split img,.rp-hero-editorial img { width:100%; height:100%; display:block; object-fit:cover; }
.rp-hero-editorial { display:grid; grid-template-columns:1.08fr .92fr; min-height:600px; background:#fff; }
.rp-hero-editorial__copy { display:flex; flex-direction:column; justify-content:center; padding:72px max(40px,calc((100vw - var(--pp-content))/2 + 34px)) 72px 70px; color:var(--pp-ink); }
#product-supply-preview .rp-hero-editorial__copy,
#work-with-ritoks-preview .rp-hero-editorial__copy { justify-content:flex-start; padding-top:78px; }
#product-supply-preview .rp-hero-editorial,
#work-with-ritoks-preview .rp-hero-editorial { width:min(100%,var(--pp-content)); margin-inline:auto; }
#product-supply-preview .rp-hero-editorial__copy,
#work-with-ritoks-preview .rp-hero-editorial__copy { padding-left:34px; }
.rp-hero-editorial__copy>p:not(.pp-kicker) { color:var(--pp-muted); }
.rp-hero-editorial .pp-button--outline,.rp-hero-product .pp-button--outline { border-color:#9ba8b2; color:var(--pp-ink)!important; }
.rp-hero-product { background:#f0f3f5; }
.rp-hero-product__grid { display:grid; min-height:590px; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); }
.rp-hero-product__copy { display:flex; flex-direction:column; justify-content:center; padding:72px 70px 72px 0; }
.rp-hero-product__copy>p:not(.pp-kicker) { color:var(--pp-muted); }
.rp-hero-product figure { display:flex; min-width:0; margin:0; align-items:center; justify-content:center; padding:54px; background:#fff; }
.rp-hero-product img { width:100%; height:100%; max-height:470px; display:block; object-fit:contain; }
.rp-contact-hero { background:var(--pp-navy); color:#fff; }
.rp-contact-hero__grid { display:grid; min-height:520px; grid-template-columns:1fr .8fr; gap:80px; align-items:center; }
.rp-contact-hero__copy { padding-block:70px; }
.rp-contact-channels { border-top:1px solid #3a4a58; }
.rp-contact-channel { display:grid; grid-template-columns:110px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid #3a4a58; }
.rp-contact-channel span { color:#75c0eb; font-size:11px; font-weight:700; text-transform:uppercase; }
.rp-contact-channel a,.rp-contact-channel strong { color:#fff; font-size:15px; text-decoration:none; }

.rp-stat-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--pp-line); border-left:1px solid var(--pp-line); }
.rp-stat { min-height:145px; padding:28px; border-right:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); }
.rp-stat strong { display:block; margin-bottom:8px; font-size:18px; }
.rp-stat span { color:var(--pp-muted); font-size:13px; line-height:1.6; }
.rp-band-list { border-top:1px solid var(--pp-line); }
.rp-band { display:grid; grid-template-columns:80px minmax(180px,.65fr) minmax(0,1.35fr) auto; gap:24px; align-items:center; min-height:116px; padding:24px 4px; border-bottom:1px solid var(--pp-line); }
.rp-band>span { color:var(--pp-blue); font-size:12px; font-weight:700; }
.rp-band h3 { margin:0; font-size:19px; }
.rp-band p { margin:0; color:var(--pp-muted); font-size:14px; line-height:1.65; }
.rp-band a { color:var(--pp-blue); font-size:13px; font-weight:700; text-decoration:none; }
.rp-mosaic { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:repeat(2,260px); gap:1px; background:var(--pp-line); }
.rp-mosaic figure { min-width:0; margin:0; overflow:hidden; background:#eef1f3; }
.rp-mosaic figure:first-child { grid-row:1 / 3; }
.rp-mosaic img { width:100%; height:100%; display:block; object-fit:cover; }
.rp-mosaic .is-contain img { object-fit:contain; padding:28px; background:#fff; }
.rp-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #3a4a58; border-left:1px solid #3a4a58; }
.rp-step { min-height:245px; padding:30px; border-right:1px solid #3a4a58; border-bottom:1px solid #3a4a58; }
.rp-step>span { display:block; margin-bottom:42px; color:#6dbbe8; font-size:12px; font-weight:700; }
.rp-step h3 { margin-bottom:12px; color:#fff; font-size:18px; }
.rp-step p { margin:0; color:#adbdc9; font-size:13px; line-height:1.65; }
.rp-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--pp-line); border-left:1px solid var(--pp-line); }
.rp-comparison article { min-height:310px; padding:38px; border-right:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); background:#fff; }
.rp-comparison article>span { display:block; margin-bottom:38px; color:var(--pp-blue); font-size:12px; font-weight:700; }
.rp-comparison h3 { margin-bottom:14px; font-size:24px; }
.rp-comparison p { color:var(--pp-muted); font-size:14px; line-height:1.7; }
.rp-chip-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.rp-chip-list span { padding:8px 10px; border:1px solid var(--pp-line); color:#455460; font-size:11px; font-weight:600; }
.rp-questions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--pp-line); }
.rp-question { display:grid; grid-template-columns:42px 1fr; gap:18px; padding:26px 20px 26px 0; border-bottom:1px solid var(--pp-line); }
.rp-question:nth-child(odd) { border-right:1px solid var(--pp-line); padding-right:28px; }
.rp-question:nth-child(even) { padding-left:28px; }
.rp-question span { color:var(--pp-blue); font-size:11px; font-weight:700; }
.rp-question h3 { margin-bottom:8px; font-size:17px; }
.rp-question p { margin:0; color:var(--pp-muted); font-size:13px; line-height:1.6; }
.rp-proof-stack { border-top:1px solid var(--pp-line); }
.rp-proof-row { display:grid; grid-template-columns:120px .7fr 1.3fr; gap:34px; align-items:start; padding:30px 0; border-bottom:1px solid var(--pp-line); }
.rp-proof-row>span { color:var(--pp-blue); font-size:12px; font-weight:700; }
.rp-proof-row h3 { margin:0; font-size:20px; }
.rp-proof-row p { margin:0; color:var(--pp-muted); font-size:14px; line-height:1.7; }
.rp-doc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--pp-line); border-left:1px solid var(--pp-line); }
.rp-doc { min-height:230px; padding:30px; border-right:1px solid var(--pp-line); border-bottom:1px solid var(--pp-line); background:#fff; }
.rp-doc span { display:block; margin-bottom:34px; color:var(--pp-blue); font-size:11px; font-weight:700; }
.rp-doc h3 { margin-bottom:10px; font-size:18px; }
.rp-doc p { margin:0; color:var(--pp-muted); font-size:13px; line-height:1.65; }
.rp-form-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; padding:38px; background:#fff; }
.rp-field { display:flex; flex-direction:column; gap:8px; }
.rp-field--wide { grid-column:1 / -1; }
.rp-field label { color:var(--pp-ink); font-size:12px; font-weight:700; }
.rp-field span { min-height:48px; padding:14px; border:1px solid var(--pp-line); color:#87939c; font-size:13px; }
.rp-field--wide span { min-height:130px; }
.rp-form-note { grid-column:1 / -1; margin:0; color:var(--pp-muted); font-size:11px; line-height:1.6; }

@media (max-width:1100px) {
  #product-supply-preview .rp-hero-editorial__copy,
  #work-with-ritoks-preview .rp-hero-editorial__copy { padding-left:24px; }
  .rp-stat-rail,.rp-doc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rp-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rp-contact-hero__grid { gap:44px; }
}
@media (max-width:767px) {
  .rp-hero-split,.rp-hero-editorial,.rp-hero-product__grid,.rp-contact-hero__grid { grid-template-columns:1fr; min-height:0; }
  .rp-hero-split__copy,.rp-hero-editorial__copy,.rp-hero-product__copy { padding:52px 20px 48px; }
  #product-supply-preview .rp-hero-editorial__copy,
  #work-with-ritoks-preview .rp-hero-editorial__copy { padding:52px 20px 48px; }
  .rp-hero-split h1,.rp-hero-editorial h1,.rp-hero-product h1,.rp-contact-hero h1 { font-size:clamp(36px,10vw,42px); }
  .rp-hero-split figure,.rp-hero-editorial figure { min-height:280px; max-height:360px; }
  .rp-hero-product figure { min-height:300px; padding:30px 20px; }
  .rp-contact-hero__grid { padding-inline:20px; }
  .rp-contact-hero__copy { padding-block:52px 0; }
  .rp-contact-channels { margin-bottom:48px; }
  .rp-stat-rail,.rp-comparison,.rp-questions,.rp-doc-grid,.rp-form-preview { grid-template-columns:1fr; }
  .rp-band { grid-template-columns:42px 1fr; gap:14px; }
  .rp-band p,.rp-band a { grid-column:2; }
  .rp-mosaic { grid-template-columns:1fr; grid-template-rows:repeat(3,250px); }
  .rp-mosaic figure:first-child { grid-row:auto; }
  .rp-steps { grid-template-columns:1fr; }
  .rp-question:nth-child(odd),.rp-question:nth-child(even) { border-right:0; padding-inline:0; }
  .rp-proof-row { grid-template-columns:42px 1fr; gap:14px; }
  .rp-proof-row p { grid-column:2; }
  .rp-form-preview { padding:24px 20px; }
  .rp-field--wide,.rp-form-note { grid-column:auto; }
}

/* Integrated private-preview routing changes behavior only. */
.rvp-destination-local-nav a.is-pending, .pp-local-nav a.is-pending { cursor: pointer; }

/* Keep authoritative Gutenberg wide blocks inside the frozen article column. */
.rvp-article-content .alignwide,
.rvp-article-content .alignfull {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Company Hero refinement: shared white split system with a dark About variant. */
.rvp-company-hero {
  background:#fff;
  color:var(--pp-ink);
}
body.rvp-company-page .site-content > .ast-container > .rvp-per-page,
body.rvp-company-page .site-content > .ast-container > .rvp-destination-page {
  min-width:0;
  width:100%;
  max-width:100%;
}
.rvp-company-hero__grid {
  display:grid;
  width:min(100%,var(--pp-content));
  min-height:560px;
  margin-inline:auto;
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
  align-items:stretch;
}
.rvp-company-hero__copy {
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:64px 54px 64px 34px;
}
.rvp-company-hero .pp-kicker,
.rvp-company-hero .rvp-destination-kicker {
  margin-bottom:16px;
  color:var(--pp-blue);
}
.rvp-company-hero h1 {
  max-width:none;
  margin:0 0 22px;
  color:#111820;
  font-size:clamp(44px,3.65vw,52px);
  line-height:1.06;
  letter-spacing:0;
  white-space:nowrap;
}
.rvp-company-hero__copy>p:not(.pp-kicker):not(.rvp-destination-kicker) {
  max-width:610px;
  margin-bottom:28px;
  color:var(--pp-muted);
  font-size:17px;
  line-height:1.7;
}
.rvp-company-hero .pp-actions,
.rvp-company-hero .rvp-destination-actions {
  display:grid;
  width:min(100%,500px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.rvp-company-hero .pp-button,
.rvp-company-hero .rvp-destination-button {
  width:100%;
  min-width:0;
  padding-inline:18px;
  text-align:center;
}
.rvp-company-hero .pp-button--outline {
  border-color:#9ba8b2;
  background:transparent;
  color:var(--pp-ink)!important;
}
.rvp-company-hero .pp-button--outline:hover {
  border-color:var(--pp-ink);
  background:var(--pp-ink);
  color:#fff!important;
}
.rvp-company-hero__media {
  position:relative;
  min-width:0;
  height:560px;
  margin:0;
  overflow:hidden;
  background:#eef2f4;
}
.rvp-company-hero__media img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.rvp-company-hero__media--contain img {
  padding:42px;
  background:#f3f6f8;
  object-fit:contain;
}
.rvp-company-hero__media--document img {
  padding:16px;
}
.rvp-company-hero__media figcaption {
  position:absolute;
  right:24px;
  bottom:20px;
  padding:8px 11px;
  background:rgba(14,34,51,.82);
  color:#fff;
  font-size:11px;
}
.rvp-company-hero .pp-hero-meta {
  margin:0 0 28px;
  border-color:var(--pp-line);
}
.rvp-company-hero .pp-hero-meta span {
  color:var(--pp-blue);
}
.rvp-company-hero .pp-hero-meta strong {
  color:var(--pp-ink);
}
.rvp-company-hero--dark {
  background:var(--ac-navy);
  color:#fff;
}
.rvp-company-hero--dark .rvp-company-hero__grid {
  width:min(100%,var(--ac-content));
}
.rvp-company-hero--dark h1,
.rvp-company-hero--dark .rvp-company-hero__copy>p:not(.rvp-destination-kicker) {
  color:#fff;
}

@media (max-width:1100px) {
  .rvp-company-hero__copy { padding-inline:24px 40px; }
  .rvp-company-hero h1 { font-size:44px; }
}

@media (min-width:768px) {
  #model-documentation-preview .rvp-company-hero h1 { font-size:43px; }
}

@media (min-width:768px) and (max-width:1101px) {
  #model-documentation-preview .rvp-company-hero h1 {
    font-size:clamp(39px,3.9vw,43px);
    white-space:normal;
  }
}

@media (max-width:767px) {
  .rvp-company-hero__grid {
    min-height:0;
    grid-template-columns:1fr;
  }
  .rvp-company-hero__copy {
    padding:34px 20px 28px;
  }
  .rvp-company-hero .pp-kicker,
  .rvp-company-hero .rvp-destination-kicker {
    margin-bottom:12px;
  }
  .rvp-company-hero h1 {
    margin-bottom:16px;
    font-size:clamp(36px,10vw,42px);
    line-height:1.08;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
  }
  .rvp-company-hero__copy>p:not(.pp-kicker):not(.rvp-destination-kicker) {
    margin-bottom:18px;
    font-size:15px;
    line-height:1.65;
  }
  .rvp-company-hero .pp-actions,
  .rvp-company-hero .rvp-destination-actions {
    width:100%;
    grid-template-columns:1fr;
    gap:8px;
  }
  .rvp-company-hero__media {
    height:250px;
  }
  .rvp-company-hero__media--contain img {
    padding:24px 20px;
  }
  .rvp-company-hero__media--document img {
    padding:10px;
  }
  .rvp-company-hero .pp-hero-meta {
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-bottom:22px;
  }
  .rvp-company-hero__media figcaption {
    right:16px;
    bottom:14px;
  }
}

/* Product 899 R3 pilot: Gutenberg flow margins must not offset grid items. */
body.single-product.ritoks-product-v2-pilot .p899-quick-specs > .p899-quick-spec,
body.single-product.ritoks-product-v2-pilot .p899-overview-grid > .wp-block-group,
body.single-product.ritoks-product-v2-pilot .p899-app-grid > *,
body.single-product.ritoks-product-v2-pilot .p899-app-items > .p899-app-item,
body.single-product.ritoks-product-v2-pilot .p899-related-grid > .p899-related-card,
body.single-product.ritoks-product-v2-pilot .p899-related-card > .wp-block-image,
body.single-product.ritoks-product-v2-pilot .p899-related-card > .p899-related-copy {
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}

@media (min-width:901px) {
  body.single-product.ritoks-product-v2-pilot .p899-quick-specs {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:none !important;
    grid-auto-rows:auto !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  body.single-product.ritoks-product-v2-pilot .p899-quick-spec {
    display:block !important;
    height:auto !important;
    min-height:82px !important;
    box-sizing:border-box !important;
    align-self:stretch !important;
    padding:14px 16px !important;
    margin:0 !important;
  }
}

/*
 * Product Detail V2 R7: opt-in Applications and Related Products polish.
 * Existing V2 products keep their frozen output until their Gutenberg blocks
 * explicitly adopt these reusable component modifiers.
 */
body.single-product.ritoks-product-v2-pilot .ritoks-product-app-grid--square {
  align-items:stretch;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-app-grid--square > .ritoks-product-app-image {
  width:100%;
  height:auto;
  min-height:0;
  align-self:start;
  aspect-ratio:1;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-app-grid--square > .ritoks-product-app-image img {
  width:100%;
  height:100%;
  min-height:0;
  flex:none;
  aspect-ratio:1;
  object-fit:cover;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-app-grid--square > .ritoks-product-app-items {
  height:100%;
  grid-template-rows:none;
  grid-auto-rows:minmax(0,1fr);
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-related-card--complete .ritoks-product-related-cta {
  margin-top:auto;
  margin-bottom:0;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-related-card--complete .ritoks-product-related-cta a {
  display:inline-flex;
  min-height:38px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:8px 14px;
  border-radius:4px;
  background:var(--p899-blue-dark);
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
}

body.single-product.ritoks-product-v2-pilot .ritoks-product-related-card--complete .ritoks-product-related-cta a:hover,
body.single-product.ritoks-product-v2-pilot .ritoks-product-related-card--complete .ritoks-product-related-cta a:focus-visible {
  background:var(--p899-blue);
  color:#fff;
}
