/* ============================================================
   SP PAGES — Silent Pound Design System
   audition.php · no-dealer.php · warranty.php
   ============================================================ */

/* ── Design tokens (mirror custom.css) ─────────────────── */
:root {
  --sp-black:    #0a0a0a;
  --sp-white:    #ffffff;
  --sp-grey-btn: #cfcece;
  --sp-green:    #27AE60;
  --sp-muted:    rgba(255,255,255,0.48);
  --sp-border:   rgba(255,255,255,0.1);
  --sp-font:     'Poppins', sans-serif;
  --sp-ease:     cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

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

@supports (overflow-x: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

/* ── Soft internal page transition ─────────────────────── */
body::after {
  content: "";
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  z-index: 999999;
  pointer-events: none;
  background: #050505;
  opacity: 0;
  transition: opacity 180ms ease;
}
body.sp-page-leaving::after {
  opacity: 0.34;
}
body.sp-page-leaving .main-header {
  opacity: 0.82;
  transition: opacity 180ms ease;
}

/* ── Luxury scroll reveal for key editorial pages ───────── */
.sp-scroll-reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity 620ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
.sp-scroll-reveal--left {
  transform: translate3d(-18px, 10px, 0);
}
.sp-scroll-reveal--right {
  transform: translate3d(18px, 10px, 0);
}
.sp-scroll-reveal--scale {
  transform: translate3d(0, 16px, 0) scale(0.985);
}
.sp-scroll-reveal--fade {
  transform: none;
}
.sp-scroll-reveal--line {
  transform: scaleX(0);
  transform-origin: left center;
}
.sp-scroll-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
.sp-scroll-reveal--line.is-visible {
  transform: scaleX(1);
}
@media (prefers-reduced-motion: reduce) {
  .sp-scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ── Shared page hero ───────────────────────────────────── */
.sp-hero {
  background-color: var(--sp-black);
  padding: 160px 24px 100px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.sp-hero::after {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255,255,255,0.03) 0%, transparent 70%);
  pointer-events: none;
}
.sp-hero__eyebrow {
  font-family: var(--sp-font);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin: 0 0 22px;
}
.sp-hero__title {
  font-family: var(--sp-font);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 200;
  color: var(--sp-white);
  letter-spacing: 0.03em;
  line-height: 1.18;
  margin: 0 0 22px;
  animation: FadeText 1.2s var(--sp-ease) forwards;
  opacity: 0;
}
.sp-hero__title span {
  animation: FadeText 1.4s var(--sp-ease) forwards;
  opacity: 0;
}
.sp-hero__sub {
  font-family: var(--sp-font);
  font-size: 15px;
  font-weight: 300;
  color: var(--sp-muted);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.75;
  animation: FadeText 1.6s var(--sp-ease) forwards;
  opacity: 0;
}

/* ── Section wrapper ────────────────────────────────────── */
.sp-section {
  background-color: var(--sp-black);
  padding: 100px 24px;
}
.sp-section--alt {
  background-color: #0e0b08;
}
.sp-container {
  max-width: 1100px;
  margin: 0 auto;
}
body.page-template-no-dealer-php .sp-hero {
  padding-top: 124px;
  padding-bottom: 62px;
}
body.page-template-no-dealer-php .sp-hero + .sp-section {
  padding-top: 58px;
}
body.page-template-store-php .sp-hero {
  padding-top: 124px;
  padding-bottom: 62px;
}
.sp-container--narrow {
  max-width: 680px;
  margin: 0 auto;
}
.sp-section-label {
  font-family: var(--sp-font);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  margin: 0 0 48px;
}

/* ══════════════════════════════════════════════════════
   GLOBAL CTA BUTTONS — unified style + hover invert
   ══════════════════════════════════════════════════════ */

/* --- White button (default) --- */
.btn.order-btn,
a.btn.order-btn,
button.btn.order-btn {
  background-color: #fff !important;
  color: #0a0a0a !important;
  border: 1.5px solid #fff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  height: auto !important;
  padding: 14px 36px !important;
  margin-left: 0 !important;
  text-decoration: none !important;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}
.btn.order-btn:hover,
a.btn.order-btn:hover,
button.btn.order-btn:hover,
.banner-cta-group a.btn.order-btn:hover,
.content-banner a.btn.order-btn:hover {
  background-color: #0a0a0a !important;
  color: #fff !important;
  border-color: #fff !important;
  text-decoration: none !important;
}

/* --- Ghost button (.read-m) --- */
.btn.order-btn.read-m,
a.btn.order-btn.read-m,
button.btn.order-btn.read-m {
  background-color: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.55) !important;
}
.btn.order-btn.read-m:hover,
a.btn.order-btn.read-m:hover,
button.btn.order-btn.read-m:hover {
  background-color: #fff !important;
  color: #0a0a0a !important;
  border-color: #fff !important;
}

/* ── visited/link states — nekonfliktuoja su hover ── */
a.btn.order-btn:link,
a.btn.order-btn:visited { color: #0a0a0a !important; text-decoration: none !important; }
a.btn.order-btn.read-m:link,
a.btn.order-btn.read-m:visited { color: #fff !important; text-decoration: none !important; }

/* ── SP Button — white, invert on hover ────────────────── */
.sp-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: #0a0a0a !important;
  border: 1.5px solid #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 14px 36px;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.sp-btn::before {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background-color: #0a0a0a;
  transform: translateX(-100%);
  transition: transform 0.2s ease;
  z-index: -1;
}
.sp-btn:hover::before { transform: translateX(0%); }
.sp-btn:hover {
  color: #fff !important;
  border-color: #0a0a0a !important;
  text-decoration: none;
}
.sp-btn:disabled { opacity: 0.3; cursor: not-allowed; }

/* Ghost button — invert on hover */
.sp-btn--ghost {
  background-color: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.55) !important;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.sp-btn--ghost::before {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background-color: #fff;
  transform: translateX(-100%);
  transition: transform 0.2s ease;
  z-index: -1;
}
.sp-btn--ghost:hover::before { transform: translateX(0%); }
.sp-btn--ghost:hover {
  color: #0a0a0a !important;
  border-color: #fff !important;
}

/* ── Form elements (matches existing .form_custom / WPForms style) ── */
.sp-field {
  margin-bottom: 24px;
}
.sp-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.sp-label {
  display: block;
  font-family: var(--sp-font);
  font-size: 16px;
  font-weight: 400;
  color: var(--sp-white);
  margin-bottom: 8px;
  line-height: normal;
}
.sp-input,
.sp-select,
.sp-textarea {
  width: 100%;
  background: none;
  border: none;
  border-bottom: 2px solid rgba(255,255,255,0.55);
  color: var(--sp-white);
  font-family: var(--sp-font);
  font-size: 16px;
  font-weight: 300;
  padding: 8px 0;
  outline: none;
  border-radius: 0;
  transition: border-color 0.25s ease;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}
.sp-input:focus,
.sp-select:focus,
.sp-textarea:focus {
  border-bottom-color: var(--sp-white);
  color: var(--sp-white);
}
.sp-input::placeholder,
.sp-textarea::placeholder {
  color: rgba(255,255,255,0.3);
  font-weight: 300;
}
.sp-textarea {
  resize: none;
  line-height: 1.65;
}
.sp-select-wrap {
  position: relative;
}
.sp-select-wrap::after {
  content: '';
  position: absolute;
  right: 6px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 1px solid rgba(255,255,255,0.5);
  border-bottom: 1px solid rgba(255,255,255,0.5);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}
.sp-select option {
  background: #0a0a0a;
  color: #fff;
}
#virtual-form .sp-input,
#virtual-form .sp-select,
#virtual-form .sp-textarea {
  height: 48px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 4px;
  background: rgba(255,255,255,0.04);
  transition: border-color 0.2s ease, background 0.2s ease;
}
#virtual-form .sp-input:focus,
#virtual-form .sp-select:focus,
#virtual-form .sp-textarea:focus {
  border-color: rgba(255,255,255,0.36);
  background: rgba(255,255,255,0.06);
}
#virtual-form .sp-select-wrap::after {
  right: 16px;
}

.page-template-audition-php .sp-split__form-wrap .sp-input,
.page-template-audition-php .sp-split__form-wrap .sp-select,
.page-template-audition-php .sp-split__form-wrap .sp-textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,0.04) !important;
  color: #fff !important;
  box-shadow: none !important;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.page-template-audition-php .sp-split__form-wrap .sp-input,
.page-template-audition-php .sp-split__form-wrap .sp-select {
  height: 48px;
  min-height: 48px;
  padding: 0 16px !important;
}

.page-template-audition-php .sp-split__form-wrap .sp-textarea {
  min-height: 112px;
  padding: 14px 16px !important;
  resize: vertical;
}

.page-template-audition-php .sp-split__form-wrap .sp-input:focus,
.page-template-audition-php .sp-split__form-wrap .sp-select:focus,
.page-template-audition-php .sp-split__form-wrap .sp-textarea:focus {
  border-color: rgba(255,255,255,0.36) !important;
  background: rgba(255,255,255,0.06) !important;
}

.page-template-audition-php .sp-split__form-wrap .sp-input::placeholder,
.page-template-audition-php .sp-split__form-wrap .sp-textarea::placeholder {
  color: rgba(255,255,255,0.34);
  opacity: 1;
}

.page-template-audition-php .sp-split__form-wrap .sp-select-wrap::after {
  right: 16px;
}

.page-template-audition-php .sp-split__form-wrap .sp-select option {
  background: #111;
  color: #fff;
}

.page-template-audition-php .sp-split__right {
  align-items: flex-start;
  padding-top: clamp(72px, 7vw, 88px);
}

.page-template-audition-php .sp-progress {
  margin-bottom: 44px;
}

.page-template-audition-php .sp-step__desc {
  margin-bottom: 30px;
}

.page-template-audition-php .sp-field-note {
  color: rgba(255,255,255,0.36);
  font-family: var(--sp-font);
  font-size: 12px;
  font-weight: 300;
  line-height: 1.55;
  margin: 8px 0 0;
}

.page-template-audition-php .sp-split__title,
.page-template-audition-php .sp-split__desc,
.page-template-audition-php .sp-split__dealers {
  animation: spAuditionQuietIn 0.72s cubic-bezier(.2,.72,.22,1) both !important;
}

.page-template-audition-php .sp-split__desc {
  animation-delay: 0.08s !important;
}

.page-template-audition-php .sp-split__dealers {
  animation-delay: 0.16s !important;
}

.page-template-audition-php .sp-split__left-inner {
  justify-content: flex-start;
  padding-top: clamp(82px, 9vh, 112px);
  padding-bottom: clamp(42px, 6vh, 64px);
  overflow: visible;
}

.page-template-audition-php .sp-split__dealers {
  margin-top: clamp(22px, 3.6vh, 38px);
}

.page-template-audition-php .sp-split__title {
  font-size: clamp(2.35rem, 4.15vw, 3.85rem);
  margin-bottom: 18px;
}

.page-template-audition-php .sp-split__desc {
  margin-bottom: 0;
  line-height: 1.68;
}

.page-template-audition-php .sp-split__dealers-list {
  gap: 5px 18px;
}

.page-template-audition-php .sp-split__dealers-list li {
  font-size: 11px;
  padding-bottom: 5px;
}

.page-template-audition-php .sp-split__dealers-list li span {
  font-size: 9px;
}

@keyframes spAuditionQuietIn {
  from {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-template-audition-php .sp-split__title,
  .page-template-audition-php .sp-split__desc,
  .page-template-audition-php .sp-split__dealers {
    animation: none !important;
  }
}

@media only screen and (max-width: 991px) {
  .page-template-audition-php .sp-split__right {
    padding-top: 48px;
  }
}

@media only screen and (max-width: 767px) {
  .page-template-audition-php .sp-split__right {
    padding-top: 28px;
  }
}

input[type="email"].sp-input,
.sp-design-form__input[type="email"],
.sp-guide10__input[type="email"] {
  height: 48px;
  min-height: 48px;
  padding: 0 16px !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,0.04) !important;
  color: #fff !important;
  box-sizing: border-box;
  outline: none;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff;
  transition: border-color 0.2s ease, background 0.2s ease;
}

input[type="email"].sp-input:focus,
.sp-design-form__input[type="email"]:focus,
.sp-guide10__input[type="email"]:focus {
  border-color: rgba(255,255,255,0.36) !important;
  background: rgba(255,255,255,0.06) !important;
  color: #fff !important;
}

input[type="email"].sp-input::placeholder,
.sp-design-form__input[type="email"]::placeholder,
.sp-guide10__input[type="email"]::placeholder {
  color: rgba(255,255,255,0.34);
  opacity: 1;
  -webkit-text-fill-color: rgba(255,255,255,0.34);
}

input[type="email"].sp-input:-webkit-autofill,
input[type="email"].sp-input:-webkit-autofill:hover,
input[type="email"].sp-input:-webkit-autofill:focus,
.sp-design-form__input[type="email"]:-webkit-autofill,
.sp-design-form__input[type="email"]:-webkit-autofill:hover,
.sp-design-form__input[type="email"]:-webkit-autofill:focus,
.sp-guide10__input[type="email"]:-webkit-autofill,
.sp-guide10__input[type="email"]:-webkit-autofill:hover,
.sp-guide10__input[type="email"]:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
  caret-color: #fff;
  box-shadow: 0 0 0 1000px #111 inset !important;
  transition: background-color 9999s ease-in-out 0s;
}
.sp-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  color: rgba(255,255,255,0.55);
  font-family: var(--sp-font);
  font-size: 14px;
  line-height: 1.6;
  font-weight: 300;
}
.sp-checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--sp-white);
  cursor: pointer;
}
.sp-checkbox-label a {
  color: rgba(255,255,255,0.75);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Form wrapper card — matches .bx-black */
.sp-form-card {
  max-width: 715px;
  margin: 0 auto;
  background: var(--sp-black);
  padding: 50px;
  position: relative;
}
#virtual-form .sp-form-card {
  border-radius: 4px;
  overflow: hidden;
}
.sp-form-card.sp-form-card--glow {
  transform: translate(0);
  transform-style: preserve-3d;
}
.sp-form-card.sp-form-card--glow::before {
  content: '';
  position: absolute;
  inset: -5px;
  transform: translate3d(10px, 8px, -1px);
  background: conic-gradient(from 90deg at 40% -25%, #7E4217, #7E4217, #ee6907, #7E4217, #de0d0d, #7E4217, #cf1261, #7E4217, #7E4217, #7E4217, #7E4217, #ee6907, #f79d03, #7E4217, #7E4217, #7E4217);
  filter: blur(150px);
  border-radius: 50%;
  height: 400px;
  z-index: -1;
  pointer-events: none;
}
/* Full-width submit button — matches WPForms .wpforms-submit */
.sp-btn--full {
  width: 100%;
  padding: 14px 24px;
  justify-content: center;
  margin-top: 8px;
}

/* ────────────────────────────────────────────────────────
   SPLIT LAYOUT (audition page)
   ──────────────────────────────────────────────────────── */
.sp-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
  background: var(--sp-black);
}

/* Left panel */
.sp-split__left {
  background: #0e0b08;
  border-right: 1px solid rgba(255,255,255,0.06);
  display: flex;
  align-items: stretch;
}
.sp-split__left-inner {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 100px 64px 80px 72px;
  overflow: hidden;
}
.sp-split__title {
  font-family: var(--sp-font);
  font-size: clamp(2.6rem, 4.5vw, 4.2rem);
  font-weight: 200;
  color: var(--sp-white);
  letter-spacing: -0.01em;
  line-height: 1.1;
  margin: 16px 0 24px;
  animation: spFadeUp 0.9s var(--sp-ease) both;
}
.sp-split__desc {
  font-family: var(--sp-font);
  font-size: 15px;
  font-weight: 300;
  color: rgba(255,255,255,0.42);
  line-height: 1.8;
  margin: 0 0 52px;
  max-width: 340px;
  animation: spFadeUp 1.1s var(--sp-ease) both;
}
.sp-split__dealers {
  margin-top: auto;
  animation: spFadeUp 1.3s var(--sp-ease) both;
}
.sp-split__dealers-label {
  font-family: var(--sp-font);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.2);
  margin: 0 0 16px;
}
.sp-split__dealers-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px 24px;
}
.sp-split__dealers-list li {
  font-family: var(--sp-font);
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.32);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: color 0.2s ease;
}
.sp-split__dealers-list li:hover { color: rgba(255,255,255,0.65); }
.sp-split__dealers-list li span {
  font-size: 10px;
  color: rgba(255,255,255,0.18);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}

/* Right panel */
.sp-split__right {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 100px 72px 80px 64px;
}
.sp-split__form-wrap {
  width: 100%;
  max-width: 480px;
  position: relative;
}
.sp-split__form-wrap.sp-form-card--glow::before {
  content: '';
  position: absolute;
  inset: -5px;
  transform: translate3d(10px, 8px, -1px);
  background: conic-gradient(from 90deg at 40% -25%, #7E4217, #7E4217, #ee6907, #7E4217, #de0d0d, #7E4217, #cf1261, #7E4217, #7E4217, #7E4217, #7E4217, #ee6907, #f79d03, #7E4217, #7E4217, #7E4217);
  filter: blur(140px);
  border-radius: 50%;
  height: 350px;
  z-index: -1;
  pointer-events: none;
}

/* Responsive */
@media only screen and (max-width: 1199px) {
  .sp-split__left-inner { padding: 100px 48px 80px 48px; }
  .sp-split__right { padding: 100px 48px 80px 40px; }
}
@media only screen and (max-width: 991px) {
  .sp-split {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .sp-split__left { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); }
  .sp-split__left-inner {
    position: static;
    height: auto;
    padding: 120px 32px 60px;
  }
  .sp-split__title { font-size: clamp(2.2rem, 8vw, 3rem); }
  .sp-split__dealers-list { grid-template-columns: 1fr 1fr; }
  .sp-split__right { padding: 60px 32px 80px; }
  .sp-split__form-wrap { max-width: 100%; }
}
@media only screen and (max-width: 767px) {
  .sp-split__left-inner { padding: 80px 20px 40px; }
  .sp-split__right { padding: 32px 20px 80px; }
  .sp-split__dealers { display: none; }
}

/* ────────────────────────────────────────────────────────
   AUDITION PAGE
   ──────────────────────────────────────────────────────── */

/* Progress indicator */
.sp-progress {
  display: flex;
  align-items: center;
  margin-bottom: 60px;
}
.sp-progress__step {
  display: flex;
  align-items: center;
  gap: 12px;
  opacity: 0.28;
  transition: opacity 0.35s ease;
}
.sp-progress__step.is-active { opacity: 1; }
.sp-progress__step.is-done   { opacity: 0.55; }
.sp-progress__num {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sp-font);
  font-size: 12px;
  font-weight: 400;
  color: var(--sp-white);
  transition: background 0.3s ease, border-color 0.3s ease;
}
.sp-progress__step.is-active .sp-progress__num {
  background: var(--sp-white);
  color: var(--sp-black);
  border-color: var(--sp-white);
}
.sp-progress__step.is-done .sp-progress__num {
  border-color: rgba(255,255,255,0.4);
}
.sp-progress__label {
  font-family: var(--sp-font);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sp-white);
}
.sp-progress__line {
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,0.1);
  margin: 0 20px;
}

/* Step content */
.sp-step {
  animation: spFadeUp 0.35s var(--sp-ease) both;
}
.sp-step__title {
  font-family: var(--sp-font);
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 300;
  color: var(--sp-white);
  letter-spacing: 0.02em;
  margin: 0 0 10px;
}
.sp-step__desc {
  font-family: var(--sp-font);
  font-size: 14px;
  font-weight: 300;
  color: var(--sp-muted);
  margin: 0 0 40px;
  line-height: 1.7;
}

/* Dealer match box */
.sp-dealer-match {
  margin-top: 14px;
  padding: 16px 20px;
  border-left: 2px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.03);
  animation: spFadeUp 0.25s ease both;
  transition: border-color 0.3s ease;
}
.sp-dealer-match.has-match {
  border-left-color: var(--sp-green);
}
.sp-dealer-match p {
  margin: 0;
  font-family: var(--sp-font);
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.6;
}
.sp-dealer-match strong {
  color: var(--sp-white);
  font-weight: 500;
  display: block;
  margin-bottom: 3px;
}

/* Dealer confirm (step 2) */
.sp-dealer-confirm {
  padding: 18px 22px;
  border: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 36px;
  font-family: var(--sp-font);
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.55);
  line-height: 1.65;
  transition: border-color 0.3s ease;
}
.sp-dealer-confirm:hover { border-color: rgba(255,255,255,0.18); }
.sp-dealer-confirm strong { color: var(--sp-white); font-weight: 500; }

/* Form actions */
.sp-form-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 12px;
}
.sp-btn-back {
  background: transparent;
  border: none;
  font-family: var(--sp-font);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
}
.sp-btn-back:hover { color: rgba(255,255,255,0.7); }

/* Success screen */
.sp-success {
  text-align: center;
  padding: 60px 0;
}
.sp-success__icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: var(--sp-white);
  margin: 0 auto 32px;
  animation: spScaleIn 0.45s var(--sp-ease) both;
}
.sp-success h2 {
  font-family: var(--sp-font);
  font-size: 1.8rem;
  font-weight: 300;
  color: var(--sp-white);
  margin: 0 0 14px;
}
.sp-success p {
  font-size: 14px;
  font-weight: 300;
  color: var(--sp-muted);
  max-width: 400px;
  margin: 0 auto 36px;
  line-height: 1.75;
}

/* ────────────────────────────────────────────────────────
   NO DEALER PAGE
   ──────────────────────────────────────────────────────── */

.sp-options-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  margin-bottom: 0;
}
.sp-option-card {
  background: rgba(255,255,255,0.02);
  padding: 40px 36px 40px;
  position: relative;
  border: 1px solid rgba(255,255,255,0.06);
  transition: border-color 0.35s ease, background 0.35s ease;
}
.sp-option-card:hover {
  background: rgba(255,255,255,0.045);
  border-color: rgba(255,255,255,0.18);
}
.sp-option-card--featured {
  border-color: rgba(255,255,255,0.16);
  padding-top: 48px;
}
.sp-option-card--featured:hover {
  border-color: rgba(255,255,255,0.32);
}
.sp-option-badge {
  position: absolute;
  top: -1px;
  left: 36px;
  background: var(--sp-white);
  color: var(--sp-black);
  font-family: var(--sp-font);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 5px 14px;
}
.sp-option-icon {
  font-size: 22px;
  color: rgba(255,255,255,0.2);
  margin-bottom: 28px;
  line-height: 1;
  transition: color 0.3s ease;
}
.sp-option-card:hover .sp-option-icon { color: rgba(255,255,255,0.45); }
.sp-option-card h3 {
  font-family: var(--sp-font);
  font-size: 18px;
  font-weight: 300;
  color: var(--sp-white);
  margin: 0 0 14px;
  letter-spacing: 0.02em;
}
.sp-option-card p {
  font-family: var(--sp-font);
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  line-height: 1.75;
  margin: 0 0 32px;
}

/* ────────────────────────────────────────────────────────
   WARRANTY PAGE
   ──────────────────────────────────────────────────────── */

/* Large warranty badge */
.sp-warranty-badge-large {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(255,255,255,0.15);
  padding: 24px 44px;
  margin-top: 44px;
  animation: spFadeUp 1.8s var(--sp-ease) forwards;
  opacity: 0;
  transition: border-color 0.3s ease;
}
.sp-warranty-badge-large:hover { border-color: rgba(255,255,255,0.35); }
.sp-warranty-badge-num {
  font-family: var(--sp-font);
  font-size: 4rem;
  font-weight: 100;
  color: var(--sp-white);
  line-height: 1;
}
.sp-warranty-badge-label {
  font-family: var(--sp-font);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  text-align: left;
  line-height: 1.7;
}

/* Two-column coverage grid */
.sp-coverage-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  padding-bottom: 80px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  margin-bottom: 80px;
}
.sp-coverage-title {
  font-family: var(--sp-font);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin: 0 0 32px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sp-coverage-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.sp-coverage-item {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.sp-coverage-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 500;
  color: var(--sp-green);
  margin-top: 1px;
}
.sp-coverage-icon--no { color: rgba(255,255,255,0.2); }
.sp-coverage-item strong {
  display: block;
  font-family: var(--sp-font);
  font-weight: 400;
  font-size: 14px;
  color: var(--sp-white);
  margin-bottom: 5px;
}
.sp-coverage-item p {
  font-family: var(--sp-font);
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.38);
  line-height: 1.65;
  margin: 0;
}

/* Process steps */
.sp-process {
  margin-bottom: 80px;
}
.sp-process-title {
  font-family: var(--sp-font);
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 200;
  color: var(--sp-white);
  margin: 0 0 44px;
  letter-spacing: 0.02em;
}
.sp-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.sp-process-step {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 28px;
  border: 1px solid rgba(255,255,255,0.05);
  transition: border-color 0.3s ease;
}
.sp-process-step:hover { border-color: rgba(255,255,255,0.14); }
.sp-process-num {
  font-family: var(--sp-font);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.18);
  flex-shrink: 0;
  margin-top: 3px;
  min-width: 26px;
}
.sp-process-step strong {
  display: block;
  font-family: var(--sp-font);
  font-weight: 400;
  font-size: 14px;
  color: var(--sp-white);
  margin-bottom: 8px;
}
.sp-process-step p {
  font-family: var(--sp-font);
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  line-height: 1.7;
  margin: 0;
}
.sp-process-step a {
  color: rgba(255,255,255,0.6);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Founder quote block */
.sp-founder-quote {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.07);
  padding: 52px 56px;
  margin-bottom: 80px;
  transition: border-color 0.3s ease;
}
.sp-founder-quote:hover { border-color: rgba(255,255,255,0.15); }
.sp-founder-quote h2 {
  font-family: var(--sp-font);
  font-weight: 200;
  font-size: 1.5rem;
  color: var(--sp-white);
  margin: 0 0 22px;
  letter-spacing: 0.02em;
}
.sp-founder-quote p {
  font-family: var(--sp-font);
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.45);
  line-height: 1.8;
  max-width: 640px;
  margin: 0 0 22px;
}
.sp-founder-quote__blockquote {
  color: rgba(255,255,255,0.62) !important;
  font-style: italic;
  font-size: 15px !important;
  border-left: 2px solid rgba(255,255,255,0.15);
  padding-left: 22px;
  margin: 0 0 14px !important;
  line-height: 1.7 !important;
}
.sp-founder-quote__sig {
  color: rgba(255,255,255,0.25) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Inline warranty badge for product pages */
.sp-warranty-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--sp-font);
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.04em;
}
.sp-warranty-inline::before {
  content: '◈';
  color: rgba(255,255,255,0.2);
  font-size: 10px;
}
.sp-warranty-inline a {
  color: rgba(255,255,255,0.55);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}
.sp-warranty-inline a:hover { color: var(--sp-white); }

/* ────────────────────────────────────────────────────────
   AI CHAT WIDGET — Pound
   ──────────────────────────────────────────────────────── */
#sp-chat-widget {
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 9999;
  font-family: var(--sp-font);
}
#sp-chat-toggle {
  width: 86px;
  height: 52px;
  background: var(--sp-white);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 6px 28px rgba(0,0,0,0.5);
  position: relative;
  overflow: hidden;
  transition: transform 0.2s var(--sp-ease), box-shadow 0.2s ease;
}
#sp-chat-toggle::before {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: var(--sp-grey-btn);
  transform: translateX(-100%);
  transition: transform 0.25s var(--sp-ease);
}
#sp-chat-toggle:hover::before { transform: translateX(0%); }
#sp-chat-toggle:hover { transform: scale(1.04); box-shadow: 0 8px 36px rgba(0,0,0,0.6); }
.chat-icon, .close-icon {
  position: absolute;
  color: var(--sp-black);
  transition: opacity 0.22s ease, transform 0.22s ease;
  z-index: 1;
}
.chat-icon {
  position: relative;
  width: 18px;
  height: 14px;
  border: 1.6px solid currentColor;
  border-radius: 9px;
}
.chat-icon::after {
  content: "";
  position: absolute;
  left: 4px;
  bottom: -4px;
  width: 6px;
  height: 6px;
  border-left: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  background: inherit;
  transform: rotate(-18deg);
}
.chat-label {
  position: relative;
  z-index: 1;
  color: var(--sp-black);
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.close-icon { opacity: 0; transform: rotate(-90deg); }
#sp-chat-widget.open .chat-icon,
#sp-chat-widget.open .chat-label { opacity: 0; transform: rotate(90deg); }
#sp-chat-widget.open .close-icon { opacity: 1; transform: rotate(0deg); }
.chat-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 14px;
  height: 14px;
  background: var(--sp-black);
  border: 2px solid var(--sp-white);
  border-radius: 50%;
  display: none;
  z-index: 2;
}
.chat-badge.visible { display: block; animation: spScaleIn 0.3s ease both; }

