/* Heavy & irregular bleeding guide — local to this page only. */
.heavy-periods-page {
  --hp-cream: #f7f2eb;
  --hp-paper: #fffdf9;
  --hp-ink: #352c35;
  --hp-muted: #6b6169;
  --hp-plum: var(--primary-color, #8b4c8b);
  --hp-plum-deep: var(--primary-dark, #6b3a6b);
  --hp-plum-wash: #f0e8f0;
  --hp-gold: var(--secondary-color, #d4a574);
  --hp-gold-wash: #f6efe3;
  --hp-line: #e7dce4;
  color: var(--hp-ink);
  background: var(--hp-cream);
  overflow: clip;
}
.heavy-periods-page .container { max-width: 1100px; }
.heavy-periods-page section { scroll-margin-top: 1.5rem; }
.heavy-periods-page a { text-underline-offset: .18em; }
.heavy-periods-page a:focus-visible,
.heavy-periods-page button:focus-visible,
.heavy-periods-page summary:focus-visible {
  outline: 3px solid var(--hp-gold);
  outline-offset: 3px;
}
.heavy-periods-page .hp-hero {
  padding: clamp(1.2rem, 2.8vw, 2rem) 0 0;
  background:
    radial-gradient(ellipse at 83% 27%, rgba(185,140,178,.18), transparent 34%),
    linear-gradient(115deg, #f8f3ed, #fbf8f3 56%, #f4edf3);
}
.hp-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  align-items: center;
  gap: clamp(1.2rem, 4vw, 3rem);
  min-height: 280px;
}
.hp-hero-copy { position: relative; z-index: 1; padding: .4rem 0 1.2rem; }
.hp-eyebrow, .hp-kicker {
  margin: 0 0 .5rem;
  color: var(--hp-plum);
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hp-hero h1 {
  margin: .2rem 0 .45rem;
  color: var(--hp-plum-deep);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.05rem, 4vw, 3.15rem);
  font-weight: 720;
  line-height: 1.03;
  letter-spacing: -.045em;
}
.hp-question { margin: .4rem 0 .25rem; font-size: 1.1rem; font-weight: 700; color: var(--hp-plum-deep); }
.hp-lede { max-width: 600px; margin: 0; color: #554c55; font-size: .91rem; line-height: 1.55; }
.hp-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .95rem; }
.hp-actions .btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; font-size: .81rem; font-weight: 650; }
.heavy-periods-page .hp-actions .btn-primary,
.heavy-periods-page section .btn-primary { color: #fff; }
.hp-call { margin: .72rem 0 .12rem; font-size: .78rem; color: var(--hp-muted); }
.hp-call a { color: var(--hp-plum); font-weight: 700; }
.hp-disclaimer { margin: 0; color: #80767e; font-size: .69rem; }
.hp-art { display: grid; place-items: center; min-width: 0; }
.hp-art img { display: block; width: min(100%, 420px); height: auto; }
.hp-jumps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.9rem, 3.2vw, 2.35rem);
  min-height: 43px;
  margin-top: .5rem;
  border-top: 1px solid rgba(117,71,121,.13);
}
.hp-jumps a { color: var(--hp-plum-deep); font-size: .74rem; font-weight: 650; text-decoration: none; }
.hp-jumps a:hover { color: var(--hp-plum); text-decoration: underline; }
.hp-symptoms { padding: clamp(1.7rem, 3.5vw, 2.7rem) 0 1.5rem; background: var(--hp-paper); }
.hp-section-heading { max-width: 720px; margin-bottom: 1.2rem; }
.hp-section-heading h2 { margin: .12rem 0 .3rem; color: var(--hp-plum-deep); font-size: clamp(1.35rem, 2.3vw, 1.8rem); font-weight: 700; letter-spacing: -.025em; }
.hp-section-heading > p:not(.hp-kicker) { margin: 0; color: var(--hp-muted); font-size: .85rem; line-height: 1.5; }
.hp-symptom-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; }
.hp-symptom-card {
  position: relative;
  min-height: 150px;
  padding: 1rem 1.05rem .9rem;
  border: 1px solid var(--hp-line);
  border-radius: 8px;
  background: #fffdfa;
  transition: transform .2s ease, box-shadow .2s ease;
}
.hp-symptom-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(76,45,73,.08); }
.hp-icon { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-bottom: .5rem; border-radius: 8px; background: var(--hp-gold-wash); color: #8c6840; font-size: .67rem; font-weight: 800; }
.hp-symptom-card h3 { margin: 0 0 .25rem; color: var(--hp-plum-deep); font-size: .93rem; font-weight: 700; }
.hp-symptom-card p { min-height: 2.3em; margin: 0 0 .45rem; color: var(--hp-muted); font-size: .74rem; line-height: 1.45; }
.hp-symptom-card a { color: var(--hp-plum); font-size: .73rem; font-weight: 750; text-decoration: none; }
.hp-reassure { margin: 1rem 0 0; color: var(--hp-muted); font-size: .78rem; }
.hp-video-causes { display: grid; grid-template-columns: minmax(255px,.72fr) minmax(0,1.28fr); align-items: stretch; background: #f0eaf1; }
.hp-video-causes > section { min-width: 0; margin: 0; border: 0 !important; }
.hp-video-causes > #video-section { align-self: start; padding: 1.5rem 0 !important; }
.hp-video-causes > #video-section .container,
.hp-video-causes > #causes .container { width: 100%; max-width: 100%; padding-right: .75rem; padding-left: .75rem; }
.hp-video-causes > #video-section .col-lg-9 { width: 100%; max-width: none; margin: 0; }
.hp-video-causes > #video-section h2 { text-align: left !important; color: var(--hp-plum-deep); }
.hp-video-causes > #video-section p { text-align: left !important; margin-bottom: .7rem !important; }
.hp-video-causes > #causes { padding: 1.5rem 0 !important; background: #f0eaf1 !important; }
.hp-video-causes > #causes h2 { color: var(--hp-plum-deep); font-size: 1.25rem !important; }
.hp-video-causes > #causes .row { --bs-gutter-x: .55rem; --bs-gutter-y: .55rem; }
.hp-video-causes > #causes .bg-white { border: 1px solid rgba(117,71,121,.11); box-shadow: none !important; }
.heavy-periods-page .hp-legacy-definition { padding: .75rem .9rem; border: 1px solid var(--hp-line); border-radius: 7px; background: var(--hp-paper); }
.heavy-periods-page .hp-legacy-definition > summary { color: var(--hp-plum-deep); cursor: pointer; font-size: .8rem; font-weight: 700; }
.heavy-periods-page .hp-legacy-definition[open] > summary { margin-bottom: .9rem; }
.heavy-periods-page .hp-expanded-treatment { margin-top: .8rem; border-top: 1px solid var(--hp-line); border-bottom: 1px solid var(--hp-line); }
.heavy-periods-page .hp-expanded-treatment > summary { padding: .75rem .15rem; color: var(--hp-plum); cursor: pointer; font-size: .8rem; font-weight: 700; }
.heavy-periods-page #definition { padding: 0 0 1rem !important; background: var(--hp-cream) !important; }
.heavy-periods-page #diagnosis { background: var(--hp-paper); }
.heavy-periods-page #tests { background: var(--hp-gold-wash) !important; }
.hp-evaluation { padding: 1.7rem 0; background: var(--hp-paper); }
.hp-evaluation-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
.hp-evaluation-grid a { display: flex; min-height: 122px; flex-direction: column; padding: .8rem; border: 1px solid var(--hp-line); border-radius: 7px; background: #fffdfa; color: var(--hp-ink); text-decoration: none; }
.hp-evaluation-grid a:hover { border-color: #c6a9c2; }
.hp-evaluation-grid span { color: var(--hp-gold); font-size: .67rem; font-weight: 800; }
.hp-evaluation-grid strong { margin: .25rem 0; color: var(--hp-plum-deep); font-size: .8rem; }
.hp-evaluation-grid small { color: var(--hp-muted); font-size: .69rem; line-height: 1.45; }
.hp-resource-band { padding: 1rem 0; background: var(--hp-gold-wash); }
.hp-resource-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.hp-resource-grid > div { padding: .8rem 1rem; border: 1px solid rgba(189,146,90,.25); border-radius: 6px; background: rgba(255,253,249,.82); }
.hp-resource-grid .hp-kicker { margin-bottom: .2rem; font-size: .63rem; }
.hp-resource-grid h2 { margin: 0 0 .2rem; color: var(--hp-plum-deep); font-size: .9rem; }
.hp-resource-grid p:not(.hp-kicker) { margin: 0 0 .35rem; color: var(--hp-muted); font-size: .71rem; }
.hp-resource-grid a { color: var(--hp-plum); font-size: .72rem; font-weight: 700; }
.hp-urgent-wrap { padding-top: .6rem; padding-bottom: .8rem; }
.hp-urgent { padding: .72rem 1rem; border-left: 3px solid #a86658; border-radius: 4px; background: #fbefeb; color: #513b39; font-size: .78rem; }
.hp-options { padding: clamp(1.7rem, 3vw, 2.5rem) 0; background: #f7f2eb; }
.hp-section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 2rem; max-width: none; }
.hp-section-heading-row > p { max-width: 330px; padding-bottom: .25rem; }
.hp-option-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.hp-option-grid > a {
  display: flex;
  min-height: 130px;
  flex-direction: column;
  align-items: flex-start;
  padding: .9rem 1rem;
  border: 1px solid var(--hp-line);
  border-radius: 7px;
  background: var(--hp-paper);
  color: var(--hp-ink);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.hp-option-grid > a:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(76,45,73,.08); }
.hp-option-grid > a > span { color: var(--hp-gold); font-size: .68rem; font-weight: 800; }
.hp-option-grid strong { margin-top: .2rem; color: var(--hp-plum-deep); font-size: .86rem; }
.hp-option-grid small { margin: .15rem 0 .5rem; color: var(--hp-muted); font-size: .7rem; }
.hp-option-grid b { margin-top: auto; color: var(--hp-plum); font-size: .7rem; }
.hp-note { margin: .8rem 0 0; color: var(--hp-muted); font-size: .73rem; }
.hp-detail-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; margin-top: 1rem; }
.hp-detail-list details,
.hp-panel details { border: 1px solid var(--hp-line); border-radius: 6px; background: var(--hp-paper); }
.hp-detail-list summary, .hp-panel summary { padding: .72rem .85rem; color: var(--hp-plum-deep); cursor: pointer; font-size: .78rem; font-weight: 700; }
.hp-detail-list details p, .hp-detail-list details > a { display: block; margin: 0; padding: 0 .85rem .75rem; color: var(--hp-muted); font-size: .75rem; line-height: 1.55; }
.hp-detail-list details > a { color: var(--hp-plum); }
.hp-cerene-pair { padding: 1.3rem 0 1.7rem; background: #f0eaf1; }
.hp-pair-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.hp-panel { padding: 1.1rem; border: 1px solid rgba(117,71,121,.13); border-radius: 8px; background: rgba(255,253,249,.86); }
.hp-panel h2 { margin: 0 0 .35rem; color: var(--hp-plum-deep); font-size: 1.12rem; font-weight: 700; }
.hp-panel > p:not(.hp-kicker):not(.hp-missing-video) { margin: 0 0 .75rem; color: var(--hp-muted); font-size: .77rem; line-height: 1.5; }
.hp-panel details { margin-top: .4rem; }
.hp-panel details p { margin: 0; padding: 0 .8rem .7rem; color: var(--hp-muted); font-size: .73rem; line-height: 1.5; }
.hp-cerene-video { margin: .7rem 0; }
.hp-cerene-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; background: #e8e1e8; }
.hp-cerene-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hp-cerene-video figcaption, .hp-cerene-sources { margin: .35rem 0 0; color: #746b71; font-size: .67rem; }
.hp-cerene-sources a { color: var(--hp-plum); }
.hp-visit { padding: clamp(1.7rem,3vw,2.4rem) 0; background: var(--hp-paper); }
.hp-visit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.hp-visit-grid article { position: relative; min-height: 130px; padding: .85rem .9rem .8rem 3rem; border: 1px solid var(--hp-line); border-radius: 7px; background: #fffdfa; }
.hp-visit-grid article > span { position: absolute; top: .8rem; left: .8rem; display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: var(--hp-plum); color: #fff; font-size: .7rem; font-weight: 800; }
.hp-visit-grid h3 { margin: .08rem 0 .25rem; color: var(--hp-plum-deep); font-size: .85rem; font-weight: 700; }
.hp-visit-grid p { margin: 0; color: var(--hp-muted); font-size: .72rem; line-height: 1.45; }
.hp-prep { margin: .75rem 0; padding: .75rem .9rem; border-radius: 6px; background: var(--hp-gold-wash); color: #5e5143; font-size: .75rem; }
.hp-prep a, .hp-postmeno a { color: var(--hp-plum); font-weight: 700; }
.hp-postmeno { padding: .65rem .9rem; border-left: 3px solid #a86658; background: #fbefeb; color: #513b39; font-size: .74rem; }
.hp-print-header { display: none; }
.hp-tracker-details { margin: 0 auto 1rem; border: 1px solid var(--hp-line); border-radius: 8px; background: var(--hp-paper); overflow: hidden; }
.hp-tracker-details > summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 1rem; color: var(--hp-plum-deep); cursor: pointer; list-style: none; }
.hp-tracker-details > summary::-webkit-details-marker { display: none; }
.hp-tracker-details > summary span:first-child { display: flex; flex-direction: column; gap: .1rem; }
.hp-tracker-details > summary strong { font-size: .84rem; }
.hp-tracker-details > summary small { color: var(--hp-muted); font-size: .7rem; font-weight: 400; }
.hp-summary-action { color: var(--hp-plum); font-size: .74rem; font-weight: 700; white-space: nowrap; }
.hp-tracker-details[open] > summary { border-bottom: 1px solid var(--hp-line); }
.hp-tracker-details[open] .hp-summary-action::after { content: " −"; }
.hp-tracker-details:not([open]) .hp-summary-action::after { content: " +"; }
.hp-tracker { padding: 1.1rem 0 1.3rem; background: var(--hp-cream); }
.hp-tracker-content { padding: 1rem; }
.hp-tracker-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.hp-tracker-heading h2 { margin: 0 0 .3rem; color: var(--hp-plum-deep); font-size: 1.35rem; }
.hp-tracker-heading p:not(.hp-kicker) { max-width: 720px; margin: 0; color: var(--hp-muted); font-size: .84rem; }
.hp-pbac-guide { margin: .85rem 0 1rem; padding: 1rem; border: 1px solid var(--hp-line); border-radius: 8px; background: #fffdfa; }
.hp-pbac-guide-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.2rem; margin-bottom: .7rem; }
.hp-pbac-guide-heading h3 { margin: 0; color: var(--hp-plum-deep); font-size: 1.05rem; }
.hp-pbac-guide-heading > p { max-width: 470px; margin: 0; color: var(--hp-muted); font-size: .77rem; }
.hp-pbac-guide-scroll { overflow-x: auto; }
.hp-pbac-guide-grid { display: grid; grid-template-columns: 1fr 1fr .8fr; min-width: 730px; }
.hp-pbac-guide-group { padding: .2rem .8rem; border-right: 1px solid var(--hp-line); }
.hp-pbac-guide-group:first-child { padding-left: 0; }
.hp-pbac-guide-group:last-child { padding-right: 0; border-right: 0; }
.hp-pbac-guide-group h4 { margin: 0 0 .55rem; color: var(--hp-plum); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.hp-pbac-examples { display: flex; align-items: end; justify-content: center; gap: clamp(.45rem, 1.4vw, 1.1rem); }
.hp-pbac-example { display: flex; min-width: 68px; flex-direction: column; align-items: center; text-align: center; }
.hp-pbac-example svg { display: block; width: auto; height: 78px; max-width: 58px; margin-bottom: .35rem; }
.hp-pbac-clots .hp-pbac-example svg { height: 62px; }
.hp-pbac-example strong { color: var(--hp-plum-deep); font-size: .72rem; }
.hp-pbac-example span { color: var(--hp-muted); font-size: .66rem; }
.hp-pbac-flooding { display: flex; flex-direction: column; margin-top: .6rem; padding: .45rem .55rem; border: 1px solid rgba(168,102,88,.22); border-radius: 5px; background: #fbefeb; text-align: center; }
.hp-pbac-flooding strong { color: #8f4d43; font-size: .72rem; }
.hp-pbac-flooding span { color: var(--hp-muted); font-size: .65rem; }
.hp-pbac-reference { margin-top: .85rem; padding: .85rem 1rem; border-left: 3px solid var(--hp-gold); background: var(--hp-gold-wash); }
.hp-pbac-reference h3 { margin: 0 0 .35rem; color: var(--hp-plum-deep); font-size: .92rem; }
.hp-pbac-reference p { margin: .25rem 0; color: #554c55; font-size: .76rem; line-height: 1.55; }
.hp-pbac-citations { display: flex; flex-wrap: wrap; gap: .3rem .5rem; }
.hp-pbac-reference a { color: var(--hp-plum); font-weight: 650; }
.hp-anchor-alias { display: block; scroll-margin-top: 1rem; }
.heavy-periods-page .accordion-item { background: var(--hp-paper); }
.heavy-periods-page .accordion-button { color: var(--hp-plum-deep); }
.heavy-periods-page .accordion-button:not(.collapsed) { background: var(--hp-plum-wash); color: var(--hp-plum-deep); box-shadow: none; }
.heavy-periods-page .accordion-body { font-size: .82rem; line-height: 1.6; }
.heavy-periods-page section[id="faqs"] { background: #f1ebf1 !important; }
.heavy-periods-page section[id="faqs"] > .container > h2 { color: var(--hp-plum-deep); }
.heavy-periods-page #reviewed { color: var(--hp-ink); }
.heavy-periods-page section:last-of-type .rounded-4 { background: var(--hp-plum-deep) !important; }
.heavy-periods-page .hp-hero .btn-outline-primary { color: var(--hp-plum); border-color: var(--hp-plum); }
.heavy-periods-page .hp-hero .btn-outline-primary:hover { color: #fff; background: var(--hp-plum); }
@media (max-width: 767.98px) {
  .hp-video-causes { grid-template-columns: minmax(0,1fr); }
  .hp-video-causes > #video-section { padding: 1.2rem 0 .5rem !important; }
  .hp-video-causes > #causes { padding: .7rem 0 1.2rem !important; }
  .hp-hero-grid { grid-template-columns: minmax(0,1fr); gap: .2rem; }
  .hp-hero-copy { padding: .2rem 0 0; }
  .hp-art { max-height: 185px; overflow: hidden; }
  .hp-art img { width: min(70%,300px); }
  .hp-jumps { justify-content: flex-start; gap: 1.1rem; overflow-x: auto; padding: .45rem .1rem; }
  .hp-jumps a { flex: 0 0 auto; }
  .hp-symptom-grid, .hp-option-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hp-evaluation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hp-symptom-card { min-height: 150px; padding: .8rem; }
  .hp-section-heading-row { display: block; }
  .hp-section-heading-row > p { margin-top: .35rem; }
  .hp-pair-grid, .hp-visit-grid, .hp-resource-grid { grid-template-columns: minmax(0,1fr); }
  .hp-detail-list { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 420px) {
  .hp-actions .btn { width: 100%; }
  .hp-symptom-grid, .hp-option-grid { grid-template-columns: minmax(0,1fr); }
  .hp-evaluation-grid { grid-template-columns: minmax(0,1fr); }
  .hp-symptom-card { min-height: unset; }
  .hp-symptom-card p { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .heavy-periods-page *, .heavy-periods-page *::before, .heavy-periods-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
@media print {
  html body#haven-site { padding: 0 !important; background: white !important; }
  .heavy-periods-page { overflow: visible !important; }
  .heavy-periods-page #tracker .hp-print-header { display: block !important; }
  .heavy-periods-page #tracker .hp-print-notes { white-space: pre-wrap; overflow-wrap: anywhere; }
  @page { size: landscape; margin: 10mm; }
  body > header, body > nav, body > footer, .navbar, .site-header, .site-footer,
  #chat-widget, [id*="chat"], [class*="chat"], .intercom-lightweight-app { display: none !important; }
  .heavy-periods-page > :not(#tracker) { display: none !important; }
  .heavy-periods-page #tracker { display: block !important; width: 100% !important; padding: 0 !important; }
  .heavy-periods-page #tracker > .container { width: 100% !important; max-width: none !important; padding: 0 !important; }
  .heavy-periods-page #tracker .hp-tracker-details { display: block !important; overflow: visible !important; border: 0; background: #fff; }
  .heavy-periods-page #tracker .hp-tracker-details > summary { display: none !important; }
  .heavy-periods-page #tracker .hp-tracker-content { display: block !important; padding: 0 !important; }
  .heavy-periods-page #tracker .hp-tracker-heading { margin-bottom: .4rem; }
  .heavy-periods-page #tracker .hp-pbac-guide,
  .heavy-periods-page #tracker #pbac-reference,
  .heavy-periods-page #tracker .hp-score-panel,
  .heavy-periods-page #tracker .hp-tracker-notes { display: block !important; break-inside: avoid; }
  .heavy-periods-page #tracker .hp-pbac-guide-scroll { overflow: visible !important; }
  .heavy-periods-page #tracker .hp-pbac-guide-grid { min-width: 0; }
  .heavy-periods-page #tracker .hp-tracker-controls,
  .heavy-periods-page #tracker .hp-mobile-tracker,
  .heavy-periods-page #tracker button,
  .heavy-periods-page #tracker a { display: none !important; }
  .heavy-periods-page #tracker .hp-desktop-table,
  .heavy-periods-page #tracker .d-md-block { display: block !important; }
  .heavy-periods-page #tracker .d-none { display: none !important; }
  .heavy-periods-page #tracker .hp-desktop-table.d-none { display: block !important; }
  .heavy-periods-page #tracker .hp-tracker-notes,
  .heavy-periods-page #tracker .hp-tracker-heading { display: none !important; }
  .heavy-periods-page #tracker .hp-pbac-guide-grid { grid-template-columns: 1fr 1fr .9fr !important; }
  .heavy-periods-page #tracker .table-responsive { overflow: visible !important; }
  .heavy-periods-page #tracker #pbacTable { width: 100% !important; min-width: 0 !important; table-layout: fixed; border-collapse: collapse; font-size: 8.5pt; }
  .heavy-periods-page #tracker #pbacTable th,
  .heavy-periods-page #tracker #pbacTable td { padding: 2px 1px !important; overflow-wrap: anywhere; }
  .heavy-periods-page #tracker #pbacTable input { width: 100% !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; font-size: inherit !important; text-align: center; appearance: none; }
  .heavy-periods-page #tracker #pbacTable input[type="checkbox"] { display: inline-block !important; width: 10px !important; height: 10px; appearance: auto !important; }
  .heavy-periods-page #tracker .hp-pbac-reference a { color: inherit; text-decoration: none; }
  .heavy-periods-page #tracker .hp-pbac-reference a { display: inline !important; }
  .heavy-periods-page #tracker .hp-pbac-reference a::after { content: none !important; }
  .heavy-periods-page #tracker .hp-tracker-disclaimer { font-size: 8pt; }
}

/* Compact overview and supporting disclosures, without legacy section repeats. */
.heavy-periods-page .hp-education { padding: 1.6rem 0; background: var(--hp-plum-wash); }
.hp-education-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; align-items: center; }
.hp-video-frame { position: relative; aspect-ratio: 16 / 9; background: #e3d9e7; border-radius: 8px; overflow: hidden; }
.hp-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hp-education h2 { margin: 0 0 .6rem; font-size: clamp(1.4rem, 2.5vw, 1.9rem); color: var(--hp-plum-deep); }
.hp-education p { font-size: .9rem; line-height: 1.55; }
.hp-cause-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.hp-cause-links a { padding: .4rem .65rem; border-radius: 20px; background: rgba(255,255,255,.75); color: var(--hp-plum-deep); font-size: .8rem; }
.heavy-periods-page .hp-evaluation-details { padding: 0 0 1.4rem; background: var(--hp-paper); }
.hp-symptom-card .hp-icon { display: inline-flex; align-items: center; justify-content: center; gap: 2px; }
.hp-symptom-card .hp-icon i + i { font-size: .7em; }
.heavy-periods-page .hp-section-heading p,
.heavy-periods-page .hp-symptom-card p,
.heavy-periods-page .hp-option-grid small,
.heavy-periods-page .hp-evaluation-grid small,
.heavy-periods-page .hp-visit-grid p { font-size: .875rem; line-height: 1.5; }
.heavy-periods-page .hp-detail-list summary,
.heavy-periods-page .hp-panel summary { font-size: .875rem; }
.heavy-periods-page .hp-detail-list details p,
.heavy-periods-page .hp-panel details p { font-size: .875rem; line-height: 1.6; }
.hp-faqs { padding: 0; }
.hp-faq-grid { display: grid; gap: .4rem; }
.hp-faq-grid details { border-bottom: 1px solid var(--hp-line); }
.hp-faq-grid summary { padding: .6rem .15rem; cursor: pointer; color: var(--hp-plum-deep); font-size: .9rem; font-weight: 600; }
.hp-faq-grid details p { padding: 0 .15rem .6rem; margin: 0; color: var(--hp-muted); font-size: .9rem; line-height: 1.6; }
.hp-postmeno { background: #fbefeb; padding: .7rem 0; font-size: .85rem; color: #673f3a; }
.hp-postmeno a { color: var(--hp-plum-deep); font-weight: 600; }
.heavy-periods-page .hp-final-cta { padding: 1.25rem 0; background: linear-gradient(135deg, var(--primary-color), var(--primary-dark)); color: white; }
.hp-final-cta > .container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.hp-final-cta h2 { font-size: 1.6rem; color: white; margin: 0 0 .3rem; }
.hp-final-cta p { margin: 0; font-size: .9rem; }
.hp-final-cta .hp-actions { margin: 0; }
.hp-final-cta .hp-actions > a:not(.btn) { color: white; font-size: .85rem; }
.hp-option-grid > .hp-option-card { border: 1px solid var(--hp-line); border-radius: 7px; background: var(--hp-paper); }
.hp-option-card > summary { display: flex; flex-direction: column; padding: .85rem; cursor: pointer; list-style: none; min-height: 155px; }
.hp-option-card > summary::-webkit-details-marker { display: none; }
.hp-option-card[open] > summary { min-height: 0; }
.hp-option-icon { color: var(--hp-gold); height: 25px; display: flex; align-items: center; font-size: 1.2rem; }
.hp-option-action { color: var(--hp-plum); margin-top: auto; padding-top: .5rem; font-size: .8rem; font-weight: 700; }
.hp-option-card > p { padding: 0 .85rem .85rem; margin: 0; font-size: .9rem; line-height: 1.6; }
.hp-option-card > a { display: block; padding: 0 .85rem .85rem; color: var(--hp-plum); font-size: .85rem; }
.hp-procedure-content { display: grid; grid-template-columns: 1.2fr 1fr; gap: .65rem; align-items: start; }
.hp-procedure-art { max-width: 100%; height: auto; align-self: center; }
.hp-procedure-content .hp-cerene-video { margin: .4rem 0; }
.hp-visit-prep { display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.hp-visit-prep p { margin: 0; font-size: .85rem; }
.heavy-periods-page .hp-sources { padding: 1rem 0; font-size: .8rem; }
.hp-sources p { margin-bottom: .4rem; }
.hp-sources summary { cursor: pointer; color: var(--hp-plum); }
.hp-sources ul { margin-top: .5rem; }
@media (max-width: 767.98px) {
  .hp-education-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .hp-tracker-content { padding: .75rem; }
  .hp-pbac-guide-heading { display: block; }
  .hp-pbac-guide-heading > p { margin-top: .35rem; }
  .hp-pbac-guide-grid { grid-template-columns: minmax(0,1fr); min-width: 0; }
  .hp-pbac-guide-group, .hp-pbac-guide-group:first-child, .hp-pbac-guide-group:last-child { padding: .65rem 0; border-right: 0; border-bottom: 1px solid var(--hp-line); }
  .hp-pbac-guide-group:last-child { border-bottom: 0; }
  .hp-final-cta .hp-actions { flex-wrap: wrap; }
  .hp-procedure-content { grid-template-columns: 1fr; }
  .hp-procedure-art { max-height: 145px; width: auto; justify-self: center; }
}
