/* Shared visible medical warning. Kept outside reveal animations. */
.medical-notice {
  display: flex; align-items: flex-start; gap: 20px; box-sizing: border-box;
  width: calc(100% - 48px); max-width: 1340px; margin: 28px auto 40px; padding: 26px 30px;
  border: 1px solid #e7d7c5; border-left: 4px solid #d68549; border-radius: 18px;
  background: linear-gradient(110deg, #fff9f0, #f5f9fc); color: #254257;
}
.medical-notice__icon { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: 50%; background: #f6e7d7; color: #95602d; }
.medical-notice__icon svg { width: 25px; height: 25px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.medical-notice .medical-notice__content > strong { display: block; font: 700 23px/1.25 var(--font-heading, 'Tinos', serif); color: #254257; }
.medical-notice .medical-notice__content > p { margin: 7px 0 0; font: 400 18px/1.45 var(--font-body, 'Tinos', serif); color: #254257; }
.medical-notice__caption { display: block; margin-top: 8px; font: 400 15px/1.45 var(--font-body, 'Tinos', serif); color: #536575; }
.cta-banner__warning { position: relative; z-index: 2; margin: 32px 0 0; padding: 18px 20px; border: 1px solid rgba(255,255,255,.4); border-radius: 12px; background: #173d64; color: #fff; font: 400 18px/1.5 var(--font-body, 'Tinos', serif); }
.cta-banner__warning strong { font-weight: 700; }
@media (max-width: 600px) {
  .medical-notice { width: calc(100% - 32px); margin: 20px auto 28px; padding: 20px 18px; gap: 12px; border-radius: 15px; }
  .medical-notice__icon { flex-basis: 32px; height: 32px; }
  .medical-notice__icon svg { width: 21px; height: 21px; }
  .medical-notice .medical-notice__content > strong { font-size: 20px; }
  .medical-notice .medical-notice__content > p { font-size: 17px; }
  .medical-notice__caption { font-size: 14px; }
}