#sp-chat-window {
  position: absolute;
  bottom: 68px;
  right: 0;
  width: 360px;
  background: #17130f;
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 4px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.7);
  display: none;
  flex-direction: column;
  max-height: 530px;
}
#sp-chat-widget.open #sp-chat-window {
  display: flex;
  animation: spFadeUp 0.28s var(--sp-ease) both;
}
.chat-header {
  padding: 18px 20px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.chat-avatar {
  width: 32px;
  height: 32px;
  background: var(--sp-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 600;
  color: var(--sp-black);
  flex-shrink: 0;
  font-family: var(--sp-font);
}
.chat-header-info h4 {
  margin: 0;
  font-family: var(--sp-font);
  font-size: 13px;
  font-weight: 500;
  color: var(--sp-white);
  letter-spacing: 0.04em;
}
.chat-header-info p {
  margin: 0;
  font-family: var(--sp-font);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
}
.chat-status-dot {
  width: 7px;
  height: 7px;
  background: var(--sp-green);
  border-radius: 50%;
  margin-left: auto;
  box-shadow: 0 0 6px var(--sp-green);
}
.chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.08) transparent;
}
.chat-messages::-webkit-scrollbar { width: 3px; }
.chat-messages::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); }
.chat-msg {
  display: flex;
  gap: 8px;
  align-items: flex-end;
  animation: spFadeUp 0.22s ease both;
}
.chat-msg.user { flex-direction: row-reverse; }
.msg-avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--sp-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sp-font);
  font-size: 8px;
  font-weight: 600;
  color: var(--sp-black);
  flex-shrink: 0;
}
.chat-msg.user .msg-avatar {
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.6);
}
.msg-bubble {
  max-width: 78%;
  padding: 10px 14px;
  font-family: var(--sp-font);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  color: rgba(255,255,255,0.82);
  background: rgba(255,255,255,0.055);
  border-radius: 2px 12px 12px 12px;
}
.chat-msg.user .msg-bubble {
  background: var(--sp-white);
  color: var(--sp-black);
  border-radius: 12px 2px 12px 12px;
  font-weight: 400;
}
.chat-typing .msg-bubble { padding: 12px 16px; }
.typing-dots { display: flex; gap: 4px; align-items: center; }
.typing-dots span {
  width: 5px;
  height: 5px;
  background: rgba(255,255,255,0.35);
  border-radius: 50%;
  animation: spTyping 1.3s infinite;
}
.typing-dots span:nth-child(2) { animation-delay: 0.22s; }
.typing-dots span:nth-child(3) { animation-delay: 0.44s; }
.chat-quick-replies {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 16px 12px;
  flex-shrink: 0;
}
#sp-chat-widget.has-interacted .chat-quick-replies {
  display: none !important;
}
.quick-reply-btn {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.55);
  font-family: var(--sp-font);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.06em;
  padding: 6px 14px;
  border-radius: 15px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
}
.quick-reply-btn:hover {
  background: rgba(255,255,255,0.08);
  color: var(--sp-white);
  border-color: rgba(255,255,255,0.4);
}
.chat-input-wrap {
  border-top: 1px solid rgba(255,255,255,0.07);
  display: flex;
  align-items: center;
  padding: 12px 16px;
  gap: 10px;
  flex-shrink: 0;
}
#sp-chat-input {
  flex: 1;
  background: transparent;
  border: none;
  color: var(--sp-white);
  font-family: var(--sp-font);
  font-size: 13px;
  font-weight: 300;
  outline: none;
  padding: 4px 0;
}
#sp-chat-input::placeholder { color: rgba(255,255,255,0.18); }
#sp-chat-send {
  background: transparent;
  border: none;
  color: rgba(255,255,255,0.3);
  cursor: pointer;
  font-size: 0.95rem;
  padding: 4px 6px;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
}
#sp-chat-send:hover { color: var(--sp-white); }
#sp-chat-send:disabled { color: rgba(255,255,255,0.12); cursor: not-allowed; }

/* ────────────────────────────────────────────────────────
   HERO TITLE: smooth per-character animation
   ──────────────────────────────────────────────────────── */
.sp-hero-title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(2.8rem, 7vw, 6.5rem);
  font-weight: 200;
  color: #fff;
  letter-spacing: 0.03em;
  line-height: 1.1;
  overflow: visible;
}
.sp-hero-title .sp-char {
  display: inline-block;
  opacity: 0;
  transform: translateY(14px);
  animation: spCharIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
  will-change: opacity, transform;
}
.sp-hero-title .sp-char--space {
  display: inline-block;
  width: 0.28em;
}
@keyframes spCharIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.sp-hero-sub {
  opacity: 0;
  transform: translateY(10px);
  animation: spCharIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.9s;
  will-change: opacity, transform;
}
.banner-cta-group {
  opacity: 0;
  animation: spCharIn 0.6s ease forwards;
  animation-delay: 1.2s;
}

/* ────────────────────────────────────────────────────────
   HEADER: transparent by default, black on scroll
   ──────────────────────────────────────────────────────── */

/* Mobile logo size */
@media only screen and (max-width: 991px) {
  .navbar-brand img {
    height: 42px !important;
    width: auto !important;
  }
}

/* ────────────────────────────────────────────────────────
   HOMEPAGE: Eyebrow label (reusable)
   ──────────────────────────────────────────────────────── */
.sp-eyebrow-sm {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin: 0 0 20px;
}

/* ────────────────────────────────────────────────────────
   STORES PAGE — map + tabs + cards
   ──────────────────────────────────────────────────────── */
.sp-stores-map-wrap {
  width: 100%;
  background: #080808;
}
#sp-stores-map {
  width: 100%;
  height: 420px;
}
.sp-map-pin {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.7);
  border: 1.5px solid rgba(255,255,255,0.4);
  transition: background 0.2s, transform 0.2s;
}
.sp-map-pin--active {
  background: #fff;
  border-color: #fff;
  transform: scale(1.6);
}
.leaflet-tooltip {
  background: #0a0a0a !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  padding: 6px 10px !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}
.leaflet-tooltip::before { display: none !important; }

/* Region tabs */
.sp-region-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 48px;
}
.sp-region-tab {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  background: none;
  border: none;
  border-bottom: 1.5px solid transparent;
  padding: 16px 28px 14px;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
  margin-bottom: -1px;
}
.sp-region-tab span {
  opacity: 0.4;
  font-size: 10px;
  margin-left: 6px;
}
.sp-region-tab:hover { color: rgba(255,255,255,0.6); }
.sp-region-tab.active {
  color: #fff;
  border-bottom-color: #fff;
}
.sp-region-tab.active span { opacity: 0.6; }

/* Store cards grid */
.sp-stores-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.06);
  margin-bottom: 80px;
}
.sp-store-card {
  background: #111;
  padding: 32px 28px;
  cursor: pointer;
  transition: background 0.2s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
.sp-store-card:hover { background: #151515; }
.sp-store-card.is-active {
  background: #141414;
  outline: 1px solid rgba(255,255,255,0.35);
}
.sp-store-card__country {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.86);
  margin: 0 0 8px;
}
.sp-store-card__country a,
.sp-store-card__country a:link,
.sp-store-card__country a:visited,
.sp-store-card__country-link,
.sp-store-card__country-link:link,
.sp-store-card__country-link:visited {
  color: rgba(255,255,255,0.86) !important;
  text-decoration: none !important;
}
.sp-store-card__country a:hover,
.sp-store-card__country-link:hover {
  color: #fff !important;
  text-decoration: none !important;
}
.sp-store-card__name {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.48);
  margin: 0 0 5px;
}
.sp-store-card__city {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.35);
  margin: 0 0 10px;
}
.sp-store-card__address {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(255,255,255,0.2);
  line-height: 1.7;
  margin: 0;
}
.sp-store-card__contacts {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 16px;
}
.sp-store-contact,
.sp-store-contact:link,
.sp-store-contact:visited {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(255,255,255,0.4) !important;
  text-decoration: none !important;
  transition: color 0.2s;
  word-break: break-all;
}
.sp-store-contact:hover { color: #fff !important; text-decoration: none !important; }
.sp-store-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 15px;
}
.sp-store-action,
.sp-store-action:link,
.sp-store-action:visited {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38) !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: color 0.2s;
}
.sp-store-action--primary,
.sp-store-action:hover {
  color: rgba(255,255,255,0.78) !important;
}
.sp-store-request-modal__selected {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 300;
  line-height: 1.6;
  color: rgba(255,255,255,0.48);
  margin: -6px 0 18px;
}

/* CTA */
.sp-stores-cta {
  padding: 60px 0 0;
  border-top: 1px solid rgba(255,255,255,0.07);
}

/* Responsive */
@media only screen and (max-width: 1199px) {
  .sp-stores-list { grid-template-columns: repeat(3, 1fr); }
}
@media only screen and (max-width: 767px) {
  .sp-stores-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    background: transparent;
    border-color: rgba(255,255,255,0.08);
  }
  .sp-store-card { padding: 22px 18px; }
  .sp-store-card__country { font-size: 15px; }
  .sp-store-card__actions { gap: 7px 12px; }
  #sp-stores-map { height: 280px; }
  .sp-region-tab { padding: 14px 16px 12px; font-size: 10px; }
}
@media only screen and (max-width: 480px) {
  .sp-stores-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .sp-region-tabs { overflow-x: auto; }
}

/* ────────────────────────────────────────────────────────
   Design cards
   ──────────────────────────────────────────────────────── */
.sp-design-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sp-design-grid-row {
  display: flex;
  gap: 0;
}
.sp-design-card {
  padding: 40px 32px 40px 0;
  border-top: 1px solid rgba(255,255,255,0.07);
}
.sp-design-card__num {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.2em;
  color: rgba(255,255,255,0.18);
  margin-bottom: 20px;
}
.sp-design-card h3 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 300;
  color: #fff;
  margin: 0 0 14px;
}
.sp-design-card p {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  line-height: 1.8;
  margin: 0;
}

/* ────────────────────────────────────────────────────────
   Block 2: flow layout — tekstai ir lottie atskiri, nesikerta
   ──────────────────────────────────────────────────────── */
.sp-content-col {
  display: flex;
  flex-direction: column;
  padding: 60px 0 60px 60px;
}
.sp-content-item {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 300;
  color: #fff;
  line-height: 1.4;
  padding: 32px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.sp-lottie-wrap {
  position: relative;
  height: 360px;
  overflow: hidden;
}
.sp-lottie-wrap dotlottie-player {
  position: absolute !important;
  width: 360px !important;
  height: 1200px !important;
  top: 0 !important;
  left: 0 !important;
  transform: rotate(90deg) !important;
  transform-origin: top left !important;
}
@media only screen and (max-width: 991px) {
  .sp-content-col { padding: 40px 0 40px 30px; }
  .sp-content-item { font-size: 18px; padding: 24px 0; }
  .sp-lottie-wrap { height: 140px; }
}
@media only screen and (max-width: 767px) {
  .sp-content-col { padding: 32px 0; }
  .sp-content-item { font-size: 16px; padding: 20px 0; }
  .sp-lottie-wrap { display: none; }
}

/* ────────────────────────────────────────────────────────
   Universal CTA button — normalizacija + hover animacija
   ──────────────────────────────────────────────────────── */
a.btn.order-btn {
  /* forma = sp-btn */
  height: auto !important;
  padding: 14px 36px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  /* animacija */
  position: relative !important;
  overflow: hidden !important;
  z-index: 1 !important;
}
a.btn.order-btn::before {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background-color: var(--btn-grey, #0a0a0a);
  transform: translateX(-100%);
  transition: transform 0.2s ease;
  z-index: -1;
}
a.btn.order-btn:hover::before {
  transform: translateX(0%);
}
a.btn.order-btn.read-m::before {
  background-color: #fff;
}

/* ────────────────────────────────────────────────────────
   Block 2: design paragraph line spacing
   ──────────────────────────────────────────────────────── */
.content-mm h4 {
  color: #fff;
}
section.sec-memory.less-time.exp-sec {
  padding-top: 90px !important;
}
.exp-sec h1.FadeText {
  margin-bottom: -60px !important;
}
/* ────────────────────────────────────────────────────────
   Block 4: Awards
   ──────────────────────────────────────────────────────── */
.sp-awards-section {
  padding: 60px 0 80px;
}
.sp-awards-grid {
  display: flex;
  gap: 32px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.sp-award-badge {
  flex: 0 0 auto;
  width: clamp(212px, 22vw, 268px);
  min-width: 212px;
  max-width: 268px;
  aspect-ratio: 1;
  border: 1px solid rgba(0,0,0,0.18);
  border-radius: 50%;
  padding: 34px 30px 32px;
  position: relative;
  background: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 4px 24px rgba(0,0,0,0.16);
  overflow: hidden;
}
.sp-award-badge::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(0,0,0,0.16);
  border-radius: 50%;
  pointer-events: none;
}
.sp-award-badge::after {
  content: "";
  position: absolute;
  inset: 17px;
  border: 1px dashed rgba(0,0,0,0.16);
  border-radius: 50%;
  pointer-events: none;
}
.sp-award-badge:hover {
  transform: translateY(-3px);
  border-color: rgba(0,0,0,0.28);
  box-shadow: 0 10px 34px rgba(0,0,0,0.24);
}
.sp-award-accent {
  width: 32px;
  height: 2px;
  background: #000;
  margin-bottom: 24px;
  opacity: 0.25;
}
.sp-award-logo {
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}
.sp-award-logo-img {
  max-height: 48px;
  max-width: 150px;
  width: auto;
  object-fit: contain;
  opacity: 0.86;
  filter: grayscale(1);
  transition: opacity 0.2s, filter 0.2s;
}
.sp-award-badge:first-child .sp-award-logo-img {
  width: 174px;
  max-width: 174px;
  max-height: none;
  opacity: 0.72;
  filter: grayscale(1);
}
.sp-award-badge:hover .sp-award-logo-img {
  opacity: 0.85;
  filter: grayscale(0.3);
}
.sp-award-badge:first-child:hover .sp-award-logo-img {
  opacity: 1;
  filter: none;
}
.sp-award-pub {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(0,0,0,0.35) !important;
  margin-bottom: 12px !important;
  line-height: 1.4 !important;
  min-height: unset !important;
  padding-bottom: 0 !important;
}
.sp-award-title {
  font-size: clamp(16px, 1.35vw, 19px) !important;
  font-weight: 300 !important;
  color: #0a0a0a !important;
  line-height: 1.22 !important;
  margin-bottom: 0 !important;
  min-height: unset !important;
  padding-bottom: 0 !important;
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
}
.sp-award-year {
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  color: rgba(0,0,0,0.48) !important;
  margin-top: 12px !important;
  margin-bottom: 0 !important;
  min-height: unset !important;
  padding-bottom: 0 !important;
  position: relative;
  z-index: 1;
}
.sp-awards-cta {
  text-align: center;
}
@media (max-width: 767px) {
  body.home .sp-awards-grid {
    gap: 22px !important;
  }
  body.home .sp-award-badge {
    width: min(244px, calc(100vw - 72px)) !important;
    min-width: 0 !important;
    max-width: 244px !important;
    padding: 32px 28px 30px !important;
  }
  body.home .sp-award-logo {
    width: 68% !important;
    height: 48px !important;
    margin-bottom: 12px !important;
  }
  body.home .sp-award-logo-img,
  body.home .sp-award-badge:first-child .sp-award-logo-img {
    width: auto !important;
    max-width: 100% !important;
    max-height: 42px !important;
    object-fit: contain !important;
  }
  body.home .sp-award-badge:first-child .sp-award-logo {
    width: 168px !important;
    max-width: calc(100% - 16px) !important;
    height: 46px !important;
  }
  body.home .sp-award-badge:nth-child(3) .sp-award-logo {
    width: 158px !important;
    max-width: calc(100% - 18px) !important;
    height: 46px !important;
  }
  body.home .sp-award-badge:first-child .sp-award-logo-img,
  body.home .sp-award-badge:nth-child(3) .sp-award-logo-img {
    max-height: 42px !important;
  }
}
.exp-sec .container-fluid h1.FadeText {
  font-size: clamp(48px, 7vw, 96px) !important;
  line-height: 1.05 !important;
  font-weight: 200 !important;
}
.exp-sec h2.review-space > span.FadeText {
  font-size: clamp(44px, 6.5vw, 88px) !important;
  line-height: 1.05 !important;
  display: inline-block !important;
  font-weight: 200 !important;
}
@media (max-width: 991px) {
  body.home section.sec-memory.less-time.exp-sec:not(.creater) {
    overflow: visible !important;
  }
  body.home section.sec-memory.less-time.exp-sec:not(.creater) .container-fluid {
    display: block !important;
  }
  body.home section.sec-memory.less-time.exp-sec:not(.creater) h1.FadeText,
  body.home section.sec-memory.less-time.exp-sec:not(.creater) h2.review-space {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.05 !important;
    text-align: left !important;
  }
  body.home section.sec-memory.less-time.exp-sec:not(.creater) h1.FadeText {
    font-size: clamp(44px, 13vw, 64px) !important;
    margin-bottom: 10px !important;
  }
  body.home section.sec-memory.less-time.exp-sec:not(.creater) h2.review-space {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
  body.home section.sec-memory.less-time.exp-sec:not(.creater) h2.review-space > span.FadeText {
    display: block !important;
    float: none !important;
    font-size: clamp(40px, 12vw, 58px) !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.home section.sec-memory.less-time.exp-sec:not(.creater) span.iconHolder {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 72px !important;
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    max-height: 72px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  body.home section.sec-memory.less-time.exp-sec:not(.creater) span.iconHolder > * {
    width: 118px !important;
    height: 118px !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
  }
}
@media (max-width: 420px) {
  body.home section.sec-memory.less-time.exp-sec:not(.creater) h2.review-space {
    flex-wrap: wrap !important;
  }
  body.home section.sec-memory.less-time.exp-sec:not(.creater) span.iconHolder {
    flex-basis: 64px !important;
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
  }
}
.exp-sec .cards-out .main-t {
  font-size: 17px !important;
  line-height: 26px !important;
  font-weight: 200 !important;
  min-height: unset !important;
}
.exp-sec .cards-out {
  border-radius: 6px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  background: rgba(255,255,255,0.03) !important;
  box-shadow: none !important;
}
.exp-sec .slick-active.slick-center.cards-out,
.exp-sec .cards-out:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.5) !important;
}
.exp-sec .slick-active.slick-center.cards-out .main-t,
.exp-sec .cards-out:hover .main-t,
.exp-sec .slick-active.slick-center.cards-out h5,
.exp-sec .cards-out:hover h5,
.exp-sec .slick-active.slick-center.cards-out p,
.exp-sec .cards-out:hover p {
  color: #fff !important;
}

/* Find a store SVG */
.demo-live::after {
  top: -105px !important;
  height: 160px !important;
  background-size: 131px 160px !important;
  pointer-events: none !important;
}
span.hover-demo {
  top: -105px !important;
  background-size: 131px 160px !important;
  pointer-events: none !important;
}
.demo-live a.f-bold {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  pointer-events: auto !important;
}
.demo-live:hover::after {
  opacity: 0 !important;
}
.demo-live:hover span.hover-demo {
  height: 160px !important;
}
body.page-template-challange_pound-php .demo-live {
  transform: scale(1);
  animation: zoomhover 0.4s ease-out;
}
body.page-template-challange_pound-php .demo-live::after {
  opacity: 1;
}
body.page-template-challange_pound-php span.hover-demo {
  height: 160px;
}
body.page-template-challange_pound-php .demo-live a.f-bold {
  color: var(--blackCommon);
}
body.page-template-challange_pound-php .demo-live .fas {
  color: var(--green);
}

/* Remove top-bar gap */
.main-header.bg-none.top_active {
  padding-top: 15px !important;
}
.main-header.bg-none {
  background: transparent !important;
  transition: background-color 0.2s ease;
}
.scrolling-active .main-header.bg-none,
.fixedheader .main-header.bg-none {
  background: rgba(0,0,0,0.96) !important;
}
body:not(.home) .wrapper {
  padding-top: 70px !important;
}

/* ────────────────────────────────────────────────────────
   About Us — luxury redesign
   ──────────────────────────────────────────────────────── */

.sp-about-hero {
  position: relative;
  padding: 70px 0 50px;
  background-size: cover;
  background-position: center 30%;
  background-repeat: no-repeat;
}
.sp-about-cityscape {
  width: 100%;
  overflow: hidden;
  max-height: 420px;
}
.sp-about-cityscape__img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center 40%;
  display: block;
  opacity: 0.7;
}
.sp-about-label {
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 1.5rem;
}
.sp-about-hero__heading {
  font-size: clamp(64px, 9vw, 130px);
  font-weight: 200;
  line-height: 1.0;
  letter-spacing: -0.02em;
  margin: 0 0 1.5rem;
  color: #fff;
}
.sp-about-hero__sub {
  font-size: 18px;
  font-weight: 300;
  color: rgba(255,255,255,0.55);
  line-height: 1.6;
  margin: 0;
}
.sp-about-section {
  padding: 56px 0;
}
.sp-about-intro {
  padding-top: 64px;
}
.sp-about-img-wrap {
  max-height: 520px;
}
.sp-about-img-wrap img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: top center;
  border-radius: 0 16px 16px 0;
  display: block;
}
.sp-about-intro__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sp-about-lead {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.6;
  color: #fff;
  margin-bottom: 1.5rem;
}
.sp-about-intro__text p:not(.sp-about-lead) {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(255,255,255,0.65);
}
.sp-about-divider hr {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.08);
  margin: 0;
}
.sp-about-section__label {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.42);
  font-weight: 400;
  line-height: 1.4;
  padding-top: 6px;
  margin: 0;
}
.sp-about-section .col-lg-8 p {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(255,255,255,0.72);
  margin: 0;
}
.sp-about-closing__text {
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.85 !important;
  color: rgba(255,255,255,0.72) !important;
  margin-bottom: 2rem !important;
}
@media (max-width: 768px) {
  .sp-about-hero { padding: 60px 0 50px; }
  .sp-about-section { padding: 48px 0; }
  body.about-us .sp-about-hero .container,
  body.about-us .sp-about-section .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .sp-about-img-wrap, .sp-about-img-wrap img { max-height: 320px; height: 320px; }
  .sp-about-intro__text { padding-top: 2rem; }
}

/* ────────────────────────────────────────────────────────
   Press & Awards — layout & composition
   ──────────────────────────────────────────────────────── */

/* Creater section heading */
section.sec-memory.less-time.exp-sec.creater {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.sp-founder-header {
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
  margin-bottom: 1rem !important;
}
.sp-founder-heading {
  font-size: clamp(40px, 5vw, 72px) !important;
  line-height: 1.2 !important;
  font-weight: 200 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.exp-sec.creater .row {
  align-items: flex-start !important;
}
.exp-sec.creater .left-space {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding-top: 1rem !important;
}
.sp-founder-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 1.5rem !important;
}
.exp-sec.creater .left-space .sp-founder-actions .sp-btn {
  margin-top: 0 !important;
  align-self: flex-start !important;
}
.exp-sec.creater .review-img {
  overflow: hidden !important;
  border-radius: 12px !important;
  max-height: 470px !important;
}
.exp-sec.creater .shad:before {
  display: none !important;
}
.exp-sec.creater .review-img img {
  width: 100% !important;
  height: 470px !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
  filter: grayscale(1) contrast(1.14) brightness(1.05) !important;
}
.exp-sec.creater .moment-p {
  font-size: 15px !important;
  line-height: 1.8 !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.75) !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 2rem !important;
}
@media (max-width: 991px) {
  body.home section.sec-memory.less-time.exp-sec.creater {
    position: relative !important;
    z-index: 1 !important;
    clear: both !important;
    overflow: visible !important;
    padding-top: clamp(72px, 16vw, 112px) !important;
    padding-bottom: clamp(58px, 12vw, 82px) !important;
  }
  body.home .sp-founder-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 28px !important;
  }
  body.home .sp-founder-heading {
    max-width: 100% !important;
    font-size: clamp(34px, 11vw, 54px) !important;
    line-height: 1.05 !important;
    overflow-wrap: normal !important;
  }
  body.home .sp-founder-actions {
    gap: 10px;
  }
  body.home .sp-founder-actions .sp-btn {
    width: 100%;
    justify-content: center;
  }
  body.home section.sec-memory.less-time.exp-sec.creater span.iconHolder {
    position: static !important;
    display: block !important;
    width: 92px !important;
    height: 92px !important;
    max-width: 92px !important;
    max-height: 92px !important;
    margin: -8px 0 0 !important;
    overflow: hidden !important;
  }
  body.home section.sec-memory.less-time.exp-sec.creater span.iconHolder > * {
    width: 140px !important;
    height: 140px !important;
    max-width: none !important;
    max-height: none !important;
    transform: translate(-24px, -24px) !important;
  }
  body.home .exp-sec.creater .row {
    gap: 28px !important;
    margin-top: 0 !important;
  }
  body.home .exp-sec.creater .shad,
  body.home .exp-sec.creater .left-space {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  body.home .exp-sec.creater .left-space {
    padding: 0 15px !important;
  }
  body.home .exp-sec.creater .review-img,
  body.home section.sec-memory.less-time.exp-sec.creater .shad .review-img {
    height: clamp(300px, 74vw, 430px) !important;
    max-height: none !important;
    border-radius: 0 0 20px 20px !important;
  }
  body.home .exp-sec.creater .review-img img {
    height: 100% !important;
  }
  body.home .exp-sec.creater .moment-p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    margin-bottom: 24px !important;
  }
}

/* Reduce section padding on press page */
section.press-awards,
section.press-reviews {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}
section.press-awards {
  padding-bottom: 20px !important;
}
section.press-reviews {
  padding-top: 20px !important;
}
.press-reviews .press-section-header {
  margin-bottom: 1.5rem !important;
}

/* Section header: tighter, more editorial */
.press-awards .press-section-header,
.press-reviews .press-section-header {
  margin-bottom: 2rem !important;
  gap: 2rem !important;
}
.press-awards .press-section-header .h1,
.press-reviews .press-section-header .h1 {
  font-size: clamp(40px, 5vw, 72px) !important;
  line-height: 1.0 !important;
  font-weight: 300 !important;
}
.press-awards .press-section-header .press-icon {
  width: 60px !important;
  height: 60px !important;
}
.press-reviews-header .press-reviews-title {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.3em !important;
}
.press-reviews-header .press-title-line1 {
  font-size: clamp(40px, 5vw, 72px) !important;
  line-height: 1.0 !important;
  display: inline !important;
  width: auto !important;
}
.press-reviews-header .press-title-line2-row {
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  gap: 0.3em !important;
}
.press-reviews-header .press-title-line2 {
  font-size: clamp(40px, 5vw, 72px) !important;
  line-height: 1.0 !important;
}

