/* V23: public fulmor.com visual language, sampled 2026-09-09.
   Scope starts at overview; the cinematic stage remains untouched.
   Header change is limited to the requested official logo. */
.nav .brand { width: 145px; }
.nav .brand img { width: 100%; height: auto; max-height: 34px; object-fit: contain; }
.product-summary--editorial, .routine--editorial, .faq--editorial, .ritual-section, .footer {
  --display: DengXian, '等线', 'Avenir Next', 'Helvetica Neue', -apple-system, system-ui, 'Segoe UI', Arial, sans-serif;
  --sans: DengXian, '等线', 'Avenir Next', 'Helvetica Neue', -apple-system, system-ui, 'Segoe UI', Arial, sans-serif;
  --mono: var(--sans);
  --red: #c4363b;
  --editorial-paper: #fff;
  --editorial-muted: #5f666d;
  font-family: var(--sans);
  font-weight: 400;
  color: #111315;
}
.product-summary--editorial { padding-top: 80px; background: #fff; }
.product-summary--editorial .summary-heading { flex-direction: column; align-items: center; text-align: center; gap: 20px; margin-bottom: 48px; }
.product-summary--editorial .summary-heading h2, .ritual-heading h2 { font-size: clamp(36px, 4.2vw, 64px); font-weight: 400; line-height: 1.1; letter-spacing: -.025em; }
.product-summary--editorial h2 em, .ritual-heading h2 em, .routine--editorial h2 em { color: #c4363b; font-style: normal; }
.product-summary--editorial .summary-heading .eyebrow, .ritual-heading .eyebrow { font-size: 11px; font-weight: 500; letter-spacing: .08em; color: #777c81; margin-bottom: 18px; }
.section-index { color: #c4363b; }
.summary-intro { max-width: 550px; padding: 0; }
.summary-intro p { font-size: 16px; color: #5f666d; margin-bottom: 6px; }
.summary-intro p br { display: none; }
.summary-intro .text-link { font-size: 11px; border-color: #d3d6d7; font-weight: 500; }
.summary-intro .text-link span { color: #c4363b; }
.overview-layout { gap: clamp(28px, 4vw, 64px); }
.detail-gallery { border-radius: 18px; overflow: hidden; border: 1px solid #e0e3e3; box-shadow: 0 14px 32px #11131508; }
.detail-gallery-footer { background: #f3f4f1; color: #111315; }
.detail-controls button { color: #5f666d; border-radius: 10px; font-size: 12px; }
.detail-controls button[aria-pressed=true] { color: #fff; background: #151719; }
.detail-controls button:hover { border-color: #b8bdbf; }
.render-label { color: #656b70; font-size: 9px; }
.detail-gallery :focus-visible { outline-color: #c4363b; }
.detail-view figcaption strong { font-size: clamp(18px, 1.65vw, 24px); font-weight: 500; letter-spacing: -.015em; }
.detail-view figcaption .eyebrow { font-size: 10px; }
.overview-explainer > .eyebrow { font-size: 11px; letter-spacing: .08em; color: #b93338; }
.overview-explainer h3 { font-size: clamp(30px, 3.1vw, 44px); font-weight: 400; letter-spacing: -.025em; }
.overview-description { font-size: 16px; color: #5f666d; }
.overview-facts { gap: 14px; }
.overview-facts > div { border: 1px solid #e1e4e4; border-radius: 14px; background: #f7f8f6; padding: 19px; }
.overview-facts dt { color: #5f666d; font-size: 12px; }
.overview-facts dd { font-size: clamp(34px, 3.7vw, 48px); font-weight: 400; letter-spacing: -.025em; }
.overview-facts dd.fact-text { font-size: clamp(23px, 2.3vw, 31px); letter-spacing: -.015em; }
.overview-facts dd small, .overview-facts dd.fact-context { color: #656b70; }
.cycle-guide { background: #f3f4f1; border: 1px solid #e0e3e1; border-radius: 16px; }
.cycle-heading .eyebrow { color: #777d81; font-size: 10px; }
.cycle-options > div + div { border-color: #d8dcdb; }
.cycle-options dt { font-weight: 400; letter-spacing: -.025em; }
.cycle-guide > p, .cycle-options dd small { color: #5f666d; }
.overview-routine-link { border-color: #d3d7d7; font-size: 14px; }
.overview-routine-link span { color: #c4363b; }
.product-summary--editorial .summary-note { color: #626970; font-size: 12px; grid-template-columns: 155px 1fr; }
.summary-note > span { font-size: 10px; font-weight: 500; }
.product-summary--editorial .spec-disclosure { border-color: #dce0e1; }
.product-summary--editorial .spec-grid dt { color: #656c72; }
.product-summary--editorial .spec-grid dd { color: #171a1d; }
.product-summary--editorial .spec-disclosure .spec-grid > div { border-color: #e3e5e5; }
.routine--editorial { background: #f3f4f1; }
.routine--editorial .section-heading h2, .faq--editorial h2 { font-size: clamp(34px, 4.2vw, 58px); font-weight: 400; letter-spacing: -.025em; line-height: 1.12; }
.routine--editorial .section-heading > p, .routine--editorial .routine-grid article > p:last-child { color: #5f666d; }
.routine--editorial .section-heading .eyebrow, .routine--editorial .routine-grid .eyebrow, .faq--editorial header > .eyebrow { color: #71777b; font-size: 10px; letter-spacing: .08em; }
.routine--editorial .routine-grid { gap: 20px; }
.routine--editorial .routine-grid article, .routine--editorial .routine-grid article + article { background: #fff; border: 1px solid #e0e3e3; border-radius: 16px; padding: 28px; box-shadow: 0 10px 28px #11131504; }
.routine--editorial .step-number { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #dce0e1; font-size: 12px; color: #c4363b; }
.routine--editorial .routine-grid h3 { font-size: clamp(23px, 2vw, 28px); font-weight: 500; letter-spacing: -.015em; line-height: 1.2; }
.faq--editorial { background: #fff; }
.faq--editorial .accordion article { border-color: #e0e3e4; }
.faq--editorial .answer p, .faq--editorial header > p:last-child { color: #5f666d; }
.faq--editorial .accordion button { font-size: 16px; font-weight: 500; }
.ritual-section { background: #eef0ef; }
.ritual-heading > p { color: #5f666d; }
.ritual-track { border-radius: 18px; }
.ritual-slide h3 { font-size: clamp(25px, 3vw, 40px); font-weight: 400; letter-spacing: -.025em; }
.ritual-slide figcaption .eyebrow { font-size: 11px; }
.ritual-choices button { color: #60676c; font-size: 13px; }
.ritual-choices button span { font-size: 10px; }
.ritual-choices button[aria-current=true] { color: #111315; border-color: #c4363b; }
.ritual-choices button:hover { color: #c4363b; }
.ritual-navigation, .ritual-choices { border-color: #d5d9d9; }
.ritual-arrows button { color: #171a1c; background: #ffffffdf; border-color: #d4d9d9; }
.ritual-arrows button:hover { color: #fff; background: #151719; border-color: #151719; }
.ritual-meta { color: #626a70; font-size: 10px; }
.ritual-order h3 { font-weight: 400; letter-spacing: -.025em; }
.ritual-order .eyebrow, .ritual-order p:not(.eyebrow), .ritual-order-action small { color: #5f666d; }
.ritual-order .eyebrow { font-size: 11px; }
.ritual-order-action .button { border-radius: 14px; background: #12171c; border-color: #12171c; min-height: 56px; font-size: 12px; font-weight: 500; }
.ritual-order-action .button:hover { background: #c4363b; border-color: #c4363b; }
.ritual-order-action small { font-size: 12px; }
.footer { background: #f3f4f1; color: #171a1d; border-top: 1px solid #dfe3e2; }
.footer img { width: 145px; height: auto; filter: none; }
.footer p, .footer > span { color: #5f666d; }
.footer-links { font-size: 11px; }
.footer-links a { color: #454b50; }
@media (max-width: 900px) {
  .nav .brand { width: 128px; }
  .overview-facts > div { padding: 14px; }
  .routine--editorial .routine-grid article, .routine--editorial .routine-grid article + article { padding: 24px; }
}
@media (max-width: 760px) {
  .product-summary--editorial { padding-top: 54px; }
  .product-summary--editorial .summary-heading { text-align: left; align-items: start; gap: 18px; margin-bottom: 32px; }
  .product-summary--editorial .summary-heading h2, .ritual-heading h2 { font-size: 38px; line-height: 1.12; }
  .product-summary--editorial .summary-heading h2 em { display: block; }
  .summary-intro p { font-size: 15px; }
  .overview-explainer h3 { font-size: 32px; }
  .overview-description { font-size: 15px; }
  .overview-facts dd { font-size: 40px; }
  .overview-facts dd.fact-text { font-size: 24px; }
  .overview-facts dd.fact-context { font-size: 12px; }
  .render-label { font-size: 8px; }
  .routine--editorial .section-heading h2, .faq--editorial h2 { font-size: 36px; }
  .routine--editorial .routine-grid h3 { font-size: 24px; }
  .ritual-slide figcaption { background: #151719; }
  .ritual-slide h3 { font-size: 26px; }
  .ritual-choices button { font-size: 11px; }
  .ritual-meta { font-size: 9px; }
  .ritual-order h3 { font-size: 32px; }
}
@media (max-width: 380px) {
  .overview-facts { gap: 10px; }
  .overview-facts > div { padding: 12px; }
  .overview-facts dd.fact-text { font-size: 21px; }
  .ritual-slide h3 { font-size: 24px; }
}
