/* ==========================================================================
   BOUND MEMORIES — CONTACT, PRIVACY, TERMS & DATA DELETION
   Loaded after styles.css, home.css and public-pages.css.
   ========================================================================== */

.bm-support-page {
  --support-navy: #11233e;
  --support-ink: #27313f;
  --support-muted: #667080;
  --support-gold: #b88732;
  --support-gold-dark: #936b26;
  --support-gold-pale: #f6eedf;
  --support-ivory: #fbfaf7;
  --support-cream: #f5f1e8;
  --support-white: #ffffff;
  --support-border: #e8e1d6;
  --support-shadow: 0 12px 34px rgba(25, 35, 50, 0.08);
  --support-shadow-soft: 0 6px 20px rgba(25, 35, 50, 0.06);
}

.bm-support-page main {
  min-height: calc(100vh - 150px);
  background: var(--support-ivory);
}

.bm-support-hero {
  padding: clamp(58px, 8vw, 96px) 0;
  border-bottom: 1px solid var(--support-border);
  background:
    radial-gradient(circle at 84% 0%, rgba(184, 135, 50, 0.11), transparent 28%),
    linear-gradient(105deg, #ffffff, #f6f1e7);
}

.bm-support-hero-inner {
  max-width: 820px;
}

.bm-support-hero-centred .bm-support-hero-inner {
  margin: 0 auto;
  text-align: center;
}

.bm-support-eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--support-gold-dark);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.bm-support-hero h1 {
  margin-bottom: 17px;
  color: var(--support-navy);
  font-size: clamp(3rem, 5.4vw, 4.8rem);
  letter-spacing: -0.038em;
  line-height: 1.04;
}

.bm-support-hero p {
  max-width: 690px;
  margin: 0;
  color: var(--support-muted);
  font-size: clamp(1.02rem, 1.6vw, 1.2rem);
}

.bm-support-hero-centred p {
  margin-inline: auto;
}

.bm-support-section {
  padding: clamp(62px, 8vw, 105px) 0;
}

.bm-support-section-soft {
  border-block: 1px solid var(--support-border);
  background: linear-gradient(180deg, #f8f5ee, #f2ece2);
}

.bm-support-heading {
  max-width: 720px;
  margin: 0 auto clamp(35px, 5vw, 52px);
  text-align: center;
}

.bm-support-heading h2 {
  margin-bottom: 13px;
  color: var(--support-navy);
  font-size: clamp(2.15rem, 4vw, 3.25rem);
  line-height: 1.09;
}

.bm-support-heading p {
  margin: 0;
  color: var(--support-muted);
}

.bm-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(350px, 0.82fr);
  align-items: start;
  gap: clamp(28px, 5vw, 62px);
}

.bm-contact-copy h2 {
  margin-bottom: 15px;
  color: var(--support-navy);
  font-size: clamp(2.1rem, 3.5vw, 3rem);
}

.bm-contact-copy > p {
  max-width: 620px;
  color: var(--support-muted);
}

.bm-contact-methods {
  display: grid;
  margin-top: 28px;
  gap: 14px;
}

.bm-contact-method {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: start;
  padding: 18px;
  gap: 14px;
  border: 1px solid var(--support-border);
  border-radius: 13px;
  background: #fff;
  box-shadow: var(--support-shadow-soft);
}

.bm-contact-method-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--support-gold-pale);
  color: var(--support-gold-dark);
  font-size: 0.9rem;
  font-weight: 900;
}

.bm-contact-method strong {
  display: block;
  margin-bottom: 3px;
  color: var(--support-navy);
  font-size: 0.91rem;
}

.bm-contact-method p {
  margin: 0;
  color: var(--support-muted);
  font-size: 0.82rem;
}

.bm-contact-method a {
  color: var(--support-gold-dark);
  font-weight: 850;
  text-decoration: none;
}

.bm-contact-card {
  overflow: hidden;
  border: 1px solid var(--support-border);
  border-radius: 17px;
  background: #fff;
  box-shadow: var(--support-shadow);
}