/* Awards: 3-col grid instead of single list */
.awards-list {
  padding-bottom: 2rem !important;
}
.award-product-group {
  margin-bottom: 2.5rem !important;
}
.award-items {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  column-gap: 2rem !important;
  row-gap: 0 !important;
  align-items: start !important;
}
@media (max-width: 900px) {
  .award-items { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  .award-items { grid-template-columns: 1fr !important; }
}
.award-item {
  padding: 0.85rem 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  border-right: none !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  min-width: 0 !important;
}
.award-item-link {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  align-items: flex-start !important;
}
.award-item:last-child {
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
.award-badge-img {
  height: 52px !important;
  width: auto !important;
  max-width: 110px !important;
  object-fit: contain !important;
  object-position: left center !important;
  flex-shrink: 0 !important;
  opacity: 0.75 !important;
  display: block !important;
}

/* Reviews grid: 3-col masonry */
.reviews-grid-desktop {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1rem !important;
  align-items: start !important;
}
.reviews-col--left,
.reviews-col--right {
  padding-top: 0 !important;
}
.reviews-col {
  gap: 1rem !important;
}
.reviews-col--right {
  padding-top: 0 !important;
}
@media (max-width: 900px) {
  .reviews-grid-desktop { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  .reviews-grid-desktop { grid-template-columns: 1fr !important; }
}
.review-card {
  padding: 1.1rem 1.1rem 0.9rem !important;
}
.review-card-header {
  margin-bottom: 0.6rem !important;
}

/* ────────────────────────────────────────────────────────
   Press & Awards page — luxury redesign
   ──────────────────────────────────────────────────────── */

/* Award items list */
.award-product-name {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
  padding-left: 0 !important;
  padding-bottom: 1.25rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.1) !important;
}
.award-item {
  padding: 1rem 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  gap: 1rem !important;
}
.award-item:hover {
  background-color: transparent !important;
}
.award-item:hover .award-title {
  color: #fff !important;
  opacity: 0.7;
}
.award-title {
  font-size: 15px !important;
  font-weight: 300 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  min-width: 0 !important;
  color: rgba(255,255,255,0.45) !important;
  transition: color 0.2s ease !important;
}
.award-item {
  min-width: 0 !important;
}
.award-item:hover .award-title,
.award-item-link:hover .award-title {
  color: #fff !important;
}
.award-more-btn,
.reviews-more-btn {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: #fff !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  border-radius: 4px !important;
  cursor: pointer;
  transition: border-color 0.25s ease, background 0.25s ease !important;
}
.award-more-btn:hover,
.reviews-more-btn:hover {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.6) !important;
}

/* Review cards — white */
.review-card {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  padding: 1.75rem 1.5rem !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
}
a.review-card {
  text-decoration: none !important;
  color: inherit !important;
}
a.review-card:hover {
  background: #fff !important;
  border-color: rgba(0,0,0,0.18) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.14) !important;
  transform: translateY(-4px) !important;
  color: #000 !important;
}
.reviewer-name {
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  color: #111 !important;
}
.reviewer-publication {
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(0,0,0,0.4) !important;
}
.review-card .review-excerpt {
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: rgba(0,0,0,0.55) !important;
}
.publication-logo {
  max-height: 28px !important;
  max-width: 90px !important;
  width: auto !important;
  opacity: 0.65;
  filter: invert(1);
}
a.review-card:hover .publication-logo {
  opacity: 0.85;
}
.review-arrows-icon {
  color: rgba(0,0,0,0.3) !important;
}
a.review-card:hover .review-arrows-icon {
  color: rgba(0,0,0,0.7) !important;
}

.sec-memory .content-mm > .sp-btn {
  align-self: flex-start !important;
  width: auto !important;
  margin-top: 8px;
}
.content-mm p.sp-design-p {
  font-size: clamp(19px, 2vw, 31px) !important;
  line-height: clamp(38px, 4.7vw, 58px) !important;
  font-weight: 100 !important;
  max-width: 100% !important;
}
.content-mm .sp-design-bullet {
  display: inline-block;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.72em;
  line-height: 1;
  color: rgba(255,255,255,0.72);
  vertical-align: 0.17em;
}
@media only screen and (max-width: 991px) {
  .content-mm p.sp-design-p { line-height: clamp(44px, 6vw, 60px) !important; }
}
@media only screen and (max-width: 767px) {
  .content-mm p.sp-design-p { font-size: 22px !important; line-height: 44px !important; }
}
section.sec-memory:has(.content-mm) {
  padding-top: 120px !important;
  padding-bottom: 150px !important;
}
section.sec-memory .mm-size {
  height: 700px !important;
}
.sp-lottie-box {
  height: 260px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
  margin-top: 0;
  margin-bottom: auto;
}
@media (min-width: 1200px) {
  .sp-lottie-box {
    margin-top: -170px;
  }
}
.sp-lottie-box .circle-animation-group {
  position: absolute !important;
  left: 45px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
@media (max-width: 991px) {
  body.home section.sec-memory:has(.content-mm) .sp-lottie-box {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  body.home section.sec-memory:has(.content-mm) .content-mm {
    justify-content: flex-start !important;
    gap: 8px !important;
    height: auto !important;
  }
  body.home section.sec-memory:has(.content-mm) {
    padding-top: 64px !important;
    padding-bottom: 88px !important;
  }
  body.home section.sec-memory:has(.content-mm) > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    row-gap: 38px !important;
  }
  body.home section.sec-memory:has(.content-mm) > .row > [class*="col-"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.home section.sec-memory:has(.content-mm) .mm-size {
    height: clamp(360px, 98vw, 460px) !important;
    margin-bottom: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
  }
  body.home section.sec-memory:has(.content-mm) .mm-size img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 0 20px 20px !important;
    object-fit: cover !important;
  }
  body.home section.sec-memory:has(.content-mm) .left-space {
    padding-top: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.home section.sec-memory:has(.content-mm) .content-mm > p.sp-design-p:first-child {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    min-height: 0 !important;
  }
}

/* ────────────────────────────────────────────────────────
   BLOCK 5: Model cards — luxury editorial
   ──────────────────────────────────────────────────────── */
.sp-models-section {
  padding-top: 40px !important;
  padding-bottom: 100px !important;
}
.sp-models-header {
  margin-bottom: 72px;
}
.sp-models-title {
  font-size: 110px !important;
  font-weight: 200 !important;
  line-height: 1.0 !important;
  color: #fff !important;
  letter-spacing: 0.02em;
  margin: 0 !important;
  text-align: center !important;
  display: block !important;
  height: auto !important;
}
@media only screen and (max-width: 1839px) {
  .sp-models-title { font-size: 90px !important; }
}
@media only screen and (max-width: 1199px) {
  .sp-models-title { font-size: 70px !important; }
}
@media only screen and (max-width: 767px) {
  .sp-models-title { font-size: 40px !important; }
}
.sp-models-sub {
  font-size: 15px;
  font-weight: 300;
  color: rgba(255,255,255,0.45);
  margin-top: 14px;
  letter-spacing: 0.04em;
}
.sp-models-cards .row {
  gap: 0;
}
.sp-model-card {
  background: none;
  border: none;
  border-radius: 0;
  overflow: visible;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 24px;
}
.sp-models-cards .col-md-6:first-child .sp-model-card {
  padding-left: 0;
  border-right: 1px solid rgba(255,255,255,0.08);
  padding-right: 48px;
}
.sp-models-cards .col-md-6:last-child .sp-model-card {
  padding-right: 0;
  padding-left: 48px;
}
.sp-model-card__img {
  width: 80%;
  aspect-ratio: 2/3;
  margin-bottom: 28px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}
.sp-model-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);
  display: block;
}
@media (max-width: 991px) {
  .sp-model-card__img { width: 100%; }
}
.sp-model-card:hover .sp-model-card__img img {
  transform: scale(1.04);
}
.sp-model-card__body {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: center;
  text-align: center;
}
.sp-model-card__title {
  font-size: clamp(28px, 2.4vw, 38px);
  font-weight: 200;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
  color: #fff !important;
  line-height: 1.2;
}
.sp-model-card__liner {
  font-size: 11px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 28px;
}
.sp-model-card__body .sp-btn {
  align-self: center !important;
  width: auto !important;
}
.sp-model-card__bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 36px;
  flex: 1;
}
.sp-model-card__bullets li {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.6) !important;
  padding: 12px 0 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  position: relative;
  line-height: 1.5;
}
.sp-model-card__bullets li:first-child {
  border-top: 1px solid rgba(255,255,255,0.06);
}
@media (max-width: 991px) {
  .sp-models-cards .col-md-6:first-child .sp-model-card {
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding-bottom: 48px;
    margin-bottom: 48px;
  }
  .sp-models-cards .col-md-6:last-child .sp-model-card {
    padding-left: 0;
  }
  .sp-model-card { padding: 0; }
  .sp-model-card__img { height: 380px; }
}
@media (max-width: 767px) {
  body.home .sp-model-card__img {
    height: clamp(420px, 118vw, 560px);
    aspect-ratio: auto;
    background: #050505;
  }
  body.home .sp-model-card__img img,
  body.home .sp-model-card__img picture img {
    object-fit: contain !important;
    object-position: center center !important;
  }
  body.home .sp-model-card:hover .sp-model-card__img img {
    transform: none;
  }
  body.home .sp-models-section > .container-fluid,
  body.home .sp-models-section > .container,
  body.home .sp-quiz-band > .container,
  body.home .sp-why7 > .container,
  body.home .sp-feat-carousel .container,
  body.home .sp-audition8 > .container,
  body.home .sp-guide10 > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.home .sp-models-cards .row,
  body.home .sp-feat-carousel .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.home .sp-models-cards .row > [class*="col-"],
  body.home .sp-feat-carousel .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.home [data-aos="fade-left"],
  body.home [data-aos="fade-right"] {
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ────────────────────────────────────────────────────────
   BLOCK 3: Proof strip
   ──────────────────────────────────────────────────────── */
.sp-proof-quotes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 40px 0 48px;
}
.sp-proof-quote {
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
}
.sp-proof-quote__text {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
  color: rgba(255,255,255,0.7);
  line-height: 1.7;
  margin: 0 0 16px;
}
.sp-proof-quote__by {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.3);
  margin: 0;
}
.sp-proof-cta { text-align: center; }
@media only screen and (max-width: 991px) {
  .sp-proof-quotes { grid-template-columns: 1fr; }
}

/* ────────────────────────────────────────────────────────
   BLOCK 6: Quiz teaser
   ──────────────────────────────────────────────────────── */
.sp-quiz-sub {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  max-width: 440px;
  margin: 16px auto 36px;
  line-height: 1.7;
}

/* ────────────────────────────────────────────────────────
   BLOCK 7: Why different
   ──────────────────────────────────────────────────────── */
.sp-why-card {
  padding: 40px 32px 40px 0;
  border-top: 1px solid rgba(255,255,255,0.07);
  height: 100%;
}
.sp-why-num {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.2em;
  color: rgba(255,255,255,0.18);
  margin-bottom: 20px;
}
.sp-why-card h3 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 300;
  color: #fff;
  margin: 0 0 14px;
  line-height: 1.4;
}
.sp-why-card p {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  line-height: 1.8;
  margin: 0;
}

/* ────────────────────────────────────────────────────────
   BLOCK 9: Audition steps
   ──────────────────────────────────────────────────────── */
.sp-steps-sub {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  max-width: 480px;
  margin: 20px 0 0;
  line-height: 1.7;
}
.sp-step-item { padding: 40px 32px 40px 0; }
.sp-step-num {
  font-family: 'Poppins', sans-serif;
  font-size: 48px;
  font-weight: 200;
  color: rgba(255,255,255,0.08);
  line-height: 1;
  margin-bottom: 16px;
}
.sp-step-item h4 {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  margin: 0 0 12px;
}
.sp-step-item p {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  line-height: 1.8;
  margin: 0;
}

/* ────────────────────────────────────────────────────────
   BLOCK 10: Lead magnet
   ──────────────────────────────────────────────────────── */
.sp-lead-title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 200;
  color: #fff;
  margin: 8px 0 12px;
}
.sp-lead-sub {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  max-width: 380px;
  line-height: 1.8;
  margin: 0;
}
.sp-lead-input {
  background: rgba(255,255,255,0.05);
  border: none;
  border-bottom: 2px solid rgba(255,255,255,0.25);
  padding: 14px 0;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  color: #fff;
  width: 280px;
  outline: none;
}
.sp-lead-input::placeholder { color: rgba(255,255,255,0.3); }
.sp-lead-form {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

/* ────────────────────────────────────────────────────────
   HOMEPAGE: Hero CTA group
   ──────────────────────────────────────────────────────── */
.home .content-banner h1.sp-hero-title {
  font-size: clamp(2.8rem, 7vw, 6.5rem) !important;
  font-weight: 200 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.03em !important;
}
.home .content-banner {
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 0 0 48px 48px;
}
.banner-sub {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 300;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin: 18px 0 0;
  max-width: 520px;
}
.banner-cta-group {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  .home .content-banner { padding: 0 0 32px 20px; }
  .banner-cta-group { flex-direction: column; align-items: flex-start; }
  .banner-cta-group .btn { width: 100%; text-align: center; }
}

/* ────────────────────────────────────────────────────────
   HOMEPAGE: Lead magnet block
   ──────────────────────────────────────────────────────── */
.sp-lead-magnet__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
  padding: 56px 0;
  border-top: 1px solid rgba(255,255,255,0.07);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
@media only screen and (max-width: 991px) {
  .sp-lead-magnet__inner { grid-template-columns: 1fr; gap: 28px; padding: 40px 0; }
}

/* ────────────────────────────────────────────────────────
   HEADER CTA
   ──────────────────────────────────────────────────────── */
.sp-nav-cta {
  display: inline-flex !important;
  align-items: center;
  background: var(--sp-white) !important;
  color: var(--sp-black) !important;
  border-radius: 15px !important;
  padding: 8px 22px !important;
  font-family: var(--sp-font);
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  line-height: 1 !important;
  text-decoration: none !important;
  position: relative;
  overflow: hidden;
  transition: color 0.2s ease !important;
  z-index: 1;
  margin-left: 8px;
}
.sp-nav-cta::before {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: var(--sp-grey-btn);
  transform: translateX(-100%);
  transition: transform 0.25s var(--sp-ease);
  z-index: -1;
}
.sp-nav-cta:hover { color: var(--sp-black) !important; }
.sp-nav-cta:hover::before { transform: translateX(0%); }

@media only screen and (max-width: 991px) {
  .sp-nav-cta { margin-left: 0; margin-top: 8px; }
  .nav-item--cta { margin-top: 4px; }
}

/* ────────────────────────────────────────────────────────
   FOOTER NAVIGATION (dark strip above white footer)
   ──────────────────────────────────────────────────────── */
.sp-footer-nav {
  background: var(--sp-black);
  border-top: 1px solid rgba(255,255,255,0.07);
  padding: 52px 0 48px;
}
.sp-footer-nav__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.sp-footer-nav__heading {
  font-family: var(--sp-font);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin: 0 0 18px;
}
.sp-footer-nav__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sp-footer-nav__col ul li a {
  font-family: var(--sp-font);
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.42);
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline-block;
  position: relative;
}
.sp-footer-nav__col ul li a::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: rgba(255,255,255,0.4);
  transition: width 0.25s var(--sp-ease);
}
.sp-footer-nav__col ul li a:hover {
  color: rgba(255,255,255,0.85);
}
.sp-footer-nav__col ul li a:hover::after {
  width: 100%;
}

/* below_footer links — white footer bg, dark text */
.below_footer .links ul {
  display: flex;
  gap: 20px;
}
.below_footer .links ul li a {
  font-family: var(--sp-font);
  font-size: 12px;
  font-weight: 300;
  color: rgba(0,0,0,0.4) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
.below_footer .links ul li a:hover {
  color: rgba(0,0,0,0.75) !important;
}

@media only screen and (max-width: 1199px) {
  .sp-footer-nav__grid { grid-template-columns: 1fr 1fr 1fr; gap: 32px 24px; }
  .sp-footer-nav__col--brand { grid-column: 1 / -1; }
}
@media only screen and (max-width: 767px) {
  .sp-footer-nav__grid { grid-template-columns: 1fr 1fr; gap: 28px 16px; }
  .sp-footer-nav { padding: 40px 0 32px; }
}
@media only screen and (max-width: 480px) {
  .sp-footer-nav__grid { grid-template-columns: 1fr; }
}

/* ────────────────────────────────────────────────────────
   KEYFRAMES
   ──────────────────────────────────────────────────────── */
@keyframes spFadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes spScaleIn {
  from { opacity: 0; transform: scale(0.65); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes spTyping {
  0%, 80%, 100% { transform: scale(1); opacity: 0.35; }
  40%           { transform: scale(1.35); opacity: 1; }
}

/* ────────────────────────────────────────────────────────
   RESPONSIVE — matches custom.css breakpoints
   ──────────────────────────────────────────────────────── */

@media only screen and (max-width: 1199px) {
  .sp-options-grid  { grid-template-columns: 1fr 1fr; }
  .sp-coverage-grid { gap: 40px; }
  .sp-process-grid  { gap: 24px; }
}

@media only screen and (max-width: 991px) {
  .sp-hero          { padding: 140px 24px 80px; }
  body.page-template-no-dealer-php .sp-hero { padding-top: 108px; padding-bottom: 54px; }
  body.page-template-no-dealer-php .sp-hero + .sp-section { padding-top: 52px; }
  body.page-template-store-php .sp-hero { padding-top: 108px; padding-bottom: 54px; }
  .sp-options-grid  { grid-template-columns: 1fr; max-width: 500px; margin: 0 auto; }
  .sp-coverage-grid { grid-template-columns: 1fr; gap: 48px; }
  .sp-process-grid  { grid-template-columns: 1fr; gap: 16px; }
  .sp-process-step  { padding: 22px; }
  .sp-founder-quote { padding: 36px 30px; }
  #sp-chat-window   { width: 320px; }
}

@media only screen and (max-width: 767px) {
  .sp-hero               { padding: 120px 20px 70px; }
  body.page-template-no-dealer-php .sp-hero { padding-top: 96px; padding-bottom: 46px; }
  body.page-template-no-dealer-php .sp-hero + .sp-section { padding-top: 44px; }
  body.page-template-store-php .sp-hero { padding-top: 96px; padding-bottom: 46px; }
  .sp-section            { padding: 70px 20px; }
  .sp-field-row          { grid-template-columns: 1fr; }
  .sp-form-actions       { flex-direction: column; align-items: flex-start; gap: 14px; }
  .sp-btn                { width: 100%; padding: 14px 24px; justify-content: center; }
  .sp-btn--ghost         { width: 100%; justify-content: center; }
  .sp-warranty-badge-large { padding: 20px 28px; }
  .sp-warranty-badge-num { font-size: 3rem; }
  .sp-founder-quote      { padding: 28px 22px; }
  #sp-chat-widget        { bottom: 18px; right: 18px; }
  #sp-chat-window        { width: calc(100vw - 36px); right: -14px; }
  .sp-coverage-grid      { gap: 36px; }
}

/* ════════════════════════════════════════════════════════
   Homepage section dividers
   ════════════════════════════════════════════════════════ */
body.home section + section {
  border-top: 1px solid rgba(255,255,255,0.06);
}

/* ════════════════════════════════════════════════════════
   BLOCK 7: Why it sounds different — editorial 3-col
   ════════════════════════════════════════════════════════ */
.sp-why7 {
  padding: 100px 0 0;
}
.sp-why7__header {
  margin-bottom: 64px;
}
.sp-why7__label {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin: 0 0 20px;
}
.sp-why7__title {
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 200;
  line-height: 1.1;
  color: #fff;
  margin: 0;
  letter-spacing: -0.01em;
}
.sp-why7__cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 64px;
}
.sp-why7__col {
  padding: 40px 40px 40px 40px;
  border-right: 1px solid rgba(255,255,255,0.08);
}
.sp-why7__col:first-child { padding-left: 0; }
.sp-why7__col:last-child  { border-right: none; padding-right: 0; }
.sp-why7__headline {
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 300;
  color: #fff;
  margin: 0 0 10px;
  line-height: 1.25;
}
.sp-why7__sub {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  margin: 0;
  line-height: 1.5;
}
.sp-why7__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 40px 0 56px;
}
.sp-why7__cta {
  width: auto !important;
}
.sp-why7__proof {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.25);
}
@media (max-width: 767px) {
  .sp-why7 { padding: 64px 0; }
  .sp-why7__cols { grid-template-columns: 1fr; }
  .sp-why7__col {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: 28px 0;
  }
  .sp-why7__col:last-child { border-bottom: none; }
  .sp-why7__footer { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ════════════════════════════════════════════════════════
   Patent pending carousel (homepage + tech page)
   ════════════════════════════════════════════════════════ */
.sp-feat-carousel {
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: none !important;
  padding: 0;
}
.sp-feat-carousel .slick-prev,
.sp-feat-carousel .slick-next {
  width: 36px;
  height: 36px;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  z-index: 10;
}
.sp-feat-carousel .slick-prev::before,
.sp-feat-carousel .slick-next::before {
  display: none !important;
}
.sp-feat-carousel .slick-prev::after,
.sp-feat-carousel .slick-next::after {
  display: none !important;
}
.sp-feat-carousel .slick-prev {
  background-image: url('../img/arrow_left.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  left: -40px !important;
  right: auto !important;
}
.sp-feat-carousel .slick-next {
  background-image: url('../img/arrow_right.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  left: auto !important;
  right: 16px !important;
}
.sp-feat-carousel .cards-slide {
  min-height: unset !important;
  padding: 28px 32px;
  border-right: 1px solid rgba(255,255,255,0.08) !important;
}
.sp-feat-carousel .cards-slide h4 {
  font-size: clamp(18px, 1.8vw, 24px) !important;
  line-height: 1.25 !important;
  margin: 12px 0 6px !important;
  font-weight: 300;
}
.sp-feat-carousel .cards-slide p {
  font-size: 14px !important;
  line-height: 1.5 !important;
  max-width: none;
  color: rgba(255,255,255,0.4);
}
@media (max-width: 767px) {
  .sp-why7 {
    padding: 52px 0 46px !important;
  }
  .sp-why7__header {
    margin-bottom: 24px !important;
  }
  body.home .sp-feat-carousel {
    overflow: visible !important;
  }
  body.home .sp-feat-carousel .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.home .sp-feat-carousel .p-slider {
    width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  body.home .sp-feat-carousel .slick-list {
    overflow: hidden !important;
  }
  body.home .sp-feat-carousel .slick-prev,
  body.home .sp-feat-carousel .slick-next {
    top: auto !important;
    bottom: -34px !important;
    width: 34px !important;
    height: 34px !important;
    transform: none !important;
  }
  body.home .sp-feat-carousel .slick-prev {
    left: 0 !important;
    right: auto !important;
  }
  body.home .sp-feat-carousel .slick-next {
    left: 46px !important;
    right: auto !important;
  }
  body.home .sp-feat-carousel .cards-slide {
    min-height: 178px !important;
    padding: 16px 18px 18px !important;
  }
  body.home .sp-feat-carousel .cards-slide h4 {
    font-size: 18px !important;
    margin: 6px 0 4px !important;
  }
  body.home .sp-feat-carousel .cards-slide p {
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin-bottom: 0 !important;
  }
  body.home .sp-feat-carousel .cards-slide dotlottie-player {
    display: block !important;
    width: 92px !important;
    height: 92px !important;
    max-width: 92px !important;
    max-height: 92px !important;
    margin: 0 0 4px 0 !important;
    transform: none !important;
  }
  body.home .sp-why7__footer {
    margin-top: 46px !important;
  }
}

/* ════════════════════════════════════════════════════════
   Technology page — features section
   ════════════════════════════════════════════════════════ */
.sp-tech-features {
  padding: 80px 0 60px;
}
.sp-tech-features__header {
  margin-bottom: 48px;
}
.sp-tech-features__label {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin: 0 0 16px;
}
.sp-tech-features__title {
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 200;
  color: #fff;
  margin: 0;
  letter-spacing: -0.01em;
}

/* ════════════════════════════════════════════════════════
   BLOCK 8: Audition — two-column editorial
   ════════════════════════════════════════════════════════ */
.sp-audition8 {
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}
.sp-audition8::before {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: url('../img/listen.jpg') center top / 50% auto no-repeat;
  opacity: 0.14;
  z-index: 0;
}
.sp-audition8 .container {
  position: relative;
  z-index: 1;
}
.sp-audition8__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.sp-audition8__label {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin: 0 0 20px;
}
.sp-audition8__title {
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 200;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 0 0 20px;
}
.sp-audition8__sub {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.45);
  line-height: 1.6;
  margin: 0 0 36px;
}
.sp-audition8__cta {
  width: auto !important;
  margin-bottom: 20px;
}
.sp-audition8__trust {
  font-size: 11px;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.25);
  margin: 0;
}
.sp-audition8__step {
  display: flex;
  gap: 24px;
  padding: 28px 0;
  border-top: 1px solid rgba(255,255,255,0.07);
  align-items: flex-start;
}
.sp-audition8__step:last-child {
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.sp-audition8__num {
  font-size: 11px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.25);
  flex-shrink: 0;
  padding-top: 3px;
  width: 28px;
}
.sp-audition8__step-title {
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  margin: 0 0 6px;
}
.sp-audition8__step-body {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.45);
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 991px) {
  .sp-audition8__inner { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 767px) {
  .sp-audition8 { padding: 64px 0; }
}

/* ════════════════════════════════════════════════════════
   BLOCK 6: Quiz teaser band
   ════════════════════════════════════════════════════════ */
.sp-quiz-band {
  border-top:    1px solid rgba(255,255,255,0.07);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  padding: 40px 0;
}
.sp-quiz-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.sp-quiz-band__title {
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.04em;
  color: #fff;
  margin: 0 0 6px;
}
.sp-quiz-band__line {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.45);
  margin: 0;
}
.sp-quiz-band__cta {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}
.sp-quiz-band__btn {
  width: auto !important;
  white-space: nowrap;
}
.sp-quiz-band__note {
  font-size: 11px;
  color: rgba(255,255,255,0.3);
  letter-spacing: 0.06em;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .sp-quiz-band__inner { flex-direction: column; align-items: flex-start; }
  .sp-quiz-band__cta   { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ════════════════════════════════════════════════════════
   Quiz page — /find-your-match
   ════════════════════════════════════════════════════════ */
.sp-quiz-page {
  min-height: 70vh;
  padding: 80px 0 120px;
}
.sp-quiz-root {
  max-width: 720px;
  margin: 0 auto;
  transition: opacity 0.15s ease;
}

/* start */
.sp-quiz__start {
  text-align: center;
  padding: 40px 0;
}
.sp-quiz__eyebrow {
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  margin: 0 0 20px;
}
.sp-quiz__title {
  font-size: clamp(40px, 6vw, 80px);
  font-weight: 200;
  line-height: 1.0;
  color: #fff;
  margin: 0 0 20px;
}
.sp-quiz__subtitle {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.55);
  margin: 0 0 10px;
}
.sp-quiz__note {
  font-size: 12px;
  color: rgba(255,255,255,0.3);
  letter-spacing: 0.06em;
  margin: 0 0 40px;
}
.sp-quiz__start-btn {
  width: auto !important;
}

/* units toggle */
.sp-quiz__units {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: flex-end;
  margin-bottom: 8px;
}
.sp-quiz__units-label {
  font-size: 11px;
  color: rgba(255,255,255,0.3);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.sp-quiz__units-sep { color: rgba(255,255,255,0.2); font-size: 12px; }
.sp-quiz__unit-btn {
  background: none;
  border: none;
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.3);
  cursor: pointer;
  padding: 2px 4px;
  transition: color 0.2s;
  font-family: var(--sp-font);
  min-width: 44px; min-height: 44px;
}
.sp-quiz__unit-btn--on {
  color: #fff;
  font-weight: 500;
}

/* step header */
.sp-quiz__step-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 48px;
}

/* progress */
.sp-quiz__progress {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  max-width: 260px;
}
.sp-quiz__progress-text {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
}
.sp-quiz__progress-bar {
  height: 2px;
  background: rgba(255,255,255,0.1);
  border-radius: 2px;
  overflow: hidden;
}
.sp-quiz__progress-fill {
  height: 100%;
  background: rgba(255,255,255,0.7);
  border-radius: 2px;
  transition: width 0.35s ease;
}

/* question */
.sp-quiz__optional-label {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin: 0 0 12px;
}
.sp-quiz__q {
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 200;
  line-height: 1.25;
  color: #fff;
  margin: 0 0 12px;
}
.sp-quiz__helper {
  font-size: 13px;
  color: rgba(255,255,255,0.38);
  margin: 0 0 32px;
}

/* answers */
.sp-quiz__answers {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 40px;
}
.sp-quiz__answer {
  width: 100%;
  min-height: 52px;
  padding: 14px 22px;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 4px;
  color: rgba(255,255,255,0.65);
  font-size: 15px;
  font-weight: 300;
  font-family: var(--sp-font);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.18s, color 0.18s, background 0.18s;
}
.sp-quiz__answer:hover {
  border-color: rgba(255,255,255,0.45);
  color: #fff;
}
.sp-quiz__answer--on {
  border-color: rgba(255,255,255,0.85) !important;
  color: #fff !important;
  background: rgba(255,255,255,0.05) !important;
}

/* nav */
.sp-quiz__nav {
  display: flex;
  align-items: center;
  gap: 24px;
}
.sp-quiz__back,
.sp-quiz__skip {
  background: none;
  border: none;
  font-family: var(--sp-font);
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
  cursor: pointer;
  padding: 8px 0;
  min-height: 44px;
  transition: color 0.2s;
}
.sp-quiz__back:hover,
.sp-quiz__skip:hover { color: rgba(255,255,255,0.8); }

/* result */
.sp-quiz__result { padding: 20px 0 60px; }
.sp-quiz__result-inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 56px;
  align-items: start;
  margin-bottom: 56px;
}
.sp-quiz__result-img {
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}
.sp-quiz__result-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.sp-quiz__result-eyebrow {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  margin: 0 0 12px;
}
.sp-quiz__result-model {
  font-size: clamp(32px, 4.5vw, 60px);
  font-weight: 200;
  line-height: 1.0;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 0 0 28px;
}
.sp-quiz__primary-cta {
  margin-top: 8px;
  display: inline-flex;
  width: auto !important;
  white-space: nowrap;
}
.sp-quiz__secondary-cta,
.sp-quiz__secondary-cta:link,
.sp-quiz__secondary-cta:visited {
  display: inline-block;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.35) !important;
  text-decoration: none !important;
  letter-spacing: 0.04em;
  white-space: nowrap;
  transition: color 0.2s;
}
.sp-quiz__secondary-cta:hover { color: rgba(255,255,255,0.75) !important; }
.sp-quiz__result-p {
  font-size: 15px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
  margin: 0 0 12px;
}
.sp-quiz__placement-note {
  font-size: 13px;
  color: rgba(255,255,255,0.45);
  font-style: italic;
  margin: 12px 0 20px;
}
.sp-quiz__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 28px;
}
.sp-quiz__chip {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 100px;
  padding: 4px 12px;
}
.sp-quiz__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.sp-quiz__ctas .sp-btn { width: auto !important; }
.sp-quiz__restart {
  background: none;
  border: none;
  font-family: var(--sp-font);
  font-size: 12px;
  color: rgba(255,255,255,0.25);
  cursor: pointer;
  padding: 4px 0;
  display: block;
  margin: 0 auto;
  transition: color 0.2s;
}
.sp-quiz__restart:hover { color: rgba(255,255,255,0.6); }

