.notices-page { background: #fffcf6; }
.notices-page h1, .notices-page h2, .notices-page h3 { color: var(--navy); }
.notices-page h2 { margin: 0 0 24px; font-size: clamp(2rem, 3.8vw, 3.65rem); line-height: 1.08; }
.notices-page main p { font-size: 1.08rem; }
.notices-page main .eyebrow { font-size: .8rem; color: #a53931; }
.notices-hero, .notices-story, .notices-life, .notices-details, .notices-buy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 76px); align-items: center; }
.notices-hero { background: linear-gradient(120deg, #fff7e9, #fffdf8 55%, #edf8f7); }
.notices-hero h1 { margin: 12px 0 28px; font-size: clamp(3.5rem, 6.7vw, 6.5rem); font-weight: 900; line-height: .93; letter-spacing: -.045em; }
.notices-hero h1 span { display: block; color: #c83e37; }
.notices-hero h2 { font-size: clamp(1.5rem, 2.25vw, 2.25rem); max-width: 560px; margin-bottom: 10px; }
.notices-page main .notices-punchline { font-size: 1.4rem; font-weight: 900; }
.notices-hero-photo { margin: 0; transform: rotate(2deg); }
.notices-hero-photo img, .notices-life > img, .notices-buy > img { width: 100%; height: auto; border-radius: 14px; }
.notices-hero-photo img { box-shadow: var(--shadow); }
.notices-hero-photo figcaption { margin-top: 20px; text-align: center; color: #475467; font-weight: 800; }
.notices-page .button-primary { color: white; background: #bf3932; border: 0; }
.notices-page .button-primary:hover { background: #a82c26; }
.notices-page .nav-cta { background: #bf3932; }
.notices-page a:focus-visible, .notices-page button:focus-visible { outline: 3px solid var(--navy); outline-offset: 5px; }
.notices-story { background: var(--navy); color: #f1f4f9; }
.notices-story h2 { color: white; max-width: 560px; }
.notices-story h2 span { color: #ffd56d; }
.notices-page .notices-story .eyebrow { color: #ffd56d; }
.notices-story-copy p:first-child { margin-top: 0; }
.notices-story-copy p:last-child { margin-bottom: 0; }
.notices-inside { background: #f2f7f7; }
.notices-section-heading { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.notices-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.notice-card { --notice-accent: #f7bbbb; padding: clamp(22px, 2.5vw, 36px); border-radius: 14px; background: #fffefa; border: 1px solid #dce4e6; border-top: 8px solid var(--notice-accent); box-shadow: 0 8px 20px #101d3508; }
.notice-card:nth-child(3n + 2) { --notice-accent: #b8e2e9; }
.notice-card:nth-child(3n) { --notice-accent: #ffdd89; }
.notices-page .notice-number { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 0 24px; border-radius: 50%; background: var(--notice-accent); color: var(--navy); font-weight: 900; }
.notice-card h3 { margin: 0 0 20px; font-size: 1.08rem; }
.notices-page .notice-rule { font-size: clamp(1.25rem, 1.8vw, 1.65rem); font-weight: 900; line-height: 1.25; color: var(--navy); }
.notice-card ol { padding-left: 26px; }
.notice-card li + li { margin-top: 8px; }
.notice-card p:last-child { margin-bottom: 0; }
.notices-life { background: white; }
.notices-page main .notices-point { font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 900; line-height: 1.2; color: #b43831; }
.notices-details { align-items: stretch; }
.notices-details > div { padding: clamp(24px, 3.5vw, 48px); }
.notices-details h2 { font-size: clamp(2rem, 3vw, 3rem); }
.notices-gift { background: #ffe6ba; border-radius: 14px; }
.notices-details .product-checks { margin-bottom: 0; gap: 16px; }
.notices-details .product-checks li::before { color: #007a73; }
.notices-buy { background: #e3f2f2; }
.notices-buy .button { margin-top: 8px; }
.notices-page main .notices-checkout-status { font-size: .9rem; color: #475467; max-width: 380px; }
@media (max-width: 1050px) {
  .notices-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .notices-hero { gap: 32px; }
}
@media (max-width: 800px) {
  .notices-hero, .notices-story, .notices-life, .notices-details, .notices-buy { grid-template-columns: 1fr; }
  .notices-hero-photo { order: -1; transform: none; }
  .notices-details > div { padding: 24px; }
  .notices-hero h1 { font-size: clamp(3.5rem, 12vw, 5.8rem); }
}
@media (max-width: 560px) {
  .notices-grid { grid-template-columns: 1fr; }
  .notices-details > div:first-child { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