.bm-contact-card-head {
  padding: 24px 25px 19px;
  border-bottom: 1px solid var(--support-border);
}

.bm-contact-card-head h2 {
  margin-bottom: 6px;
  color: var(--support-navy);
  font-size: 1.65rem;
}

.bm-contact-card-head p {
  margin: 0;
  color: var(--support-muted);
  font-size: 0.84rem;
}

.bm-contact-card-body {
  padding: 24px 25px 26px;
}

.bm-contact-card-body p {
  color: var(--support-muted);
  font-size: 0.87rem;
}

.bm-contact-card-body ul {
  margin: 17px 0 23px;
  padding-left: 19px;
  color: var(--support-muted);
  font-size: 0.83rem;
}

.bm-contact-card-body li {
  margin-bottom: 7px;
}

.bm-contact-email-button {
  width: 100%;
}

.bm-faq-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 19px;
}

.bm-faq-card {
  padding: 24px;
  border: 1px solid var(--support-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--support-shadow-soft);
}

.bm-faq-card h3 {
  margin-bottom: 10px;
  color: var(--support-navy);
  font-size: 1.2rem;
}

.bm-faq-card p {
  margin: 0;
  color: var(--support-muted);
  font-size: 0.87rem;
}

.bm-support-cta {
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(35px, 6vw, 55px);
  border-radius: 19px;
  background: var(--support-navy);
  color: #fff;
  text-align: center;
}

.bm-support-cta h2 {
  margin-bottom: 11px;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3rem);
}

.bm-support-cta p {
  max-width: 620px;
  margin: 0 auto 23px;
  color: rgba(255, 255, 255, 0.74);
}

.bm-legal-shell {
  max-width: 900px;
  margin: 0 auto;
}

.bm-legal-card {
  padding: clamp(25px, 5vw, 50px);
  border: 1px solid var(--support-border);
  border-radius: 17px;
  background: #fff;
  box-shadow: var(--support-shadow-soft);
}

.bm-legal-meta {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  margin-bottom: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--support-gold-pale);
  color: var(--support-gold-dark);
  font-size: 0.72rem;
  font-weight: 850;
}

.bm-legal-card section + section {
  margin-top: 31px;
  padding-top: 31px;
  border-top: 1px solid var(--support-border);
}

.bm-legal-card h2 {
  margin-bottom: 11px;
  color: var(--support-navy);
  font-size: clamp(1.45rem, 2.5vw, 1.95rem);
}

.bm-legal-card p,
.bm-legal-card li {
  color: var(--support-muted);
  font-size: 0.92rem;
  line-height: 1.75;
}

.bm-legal-card p:last-child {
  margin-bottom: 0;
}

.bm-legal-card ul {
  margin: 12px 0 0;
  padding-left: 22px;
}

.bm-legal-card li {
  margin-bottom: 7px;
}

.bm-legal-card a {
  color: var(--support-gold-dark);
  font-weight: 850;
}

.bm-data-request-box {
  margin-top: 24px;
  padding: 20px;
  border: 1px solid #dfd1b7;
  border-radius: 12px;
  background: #fbf6ea;
}

.bm-data-request-box strong {
  display: block;
  margin-bottom: 5px;
  color: var(--support-navy);
}

.bm-data-request-box p {
  margin: 0;
}

.bm-support-page .bm-desktop-nav > a[aria-current="page"],
.bm-support-page .bm-mobile-menu > a[aria-current="page"] {
  color: var(--support-gold-dark);
}

@media (max-width: 900px) {
  .bm-contact-layout {
    grid-template-columns: 1fr;
  }

  .bm-contact-card {
    max-width: 650px;
  }

  .bm-faq-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .bm-support-hero {
    padding-top: 45px;
  }

  .bm-contact-method {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .bm-contact-method-icon {
    width: 36px;
    height: 36px;
  }

  .bm-contact-card-head,
  .bm-contact-card-body {
    padding-inline: 20px;
  }

  .bm-legal-card {
    border-radius: 13px;
  }
}