/* email capture */
.sp-quiz__email-wrap {
  margin-bottom: 32px;
}
.sp-quiz__email {
  max-width: 480px;
}
.sp-quiz__email-title {
  font-size: 12px;
  letter-spacing: 0.12em;
  font-weight: 300;
  color: rgba(255,255,255,0.28);
  margin: 0 0 20px;
  text-transform: uppercase;
}
.sp-quiz__email-label {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  display: block;
  margin: 0 0 8px;
}
.sp-quiz__email-form {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 4px;
  background: rgba(255,255,255,0.05);
  padding: 0;
  overflow: hidden;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.sp-quiz__email-form:focus-within {
  border-color: rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.07);
}
.sp-quiz__email-input {
  width: 100%;
  height: 48px;
  padding: 0 8px 0 28px !important;
  box-sizing: border-box;
  background: transparent !important;
  border: none !important;
  border-radius: 4px 0 0 4px;
  outline: none !important;
  -webkit-appearance: none;
  appearance: none;
  color: #fff !important;
  font-family: var(--sp-font);
  font-size: 15px;
  font-weight: 300;
  caret-color: #fff;
  -webkit-text-fill-color: #fff !important;
}
.sp-quiz__email-input::placeholder {
  color: rgba(255,255,255,0.34);
  opacity: 1;
  -webkit-text-fill-color: rgba(255,255,255,0.34);
}
.sp-quiz__email-input:-webkit-autofill,
.sp-quiz__email-input:-webkit-autofill:hover,
.sp-quiz__email-input:-webkit-autofill:focus,
.sp-quiz__email-input:-webkit-autofill:active,
.sp-quiz__email-input:autofill {
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
  caret-color: #fff;
  box-shadow: 0 0 0 1000px #111 inset !important;
  transition: background-color 9999s ease-in-out 0s;
}
.sp-quiz__email-btn {
  width: 46px !important;
  height: 46px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: none !important;
  border: none !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 20px !important;
  padding: 0 !important;
  cursor: pointer;
  transition: color 0.2s, background 0.2s !important;
  line-height: 1;
  flex-shrink: 0;
}
.sp-quiz__email-btn:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.06) !important;
}
.sp-quiz__email-done {
  font-size: 12px;
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.06em;
  margin: 8px 0 0;
}

@media (max-width: 767px) {
  .sp-quiz__result-inner { grid-template-columns: 1fr; gap: 32px; }
  .sp-quiz__email-form   { align-items: stretch; }
  .sp-quiz__email-btn    { width: 46px !important; }
  .sp-quiz-page          { padding: 48px 20px 80px; }
  .sp-quiz-page > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .sp-quiz-root {
    max-width: none !important;
    width: 100% !important;
  }
}

/* ════════════════════════════════════════════════════════
   BLOCK 10: Room Setup Guide — lead magnet
   ════════════════════════════════════════════════════════ */
.sp-guide10 {
  padding: 100px 0;
}
.sp-guide10__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.sp-guide10__label {
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin: 0 0 20px;
}
.sp-guide10__title {
  font-size: clamp(36px, 4vw, 60px);
  font-weight: 200;
  color: #fff;
  margin: 0 0 20px;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.sp-guide10__desc {
  font-size: 15px;
  line-height: 1.65;
  color: rgba(255,255,255,0.45);
  margin: 0;
  max-width: 380px;
}
.sp-guide10__field-row {
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
}
.sp-guide10__input {
  flex: 1;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
  outline: none;
  border-radius: 0 !important;
  transition: border-color 0.2s;
  font-family: inherit;
  letter-spacing: 0.02em;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 0 0 1000px #111 inset !important;
}
.sp-guide10__input::placeholder { color: rgba(255,255,255,0.3); opacity: 1; }
.sp-guide10__input:focus { border-color: rgba(255,255,255,0.35) !important; }
.sp-guide10__input:-webkit-autofill,
.sp-guide10__input:-webkit-autofill:hover,
.sp-guide10__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 0 0 1000px #111 inset !important;
  caret-color: #fff;
}
.sp-guide10__btn { white-space: nowrap; }
.sp-guide10__trust {
  font-size: 11px;
  color: rgba(255,255,255,0.22);
  margin: 0;
  letter-spacing: 0.04em;
}
.sp-guide10__trust a { color: rgba(255,255,255,0.35); text-decoration: underline; }
.sp-guide10__error {
  font-size: 12px;
  color: rgba(255,100,100,0.8);
  margin: 0 0 10px;
}
.sp-guide10__success { padding: 8px 0; }
.sp-guide10__success-main {
  font-size: clamp(16px, 2vw, 22px);
  font-weight: 300;
  color: #fff;
  margin: 0 0 8px;
}
.sp-guide10__success-sub {
  font-size: 12px;
  color: rgba(255,255,255,0.3);
  margin: 0;
}
@media (max-width: 900px) {
  .sp-guide10__inner { grid-template-columns: 1fr; gap: 40px; }
  .sp-guide10 { padding: 60px 0; }
  .sp-guide10__field-row { flex-direction: column; }
  .sp-guide10__btn { width: 100% !important; }
}

/* ════════════════════════════════════════════════════════
   BLOCK 11: CTA Bar
   ════════════════════════════════════════════════════════ */
.sp-cta-bar {
  padding: 72px 0 64px;
  border-top: 1px solid rgba(255,255,255,0.07);
}
.sp-cta-bar__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}
.sp-cta-bar__btns {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}
.sp-cta-bar__primary { font-size: 14px; padding: 14px 32px; letter-spacing: 0.06em; }
.sp-cta-bar__secondary { font-size: 13px; padding: 13px 28px; }
.sp-btn--outline {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: rgba(255,255,255,0.7) !important;
}
.sp-btn--outline:hover {
  border-color: rgba(255,255,255,0.6) !important;
  color: #fff !important;
}
.sp-cta-bar__trust {
  font-size: 12px;
  color: rgba(255,255,255,0.25);
  margin: 0;
  letter-spacing: 0.04em;
}

/* ════════════════════════════════════════════════════════
   Fat Footer
   ════════════════════════════════════════════════════════ */
.sp-footer {
  padding: 72px 0 60px;
  background: #fff;
  border-radius: 30px 30px 0 0;
  border-top: none;
}
.sp-footer__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 32px;
  margin-bottom: 56px;
}
.sp-footer__col-toggle {
  display: none;
}
.sp-footer__col-toggle.sp-footer__col-heading {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.4);
  font-weight: 400;
  margin: 0 0 16px;
  background: none;
  border: none;
  padding: 0;
  cursor: default;
  text-align: left;
  width: 100%;
}
/* Desktop: heading always shown as text */
@media (min-width: 768px) {
  .sp-footer__col-toggle {
    display: block;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(0,0,0,0.4);
    font-weight: 400;
    margin: 0 0 16px;
    background: none;
    border: none;
    padding: 0;
    cursor: default;
    text-align: left;
    width: 100%;
  }
  .sp-footer__chevron { display: none; }
  .sp-footer__links { display: block !important; }
}
.sp-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sp-footer__links li { margin-bottom: 10px; }
.sp-footer__links a {
  font-size: 13px;
  color: rgba(0,0,0,0.5);
  text-decoration: none;
  transition: color 0.2s;
  line-height: 1.5;
}
.sp-footer__links a:hover { color: #000; }

/* Bottom row */
.sp-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 32px;
  border-top: 1px solid rgba(0,0,0,0.08);
  flex-wrap: wrap;
  gap: 16px;
}
.sp-footer__contact { display: flex; align-items: center; gap: 20px; }
.sp-footer__email {
  font-size: 14px;
  color: rgba(0,0,0,0.6) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.sp-footer__email:hover { color: #000 !important; }
.sp-footer__location {
  font-size: 12px;
  color: rgba(0,0,0,0.3);
  letter-spacing: 0.04em;
}
.sp-footer__social { display: flex; gap: 16px; align-items: center; }
.sp-footer__social a {
  color: rgba(0,0,0,0.3);
  transition: color 0.2s;
  display: flex;
}
.sp-footer__social a:hover { color: #000; }
.sp-footer__utility {
  display: flex;
  gap: 20px;
  font-size: 11px;
  color: rgba(0,0,0,0.3);
  letter-spacing: 0.06em;
}
.sp-footer__utility span { color: rgba(0,0,0,0.3); }
.sp-footer__utility a { color: rgba(0,0,0,0.35); text-decoration: none; }
.sp-footer__utility a:hover { color: #000; }

/* Mobile accordion */
@media (max-width: 767px) {
  .sp-footer {
    padding: 52px 0 44px;
    border-radius: 22px 22px 0 0;
  }
  .sp-footer .container {
    width: 100%;
    max-width: none;
    padding-left: 20px;
    padding-right: 20px;
  }
  .sp-footer__grid {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 36px;
    padding: 10px 0 2px;
    border-top: 1px solid rgba(0,0,0,0.08);
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }
  .sp-footer__col {
    border-bottom: 0;
    padding: 0;
  }
  .sp-footer__col-toggle {
    display: none;
  }
  .sp-footer__chevron { display: none; }
  .sp-footer__links {
    display: grid !important;
    grid-template-columns: 1fr;
    padding: 0 !important;
  }
  .sp-footer__links li {
    margin: 0;
  }
  .sp-footer__links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 42px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(0,0,0,0.055);
    font-size: 15px;
    line-height: 1.25;
    color: rgba(0,0,0,0.72);
  }
  .sp-footer__links a::after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid rgba(0,0,0,0.28);
    border-right: 1px solid rgba(0,0,0,0.28);
    transform: rotate(45deg);
    margin-left: 18px;
    flex: 0 0 auto;
  }
  .sp-footer__col:last-child .sp-footer__links li:last-child a {
    border-bottom: 0;
  }
  .sp-footer__bottom { flex-direction: column; align-items: flex-start; gap: 20px; }
  .sp-footer__contact { flex-direction: column; gap: 6px; }
  .sp-cta-bar__btns { flex-direction: column; width: 100%; }
  .sp-cta-bar__primary, .sp-cta-bar__secondary { width: 100%; text-align: center; justify-content: center; }
}

/* ════════════════════════════════════════════════════════
   Contact Modal
   ════════════════════════════════════════════════════════ */
.sp-contact-modal {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
}
.sp-contact-modal__backdrop {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: rgba(0,0,0,0.75);
    -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.sp-contact-modal__box {
  position: relative;
  z-index: 1;
  background: #111;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 4px;
  padding: 48px 52px;
  width: 100%;
  max-width: 480px;
  margin: 16px;
}
.sp-contact-modal__close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  color: rgba(255,255,255,0.4);
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s;
}
.sp-contact-modal__close:hover { color: #fff; }
.sp-contact-modal__label {
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  margin: 0 0 14px;
}
.sp-contact-modal__title {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 200;
  color: #fff;
  margin: 0 0 32px;
  line-height: 1.1;
}
.sp-contact-modal__field { margin-bottom: 14px; }
.sp-contact-modal__input {
  width: 100%;
  min-height: 48px;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: #fff !important;
  padding: 0 16px !important;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  border-radius: 4px !important;
  box-sizing: border-box;
  box-shadow: none !important;
  caret-color: #fff;
  transition: border-color 0.2s ease, background 0.2s ease;
  -webkit-text-fill-color: #fff !important;
  -webkit-appearance: none;
  appearance: none;
}
.sp-contact-modal__input::placeholder {
  color: rgba(255,255,255,0.34);
  opacity: 1;
  -webkit-text-fill-color: rgba(255,255,255,0.34);
}
.sp-contact-modal__input:focus {
  border-color: rgba(255,255,255,0.36) !important;
  background: rgba(255,255,255,0.06) !important;
  color: #fff !important;
}
.sp-contact-modal__input:-webkit-autofill,
.sp-contact-modal__input:-webkit-autofill:hover,
.sp-contact-modal__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
  caret-color: #fff;
  box-shadow: 0 0 0 1000px #111 inset !important;
  transition: background-color 9999s ease-in-out 0s;
}
.sp-contact-modal__textarea {
  min-height: 112px;
  padding-top: 13px !important;
  padding-bottom: 13px !important;
  resize: vertical;
}
.sp-contact-modal__error {
  font-size: 12px;
  color: rgba(255,100,100,0.8);
  margin: 0 0 12px;
}
.sp-contact-modal__btn {
  width: 100%;
  justify-content: center;
  margin-top: 8px;
  border-radius: 4px !important;
}
.sp-contact-modal__success p {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.7);
  line-height: 1.6;
}

/* ════════════════════════════════════════════════════════
   COOKIE CONSENT BANNER
   ════════════════════════════════════════════════════════ */
@keyframes sp-banner-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.sp-cookie-banner {
  position: fixed;
  bottom: 16px;
  left: 16px;
  z-index: 9998;
  background: rgba(10,10,10,0.82);
    -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 15px;
  padding: 13px 16px 13px 16px;
  max-width: 340px;
  width: calc(100vw - 32px);
  box-shadow: 0 4px 24px rgba(0,0,0,0.45);
  animation: sp-banner-in 0.18s ease forwards;
}
.sp-cookie-banner[hidden] { display: none !important; }
.sp-cookie-banner__text {
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  line-height: 1.35;
  margin: 0 0 10px;
}
.sp-cookie-banner__label {
  color: rgba(255,255,255,0.75);
  font-weight: 500;
  margin-right: 2px;
}
.sp-cookie-banner__actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.sp-cookie-banner__accept {
  background: rgba(255,255,255,0.9);
  color: #0a0a0a;
  border: none;
  border-radius: 7px;
  font-size: 12px;
  font-family: inherit;
  font-weight: 500;
  padding: 7px 14px;
  cursor: pointer;
  letter-spacing: 0.03em;
  transition: background 0.15s;
  flex-shrink: 0;
}
.sp-cookie-banner__accept:hover { background: #fff; }
.sp-cookie-banner__reject {
  background: transparent;
  color: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 7px;
  font-size: 12px;
  font-family: inherit;
  font-weight: 400;
  padding: 6px 12px;
  cursor: pointer;
  letter-spacing: 0.03em;
  transition: border-color 0.15s, color 0.15s;
  flex-shrink: 0;
}
.sp-cookie-banner__reject:hover { border-color: rgba(255,255,255,0.45); color: rgba(255,255,255,0.8); }
.sp-cookie-banner__prefs {
  background: none;
  border: none;
  font-size: 12px;
  color: rgba(255,255,255,0.3);
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  transition: color 0.15s;
  letter-spacing: 0.02em;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: rgba(255,255,255,0.15);
}
.sp-cookie-banner__prefs:hover { color: rgba(255,255,255,0.65); text-decoration-color: rgba(255,255,255,0.4); }

/* ════════════════════════════════════════════════════════
   COOKIE PREFERENCES MODAL
   ════════════════════════════════════════════════════════ */
.sp-cookie-prefs {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}
.sp-cookie-prefs__backdrop {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: rgba(0,0,0,0.7);
    -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.sp-cookie-prefs__box {
  position: relative;
  z-index: 1;
  background: #111;
  border: 1px solid rgba(255,255,255,0.1);
  padding: 44px 48px;
  max-width: 460px;
  width: calc(100% - 32px);
  margin: 16px;
}
.sp-cookie-prefs__label {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  margin: 0 0 12px;
}
.sp-cookie-prefs__title {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 200;
  color: #fff;
  margin: 0 0 12px;
}
.sp-cookie-prefs__intro {
  font-size: 13px;
  color: rgba(255,255,255,0.45);
  margin: 0 0 28px;
  line-height: 1.5;
}
.sp-cookie-prefs__toggle-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sp-cookie-prefs__toggle-row:first-of-type { border-top: 1px solid rgba(255,255,255,0.06); }
.sp-cookie-prefs__toggle-info { display: flex; flex-direction: column; gap: 4px; }
.sp-cookie-prefs__toggle-name { font-size: 14px; color: rgba(255,255,255,0.75); font-weight: 400; }
.sp-cookie-prefs__toggle-desc { font-size: 12px; color: rgba(255,255,255,0.3); line-height: 1.45; }
/* Toggle switch */
.sp-cookie-switch { position: relative; display: inline-block; width: 44px; height: 24px; flex-shrink: 0; margin-top: 2px; }
.sp-cookie-switch input { opacity: 0; width: 0; height: 0; }
.sp-cookie-switch__slider {
  position: absolute; top: 0; right: 0; bottom: 0; left: 0;
 inset: 0;
  background: rgba(255,255,255,0.1);
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.2s;
}
.sp-cookie-switch__slider::before {
  content: '';
  position: absolute;
  left: 3px; top: 3px;
  width: 18px; height: 18px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.2s;
}
.sp-cookie-switch input:checked + .sp-cookie-switch__slider { background: rgba(255,255,255,0.7); }
.sp-cookie-switch input:checked + .sp-cookie-switch__slider::before { transform: translateX(20px); }
.sp-cookie-switch--disabled { opacity: 0.4; cursor: default; }
.sp-cookie-switch--disabled .sp-cookie-switch__slider { cursor: default; }
.sp-cookie-prefs__btns {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-top: 28px;
  flex-wrap: wrap;
}
.sp-cookie-prefs__save { font-size: 13px !important; padding: 12px 28px !important; }
.sp-cookie-prefs__cancel {
  background: none; border: none; font-size: 13px;
  color: rgba(255,255,255,0.3); cursor: pointer; font-family: inherit;
  padding: 0; transition: color 0.2s; letter-spacing: 0.04em;
}
.sp-cookie-prefs__cancel:hover { color: rgba(255,255,255,0.7); }

/* ════════════════════════════════════════════════════════
   PRIVACY POLICY PAGE
   ════════════════════════════════════════════════════════ */
.sp-privacy {
  padding: 100px 0 120px;
  min-height: 70vh;
}
.sp-privacy__container {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 24px;
}
.sp-privacy__header {
  margin-bottom: 56px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.sp-privacy__updated {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  margin: 0 0 16px;
}
.sp-privacy__title {
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 200;
  color: #fff;
  margin: 0 0 10px;
  line-height: 1.05;
}
.sp-privacy__subtitle {
  font-size: 14px;
  color: rgba(255,255,255,0.3);
  margin: 0;
}
.sp-privacy__section {
  padding: 32px 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.sp-privacy__section:last-child { border-bottom: none; }
.sp-privacy__section h2 {
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,0.65);
  letter-spacing: 0.04em;
  margin: 0 0 14px;
  text-transform: none;
}
.sp-privacy__section p, .sp-privacy__section li {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,0.45);
  margin: 0 0 10px;
}
.sp-privacy__section ul { padding-left: 20px; margin: 8px 0 10px; }
.sp-privacy__section li { margin-bottom: 6px; }
.sp-privacy__section a { color: rgba(255,255,255,0.6); transition: color 0.2s; }
.sp-privacy__section a:hover { color: #fff; }
.sp-privacy__prefs-link {
  font-size: 13px;
  letter-spacing: 0.04em;
  text-decoration: none;
  display: inline-block;
  margin-top: 4px;
}

/* ════════════════════════════════════════════════════════
   TECHNOLOGY PAGE — Redesign
   ════════════════════════════════════════════════════════ */

/* Page background — match Design & Challenger pages */
body.technology {
  background: #000;
}
body.technology .sec-memory {
  background: #000;
}

/* Tech video — transparent background */
.tech-less .memory-size video {
  background: transparent !important;
  display: block;
}
.tech-less .memory-size {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 4px;
  overflow: hidden;
}
/* Kill shadow-y glow on tech comparison — both boxes must match */
.tech-less .memory-size.shadow-y::before {
  display: none !important;
}
.sp-tech-comparison-section .row {
  --bs-gutter-x: 24px;
  align-items: stretch;
}
.sp-tech-comparison-section .col-md-6 {
  display: flex;
  flex-direction: column;
}
.sp-tech-comparison-section .memory-size {
  flex: 1;
  display: grid;
  grid-template-rows: 340px 96px;
  min-height: 436px;
}
.sp-tech-comparison-section .memory-size video {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* Banner heading override */
section.sec-memory.less-time.tech-less .container-fluid h2,
section.sec-memory.less-time.tech-less .container-fluid h2.h1,
section.sec-memory.less-time.tech-less .container-fluid h2.FadeText,
section.sec-memory.less-time.tech-less .container-fluid h1:not(.sp-tech-hero-headline) {
  font-size: clamp(34px, 4.35vw, 62px) !important;
  line-height: 1.2 !important;
  font-weight: 200 !important;
  letter-spacing: -0.01em !important;
}
section.sec-memory.less-time.tech-less .container-fluid h1.sp-tech-hero-headline {
  max-width: 680px;
  margin: 0 !important;
  font-size: clamp(44px, 5.6vw, 82px) !important;
  line-height: 1.04 !important;
  font-weight: 200 !important;
  letter-spacing: -0.01em !important;
  color: #fff !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
.sp-tech-hero-section {
  padding-top: 88px !important;
  padding-bottom: 76px !important;
}
.sp-tech-hero-section .container-fluid {
  max-width: 1240px;
  padding-left: 64px;
  padding-right: 64px;
}
.sp-tech-hero-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.68fr);
  gap: clamp(40px, 6vw, 78px);
  align-items: end;
  padding-left: clamp(34px, 4vw, 72px);
}
.sp-tech-hero-kicker {
  grid-column: 1 / -1;
  width: fit-content;
  margin-bottom: -22px;
  padding-bottom: 12px;
  border-bottom: 0;
  color: rgba(255,255,255,0.52);
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.sp-tech-hero-insights {
  display: grid;
  gap: 24px;
  padding: 0 0 8px 34px;
  border-left: 1px solid rgba(255,255,255,0.12);
}
.sp-tech-hero-insight {
  position: relative;
  max-width: 430px;
  margin: 0 !important;
  color: rgba(255,255,255,0.56) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
}
.sp-tech-hero-insight::before {
  content: "";
  position: absolute;
  left: -38px;
  top: 0.82em;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(255,255,255,0.45);
  border-radius: 50%;
  background: #000;
}
.sp-tech-hero-insight--lead {
  color: rgba(255,255,255,0.88) !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 200 !important;
  line-height: 1.36 !important;
  letter-spacing: 0 !important;
}
.sp-tech-hero-insight--quiet {
  max-width: 360px;
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.42) !important;
}
.sp-tech-hero-notes {
  display: grid;
  gap: 14px;
  max-width: 420px;
  padding-top: 2px;
}
.sp-tech-hero-notes p {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 18px;
  margin: 0 !important;
  color: rgba(255,255,255,0.50) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
}
.sp-tech-hero-notes span {
  color: rgba(255,255,255,0.30);
  font-size: 11px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.14em;
}
.sp-tech-comparison-section {
  padding-top: 44px !important;
  padding-bottom: 60px !important;
}
.sp-tech-comparison-section .container {
  max-width: 1080px;
  padding-left: 40px;
  padding-right: 40px;
}
.sp-tech-comparison-section .container::before,
.sp-tech-intro__container::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background: rgba(255,255,255,0.09);
  margin-left: calc(50% - 50vw);
}
.sp-tech-comparison-section .container::before {
  margin-bottom: 22px;
}
.sp-tech-intro__container::before {
  margin-bottom: 44px;
}
.sp-tech-comparison-section .memory-size video {
  width: 100%;
  aspect-ratio: auto;
  max-height: none;
  min-height: 0;
  object-fit: contain;
}

/* Tech video link labels — vertical centered stack */
.tech-less .memory-size .links {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding: 18px 20px 20px !important;
  gap: 6px !important;
  height: 96px;
  min-height: 96px;
  border-top: 0;
}
.tech-less .memory-size .links a {
  display: block !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.82) !important;
  letter-spacing: 0.08em !important;
  line-height: 1.4 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: uppercase;
}
.tech-less .memory-size .links a:hover {
  color: #fff !important;
}
.tech-less .memory-size .links p {
  margin: 0 !important;
  max-width: 260px;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.42) !important;
  font-weight: 300 !important;
  text-align: left !important;
}
.sp-tech-hero-copy p,
.sp-tech-comparison-copy {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.60) !important;
  font-weight: 300 !important;
}
.sp-tech-hero-copy {
  max-width: 760px;
  margin: 24px auto 0;
  text-align: center;
}
.sp-tech-hero-copy p {
  margin: 0 0 12px !important;
}
.sp-tech-comparison-head {
  max-width: 1080px;
  margin: 0 auto 24px;
  text-align: left;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: baseline;
  border-top: 0;
  padding-top: 0;
}
.sp-tech-comparison-head span {
  color: rgba(255,255,255,0.34);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.sp-tech-comparison-head h2 {
  max-width: 560px;
  font-size: clamp(24px, 2.6vw, 34px) !important;
  font-weight: 200 !important;
  line-height: 1.18 !important;
  color: rgba(255,255,255,0.86) !important;
  margin: 0 !important;
}
.sp-tech-comparison-copy {
  max-width: 760px;
  margin: 32px auto 0 !important;
  text-align: center !important;
  color: rgba(255,255,255,0.60) !important;
}
.sp-tech-comparison-note {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 24px;
  max-width: 880px;
  margin: 34px auto 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.10);
}
.sp-tech-comparison-note span {
  color: rgba(255,255,255,0.34);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.sp-tech-comparison-note p {
  max-width: 620px;
  margin: 0 !important;
  color: rgba(255,255,255,0.58) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
}

/* Shared container width */
.sp-tech-intro__container,
.sp-tech-stat__container,
.sp-tech-mid__container,
.sp-tech-adv__container,
.sp-tech-patent__container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
}

/* Shared horizontal rule */
.sp-tech-stat__rule {
  width: 100vw;
  height: 1px;
  background: rgba(255,255,255,0.09);
  margin-left: calc(50% - 50vw);
  margin-bottom: 44px;
}

/* Shared label */
.sp-tech-intro__label {
  font-size: 10px !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.38) !important;
  margin: 0 0 20px !important;
  font-weight: 400 !important;
  display: block;
}

/* Shared image style */
.sp-tech-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  opacity: 0.88;
}
.sp-tech-mid__img picture,
.sp-tech-directivity picture,
.sp-tech-lf-visual picture,
.sp-tech-hf__visual picture,
.sp-tech-xo__visual picture {
  display: block;
  width: 100%;
}
.sp-tech-mid__img picture img,
.sp-tech-directivity picture img,
.sp-tech-lf-visual picture img,
.sp-tech-hf__visual picture img,
.sp-tech-xo__visual picture img {
  width: 100%;
}
.sp-tech-directivity {
  margin-top: clamp(46px, 5vw, 72px);
  text-align: left;
}
.sp-tech-directivity__img {
  width: 100%;
  max-width: 1120px;
  height: auto;
  display: block;
  border-radius: 4px;
  opacity: 0.94;
  background: #141414;
  border: 0;
  box-shadow: 0 28px 80px rgba(0,0,0,0.30);
}
.sp-tech-directivity__trigger {
  cursor: zoom-in;
  transition: opacity 0.2s;
}
.sp-tech-directivity__trigger:hover { opacity: 1; }
.sp-tech-directivity__caption {
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.38) !important;
  margin: 16px 0 0 !important;
  font-weight: 400 !important;
}
.sp-tech-directivity__link {
  display: inline-block;
  text-decoration: none !important;
  transition: color 0.2s;
}
.sp-tech-directivity__link:hover {
  color: rgba(255,255,255,0.55) !important;
}
.sp-tech-directivity__zoom {
  font-size: 13px;
  opacity: 0.5;
}
.sp-tech-directivity__note {
  max-width: 760px;
  margin: 0 0 14px !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.38) !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Lightbox */
