:root {
  --ink: #19364a;
  --ink-soft: #4e6674;
  --coral: #ed574b;
  --coral-dark: #c73f35;
  --cream: #fffaf3;
  --paper: #ffffff;
  --mint: #daf2ed;
  --mint-strong: #7dc8ae;
  --gold: #ffe9ae;
  --blue: #dfeff9;
  --purple: #ece4fd;
  --line: #e5e9e5;
  --shadow: 0 15px 40px rgba(26, 60, 72, .08);
  --shadow-strong: 0 25px 60px rgba(26, 60, 72, .13);
  --radius: 22px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: 'Trebuchet MS', 'Segoe UI', Arial, sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; }
img { display: block; height: auto; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
a:hover { color: var(--coral-dark); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #287bd6; outline-offset: 4px; }
[hidden] { display: none !important; }
::selection { background: #ffd5aa; color: #1a3446; }
.container { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
.icon { width: 22px; height: 22px; flex: none; display: inline-block; vertical-align: -.2em; stroke: currentColor; fill: none; }
.skip-link { position: absolute; left: 16px; top: -70px; z-index: 200; padding: 9px 15px; border-radius: 9px; background: #fff; color: #14314a; font-weight: 800; }
.skip-link:focus { top: 12px; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.035em; line-height: 1.18; }
h1 { font-size: clamp(3.1rem, 5.8vw, 5.35rem); font-weight: 900; }
h2 { font-size: clamp(2rem, 3.6vw, 3.25rem); font-weight: 900; }
h3 { font-size: 1.35rem; font-weight: 900; }
p { color: var(--ink-soft); }
.center { text-align: center; }
.ink-coral { color: var(--coral-dark); }
.eyebrow, .kicker { display: inline-flex; align-items: center; gap: 9px; color: #bc493f; font-size: .78rem; text-transform: uppercase; letter-spacing: .11em; font-weight: 900; line-height: 1.4; }
.eyebrow { background: #fff0e3; border-radius: 50px; padding: 9px 14px; letter-spacing: .055em; text-transform: none; font-size: .8rem; }
.eyebrow-icon { color: #f6a53e; font-size: 1.15rem; }
.headline-highlight { color: var(--coral); }
.section { padding: 90px 0; }
.section-heading { margin-bottom: 36px; max-width: 740px; }
.section-heading.center { margin-inline: auto; }
.section-heading h2 { margin: 13px 0 16px; }
.section-heading p { font-size: 1.04rem; max-width: 680px; margin: 0 auto; }
.split-heading { display: flex; justify-content: space-between; max-width: none; gap: 45px; align-items: end; }
.split-heading > div { max-width: 660px; }
.split-heading > p { flex-basis: 280px; margin: 0 0 6px; }
.section-steps, .section-paths, .section-story-preview, .section-prevent, .section-local-resources, .section-plan-instructions { background: #fff; }
.two-grid, .three-grid, .four-grid { display: grid; gap: 23px; }
.two-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.three-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.four-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 24px; line-height: 1.25; font-size: .95rem; font-weight: 900; text-align: center; border-radius: 13px; border: 2px solid transparent; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; white-space: normal; }
.btn:hover:not(:disabled) { transform: translateY(-2px); text-decoration: none; }
.btn .icon { width: 19px; height: 19px; }
.btn .icon-arrow { width: 17px; }
.btn-primary { color: #fff; background: var(--coral); box-shadow: 0 9px 20px rgba(219,75,64,.17); }
.btn-primary:hover { color: #fff; background: var(--coral-dark); box-shadow: 0 13px 25px rgba(219,75,64,.24); }
.btn-outline { background: #fff; border-color: #e0e8e9; color: var(--ink); }
.btn-outline:hover { color: var(--ink); border-color: var(--mint-strong); }
.btn-dark { background: var(--ink); color: white; }
.btn-dark:hover { color: white; background: #2b5368; }
.btn-light { background: #edf5f3; color: var(--ink); }
.btn-light:hover { background: #dfeae6; color: var(--ink); }
.btn-quiet { background: transparent; color: #536c76; padding: 13px 16px; }
.btn-quiet:hover { color: var(--ink); }
.btn:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
.btn-full { display: flex; width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: var(--coral-dark); font-weight: 900; }
.text-link .icon { width: 17px; height: 17px; transition: transform .2s; }
.text-link:hover .icon { transform: translateX(4px); }
.spacer-top { margin-top: 28px; }
.note-inline { display: flex; align-items: start; gap: 9px; font-size: .9rem; margin: 27px 0 0; color: #647986; }
.note-inline .icon { width: 18px; height: 18px; margin-top: 4px; }

/* Emergency strip and navigation */
.emergency-strip { background: #153448; color: #fff; position: relative; z-index: 20; font-size: .83rem; }
.emergency-inner { min-height: 42px; display: flex; gap: 10px; align-items: center; justify-content: center; flex-wrap: wrap; padding: 8px 0; line-height: 1.4; }
.emergency-inner a { color: #fff; font-weight: 900; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.emergency-dot { flex: 0 0 8px; height: 8px; border-radius: 50%; background: #ffb55f; box-shadow: 0 0 0 4px rgba(255,181,95,.14); }
.emergency-more { display: inline-flex; align-items: center; gap: 3px; margin-left: 12px; }
.emergency-more .icon { width: 13px; height: 13px; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,250,243,.97); backdrop-filter: blur(13px); border-bottom: 1px solid #f0e7de; }
.header-inner { min-height: 81px; display: flex; justify-content: space-between; align-items: center; gap: 25px; }
.brand { display: inline-flex; gap: 10px; align-items: center; flex-shrink: 0; color: var(--ink); text-decoration: none; line-height: 1; }
.brand:hover { color: var(--ink); }
.brand-icon { position: relative; width: 46px; height: 46px; background: var(--coral); border-radius: 15px; display: grid; place-items: center; box-shadow: 0 5px 13px #e65c5033; }
.brand-icon .icon { width: 29px; height: 29px; color: white; stroke-width: 2.3; }
.brand-spark { position: absolute; width: 6px; height: 6px; background: #fff1bc; top: 7px; right: 6px; border-radius: 50%; }
.brand-wordmark { display: grid; gap: 3px; font-size: 15px; letter-spacing: .065em; }
.brand-wordmark strong { font-weight: 900; }
.brand-wordmark span { font-size: 11px; letter-spacing: .19em; color: #6a8288; font-weight: 900; }
.main-nav { display: flex; gap: clamp(10px,1.6vw,23px); align-items: center; }
.main-nav a { text-decoration: none; color: #435d6b; font-size: .85rem; font-weight: 900; white-space: nowrap; transition: color .2s; }
.main-nav a:hover, .main-nav a[aria-current=page] { color: var(--coral-dark); }
.main-nav .nav-donate { display: inline-flex; gap: 8px; align-items: center; background: var(--coral); color: white; padding: 12px 16px; border-radius: 11px; }
.main-nav .nav-donate:hover, .main-nav .nav-donate[aria-current=page] { color: #fff; background: var(--coral-dark); }
.main-nav .nav-donate .icon { width: 17px; height: 17px; }
.menu-toggle { display: none; background: #fff; color: var(--ink); padding: 9px 13px; border: 1px solid var(--line); border-radius: 10px; align-items: center; gap: 7px; font-weight: 900; }

/* Homepage hero */
.hero { background: linear-gradient(122deg,#fff7ee 5%,#fffaf4 40%,#eaf9f6 100%); position: relative; overflow: hidden; padding: 82px 0 92px; }
.hero-grid { position: relative; display: grid; grid-template-columns: 54% 46%; gap: 9px; align-items: center; }
.hero-copy { position: relative; z-index: 3; }
.hero h1 { max-width: 670px; margin: 24px 0; }
.hero-lede { max-width: 570px; color: #506975; font-size: 1.17rem; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 16px 20px; margin-top: 29px; color: #58736f; font-size: .8rem; font-weight: 900; }
.hero-trust > span { display: flex; gap: 5px; align-items: center; }
.hero-trust .icon { width: 15px; height: 15px; color: #469882; stroke-width: 3; }
.hero-art { position: relative; z-index: 2; }
.hero-art img { width: 114%; max-width: none; transform: translateX(-12px); }
.floating-sticker { position: absolute; z-index: 3; background: #fff; border: 1px solid #e8ebe5; box-shadow: 0 12px 25px #3f696426; padding: 11px 14px 11px 46px; border-radius: 16px; min-width: 158px; display: grid; line-height: 1.25; }
.floating-sticker > .icon { position: absolute; top: 13px; left: 12px; width: 25px; height: 25px; color: var(--coral); }
.floating-sticker strong { font-size: .83rem; }
.floating-sticker small { font-size: .68rem; color: #7b8c8d; margin-top: 3px; }
.float-one { top: 15%; left: 2%; transform: rotate(-7deg); }
.float-two { bottom: 10%; right: -3%; transform: rotate(5deg); }
.float-two .icon { color: #eca837; }
.hero-curve { position: absolute; height: 70px; border-radius: 50% 50% 0 0/100% 100% 0 0; bottom: -55px; left: -5%; right: -5%; background: #fff; }

/* Four rules */
.section-steps { padding-top: 75px; }
.step-card { border-radius: 19px; padding: 25px 23px 27px; min-height: 262px; position: relative; }
.step-coral { background: #ffede8; } .step-gold { background: #fff3d5; } .step-mint { background: #e5f7ef; } .step-blue { background: #e7f1fb; }
.step-number { position: absolute; top: 22px; right: 24px; color: rgba(36,65,72,.27); font-size: .84rem; font-weight: 900; }
.step-icon { width: 65px; height: 65px; display: grid; place-items: center; border-radius: 19px; background: #fff9; margin-bottom: 22px; }
.step-icon .icon { width: 34px; height: 34px; }
.step-coral .step-icon { color: #d9594d; } .step-gold .step-icon { color: #ad7b26; } .step-mint .step-icon { color: #418f73; } .step-blue .step-icon { color: #5085af; }
.step-card h3 { font-size: 1.25rem; margin-bottom: 10px; }
.step-card p { margin: 0; font-size: .93rem; line-height: 1.55; }

/* Level cards */
.section-paths { background: #f8fbfa; }
.path-card { background: #fff; border-radius: var(--radius); padding: 18px 23px 27px; border: 1px solid #e7efeb; box-shadow: 0 9px 22px rgba(44,91,91,.04); text-decoration: none; display: flex; flex-direction: column; min-height: 345px; transition: transform .2s ease, box-shadow .2s ease; }
.path-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-strong); color: var(--ink); }
.path-illustration { height: 143px; border-radius: 15px; margin-bottom: 24px; display: flex; justify-content: center; align-items: center; position: relative; overflow: hidden; }
.path-junior .path-illustration { background: #fff0dc; }
.path-explorer .path-illustration { background: #dff4f0; }
.path-leader .path-illustration { background: #e6ecfa; }
.path-illustration::before { content: ''; position: absolute; height: 160px; width: 160px; border: 2px dashed rgba(36,66,78,.09); border-radius: 50%; }
.path-illustration-disc { width: 91px; height: 91px; border-radius: 26px; display: grid; place-items: center; position: relative; z-index: 1; transform: rotate(-8deg); }
.path-illustration-disc .icon { width: 53px; height: 53px; }
.path-junior .path-illustration-disc { color: #db7952; background: #ffe2af; }
.path-explorer .path-illustration-disc { color: #4a9983; background: #bcebdc; }
.path-leader .path-illustration-disc { color: #5d79b0; background: #cbd8f2; }
.path-age { position: absolute; right: 11px; top: 11px; background: #fff; border-radius: 20px; padding: 6px 10px; font-weight: 900; font-size: .75rem; color: #3b5a6c; z-index: 2; }
.path-card h3 { margin-bottom: 11px; }
.path-card p { font-size: .94rem; line-height: 1.6; margin-bottom: 22px; }
.path-card .text-link { margin-top: auto; font-size: .89rem; }

/* Home mini quiz */
.mini-lesson-section { background: #e9f7f3; }
.mini-lesson-grid { display: grid; grid-template-columns: .91fr 1.09fr; align-items: center; gap: 60px; }
.mini-lesson-grid h2 { margin: 18px 0; }
.mini-lesson-grid > div > p { max-width: 420px; font-size: 1.1rem; }
.mini-lesson-hint { color: #529181; font-size: .86rem; font-weight: 900; }
.card, .mini-quiz { background: white; border-radius: 24px; padding: 30px; box-shadow: var(--shadow); }
.mini-quiz-heading { display: flex; align-items: center; gap: 16px; font-size: 1.13rem; line-height: 1.4; }
.quiz-emoji { flex: none; width: 54px; height: 54px; border-radius: 16px; background: #fff0e2; color: var(--coral); display: grid; place-items: center; }
.quiz-emoji .icon { width: 28px; height: 28px; }
.mini-options { display: grid; gap: 10px; margin: 22px 0; }
.mini-options button { width: 100%; background: #f9fbfa; border: 2px solid #e6efec; color: var(--ink); text-align: left; padding: 13px 17px; border-radius: 12px; font-weight: 900; }
.mini-options button:hover { border-color: #82bda9; background: #eefaf5; }
.mini-options button.is-correct { background: #e1f7e9; border-color: #5aab82; }
.mini-options button.is-incorrect { background: #fff1e9; border-color: #ed998d; }
.mini-feedback { font-size: .86rem; min-height: 44px; margin-bottom: 7px; }
.mini-feedback.good { color: #25764e; font-weight: 900; }
.mini-feedback.try { color: #9d583d; font-weight: 900; }
.mini-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 5px; color: var(--coral-dark); font-size: .86rem; font-weight: 900; text-decoration: none; }
.mini-more .icon { width: 16px; height: 16px; }

/* Founder teaser */
.story-preview-grid { display: grid; grid-template-columns: .93fr 1.07fr; gap: 72px; align-items: center; }
.story-preview-art { min-height: 460px; border-radius: 30px; position: relative; overflow: hidden; background: linear-gradient(143deg,#ef9d7b 0%,#f9d2ad 60%,#d7eee3 100%); display: flex; align-items: center; justify-content: center; padding: 30px; }
.story-preview-art::before { content: ''; width: 285px; height: 300px; border-radius: 43% 43% 10% 10%; background: #fff7e6; box-shadow: 0 30px 0 -8px #d18469; position: absolute; top: 115px; left: 50%; transform: translateX(-50%); clip-path: polygon(50% 0,100% 32%,100% 100%,0 100%,0 32%); opacity: .85; }
.story-preview-art::after { content: ''; position: absolute; top: 142px; left: calc(50% - 57px); width: 114px; height: 114px; border: 12px solid #d27b66; border-radius: 50%; box-shadow: inset 0 0 0 5px #ffe9c3; }
.story-date-card { padding: 18px 23px; border-radius: 18px; background: #fff; position: relative; z-index: 2; display: flex; flex-direction: column; box-shadow: 0 14px 35px #6d54582c; margin-top: 90px; transform: rotate(-4deg); }
.story-date-top { color: var(--coral-dark); text-transform: uppercase; font-size: .88rem; font-weight: 900; letter-spacing: .13em; }
.story-date-card strong { font-size: 5.1rem; line-height: 1.1; letter-spacing: -.075em; }
.story-date-card > span:last-child { font-size: .82rem; color: #6d8389; }
.story-art-caption { position: absolute; bottom: 26px; left: 25px; right: 25px; font-weight: 900; text-align: center; font-size: .85rem; color: #6b5553; }
.story-preview-content h2 { margin: 17px 0 25px; }
.story-preview-content p { font-size: 1.02rem; line-height: 1.85; }
.story-preview-content .btn { margin-top: 17px; }
.family-panel { display: flex; align-items: center; gap: 25px; padding: 32px 38px; background: #e9f4ed; border: 1px solid #d2e6d9; border-radius: 27px; }
.family-icon { width: 79px; height: 79px; flex: none; background: #cae7da; color: #518c73; display: grid; place-items: center; border-radius: 24px; }
.family-icon .icon { width: 42px; height: 42px; }
.family-panel h2 { font-size: 1.55rem; margin: 8px 0 5px; }
.family-panel p { margin-bottom: 0; font-size: .89rem; }
.family-panel > .btn { margin-left: auto; flex: none; max-width: 275px; }
.section-support { background: #18394e; color: #fff; }
.support-grid { display: grid; grid-template-columns: 1fr .75fr; gap: 100px; align-items: center; }
.section-support h2 { margin: 14px 0 19px; }
.section-support p { color: #c7d8db; }
.section-support .kicker { color: #ffc8a4; }
.section-support .text-link { color: #ffc3a4; }
.support-note { padding: 14px 16px; border-left: 3px solid #f6b35c; background: #29495a; border-radius: 3px 9px 9px 3px; font-size: .88rem; }
.support-badge { min-height: 330px; background: #28566c; border-radius: 30px; border: 1px solid #427487; padding: 42px; display: flex; align-items: flex-start; flex-direction: column; justify-content: center; }
.support-badge .icon { width: 64px; height: 64px; color: #ffd0af; margin-bottom: 26px; }
.support-badge strong { display: block; font-size: 1.75rem; line-height: 1.3; letter-spacing: -.04em; }
.support-badge span { font-size: .77rem; color: #bbd7de; margin-top: 19px; }

/* Interior page heroes */
.page-hero { position: relative; overflow: hidden; background: linear-gradient(105deg,#fff2e7,#eaf8f3); padding: 77px 0 82px; }
.page-hero-inner { display: grid; grid-template-columns: 1.4fr .6fr; align-items: center; gap: 65px; }
.page-hero h1 { font-size: clamp(2.8rem,5.2vw,4.5rem); max-width: 800px; margin: 22px 0; }
.page-hero p { max-width: 680px; font-size: 1.12rem; }
.page-hero .btn { margin-top: 10px; }
.page-hero-learn { background: linear-gradient(120deg,#fff4e7,#f1f9f6); }
.page-hero-guide { background: linear-gradient(120deg,#eaf6f3,#fff7ef); }
.page-hero-plan { background: linear-gradient(120deg,#eff6ff,#fff7e7); }
.page-hero-story { background: linear-gradient(120deg,#fff0e7,#f9e4df); }
.page-hero-donate { background: linear-gradient(120deg,#fff0eb,#f4f9ef); }
.page-hero-resources { background: linear-gradient(120deg,#edf7f7,#fff6e9); }
.page-hero-privacy { background: linear-gradient(120deg,#f4efff,#f8faf5); }
.page-hero-emblem, .guide-hero-graphic, .plan-hero-mark, .story-hero-symbol, .donate-hero-icon, .resources-hero-symbol, .privacy-hero-symbol { justify-self: center; width: min(290px,100%); aspect-ratio: 1; border-radius: 32%; background: #fff9; box-shadow: 0 20px 45px #45667c1c; display: grid; place-items: center; position: relative; transform: rotate(-7deg); }
.page-hero-emblem { background: #ffdfb9; color: var(--coral); }
.page-hero-emblem > .icon { width: 160px; height: 160px; stroke-width: 1.2; }
.emblem-star { position: absolute; font-size: 35px; color: #fff; }
.star-one { top: 19px; right: 5px; } .star-two { bottom: 17px; left: 10px; }
.guide-hero-graphic { background: #bde8db; color: #387b71; transform: rotate(8deg); }
.guide-hero-graphic .icon { width: 140px; height: 140px; }
.guide-hero-graphic span { position: absolute; text-align: center; background: #fff; padding: 6px; border-radius: 9px; font-size: .78rem; line-height: 1.3; font-weight: 900; transform: rotate(-8deg); }
.plan-hero-mark { background: #d6e7ff; color: #587eba; }
.plan-hero-mark .icon { width: 155px; height: 155px; }
.story-hero-symbol { background: #f7cabc; color: #9b4439; display: flex; flex-direction: column; justify-content: center; }
.story-hero-symbol span { font-size: 1.2rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 900; }
.story-hero-symbol strong { font-size: 5.9rem; letter-spacing: -.06em; line-height: 1.2; }
.story-hero-symbol small { font-size: .75rem; font-weight: 900; }
.donate-hero-icon { background: #f9c8c6; color: #b74c58; }
.donate-hero-icon .icon { width: 145px; height: 145px; }
.resources-hero-symbol { background: #c5eee9; color: #428d8e; }
.resources-hero-symbol .icon { width: 150px; height: 150px; }
.privacy-hero-symbol { background: #e1d8f8; color: #7c6ab3; }
.privacy-hero-symbol .icon { width: 150px; height: 150px; }

/* Academy */
.academy-shell { background: #fff; border: 1px solid #e3eae7; border-radius: 28px; max-width: 900px; margin: 0 auto; box-shadow: var(--shadow-strong); overflow: hidden; }
.academy-header { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 27px 32px; }
.academy-title { display: flex; align-items: center; gap: 14px; }
.academy-badge { width: 57px; height: 57px; border-radius: 17px; display: grid; place-items: center; color: #c98531; background: #fff1d9; }
.academy-badge .icon { width: 32px; height: 32px; }
.academy-title h3 { margin: 2px 0 0; }
.quiz-score { display: flex; align-items: center; gap: 6px; background: #fff5de; border-radius: 35px; padding: 9px 15px; color: #86611e; font-size: .8rem; font-weight: 900; }
.quiz-score .icon { width: 17px; height: 17px; }
.track-switch { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); background: #f2f7f5; padding: 9px 30px; gap: 8px; }
.track-btn { border: 2px solid transparent; padding: 14px 10px; background: transparent; border-radius: 14px; color: #56717c; font-weight: 900; font-size: .89rem; line-height: 1.3; }
.track-btn small { display: block; font-size: .7rem; margin-top: 4px; font-weight: 700; }
.track-btn[aria-pressed=true] { background: #fff; color: #bd5145; border-color: #f7d5c2; box-shadow: 0 4px 12px #384b4b10; }
.quiz-stage { padding: 35px 44px 42px; }
.quiz-progress-row { display: flex; justify-content: space-between; color: #496b76; font-size: .86rem; font-weight: 900; }
.progress-label { color: #8da0a4; font-weight: 700; }
.progress-track { height: 9px; background: #eaf1ee; border-radius: 10px; overflow: hidden; margin: 13px 0 30px; }
.progress-fill { width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#f69b71,#e75c55); transition: width .2s; }
.quiz-question { text-align: center; min-height: 155px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.quiz-question-symbol { width: 71px; height: 71px; border-radius: 22px; background: #fff0e3; color: var(--coral); display: grid; place-items: center; margin: 0 0 18px; }
.quiz-question-symbol .icon { width: 36px; height: 36px; }
.quiz-question h3 { max-width: 650px; margin: 0 0 20px; font-size: clamp(1.4rem,2.5vw,1.93rem); }
.quiz-options { display: grid; gap: 12px; }
.quiz-option { position: relative; border: 2px solid #e5eeeb; background: #fafcfa; color: var(--ink); border-radius: 13px; padding: 15px 50px 15px 19px; font-weight: 900; text-align: left; min-height: 60px; transition: background .15s, border .15s; }
.quiz-option:hover:not(:disabled) { background: #effaf4; border-color: #80c3aa; }
.quiz-option:disabled { cursor: default; }
.quiz-option:after { content: ''; width: 19px; height: 19px; position: absolute; top: 50%; right: 19px; transform: translateY(-50%); border: 2px solid #c6d5d1; border-radius: 50%; }
.quiz-option.is-selected-correct { background: #e4f7eb; border-color: #52b082; }
.quiz-option.is-selected-correct:after { border-color: #318353; background: #318353; box-shadow: inset 0 0 0 4px #e4f7eb; }
.quiz-option.is-selected-incorrect { background: #fff0eb; border-color: #e9a18e; }
.quiz-option.is-selected-incorrect:after { border-color: #d87368; background: #d87368; box-shadow: inset 0 0 0 4px #fff0eb; }
.quiz-option.is-answer { border-color: #67b991; }
.quiz-feedback { min-height: 75px; margin-top: 18px; font-weight: 800; line-height: 1.5; }
.quiz-feedback.correct { color: #227e53; }
.quiz-feedback.incorrect { color: #9c5c38; }
.quiz-controls { display: flex; justify-content: space-between; gap: 12px; align-items: center; border-top: 1px solid #edf1ee; padding-top: 20px; }
.quiz-controls-right { display: flex; gap: 9px; align-items: center; }
.quiz-finish { padding: 48px 25px 60px; text-align: center; }
.finish-medal { width: 111px; height: 111px; background: #ffedbb; color: #b6862e; border-radius: 29px; transform: rotate(-7deg); display: inline-grid; place-items: center; margin-bottom: 27px; }
.finish-medal .icon { width: 63px; height: 63px; }
.quiz-finish h3 { font-size: 2rem; }
.quiz-finish p { max-width: 500px; margin-inline: auto; }
.finish-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.section-spot { background: #f6faf8; }
.spot-card { background: #fff; padding: 19px; border-radius: 20px; border: 1px solid var(--line); }
.spot-picture { height: 155px; border-radius: 15px; display: grid; align-content: center; justify-items: center; gap: 9px; font-weight: 900; font-size: .81rem; text-align: center; padding: 10px; }
.spot-picture .icon { width: 60px; height: 60px; }
.spot-picture-heater { background: #fff0e2; color: #b66047; }
.spot-picture-exit { background: #e1f7ed; color: #39916a; }
.spot-picture-matches { background: #eff0ff; color: #7774b6; }
.spot-card h3 { text-align: center; margin: 19px 0 15px; }
.spot-buttons { display: flex; gap: 8px; }
.spot-buttons button { flex: 1; border: 2px solid #e0eae4; border-radius: 10px; padding: 10px 5px; background: #fff; color: var(--ink); font-size: .84rem; font-weight: 900; }
.spot-buttons button:hover { border-color: #87b7a5; }
.spot-buttons button[aria-pressed=true] { border-color: #469780; background: #e8f7ec; }
.spot-result { min-height: 56px; font-size: .8rem; margin: 14px 2px 0; }
.spot-result.correct { color: #287b55; font-weight: 900; }
.spot-result.incorrect { color: #9a5a38; font-weight: 900; }
.section-simple-rules { background: #fff; }
.rules-grid { max-width: 920px; margin: 0 auto; display: grid; gap: 14px; }
.rule-row { display: flex; align-items: center; gap: 22px; background: #f9fbf9; border: 1px solid #e9eeea; padding: 21px 25px; border-radius: 19px; }
.rule-icon { flex: none; width: 57px; height: 57px; border-radius: 17px; display: grid; place-items: center; }
.rule-icon .icon { width: 31px; height: 31px; }
.rule-red { background: #ffe5e0; color: #c85a4d; }
.rule-blue { background: #e1edf9; color: #5681ac; }
.rule-mint { background: #e3f4e8; color: #529e77; }
.rule-gold { background: #fff0d3; color: #b87d2a; }
.rule-purple { background: #eee9fb; color: #8168ad; }
.rule-row h3 { margin: 0 0 5px; }
.rule-row p { margin: 0; font-size: .92rem; }
.cta-panel { display: flex; gap: 35px; justify-content: space-between; align-items: center; border-radius: 26px; padding: 37px 42px; background: #f1f6ef; border: 1px solid #dfebdf; }
.cta-panel h2 { font-size: 1.8rem; margin: 12px 0; }
.cta-panel p { margin: 0; }
.cta-panel .btn { flex-shrink: 0; }

/* Safety guide */
.emergency-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.emergency-steps article { display: flex; gap: 18px; padding: 24px; border: 1px solid #ece9e2; background: #fff; border-radius: 20px; }
.big-step { background: #ffebe6; color: #be5045; width: 49px; height: 49px; flex: none; border-radius: 14px; display: grid; place-items: center; font-size: 1.3rem; font-weight: 900; }
.emergency-steps h3 { margin: 4px 0 10px; }
.emergency-steps p { margin: 0; }
.safety-warning { display: flex; gap: 18px; align-items: start; margin-top: 25px; padding: 24px 25px; background: #ffe9df; border: 1px solid #f5c8b9; border-radius: 20px; }
.safety-warning > .icon { flex: none; width: 31px; height: 31px; color: #bd4437; }
.safety-warning strong { font-size: 1.13rem; }
.safety-warning p { margin: 7px 0 0; color: #775147; }
.section-before { background: #eff8f3; }
.info-card { background: #fff; padding: 29px 26px; border: 1px solid #e5ebe6; border-radius: 22px; }
.info-card-icon { width: 69px; height: 69px; border-radius: 19px; display: grid; place-items: center; margin-bottom: 23px; }
.info-card-icon .icon { width: 35px; height: 35px; }
.info-card-icon.mint { background: #d9f5e5; color: #4a9273; }
.info-card-icon.gold { background: #fff0d6; color: #b47c31; }
.info-card-icon.coral { background: #ffe6e0; color: #bc564b; }
.info-card p { margin: 0; font-size: .94rem; }
.hazard-grid { gap: 17px; }
.hazard-card { display: flex; align-items: start; gap: 20px; background: #fafbf8; border: 1px solid #e6eee7; border-radius: 19px; padding: 25px; }
.hazard-icon { width: 56px; height: 56px; background: #e9f4ef; color: #4c8c7a; flex: none; border-radius: 15px; display: grid; place-items: center; }
.hazard-icon .icon { width: 30px; height: 30px; }
.hazard-card h3 { margin: 0 0 8px; }
.hazard-card p { margin: 0; font-size: .93rem; }
.hazard-card .hazard-caution { margin-top: 9px; color: #a45b45; }
.section-special { background: #f8faf9; }
.accordion-list { display: grid; gap: 10px; max-width: 950px; }
.accordion-list details { background: #fff; border: 1px solid #e2eae6; border-radius: 14px; padding: 0 23px; }
.accordion-list summary { display: flex; justify-content: space-between; align-items: center; gap: 15px; list-style: none; cursor: pointer; font-weight: 900; padding: 21px 0; font-size: 1.03rem; }
.accordion-list summary::-webkit-details-marker { display: none; }
.accordion-list summary .icon { width: 19px; height: 19px; color: var(--coral); transition: transform .2s; }
.accordion-list details[open] summary .icon { transform: rotate(180deg); }
.details-body { padding: 1px 0 24px; color: #526c78; }
.section-after { background: #e8f5f2; }
.after-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: center; }
.after-grid h2 { margin: 15px 0 22px; }
.after-grid p { font-size: 1.02rem; }
.after-quote { background: #fff; padding: 38px; border-radius: 24px; box-shadow: var(--shadow); }
.after-quote .icon { color: #c5665b; width: 56px; height: 56px; }
.after-quote p { font-size: 1.2rem; font-weight: 900; color: #385e65; margin: 20px 0 0; }

/* Family planner */
.planner-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: start; }
.planner-form-panel, .planner-help { background: #fff; padding: 35px; border: 1px solid var(--line); border-radius: 23px; box-shadow: var(--shadow); }
.form-heading { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; }
.form-heading:not(:first-child) { margin-top: 38px; }
.form-step { display: inline-grid; place-items: center; width: 39px; height: 39px; border-radius: 13px; background: #eaf6ef; color: #40876a; font-size: .88rem; font-weight: 900; }
.form-heading h3 { font-size: 1.13rem; margin: 0; }
.planner-form-panel label { display: block; margin: 15px 0 7px; font-size: .88rem; font-weight: 900; }
.planner-form-panel input:not([type=checkbox]), .planner-form-panel textarea { display: block; width: 100%; border: 2px solid #e2e9e7; border-radius: 12px; background: #fcfdfb; padding: 12px 14px; color: var(--ink); resize: vertical; }
.planner-form-panel input::placeholder, .planner-form-panel textarea::placeholder { color: #91a1a7; }
.input-help { margin: 7px 0 0; font-size: .79rem; }
.planner-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 29px; }
.help-tag { display: inline-block; background: #fff2df; padding: 6px 12px; border-radius: 35px; color: #b17433; font-size: .76rem; font-weight: 900; }
.planner-help h3 { margin: 18px 0 22px; font-size: 1.45rem; }
.checkline { border-bottom: 1px solid #eff0eb; padding: 13px 0; }
.checkline label { display: flex; align-items: start; gap: 10px; font-size: .9rem; cursor: pointer; line-height: 1.55; }
.checkline input { width: 18px; height: 18px; accent-color: #369273; flex: none; margin-top: 3px; }
.planner-safety-callout { display: flex; gap: 11px; padding: 18px; border-radius: 14px; background: #e8f5f0; margin-top: 27px; }
.planner-safety-callout .icon { color: #418d75; }
.planner-safety-callout p { font-size: .82rem; margin: 0; }
.activity-card { background: #fff; padding: 31px 26px; border-radius: 21px; border: 1px solid var(--line); }
.activity-number { width: 44px; height: 44px; background: #ffe8df; color: #c34d3d; font-size: 1.4rem; font-weight: 900; border-radius: 12px; display: grid; place-items: center; margin-bottom: 21px; }
.activity-card p { margin: 0; }
.print-sheet { display: none; }

/* Story */
.story-body-section { background: #fff; }
.story-article { max-width: 820px; }
.story-intro h2 { margin: 15px 0 8px; }
.story-authorship { font-size: .78rem; font-style: italic; color: #8b7b73; }
.story-prose { margin-top: 34px; }
.story-prose p { font-size: 1.08rem; line-height: 1.95; margin-bottom: 23px; }
.story-prose .story-lead { color: #324d5b; font-weight: 800; font-size: 1.25rem; }
.story-pullquote { margin: 41px -35px; background: #fff0e8; border-left: 6px solid #ee8a6e; border-radius: 10px 20px 20px 10px; padding: 30px 40px; font-size: clamp(1.5rem,3vw,2rem); font-weight: 900; line-height: 1.5; color: #a84f41; }
.story-signature { margin-top: 42px; color: #375b62 !important; }
.story-signature strong { font-size: 1.4rem; }
.story-signature span { font-size: .88rem; color: #7a8b92; }
.section-story-timeline { background: #f4faf6; }
.timeline { max-width: 870px; margin: auto; border-left: 3px solid #b0d5c6; padding-left: 45px; }
.timeline-item { display: grid; grid-template-columns: 138px 1fr; gap: 27px; position: relative; padding: 10px 0 40px; }
.timeline-item::before { content: ''; position: absolute; left: -55px; top: 14px; width: 17px; height: 17px; border: 4px solid #fff; border-radius: 50%; background: #eb8b75; box-shadow: 0 0 0 2px #eb8b75; }
.timeline-year { font-weight: 900; font-size: .9rem; color: #b85446; }
.timeline-item h3 { margin: 0 0 9px; }
.timeline-item p { margin: 0; }
.cta-story { background: #fff4e8; border-color: #f4e5d2; }
.story-cta-actions { display: flex; flex-direction: column; gap: 11px; }

/* Donation */
.donation-layout { display: grid; grid-template-columns: 1fr .88fr; gap: 75px; align-items: center; }
.donation-layout h2 { margin: 16px 0 22px; }
.donation-values { display: grid; gap: 17px; margin-top: 30px; }
.donation-values > div { display: flex; gap: 12px; align-items: start; }
.donation-values .icon { color: #4c9d7d; width: 26px; height: 26px; margin-top: 4px; }
.donation-values span { display: grid; gap: 1px; }
.donation-values small { color: #70848d; font-size: .83rem; }
.donate-status-card { border-radius: 25px; padding: 39px; box-shadow: var(--shadow-strong); background: #fff; border: 1px solid #e8ebe5; }
.status-eyebrow { font-size: .8rem; color: #6d858a; text-transform: uppercase; font-weight: 900; letter-spacing: .11em; }
.donate-pending, .donate-live { display: flex; align-items: center; gap: 13px; padding: 20px 0; font-size: 1.45rem; font-weight: 900; letter-spacing: -.025em; line-height: 1.3; }
.donate-pending .icon, .donate-live .icon { color: var(--coral); width: 41px; height: 41px; }
.donate-live .icon { color: #348b6f; }
.donate-status-card p { font-size: .93rem; }
.donation-pending-label { background: #f4f6f3; border: 2px dashed #b6c9c6; color: #697e86; text-align: center; padding: 17px; border-radius: 12px; font-size: .92rem; font-weight: 900; margin: 21px 0 13px; }
.donation-fine { font-size: .82rem !important; }
.donation-disclosures { margin: 23px 0 0; display: grid; gap: 14px; }
.donation-disclosures div { border-top: 1px solid #e9eee9; padding-top: 14px; }
.donation-disclosures dt { font-weight: 900; font-size: .82rem; color: #64808b; }
.donation-disclosures dd { margin: 6px 0 0; overflow-wrap: anywhere; }
.section-impact { background: #f2f8f5; }
.section-founder-callout { background: #fff; }
.founder-callout { max-width: 850px; text-align: center; }
.founder-callout blockquote { margin: 23px auto; font-size: clamp(1.7rem,3.7vw,2.6rem); color: #99524a; line-height: 1.4; font-weight: 900; letter-spacing: -.03em; }
.founder-callout p { max-width: 600px; margin: 0 auto 19px; }
.donation-faq { max-width: 950px; }

/* Resources and policy */
.resource-alert { display: flex; gap: 23px; background: #ffebdf; border: 1px solid #efd1bd; padding: 27px 30px; border-radius: 22px; }
.resource-alert > .icon { flex: none; color: #bb5a45; width: 43px; height: 43px; }
.resource-alert h2 { font-size: 1.75rem; margin: 7px 0 10px; }
.resource-alert p { margin: 0; }
.resource-alert-links { display: flex; gap: 13px 20px; margin-top: 20px; flex-wrap: wrap; }
.resource-alert-links a { font-weight: 900; font-size: .86rem; color: #a64e40; display: inline-flex; align-items: center; gap: 5px; }
.resource-alert-links .icon { width: 15px; height: 15px; }
.section-resource-list { background: #fff; }
.resource-card { text-decoration: none; background: #f9fcfa; border: 1px solid #e3ede7; padding: 25px; display: flex; align-items: start; gap: 17px; border-radius: 19px; transition: transform .2s, box-shadow .2s; }
.resource-card:hover { color: var(--ink); box-shadow: var(--shadow); transform: translateY(-2px); }
.resource-logo { width: 62px; height: 62px; border-radius: 16px; display: grid; place-items: center; font-size: .89rem; flex: none; font-weight: 900; }
.resource-logo.usfa { color: #346a91; background: #dfecf9; }
.resource-logo.redcross { color: #b94747; background: #f9e1e1; }
.resource-card h3 { margin: 0 0 10px; }
.resource-card p { font-size: .85rem; margin-bottom: 12px; }
.resource-card div > span { font-size: .79rem; display: inline-flex; align-items: center; gap: 5px; color: var(--coral-dark); font-weight: 900; }
.resource-card div > span .icon { width: 13px; height: 13px; }
.section-local-resources { background: #edf7f4; }
.local-resource { display: block; text-decoration: none; background: #fff; padding: 28px; border: 1px solid #dfebe4; border-radius: 22px; transition: transform .2s; }
.local-resource:hover { color: var(--ink); transform: translateY(-3px); }
.local-resource > .icon { color: #4c9c88; width: 43px; height: 43px; margin-bottom: 25px; }
.local-resource h3 { font-size: 1.19rem; }
.local-resource p { font-size: .89rem; }
.local-resource span { font-weight: 900; color: var(--coral-dark); font-size: .81rem; }
.local-resource span .icon { width: 14px; height: 14px; }
.policy-content { max-width: 850px; background: #fff; padding: 55px 65px; border-radius: 25px; box-shadow: var(--shadow); }
.policy-content h2 { font-size: 2.1rem; }
.policy-content h3 { font-size: 1.19rem; margin: 29px 0 10px; }
.policy-content p { line-height: 1.8; }
.policy-updated { font-size: .83rem; color: #859796; margin-top: 34px; }

/* Footer */
.site-footer { background: #143245; color: #fff; padding: 60px 0 23px; }
.footer-main { display: grid; grid-template-columns: 1.8fr 1fr 1fr; gap: 70px; padding-bottom: 57px; }
.brand-footer { color: #fff; }
.brand-footer:hover { color: #fff; }
.brand-footer .brand-wordmark span { color: #afd0db; }
.footer-intro p { max-width: 365px; margin: 20px 0; font-size: .89rem; color: #aac5ce; }
.footer-motto { color: #f8c4a6; font-size: .84rem; font-weight: 900; }
.footer-links h2 { font-size: 1.1rem; margin: 4px 0 20px; }
.footer-links a { display: block; margin: 11px 0; color: #b8d0d7; font-size: .88rem; text-decoration: none; }
.footer-links a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding-top: 20px; border-top: 1px solid #2c4a5c; font-size: .75rem; color: #96b1bb; }

@media (max-width: 1120px) {
  .main-nav { gap: 10px; }
  .main-nav a { font-size: .78rem; }
  .brand-wordmark { font-size: 13px; }
  .brand-icon { width: 42px; height: 42px; }
  .header-inner { gap: 15px; }
  .hero-grid { grid-template-columns: 56% 44%; }
  .hero-art img { width: 122%; }
  .float-two { right: -2%; }
  .support-grid { gap: 50px; }
}
@media (max-width: 1000px) {
  .header-inner { min-height: 75px; }
  .menu-toggle { display: inline-flex; }
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fffaf3; border-bottom: 1px solid #e8e0d7; padding: 15px max(24px,calc((100vw - var(--max))/2)) 25px; box-shadow: 0 15px 20px #223b4e18; }
  .main-nav.is-open { display: grid; gap: 0; }
  .main-nav a { display: block; padding: 11px 0; font-size: .99rem; }
  .main-nav .nav-donate { justify-content: center; margin-top: 9px; padding: 14px; }
  .four-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero h1 { font-size: clamp(3rem,5.5vw,4.8rem); }
  .story-preview-grid { gap: 35px; }
  .donation-layout { gap: 30px; }
}
@media (max-width: 780px) {
  .container { width: min(var(--max),calc(100% - 34px)); }
  .section { padding: 62px 0; }
  h1 { font-size: clamp(2.8rem,8vw,4.5rem); }
  h2 { font-size: clamp(1.9rem,6vw,2.8rem); }
  .hero { padding: 65px 0 55px; }
  .hero-grid, .mini-lesson-grid, .story-preview-grid, .support-grid, .after-grid, .planner-grid, .donation-layout { grid-template-columns: 1fr; }
  .hero-art { width: min(520px,100%); margin: 0 auto; }
  .hero-art img { width: 100%; transform: none; }
  .float-two { right: 0; }
  .hero-trust { margin-top: 21px; }
  .hero-copy { text-align: left; }
  .three-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mini-lesson-grid { gap: 25px; }
  .story-preview-art { min-height: 360px; }
  .story-preview-content h2 { font-size: 2.5rem; }
  .family-panel { display: grid; justify-items: start; }
  .family-panel > .btn { margin: 0; }
  .split-heading { display: block; }
  .split-heading > p { max-width: 600px; }
  .page-hero { padding: 60px 0; }
  .page-hero-inner { grid-template-columns: 1fr; gap: 25px; }
  .page-hero-emblem, .guide-hero-graphic, .plan-hero-mark, .story-hero-symbol, .donate-hero-icon, .resources-hero-symbol, .privacy-hero-symbol { width: 170px; justify-self: start; }
  .page-hero-emblem > .icon, .guide-hero-graphic .icon, .plan-hero-mark .icon, .donate-hero-icon .icon, .resources-hero-symbol .icon, .privacy-hero-symbol .icon { width: 92px; height: 92px; }
  .story-hero-symbol strong { font-size: 3.5rem; }
  .story-hero-symbol span { font-size: .84rem; }
  .story-hero-symbol small { font-size: .6rem; }
  .footer-main { grid-template-columns: 1.5fr 1fr 1fr; gap: 30px; }
  .donate-status-card { max-width: 560px; }
}
@media (max-width: 560px) {
  .emergency-inner { font-size: .71rem; gap: 6px; justify-content: flex-start; }
  .emergency-more { margin-left: 0; }
  .header-inner { min-height: 69px; }
  .brand-icon { width: 42px; height: 42px; border-radius: 13px; }
  .brand-wordmark { font-size: 12px; }
  .brand-wordmark span { font-size: 9px; }
  .menu-toggle { padding: 7px 9px; font-size: .78rem; }
  .menu-toggle .icon { width: 19px; height: 19px; }
  .hero { padding-top: 43px; }
  .hero h1 { font-size: 3.08rem; line-height: 1.06; margin: 23px 0; }
  .hero-lede { font-size: 1rem; }
  .hero-actions { display: grid; align-items: stretch; }
  .hero-actions .btn { justify-content: center; }
  .floating-sticker { transform: none; min-width: auto; padding: 8px 10px 8px 34px; }
  .floating-sticker > .icon { width: 18px; height: 18px; top: 10px; left: 8px; }
  .floating-sticker strong { font-size: .7rem; }
  .floating-sticker small { font-size: .58rem; }
  .float-one { top: 11%; left: -1%; }.float-two { bottom: 8%; right: -1%; }
  .section-heading { margin-bottom: 26px; }
  .section-heading p { font-size: .96rem; }
  .four-grid, .three-grid, .two-grid, .emergency-steps { grid-template-columns: 1fr; gap: 15px; }
  .step-card { min-height: 190px; }
  .step-icon { width: 55px; height: 55px; margin-bottom: 13px; }
  .step-icon .icon { width: 28px; height: 28px; }
  .path-card { min-height: 300px; }
  .path-illustration { height: 120px; }
  .mini-lesson-grid h2 { font-size: 2.7rem; }
  .card, .mini-quiz { padding: 19px; }
  .story-preview-art { min-height: 345px; }
  .story-date-card strong { font-size: 3.6rem; }
  .story-preview-content h2 { font-size: 2.25rem; }
  .family-panel { padding: 27px; }
  .family-panel h2 { font-size: 1.55rem; }
  .support-badge { min-height: 270px; padding: 30px; }
  .support-badge strong { font-size: 1.5rem; }
  .academy-header { padding: 19px; align-items: flex-start; }
  .academy-title h3 { font-size: 1.13rem; }
  .academy-badge { width: 47px; height: 47px; }
  .quiz-score { padding: 8px; font-size: .72rem; }
  .track-switch { gap: 5px; padding: 7px; }
  .track-btn { padding: 10px 4px; font-size: .75rem; }
  .track-btn small { font-size: .62rem; }
  .quiz-stage { padding: 23px 17px 26px; }
  .quiz-controls { display: grid; }
  .quiz-controls > .btn { justify-self: start; }
  .quiz-controls-right { justify-content: space-between; }
  .quiz-controls-right .btn { padding: 11px 13px; font-size: .81rem; }
  .spot-grid { grid-template-columns: 1fr; }
  .rule-row { align-items: flex-start; gap: 13px; padding: 18px; }
  .rule-icon { width: 49px; height: 49px; }
  .rule-icon .icon { width: 27px; height: 27px; }
  .rule-row h3 { font-size: 1.09rem; }
  .cta-panel { display: grid; padding: 26px; }
  .cta-panel .btn { justify-self: start; }
  .hazard-card, .resource-alert { gap: 12px; padding: 18px; }
  .hazard-icon { width: 48px; height: 48px; }
  .emergency-steps article { padding: 17px; }
  .planner-form-panel, .planner-help { padding: 23px 20px; }
  .planner-buttons { display: grid; }
  .story-prose p { font-size: 1rem; }
  .story-prose .story-lead { font-size: 1.13rem; }
  .story-pullquote { margin: 30px -3px; padding: 25px; }
  .timeline { padding-left: 25px; }
  .timeline-item { grid-template-columns: 1fr; gap: 6px; padding-bottom: 30px; }
  .timeline-item::before { left: -35px; }
  .donate-status-card { padding: 25px; }
  .donate-pending, .donate-live { font-size: 1.2rem; }
  .resource-card { padding: 18px; }
  .resource-logo { width: 47px; height: 47px; font-size: .73rem; }
  .policy-content { padding: 29px 24px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 26px; padding-bottom: 25px; }
  .footer-intro { grid-column: 1 / -1; }
  .footer-bottom { display: grid; gap: 7px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
@media print {
  @page { size: letter; margin: .55in; }
  body.has-print-sheet { background: #fff; color: #111; font-family: Arial,sans-serif; font-size: 11pt; }
  body.has-print-sheet .site-header, body.has-print-sheet .emergency-strip, body.has-print-sheet .site-footer,
  body.has-print-sheet #main > section:not(.print-sheet), body.has-print-sheet .skip-link { display: none !important; }
  body.has-print-sheet .print-sheet { display: block !important; margin: 0; padding: 0; color: #1c2830; }
  .print-sheet-header { display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 2px solid #162e3c; font-size: 10pt; }
  .print-sheet h2 { font-family: Arial,sans-serif; font-size: 24pt; margin: 14px 0 5px; }
  .print-sheet p { color: #242a2b; font-size: 10pt; }
  .print-details { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin: 20px 0; }
  .print-details p { margin: 0; border-bottom: 1px solid #b0bdc0; min-height: 43px; overflow-wrap: anywhere; }
  .print-details span { display: block; padding-top: 5px; }
  .print-map-heading { margin-bottom: 10px; font-size: 10pt; }
  .print-grid { height: 350px; border: 1px solid #9ea9a8; background-color: #fff; background-image: linear-gradient(#e2e6e4 1px,transparent 1px),linear-gradient(90deg,#e2e6e4 1px,transparent 1px); background-size: 25px 25px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .print-checks { margin-top: 15px; }
  .print-checks p { margin: 6px 0; }
  .print-footer { margin-top: 18px; text-align: center; font-size: 8pt !important; color: #777 !important; }
}
/* Evergreen reminders and printable poster */
.section-reminders { background: #fff8ef; }
.reminder-card { background: #fff; border: 1px solid #f2e9df; padding: 28px; border-radius: 22px; }
.reminder-card > .icon { width: 43px; height: 43px; color: #d36952; background: #fff1e4; padding: 9px; border-radius: 14px; box-sizing: content-box; margin-bottom: 17px; }
.reminder-card h3 { margin-bottom: 12px; }
.reminder-card p { margin: 0; font-size: .92rem; }
.reminder-links { display: flex; flex-wrap: wrap; gap: 15px 35px; margin-top: 30px; }
.section-poster-promo { background: #fff5e5; }
.poster-promo { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.poster-promo h2 { margin: 15px 0; }
.poster-promo p { max-width: 540px; }
.poster-promo .btn { margin-top: 14px; }
.poster-graphic { height: 220px; width: 220px; flex: none; background: #ffd3ad; border-radius: 30px; transform: rotate(7deg); display: grid; align-content: center; justify-items: center; gap: 12px; color: #a85045; box-shadow: 0 15px 25px #bc7d6430; }
.poster-graphic > .icon { width: 70px; height: 70px; }
.poster-graphic strong { font-size: 1.2rem; line-height: 1.3; text-align: center; }
@media (max-width: 780px) { .poster-graphic { width: 160px; height: 160px; } .poster-graphic > .icon { width: 50px; height: 50px; } }
@media (max-width: 560px) { .poster-promo { display: grid; } .poster-graphic { width: 140px; height: 140px; } }
