/*
 * Cinematic Camp structural core
+ * Generated once from the former component styles during the 2026 redesign.
+ * Contains geometry and responsive behavior only: no legacy palette, type,
+ * shadows, gradients or decorative surface treatment.
+ */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.visually-hidden {
  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-width: 0;
}

html, body {
  overflow-x: hidden;
  max-width: 100%;
}

html {
  scroll-behavior: smooth;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: absolute;
  width: 100%;
  z-index: 100;
}

body .review-hero,
body .discount-hero,
body .discount-code-hero,
body .brand-hero,
body .faq-hero,
body .hub-hero,
body .guide-hero,
body .guides-hub-hero,
body .vs-hero,
body .vs-hub-hero,
body .discounts-hero {
  padding-top: 6rem;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.nav-links a {
  position: relative;
}

.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
}

.nav-links a:hover::after {
  width: 100%;
}

.hero {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.hero-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 6rem 6% 3rem;
  position: relative;
  z-index: 10;
  max-width: 900px;
  margin: 0 auto;
}

.hero-badge {
  display: inline-block;
  padding: 0.5rem 1.2rem;
  margin-bottom: 1.5rem;
  border-width: 1px;
  border-style: solid;
}

.hero-content h1 {
  margin-bottom: 1rem;
}

.hero-content p {
  margin-bottom: 2rem;
  max-width: 600px;
}

.hero-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border-width: 2px;
  border-style: solid;
}

.cta-button.secondary {
  border-width: 2px;
  border-style: solid;
}

.hero-stats {
  display: flex;
  gap: 3rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top-width: 1px;
  border-top-style: solid;
  justify-content: center;
}

.stat {
  text-align: center;
}

.stat-label {
  margin-top: 0.25rem;
}

.comparison-section {
  padding: 6rem 6%;
}

.section-header {
  max-width: 700px;
  margin: 0 auto 4rem;
  text-align: center;
}

.section-tag {
  display: inline-block;
  margin-bottom: 1rem;
}

.comparison-section h2 {
  margin-bottom: 1rem;
}

.table-container {
  overflow-x: auto;
  border-width: 1px;
  border-style: solid;
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 750px;
}

.comparison-table th,
.comparison-table td {
  padding: 1.25rem 1.5rem;
  text-align: left;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.comparison-table tbody tr:last-child td {
  border-bottom-style: none;
}

.score {
  display: inline-block;
  padding: 0.35rem 0.75rem;
}

.score.total {
  padding: 0.4rem 0.9rem;
}

.actions-cell {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.btn-review,
.btn-buy {
  display: inline-block;
  padding: 0.5rem 1rem;
  white-space: nowrap;
}

.btn-review {
  border-width: 1.5px;
  border-style: solid;
}

.btn-buy {
  border-width: 1.5px;
  border-style: solid;
}

.reviews-section {
  padding: 6rem 6%;
}

.reviews-section .section-header {
  margin-bottom: 3.5rem;
}

.review-card {
  margin-bottom: 2rem;
  overflow: hidden;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  border-width: 1px;
  border-style: solid;
}

.review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.75rem 2rem;
}

.review-score {
  padding: 0.6rem 1.2rem;
}

.review-content {
  padding: 2rem;
}

.review-summary {
  margin-bottom: 2rem;
  border-left-width: 3px;
  border-left-style: solid;
  padding-left: 1.25rem;
}

.pros-cons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  margin-bottom: 2rem;
}

.pros h4,
.cons h4 {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pros h4::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
}

.cons h4::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
}

.pros ul,
.cons ul {
  list-style: none;
}

.pros li,
.cons li {
  padding: 0.6rem 0;
  padding-left: 1.75rem;
  position: relative;
}

.pros li::before {
  content: '✓';
  position: absolute;
  left: 0;
}

.cons li::before {
  content: '✗';
  position: absolute;
  left: 0;
}

.verdict {
  padding: 1.25rem 1.5rem;
}

.footer-main {
  padding: 4rem 6% 3rem;
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 3fr;
  gap: 4rem;
}

.footer-brand {
  max-width: 280px;
}

.footer-logo {
  margin-bottom: 0.75rem;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.footer-column h3,
.footer-column h4 {
  margin-bottom: 1rem;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-column li {
  margin-bottom: 0.6rem;
}

.footer-bottom {
  border-top-width: 1px;
  border-top-style: solid;
  padding: 1.5rem 6%;
  text-align: center;
}

.footer-bottom p {
  margin-bottom: 0.25rem;
}

.footer-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding: 2rem 0;
}

.footer-hub-links {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.footer-text {
  text-align: right;
}

.footer-text p {
  margin-bottom: 0.25rem;
}

@media (max-width: 900px) {
  .hero-stats {
    gap: 2rem;
  }
}

@media (max-width: 1024px) {
  .footer-main {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .footer-brand {
    max-width: 100%;
    text-align: center;
  }

  .footer-links {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .hero-content {
    padding: 7rem 5% 3rem;
  }

  .navbar {
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 5%;
  }

  .nav-links {
    gap: 1.5rem;
  }

  .hero-stats {
    flex-direction: column;
    gap: 1.5rem;
  }

  .hero-buttons {
    flex-direction: column;
    width: 100%;
  }

  .cta-button {
    justify-content: center;
  }

  .comparison-section,
    .reviews-section {
    padding: 4rem 5%;
  }

  .footer-links {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }

  .pros-cons {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .review-header {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }

  .footer-content {
    flex-direction: column;
    text-align: center;
  }

  .footer-hub-links {
    justify-content: center;
  }

  .footer-text {
    text-align: center;
  }
}

.product-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.product-thumb {
  width: 60px;
  height: 45px;
  object-fit: cover;
  border-width: 1px;
  border-style: solid;
}

.discount-badge {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  white-space: nowrap;
}

.discount-badge-none {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  white-space: nowrap;
}

.discount-info {
  margin-top: 4rem;
  text-align: center;
}

.discount-info h3 {
  margin-bottom: 2rem;
}

.discount-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  max-width: 900px;
  margin: 0 auto;
}

.discount-card {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  border-width: 1px;
  border-style: solid;
}

.partner-logo {
  height: 40px;
  width: auto;
  object-fit: contain;
}

.discount-code {
  padding: 0.5rem 1.5rem;
}

.discount-link {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-width: 1.5px;
  border-style: solid;
}

.review-image {
  margin-bottom: 1.5rem;
  overflow: hidden;
}

.review-image img {
  width: 100%;
  height: auto;
  display: block;
}

.review-cta {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.price-tag {
  margin-bottom: 1rem;
}

.discount-note {
  display: block;
  margin-top: 0.25rem;
}

.cta-buttons {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.cta-buttons .btn-review,
.cta-buttons .btn-buy {
  padding: 0.75rem 1.5rem;
}

.partners-section {
  padding: 5rem 6%;
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}

.partner-card {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  border-width: 1px;
  border-style: solid;
}

.partner-discount {
  padding: 0.5rem 1rem;
  margin-top: 0.5rem;
}

@media (max-width: 768px) {
  .discount-grid,
    .partners-grid {
    grid-template-columns: 1fr;
  }

  .cta-buttons {
    flex-direction: column;
  }

  .cta-buttons .btn-buy,
    .cta-buttons .btn-review {
    text-align: center;
    justify-content: center;
  }
}

.discount-section-new {
  margin-top: 4rem;
  padding: 3rem;
}

.discount-section-new h3 {
  text-align: center;
  margin-bottom: 0.5rem;
}

.discount-intro {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 2.5rem;
}

.discount-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.discount-card-new {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.discount-card-header {
  padding: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  min-height: 80px;
}

.discount-brand-logo {
  max-height: 40px;
  max-width: 120px;
  object-fit: contain;
}

.discount-badge-new {
  padding: 0.35rem 0.75rem;
}

.discount-card-body {
  padding: 1.5rem;
  flex: 1;
}

.discount-description {
  margin-bottom: 1.25rem;
}

.discount-code-box {
  padding: 1rem;
  margin-bottom: 1rem;
}

.code-label {
  display: block;
  margin-bottom: 0.5rem;
}

.code-display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.copy-btn {
  border-style: none;
  width: 44px;
  height: 44px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.discount-savings {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.savings-amount {
  padding: 0.4rem 0.75rem;
}

.discount-card-footer {
  padding: 1.25rem 1.5rem;
  border-top-width: 1px;
  border-top-style: solid;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.discount-cta-btn {
  flex: 1;
  padding: 0.85rem 1.5rem;
  text-align: center;
  border-style: none;
  cursor: pointer;
}

.discount-details-link {
  white-space: nowrap;
}

.all-codes-cta {
  text-align: center;
  padding-top: 1rem;
}

.btn-all-codes {
  display: inline-block;
  padding: 1rem 2.5rem;
  border-width: 2px;
  border-style: solid;
}

@media (max-width: 1024px) {
  .discount-cards-grid {
    grid-template-columns: 1fr;
  }

  .discount-section-new {
    padding: 2rem 1.5rem;
  }
}

@media (max-width: 640px) {
  .discount-card-footer {
    flex-direction: column;
  }

  .discount-cta-btn {
    width: 100%;
  }

  .discount-details-link {
    margin-top: 0.5rem;
  }
}

.reviews-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem 3rem;
  margin: clamp(3rem, 7vw, 5rem) 0;
  padding: clamp(1.75rem, 4vw, 2.5rem);
  border-width: 1px;
  border-style: solid;
  border-top-width: 2px;
  border-top-style: solid;
  text-align: left;
}

.reviews-cta h2 {
  margin: 0 0 .55rem;
}

.reviews-cta p {
  max-width: 55ch;
  margin: 0;
}

.reviews-cta-links {
  display: grid;
  min-width: 190px;
  gap: .7rem;
}

.cta-link-primary,
.cta-link-secondary {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
}

.cta-link-primary {
  border-width: 1px;
  border-style: solid;
}

.cta-link-secondary {
  min-height: 44px;
  padding-block: .65rem;
  border-width: 0;
}

@media (max-width: 640px) {
  .reviews-cta {
    grid-template-columns: 1fr;
  }

  .reviews-cta-links {
    width: 100%;
    min-width: 0;
  }
}

.region-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.region-popup-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.region-popup-content {
  position: relative;
  padding: 2.5rem;
  max-width: 420px;
  width: 90%;
  text-align: center;
}

.region-popup-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  border-style: none;
  cursor: pointer;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.region-popup-content h3 {
  margin-bottom: 0.5rem;
}

.region-popup-subtitle {
  margin-bottom: 1.5rem;
}

.region-buttons {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.region-btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 1.25rem 1rem;
  border-width: 2px;
  border-style: solid;
}

.region-flag {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
}

.region-flag svg {
  width: 100%;
  height: 100%;
}

.region-discount {
  margin: 0;
}

.region-discount strong {
  padding: 0.2rem 0.5rem;
}

@media (max-width: 480px) {
  .region-popup-content {
    padding: 2rem 1.5rem;
  }

  .region-buttons {
    flex-direction: column;
  }

  .region-btn {
    flex-direction: row;
    justify-content: center;
    gap: 1rem;
  }

  .region-flag {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  border-style: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001;
}

.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 3px 0;
}

.menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

.menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0;
}

.menu-overlay.active {
  display: block;
  opacity: 1;
}

@media (max-width: 768px) {
  .menu-toggle {
    display: flex;
  }

  .navbar {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
  }

  .nav-links {
    position: fixed;
    top: 0;
    right: -280px;
    width: 280px;
    height: 100vh;
    flex-direction: column;
    padding: 5rem 2rem 2rem;
    gap: 0;
    z-index: 1000;
  }

  .nav-links.active {
    right: 0;
  }

  .nav-links li {
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .nav-links a {
    display: block;
    padding: 1rem 0;
  }
}

@media (pointer: coarse) {
  .btn-review,
    .btn-buy,
    .cta-button,
    .nav-links a,
    .copy-btn,
    .discount-cta-btn,
    .btn-all-codes {
    min-height: 44px;
    min-width: 44px;
  }

  .btn-review,
    .btn-buy {
    padding: 0.7rem 1.2rem;
  }
}

@media (max-width: 768px) {
  .table-container {
    overflow-x: visible;
    border-style: none;
  }

  .comparison-table {
    min-width: 0;
    border-style: none;
  }

  .comparison-table thead {
    display: none;
  }

  .comparison-table tbody {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .comparison-table tr {
    display: flex;
    flex-direction: column;
    padding: 1.25rem;
    border-width: 1px;
    border-style: solid;
  }

  .comparison-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    text-align: right;
  }

  .comparison-table td:last-child {
    border-bottom-style: none;
    padding-top: 1rem;
  }

  .comparison-table td::before {
    content: attr(data-label);
    text-align: left;
  }

  .comparison-table td:first-child {
    border-bottom-width: 2px;
    border-bottom-style: solid;
    padding-bottom: 1rem;
    margin-bottom: 0.5rem;
  }

  .comparison-table td:first-child::before {
    display: none;
  }

  .product-cell {
    width: 100%;
    justify-content: flex-start;
  }

  .actions-cell {
    width: 100%;
    justify-content: center;
    gap: 1rem;
  }

  .actions-cell .btn-review,
    .actions-cell .btn-buy {
    flex: 1;
    text-align: center;
    justify-content: center;
    padding: 0.85rem 1rem;
  }
}

@media (max-width: 375px) {
  .cta-button {
    padding: 0.85rem 1.5rem;
  }

  .footer-links {
    grid-template-columns: 1fr;
  }

  .hero-badge {
    padding: 0.4rem 1rem;
  }

  .discount-section-new {
    padding: 1.5rem 1rem;
  }

  .discount-code-box {
    padding: 0.75rem;
  }

  .partners-grid {
    gap: 1rem;
  }

  .partner-card {
    padding: 1.5rem;
  }

  .navbar {
    padding: 1rem 4%;
  }
}

.reviews-hub {
  padding-top: 100px;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

.reviews-hub .breadcrumb {
  padding: 1rem 0;
}

.reviews-hub-hero {
  text-align: center;
  padding: 3rem 0;
}

.reviews-hub-hero h1 {
  margin-bottom: 1rem;
}

.reviews-hub-hero p {
  max-width: 650px;
  margin: 0 auto;
}

.section-label {
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.review-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
  margin-bottom: 3rem;
}

.review-card-link {
  padding: 1.75rem;
  position: relative;
  border-width: 2px;
  border-style: solid;
  display: flex;
  flex-direction: column;
}

.review-card-badge {
  position: absolute;
  top: -10px;
  right: 20px;
  padding: 0.3rem 0.8rem;
}

.review-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.review-card-score {
  padding: 0.35rem 0.75rem;
}

.review-card-link h3 {
  margin-bottom: 0.25rem;
}

.review-card-type {
  margin-bottom: 0.75rem;
}

.review-card-summary {
  flex: 1;
  margin-bottom: 1rem;
}

.review-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.review-card-discount {
  padding: 0.3rem 0.7rem;
}

.reviews-cta {
  padding: 3rem;
  margin-bottom: 4rem;
  text-align: center;
}

.reviews-cta h2 {
  margin-bottom: 0.75rem;
}

.reviews-cta p {
  margin-bottom: 1.5rem;
}

.reviews-cta-links {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.cta-link-primary {
  display: inline-block;
  padding: 0.85rem 2rem;
}

.cta-link-secondary {
  display: inline-block;
  padding: 0.85rem 2rem;
  border-width: 2px;
  border-style: solid;
}

@media (max-width: 768px) {
  .review-cards {
    grid-template-columns: 1fr;
  }

  .reviews-cta {
    padding: 2rem 1.5rem;
  }

  .reviews-cta-links {
    flex-direction: column;
    align-items: center;
  }
}

.related-reviews {
  max-width: 900px;
  margin: 0 auto;
  padding: 3rem 2rem 4rem;
}

.related-reviews h2 {
  margin-bottom: 1.5rem;
  text-align: center;
}

.related-reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.related-review-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-width: 1px;
  border-style: solid;
}

@media (max-width: 768px) {
  .related-reviews {
    padding: 2rem 1.5rem 3rem;
  }

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

.lang-switcher {
  position: relative;
  margin-left: 1.5rem;
}

.lang-current {
  border-width: 1px;
  border-style: solid;
  padding: 0.4rem 0.8rem;
  cursor: pointer;
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 0.3rem;
}

.lang-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  border-width: 1px;
  border-style: solid;
}

.lang-dropdown .lang-code {
  margin-right: 0.45rem;
  vertical-align: middle;
}

.lang-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  border-width: 1px;
  border-style: solid;
}

.lang-dropdown .lang-code {
  margin-right: 0.45rem;
  vertical-align: middle;
}

.lang-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  border-width: 1px;
  border-style: solid;
  list-style: none;
  padding: 0.4rem 0;
  min-width: 140px;
  z-index: 200;
}

.lang-dropdown::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 0;
  right: 0;
  height: 6px;
}

.lang-switcher:hover .lang-dropdown,
.lang-switcher:focus-within .lang-dropdown {
  display: block;
}

.lang-dropdown li a {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: 0.5rem 1rem;
}

@media (max-width: 768px) {
  .lang-switcher {
    margin-left: 0;
    margin-right: auto;
    position: absolute;
    top: 1.5rem;
    right: 60px;
  }

  .lang-dropdown {
    right: auto;
    left: 0;
  }
}

body:not(.home-page) .review-hero h1,
body:not(.home-page) .guide-hero h1,
body:not(.home-page) .vs-hero h1,
body:not(.home-page) .discount-hero h1,
body:not(.home-page) .discount-code-hero h1,
body:not(.home-page) .brand-hero h1,
body:not(.home-page) .faq-hero h1,
body:not(.home-page) .hub-hero h1,
body:not(.home-page) .guides-hub-hero h1,
body:not(.home-page) .vs-hub-hero h1,
body:not(.home-page) .reviews-hub-hero h1,
body:not(.home-page) .discounts-hero h1 {
  max-width: 24ch;
}

.navbar {
  position: relative;
  min-height: 76px;
  padding: 0 max(5vw, 2rem);
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.logo {
  white-space: nowrap;
}

.nav-links {
  align-items: center;
  gap: clamp(1rem, 2vw, 2rem);
}

.nav-links a::after {
  bottom: -0.6rem;
  height: 1px;
}

.nav-cta-item a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 42px;
  padding: 0.65rem 1.1rem;
}

.nav-cta-item a::after {
  display: none;
}

body .review-hero,
body .discount-hero,
body .discount-code-hero,
body .brand-hero,
body .faq-hero,
body .hub-hero,
body .guide-hero,
body .guides-hub-hero,
body .vs-hero,
body .vs-hub-hero,
body .discounts-hero {
  padding-top: clamp(3rem, 6vw, 5.5rem);
}

.footer {
  border-top-width: 1px;
  border-top-style: solid;
}

.footer-main {
  max-width: 1320px;
  padding-top: clamp(3rem, 6vw, 5rem);
}

.footer-bottom {
  border-top-width: 0;
}

.home-page .hero {
  min-height: 590px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(340px, 46%) minmax(0, 54%);
  align-items: stretch;
  padding: 0;
  overflow: hidden;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.hero-media {
  grid-column: 2;
  position: relative;
  min-height: 590px;
  margin: 0;
  overflow: hidden;
  border-left-width: 1px;
  border-left-style: solid;
}

.hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-media::after {
  content: '';
  position: absolute;
  inset: 0;
}

.hero-media figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  max-width: 28rem;
  padding: 0.55rem 0.75rem;
}

.home-page .hero-content {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
  align-self: center;
  align-items: flex-start;
  max-width: 650px;
  margin: 0;
  padding: clamp(4rem, 7vw, 6.5rem) clamp(2rem, 4vw, 4.75rem) clamp(4rem, 7vw, 6.5rem) max(5vw, 2rem);
  text-align: left;
}

.home-page .hero-content::before {
  content: '';
  position: absolute;
  inset: 1.35rem 0.15rem auto auto;
  width: clamp(2.3rem, 3vw, 3rem);
  aspect-ratio: 1;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.25rem;
}

.hero-eyebrow::before {
  content: '';
  width: 2rem;
  height: 1px;
}

.home-page .hero-content h1 {
  max-width: 11ch;
  margin: 0 0 1.25rem -0.045em;
}

.home-page .hero-content h1 .hero-line {
  white-space: nowrap;
}

.home-page .hero-content > p:not(.hero-disclosure) {
  max-width: 46ch;
  margin: 0 0 1.75rem;
}

.home-page .hero-buttons {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.home-page .hero-buttons .cta-button {
  border-width: 0;
}

.home-page .cta-button {
  min-height: 48px;
  padding: 0.8rem 1.4rem;
  border-width: 1px;
  border-style: solid;
}

.home-page .hero-disclosure {
  max-width: 50ch;
  margin: 1.15rem 0 0;
}

.home-page .hero-stats {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: -54px;
  width: min(1180px, 90vw);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  padding: 0;
  border-width: 1px;
  border-style: solid;
}

.home-page .stat {
  padding: 1.4rem 2rem;
  text-align: left;
}

.home-page .stat + .stat {
  border-left-width: 1px;
  border-left-style: solid;
}

.home-page .stat-label {
  margin-top: 0.45rem;
}

.home-page .comparison-section,
.home-page .partners-section,
.home-page .home-faq {
  padding-inline: max(5vw, 2rem);
}

.home-page .comparison-section {
  padding-top: clamp(8rem, 11vw, 10rem);
  padding-bottom: clamp(5rem, 9vw, 8rem);
}

.home-page .section-header {
  max-width: 790px;
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
  text-align: left;
}

.home-page .section-tag {
  margin-bottom: 0.8rem;
}

.home-page .comparison-section h2,
.home-page .partners-section h2,
.home-page .home-faq h2 {
  margin: 0 0 1rem -0.035em;
}

.home-page .section-description {
  max-width: 60ch;
}

.home-page .table-container {
  max-width: 1320px;
  margin: 0 auto;
  overflow: auto;
  border-width: 1px;
  border-style: solid;
}

.home-page .comparison-table {
  min-width: 1060px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

.home-page .comparison-table th,
.home-page .comparison-table td {
  padding: 1.15rem 1rem;
  vertical-align: middle;
}

.home-page .comparison-table th {
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 2;
}

.home-page .comparison-table th:first-child {
  width: 31%;
}

.home-page .comparison-table th:nth-child(2) {
  width: 9%;
}

.home-page .comparison-table th:nth-child(3) {
  width: 14%;
}

.home-page .comparison-table th:nth-child(4) {
  width: 11%;
}

.home-page .comparison-table th:nth-child(5) {
  width: 13%;
}

.home-page .comparison-table th:nth-child(6) {
  width: 8%;
}

.home-page .comparison-table th:last-child {
  width: 14%;
}

.home-page .comparison-table tbody tr {
  counter-increment: mattress-rank;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.home-page .comparison-table tbody {
  counter-reset: mattress-rank;
}

.home-page .table-container tr:last-child {
  border-bottom-width: 0;
}

.home-page .product-cell {
  gap: 0.9rem;
}

.home-page .product-cell::before {
  content: counter(mattress-rank, decimal-leading-zero);
  flex: 0 0 1.8rem;
}

.home-page .product-cell-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.22rem;
}

.home-page .product-thumb {
  width: 78px;
  height: 58px;
  flex: 0 0 auto;
  object-fit: cover;
}

.home-page .score,
.home-page .score.high,
.home-page .score.medium,
.home-page .score.low {
  display: inline-flex;
  align-items: baseline;
  gap: 0.16rem;
  padding: 0;
  border-width: 0;
}

.home-page .score::after {
  content: '/10';
}

.home-page .discount-badge,
.home-page .discount-badge-none {
  padding: 0.2rem 0;
  border-width: 0;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.home-page .discount-badge-none {
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.home-page .btn-review,
.home-page .btn-buy {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1rem;
  min-width: 108px;
}

.home-page .btn-review {
  border-width: 1px;
  border-style: solid;
}

.home-page .btn-buy::after {
  content: '\2192';
  margin-left: 0.45rem;
}

.home-page .actions-cell {
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.7rem;
}

.home-page .discount-section-new {
  max-width: 1320px;
  margin: clamp(5rem, 9vw, 8rem) auto 0;
  padding: clamp(2rem, 4vw, 3rem) 0 0;
  border-top-width: 0;
}

.home-page .discount-section-new h3 {
  margin-bottom: 0.75rem;
  text-align: left;
}

.home-page .discount-intro {
  max-width: 62ch;
  margin: 0 0 2rem;
  text-align: left;
}

.home-page .discount-cards-grid {
  gap: 1rem;
  margin-bottom: 1.5rem;
  border-top-width: 0;
  border-bottom-width: 0;
}

.home-page .discount-card-new {
  border-width: 1px;
  border-style: solid;
}

.home-page .discount-card-new:last-child {
  border-right-width: 0;
}

.home-page .discount-card-header {
  min-height: 74px;
  padding: 1.25rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.home-page .discount-brand-logo {
  max-width: 108px;
  max-height: 32px;
}

.home-page .discount-badge-new,
.home-page .discount-badge-new.budget {
  padding: 0 0 0.2rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.home-page .discount-card-body {
  padding: 1.35rem 1.25rem;
}

.home-page .discount-code-box {
  padding: 0.9rem 0;
  border-width: 1px;
  border-style: dashed;
}

.home-page .copy-btn {
  width: 44px;
  height: 44px;
}

.home-page .savings-amount {
  padding: 0 0 0.15rem;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.home-page .discount-card-footer {
  padding: 1rem 1.25rem 1.25rem;
}

.home-page .btn-all-codes {
  border-width: 0;
  padding: 0.8rem 1.25rem;
}

.home-page .partners-section {
  padding-top: clamp(5rem, 9vw, 8rem);
  padding-bottom: clamp(5rem, 9vw, 8rem);
}

.home-page .partners-grid {
  max-width: 1320px;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.home-page .partner-card {
  align-items: flex-start;
  min-height: 204px;
  padding: 1.55rem;
  border-width: 1px;
  border-style: solid;
}

.home-page .partner-card:last-child {
  border-right-width: 0;
}

.home-page .partner-discount {
  margin-top: auto;
  padding: 0.45rem 0;
}

.home-faq {
  padding-top: clamp(5rem, 9vw, 8rem);
  padding-bottom: clamp(5rem, 9vw, 8rem);
}

.home-faq-grid {
  max-width: 1320px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 3rem;
  border-top-width: 0;
}

.home-faq details {
  border-width: 1px;
  border-style: solid;
  padding: 0.25rem 1.2rem 0;
  margin-bottom: 0.7rem;
}

.home-faq summary {
  position: relative;
  min-height: 64px;
  display: flex;
  align-items: center;
  padding: 1rem 2.5rem 1rem 0;
  cursor: pointer;
  list-style: none;
}

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

.home-faq summary::after {
  content: '+';
  position: absolute;
  right: 0;
}

.home-faq details[open] summary::after {
  transform: rotate(45deg);
}

.home-faq details p {
  max-width: 65ch;
  padding: 0 2.5rem 1.5rem 0;
}

@media (max-width: 1100px) {
  .nav-links {
    gap: 1rem;
  }

  .home-page .partners-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .home-page .partner-card:nth-child(2) {
    border-right-width: 0;
  }

  .home-page .partner-card:nth-child(-n + 2) {
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
}

@media (max-width: 1024px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    position: fixed;
    top: 0;
    right: -320px;
    z-index: 1000;
    width: min(320px, 88vw);
    height: 100dvh;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 5.5rem 1.5rem 2rem;
  }

  .nav-links.active {
    right: 0;
  }

  .nav-links li {
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .nav-links a,
    .nav-cta-item a {
    min-height: 52px;
    display: flex;
    align-items: center;
    padding: 0.75rem 0;
  }

  .nav-links a::after {
    display: none;
  }
}

@media (max-width: 768px) {
  .navbar {
    min-height: 68px;
    padding-inline: 1.25rem;
  }

  .home-page .hero {
    min-height: auto;
    display: flex;
    flex-direction: column;
  }

  .home-page .hero-content {
    order: 1;
    width: 100%;
    max-width: none;
    padding: 3.5rem 1.25rem 2.5rem;
  }

  .home-page .hero-content h1 {
    max-width: none;
  }

  .home-page .hero-content h1 .hero-line {
    white-space: normal;
  }

  .hero-media {
    order: 2;
    position: relative;
    width: 100%;
    height: 330px;
    min-height: 0;
    border-top-width: 1px;
    border-top-style: solid;
    border-left-width: 0;
  }

  .hero-media img {
    object-position: center;
  }

  .hero-media figcaption {
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
    max-width: none;
  }

  .home-page .hero-stats {
    order: 3;
    position: relative;
    left: auto;
    bottom: auto;
    width: calc(100% - 2rem);
    margin: -1.75rem 1rem 0;
    grid-template-columns: 1fr;
  }

  .home-page .stat {
    display: grid;
    grid-template-columns: 4.5rem 1fr;
    align-items: center;
    padding: 1rem 1.25rem;
  }

  .home-page .stat + .stat {
    border-top-width: 1px;
    border-top-style: solid;
    border-left-width: 0;
  }

  .home-page .comparison-section,
    .home-page .partners-section,
    .home-page .home-faq {
    padding-inline: 1.25rem;
  }

  .home-page .comparison-section {
    padding-top: 5rem;
  }

  .home-page .table-container {
    overflow: visible;
    border-width: 1px;
    border-style: solid;
  }

  .home-page .comparison-table {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .home-page .comparison-table tbody {
    width: 100%;
    gap: 0;
  }

  .home-page .comparison-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 1rem;
    width: 100%;
    padding: 1.25rem 0;
    border-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .home-page .comparison-table tr:last-child {
    border-bottom-width: 0;
  }

  .home-page .comparison-table td {
    display: flex;
    min-width: 0;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.25rem;
    padding: 0.7rem 0;
    text-align: left;
  }

  .home-page .comparison-table td:first-child {
    grid-column: 1 / -1;
    padding: 0 0 1rem;
    margin: 0 0 0.35rem;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .home-page .comparison-table td.actions-cell {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
    padding: 0.85rem 0 0;
    border-bottom-width: 0;
  }

  .home-page .comparison-table td.actions-cell::before {
    display: none;
  }

  .home-page .product-cell {
    gap: 0.75rem;
  }

  .home-page .product-cell::before {
    flex-basis: 1.55rem;
  }

  .home-page .product-thumb {
    width: 82px;
    height: 62px;
  }

  .home-page .btn-review,
    .home-page .btn-buy {
    width: 100%;
  }

  .home-page .discount-section-new {
    margin-top: 4rem;
    padding: 1.75rem 0 0;
  }

  .home-page .discount-cards-grid {
    grid-template-columns: 1fr;
  }

  .home-page .discount-card-new {
    border-right-width: 0;
    border-bottom-width: 0;
  }

  .home-page .discount-card-new:last-child {
    border-bottom-width: 0;
  }

  .home-page .partners-grid,
    .home-faq-grid {
    grid-template-columns: 1fr;
  }

  .home-page .partner-card,
    .home-page .partner-card:nth-child(2) {
    min-height: 160px;
    border-right-width: 0;
    border-bottom-width: 0;
  }

  .home-page .partner-card:last-child {
    border-bottom-width: 0;
  }

  .home-faq-grid {
    gap: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
  }
}

body .breadcrumb {
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: .45rem;
  padding: .55rem .8rem;
  border-width: 1px;
  border-style: solid;
  text-align: left;
}

body .breadcrumb a {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
}

body .breadcrumb a:first-child::before {
  margin-right: .35rem;
  content: '\2190';
}

.price-source-note {
  max-width: 76ch;
  margin: .85rem 0 0;
}

@media (max-width: 640px) {
  body .breadcrumb {
    gap: .35rem;
    padding: .45rem .65rem;
    overflow: hidden;
    white-space: nowrap;
  }

  body .breadcrumb span:last-child,
    body .breadcrumb li:last-child {
    overflow: hidden;
  }
}

body .hub-hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  align-items: stretch;
  width: min(1180px, 90vw);
  min-height: 470px;
  margin: 0 auto clamp(3.5rem, 7vw, 6rem);
  padding: 0;
  text-align: left;
}

.hub-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(2rem, 5vw, 4.5rem);
}

body .hub-hero h1 {
  max-width: 11ch;
  margin: 0 0 1rem;
}

body .hub-hero p {
  max-width: 48ch;
  margin: 0;
}

.hub-hero-media {
  position: relative;
  min-height: 470px;
  margin: 0;
  overflow: hidden;
}

.hub-hero-media::after {
  content: '';
  position: absolute;
  inset: 0;
}

.hub-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hub-hero-media figcaption {
  position: absolute;
  z-index: 1;
  right: 1.2rem;
  bottom: 1.1rem;
  left: 1.2rem;
}

body .hub-grid {
  max-width: 1180px;
  margin: 0 auto clamp(4rem, 8vw, 8rem);
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border-width: 1px;
  border-style: solid;
}

body .hub-card {
  min-width: 0;
  padding: 0 0 1.5rem;
  border-width: 0;
}

.hub-card-thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  margin-bottom: 1.3rem;
  object-fit: cover;
}

body .hub-card h2,
body .hub-card p {
  margin-inline: 1.4rem;
}

body .hub-card h2 {
  margin-bottom: .65rem;
}

.hub-card-kicker {
  display: block;
  margin: 0 1.4rem .55rem;
}

body .faq-hero {
  position: relative;
  min-height: 410px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(4rem, 8vw, 7rem) max(6vw, calc((100vw - 900px) / 2)) 3.25rem;
}

body .faq-hero h1 {
  width: min(900px, 100%);
  max-width: 18ch;
  margin: 0 auto;
}

body .faq-hero .breadcrumb,
body .faq-hero .faq-meta {
  width: min(900px, 100%);
}

body .faq-main {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(3.5rem, 7vw, 7rem) 0;
}

body .faq-tldr {
  margin-bottom: 3rem;
  padding: 1.25rem 0 1.5rem;
  border-width: 0;
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body .faq-main h2 {
  margin: 3.25rem 0 1.1rem;
}

body .article-visual {
  margin: 0 0 clamp(3rem, 7vw, 5rem);
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

body .article-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

body .article-visual figcaption {
  padding: .8rem 1rem .9rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body .faq-main table {
  display: block;
  width: 100%;
  margin: 1.75rem 0 2.75rem;
  overflow-x: auto;
  border-collapse: collapse;
  border-width: 1px;
  border-style: solid;
}

body .faq-main th,
body .faq-main td {
  min-width: 150px;
  padding: .9rem 1rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-align: left;
  vertical-align: top;
}

body .article-pick-cta {
  position: relative;
  margin: clamp(3.5rem, 7vw, 5rem) 0;
  padding: clamp(1.6rem, 4vw, 2.25rem);
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
  border-top-width: 3px;
  border-top-style: solid;
}

body .article-pick-cta::after {
  content: '';
  position: absolute;
  top: -70px;
  right: -70px;
  width: 170px;
  height: 170px;
  border-width: 1px;
  border-style: solid;
}

body .article-pick-cta .cta-kicker {
  display: block;
  margin-bottom: .6rem;
}

body .article-pick-cta h2 {
  max-width: 24ch;
  margin: 0 0 .65rem;
  padding: 0;
  border-width: 0;
}

body .article-pick-cta p {
  max-width: 58ch;
  margin-bottom: 1.25rem;
}

body .article-pick-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

body .article-pick-actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: .72rem 1rem;
  border-width: 1px;
  border-style: solid;
}

.snuuzu-region-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
}

.table-cta-cell .snuuzu-region-actions {
  display: grid;
  min-width: 88px;
}

.discount-region-actions {
  margin-top: 1rem;
}

.discount-region-actions .discount-cta {
  margin: 0;
}

.discount-region-actions .discount-cta-secondary {
  border-width: 1px;
  border-style: solid;
}

.snuuzu-region-actions .table-buy-btn {
  text-align: center;
}

body .faq-related {
  margin: 3rem 0;
  padding: 1.6rem 0;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body .faq-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1.5rem, 5vw, 3rem);
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border-top-width: 2px;
  border-top-style: solid;
  border-right-width: 1px;
  border-right-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-left-width: 1px;
  border-left-style: solid;
  text-align: left;
}

body .faq-cta h2 {
  max-width: 22ch;
  margin: 0 0 .55rem;
}

body .faq-cta p {
  max-width: 54ch;
  margin: 0;
}

body .faq-cta .faq-cta-kicker {
  display: block;
  margin-bottom: .55rem;
}

body .faq-cta-actions {
  display: grid;
  min-width: 190px;
  gap: .7rem;
}

body .faq-cta a {
  margin: 0;
  padding: .82rem 1.15rem;
  text-align: center;
}

body .faq-cta .faq-cta-secondary {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding-block: .65rem;
}

@media (max-width: 600px) {
  body .faq-cta {
    grid-template-columns: 1fr;
  }

  body .faq-cta-actions {
    min-width: 0;
  }
}

body .article-visual-guides {
  margin: clamp(3rem, 7vw, 5rem) 0;
  padding-top: 1.5rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body .article-visual-guides-heading {
  display: grid;
  grid-template-columns: minmax(120px, .55fr) minmax(0, 1.45fr);
  gap: 1.5rem;
  align-items: end;
  margin-bottom: 1.5rem;
}

body .article-visual-guides-heading h2 {
  margin: 0;
}

body .article-visual-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}

body .article-visual-guide-card {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

body .article-visual-guide-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

body .article-visual-guide-card span {
  padding: .85rem;
}

@media (max-width: 620px) {
  body .article-visual-guides-heading {
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  body .article-visual-guide-grid {
    grid-template-columns: 1fr;
  }

  body .article-visual-guide-card {
    grid-template-columns: minmax(110px, .8fr) minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: center;
  }

  body .article-visual-guide-card img {
    height: 100%;
    min-height: 110px;
    aspect-ratio: 4 / 3;
  }
}

body .about-page {
  padding-top: 0 !important;
}

body .about-container {
  max-width: 980px !important;
  padding: 1.25rem max(5vw, 2rem) clamp(5rem, 8vw, 8rem) !important;
}

.about-visual,
.legal-visual {
  position: relative;
  width: 100%;
  margin: 0 0 clamp(2.5rem, 5vw, 4.5rem);
  overflow: hidden;
}

.about-visual {
  aspect-ratio: 16 / 8;
}

.about-visual img,
.legal-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-visual::after,
.legal-visual::after {
  content: '';
  position: absolute;
  inset: 0;
}

.about-visual figcaption,
.legal-visual figcaption {
  position: absolute;
  z-index: 1;
  right: 1.2rem;
  bottom: 1rem;
  left: 1.2rem;
}

.about-container > h1,
.legal-page > h1 {
  max-width: 15ch;
  margin-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}

.about-container > section {
  display: grid;
  grid-template-columns: minmax(190px, .55fr) minmax(0, 1.45fr);
  column-gap: clamp(2rem, 6vw, 6rem);
  margin-bottom: 0 !important;
  padding: clamp(2.25rem, 5vw, 4rem) 0 !important;
  border-top-width: 1px;
  border-top-style: solid;
  text-align: left !important;
}

.about-container > section > h2 {
  grid-column: 1;
  grid-row: 1 / span 8;
  margin: 0 !important;
}

.about-container > section > :not(h2) {
  grid-column: 2;
}

body .legal-page {
  max-width: 860px !important;
  padding: 1.25rem max(5vw, 2rem) clamp(5rem, 8vw, 8rem) !important;
}

.legal-visual {
  aspect-ratio: 16 / 7;
}

.legal-page > h2 {
  margin: 3rem 0 1rem !important;
  padding-top: 1.75rem;
  border-top-width: 1px;
  border-top-style: solid;
}

@media (max-width: 900px) {
  body .hub-hero {
    grid-template-columns: 1fr;
  }

  .hub-hero-media {
    min-height: 340px;
    order: 2;
  }

  body .hub-grid {
    width: 90vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body .hub-hero {
    width: 100%;
    min-height: 0;
  }

  .hub-hero-media {
    min-height: 275px;
  }

  .hub-hero-copy {
    padding: 2.25rem 5vw 2.75rem;
  }

  body .hub-grid {
    grid-template-columns: 1fr;
  }

  body .faq-main {
    padding: 3rem 5vw 5rem;
  }

  body .faq-hero {
    min-height: 450px;
    padding: 5rem 5vw 2.75rem;
  }

  body .about-container,
    body .legal-page {
    padding-inline: 5vw !important;
  }

  .about-container > section {
    grid-template-columns: 1fr;
  }

  .about-container > section > h2,
    .about-container > section > :not(h2) {
    grid-column: 1;
    grid-row: auto;
  }

  .about-container > section > h2 {
    margin-bottom: 1.35rem !important;
  }

  .about-visual,
    .legal-visual {
    aspect-ratio: 4 / 3;
  }
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1rem;
}

.eyebrow::before {
  width: 1.75rem;
  height: 1px;
  content: '';
}

.reviews-hub {
  max-width: 1280px;
  padding: clamp(2.5rem, 4vw, 3.5rem) clamp(1.1rem, 4vw, 3rem) 5rem;
}

.reviews-hub .breadcrumb {
  margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}

.reviews-hub-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(360px, 1.12fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  padding: 0 0 clamp(4rem, 7vw, 6rem);
  text-align: left;
}

.reviews-hub-hero h1 {
  max-width: 10ch;
  margin: 0 0 1.25rem;
}

.reviews-hub-hero p {
  max-width: 54ch;
  margin: 0;
}

.reviews-hub-hero .reviews-hub-byline {
  margin-top: 1.5rem;
}

.reviews-hub-hero-media,
.review-hero-media,
.discount-hero-media {
  position: relative;
  overflow: hidden;
  margin: 0;
}

.reviews-hub-hero-media {
  aspect-ratio: 16 / 11;
}

.reviews-hub-hero-media img,
.review-hero-media img,
.discount-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reviews-hub-hero-media figcaption,
.review-hero-media figcaption,
.discount-hero-media figcaption {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  padding: 0.48rem 0.68rem;
}

.section-label {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin: 0 0 1.5rem;
  padding: 0 0 0.8rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.review-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.35rem;
  margin-bottom: clamp(4rem, 7vw, 6.5rem);
}

.review-card-link,
.review-card-link.featured {
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border-width: 1px;
  border-style: solid;
}

.review-card-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.review-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-card-media.is-logo {
  padding: 18%;
}

.review-card-media.is-logo img {
  object-fit: contain;
}

.review-card-badge {
  z-index: 2;
  top: 0.85rem;
  right: 0.85rem;
  padding: 0.4rem 0.65rem;
}

.review-card-top {
  margin: 1.15rem 1.25rem 0.75rem;
}

.review-card-score,
.review-card-score.high,
.review-card-score.medium {
  padding: 0;
}

.review-card-score::after {
  content: '/10';
}

.review-card-link h3,
.review-card-type,
.review-card-summary {
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}

.review-card-link h3 {
  margin-bottom: 0.35rem;
}

.review-card-type {
  margin-bottom: 0.8rem;
}

.review-card-summary {
  margin-bottom: 1.15rem;
}

.review-card-meta {
  min-height: 58px;
  margin-top: auto;
  padding: 0.85rem 1.25rem;
}

.review-card-discount {
  padding: 0;
}

.review-hero {
  padding: clamp(2.25rem, 5vw, 5rem) clamp(1.1rem, 5vw, 5.5rem);
}

.review-hero-grid,
.discount-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(360px, 0.97fr);
  gap: clamp(2.25rem, 5vw, 5.5rem);
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}

.review-hero .breadcrumb,
.discount-hero .breadcrumb {
  max-width: none;
  margin: 0 0 1.7rem;
  padding: 0;
  border-width: 0;
  text-align: left;
}

.review-hero h1 {
  max-width: 15ch;
  margin: 0 0 1.5rem;
}

.review-meta-bar {
  max-width: 680px;
  margin: 0;
  gap: 0.75rem 1.25rem;
}

.score-badge {
  padding: 0.5rem 0.75rem;
}

.review-disclosure,
.discount-disclosure {
  max-width: 62ch;
  margin-top: 1.25rem;
}

.review-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.1rem;
  margin-top: 1.5rem;
}

.review-hero-cta {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.15rem;
  border-width: 1px;
  border-style: solid;
}

.review-hero-media {
  aspect-ratio: 4 / 3;
}

.review-hero-media img[src*="novapads-logo"] {
  padding: 18%;
  object-fit: contain;
}

.review-main,
.discount-main {
  width: min(100% - 2.2rem, 800px);
  margin: clamp(3rem, 6vw, 5.5rem) auto;
  padding: 0;
}

.review-main {
  width: min(100% - 2.2rem, 920px);
  max-width: 920px;
}

.review-tldr {
  margin-bottom: 3.5rem;
  padding: 1.5rem 1.6rem;
  border-width: 1px;
  border-style: solid;
  border-left-width: 3px;
  border-left-style: solid;
}

.review-main > figure,
.review-main .body-figure,
.discount-main > figure {
  margin: 2rem 0 3.5rem;
}

.review-main h2,
.discount-main h2 {
  margin: 3.8rem 0 1rem;
}

.review-main .review-tldr {
  margin: 0 0 clamp(3.5rem, 7vw, 5rem);
  padding: 1.25rem 0 1.55rem;
  border-width: 0;
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.review-tldr-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
}

.review-main .review-tldr-copy {
  max-width: 64ch;
  margin: 0 0 1rem;
}

.review-main .review-score-note {
  max-width: 66ch;
  margin: -0.2rem 0 1.15rem;
}

.review-main .review-tldr-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0 0 0.2rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.review-decision {
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(310px, 0.87fr);
  margin: 0 0 clamp(4.5rem, 8vw, 6.5rem);
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  scroll-margin-top: 1.5rem;
}

.review-main .review-decision .review-tldr {
  margin: 0;
  padding: clamp(1.5rem, 4vw, 2.35rem) clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 4vw, 2.35rem) 0;
  border-width: 0;
  border-right-width: 1px;
  border-right-style: solid;
}

.review-main .review-decision .review-tldr-copy {
  margin-bottom: 1.15rem;
}

.review-main .review-decision .review-score-note {
  margin-bottom: 0;
}

.review-offer-card {
  padding: clamp(1.5rem, 4vw, 2.35rem);
}

.review-offer-label {
  display: block;
  margin-bottom: 0.65rem;
}

.review-main .review-offer-card h2 {
  max-width: 15ch;
  margin: 0 0 0.7rem;
}

.review-main .review-offer-card > p {
  margin: 0 0 1.1rem;
}

.review-offer-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1.2rem 0 0.9rem;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.review-offer-facts > div {
  min-width: 0;
  padding: 0.8rem 0.55rem 0.8rem 0;
}

.review-offer-facts > div + div {
  padding-left: 0.55rem;
  border-left-width: 1px;
  border-left-style: solid;
}

.review-offer-facts dt {
  margin-bottom: 0.22rem;
}

.review-main .review-offer-card .review-offer-checked {
  margin-bottom: 1rem;
}

.review-region-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.review-main .review-region-actions a {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: 0.65rem 0.7rem;
  border-width: 1px;
  border-style: solid;
}

.review-main .review-offer-primary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 0.4rem;
  padding: 0.78rem 1rem;
  border-width: 1px;
  border-style: solid;
  text-align: center;
}

.review-main .review-offer-secondary {
  display: inline-block;
  margin-top: 0.75rem;
}

.review-main .review-offer-terms {
  display: inline-block;
}

.review-offer-card:has(.review-region-actions) > .review-offer-primary,
.review-offer-card:has(.review-region-actions) > .review-offer-secondary {
  display: none;
}

.ownership-detail {
  margin: 0 0 clamp(4.5rem, 9vw, 7rem);
}

.ownership-detail-header {
  display: grid;
  grid-template-columns: minmax(150px, 0.58fr) minmax(0, 1.42fr);
  gap: 0.75rem clamp(1.5rem, 5vw, 3.5rem);
  padding: 1.15rem 0 2rem;
  border-top-width: 2px;
  border-top-style: solid;
}

.ownership-kicker {
  grid-row: 1 / span 2;
}

.review-main .ownership-detail-header h2 {
  max-width: none;
  margin: 0;
}

.review-main .ownership-detail-header p {
  max-width: 59ch;
  margin: 0.7rem 0 0;
}

.review-main .ownership-detail-list {
  max-width: none;
  margin: 0;
  padding: 0;
  border-top-width: 1px;
  border-top-style: solid;
  list-style: none;
}

.ownership-detail-list > li {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  margin: 0;
  padding: clamp(1.5rem, 3vw, 2.15rem) 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.ownership-number {
  padding-top: 0.15rem;
}

.review-main .ownership-detail-list h3 {
  margin: 0 0 0.6rem;
}

.review-main .ownership-detail-list p {
  max-width: 65ch;
  margin: 0;
}

.ownership-sources {
  margin-top: 1.75rem;
  padding: 1.35rem 1.5rem 1.5rem;
  border-top-width: 3px;
  border-top-style: solid;
}

.ownership-sources > strong {
  display: block;
  margin-bottom: 0.8rem;
}

.ownership-sources > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.25rem;
}

.review-main .ownership-sources p {
  max-width: 65ch;
  margin: 1rem 0 0;
}

.product-evidence-gallery {
  margin: 0 0 clamp(4.5rem, 9vw, 7rem);
  padding-top: 1.15rem;
  border-top-width: 2px;
  border-top-style: solid;
}

.product-evidence-gallery-header {
  display: grid;
  grid-template-columns: minmax(150px, 0.58fr) minmax(0, 1.42fr);
  gap: 0.75rem clamp(1.5rem, 5vw, 3.5rem);
  margin-bottom: 1.6rem;
}

.review-main .product-evidence-gallery h2 {
  margin: 0;
}

.review-main .product-evidence-gallery-intro {
  grid-column: 2;
  max-width: 60ch;
  margin: 0.45rem 0 0;
}

.product-evidence-overview {
  margin: 0 0 1.1rem;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

.product-evidence-overview img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.product-evidence-overview figcaption {
  margin: 0;
  padding: 0.8rem 1rem 0.9rem;
}

.product-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 1.1rem;
}

.product-evidence-grid figure {
  display: grid;
  grid-template-rows: auto auto;
  align-self: start;
  margin: 0;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

.product-evidence-grid figure:first-child:nth-last-child(3) {
  grid-row: auto;
}

.product-evidence-grid img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.product-evidence-grid figcaption {
  padding: 0.9rem 1rem 1rem;
}

.product-evidence-limit {
  margin-top: 1rem;
  padding: 1rem 1.1rem;
  border-left-width: 3px;
  border-left-style: solid;
}

.review-main .product-evidence-gallery + h2 + figure:has(> img[src*="snuuzu-model-y-tesla-mattress"]) {
  display: grid;
  grid-template-columns: minmax(0, 13rem) minmax(0, 1fr);
  width: min(100%, 44rem);
  align-items: center;
  gap: 1rem;
  margin: 0.8rem 0 1.6rem !important;
  padding: 0.65rem 0;
  text-align: left !important;
}

.review-main .product-evidence-gallery + h2 + figure:has(> img[src*="snuuzu-model-y-tesla-mattress"]) > img {
  width: 100% !important;
  height: 8rem !important;
  object-fit: cover;
}

.review-main .product-evidence-gallery + h2 + figure:has(> img[src*="snuuzu-model-y-tesla-mattress"]) > figcaption {
  margin: 0 !important;
  text-align: left;
}

.review-main > p {
  max-width: 67ch;
}

.review-main > ul,
.review-main > ol {
  max-width: 65ch;
  padding-left: 0.35rem;
}

.review-main > h2 {
  max-width: 24ch;
  margin-top: clamp(3.8rem, 8vw, 5.5rem);
}

.review-main .cta-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
  align-items: center;
  gap: clamp(1.5rem, 5vw, 3rem);
  margin: clamp(3.75rem, 8vw, 5.5rem) 0;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border-width: 1px;
  border-style: solid;
  border-top-width: 2px;
  border-top-style: solid;
  text-align: left;
}

.review-main .cta-block-label {
  display: block;
  margin-bottom: 0.5rem;
}

.review-main .cta-block h3 {
  margin: 0 0 0.45rem;
}

.review-main .cta-block p {
  max-width: 55ch;
  margin: 0;
}

.review-main .cta-block .cta-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.82rem 1.15rem;
  border-width: 1px;
  border-style: solid;
  text-align: center;
}

.review-main .cta-block-actions {
  display: grid;
  gap: 0.7rem;
}

.review-main .cta-text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.review-main .related-grid {
  margin: 3.5rem 0;
  padding: 1.5rem 0 0;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.review-main .related-grid h3 {
  max-width: 32ch;
  margin: 0 0 1rem;
}

.review-main .related-grid li {
  margin: 0;
  padding: 0.65rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.review-next-steps {
  margin: clamp(4rem, 8vw, 6rem) 0 3rem;
  padding-top: 1.15rem;
  border-top-width: 2px;
  border-top-style: solid;
}

.review-main .review-next-steps h2 {
  margin: 0.55rem 0 1.5rem;
}

.review-next-steps-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top-width: 1px;
  border-top-style: solid;
}

.review-next-step {
  display: grid;
  gap: 0.35rem;
  min-height: 122px;
  align-content: center;
  padding: 1.15rem 1.25rem;
  border-right-width: 1px;
  border-right-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.review-next-step:nth-child(even) {
  border-right-width: 0;
}

.review-main .pros,
.review-main .cons {
  padding: 1.1rem 0 0;
  border-width: 0;
  border-top-width: 2px;
  border-top-style: solid;
}

.review-main .skip-callout {
  padding: 1.35rem 1.45rem;
  border-width: 0;
  border-top-width: 2px;
  border-top-style: solid;
}

.review-main table {
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.review-main th {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

@media (max-width: 680px) {
  .review-decision {
    grid-template-columns: 1fr;
  }

  .review-main .review-decision .review-tldr {
    padding: 1.35rem 0 1.5rem;
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .review-offer-card {
    margin-right: -1.1rem;
    margin-left: -1.1rem;
    padding: 1.45rem 1.1rem 1.55rem;
  }

  .review-region-actions {
    grid-template-columns: 1fr;
  }

  .ownership-detail-header {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ownership-kicker {
    grid-row: auto;
    margin-bottom: 1rem;
  }

  .ownership-detail-list > li {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.85rem;
  }

  .ownership-sources {
    margin-right: -0.15rem;
    margin-left: -0.15rem;
    padding: 1.25rem 1.15rem 1.4rem;
  }

  .ownership-sources > div {
    display: grid;
    gap: 0.7rem;
  }

  .review-main .cta-block {
    grid-template-columns: 1fr;
  }

  .review-main .cta-block .cta-button {
    width: 100%;
  }

  .review-main .review-tldr {
    padding-top: 1rem;
  }

  .product-evidence-gallery-header {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .review-main .product-evidence-gallery-intro {
    grid-column: auto;
    margin-top: 0;
  }

  .product-evidence-overview img {
    aspect-ratio: 4 / 3;
  }

  .product-evidence-grid,
    .review-next-steps-grid {
    grid-template-columns: 1fr;
  }

  .product-evidence-grid figure:first-child:nth-last-child(3) {
    grid-row: auto;
  }

  .product-evidence-grid img {
    min-height: 0;
    max-height: none;
    aspect-ratio: 4 / 3;
  }

  .review-main .product-evidence-gallery + h2 + figure:has(> img[src*="snuuzu-model-y-tesla-mattress"]) {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .review-main .product-evidence-gallery + h2 + figure:has(> img[src*="snuuzu-model-y-tesla-mattress"]) > img {
    height: auto !important;
    aspect-ratio: 16 / 9;
  }

  .review-next-step,
    .review-next-step:nth-child(even) {
    border-right-width: 0;
  }
}

.discount-hero {
  padding: clamp(2.25rem, 5vw, 5rem) clamp(1.1rem, 5vw, 5.5rem);
  text-align: left;
}

.discount-hero h1 {
  max-width: 16ch;
  margin: 0 0 1.5rem;
}

.discount-code-row {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 1.6rem 0 1.25rem;
}

.discount-hero .code-box-hero {
  margin: 0;
  padding: 0.65rem 1rem;
  border-width: 0;
}

.discount-hero .savings-pill {
  margin: 0;
  padding: 0.55rem 0.75rem;
}

.discount-hero .discount-cta {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  max-width: min(100%, 34rem);
  margin: 0;
  padding: 0.78rem 1.1rem;
  text-align: left;
}

.discount-hero .discount-meta {
  margin-top: 1rem;
}

.discount-hero-media {
  aspect-ratio: 4 / 3;
}

.discount-hero-media img[src*="novapads-logo"] {
  padding: 18%;
  object-fit: contain;
}

.discount-main > .verified-badge {
  display: block;
  padding: 1rem 0;
  border-width: 0;
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.discount-main > p {
  max-width: 67ch;
}

.discount-main .related-grid {
  margin: 3.5rem 0;
  padding: 1.5rem 0 0;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.discount-main .related-grid h3 {
  margin: 0 0 1rem;
}

.discount-main .related-grid li {
  margin: 0;
  padding: 0.65rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.discount-main .skip-callout {
  padding: 1.35rem 1.45rem;
  border-width: 0;
  border-top-width: 2px;
  border-top-style: solid;
}

.discount-main table {
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.discount-main th {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

@media (max-width: 980px) {
  .reviews-hub-hero,
    .review-hero-grid,
    .discount-hero-grid {
    grid-template-columns: 1fr;
  }

  .reviews-hub-hero h1,
    .review-hero h1,
    .discount-hero h1 {
    max-width: 18ch;
  }

  .reviews-hub-hero-media,
    .review-hero-media,
    .discount-hero-media {
    width: min(100%, 760px);
  }

  .review-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .reviews-hub {
    padding: 5.5rem 1rem 3.5rem;
  }

  .reviews-hub-hero {
    gap: 2rem;
    padding: 1.5rem 0 4rem;
  }

  .reviews-hub-hero h1,
    .review-hero h1,
    .discount-hero h1 {
    max-width: none;
  }

  .reviews-hub-hero-media,
    .review-hero-media,
    .discount-hero-media {
    aspect-ratio: 4 / 3;
  }

  .review-cards {
    grid-template-columns: 1fr;
  }

  .review-card-meta {
    gap: 1rem;
  }

  .review-hero,
    .discount-hero {
    padding: 2rem 1rem 2.5rem;
  }

  .review-hero-grid,
    .discount-hero-grid {
    gap: 2rem;
  }

  .review-meta-bar {
    gap: 0.65rem 1rem;
  }

  .discount-code-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

body .reviews-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem 3rem;
  margin: clamp(3rem, 7vw, 5rem) 0;
  padding: clamp(1.75rem, 4vw, 2.5rem);
  border-width: 1px;
  border-style: solid;
  border-top-width: 2px;
  border-top-style: solid;
  text-align: left;
}

body .reviews-cta h2 {
  margin: 0 0 .55rem;
}

body .reviews-cta p {
  max-width: 55ch;
  margin: 0;
}

body .reviews-cta-links {
  display: grid;
  min-width: 190px;
  gap: .7rem;
}

body .reviews-cta .cta-link-primary,
body .reviews-cta .cta-link-secondary {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
}

body .reviews-cta .cta-link-primary {
  border-width: 1px;
  border-style: solid;
}

body .reviews-cta .cta-link-secondary {
  min-height: 44px;
  padding-block: .65rem;
  border-width: 0;
}

@media (max-width: 640px) {
  body .reviews-cta {
    grid-template-columns: 1fr;
  }

  body .reviews-cta-links {
    width: 100%;
    min-width: 0;
  }
}

html {
  scroll-behavior: auto;
}

:where(.guides-grid, .guide-topic-grid, .guide-link-grid, .article-visual-guide-grid,
       .vs-cards-grid, .discount-cards-grid, .partners-grid, .home-faq-grid,
       .review-hero-grid, .discount-hero-grid) > *,
:where(.guide-main, .faq-main, .review-main, .discount-main, .product-pick,
       .table-product, .product-cell) {
  min-width: 0;
}

:where(h1, h2, h3, p, a, td, th, figcaption) {
  overflow-wrap: break-word;
}

body.nav-open,
html.nav-open {
  overflow: hidden;
  overscroll-behavior: none;
}

@media (max-width: 1024px) {
  .navbar {
    position: sticky;
    top: 0;
    z-index: 1300;
    width: 100%;
    min-height: 68px;
    padding-top: env(safe-area-inset-top);
    padding-right: max(1.25rem, env(safe-area-inset-right));
    padding-left: max(1.25rem, env(safe-area-inset-left));
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .menu-toggle {
    position: relative;
    z-index: 1400;
    display: inline-flex;
    width: 48px;
    min-width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-right: -8px;
    padding: 12px;
    border-width: 0;
    cursor: pointer;
    touch-action: manipulation;
  }

  .menu-toggle span {
    width: 23px;
    height: 2px;
    flex: 0 0 auto;
    transform-origin: center;
  }

  .menu-toggle.active {
    position: fixed;
    top: calc(10px + env(safe-area-inset-top));
    right: max(1rem, env(safe-area-inset-right));
  }

  .menu-toggle.active span:nth-child(1) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .menu-toggle.active span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.active span:nth-child(3) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .nav-links {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1250;
    display: flex;
    width: min(360px, 91vw);
    height: 100vh;
    height: 100dvh;
    min-height: 100%;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding-top: calc(5.9rem + env(safe-area-inset-top));
    padding-right: max(1.4rem, env(safe-area-inset-right));
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
    padding-left: 1.4rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    clip-path: inset(0 0 0 100%);
    opacity: 1;
    pointer-events: none;
    transform: none;
    visibility: hidden;
  }

  .nav-links::before {
    content: 'Explore';
    display: block;
    padding: 0 0 1rem;
  }

  html[lang="de"] .nav-links::before {
    content: 'Entdecken';
  }

  html[lang="fr"] .nav-links::before {
    content: 'Découvrir';
  }

  .nav-links.active {
    right: 0;
    clip-path: inset(0);
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .nav-links li,
    .nav-links li:last-child {
    width: 100%;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .nav-links a,
    .nav-cta-item a {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    padding: .8rem .15rem;
    border-width: 0;
  }

  .nav-links a::after,
    .nav-cta-item a::after {
    content: '→';
    position: static;
    display: block;
    width: auto;
    height: auto;
    margin-left: 1rem;
    transform: none;
  }

  .nav-cta-item a::after {
    display: none;
  }

  .menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: block;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .menu-overlay.active {
    display: block;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

  :where(.cta-button, .btn-primary, .btn-secondary, .btn-review, .btn-buy,
           .table-buy-btn, .discount-cta, .region-btn, .faq-cta a,
           .article-pick-actions a, .guide-bottom-cta a, .reviews-cta a) {
    min-height: 48px;
    touch-action: manipulation;
  }

  .logo {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }

  .home-page .btn-review,
    .home-page .btn-buy,
    .product-pick-cta .btn-review,
    .product-pick-cta .btn-buy,
    .ranking-guide .table-buy-btn {
    min-height: 48px;
  }

  .home-page .copy-btn {
    width: 44px;
    min-width: 44px;
    height: 44px;
  }

  footer {
    padding-right: max(6%, env(safe-area-inset-right));
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
    padding-left: max(6%, env(safe-area-inset-left));
  }
}

@media (max-width: 640px) {
  .navbar {
    padding-right: max(1rem, env(safe-area-inset-right));
    padding-left: max(1rem, env(safe-area-inset-left));
  }

  .logo {
    max-width: calc(100vw - 88px);
    white-space: nowrap;
  }

  :where(.guide-main, .faq-main, .review-main, .discount-main) {
    width: 100%;
    padding-right: max(1rem, env(safe-area-inset-right));
    padding-left: max(1rem, env(safe-area-inset-left));
  }

  .article-visual-guide-grid,
    .guide-topic-grid,
    .guide-link-grid,
    .discount-cards-grid,
    .vs-cards-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .article-visual-guide-card img,
    .guide-card-image img,
    .article-visual img,
    .guide-image img {
    width: 100%;
    height: auto;
  }

  .faq-cta-actions,
    .article-pick-actions {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-cta-actions a,
    .article-pick-actions a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

body .reviews-hub > nav.breadcrumb {
  width: fit-content;
  margin: 0 0 clamp(2rem, 3vw, 2.75rem);
  padding: .55rem .8rem;
}

@media (max-width: 640px) {
  body .reviews-hub > nav.breadcrumb {
    margin: 0 0 1.5rem;
    padding: .45rem .65rem;
  }
}

body .article-visual-guide-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.hub-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1.35rem;
}

.hub-shortcuts a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: .55rem .8rem;
  border-width: 1px;
  border-style: solid;
}

.hub-shortcuts a::after {
  content: '↓';
  margin-left: .55rem;
}

.reviews-hub-mosaic-grid {
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  grid-template-rows: 1fr 1fr;
  gap: 2px;
}

.reviews-hub-mosaic-grid img {
  min-width: 0;
  min-height: 0;
}

.reviews-hub-mosaic-grid img:first-child {
  grid-row: 1 / -1;
}

.review-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.review-card-link.featured {
  position: relative;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
  grid-template-rows: auto auto auto 1fr auto;
}

.review-card-link.featured .review-card-media {
  grid-row: 1 / -1;
  aspect-ratio: auto;
  border-right-width: 1px;
  border-right-style: solid;
  border-bottom-width: 0;
}

.review-card-link.featured .review-card-top,
.review-card-link.featured h3,
.review-card-link.featured .review-card-type,
.review-card-link.featured .review-card-summary,
.review-card-link.featured .review-card-meta {
  grid-column: 2;
}

.review-cards > :only-child {
  grid-column: 1 / -1;
  max-width: 620px;
}

.home-page .comparison-section {
  padding-top: clamp(4.75rem, 7vw, 6.5rem);
}

.table-tools {
  display: flex;
  max-width: 1320px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 auto 1rem;
  padding: 0.25rem 0.1rem;
}

.table-filter {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.table-filter button {
  min-height: 48px;
  padding: .65rem .9rem;
  border-width: 1px;
  border-style: solid;
  cursor: pointer;
}

.table-filter-status {
  margin: 0;
}

.comparison-table tr[hidden] {
  display: none !important;
}

@media (max-width: 1024px) {
  body.nav-open .navbar .nav-links {
    padding-top: 6rem !important;
    scroll-padding-top: 6rem;
  }
}

@media (max-width: 640px) {
  body .article-visual-guide-card img {
    height: 100%;
    min-height: 110px;
    aspect-ratio: 4 / 3;
  }

  .reviews-hub {
    padding: 1.25rem 1rem 3.5rem;
  }

  .reviews-hub .breadcrumb {
    margin-bottom: 1.5rem;
  }

  .reviews-hub-hero {
    gap: 1.4rem;
    padding: 0 0 3rem;
  }

  .reviews-hub-hero-media {
    aspect-ratio: 16 / 9;
  }

  .hub-shortcuts {
    gap: .4rem;
    margin-top: 1rem;
  }

  .hub-shortcuts a {
    min-height: 48px;
    flex: 1 1 auto;
    justify-content: space-between;
  }

  .review-card-link.featured {
    display: block;
    grid-column: auto;
  }

  .review-card-link.featured .review-card-media {
    aspect-ratio: 16 / 10;
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .table-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .table-filter {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .table-filter button {
    width: 100%;
  }

  .home-page .comparison-section {
    padding-top: 3.75rem;
  }

  .review-cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

.nav-links a[data-language="en"] {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  white-space: nowrap;
}

.nav-links a[data-language="en"]::after {
  content: "EN";
  position: static;
  display: inline-flex;
  width: auto;
  height: auto;
  margin: 0;
  padding: .08rem .28rem;
  border-width: 1px;
  border-style: solid;
  opacity: .72;
  vertical-align: .15em;
}

.home-tools-strip {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 6vw, 6rem);
  width: min(1200px, 90vw);
  margin: clamp(4rem, 8vw, 7rem) auto;
  padding: clamp(2rem, 4vw, 3.5rem) 0;
  border-top-width: 0;
  border-bottom-width: 0;
}

.home-tools-intro h2 {
  max-width: 12ch;
  margin: .65rem 0 1rem;
}

.home-tools-intro p {
  max-width: 42ch;
  margin: 0;
}

.home-tools-links {
  border-top-width: 0;
  border-width: 1px;
  border-style: solid;
  padding: 0.35rem 0;
}

.home-tools-links a {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  min-height: 82px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.home-tools-links a:first-child {
  border-top-width: 0;
}

.home-tools-links span {
  display: grid;
  gap: .2rem;
}

.home-tools-links i {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-width: 1px;
  border-style: solid;
}

@media (max-width: 760px) {
  .home-tools-strip {
    grid-template-columns: 1fr;
    gap: 2rem;
    width: 100%;
    padding: 2.5rem 5vw;
  }

  .home-tools-intro h2 {
    max-width: 15ch;
  }
}

.guide-nav {
  position: relative;
  padding: 1.2rem 6%;
}

.guide-hero {
  padding: 3rem 6% 3.5rem;
}

.guide-hero-content {
  max-width: 800px;
}

.guide-badge {
  display: inline-block;
  padding: 0.4rem 1rem;
  margin-bottom: 1rem;
}

.guide-hero h1 {
  margin-bottom: 0.75rem;
}

.guide-tagline {
  margin-bottom: 1.5rem;
  max-width: 650px;
}

.guide-meta {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.guide-meta span::before {
  content: "\00B7";
  margin-right: 0.5rem;
}

.guide-meta span:first-child::before {
  display: none;
}

.guide-content-wrapper {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3rem;
  padding: 3rem 6%;
  max-width: 1400px;
  margin: 0 auto;
}

.guide-main {
  min-width: 0;
  overflow-x: hidden;
  max-width: 100%;
}

.guide-section {
  margin-bottom: 2.5rem;
}

.guide-section h2 {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.guide-section h3 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.guide-section p {
  margin-bottom: 1rem;
}

.guide-figure {
  margin: 1.5rem 0 2rem;
}

.guide-figure img {
  display: block;
  width: 100%;
  max-height: 560px;
  object-fit: cover;
  border-width: 1px;
  border-style: solid;
}

.guide-figure figcaption {
  margin-top: 0.65rem;
}

.guide-section ul,
.guide-section ol {
  margin: 1rem 0 1.5rem;
  padding-left: 1.5rem;
}

.guide-section li {
  margin-bottom: 0.5rem;
}

.guide-image {
  margin: 2rem 0;
  overflow: hidden;
}

.guide-image img {
  width: 100%;
  height: auto;
  display: block;
}

.guide-image figcaption {
  padding: 0.75rem 1rem;
  text-align: center;
}

.guide-takeaway {
  padding: 2rem;
  margin: 2rem 0;
  border-left-width: 5px;
  border-left-style: solid;
}

.guide-takeaway h2,
.guide-takeaway h3 {
  margin-bottom: 0.75rem;
  border-bottom-style: none;
  padding-bottom: 0;
}

.guide-takeaway h2::before,
.guide-takeaway h3::before {
  content: '\26A1';
  margin-right: 0.5rem;
}

.guide-takeaway ul {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
}

.guide-takeaway li {
  margin-bottom: 0.25rem;
}

.product-pick {
  padding: 1.75rem;
  margin: 1.5rem 0;
  border-width: 2px;
  border-style: solid;
}

.product-pick.editors-choice {
  position: relative;
}

.product-pick.editors-choice::before {
  content: "Editor's Choice";
  position: absolute;
  top: -10px;
  left: 20px;
  padding: 0.2rem 0.8rem;
}

.product-pick-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.product-pick-score {
  padding: 0.3rem 0.7rem;
}

.product-pick-meta {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.product-pick-meta span {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.product-pick-desc {
  margin-bottom: 1rem;
}

.product-pick-pros {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.25rem;
}

.product-pick-pros li {
  padding-left: 1.25rem;
  position: relative;
  margin-bottom: 0;
}

.product-pick-pros li::before {
  content: '\2713';
  position: absolute;
  left: 0;
}

.product-pick-cta {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

.product-pick-cta .btn-review {
  display: inline-block;
  padding: 0.6rem 1.25rem;
}

.product-pick-cta .btn-buy {
  display: inline-block;
  padding: 0.6rem 1.25rem;
}

.discount-code-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.9rem;
  white-space: nowrap;
}

.discount-code-tag code {
  padding: 0.15rem 0.5rem;
}

.table-discount-code {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  white-space: nowrap;
}

.table-discount-code code {
  padding: 0.1rem 0.3rem;
}

.table-product-link {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.table-buy-btn {
  display: inline-block;
  padding: 0.3rem 0.75rem;
  white-space: nowrap;
}

.table-cta-cell {
  text-align: center;
}

.guide-table-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.5rem 0 -.5rem;
}

.guide-table-filter {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.guide-table-filter button {
  min-height: 48px;
  padding: .65rem .9rem;
  border-width: 1px;
  border-style: solid;
  cursor: pointer;
}

.guide-table-filter-status {
  margin: 0;
  text-align: right;
}

.guide-comparison-table tr[hidden] {
  display: none !important;
}

.guide-comparison-table {
  overflow-x: auto;
  margin: 2rem 0;
  border-width: 1px;
  border-style: solid;
}

.guide-comparison-table table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1060px;
}

.guide-comparison-table th,
.guide-comparison-table td {
  padding: 1rem .85rem;
  text-align: left;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.ranking-guide .guide-content-wrapper {
  grid-template-columns: minmax(0, 1fr);
  max-width: 1400px;
}

.ranking-guide .guide-main > * {
  max-width: 780px;
  margin-inline: auto;
}

.ranking-guide .guide-main > #comparison {
  max-width: 1200px;
}

.ranking-guide .guide-sidebar {
  position: static;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.ranking-guide .guide-sidebar .sidebar-card {
  margin: 0;
}

.table-product {
  display: flex;
  min-width: 220px;
  align-items: center;
  gap: .8rem;
}

.table-product img {
  width: 76px;
  height: 58px;
  flex: 0 0 auto;
  border-width: 1px;
  border-style: solid;
  object-fit: cover;
}

.table-status {
  display: block;
  margin-top: .3rem;
}

.table-region-links {
  display: grid;
  min-width: 72px;
  gap: .35rem;
}

.table-buy-secondary {
  border-width: 1px;
  border-style: solid;
}

.guide-steps {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.guide-steps li {
  position: relative;
  padding-left: 3.5rem;
  margin-bottom: 1.5rem;
  min-height: 2.5rem;
}

.guide-steps li::before {
  content: counter(step-counter);
  position: absolute;
  left: 0;
  top: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.guide-callout {
  border-width: 1px;
  border-style: solid;
  padding: 1.5rem;
  margin: 1.5rem 0;
}

.guide-callout p {
  margin: 0;
}

.guide-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: sticky;
  top: 2rem;
  align-self: start;
}

.guide-sidebar .sidebar-card {
  padding: 1.5rem;
  border-width: 1px;
  border-style: solid;
}

.guide-sidebar .sidebar-card h3 {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

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

.toc-list li {
  margin-bottom: 0;
}

.toc-list a {
  display: block;
  padding: 0.4rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.guide-sidebar .cta-card {
  text-align: center;
}

.guide-sidebar .cta-card p {
  margin-bottom: 1rem;
}

.guide-sidebar .cta-card .btn-cta {
  display: block;
  padding: 0.75rem 1rem;
}

.guide-sidebar .related-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.guide-sidebar .related-list a {
  display: block;
  padding: 0.6rem 0.75rem;
}

.guides-hub {
  padding-top: 100px;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

.guides-hub-hero {
  text-align: center;
  padding: 3rem 0;
}

.guides-hub-hero h1 {
  margin-bottom: 1rem;
}

.guides-hub-hero p {
  max-width: 600px;
  margin: 0 auto;
}

.guides-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 1.5rem;
  margin-bottom: 4rem;
}

.guide-card {
  overflow: hidden;
  border-width: 2px;
  border-style: solid;
}

.guide-card-image {
  height: 200px;
  overflow: hidden;
}

.guide-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guide-card-body {
  padding: 1.5rem;
}

.guide-card-badge {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  margin-bottom: 0.75rem;
}

.guide-card h2 {
  margin-bottom: 0.5rem;
}

.guide-card-meta {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

.guide-faq {
  margin: 2.5rem 0;
}

.guide-faq h2 {
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.guide-faq .faq-item {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.guide-faq .faq-item:last-child {
  border-bottom-style: none;
}

.guide-faq .faq-item h3 {
  margin-bottom: 0.5rem;
}

.guide-faq .faq-item p {
  margin: 0;
}

.guide-bottom-cta {
  padding: 2.5rem;
  margin: 2.5rem 0;
  text-align: center;
}

.guide-bottom-cta h2 {
  margin-bottom: 1rem;
  border-bottom-style: none;
  padding-bottom: 0;
}

.guide-bottom-cta p {
  margin-bottom: 1.5rem;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.guide-bottom-cta .cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.guide-bottom-cta .btn-primary {
  display: inline-block;
  padding: 0.75rem 1.75rem;
}

.guide-bottom-cta .btn-secondary {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  border-width: 1px;
  border-style: solid;
}

@media (max-width: 900px) {
  .guide-content-wrapper {
    grid-template-columns: 1fr;
  }

  .guide-sidebar {
    position: relative;
    top: 0;
  }

  .ranking-guide .guide-sidebar {
    grid-template-columns: 1fr;
  }

  .product-pick-pros {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .guide-hero {
    padding: 2.5rem 5% 3rem;
  }

  .guide-content-wrapper {
    padding: 2rem 4%;
  }

  .guide-meta {
    flex-direction: column;
    gap: 0.25rem;
  }

  .guide-meta span::before {
    display: none;
  }

  .guides-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 375px) {
  .guide-takeaway {
    padding: 1.25rem;
  }

  .product-pick {
    padding: 1.25rem;
  }

  .guide-bottom-cta {
    padding: 1.5rem;
  }
}

@media (pointer: coarse) {
  .product-pick-cta .btn-review,
    .product-pick-cta .btn-buy,
    .guide-bottom-cta .btn-primary,
    .guide-bottom-cta .btn-secondary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

.guides-hub {
  max-width: none;
  padding: 0;
}

.guides-hub > .breadcrumb,
.guides-hub > section {
  width: min(1180px, 90vw);
  margin-inline: auto;
}

.guides-hub > .breadcrumb {
  width: fit-content;
  margin: 1.15rem max(5vw, calc((100vw - 1180px) / 2));
  padding: .55rem .8rem;
}

.guides-hub-hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  align-items: stretch;
  gap: 0;
  width: min(1180px, 90vw);
  min-height: 520px;
  margin: 0 auto clamp(4rem, 8vw, 7rem);
  padding: 0;
  text-align: left;
}

.guides-hub-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(2rem, 5vw, 5rem);
}

.guides-hub-hero h1 {
  max-width: 10ch;
  margin: 0 0 1.25rem;
}

.guides-hub-hero-copy > p {
  max-width: 48ch;
  margin: 0;
}

.guides-hub-hero .guides-hub-byline {
  margin-top: 1.5rem;
}

.guides-hub-hero-media {
  position: relative;
  min-height: 520px;
  margin: 0;
  overflow: hidden;
}

.guides-hub-hero-media::after {
  content: '';
  position: absolute;
  inset: 0;
}

.guides-hub-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guides-hub-hero-media figcaption {
  position: absolute;
  z-index: 1;
  right: 1.25rem;
  bottom: 1.1rem;
  left: 1.25rem;
}

.guides-hub > section {
  margin-bottom: clamp(4rem, 7vw, 7rem);
}

.guides-hub .section-label {
  margin-bottom: 1.7rem !important;
  padding: 0 0 .85rem !important;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.guides-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 0;
  border-width: 1px;
  border-style: solid;
}

.guide-card {
  border-width: 0;
}

.guide-card:hover {
  border-width: 0;
}

.guide-card-image {
  height: auto;
  aspect-ratio: 16 / 10;
}

.guide-card-body {
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.guide-card-badge {
  padding: 0;
}

.guide-card h2 {
  margin: 0 0 .7rem;
}

.guide-card-meta {
  padding-top: .9rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.guide-link-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 3rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.guide-link-grid a {
  display: flex !important;
  min-height: 82px;
  align-items: center;
  padding: 1rem 1.1rem !important;
  border-right-width: 1px;
  border-right-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.guide-link-grid a::after {
  content: '→';
  margin-left: auto;
  padding-left: .75rem;
}

.guide-topic-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 3.5rem;
  border-width: 1px;
  border-style: solid;
}

.guide-topic-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
}

.guide-topic-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.guide-topic-card > span {
  display: flex;
  min-height: 132px;
  flex-direction: column;
  justify-content: space-between;
  gap: .8rem;
  padding: 1.2rem;
}

.guide-hero {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  display: grid;
  align-items: end;
  padding: clamp(4rem, 8vw, 7rem) max(6vw, calc((100vw - 1180px) / 2)) 3.5rem;
}

.guide-hero-content {
  max-width: 780px;
}

.guide-badge {
  padding: .35rem .6rem;
  border-width: 1px;
  border-style: solid;
}

.guide-hero h1 {
  max-width: 17ch;
  margin-bottom: 1rem;
}

.guide-tagline {
  max-width: 58ch;
}

.guide-content-wrapper {
  grid-template-columns: minmax(0, 760px) minmax(240px, 300px);
  justify-content: center;
  gap: clamp(2.5rem, 6vw, 6rem);
  padding: clamp(3.5rem, 7vw, 7rem) max(5vw, 2rem);
}

.guide-section {
  margin-bottom: 3.5rem;
}

.guide-section h2,
.guide-faq h2 {
  margin-bottom: 1.25rem;
  padding: 0 0 .8rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.guide-image {
  margin: 3rem 0;
}

.guide-image figcaption {
  padding: .75rem 0;
  text-align: left;
}

.guide-takeaway,
.guide-callout {
  padding: 1.6rem;
  border-width: 1px;
  border-style: solid;
  border-left-width: 3px;
  border-left-style: solid;
}

.guide-takeaway h2::before,
.guide-takeaway h3::before {
  content: none;
}

.product-pick {
  border-width: 1px;
  border-style: solid;
}

.guide-sidebar .sidebar-card {
  border-width: 1px;
  border-style: solid;
}

@media (max-width: 900px) {
  .guides-hub-hero {
    grid-template-columns: 1fr;
  }

  .guides-hub-hero-media {
    min-height: 360px;
    order: -1;
  }

  .guides-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guide-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guide-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .guides-hub-hero {
    width: 100%;
    min-height: 0;
  }

  .guides-hub-hero-media {
    min-height: 285px;
  }

  .guides-hub-hero-copy {
    padding: 2.2rem 5vw 2.8rem;
  }

  .guides-grid,
    .guide-link-grid,
    .guide-topic-grid {
    grid-template-columns: 1fr;
  }

  .guide-hero {
    min-height: 480px;
    padding: 5rem 5vw 2.75rem;
  }
}

@media (max-width: 620px) {
  .guides-hub-hero {
    margin-bottom: 3.25rem;
  }

  .guides-hub-hero-copy {
    order: -1;
    justify-content: flex-start;
    padding: 1.6rem 5vw 2rem;
  }

  .guides-hub-hero-media {
    height: 220px;
    min-height: 220px;
    max-height: 220px;
    order: 0;
  }
}

.product-pick-caution {
  border-top-width: 3px;
  border-top-style: solid;
}

.product-pick-cta {
  display: grid;
  grid-template-columns: auto auto minmax(132px, 1fr) minmax(132px, 1fr);
  align-items: center;
  gap: .7rem;
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.discount-code-tag {
  padding: .3rem 0;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.product-pick-cta .btn-review,
.product-pick-cta .btn-buy,
.table-buy-btn {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: .7rem .95rem;
}

.product-pick-cta .btn-review {
  border-width: 1px;
  border-style: solid;
}

.product-pick-cta .btn-buy,
.table-buy-btn {
  border-width: 1px;
  border-style: solid;
}

.product-pick-cta .btn-buy::after,
.table-buy-btn::after {
  content: '→';
  margin-left: .45rem;
}

.guide-bottom-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 1rem 2.5rem;
  margin: 4rem 0;
  padding: clamp(1.75rem, 4vw, 2.5rem);
  border-width: 1px;
  border-style: solid;
  border-top-width: 2px;
  border-top-style: solid;
  text-align: left;
}

.guide-bottom-cta h2 {
  grid-column: 1;
  max-width: 20ch;
  margin: 0 0 .6rem;
}

.guide-bottom-cta p {
  grid-column: 1;
  max-width: 55ch;
  margin: 0;
}

.guide-bottom-cta .cta-buttons {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  min-width: 190px;
  gap: .7rem;
}

.guide-bottom-cta .btn-primary,
.guide-bottom-cta .btn-secondary {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
}

.guide-bottom-cta .btn-primary {
  border-width: 1px;
  border-style: solid;
}

.guide-bottom-cta .btn-secondary {
  min-height: auto;
  padding-block: .4rem;
  border-width: 0;
}

@media (max-width: 720px) {
  .product-pick-cta,
    .guide-bottom-cta {
    grid-template-columns: 1fr;
  }

  .product-pick-cta .btn-review,
    .product-pick-cta .btn-buy {
    width: 100%;
  }

  .guide-bottom-cta .cta-buttons {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    min-width: 0;
  }

  .guide-bottom-cta .btn-secondary {
    min-height: 48px;
    padding-block: .7rem;
  }
}

@media (max-width: 900px) {
  .guide-content-wrapper {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
    padding-inline: max(4vw, 1rem);
  }

  .guide-sidebar {
    position: static;
    width: 100%;
  }
}

@media (max-width: 700px) {
  .guide-table-tools {
    align-items: stretch;
    flex-direction: column;
    margin-top: 1.25rem;
  }

  .guide-table-filter {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guide-table-filter button {
    width: 100%;
  }

  .guide-table-filter-status {
    text-align: left;
  }

  .ranking-guide .guide-main > #comparison {
    width: 100%;
    max-width: none;
  }

  .ranking-guide .guide-comparison-table {
    overflow: visible;
    border-width: 0;
  }

  .ranking-guide .guide-comparison-table table,
    .ranking-guide .guide-comparison-table tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .ranking-guide .guide-comparison-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border-width: 0;
  }

  .ranking-guide .guide-comparison-table tbody {
    display: grid;
    gap: .9rem;
  }

  .ranking-guide .guide-comparison-table tbody tr,
    .ranking-guide .guide-comparison-table tbody tr:nth-child(even),
    .ranking-guide .guide-comparison-table tbody tr:hover {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 .9rem;
    width: 100%;
    padding: 1rem;
    border-width: 1px;
    border-style: solid;
    border-top-width: 3px;
    border-top-style: solid;
  }

  .ranking-guide .guide-comparison-table td {
    display: grid;
    min-width: 0;
    gap: .18rem;
    align-content: start;
    padding: .65rem 0;
    border-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .ranking-guide .guide-comparison-table td:nth-child(1)::before {
    content: 'Rank';
  }

  .ranking-guide .guide-comparison-table td:nth-child(3)::before {
    content: 'Score';
  }

  .ranking-guide .guide-comparison-table td:nth-child(4)::before {
    content: 'Price';
  }

  .ranking-guide .guide-comparison-table td:nth-child(5)::before {
    content: 'Type';
  }

  .ranking-guide .guide-comparison-table td:nth-child(6)::before {
    content: 'Best for';
  }

  .ranking-guide .guide-comparison-table td:nth-child(7)::before {
    content: 'Discount';
  }

  .ranking-guide .guide-comparison-table td:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 1;
    padding-top: 0;
  }

  .ranking-guide .guide-comparison-table td:nth-child(1) {
    grid-row: 2;
  }

  .ranking-guide .guide-comparison-table td:nth-child(7) {
    grid-column: 1 / -1;
    border-bottom-width: 0;
  }

  .ranking-guide .guide-comparison-table td:last-child {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    padding: .7rem 0 0;
    border-bottom-width: 0;
  }

  .ranking-guide .guide-comparison-table td:last-child > :only-child {
    grid-column: 1 / -1;
  }

  .ranking-guide .guide-comparison-table .region-buttons,
    .ranking-guide .guide-comparison-table .table-region-links {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
  }

  .ranking-guide .guide-comparison-table .region-buttons > *,
    .ranking-guide .guide-comparison-table .table-region-links > * {
    width: 100%;
    min-width: 0;
  }

  .ranking-guide .guide-comparison-table td:last-child::before {
    display: none;
  }

  .ranking-guide .guide-comparison-table .table-product {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;
    gap: .8rem;
  }

  .ranking-guide .guide-comparison-table .table-product img {
    width: 82px;
    height: 62px;
    object-fit: cover;
  }

  .ranking-guide .guide-comparison-table .table-buy-btn,
    .ranking-guide .guide-comparison-table .btn-review {
    width: 100%;
    min-height: 48px;
  }

  .guide-comparison-table:not(.ranking-guide .guide-comparison-table) {
    max-width: 100%;
    overscroll-behavior-inline: contain;
    touch-action: pan-x pan-y;
  }
}

@media (max-width: 768px) {
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(1),
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(4),
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(5),
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(6) {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(2),
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(3) {
    grid-column: auto;
    grid-row: auto;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(1)::before { content: 'Mattress'; }
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(2)::before { content: 'Price'; }
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(3)::before { content: 'Format'; }
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(4)::before { content: 'Why shortlist'; }
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(5)::before { content: 'Code'; }
  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table td:nth-child(6)::before { display: none; }

  body[data-design="cinematic-camp-v1"].ranking-guide #price-snapshot .price-ladder-table .table-product {
    min-width: 0;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide #comparison .tier-comparison-table td {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide #comparison .tier-comparison-table td:nth-child(1)::before { content: 'Decision factor'; }
  body[data-design="cinematic-camp-v1"].ranking-guide #comparison .tier-comparison-table td:nth-child(2)::before { content: 'NovaPads · $239'; }
  body[data-design="cinematic-camp-v1"].ranking-guide #comparison .tier-comparison-table td:nth-child(3)::before { content: 'Havnby · $509 sale'; }
  body[data-design="cinematic-camp-v1"].ranking-guide #comparison .tier-comparison-table td:nth-child(4)::before { content: 'Snuuzu · $899'; }

  body[data-design="cinematic-camp-v1"].ranking-guide #comparison .tier-comparison-table td:last-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding-top: .65rem;
    border-bottom-width: 0;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide #comparison .tier-comparison-table td:last-child::before {
    display: block;
  }
}

.rockbrook-editorial-page > .skip-link {
  position: fixed;
  z-index: 1000;
  top: .75rem;
  left: .75rem;
  padding: .65rem .9rem;
}

.rockbrook-editorial-page .guide-nav {
  position: relative;
  width: 100%;
}

.rb-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: min(1280px, 100%);
  min-height: 650px;
  margin: 0 auto;
}

.rb-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(2.5rem, 6vw, 6rem);
}

.rb-breadcrumb {
  display: flex;
  gap: .48rem;
  align-items: center;
  min-width: 0;
  margin-bottom: clamp(2rem, 5vw, 4rem);
  white-space: nowrap;
}

.rb-breadcrumb span:last-child {
  overflow: hidden;
}

.rb-hero h1 {
  max-width: 12ch;
  margin: .7rem 0 1.3rem;
}

.rb-dek {
  max-width: 53ch;
  margin: 0;
}

.rb-byline {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1rem;
  margin-top: 1.65rem;
}

.rb-disclosure {
  max-width: 58ch;
  margin: 1.2rem 0 0;
  padding-top: 1rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.rb-hero-media {
  position: relative;
  min-width: 0;
  min-height: 650px;
  margin: 0;
  overflow: hidden;
}

.rb-hero-media::after {
  content: '';
  position: absolute;
  inset: 0;
}

.rb-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 650px;
  display: block;
  object-fit: cover;
}

.rb-hero-media figcaption {
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: 1rem;
  max-width: calc(100% - 2rem);
  padding: .55rem .72rem;
}

.rb-layout {
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(230px, 290px);
  gap: clamp(3rem, 8vw, 8rem);
  justify-content: space-between;
  width: min(1120px, 90vw);
  margin: clamp(4rem, 8vw, 8rem) auto;
}

.rb-article {
  min-width: 0;
}

.rb-article > p,
.rb-article > ul,
.rb-article > ol {
  max-width: 69ch;
}

.rb-article p {
  margin: 0 0 1.25rem;
}

.rb-article h2 {
  max-width: 24ch;
  margin: clamp(3.8rem, 7vw, 6.2rem) 0 1.2rem;
}

.rb-article h3 {
  margin: 2.25rem 0 .75rem;
}

.rb-section {
  margin-top: clamp(4rem, 7vw, 6.5rem);
}

.rb-section > .rb-section-label {
  display: inline-block;
}

.rb-section > .rb-section-label + h2 {
  margin-top: .55rem;
}

.rb-verdict {
  display: grid;
  grid-template-columns: minmax(140px, .55fr) minmax(0, 1.45fr);
  gap: .35rem clamp(1.5rem, 4vw, 3.5rem);
  padding-bottom: 2.7rem;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.rb-verdict > span {
  grid-column: 1;
}

.rb-verdict h2 {
  grid-column: 1;
  margin: .35rem 0 0;
}

.rb-verdict p {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
}

.rb-table-scroll,
.rb-table-wrap {
  margin: 2rem 0 3.5rem;
  border-top-width: 2px;
  border-top-style: solid;
}

.rb-comparison-table,
.rb-compare-table {
  width: 100%;
  border-collapse: collapse;
}

.rb-comparison-table th,
.rb-comparison-table td,
.rb-compare-table th,
.rb-compare-table td {
  padding: .95rem .75rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-align: left;
  vertical-align: top;
}

.rb-pick-list {
  display: grid;
  gap: 0;
  margin: 2rem 0 4rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.rb-pick-list > article {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: .25rem 1.4rem;
  padding: 1.35rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.rb-pick-list > article > span {
  grid-row: 1 / span 2;
}

.rb-pick-list > article h3,
.rb-pick-list > article p {
  margin: 0;
}

.rb-pick {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 1.2rem;
  align-items: start;
  padding: 1.3rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.rb-pick-number {
  display: grid;
  width: 2.3rem;
  height: 2.3rem;
  place-items: center;
  border-width: 1px;
  border-style: solid;
}

.rb-pick h3 {
  margin: 0 0 .35rem;
}

.rb-pick p {
  margin: 0;
}

.rb-pick a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: .68rem .85rem;
}

.rb-figure {
  margin: 2.6rem 0 4.5rem;
}

.rb-figure img {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.rb-figure.is-square img {
  aspect-ratio: 4 / 3;
}

.rb-figure figcaption {
  padding: .72rem 0 0;
}

.rb-image-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 2.6rem 0 4.5rem;
}

.rb-image-pair .rb-figure {
  margin: 0;
  padding: 1rem;
}

.rb-image-pair .rb-figure img {
  aspect-ratio: 4 / 3;
}

.rb-pros-cons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 2rem 0 4rem;
  border-width: 1px;
  border-style: solid;
}

.rb-pros-cons > div {
  padding: 1.5rem;
}

.rb-pros-cons h3 {
  margin-top: 0;
}

.rb-pros-cons ul,
.rb-checklist,
.rb-check-list {
  margin: .8rem 0 0;
  padding-left: 1.2rem;
}

.rb-pros-cons li,
.rb-checklist li,
.rb-check-list li {
  margin: .55rem 0;
}

.rb-inline-cta {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: .9rem;
  margin-top: .4rem;
  padding: .85rem 1.1rem;
}

.rb-callout,
.rb-source-note {
  margin: 2.4rem 0;
  padding: 1.35rem 1.5rem;
}

.rb-faq {
  margin-top: clamp(5rem, 9vw, 8rem);
}

.rb-faq h2,
.rb-related h2 {
  margin-top: .45rem;
}

.rb-faq details {
  border-top-width: 1px;
  border-top-style: solid;
}

.rb-faq details:last-of-type {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.rb-faq summary {
  position: relative;
  min-height: 58px;
  padding: 1rem 2.5rem 1rem 0;
  cursor: pointer;
  list-style: none;
}

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

.rb-faq summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: .25rem;
  transform: translateY(-50%);
}

.rb-faq details[open] summary::after {
  content: '−';
}

.rb-faq details p {
  max-width: 62ch;
  padding: 0 2.5rem 1.35rem 0;
}

.rb-final-cta {
  margin: clamp(5rem, 9vw, 8rem) 0;
  padding: clamp(2.2rem, 5vw, 3.7rem);
}

.rb-final-cta h2 {
  max-width: 16ch;
  margin: .55rem 0 1rem;
}

.rb-final-cta p {
  max-width: 56ch;
}

.rb-final-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}

.rb-primary-cta,
.rb-secondary-cta {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .82rem 1.15rem;
  border-width: 1px;
  border-style: solid;
}

.rb-related {
  margin: clamp(5rem, 9vw, 8rem) 0;
}

.rb-related-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 1.75rem;
}

.rb-related-grid a {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 1rem;
  align-items: center;
  min-height: 132px;
  padding: .85rem;
}

.rb-related-grid img {
  width: 112px;
  height: 112px;
  object-fit: cover;
}

.rb-related-grid small {
  display: block;
  margin-bottom: .3rem;
}

.rb-author {
  padding-top: 1.7rem;
  border-top-width: 2px;
  border-top-style: solid;
}

.rb-author p {
  max-width: 64ch;
  margin: .5rem 0;
}

.rb-sidebar-inner {
  position: sticky;
  top: 5.5rem;
  padding-top: 1.3rem;
  border-top-width: 2px;
  border-top-style: solid;
}

.rb-sidebar h2 {
  margin: .45rem 0 1.2rem;
}

.rb-sidebar dl {
  margin: 0;
}

.rb-sidebar dl > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .7rem;
  padding: .78rem 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.rb-sidebar dd {
  margin: 0;
  text-align: right;
}

.rb-sidebar p {
  margin: 1rem 0;
}

.rb-sidebar-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

@media (max-width: 920px) {
  .rb-hero {
    grid-template-columns: 1fr;
  }

  .rb-hero-copy {
    order: 1;
  }

  .rb-hero-media {
    order: 2;
    min-height: 420px;
  }

  .rb-hero-media img {
    min-height: 420px;
  }

  .rb-layout {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }

  .rb-sidebar {
    grid-row: 1;
  }

  .rb-sidebar-inner {
    position: static;
    display: grid;
    grid-template-columns: minmax(170px, .7fr) minmax(0, 1.3fr);
    gap: .7rem 2rem;
  }

  .rb-sidebar-inner > .rb-section-label,
    .rb-sidebar-inner > h2,
    .rb-sidebar-inner > p,
    .rb-sidebar-inner > .rb-sidebar-link {
    grid-column: 1;
  }

  .rb-sidebar-inner > dl {
    grid-column: 2;
    grid-row: 1 / span 5;
  }
}

@media (max-width: 720px) {
  .rb-hero {
    min-height: 0;
  }

  .rb-hero-media,
    .rb-hero-media img {
    min-height: 300px;
  }

  .rb-hero-copy {
    padding: 2.5rem 5vw 3rem;
  }

  .rb-breadcrumb {
    margin-bottom: 2.2rem;
  }

  .rb-hero h1 {
    max-width: 14ch;
  }

  .rb-layout {
    width: 100%;
    margin: 3.5rem auto 5rem;
    padding-inline: 5vw;
  }

  .rb-sidebar-inner {
    display: block;
  }

  .rb-verdict {
    grid-template-columns: 1fr;
  }

  .rb-verdict > span,
    .rb-verdict h2,
    .rb-verdict p {
    grid-column: 1;
    grid-row: auto;
  }

  .rb-verdict p {
    margin-top: 1rem;
  }

  .rb-comparison-table,
    .rb-comparison-table tbody,
    .rb-comparison-table tr,
    .rb-comparison-table td,
    .rb-compare-table,
    .rb-compare-table tbody,
    .rb-compare-table tr,
    .rb-compare-table td {
    display: block;
    width: 100%;
  }

  .rb-comparison-table thead,
    .rb-compare-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .rb-comparison-table tr,
    .rb-compare-table tr {
    margin-bottom: 1rem;
    border-width: 1px;
    border-style: solid;
  }

  .rb-comparison-table td,
    .rb-compare-table td {
    display: grid;
    grid-template-columns: minmax(98px, .45fr) minmax(0, 1fr);
    gap: .8rem;
    padding: .78rem;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .rb-comparison-table td:last-child,
    .rb-compare-table td:last-child {
    border-bottom-width: 0;
  }

  .rb-comparison-table td::before,
    .rb-compare-table td::before {
    content: attr(data-label);
  }

  .rb-pick {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .rb-pick a {
    grid-column: 2;
    width: fit-content;
  }

  .rb-pros-cons,
    .rb-related-grid,
    .rb-image-pair {
    grid-template-columns: 1fr;
  }

  .rb-pick-list > article {
    grid-template-columns: 1fr;
  }

  .rb-pick-list > article > span {
    grid-row: auto;
  }

  .rb-final-cta {
    margin-inline: -5vw;
    padding-inline: 5vw;
  }

  .rb-final-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .rb-related-grid a {
    grid-template-columns: 84px 1fr;
    min-height: 104px;
  }

  .rb-related-grid img {
    width: 84px;
    height: 84px;
  }
}

@media (max-width: 420px) {
  .rb-hero-media,
    .rb-hero-media img {
    min-height: 250px;
  }
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 36rem;
  align-items: center;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 7rem) calc(50vw + 2.5rem) clamp(3.5rem, 6vw, 5rem)
        max(var(--tm-gutter), calc((100vw - 82rem) / 2));
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0 50% 0 0;
  content: '';
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0 0 0 auto;
  width: 47.5%;
  content: '';
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero-content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 42rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero .breadcrumb {
  display: flex;
  width: auto;
  max-width: 100%;
  flex-wrap: wrap;
  gap: .3rem .45rem;
  padding: 0 0 .75rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-badge {
  margin: 1.35rem 0 .8rem;
  padding: .1rem 0 .1rem .75rem;
  border-width: 0;
  border-left-width: 3px;
  border-left-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero h1 {
  max-width: 12ch;
  margin: .55rem 0 1.1rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-quick-nav {
  display: grid;
  max-width: 780px;
  grid-template-columns: auto repeat(4, minmax(0, 1fr));
  align-items: stretch;
  margin: clamp(2rem, 4vw, 3.5rem) auto;
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-quick-nav-label,
body[data-design="cinematic-camp-v1"].ranking-guide .guide-quick-nav a {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  padding: .65rem .8rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-quick-nav a {
  border-left-width: 1px;
  border-left-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-tagline {
  max-width: 49ch;
  margin-bottom: 1.7rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-meta {
  gap: .45rem 1.1rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-content-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3rem;
  max-width: none;
  padding: clamp(4rem, 7vw, 7.5rem) max(var(--tm-gutter), calc((100vw - 82rem) / 2));
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-main {
  overflow: visible;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > * {
  width: 100%;
  max-width: 47rem;
  margin-inline: auto;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > #intro {
  display: grid;
  max-width: 65rem;
  grid-template-columns: minmax(13rem, .7fr) minmax(0, 1.3fr);
  gap: 0 clamp(2.5rem, 6vw, 6rem);
  margin-bottom: clamp(4rem, 7vw, 6.5rem);
}

body[data-design="cinematic-camp-v1"].ranking-guide #intro > h2 {
  grid-row: 1 / span 4;
  margin: 0;
  padding: .75rem 0 0;
  border-width: 0;
  border-top-width: 3px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide #intro > p {
  grid-column: 2;
  margin: 0 0 1.2rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway {
  display: grid;
  max-width: 65rem;
  grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr);
  gap: 1rem clamp(2rem, 5vw, 5rem);
  margin: 0 auto clamp(5rem, 8vw, 8rem);
  padding: clamp(2rem, 4vw, 3.25rem);
  border-width: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway h3 {
  grid-row: 1 / span 2;
  margin: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway p {
  margin: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: .7rem 0 0;
  padding: 0;
  list-style: none;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway li {
  margin: 0;
  padding: .85rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > #comparison {
  max-width: 75rem;
  margin-bottom: clamp(5rem, 8vw, 8rem);
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > #price-snapshot {
  max-width: 75rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide #comparison > h2 {
  margin: 0;
  padding: 0 0 1.2rem;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-table-tools {
  margin: 1rem 0 0;
  padding: .8rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table {
  margin: 0;
  border-width: 0;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table th {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > .ranking-entry {
  display: grid;
  max-width: 65rem;
  grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr);
  gap: 0 clamp(2.5rem, 6vw, 6rem);
  margin: 0 auto;
  padding: clamp(2.6rem, 5vw, 4.5rem) 0 clamp(3.5rem, 6vw, 5.5rem);
  border-top-width: 1px;
  border-top-style: solid;
  scroll-margin-top: 6rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry > h2 {
  grid-column: 1;
  align-self: start;
  margin: 0;
  padding: .2rem 0 0;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry > .product-pick {
  grid-column: 2;
  margin: 0;
  padding: 0;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry > .product-pick:hover,
body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry > .product-pick.editors-choice,
body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry > .product-pick-caution {
  border-width: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .editors-choice::before {
  content: none;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: start;
  margin: 0 0 1.5rem;
  padding-bottom: 1rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-name {
  display: none;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-meta {
  display: flex;
  gap: .45rem .7rem;
  margin: .15rem 0 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-meta span {
  gap: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-meta span:not(:last-child)::after {
  content: '/';
  margin-left: .7rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-score {
  position: relative;
  min-width: 4.7rem;
  padding: 0 0 0 1rem;
  border-left-width: 1px;
  border-left-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-score::after {
  content: '/10';
  display: block;
  margin-top: .35rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: .35rem .7rem;
  border: 1px solid currentColor;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-desc {
  margin: 0 0 1.5rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-pros {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.5rem;
  margin: 0;
  padding: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-pros li {
  display: grid;
  grid-template-columns: 1.65rem minmax(0, 1fr);
  gap: .45rem;
  margin: 0;
  padding: .8rem 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-pros li::before {
  position: static;
  content: counter(dossier-fact, decimal-leading-zero);
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-cta {
  display: grid;
  grid-template-columns: auto auto minmax(7.5rem, 1fr) minmax(8.5rem, 1fr);
  gap: .65rem;
  margin-top: 1.6rem;
  padding-top: 1.15rem;
  border-top-width: 2px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .btn-review,
body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .btn-buy {
  min-height: 46px;
}

body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .snuuzu-region-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > .guide-image {
  width: min(58rem, calc(100vw - (2 * var(--tm-gutter))));
  max-width: 58rem;
  margin: 0 auto clamp(4rem, 7vw, 7rem);
  overflow: visible;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > .guide-image img {
  display: block;
  width: 100%;
  max-height: 35rem;
  object-fit: cover;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > .guide-image figcaption {
  max-width: 46rem;
  margin: 0 0 0 auto;
  padding: .85rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-align: left;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-sidebar {
  display: grid;
  max-width: 75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: clamp(2rem, 5vw, 5rem) auto 0;
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-sidebar .sidebar-card {
  margin: 0;
  padding: 1.5rem;
  border-width: 0;
  border-right-width: 1px;
  border-right-style: solid;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-sidebar .sidebar-card:last-child {
  border-right-width: 0;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-sidebar .cta-card {
  text-align: left;
}

@media (max-width: 980px) {
  body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero {
    min-height: 0;
    padding: 20rem max(var(--tm-gutter), 5vw) 3.5rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero::before {
    inset: 18rem 0 0;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero::after {
    inset: 0 0 auto;
    width: 100%;
    height: 18rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero-content {
    max-width: 46rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-sidebar {
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-sidebar .sidebar-card {
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
}

@media (max-width: 780px) {
  body[data-design="cinematic-camp-v1"].ranking-guide .guide-content-wrapper {
    gap: 2rem;
    padding: 3.5rem 1rem 5rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-quick-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-quick-nav-label {
    grid-column: 1 / -1;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-quick-nav a:nth-of-type(odd) {
    border-left-width: 0;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-quick-nav a {
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > #intro,
    body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway,
    body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > .ranking-entry {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-design="cinematic-camp-v1"].ranking-guide #intro > h2,
    body[data-design="cinematic-camp-v1"].ranking-guide #intro > p,
    body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway h3,
    body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry > h2,
    body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry > .product-pick {
    grid-column: 1;
    grid-row: auto;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide #intro > h2 {
    margin-bottom: 1.8rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway h3 {
    margin-bottom: .8rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway ul {
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > .ranking-entry {
    gap: 1.6rem;
    padding: 2.75rem 0 4rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry > h2 {
    max-width: 18ch;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > .guide-image {
    width: 100%;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-main > .guide-image figcaption {
    width: 92%;
  }
}

@media (max-width: 700px) {
  body[data-design="cinematic-camp-v1"].ranking-guide .guide-table-filter {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table tbody {
    gap: 0;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table tbody tr,
    body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table tbody tr:nth-child(even),
    body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table tbody tr:hover,
    body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table tbody tr.winner {
    margin: 0;
    padding: 1.25rem 0 1.5rem;
    border-width: 0;
    border-top-width: 1px;
    border-top-style: solid;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table tbody tr.winner {
    border-top-width: 3px;
    border-top-style: solid;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table .table-product img {
    border-width: 0;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-pros {
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-cta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .price-tag,
    body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .discount-code-tag {
    grid-column: auto;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .btn-review,
    body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .btn-buy {
    width: 100%;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .snuuzu-region-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 480px) {
  body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero {
    padding: 15.5rem 1rem 2.75rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero::before {
    inset: 13.5rem 0 0;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-hero::after {
    height: 13.5rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-meta {
    display: grid;
    gap: .45rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-meta span::before {
    content: none;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .guide-takeaway {
    margin-inline: -1rem;
    padding-inline: 1rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-header {
    gap: .75rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-meta {
    display: grid;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-meta span:not(:last-child)::after {
    content: none;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-score {
    min-width: 4.2rem;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-price {
    min-width: 4.2rem;
    white-space: normal;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .product-pick-cta {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .price-tag,
    body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .discount-code-tag,
    body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .btn-review,
    body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .btn-buy,
    body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .snuuzu-region-actions {
    grid-column: 1;
  }

  body[data-design="cinematic-camp-v1"].ranking-guide .ranking-entry .snuuzu-region-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

.vs-hub-page {
  padding-top: 100px;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

.vs-hub-hero {
  text-align: center;
  padding: 3rem 0;
}

.vs-hub-hero h1 {
  margin-bottom: 1rem;
}

.vs-hub-hero p {
  max-width: 600px;
  margin: 0 auto;
}

.vs-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 1.5rem;
  margin-bottom: 4rem;
}

.vs-card {
  padding: 2rem;
  position: relative;
  border-width: 2px;
  border-style: solid;
}

.vs-card-badge {
  position: absolute;
  top: -10px;
  right: 20px;
  padding: 0.3rem 0.8rem;
}

.vs-card-matchup {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.vs-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  min-width: 80px;
  max-width: 100px;
  overflow: hidden;
}

.vs-brand img {
  height: 30px;
  max-width: 80px;
  width: auto;
  object-fit: contain;
}

.vs-score {
  padding: 0.2rem 0.6rem;
}

.vs-divider {
  padding: 0.5rem 1rem;
}

.vs-card h2 {
  margin-bottom: 0.5rem;
  text-align: center;
}

.vs-card p {
  text-align: center;
  margin-bottom: 1rem;
}

.vs-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.quick-picks {
  padding: 3rem;
  margin-bottom: 4rem;
}

.quick-picks h2 {
  text-align: center;
  margin-bottom: 2rem;
}

.quick-picks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

.quick-pick {
  padding: 1.5rem;
}

.quick-pick h3 {
  margin-bottom: 0.5rem;
}

.quick-pick p {
  margin-bottom: 1rem;
}

.vs-page {
  padding-top: 100px;
}

.vs-hero {
  padding: 4rem 2rem;
  text-align: center;
}

.vs-hero-matchup {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.vs-hero-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  min-width: 100px;
  max-width: 140px;
  overflow: hidden;
}

.vs-hero-brand img {
  height: 40px;
  max-width: 120px;
  width: auto;
  object-fit: contain;
}

.vs-hero-brand .brand-score {
  padding: 0.4rem 1rem;
}

.vs-hero h1 {
  margin-bottom: 1rem;
}

.vs-hero p {
  max-width: 600px;
  margin: 0 auto;
}

.quick-verdict {
  max-width: 900px;
  margin: -2rem auto 3rem;
  padding: 0 2rem;
}

.verdict-box {
  padding: 2rem;
  border-left-width: 4px;
  border-left-style: solid;
}

.verdict-box h2 {
  margin-bottom: 1rem;
}

.verdict-box p {
  margin-bottom: 1rem;
}

.verdict-winner {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
}

.vs-comparison {
  max-width: 900px;
  margin: 0 auto 3rem;
  padding: 0 2rem;
}

.vs-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
}

.vs-table th,
.vs-table td {
  padding: 1rem 1.25rem;
  text-align: left;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.vs-table thead th:first-child {
  width: 30%;
}

.vs-table .winner::after {
  content: " *";
}

.vs-category {
  max-width: 900px;
  margin: 0 auto 3rem;
  padding: 0 2rem;
}

.vs-category h2 {
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.vs-category-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.vs-category-item {
  padding: 1.5rem;
}

.vs-category-item h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.vs-category-item .score-badge {
  padding: 0.2rem 0.5rem;
  margin-left: auto;
}

.vs-category-item.winner-item {
  border-width: 2px;
  border-style: solid;
}

.vs-category-item.winner-item::before {
  content: "Winner";
  position: absolute;
  top: -10px;
  left: 20px;
  padding: 0.2rem 0.6rem;
}

.vs-faq {
  max-width: 900px;
  margin: 0 auto 3rem;
  padding: 0 2rem;
}

.vs-faq h2 {
  margin-bottom: 1.5rem;
}

.faq-grid {
  display: grid;
  gap: 1rem;
}

.faq-item {
  padding: 1.5rem;
}

.faq-item h3 {
  margin-bottom: 0.75rem;
}

.vs-cta {
  padding: 3rem 2rem;
  text-align: center;
}

.vs-cta h2 {
  margin-bottom: 1.5rem;
}

.vs-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.vs-cta-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 2.5rem;
}

.vs-cta-btn .btn-discount {
  padding: 0.3rem 0.8rem;
  margin-top: 0.5rem;
}

.breadcrumb {
  padding: 1rem 0;
}

.vs-hub-page > .breadcrumb {
  width: fit-content;
  margin: 1.15rem max(5vw, calc((100vw - 1180px) / 2));
  padding: .55rem .8rem;
  border-width: 1px;
  border-style: solid;
}

.vs-full-reviews {
  max-width: 900px;
  margin: 0 auto 3rem;
  padding: 0 2rem;
}

.vs-full-reviews h3 {
  margin-bottom: 1rem;
}

.vs-review-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.vs-review-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.75rem 1.25rem;
  border-width: 2px;
  border-style: solid;
}

@media (max-width: 768px) {
  .vs-cards-grid {
    grid-template-columns: 1fr;
  }

  .vs-hero-matchup {
    gap: 1rem;
  }

  .vs-category-grid {
    grid-template-columns: 1fr;
  }

  .vs-table th,
    .vs-table td {
    padding: 0.75rem;
  }
}

.vs-hub-page {
  max-width: none;
  margin: 0;
  padding: 0 0 clamp(4rem, 8vw, 8rem);
}

.vs-hub-page > .breadcrumb,
.vs-hub-page > .vs-cards-grid,
.vs-hub-page > .vs-guide,
.vs-hub-page > .quick-picks {
  width: min(1180px, 90vw);
  max-width: 1180px;
  margin-inline: auto;
}

.vs-hub-page > .breadcrumb {
  padding: 1.15rem 0;
}

.vs-hub-hero {
  position: relative;
  min-height: 440px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0 0 clamp(4rem, 8vw, 7rem);
  padding: clamp(4.5rem, 9vw, 8rem) max(6vw, calc((100vw - 1180px) / 2)) 4rem;
  overflow: hidden;
  text-align: left;
}

.vs-hub-hero h1 {
  max-width: 11ch;
  margin: .4rem 0 1rem;
}

.vs-hub-hero > p {
  max-width: 55ch;
  margin: 0;
}

.vs-hub-hero .vs-hub-byline {
  margin-top: 1.35rem;
}

.vs-cards-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: clamp(4rem, 7vw, 7rem);
  border-width: 1px;
  border-style: solid;
}

.vs-card,
.vs-card.featured {
  padding: 0 0 1.8rem;
  overflow: hidden;
  border-width: 0;
}

.vs-card:hover {
  border-width: 0;
}

.vs-card-media {
  height: 230px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 0 0 1.5rem;
  overflow: hidden;
}

.vs-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vs-card-badge {
  z-index: 2;
  top: .9rem;
  right: .9rem;
}

.vs-card-matchup,
.vs-card h2,
.vs-card p,
.vs-card-meta {
  margin-inline: clamp(1.25rem, 3vw, 2rem);
}

.vs-card-matchup {
  justify-content: flex-start;
  margin-bottom: 1.1rem;
}

.vs-brand {
  align-items: flex-start;
}

.vs-divider {
  padding: .25rem .45rem;
}

.vs-score {
  border-width: 1px;
  border-style: solid;
}

.vs-card h2 {
  text-align: left;
}

.vs-card p {
  text-align: left;
}

.vs-guide {
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  column-gap: clamp(2rem, 6vw, 6rem);
  padding: clamp(3rem, 6vw, 5.5rem) 0 !important;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.vs-guide > h2 {
  grid-column: 1;
  grid-row: 1 / span 12;
  margin: 0 !important;
}

.vs-guide > :not(h2) {
  grid-column: 2;
}

.quick-picks {
  padding: clamp(3rem, 6vw, 5.5rem);
}

.quick-picks-grid {
  gap: 1px;
}

.vs-page {
  padding-top: 0;
}

.vs-hero {
  min-height: 480px;
  padding: clamp(4rem, 8vw, 7rem) max(6vw, calc((100vw - 960px) / 2)) 3.5rem;
}

.vs-hero h1 {
  max-width: 16ch;
  margin: 0 auto 1rem;
}

.vs-hero-matchup {
  margin-bottom: 1.4rem;
}

.vs-hero-brand .brand-score {
  border-width: 1px;
  border-style: solid;
}

.quick-verdict {
  max-width: 960px;
  margin: -2rem auto clamp(3rem, 6vw, 5rem);
}

.verdict-box {
  border-width: 1px;
  border-style: solid;
  border-left-width: 3px;
  border-left-style: solid;
}

.vs-comparison,
.vs-category,
.vs-faq,
.vs-full-reviews {
  max-width: 960px;
  margin-bottom: clamp(3.5rem, 7vw, 6rem);
}

.vs-table {
  border-width: 1px;
  border-style: solid;
}

.vs-category h2,
.vs-faq h2 {
  padding-bottom: .85rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.vs-category-grid {
  gap: 1px;
  border-width: 1px;
  border-style: solid;
}

.vs-category-item.winner-item {
  border-width: 0;
}

.vs-cta {
  padding: clamp(3.5rem, 7vw, 6rem) 5vw;
}

@media (max-width: 760px) {
  .vs-hub-hero {
    min-height: 430px;
    padding: 5rem 5vw 3rem;
  }

  .vs-cards-grid {
    grid-template-columns: 1fr;
  }

  .vs-card-media {
    height: 210px;
  }

  .vs-guide {
    grid-template-columns: 1fr;
  }

  .vs-guide > h2,
    .vs-guide > :not(h2) {
    grid-column: 1;
    grid-row: auto;
  }

  .vs-guide > h2 {
    margin-bottom: 1.5rem !important;
  }

  .vs-hero {
    min-height: 500px;
    padding: 5rem 5vw 3rem;
  }
}

.vs-hub-page > nav.breadcrumb {
  width: fit-content;
  margin: 1.15rem max(5vw, calc((100vw - 1180px) / 2));
  padding: .55rem .8rem;
  border-width: 1px;
  border-style: solid;
}

@media (max-width: 640px) {
  .vs-hub-page > nav.breadcrumb {
    margin-block: .9rem;
    padding: .45rem .65rem;
  }
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: .75rem;
  left: .75rem;
  max-width: calc(100vw - 1.5rem);
  padding: .75rem 1rem;
}

.brand-comparison-breadcrumb {
  display: flex;
  align-items: center;
  gap: .55rem;
  width: min(1180px, 90vw);
  margin: 0 auto;
  padding: 1.05rem 0;
  overflow: hidden;
  white-space: nowrap;
}

.brand-comparison-breadcrumb span:last-child {
  min-width: 0;
  overflow: hidden;
}

.brand-comparison-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  width: min(1180px, 90vw);
  min-height: 590px;
  margin: 0 auto;
  overflow: hidden;
}

.brand-comparison-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.25rem, 5vw, 4.75rem);
}

.brand-comparison-matchup {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 1.1rem 0 .75rem;
}

.brand-comparison-matchup b {
  display: inline-grid;
  place-items: center;
  min-width: 2.1rem;
  min-height: 2.1rem;
  border-width: 1px;
  border-style: solid;
}

.brand-comparison-hero h1 {
  max-width: 15ch;
  margin: 0;
}

.brand-comparison-hero-copy > p {
  max-width: 52ch;
  margin: 1.35rem 0 0;
}

.brand-comparison-byline {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1rem;
  margin-top: 1.75rem;
}

.brand-comparison-hero-media {
  position: relative;
  min-height: 100%;
  margin: 0;
}

.brand-comparison-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 590px;
  object-fit: cover;
}

.brand-comparison-hero-media figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  max-width: 38ch;
  padding: .55rem .7rem;
}

.brand-comparison-trustbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem 1.6rem;
  width: min(1180px, 90vw);
  margin: 0 auto;
  padding: .9rem 1rem;
  border-width: 1px;
  border-style: solid;
  border-top-width: 0;
}

.brand-comparison-trustbar span::before,
.brand-comparison-trustbar a::before {
  content: '';
  display: inline-block;
  width: .42rem;
  height: .42rem;
  margin-right: .5rem;
  vertical-align: .05rem;
}

.brand-comparison-layout {
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(220px, 300px);
  gap: clamp(2.5rem, 6vw, 6.5rem);
  justify-content: space-between;
  width: min(1120px, 90vw);
  margin: clamp(3.5rem, 7vw, 7rem) auto;
}

.brand-comparison-article {
  min-width: 0;
}

.brand-comparison-article > p,
.brand-comparison-article > ul,
.brand-comparison-article > ol {
  max-width: 68ch;
}

.brand-comparison-article p {
  margin: 0 0 1.2rem;
}

.brand-comparison-article h2 {
  max-width: 22ch;
  margin: clamp(3.4rem, 7vw, 6rem) 0 1.15rem;
}

.brand-comparison-article h3 {
  margin: 2.2rem 0 .75rem;
}

.brand-comparison-verdict {
  display: grid;
  grid-template-columns: minmax(150px, .65fr) minmax(0, 1.35fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
  padding: 0 0 2.5rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.brand-comparison-verdict h2 {
  margin: .4rem 0 0;
}

.brand-comparison-verdict > p {
  margin: 0;
}

.brand-comparison-table-wrap {
  margin: 2rem 0 4rem;
  border-top-width: 2px;
  border-top-style: solid;
}

.brand-comparison-table {
  width: 100%;
  border-collapse: collapse;
}

.brand-comparison-table th,
.brand-comparison-table td {
  padding: 1rem .85rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-align: left;
  vertical-align: top;
}

.brand-comparison-table td:first-child {
  width: 28%;
}

.brand-comparison-table td:not(:first-child) {
  width: 36%;
}

.brand-comparison-product-figures {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 2.25rem 0 4.5rem;
}

.brand-comparison-product-figures figure {
  margin: 0;
}

.brand-comparison-product-figures img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.brand-comparison-product-figures figcaption {
  min-height: 5.1rem;
  padding: .85rem 1rem 1rem;
}

.brand-comparison-note {
  margin: 2.2rem 0;
  padding: 1.35rem 1.5rem;
}

.brand-comparison-decision-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 2rem 0;
  border-width: 1px;
  border-style: solid;
}

.brand-comparison-decision-grid--three {
  grid-template-columns: repeat(3, 1fr);
}

.brand-comparison-decision {
  padding: clamp(1.4rem, 3vw, 2.2rem);
}

.brand-comparison-decision h3 {
  margin-top: 0;
}

.brand-comparison-decision ul {
  margin: 1rem 0 0;
  padding-left: 1.15rem;
}

.brand-comparison-decision li + li {
  margin-top: .65rem;
}

.brand-comparison-sources {
  margin: 3.5rem 0;
  padding-top: 1.5rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.brand-comparison-cta {
  margin: clamp(4rem, 8vw, 7rem) 0;
  padding: clamp(2rem, 5vw, 3.5rem);
}

.brand-comparison-cta h2 {
  max-width: 16ch;
  margin: .55rem 0 1rem;
}

.brand-comparison-cta p {
  max-width: 56ch;
}

.brand-comparison-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}

.brand-comparison-cta-actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .78rem 1.15rem;
  border-width: 1px;
  border-style: solid;
}

.brand-comparison-faq {
  margin-top: clamp(4rem, 8vw, 7rem);
}

.brand-comparison-section-heading h2 {
  margin-top: .45rem;
}

.brand-comparison-faq details {
  border-top-width: 1px;
  border-top-style: solid;
}

.brand-comparison-faq details:last-of-type {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.brand-comparison-faq summary {
  position: relative;
  min-height: 58px;
  padding: 1rem 2.4rem 1rem 0;
  cursor: pointer;
  list-style: none;
}

.brand-comparison-faq summary::-webkit-details-marker {
  display: none;
}

.brand-comparison-faq summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: .2rem;
  transform: translateY(-50%);
}

.brand-comparison-faq details[open] summary::after {
  content: '−';
}

.brand-comparison-faq details p {
  max-width: 62ch;
  padding: 0 2.4rem 1.35rem 0;
}

.brand-comparison-related {
  margin-top: clamp(4rem, 8vw, 7rem);
}

.brand-comparison-related-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-top: 1.75rem;
}

.brand-comparison-related-grid a {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 1rem;
  align-items: center;
  min-height: 112px;
  padding: .85rem;
}

.brand-comparison-related-grid img {
  width: 88px;
  height: 88px;
  object-fit: cover;
}

.brand-comparison-sidebar {
  min-width: 0;
}

.brand-comparison-sidebar-inner {
  position: sticky;
  top: 6rem;
  padding-top: 1.25rem;
  border-top-width: 2px;
  border-top-style: solid;
}

.brand-comparison-sidebar h2 {
  margin: .45rem 0 1.3rem;
}

.brand-comparison-sidebar dl {
  margin: 0;
}

.brand-comparison-sidebar dl > div {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: .75rem;
  padding: .85rem 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.brand-comparison-sidebar dd {
  margin: 0;
  text-align: right;
}

.brand-comparison-jump {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  margin-top: 1.25rem;
}

@media (max-width: 900px) {
  .brand-comparison-hero {
    grid-template-columns: 1fr;
  }

  .brand-comparison-hero-copy {
    order: 1;
  }

  .brand-comparison-hero-media {
    order: 2;
    min-height: 380px;
  }

  .brand-comparison-hero-media img {
    min-height: 380px;
  }

  .brand-comparison-layout {
    grid-template-columns: 1fr;
  }

  .brand-comparison-sidebar {
    grid-row: 1;
  }

  .brand-comparison-sidebar-inner {
    position: static;
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
    gap: 1rem 2rem;
  }

  .brand-comparison-sidebar-inner > .brand-comparison-section-label,
    .brand-comparison-sidebar-inner > h2 {
    grid-column: 1;
  }

  .brand-comparison-sidebar-inner > h2 {
    margin-top: 0;
  }

  .brand-comparison-sidebar-inner > dl {
    grid-column: 2;
    grid-row: 1 / span 3;
  }

  .brand-comparison-sidebar-inner > .brand-comparison-jump {
    grid-column: 1;
  }
}

@media (max-width: 720px) {
  .brand-comparison-breadcrumb,
    .brand-comparison-hero,
    .brand-comparison-trustbar,
    .brand-comparison-layout {
    width: 100%;
  }

  .brand-comparison-breadcrumb,
    .brand-comparison-layout {
    padding-inline: 5vw;
  }

  .brand-comparison-hero-media,
    .brand-comparison-hero-media img {
    min-height: 300px;
  }

  .brand-comparison-hero-media figcaption {
    right: .75rem;
    bottom: .75rem;
    max-width: calc(100% - 1.5rem);
  }

  .brand-comparison-hero-copy {
    padding: 2.3rem 5vw 2.6rem;
  }

  .brand-comparison-hero h1 {
    max-width: 14ch;
  }

  .brand-comparison-trustbar {
    justify-content: flex-start;
    overflow-x: auto;
    padding: .8rem 5vw;
    scroll-snap-type: x proximity;
  }

  .brand-comparison-trustbar > * {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .brand-comparison-layout {
    gap: 3rem;
    margin: 3.5rem auto 5rem;
  }

  .brand-comparison-sidebar-inner {
    display: block;
  }

  .brand-comparison-verdict {
    grid-template-columns: 1fr;
  }

  .brand-comparison-product-figures,
    .brand-comparison-decision-grid,
    .brand-comparison-related-grid {
    grid-template-columns: 1fr;
  }

  .brand-comparison-table-wrap {
    border-top-width: 0;
  }

  .brand-comparison-table,
    .brand-comparison-table tbody,
    .brand-comparison-table tr,
    .brand-comparison-table td {
    display: block;
    width: 100%;
  }

  .brand-comparison-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .brand-comparison-table tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    margin-bottom: 1rem;
    border-width: 1px;
    border-style: solid;
  }

  .brand-comparison-table td,
    .brand-comparison-table td:first-child,
    .brand-comparison-table td:not(:first-child) {
    width: auto;
    min-width: 0;
    padding: .8rem;
    border-width: 0;
  }

  .brand-comparison-table td:first-child {
    grid-column: 1 / -1;
  }

  .brand-comparison-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: .25rem;
  }

  .brand-comparison-table td:first-child::before {
    display: none;
  }

  .brand-comparison-cta {
    margin-inline: -5vw;
    padding-inline: 5vw;
  }

  .brand-comparison-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .brand-comparison-related-grid a {
    grid-template-columns: 74px 1fr;
  }

  .brand-comparison-related-grid img {
    width: 74px;
    height: 74px;
  }
}

@media (pointer: coarse) {
  .brand-comparison-faq summary,
    .brand-comparison-jump,
    .brand-comparison-related-grid a {
    min-height: 48px;
  }
}

.discounts-page {
  overflow-x: hidden;
  max-width: 100%;
}

.breadcrumb {
  padding: 1rem 6%;
  padding-top: 5rem;
}

.breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.breadcrumb li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.breadcrumb li:not(:last-child)::after {
  content: '›';
}

.discounts-page > .breadcrumb {
  width: fit-content;
  margin: 1.15rem max(5vw, calc((100vw - 1180px) / 2));
  padding: .55rem .8rem;
  border-width: 1px;
  border-style: solid;
}

.discount-nav {
  position: relative;
}

.discounts-hero {
  padding: 3rem 6% 4rem;
  text-align: center;
}

.discounts-hero-content {
  max-width: 700px;
  margin: 0 auto;
}

.updated-badge {
  display: inline-block;
  padding: 0.5rem 1rem;
  margin-bottom: 1.5rem;
}

.discounts-hero h1 {
  margin-bottom: 1rem;
}

.discounts-overview {
  padding: 2rem 6%;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.quick-codes {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  max-width: 900px;
  margin: 0 auto;
}

.quick-code-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
}

.quick-code-item code {
  padding: 0.4rem 0.75rem;
}

.quick-code-item .savings {
  padding: 0.35rem 0.75rem;
}

.brand-discount-section {
  padding: 3rem 6%;
}

.brand-discount-card {
  max-width: 900px;
  margin: 0 auto;
}

.brand-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.brand-logo-large {
  max-height: 50px;
  max-width: 180px;
  object-fit: contain;
}

.brand-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.verified-badge {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.75rem;
}

.verified-badge::before {
  content: '✓';
}

.rating {
  padding: 0.4rem 0.75rem;
}

.discount-main {
  margin-bottom: 2.5rem;
}

.discount-main h2 {
  margin-bottom: 0.5rem;
}

.discount-main h2 .highlight {
  padding: 0.1rem 0.5rem;
}

.discount-subtitle {
  margin-bottom: 1.5rem;
}

.big-code-box {
  border-width: 2px;
  border-style: solid;
  padding: 2rem;
  margin-bottom: 1.5rem;
}

.code-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.code-wrapper code {
  padding: 0.75rem 2rem;
  border-width: 2px;
  border-style: dashed;
  max-width: 100%;
}

.copy-btn-large {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-style: none;
  padding: 1rem 1.5rem;
  cursor: pointer;
}

.savings-display {
  text-align: center;
}

.save-amount {
  display: block;
  margin-bottom: 0.25rem;
}

.shop-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.shop-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
}

.shop-btn.single {
  padding: 1rem 3rem;
}

.brand-info {
  border-width: 1px;
  border-style: solid;
  padding: 2rem;
  margin-bottom: 1rem;
}

.brand-info h3 {
  margin-bottom: 0.75rem;
}

.brand-info > p {
  margin-bottom: 1.5rem;
}

.key-features {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

.feature {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
}

.products-covered {
  border-top-width: 1px;
  border-top-style: solid;
  padding-top: 1.5rem;
}

.products-covered h4 {
  margin-bottom: 0.75rem;
}

.products-covered ul {
  list-style: none;
}

.products-covered li {
  padding: 0.5rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.products-covered li:last-child {
  border-bottom-style: none;
}

.full-details-link {
  display: inline-block;
}

.discount-faq {
  padding: 4rem 6%;
}

.discount-faq h2 {
  text-align: center;
  margin-bottom: 2.5rem;
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 900px;
  margin: 0 auto;
}

.faq-item {
  padding: 1.5rem;
}

.faq-item h3 {
  margin-bottom: 0.75rem;
}

@media (max-width: 768px) {
  .breadcrumb {
    padding-top: 4.5rem;
  }

  .discounts-hero {
    padding: 2.5rem 5% 3rem;
  }

  .quick-codes {
    flex-direction: column;
    align-items: center;
  }

  .quick-code-item {
    width: 100%;
    max-width: 300px;
    justify-content: space-between;
  }

  .brand-header {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }

  .code-wrapper {
    flex-direction: column;
  }

  .code-wrapper code {
    padding: 0.5rem 1.5rem;
  }

  .shop-buttons {
    flex-direction: column;
  }

  .shop-btn {
    justify-content: center;
  }

  .faq-grid {
    grid-template-columns: 1fr;
  }

  .key-features {
    justify-content: center;
  }
}

@media (pointer: coarse) {
  .shop-btn,
    .copy-btn-large,
    .quick-code-item {
    min-height: 44px;
  }
}

@media (max-width: 640px) {
  .breadcrumb {
    padding-top: 4rem;
    padding-left: 4%;
    padding-right: 4%;
  }

  .discounts-hero {
    padding: 2rem 4% 2.5rem;
  }

  .big-code-box {
    padding: 1.5rem;
  }

  .brand-discount-section {
    padding: 2rem 4%;
  }
}

@media (max-width: 480px) {
  .code-wrapper code {
    padding: 0.4rem 1.25rem;
  }

  .brand-info {
    padding: 1.5rem;
  }

  .feature {
    padding: 0.4rem 0.75rem;
  }
}

.discounts-page > nav.breadcrumb {
  width: fit-content;
  max-width: 90vw;
  margin: 1.15rem max(5vw, calc((100vw - 1180px) / 2));
  padding: .55rem .8rem;
  border-width: 1px;
  border-style: solid;
}

@media (max-width: 720px) {
  .discounts-page > nav.breadcrumb {
    margin-block: .9rem;
    padding: .45rem .65rem;
  }
}

@media (max-width: 375px) {
  .breadcrumb {
    padding-top: 3.75rem;
  }

  .discounts-hero {
    padding: 1.75rem 4% 2rem;
  }

  .updated-badge {
    padding: 0.4rem 0.8rem;
  }

  .quick-code-item {
    padding: 0.85rem 1rem;
  }

  .copy-btn-large {
    padding: 0.85rem 1.25rem;
  }

  .shop-btn {
    padding: 0.85rem 1.5rem;
  }

  .faq-item {
    padding: 1.25rem;
  }
}

.discounts-page .breadcrumb {
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.15rem 0;
}

.discounts-hero {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  display: grid;
  align-items: end;
  padding: clamp(4.5rem, 9vw, 8rem) max(6vw, calc((100vw - 1180px) / 2)) 4rem;
  text-align: left;
}

.discounts-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 1px;
}

.discounts-hero-content {
  position: relative;
  z-index: 1;
  width: min(680px, 100%);
  max-width: none;
  margin: 0;
}

.discounts-hero .updated-badge {
  margin-bottom: 1.2rem;
  padding: .45rem .7rem;
  border-width: 1px;
  border-style: solid;
}

.discounts-hero h1 {
  max-width: 12ch;
  margin: 0 0 1rem;
}

.discounts-hero p {
  max-width: 56ch;
  margin: 0;
}

.discounts-overview {
  padding: 0 max(6vw, calc((100vw - 1180px) / 2));
  border-width: 0;
}

.quick-codes {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  max-width: 1180px;
  margin: 0 auto;
}

.quick-code-item {
  min-width: 0;
  display: grid;
  gap: .2rem;
  align-content: center;
  padding: 1.35rem 1rem;
  border-width: 0;
  border-right-width: 1px;
  border-right-style: solid;
}

.quick-code-item:first-child {
  border-left-width: 1px;
  border-left-style: solid;
}

.quick-code-item code {
  min-width: 0;
  overflow: hidden;
  padding: 0;
}

.quick-code-item .savings {
  width: fit-content;
  padding: 0;
}

.brand-discount-section,
.brand-discount-section:nth-child(odd) {
  padding: clamp(3.5rem, 7vw, 7.5rem) max(6vw, calc((100vw - 1180px) / 2));
  border-bottom-width: 1px;
  border-bottom-style: solid;
  scroll-margin-top: 4.5rem;
}

.brand-discount-card {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, .86fr) minmax(0, 1.14fr);
  grid-template-areas: 'media header'
        'media main'
        'info info'
        'link link';
  column-gap: clamp(2rem, 5vw, 5.5rem);
  row-gap: 1.5rem;
}

.brand-discount-media {
  grid-area: media;
  position: relative;
  min-height: 440px;
  margin: 0;
  overflow: hidden;
}

.brand-discount-media::after {
  content: '';
  position: absolute;
  inset: 0;
}

.brand-discount-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-discount-media.is-logo img {
  object-fit: contain;
  padding: clamp(2.5rem, 8vw, 7rem);
}

.brand-discount-media figcaption {
  position: absolute;
  z-index: 1;
  right: 1.25rem;
  bottom: 1.15rem;
  left: 1.25rem;
}

.brand-header {
  grid-area: header;
  min-width: 0;
  align-self: start;
  margin: 0;
  padding: 0 0 1.35rem;
}

.brand-logo-large {
  max-width: 170px;
  max-height: 48px;
}

.brand-meta {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.verified-badge,
.rating,
.rating.value,
.rating.budget {
  border-width: 1px;
  border-style: solid;
}

.discount-main {
  grid-area: main;
  align-self: end;
  margin: 0;
}

.discount-main h2 {
  max-width: 17ch;
  margin: 0 0 .75rem;
}

.discount-main h2 .highlight {
  padding: 0;
}

.discount-subtitle {
  margin: 0 0 1.3rem;
}

.big-code-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.2rem;
  margin: 0 0 1rem;
  padding: 1.1rem;
  border-width: 1px;
  border-style: solid;
}

.code-wrapper {
  min-width: 0;
  justify-content: flex-start;
  margin: 0;
}

.code-wrapper code {
  min-width: 0;
  padding: .62rem .75rem;
  border-width: 1px;
  border-style: dashed;
}

.copy-btn-large {
  min-height: 46px;
  padding: .75rem 1rem;
}

.savings-display {
  min-width: 118px;
  padding-left: 1rem;
  border-left-width: 1px;
  border-left-style: solid;
  text-align: left;
}

.shop-buttons {
  justify-content: flex-start;
}

.shop-btn,
.shop-btn.single,
.shop-btn.eu,
.shop-btn.us {
  min-height: 48px;
  justify-content: center;
  padding: .85rem 1.25rem;
  border-width: 1px;
  border-style: solid;
}

.brand-info,
.brand-discount-section:nth-child(odd) .brand-info {
  grid-area: info;
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  column-gap: clamp(2rem, 5vw, 5rem);
  margin: clamp(1.5rem, 4vw, 4rem) 0 0;
  padding: clamp(1.5rem, 3vw, 2.5rem) 0 0;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.brand-info h3 {
  grid-column: 1;
  margin: 0 0 .75rem;
}

.brand-info > p {
  grid-column: 1;
  margin: 0;
}

.key-features {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-content: start;
  margin: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.feature,
.brand-discount-section:nth-child(odd) .feature {
  min-width: 0;
  padding: .9rem .65rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.products-covered {
  grid-column: 1 / -1;
  margin-top: 2rem;
}

.products-covered h4 {
  margin-bottom: .5rem;
}

.products-covered li {
  padding: .7rem 0;
}

.full-details-link {
  grid-area: link;
  width: fit-content;
  margin-top: .25rem;
  padding-bottom: .18rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.discount-faq {
  padding: clamp(4rem, 8vw, 8rem) max(6vw, calc((100vw - 1180px) / 2));
}

.discount-faq h2 {
  margin-bottom: 2.5rem;
}

.faq-grid {
  max-width: 1180px;
  gap: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.faq-item {
  padding: 1.6rem 1.5rem;
  border-right-width: 1px;
  border-right-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

@media (max-width: 980px) {
  .discounts-page .breadcrumb {
    padding-inline: 5vw;
  }

  .quick-codes {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .quick-code-item:nth-child(4) {
    border-right-width: 0;
  }

  .brand-discount-card {
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
    column-gap: 2rem;
  }

  .brand-discount-media {
    min-height: 390px;
  }
}

@media (max-width: 720px) {
  .discounts-page .breadcrumb {
    padding-top: 4.65rem;
  }

  .discounts-hero {
    min-height: 400px;
    padding: 5rem 5vw 2.75rem;
  }

  .quick-codes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-code-item:nth-child(odd) {
    border-left-width: 1px;
    border-left-style: solid;
  }

  .quick-code-item:nth-child(even) {
    border-right-width: 0;
  }

  .brand-discount-card {
    grid-template-columns: 1fr;
    grid-template-areas: 'header'
            'media'
            'main'
            'info'
            'link';
    gap: 1.4rem;
  }

  .brand-header {
    flex-direction: row;
    text-align: left;
  }

  .brand-discount-media {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .discount-main h2 {
    max-width: 13ch;
  }

  .big-code-box {
    grid-template-columns: 1fr;
  }

  .savings-display {
    padding: .8rem 0 0;
    border-top-width: 1px;
    border-top-style: solid;
    border-left-width: 0;
  }

  .brand-info,
    .brand-discount-section:nth-child(odd) .brand-info {
    grid-template-columns: 1fr;
    margin-top: 1rem;
  }

  .key-features {
    grid-column: 1;
    grid-row: auto;
    margin-top: 1.5rem;
  }
}

@media (max-width: 480px) {
  .brand-header {
    align-items: flex-start;
  }

  .brand-meta {
    display: none;
  }

  .code-wrapper {
    align-items: stretch;
  }

  .code-wrapper code {
    display: flex;
    align-items: center;
  }

  .copy-btn-large .copy-text {
    display: none;
  }

  .key-features {
    grid-template-columns: 1fr;
  }

  .shop-buttons {
    flex-direction: column;
  }
}

.discounts-overview > .quick-codes {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quick-code-more {
  max-width: 1180px;
  margin: 0 auto;
  border-top-width: 1px;
  border-top-style: solid;
}

.quick-code-more summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .8rem 1rem;
  cursor: pointer;
}

.quick-code-more summary::after {
  content: '+';
}

.quick-code-more[open] summary::after {
  content: '−';
}

.quick-code-more .quick-codes-secondary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top-width: 1px;
  border-top-style: solid;
}

@media (max-width: 720px) {
  .discounts-overview > .quick-codes {
    grid-template-columns: 1fr;
  }

  .quick-code-more .quick-codes-secondary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.brand-discount-page {
  overflow-x: hidden;
  max-width: 100%;
}

.breadcrumb {
  padding: 1rem 6%;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.quick-answer {
  padding: 3rem 6%;
}

.quick-answer-content {
  max-width: 700px;
  margin: 0 auto;
}

.quick-answer h2 {
  margin-bottom: 1.5rem;
  text-align: center;
}

.discount-summary-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
}

.discount-summary-table tr {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.discount-summary-table tr:last-child {
  border-bottom-style: none;
}

.discount-summary-table th,
.discount-summary-table td {
  padding: 1.1rem 1.5rem;
  text-align: left;
}

.discount-summary-table th {
  width: 40%;
}

.status-verified {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 1rem;
}

.status-verified::before {
  content: '✓';
}

.brand-hero {
  padding: 7rem 6% 4rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.brand-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.brand-hero-content {
  max-width: 600px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.brand-hero-logo {
  max-height: 70px;
  margin-bottom: 1.5rem;
}

.brand-hero-text-logo {
  margin-bottom: 1.5rem;
}

.brand-hero-badge .verified {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.25rem;
  border-width: 1px;
  border-style: solid;
}

.brand-hero-badge .verified::before {
  content: '✓';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}

.discount-code-hero {
  padding: 4rem 6%;
  text-align: center;
  position: relative;
}

.discount-code-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100px;
  height: 3px;
}

.code-hero-content {
  max-width: 800px;
  margin: 0 auto;
}

.code-hero-content h1 {
  margin-bottom: 0.75rem;
}

.code-hero-subtitle {
  margin-bottom: 2.5rem;
}

.mega-code-box {
  padding: 3rem;
  margin-bottom: 2.5rem;
  position: relative;
  overflow: hidden;
}

.mega-code-box::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 100%;
  height: 100%;
}

.mega-code-box .code-label {
  display: block;
  margin-bottom: 1.25rem;
}

.mega-code {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 1.75rem;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.mega-code code {
  padding: 1.25rem 3rem;
  border-width: 2px;
  border-style: dashed;
  max-width: 100%;
}

.mega-copy-btn {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  border-style: none;
  padding: 1.1rem 2.25rem;
  cursor: pointer;
}

.code-savings {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.savings-badge {
  padding: 0.6rem 1.5rem;
}

.region-shop-btns {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.region-shop-btn {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.35rem 2.25rem;
  min-width: 240px;
}

.region-shop-btn.single {
  justify-content: center;
}

.region-info {
  text-align: left;
}

.region-title {
  display: block;
}

.region-url {
  display: block;
}

.how-to-use {
  padding: 5rem 6%;
}

.how-to-content {
  max-width: 1000px;
  margin: 0 auto;
}

.how-to-content h2 {
  text-align: center;
  margin-bottom: 3rem;
}

.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.step {
  padding: 2.5rem 2rem;
  text-align: center;
  position: relative;
}

.step::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}

.step-number {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
}

.step h3 {
  margin-bottom: 0.75rem;
}

.eligible-products {
  padding: 5rem 6%;
}

.products-content {
  max-width: 1100px;
  margin: 0 auto;
}

.products-content h2 {
  text-align: center;
  margin-bottom: 0.75rem;
}

.products-intro {
  text-align: center;
  margin-bottom: 3rem;
}

.product-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.eligible-product {
  overflow: hidden;
}

.eligible-product img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.eligible-product-info {
  padding: 1.75rem;
}

.eligible-product h3 {
  margin-bottom: 1rem;
}

.price-compare {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.you-save {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0.35rem 0.75rem;
}

.read-review {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.read-review:hover {
  gap: 0.6rem;
}

.eligible-product.bundle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 2.5rem 2rem;
}

.bundle-icon {
  margin-bottom: 1.25rem;
}

.eligible-product.bundle h3 {
  margin-bottom: 0.75rem;
}

.eligible-product.bundle p {
  margin-bottom: 1rem;
}

.about-brand {
  padding: 5rem 6%;
}

.about-content {
  max-width: 1000px;
  margin: 0 auto;
}

.about-content h2 {
  margin-bottom: 2.5rem;
}

.about-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  align-items: start;
}

.about-text p {
  margin-bottom: 1.25rem;
}

.about-features {
  list-style: none;
  margin-top: 2rem;
  padding: 1.75rem 2rem;
}

.about-features li {
  padding: 0.65rem 0;
  padding-left: 2rem;
  position: relative;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.about-features li:last-child {
  border-bottom-style: none;
}

.about-features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.about-stats {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.stat-box {
  padding: 1.75rem;
  text-align: center;
}

.stat-value {
  display: block;
  margin-bottom: 0.35rem;
}

.code-faq {
  padding: 5rem 6%;
}

.faq-content {
  max-width: 850px;
  margin: 0 auto;
}

.faq-content h2 {
  text-align: center;
  margin-bottom: 3rem;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.faq-item-large {
  padding: 1.75rem 2.25rem;
  border-left-width: 4px;
  border-left-style: solid;
}

.faq-item-large h3 {
  margin-bottom: 0.75rem;
}

.final-cta {
  padding: 5rem 6%;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.final-cta::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.final-cta-content {
  max-width: 650px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.final-cta h2 {
  margin-bottom: 0.75rem;
}

.final-cta p {
  margin-bottom: 2.25rem;
}

.final-cta strong {
  padding: 0.25rem 0.75rem;
}

.final-buttons {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.final-btn {
  padding: 1.15rem 2.75rem;
}

.final-btn.us {
  border-width: 2px;
  border-style: solid;
}

@media (max-width: 768px) {
  .mega-code code {
    padding: 1rem 2rem;
  }

  .steps-grid {
    grid-template-columns: 1fr;
  }

  .product-cards {
    grid-template-columns: 1fr;
  }

  .about-grid {
    grid-template-columns: 1fr;
  }

  .about-stats {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .stat-box {
    flex: 1;
    min-width: 140px;
  }

  .region-shop-btns {
    flex-direction: column;
    align-items: center;
  }

  .region-shop-btn {
    width: 100%;
    max-width: 300px;
    justify-content: center;
  }

  .final-buttons {
    flex-direction: column;
    align-items: center;
  }

  .final-btn {
    width: 100%;
    max-width: 300px;
  }

  .discount-summary-table th,
    .discount-summary-table td {
    padding: 0.9rem 1.25rem;
  }
}

@media (pointer: coarse) {
  .mega-copy-btn,
    .region-shop-btn,
    .final-btn,
    .read-review {
    min-height: 48px;
  }
}

@media (max-width: 640px) {
  .brand-hero {
    padding: 5.5rem 5% 3rem;
  }

  .mega-code-box {
    padding: 2.25rem 1.75rem;
  }

  .how-to-use,
    .eligible-products,
    .about-brand,
    .code-faq {
    padding: 3.5rem 5%;
  }

  .discount-summary-table th,
    .discount-summary-table td {
    display: block;
    width: 100%;
    padding: 0.75rem 1.25rem;
  }

  .discount-summary-table th {
    padding-bottom: 0.25rem;
  }

  .discount-summary-table td {
    padding-top: 0.25rem;
    padding-bottom: 1rem;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
}

@media (max-width: 480px) {
  .mega-code code {
    padding: 0.85rem 1.5rem;
  }

  .mega-copy-btn {
    padding: 1rem 1.75rem;
    width: 100%;
    justify-content: center;
  }

  .step {
    padding: 2rem 1.5rem;
  }

  .step-number {
    width: 48px;
    height: 48px;
  }

  .eligible-product-info {
    padding: 1.5rem;
  }
}

@media (max-width: 375px) {
  .brand-hero {
    padding: 5rem 4% 2.5rem;
  }

  .brand-hero-logo {
    max-height: 50px;
  }

  .mega-code-box {
    padding: 1.75rem 1.25rem;
  }

  .mega-code code {
    padding: 0.75rem 1.25rem;
  }

  .mega-copy-btn {
    padding: 0.9rem 1.5rem;
  }

  .savings-badge {
    padding: 0.5rem 1.25rem;
  }

  .region-shop-btn {
    padding: 1.1rem 1.5rem;
    min-width: auto;
  }

  .how-to-use,
    .eligible-products,
    .about-brand,
    .code-faq {
    padding: 3rem 4%;
  }

  .step {
    padding: 1.5rem 1.25rem;
  }

  .stat-box {
    padding: 1.25rem;
  }

  .faq-item-large {
    padding: 1.5rem;
  }

  .final-cta {
    padding: 3.5rem 4%;
  }

  .final-btn {
    padding: 1rem 2rem;
  }
}

* {
  box-sizing: border-box;
}

body.tool-page {
  margin: 0;
  overflow-x: hidden;
}

.tool-page .navbar {
  position: relative;
}

.tool-page .skip-link {
  position: fixed;
  z-index: 1000;
  top: .75rem;
  left: .75rem;
  padding: .65rem .9rem;
}

.tool-breadcrumb {
  display: flex;
  width: min(1180px, 90vw);
  min-height: 52px;
  align-items: center;
  gap: .55rem;
  margin: 0 auto;
  overflow: hidden;
  white-space: nowrap;
}

.tool-breadcrumb a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.tool-breadcrumb span:last-child {
  overflow: hidden;
}

.tool-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
  width: min(1280px, 100%);
  min-height: 590px;
  margin: 0 auto;
}

.tool-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(2.5rem, 6vw, 6rem);
}

.tool-hero h1 {
  max-width: 12ch;
  margin: .85rem 0 1.25rem;
}

.tool-hero-copy > p {
  max-width: 55ch;
  margin: 0;
}

.tool-hero-notes {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1.2rem;
  margin-top: 1.75rem;
}

.tool-hero-notes span::before {
  margin-right: .45rem;
  content: '—';
}

.tool-hero-media {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.tool-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 590px;
  object-fit: cover;
}

.tool-hero-media::after {
  position: absolute;
  inset: 0;
  content: '';
}

.tool-hero-media figcaption {
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: 1rem;
  max-width: calc(100% - 2rem);
  padding: .55rem .7rem;
}

.tool-trust-strip {
  display: flex;
  width: min(1280px, 100%);
  align-items: center;
  justify-content: center;
  gap: .65rem 1.7rem;
  margin: 0 auto;
  padding: .9rem 5vw;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.tool-trust-strip span::before {
  display: inline-block;
  width: .35rem;
  height: .35rem;
  margin-right: .55rem;
  content: '';
  vertical-align: .08rem;
}

.tool-shell {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(3rem, 7vw, 7.5rem);
  width: min(1180px, 90vw);
  margin: clamp(4rem, 8vw, 7.5rem) auto;
  align-items: start;
}

.tool-form-column {
  min-width: 0;
}

.tool-form-heading {
  margin-bottom: 2rem;
  padding-bottom: 1.35rem;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.tool-form-heading h2,
.tool-result h2,
.tool-content h2,
.tool-index h2 {
  margin: .55rem 0 0;
}

.tool-form-heading p {
  margin: .75rem 0 0;
}

.tool-form {
  display: grid;
  gap: 0;
}

.tool-fieldset {
  min-width: 0;
  margin: 0;
  padding: 1.2rem 0 1.35rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.tool-fieldset legend,
.tool-field > label,
.tool-field-label {
  display: block;
  margin-bottom: .65rem;
}

.tool-field {
  margin-top: 1rem;
}

.tool-field:first-child {
  margin-top: 0;
}

.tool-field select,
.tool-field input[type='number'] {
  width: 100%;
  min-height: 50px;
  padding: .72rem .85rem;
  border-width: 1px;
  border-style: solid;
}

.tool-field input[type='range'] {
  width: 100%;
  min-height: 44px;
}

.tool-range-readout {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-top: -.15rem;
}

.tool-segmented {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

.tool-segmented.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tool-segmented label {
  position: relative;
  min-width: 0;
}

.tool-segmented input {
  position: absolute;
}

.tool-segmented span {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .65rem .55rem;
  cursor: pointer;
  text-align: center;
}

.tool-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.tool-checkbox-grid label {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: .65rem;
  padding: .65rem .75rem;
  border-width: 1px;
  border-style: solid;
  cursor: pointer;
}

.tool-checkbox-grid input {
  width: 1.05rem;
  height: 1.05rem;
}

.tool-submit {
  display: inline-flex;
  width: 100%;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.6rem;
  padding: .85rem 1rem;
  border-width: 1px;
  border-style: solid;
  cursor: pointer;
}

.tool-submit::after {
  content: '→';
}

.tool-fine-print {
  margin: .9rem 0 0;
}

.tool-result {
  position: sticky;
  top: 1.5rem;
  scroll-margin-top: 5.5rem;
  min-width: 0;
  min-height: 520px;
  padding: clamp(1.5rem, 4vw, 3rem);
  border-top-width: 3px;
  border-top-style: solid;
}

.tool-empty {
  display: grid;
  min-height: 450px;
  align-content: center;
  gap: 1rem;
}

.tool-empty-diagram {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}

.tool-empty-diagram span {
  height: 1px;
}

.tool-empty-diagram b {
  display: grid;
  width: 4rem;
  height: 4rem;
  place-items: center;
  border-width: 1px;
  border-style: solid;
}

.tool-empty h2 {
  max-width: 14ch;
}

.tool-empty p {
  max-width: 48ch;
  margin: 0;
}

.tool-result-header {
  padding-bottom: 1.5rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.tool-result-header h2 {
  max-width: 17ch;
}

.tool-result-header p {
  max-width: 54ch;
  margin: .75rem 0 0;
}

.tool-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.25rem;
}

.tool-result-actions button,
.tool-result-actions a,
.tool-secondary-action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: .65rem .85rem;
  border-width: 1px;
  border-style: solid;
  cursor: pointer;
}

.finder-results {
  display: grid;
}

.finder-match {
  display: grid;
  grid-template-columns: 138px minmax(0, 1fr);
  gap: 1.25rem;
  padding: 1.5rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.finder-match-media {
  position: relative;
  min-height: 138px;
  margin: 0;
  overflow: hidden;
}

.finder-match-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.finder-match-rank {
  position: absolute;
  top: .5rem;
  left: .5rem;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
}

.finder-match-body {
  min-width: 0;
}

.finder-match-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .8rem;
}

.finder-match-body h3 {
  margin: .35rem 0 .45rem;
}

.finder-match-body p {
  margin: 0;
}

.finder-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .85rem;
}

.finder-reasons span {
  padding: .28rem .42rem;
}

.finder-match-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1rem;
}

.finder-match-actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: .6rem .78rem;
  border-width: 1px;
  border-style: solid;
}

.finder-match-caveat {
  margin-top: .7rem !important;
}

.energy-status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  margin: 1.4rem 0;
  padding-bottom: 1.4rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.energy-status-mark {
  display: grid;
  width: 4.25rem;
  height: 4.25rem;
  place-items: center;
  border-width: 2px;
  border-style: solid;
}

.energy-status h3 {
  margin: 0;
}

.energy-status p {
  margin: .35rem 0 0;
}

.energy-ledger {
  display: grid;
  gap: .8rem;
}

.energy-ledger-row {
  display: grid;
  grid-template-columns: minmax(130px, .8fr) minmax(0, 1.2fr) auto;
  gap: .75rem;
  align-items: center;
}

.energy-ledger-row strong {
  min-width: 4.2rem;
  text-align: right;
}

.energy-bar {
  height: .55rem;
  overflow: hidden;
}

.energy-bar i {
  display: block;
  width: var(--bar, 0%);
  height: 100%;
}

.energy-scenarios {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1.5rem;
  border-width: 1px;
  border-style: solid;
}

.energy-scenario {
  padding: 1rem;
}

.energy-scenario strong {
  display: block;
  margin-top: .25rem;
}

.energy-assumptions {
  margin: 1.3rem 0 0;
  padding: 1.2rem 0 0 1.1rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.packing-progress {
  margin: 1.3rem 0 1.6rem;
}

.packing-progress-line {
  height: .55rem;
  overflow: hidden;
}

.packing-progress-line i {
  display: block;
  width: var(--progress, 0%);
  height: 100%;
}

.packing-progress p {
  display: flex;
  justify-content: space-between;
  margin: .45rem 0 0;
}

.packing-category {
  padding: 1.2rem 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.packing-category h3 {
  margin: 0 0 .65rem;
}

.packing-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .7rem;
  align-items: start;
  min-height: 44px;
  padding: .5rem 0;
  cursor: pointer;
}

.packing-item input {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: .15rem;
}

.tool-content {
  width: min(880px, 90vw);
  margin: clamp(5rem, 9vw, 8rem) auto;
}

.tool-content > section {
  display: grid;
  grid-template-columns: minmax(190px, .42fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 4.5rem);
  padding: clamp(2rem, 5vw, 4rem) 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.tool-content > section {
  position: relative;
}

.tool-content > section::before {
  content: '';
  position: absolute;
  left: 0;
  top: .45rem;
  width: min(72px, 16vw);
  height: 1px;
}

.tool-content > section > h2 {
  margin: 0;
}

.tool-content-copy p:first-child {
  margin-top: 0;
}

.tool-result-note {
  margin-top: .9rem;
}

.tool-faq details {
  border-top-width: 1px;
  border-top-style: solid;
}

.tool-faq summary {
  min-height: 54px;
  padding: .95rem 2rem .95rem 0;
  cursor: pointer;
}

.tool-faq details p {
  margin: 0 0 1.2rem;
}

.tool-index {
  width: min(1180px, 90vw);
  margin: clamp(3rem, 5vw, 5rem) auto;
}

.tool-index-intro {
  max-width: 680px;
  margin-bottom: 3rem;
}

.tool-index-list {
  border-top-width: 2px;
  border-top-style: solid;
}

.tool-index-row {
  display: grid;
  grid-template-columns: 4rem minmax(0, .75fr) minmax(0, 1.25fr) auto;
  gap: clamp(1rem, 4vw, 3.5rem);
  align-items: center;
  min-height: 180px;
  padding: 1.2rem clamp(1rem, 2vw, 1.6rem);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  margin-bottom: .2rem;
}

.tool-index-row h2 {
  margin: 0;
}

.tool-index-row p {
  margin: 0;
}

.tool-index-row > b {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-width: 1px;
  border-style: solid;
}

.tool-jump-grid {
  margin-top: 1.3rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
}

.tool-jump-card {
  display: grid;
  gap: .56rem;
  min-height: 100%;
  padding: 1rem;
  border-width: 1px;
  border-style: solid;
}

.tool-jump-card > span {
  width: 1.8rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-width: 1px;
  border-style: solid;
}

.tool-jump-card p {
  margin: 0;
}

.tool-method-note {
  width: min(1180px, 90vw);
  margin: 0 auto clamp(5rem, 9vw, 9rem);
  padding: 2rem 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.tool-page .footer {
  margin-top: 0;
}

.tool-page .footer-hub-links a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

@media (max-width: 960px) {
  .tool-hero {
    grid-template-columns: 1fr;
  }

  .tool-hero-copy {
    order: 1;
  }

  .tool-hero-media {
    order: 2;
    min-height: 360px;
  }

  .tool-hero-media img {
    min-height: 360px;
  }

  .tool-shell {
    grid-template-columns: 1fr;
  }

  .tool-result {
    position: static;
  }
}

@media (max-width: 700px) {
  .tool-breadcrumb,
    .tool-shell,
    .tool-content,
    .tool-index,
    .tool-method-note {
    width: 100%;
    padding-inline: 5vw;
  }

  .tool-hero {
    min-height: 0;
  }

  .tool-hero-copy {
    padding: 2.75rem 5vw 3rem;
  }

  .tool-hero h1 {
    max-width: 14ch;
  }

  .tool-hero-media,
    .tool-hero-media img {
    min-height: 280px;
  }

  .tool-trust-strip {
    justify-content: flex-start;
    overflow-x: auto;
    white-space: nowrap;
  }

  .tool-shell {
    gap: 3rem;
    margin: 3.25rem auto 5rem;
  }

  .tool-result {
    min-height: 0;
    margin-inline: -5vw;
    padding: 1.5rem 5vw 2rem;
  }

  .tool-empty {
    min-height: 330px;
  }

  .tool-checkbox-grid,
    .tool-segmented.three,
    .energy-scenarios {
    grid-template-columns: 1fr;
  }

  .finder-match {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .finder-match-media {
    min-height: 0;
    aspect-ratio: 5 / 3;
  }

  .finder-match-media img {
    position: absolute;
    inset: 0;
  }

  .energy-ledger-row {
    grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr);
  }

  .energy-ledger-row strong {
    grid-column: 1 / -1;
    text-align: left;
  }

  .tool-content > section {
    grid-template-columns: 1fr;
  }

  .tool-index-row {
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
    min-height: 0;
    gap: .85rem;
    padding: 1.5rem 0;
  }

  .tool-index-row p {
    grid-column: 2 / -1;
  }

  .tool-index-row > b {
    grid-column: 3;
    grid-row: 1;
  }

  .tool-jump-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .tool-trust-strip {
    flex-wrap: wrap;
    justify-content: flex-start;
    overflow-x: visible;
    white-space: normal;
  }
}

@media print {
  .tool-page .navbar,
    .tool-page .menu-overlay,
    .tool-page .tool-breadcrumb,
    .tool-page .tool-hero,
    .tool-page .tool-trust-strip,
    .tool-page .tool-form-column,
    .tool-page .tool-content,
    .tool-page .footer,
    .tool-result-actions {
    display: none !important;
  }

  .tool-shell,
    .tool-result {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border-width: 0;
  }
}

:root {
  --tm-content: 76rem;
  --tm-reading: 47rem;
  --tm-gutter: clamp(1.25rem, 4vw, 4.5rem);
  --tm-space-1: clamp(.45rem, .35rem + .3vw, .7rem);
  --tm-space-2: clamp(.8rem, .65rem + .5vw, 1.15rem);
  --tm-space-3: clamp(1.25rem, 1rem + .8vw, 1.9rem);
  --tm-space-4: clamp(2rem, 1.45rem + 1.8vw, 3.4rem);
  --tm-space-5: clamp(3.25rem, 2.1rem + 3.2vw, 6.5rem);
  --tm-space-6: clamp(5rem, 3.2rem + 5vw, 9.5rem);
}

html {
  scroll-padding-top: 6rem;
}

body {
  position: relative;
  min-width: 20rem;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9998;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}

:where(img, video) {
  max-width: 100%;
}

.skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 10001;
  padding: .7rem 1rem;
}

.reading-progress {
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
}

.copy-feedback-toast {
  position: fixed;
  z-index: 10000;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  width: min(24rem, calc(100vw - 2rem));
  padding: .85rem 1rem;
  border-width: 1px;
  border-style: solid;
  border-left-width: 4px;
  border-left-style: solid;
}

body .navbar,
body .discount-nav {
  position: sticky;
  inset: 0 0 auto;
  z-index: 1000;
  width: 100%;
  min-height: 4.75rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(1rem, 2vw, 2.25rem);
  padding: .8rem var(--tm-gutter);
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body .navbar[data-scrolled='true'],
body .discount-nav[data-scrolled='true'] {
  min-height: 4.15rem;
}

body .navbar .logo,
body .discount-nav .logo {
  position: relative;
  z-index: 2;
  white-space: nowrap;
}

body .navbar .logo::after,
body .discount-nav .logo::after {
  content: '';
  position: absolute;
  right: -.7rem;
  bottom: -.2rem;
  width: .32rem;
  height: .32rem;
}

body .navbar .nav-links,
body .discount-nav .nav-links {
  grid-column: 2;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(.85rem, 1.65vw, 1.65rem);
  margin: 0;
  padding: 0;
}

body .navbar .nav-links a,
body .discount-nav .nav-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: .25rem 0;
  white-space: nowrap;
}

body .navbar .nav-links a::after,
body .discount-nav .nav-links a::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: .35rem;
  left: 0;
  width: auto;
  height: 1px;
  transform: scaleX(0);
  transform-origin: right;
}

body .navbar .nav-links a:hover::after,
body .navbar .nav-links a[aria-current]::after,
body .discount-nav .nav-links a:hover::after,
body .discount-nav .nav-links a[aria-current]::after {
  transform: scaleX(1);
  transform-origin: left;
}

body .navbar .nav-cta-item a,
body .discount-nav .nav-cta-item a {
  min-height: 2.55rem;
  padding: .45rem .85rem;
  border-width: 1px;
  border-style: solid;
}

body .navbar .nav-cta-item a::after,
body .discount-nav .nav-cta-item a::after {
  display: none;
}

.lang-switcher {
  grid-column: 3;
}

.lang-current {
  min-width: 3.2rem;
  min-height: 2.75rem;
  border-width: 1px;
  border-style: solid;
}

.lang-dropdown {
  padding: .35rem;
}

body .lang-switcher .lang-dropdown li a {
  min-height: 3rem;
  padding: .55rem .65rem;
}

body .lang-switcher .lang-dropdown li + li {
  margin-top: .5rem;
}

body .lang-switcher[data-open='false'] .lang-dropdown {
  display: none;
}

body .lang-switcher[data-open='true'] .lang-dropdown {
  display: block;
}

body .product-thumb.is-logo,
body .table-product img.is-logo {
  padding: .55rem;
  object-fit: contain;
}

body .review-card-media.is-logo {
  padding: clamp(2.5rem, 8vw, 5rem);
}

body .review-card-media.is-logo img,
body .brand-comparison-related-grid img.related-logo {
  object-fit: contain;
}

body .brand-comparison-related-grid img.related-logo {
  padding: .45rem;
}

body .hero,
body .review-hero,
body .discount-hero,
body .reviews-hub,
body .guides-hub,
body .vs-hub-page,
body .tool-page,
body .brand-comparison-page,
body .rockbrook-editorial-page {
  isolation: isolate;
}

body .hero {
  min-height: clamp(38rem, 74vh, 49rem);
}

body .hero-content {
  padding-left: var(--tm-gutter);
  padding-right: clamp(2rem, 5vw, 5.5rem);
}

body .hero-content h1 {
  max-width: 13ch;
}

body .hero-content p {
  max-width: 48ch;
}

body .hero-media {
  min-height: clamp(38rem, 74vh, 49rem);
  border-width: 0;
}

body .hero-media figcaption,
body :where(.review-hero-media, .discount-hero-media, .reviews-hub-hero-media, .guides-hub-hero-media, .brand-comparison-hero-media, .rb-hero-media) figcaption {
  right: 1rem;
  bottom: 1rem;
  left: auto;
  max-width: min(30rem, calc(100% - 2rem));
  padding: .55rem .75rem;
  border-width: 1px;
  border-style: solid;
}

.eyebrow,
.section-label,
.section-tag,
.tool-kicker,
.rb-eyebrow,
.brand-comparison-eyebrow,
.review-next-steps-label,
.ownership-kicker,
.cta-block-label,
.faq-cta-kicker,
.rb-section-label,
.tool-section-label {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
}

.eyebrow::before,
.section-label::before,
.section-tag::before,
.tool-kicker::before,
.rb-eyebrow::before,
.brand-comparison-eyebrow::before {
  content: '';
  width: 1.7rem;
  height: 1px;
}

.breadcrumb,
.brand-comparison-breadcrumb,
.rb-breadcrumb,
.tool-breadcrumb {
  max-width: none;
  margin: 0;
  padding: 0;
  border-width: 0;
}

body .breadcrumb,
body .faq-hero .breadcrumb,
body .review-hero .breadcrumb,
body .discount-hero .breadcrumb,
body .vs-hero .breadcrumb,
body .guides-hub > .breadcrumb,
body .discounts-page > nav.breadcrumb {
  padding: 0;
  border-width: 0;
}

:where(.cta-button, .review-hero-cta, .review-offer-primary, .faq-cta-primary,
    .rb-primary-cta, .tool-submit, .btn-buy, .shop-btn, .full-details-link,
    .cta-link-primary, .article-pick-actions .btn-buy, .guide-bottom-cta .btn-primary) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .75rem 1.25rem;
  border-width: 1px;
  border-style: solid;
}

:where(.cta-button, .review-hero-cta, .review-offer-primary, .faq-cta-primary,
    .rb-primary-cta, .tool-submit, .btn-buy, .shop-btn, .full-details-link,
    .cta-link-primary):hover {
  transform: translateY(-2px);
}

:where(.cta-button.secondary, .review-hero-secondary, .review-offer-secondary,
    .faq-cta-secondary, .rb-secondary-cta, .btn-review, .cta-link-secondary,
    .tool-result-actions a:not(.primary)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .72rem 1.2rem;
  border-width: 1px;
  border-style: solid;
}

body .review-hero,
body .discount-hero {
  padding: 0;
}

body .review-hero-grid,
body .discount-hero-grid {
  width: min(100%, 96rem);
  min-height: clamp(35rem, 66vh, 43rem);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(24rem, .98fr);
  align-items: stretch;
}

body .review-hero-copy,
body .discount-hero-copy {
  align-self: center;
  padding: var(--tm-space-5) clamp(2rem, 5vw, 5.5rem) var(--tm-space-5) var(--tm-gutter);
}

body .review-hero .breadcrumb,
body .discount-hero .breadcrumb {
  margin-bottom: var(--tm-space-4);
}

body .review-hero h1,
body .discount-hero h1 {
  max-width: 15ch;
  margin: var(--tm-space-2) 0 var(--tm-space-3);
}

body .review-meta-bar,
body .discount-meta {
  max-width: 42rem;
  margin: var(--tm-space-2) 0 0;
  gap: .7rem 1.1rem;
}

.review-disclosure,
.discount-disclosure {
  max-width: 43rem;
  margin-top: var(--tm-space-3);
  padding-top: var(--tm-space-2);
  border-top-width: 1px;
  border-top-style: solid;
}

.review-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: var(--tm-space-3);
}

body .review-hero-media,
body .discount-hero-media {
  position: relative;
  min-height: 0;
  align-self: stretch;
  margin: clamp(1.75rem, 3vw, 3.2rem) var(--tm-gutter) clamp(1.75rem, 3vw, 3.2rem) 0;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

body .review-hero-media img,
body .discount-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 31rem;
  object-fit: cover;
}

.discount-code-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin: var(--tm-space-3) 0;
}

.code-box-hero {
  padding: .72rem 1rem;
  border-width: 1px;
  border-style: solid;
}

body .review-main,
body .discount-main,
body .faq-main {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  max-width: none;
  margin: 0 auto;
  padding: var(--tm-space-5) 0 var(--tm-space-6);
}

.review-main > :where(h2, h3, p, ul, ol, table, blockquote, .pros-cons, .skip-callout, .article-visual, figure),
.discount-main > :where(h2, h3, p, ul, ol, table, blockquote, .pros-cons, .article-visual, figure),
.faq-main > :where(h2, h3, p, ul, ol, table, blockquote, .article-visual, figure) {
  width: min(100%, var(--tm-reading));
  margin-right: auto;
  margin-left: auto;
}

:where(.review-main, .discount-main, .faq-main, .rb-article, .brand-comparison-article, .guide-main, .article-content) h2 {
  margin-top: var(--tm-space-5);
  margin-bottom: var(--tm-space-2);
}

:where(.review-main, .discount-main, .faq-main, .rb-article, .brand-comparison-article, .guide-main, .article-content) h3 {
  margin-top: var(--tm-space-4);
  margin-bottom: var(--tm-space-1);
}

:where(.review-main, .discount-main, .faq-main, .rb-article, .brand-comparison-article, .guide-main, .article-content) p {
  margin-bottom: 1.2em;
}

:where(.review-main, .discount-main, .faq-main, .rb-article, .brand-comparison-article, .guide-main, .article-content) :where(ul, ol) {
  margin-top: var(--tm-space-2);
  margin-bottom: var(--tm-space-3);
  padding-left: 1.2rem;
}

:where(.review-main, .discount-main, .faq-main, .rb-article, .brand-comparison-article, .guide-main, .article-content) li + li {
  margin-top: .55rem;
}

:where(.review-main, .discount-main, .faq-main, .rb-article, .brand-comparison-article, .guide-main, .article-content) blockquote {
  margin-top: var(--tm-space-4);
  margin-bottom: var(--tm-space-4);
  padding: var(--tm-space-3) 0 var(--tm-space-3) clamp(1.25rem, 3vw, 2.5rem);
  border-left-width: 2px;
  border-left-style: solid;
}

:where(.review-main, .discount-main, .faq-main, .brand-comparison-article, .guide-main) table {
  width: 100%;
  margin: var(--tm-space-4) 0;
  border-collapse: collapse;
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

:where(.review-main, .discount-main, .faq-main, .brand-comparison-article, .guide-main) th {
  padding: .85rem .75rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-align: left;
}

:where(.review-main, .discount-main, .faq-main, .brand-comparison-article, .guide-main) td {
  padding: .85rem .75rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  vertical-align: top;
}

.article-visual,
.guide-image,
.article-image,
.rb-hero-media,
.brand-comparison-hero-media {
  overflow: hidden;
}

.article-visual img,
.guide-image img,
.article-image img {
  display: block;
  width: 100%;
  height: auto;
}

:where(.article-visual, .guide-image, .article-image) figcaption {
  padding: .7rem .85rem;
  border-top-width: 1px;
  border-top-style: solid;
}

.review-decision {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(17rem, .8fr);
  gap: clamp(1.5rem, 3.5vw, 4rem);
  align-items: start;
  margin-bottom: var(--tm-space-6);
  padding-top: var(--tm-space-3);
  border-top-width: 2px;
  border-top-style: solid;
}

body .review-main .review-decision {
  grid-template-columns: minmax(0, 1.6fr) minmax(17rem, .8fr);
  gap: clamp(1.5rem, 3.5vw, 4rem);
  align-items: start;
  margin: 0 0 var(--tm-space-6);
  padding-top: var(--tm-space-3);
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 0;
}

body .review-tldr {
  margin: 0;
  padding: 0;
  border-width: 0;
}

body .review-main .review-decision .review-tldr {
  margin: 0;
  padding: 0;
  border-width: 0;
}

.review-tldr-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: var(--tm-space-2);
}

.review-score-note {
  padding-top: var(--tm-space-2);
  border-top-width: 1px;
  border-top-style: solid;
}

.review-offer-card {
  position: sticky;
  top: 6rem;
  padding: var(--tm-space-3);
  border-width: 1px;
  border-style: solid;
  border-top-width: 3px;
  border-top-style: solid;
}

body .review-main .review-offer-card {
  position: sticky;
  top: 6rem;
  align-self: start;
  padding: var(--tm-space-3);
  border-width: 1px;
  border-style: solid;
  border-top-width: 3px;
  border-top-style: solid;
}

.review-offer-card h2 {
  margin: .7rem 0;
}

body .review-main .review-offer-card h2 {
  max-width: 16ch;
  margin: .7rem 0;
}

body .review-main .review-offer-card > p,
body .review-main .review-offer-card .review-offer-checked {
  margin-bottom: var(--tm-space-2);
}

.review-offer-facts {
  margin: var(--tm-space-2) 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body .review-main .review-offer-card .review-offer-facts {
  display: block;
  margin: var(--tm-space-2) 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 0;
}

.review-offer-facts > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .6rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body .review-main .review-offer-card .review-offer-facts > div,
body .review-main .review-offer-card .review-offer-facts > div + div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .6rem 0;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body .review-main .review-offer-card .review-offer-facts dt {
  margin: 0;
}

.review-region-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .4rem;
  margin: var(--tm-space-2) 0;
}

body .review-main .review-offer-card .review-region-actions a {
  border-width: 1px;
  border-style: solid;
}

.review-offer-primary,
.review-offer-secondary {
  width: 100%;
  margin-top: .45rem;
}

.ownership-detail {
  margin: 0 0 var(--tm-space-6);
  padding: var(--tm-space-5) 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.ownership-detail-header {
  display: grid;
  grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr);
  gap: 1rem clamp(2rem, 5vw, 5rem);
  margin-bottom: var(--tm-space-4);
}

.ownership-detail-header .ownership-kicker {
  grid-column: 1;
}

.ownership-detail-header h2,
.ownership-detail-header p {
  grid-column: 2;
}

.ownership-detail-header h2 {
  margin: 0;
}

.ownership-detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top-width: 1px;
  border-top-style: solid;
  list-style: none;
}

.ownership-detail-list li {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 1rem;
  margin: 0;
  padding: var(--tm-space-3) clamp(1rem, 2vw, 2rem) var(--tm-space-3) 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.ownership-detail-list li:nth-child(odd) {
  padding-right: clamp(1.5rem, 3vw, 3rem);
  border-right-width: 1px;
  border-right-style: solid;
}

.ownership-detail-list li:nth-child(even) {
  padding-left: clamp(1.5rem, 3vw, 3rem);
}

.ownership-detail-list h3 {
  margin: 0 0 .45rem;
}

.ownership-detail-list p {
  margin: 0;
}

.ownership-sources {
  display: grid;
  grid-template-columns: minmax(10rem, .45fr) minmax(0, 1fr);
  gap: .65rem 2rem;
  margin-top: var(--tm-space-3);
  padding-top: var(--tm-space-3);
}

body .review-main .ownership-sources {
  padding: var(--tm-space-3);
  border-top-width: 3px;
  border-top-style: solid;
}

.ownership-sources p {
  grid-column: 2;
}

.pros-cons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body :where(.pros, .cons) {
  padding: var(--tm-space-3);
  border-width: 0;
}

body .pros {
  border-right-width: 1px;
  border-right-style: solid;
}

.cta-block,
.faq-cta,
.rb-final-cta,
.article-pick-cta,
.guide-bottom-cta,
.reviews-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(14rem, .7fr);
  gap: var(--tm-space-4);
  align-items: center;
  margin: var(--tm-space-6) 0;
  padding: var(--tm-space-4);
  border-width: 0;
  text-align: left;
}

:where(.cta-block, .faq-cta, .rb-final-cta, .article-pick-cta, .guide-bottom-cta, .reviews-cta) h2,
:where(.cta-block, .faq-cta, .rb-final-cta, .article-pick-cta, .guide-bottom-cta, .reviews-cta) h3 {
  margin: .45rem 0;
}

:where(.cta-block, .faq-cta, .rb-final-cta, .article-pick-cta, .guide-bottom-cta, .reviews-cta) p {
  max-width: 55ch;
  margin: 0;
}

body .guide-bottom-cta .btn-secondary {
  min-height: 3rem;
  padding: .75rem 1.25rem;
  border-width: 1px;
  border-style: solid;
}

.cta-block-actions,
.faq-cta-actions,
.rb-final-cta-actions,
.reviews-cta-links {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .65rem;
}

.review-next-steps,
.faq-related,
.related-grid,
.brand-comparison-related,
.rb-related {
  margin: var(--tm-space-5) 0;
  padding: var(--tm-space-3) 0;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.review-next-steps h2,
.faq-related h3,
.related-grid h3,
.brand-comparison-related h2,
.rb-related h2 {
  margin: .65rem 0 var(--tm-space-2);
}

.review-next-steps-grid,
.brand-comparison-related-grid,
.rb-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
}

.review-next-steps-grid a,
.brand-comparison-related-grid a,
.rb-related-grid a {
  min-height: 8rem;
  padding: var(--tm-space-2);
}

.review-byline,
.rb-byline,
.brand-comparison-byline {
  margin-top: var(--tm-space-5);
  padding-top: var(--tm-space-3);
  border-top-width: 1px;
  border-top-style: solid;
}

body .faq-hero {
  position: relative;
  min-height: clamp(27rem, 54vh, 36rem);
  display: grid;
  align-content: center;
  gap: var(--tm-space-2);
  padding: var(--tm-space-5) max(var(--tm-gutter), calc((100vw - var(--tm-reading)) / 2));
  overflow: hidden;
}

body .faq-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
}

body .faq-hero > * {
  position: relative;
  z-index: 1;
}

body .faq-hero h1 {
  max-width: 16ch;
  margin: 0;
}

body .faq-meta {
  max-width: none;
  margin: 0;
}

body .faq-tldr,
body .verified-badge {
  width: min(100%, var(--tm-reading));
  margin: 0 auto var(--tm-space-4);
  padding: var(--tm-space-3) 0;
  border-width: 0;
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.article-visual-guides {
  width: min(100%, var(--tm-content));
  margin: var(--tm-space-6) auto;
  padding-top: var(--tm-space-4);
  border-top-width: 1px;
  border-top-style: solid;
}

.article-visual-guide-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: .7rem;
}

.article-visual-guide-card {
  position: relative;
  min-height: 17rem;
  overflow: hidden;
}

body .article-visual-guide-card {
  isolation: isolate;
  display: block;
  min-height: 17rem;
  border-width: 0;
}

body .article-visual-guide-card::after {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0;
}

body .article-visual-guide-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  object-fit: cover;
}

body .article-visual-guide-card span {
  position: absolute;
  z-index: 1;
  right: .8rem;
  bottom: .8rem;
  left: .8rem;
  padding: 0;
}

body :where(.reviews-hub, .guides-hub, .vs-hub-page) {
  padding-top: 0;
}

body :where(.reviews-hub-hero, .guides-hub-hero) {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  min-height: clamp(34rem, 66vh, 43rem);
  margin: 0 auto;
  padding: var(--tm-space-5) 0;
  display: grid;
  grid-template-columns: minmax(20rem, .9fr) minmax(28rem, 1.1fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: center;
}

body :where(.reviews-hub-hero-copy, .guides-hub-hero-copy) {
  padding: 0;
}

body :where(.reviews-hub-hero, .guides-hub-hero) h1 {
  max-width: 10ch;
  margin: var(--tm-space-2) 0 var(--tm-space-3);
}

body :where(.reviews-hub-hero, .guides-hub-hero) p {
  max-width: 48ch;
}

body :where(.reviews-hub-hero-media, .guides-hub-hero-media) {
  min-height: 32rem;
}

.hub-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: var(--tm-space-3);
}

.hub-shortcuts a {
  min-height: 3rem;
  padding: .6rem .8rem;
  border-width: 1px;
  border-style: solid;
}

.reviews-grid,
.guides-grid,
.vs-cards-grid,
.brand-discount-section,
.guide-topic-grid {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  margin-right: auto;
  margin-left: auto;
}

.review-cards,
.guides-grid,
.vs-cards-grid,
.guide-topic-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: clamp(1rem, 2vw, 1.6rem);
}

.review-card-link,
.guide-card,
.vs-card,
.guide-topic-card {
  grid-column: span 4;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

.review-card-link.featured,
.guide-card:first-child,
.vs-card.featured {
  grid-column: span 8;
}

.review-card-media,
.guide-card-image,
.vs-card-media {
  overflow: hidden;
}

.review-card-media img,
.guide-card-image img,
.vs-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-card-meta,
.guide-card-body,
.vs-card-meta,
.guide-topic-card {
  padding: var(--tm-space-3);
}

body .brand-comparison-hero,
body .rb-hero {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  min-height: clamp(34rem, 64vh, 43rem);
  margin: 0 auto;
  padding: var(--tm-space-5) 0;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(27rem, 1.1fr);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

body .brand-comparison-hero-copy,
body .rb-hero-copy {
  align-self: stretch;
  justify-content: center;
  padding: clamp(2.5rem, 5vw, 5rem);
}

body .brand-comparison-hero h1,
body .rb-hero h1 {
  margin: var(--tm-space-2) 0 var(--tm-space-3);
}

body .brand-comparison-page > .brand-comparison-breadcrumb {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  margin: 0 auto;
  padding: var(--tm-space-2) 0;
}

body .brand-comparison-hero-media,
body .rb-hero-media {
  min-height: 31rem;
  margin: 0;
}

body .brand-comparison-layout,
body .rb-layout {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  margin: 0 auto;
  padding: var(--tm-space-5) 0 var(--tm-space-6);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 18rem);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}

body .brand-comparison-article,
body .rb-article {
  min-width: 0;
}

body .brand-comparison-sidebar-inner,
body .rb-sidebar-inner {
  position: sticky;
  top: 6rem;
  padding: var(--tm-space-3);
  border-width: 1px;
  border-style: solid;
  border-top-width: 2px;
  border-top-style: solid;
}

body .vs-guide,
body .vs-hero {
  position: relative;
  min-height: clamp(31rem, 61vh, 41rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: var(--tm-space-5) max(var(--tm-gutter), calc((100vw - 62rem) / 2));
  text-align: left;
}

body .vs-guide > *,
body .vs-hero > * {
  position: relative;
  z-index: 1;
}

body .vs-guide h1,
body .vs-hero h1 {
  max-width: 17ch;
  margin: var(--tm-space-2) 0;
  text-align: left;
}

body .vs-guide .breadcrumb,
body .vs-hero .breadcrumb {
  margin: 0 0 var(--tm-space-3);
  padding: 0;
}

body .vs-guide .vs-matchup,
body .vs-hero .vs-matchup {
  justify-content: flex-start;
}

body .vs-guide .vs-intro,
body .vs-hero .vs-intro {
  max-width: 55ch;
  margin: 0;
  text-align: left;
}

body .quick-verdict,
body .comparison-verdict,
body .brand-comparison-verdict {
  margin-top: 0;
  border-width: 0;
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body .comparison-section,
body .reviews-section,
body .discounts-section,
body .faq-section,
body .partner-section,
body .home-tools-strip {
  padding: var(--tm-space-6) var(--tm-gutter);
}

body .section-header {
  max-width: 54rem;
  margin: 0 0 var(--tm-space-4);
  text-align: left;
}

body :where(.comparison-section, .reviews-section, .discounts-section, .faq-section, .partner-section) h2 {
  max-width: 17ch;
}

body .section-description {
  max-width: 55ch;
}

body .table-container {
  width: min(100%, var(--tm-content));
  margin: 0 auto;
  overflow: visible;
  border-width: 0;
}

body .comparison-table {
  border-top-width: 2px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body .comparison-table th {
  padding: .8rem .65rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body .comparison-table td {
  padding: 1rem .65rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  vertical-align: middle;
}

.table-tools {
  width: min(100%, var(--tm-content));
  margin: 0 auto var(--tm-space-3);
  padding: 0;
  border-width: 0;
}

.table-filter {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

.table-filter button,
.guide-table-filter button {
  min-height: 3rem;
  padding: .55rem .9rem;
  border-width: 1px;
  border-style: solid;
}

.discount-card,
.partner-card,
.brand-discount-card,
.faq-item {
  border-width: 1px;
  border-style: solid;
}

.home-tools-strip {
  display: grid;
  grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr);
  gap: clamp(2.5rem, 6vw, 7rem);
}

.home-tools-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
}

.home-tools-links a {
  min-height: 13rem;
  padding: var(--tm-space-3);
  border-width: 0;
}

body .discounts-hero {
  padding: var(--tm-space-5) var(--tm-gutter);
}

body .discounts-overview,
body .brand-discount-section,
body .discount-faq,
body .quick-codes {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  margin-right: auto;
  margin-left: auto;
}

body .copy-btn-large,
body .copy-btn {
  min-width: 3rem;
  min-height: 3rem;
}

body .tool-hero {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  min-height: clamp(31rem, 59vh, 39rem);
  margin: 0 auto;
  padding: var(--tm-space-5) 0;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(25rem, 1.1fr);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

body .tool-hero-copy {
  align-self: stretch;
  justify-content: center;
  padding: clamp(2.5rem, 5vw, 5rem);
}

body .tool-hero h1 {
  margin: var(--tm-space-2) 0 var(--tm-space-3);
}

body .tool-hero-media {
  min-height: 29rem;
  overflow: hidden;
}

body > .tool-breadcrumb,
body .tool-page > .tool-breadcrumb {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  margin: 0 auto;
  padding: var(--tm-space-2) 0;
}

body .tool-shell,
body .tool-content,
body .tool-index,
body .tool-faq {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  margin-right: auto;
  margin-left: auto;
}

body .tool-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, .72fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}

body .tool-form,
body .tool-result,
body .tool-index-row,
body .tool-jump-card {
  border-width: 1px;
  border-style: solid;
}

body .tool-result {
  position: sticky;
  top: 6rem;
}

body[data-page-key='about'] main,
body[data-page-key='methodology'] main,
body[data-page-key='disclosure'] main {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-reading));
  max-width: none !important;
  margin: 0 auto;
  padding: var(--tm-space-5) 0 var(--tm-space-6) !important;
}

body[data-page-key='about'] main > div,
body[data-page-key='methodology'] main > div,
body[data-page-key='disclosure'] main > div {
  max-width: none !important;
}

body footer,
body .footer {
  margin: 0;
  padding: var(--tm-space-5) var(--tm-gutter);
  border-top-width: 1px;
  border-top-style: solid;
  text-align: left;
}

body .footer-content {
  width: min(100%, var(--tm-content));
  margin: 0 auto;
}

body.home-page .hero-content::before {
  content: none;
}

@media (max-width: 1024px) {
  body .navbar,
    body .discount-nav {
    grid-template-columns: 1fr auto;
    min-height: 4.25rem;
    padding: .7rem max(1rem, env(safe-area-inset-left)) .7rem max(1rem, env(safe-area-inset-right));
  }

  body .navbar .logo,
    body .discount-nav .logo {
    grid-column: 1;
  }

  body .menu-toggle {
    grid-column: 2;
    display: flex;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    border-width: 1px;
    border-style: solid;
  }

  body .menu-toggle span {
    width: 1.25rem;
    height: 1px;
  }

  body .navbar .nav-links,
    body .discount-nav .nav-links {
    position: fixed;
    z-index: 1002;
    top: 4.25rem;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(25rem, 92vw);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    padding: var(--tm-space-3) clamp(1.25rem, 5vw, 2.5rem) calc(var(--tm-space-4) + env(safe-area-inset-bottom));
    overflow-y: auto;
    border-left-width: 1px;
    border-left-style: solid;
    transform: translateX(105%);
    visibility: hidden;
    pointer-events: none;
  }

  body .navbar .nav-links.active,
    body .discount-nav .nav-links.active {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  body .navbar .nav-links::before,
    body .discount-nav .nav-links::before {
    content: 'Explore Tesla camping';
    display: block;
    margin-bottom: var(--tm-space-3);
    padding-bottom: var(--tm-space-2);
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  html[lang='de'] body .navbar .nav-links::before {
    content: 'Tesla-Camping entdecken';
  }

  html[lang='fr'] body .navbar .nav-links::before {
    content: 'Explorer le camping en Tesla';
  }

  body .navbar .nav-links a,
    body .discount-nav .nav-links a {
    min-height: 3.5rem;
    justify-content: space-between;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body .navbar .nav-links a::after,
    body .discount-nav .nav-links a::after {
    content: '→';
    position: static;
    width: auto;
    height: auto;
    transform: none;
  }

  body .navbar .nav-cta-item a,
    body .discount-nav .nav-cta-item a {
    margin-top: var(--tm-space-2);
    justify-content: center;
    border-width: 1px;
    border-style: solid;
  }

  .lang-switcher {
    position: fixed;
    z-index: 1003;
    right: 4.25rem;
    top: .72rem;
  }

  body .lang-switcher .lang-dropdown {
    right: 0;
    left: auto;
  }

  body .review-hero-grid,
    body .discount-hero-grid,
    body :where(.reviews-hub-hero, .guides-hub-hero),
    body .brand-comparison-hero,
    body .rb-hero,
    body .tool-hero {
    grid-template-columns: 1fr;
  }

  body .review-hero-copy,
    body .discount-hero-copy {
    padding: var(--tm-space-5) var(--tm-gutter) var(--tm-space-4);
  }

  body .review-hero-media,
    body .discount-hero-media {
    min-height: 31rem;
    margin: 0 var(--tm-gutter) var(--tm-gutter);
  }

  body :where(.reviews-hub-hero, .guides-hub-hero),
    body .brand-comparison-hero,
    body .rb-hero,
    body .tool-hero {
    gap: var(--tm-space-4);
  }

  body :where(.reviews-hub-hero-media, .guides-hub-hero-media),
    body .brand-comparison-hero-media,
    body .rb-hero-media,
    body .tool-hero-media {
    min-height: 29rem;
  }

  .review-card-link,
    .guide-card,
    .vs-card,
    .guide-topic-card,
    .review-card-link.featured,
    .guide-card:first-child,
    .vs-card.featured {
    grid-column: span 6;
  }

  body .brand-comparison-layout,
    body .rb-layout {
    grid-template-columns: 1fr;
  }

  body .brand-comparison-sidebar-inner,
    body .rb-sidebar-inner {
    position: static;
  }

  .home-tools-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  :root {
    --tm-gutter: 1.1rem;
  }

  body .hero {
    min-height: auto;
    display: flex;
    flex-direction: column;
  }

  body .hero-content {
    order: 1;
    padding: var(--tm-space-5) var(--tm-gutter) var(--tm-space-4);
  }

  body .hero-content h1 {
    max-width: 10ch;
  }

  body .hero-buttons,
    .review-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  body .hero-buttons > *,
    .review-hero-actions > * {
    width: 100%;
  }

  body .review-main .review-decision {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--tm-space-4);
  }

  body .review-main .review-offer-card {
    position: static;
    width: 100%;
  }

  body .hero-media {
    order: 2;
    min-height: 0;
    height: min(68vw, 23rem);
  }

  body .hero-media figcaption {
    display: block;
    right: .65rem;
    bottom: .65rem;
    left: .65rem;
    max-width: none;
    padding: .48rem .62rem;
  }

  body .review-hero-grid,
    body .discount-hero-grid {
    min-height: 0;
  }

  body .review-hero h1,
    body .discount-hero h1,
    body .faq-hero h1,
    body :where(.reviews-hub-hero, .guides-hub-hero) h1,
    body .brand-comparison-hero h1,
    body .rb-hero h1,
    body .tool-hero h1,
    body .vs-guide h1,
    body .vs-hero h1 {
    max-width: 12ch;
  }

  body .review-hero .breadcrumb,
    body .discount-hero .breadcrumb {
    margin-bottom: var(--tm-space-3);
  }

  body .review-meta-bar {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .55rem .85rem;
  }

  body .review-meta-bar .score-badge {
    grid-row: span 2;
    align-self: start;
  }

  body .review-hero-media,
    body .discount-hero-media {
    min-height: 0;
    height: min(72vw, 24rem);
    margin: 0 var(--tm-gutter) var(--tm-gutter);
  }

  body .review-hero-media img,
    body .discount-hero-media img {
    min-height: 0;
  }

  body .review-main,
    body .discount-main,
    body .faq-main {
    width: calc(100% - (2 * var(--tm-gutter)));
    padding-top: var(--tm-space-4);
  }

  .review-decision,
    .cta-block,
    .faq-cta,
    .rb-final-cta,
    .article-pick-cta,
    .guide-bottom-cta,
    .reviews-cta,
    body .tool-shell {
    grid-template-columns: 1fr;
  }

  .review-offer-card,
    body .tool-result {
    position: static;
  }

  .ownership-detail-header {
    grid-template-columns: 1fr;
  }

  .ownership-detail-header .ownership-kicker,
    .ownership-detail-header h2,
    .ownership-detail-header p {
    grid-column: 1;
  }

  .ownership-detail-list {
    grid-template-columns: 1fr;
  }

  .ownership-detail-list li,
    .ownership-detail-list li:nth-child(odd),
    .ownership-detail-list li:nth-child(even) {
    padding: var(--tm-space-3) 0;
    border-right-width: 0;
  }

  .ownership-sources {
    grid-template-columns: 1fr;
  }

  .ownership-sources p {
    grid-column: 1;
  }

  .pros-cons {
    grid-template-columns: 1fr;
  }

  body .pros {
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .review-next-steps-grid,
    .brand-comparison-related-grid,
    .rb-related-grid,
    .article-visual-guide-grid,
    .home-tools-links {
    grid-template-columns: 1fr;
  }

  .article-visual-guide-card,
    .home-tools-links a {
    min-height: 12rem;
  }

  body .article-visual-guide-card {
    display: block;
    min-height: 12rem;
    grid-template-columns: none;
    grid-template-rows: none;
  }

  body .article-visual-guide-card img {
    position: absolute;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
  }

  body .faq-hero {
    min-height: 30rem;
    padding: var(--tm-space-4) var(--tm-gutter);
  }

  body :where(.reviews-hub-hero, .guides-hub-hero),
    body .brand-comparison-hero,
    body .rb-hero,
    body .tool-hero {
    width: calc(100% - (2 * var(--tm-gutter)));
    min-height: 0;
    padding: var(--tm-space-4) 0;
  }

  body :where(.reviews-hub-hero-media, .guides-hub-hero-media),
    body .brand-comparison-hero-media,
    body .rb-hero-media,
    body .tool-hero-media {
    min-height: 0;
    height: 72vw;
  }

  .review-cards,
    .guides-grid,
    .vs-cards-grid,
    .guide-topic-grid {
    grid-template-columns: 1fr;
  }

  .review-card-link,
    .guide-card,
    .vs-card,
    .guide-topic-card,
    .review-card-link.featured,
    .guide-card:first-child,
    .vs-card.featured {
    grid-column: 1;
  }

  body .brand-comparison-layout,
    body .rb-layout {
    width: calc(100% - (2 * var(--tm-gutter)));
    padding-top: var(--tm-space-4);
  }

  body .vs-guide,
    body .vs-hero {
    min-height: 34rem;
    padding: var(--tm-space-4) var(--tm-gutter);
  }

  body .table-container {
    overflow: visible;
  }

  body .comparison-table {
    min-width: 0;
    display: block;
    border-width: 0;
  }

  body .comparison-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  body .comparison-table tbody,
    body .comparison-table tr,
    body .comparison-table td {
    display: block;
    width: 100%;
  }

  body .comparison-table tr {
    margin-bottom: .8rem;
    padding: 0 var(--tm-space-2) var(--tm-space-2);
    border-width: 1px;
    border-style: solid;
    border-top-width: 2px;
    border-top-style: solid;
  }

  body .comparison-table td {
    display: grid;
    grid-template-columns: minmax(5.5rem, .42fr) minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    padding: .72rem 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body .comparison-table td:last-child {
    border-bottom-width: 0;
  }

  .table-filter,
    .guide-table-filter {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .table-filter button,
    .guide-table-filter button {
    width: 100%;
  }

  body footer,
    body .footer {
    padding: var(--tm-space-4) var(--tm-gutter) calc(var(--tm-space-4) + env(safe-area-inset-bottom));
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
    *::before,
    *::after {
    scroll-behavior: auto !important;
  }
}

@media print {
  body::before,
    .navbar,
    .discount-nav,
    .menu-overlay,
    .reading-progress,
    footer,
    .footer,
    .review-hero-actions,
    .cta-block,
    .faq-cta,
    .review-offer-card {
    display: none !important;
  }
}

:root {
  --tm-content: 100rem;
  --tm-reading: 47rem;
  --tm-gutter: clamp(1.25rem, 2.4vw, 2.5rem);
  --tm-space-1: .5rem;
  --tm-space-2: .875rem;
  --tm-space-3: clamp(1.25rem, 1.05rem + .55vw, 1.75rem);
  --tm-space-4: clamp(2rem, 1.6rem + 1.1vw, 3rem);
  --tm-space-5: clamp(3.25rem, 2.5rem + 2vw, 5.25rem);
  --tm-space-6: clamp(4.5rem, 3.5rem + 3vw, 7.5rem);
}

body[data-design="cinematic-camp-v1"] {
  min-width: 20rem;
  overflow-x: clip;
}

body[data-design="cinematic-camp-v1"].ranking-guide .guide-comparison-table .table-product img.is-logo {
  padding: .55rem;
  object-fit: contain;
}

body[data-design="cinematic-camp-v1"]::before {
  content: none;
}

body[data-design="cinematic-camp-v1"] .navbar,
body[data-design="cinematic-camp-v1"] .discount-nav {
  min-height: 4.25rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(.75rem, 1.4vw, 1.5rem);
  padding: .55rem var(--tm-gutter);
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .navbar[data-scrolled='true'],
body[data-design="cinematic-camp-v1"] .discount-nav[data-scrolled='true'] {
  min-height: 4.05rem;
}

body[data-design="cinematic-camp-v1"] .navbar .logo,
body[data-design="cinematic-camp-v1"] .discount-nav .logo {
  width: max-content;
  justify-self: start;
}

body[data-design="cinematic-camp-v1"] .navbar .logo::after,
body[data-design="cinematic-camp-v1"] .discount-nav .logo::after {
  right: -.55rem;
  bottom: .02rem;
  width: .38rem;
  height: .38rem;
}

body[data-design="cinematic-camp-v1"] .navbar .nav-links,
body[data-design="cinematic-camp-v1"] .discount-nav .nav-links {
  justify-content: flex-end;
  gap: clamp(.4rem, 1vw, 1.15rem);
}

body[data-design="cinematic-camp-v1"] .navbar .nav-links a,
body[data-design="cinematic-camp-v1"] .discount-nav .nav-links a {
  min-height: 2.75rem;
  padding: .65rem .45rem;
}

body[data-design="cinematic-camp-v1"] .navbar .nav-links a::after,
body[data-design="cinematic-camp-v1"] .discount-nav .nav-links a::after {
  bottom: .4rem;
  height: 2px;
}

body[data-design="cinematic-camp-v1"] .navbar .nav-cta-item a,
body[data-design="cinematic-camp-v1"] .discount-nav .nav-cta-item a {
  margin: 0;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] .navbar .nav-links a.nav-find-cta,
body[data-design="cinematic-camp-v1"] .discount-nav .nav-links a.nav-find-cta {
  min-height: 2.75rem;
  margin-left: .25rem;
  padding: .72rem 1.05rem;
  border-width: 1px;
  border-style: solid;
  white-space: nowrap;
}

body[data-design="cinematic-camp-v1"] .navbar .nav-links a.nav-find-cta::after,
body[data-design="cinematic-camp-v1"] .discount-nav .nav-links a.nav-find-cta::after {
  content: none;
}

body[data-design="cinematic-camp-v1"] .lang-current {
  min-width: 3rem;
  min-height: 3rem;
}

body[data-design="cinematic-camp-v1"].home-page .hero {
  height: 28rem;
  min-height: 28rem;
  display: grid;
  grid-template-columns: minmax(21rem, 41%) minmax(0, 59%);
  gap: clamp(1.25rem, 2vw, 2rem);
  padding: 0 var(--tm-gutter) 1.25rem;
  overflow: visible;
}

body[data-design="cinematic-camp-v1"].home-page .hero-content {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  max-width: 42rem;
  padding: 1.5rem clamp(1rem, 2.6vw, 2.75rem) 1.5rem clamp(.25rem, 1vw, 1rem);
}

body[data-design="cinematic-camp-v1"].home-page .hero-content h1 {
  max-width: 15ch;
  margin: .75rem 0 1rem;
}

body[data-design="cinematic-camp-v1"].home-page .hero-content p {
  max-width: 46ch;
  margin: 0;
}

body[data-design="cinematic-camp-v1"].home-page .hero-buttons {
  gap: .75rem;
  margin-top: 1.15rem;
}

body[data-design="cinematic-camp-v1"] :where(.cta-button, .review-hero-cta, .review-offer-primary, .faq-cta-primary,
    .rb-primary-cta, .tool-submit, .btn-buy, .shop-btn, .full-details-link,
    .cta-link-primary, .article-pick-actions .btn-buy, .guide-bottom-cta .btn-primary,
    .discount-cta-btn.primary, .btn-all-codes) {
  min-height: 3rem;
  padding: .78rem 1.25rem;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.cta-button, .review-hero-cta, .review-offer-primary, .faq-cta-primary,
    .rb-primary-cta, .tool-submit, .btn-buy, .shop-btn, .full-details-link,
    .cta-link-primary, .article-pick-actions .btn-buy, .guide-bottom-cta .btn-primary,
    .discount-cta-btn.primary, .btn-all-codes):hover {
  transform: translateY(-1px);
}

body[data-design="cinematic-camp-v1"] :where(.cta-button.secondary, .review-hero-secondary, .review-offer-secondary,
    .faq-cta-secondary, .rb-secondary-cta, .btn-review, .cta-link-secondary,
    .tool-result-actions a:not(.primary)) {
  min-height: 3rem;
  padding: .76rem 1.2rem;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"].home-page .hero-content .hero-disclosure {
  margin: .9rem 0 0;
}

body[data-design="cinematic-camp-v1"].home-page .hero-media {
  grid-column: 2;
  grid-row: 1;
  height: 28rem;
  min-height: 28rem;
  margin: 0;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"].home-page .hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body[data-design="cinematic-camp-v1"].home-page .hero-media figcaption {
  right: .85rem;
  bottom: .85rem;
  max-width: calc(100% - 1.7rem);
}

body[data-design="cinematic-camp-v1"].home-page .hero-buttons .cta-button {
  min-height: 3rem;
  padding: .78rem 1.25rem;
  border-width: 1px;
  border-style: solid;
}

.vehicle-selector {
  width: calc(100% - (2 * var(--tm-gutter)));
  min-height: 8rem;
  margin: 1.5rem auto 0;
  padding: 1rem 1.15rem;
  display: grid;
  grid-template-columns: minmax(12rem, .85fr) minmax(0, 3.2fr) minmax(12rem, 1fr);
  gap: 1rem;
  align-items: center;
  border-width: 1px;
  border-style: solid;
}

.vehicle-selector > h2 {
  margin: 0 .75rem;
}

.vehicle-selector-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
  margin: 0;
  padding: 0;
  border-width: 0;
}

.vehicle-option {
  position: relative;
  min-width: 0;
  cursor: pointer;
}

.vehicle-option input {
  position: absolute;
  width: 1px;
  height: 1px;
}

.vehicle-option > span {
  min-height: 4.4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: .7rem .85rem;
  border-width: 1px;
  border-style: solid;
  text-align: center;
}

.vehicle-option small {
  margin-top: .15rem;
}

.vehicle-selector > button {
  min-height: 3.75rem;
  padding: .8rem 1rem;
  border-width: 1px;
  border-style: solid;
  cursor: pointer;
}

.swiss-trust-rail {
  width: calc(100% - (2 * var(--tm-gutter)));
  min-height: 3rem;
  margin: .625rem auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: center;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.swiss-trust-rail > span {
  min-height: 2rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .65rem;
  padding: 0 1rem;
  border-right-width: 1px;
  border-right-style: solid;
}

.swiss-trust-rail > a {
  padding: .5rem 1rem;
}

.home-featured {
  width: calc(100% - (2 * var(--tm-gutter)));
  margin: .25rem auto 0;
  padding: 1.1rem 1.25rem 1.25rem;
  border-width: 1px;
  border-style: solid;
}

.home-featured-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: .9rem;
}

.home-featured-heading h2 {
  margin: 0;
}

.home-featured-heading > a {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  padding: .55rem .95rem;
  border-width: 1px;
  border-style: solid;
}

.home-featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.home-featured-card {
  min-width: 0;
  height: 8rem;
  min-height: 8rem;
  display: grid;
  grid-template-columns: minmax(8rem, 42%) minmax(0, 1fr);
  align-items: center;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

.home-featured-card > img {
  width: 100%;
  height: 8rem;
  min-height: 8rem;
  object-fit: cover;
}

.home-featured-card > span {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: .9rem;
}

.home-featured-card small {
  margin-top: .25rem;
}

.home-featured-card b {
  margin-top: .65rem;
}

.home-featured-card i {
  margin-left: .25rem;
}

body[data-design="cinematic-camp-v1"] .review-hero,
body[data-design="cinematic-camp-v1"] .discount-hero {
  padding: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .review-hero-grid,
body[data-design="cinematic-camp-v1"] .discount-hero-grid {
  width: min(100%, var(--tm-content));
  min-height: 34rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  padding: 1.5rem var(--tm-gutter) 2rem;
}

body[data-design="cinematic-camp-v1"] .review-hero-copy,
body[data-design="cinematic-camp-v1"] .discount-hero-copy {
  padding: 3rem clamp(1rem, 2.5vw, 2.5rem) 3rem 0;
}

body[data-design="cinematic-camp-v1"] .review-hero .breadcrumb,
body[data-design="cinematic-camp-v1"] .discount-hero .breadcrumb {
  margin-bottom: 1.5rem;
}

body[data-design="cinematic-camp-v1"] .review-hero h1,
body[data-design="cinematic-camp-v1"] .discount-hero h1 {
  max-width: 16ch;
  margin: .75rem 0 1rem;
}

body[data-design="cinematic-camp-v1"] .review-disclosure,
body[data-design="cinematic-camp-v1"] .discount-disclosure {
  margin-top: 1rem;
  padding-top: 1rem;
}

body[data-design="cinematic-camp-v1"] .review-hero-media,
body[data-design="cinematic-camp-v1"] .discount-hero-media {
  width: 100%;
  aspect-ratio: auto;
  margin: 0;
}

body[data-design="cinematic-camp-v1"] .review-hero-media img,
body[data-design="cinematic-camp-v1"] .discount-hero-media img {
  min-height: 32rem;
}

body[data-design="cinematic-camp-v1"] .brand-comparison-hero,
body[data-design="cinematic-camp-v1"] .rb-hero,
body[data-design="cinematic-camp-v1"] .tool-hero {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  min-height: 34rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 1.5rem auto 0;
  padding: 0;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .brand-comparison-hero-copy,
body[data-design="cinematic-camp-v1"] .rb-hero-copy,
body[data-design="cinematic-camp-v1"] .tool-hero-copy {
  padding: 3rem;
}

body[data-design="cinematic-camp-v1"] .brand-comparison-hero h1,
body[data-design="cinematic-camp-v1"] .rb-hero h1,
body[data-design="cinematic-camp-v1"] .tool-hero h1 {
  max-width: 16ch;
  margin: .75rem 0 1rem;
}

body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero-media, .rb-hero-media, .tool-hero-media) {
  min-height: 32rem;
  margin: .75rem .75rem .75rem 0;
  overflow: hidden;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero-media, .rb-hero-media, .tool-hero-media) img {
  min-height: 32rem;
}

body[data-design="cinematic-camp-v1"] .brand-comparison-hero-copy > p {
  margin: 1rem 0 0;
}

body[data-design="cinematic-camp-v1"] .discount-hero .discount-cta:not(.discount-cta-secondary) {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .discount-hero .discount-cta-secondary {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .brand-comparison-byline {
  margin-top: 1.5rem;
  padding-top: 1rem;
}

body[data-design="cinematic-camp-v1"] .brand-comparison-matchup b {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero-actions, .rb-hero-actions, .guide-hero-actions, .tool-hero-actions) {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.25rem;
}

body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero-actions, .rb-hero-actions, .guide-hero-actions, .tool-hero-actions) a {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
}

body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero-primary, .rb-hero-actions .rb-primary-cta,
    .guide-hero-primary, .tool-hero-start) {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero-secondary, .rb-hero-actions .rb-secondary-cta,
    .tool-hero-secondary) {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .guide-hero-secondary {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.anchor-target, #quick-verdict, #current-offers, #quick-answer-heading,
    #finder-form, #camp-mode-form, #packing-list-form) {
  scroll-margin-top: 6rem;
}

body[data-design="cinematic-camp-v1"] :where(.vs-hub-hero, .discounts-hero) .hub-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.35rem;
}

body[data-design="cinematic-camp-v1"] :where(.vs-hub-hero, .discounts-hero) .hub-hero-actions a {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .75rem 1.1rem;
}

body[data-design="cinematic-camp-v1"] .vs-hub-hero .hub-hero-primary {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .vs-hub-hero .hub-hero-secondary {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .discounts-hero .hub-hero-primary {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .discounts-hero .hub-hero-secondary {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero, .guides-hub-hero) {
  width: min(100% - (2 * var(--tm-gutter)), var(--tm-content));
  gap: clamp(1.5rem, 4vw, 4.5rem);
  padding: var(--tm-space-5) 0;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero, .guides-hub-hero) h1 {
  max-width: 11ch;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero-media, .guides-hub-hero-media) {
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .faq-hero,
body[data-design="cinematic-camp-v1"] .discounts-hero {
  min-height: clamp(22rem, 42vw, 27rem);
  align-items: center;
  padding: var(--tm-space-5) max(var(--tm-gutter), calc((100vw - 80rem) / 2));
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.faq-hero, .discounts-hero) h1 {
  max-width: 14ch;
}

body[data-design="cinematic-camp-v1"] .guide-hero {
  isolation: isolate;
  min-height: 32rem;
  padding: clamp(3.5rem, 6vw, 5.5rem) max(var(--tm-gutter), calc((100vw - 76rem) / 2)) 3.25rem;
}

body[data-design="cinematic-camp-v1"] .guide-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: '';
}

body[data-design="cinematic-camp-v1"] .guide-hero-content {
  position: relative;
  z-index: 1;
  max-width: 50rem;
}

body[data-design="cinematic-camp-v1"] .guide-hero h1 {
  max-width: 15ch;
  margin: 1rem 0;
}

body[data-design="cinematic-camp-v1"] .guide-hero .breadcrumb {
  width: max-content;
  max-width: 100%;
  padding: .45rem .7rem;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .guide-content-wrapper {
  padding: clamp(3rem, 5vw, 4.5rem) max(var(--tm-gutter), calc((100vw - 88rem) / 2));
}

body[data-design="cinematic-camp-v1"] .guide-main > .guide-section:first-child h2 {
  margin-top: 0;
}

body[data-design="cinematic-camp-v1"] :where(.review-main, .discount-main, .faq-main, .brand-comparison-layout, .rb-layout) {
  padding-top: var(--tm-space-5);
}

body[data-design="cinematic-camp-v1"] :where(.review-main, .discount-main, .faq-main, .rb-article, .brand-comparison-article, .guide-main, .article-content) h2 {
  margin-top: clamp(2.8rem, 5vw, 4.8rem);
}

body[data-design="cinematic-camp-v1"] :where(.review-decision, .review-offer-card, .pros-cons, .skip-callout,
    .ownership-detail, .source-audit, .brand-comparison-note, .tool-form, .tool-result,
    .discount-card, .partner-card, .brand-discount-card, .faq-item) {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .brand-comparison-sidebar-inner,
body[data-design="cinematic-camp-v1"] .rb-sidebar-inner {
  padding: 1.25rem;
  border-width: 1px;
  border-style: solid;
  border-top-width: 3px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] .comparison-section,
body[data-design="cinematic-camp-v1"] .reviews-section,
body[data-design="cinematic-camp-v1"] .discounts-section,
body[data-design="cinematic-camp-v1"] .faq-section,
body[data-design="cinematic-camp-v1"] .partner-section,
body[data-design="cinematic-camp-v1"] .partners-section,
body[data-design="cinematic-camp-v1"] .home-faq,
body[data-design="cinematic-camp-v1"] .home-tools-strip {
  padding: var(--tm-space-5) var(--tm-gutter);
}

body[data-design="cinematic-camp-v1"] .home-tools-strip {
  width: calc(100% - (2 * var(--tm-gutter)));
  margin: var(--tm-space-5) auto 0;
  padding: var(--tm-space-4);
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .home-tools-links {
  gap: .75rem;
}

body[data-design="cinematic-camp-v1"] .home-tools-links a {
  min-height: 11rem;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.comparison-section, .reviews-section, .discounts-section, .faq-section, .partner-section, .partners-section) h2 {
  max-width: 20ch;
}

body[data-design="cinematic-camp-v1"] .table-container {
  width: min(100%, var(--tm-content));
  overflow-x: auto;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .comparison-table {
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] .comparison-table th {
  padding: .85rem .75rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .comparison-table td {
  padding: 1rem .75rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .comparison-table tbody tr:last-child td {
  border-bottom-width: 0;
}

body[data-design="cinematic-camp-v1"] .table-filter,
body[data-design="cinematic-camp-v1"] .guide-table-filter {
  gap: .5rem;
}

body[data-design="cinematic-camp-v1"] .table-filter button,
body[data-design="cinematic-camp-v1"] .guide-table-filter button {
  min-height: 3rem;
}

body[data-design="cinematic-camp-v1"] .discount-cards-grid,
body[data-design="cinematic-camp-v1"] .partners-grid {
  gap: 1rem;
}

body[data-design="cinematic-camp-v1"] :where(.discount-card-new, .partner-card, .brand-discount-card) {
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] .tool-shell {
  gap: clamp(1.5rem, 3vw, 3rem);
}

body[data-design="cinematic-camp-v1"] .tool-field :where(input, select, textarea),
body[data-design="cinematic-camp-v1"] .tool-segmented {
  min-height: 3rem;
}

body[data-design="cinematic-camp-v1"] :where(.article-visual, .guide-image, .article-image, .product-evidence-gallery figure) {
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] footer,
body[data-design="cinematic-camp-v1"] .footer {
  padding: var(--tm-space-5) var(--tm-gutter);
  border-top-width: 0;
}

body[data-design="cinematic-camp-v1"] .footer-content {
  width: min(100%, var(--tm-content));
}

@media (max-width: 1280px) {
  body[data-design="cinematic-camp-v1"] .navbar .nav-links,
    body[data-design="cinematic-camp-v1"] .discount-nav .nav-links {
    gap: .35rem;
  }

  body[data-design="cinematic-camp-v1"] .navbar .nav-links a,
    body[data-design="cinematic-camp-v1"] .discount-nav .nav-links a {
    padding-right: .32rem;
    padding-left: .32rem;
  }

  .vehicle-selector {
    grid-template-columns: 1fr;
  }

  .vehicle-selector > h2 {
    margin: 0;
  }
}

@media (min-width: 1025px) {
  body[data-design="cinematic-camp-v1"] .nav-links li:has(> a[href$='/faq']),
    body[data-design="cinematic-camp-v1"] .nav-links li:has(> a[href$='/discounts']),
    body[data-design="cinematic-camp-v1"] .nav-links li:has(> a[href$='/about']) {
    display: none;
  }
}

@media (max-width: 1024px) {
  body[data-design="cinematic-camp-v1"] {
    --tm-mobile-nav-height: calc(4.25rem + env(safe-area-inset-top));
  }

  body[data-design="cinematic-camp-v1"] .menu-toggle {
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    min-height: 3rem;
  }

  body[data-design="cinematic-camp-v1"] .navbar,
    body[data-design="cinematic-camp-v1"] .discount-nav {
    z-index: 1300;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: var(--tm-mobile-nav-height);
    padding: calc(.65rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .65rem max(1rem, env(safe-area-inset-left));
  }

  body[data-design="cinematic-camp-v1"] .navbar .nav-links,
    body[data-design="cinematic-camp-v1"] .discount-nav .nav-links {
    z-index: 1300;
    top: var(--tm-mobile-nav-height);
    height: auto;
    min-height: 0;
    max-height: calc(100dvh - var(--tm-mobile-nav-height));
    overflow-y: auto;
    width: min(26rem, 92vw);
    gap: 0;
    padding: 1.25rem 1.5rem calc(2rem + env(safe-area-inset-bottom));
    border-left-width: 1px;
    border-left-style: solid;
  }

  body[data-design="cinematic-camp-v1"] .navbar .nav-links::before,
    body[data-design="cinematic-camp-v1"] .discount-nav .nav-links::before {
    margin-bottom: .75rem;
    padding-bottom: .75rem;
  }

  body[data-design="cinematic-camp-v1"] .navbar .nav-links a,
    body[data-design="cinematic-camp-v1"] .discount-nav .nav-links a {
    min-height: 3.35rem;
    padding: .75rem 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body[data-design="cinematic-camp-v1"] .navbar .nav-cta-item a,
    body[data-design="cinematic-camp-v1"] .discount-nav .nav-cta-item a {
    justify-content: space-between;
  }

  body[data-design="cinematic-camp-v1"] .navbar .nav-links a.nav-find-cta,
    body[data-design="cinematic-camp-v1"] .discount-nav .nav-links a.nav-find-cta {
    margin: 1rem 0 0;
    justify-content: center;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body[data-design="cinematic-camp-v1"] .navbar .nav-links a.nav-find-cta::after,
    body[data-design="cinematic-camp-v1"] .discount-nav .nav-links a.nav-find-cta::after {
    content: '→';
  }

  body[data-design="cinematic-camp-v1"].home-page .hero {
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-top: 1.25rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-content,
    body[data-design="cinematic-camp-v1"].home-page .hero-media {
    grid-column: 1;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-content {
    grid-row: 1;
    max-width: 52rem;
    padding: var(--tm-space-4) .25rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-media {
    grid-row: 2;
    min-height: 0;
    height: min(50vw, 30rem);
  }

  .vehicle-selector-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .swiss-trust-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: .65rem 0;
  }

  .swiss-trust-rail > a {
    grid-column: 1 / -1;
    justify-self: center;
  }

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

  .home-featured-card {
    grid-template-columns: minmax(9rem, 32%) minmax(0, 1fr);
  }

  body[data-design="cinematic-camp-v1"] .review-hero-grid,
    body[data-design="cinematic-camp-v1"] .discount-hero-grid,
    body[data-design="cinematic-camp-v1"] .brand-comparison-hero,
    body[data-design="cinematic-camp-v1"] .rb-hero,
    body[data-design="cinematic-camp-v1"] .tool-hero {
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"] .reviews-hub-hero,
    body[data-design="cinematic-camp-v1"] .guides-hub-hero {
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"] .reviews-hub-hero-copy,
    body[data-design="cinematic-camp-v1"] .guides-hub-hero-copy {
    order: 1;
  }

  body[data-design="cinematic-camp-v1"] .reviews-hub-hero-media,
    body[data-design="cinematic-camp-v1"] .guides-hub-hero-media {
    order: 2;
    height: min(44vw, 26rem);
    min-height: 0;
  }

  body[data-design="cinematic-camp-v1"] .review-hero-copy,
    body[data-design="cinematic-camp-v1"] .discount-hero-copy {
    padding: var(--tm-space-4) 0;
  }

  body[data-design="cinematic-camp-v1"] .review-hero-media,
    body[data-design="cinematic-camp-v1"] .discount-hero-media {
    height: min(68vw, 34rem);
    margin: 0;
  }

  body[data-design="cinematic-camp-v1"] .brand-comparison-hero-media,
    body[data-design="cinematic-camp-v1"] .rb-hero-media,
    body[data-design="cinematic-camp-v1"] .tool-hero-media {
    height: min(46vw, 28rem);
    min-height: 0;
    margin: 0 .75rem .75rem;
  }
}

@media (max-width: 720px) {
  :root {
    --tm-gutter: 1rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero {
    display: flex;
    gap: .75rem;
    padding: .75rem var(--tm-gutter) 1rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-content {
    order: 1;
    padding: 2.4rem .25rem 1.5rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-content h1 {
    max-width: 12ch;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-buttons {
    display: grid;
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-buttons > * {
    width: 100%;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-media {
    order: 2;
    height: min(69vw, 23rem);
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-media figcaption {
    right: .55rem;
    bottom: .55rem;
    left: .55rem;
    max-width: none;
  }

  .vehicle-selector {
    width: calc(100% - 2rem);
    margin-top: 0;
    padding: 1rem;
    grid-template-columns: 1fr;
  }

  .vehicle-selector-grid {
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  .vehicle-option > span {
    min-height: 3.5rem;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    gap: 1rem;
    text-align: left;
  }

  .vehicle-option small {
    margin: 0;
    text-align: right;
  }

  .swiss-trust-rail {
    width: calc(100% - 2rem);
    grid-template-columns: 1fr;
    padding: .5rem 0;
  }

  .swiss-trust-rail > span {
    justify-content: flex-start;
    min-height: 2.75rem;
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .swiss-trust-rail > a {
    grid-column: 1;
    justify-self: stretch;
    min-height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .home-featured {
    width: calc(100% - 2rem);
    padding: 1rem;
  }

  .home-featured-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .home-featured-heading > a {
    width: 100%;
    justify-content: center;
  }

  .home-featured-card {
    min-height: 7rem;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
  }

  .home-featured-card > img {
    min-height: 7rem;
  }

  body[data-design="cinematic-camp-v1"] .home-tools-strip {
    width: calc(100% - 2rem);
    padding: 1.25rem;
  }

  body[data-design="cinematic-camp-v1"] .review-hero-grid,
    body[data-design="cinematic-camp-v1"] .discount-hero-grid {
    width: 100%;
    min-height: 0;
    padding: 1rem;
  }

  body[data-design="cinematic-camp-v1"] .review-hero h1,
    body[data-design="cinematic-camp-v1"] .discount-hero h1,
    body[data-design="cinematic-camp-v1"] .brand-comparison-hero h1,
    body[data-design="cinematic-camp-v1"] .rb-hero h1,
    body[data-design="cinematic-camp-v1"] .tool-hero h1,
    body[data-design="cinematic-camp-v1"] .reviews-hub-hero h1,
    body[data-design="cinematic-camp-v1"] .guides-hub-hero h1,
    body[data-design="cinematic-camp-v1"] .faq-hero h1,
    body[data-design="cinematic-camp-v1"] .discounts-hero h1,
    body[data-design="cinematic-camp-v1"] .guide-hero h1 {
    max-width: 13ch;
  }

  body[data-design="cinematic-camp-v1"] .guide-hero {
    min-height: 30rem;
    padding: 3.5rem 1rem 2rem;
  }

  body[data-design="cinematic-camp-v1"] .guide-hero .breadcrumb {
    width: 100%;
    white-space: normal;
    flex-wrap: wrap;
    overflow-wrap: anywhere;
  }

  body[data-design="cinematic-camp-v1"] .guide-content-wrapper {
    gap: 2.25rem;
    padding: 2.75rem 1rem;
  }

  body[data-design="cinematic-camp-v1"] .review-hero-media,
    body[data-design="cinematic-camp-v1"] .discount-hero-media {
    height: min(72vw, 24rem);
  }

  body[data-design="cinematic-camp-v1"] .review-hero-media img,
    body[data-design="cinematic-camp-v1"] .discount-hero-media img {
    min-height: 0;
  }

  body[data-design="cinematic-camp-v1"] .brand-comparison-hero,
    body[data-design="cinematic-camp-v1"] .rb-hero,
    body[data-design="cinematic-camp-v1"] .tool-hero {
    width: calc(100% - 2rem);
    margin-top: 1rem;
    gap: 0;
  }

  body[data-design="cinematic-camp-v1"] .brand-comparison-hero-copy,
    body[data-design="cinematic-camp-v1"] .rb-hero-copy,
    body[data-design="cinematic-camp-v1"] .tool-hero-copy {
    padding: 2rem 1.25rem;
  }

  body[data-design="cinematic-camp-v1"] .brand-comparison-hero-copy {
    padding: 1.25rem 1.25rem 1.75rem;
  }

  body[data-design="cinematic-camp-v1"] .brand-comparison-hero-media,
    body[data-design="cinematic-camp-v1"] .rb-hero-media,
    body[data-design="cinematic-camp-v1"] .tool-hero-media {
    height: 68vw;
    min-height: 0;
    margin: 0 .5rem .5rem;
  }

  body[data-design="cinematic-camp-v1"] .rb-hero .rb-byline {
    margin-top: 1.5rem;
  }

  body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero-actions, .rb-hero-actions,
        .guide-hero-actions, .tool-hero-actions) {
    display: grid;
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"] :where(.vs-hub-hero, .discounts-hero) .hub-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero-actions, .rb-hero-actions,
        .guide-hero-actions, .tool-hero-actions) a {
    width: 100%;
  }

  body[data-design="cinematic-camp-v1"] .table-container {
    overflow: visible;
    border-width: 0;
  }

  body[data-design="cinematic-camp-v1"] .comparison-table tr {
    border-width: 1px;
    border-style: solid;
    border-top-width: 3px;
    border-top-style: solid;
  }

  body[data-design="cinematic-camp-v1"] .table-filter,
    body[data-design="cinematic-camp-v1"] .guide-table-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .review-cards,
    .guides-grid,
    .vs-cards-grid,
    .guide-topic-grid {
    grid-template-columns: 1fr;
  }

  body .review-main .review-decision {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-design="cinematic-camp-v1"] *,
    body[data-design="cinematic-camp-v1"] *::before,
    body[data-design="cinematic-camp-v1"] *::after {
    scroll-behavior: auto;
  }
}

@media print {
  .vehicle-selector,
    .swiss-trust-rail,
    .home-featured {
    display: none;
  }
}

body[data-design="cinematic-camp-v1"].home-page .hero {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 34rem;
  grid-template-columns: minmax(22rem, 42%) minmax(0, 58%);
  gap: clamp(1.5rem, 3vw, 3.75rem);
  padding: 0 0 0 max(var(--tm-gutter), calc((100vw - var(--tm-content)) / 2));
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].home-page .hero::before {
  content: attr(data-folio);
  position: absolute;
  z-index: 2;
  top: 2rem;
  left: max(var(--tm-gutter), calc((100vw - var(--tm-content)) / 2));
  padding-top: .55rem;
  border-top-width: 2px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"].home-page .hero-content {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 42rem;
  min-height: 34rem;
  padding: 4.5rem clamp(1rem, 2.8vw, 3rem) 3.2rem 0;
}

body[data-design="cinematic-camp-v1"].home-page .hero-content > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
}

body[data-design="cinematic-camp-v1"].home-page .hero-content > span:first-child::before {
  width: 1.75rem;
  border-top-width: 1px;
  border-top-style: solid;
  content: '';
}

body[data-design="cinematic-camp-v1"].home-page .hero-content h1 {
  max-width: 13ch;
  margin: 1rem 0 1.15rem;
}

body[data-design="cinematic-camp-v1"].home-page .hero-content p:not(.hero-disclosure) {
  max-width: 43ch;
}

body[data-design="cinematic-camp-v1"].home-page .hero-buttons {
  align-items: center;
  margin-top: 1.4rem;
}

body[data-design="cinematic-camp-v1"].home-page .hero-buttons .cta-button {
  min-height: 3.35rem;
  padding-inline: 1.45rem;
}

body[data-design="cinematic-camp-v1"].home-page .hero-buttons .cta-button.secondary {
  width: auto;
  min-height: 2.75rem;
  padding: .65rem .15rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"].home-page .hero-content .hero-disclosure {
  max-width: 52ch;
  margin-top: 1rem;
  padding-top: .8rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"].home-page .hero-media {
  height: auto;
  min-height: 34rem;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  border-width: 0;
  border-left-width: 1px;
  border-left-style: solid;
}

body[data-design="cinematic-camp-v1"].home-page .hero-media::after {
  content: none;
}

body[data-design="cinematic-camp-v1"].home-page .hero-media img {
  min-height: 0;
  object-position: center 46%;
}

body[data-design="cinematic-camp-v1"].home-page .hero-media figcaption {
  position: static;
  width: 100%;
  max-width: none;
  padding: .7rem clamp(1rem, 2vw, 1.5rem);
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.vehicle-selector {
  position: relative;
  width: min(calc(100% - (2 * var(--tm-gutter))), var(--tm-content));
  min-height: 7.5rem;
  margin: 2rem auto 0;
  padding: 1.1rem 0;
  grid-template-columns: minmax(12rem, .78fr) minmax(0, 3fr) minmax(12rem, .9fr);
  gap: 0;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.vehicle-selector::before {
  content: attr(data-folio);
  position: absolute;
  top: -.75rem;
  left: 0;
  padding: 0 .6rem 0 0;
}

.vehicle-selector > h2 {
  margin: 0;
  padding: 0 clamp(1rem, 2vw, 2rem) 0 0;
}

.vehicle-selector-grid {
  gap: 0;
  border-left-width: 1px;
  border-left-style: solid;
}

.vehicle-option > span {
  min-height: 4.6rem;
  border-width: 0;
  border-right-width: 1px;
  border-right-style: solid;
}

.vehicle-selector > button {
  min-height: 4.6rem;
  margin-left: 1rem;
}

.swiss-trust-rail {
  width: min(calc(100% - (2 * var(--tm-gutter))), var(--tm-content));
  min-height: 3.5rem;
  margin-top: 0;
}

.swiss-trust-rail > span:first-child {
  justify-content: flex-start;
}

.home-featured {
  position: relative;
  width: min(calc(100% - (2 * var(--tm-gutter))), 92rem);
  margin: 0 auto;
  padding: clamp(4.75rem, 7vw, 7rem) 0 clamp(5rem, 8vw, 7.5rem);
  border-width: 0;
}

.home-featured::before {
  content: attr(data-folio);
  position: absolute;
  top: clamp(4.75rem, 7vw, 7rem);
  left: 0;
  width: 3.5rem;
  padding-top: .55rem;
  border-top-width: 2px;
  border-top-style: solid;
}

.home-featured-heading {
  align-items: flex-end;
  margin: 0 0 2rem;
  padding: 0 0 1.35rem 5rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.home-featured-heading h2 {
  max-width: 14ch;
}

.home-featured-heading > a {
  min-height: 2.75rem;
  padding: .5rem 0;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.home-featured-grid {
  min-height: 37rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(17rem, 1fr));
  gap: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.home-featured-card {
  position: relative;
  height: auto;
  min-height: 0;
  border-width: 0;
}

.home-featured-card::after {
  position: absolute;
  z-index: 2;
  top: .85rem;
  left: .85rem;
  padding: .35rem .48rem;
}

.home-featured-card:nth-child(1)::after {
  content: '01';
}

.home-featured-card:nth-child(2)::after {
  content: '02';
}

.home-featured-card:nth-child(3)::after {
  content: '03';
}

.home-featured-card:first-child {
  grid-column: 1 / 8;
  grid-row: 1 / 3;
  grid-template-columns: 1fr;
  grid-template-rows: minmax(25rem, 1fr) auto;
  border-right-width: 1px;
  border-right-style: solid;
}

.home-featured-card:nth-child(2),
.home-featured-card:nth-child(3) {
  grid-column: 8 / 13;
  grid-template-columns: minmax(12rem, 46%) minmax(0, 1fr);
  border-top-width: 1px;
  border-top-style: solid;
}

.home-featured-card:nth-child(2) {
  grid-row: 1;
}

.home-featured-card:nth-child(3) {
  grid-row: 2;
}

.home-featured-card > img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.home-featured-card > span {
  position: relative;
  z-index: 1;
  align-self: stretch;
  justify-content: center;
  padding: clamp(1.35rem, 2.4vw, 2.25rem);
}

.home-featured-card:first-child > span {
  border-top-width: 1px;
  border-top-style: solid;
}

.home-featured-card small {
  max-width: 34ch;
  margin-top: .55rem;
}

.home-featured-card b {
  width: max-content;
  margin-top: 1rem;
}

body[data-design="cinematic-camp-v1"] .home-tools-strip {
  position: relative;
  width: 100%;
  margin: 0;
  padding: clamp(4.5rem, 7vw, 6.75rem) max(var(--tm-gutter), calc((100vw - 92rem) / 2));
  grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 8vw, 8rem);
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] .home-tools-strip::before {
  content: attr(data-folio);
  position: absolute;
  top: clamp(2rem, 3vw, 2.75rem);
  left: max(var(--tm-gutter), calc((100vw - 92rem) / 2));
  width: 3.5rem;
  padding-top: .5rem;
  border-top-width: 2px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] .home-tools-intro h2 {
  max-width: 11ch;
}

body[data-design="cinematic-camp-v1"] .home-tools-links {
  display: block;
  padding: 0;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] .home-tools-links a {
  min-height: 7.75rem;
  padding: 1.25rem .25rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .home-tools-links a:hover {
  padding-right: .75rem;
  padding-left: .75rem;
}

body[data-design="cinematic-camp-v1"] .comparison-section {
  position: relative;
  padding-top: clamp(5.5rem, 8vw, 8rem);
}

body[data-design="cinematic-camp-v1"] .comparison-section > .section-header,
body[data-design="cinematic-camp-v1"] .partners-section > .section-header,
body[data-design="cinematic-camp-v1"] .home-faq > .section-header {
  width: min(100%, var(--tm-content));
  max-width: var(--tm-content);
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  column-gap: 1rem;
  margin-right: auto;
  margin-left: auto;
  padding-top: 1.25rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] .comparison-section > .section-header::before,
body[data-design="cinematic-camp-v1"] .partners-section > .section-header::before,
body[data-design="cinematic-camp-v1"] .home-faq > .section-header::before {
  grid-column: 1;
  grid-row: 1 / 4;
  padding-top: .1rem;
}

body[data-design="cinematic-camp-v1"] .comparison-section > .section-header::before {
  content: '04';
}

body[data-design="cinematic-camp-v1"] .partners-section > .section-header::before {
  content: '06';
}

body[data-design="cinematic-camp-v1"] .home-faq > .section-header::before {
  content: '07';
}

body[data-design="cinematic-camp-v1"] .comparison-section > .section-header > *,
body[data-design="cinematic-camp-v1"] .partners-section > .section-header > *,
body[data-design="cinematic-camp-v1"] .home-faq > .section-header > * {
  grid-column: 2;
}

body[data-design="cinematic-camp-v1"] .comparison-section .section-header h2 {
  max-width: 15ch;
}

body[data-design="cinematic-camp-v1"] .table-tools {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .table-container {
  border-right-width: 0;
  border-left-width: 0;
}

body[data-design="cinematic-camp-v1"] .comparison-table .btn-review {
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .discount-section-new {
  position: relative;
  width: min(100%, var(--tm-content));
  margin: clamp(6rem, 9vw, 9rem) auto 0;
  padding-top: 1.5rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] .discount-section-new::before {
  content: attr(data-folio);
  position: absolute;
  top: 1.8rem;
  left: 0;
}

body[data-design="cinematic-camp-v1"] .discount-section-new > h3,
body[data-design="cinematic-camp-v1"] .discount-section-new > .discount-intro {
  margin-left: 5rem;
}

body[data-design="cinematic-camp-v1"] .discount-section-new > h3 {
  max-width: 15ch;
}

body[data-design="cinematic-camp-v1"] .discount-section-new > .discount-intro {
  max-width: 56ch;
}

body[data-design="cinematic-camp-v1"] .discount-cards-grid {
  gap: 0;
  margin-top: 2rem;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .discount-card-new {
  border-width: 0;
  border-right-width: 1px;
  border-right-style: solid;
}

body[data-design="cinematic-camp-v1"] .discount-card-new:last-child {
  border-right-width: 0;
}

body[data-design="cinematic-camp-v1"] .discount-code-box {
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .partners-grid {
  width: min(100%, var(--tm-content));
  margin-right: auto;
  margin-left: auto;
  gap: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .partners-grid .partner-card {
  min-height: 13rem;
  padding: 1.6rem;
  border-width: 0;
  border-right-width: 1px;
  border-right-style: solid;
}

body[data-design="cinematic-camp-v1"] .partners-grid .partner-card:last-child {
  border-right-width: 0;
}

body[data-design="cinematic-camp-v1"] .home-faq-grid {
  width: min(100%, var(--tm-content));
  margin-right: auto;
  margin-left: auto;
  gap: 0 3rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] .home-faq details {
  margin: 0;
  padding: 0;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] .home-faq summary {
  min-height: 4.5rem;
}

body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero, .rb-hero, .tool-hero) {
  border-right-width: 0;
  border-left-width: 0;
}

html:is([lang='de'], [lang='fr']) body[data-design="cinematic-camp-v1"].home-page .comparison-section > .section-header::before {
  content: '03';
}

html:is([lang='de'], [lang='fr']) body[data-design="cinematic-camp-v1"].home-page .discount-section-new::before {
  content: '04';
}

html:is([lang='de'], [lang='fr']) body[data-design="cinematic-camp-v1"].home-page .partners-section > .section-header::before {
  content: '05';
}

html:is([lang='de'], [lang='fr']) body[data-design="cinematic-camp-v1"].home-page .home-faq > .section-header::before {
  content: '06';
}

html[lang='fr'] body[data-design="cinematic-camp-v1"].home-page .hero-content h1 {
  max-width: 15ch;
}

@media (max-width: 1024px) {
  body[data-design="cinematic-camp-v1"].nav-open .navbar .nav-links,
    body[data-design="cinematic-camp-v1"].nav-open .discount-nav .nav-links {
    justify-content: flex-start;
    padding-top: 1.25rem !important;
  }
}

body[data-design="cinematic-camp-v1"] :where(.brand-comparison-hero-media, .rb-hero-media, .tool-hero-media) {
  margin: .75rem 0;
}

@media (min-width: 1101px) and (max-width: 1280px) {
  .vehicle-selector {
    grid-template-columns: minmax(11rem, .72fr) minmax(0, 3fr) minmax(11rem, .85fr);
  }
}

@media (max-width: 1100px) {
  body[data-design="cinematic-camp-v1"].home-page .hero {
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 var(--tm-gutter);
    border-bottom-width: 0;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero::before {
    left: var(--tm-gutter);
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-content,
    body[data-design="cinematic-camp-v1"].home-page .hero-media {
    grid-column: 1;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-content {
    grid-row: 1;
    max-width: 48rem;
    min-height: 0;
    padding: 5rem .25rem 2.5rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-media {
    grid-row: 2;
    width: 100%;
    height: min(58vw, 31rem);
    min-height: 24rem;
    border-width: 1px;
    border-style: solid;
  }

  .vehicle-selector {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-block: 1.5rem;
  }

  .vehicle-selector-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .vehicle-selector > button {
    margin-left: 0;
  }

  .home-featured-grid {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .home-featured-card:first-child,
    .home-featured-card:nth-child(2),
    .home-featured-card:nth-child(3) {
    grid-column: 1;
    grid-row: auto;
  }

  .home-featured-card:first-child {
    min-height: 34rem;
    border-right-width: 0;
    border-top-width: 1px;
    border-top-style: solid;
  }

  .home-featured-card:nth-child(2),
    .home-featured-card:nth-child(3) {
    min-height: 14rem;
    grid-template-columns: minmax(12rem, 38%) minmax(0, 1fr);
  }

  body[data-design="cinematic-camp-v1"] .home-tools-strip {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}

@media (max-width: 720px) {
  body[data-design="cinematic-camp-v1"].home-page .hero {
    display: flex;
    gap: 0;
    padding: 0 var(--tm-gutter) 1rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero::before {
    top: 1.15rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-content {
    padding: 3.75rem .15rem 1.5rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-content h1 {
    max-width: 11ch;
    margin-top: .8rem;
  }

  html[lang='de'] body[data-design="cinematic-camp-v1"].home-page .hero-content h1 {
    max-width: 12ch;
  }

  html[lang='fr'] body[data-design="cinematic-camp-v1"].home-page .hero-content h1 {
    max-width: 14ch;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-buttons {
    display: flex;
    align-items: stretch;
    flex-direction: column;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-buttons .cta-button.secondary {
    width: max-content;
    min-height: 3rem;
    align-self: flex-start;
  }

  body[data-design="cinematic-camp-v1"] .discount-cta,
    body[data-design="cinematic-camp-v1"] .lang-current {
    min-height: 3rem;
    box-sizing: border-box;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-media {
    height: min(74vw, 21rem);
    min-height: 17rem;
  }

  body[data-design="cinematic-camp-v1"].home-page .hero-media figcaption {
    padding: .55rem .7rem;
  }

  .vehicle-selector {
    width: calc(100% - 2rem);
    margin-top: 1rem;
  }

  .vehicle-selector-grid {
    grid-template-columns: 1fr;
    border-top-width: 1px;
    border-top-style: solid;
  }

  .vehicle-option > span {
    min-height: 3.65rem;
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  .swiss-trust-rail {
    margin-top: 0;
  }

  .home-featured {
    padding-top: 4.75rem;
    padding-bottom: 4.75rem;
  }

  .home-featured::before {
    top: 4.75rem;
  }

  .home-featured-heading {
    padding: 0 0 1.25rem 4.25rem;
  }

  .home-featured-heading > a {
    width: max-content;
    justify-content: flex-start;
  }

  .home-featured-card:first-child {
    min-height: 31rem;
    grid-template-rows: minmax(18rem, 1fr) auto;
  }

  .home-featured-card:nth-child(2),
    .home-featured-card:nth-child(3) {
    min-height: 11.5rem;
    grid-template-columns: minmax(7.5rem, 37%) minmax(0, 1fr);
  }

  .home-featured-card > span {
    padding: 1.15rem;
  }

  body[data-design="cinematic-camp-v1"] .home-tools-strip {
    width: 100%;
    padding: 5rem 1rem 4rem;
  }

  body[data-design="cinematic-camp-v1"] .home-tools-strip::before {
    top: 2rem;
    left: 1rem;
  }

  body[data-design="cinematic-camp-v1"] .home-tools-links a {
    min-height: 7.25rem;
    grid-template-columns: 2rem minmax(0, 1fr) 2.75rem;
    gap: .65rem;
  }

  body[data-design="cinematic-camp-v1"] .comparison-section > .section-header,
    body[data-design="cinematic-camp-v1"] .partners-section > .section-header,
    body[data-design="cinematic-camp-v1"] .home-faq > .section-header {
    grid-template-columns: 3rem minmax(0, 1fr);
    column-gap: .75rem;
  }

  body[data-design="cinematic-camp-v1"] .discount-section-new {
    margin-top: 5.5rem;
  }

  body[data-design="cinematic-camp-v1"] .discount-section-new > h3,
    body[data-design="cinematic-camp-v1"] .discount-section-new > .discount-intro {
    margin-left: 3.75rem;
  }

  body[data-design="cinematic-camp-v1"] .discount-cards-grid {
    border-bottom-width: 0;
  }

  body[data-design="cinematic-camp-v1"] .discount-card-new {
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body[data-design="cinematic-camp-v1"] .partners-grid {
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"] .partners-grid .partner-card {
    min-height: 10rem;
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body[data-design="cinematic-camp-v1"] .partners-grid .partner-card:last-child {
    border-bottom-width: 0;
  }

  body[data-design="cinematic-camp-v1"] .home-faq-grid {
    grid-template-columns: 1fr;
  }
}

:root {
  --fj-max: 86rem;
  --fj-gutter: clamp(1rem, 3.4vw, 3.5rem);
  --fj-section: clamp(4.75rem, 9vw, 8.5rem);
}

html {
  scroll-behavior: smooth;
}

body[data-design="cinematic-camp-v1"] {
  position: relative;
  min-width: 0;
  margin: 0;
}

body[data-design="cinematic-camp-v1"]::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 999;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}

body[data-design="cinematic-camp-v1"] :where(img, video) {
  max-width: 100%;
}

body[data-design="cinematic-camp-v1"] > .navbar {
  width: calc(100% - (2 * var(--fj-gutter)));
  max-width: var(--fj-max);
  min-height: 5rem;
  margin: 0 auto;
  padding: 0;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] > .navbar .logo {
  flex: 0 0 auto;
}

body[data-design="cinematic-camp-v1"] > .navbar .logo::after {
  content: " / field guide";
}

body[data-design="cinematic-camp-v1"] > .navbar .logo::before {
  display: none !important;
  content: none !important;
}

body[data-design="cinematic-camp-v1"] > .navbar .nav-links {
  gap: clamp(1rem, 2vw, 2rem);
}

body[data-design="cinematic-camp-v1"] > .navbar .nav-links a {
  position: relative;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

body[data-design="cinematic-camp-v1"] > .navbar .nav-links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: .45rem;
  left: 0;
  height: 1px;
  transform: scaleX(0);
  transform-origin: right;
}

@media (hover: hover) {
  body[data-design="cinematic-camp-v1"] > .navbar .nav-links a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
  }
}

body[data-design="cinematic-camp-v1"] > .navbar .menu-toggle {
  width: 3rem;
  height: 3rem;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] > :where(.footer, footer) {
  position: relative;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] > :where(.footer, footer) :where(.footer-main, .footer-content) {
  width: min(calc(100% - (2 * var(--fj-gutter))), var(--fj-max));
  margin-inline: auto;
  padding-block: clamp(3.5rem, 7vw, 7rem);
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page > .navbar {
  position: absolute;
  inset: 0 var(--fj-gutter) auto;
  z-index: 30;
  width: auto;
  max-width: none;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(45rem, 88svh, 58rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  place-items: center;
  padding: clamp(8rem, 14vh, 11rem) var(--fj-gutter) clamp(10rem, 20vh, 14rem);
  overflow: hidden;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-media {
  position: absolute;
  inset: 0;
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  width: 100%;
  height: 100%;
  z-index: -2;
  min-height: 0;
  margin: 0;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-media::before,
body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 51%;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-media figcaption {
  position: absolute;
  right: var(--fj-gutter);
  bottom: 2rem;
  z-index: 3;
  max-width: 30rem;
  text-align: right;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-content {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  z-index: 3;
  width: min(100%, 64rem);
  margin: 0 auto;
  padding: 0;
  text-align: center;
  align-self: center;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-content .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1.25rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-content .hero-eyebrow::before {
  content: "";
  width: 2.5rem;
  height: 1px;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-content h1 {
  max-width: 15ch;
  margin: 0 auto;
  white-space: normal !important;
  overflow-wrap: break-word;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-content h1 .hero-line {
  display: inline;
  white-space: normal !important;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-content > p:not(.hero-disclosure) {
  max-width: 42rem;
  margin: 1.6rem auto 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-buttons {
  justify-content: center;
  margin-top: 2rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .cta-button,
body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector button,
body[data-design="cinematic-camp-v1"] :where(.hub-hero-primary, .tool-hero-start, .guide-hero-primary, .rb-primary-cta, .brand-comparison-hero-primary) {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: .78rem 1.25rem;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-disclosure {
  max-width: 46rem;
  margin: 1rem auto 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector {
  position: relative;
  z-index: 8;
  width: min(calc(100% - (2 * var(--fj-gutter))), 74rem);
  margin: -7.2rem auto 0;
  padding: 1.25rem;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector h2 {
  margin: 0 0 1rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector-grid {
  gap: 0;
  border-width: 1px;
  border-style: solid;
  border-right-width: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-option {
  min-height: 4.8rem;
  padding: .9rem 1rem;
  border-width: 0;
  border-right-width: 1px;
  border-right-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail {
  width: min(calc(100% - (2 * var(--fj-gutter))), 74rem);
  margin: 1rem auto 0;
  padding: 1.1rem 0 2.75rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(.home-featured, .home-tools-strip, .comparison-section, .discounts-section, .partners-section, .home-faq) {
  width: min(calc(100% - (2 * var(--fj-gutter))), var(--fj-max));
  margin-inline: auto;
  padding-block: var(--fj-section);
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(.home-featured, .home-tools-strip, .comparison-section, .discounts-section, .partners-section, .home-faq) + :where(.home-featured, .home-tools-strip, .comparison-section, .discounts-section, .partners-section, .home-faq) {
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(.home-featured-heading, .section-header, .comparison-header, .discounts-header) h2,
body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-tools-intro h2 {
  max-width: 15ch;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(17rem, .75fr);
  grid-template-rows: repeat(2, minmax(15rem, 1fr));
  gap: 1rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:first-child {
  grid-row: 1 / 3;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card::after {
  content: "";
  position: absolute;
  inset: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card > span {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: clamp(1rem, 2.5vw, 2rem);
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-tools-strip {
  display: grid;
  grid-template-columns: minmax(16rem, .75fr) minmax(0, 1.25fr);
  gap: clamp(3rem, 7vw, 8rem);
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-tools-links a {
  min-height: 6.5rem;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-tools-links a:last-child {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .comparison-section .comparison-table-wrapper,
body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .comparison-section .mobile-product-cards {
  border-width: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(.discount-card-new, .partner-card, .faq-item) {
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(.discount-cta-btn, .all-codes-cta a) {
  min-height: 2.8rem;
  border-width: 1px;
  border-style: solid;
}

body[data-page-key$="_index"] > main {
  width: 100%;
  max-width: none;
  padding: 0 var(--fj-gutter) var(--fj-section);
}

body[data-page-key$="_index"] > main > .breadcrumb {
  width: min(100%, var(--fj-max));
  margin: 0 auto;
  padding-top: 1rem;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero, .guides-hub-hero, .vs-hub-hero, .discounts-hero, .tool-hero, .hub-hero) {
  position: relative;
  width: min(100%, var(--fj-max));
  min-height: clamp(29rem, 62vw, 43rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.35fr);
  align-items: end;
  gap: clamp(2rem, 5vw, 6rem);
  padding: clamp(3.5rem, 8vw, 7rem) 0 clamp(2rem, 4vw, 4rem);
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero-copy, .guides-hub-hero-copy, .discounts-hero-content, .tool-hero-copy, .hub-hero-copy) {
  position: relative;
  z-index: 3;
  max-width: 42rem;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero, .guides-hub-hero, .vs-hub-hero, .discounts-hero, .tool-hero, .hub-hero) h1 {
  max-width: 12ch;
  margin: .8rem 0 1.25rem;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero-media, .guides-hub-hero-media, .vs-hub-hero-media, .discounts-hero-media, .tool-hero-media, .hub-hero-media) {
  position: relative;
  min-height: clamp(23rem, 47vw, 38rem);
  margin: 0;
  overflow: hidden;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero-media, .guides-hub-hero-media, .vs-hub-hero-media, .discounts-hero-media, .tool-hero-media, .hub-hero-media)::after {
  content: "";
  position: absolute;
  inset: 0;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero-media, .guides-hub-hero-media, .vs-hub-hero-media, .discounts-hero-media, .tool-hero-media, .hub-hero-media) > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero-media, .guides-hub-hero-media, .vs-hub-hero-media, .discounts-hero-media, .tool-hero-media, .hub-hero-media) figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  z-index: 2;
}

body[data-design="cinematic-camp-v1"] :where(.hub-shortcuts, .hub-hero-actions, .tool-hero-actions) {
  margin-top: 1.5rem;
}

body[data-design="cinematic-camp-v1"] :where(.guide-hero-actions, .brand-comparison-hero-actions, .rb-hero-actions, .tool-hero-actions, .hub-hero-actions) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
}

body[data-design="cinematic-camp-v1"] .hub-shortcuts a {
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-grid, .guides-hub > section, .vs-cards-grid, .discounts-overview, .brand-discount-section, .tool-index, .tool-content, .hub-grid) {
  width: min(100%, var(--fj-max));
  margin-inline: auto;
}

body[data-design="cinematic-camp-v1"] :where(.reviews-grid, .guides-hub > section, .discounts-overview, .brand-discount-section, .tool-index, .tool-content) {
  padding-block: clamp(3.5rem, 7vw, 7rem);
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.section-label, .guides-hub > section > h2, .discounts-overview h2, .tool-index h2, .tool-content h2, .quick-picks h2) {
  margin: 0 0 clamp(1.5rem, 3vw, 3rem) !important;
  padding: 0 0 1rem !important;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.review-cards, .guides-grid, .vs-cards-grid, .hub-grid) {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
}

body[data-design="cinematic-camp-v1"] :where(.review-card-link, .guide-card, .vs-card, .hub-card) {
  grid-column: span 4;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.review-card-link, .guide-card, .vs-card, .hub-card):first-child,
body[data-design="cinematic-camp-v1"] :where(.review-card-link, .guide-card, .vs-card, .hub-card).featured,
body[data-design="cinematic-camp-v1"] .hub-card-featured {
  grid-column: span 8;
}

body[data-design="cinematic-camp-v1"] :where(.review-card-media, .guide-card-image, .vs-card-media, .hub-card-thumb) {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] :where(.review-card-media, .guide-card-image, .vs-card-media) img,
body[data-design="cinematic-camp-v1"] img.hub-card-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-design="cinematic-camp-v1"] :where(.review-card-top, .guide-card-body, .vs-card-matchup) {
  padding: 1.15rem 0 0;
}

body[data-design="cinematic-camp-v1"] :where(.review-card-badge, .guide-card-badge, .vs-card-badge, .hub-card-kicker, .review-card-score) {
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] :where(.review-card-meta, .guide-card-meta, .vs-card-meta) {
  margin-top: auto;
}

body[data-design="cinematic-camp-v1"] :where(.guide-topic-grid, .guide-link-grid, .quick-picks-grid, .tool-jump-grid) {
  gap: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.guide-topic-card, .guide-link-card, .quick-pick, .tool-jump-card) {
  min-height: 5rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-page-key="discounts_index"] :where(.brand-discount-card, .discount-code-card, .faq-item) {
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-page-key="discounts_index"] :where(.discount-code, .code-display, code) {
  border-width: 1px;
  border-style: dashed;
}

body[data-page-key="faq_index"] > .hub-hero,
body[data-page-key="faq_index"] > .hub-grid {
  width: min(calc(100% - (2 * var(--fj-gutter))), var(--fj-max));
  margin-inline: auto;
}

body[data-page-key="faq_index"] > .hub-grid {
  padding-block: var(--fj-section);
}

body[data-design="cinematic-camp-v1"]:where(
  [data-page-key^="guide_"],
  [data-page-key^="vs_"]:not([data-page-key="vs_index"]),
  [data-page-key^="discount_"]:not([data-page-key="discounts_index"]),
  [data-page-key^="paa_"],
  [data-page-key^="ck_"],
  [data-page-key="about"],
  [data-page-key="methodology"],
  [data-page-key="disclosure"]
) > main {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
}

body[data-design="cinematic-camp-v1"] :where(
  .guide-hero,
  .rb-hero,
  .brand-comparison-hero,
  .comparison-hero,
  .discount-hero,
  .paa-hero,
  .article-hero
) {
  width: min(calc(100% - (2 * var(--fj-gutter))), var(--fj-max));
  min-height: clamp(28rem, 54vw, 43rem);
  margin: 0 auto;
  padding-block: clamp(3rem, 7vw, 7rem);
}

body[data-design="cinematic-camp-v1"] .guide-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

body[data-design="cinematic-camp-v1"] .guide-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
}

body[data-design="cinematic-camp-v1"] .guide-hero-content {
  width: min(100%, 47rem);
  padding: clamp(2rem, 5vw, 5rem);
}

body[data-design="cinematic-camp-v1"] .guide-content-wrapper {
  width: 100%;
  max-width: none;
}

body[data-design="cinematic-camp-v1"] .guide-main {
  width: min(calc(100% - (2 * var(--fj-gutter))), 76rem);
  max-width: none;
  margin-inline: auto;
  padding-block: clamp(3.5rem, 7vw, 7rem);
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] .guide-main h2 {
  max-width: 18ch;
  margin-top: clamp(3.5rem, 7vw, 6rem);
  padding-top: 1.25rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] .guide-main :where(.guide-takeaway, .guide-quick-nav, .product-card, .comparison-table-wrap, .guide-faq, .final-recommendation) {
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(
  .guide-hero,
  .rb-hero,
  .brand-comparison-hero,
  .comparison-hero,
  .discount-hero,
  .paa-hero,
  .article-hero
) :where(h1, h2) {
  max-width: 13ch;
}

body[data-design="cinematic-camp-v1"] :where(
  .guide-hero-image,
  .rb-hero-media,
  .brand-comparison-hero-media,
  .comparison-hero-media,
  .discount-hero-media,
  .paa-hero-media,
  .article-hero-media
) {
  overflow: hidden;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] :where(
  .guide-hero-image,
  .rb-hero-media,
  .brand-comparison-hero-media,
  .comparison-hero-media,
  .discount-hero-media,
  .paa-hero-media,
  .article-hero-media
) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-design="cinematic-camp-v1"] :where(
  .guide-container,
  .article-container,
  .content-wrapper,
  .rb-layout,
  .brand-comparison-layout,
  .comparison-layout,
  .discount-main,
  .paa-main,
  .about-page,
  .methodology-page,
  .disclosure-page
) {
  width: min(calc(100% - (2 * var(--fj-gutter))), 76rem);
  margin-inline: auto;
  padding-block: clamp(3.5rem, 7vw, 7rem);
}

body[data-design="cinematic-camp-v1"] :where(
  .guide-content,
  .article-content,
  .rb-article,
  .brand-comparison-article,
  .comparison-article,
  .discount-content,
  .paa-article,
  article
) {
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] :where(
  .guide-content,
  .article-content,
  .rb-article,
  .brand-comparison-article,
  .comparison-article,
  .discount-content,
  .paa-article,
  article
) > :where(p, ul, ol, blockquote) {
  max-width: 68ch;
}

body[data-design="cinematic-camp-v1"] :where(
  .guide-content,
  .article-content,
  .rb-article,
  .brand-comparison-article,
  .comparison-article,
  .discount-content,
  .paa-article,
  article
) h2 {
  max-width: 18ch;
  margin-top: clamp(3.5rem, 7vw, 6rem);
  padding-top: 1.25rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(
  .guide-content,
  .article-content,
  .rb-article,
  .brand-comparison-article,
  .comparison-article,
  .discount-content,
  .paa-article,
  article
) h3 {
  margin-top: 2.5rem;
}

body[data-design="cinematic-camp-v1"] :where(.info-box, .verdict-box, .quick-verdict, .rb-verdict, .brand-comparison-verdict, .pros-cons, .author-box, .source-box, .fact-box, .cta-box, .final-cta, .rb-final-cta, .discount-card, .code-card, .faq-item) {
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(table, .comparison-table) {
  width: 100%;
  border-width: 0;
  border-collapse: collapse;
}

body[data-design="cinematic-camp-v1"] :where(th, td) {
  padding: 1rem;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-align: left;
}

body[data-design="cinematic-camp-v1"] :where(.article-image, .content-image, article figure, .rb-evidence-figure) {
  margin-block: clamp(2.5rem, 5vw, 5rem);
  overflow: hidden;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"] :where(.article-image, .content-image, article figure, .rb-evidence-figure) img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

body[data-design="cinematic-camp-v1"] :where(.primary-cta, .cta-button, .buy-button, .check-price-btn, .discount-button, .rb-primary-cta, .brand-comparison-hero-primary, .brand-comparison-cta) {
  min-height: 3rem;
  border-width: 1px;
  border-style: solid;
}

body[data-page-key^="tool_"] .tool-breadcrumb {
  width: min(calc(100% - (2 * var(--fj-gutter))), var(--fj-max));
  margin-inline: auto;
  padding-block: 1.15rem;
}

body[data-page-key^="tool_"] .tool-hero {
  min-height: 0;
  height: auto;
  align-items: stretch;
  padding-block: clamp(2rem, 4vw, 4rem) clamp(4rem, 7vw, 7rem);
}

body[data-page-key^="tool_"] .tool-hero-copy {
  min-height: clamp(34rem, 50vw, 42rem);
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5rem);
  border-width: 0;
}

body[data-page-key^="tool_"] .tool-hero h1 {
  max-width: 13ch;
  margin: .9rem 0 1.5rem;
}

body[data-page-key^="tool_"] .tool-hero-copy > p {
  max-width: 40rem;
}

body[data-page-key^="tool_"] .tool-hero-media {
  min-height: clamp(34rem, 50vw, 42rem);
  height: auto;
  align-self: stretch;
}

body[data-page-key^="tool_"] .tool-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-page-key^="tool_"] :where(.tool-trust-strip, .tool-shell, .tool-content) {
  width: min(calc(100% - (2 * var(--fj-gutter))), var(--fj-max));
  margin-inline: auto;
}

body[data-page-key^="tool_"] :where(.tool-card, .finder-card, .calculator-card, .packing-card, .result-card, fieldset) {
  border-width: 1px;
  border-style: solid;
}

body[data-page-key^="tool_"] :where(input, select, textarea) {
  min-height: 3rem;
  border-width: 1px;
  border-style: solid;
}

body[data-page-key^="tool_"] :where(button[type="submit"], .tool-primary, .calculate-button) {
  min-height: 3rem;
  border-width: 1px;
  border-style: solid;
}

@media (min-width: 72rem) {
  body[data-design="cinematic-camp-v1"] {
    border-width: 1rem;
    border-style: solid;
    border-bottom-width: 0;
    overflow-x: clip;
  }
}

@media (max-width: 68rem) {
  body[data-design="cinematic-camp-v1"] :where(.review-card-link, .guide-card, .vs-card, .hub-card),
  body[data-design="cinematic-camp-v1"] :where(.review-card-link, .guide-card, .vs-card, .hub-card):first-child,
  body[data-design="cinematic-camp-v1"] :where(.review-card-link, .guide-card, .vs-card, .hub-card).featured,
  body[data-design="cinematic-camp-v1"] .hub-card-featured {
    grid-column: span 6;
  }

  body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero, .guides-hub-hero, .vs-hub-hero, .discounts-hero, .tool-hero, .hub-hero) {
    grid-template-columns: minmax(16rem, .85fr) minmax(0, 1.15fr);
  }
}

@media (max-width: 52rem) {
  body[data-design="cinematic-camp-v1"] > .navbar {
    min-height: 4.4rem;
    z-index: 1300 !important;
  }

  body[data-design="cinematic-camp-v1"] > .navbar .logo::after {
    display: none;
  }

  body[data-design="cinematic-camp-v1"] > .navbar .nav-links {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1300;
    width: min(88vw, 24rem);
    height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: max(5.5rem, calc(env(safe-area-inset-top) + 4.5rem)) 1.25rem max(2rem, env(safe-area-inset-bottom));
    border-left-width: 1px;
    border-left-style: solid;
    transform: translateX(102%);
    overflow-y: auto;
  }

  body[data-design="cinematic-camp-v1"] > .navbar .nav-links.active {
    transform: translateX(0);
  }

  body[data-design="cinematic-camp-v1"] > .navbar .nav-links li {
    width: 100%;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body[data-design="cinematic-camp-v1"] > .navbar .nav-links a {
    min-height: 3.7rem;
  }

  body[data-design="cinematic-camp-v1"] .menu-overlay {
    z-index: 1200;
  }

  body[data-design="cinematic-camp-v1"] > .navbar .menu-toggle {
    position: relative;
    z-index: 1400;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero {
    min-height: 46rem;
    padding: 7.5rem 1rem 9.5rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-media img {
    object-position: 43% 50%;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-content h1 {
    max-width: 12ch;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-buttons {
    display: grid;
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-buttons .cta-button {
    width: 100%;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-media figcaption {
    display: none;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector {
    margin-top: -6.5rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-option {
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail {
    display: grid;
    grid-template-columns: 1fr;
    gap: .7rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card,
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:first-child {
    grid-row: auto;
    min-height: 22rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-tools-strip {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero, .guides-hub-hero, .vs-hub-hero, .discounts-hero, .tool-hero, .hub-hero) {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-block: 3.5rem;
  }

  body[data-design="cinematic-camp-v1"][data-design="cinematic-camp-v1"].ranking-guide .guide-hero {
    min-height: 42rem;
    display: flex;
    align-items: flex-end;
    padding: 5rem 1rem 3rem;
  }

  body[data-design="cinematic-camp-v1"][data-design="cinematic-camp-v1"].ranking-guide .guide-hero::before {
    inset: 0;
    z-index: -1;
    height: auto;
  }

  body[data-design="cinematic-camp-v1"][data-design="cinematic-camp-v1"].ranking-guide .guide-hero::after {
    display: none;
    content: none;
  }

  body[data-design="cinematic-camp-v1"][data-design="cinematic-camp-v1"].ranking-guide .guide-hero-content {
    width: 100%;
    max-width: 32rem;
    padding: 0;
  }

  body[data-design="cinematic-camp-v1"][data-design="cinematic-camp-v1"].ranking-guide .guide-hero h1 {
    max-width: 12ch;
  }

  body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero-media, .guides-hub-hero-media, .vs-hub-hero-media, .discounts-hero-media, .tool-hero-media, .hub-hero-media) {
    min-height: 24rem;
  }

  body[data-design="cinematic-camp-v1"] :where(.review-card-link, .guide-card, .vs-card, .hub-card),
  body[data-design="cinematic-camp-v1"] :where(.review-card-link, .guide-card, .vs-card, .hub-card):first-child,
  body[data-design="cinematic-camp-v1"] :where(.review-card-link, .guide-card, .vs-card, .hub-card).featured,
  body[data-design="cinematic-camp-v1"] .hub-card-featured {
    grid-column: 1 / -1;
  }

  body[data-design="cinematic-camp-v1"] :where(th, td) {
    padding: .85rem .7rem;
  }
}

@media (max-width: 36rem) {
  :root {
    --fj-gutter: 1rem;
    --fj-section: 4.5rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .hero-content .hero-eyebrow::before {
    display: none;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector {
    width: calc(100% - 2rem);
    padding: .8rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-option {
    min-height: 4.35rem;
    padding: .7rem;
  }

  body[data-design="cinematic-camp-v1"] :where(.reviews-hub-hero-media, .guides-hub-hero-media, .vs-hub-hero-media, .discounts-hero-media, .tool-hero-media, .hub-hero-media) {
    min-height: 20rem;
  }
}

body[data-design="cinematic-camp-v1"][data-page-key="review_rockbrook_camping_box"] > main {
  width: 100%;
  max-width: none;
}

@media (max-width: 52rem) {
  body[data-design="cinematic-camp-v1"][data-page-key="review_rockbrook_camping_box"] :where(.rb-layout, .rb-article, .rb-sidebar) {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  body[data-design="cinematic-camp-v1"] *,
  body[data-design="cinematic-camp-v1"] *::before,
  body[data-design="cinematic-camp-v1"] *::after {
    scroll-behavior: auto !important;
  }
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(
  .home-featured,
  .comparison-section,
  .partners-section,
  .home-faq
) {
  width: min(calc(100% - (2 * var(--fj-gutter))), var(--fj-max));
  margin-inline: auto;
  padding-block: clamp(4rem, 6.5vw, 6.5rem);
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 0;
  margin-top: 0;
  padding: 1.25rem 0 2.5rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail > :where(span, a) {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding-inline: 1rem;
  border-right-width: 1px;
  border-right-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail > :first-child {
  padding-left: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail > a {
  padding-right: 0;
  border-right-width: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured {
  padding-top: clamp(3.5rem, 5.5vw, 5.5rem);
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured::before {
  top: clamp(3.5rem, 5.5vw, 5.5rem);
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-heading {
  margin-bottom: 1.5rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(
  .home-featured-heading,
  .comparison-section > .section-header,
  .partners-section > .section-header,
  .home-faq > .section-header
) h2 {
  max-width: 16ch;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-grid {
  min-height: 36rem;
  grid-template-columns: minmax(0, 1.45fr) minmax(20rem, .8fr);
  grid-template-rows: repeat(2, minmax(17rem, 1fr));
  gap: .9rem;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card,
html[data-motion-ready="true"] body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card {
  display: grid;
  min-height: 0;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card::after {
  display: none;
  content: none;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:first-child {
  grid-row: 1 / 3;
  grid-template-columns: 1fr;
  grid-template-rows: minmax(25rem, 1fr) auto;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:nth-child(2),
body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:nth-child(3) {
  grid-template-columns: minmax(10rem, 44%) minmax(0, 1fr);
  grid-template-rows: 1fr;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card > img {
  position: static;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card > span {
  position: static;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: .45rem;
  padding: clamp(1.25rem, 2.2vw, 2rem);
  border-width: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:first-child > span {
  border-top-width: 1px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card small {
  max-width: 34ch;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card b {
  margin-top: .45rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-tools-strip {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(4.25rem, 6vw, 6rem) max(var(--fj-gutter), calc((100vw - var(--fj-max)) / 2));
  border-width: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-tools-intro h2 {
  max-width: 12ch;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .comparison-section {
  padding-top: clamp(4.5rem, 7vw, 7rem);
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(.discount-cta-btn.primary, .btn-all-codes) {
  min-height: 3rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .partners-section {
  width: 100%;
  max-width: none;
  padding-inline: max(var(--fj-gutter), calc((100vw - var(--fj-max)) / 2));
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .partners-grid .partner-card {
  min-height: 11rem;
}

@media (max-width: 52rem) {
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-bottom: 2rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail > :where(span, a) {
    padding-inline: .75rem;
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail > :nth-child(odd) {
    padding-left: 0;
    border-right-width: 1px;
    border-right-style: solid;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured {
    padding-top: 4rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-grid {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:first-child,
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:nth-child(2),
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:nth-child(3) {
    grid-column: 1;
    grid-row: auto;
    min-height: 0;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:first-child {
    grid-template-rows: minmax(21rem, 56vw) auto;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:nth-child(2),
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:nth-child(3) {
    grid-template-columns: minmax(9rem, 38%) minmax(0, 1fr);
    grid-template-rows: minmax(11rem, auto);
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-tools-strip {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 4.5rem var(--fj-gutter);
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .comparison-section,
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-faq {
    padding-block: 4.5rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .partners-section {
    padding-block: 4.5rem;
    padding-inline: var(--fj-gutter);
  }
}

@media (max-width: 36rem) {
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail {
    grid-template-columns: 1fr;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail > :where(span, a),
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail > :nth-child(odd) {
    padding-inline: 0;
    border-right-width: 0;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:nth-child(2),
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-card:nth-child(3) {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(15rem, 62vw) auto;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-heading {
    display: grid;
    gap: 1rem;
    padding-top: 2.5rem;
    padding-left: 0;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-option > span {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .5rem;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-option b {
    white-space: nowrap;
  }
}

/* Homepage alignment pass: every major section follows one editorial axis. */
body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector,
body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .swiss-trust-rail {
  width: min(calc(100% - (2 * var(--fj-gutter))), var(--fj-max));
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector {
  padding-inline: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .vehicle-selector > h2 {
  padding-left: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-heading {
  padding: 3rem 0 1.35rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(
  .comparison-section,
  .partners-section,
  .home-faq
) > .section-header {
  width: 100%;
  max-width: none;
  display: block;
  margin-inline: 0;
  padding-top: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(
  .comparison-section,
  .partners-section,
  .home-faq
) > .section-header::before {
  position: static;
  display: block;
  width: 3.5rem;
  margin: 0 0 .9rem;
  padding-top: .55rem;
  border-top-width: 2px;
  border-top-style: solid;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(
  .comparison-section,
  .partners-section,
  .home-faq
) > .section-header > * {
  grid-column: auto;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(
  .comparison-section,
  .partners-section,
  .home-faq
) > .section-header .section-tag {
  display: block;
  margin: 0 0 .75rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .comparison-section {
  padding-inline: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-faq {
  padding-inline: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(
  .comparison-section,
  .partners-section,
  .home-faq
) > .section-header h2 {
  margin-left: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .comparison-section :where(
  .table-tools,
  .table-container,
  .discount-section-new
),
body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page :where(
  .partners-grid,
  .home-faq-grid
) {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .comparison-section .price-source-note {
  margin-left: 0;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .discount-section-new::before {
  position: static;
  display: block;
  width: 3.5rem;
  margin: 0 0 .9rem;
  padding-top: .55rem;
}

body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .discount-section-new > :where(h3, .discount-intro) {
  margin-left: 0;
}

@media (max-width: 36rem) {
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page .home-featured-heading {
    padding-top: 2.5rem;
  }
}

@media (max-width: 52rem) {
  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page main :is(
    .home-featured,
    .comparison-section,
    .home-faq
  ) {
    padding-inline: 0 !important;
  }

  body[data-design="cinematic-camp-v1"][data-page-key="home"].home-page main :is(
    .home-tools-strip,
    .partners-section
  ) {
    padding-inline: var(--fj-gutter) !important;
  }
}

body[data-design="cinematic-camp-v1"][data-page-key="vs_index"] > main > .breadcrumb {
  width: min(calc(100% - (2 * var(--fj-gutter))), var(--fj-max));
  min-height: 2.75rem;
  margin-inline: auto;
  padding: 1rem 0;
  border-width: 0;
}

body[data-design="cinematic-camp-v1"]::after,
body[data-design="cinematic-camp-v1"].review-modern::before {
  display: none !important;
  content: none !important;
}

body[data-design="cinematic-camp-v1"][data-page-key^="review_"]:not([data-page-key="review_rockbrook_camping_box"]) .review-main :where(.review-decision-v3, .ownership-detail) {
  padding-block: clamp(4.5rem, 7vw, 7rem) !important;
}

body[data-design="cinematic-camp-v1"][data-page-key^="review_"]:not([data-page-key="review_rockbrook_camping_box"]) .review-main .review-story {
  padding-top: clamp(4.5rem, 7vw, 7rem) !important;
}

body[data-design="cinematic-camp-v1"][data-page-key^="review_"]:not([data-page-key="review_rockbrook_camping_box"]) .review-main .product-evidence-gallery {
  margin-bottom: clamp(5rem, 8vw, 8rem) !important;
}

body[data-design="cinematic-camp-v1"][data-page-key^="review_"]:not([data-page-key="review_rockbrook_camping_box"]) .review-main .review-article-body > h2 {
  margin-top: clamp(4.5rem, 7vw, 7rem) !important;
}

body[data-design="cinematic-camp-v1"][data-page-key^="review_"]:not([data-page-key="review_rockbrook_camping_box"]) .review-main .cta-block {
  margin-block: clamp(6rem, 9vw, 9rem) !important;
}

body[data-design="cinematic-camp-v1"][data-page-key^="review_"]:not([data-page-key="review_rockbrook_camping_box"]) .review-main .review-next-steps {
  margin-bottom: clamp(5rem, 8vw, 8rem) !important;
}

body[data-design="cinematic-camp-v1"] :where(.guide-hero-primary, .brand-comparison-hero-primary) {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
  border-width: 1px;
  border-style: solid;
}

body[data-design="cinematic-camp-v1"] :where(.guide-hero-secondary, .brand-comparison-hero-secondary) {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
  border-width: 1px;
  border-style: solid;
}

@media (max-width: 52rem) {
  body[data-design="cinematic-camp-v1"][data-page-key^="review_"]:not([data-page-key="review_rockbrook_camping_box"]) .review-hero-media,
  body[data-design="cinematic-camp-v1"][data-page-key^="review_"]:not([data-page-key="review_rockbrook_camping_box"]) .review-hero-copy {
    min-height: 35rem !important;
    height: 35rem !important;
  }

  body[data-design="cinematic-camp-v1"][data-page-key^="review_"]:not([data-page-key="review_rockbrook_camping_box"]) .review-main :where(.review-decision-v3, .ownership-detail, .review-story) {
    padding-top: 4rem !important;
  }
}

body.review-modern {
  --review-gutter: clamp(1.25rem, 6vw, 6rem);
  --review-content-width: 72rem;
  margin: 0;
  padding: 1rem;
  overflow-x: clip;
}

body.review-modern::before {
  z-index: 9000;
}

body.review-modern .reading-progress {
  z-index: 1200;
}

body.review-modern .navbar {
  position: absolute;
  z-index: 1300;
  top: 0;
  right: 0;
  left: 0;
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) auto minmax(9rem, 1fr);
  min-height: 4.75rem;
  width: auto;
  padding: 0 var(--review-gutter);
  border-width: 0;
}

body.review-modern .navbar .logo::after {
  display: none;
}

body.review-modern .nav-links {
  justify-self: center;
  gap: clamp(1.1rem, 2.4vw, 2.2rem);
}

body.review-modern .nav-links li:nth-child(4),
body.review-modern .nav-links li:nth-child(5),
body.review-modern .nav-methodology-item {
  display: none;
}

body.review-modern .nav-find-item {
  display: list-item;
}

body.review-modern .nav-links .nav-find-cta {
  min-height: 2.4rem;
  padding: .62rem 1.2rem;
  border-width: 0;
}

body.review-modern .lang-switcher {
  justify-self: end;
}

body.review-modern .lang-current {
  min-width: 3.5rem;
  min-height: 2.4rem;
}

body.review-modern .review-hero-v3 {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: clamp(43rem, 76svh, 52rem);
  overflow: hidden;
}

body.review-modern .review-hero-media {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: auto;
  min-height: 0;
  align-self: auto;
  margin: 0;
  overflow: hidden;
  border-width: 0;
}

body.review-modern .review-hero-media::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
}

body.review-modern .review-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
}

body.review-modern .review-hero-media figcaption {
  position: absolute;
  z-index: 3;
  right: var(--review-gutter);
  bottom: 1.25rem;
  max-width: 28rem;
  padding: 0;
  border-width: 0;
  text-align: right;
}

body.review-modern .review-hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: clamp(31rem, 56svh, 38rem);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(7.5rem, 14vw, 10.5rem) var(--review-gutter) clamp(8rem, 15vw, 11rem);
  text-align: center;
}

body.review-modern .review-hero .breadcrumb {
  position: absolute;
  top: 6.25rem;
  left: var(--review-gutter);
  display: flex;
  max-width: min(40rem, calc(100% - 3rem));
  align-items: center;
  gap: .6rem;
  margin: 0;
}

body.review-modern .review-hero .eyebrow {
  margin: 0 0 1rem;
}

body.review-modern .review-hero .eyebrow::before {
  display: none;
}

body.review-modern .review-hero h1 {
  max-width: 18ch;
  margin: 0;
}

body.review-modern .review-hero h1 > span {
  display: inline;
}

body.review-modern .review-hero-deck {
  max-width: 62ch;
  margin: 1.35rem auto 0;
}

body.review-modern .review-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
  margin-top: 1.5rem;
}

body.review-modern .review-hero-cta,
body.review-modern .review-offer-primary,
body.review-modern .cta-block .cta-button {
  display: inline-flex;
  min-height: 2.9rem;
  align-items: center;
  justify-content: center;
  padding: .76rem 1.45rem;
  border-width: 1px;
  border-style: solid;
}

body.review-modern .review-hero-secondary {
  display: inline-flex;
  min-height: 2.9rem;
  align-items: center;
  padding: .7rem 1rem;
  border-width: 0;
}

body.review-modern .review-hero .review-hero-secondary {
  border-width: 0;
}

body.review-modern .review-hero-insights {
  position: absolute;
  z-index: 2;
  right: var(--review-gutter);
  bottom: 0;
  left: var(--review-gutter);
  display: grid;
  grid-template-columns: 2.6fr 4.7fr 4.7fr;
  border-top-width: 1px;
  border-top-style: solid;
}

body.review-modern .review-hero-insight {
  min-width: 0;
  padding: 1.5rem clamp(1rem, 2.5vw, 2.25rem) 2.3rem;
  border-left-width: 1px;
  border-left-style: solid;
}

body.review-modern .review-hero-insight:first-child {
  padding-left: 0;
  border-left-width: 0;
}

body.review-modern .review-hero-insight > span {
  display: block;
  margin-bottom: .65rem;
}

body.review-modern .review-hero-insight strong {
  display: block;
}

body.review-modern .review-hero-insight-score strong small {
  margin-left: .2rem;
}

body.review-modern .review-hero-insight p {
  max-width: 48ch;
  margin: .45rem 0 0;
}

body.review-modern .review-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 var(--review-gutter) clamp(5rem, 9vw, 9rem);
  overflow: visible;
}

body.review-modern .review-decision-v3 {
  display: block;
  align-items: start;
  width: min(100%, var(--review-content-width));
  margin: 0 auto;
  padding: clamp(5rem, 8vw, 7rem) 0;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  scroll-margin-top: 5rem;
}

body.review-modern .review-decision-v3 .review-tldr,
body.review-modern .review-offer-card {
  margin: 0;
  padding: 0;
  border-width: 0;
}

body.review-modern .review-decision-v3 .review-tldr {
  max-width: 50rem;
}

body.review-modern .review-tldr-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

body.review-modern .review-score-display {
  display: none;
}

body.review-modern .review-decision-v3 .review-tldr-copy {
  max-width: 34ch;
  margin: 0;
}

body.review-modern .review-score-track {
  width: min(100%, 30rem);
  height: 2px;
  margin: 2.4rem 0 1rem;
  overflow: hidden;
}

body.review-modern .review-score-track span {
  display: block;
  width: calc(var(--review-score) * 10%);
  height: 100%;
}

body.review-modern .review-score-details summary {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: .6rem;
  cursor: pointer;
  list-style: none;
}

body.review-modern .review-score-details summary::-webkit-details-marker {
  display: none;
}

body.review-modern .review-score-details summary::after {
  content: '+';
}

body.review-modern .review-score-details[open] summary::after {
  content: '−';
}

body.review-modern .review-score-note {
  max-width: 60ch;
  margin: .35rem 0 .75rem;
}

body.review-modern .review-offer-card {
  max-width: 50rem;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding: clamp(2rem, 5vw, 3.5rem);
  border-width: 1px;
  border-style: solid;
}

body.review-modern .review-offer-label {
  display: block;
  margin-bottom: 1.1rem;
}

body.review-modern .review-offer-card h2 {
  max-width: 14ch;
  margin: 0;
}

body.review-modern .review-offer-card > p,
body.review-modern .review-offer-checked {
  max-width: 42ch;
  margin: 1.25rem 0;
}

body.review-modern .review-offer-facts {
  margin: 1.5rem 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body.review-modern .review-offer-facts > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body.review-modern .review-region-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .6rem;
  margin: 1.25rem 0 .6rem;
}

body.review-modern .review-region-actions a {
  display: flex;
  min-height: 2.9rem;
  align-items: center;
  justify-content: center;
  padding: .65rem;
  border-width: 1px;
  border-style: solid;
  text-align: center;
}

body.review-modern .review-offer-card .review-offer-primary {
  margin-top: 1.4rem;
}

body.review-modern .review-offer-card :where(.review-offer-secondary, .review-offer-terms) {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  margin-top: .35rem;
}

body.review-modern .review-offer-card:has(.review-region-actions) > .review-offer-primary,
body.review-modern .review-offer-card:has(.review-region-actions) > .review-offer-secondary {
  display: none;
}

body.review-modern .ownership-detail {
  width: min(100%, var(--review-content-width));
  margin: 0 auto;
  padding: clamp(5rem, 8vw, 7rem) 0;
  border-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body.review-modern .ownership-detail-layout {
  display: block;
  align-items: start;
}

body.review-modern .ownership-detail-header {
  position: static;
  display: block;
  max-width: 50rem;
  grid-template-columns: none;
  gap: 0;
  margin: 0;
  padding: 0;
  border-width: 0;
}

body.review-modern .ownership-kicker,
body.review-modern .product-evidence-gallery-label,
body.review-modern .cta-block-label,
body.review-modern .review-next-steps-label {
  display: block;
  margin-bottom: 1.2rem;
}

body.review-modern .ownership-detail-header h2,
body.review-modern .product-evidence-gallery h2,
body.review-modern .review-next-steps h2 {
  max-width: 16ch;
  margin: 0;
}

body.review-modern .ownership-inline-image {
  display: none;
}

body.review-modern .ownership-detail-header p {
  max-width: 42ch;
  margin: 1.5rem 0 0;
}

body.review-modern .ownership-detail-list {
  display: block;
  grid-template-columns: none;
  max-width: 50rem;
  max-inline-size: 50rem;
  margin: 3rem 0 0;
  padding: 0;
  border-top-width: 1px;
  border-top-style: solid;
  list-style: none;
}

html body.review-modern main.review-main .ownership-detail .ownership-detail-list {
  max-width: 50rem;
  max-inline-size: 50rem;
}

body.review-modern .ownership-detail-list > li {
  display: block;
  grid-template-columns: none;
  gap: 0;
  width: 100%;
  max-inline-size: none;
  margin: 0;
  padding: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body.review-modern .ownership-detail-list details {
  margin: 0;
}

body.review-modern .ownership-detail-list summary {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: 1rem;
  min-height: 4.8rem;
  align-items: center;
  padding: 0;
  cursor: pointer;
  list-style: none;
}

body.review-modern .ownership-detail-list summary::-webkit-details-marker {
  display: none;
}

body.review-modern .ownership-toggle {
  position: relative;
  width: 1rem;
  height: 1rem;
}

body.review-modern .ownership-toggle::before,
body.review-modern .ownership-toggle::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: .85rem;
  height: 1px;
}

body.review-modern details[open] .ownership-toggle::after {
  transform: translate(-50%, -50%) rotate(0);
}

body.review-modern .ownership-accordion-panel {
  display: grid;
  grid-template-rows: 0fr;
}

body.review-modern details[open] .ownership-accordion-panel {
  grid-template-rows: 1fr;
}

body.review-modern .ownership-accordion-panel p {
  min-height: 0;
  max-width: 62ch;
  margin: 0;
  overflow: hidden;
}

body.review-modern details[open] .ownership-accordion-panel p {
  padding: 0 2rem 1.75rem 3rem;
}

body.review-modern .ownership-sources {
  display: block;
  max-width: 50rem;
  margin-top: 3rem;
  padding: 1.5rem 0 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body.review-modern .ownership-sources div {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.5rem;
  margin-top: 1rem;
}

body.review-modern .ownership-sources p {
  max-width: 68ch;
  margin: 1.25rem 0 0;
}

body.review-modern .review-story {
  width: min(100%, var(--review-content-width));
  margin: 0 auto;
  padding-top: clamp(5rem, 8vw, 7rem);
}

body.review-modern .product-evidence-gallery {
  margin: 0 0 clamp(5rem, 8vw, 7rem);
}

body.review-modern .product-evidence-gallery-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

body.review-modern .product-evidence-gallery-label {
  align-self: start;
}

body.review-modern .product-evidence-gallery h2 {
  grid-column: 1;
  grid-row: auto;
  max-width: 18ch;
}

body.review-modern .product-evidence-gallery-intro {
  grid-column: 1;
  max-width: 56ch;
  margin: 1.25rem 0 0;
}

body.review-modern .product-evidence-overview,
body.review-modern .product-evidence-grid figure {
  margin: 0;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

body.review-modern .product-evidence-overview {
  margin-bottom: 1rem;
}

body.review-modern .product-evidence-overview img,
body.review-modern .product-evidence-grid img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 18rem;
  object-fit: cover;
}

body.review-modern .product-evidence-overview figcaption,
body.review-modern .product-evidence-grid figcaption {
  min-height: 4rem;
  padding: .9rem 1rem;
}

body.review-modern .product-evidence-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

body.review-modern .product-evidence-grid figure {
  display: grid;
  grid-column: span 3;
  grid-template-rows: minmax(18rem, 1fr) auto;
}

body.review-modern .product-evidence-grid figure:first-child {
  grid-column: span 6;
}

body.review-modern .product-evidence-limit {
  margin: 1rem 0 0;
  padding: 1rem 0;
  border-top-width: 1px;
  border-top-style: solid;
}

body.review-modern .review-article-body {
  width: 100%;
  margin: 0;
}

body.review-modern .review-article-body > h2 {
  max-width: 50rem;
  margin: clamp(4.5rem, 7vw, 6rem) 0 1.6rem;
  padding-top: 1.2rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body.review-modern .review-article-body > h2:first-child {
  margin-top: 0;
}

body.review-modern .review-article-body > h3 {
  max-width: 50rem;
  margin: 3.8rem 0 1rem;
}

body.review-modern .review-article-body > :where(p, ul, ol) {
  max-width: 50rem;
}

body.review-modern .review-article-body > p {
  margin: 0 0 1.4rem;
}

body.review-modern .review-article-body > :where(figure, .body-figure, .article-visual, .table-scroll, .source-audit) {
  width: 100%;
  margin: clamp(3rem, 6vw, 5rem) 0;
}

body.review-modern .review-article-body figure {
  overflow: hidden;
}

body.review-modern .review-article-body figure img {
  display: block;
  width: 100%;
  height: auto;
}

body.review-modern .review-article-body figcaption {
  padding: 1rem;
}

body.review-modern .table-scroll {
  overflow-x: auto;
  border-top-width: 1px;
  border-top-style: solid;
  overscroll-behavior-inline: contain;
}

body.review-modern table {
  width: 100%;
  min-width: 42rem;
  border-collapse: collapse;
}

body.review-modern :where(th, td) {
  padding: .9rem .75rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-align: left;
  vertical-align: top;
}

body.review-modern .pros-cons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 3rem 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body.review-modern :where(.pros, .cons) {
  padding: 2rem 2rem 2rem 0;
  border-width: 0;
}

body.review-modern .cons {
  padding-right: 0;
  padding-left: 2rem;
  border-left-width: 1px;
  border-left-style: solid;
}

body.review-modern :where(.pros, .cons) h3 {
  margin: 0 0 1.25rem;
}

body.review-modern :where(.pros, .cons) ul {
  margin: 0;
  padding-left: 1.1rem;
}

body.review-modern .skip-callout,
body.review-modern .review-verdict {
  margin: 3rem 0;
  padding: 1.5rem 0 1.5rem 1.5rem;
  border-width: 0;
  border-left-width: 2px;
  border-left-style: solid;
}

body.review-modern :where(.skip-callout, .review-verdict) h3 {
  margin: 0 0 .7rem;
}

body.review-modern :where(.skip-callout, .review-verdict) p {
  margin: 0;
}

body.review-modern .source-audit {
  padding: clamp(2rem, 5vw, 4rem);
  border-width: 1px;
  border-style: solid;
}

body.review-modern .source-audit h2 {
  margin-top: 0;
  padding-top: 0;
  border-top-width: 0;
}

body.review-modern .cta-block {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(17rem, 5fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
  width: min(100%, var(--review-content-width));
  margin: clamp(9rem, 15vw, 15rem) auto;
  padding: clamp(3rem, 7vw, 6rem);
  border-width: 1px;
  border-style: solid;
  text-align: left;
}

body.review-modern .cta-block h3 {
  max-width: 14ch;
  margin: 0;
}

body.review-modern .cta-block p {
  max-width: 46ch;
  margin: 1.3rem 0 0;
}

body.review-modern .cta-block-actions {
  display: grid;
  gap: .75rem;
}

body.review-modern .cta-block .cta-button {
  width: 100%;
}

body.review-modern .review-main .cta-block .cta-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
}

body.review-modern .review-next-steps {
  width: min(100%, var(--review-content-width));
  margin: 0 auto clamp(7rem, 12vw, 12rem);
}

body.review-modern .review-next-steps h2 {
  max-width: 14ch;
}

body.review-modern .review-next-steps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 3rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body.review-modern .review-next-step {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .5rem 1rem;
  min-height: 10rem;
  align-content: center;
  padding: 1.6rem 2rem 1.6rem 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body.review-modern .review-next-step:nth-child(even) {
  padding-right: 0;
  padding-left: 2rem;
  border-left-width: 1px;
  border-left-style: solid;
}

body.review-modern .review-next-step::after {
  content: '↗';
  grid-column: 2;
  grid-row: 1;
}

body.review-modern .review-next-step span {
  grid-column: 1 / -1;
  max-width: 44ch;
}

body.review-modern .review-byline {
  width: min(100%, 52rem);
  margin: 0 auto;
  padding-top: 1.4rem;
  border-top-width: 1px;
  border-top-style: solid;
}

body.review-modern footer {
  margin: 0;
  padding: 2.5rem clamp(1.5rem, 6vw, 6rem);
  border-width: 0;
}

@media (min-width: 52.001rem) {
  body.review-modern .menu-toggle {
    display: none;
  }

  body.review-modern .navbar .nav-links {
    position: static;
    inset: auto;
    display: flex;
    width: auto;
    height: auto;
    min-height: 0;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(1.1rem, 2.4vw, 2.2rem);
    margin: 0;
    padding: 0;
    overflow: visible;
    border-width: 0;
    clip-path: none;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  body.review-modern .navbar .nav-links::before,
    body.review-modern .navbar .nav-links a::after {
    display: none;
  }

  body.review-modern .navbar .nav-links a {
    min-height: 2.5rem;
    padding: .55rem .15rem;
    border-width: 0;
  }

  body.review-modern .navbar .nav-links a.nav-find-cta,
    body.review-modern .navbar .nav-links a.nav-find-cta:hover {
    min-height: 2.4rem;
    margin-left: .25rem;
    padding: .62rem 1.2rem;
    border-width: 0;
  }

  body.review-modern .navbar .lang-switcher {
    position: relative;
    inset: auto;
    margin: 0;
  }

  body.review-modern .navbar .lang-current {
    min-height: 2.75rem;
  }
}

@media (max-width: 68rem) {
  body.review-modern .navbar {
    grid-template-columns: 1fr auto auto;
  }

  body.review-modern .nav-links {
    justify-self: stretch;
  }

  body.review-modern .review-hero-v3 {
    min-height: 52rem;
  }

  body.review-modern .review-hero-copy {
    min-height: 36rem;
  }

  body.review-modern .review-hero-insights {
    grid-template-columns: 1fr 1.5fr 1.5fr;
  }

  body.review-modern .review-offer-card {
    max-width: 50rem;
  }

  body.review-modern .ownership-detail-layout,
    body.review-modern .product-evidence-gallery-header {
    grid-template-columns: 1fr;
  }

  body.review-modern .ownership-detail-header {
    position: static;
  }

  body.review-modern .ownership-detail-header h2,
    body.review-modern .product-evidence-gallery h2 {
    max-width: 12ch;
  }

  body.review-modern .product-evidence-gallery h2,
    body.review-modern .product-evidence-gallery-intro {
    grid-column: 1;
    grid-row: auto;
  }

  body.review-modern .product-evidence-grid {
    grid-template-columns: 1fr 1fr;
  }

  body.review-modern .product-evidence-grid figure,
    body.review-modern .product-evidence-grid figure:first-child {
    grid-column: auto;
  }
}

@media (max-width: 52rem) {
  body.review-modern {
    padding: 0;
  }

  body.review-modern .navbar {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    min-height: 4.5rem;
    padding: 0 1.1rem;
  }

  body.review-modern .navbar .lang-switcher {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }

  body.review-modern .navbar .lang-current {
    min-height: 2.75rem;
  }

  body.review-modern .navbar .menu-toggle {
    grid-column: 3;
    grid-row: 1;
  }

  body.review-modern .navbar .nav-links a::after {
    content: '↗';
    position: static;
    display: block;
    width: auto;
    height: auto;
    margin-left: auto;
    transform: none;
  }

  body.review-modern .navbar .nav-links a.nav-find-cta::after {
    content: none;
  }

  body.review-modern .nav-links li,
    body.review-modern .nav-links li:nth-child(4),
    body.review-modern .nav-links li:nth-child(5),
    body.review-modern .nav-methodology-item {
    display: list-item;
  }

  body.review-modern .review-hero-v3 {
    min-height: 0;
  }

  body.review-modern .review-hero-media {
    height: 48rem;
  }

  body.review-modern .review-hero-media img {
    object-position: center;
  }

  body.review-modern .review-hero-copy {
    min-height: 48rem;
    justify-content: center;
    padding: 7rem 1.25rem 8rem;
  }

  body.review-modern .review-hero .breadcrumb {
    top: 1.35rem;
    left: 1.25rem;
    max-width: calc(100% - 2.5rem);
    overflow: hidden;
    white-space: nowrap;
  }

  body.review-modern .review-hero h1 {
    max-width: 12ch;
  }

  body.review-modern .review-hero-insights {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    grid-template-columns: 1fr 1fr;
    margin: 0 1.25rem;
  }

  body.review-modern .review-hero-insight-trust {
    grid-column: 1 / -1;
  }

  body.review-modern .review-hero-insight,
    body.review-modern .review-hero-insight:first-child {
    padding: 1.25rem 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-left-width: 0;
  }

  body.review-modern .review-hero-media figcaption {
    display: none;
  }

  body.review-modern .review-main {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }

  body.review-modern .review-decision-v3,
    body.review-modern .ownership-detail,
    body.review-modern .review-story {
    padding-top: 6rem;
  }

  body.review-modern .ownership-detail-layout {
    gap: 3rem;
  }

  body.review-modern .ownership-sources {
    grid-template-columns: 1fr;
  }

  body.review-modern .ownership-sources p {
    grid-column: 1;
  }

  body.review-modern .product-evidence-grid {
    grid-template-columns: 1fr;
  }

  body.review-modern .product-evidence-grid figure {
    grid-template-rows: auto auto;
  }

  body.review-modern .product-evidence-overview img,
    body.review-modern .product-evidence-grid img {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  body.review-modern .review-article-body > :where(figure, .body-figure, .article-visual, .table-scroll, .source-audit) {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  body.review-modern .pros-cons,
    body.review-modern .cta-block,
    body.review-modern .review-next-steps-grid {
    grid-template-columns: 1fr;
  }

  body.review-modern .pros {
    padding-right: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body.review-modern .cons {
    padding-left: 0;
    border-left-width: 0;
  }

  body.review-modern .cta-block {
    gap: 2.5rem;
    padding: 2rem 1.5rem;
  }

  body.review-modern .review-next-step,
    body.review-modern .review-next-step:nth-child(even) {
    min-height: 8rem;
    padding: 1.25rem 0;
    border-left-width: 0;
  }
}

@media (pointer: coarse) {
  body.review-modern :where(.review-hero-cta, .review-hero-secondary, .review-offer-primary, .review-region-actions a, .review-score-details summary) {
    min-height: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.review-modern *,
    body.review-modern *::before,
    body.review-modern *::after {
    scroll-behavior: auto !important;
  }
}

/* Structural source: src/templates/404.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.error-content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 2rem;
}

.error-box h1 {
  margin-bottom: 0.5rem;
}

.error-box p {
  margin-bottom: 2rem;
  max-width: 500px;
}

.error-links {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.error-links a {
  display: inline-block;
  padding: 0.75rem 1.5rem;
}

.error-links a.secondary {
  border-width: 2px;
  border-style: solid;
}

footer {
  text-align: center;
  padding: 2rem;
}

@media(max-width:768px) {
  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/about.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
}

/* Structural source: src/templates/disclosure.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
}

/* Structural source: src/templates/discounts/_seoqs_discount.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

.discount-hero {
  padding: 4rem 6% 3rem;
  text-align: center;
}

.discount-hero h1 {
  max-width: 800px;
  margin: 0 auto 1rem;
}

.breadcrumb {
  max-width: 800px;
  margin: 0 auto 1rem;
  text-align: left;
}

.code-box-hero {
  display: inline-block;
  border-width: 2px;
  border-style: dashed;
  padding: .75rem 2rem;
  margin: 1rem 0;
}

.savings-pill {
  display: inline-block;
  padding: .4rem .9rem;
  margin: 0 .5rem .5rem 0;
}

.discount-cta {
  display: inline-block;
  padding: .85rem 2rem;
  margin-top: 1rem;
}

.discount-meta {
  margin-top: 1rem;
}

.discount-main {
  max-width: 760px;
  margin: 3rem auto;
  padding: 0 6%;
}

.discount-main h2 {
  margin: 2rem 0 1rem;
}

.discount-main h3 {
  margin: 1.5rem 0 .5rem;
}

.discount-main p {
  margin-bottom: 1.25rem;
}

.discount-main ul, .discount-main ol {
  margin: 1rem 0 1.5rem 1.5rem;
}

.discount-main li {
  margin-bottom: .5rem;
}

.discount-main table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}

.discount-main th {
  padding: .7rem;
  text-align: left;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.discount-main td {
  padding: .6rem .7rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.skip-callout {
  border-left-width: 4px;
  border-left-style: solid;
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
}

.skip-callout h3 {
  margin: 0 0 .5rem;
}

.verified-badge {
  border-left-width: 4px;
  border-left-style: solid;
  padding: 1rem 1.25rem;
  margin: 1.5rem 0;
}

.related-grid {
  border-width: 1px;
  border-style: solid;
  padding: 1.5rem 1.75rem;
  margin: 2.5rem 0;
}

.related-grid h3 {
  margin-bottom: 1rem;
}

.related-grid ul {
  list-style: none;
  margin: 0;
}

.related-grid li {
  margin-bottom: .5rem;
}

footer {
  padding: 2rem 6%;
  text-align: center;
  margin-top: 3rem;
}

/* Structural source: src/templates/discounts/index.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
}

.feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.feature-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

.feature-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  min-width: 27px;
  padding: 0 5px;
  border-width: 1.5px;
  border-style: solid;
  flex-shrink: 0;
}

/* Structural source: src/templates/faq/_paa.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

.faq-hero {
  padding: 4rem 6% 3rem;
}

.faq-hero h1 {
  max-width: 900px;
  margin: 0 auto;
}

.breadcrumb {
  max-width: 900px;
  margin: 0 auto 1rem;
}

.faq-meta {
  max-width: 900px;
  margin: 1rem auto 0;
}

.faq-main {
  max-width: 760px;
  margin: 3rem auto;
  padding: 0 6%;
}

.faq-tldr {
  border-left-width: 4px;
  border-left-style: solid;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
}

.faq-main h2 {
  margin: 2rem 0 1rem;
}

.faq-main p {
  margin-bottom: 1.25rem;
}

.faq-related {
  border-width: 1px;
  border-style: solid;
  padding: 1.5rem 1.75rem;
  margin: 2.5rem 0;
}

.faq-related h3 {
  margin-bottom: 1rem;
}

.faq-related ul {
  list-style: none;
}

.faq-related li {
  margin-bottom: .5rem;
}

.faq-cta {
  padding: 1.75rem 1.5rem;
  margin-top: 2.5rem;
  text-align: center;
}

.faq-cta a {
  display: inline-block;
  padding: .85rem 1.75rem;
  margin-top: .5rem;
}

footer {
  padding: 2rem 6%;
  text-align: center;
  margin-top: 3rem;
}

/* Structural source: src/templates/faq/index.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

.hub-hero {
  padding: 4rem 6% 3rem;
  text-align: center;
}

.hub-hero h1 {
  max-width: 800px;
  margin: 0 auto 1rem;
}

.hub-hero p {
  max-width: 680px;
  margin: 0 auto;
}

.hub-grid {
  max-width: 1100px;
  margin: 3rem auto;
  padding: 0 6%;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
  gap: 1.25rem;
}

.hub-card {
  border-width: 1px;
  border-style: solid;
  padding: 1.5rem;
  display: block;
}

.hub-card h2 {
  margin-bottom: .5rem;
}

footer {
  padding: 2rem 6%;
  text-align: center;
  margin-top: 3rem;
}

/* Structural source: src/templates/guides/_editorial_article.html (inline layout) */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

/* Review clarity v4: one calm reading path from verdict to evidence. */
body.review-modern {
  --review-reading-width: 44rem;
}

body.review-modern .review-hero-copy {
  width: min(calc(100% - (2 * var(--review-gutter))), var(--review-content-width));
  margin-inline: auto;
  padding-right: 0;
  padding-left: 0;
  align-items: flex-start;
  text-align: left;
}

body.review-modern .review-hero .breadcrumb {
  left: 0;
}

body.review-modern .review-hero h1 {
  max-width: 13ch;
}

body.review-modern .review-hero-deck {
  max-width: 50ch;
  margin-right: 0;
  margin-left: 0;
}

body.review-modern .review-hero-actions {
  justify-content: flex-start;
}

body.review-modern .review-jump-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(calc(100% - (2 * var(--review-gutter))), var(--review-content-width));
  margin-inline: auto;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

body.review-modern .review-jump-nav a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .75rem;
  min-height: 4.5rem;
  align-items: center;
  padding: .9rem 1.1rem;
  border-right-width: 1px;
  border-right-style: solid;
}

body.review-modern .review-jump-nav a:first-child {
  padding-left: 0;
}

body.review-modern .review-jump-nav a:last-child {
  padding-right: 0;
  border-right-width: 0;
}

body.review-modern .review-jump-nav span {
  align-self: start;
  padding-top: .15rem;
}

body.review-modern .review-decision-v3 {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(21rem, .88fr);
  gap: clamp(3.5rem, 7vw, 7rem);
  padding-block: clamp(4rem, 6vw, 5.5rem) !important;
}

body.review-modern .review-decision-v3 .review-tldr,
body.review-modern .review-offer-card {
  max-width: none;
}

body.review-modern .review-score-display {
  display: inline-flex;
  align-items: baseline;
  gap: .22rem;
}

body.review-modern .review-score-display small {
  display: block;
  margin-left: .45rem;
}

body.review-modern .review-decision-v3 .review-tldr-copy {
  max-width: 31ch;
}

body.review-modern .review-offer-card {
  align-self: start;
  margin-top: 0;
  padding: 0 0 0 clamp(2rem, 4vw, 3.5rem);
  border-width: 0;
  border-left-width: 1px;
  border-left-style: solid;
  scroll-margin-top: 6rem;
}

body.review-modern .ownership-detail {
  padding-block: clamp(4rem, 6vw, 5.5rem) !important;
}

body.review-modern .ownership-detail-header {
  max-width: 54rem;
}

body.review-modern .ownership-detail-header p {
  max-width: 56ch;
}

body.review-modern .ownership-detail-list,
html body.review-modern main.review-main .ownership-detail .ownership-detail-list,
body.review-modern .ownership-sources {
  width: 100%;
  max-width: none;
  max-inline-size: none;
}

body.review-modern .ownership-accordion-panel p {
  max-width: var(--review-reading-width);
}

body.review-modern .review-story {
  padding-top: clamp(4rem, 6vw, 5.5rem) !important;
  scroll-margin-top: 6rem;
}

body.review-modern .product-evidence-gallery {
  margin-bottom: clamp(4rem, 6vw, 5.5rem) !important;
}

body.review-modern .review-article-body > :where(h2, h3, p, ul, ol) {
  max-width: var(--review-reading-width);
}

body.review-modern .review-article-body > h2 {
  margin-top: clamp(3.5rem, 5vw, 4.75rem) !important;
}

body.review-modern .review-article-body > h3 {
  margin-top: 3rem;
}

body.review-modern .cta-block {
  gap: clamp(2.5rem, 6vw, 6rem);
  margin-block: clamp(5rem, 8vw, 8rem) !important;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
  border-right-width: 0;
  border-left-width: 0;
}

body.review-modern .review-next-steps {
  margin-bottom: clamp(5rem, 8vw, 8rem) !important;
}

@media (max-width: 64rem) {
  body.review-modern .review-decision-v3 {
    grid-template-columns: minmax(0, 1fr) minmax(19rem, .82fr);
    gap: 3rem;
  }
}

@media (max-width: 52rem) {
  body.review-modern .review-hero-copy {
    width: 100%;
    align-items: flex-start;
    padding-right: 1.25rem !important;
    padding-left: 1.25rem !important;
    text-align: left;
  }

  body.review-modern .review-hero .breadcrumb {
    left: 1.25rem;
  }

  body.review-modern .review-hero-deck {
    max-width: 38ch;
  }

  body.review-modern .review-hero-actions {
    width: 100%;
    justify-content: flex-start;
  }

  body.review-modern .review-jump-nav {
    grid-template-columns: 1fr 1fr;
    width: calc(100% - 2.5rem);
  }

  body.review-modern .review-jump-nav a,
  body.review-modern .review-jump-nav a:first-child,
  body.review-modern .review-jump-nav a:last-child {
    min-height: 4rem;
    padding: .8rem 0;
    border-right-width: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }

  body.review-modern .review-jump-nav a:nth-child(odd) {
    padding-right: .9rem;
    border-right-width: 1px;
  }

  body.review-modern .review-jump-nav a:nth-child(even) {
    padding-left: .9rem;
  }

  body.review-modern .review-decision-v3 {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding-block: 3.5rem !important;
  }

  body.review-modern .review-tldr-meta {
    margin-bottom: 1.4rem;
  }

  body.review-modern .review-decision-v3 .review-tldr-copy {
    max-width: 36ch;
  }

  body.review-modern .review-offer-card {
    padding: 2.5rem 0 0;
    border-top-width: 1px;
    border-top-style: solid;
    border-left-width: 0;
  }

  body.review-modern .ownership-detail,
  body.review-modern .review-story {
    padding-top: 3.5rem !important;
  }

  body.review-modern .ownership-detail-list summary {
    min-height: 4.25rem;
  }

  body.review-modern details[open] .ownership-accordion-panel p {
    padding-right: 0;
  }

  body.review-modern .review-article-body > h2 {
    margin-top: 3.5rem !important;
  }

  body.review-modern .cta-block {
    margin-block: 4.5rem !important;
    padding: 2.5rem 0;
  }
}

@media (max-width: 27rem) {
  body.review-modern .review-region-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 22.5rem) {
  body.review-modern .review-jump-nav {
    grid-template-columns: 1fr;
  }

  body.review-modern .review-jump-nav a,
  body.review-modern .review-jump-nav a:nth-child(odd),
  body.review-modern .review-jump-nav a:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-right-width: 0;
  }
}

/* Structural source: src/templates/guides/_rockbrook_article.html (inline layout) */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

/* Structural source: src/templates/guides/best-model-3-mattress.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/guides/best-model-y-mattress.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/guides/best-tesla-mattresses.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/guides/budget-tesla-mattress.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/guides/cybertruck-mattress.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/guides/getting-started-tesla-camping.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/guides/index.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/guides/model-x-mattress.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

.model-x-product-image {
  margin: -.35rem 0 2rem;
}

.model-x-product-image img {
  aspect-ratio: 16/9;
  object-fit: cover;
}

@media(max-width:640px) {
  .model-x-product-image {
    margin: -.2rem 0 1.5rem;
  }
}

/* Structural source: src/templates/guides/tesla-camping-with-dogs.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/guides/tesla-mattress-buying-guide.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/guides/tesla-vs-generic-mattress.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/index.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 68px;
  padding: 0 clamp(1.25rem, 2.4vw, 2.25rem);
  position: relative;
  width: 100%;
  z-index: 100;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.logo {
  white-space: nowrap;
}

.nav-links {
  display: flex;
  align-items: center;
  list-style: none;
  gap: clamp(1rem, 2.1vw, 2rem);
}

.hero {
  min-height: 448px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(340px, 41%) minmax(0, 59%);
  align-items: stretch;
  gap: clamp(1.25rem, 2vw, 2rem);
  padding: 0 clamp(1.25rem, 2.4vw, 2.25rem) 1.25rem;
  overflow: hidden;
}

.hero-media {
  grid-column: 2;
  position: relative;
  min-height: 448px;
  margin: 0;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
}

.hero-media::after {
  content: '';
  position: absolute;
  inset: 0;
}

.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.hero-media figcaption {
  position: absolute;
  right: .9rem;
  bottom: .9rem;
  max-width: 28rem;
  padding: .5rem .7rem;
  z-index: 1;
}

.hero-content {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
  align-self: center;
  text-align: left;
  max-width: 650px;
  padding: clamp(3rem, 5vw, 5rem) clamp(1.5rem, 3vw, 3rem) clamp(3rem, 5vw, 5rem) clamp(1.25rem, 2vw, 2rem);
}

.hero-content h1 {
  margin: 0 0 1.25rem;
}

.hero-content p {
  max-width: 48ch;
  margin: 0 0 1.75rem;
}

.hero-buttons {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .8rem 1.4rem;
  border-width: 1px;
  border-style: solid;
}

.cta-button.secondary {
  border-width: 1px;
  border-style: solid;
}

.hero-stats {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: -54px;
  width: min(1180px, 90vw);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-width: 1px;
  border-style: solid;
}

.stat {
  padding: 1.4rem 2rem;
  text-align: left;
}

.stat + .stat {
  border-left-width: 1px;
  border-left-style: solid;
}

.stat-label {
  margin-top: .45rem;
}

.menu-toggle {
  display: none;
}

@media (max-width: 768px) {
  .navbar {
    min-height: 68px;
    padding: 0 1.25rem;
  }

  .hero {
    display: flex;
    min-height: auto;
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem;
  }

  .hero-content {
    order: 1;
    padding: 3.5rem 1.25rem 2.5rem;
    max-width: none;
    width: 100%;
  }

  .hero-content h1 {
    max-width: none;
    white-space: normal;
  }

  .hero-media {
    order: 2;
    position: relative;
    width: 100%;
    height: 330px;
    min-height: 0;
    border-width: 1px;
    border-style: solid;
  }

  .hero-media img {
    object-position: center;
  }

  .hero-media figcaption {
    right: .75rem;
    bottom: .75rem;
    left: .75rem;
    max-width: none;
  }

  .hero-stats {
    order: 3;
    position: relative;
    left: auto;
    bottom: auto;
    width: calc(100% - 2rem);
    margin: -1.75rem 1rem 0;
    grid-template-columns: 1fr;
  }

  .stat {
    padding: 1rem 1.25rem;
    display: grid;
    grid-template-columns: 4.5rem 1fr;
    align-items: center;
  }

  .stat + .stat {
    border-left-width: 0;
    border-top-width: 1px;
    border-top-style: solid;
  }
}

/* Structural source: src/templates/methodology.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
}

/* Structural source: src/templates/reviews/index.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/vs/_brand-comparison.html (inline layout) */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

/* Structural source: src/templates/vs/_rockbrook-comparison.html (inline layout) */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

/* Structural source: src/templates/vs/havnby-autolevel-vs-foam.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Structural source: src/templates/vs/index.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 6%;
  position: fixed;
  width: 100%;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2.5rem;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  border-style: none;
  cursor: pointer;
  padding: 5px;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
}

@media(max-width:768px) {
  .menu-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
  }
}

/* Structural source: src/templates/vs/model-y-vs-model-3-mattresses.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Structural source: src/templates/vs/snuuzu-vs-dreamcase.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Structural source: src/templates/vs/snuuzu-vs-havnby.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Structural source: src/templates/vs/snuuzu-vs-tesmat.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Structural source: src/templates/vs/tesmat-vs-havnby.html (inline layout) */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