.sp-tech-lightbox {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  z-index: 10000;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.sp-tech-lightbox__backdrop {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: rgba(0,0,0,0.92);
    -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  cursor: zoom-out;
}
.sp-tech-lightbox__box {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  text-align: center;
}
.sp-tech-lightbox__img {
  width: 100%;
  height: auto;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 4px;
}
.sp-tech-lightbox__close {
  position: absolute;
  top: -40px;
  right: 0;
  background: none;
  border: none;
  color: rgba(255,255,255,0.5);
  font-size: 32px;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  transition: color 0.15s;
  font-weight: 200;
}
.sp-tech-lightbox__close:hover { color: #fff; }

/* YouTube video */
.sp-tech-video {
  padding: 36px 0 80px;
}
.sp-tech-video__wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 4px;
  margin-top: 28px;
}
.sp-tech-video__wrap iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ── Section 1: Intro ── */
.sp-tech-intro {
  padding: clamp(72px, 8vw, 118px) 0 clamp(54px, 6vw, 82px);
}
.sp-tech-intro__container {
  display: grid;
  grid-template-columns: minmax(0, 820px) minmax(150px, 240px);
  grid-template-areas:
    "top visual"
    "body visual";
  column-gap: clamp(40px, 7vw, 112px);
  align-items: stretch;
}
.sp-tech-intro__container::before {
  content: none;
  display: none;
}
.sp-tech-intro__top {
  grid-area: top;
  margin-bottom: 48px;
}
.sp-tech-intro__copy {
  min-width: 0;
}
.sp-tech-intro__lottie {
  grid-area: visual;
  position: relative;
  align-self: stretch;
  min-height: 0;
  margin-top: 0;
  overflow: visible;
  pointer-events: none;
}
.sp-tech-intro__lottie dotlottie-player {
  position: absolute;
  top: auto;
  bottom: -72px;
  right: 50%;
  width: clamp(150px, 17vw, 215px);
  height: calc(100% + 138px);
  transform: translateX(50%);
  opacity: 0.92;
}
.sp-tech-intro__heading {
  font-size: clamp(32px, 4vw, 56px) !important;
  font-weight: 200 !important;
  color: #fff !important;
  line-height: 1.08 !important;
  margin: 0 0 0 !important;
  letter-spacing: -0.02em !important;
}
.sp-tech-intro__sub {
  max-width: 620px;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.62) !important;
  margin: 22px 0 0 !important;
  font-weight: 300 !important;
}
.sp-tech-hero-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 54px);
  max-width: 820px;
  margin-top: 42px;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
}
.sp-tech-hero-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 0;
  padding: 16px 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(255,255,255,0.14);
  overflow: hidden;
}
.sp-tech-hero-card:last-child {
  border-right: 0;
}
.sp-tech-hero-card:nth-child(2) {
  background: transparent;
}
.sp-tech-hero-card__num {
  display: block;
  margin-bottom: 18px;
  color: rgba(255,255,255,0.32);
  font-size: 11px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.14em;
}
.sp-tech-hero-card__text {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  max-width: 220px;
  font-size: 15px !important;
  line-height: 1.48 !important;
  color: rgba(255,255,255,0.72) !important;
  font-weight: 300 !important;
  text-align: left !important;
  letter-spacing: 0 !important;
}
.sp-tech-hero-card:nth-child(2) .sp-tech-hero-card__text {
  color: rgba(255,255,255,0.72) !important;
  font-weight: 300 !important;
}
.sp-tech-intro__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.sp-tech-intro__body p {
  max-width: 820px;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.62) !important;
  margin: 0 0 18px !important;
  font-weight: 300 !important;
}
.sp-tech-intro__highlight {
  max-width: 760px !important;
  margin-top: 32px !important;
  padding-top: 0 !important;
  border-top: 0;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,0.72) !important;
}
.sp-tech-stat__content,
.sp-tech-mid__body {
  max-width: 820px;
}
.sp-tech-intro__img {
  position: sticky;
  top: 100px;
}

/* ── Section: Full-range directivity ── */
.sp-tech-fullrange {
  padding: clamp(86px, 8vw, 124px) 0 clamp(58px, 5.5vw, 82px);
}
.sp-tech-fullrange .sp-tech-stat__grid {
  grid-template-columns: minmax(260px, 0.92fr) minmax(0, 1.35fr);
  gap: clamp(52px, 6vw, 88px);
}
.sp-tech-fullrange__aside {
  gap: 0;
}
.sp-tech-fullrange__aside .sp-tech-stat__heading {
  max-width: 340px;
  margin: 42px 0 0 !important;
}
.sp-tech-fullrange__aside .sp-tech-result-line {
  max-width: 330px;
  margin: 34px 0 0 !important;
  padding: 18px 0 0 !important;
  border: 0;
  border-top: 1px solid rgba(255,255,255,0.12);
  border-radius: 0;
  background: transparent;
  color: rgba(255,255,255,0.66) !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
}
.sp-tech-fullrange__aside-title {
  max-width: 300px;
  margin: 42px 0 0 !important;
  color: rgba(255,255,255,0.86) !important;
  font-size: clamp(24px, 2.5vw, 36px) !important;
  font-weight: 200 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}
.sp-tech-fullrange__aside-copy {
  max-width: 300px;
  margin: 22px 0 0 !important;
  color: rgba(255,255,255,0.54) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
}
.sp-tech-fullrange__aside-meta {
  display: inline-block;
  width: fit-content;
  margin-top: 34px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.36);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* ── Section 2: Stat ── */
.sp-tech-stat {
  padding: clamp(86px, 8vw, 124px) 0;
}
.sp-tech-stat__grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.55fr);
  gap: clamp(72px, 8vw, 116px);
  align-items: start;
}
.sp-tech-stat__number {
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: sticky;
  top: 100px;
}
.sp-tech-stat__big {
  font-size: clamp(92px, 10vw, 156px);
  font-weight: 200;
  color: #fff;
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-shadow: 0 16px 60px rgba(255,255,255,0.08);
}
.sp-tech-stat__caption {
  max-width: 260px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,0.10);
  font-size: 14px;
  color: rgba(255,255,255,0.66);
  line-height: 1.55;
  letter-spacing: 0.02em;
}
.sp-tech-lf-visual {
  width: 100%;
  margin-top: 44px;
  padding: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,0.045), rgba(255,255,255,0.01));
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03), 0 28px 80px rgba(0,0,0,0.28);
}
.sp-tech-lf-visual__img {
  width: 100%;
  display: block;
  border-radius: 4px;
  background: #050505;
}
.sp-tech-lf-visual__caption {
  margin: 14px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.40) !important;
  font-weight: 400 !important;
}
.sp-tech-lf-visual__text {
  margin: 6px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.50) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}
.sp-tech-lowfreq .sp-tech-stat__grid {
  grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.45fr);
  gap: clamp(54px, 6vw, 86px);
  align-items: start;
}
.sp-tech-lowfreq .sp-tech-stat__number {
  position: sticky;
  top: 100px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  max-width: 330px;
  padding-top: 2px;
}
.sp-tech-lowfreq .sp-tech-stat__big {
  margin-top: 32px;
  font-size: clamp(104px, 10vw, 148px);
}
.sp-tech-lowfreq .sp-tech-stat__caption {
  max-width: 210px;
  margin-top: 4px;
  padding-top: 0;
  border-top: 0;
  color: rgba(255,255,255,0.74);
}
.sp-tech-lowfreq .sp-tech-lf-visual {
  max-width: 260px;
  margin-top: 38px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.sp-tech-lowfreq .sp-tech-lf-visual__img {
  border-radius: 4px;
  opacity: 0.92;
}
.sp-tech-lowfreq .sp-tech-lf-visual__caption {
  margin-top: 14px !important;
  color: rgba(255,255,255,0.50) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 300 !important;
}
.sp-tech-lowfreq .sp-tech-lf-visual__text {
  max-width: 240px;
  color: rgba(255,255,255,0.46) !important;
}
.sp-tech-lowfreq .sp-tech-stat__content {
  padding-top: 38px;
}
.sp-tech-lowfreq .sp-tech-stat__heading {
  max-width: 560px;
  margin-bottom: 34px !important;
}
.sp-tech-lowfreq .sp-tech-stat__note {
  max-width: 560px;
  margin-top: 30px !important;
  padding-left: 0 !important;
  border-left: 0;
}
.sp-tech-lowfreq .sp-tech-stat__content h4 + p {
  max-width: 560px;
}
.sp-tech-stat__heading {
  font-size: clamp(22px, 2.5vw, 32px) !important;
  font-weight: 200 !important;
  color: rgba(255,255,255,0.8) !important;
  margin: 0 0 28px !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
}
.sp-tech-stat__content p {
  max-width: 820px;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.62) !important;
  margin: 0 0 16px !important;
  font-weight: 300 !important;
}
.sp-tech-stat__content .sp-tech-result-line {
  margin-top: 32px !important;
  padding: 20px 22px !important;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 4px;
  background: rgba(255,255,255,0.035);
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.82) !important;
}
.sp-tech-stat__note {
  font-size: 12px !important;
  color: rgba(255,255,255,0.38) !important;
  border-left: 1px solid rgba(255,255,255,0.1);
  padding-left: 16px !important;
  margin-top: 24px !important;
  line-height: 1.65 !important;
}

/* ── Section 3: Midrange ── */
.sp-tech-mid {
  padding: clamp(86px, 8vw, 124px) 0;
}
.sp-tech-simulation {
  padding-top: 0;
  padding-bottom: clamp(70px, 6vw, 96px);
}
.sp-tech-mid__header {
  margin-bottom: 40px;
}
.sp-tech-mid__heading {
  font-size: clamp(32px, 4vw, 56px) !important;
  font-weight: 200 !important;
  color: #fff !important;
  line-height: 1.08 !important;
  margin: 0 !important;
  letter-spacing: -0.02em !important;
}
.sp-tech-mid__lead {
  position: relative;
  max-width: 520px;
  margin: 28px 0 0 !important;
  padding-left: 24px;
  color: rgba(255,255,255,0.76) !important;
  font-size: clamp(19px, 1.8vw, 25px) !important;
  font-weight: 200 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
}
.sp-tech-mid__lead::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  bottom: 0.18em;
  width: 1px;
  background: rgba(255,255,255,0.18);
}
.sp-tech-mid__split {
  display: grid;
  grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.25fr);
  gap: clamp(56px, 6vw, 88px);
  align-items: stretch;
}
.sp-tech-mid:not(.sp-tech-simulation) {
  padding-bottom: clamp(64px, 6vw, 88px);
}
.sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__container {
  max-width: 1240px;
}
.sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__header {
  max-width: 760px;
  margin-bottom: clamp(46px, 5vw, 66px);
}
.sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__split {
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.1fr);
  gap: clamp(48px, 5.4vw, 76px);
  align-items: stretch;
}
.sp-tech-mid__img {
  position: sticky;
  top: 100px;
  align-self: stretch;
}
.sp-tech-mid__img .sp-tech-img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 4px;
  opacity: 0.88;
}
.sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__img {
  align-self: stretch;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
.sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__img .sp-tech-img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;
  background: #050505;
  opacity: 0.96;
}
.sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__body {
  max-width: 690px;
  align-self: end;
  padding-top: 0;
}
.sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__body p {
  max-width: 660px;
  margin-bottom: 18px !important;
  color: rgba(255,255,255,0.58) !important;
}
.sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__body p:last-child {
  margin-bottom: 0 !important;
}
.sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__body p:first-child {
  max-width: 690px;
  margin-bottom: 26px !important;
  color: rgba(255,255,255,0.78) !important;
  font-size: clamp(17px, 1.45vw, 20px) !important;
  line-height: 1.58 !important;
  font-weight: 250 !important;
}
.sp-tech-mid:not(.sp-tech-simulation) + .sp-tech-adv {
  padding-top: clamp(58px, 6vw, 84px);
}
.sp-tech-simulation .sp-tech-mid__split {
  grid-template-columns: minmax(0, 1.42fr) minmax(340px, 0.86fr);
  align-items: center;
  gap: clamp(52px, 6vw, 88px);
}
.sp-tech-simulation .sp-tech-mid__container {
  max-width: 1320px;
}
.sp-tech-simulation .sp-tech-mid__img {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  position: sticky;
  box-shadow: none;
}
.sp-tech-simulation .sp-tech-mid__img .sp-tech-directivity__caption {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.38) !important;
  font-weight: 400 !important;
  text-align: left !important;
}
.sp-tech-simulation .sp-tech-mid__img .sp-tech-img {
  border-radius: 4px;
  object-fit: contain;
  background: #050505;
  opacity: 0.94;
  min-height: clamp(360px, 34vw, 520px);
  border: 1px solid rgba(255,255,255,0.045);
}
.sp-tech-mid__body p {
  max-width: 820px;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.62) !important;
  margin: 0 0 16px !important;
  font-weight: 300 !important;
}
.sp-tech-mid__body h4,
.sp-tech-stat__content h4 {
  margin: 0 0 12px !important;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.92) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.sp-tech-mid__body p + h4,
.sp-tech-stat__content p + h4 {
  margin-top: 34px !important;
}
.sp-tech-fullrange .sp-tech-stat__content h4 {
  padding-top: 0;
  border-top: 0;
}
.sp-tech-fullrange .sp-tech-stat__content p + h4 {
  margin-top: 30px !important;
}

/* ── Section 4: Advantages grid ── */
.sp-tech-adv {
  padding: clamp(86px, 8vw, 118px) 0 64px;
}
.sp-tech-adv__header {
  margin-bottom: 64px;
}
.sp-tech-adv__heading {
  font-size: clamp(28px, 3.5vw, 48px) !important;
  font-weight: 200 !important;
  color: #fff !important;
  line-height: 1.12 !important;
  margin: 0 !important;
  letter-spacing: -0.01em !important;
}
.sp-tech-adv__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.sp-tech-adv__item {
  padding: 30px 30px 32px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 4px;
  background: rgba(255,255,255,0.025);
}
.sp-tech-adv__item:nth-child(odd) {
  padding-right: 30px;
  border-right: 1px solid rgba(255,255,255,0.07);
}
.sp-tech-adv__item:nth-child(even) {
  padding-left: 30px;
  padding-right: 30px;
}
.sp-tech-adv__num {
  display: block;
  font-size: 10px;
  letter-spacing: 0.26em;
  color: rgba(255,255,255,0.32);
  margin-bottom: 22px;
  font-weight: 400;
}
.sp-tech-adv__title {
  font-size: 20px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.8) !important;
  line-height: 1.3 !important;
  margin: 0 0 16px !important;
}
.sp-tech-adv__text {
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.58) !important;
  margin: 0 !important;
  font-weight: 300 !important;
}
.sp-tech-adv__text + .sp-tech-adv__text {
  margin-top: 14px !important;
}

/* ── Section: High-frequency integration ── */
.sp-tech-hf {
  padding: clamp(70px, 7vw, 104px) 0 clamp(54px, 5vw, 78px);
}
.sp-tech-hf__container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
}
.sp-tech-hf__grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.24fr);
  gap: clamp(52px, 6vw, 88px);
  align-items: stretch;
}
.sp-tech-hf__header {
  position: static;
  display: flex;
  flex-direction: column;
}
.sp-tech-hf__visual {
  margin-top: clamp(30px, 3.4vw, 44px);
  max-width: 310px;
}
.sp-tech-hf__img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1.12;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;
  opacity: 0.96;
  background: #050505;
}
.sp-tech-hf__body {
  max-width: 700px;
  align-self: end;
  padding-top: 0;
}
.sp-tech-hf__body p {
  max-width: 690px;
  margin: 0 0 18px !important;
  color: rgba(255,255,255,0.60) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.82 !important;
}
.sp-tech-hf__body p:first-child {
  margin-bottom: 26px !important;
  color: rgba(255,255,255,0.78) !important;
  font-size: clamp(17px, 1.45vw, 20px) !important;
  line-height: 1.58 !important;
  font-weight: 250 !important;
}
.sp-tech-hf__body p:last-child {
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.70) !important;
}

/* ── Section: Crossover as acoustic control ── */
.sp-tech-xo {
  padding: clamp(70px, 7vw, 104px) 0 clamp(54px, 5vw, 78px);
}
.sp-tech-xo__container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
}
.sp-tech-xo__grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.24fr);
  gap: clamp(52px, 6vw, 88px);
  align-items: stretch;
}
.sp-tech-xo__header {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  max-width: 420px;
}
.sp-tech-xo__visual {
  margin-top: auto;
  padding-top: clamp(30px, 3.4vw, 44px);
  max-width: 310px;
}
.sp-tech-xo__img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: center;
  border-radius: 4px;
  opacity: 0.96;
  background: #050505;
  transform: rotate(90deg);
}
.sp-tech-xo__body {
  max-width: 700px;
  align-self: end;
}
.sp-tech-xo__body p {
  max-width: 690px;
  margin: 0 0 18px !important;
  color: rgba(255,255,255,0.60) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.82 !important;
}
.sp-tech-xo__body p:first-child {
  margin-bottom: 26px !important;
  color: rgba(255,255,255,0.78) !important;
  font-size: clamp(17px, 1.45vw, 20px) !important;
  line-height: 1.58 !important;
  font-weight: 250 !important;
}
.sp-tech-xo__body p:last-child {
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.70) !important;
}

/* ── Section 5: Patent ── */
.sp-tech-patent {
  padding: 34px 0 34px;
}
.sp-tech-patent__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 28px;
  align-items: baseline;
  max-width: 820px;
}
.sp-tech-patent__inner .sp-tech-intro__label {
  grid-column: 1 / -1;
}
.sp-tech-patent__number {
  font-size: clamp(22px, 2.4vw, 34px) !important;
  font-weight: 200 !important;
  color: rgba(255,255,255,0.65) !important;
  letter-spacing: 0.14em !important;
  margin: 0 !important;
  font-family: monospace;
}
.sp-tech-patent__link {
  font-size: 13px !important;
  color: rgba(255,255,255,0.3) !important;
  text-decoration: none !important;
  letter-spacing: 0.06em !important;
  transition: color 0.2s !important;
  display: inline-block !important;
}
.sp-tech-patent__link:hover { color: rgba(255,255,255,0.7) !important; }
.sp-tech-patent__support {
  grid-column: 1 / -1;
  max-width: 560px;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.56) !important;
  margin: 4px 0 0 !important;
  font-weight: 300 !important;
}
/* ── Mobile ── */
@media (max-width: 767px) {
  .sp-tech-intro__container,
  .sp-tech-stat__container,
  .sp-tech-mid__container,
  .sp-tech-adv__container,
  .sp-tech-patent__container { padding: 0 20px; }
  .sp-tech-hero-section .container-fluid {
    padding-left: 28px;
    padding-right: 28px;
  }
  .sp-tech-hero-editorial {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-left: 0;
  }
  .sp-tech-hero-kicker {
    margin-bottom: -8px;
  }
  section.sec-memory.less-time.tech-less .container-fluid h1.sp-tech-hero-headline {
    font-size: clamp(38px, 11vw, 56px) !important;
    line-height: 1.06 !important;
    text-align: left !important;
  }
  .sp-tech-hero-insights {
    padding-left: 22px;
    gap: 18px;
  }
  .sp-tech-hero-insight::before {
    left: -25px;
  }
  .sp-tech-hero-insight--lead {
    font-size: clamp(18px, 5.4vw, 22px) !important;
  }
  .sp-tech-comparison-section .container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .sp-tech-comparison-section .container::before,
  .sp-tech-intro__container::before {
    width: calc(100vw - 1px);
    margin-bottom: 34px;
  }
  .sp-tech-stat__rule {
    width: calc(100vw - 1px);
  }
  .sp-tech-comparison-head {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 24px;
  }
  .sp-tech-comparison-head h2 {
    font-size: clamp(24px, 7vw, 32px) !important;
  }
  .tech-less .memory-size .links {
    padding: 16px 16px 18px !important;
    gap: 6px !important;
    height: 86px;
    min-height: 86px;
  }
  .tech-less .memory-size .links p {
    max-width: none;
  }
  .sp-tech-comparison-note {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 28px;
    padding-top: 20px;
  }
  .sp-tech-hero-cards {
    grid-template-columns: 1fr;
    max-width: 100%;
    margin-top: 28px;
  }
  .sp-tech-hero-card {
    min-height: 0;
    padding: 16px 0 20px;
    border-right: 0;
    border-bottom: 0;
  }
  .sp-tech-hero-card:last-child {
    border-bottom: 0;
  }
  .sp-tech-hero-card__text {
    max-width: 260px;
  }
  .sp-tech-intro__top {
    display: block;
    margin-bottom: 42px;
  }
  .sp-tech-intro__container {
    grid-template-columns: 1fr;
    grid-template-areas:
      "top"
      "body";
  }
  .sp-tech-intro__lottie {
    display: none;
  }
  .sp-tech-intro__split { grid-template-columns: 1fr; gap: 32px; }
  .sp-tech-intro__img { position: static; }
  .sp-tech-stat__grid { grid-template-columns: 1fr; gap: 40px; }
  .sp-tech-stat__number { position: static; }
  .sp-tech-lowfreq .sp-tech-stat__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .sp-tech-lowfreq .sp-tech-stat__number {
    position: static;
    max-width: none;
  }
  .sp-tech-lowfreq .sp-tech-stat__big {
    margin-top: 24px;
  }
  .sp-tech-lowfreq .sp-tech-lf-visual {
    max-width: 240px;
    margin-top: 30px;
  }
  .sp-tech-lowfreq .sp-tech-stat__content {
    padding-top: 0;
  }
  .sp-tech-fullrange .sp-tech-stat__grid { grid-template-columns: 1fr; gap: 34px; }
  .sp-tech-fullrange__aside-title {
    margin-top: 24px !important;
    max-width: 340px;
  }
  .sp-tech-fullrange__aside-copy {
    max-width: 360px;
  }
  .sp-tech-fullrange__aside-meta {
    margin-top: 24px;
  }
  .sp-tech-stat__big { font-size: clamp(76px, 24vw, 112px); }
  .sp-tech-stat__caption { max-width: 320px; }
  .sp-tech-lf-visual { margin-top: 26px; max-width: 420px; }
  .sp-tech-directivity { margin-top: 48px; }
  .sp-tech-directivity__img { max-width: 100%; box-shadow: 0 18px 52px rgba(0,0,0,0.28); }
  .sp-tech-mid__split { grid-template-columns: 1fr; gap: 32px; }
  .sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__header {
    margin-bottom: 34px;
  }
  .sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__split {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .sp-tech-mid__img { position: static; align-self: auto; }
  .sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__img .sp-tech-img {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
  .sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__body {
    max-width: none;
    padding-top: 0;
  }
  .sp-tech-mid:not(.sp-tech-simulation) .sp-tech-mid__body p:first-child {
    font-size: 17px !important;
    line-height: 1.62 !important;
  }
  .sp-tech-simulation .sp-tech-mid__split { grid-template-columns: 1fr; }
  .sp-tech-simulation .sp-tech-mid__img {
    position: static;
    top: auto;
    align-self: auto;
    padding: 0;
  }
  .sp-tech-simulation .sp-tech-mid__img .sp-tech-img { min-height: 0; }
  .sp-tech-hero-section { padding-bottom: 42px !important; }
  .sp-tech-comparison-section { padding-top: 38px !important; }
  .sp-tech-comparison-section .memory-size {
    grid-template-rows: 240px 86px;
    min-height: 326px;
  }
  .sp-tech-comparison-section .memory-size video {
    max-height: none;
    min-height: 0;
  }
  .sp-tech-mid__img .sp-tech-img { height: auto; border-radius: 4px; }
  .sp-tech-img--stat { max-width: 200px; }
  .sp-tech-adv__grid { grid-template-columns: 1fr; }
  .sp-tech-adv__item,
  .sp-tech-adv__item:nth-child(odd),
  .sp-tech-adv__item:nth-child(even) {
    padding: 32px 0;
    border: 0;
    border-top: 1px solid rgba(255,255,255,0.07);
    border-radius: 0;
    background: transparent;
    border-right: none;
  }
  .sp-tech-hf {
    padding: 58px 0 36px;
  }
  .sp-tech-hf__container {
    padding: 0 20px;
  }
  .sp-tech-hf__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .sp-tech-hf__header {
    position: static;
  }
  .sp-tech-hf__visual {
    max-width: 420px;
    margin-top: 28px;
  }
  .sp-tech-hf__img {
    aspect-ratio: 16 / 10;
    border-radius: 4px;
  }
  .sp-tech-hf__body {
    max-width: none;
    padding-top: 0;
  }
  .sp-tech-hf__body p:first-child {
    font-size: 17px !important;
    line-height: 1.62 !important;
  }
  .sp-tech-hf__body p:last-child {
    margin-top: 22px !important;
    padding-top: 18px;
  }
  .sp-tech-xo {
    padding: 58px 0 36px;
  }
  .sp-tech-xo__container {
    padding: 0 20px;
  }
  .sp-tech-xo__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .sp-tech-xo__header,
  .sp-tech-xo__body {
    max-width: none;
  }
  .sp-tech-xo__visual {
    max-width: 420px;
    margin-top: 28px;
    padding-top: 0;
  }
  .sp-tech-xo__img {
    aspect-ratio: 1 / 1;
    border-radius: 4px;
  }
  .sp-tech-xo__body p:first-child {
    font-size: 17px !important;
    line-height: 1.62 !important;
  }
  .sp-tech-xo__body p:last-child {
    margin-top: 22px !important;
    padding-top: 18px;
  }
  .sp-tech-patent__inner {
    display: block;
  }
  .sp-tech-stat__rule {
    margin-bottom: 34px;
  }
  .sp-tech-intro { padding: 48px 0 46px; }
  .sp-tech-fullrange,
  .sp-tech-stat,
  .sp-tech-mid { padding: 58px 0; }
  .sp-tech-simulation { padding-top: 0; }
  .sp-tech-adv { padding: 72px 0 38px; }
  .sp-tech-patent { padding: 32px 0; }
  .sp-tech-video { padding: 28px 0 48px; }
}

/* ════════════════════════════════════════════════════════
   DESIGN PAGE
   ════════════════════════════════════════════════════════ */

/* ── Shared tokens ── */
.sp-design-label {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38);
  margin-bottom: 1rem;
}
.sp-design-h2 {
  font-size: clamp(32px, 4vw, 60px);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 0 0 1.2rem;
}
.sp-design-sub {
  font-size: 17px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.6;
  margin-bottom: 2rem;
}
.sp-design-micro {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.04em;
  margin-top: -0.5rem;
  margin-bottom: 2rem;
}
.sp-design-rule {
  width: 40px;
  height: 1px;
  background: rgba(255,255,255,0.18);
  margin-bottom: 2.5rem;
}
.sp-design-img {
  width: 100%;
  display: block;
  object-fit: cover;
}
.sp-design-hero__bg picture,
.sp-design-split__imgs picture,
.sp-design-duo picture,
.sp-design-card picture,
.sp-design-handcraft picture,
.sp-design-grid5 picture,
.sp-model-card__img picture,
.review-img picture,
.mm-size picture {
  display: block;
  width: 100%;
  height: 100%;
}
.sp-design-hero__bg picture img,
.sp-design-split__imgs picture img,
.sp-design-duo picture img,
.sp-design-card picture img,
.sp-design-handcraft picture img,
.sp-design-grid5 picture img,
.sp-model-card__img picture img,
.review-img picture img,
.mm-size picture img {
  width: 100%;
  height: 100%;
}
.sp-design-img--tall {
  height: 560px;
  object-fit: cover;
}

/* ── Section base ── */
.sp-design-sec {
  padding: 100px 0;
  background: #000;
}

/* ── HERO ── */
.sp-design-hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.sp-design-hero__bg {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
}
.sp-design-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  display: block;
}
.sp-design-hero__overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.1) 60%);
}
.sp-design-hero__content {
  position: relative;
  z-index: 2;
  padding-bottom: 80px;
}
.sp-design-hero__h1 {
  font-size: clamp(40px, 6vw, 88px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 1rem;
}
.sp-design-hero__sub {
  font-size: 18px;
  font-weight: 300;
  color: rgba(255,255,255,0.65);
  margin-bottom: 2.5rem;
}
.sp-design-hero__ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

/* ── Signature / split layout ── */
.sp-design-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
.sp-design-split--rev .sp-design-split__text {
  order: 2;
}
.sp-design-split--rev .sp-design-split__imgs {
  order: 1;
}
.sp-design-split__imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

/* ── Duo ── */
.sp-design-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 3rem;
}
.sp-design-duo img {
  width: 100%;
  aspect-ratio: 700 / 900;
  height: auto;
  object-fit: cover;
  display: block;
}

