:root {
  --cupping-navy: #12085d;
  --cupping-navy-deep: #09033c;
  --cupping-gold: #dda52b;
  --cupping-cream: #fffaf3;
  --cupping-lilac: #f2eff9;
  --cupping-blue: #e9edf8;
}

.cupping-hero {
  background-image: linear-gradient(90deg, rgba(5, 2, 46, .95), rgba(19, 11, 86, .74)), url('/assets/wp-content/uploads/2026/01/image.jpg');
  background-position: center;
  background-size: cover;
}

.concept-section { background: #fbfaf7; }
.audience-section { background: #e8edf9; }
.price-section { background: var(--cupping-cream); }
.research-section { background: #fff; color: #17133b; }
.marks-section { background: var(--cupping-blue); }
.safety-section { background: #fff; }
.planning-section { background: var(--cupping-cream); }
.location-section { background: var(--cupping-blue); }
.faq-section { background: #fff; }
.proof-section { background: var(--cupping-lilac); }

.cupping-tool-visual,
.mark-timeline {
  align-self: stretch;
  background-position: center;
  background-size: cover;
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(20, 11, 91, .13);
  min-height: 410px;
  overflow: hidden;
  position: relative;
}

.cupping-tool-visual {
  background-image: linear-gradient(180deg, rgba(9, 3, 60, .02), rgba(9, 3, 60, .2)), url('/assets/wp-content/uploads/2026/09/cupping-therapy-treatment.webp');
}

.cupping-tool-visual::after,
.mark-timeline::after {
  background: linear-gradient(90deg, var(--cupping-gold), rgba(221, 165, 43, 0));
  bottom: 0;
  content: '';
  height: 5px;
  left: 0;
  position: absolute;
  width: 100%;
}

.cupping-tool-visual span,
.mark-timeline span { display: none; }

.cupping-two-col {
  background: linear-gradient(135deg, var(--cupping-navy-deep), #201373);
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(20, 11, 91, .15);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 34px;
  overflow: hidden;
}

.cupping-two-col article {
  color: rgba(255, 255, 255, .88);
  padding: clamp(30px, 4vw, 48px);
}

.cupping-two-col article + article { border-left: 1px solid rgba(255, 255, 255, .17); }
.cupping-two-col h3 { color: #fff; }
.cupping-two-col a { color: #f5c75d; }

.price-showcase {
  display: block;
  margin-top: 34px;
}

.price-showcase::before {
  content: none;
}

.price-options {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(20, 11, 91, .12);
  min-width: 0;
  padding: clamp(24px, 3vw, 42px);
}

.price-table { min-width: 720px; }

.package-grid {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: 1.18fr .82fr;
  margin-top: 22px;
}

.package-grid .special-card,
.payment-panel {
  border-radius: 18px;
  margin: 0;
  padding: clamp(22px, 3vw, 32px);
}

.package-grid .special-card a { color: #f5c75d; }

.payment-panel {
  background: var(--cupping-cream);
  border: 1px solid rgba(20, 11, 91, .1);
}

.mid-cta {
  align-items: center;
  background: transparent;
  display: flex;
  justify-content: flex-start;
  margin-top: 22px;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}

.mid-cta .hero-actions { margin: 0; }

.research-section .reading-grid { align-items: stretch; }
.research-section .evidence-card {
  align-self: stretch;
  background:
    linear-gradient(180deg, rgba(9, 3, 60, .38), rgba(9, 3, 60, .96)),
    url('/assets/wp-content/uploads/2026/09/cupping-tools-still-life.webp') center / cover;
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(20, 11, 91, .15);
  color: rgba(255, 255, 255, .88);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100%;
  padding: clamp(30px, 4vw, 44px);
}
.research-section .evidence-card h3 { color: #fff; }

.marks-layout {
  display: contents;
}

.mark-timeline {
  background-image: linear-gradient(180deg, rgba(9, 3, 60, .03), rgba(9, 3, 60, .18)), url('/assets/wp-content/uploads/2026/09/cupping-marks-aftercare.webp');
  grid-column: 2;
  grid-row: 1 / 4;
  min-height: 100%;
}

.marks-section .shell {
  align-items: stretch;
  display: grid;
  gap: 0 clamp(34px, 5vw, 72px);
  grid-template-columns: minmax(0, 1fr) minmax(380px, .92fr);
}

.marks-section .section-number { grid-column: 1; grid-row: 1; }
.marks-section h2 { grid-column: 1; grid-row: 2; }
.marks-layout > div:first-child { grid-column: 1; grid-row: 3; }

.benefit-panel {
  background: linear-gradient(135deg, var(--cupping-navy-deep), #201373);
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(20, 11, 91, .15);
  color: rgba(255, 255, 255, .88);
  margin-top: 34px;
  overflow: hidden;
}
.benefit-panel h3 { color: #fff; }
.benefit-panel .card-label { color: #f5c75d; }

.faq-layout { align-items: stretch; }
.faq-visual {
  border-radius: 22px;
  min-height: 600px;
  overflow: hidden;
  position: relative;
}
.faq-visual img { height: 100%; object-fit: cover; width: 100%; }
.faq-visual::after {
  background: linear-gradient(180deg, transparent 55%, rgba(9, 3, 60, .58));
  content: '';
  inset: 0;
  position: absolute;
}

.faq-block summary h3 { display: inline; font: inherit; margin: 0; }

.hours-table { border-collapse: collapse; min-width: 520px; width: 100%; }
.hours-table th,
.hours-table td {
  border-bottom: 1px solid rgba(20, 11, 91, .12);
  padding: 11px 8px;
  text-align: left;
  vertical-align: top;
}

.map-embed {
  border: 0;
  border-radius: 22px;
  display: block;
  height: 360px;
  margin-top: 24px;
  max-width: 100%;
  min-width: 0;
  width: 100%;
  grid-column: 1 / -1;
}

.location-showcase > *,
.location-showcase .location-grid { min-width: 0; }

.proof-section .closing-cta { border-radius: 22px; }
.proof-section .closing-cta h3 { color: #fff; }

.cupping-references {
  margin-top: 42px;
}
.cupping-references a { overflow-wrap: anywhere; }

@media (max-width: 991px) {
  .location-showcase { grid-template-columns: minmax(0, 1fr); }
  .cupping-references { grid-template-columns: minmax(0, 1fr); }
  .cupping-references > p { grid-column: 1; }
  .price-options { border-radius: 22px; }
  .package-grid,
  .marks-section .shell { grid-template-columns: 1fr; }
  .marks-section .section-number,
  .marks-section h2,
  .marks-layout > div:first-child,
  .mark-timeline { grid-column: 1; grid-row: auto; }
  .marks-layout { display: contents; }
  .mark-timeline { min-height: 340px; }
}

@media (max-width: 767px) {
  .cupping-two-col { grid-template-columns: 1fr; }
  .cupping-two-col article + article { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .17); }
  .cupping-hero .hero-grid { min-height: auto; }
  .cupping-hero .hero-media { display: none; }
  .cupping-hero .hero-copy { padding-bottom: 28px; padding-top: 28px; }
  .cupping-hero .hero-actions { gap: 8px; }
  .cupping-hero .button { font-size: .78rem; padding: 11px 12px; }
  .cupping-tool-visual,
  .mark-timeline { min-height: 300px; }
  .price-showcase::before { min-height: 0; }
  .faq-visual { min-height: 360px; }
}
