/* ═══════════════════════════════════════════
   FabEquipmentPro — Inner Page Styles
   Used for Shipping Policy, Returns, etc.
   v1.1.0 — added hero grid/glow
   ═══════════════════════════════════════════ */

/* ── Page Hero ── */
.page-hero {
  background: var(--dark, #0a1628);
  padding: 100px 0 48px;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(255,255,255,.07) 39px, rgba(255,255,255,.07) 40px),
    repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(255,255,255,.07) 39px, rgba(255,255,255,.07) 40px);
  pointer-events: none;
}
.page-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gold, #EAB308) 0%, transparent 60%);
  z-index: 2;
}
.page-hero-glow {
  position: absolute;
  top: -40%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(234,179,8,.1) 0%, transparent 70%);
  pointer-events: none;
}
.page-hero .container {
  position: relative;
  z-index: 1;
}
.page-hero .breadcrumb {
  margin-bottom: 12px;
  font-family: 'Hind', sans-serif;
  font-size: 14px;
}
.page-hero .breadcrumb a {
  color: rgba(255,255,255,.5);
  text-decoration: none;
  transition: color .2s;
}
.page-hero .breadcrumb a:hover {
  color: var(--gold, #EAB308);
}
.page-hero .breadcrumb .sep {
  color: rgba(255,255,255,.25);
  margin: 0 8px;
}
.page-hero .breadcrumb span:last-child {
  color: rgba(255,255,255,.8);
}
.page-hero h1 {
  font-family: 'Urbanist', sans-serif;
  font-weight: 800;
  font-size: clamp(28px, 4vw, 42px);
  color: #fff;
  margin: 0;
  line-height: 1.2;
}

/* ── Content Body ── */
.inner-content {
  background: #fff;
  padding: 64px 0;
}
.content-body {
  max-width: 820px;
  margin: 0 auto;
  font-family: 'Hind', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #4a4a4a;
}
.content-body h1,
.content-body h2,
.content-body h3,
.content-body h4,
.content-body h5,
.content-body h6 {
  font-family: 'Urbanist', sans-serif;
  color: var(--heading, #1a1a2e);
  margin: 2em 0 0.6em;
  line-height: 1.3;
}
.content-body h1 { font-size: 32px; font-weight: 800; }
.content-body h2 {
  font-size: 24px;
  font-weight: 700;
  padding-bottom: 12px;
  border-bottom: 2px solid #f0f0f0;
}
.content-body h3 { font-size: 20px; font-weight: 700; }
.content-body h4 { font-size: 18px; font-weight: 600; }
.content-body h2:first-child,
.content-body h3:first-child {
  margin-top: 0;
}
.content-body p {
  margin: 0 0 1.2em;
}
.content-body a {
  color: var(--gold, #EAB308);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .2s;
}
.content-body a:hover {
  color: #ca9a07;
}
.content-body ul,
.content-body ol {
  margin: 0 0 1.5em;
  padding-left: 1.5em;
}
.content-body li {
  margin-bottom: 0.5em;
}
.content-body ul li::marker {
  color: var(--gold, #EAB308);
}
.content-body strong {
  color: var(--heading, #1a1a2e);
  font-weight: 600;
}
.content-body blockquote {
  border-left: 4px solid var(--gold, #EAB308);
  margin: 1.5em 0;
  padding: 16px 24px;
  background: #fafaf5;
  color: #555;
  font-style: italic;
}
.content-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
  font-size: 15px;
}
.content-body th {
  background: var(--dark, #0a1628);
  color: #fff;
  font-family: 'Urbanist', sans-serif;
  font-weight: 600;
  padding: 12px 16px;
  text-align: left;
}
.content-body td {
  padding: 10px 16px;
  border-bottom: 1px solid #eee;
}
.content-body tr:hover td {
  background: #fafaf5;
}
.content-body hr {
  border: none;
  border-top: 2px solid #f0f0f0;
  margin: 2em 0;
}
.content-body img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}

/* WP block styles */
.content-body .wp-block-separator {
  border-top: 2px solid #f0f0f0;
  margin: 2em 0;
}
.content-body .wp-block-heading {
  scroll-margin-top: 100px;
}

/* ── Inner CTA Box ── */
.inner-cta {
  background: #f8f8f5;
  padding: 48px 0;
}
.inner-cta-box {
  display: flex;
  align-items: center;
  gap: 32px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  padding: 32px 40px;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
.inner-cta-icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  background: var(--gold, #EAB308);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.inner-cta-icon svg {
  width: 28px;
  height: 28px;
  stroke: var(--dark, #0a1628);
}
.inner-cta-text {
  flex: 1;
}
.inner-cta-text h3 {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--heading, #1a1a2e);
  margin: 0 0 4px;
}
.inner-cta-text p {
  font-family: 'Hind', sans-serif;
  font-size: 15px;
  color: #767676;
  margin: 0;
  line-height: 1.5;
}
.inner-cta-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.inner-cta-actions .btn {
  font-family: 'Urbanist', sans-serif;
  font-weight: 600;
  font-size: 14px;
  padding: 10px 24px;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
  transition: all .2s;
  display: inline-block;
}
.inner-cta-actions .btn-gold {
  background: var(--gold, #EAB308);
  color: var(--dark, #0a1628);
}
.inner-cta-actions .btn-gold:hover {
  background: #d4a007;
}
.inner-cta-actions .btn-outline {
  border: 1.5px solid #d0d0d0;
  color: var(--heading, #1a1a2e);
  background: transparent;
}
.inner-cta-actions .btn-outline:hover {
  border-color: var(--heading, #1a1a2e);
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .inner-cta-box {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }
  .inner-cta-actions {
    flex-direction: column;
    width: 100%;
  }
  .inner-cta-actions .btn {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .page-hero {
    padding: 90px 0 36px;
  }
  .page-hero h1 {
    font-size: 26px;
  }
  .inner-content {
    padding: 40px 0;
  }
  .content-body {
    font-size: 15px;
  }
  .content-body h2 {
    font-size: 21px;
  }
}
@media (max-width: 480px) {
  .page-hero {
    padding: 80px 0 28px;
  }
  .inner-content {
    padding: 28px 0;
  }
  .content-body h2 {
    font-size: 19px;
  }
}

/* ── Shipping Highlights ── */
.ship-highlights {
  background: #f8f8f5;
  padding: 48px 0;
  border-bottom: 1px solid #eee;
}
.ship-highlights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.ship-hl {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 24px 20px;
  transition: border-color .2s, box-shadow .2s;
}
.ship-hl:hover {
  border-color: var(--gold, #EAB308);
  box-shadow: 0 4px 16px rgba(234,179,8,.1);
}
.ship-hl-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: var(--dark, #0a1628);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ship-hl-icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--gold, #EAB308);
}
.ship-hl-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ship-hl-text strong {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--heading, #1a1a2e);
  line-height: 1.3;
}
.ship-hl-text span {
  font-family: 'Hind', sans-serif;
  font-size: 13px;
  color: #767676;
  line-height: 1.4;
}

/* ── Shipping Methods Table ── */
.ship-methods-table {
  margin: 24px 0 28px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e8e8e8;
}
.ship-methods-table table {
  margin: 0;
}
.ship-methods-table th {
  background: var(--dark, #0a1628);
  color: #fff;
  font-family: 'Urbanist', sans-serif;
  font-weight: 600;
  font-size: 14px;
  padding: 14px 20px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.ship-methods-table td {
  padding: 14px 20px;
  font-size: 15px;
  border-bottom: 1px solid #f0f0f0;
}
.ship-methods-table tr:last-child td {
  border-bottom: none;
}
.ship-methods-table tr:hover td {
  background: #fafaf5;
}
.ship-free-badge {
  display: inline-block;
  background: #ecfdf5;
  color: #059669;
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 13px;
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: .02em;
}

/* ── Callout Boxes ── */
.ship-callout {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #f0f4ff;
  border: 1px solid #c7d6f0;
  border-radius: 10px;
  padding: 20px 24px;
  margin: 24px 0;
}
.ship-callout--warn {
  background: #fffbeb;
  border-color: #f5d670;
}
.ship-callout-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.ship-callout-icon svg {
  width: 24px;
  height: 24px;
}
.ship-callout .ship-callout-icon svg {
  stroke: #3b6fcf;
}
.ship-callout--warn .ship-callout-icon svg {
  stroke: #b88c00;
}
.ship-callout strong {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 15px;
  display: block;
  margin-bottom: 4px;
}
.ship-callout .ship-callout-icon + div strong {
  color: #1e3a6e;
}
.ship-callout--warn .ship-callout-icon + div strong {
  color: #7c5e00;
}
.ship-callout p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}
.ship-callout p:last-child {
  margin-bottom: 0;
}

/* ── Damage Steps ── */
.ship-steps {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 28px 0;
}
.ship-step {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 24px;
  transition: border-color .2s;
}
.ship-step:hover {
  border-color: var(--gold, #EAB308);
}
.ship-step-num {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: var(--dark, #0a1628);
  color: var(--gold, #EAB308);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Urbanist', sans-serif;
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
}
.ship-step-body {
  flex: 1;
  min-width: 0;
}
.ship-step-body strong {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--heading, #1a1a2e);
  display: block;
  margin-bottom: 6px;
}
.ship-step-body p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: #4a4a4a;
}

/* ── Shipping Content Body Modifier ── */
.content-body--shipping {
  max-width: 860px;
}

/* ── Responsive: Shipping Components ── */
@media (max-width: 960px) {
  .ship-highlights-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .ship-highlights-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .ship-highlights {
    padding: 32px 0;
  }
  .ship-hl {
    padding: 18px 16px;
  }
  .ship-methods-table th,
  .ship-methods-table td {
    padding: 10px 12px;
    font-size: 13px;
  }
  .ship-callout {
    padding: 16px;
    gap: 12px;
  }
  .ship-step {
    padding: 18px 16px;
    gap: 14px;
  }
  .ship-step-num {
    width: 34px;
    height: 34px;
    font-size: 15px;
  }
}

/* ── Hero Subtitle ── */
.page-hero .hero-sub {
  color: rgba(255,255,255,.45);
  font-family: 'Hind', sans-serif;
  font-size: 15px;
  margin-top: 8px;
}

/* ── TOS Layout ── */
.tos-wrap {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 56px;
  align-items: start;
}
.tos-sidebar {
  position: sticky;
  top: 76px;
  max-height: calc(100vh - 96px);
  overflow-y: auto;
}
.tos-sidebar::-webkit-scrollbar { width: 3px; }
.tos-sidebar::-webkit-scrollbar-thumb { background: #e8e9ec; border-radius: 3px; }
.tos-main { min-width: 0; }

/* ── Table of Contents ── */
.toc {
  background: #f5f6f8;
  border: 1px solid #e8e9ec;
  border-radius: 8px;
  padding: 24px 20px;
}
.toc-label {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  color: var(--heading, #1a1a2e);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e8e9ec;
}
.toc-grid {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.toc a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  font-size: 13.5px;
  color: #767676;
  transition: all .2s;
  border-radius: 4px;
  border-left: 2px solid transparent;
  margin-left: -10px;
  padding-left: 10px;
  text-decoration: none;
}
.toc a:hover {
  color: var(--gold, #EAB308);
  background: rgba(234,179,8,.04);
}
.toc a.active {
  color: var(--heading, #1a1a2e);
  font-weight: 600;
  border-left-color: var(--gold, #EAB308);
  background: rgba(234,179,8,.06);
}
.toc a.active .toc-num {
  color: var(--gold, #EAB308);
  opacity: 1;
}
.toc a .toc-num {
  font-family: 'Urbanist', sans-serif;
  font-weight: 800;
  font-size: 12px;
  color: var(--gold, #EAB308);
  opacity: .5;
  min-width: 22px;
  transition: opacity .2s;
}

/* ── TOS Section Blocks ── */
.tos-section {
  padding: 36px 0;
  border-bottom: 1px solid #f0f0f0;
  scroll-margin-top: 76px;
}
.tos-section:first-child { padding-top: 0; }
.tos-section:last-of-type { border-bottom: none; }
.tos-section-header {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 18px;
}
.tos-num {
  font-family: 'Urbanist', sans-serif;
  font-weight: 900;
  font-size: 38px;
  line-height: 1;
  color: var(--gold, #EAB308);
  opacity: .3;
  min-width: 48px;
}
.tos-section-header h2 {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 21px;
  color: var(--heading, #1a1a2e);
  margin: 0;
  line-height: 1.3;
  border-bottom: none;
  padding-bottom: 0;
}
.tos-body {
  padding-left: 62px;
  font-family: 'Hind', sans-serif;
  font-size: 15px;
  line-height: 1.8;
  color: #4a4a4a;
}
.tos-body p { margin: 0 0 1.1em; }
.tos-body a {
  color: var(--gold, #EAB308);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .2s;
}
.tos-body a:hover { color: #ca9a07; }
.tos-body ul,
.tos-body ol {
  margin: 0 0 1.2em;
  padding-left: 1.4em;
}
.tos-body li { margin-bottom: 0.4em; }
.tos-body ul li::marker { color: var(--gold, #EAB308); }
.tos-body strong { color: var(--heading, #1a1a2e); font-weight: 600; }
.tos-body h3 {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: var(--heading, #1a1a2e);
  margin: 1.5em 0 0.5em;
}
.tos-body .legal-caps {
  font-size: 13.5px;
  line-height: 1.7;
  text-transform: uppercase;
  letter-spacing: .2px;
  color: #666;
}

/* ── TOS Contact Block ── */
.tos-contact {
  background: var(--dark, #0a1628);
  border-radius: 8px;
  padding: 32px 36px;
  margin-top: 8px;
  color: rgba(255,255,255,.65);
  font-size: 14.5px;
  line-height: 1.8;
}
.tos-contact strong { color: #fff; }
.tos-contact a {
  color: var(--gold, #EAB308);
  text-decoration: underline;
}

/* ── Responsive: TOS ── */
@media (max-width: 960px) {
  .tos-wrap {
    grid-template-columns: 200px 1fr;
    gap: 32px;
  }
  .toc a { font-size: 12.5px; padding: 6px 8px; }
  .toc a .toc-num { font-size: 11px; min-width: 20px; }
}
@media (max-width: 768px) {
  .tos-wrap {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .tos-sidebar {
    position: relative;
    top: 0;
    max-height: none;
    margin-bottom: 36px;
  }
  .toc { padding: 20px; }
  .toc-grid {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0;
  }
  .toc a {
    font-size: 13px;
    padding: 6px 10px;
    margin-left: 0;
    border-left: none;
    width: 50%;
  }
  .toc a.active {
    border-left: none;
    background: rgba(234,179,8,.08);
  }
  .tos-num { font-size: 30px; min-width: 38px; }
  .tos-body { padding-left: 52px; font-size: 14.5px; }
  .tos-section-header h2 { font-size: 19px; }
  .tos-contact { padding: 24px 20px; }
}
@media (max-width: 480px) {
  .tos-body { padding-left: 0; margin-top: 12px; }
  .tos-section-header { flex-direction: column; gap: 4px; }
  .tos-num { font-size: 28px; }
  .toc a { width: 100%; }
}

/* ═══════════════════════════════════════════
   Returns & Refunds Components
   v1.4.0
   ═══════════════════════════════════════════ */

/* ── Returns Highlights ── */
.ret-highlights {
  background: var(--light-bg, #f5f6f8);
  padding: 48px 0;
  border-bottom: 1px solid var(--border, #e8e9ec);
}
.ret-highlights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.ret-hl {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--border, #e8e9ec);
  border-radius: 10px;
  padding: 24px 20px;
  transition: border-color .2s, box-shadow .2s;
}
.ret-hl:hover {
  border-color: var(--gold, #EAB308);
  box-shadow: 0 4px 16px rgba(234,179,8,.1);
}
.ret-hl-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: var(--dark, #0a1628);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ret-hl-icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--gold, #EAB308);
}
.ret-hl-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ret-hl-text strong {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--heading, #1a1a2e);
  line-height: 1.3;
}
.ret-hl-text span {
  font-family: 'Hind', sans-serif;
  font-size: 13px;
  color: #767676;
  line-height: 1.4;
}

/* ── How Returns Work Steps ── */
.ret-process {
  background: #fff;
  padding: 56px 0;
  border-bottom: 1px solid var(--border, #e8e9ec);
}
.ret-process-title {
  font-family: 'Urbanist', sans-serif;
  font-weight: 800;
  font-size: 24px;
  color: var(--heading, #1a1a2e);
  text-align: center;
  margin-bottom: 40px;
}
.ret-process-title::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: var(--gold, #EAB308);
  margin: 12px auto 0;
}
.ret-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: 960px;
  margin: 0 auto;
  position: relative;
}
.ret-process-grid::before {
  content: '';
  position: absolute;
  top: 40px;
  left: calc(16.66% + 16px);
  right: calc(16.66% + 16px);
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--gold, #EAB308), var(--gold, #EAB308) 8px, transparent 8px, transparent 16px);
  opacity: .3;
}
.ret-step-card {
  text-align: center;
  position: relative;
  z-index: 1;
}
.ret-step-num {
  width: 56px;
  height: 56px;
  background: var(--dark, #0a1628);
  border: 3px solid var(--gold, #EAB308);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-family: 'Urbanist', sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--gold, #EAB308);
}
.ret-step-card h3 {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: var(--heading, #1a1a2e);
  margin-bottom: 8px;
}
.ret-step-card p {
  font-size: 14px;
  color: #767676;
  line-height: 1.6;
  max-width: 260px;
  margin: 0 auto;
}

/* ── Returns Fees Table ── */
.ret-fees-table {
  margin: 24px 0 28px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--border, #e8e9ec);
}
.ret-fees-table table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-size: 15px;
}
.ret-fees-table th {
  background: var(--dark, #0a1628);
  color: #fff;
  font-family: 'Urbanist', sans-serif;
  font-weight: 600;
  font-size: 14px;
  padding: 14px 20px;
  text-transform: uppercase;
  letter-spacing: .03em;
  text-align: left;
}
.ret-fees-table td {
  padding: 14px 20px;
  border-bottom: 1px solid #f0f0f0;
}
.ret-fees-table tr:last-child td {
  border-bottom: none;
}
.ret-fees-table tr:hover td {
  background: #fafaf5;
}
.ret-fee-badge {
  display: inline-block;
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 13px;
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: .02em;
}
.ret-fee-badge--free {
  background: #ecfdf5;
  color: #059669;
}
.ret-fee-badge--fee {
  background: #fef3c7;
  color: #92400e;
}

/* ── Returns Callout Boxes ── */
.ret-callout {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #f0f4ff;
  border: 1px solid #c7d6f0;
  border-radius: 10px;
  padding: 20px 24px;
  margin: 24px 0;
}
.ret-callout--warn {
  background: #fffbeb;
  border-color: #f5d670;
}
.ret-callout--success {
  background: #ecfdf5;
  border-color: #a7f3d0;
}
.ret-callout-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.ret-callout-icon svg {
  width: 24px;
  height: 24px;
}
.ret-callout .ret-callout-icon svg {
  stroke: #3b6fcf;
}
.ret-callout--warn .ret-callout-icon svg {
  stroke: #b88c00;
}
.ret-callout--success .ret-callout-icon svg {
  stroke: #059669;
}
.ret-callout strong {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 15px;
  display: block;
  margin-bottom: 4px;
}
.ret-callout .ret-callout-icon + div strong {
  color: #1e3a6e;
}
.ret-callout--warn .ret-callout-icon + div strong {
  color: #7c5e00;
}
.ret-callout--success .ret-callout-icon + div strong {
  color: #065f46;
}
.ret-callout p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}

/* ── Refund Timeline ── */
.ret-timeline {
  margin: 24px 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ret-timeline-item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid #f0f0f0;
  position: relative;
}
.ret-timeline-item:last-child {
  border-bottom: none;
}
.ret-timeline-marker {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: var(--dark, #0a1628);
  color: var(--gold, #EAB308);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Urbanist', sans-serif;
  font-weight: 800;
  font-size: 14px;
  position: relative;
}
.ret-timeline-marker::after {
  content: '';
  position: absolute;
  top: 36px;
  left: 50%;
  width: 2px;
  height: calc(100% + 4px);
  background: #e8e9ec;
  transform: translateX(-50%);
}
.ret-timeline-item:last-child .ret-timeline-marker::after {
  display: none;
}
.ret-timeline-body {
  flex: 1;
  min-width: 0;
}
.ret-timeline-body strong {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--heading, #1a1a2e);
  display: block;
  margin-bottom: 4px;
}
.ret-timeline-body p {
  margin: 0;
  font-size: 14px;
  color: #4a4a4a;
  line-height: 1.6;
}
.ret-time {
  display: inline-block;
  background: var(--light-bg, #f5f6f8);
  border: 1px solid var(--border, #e8e9ec);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--heading, #1a1a2e);
  margin-top: 6px;
  font-family: 'Urbanist', sans-serif;
}

/* ── Non-Returnable List ── */
.ret-noreturn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 24px;
  margin: 20px 0 28px;
  padding: 24px;
  background: var(--light-bg, #f5f6f8);
  border: 1px solid var(--border, #e8e9ec);
  border-radius: 10px;
}
.ret-noreturn-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #4a4a4a;
}
.ret-noreturn-item svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  stroke: #dc2626;
}

/* ── Returns Content Body Modifier ── */
.content-body--returns {
  max-width: 860px;
}

/* ── Responsive: Returns Components ── */
@media (max-width: 960px) {
  .ret-highlights-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ret-process-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
  }
  .ret-process-grid::before {
    display: none;
  }
}
@media (max-width: 768px) {
  .ret-noreturn {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .ret-highlights-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .ret-highlights {
    padding: 32px 0;
  }
  .ret-hl {
    padding: 18px 16px;
  }
  .ret-fees-table th,
  .ret-fees-table td {
    padding: 10px 12px;
    font-size: 13px;
  }
  .ret-callout {
    padding: 16px;
    gap: 12px;
  }
}


/* ═══════════════════════════════════════════════
   FINANCING PAGE COMPONENTS
   ═══════════════════════════════════════════════ */

/* ── Hero CTAs ── */
.hero-ctas {
  display: flex;
  gap: 14px;
  margin-top: 28px;
  flex-wrap: wrap;
}

/* ── Financing Highlights ── */
.fin-highlights {
  background: var(--light-bg);
  padding: 48px 0;
  border-bottom: 1px solid var(--border);
}
.fin-highlights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.fin-hl {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 24px 20px;
  transition: border-color .2s, box-shadow .2s;
}
.fin-hl:hover {
  border-color: var(--gold);
  box-shadow: 0 4px 16px rgba(234,179,8,.1);
}
.fin-hl-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: var(--dark);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fin-hl-icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--gold);
}
.fin-hl-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fin-hl-text strong {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 15px;
  color: var(--heading);
  line-height: 1.3;
}
.fin-hl-text span {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--body-text);
  line-height: 1.4;
}

/* ── How It Works Steps ── */
.fin-steps {
  background: #fff;
  padding: 56px 0;
  border-bottom: 1px solid var(--border);
}
.fin-steps-title {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 24px;
  color: var(--heading);
  text-align: center;
  margin-bottom: 40px;
}
.fin-steps-title::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: var(--gold);
  margin: 12px auto 0;
}
.fin-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: 960px;
  margin: 0 auto;
  position: relative;
}
.fin-steps-grid::before {
  content: '';
  position: absolute;
  top: 40px;
  left: calc(16.66% + 16px);
  right: calc(16.66% + 16px);
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--gold), var(--gold) 8px, transparent 8px, transparent 16px);
  opacity: .3;
}
.fin-step-card {
  text-align: center;
  position: relative;
  z-index: 1;
}
.fin-step-num {
  width: 56px;
  height: 56px;
  background: var(--dark);
  border: 3px solid var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 22px;
  color: var(--gold);
}
.fin-step-card h3 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 17px;
  color: var(--heading);
  margin-bottom: 8px;
}
.fin-step-card p {
  font-size: 14px;
  color: var(--body-text);
  line-height: 1.6;
  max-width: 260px;
  margin: 0 auto;
}

/* ── Payment Calculator ── */
.fin-calc {
  background: var(--dark);
  padding: 72px 0;
  position: relative;
  overflow: hidden;
}
.fin-calc::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(255,255,255,.03) 39px, rgba(255,255,255,.03) 40px),
    repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(255,255,255,.03) 39px, rgba(255,255,255,.03) 40px);
  pointer-events: none;
}
.fin-calc .container {
  position: relative;
  z-index: 1;
}
.fin-calc-header {
  text-align: center;
  margin-bottom: 48px;
}
.fin-calc-header h2 {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 28px;
  color: #fff;
  margin-bottom: 10px;
}
.fin-calc-header p {
  font-size: 15px;
  color: rgba(255,255,255,.5);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.7;
}
.fin-calc-box {
  max-width: 800px;
  margin: 0 auto;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 40px;
  display: flex;
  gap: 48px;
  align-items: center;
}
.fin-calc-left {
  flex: 1.2;
}
.fin-calc-right {
  flex: 1;
  text-align: center;
}
.fin-calc-label {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: rgba(255,255,255,.4);
  margin-bottom: 12px;
}
.fin-calc-amount {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 20px;
  color: #fff;
  margin-bottom: 24px;
}
.fin-calc-amount em {
  font-style: normal;
  color: var(--gold);
}
.fin-term-btns {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}
.fin-term-btn {
  flex: 1;
  padding: 12px 8px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 8px;
  background: transparent;
  color: rgba(255,255,255,.5);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: all .2s;
  text-align: center;
}
.fin-term-btn:hover {
  border-color: rgba(255,255,255,.3);
  color: rgba(255,255,255,.8);
}
.fin-term-btn.active {
  background: var(--gold);
  color: var(--dark);
  border-color: var(--gold);
}
.fin-calc-disclaimer {
  font-size: 12px;
  color: rgba(255,255,255,.3);
  line-height: 1.5;
  margin-top: 16px;
}
.fin-payment-display {
  padding: 32px 0;
}
.fin-payment-big {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 56px;
  color: var(--gold);
  line-height: 1;
}
.fin-payment-big sup {
  font-size: 24px;
  font-weight: 700;
  top: -20px;
  position: relative;
}
.fin-payment-detail {
  font-size: 14px;
  color: rgba(255,255,255,.45);
  margin-top: 8px;
}
.fin-payment-detail em {
  font-style: normal;
  color: rgba(255,255,255,.7);
}

/* ── Why Affirm / Features ── */
.fin-features {
  padding: 64px 0;
  background: #fff;
}
.fin-features-header {
  text-align: center;
  margin-bottom: 48px;
}
.fin-features-header h2 {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 28px;
  color: var(--heading);
  margin-bottom: 10px;
}
.fin-features-header p {
  font-size: 15px;
  color: var(--body-text);
  max-width: 540px;
  margin: 0 auto;
}
.fin-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  max-width: 1100px;
  margin: 0 auto;
}
.fin-feature {
  text-align: center;
  padding: 32px 20px;
  border: 1px solid var(--border);
  border-radius: 12px;
  transition: border-color .2s, box-shadow .2s;
}
.fin-feature:hover {
  border-color: var(--gold);
  box-shadow: 0 4px 20px rgba(234,179,8,.08);
}
.fin-feature-icon {
  width: 56px;
  height: 56px;
  background: var(--light-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
}
.fin-feature-icon svg {
  width: 26px;
  height: 26px;
  stroke: var(--gold);
}
.fin-feature h3 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 17px;
  color: var(--heading);
  margin-bottom: 8px;
}
.fin-feature p {
  font-size: 13.5px;
  color: var(--body-text);
  line-height: 1.6;
}

/* ── Equipment Examples ── */
.fin-examples {
  padding: 56px 0;
  background: var(--light-bg);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.fin-examples-header {
  text-align: center;
  margin-bottom: 40px;
}
.fin-examples-header h2 {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 24px;
  color: var(--heading);
  margin-bottom: 8px;
}
.fin-examples-header p {
  font-size: 14px;
  color: var(--body-text);
}
.fin-examples-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 960px;
  margin: 0 auto;
}
.fin-example {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 28px 24px;
  text-align: center;
  transition: border-color .2s, box-shadow .2s;
}
.fin-example:hover {
  border-color: var(--gold);
  box-shadow: 0 4px 20px rgba(234,179,8,.08);
}
.fin-example-cat {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--gold);
  margin-bottom: 8px;
}
.fin-example-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 17px;
  color: var(--heading);
  margin-bottom: 4px;
}
.fin-example-price {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 22px;
  color: var(--heading);
  margin-bottom: 16px;
}
.fin-example-divider {
  width: 40px;
  height: 2px;
  background: var(--border);
  margin: 0 auto 16px;
}
.fin-example-monthly {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--body-text);
  margin-bottom: 4px;
}
.fin-example-payment {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 28px;
  color: var(--gold);
}
.fin-example-payment sup {
  font-size: 14px;
  top: -8px;
  position: relative;
}
.fin-example-term {
  font-size: 12px;
  color: var(--body-text);
  margin-top: 4px;
}

/* ── FAQ ── */
.fin-faq {
  padding: 64px 0;
  background: #fff;
}
.fin-faq-header {
  text-align: center;
  margin-bottom: 40px;
}
.fin-faq-header h2 {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 28px;
  color: var(--heading);
  margin-bottom: 10px;
}
.fin-faq-header p {
  font-size: 15px;
  color: var(--body-text);
  max-width: 520px;
  margin: 0 auto;
}
.fin-faq-list {
  max-width: 760px;
  margin: 0 auto;
}
.fin-faq-item {
  border-bottom: 1px solid var(--border);
}
.fin-faq-item:first-child {
  border-top: 1px solid var(--border);
}
.fin-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 16px;
  color: var(--heading);
  transition: color .2s;
}
.fin-faq-item summary:hover {
  color: var(--gold);
}
.fin-faq-item summary::-webkit-details-marker {
  display: none;
}
.fin-faq-item summary::marker {
  display: none;
}
.fin-faq-chevron {
  width: 20px;
  height: 20px;
  stroke: var(--body-text);
  transition: transform .2s;
  flex-shrink: 0;
  margin-left: 16px;
}
.fin-faq-item[open] .fin-faq-chevron {
  transform: rotate(180deg);
  stroke: var(--gold);
}
.fin-faq-answer {
  padding: 0 0 20px;
  font-size: 15px;
  line-height: 1.75;
  color: #4a4a4a;
}
.fin-faq-answer a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ── Responsive: Financing Components ── */
@media (max-width: 1100px) {
  .fin-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 960px) {
  .fin-highlights-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .fin-steps-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
  }
  .fin-steps-grid::before {
    display: none;
  }
  .fin-calc-box {
    flex-direction: column;
    gap: 32px;
    padding: 28px 24px;
  }
  .fin-examples-grid {
    grid-template-columns: 1fr;
    max-width: 380px;
  }
}
@media (max-width: 768px) {
  .fin-features-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .fin-highlights-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .fin-highlights {
    padding: 32px 0;
  }
  .fin-hl {
    padding: 18px 16px;
  }
  .fin-features-grid {
    grid-template-columns: 1fr;
  }
  .fin-payment-big {
    font-size: 44px;
  }
}
@media (max-width: 480px) {
  .hero-ctas {
    flex-direction: column;
  }
  .hero-ctas .btn {
    text-align: center;
  }
}

/* ══════════════════════════════════════════════════
   CONTACT PAGE COMPONENTS — v1.6.0
   ══════════════════════════════════════════════════ */

/* ── CONTACT METHODS ── */
.ct-methods{background:var(--light-bg);padding:56px 0;border-bottom:1px solid var(--border)}
.ct-methods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ct-method{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px 28px;text-align:center;transition:all .3s;position:relative;overflow:hidden}
.ct-method::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--gold);transform:scaleX(0);transition:transform .3s}
.ct-method:hover{border-color:var(--gold);box-shadow:0 8px 32px rgba(234,179,8,.12);transform:translateY(-4px)}
.ct-method:hover::before{transform:scaleX(1)}
.ct-method-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--dark) 0%,#162240 100%);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 4px 16px rgba(10,22,40,.2)}
.ct-method-icon svg{width:26px;height:26px;stroke:var(--gold)}
.ct-method h3{font-family:var(--font-heading);font-weight:700;font-size:18px;color:var(--heading);margin-bottom:6px}
.ct-method-value{font-family:var(--font-heading);font-weight:800;font-size:17px;color:var(--gold);margin-bottom:12px}
.ct-method-value a{color:var(--gold);transition:color .2s}
.ct-method-value a:hover{color:var(--gold-dark)}
.ct-method-detail{font-size:13.5px;color:var(--body-text);line-height:1.6}
.ct-method-badge{display:inline-block;margin-top:14px;padding:6px 16px;background:rgba(234,179,8,.08);border:1px solid rgba(234,179,8,.2);border-radius:20px;font-family:var(--font-heading);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--gold-dark)}

/* ── RESPONSE STATS BAR ── */
.ct-stats{background:var(--dark);padding:36px 0;position:relative;overflow:hidden}
.ct-stats::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(234,179,8,.05) 0%,transparent 30%,transparent 70%,rgba(234,179,8,.05) 100%)}
.ct-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;z-index:1}
.ct-stat{text-align:center;padding:8px 16px;position:relative}
.ct-stat:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:40px;background:rgba(255,255,255,.1)}
.ct-stat-num{font-family:var(--font-heading);font-weight:800;font-size:28px;color:var(--gold);line-height:1;margin-bottom:4px}
.ct-stat-label{font-family:var(--font-body);font-size:12px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:1px;font-weight:600}

/* ── CONTACT FORM SECTION ── */
.ct-form-section{padding:72px 0;background:#fff}
.ct-form-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.ct-form-info h2{font-family:var(--font-heading);font-weight:800;font-size:28px;color:var(--heading);margin-bottom:10px}
.ct-form-info .ct-form-sub{font-size:15px;color:var(--body-text);line-height:1.7;margin-bottom:32px;max-width:420px}
.ct-benefits{list-style:none;display:flex;flex-direction:column;gap:14px}
.ct-benefit{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--body-text);line-height:1.5}
.ct-benefit-icon{flex-shrink:0;width:24px;height:24px;background:rgba(234,179,8,.1);border-radius:50%;display:flex;align-items:center;justify-content:center}
.ct-benefit-icon svg{width:14px;height:14px;stroke:var(--gold);stroke-width:2.5}
.ct-benefit strong{color:var(--heading);font-weight:600}

/* Info sidebar card */
.ct-info-card{margin-top:36px;background:var(--dark);border-radius:14px;padding:28px 24px;position:relative;overflow:hidden}
.ct-info-card::before{content:'';position:absolute;inset:0;background:
  repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(255,255,255,.03) 19px,rgba(255,255,255,.03) 20px),
  repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(255,255,255,.03) 19px,rgba(255,255,255,.03) 20px);
  pointer-events:none}
.ct-info-card-inner{position:relative;z-index:1}
.ct-info-card h4{font-family:var(--font-heading);font-weight:700;font-size:15px;color:#fff;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.ct-info-card h4 svg{width:18px;height:18px;stroke:var(--gold)}
.ct-info-items{display:flex;flex-direction:column;gap:12px}
.ct-info-item{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:rgba(255,255,255,.5);line-height:1.5}
.ct-info-item svg{flex-shrink:0;width:16px;height:16px;stroke:var(--gold);margin-top:3px}
.ct-info-item a{color:var(--gold);transition:color .2s}
.ct-info-item a:hover{color:var(--gold-dark)}

/* Form box */
.ct-form-box{background:var(--light-bg);border:1px solid var(--border);border-radius:16px;padding:36px 32px;position:relative}
.ct-form-box::before{content:'';position:absolute;top:0;left:32px;right:32px;height:3px;background:linear-gradient(90deg,var(--gold),transparent);border-radius:3px 3px 0 0}
.ct-form-box h3{font-family:var(--font-heading);font-weight:700;font-size:20px;color:var(--heading);margin-bottom:6px}
.ct-form-box .ct-form-note{font-size:13.5px;color:var(--body-text);margin-bottom:24px}
.ct-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.ct-form-row.full{grid-template-columns:1fr}
.ct-field{display:flex;flex-direction:column;gap:6px}
.ct-field label{font-family:var(--font-heading);font-weight:600;font-size:13px;color:var(--heading);text-transform:uppercase;letter-spacing:.5px}
.ct-field label .optional{font-weight:400;text-transform:none;letter-spacing:0;color:var(--body-text);font-size:12px}
.ct-field input,
.ct-field select,
.ct-field textarea{padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-family:var(--font-body);font-size:14px;color:var(--heading);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.ct-field input:focus,
.ct-field select:focus,
.ct-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(234,179,8,.1)}
.ct-field input::placeholder,
.ct-field textarea::placeholder{color:#b0b0b0}
.ct-field textarea{resize:vertical;min-height:120px}
.ct-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23767676' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.ct-submit{margin-top:8px}
.ct-submit .btn{width:100%;justify-content:center;padding:14px 28px;border-radius:8px;font-family:var(--font-heading);font-weight:700;font-size:14px}
.ct-submit .btn:disabled{opacity:.6;cursor:not-allowed}
.ct-privacy{font-size:12px;color:var(--body-text);margin-top:12px;text-align:center}
.ct-privacy svg{width:12px;height:12px;vertical-align:-2px;margin-right:4px;stroke:var(--body-text)}

/* ── WHAT HAPPENS NEXT ── */
.ct-process{background:var(--dark);padding:72px 0;position:relative;overflow:hidden}
.ct-process::before{content:'';position:absolute;inset:0;background:
  repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,.03) 39px,rgba(255,255,255,.03) 40px),
  repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(255,255,255,.03) 39px,rgba(255,255,255,.03) 40px);
  pointer-events:none}
.ct-process .container{position:relative;z-index:1}
.ct-process-header{text-align:center;margin-bottom:48px}
.ct-process-header h2{font-family:var(--font-heading);font-weight:800;font-size:clamp(24px,3vw,32px);color:#fff;margin-bottom:10px}
.ct-process-header p{font-size:15px;color:rgba(255,255,255,.45);max-width:480px;margin:0 auto}
.ct-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative}
.ct-process-grid::before{content:'';position:absolute;top:48px;left:calc(16.67% + 16px);right:calc(16.67% + 16px);height:2px;border-top:2px dashed rgba(234,179,8,.25)}
.ct-process-step{text-align:center;position:relative}
.ct-process-num{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold) 0%,#d4a107 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:var(--font-heading);font-weight:900;font-size:24px;color:var(--dark);box-shadow:0 4px 24px rgba(234,179,8,.3);position:relative;z-index:2}
.ct-process-step h3{font-family:var(--font-heading);font-weight:700;font-size:18px;color:#fff;margin-bottom:8px}
.ct-process-step p{font-size:14px;color:rgba(255,255,255,.45);line-height:1.6;max-width:280px;margin:0 auto}
.ct-process-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;opacity:.6}
.ct-process-icon svg{width:24px;height:24px;stroke:var(--gold)}

/* ── FAQ ── */
.ct-faq{padding:64px 0;background:#fff}
.ct-faq-header{text-align:center;margin-bottom:40px}
.ct-faq-header h2{font-family:var(--font-heading);font-weight:800;font-size:26px;color:var(--heading);margin-bottom:6px}
.ct-faq-header p{font-size:15px;color:var(--body-text)}
.ct-faq-grid{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.ct-faq-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .2s}
.ct-faq-item[open]{border-color:rgba(234,179,8,.3)}
.ct-faq-item summary{padding:18px 24px;font-family:var(--font-heading);font-weight:600;font-size:15px;color:var(--heading);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:background .2s}
.ct-faq-item summary:hover{background:rgba(234,179,8,.03)}
.ct-faq-item summary::-webkit-details-marker{display:none}
.ct-faq-chevron{width:20px;height:20px;stroke:var(--body-text);transition:transform .2s;flex-shrink:0}
.ct-faq-item[open] .ct-faq-chevron{transform:rotate(180deg);stroke:var(--gold)}
.ct-faq-answer{padding:0 24px 18px;font-size:14px;line-height:1.7;color:var(--body-text)}

/* ── PREFER TO TALK ── */
.ct-talk{padding:56px 0;background:var(--light-bg)}
.ct-talk-box{display:flex;align-items:center;gap:32px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:36px 44px;box-shadow:0 4px 24px rgba(0,0,0,.04);position:relative;overflow:hidden}
.ct-talk-box::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--gold)}
.ct-talk-icon{flex-shrink:0;width:64px;height:64px;background:linear-gradient(135deg,var(--gold) 0%,#d4a107 100%);border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(234,179,8,.25)}
.ct-talk-icon svg{width:30px;height:30px;stroke:var(--dark);stroke-width:2}
.ct-talk-text{flex:1}
.ct-talk-text h3{font-family:var(--font-heading);font-weight:700;font-size:20px;color:var(--heading);margin:0 0 4px}
.ct-talk-text p{font-family:var(--font-body);font-size:15px;color:var(--body-text);margin:0;line-height:1.5}
.ct-talk-actions{display:flex;gap:12px;flex-shrink:0}
.ct-talk-actions .btn{font-family:var(--font-heading);font-weight:600;font-size:14px;padding:12px 24px;border-radius:8px;white-space:nowrap;display:inline-block}

/* ── CONTACT RESPONSIVE ── */
@media(max-width:960px){
  .ct-form-layout{grid-template-columns:1fr;gap:40px}
  .ct-methods-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}
  .ct-stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .ct-stat:nth-child(2)::after{display:none}
  .ct-process-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto;gap:40px}
  .ct-process-grid::before{display:none}
}
@media(max-width:768px){
  .ct-form-row{grid-template-columns:1fr}
  .ct-talk-box{flex-direction:column;text-align:center;padding:28px 24px}
  .ct-talk-actions{flex-direction:column;width:100%}
  .ct-talk-actions .btn{text-align:center;justify-content:center}
}
@media(max-width:480px){
  .ct-stats-grid{grid-template-columns:1fr 1fr}
  .ct-stat::after{display:none!important}
}