/* ── Grid 5 detail ── */
.sp-design-grid5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.75rem;
  margin-top: 3rem;
}
.sp-design-grid5 img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
.sp-design-handcraft {
  margin: 2.5rem 0 0;
}
.sp-design-handcraft img {
  width: 100%;
  aspect-ratio: 1496 / 720;
  object-fit: cover;
  object-position: center;
  display: block;
}
.sp-design-handcraft figcaption {
  color: rgba(255,255,255,0.46);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.5;
  margin-top: 0.85rem;
  text-transform: uppercase;
}

/* ── Trio materials ── */
.sp-design-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.sp-design-material {
  margin: 0;
}
.sp-design-material img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
  margin-bottom: 0.6rem;
}
.sp-design-material figcaption {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}

/* ── Finishes tabs ── */
.sp-design-finishes__header {
  margin-bottom: 3rem;
}
.sp-design-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 2.5rem;
}
.sp-design-tab {
  background: none;
  border: none;
  color: rgba(255,255,255,0.38);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.75rem 2rem;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
.sp-design-tab--active,
.sp-design-tab:hover {
  color: #fff;
  border-bottom-color: rgba(255,255,255,0.6);
}
.sp-design-tab-panel {
  display: none;
}
.sp-design-tab-panel--active {
  display: block;
}

/* ── Finish cards ── */
.sp-design-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.sp-design-cards--wood {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sp-design-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.sp-design-card:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.14);
  transform: translateY(-1px);
}
.sp-design-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
.sp-design-card__name {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.7);
  padding: 0.85rem 1rem;
  margin: 0;
  line-height: 1.4;
}
.sp-design-card__name span {
  color: rgba(255,255,255,0.35);
  font-size: 12px;
}
.sp-design-card--text {
  display: flex;
  align-items: center;
  min-height: 120px;
}

/* ── Details summary ── */
.sp-design-details-summary {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sp-design-detail-row {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  align-items: center;
  gap: 2rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.sp-design-detail-model {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.sp-design-detail-opts {
  font-size: 15px;
  font-weight: 300;
  color: rgba(255,255,255,0.75);
}
.sp-design-avail {
  font-size: 11px;
  color: rgba(255,255,255,0.25);
  letter-spacing: 0.06em;
  margin-top: 2rem;
  margin-bottom: 3rem;
}

/* ── Finish enquiry form ── */
.sp-design-form-wrap {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 3rem;
  margin-top: 1rem;
}
.sp-design-form__title {
  font-size: 20px;
  font-weight: 300;
  color: #fff;
  margin-bottom: 1.5rem;
}
.sp-design-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
}
.sp-design-form__input {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 4px;
  color: #fff;
  font-size: 14px;
  padding: 0.75rem 1rem;
  flex: 1 1 180px;
  outline: none;
  transition: border-color 0.2s;
}
.sp-design-form__input::placeholder {
  color: rgba(255,255,255,0.3);
}
.sp-design-form__input:focus {
  border-color: rgba(255,255,255,0.35);
}
.sp-design-form__input option {
  background: #111;
}

/* ── Bridge section ── */
.sp-design-bridge {
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: center;
  padding: 120px 0;
}
.sp-design-bridge__bg {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.sp-design-bridge__overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: rgba(0,0,0,0.72);
}
.sp-design-bridge__content {
  position: relative;
  z-index: 2;
}

/* ── Final CTA ── */
.sp-design-final {
  padding: 120px 0;
}
.sp-design-final__ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 2.5rem;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .sp-design-split { grid-template-columns: 1fr; gap: 2.5rem; }
  .sp-design-split--rev .sp-design-split__text { order: 1; }
  .sp-design-duo { grid-template-columns: 1fr; }
  .sp-design-duo img { aspect-ratio: 700 / 900; }
  .sp-design-grid5 { grid-template-columns: repeat(3, 1fr); }
  .sp-design-cards { grid-template-columns: repeat(2, 1fr); }
  .sp-design-trio { grid-template-columns: 1fr 1fr; }
  .sp-design-detail-row { grid-template-columns: 1fr; gap: 0.5rem; }
}
@media (max-width: 560px) {
  .sp-design-grid5 { grid-template-columns: repeat(2, 1fr); }
  .sp-design-cards { grid-template-columns: 1fr; }
  .sp-design-cards--wood { grid-template-columns: 1fr; }
  .sp-design-trio { grid-template-columns: 1fr; }
  .sp-design-split__imgs { grid-template-columns: 1fr; }
  .sp-design-hero__ctas { flex-direction: column; }
}

/* ════════════════════════════════════════════════════════
   CIRCULAR SEAL — between sections
   ════════════════════════════════════════════════════════ */
.sp-seal-wrap {
  display: flex;
  justify-content: flex-end;
  padding: 0 7vw;
  margin-top: -62px;
  margin-bottom: -62px;
  position: relative;
  z-index: 2;
  pointer-events: none;
}
.sp-seal {
  width: 124px;
  height: 124px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: rgba(80,80,80,0.55);
    -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.sp-seal-line {
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  line-height: 1.3;
}
.sp-seal-dot {
  color: rgba(255,255,255,0.25);
  font-size: 10px;
  line-height: 1;
}
@media (max-width: 991px) {
  .sp-seal-wrap { display: none; }
}

/* ════════════════════════════════════════════════════════
   PRODUCT PAGE — VIDEO SECTION
   ════════════════════════════════════════════════════════ */
.sp-prd-video {
  background: #000;
  padding: 80px 0;
}
.sp-prd-video__label {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38);
  margin-bottom: 0.75rem;
}
.sp-prd-video__title {
  font-size: clamp(28px, 3.5vw, 52px);
  font-weight: 300;
  color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: 2rem;
}
.sp-prd-video__wrap {
  position: relative;
  background: #111;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.sp-prd-video__el {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sp-prd-video__play {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.25);
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}
.sp-prd-video__play:hover { background: rgba(0,0,0,0.38); }
.sp-prd-video__play svg { width: 72px; height: 72px; }
.sp-prd-video__cta {
  margin-top: 2rem;
}

/* ════════════════════════════════════════════════════════
   DESIGN PAGE — "DESIGN IN MOTION" VIDEO TABS
   ════════════════════════════════════════════════════════ */
.sp-design-motion-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 2rem;
}
.sp-design-motion-tab {
  background: none;
  border: none;
  color: rgba(255,255,255,0.38);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.75rem 2rem;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
.sp-design-motion-tab--active,
.sp-design-motion-tab:hover {
  color: #fff;
  border-bottom-color: rgba(255,255,255,0.6);
}
.sp-design-motion-player {
  position: relative;
  background: #111;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.sp-design-motion-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Luxury visual pass for the Design template */
body.design {
  background:
    radial-gradient(circle at 78% 12%, rgba(180,157,110,0.10), transparent 34%),
    linear-gradient(180deg, #090806 0%, #020202 46%, #0b0907 100%);
}
body.design .sp-design-sec,
body.design .sp-design-hero {
  --sp-design-ink: #f7f1e7;
  --sp-design-muted: rgba(247,241,231,0.58);
  --sp-design-soft: rgba(247,241,231,0.14);
  --sp-design-gold: #c9ad73;
  --sp-design-panel: rgba(255,255,255,0.045);
}
body.design .sp-design-sec {
  position: relative;
  overflow: hidden;
  padding: clamp(92px, 10vw, 150px) 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.018), rgba(255,255,255,0)),
    radial-gradient(circle at 12% 0%, rgba(201,173,115,0.055), transparent 34%),
    #050403;
  border-top: 1px solid rgba(247,241,231,0.055);
}
body.design .sp-design-sec::before {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(180deg, rgba(255,255,255,0.024) 0 1px, transparent 1px) 0 0 / 96px 96px;
  mask-image: radial-gradient(circle at 50% 22%, black, transparent 70%);
  opacity: 0.28;
}
body.design .sp-design-sec > .container-fluid,
body.design .sp-design-hero__content {
  max-width: 1320px;
  padding-left: clamp(22px, 4vw, 64px);
  padding-right: clamp(22px, 4vw, 64px);
}
body.design .sp-design-label {
  color: rgba(201,173,115,0.82);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.32em;
}
body.design .sp-design-label::before {
  content: "";
  display: inline-block;
  width: 38px;
  height: 1px;
  margin-right: 14px;
  vertical-align: middle;
  background: linear-gradient(90deg, rgba(201,173,115,0), rgba(201,173,115,0.95));
}
body.design .sp-design-h2 {
  max-width: 780px;
  color: var(--sp-design-ink);
  font-size: clamp(38px, 5.1vw, 78px);
  font-weight: 200;
  letter-spacing: -0.052em;
  line-height: 0.98;
}
body.design .sp-design-sub,
body.design .sp-design-micro {
  color: var(--sp-design-muted);
}
body.design .sp-design-micro {
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
body.design .sp-design-rule {
  width: 92px;
  background: linear-gradient(90deg, rgba(201,173,115,0.95), rgba(201,173,115,0));
}

body.design .sp-design-hero {
  min-height: 760px;
  background: #070605;
}
body.design .sp-design-hero__img {
  filter: contrast(1.04) saturate(0.85);
}
body.design .sp-design-hero__overlay {
  background:
    radial-gradient(circle at 73% 42%, rgba(201,173,115,0.16), transparent 24%),
    linear-gradient(90deg, rgba(2,2,2,0.92) 0%, rgba(2,2,2,0.40) 43%, rgba(2,2,2,0.10) 78%),
    linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.72) 100%);
}
body.design .sp-design-hero__content {
  padding-bottom: clamp(82px, 10vw, 145px);
}
body.design .sp-design-hero__h1 {
  max-width: 900px;
  color: var(--sp-design-ink);
  font-size: clamp(54px, 8.4vw, 132px);
  font-weight: 200;
  letter-spacing: -0.07em;
  line-height: 0.92;
  text-wrap: balance;
  text-shadow: 0 22px 70px rgba(0,0,0,0.68);
}
body.design .sp-design-hero__sub {
  max-width: 520px;
  color: rgba(247,241,231,0.64);
  font-size: clamp(16px, 1.4vw, 21px);
  line-height: 1.65;
}
body.design .sp-design-hero__ctas {
  gap: 14px;
}
body.design .sp-design-hero__ctas .sp-btn,
body.design .sp-design-form .sp-btn,
body.design .sp-design-final-cta .sp-btn,
body.design .sp-design-bridge .sp-btn {
  border-radius: 999px;
  padding: 15px 28px;
  letter-spacing: 0.14em;
}

body.design .sp-design-split {
  grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(42px, 7vw, 112px);
  align-items: center;
}
body.design .sp-design-split__text {
  position: relative;
  z-index: 1;
}
body.design .sp-design-split__imgs {
  gap: clamp(16px, 2vw, 28px);
  align-items: start;
}
body.design .sp-design-split__imgs img:nth-child(2) {
  margin-top: clamp(54px, 8vw, 118px);
}
body.design .sp-design-split__imgs picture:nth-child(2) {
  margin-top: clamp(54px, 8vw, 118px);
}
body.design .sp-design-signature .sp-design-split__imgs img:nth-child(2) {
  margin-top: 0;
}
body.design .sp-design-signature .sp-design-split__imgs picture:nth-child(2) {
  margin-top: 0;
}
body.design .sp-design-img,
body.design .sp-design-grid5 img,
body.design .sp-design-material img,
body.design .sp-design-card img {
  border: 1px solid rgba(247,241,231,0.12);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255,255,255,0.055), rgba(255,255,255,0.012));
  box-shadow: 0 34px 90px rgba(0,0,0,0.46), inset 0 1px 0 rgba(255,255,255,0.06);
}
body.design .sp-design-img--tall {
  height: clamp(620px, 68vw, 820px);
  object-position: center;
}
body.design .sp-design-signature {
  background:
    radial-gradient(circle at 82% 38%, rgba(201,173,115,0.075), transparent 30%),
    linear-gradient(180deg, #050403, #090806 58%, #030303);
}

body.design .sp-design-motion {
  background:
    linear-gradient(180deg, #030303, #0b0907 55%, #050403);
}
body.design .sp-design-motion-tabs,
body.design .sp-design-tabs {
  width: fit-content;
  max-width: 100%;
  border: 1px solid rgba(247,241,231,0.12);
  border-radius: 999px;
  padding: 5px;
  background: rgba(255,255,255,0.035);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.045);
}
body.design .sp-design-motion-tab,
body.design .sp-design-tab {
  border: 0;
  border-radius: 999px;
  color: rgba(247,241,231,0.46);
  padding: 12px 24px;
}
body.design .sp-design-motion-tab--active,
body.design .sp-design-motion-tab:hover,
body.design .sp-design-tab--active,
body.design .sp-design-tab:hover {
  color: #10100e;
  background: linear-gradient(135deg, #f4ead7, #bfa46c);
}
body.design .sp-design-motion-player {
  border-radius: 28px;
  border: 1px solid rgba(247,241,231,0.12);
  background: #070605;
  box-shadow: 0 36px 110px rgba(0,0,0,0.62);
}

body.design .sp-design-spaces {
  background:
    radial-gradient(circle at 18% 18%, rgba(201,173,115,0.09), transparent 32%),
    linear-gradient(180deg, #080705, #020202);
}
body.design .sp-design-duo {
  max-width: 1120px;
  margin-left: auto;
  gap: clamp(18px, 2.6vw, 36px);
  align-items: stretch;
}
body.design .sp-design-duo img:nth-child(2) {
  margin-top: 0;
}
body.design .sp-design-duo img {
  height: 100%;
  border-radius: 12px;
}

body.design .sp-design-grid5 {
  gap: 14px;
}
body.design .sp-design-handcraft {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255,255,255,0.04);
}
body.design .sp-design-handcraft img {
  cursor: zoom-in;
  transition: transform 0.35s var(--sp-ease), border-color 0.35s var(--sp-ease);
}
body.design .sp-design-handcraft figcaption {
  padding: 0 18px 18px;
}
body.design .sp-design-handcraft:hover img {
  transform: scale(1.01);
}
body.design .sp-design-grid5 img {
  aspect-ratio: 4 / 5;
  cursor: zoom-in;
  transition: transform 0.35s var(--sp-ease), border-color 0.35s var(--sp-ease);
}
body.design .sp-design-grid5 img:hover,
body.design .sp-design-card:hover,
body.design .sp-design-material:hover img {
  transform: translateY(-4px);
  border-color: rgba(255,255,255,0.24);
}

body.design .sp-design-trio {
  gap: clamp(16px, 2vw, 28px);
}
body.design .sp-design-material figcaption {
  color: rgba(201,173,115,0.78);
  padding-left: 4px;
}
body.design .sp-design-finishes {
  background:
    radial-gradient(circle at 85% 10%, rgba(201,173,115,0.095), transparent 36%),
    #080705;
}
body.design .sp-design-cards {
  gap: 18px;
}
body.design .sp-design-card {
  border-radius: 12px;
  border-color: rgba(247,241,231,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.024));
  box-shadow: 0 22px 70px rgba(0,0,0,0.38);
}
body.design .sp-design-card img {
  border: 0;
  border-radius: 12px 12px 0 0;
  box-shadow: none;
}
body.design .sp-design-card__name {
  color: rgba(247,241,231,0.78);
  padding: 18px 20px 20px;
}
body.design .sp-design-detail-row {
  border-bottom-color: rgba(247,241,231,0.10);
}
body.design .sp-design-form-wrap {
  border: 1px solid rgba(247,241,231,0.11);
  border-radius: 28px;
  padding: clamp(28px, 4vw, 48px);
  background: linear-gradient(145deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018));
}
body.design .sp-design-form__input {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  min-width: 0;
  width: auto;
  height: 52px;
  line-height: 1.2;
  padding-left: 1.35rem;
  padding-right: 1.35rem;
  border-radius: 999px;
  border-color: rgba(247,241,231,0.16);
  background: rgba(0,0,0,0.28);
}

body.design .sp-design-form select.sp-design-form__input {
  background-image: linear-gradient(45deg, transparent 50%, rgba(255,255,255,0.62) 50%), linear-gradient(135deg, rgba(255,255,255,0.62) 50%, transparent 50%);
  background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 2.9rem;
}

body.design .sp-design-form .sp-btn {
  box-sizing: border-box;
  height: 52px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

body.design .sp-design-bridge {
  min-height: 620px;
  overflow: hidden;
}
body.design .sp-design-bridge__bg {
  background-position: center 30%;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: #020202;
  filter: grayscale(0.22) contrast(1.08);
}
body.design .sp-design-bridge__overlay {
  background:
    linear-gradient(90deg, rgba(3,3,3,0.70), rgba(3,3,3,0.34) 44%, rgba(3,3,3,0.52)),
    radial-gradient(circle at 26% 46%, rgba(255,255,255,0.08), transparent 30%);
}
body.design .sp-design-final-cta {
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(201,173,115,0.13), transparent 42%),
    #040302;
}
body.design .sp-design-final-cta .sp-design-rule {
  margin-left: auto;
  margin-right: auto;
}
body.design .sp-design-final-cta .sp-design-h2,
body.design .sp-design-final-cta .sp-design-sub {
  margin-left: auto;
  margin-right: auto;
}
body.design .sp-design-final-cta__btns {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  body.design .sp-design-hero {
    min-height: 680px;
  }
  body.design .sp-design-hero__overlay {
    background:
      linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.84)),
      linear-gradient(90deg, rgba(0,0,0,0.80), rgba(0,0,0,0.18));
  }
  body.design .sp-design-split {
    grid-template-columns: 1fr;
  }
  body.design .sp-design-split__imgs img:nth-child(2),
  body.design .sp-design-duo img:nth-child(2) {
    margin-top: 0;
  }
  body.design .sp-design-img--tall {
    height: auto;
    aspect-ratio: 4 / 5;
  }
  body.design .sp-design-motion-tabs,
  body.design .sp-design-tabs {
    width: 100%;
  }
  body.design .sp-design-motion-tab,
  body.design .sp-design-tab {
    flex: 1 1 auto;
    padding-left: 14px;
    padding-right: 14px;
  }
}

@media (max-width: 560px) {
  body.design .sp-design-hero {
    min-height: 620px;
  }
  body.design .sp-design-hero__img {
    object-position: 66% center;
  }
  body.design .sp-design-hero__h1 {
    max-width: 100%;
    font-size: clamp(46px, 18vw, 74px);
  }
  body.design .sp-design-sec {
    padding: 76px 0;
  }
  body.design .sp-design-split__imgs,
  body.design .sp-design-duo {
    gap: 18px;
  }
  body.design .sp-design-grid5 {
    grid-template-columns: 1fr 1fr;
  }
  body.design .sp-design-handcraft img {
    aspect-ratio: 4 / 3;
  }
}

/* ════════════════════════════════════════════════════════
   LIGHTBOX
   ════════════════════════════════════════════════════════ */
#sp-lightbox {
  display: none;
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}
#sp-lightbox.sp-lb--open {
  display: flex;
}
.sp-lb-overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: rgba(0,0,0,0.88);
  cursor: pointer;
}
.sp-lb-inner {
  position: relative;
  z-index: 1;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#sp-lb-img {
  max-width: 90vw;
  max-height: 80vh;
  object-fit: contain;
  display: block;
  border-radius: 2px;
}
#sp-lb-cap {
  color: rgba(255,255,255,0.55);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 1rem;
  text-align: center;
}
.sp-lb-close {
  position: fixed;
  top: 24px;
  right: 32px;
  background: none;
  border: none;
  color: rgba(255,255,255,0.6);
  font-size: 22px;
  cursor: pointer;
  transition: color 0.2s;
  z-index: 2;
}
.sp-lb-close:hover { color: #fff; }
.sp-lb-prev,
.sp-lb-next {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: rgba(255,255,255,0.5);
  font-size: 28px;
  cursor: pointer;
  transition: color 0.2s;
  padding: 1rem;
  z-index: 2;
}
.sp-lb-prev { left: 24px; }
.sp-lb-next { right: 24px; }
.sp-lb-prev:hover,
.sp-lb-next:hover { color: #fff; }
@media (max-width: 560px) {
  .sp-lb-prev { left: 8px; }
  .sp-lb-next { right: 8px; }
  .sp-prd-video__play svg { width: 52px; height: 52px; }
}

/* About page portrait — two right corners rounded */
.sp-about-portrait {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0 120px 120px 0;
  object-fit: cover;
}

/* Homepage: follow the Design page top alignment exactly. */
body.home .wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.home .main,
body.home .main-header.bg-none.top_active + .main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.home section.banner-bg {
  margin-top: 0 !important;
}
body.home .banner-bg .relative.h-img {
  margin-top: 0 !important;
}

/* Fix inline video gap on homepage hero */
body.home .banner-bg .relative.h-img {
  font-size: 0;
  line-height: 0;
}
body.home .banner-bg video {
  display: block;
}

/* Force banner to fill full viewport — no black gap */
body.home .banner-bg .relative.h-img {
  height: 100vh !important;
  min-height: 100vh !important;
}
body.home .banner-bg .relative.h-img video {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}
body.home .banner-bg .relative.h-img {
  position: relative !important;
}

/* ═════════════════════════════════════════════════
   CHALLENGER II — Product page (sp-ch-*)
   ═════════════════════════════════════════════════ */

:root {
  --sp-ch-max: 1280px;
  --sp-ch-text: 600px;
  --sp-ch-pad: 96px;
  --sp-ch-gap: 24px;
  --sp-site-header-offset: 70px;
  --sp-header-surface: rgba(0,0,0,0.96);
}

/* ── Tab Header (sticky bar) ── */
.sp-prd-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 1810px;
  margin: 0 auto;
  padding: 12px 0 14px;
  background: var(--sp-header-surface);
    -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-top: 1px solid #fff;
  border-bottom: 0;
  z-index: 98;
  position: sticky;
  top: var(--sp-site-header-offset);
  isolation: isolate;
}
.sp-prd-header::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--sp-header-surface);
    -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  pointer-events: none;
  z-index: -1;
}
.sp-prd-header--stuck {
  position: sticky;
  top: var(--sp-site-header-offset);
  z-index: 98;
  background: var(--sp-header-surface);
    -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
body.page-template-challange_pound-php .sp-prd-header > span,
body.page-template-challange_pound-php .header-bavuh > span,
body.design .header-bavuh > span,
body.technology .header-bavuh > span {
  font-weight: 300 !important;
  letter-spacing: 0.01em;
}
body.page-template-challange_pound-php .sp-prd-header .main_tab_header > li,
body.page-template-challange_pound-php .header-bavuh .main_tab_header > li,
body.design .header-bavuh .main_tab_header > li,
body.technology .header-bavuh .main_tab_header > li {
  font-weight: 200 !important;
  letter-spacing: 0.02em;
}
body.page-template-challange_pound-php .header-bavuh,
body.design .header-bavuh,
body.technology .header-bavuh {
  position: sticky;
  top: var(--sp-site-header-offset);
  z-index: 98;
  padding-top: 18px;
  padding-bottom: 26px;
  background: var(--sp-header-surface);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: background-color 0.2s ease, backdrop-filter 0.2s ease;
}
body.page-template-challange_pound-php .header-bavuh::before,
body.design .header-bavuh::before,
body.technology .header-bavuh::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--sp-header-surface);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: background-color 0.2s ease;
  pointer-events: none;
  z-index: -1;
}
body.page-template-challange_pound-php.fixedheader .header-bavuh,
body.page-template-challange_pound-php.scrolling-active .header-bavuh,
body.design.fixedheader .header-bavuh,
body.design.scrolling-active .header-bavuh,
body.technology.fixedheader .header-bavuh,
body.technology.scrolling-active .header-bavuh {
  background: var(--sp-header-surface);
    -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
body.page-template-challange_pound-php .header-bavuh .main_tab_header > li > a,
body.design .header-bavuh .main_tab_header > li > a,
body.technology .header-bavuh .main_tab_header > li > a {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: 200 !important;
  line-height: inherit;
}

/* Product page local nav: align Challenger/Bloom submenu links with Design submenu */
body.page-template-challange_pound-php .header-bavuh ul.main_tab_header > li,
body.design .header-bavuh ul.main_tab_header > li,
body.technology .header-bavuh ul.main_tab_header > li {
  color: rgba(255,255,255,0.48);
  font-size: 12px;
  font-weight: 500 !important;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

body.page-template-challange_pound-php .header-bavuh ul.main_tab_header > li::after,
body.design .header-bavuh ul.main_tab_header > li::after,
body.technology .header-bavuh ul.main_tab_header > li::after {
  display: none !important;
}

body.page-template-challange_pound-php .header-bavuh ul.main_tab_header > li > a,
body.design .header-bavuh ul.main_tab_header > li > a,
body.technology .header-bavuh ul.main_tab_header > li > a {
  color: inherit !important;
  font-size: inherit;
  font-weight: inherit !important;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: inherit;
  white-space: nowrap;
}

body.page-template-challange_pound-php .header-bavuh ul.main_tab_header > li:hover,
body.page-template-challange_pound-php .header-bavuh ul.main_tab_header > li.current,
body.page-template-challange_pound-php .header-bavuh ul.main_tab_header > li.active,
body.design .header-bavuh ul.main_tab_header > li:hover,
body.design .header-bavuh ul.main_tab_header > li.current,
body.design .header-bavuh ul.main_tab_header > li.active,
body.technology .header-bavuh ul.main_tab_header > li:hover,
body.technology .header-bavuh ul.main_tab_header > li.current,
body.technology .header-bavuh ul.main_tab_header > li.active {
  color: #fff;
}

@media (max-width: 768px) {
  body.page-template-challange_pound-php .header-bavuh ul.main_tab_header > li,
  body.design .header-bavuh ul.main_tab_header > li,
  body.technology .header-bavuh ul.main_tab_header > li {
    font-size: 11px;
  }
}

.sp-prd-header__name {
  display: inline-flex;
  align-items: center;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  color: #fff;
  white-space: nowrap;
}
.sp-prd-tabs {
  display: flex;
  gap: 30px;
  list-style: none;
  margin: 0 0 0 45px;
  padding: 0;
}
.sp-prd-tabs__item {
  display: flex;
  position: relative;
  font-size: 14px;
  line-height: 21px;
  color: #fff;
  cursor: pointer;
}
.sp-prd-tabs__item::after {
  content: "";
  background: #fff;
  height: 3px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -10px;
  opacity: 0;
  transition: all 0.5s;
}
.sp-prd-tabs__item:hover::after,
.sp-prd-tabs__item.current.active::after {
  bottom: -6px;
  opacity: 1;
}
.sp-prd-tab {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 2px 0 4px;
  border: 0;
  background: transparent;
  font: inherit;
  line-height: inherit;
  color: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.sp-prd-tab:hover {
  color: inherit;
}
.sp-prd-tab:focus-visible {
  outline: 1px solid rgba(255,255,255,0.2);
  outline-offset: 6px;
}
.sp-prd-tab--active {
  color: inherit;
}
.sp-prd-header-sentinel {
  height: 0;
  margin: 0;
  padding: 0;
}

/* ── Panels ── */
.sp-prd-panel {
  display: block;
}
.sp-prd-panel--active {
  display: block;
}

/* ── Shared section ── */
.sp-ch-sec {
  padding: var(--sp-ch-pad) 0;
  scroll-margin-top: calc(var(--sp-site-header-offset) + 54px);
}
body.page-template-challange_pound-php .sp-ch-hero + .sp-ch-sec,
body.page-template-challange_pound-php .sp-ch-sec + .sp-ch-sec {
  border-top: 1px solid rgba(255,255,255,0.06);
}
body.page-template-challange_pound-php .sp-ch-sec {
  border-top: 1px solid rgba(255,255,255,0.06);
}
.sp-ch-hero,
#overview,
#technology,
#measurements,
#finishes,
#specs,
#press,
#book {
  scroll-margin-top: calc(var(--sp-site-header-offset) + 54px);
}
body.technology #overview,
body.technology #soundfield,
body.technology #technology,
body.technology #simulation,
body.technology #directivity,
body.technology #bass,
body.technology #midrange,
body.technology #enclosure,
body.technology #high-frequency,
body.technology #crossover,
body.technology #patent {
  scroll-margin-top: calc(var(--sp-site-header-offset, 88px) + 54px);
}
.sp-ch-sec .container {
  max-width: var(--sp-ch-max);
  margin: 0 auto;
  padding: 0 24px;
}
.sp-ch-rule {
  width: 40px;
  height: 1px;
  background: rgba(255,255,255,0.15);
  margin-bottom: 2rem;
}
body.page-template-challange_pound-php .sp-ch-rule {
  display: none;
}
.sp-ch-label {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 0.75rem;
}
.sp-ch-h1 {
  font-size: 52px;
  font-weight: 300;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 0.5rem;
}
.sp-ch-h2 {
  font-size: 32px;
  font-weight: 300;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin-bottom: 1rem;
}
.sp-ch-sub {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.65);
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
.sp-ch-micro {
  font-size: 13px;
  color: rgba(255,255,255,0.35);
  margin-bottom: 1.5rem;
}
.sp-ch-link {
  font-size: 14px;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  transition: color 0.2s, border-color 0.2s;
  padding-bottom: 2px;
}
.sp-ch-link:visited,
.sp-ch-link:active,
.sp-ch-link:focus {
  color: rgba(255,255,255,0.6) !important;
}
.sp-ch-link:hover {
  color: #fff !important;
  border-bottom-color: #fff;
}
.sp-prd-panel a:not(.sp-btn):not(.sp-ch-link),
.sp-prd-panel a:not(.sp-btn):not(.sp-ch-link):visited,
.sp-prd-panel a:not(.sp-btn):not(.sp-ch-link):active,
.sp-prd-panel a:not(.sp-btn):not(.sp-ch-link):focus,
.sp-ch-motion-modal__close {
  color: rgba(255,255,255,0.72) !important;
}
.sp-prd-panel a:not(.sp-btn):not(.sp-ch-link):hover,
.sp-ch-motion-modal__close:hover {
  color: #fff !important;
}
.sp-ch-avail {
  font-size: 11px;
  color: rgba(255,255,255,0.25);
  letter-spacing: 0.06em;
  margin-top: 2rem;
}

/* ── HERO (About) ── */
.sp-ch-hero {
  position: relative;
  height: 80vh;
  min-height: 480px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.sp-ch-hero__bg {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
}
.sp-ch-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sp-ch-hero__overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.15) 60%);
}
.sp-ch-hero__content {
  position: relative;
  z-index: 2;
  max-width: var(--sp-ch-max);
  padding: 0 24px 64px;
  margin: 0 auto;
}
.sp-ch-hero__copy {
  max-width: var(--sp-ch-text);
}
.sp-ch-hero .sp-ch-h1 {
  font-size: clamp(46px, 6.2vw, 86px);
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 0.75rem;
}
.sp-ch-hero .sp-ch-sub {
  font-size: clamp(17px, 1.15vw, 20px);
  line-height: 1.4;
}
.sp-ch-hero .sp-ch-hero__price {
  margin: 12px 0 16px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #f4f6f8 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.45);
}
.sp-ch-hero__ctas {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.sp-ch-hero .sp-ch-h1,
.sp-ch-hero .sp-ch-sub,
.sp-ch-hero .sp-ch-hero__price,
.sp-ch-hero .sp-ch-hero__ctas {
  position: relative;
  top: 34px;
}
.sp-ch-hero .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sp-ch-hero .awards-strip {
  width: min(100%, 920px);
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.10);
  display: grid;
  gap: 14px;
  transform: translateY(34px);
}
.sp-ch-hero .awards-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 162px));
  justify-content: start;
  gap: 18px;
  padding: 0;
  margin: 0;
}
.sp-ch-hero .award {
  margin: 0;
}
.sp-ch-hero .award-link {
  position: relative;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  align-items: center;
  padding: 22px 17px 20px;
  border-radius: 50%;
  background: rgba(247,245,238,0.96);
  border: 1px solid rgba(255,255,255,0.42);
  color: #111;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 12px 36px rgba(0,0,0,0.20);
  overflow: hidden;
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.sp-ch-hero .award-link::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(0,0,0,0.14);
  border-radius: 50%;
  pointer-events: none;
}
.sp-ch-hero .award-link::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px dashed rgba(0,0,0,0.13);
  border-radius: 50%;
  pointer-events: none;
}
.sp-ch-hero .award-link:hover,
.sp-ch-hero .award-link:focus-visible {
  transform: translateY(-1px);
  background: #fff;
  border-color: rgba(255,255,255,0.65);
  box-shadow: 0 16px 42px rgba(0,0,0,0.26);
}
.sp-ch-hero .award-badge {
  display: block;
  width: 72px;
  height: auto;
  max-height: 22px;
  flex: 0 0 auto;
  opacity: 0.86;
  position: relative;
  z-index: 1;
}
.sp-ch-hero .award-text {
  min-width: 0;
  display: grid;
  gap: 8px;
  line-height: 1.15;
  position: relative;
  z-index: 1;
}
.sp-ch-hero .award-pub {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.46);
}
.sp-ch-hero .award-name {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.15;
  color: #111;
  overflow-wrap: anywhere;
}
.sp-ch-hero .award-meta {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(0,0,0,0.50);
  overflow-wrap: anywhere;
}
.sp-ch-hero .awards-more {
  justify-self: start;
  font-size: 13px;
  color: rgba(255,255,255,0.72);
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: rgba(255,255,255,0.25);
}
.sp-ch-hero .awards-more:hover,
.sp-ch-hero .awards-more:focus-visible {
  color: rgba(255,255,255,0.94);
  text-decoration-color: rgba(255,255,255,0.50);
}

/* ── Key specs (About) ── */
.sp-ch-keyspecs {
  padding-top: 0;
}
.sp-ch-keyspecs__list {
  max-width: 620px;
  margin-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.sp-ch-keyspecs__row {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.sp-ch-keyspecs__label {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.64);
}
.sp-ch-keyspecs__value {
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.92);
  text-align: right;
}
.sp-ch-keyspecs__note {
  max-width: 620px;
  margin: 1rem 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255,255,255,0.46);
}

/* ── Why it sounds different ── */
.sp-ch-why__intro {
  max-width: 720px;
  margin: 0 0 1.75rem;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.45;
  color: rgba(255,255,255,0.74);
}
.sp-ch-why-list {
  max-width: 900px;
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid rgba(255,255,255,0.10);
}
.sp-ch-why-item {
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.sp-ch-why-item__main {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 16px;
  align-items: start;
}
.sp-ch-why-item__num {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  color: rgba(255,255,255,0.72);
  font-size: 13px;
}
.sp-ch-why-item__title {
  margin: 0 0 5px;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.25;
  color: #fff;
}
.sp-ch-why-item__summary {
  margin: 0;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
  color: rgba(255,255,255,0.58);
}
.sp-ch-why-more {
  margin: 10px 0 0 50px;
}
.sp-ch-why-more summary {
  display: inline-block;
  cursor: pointer;
  color: rgba(255,255,255,0.72);
  font-size: 13px;
  border-bottom: 1px solid rgba(255,255,255,0.18);
}
.sp-ch-why-more summary:hover {
  color: #fff;
  border-bottom-color: #fff;
}
.sp-ch-why-more p {
  max-width: 680px;
  margin: 10px 0 0;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(255,255,255,0.56);
}
.sp-ch-why-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-top: 22px;
}
.sp-proof {
  margin-top: 28px;
}
.sp-proof__title {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.48);
}
.sp-proof__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.sp-quote {
  margin: 0;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 4px;
  background: #e7e4dc;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 18px 44px rgba(0,0,0,.16);
}
.sp-quote__text {
  margin: 0;
  font-size: clamp(16px, 1.45vw, 21px);
  font-weight: 300;
  font-style: italic;
  line-height: 1.42;
  color: #1b1b1b;
}
.sp-quote__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  margin-top: 14px;
  font-size: 12px;
  color: #5d5a54;
}
.sp-quote__name {
  color: #34322f;
}
.sp-quote__pub {
  color: #68645d !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: rgba(104,100,93,.42) !important;
}
.sp-quote__pub:hover {
  color: #1b1b1b !important;
  text-decoration-color: rgba(27,27,27,.65) !important;
}
.sp-prd-panel .sp-proof .sp-quote .sp-quote__text {
  font-size: clamp(16px, 1.45vw, 21px) !important;
  font-style: italic !important;
  color: #1b1b1b !important;
}
.sp-prd-panel .sp-proof .sp-quote .sp-quote__pub,
.sp-prd-panel .sp-proof .sp-quote .sp-quote__pub:visited,
.sp-prd-panel .sp-proof .sp-quote .sp-quote__pub:active,
.sp-prd-panel .sp-proof .sp-quote .sp-quote__pub:focus {
  color: #68645d !important;
  text-decoration-color: rgba(104,100,93,.42) !important;
}
.sp-prd-panel .sp-proof .sp-quote .sp-quote__pub:hover {
  color: #1b1b1b !important;
  text-decoration-color: rgba(27,27,27,.65) !important;
}

@media (max-width: 760px) {
  .sp-proof__grid {
    grid-template-columns: 1fr;
  }
}

/* ── Material carousel ── */
.sp-ch-material {
  padding-top: 0;
}
.sp-ch-material.MaterialTypeSec > .container-fluid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}
.sp-ch-material .mat_slider_wrapper {
  position: relative;
  margin-top: 2rem;
}
.sp-ch-material .material_slider_wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  min-height: 520px;
}
.sp-ch-material .material_slider_wrapper img {
  grid-column: 1;
  grid-row: 1 / span 4;
  display: block;
  width: 100%;
  max-height: 560px;
  object-fit: contain;
}
.sp-ch-material .material_slider_wrapper .mobile-imag {
  display: none !important;
}
.sp-ch-material .material_slider_wrapper h2 {
  grid-column: 2;
  margin: 0 0 16px;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 300;
  line-height: 1.12;
  color: #fff;
}
.sp-ch-material .material_slider_wrapper p,
.sp-ch-material .material_slider_wrapper ul {
  grid-column: 2;
  max-width: 520px;
  margin: 0;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(255,255,255,0.66);
}
.sp-ch-material.MaterialTypeSec button.slick-arrow {
  top: -58px;
  right: 0;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,0.24);
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.82);
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, opacity 180ms ease;
}
.sp-ch-material.MaterialTypeSec button.slick-prev.slick-arrow {
  right: 44px;
  transform: none;
}
.sp-ch-material.MaterialTypeSec button.slick-arrow:hover {
  border-color: rgba(255,255,255,0.50);
  background: rgba(255,255,255,0.10);
  color: #fff;
}
.sp-ch-material.MaterialTypeSec button.slick-arrow.slick-disabled {
  opacity: 0.35;
  cursor: default;
}
.sp-ch-material.MaterialTypeSec button.slick-arrow svg {
  display: block;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sp-ch-material.MaterialTypeSec > .container-fluid ul.slick-dots {
  position: static;
  justify-content: center;
  margin-top: 22px;
}

@media (max-width: 900px) {
  .sp-ch-material .material_slider_wrapper {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .sp-ch-material .material_slider_wrapper img,
  .sp-ch-material .material_slider_wrapper h2,
  .sp-ch-material .material_slider_wrapper p,
  .sp-ch-material .material_slider_wrapper ul {
    grid-column: 1;
    grid-row: auto;
  }
  .sp-ch-material .material_slider_wrapper .desktop-imag {
    display: none !important;
  }
  .sp-ch-material .material_slider_wrapper .mobile-imag {
    display: block !important;
  }
}

/* ── Signature details carousel ── */
.sp-ch-carousel {
  padding-top: 0;
}
.sp-ch-carousel .container-fluid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}
.sp-ch-carousel__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 2rem;
  margin-bottom: 22px;
}
.sp-ch-carousel__eyebrow {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.48);
}
.sp-ch-carousel__title {
  font-size: clamp(32px, 3.4vw, 52px);
  font-weight: 300;
  line-height: 1.04;
  color: #fff;
}
.sp-ch-carousel__counter {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.58);
}
.sp-ch-carousel__viewport {
  position: relative;
  touch-action: pan-y;
}
.sp-ch-carousel__slide {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(280px, 0.94fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  min-height: 520px;
  padding: 28px 0 8px;
  scroll-margin-top: calc(var(--sp-site-header-offset, 88px) + 28px);
}
.sp-ch-carousel__viewport.is-enhanced .sp-ch-carousel__slide {
  display: none;
}
.sp-ch-carousel__viewport.is-enhanced .sp-ch-carousel__slide.is-active {
  display: grid;
}
.sp-ch-carousel__media {
  min-width: 0;
  background: #0a0a0a;
}
.sp-ch-carousel__img {
  display: block;
  width: 100%;
  max-height: 560px;
  object-fit: contain;
}
.sp-ch-carousel__img--mobile {
  display: none !important;
}
.sp-ch-carousel__body {
  min-width: 0;
}
.sp-ch-carousel__kicker {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.42);
}
.sp-ch-carousel__slide-title {
  margin: 0 0 16px;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 300;
  line-height: 1.12;
  color: #fff;
}
.sp-ch-carousel__body p,
.sp-ch-carousel__body ul {
  max-width: 520px;
  margin: 0;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(255,255,255,0.66);
}
.sp-ch-carousel__body ul {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}
.sp-ch-carousel__body li {
  position: relative;
  padding-left: 16px;
}
.sp-ch-carousel__body li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 6px;
  height: 1px;
  background: rgba(255,255,255,0.48);
}
.sp-ch-carousel__controls {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  margin-top: 24px;
}
.sp-ch-carousel__nav {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.24);
  border-radius: 4px;
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.82);
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, opacity 180ms ease;
}
.sp-ch-carousel__nav:hover {
  border-color: rgba(255,255,255,0.50);
  background: rgba(255,255,255,0.10);
  color: #fff;
}
.sp-ch-carousel__nav svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sp-ch-carousel__dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
}
.sp-ch-carousel__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 8px;
  border-bottom: 1px solid transparent;
  color: rgba(255,255,255,0.52);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .12em;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
}
.sp-ch-carousel__dot.is-active,
.sp-ch-carousel__dot[aria-current="true"] {
  color: #fff;
  border-bottom-color: rgba(255,255,255,0.72);
}
.sp-ch-carousel__progress {
  height: 1px;
  margin-top: 18px;
  overflow: hidden;
  background: rgba(255,255,255,0.10);
}
.sp-ch-carousel__progress span {
  display: block;
  width: 0;
  height: 100%;
  background: rgba(255,255,255,0.72);
  transition: width 240ms ease;
}
.sp-ch-carousel__hint {
  margin-top: 14px;
  font-size: 13px;
  color: rgba(255,255,255,0.46);
}

@media (max-width: 900px) {
  .sp-ch-carousel__head {
    align-items: flex-start;
    flex-direction: column;
  }
  .sp-ch-carousel__slide {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 20px;
  }
  .sp-ch-carousel__img--desktop {
    display: none !important;
  }
  .sp-ch-carousel__img--mobile {
    display: block !important;
  }
  .sp-ch-carousel__controls {
    grid-template-columns: 44px 1fr 44px;
  }
  .sp-ch-carousel__dots {
    justify-content: center;
  }
}

/* ── 4 signature cards (2x2) ── */
.sp-ch-cards4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-ch-gap);
  margin-top: 2rem;
}
.sp-ch-card4 {
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px;
  padding: 2rem 1.75rem;
}
.sp-ch-card4__title {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 0.5rem;
}
.sp-ch-card4__sub {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.5);
  line-height: 1.5;
}

/* ── Finishes teaser ── */
.sp-ch-motion-tease {
  padding-top: 0;
}
.sp-ch-motion-card {
  position: relative;
  width: 100%;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.sp-ch-motion-card__copy {
  position: absolute;
  left: clamp(18px, 3vw, 36px);
  bottom: clamp(18px, 3vw, 34px);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: flex-start;
}
.sp-ch-motion-card__title {
  font-size: clamp(18px, 2.2vw, 26px);
  font-weight: 320;
  line-height: 1.15;
  letter-spacing: 0;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0,0,0,0.48);
}
.sp-ch-motion-card__sub {
  font-size: 12px;
  color: rgba(255,255,255,0.68);
  text-shadow: 0 1px 10px rgba(0,0,0,0.42);
}
.sp-ch-motion-card__media {
  position: relative;
  display: block;
  min-height: clamp(300px, 42vw, 520px);
  border-radius: 10px;
  overflow: hidden;
  border: 0;
  background: #050505;
}
.sp-ch-motion-card__media::after {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.54), rgba(0,0,0,0.12) 38%, rgba(0,0,0,0.18)),
    linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.34));
  pointer-events: none;
}
.sp-ch-motion-card__poster {
  width: 100%;
  height: 100%;
  min-height: clamp(300px, 42vw, 520px);
  object-fit: cover;
  display: block;
}
.sp-ch-motion-card__play {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 72px;
  height: 72px;
  transform: translate(-50%, -50%);
  z-index: 2;
  opacity: 0.88;
  transition: opacity 160ms ease, transform 160ms ease;
}
.sp-ch-motion-card:hover .sp-ch-motion-card__play {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.04);
}
.sp-ch-motion-card__play svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* ── Measured performance ── */
.sp-ch-measured {
  padding-top: 0;
  background:
    radial-gradient(900px 420px at 50% 8%, rgba(255,255,255,0.028), transparent 62%),
    linear-gradient(180deg, #0b0b0c, #101013);
}
.sp-ch-measured__container {
  max-width: 1200px;
}
.sp-ch-measured__head {
  display: grid;
  gap: 10px;
  margin-bottom: 22px;
}
.sp-ch-measured__title {
  margin: 0;
  font-size: clamp(32px, 3.4vw, 40px);
  font-weight: 320;
  line-height: 1.08;
  letter-spacing: 0;
  color: #fff;
}
.sp-ch-measured__sub {
  max-width: 62ch;
  margin: 0;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
  color: rgba(255,255,255,0.70);
}
.sp-ch-measured__tabs {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 44px;
  margin: 10px auto 18px;
  padding: 3px;
  border: 1px solid rgba(255,255,255,0.11);
  border-radius: 6px;
  background: rgba(255,255,255,0.035);
}
.sp-ch-measured__tab {
  height: 36px;
  min-width: 148px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: rgba(255,255,255,0.56);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  appearance: none;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}
.sp-ch-measured__tab:hover {
  border-color: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.82);
}
.sp-ch-measured__tab.is-active {
  background: rgba(255,255,255,0.12);
  color: #fff;
}
.sp-ch-measured__tab:focus-visible {
  outline: 1px solid rgba(255,255,255,0.34);
  outline-offset: 3px;
}
.sp-ch-measured__plot {
  position: relative;
  overflow: hidden;
  width: min(100%, 980px);
  margin: 0 auto;
  aspect-ratio: 5 / 3;
  border-radius: 10px;
  background: #0b0b0c;
  box-shadow: 0 16px 46px rgba(0,0,0,0.22);
}
.sp-ch-measured__plot--snapshot {
  display: flex;
  align-items: center;
  min-height: 460px;
  padding: clamp(34px, 5vw, 72px);
  aspect-ratio: auto;
}
.sp-ch-measured__plot--snapshot .sp-ch-spec-table {
  width: 100%;
  margin-top: 28px;
}
.sp-ch-measured__graph-title {
  margin: 0 0 clamp(16px, 2vw, 24px);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 320;
  line-height: 1.16;
  letter-spacing: 0;
  color: rgba(255,255,255,0.94);
}
.sp-ch-measured__note {
  max-width: 1120px;
  margin: 12px auto 0;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
  color: rgba(255,255,255,0.48);
}
.sp-ch-measured__panel {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  opacity: 0;
  transition: opacity 300ms ease-out;
}
.sp-ch-measured__panel.is-active {
  opacity: 1;
  z-index: 1;
}
.sp-ch-measured__panel img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sp-ch-measured__caption {
  position: absolute;
  left: 16px;
  top: 14px;
  z-index: 3;
  max-width: min(72%, 520px);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.45;
  color: rgba(255,255,255,0.70);
  pointer-events: none;
}
.sp-ch-motion-modal[hidden] {
  display: none;
}
.sp-ch-motion-modal {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.sp-ch-motion-modal__backdrop {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: rgba(0,0,0,0.78);
    -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.sp-ch-motion-modal__dialog {
  position: relative;
  width: min(1080px, 100%);
  max-height: calc(100vh - 48px);
  padding: 56px 24px 24px;
  border-radius: 22px;
  background: #0c0c0c;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 80px rgba(0,0,0,0.4);
}
.sp-ch-motion-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,0.72);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}
.sp-ch-motion-modal__title {
  margin: 0 0 16px;
  font-size: 22px;
  font-weight: 300;
  color: #fff;
}
.sp-ch-motion-modal__video {
  width: 100%;
  display: block;
  border-radius: 14px;
  background: #000;
}

.sp-ch-finishes-tease__text {
  max-width: 720px;
  margin-bottom: 0;
}

/* ── Final CTA ── */
.sp-ch-cta-final {
  text-align: center;
  padding: var(--sp-ch-pad) 0;
}
.sp-ch-cta-final .sp-ch-sub {
  max-width: var(--sp-ch-text);
  margin-left: auto;
  margin-right: auto;
}
.sp-ch-cta-final .sp-btn {
  margin-top: 1.5rem;
}

/* ── Finishes (Specs tab) ── */
.sp-ch-finishes {
  --sp-ch-finish-bg0: #0b0b0c;
  --sp-ch-finish-bg1: #111113;
  --sp-ch-finish-border: rgba(255,255,255,0.08);
  --sp-ch-finish-border-active: rgba(255,255,255,0.42);
  --sp-ch-finish-text: rgba(255,255,255,0.92);
  --sp-ch-finish-muted: rgba(255,255,255,0.58);
  padding: 108px 0;
  background:
    radial-gradient(900px 520px at 24% 18%, rgba(255,255,255,0.035), transparent 58%),
    linear-gradient(180deg, var(--sp-ch-finish-bg0), var(--sp-ch-finish-bg1));
}
.sp-ch-finishes__container {
  max-width: 1280px;
}
.sp-ch-finishes__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.66fr) minmax(320px, 0.78fr);
  gap: clamp(52px, 7vw, 104px);
  align-items: center;
}
.sp-ch-finish-viewer {
  min-width: 0;
}
.sp-ch-finish-viewer__stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.12 / 1;
  border-radius: 0;
  background:
    radial-gradient(54% 62% at 48% 34%, rgba(255,255,255,0.105), rgba(255,255,255,0.035) 38%, transparent 72%),
    radial-gradient(88% 42% at 50% 94%, rgba(255,255,255,0.038), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,0.018), rgba(255,255,255,0));
  box-shadow: none;
}
.sp-ch-finish-viewer__stage::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 4%;
  width: 68%;
  height: 74%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 48%, rgba(255,255,255,0.075), rgba(255,255,255,0.025) 42%, transparent 72%);
  pointer-events: none;
}
.sp-ch-finish-viewer__stage::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 8%;
  width: 43%;
  height: 6.5%;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.42), rgba(0,0,0,0.18) 46%, transparent 72%);
  filter: blur(8px);
  pointer-events: none;
}
.sp-ch-finish-viewer__ambient {
  display: none;
}
.sp-ch-finish-viewer__image {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  top: 0; right: 0; bottom: 0; left: 0;

  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  margin: auto;
  z-index: 1;
  width: 90%;
  height: 98%;
  object-fit: contain;
  transform: translateY(1%);
  transition: opacity 280ms ease-out;
}
.sp-ch-finish-viewer__image.is-fading {
  opacity: 0;
}
body.bloom .sp-ch-finish-viewer__stage {
  aspect-ratio: 0.82 / 1;
  width: min(100%, 590px);
  min-height: 560px;
  margin: 0 auto 0 0;
  border-radius: 4px !important;
}
body.bloom .sp-ch-finish-viewer__image {
  width: 92%;
  height: 92%;
  object-fit: contain;
  transform: none;
  border-radius: 4px !important;
}
body.bloom .sp-ch-finishes__grid {
  align-items: start;
}
.sp-ch-finish-viewer__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  font-size: 13px;
  color: var(--sp-ch-finish-muted);
}
.sp-ch-finish-viewer__value {
  color: var(--sp-ch-finish-text);
  opacity: 0.9;
}
.sp-ch-finish-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.sp-ch-finish-detail {
  margin: 0;
  min-width: 0;
}
.sp-ch-finish-detail img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 3;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.08);
}
.sp-ch-finish-detail figcaption {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 300;
  color: var(--sp-ch-finish-muted);
}
.sp-ch-finish-selector {
  min-width: 0;
  padding-top: 4px;
}
.sp-ch-finish-selector__head {
  margin-bottom: 30px;
}
.sp-ch-finish-selector__title {
  margin: 0 0 18px;
  font-size: clamp(28px, 3.1vw, 48px);
  line-height: 1.05;
  font-weight: 320;
  letter-spacing: 0;
  color: var(--sp-ch-finish-text);
}
.sp-ch-finish-selector__sub {
  display: grid;
  gap: 7px;
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--sp-ch-finish-muted);
}
.sp-ch-finish-options {
  border-top: 1px solid var(--sp-ch-finish-border);
  border-bottom: 1px solid var(--sp-ch-finish-border);
  padding: 12px 0;
}
.sp-ch-finish-options__label {
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.36);
}
.sp-ch-finish-options__list {
  display: grid;
}
.sp-ch-finish-option {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 70px;
  padding: 8px 14px 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sp-ch-finish-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
  transition: color 160ms ease;
}
.sp-ch-finish-option::before {
  content: "";
  position: absolute;
  inset: 8px 0;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  background: transparent;
  pointer-events: none;
  transition: background 160ms ease, border-color 160ms ease;
}
.sp-ch-finish-option:hover::before,
.sp-ch-finish-material:hover::before {
  background: rgba(255,255,255,0.035);
}
.sp-ch-finish-option:hover::before,
.sp-ch-finish-option.is-active::before {
  border-color: rgba(255,255,255,0.12);
}
.sp-ch-finish-option:hover .sp-ch-finish-option__name,
.sp-ch-finish-option.is-active .sp-ch-finish-option__name {
  color: #fff;
}
.sp-ch-finish-option:focus-visible {
  outline: 1px solid rgba(255,255,255,0.24);
  outline-offset: 4px;
}
.sp-ch-finish-option__swatch {
  position: relative;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border-radius: 12px;
  border: 0;
  background-size: cover;
  background-position: center;
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.sp-ch-finish-option.is-active .sp-ch-finish-option__swatch {
  border-color: transparent;
  box-shadow: none;
}
.sp-ch-finish-option__check {
  position: absolute;
  top: -6px;
  right: -6px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: rgba(244,244,244,0.96);
  color: #111;
  opacity: 0;
  transform: scale(0.82);
  transition: opacity 160ms ease, transform 160ms ease;
  box-shadow: 0 4px 14px rgba(0,0,0,0.25);
}
.sp-ch-finish-option__check::before {
  content: '\2713';
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.sp-ch-finish-option.is-active .sp-ch-finish-option__check {
  opacity: 1;
  transform: scale(1);
}
.sp-ch-finish-option__text {
  display: grid;
  min-width: 0;
}
.sp-ch-finish-option__name {
  font-size: 17px;
  font-weight: 360;
  line-height: 1.2;
  color: rgba(255,255,255,0.76);
  transition: color 160ms ease;
}
.sp-ch-finish-material {
  position: relative;
  display: flex;
  gap: 16px;
  align-items: center;
  width: 100%;
  min-height: 70px;
  margin: 0;
  padding: 8px 14px 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sp-ch-finish-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
  transition: border-color 160ms ease;
}
.sp-ch-finish-material::before {
  content: "";
  position: absolute;
  inset: 8px 0;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  background: transparent;
  pointer-events: none;
  transition: background 160ms ease, border-color 160ms ease;
}
.sp-ch-finish-material:focus-visible {
  outline: 1px solid rgba(255,255,255,0.24);
  outline-offset: 4px;
}
.sp-ch-finish-material__swatch {
  position: relative;
  display: block;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border-radius: 4px;
}
.sp-ch-finish-material__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.18);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.sp-ch-finish-material.is-active .sp-ch-finish-material__img {
  border-color: var(--sp-ch-finish-border-active);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.22), 0 0 0 1px rgba(255,255,255,0.18);
}
.sp-ch-finish-material__check {
  position: absolute;
  top: -6px;
  right: -6px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: rgba(244,244,244,0.96);
  color: #111;
  opacity: 0;
  transform: scale(0.82);
  transition: opacity 160ms ease, transform 160ms ease;
  box-shadow: 0 4px 14px rgba(0,0,0,0.25);
}
.sp-ch-finish-material__check::before {
  content: '\2713';
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.sp-ch-finish-material.is-active .sp-ch-finish-material__check {
  opacity: 1;
  transform: scale(1);
}
.sp-ch-finish-material__body {
  display: grid;
  min-width: 0;
}
.sp-ch-finish-material__title {
  font-size: 17px;
  font-weight: 360;
  line-height: 1.2;
  color: rgba(255,255,255,0.76);
}
.sp-ch-finish-material__text {
  font-size: 13px;
  font-weight: 300;
  line-height: 1.45;
  color: var(--sp-ch-finish-muted);
}
.sp-ch-finish-ral {
  border-bottom: 1px solid var(--sp-ch-finish-border);
}
.sp-ch-finish-ral__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  min-height: 70px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
  transition: background 160ms ease;
}
.sp-ch-finish-ral__row:hover {
  background: transparent;
}
.sp-ch-finish-ral__title {
  font-size: 15px;
  font-weight: 400;
  color: var(--sp-ch-finish-text);
}
.sp-ch-finish-ral__sub {
  margin-top: 5px;
  font-size: 13px;
  font-weight: 300;
  color: var(--sp-ch-finish-muted);
}
.sp-ch-finish-ral__plus {
  flex: 0 0 auto;
  font-size: 22px;
  font-weight: 200;
  line-height: 1;
  color: rgba(255,255,255,0.66);
  transition: transform 160ms ease;
}
.sp-ch-finish-ral.is-open .sp-ch-finish-ral__plus {
  transform: rotate(45deg);
}
.sp-ch-finish-ral__panel {
  padding: 4px 0 22px;
}
.sp-ch-finish-ral__panel .ral-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  padding: 0 24px;
}
.sp-ch-finish-ral__fan {
  position: relative;
  width: 46px;
  height: 38px;
  flex: 0 0 46px;
}
.sp-ch-finish-ral__fan span {
  position: absolute;
  bottom: 0;
  left: 12px;
  width: 26px;
  height: 36px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.12);
  transform-origin: 50% 90%;
}
.sp-ch-finish-ral__fan span:nth-child(1) {
  background: #1f2933;
  transform: rotate(-16deg);
}
.sp-ch-finish-ral__fan span:nth-child(2) {
  background: #6f756b;
  transform: rotate(0deg);
}
.sp-ch-finish-ral__fan span:nth-child(3) {
  background: #d7d2c7;
  transform: rotate(16deg);
}
.sp-ch-finish-ral__input {
  min-width: 0;
  width: 132px;
  flex: 0 0 132px;
  height: 44px;
  box-sizing: border-box;
  padding: 0 20px 0 24px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 10px;
  background: #171719;
  color: rgba(255,255,255,0.92);
  -webkit-text-fill-color: rgba(255,255,255,0.92);
  font-size: 14px;
  font-weight: 400;
  line-height: 44px;
  outline: 0;
  appearance: none;
}
.sp-ch-finish-ral__input::placeholder {
  color: rgba(255,255,255,0.56);
  -webkit-text-fill-color: rgba(255,255,255,0.56);
}
.sp-ch-finish-ral__input:focus {
  border-color: rgba(255,255,255,0.34);
  background: #171719;
}
.sp-ch-finish-ral__input:-webkit-autofill,
.sp-ch-finish-ral__input:-webkit-autofill:hover,
.sp-ch-finish-ral__input:-webkit-autofill:focus {
  border-color: rgba(255,255,255,0.34);
  -webkit-text-fill-color: rgba(255,255,255,0.92);
  box-shadow: 0 0 0 1000px #171719 inset;
  transition: background-color 9999s ease-out;
}
.sp-ch-finish-ral__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 10px;
  background: rgba(255,255,255,0.08);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  transition: background 160ms ease, border-color 160ms ease;
}
.sp-ch-finish-ral__cta:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.26);
}
.sp-ch-avail {
  margin-top: 18px;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255,255,255,0.42);
}

/* ── Spec table (Specs tab) ── */
.sp-ch-unit-toggle {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-top: 1.35rem;
  padding: 3px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 8px;
  background: rgba(255,255,255,0.035);
}
.sp-ch-unit-toggle__btn {
  min-width: 74px;
  height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: rgba(255,255,255,0.52);
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  appearance: none;
  transition: background 160ms ease, color 160ms ease;
}
.sp-ch-unit-toggle__btn:hover {
  color: rgba(255,255,255,0.82);
}
.sp-ch-unit-toggle__btn.is-active {
  background: rgba(255,255,255,0.12);
  color: #fff;
}
.sp-ch-unit-toggle__btn:focus-visible {
  outline: 1px solid rgba(255,255,255,0.34);
  outline-offset: 2px;
}
.sp-ch-spec-table {
  margin-top: 2rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.sp-ch-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 52px;
  gap: 1.5rem;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sp-ch-spec-label {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255,255,255,0.5);
}
.sp-ch-spec-value {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.85);
  text-align: right;
  max-width: 56%;
}
.sp-ch-pricing {
  padding-top: 0;
}
.sp-ch-pricing__card {
  margin-top: 2rem;
  padding: 20px;
  border: 1px solid rgba(230,233,238,0.16);
  border-radius: 14px;
  background: rgba(255,255,255,0.04);
}
.sp-ch-pricing .sp-ch-pricing__title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #f4f6f8 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.35);
}
.sp-ch-pricing .sp-ch-pricing__amount {
  margin: 0;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 300;
  line-height: 1.2;
  color: rgba(255,255,255,0.88) !important;
  letter-spacing: 0;
  text-shadow: none;
}
.sp-ch-pricing .sp-ch-pricing__note {
  margin: 10px 0 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  color: rgba(244,246,248,0.72) !important;
}
.sp-ch-pricing__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.sp-ch-spec-footnotes {
  max-width: 720px;
  margin-top: 1rem;
}
.sp-ch-spec-footnote {
  margin: 0.35rem 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255,255,255,0.44);
}

/* ── Recommended amplification ── */
.sp-ch-amp {
  padding-top: 0;
}
.sp-ch-amp__copy {
  max-width: 640px;
}

/* ── Downloads (Specs tab) ── */
.sp-ch-dl-list {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
}
.sp-ch-dl-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sp-ch-dl-name {
  font-size: 14px;
  color: rgba(255,255,255,0.6);
}

/* ── FAQ accordion ── */
.sp-ch-faq-list {
  margin-top: 2rem;
}
.sp-ch-faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sp-ch-faq-q {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 20px 0;
  font-size: 15px;
  font-weight: 400;
  color: rgba(255,255,255,0.8);
  cursor: pointer;
  position: relative;
  padding-right: 2rem;
}
.sp-ch-faq-q::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  font-weight: 300;
  color: rgba(255,255,255,0.3);
  transition: transform 0.25s;
}
.sp-ch-faq-item--open .sp-ch-faq-q::after {
  content: '\2212';
}
.sp-ch-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
  padding: 0;
}
.sp-ch-faq-item--open .sp-ch-faq-a {
  max-height: 300px;
  padding-bottom: 20px;
}
.sp-ch-faq-a p {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.5);
  line-height: 1.6;
  margin: 0;
}

/* ── Compare — Best for cards ── */
.sp-ch-compare-hero {
  padding-bottom: 0;
}
.sp-ch-bestfor {
  padding-top: 0;
}
.sp-ch-bestfor-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-ch-gap);
  margin-top: 2rem;
}
.sp-ch-bestfor-card {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  padding: 2rem;
}
.sp-ch-bestfor-card__name {
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 0.5rem;
}
.sp-ch-bestfor-card__fit {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.5);
}

/* ── Compare — Key differences ── */
.sp-ch-diffs {
  padding-top: 0;
}
.sp-ch-diffs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-ch-gap);
}
.sp-ch-diffs-col__name {
  font-size: 15px;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
  margin-bottom: 0.75rem;
}
.sp-ch-diffs-col__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sp-ch-diffs-col__list li {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.5);
  padding: 6px 0 6px 16px;
  position: relative;
}
.sp-ch-diffs-col__list li::before {
  content: '\00b7';
  position: absolute;
  left: 0;
  color: rgba(255,255,255,0.25);
}

/* ── Compare spec table ── */
.sp-ch-compare-head {
  max-width: 720px;
  margin-bottom: 18px;
}
.sp-ch-cmp-tbl {
  margin-top: 2rem;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.sp-ch-cmp-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sp-ch-cmp-row--head {
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.sp-ch-cmp-row--section {
  background: rgba(255,255,255,0.045);
}
.sp-ch-cmp-row--section .sp-ch-cmp-cell {
  color: #fff;
  font-weight: 500;
}
.sp-ch-cmp-row--decision .sp-ch-cmp-cell:not(.sp-ch-cmp-cell--label) {
  color: rgba(255,255,255,0.78);
}
.sp-ch-cmp-cell {
  padding: 14px 8px;
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
}
.sp-ch-cmp-cell--label {
  color: rgba(255,255,255,0.4);
  font-weight: 400;
}
.sp-ch-cmp-cell--name {
  font-weight: 500;
  color: #fff;
  font-size: 15px;
}
.sp-ch-cmp-row--price .sp-ch-cmp-cell {
  font-weight: 400;
  color: rgba(255,255,255,0.85);
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 900px) {
  :root {
    --sp-ch-pad: 56px;
  }
  .sp-ch-h1 { font-size: 36px; }
  .sp-ch-h2 { font-size: 24px; }
  .sp-ch-hero { height: auto; min-height: 620px; }
  body.challenger .sp-ch-hero__img {
    object-position: 64% center;
  }
  .sp-ch-hero .awards-list { grid-template-columns: 1fr; }
  .sp-ch-hero .awards-list {
    grid-template-columns: repeat(3, minmax(130px, 148px));
    overflow-x: auto;
    padding-bottom: 6px;
  }
  .sp-ch-hero .award-badge {
    width: 64px;
    max-height: 20px;
  }
  .sp-ch-cards3 { grid-template-columns: 1fr; }
  .sp-ch-cards4 { grid-template-columns: 1fr; }
  .sp-ch-motion-card__media { min-height: 260px; }
  .sp-ch-motion-card__poster { min-height: 260px; }
  .sp-ch-measured__title { font-size: 30px; }
  .sp-ch-measured__tabs {
    display: flex;
    width: 100%;
  }
  .sp-ch-measured__tab {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 12px;
  }
  .sp-ch-finishes { padding: 72px 0; }
  .sp-ch-finishes__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .sp-ch-finishes .sp-ch-finish-selector {
    display: contents;
  }
  .sp-ch-finishes .sp-ch-finish-selector__head {
    order: 1;
  }
  .sp-ch-finishes .sp-ch-finish-viewer {
    order: 2;
  }
  .sp-ch-finishes .sp-ch-finish-options {
    order: 3;
  }
  .sp-ch-finishes .sp-ch-finish-material {
    order: 4;
  }
  .sp-ch-finishes .sp-ch-finish-ral {
    order: 5;
  }
  .sp-ch-finish-viewer__stage { aspect-ratio: 1 / 1; }
  body.bloom .sp-ch-finish-viewer__stage {
    aspect-ratio: 0.82 / 1;
    width: min(100%, 460px);
    min-height: 500px;
    margin-right: auto;
  }
  .sp-ch-finish-selector__title { font-size: 32px; }
  .sp-ch-finish-details { gap: 10px; }
  .sp-ch-bestfor-grid { grid-template-columns: 1fr; }
  .sp-ch-diffs-grid { grid-template-columns: 1fr; }
  .sp-ch-cmp-cell { font-size: 12px; padding: 10px 4px; }

  .sp-prd-header {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
    gap: 1rem;
    padding: 10px 16px;
  }
  .sp-prd-header__name { display: none; }
  .sp-prd-tabs { gap: 24px; flex-shrink: 0; margin-left: 0; }
  .sp-prd-tab {
    padding: 0;
    font-size: 13px;
  }
  .sp-prd-tabs__item { font-size: 13px; }
  .sp-prd-tabs__item::after { bottom: -10px; height: 2px; }
  .sp-prd-tabs__item:hover::after,
  .sp-prd-tabs__item.current.active::after { bottom: -6px; }
}

@media (max-width: 560px) {
  .sp-ch-hero { min-height: 560px; }
  body.challenger .sp-ch-hero__img {
    object-position: 74% center;
  }
  .sp-ch-hero__content { padding-bottom: 40px; }
  .sp-ch-h1 { font-size: 32px; }
  .sp-ch-h2 { font-size: 22px; }
  .sp-ch-sub { font-size: 14px; }
  .sp-ch-hero .sp-ch-hero__price {
    margin: 12px 0 14px;
    font-size: 13px;
  }
  .sp-ch-hero .sp-ch-h1,
  .sp-ch-hero .sp-ch-sub,
  .sp-ch-hero .sp-ch-hero__price,
  .sp-ch-hero .sp-ch-hero__ctas {
    top: 18px;
  }
  .sp-ch-hero .awards-strip {
    margin-top: 24px;
    padding-top: 12px;
    gap: 10px;
    transform: translateY(18px);
  }
  .sp-ch-hero .awards-list {
    gap: 8px;
  }
  .sp-ch-hero .award-link {
    padding: 19px 14px 17px;
  }
  .sp-ch-hero .award-badge {
    width: 56px;
    max-height: 18px;
  }
  .sp-ch-hero .award-name {
    font-size: 12px;
  }
  .sp-ch-hero .award-meta {
    font-size: 9px;
  }
  .sp-ch-pricing__card {
    padding: 18px;
  }
  .sp-ch-pricing__title {
    font-size: 16px;
  }
  .sp-ch-pricing__amount {
    font-size: 24px;
  }
  .sp-ch-pricing__note {
    font-size: 11px;
  }
  .sp-ch-motion-card__title { font-size: 20px; }
  .sp-ch-motion-card__play { width: 60px; height: 60px; }
  .sp-ch-measured__title { font-size: 28px; }
  .sp-ch-measured__sub { font-size: 14px; }
  .sp-ch-measured__tab { font-size: 12px; }
  .sp-ch-measured__caption {
    left: 10px;
    top: 10px;
    max-width: calc(100% - 20px);
    font-size: 11px;
  }
  .sp-ch-motion-modal { padding: 12px; }
  .sp-ch-motion-modal__dialog { padding: 52px 12px 12px; }
  .sp-ch-keyspecs__row,
  .sp-ch-spec-row {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
    gap: 0.4rem;
  }
  .sp-ch-keyspecs__value,
  .sp-ch-spec-value {
    max-width: 100%;
    text-align: left;
  }
  .sp-ch-finishes { padding: 60px 0; }
  .sp-ch-finish-selector__title { font-size: 28px; }
  .sp-ch-finish-details {
    grid-template-columns: 1fr;
  }
  .sp-ch-finish-detail img {
    aspect-ratio: 16 / 8;
  }
  .sp-ch-finish-option {
    min-height: 70px;
  }
  .sp-ch-finish-option__swatch {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }
  .sp-ch-finish-ral__panel {
    padding-top: 12px;
    padding-left: 0;
    padding-right: 0;
  }
  .sp-ch-finish-ral__panel .ral-row {
    align-items: flex-start;
    flex-direction: column;
    padding: 0 14px;
  }
  .sp-ch-finish-ral__input,
  .sp-ch-finish-ral__cta {
    width: 100%;
  }
}

/* Tighten Finishes corner radius to match the button system. */
.sp-ch-finishes .sp-ch-finish-viewer__stage,
.sp-ch-finishes .sp-ch-finish-detail img,
.sp-ch-finishes .sp-ch-finish-option,
.sp-ch-finishes .sp-ch-finish-option__swatch,
.sp-ch-finishes .sp-ch-finish-material,
.sp-ch-finishes .sp-ch-finish-material__swatch,
.sp-ch-finishes .sp-ch-finish-material__img,
.sp-ch-finishes .sp-ch-finish-ral__row,
.sp-ch-finishes .sp-ch-finish-ral__plus,
.sp-ch-finishes .sp-ch-finish-ral__fan span,
.sp-ch-finishes .sp-ch-finish-ral__input,
.sp-ch-finishes .sp-ch-finish-ral__cta {
  border-radius: 4px !important;
}
.sp-ch-finishes .sp-ch-finish-ral__panel .ral-row {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
.sp-ch-finishes .sp-ch-finish-ral__input {
  padding-left: 24px !important;
}

@media (max-width: 560px) {
  .sp-ch-finishes .sp-ch-finish-ral__panel .ral-row {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* Design page brand alignment: match the rest of Silent Pound */
body.design,
body.design .sp-design-sec,
body.design .sp-design-hero {
  font-family: 'Poppins', sans-serif;
}
body.design {
  background: #000;
}
body.design .sp-design-sec {
  background: #000;
  border-top: 0;
}
body.design .sp-design-hero + .sp-design-sec,
body.design .sp-design-sec + .sp-design-sec {
  border-top: 1px solid rgba(255,255,255,0.06);
}
body.design .sp-design-sec::before {
  display: none;
}
body.design .sp-design-label {
  color: rgba(255,255,255,0.38);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
}
body.design .sp-design-label::before {
  display: none;
}
body.design .sp-design-h2 {
  color: #fff;
  font-size: clamp(32px, 4vw, 60px);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
body.design .sp-design-sub,
body.design .sp-design-micro,
body.design .sp-design-hero__sub {
  color: rgba(255,255,255,0.6);
}
body.design .sp-design-micro {
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: none;
}
body.design .sp-design-rule {
  display: none;
}
body.design .sp-design-hero__overlay {
  background: linear-gradient(to top, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.14) 62%);
}
body.design .sp-design-hero__h1 {
  max-width: min(50vw, 760px);
  color: #fff;
  font-size: clamp(40px, 6vw, 88px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-shadow: none;
}
@media (max-width: 991px) {
  body.design .sp-design-hero__h1 {
    max-width: 100%;
  }
}
body.design .sp-btn,
body.design .sp-design-hero__ctas .sp-btn,
body.design .sp-design-form .sp-btn,
body.design .sp-design-final-cta .sp-btn,
body.design .sp-design-bridge .sp-btn {
  border-radius: 4px;
}
body.design .sp-design-img,
body.design .sp-design-grid5 img,
body.design .sp-design-material img,
body.design .sp-design-card,
body.design .sp-design-card img,
body.design .sp-design-motion-player,
body.design .sp-design-form-wrap,
body.design .sp-design-form__input {
  border-radius: 4px;
}
body.design .sp-design-card img {
  border-radius: 4px 4px 0 0;
}
body.design .sp-design-img,
body.design .sp-design-grid5 img,
body.design .sp-design-material img,
body.design .sp-design-card img {
  border-color: rgba(255,255,255,0.08);
  box-shadow: none;
}
body.design .sp-design-motion-tabs,
body.design .sp-design-tabs {
  width: auto;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  border-radius: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}
body.design .sp-design-motion-tab,
body.design .sp-design-tab {
  border-radius: 0;
  color: rgba(255,255,255,0.38);
  padding: 0.75rem 2rem;
  border-bottom: 2px solid transparent;
  background: none;
}
body.design .sp-design-motion-tab--active,
body.design .sp-design-motion-tab:hover,
body.design .sp-design-tab--active,
body.design .sp-design-tab:hover {
  color: #fff;
  background: none;
  border-bottom-color: rgba(255,255,255,0.6);
}
body.design .sp-design-signature,
body.design .sp-design-motion,
body.design .sp-design-spaces,
body.design .sp-design-finishes,
body.design .sp-design-final-cta {
  background: #000;
}
body.design .sp-design-card,
body.design .sp-design-form-wrap {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  box-shadow: none;
}
body.design .sp-design-bridge__overlay {
  background:
    linear-gradient(90deg, rgba(0,0,0,0.78), rgba(0,0,0,0.28) 36%, rgba(0,0,0,0.28) 64%, rgba(0,0,0,0.78)),
    linear-gradient(180deg, rgba(0,0,0,0.20), rgba(0,0,0,0.32));
}
body.design .sp-design-bridge .sp-design-sub {
  max-width: 720px;
}
body.design .sp-design-duo {
  align-items: stretch;
}
body.design .sp-design-duo img:nth-child(2) {
  margin-top: 0;
}
body.design .sp-design-duo img {
  height: 100%;
}

/* Design page scroll navigation and visible finish/options sections */
body.design [id^="design-"] {
  scroll-margin-top: 120px;
}

body.design .sp-design-subnav__list {
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

body.design .sp-design-subnav__list::-webkit-scrollbar {
  display: none;
}

body.design .sp-design-subnav .main_tab_header > li {
  color: rgba(255,255,255,0.48);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

body.design .sp-design-subnav .main_tab_header > li::after {
  display: none !important;
}

body.design .sp-design-subnav .main_tab_header > li > a {
  color: inherit !important;
  font-size: inherit;
  font-weight: inherit !important;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: inherit;
  white-space: nowrap;
  text-decoration: none !important;
}

body.design .sp-design-subnav .main_tab_header > li:hover,
body.design .sp-design-subnav .main_tab_header > li.current,
body.design .sp-design-subnav .main_tab_header > li.active {
  color: #fff;
}

body.design .sp-design-motion__intro,
body.design .sp-design-finishes__header .sp-design-sub,
body.design .sp-design-option-block__head p,
body.design .sp-design-form__intro,
body.design .sp-design-final-cta__trust {
  max-width: 720px;
  color: rgba(255,255,255,0.62);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.8;
}

body.design .sp-design-motion__intro {
  margin: 18px 0 30px;
}

body.design .sp-design-material-cards,
body.design .sp-design-model-cards,
body.design .sp-design-cards--three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

body.design .sp-design-material-cards .sp-design-card {
  padding: 0;
}

body.design .sp-design-option-block .sp-design-card,
body.design .sp-design-detail .sp-design-cards .sp-design-card {
  padding: 0;
}

body.design .sp-design-model-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: clamp(54px, 7vw, 92px);
}

body.design .sp-design-model-card {
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 4px;
  padding: clamp(26px, 4vw, 46px);
  background: rgba(255,255,255,0.04);
}

body.design .sp-design-model-card h3,
body.design .sp-design-option-block__head h3,
body.design .sp-design-card__body h3 {
  color: #fff;
  font-size: clamp(22px, 2.2vw, 34px);
  font-weight: 300;
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin: 0 0 18px;
}

body.design .sp-design-model-card ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.design .sp-design-model-card li {
  position: relative;
  padding-left: 18px;
  color: rgba(255,255,255,0.74);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
}

body.design .sp-design-model-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,0.52);
}

body.design .sp-design-card__body {
  padding: 20px;
}

body.design .sp-design-card__body p {
  color: rgba(255,255,255,0.64);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  margin: 0;
}

body.design .sp-design-option-block {
  margin-top: clamp(48px, 6vw, 82px);
}

body.design .sp-design-option-block__head {
  margin-bottom: 22px;
}

body.design .sp-design-cards--two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.design .sp-design-cards--three .sp-design-card--text,
body.design .sp-design-card--text {
  min-height: 260px;
  align-items: flex-end;
}

body.design .sp-design-custom {
  background: #000;
}

body.design .sp-design-form__intro {
  margin: -0.3rem 0 1.6rem;
}

body.design .sp-design-form__success {
  flex-basis: 100%;
  color: rgba(255,255,255,0.72);
  font-size: 13px;
  line-height: 1.6;
  margin: 8px 0 0;
}

body.design .sp-design-final-cta__btns {
  margin-top: 26px;
}

body.design .sp-design-final-cta__trust {
  margin: 18px auto 0;
  font-size: 13px;
}

@media (max-width: 900px) {
  body.design .sp-design-material-cards,
  body.design .sp-design-model-cards,
  body.design .sp-design-cards--three,
  body.design .sp-design-cards--two {
    grid-template-columns: 1fr;
  }

  body.design .sp-design-subnav__list {
    gap: 30px;
  }

  body.design .sp-design-subnav .main_tab_header > li {
    font-size: 11px;
  }
}

@media (max-width: 768px) {
  body.design [id^="design-"] {
    scroll-margin-top: 96px;
  }
  body.design .sp-design-hero__content {
    width: 100%;
  }

  body.design .sp-design-hero__sub {
    max-width: min(320px, calc(100vw - 44px));
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: normal;
  }

  body.design .sp-design-hero__ctas .sp-btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  body.design .sp-design-form {
    flex-direction: column;
    align-items: stretch;
  }

  body.design .sp-design-form__input,
body.design .sp-design-form .sp-btn {
    width: 100%;
    flex: 0 0 auto;
  }
}

/* Bloom finish previews use tall product images; keep the full speaker visible. */
body.bloom .sp-ch-finishes__grid {
  align-items: start !important;
  gap: clamp(20px, 3vw, 42px) !important;
  grid-template-columns: minmax(0, 460px) minmax(320px, 420px) !important;
  justify-content: center !important;
}
body.bloom .sp-ch-finish-viewer {
  display: flex !important;
  flex-direction: column !important;
  width: min(100%, 460px) !important;
  height: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.bloom .sp-ch-finish-selector {
  width: min(100%, 420px) !important;
}
body.bloom .sp-ch-finish-viewer__stage {
  aspect-ratio: 1089 / 1444 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 610px !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
body.bloom .sp-ch-finish-viewer__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
  border-radius: 4px !important;
}
body.bloom .sp-ch-finish-viewer__meta {
  width: 100% !important;
  margin-top: 10px !important;
  justify-content: flex-start !important;
}
body.bloom .sp-ch-finish-option {
  gap: 16px !important;
}
body.bloom .sp-ch-finish-option__swatch,
body.bloom .sp-ch-finish-material__swatch {
  width: 82px !important;
  height: 62px !important;
  flex-basis: 82px !important;
  border-radius: 4px !important;
}
body.bloom .sp-ch-finish-option__swatch {
  border: 0 !important;
  box-shadow: none !important;
}
body.bloom .sp-ch-finish-option__check,
body.bloom .sp-ch-finish-material__check {
  top: -6px !important;
  right: -6px !important;
}

@media (max-width: 900px) {
  body.bloom .sp-ch-finishes__grid {
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
  }
  body.bloom .sp-ch-finish-viewer {
    width: min(100%, 460px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    order: 2 !important;
  }
  body.bloom .sp-ch-finish-selector {
    width: 100% !important;
    display: contents !important;
  }
  body.bloom .sp-ch-finish-viewer__stage {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
}

/* === MOBILE REVIEWS FIX === */
.reviews-grid-mobile { display: none; }
@media (max-width: 767px) {
  .reviews-grid-desktop { display: none !important; }
  .reviews-grid-mobile { display: flex !important; flex-direction: column !important; gap: 12px !important; }
  .reviews-grid-mobile .review-card { width: 100% !important; margin: 0 !important; }
}

/* === MOBILE AWARDS FIX === */
@media (max-width: 767px) {
  .award-items {
    grid-template-columns: 1fr !important;
  }
  .award-item,
  .award-item-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 1rem !important;
  }
  .award-badge-img {
    height: 40px !important;
    width: auto !important;
    max-width: 80px !important;
    flex-shrink: 0 !important;
  }
}

/* === MOBILE HEADER TOP GAP FIX === */
@media only screen and (max-width: 991px) {
  .main-header.bg-none.top_active,
  .inactive-slide .main-header.bg-none.top_active {
    padding-top: 0 !important;
  }

  .main-header,
  .navbar-collapsed.collapse-c {
    top: 0 !important;
  }
}

/* === MOBILE PRODUCT SUBMENU HIDE === */
@media only screen and (max-width: 767px) {
  body.page-template-challange_pound-php .header-bavuh,
  body.design .header-bavuh,
  body.technology .header-bavuh {
    display: none !important;
  }
}

@media only screen and (orientation: landscape) and (max-height: 560px) {
  body.page-template-challange_pound-php .header-bavuh,
  body.design .header-bavuh,
  body.technology .header-bavuh {
    display: none !important;
  }
}

/* === MOBILE PRODUCT HERO AWARDS FIT === */
@media only screen and (max-width: 560px) {
  .sp-ch-hero .awards-strip {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .sp-ch-hero .awards-list {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    padding-right: 0 !important;
  }

  .sp-ch-hero .award {
    min-width: 0 !important;
  }

  .sp-ch-hero .award-link {
    width: 100% !important;
    min-width: 0 !important;
    padding: 16px 10px 14px !important;
  }

  .sp-ch-hero .award-pub {
    font-size: 7.5px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.05 !important;
    max-width: 82% !important;
    margin: 0 auto !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .sp-ch-hero .award-name {
    font-size: 12px !important;
    line-height: 1.08 !important;
  }

  .sp-ch-hero .award-meta {
    font-size: 9px !important;
  }
}
