/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.grow{flex-grow:1}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--paper) 95%,transparent)}}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb,var(--ground) 8%,transparent)}}@supports (color:color-mix(in lab, red, red)){.hero-visual:after{background:linear-gradient(180deg,transparent 58%,color-mix(in srgb,var(--ground) 50%,transparent))}}@supports (color:color-mix(in lab, red, red)){.hero-note{background:color-mix(in srgb,var(--ground) 93%,transparent)}}@supports (color:color-mix(in lab, red, red)){.proof-intro{border-bottom:1px solid color-mix(in srgb,var(--paper) 19%,transparent)}}@supports (color:color-mix(in lab, red, red)){.proof-grid article{border-right:1px solid color-mix(in srgb,var(--paper) 15%,transparent)}}@supports (color:color-mix(in lab, red, red)){.teaching-visual figcaption{background:color-mix(in srgb,var(--ground) 91%,transparent)}}@supports (color:color-mix(in lab, red, red)){.family-panel:after{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ground) 91%,transparent))}}@supports (color:color-mix(in lab, red, red)){.record-panel figure{box-shadow:0 16px 45px color-mix(in srgb,var(--ground) 10%,transparent)}}@media (width<=900px){.desktop-nav,.site-header>.button{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{font-size:14px;font-weight:650;list-style:none}.mobile-menu div{background:var(--navy);width:220px;color:var(--paper);box-shadow:0 15px 40px var(--ink);padding:15px;position:absolute;top:32px;right:0}@supports (color:color-mix(in lab, red, red)){.mobile-menu div{box-shadow:0 15px 40px color-mix(in srgb,var(--ink) 27%,transparent)}}.mobile-menu a{padding:11px;display:block}.hero{grid-template-columns:1fr}.hero-visual{order:-1;min-height:56vh;max-height:620px}.hero-copy{min-height:590px}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-grid article:nth-child(odd){padding-left:0}.proof-grid article:nth-child(2n){border-right:0;padding-left:30px}.meet,.next-chapter,.why,.vision-head,.commitments-head,.district,.community,.join{grid-template-columns:1fr}.family-panel{min-height:720px}.vision-grid{grid-template-columns:1fr}.vision-grid article,.vision-grid article+article{border-right:0;border-bottom:1px solid var(--rule-dark);padding:34px 0}.commitments-head{gap:22px}.commitment-grid{grid-template-columns:1fr}.commitment-grid article{min-height:0}.community-actions{margin-top:20px}footer{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){body{font-size:17px}.site-header{height:70px}.brand strong{font-size:11px}.hero-visual{min-height:52vh;padding:20px}.hero-copy{min-height:570px;padding:55px 23px}.actions{flex-direction:column;align-items:flex-start}.hero-note{max-width:280px;padding:18px}.hero-note p{font-size:15px}.proof{padding:55px 23px}.proof-intro{flex-direction:column;align-items:flex-start}.proof-grid{grid-template-columns:1fr 1fr}.proof-grid article,.proof-grid article+article{border-bottom:1px solid var(--paper);padding:25px 15px 22px 0}@supports (color:color-mix(in lab, red, red)){.proof-grid article,.proof-grid article+article{border-bottom:1px solid color-mix(in srgb,var(--paper) 15%,transparent)}}.proof-grid article:nth-child(2n){border-right:0;padding-left:15px}.proof-grid strong{font-size:34px}.section{padding:75px 23px}.teaching-visual{min-height:380px}.next-chapter{padding:70px 23px}.next-chapter>p{font-size:18px}.family-panel{min-height:570px}.family-overlay{bottom:38px;left:23px;right:23px}.family-overlay p:last-child{font-size:17px}.record-panel{padding:70px 23px}.record-panel blockquote{padding-left:18px;font-size:23px}.belief{padding:65px 23px}.vision-grid{margin-top:45px}.commitment-grid{grid-template-columns:1fr;margin-top:45px}.commitment-grid article{min-height:0;padding:32px 25px}.district-map{padding:7px}.community-actions{flex-direction:column;align-items:flex-start}.donate{flex-direction:column;align-items:flex-start;gap:30px}footer{grid-template-columns:1fr;padding:58px 23px 38px}.footer-note{gap:30px}}@media (prefers-reduced-motion:no-preference){.reveal{animation:.75s ease-out both rise}.hero-visual{animation:.9s ease-out both fade}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}}@media (width<=1100px){.meet,.why,.commitments-head,.join{grid-template-columns:1fr}.teaching-visual{aspect-ratio:16/10}.family-panel{min-height:720px}.commitment-mantra{margin-top:38px}}@media (width<=580px){.donate-inline{flex-direction:column;align-items:flex-start}.belief{padding:70px 23px}}@supports (color:color-mix(in lab, red, red)){.record-panel figure.article-evidence{box-shadow:0 22px 60px color-mix(in srgb,var(--ground) 14%,transparent)}}@supports (color:color-mix(in lab, red, red)){footer{border-top:1px solid color-mix(in srgb,var(--paper) 9%,transparent)}}@supports (color:color-mix(in lab, red, red)){.support-band{border-block:1px solid color-mix(in srgb,var(--gold-ink) 13%,transparent)}}@media (width<=1050px){.meet,.why,.commitments-head,.walks,.join,.contribute,.support-band{grid-template-columns:1fr}.family-panel{aspect-ratio:1800/1201;min-height:0}.contribute-law{padding-top:0}.support-actions{justify-content:flex-start}}@media (width<=1180px) and (width>=1051px){.commitment-grid article{grid-template-rows:60px 100px 1fr;padding:34px 28px}.commitment-grid h3{font-size:25px}.contribute{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)}.amounts{grid-template-columns:repeat(3,1fr)}}@media (width<=580px){.commitment-grid article{display:block}.commitment-grid h3{margin:22px 0 12px}.family-panel{aspect-ratio:524/683}.family-panel>img{object-fit:cover;object-position:center center}.record-belief{padding:24px 22px;font-size:29px}.record-panel figure.article-evidence{margin-top:4px}.article-copy{padding:20px 20px 22px}.article-copy figcaption{font-size:20px}.article-copy>p:not(.article-source){font-size:16px}.record-panel .article-link{margin-bottom:34px}.signup fieldset{grid-template-columns:1fr}.amounts{grid-template-columns:repeat(2,1fr)}.amounts a:last-child{grid-column:auto}.contribute{padding:70px 23px}.election-line{display:block}.election-line span{border:0;margin-top:2px;padding:0;display:block}.support-band{padding:55px 23px}.support-actions{flex-direction:column;align-items:flex-start}.walks-schedule{padding:30px 25px}.meet-copy .leadership-promise{padding:15px 0 15px 18px;font-size:22px}.campaign-slogan{margin-bottom:30px;font-size:clamp(52px,15vw,70px);line-height:.94}.hero-credentials{grid-template-columns:1fr;gap:0;margin-top:-8px;font-size:13px;display:grid}.hero-credentials span{padding:7px 0}.hero-credentials span+span{border-left:0;border-top:1px solid var(--muted-light);margin-left:0;padding-left:0}}@media (width<=900px){.site-header>.language-toggle{margin-left:auto}}@supports (color:color-mix(in lab, red, red)){.hero-secondary{border-bottom:1px solid color-mix(in srgb,var(--cream) 62%,transparent)}}@supports (color:color-mix(in lab, red, red)){.district-stat{border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}}@supports (color:color-mix(in lab, red, red)){.warning-conclusion{background:color-mix(in srgb,var(--hs-field) 75%,var(--ground))}}@supports (color:color-mix(in lab, red, red)){.vision#plan .vision-grid li+li{border-top:1px solid color-mix(in srgb,var(--cream) 16%,transparent)}}@supports (color:color-mix(in lab, red, red)){.vision#plan .vision-grid .plan-priority{background:color-mix(in srgb,var(--gold) 12%,transparent)}}@supports (color:color-mix(in lab, red, red)){.childhood-visual figcaption,.story-teaching figcaption{background:color-mix(in srgb,var(--ground) 90%,transparent)}}@media (width<=1050px){.warning-head,.story,.warning-grid{grid-template-columns:1fr}.story{gap:35px}.childhood-visual{aspect-ratio:4/5;width:min(100%,520px)}.story-teaching{aspect-ratio:16/10;width:min(100%,760px)}}@media (width<=700px){.warning-signs{padding:65px 23px}.warning-head{gap:24px}.warning-head>p{font-size:16px}.warning-grid{margin-top:36px}.warning-conclusion{flex-direction:column;align-items:flex-start;gap:8px}.insight-band{padding:62px 23px}.story{padding:70px 23px}.story-path{grid-template-columns:1fr}.childhood-visual{width:100%}.family-story .family-panel{aspect-ratio:524/683}}@media (width<=580px){html:lang(zh-Hans) .campaign-slogan{gap:.22em;margin:27px 0 35px;font-size:clamp(48px,13.5vw,62px);line-height:1.1}html:lang(zh-Hans) h2{font-size:clamp(38px,11.5vw,54px);line-height:1.2}html:lang(zh-Hans) .hero-copy{padding-top:62px;padding-bottom:62px}html:lang(zh-Hans) .hero-credentials span{padding-block:9px;line-height:1.5}html:lang(zh-Hans) .record-panel blockquote{font-size:22px;line-height:1.55}html:lang(zh-Hans) .record-belief{font-size:27px;line-height:1.48}html:lang(zh-Hans) .commitment-grid h3{margin-top:18px}}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--ground) 96%,transparent)}}@supports (color:color-mix(in lab, red, red)){.hero-note{background:color-mix(in srgb,var(--ground) 93%,transparent)}}@supports (color:color-mix(in lab, red, red)){.record-belief{background:color-mix(in srgb,var(--gold) 18%,var(--paper))}}@supports (color:color-mix(in lab, red, red)){.vision-grid{border-top-color:color-mix(in srgb,var(--rule-dark) 20%,transparent)}}@supports (color:color-mix(in lab, red, red)){.vision-grid article{border-right-color:color-mix(in srgb,var(--rule-dark) 20%,transparent)}}@media (width<=900px){.proof-grid article:nth-child(2n){border-right:0}.vision-grid article,.vision-grid article+article{border-bottom-color:var(--rule-dark)}@supports (color:color-mix(in lab, red, red)){.vision-grid article,.vision-grid article+article{border-bottom-color:color-mix(in srgb,var(--rule-dark) 20%,transparent)}}}@media (width<=580px){.hero-credentials span+span{border-left:0;border-top-color:var(--rule-dark)}.proof-grid article,.proof-grid article+article{border-bottom-color:var(--rule-dark)}.site-header{gap:12px;height:70px;padding-inline:14px}.site-header .brand{flex:auto;gap:9px;min-width:0;margin-right:0}.site-header .brand-mark{flex:0 0 34px;width:34px;height:34px;font-size:20px}.site-header .brand>span:last-child{min-width:0;line-height:1;display:block}.site-header .brand strong{letter-spacing:.12em;white-space:nowrap;font-size:10px;line-height:1.05;display:block}.site-header .brand small{letter-spacing:.045em;white-space:nowrap;margin-top:4px;font-size:8px;line-height:1.15}.site-header>.language-toggle{flex:none;gap:2px;margin-left:0;font-size:10px}.site-header>.language-toggle button{padding-inline:1px}.site-header .mobile-menu{flex:none}.site-header .mobile-menu summary{white-space:nowrap;font-size:12px;line-height:1}}@media (width<=1400px) and (width>=801px){.section{padding-inline:clamp(42px,6vw,76px)}.story{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);align-items:start;gap:34px clamp(38px,5vw,64px)}.story-copy{grid-area:1/2/span 2;min-width:0}.childhood-visual,.story-teaching{grid-column:1;width:100%}.childhood-visual{aspect-ratio:4/5;grid-row:1}.story-teaching{aspect-ratio:4/3;grid-row:2}.story-copy h2{font-size:clamp(42px,5.1vw,58px)}.warning-head,.vision-head,.commitments-head{grid-template-columns:1fr;gap:28px}.warning-context,.vision-head>p,.commitments-head>p:last-child{max-width:760px}.warning-grid{margin-top:44px}.walks,.join,.contribute,.support-band{grid-template-columns:1fr;gap:48px}.walks-schedule,.join-actions,.contribute-law{width:min(100%,780px)}}@media (width<=800px){.story{grid-template-columns:1fr;gap:35px}.story-copy,.childhood-visual,.story-teaching{grid-area:auto/1}.childhood-visual{aspect-ratio:4/5;width:min(100%,520px)}.story-teaching{aspect-ratio:16/10;width:min(100%,760px)}}@supports (color:color-mix(in lab, red, red)){.readiness-gaps>div{background:color-mix(in srgb,var(--cream) 7%,transparent)}}@media (width<=700px){.plan-close{flex-direction:column;align-items:flex-start}.readiness-gaps{grid-template-columns:1fr}}:root{--review-navy:#0d2334;--review-purple:#351044;--review-green:#b7d435;--review-cream:#f7f0df;--review-muted:#60706d}.full-compare{min-height:100vh;color:var(--review-navy);background:#e8e3d8;padding:32px 24px 42px;font-family:Arial,sans-serif}.compare-header{grid-template-columns:1.2fr .8fr;align-items:end;gap:50px;max-width:1800px;margin:0 auto 24px;display:grid}.compare-header p:first-child{letter-spacing:.14em;color:#31705b;margin:0 0 8px;font-size:11px;font-weight:800}.compare-header h1{letter-spacing:-.045em;margin:0;font:600 clamp(35px,4.4vw,66px)/.95 Georgia,serif}.compare-header h1 span{color:#31705b;font-style:italic}.compare-header .instructions{max-width:620px;color:var(--review-muted);margin:0 0 5px;font-size:15px;line-height:1.55}.site-labels{grid-template-columns:1fr 1fr;gap:16px;max-width:1800px;margin:0 auto 8px;display:grid}.site-labels>div,.mobile-label{color:#fff;text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;gap:15px;padding:13px 18px;display:flex}.site-labels>div:first-child,.current-column .mobile-label{background:var(--review-navy)}.site-labels>div:last-child,.proposed-column .mobile-label{background:var(--review-purple)}.site-labels strong,.mobile-label strong{font-size:12px}.site-labels span,.mobile-label span{opacity:.72;font-size:9px}.full-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;max-width:1800px;margin:auto;display:grid}.site-column{background:#fff;border:1px solid #d0cabd;min-width:0;box-shadow:0 18px 55px #263d3524}.site-column iframe{background:var(--review-cream);border:0;width:100%;height:calc(100vh - 200px);min-height:720px;display:block}.mobile-label{display:none}@media (width<=1050px){.full-compare{padding:24px 12px 35px}.compare-header{grid-template-columns:1fr;gap:13px}.site-labels{display:none}.full-grid{grid-template-columns:1fr;gap:30px}.mobile-label{display:flex}.site-column iframe{height:82vh;min-height:650px}}@media (width<=600px){.compare-header h1{font-size:39px}.compare-header .instructions{font-size:14px}.mobile-label{flex-direction:column;align-items:flex-start;gap:4px}.site-column iframe{height:76vh;min-height:580px}}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--paper) 95%,transparent)}}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb,var(--ground) 8%,transparent)}}@supports (color:color-mix(in lab, red, red)){.hero-visual:after{background:linear-gradient(180deg,transparent 58%,color-mix(in srgb,var(--ground) 50%,transparent))}}@supports (color:color-mix(in lab, red, red)){.hero-note{background:color-mix(in srgb,var(--ground) 93%,transparent)}}@supports (color:color-mix(in lab, red, red)){.proof-intro{border-bottom:1px solid color-mix(in srgb,var(--paper) 19%,transparent)}}@supports (color:color-mix(in lab, red, red)){.proof-grid article{border-right:1px solid color-mix(in srgb,var(--paper) 15%,transparent)}}@supports (color:color-mix(in lab, red, red)){.teaching-visual figcaption{background:color-mix(in srgb,var(--ground) 91%,transparent)}}@supports (color:color-mix(in lab, red, red)){.family-panel:after{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ground) 91%,transparent))}}@supports (color:color-mix(in lab, red, red)){.record-panel figure{box-shadow:0 16px 45px color-mix(in srgb,var(--ground) 10%,transparent)}}@media (width<=900px){.desktop-nav,.site-header>.button{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{font-size:14px;font-weight:650;list-style:none}.mobile-menu div{background:var(--navy);width:220px;color:var(--paper);box-shadow:0 15px 40px var(--ink);padding:15px;position:absolute;top:32px;right:0}@supports (color:color-mix(in lab, red, red)){.mobile-menu div{box-shadow:0 15px 40px color-mix(in srgb,var(--ink) 27%,transparent)}}.mobile-menu a{padding:11px;display:block}.hero{grid-template-columns:1fr}.hero-visual{order:-1;min-height:56vh;max-height:620px}.hero-copy{min-height:590px}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-grid article:nth-child(odd){padding-left:0}.proof-grid article:nth-child(2n){border-right:0;padding-left:30px}.meet,.next-chapter,.why,.vision-head,.commitments-head,.district,.community,.join{grid-template-columns:1fr}.family-panel{min-height:720px}.vision-grid{grid-template-columns:1fr}.vision-grid article,.vision-grid article+article{border-right:0;border-bottom:1px solid var(--rule-dark);padding:34px 0}.commitments-head{gap:22px}.commitment-grid{grid-template-columns:1fr}.commitment-grid article{min-height:0}.community-actions{margin-top:20px}footer{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){body{font-size:17px}.site-header{height:70px}.brand strong{font-size:11px}.hero-visual{min-height:52vh;padding:20px}.hero-copy{min-height:570px;padding:55px 23px}.actions{flex-direction:column;align-items:flex-start}.hero-note{max-width:280px;padding:18px}.hero-note p{font-size:15px}.proof{padding:55px 23px}.proof-intro{flex-direction:column;align-items:flex-start}.proof-grid{grid-template-columns:1fr 1fr}.proof-grid article,.proof-grid article+article{border-bottom:1px solid var(--paper);padding:25px 15px 22px 0}@supports (color:color-mix(in lab, red, red)){.proof-grid article,.proof-grid article+article{border-bottom:1px solid color-mix(in srgb,var(--paper) 15%,transparent)}}.proof-grid article:nth-child(2n){border-right:0;padding-left:15px}.proof-grid strong{font-size:34px}.section{padding:75px 23px}.teaching-visual{min-height:380px}.next-chapter{padding:70px 23px}.next-chapter>p{font-size:18px}.family-panel{min-height:570px}.family-overlay{bottom:38px;left:23px;right:23px}.family-overlay p:last-child{font-size:17px}.record-panel{padding:70px 23px}.record-panel blockquote{padding-left:18px;font-size:23px}.belief{padding:65px 23px}.vision-grid{margin-top:45px}.commitment-grid{grid-template-columns:1fr;margin-top:45px}.commitment-grid article{min-height:0;padding:32px 25px}.district-map{padding:7px}.community-actions{flex-direction:column;align-items:flex-start}.donate{flex-direction:column;align-items:flex-start;gap:30px}footer{grid-template-columns:1fr;padding:58px 23px 38px}.footer-note{gap:30px}}@media (prefers-reduced-motion:no-preference){.reveal{animation:.75s ease-out both rise}.hero-visual{animation:.9s ease-out both fade}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}}@media (width<=1100px){.meet,.why,.commitments-head,.join{grid-template-columns:1fr}.teaching-visual{aspect-ratio:16/10}.family-panel{min-height:720px}.commitment-mantra{margin-top:38px}}@media (width<=580px){.donate-inline{flex-direction:column;align-items:flex-start}.belief{padding:70px 23px}}@supports (color:color-mix(in lab, red, red)){.record-panel figure.article-evidence{box-shadow:0 22px 60px color-mix(in srgb,var(--ground) 14%,transparent)}}@supports (color:color-mix(in lab, red, red)){footer{border-top:1px solid color-mix(in srgb,var(--paper) 9%,transparent)}}@supports (color:color-mix(in lab, red, red)){.support-band{border-block:1px solid color-mix(in srgb,var(--gold-ink) 13%,transparent)}}@media (width<=1050px){.meet,.why,.commitments-head,.walks,.join,.contribute,.support-band{grid-template-columns:1fr}.family-panel{aspect-ratio:1800/1201;min-height:0}.contribute-law{padding-top:0}.support-actions{justify-content:flex-start}}@media (width<=1180px) and (width>=1051px){.commitment-grid article{grid-template-rows:60px 100px 1fr;padding:34px 28px}.commitment-grid h3{font-size:25px}.contribute{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)}.amounts{grid-template-columns:repeat(3,1fr)}}@media (width<=580px){.commitment-grid article{display:block}.commitment-grid h3{margin:22px 0 12px}.family-panel{aspect-ratio:524/683}.family-panel>img{object-fit:cover;object-position:center center}.record-belief{padding:24px 22px;font-size:29px}.record-panel figure.article-evidence{margin-top:4px}.article-copy{padding:20px 20px 22px}.article-copy figcaption{font-size:20px}.article-copy>p:not(.article-source){font-size:16px}.record-panel .article-link{margin-bottom:34px}.signup fieldset{grid-template-columns:1fr}.amounts{grid-template-columns:repeat(2,1fr)}.amounts a:last-child{grid-column:auto}.contribute{padding:70px 23px}.election-line{display:block}.election-line span{border:0;margin-top:2px;padding:0;display:block}.support-band{padding:55px 23px}.support-actions{flex-direction:column;align-items:flex-start}.walks-schedule{padding:30px 25px}.meet-copy .leadership-promise{padding:15px 0 15px 18px;font-size:22px}.campaign-slogan{margin-bottom:30px;font-size:clamp(52px,15vw,70px);line-height:.94}.hero-credentials{grid-template-columns:1fr;gap:0;margin-top:-8px;font-size:13px;display:grid}.hero-credentials span{padding:7px 0}.hero-credentials span+span{border-left:0;border-top:1px solid var(--muted-light);margin-left:0;padding-left:0}}@media (width<=900px){.site-header>.language-toggle{margin-left:auto}}@supports (color:color-mix(in lab, red, red)){.hero-secondary{border-bottom:1px solid color-mix(in srgb,var(--cream) 62%,transparent)}}@supports (color:color-mix(in lab, red, red)){.district-stat{border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}}@supports (color:color-mix(in lab, red, red)){.warning-conclusion{background:color-mix(in srgb,var(--hs-field) 75%,var(--ground))}}@supports (color:color-mix(in lab, red, red)){.vision#plan .vision-grid li+li{border-top:1px solid color-mix(in srgb,var(--cream) 16%,transparent)}}@supports (color:color-mix(in lab, red, red)){.vision#plan .vision-grid .plan-priority{background:color-mix(in srgb,var(--gold) 12%,transparent)}}@supports (color:color-mix(in lab, red, red)){.childhood-visual figcaption,.story-teaching figcaption{background:color-mix(in srgb,var(--ground) 90%,transparent)}}@media (width<=1050px){.warning-head,.story,.warning-grid{grid-template-columns:1fr}.story{gap:35px}.childhood-visual{aspect-ratio:4/5;width:min(100%,520px)}.story-teaching{aspect-ratio:16/10;width:min(100%,760px)}}@media (width<=700px){.warning-signs{padding:65px 23px}.warning-head{gap:24px}.warning-head>p{font-size:16px}.warning-grid{margin-top:36px}.warning-conclusion{flex-direction:column;align-items:flex-start;gap:8px}.insight-band{padding:62px 23px}.story{padding:70px 23px}.story-path{grid-template-columns:1fr}.childhood-visual{width:100%}.family-story .family-panel{aspect-ratio:524/683}}@media (width<=580px){html:lang(zh-Hans) .campaign-slogan{gap:.22em;margin:27px 0 35px;font-size:clamp(48px,13.5vw,62px);line-height:1.1}html:lang(zh-Hans) h2{font-size:clamp(38px,11.5vw,54px);line-height:1.2}html:lang(zh-Hans) .hero-copy{padding-top:62px;padding-bottom:62px}html:lang(zh-Hans) .hero-credentials span{padding-block:9px;line-height:1.5}html:lang(zh-Hans) .record-panel blockquote{font-size:22px;line-height:1.55}html:lang(zh-Hans) .record-belief{font-size:27px;line-height:1.48}html:lang(zh-Hans) .commitment-grid h3{margin-top:18px}}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--ground) 96%,transparent)}}@supports (color:color-mix(in lab, red, red)){.hero-note{background:color-mix(in srgb,var(--ground) 93%,transparent)}}@supports (color:color-mix(in lab, red, red)){.record-belief{background:color-mix(in srgb,var(--gold) 18%,var(--paper))}}@supports (color:color-mix(in lab, red, red)){.vision-grid{border-top-color:color-mix(in srgb,var(--rule-dark) 20%,transparent)}}@supports (color:color-mix(in lab, red, red)){.vision-grid article{border-right-color:color-mix(in srgb,var(--rule-dark) 20%,transparent)}}@media (width<=900px){.proof-grid article:nth-child(2n){border-right:0}.vision-grid article,.vision-grid article+article{border-bottom-color:var(--rule-dark)}@supports (color:color-mix(in lab, red, red)){.vision-grid article,.vision-grid article+article{border-bottom-color:color-mix(in srgb,var(--rule-dark) 20%,transparent)}}}@media (width<=580px){.hero-credentials span+span{border-left:0;border-top-color:var(--rule-dark)}.proof-grid article,.proof-grid article+article{border-bottom-color:var(--rule-dark)}.site-header{gap:12px;height:70px;padding-inline:14px}.site-header .brand{flex:auto;gap:9px;min-width:0;margin-right:0}.site-header .brand-mark{flex:0 0 34px;width:34px;height:34px;font-size:20px}.site-header .brand>span:last-child{min-width:0;line-height:1;display:block}.site-header .brand strong{letter-spacing:.12em;white-space:nowrap;font-size:10px;line-height:1.05;display:block}.site-header .brand small{letter-spacing:.045em;white-space:nowrap;margin-top:4px;font-size:8px;line-height:1.15}.site-header>.language-toggle{flex:none;gap:2px;margin-left:0;font-size:10px}.site-header>.language-toggle button{padding-inline:1px}.site-header .mobile-menu{flex:none}.site-header .mobile-menu summary{white-space:nowrap;font-size:12px;line-height:1}}@media (width<=1400px) and (width>=801px){.section{padding-inline:clamp(42px,6vw,76px)}.story{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);align-items:start;gap:34px clamp(38px,5vw,64px)}.story-copy{grid-area:1/2/span 2;min-width:0}.childhood-visual,.story-teaching{grid-column:1;width:100%}.childhood-visual{aspect-ratio:4/5;grid-row:1}.story-teaching{aspect-ratio:4/3;grid-row:2}.story-copy h2{font-size:clamp(42px,5.1vw,58px)}.warning-head,.vision-head,.commitments-head{grid-template-columns:1fr;gap:28px}.warning-context,.vision-head>p,.commitments-head>p:last-child{max-width:760px}.warning-grid{margin-top:44px}.walks,.join,.contribute,.support-band{grid-template-columns:1fr;gap:48px}.walks-schedule,.join-actions,.contribute-law{width:min(100%,780px)}}@media (width<=800px){.story{grid-template-columns:1fr;gap:35px}.story-copy,.childhood-visual,.story-teaching{grid-area:auto/1}.childhood-visual{aspect-ratio:4/5;width:min(100%,520px)}.story-teaching{aspect-ratio:16/10;width:min(100%,760px)}}:root{--ground:#001a0c;--hs-field:#0e3a1e;--mv-field:#2b0b38;--mv-field-soft:#3a164a;--paper:#f1ebdf;--gold:#ffd400;--gold-ink:#7a6410;--cream:#f1ebdf;--ink:#001509;--rule-dark:#48594b;--rule-purple:#745c80;--sep-purple:#583868;--label-purple:#a892b8;--text-2-dark:#aeb0a4;--body-light:#354439;--muted-light:#858b7f;--navy:var(--ground);--navy2:var(--hs-field);--green:var(--gold);--green-dark:var(--gold-ink);--white:var(--paper);--muted:var(--body-light);--line:var(--rule-dark)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-geist-sans),Arial,sans-serif;margin:0;font-size:18px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img{max-width:100%}.site-header{background:var(--paper);align-items:center;gap:34px;height:82px;padding:0 clamp(22px,5vw,76px);display:flex}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--paper) 95%,transparent)}}.site-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;border-bottom:1px solid var(--ground);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb,var(--ground) 8%,transparent)}}.brand{align-items:center;gap:12px;margin-right:auto;display:flex}.brand-mark{background:var(--navy);width:38px;height:38px;color:var(--paper);font:650 13px var(--font-geist-mono);border-radius:50%;place-items:center;display:grid}.brand strong{letter-spacing:.14em;font-size:14px}.brand small{font:600 10px var(--font-geist-mono);letter-spacing:.08em;color:var(--muted-light);margin-top:2px;display:block}.desktop-nav{gap:27px;font-size:15px;display:flex}.desktop-nav a:hover,.text-link:hover{color:var(--green-dark)}.button{background:var(--navy);color:var(--paper);cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:0 22px;font-size:15px;font-weight:650;transition:all .2s;display:inline-flex}.button:hover{background:var(--green-dark);transform:translateY(-2px)}.button-small{min-height:42px;padding:0 17px;font-size:14px}.button-white{background:var(--paper);color:var(--navy)}.text-link{border-bottom:1px solid;align-items:center;gap:20px;padding-bottom:4px;font-size:16px;font-weight:650;display:inline-flex}.mobile-menu{display:none}.eyebrow,.section-label{font:650 12px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--green-dark)}.light{color:var(--green)}.section{padding:105px clamp(26px,8vw,124px)}h2{letter-spacing:-.052em;margin:0;font-size:clamp(40px,4.8vw,68px);font-weight:620;line-height:1.03}.hero{grid-template-columns:1.05fr .95fr;min-height:700px;display:grid}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:75px clamp(26px,7vw,110px);display:flex}h1{letter-spacing:-.067em;margin:25px 0 30px;font-size:clamp(56px,6.2vw,92px);font-weight:630;line-height:.92}h1 em{color:var(--green-dark);font-style:normal}.hero-lede{max-width:640px;color:var(--body-light);font-size:clamp(18px,1.5vw,22px);line-height:1.55}.actions{align-items:center;gap:28px;margin-top:27px;display:flex}.hero-visual{background:var(--paper);align-items:flex-end;min-height:650px;padding:34px;display:flex;position:relative;overflow:hidden}.hero-visual>img{object-fit:cover;object-position:center 16%;filter:saturate(.9);width:100%;height:100%;position:absolute;inset:0}.hero-visual:after{content:"";background:linear-gradient(180deg,transparent 58%,var(--ground));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.hero-visual:after{background:linear-gradient(180deg,transparent 58%,color-mix(in srgb,var(--ground) 50%,transparent))}}.hero-note{z-index:1;background:var(--ground);max-width:325px;position:relative}@supports (color:color-mix(in lab, red, red)){.hero-note{background:color-mix(in srgb,var(--ground) 93%,transparent)}}.hero-note{color:var(--paper);border-left:3px solid var(--green);padding:24px}.hero-note span{font:650 11px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--green)}.hero-note p{margin:10px 0 0;font-size:18px;line-height:1.45}.proof{background:var(--navy);color:var(--paper);padding:70px clamp(26px,8vw,124px)}.proof-intro{border-bottom:1px solid var(--paper);justify-content:space-between;align-items:end;gap:30px;display:flex}@supports (color:color-mix(in lab, red, red)){.proof-intro{border-bottom:1px solid color-mix(in srgb,var(--paper) 19%,transparent)}}.proof-intro{padding-bottom:34px}.proof-intro h2{max-width:780px;font-size:clamp(32px,3.7vw,52px)}.proof-grid{grid-template-columns:repeat(4,1fr);display:grid}.proof-grid article{border-right:1px solid var(--paper);padding:34px 30px 5px 0}@supports (color:color-mix(in lab, red, red)){.proof-grid article{border-right:1px solid color-mix(in srgb,var(--paper) 15%,transparent)}}.proof-grid article+article{padding-left:30px}.proof-grid article:last-child{border:0}.proof-grid strong{color:var(--green);letter-spacing:-.05em;font-size:clamp(34px,4vw,55px);line-height:1;display:block}.proof-grid h3{margin:19px 0 8px;font-size:18px}.proof-grid p{color:var(--text-2-dark);margin:0;font-size:14px;line-height:1.55}.meet{background:var(--paper);grid-template-columns:.85fr 1.15fr;align-items:center;gap:8vw;display:grid}.meet-copy>p:not(.section-label){color:var(--muted);max-width:650px}.meet-copy h2{margin:22px 0 28px}.teaching-visual{background:var(--navy);min-height:570px;margin:0;position:relative;overflow:hidden}.teaching-visual img{object-fit:cover;width:100%;height:100%;position:absolute}.teaching-visual figcaption{background:var(--ground);position:absolute;bottom:18px;left:20px}@supports (color:color-mix(in lab, red, red)){.teaching-visual figcaption{background:color-mix(in srgb,var(--ground) 91%,transparent)}}.teaching-visual figcaption{color:var(--paper);padding:10px 14px;font-size:13px}.next-chapter{background:var(--green);grid-template-columns:1.1fr .9fr;align-items:end;gap:9vw;padding:90px clamp(26px,8vw,124px);display:grid}.next-chapter h2{margin-top:20px}.next-chapter>p{max-width:650px;margin:0;font-size:20px;line-height:1.65}.why{background:var(--paper);grid-template-columns:1fr 1fr;display:grid}.family-panel{min-height:940px;position:relative;overflow:hidden}.family-panel>img{object-fit:cover;width:100%;height:100%;position:absolute}.family-panel:after{content:"";background:linear-gradient(180deg,transparent,var(--ground));position:absolute;inset:35% 0 0}@supports (color:color-mix(in lab, red, red)){.family-panel:after{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ground) 91%,transparent))}}.family-overlay{z-index:1;color:var(--paper);position:absolute;bottom:70px;left:clamp(26px,6vw,85px);right:clamp(26px,6vw,85px)}.family-overlay h2{margin:18px 0 20px}.family-overlay p:last-child{max-width:620px;font-size:19px}.record-panel{flex-direction:column;justify-content:center;align-items:flex-start;padding:85px clamp(30px,6vw,90px);display:flex}.record-panel h2{margin:20px 0 26px}.record-panel blockquote{border-left:4px solid var(--green-dark);letter-spacing:-.025em;color:var(--navy);margin:0 0 25px;padding:3px 0 3px 24px;font-size:clamp(24px,2.4vw,35px);line-height:1.28}.record-panel>p:not(.eyebrow){color:var(--muted)}.record-panel figure{background:var(--paper);box-shadow:0 16px 45px var(--ground);margin:25px 0 20px;padding:10px}@supports (color:color-mix(in lab, red, red)){.record-panel figure{box-shadow:0 16px 45px color-mix(in srgb,var(--ground) 10%,transparent)}}.record-panel figure img{width:100%;display:block}.record-panel figcaption{color:var(--muted-light);padding:8px 4px 0;font-size:12px}.belief{background:var(--green);padding:75px clamp(26px,13vw,200px)}.belief p{letter-spacing:-.045em;max-width:1180px;margin:0;font-size:clamp(33px,4.4vw,65px);line-height:1.08}.vision{background:var(--navy);color:var(--paper)}.vision-head{grid-template-columns:1.2fr .8fr;align-items:end;gap:8vw;display:grid}.vision-head h2{margin-top:22px}.vision-head>p{color:var(--text-2-dark);font-size:19px}.vision-grid{border-top:1px solid var(--rule-dark);grid-template-columns:repeat(3,1fr);margin-top:70px;display:grid}.vision-grid article{border-right:1px solid var(--rule-dark);padding:36px 35px 10px 0}.vision-grid article+article{padding-left:35px}.vision-grid article:last-child{border:0}.vision-grid span{font:600 12px var(--font-geist-mono);color:var(--green)}.vision-grid h3{margin:28px 0 16px;font-size:25px;line-height:1.2}.vision-grid p{color:var(--text-2-dark);font-size:16px}.commitments{background:var(--cream)}.commitments-head{grid-template-columns:.55fr 1.25fr .75fr;align-items:start;gap:5vw;display:grid}.commitments-head>p:last-child{color:var(--muted);margin:0}.commitments-head h2{font-size:clamp(36px,4.1vw,59px)}.commitment-grid{grid-template-columns:repeat(3,1fr);gap:2px;margin-top:65px;display:grid}.commitment-grid article{background:var(--paper);border-top:4px solid var(--green);grid-template-rows:52px 88px 1fr;align-content:start;min-height:350px;padding:42px;display:grid}.commitment-grid span{font:650 12px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--green-dark)}.commitment-grid h3{align-self:start;margin:0;font-size:28px;line-height:1.25}.commitment-grid p{color:var(--muted);max-width:560px;margin:0}.district{background:var(--paper);grid-template-columns:.8fr 1.2fr;align-items:center;gap:7vw;display:grid}.district-copy h2{margin:22px 0 28px}.district-copy>p:not(.section-label){color:var(--muted)}.school-line{border-block:1px solid var(--muted-light);margin:28px 0;padding:18px 0;font-size:15px;font-weight:650;line-height:1.8}.district-map{background:var(--paper);margin:0;padding:12px}.district-map img{object-fit:contain;width:100%;max-height:650px;display:block}.district-map figcaption{color:var(--muted-light);padding:9px 4px 0;font-size:12px}.community{background:var(--paper);grid-template-columns:1fr .7fr;align-items:end;gap:8vw;display:grid}.community h2{margin:22px 0}.community p{color:var(--muted);max-width:720px}.community-actions{align-items:center;gap:28px;display:flex}.join{grid-template-columns:1fr .78fr;gap:10vw;display:grid}.join h2{margin:20px 0}.join>div>p:last-child{color:var(--muted)}.signup label span{font:650 12px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;display:block}.signup input,.signup select{border:1px solid var(--muted-light);background:var(--paper);width:100%;height:54px;color:var(--ink);border-radius:3px;padding:0 15px}.signup input:focus,.signup select:focus{outline:3px solid var(--green);outline-offset:1px}.donate{background:var(--green-dark);color:var(--paper);justify-content:space-between;align-items:center;padding:65px clamp(26px,8vw,124px);display:flex}.donate h2{margin:10px 0 0;font-size:clamp(34px,4vw,56px)}footer{background:var(--navy);color:var(--paper);grid-template-columns:1.4fr .7fr .8fr 1.2fr;gap:50px;padding:70px clamp(26px,8vw,124px) 42px;display:grid}.footer-brand{align-items:flex-start;gap:13px;display:flex}.footer-brand .brand-mark{background:var(--green);color:var(--navy)}.footer-brand p{letter-spacing:.1em;margin:0;font-size:12px;line-height:1.7}footer h4{font:650 12px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin:0 0 18px}footer>div>a{color:var(--text-2-dark);margin:10px 0;font-size:15px;display:block}.footer-note{flex-direction:column;justify-content:space-between;display:flex}.footer-note p{margin:0;font-size:22px;line-height:1.35}.footer-note small{color:var(--text-2-dark);font-size:12px}@media (width<=900px){.desktop-nav,.site-header>.button{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{font-size:14px;font-weight:650;list-style:none}.mobile-menu div{background:var(--navy);width:220px;color:var(--paper);box-shadow:0 15px 40px var(--ink);padding:15px;position:absolute;top:32px;right:0}@supports (color:color-mix(in lab, red, red)){.mobile-menu div{box-shadow:0 15px 40px color-mix(in srgb,var(--ink) 27%,transparent)}}.mobile-menu a{padding:11px;display:block}.hero{grid-template-columns:1fr}.hero-visual{order:-1;min-height:56vh;max-height:620px}.hero-copy{min-height:590px}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-grid article:nth-child(odd){padding-left:0}.proof-grid article:nth-child(2n){border-right:0;padding-left:30px}.meet,.next-chapter,.why,.vision-head,.commitments-head,.district,.community,.join{grid-template-columns:1fr}.family-panel{min-height:720px}.vision-grid{grid-template-columns:1fr}.vision-grid article,.vision-grid article+article{border-right:0;border-bottom:1px solid var(--rule-dark);padding:34px 0}.commitments-head{gap:22px}.commitment-grid{grid-template-columns:1fr}.commitment-grid article{min-height:0}.community-actions{margin-top:20px}footer{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){body{font-size:17px}.site-header{height:70px}.brand strong{font-size:11px}.hero-visual{min-height:52vh;padding:20px}.hero-copy{min-height:570px;padding:55px 23px}.actions{flex-direction:column;align-items:flex-start}.hero-note{max-width:280px;padding:18px}.hero-note p{font-size:15px}.proof{padding:55px 23px}.proof-intro{flex-direction:column;align-items:flex-start}.proof-grid{grid-template-columns:1fr 1fr}.proof-grid article,.proof-grid article+article{border-bottom:1px solid var(--paper);padding:25px 15px 22px 0}@supports (color:color-mix(in lab, red, red)){.proof-grid article,.proof-grid article+article{border-bottom:1px solid color-mix(in srgb,var(--paper) 15%,transparent)}}.proof-grid article:nth-child(2n){border-right:0;padding-left:15px}.proof-grid strong{font-size:34px}.section{padding:75px 23px}.teaching-visual{min-height:380px}.next-chapter{padding:70px 23px}.next-chapter>p{font-size:18px}.family-panel{min-height:570px}.family-overlay{bottom:38px;left:23px;right:23px}.family-overlay p:last-child{font-size:17px}.record-panel{padding:70px 23px}.record-panel blockquote{padding-left:18px;font-size:23px}.belief{padding:65px 23px}.vision-grid{margin-top:45px}.commitment-grid{grid-template-columns:1fr;margin-top:45px}.commitment-grid article{min-height:0;padding:32px 25px}.district-map{padding:7px}.community-actions{flex-direction:column;align-items:flex-start}.donate{flex-direction:column;align-items:flex-start;gap:30px}footer{grid-template-columns:1fr;padding:58px 23px 38px}.footer-note{gap:30px}}@media (prefers-reduced-motion:no-preference){.reveal{animation:.75s ease-out both rise}.hero-visual{animation:.9s ease-out both fade}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}}.hero-election-details{border-top:1px solid var(--line);width:min(100%,620px);margin-top:18px;padding-top:15px}.election-line{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:0;font-size:13px;display:flex}.election-line span{border-left:1px solid var(--line);padding-left:16px}.area-lookup{color:var(--muted);margin:6px 0 0;font-size:13px}.area-lookup a{color:var(--green-dark);border-bottom:1px solid;font-weight:700}.campaign-slogan{font-family:var(--font-newsreader),Georgia,serif;letter-spacing:-.052em;flex-direction:column;margin:25px 0 28px;font-size:clamp(58px,6vw,90px);font-weight:540;line-height:.92;display:flex}.campaign-slogan span,.campaign-slogan em{font:inherit;letter-spacing:inherit;display:block}.campaign-slogan em{color:var(--green-dark);margin-left:-.055em;font-style:italic}html:lang(zh-Hans) .campaign-slogan{font-family:var(--font-geist-sans),"PingFang SC","Microsoft YaHei",Arial,sans-serif;letter-spacing:-.055em;gap:.08em;font-weight:760;line-height:1.02}html:lang(zh-Hans) .campaign-slogan em{margin-left:0;font-style:normal}.hero-credentials{width:min(100%,620px);color:var(--navy);letter-spacing:.01em;grid-template-columns:1fr .9fr 1.65fr;align-items:stretch;margin:-4px 0 22px;font-size:12px;font-weight:720;line-height:1.3;display:grid}.hero-credentials span{text-align:left;justify-content:flex-start;align-items:center;min-width:0;min-height:48px;padding:0 14px;display:flex}.hero-credentials span:first-child{padding-left:0}.hero-credentials span:last-child{padding-right:0}.hero-credentials span+span{border-left:1px solid var(--muted-light);margin-left:0;padding-left:14px}.hero-credentials .credential-haas{display:flex}.language-toggle{white-space:nowrap;color:var(--muted-light);letter-spacing:.02em;align-items:center;gap:4px;font-size:11px;font-weight:550;display:flex}.language-toggle button{appearance:none;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:8px 2px;transition:color .2s}.language-toggle button:hover,.language-toggle button:focus-visible{color:var(--green-dark)}.language-toggle button.active{color:var(--navy);font-weight:650}.language-toggle>span{color:var(--text-2-dark);font-weight:400}.mobile-menu .language-toggle{display:none}.hero-lede strong{color:var(--navy);font-weight:680}.hero-support{max-width:620px;color:var(--muted);margin:12px 0 0;font-size:16px;line-height:1.55}.meet>*{min-width:0}.why-now-inline{border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.why-now-inline strong{font:650 12px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--green-dark)}.why-now-inline p{font-size:16px;line-height:1.55;color:var(--ink)!important;margin:8px 0 0!important}.teaching-visual{aspect-ratio:1.28;min-height:0}.teaching-visual img{inset:0}.why>*{min-width:0}.family-panel{min-height:820px}.family-panel>img{object-position:center 34%;inset:0}.record-panel figure{width:min(100%,620px);overflow:hidden}.commitments-head{grid-template-columns:minmax(140px,.45fr) minmax(360px,1.25fr) minmax(260px,.7fr);gap:clamp(28px,4vw,70px)}.commitments-head>*{min-width:0}.commitment-mantra{border-block:1px solid var(--line);letter-spacing:-.025em;margin-top:55px;padding:23px 0;font-size:clamp(20px,2vw,29px);font-weight:620}.join .join-note{color:var(--green-dark);margin-top:28px;font-weight:650}.join-email{margin-top:30px}@media (width<=1100px){.meet,.why,.commitments-head,.join{grid-template-columns:1fr}.teaching-visual{aspect-ratio:16/10}.family-panel{min-height:720px}.commitment-mantra{margin-top:38px}}h1,h2,.record-panel blockquote,.belief p{font-family:var(--font-newsreader),Georgia,serif}h1{letter-spacing:-.055em;font-size:clamp(60px,6.5vw,98px);font-weight:560;line-height:.9}h1 em{font-style:italic}h2{letter-spacing:-.042em;font-size:clamp(42px,5vw,72px);font-weight:540;line-height:.98}.belief{padding:88px clamp(26px,13vw,200px)}.belief p{letter-spacing:-.035em;max-width:1240px;font-size:clamp(38px,4.8vw,72px);font-weight:520;line-height:1.04}.belief em{color:var(--navy);font-style:italic}.join-actions{flex-direction:column;gap:24px;display:flex}.donate-inline{background:var(--navy);color:var(--paper);border-left:4px solid var(--green);justify-content:space-between;align-items:center;gap:22px;padding:22px 24px;display:flex}.donate-inline span{color:var(--muted-light);font-size:14px}.donate-inline strong{white-space:nowrap;font-size:15px}.donate-inline:hover strong{color:var(--green)}@media (width<=580px){.donate-inline{flex-direction:column;align-items:flex-start}.belief{padding:70px 23px}}.brand-mark,.brand small,.eyebrow,.section-label,.hero-note span,.proof-grid span,.why-now-inline strong,.vision-grid span,.commitment-grid span,.signup label span,.signup legend,footer h4{font-family:var(--font-geist-sans),Arial,sans-serif}.eyebrow,.section-label,.why-now-inline strong,.commitment-grid span,.signup legend,footer h4{font-weight:700}h1,h2,.record-panel blockquote,.record-belief,.contribute-law h3,.amounts a{font-family:var(--font-newsreader),Georgia,serif}.meet-copy>p+p{margin-top:26px}.meet-copy .leadership-promise{border-left:3px solid var(--green-dark);color:var(--navy);font-family:var(--font-newsreader),Georgia,serif;letter-spacing:-.018em;max-width:680px;margin:34px 0 0;padding:18px 0 18px 24px;font-size:clamp(22px,2vw,29px);font-weight:500;line-height:1.35}.leadership-promise strong{font-weight:700}.hero,.meet,.why,.vision,.commitments,.district,.join,.contribute{overflow:hidden}.meet{grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);gap:clamp(56px,7vw,112px)}.why{grid-template-columns:1fr;align-items:start}.family-panel{aspect-ratio:1800/1201;background:var(--navy);align-self:start;min-height:0}.family-panel>img{object-fit:contain;object-position:center top}.record-panel{padding:80px clamp(42px,5vw,82px)}.record-panel blockquote{margin-top:34px;margin-bottom:30px}.record-panel blockquote cite{font-family:var(--font-geist),Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--green-dark);margin-top:18px;font-size:13px;font-style:normal;font-weight:650;line-height:1.45;display:block}.record-belief{background:var(--green);color:var(--navy);letter-spacing:-.03em;margin:28px 0 10px;padding:28px 30px;font-size:clamp(29px,2.6vw,42px);font-weight:520;line-height:1.12}.record-belief em{font-style:italic}.record-panel figure.article-evidence{background:var(--paper);width:min(100%,1040px);max-width:none;box-shadow:0 22px 60px var(--ground);margin:12px auto 18px;padding:0}@supports (color:color-mix(in lab, red, red)){.record-panel figure.article-evidence{box-shadow:0 22px 60px color-mix(in srgb,var(--ground) 14%,transparent)}}.record-panel figure.article-evidence{border:1px solid var(--paper);overflow:hidden}.article-evidence>img{aspect-ratio:3/2;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.article-copy{border-top:5px solid var(--green-dark);padding:24px 28px 26px}.article-copy .article-source{font:700 12px var(--font-geist-sans),Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em;color:var(--green-dark)!important;margin:0 0 12px!important}.article-copy figcaption{font-family:var(--font-newsreader),Georgia,serif;letter-spacing:-.015em;color:var(--navy);padding:0;font-size:clamp(20px,1.7vw,26px);font-weight:520;line-height:1.32}.article-copy>p:not(.article-source){color:var(--muted);max-width:850px;margin:14px 0 0;font-size:17px;line-height:1.58}.article-copy>span{color:var(--muted-light);margin-top:14px;font-size:12px;display:block}.record-panel .article-link{margin:0 0 42px}.record-panel .article-link+p{margin-top:0}.right-for-now{border:1px solid var(--line);border-top:4px solid var(--green-dark);background:var(--paper);margin-top:46px;padding:30px}.right-for-now p:last-child{font-size:20px;line-height:1.55;color:var(--navy)!important;margin:12px 0 0!important}.commitments-head{grid-template-columns:minmax(150px,.42fr) minmax(400px,1.2fr) minmax(290px,.75fr)}.join{background:var(--paper);grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr);gap:clamp(60px,8vw,130px)}.join h2{max-width:720px}.join h2 em{color:var(--green-dark);font-style:italic}.join>div>p{color:var(--muted);max-width:700px}.signup{flex-direction:column;gap:17px;display:flex}.signup>label>span,.signup legend{letter-spacing:.02em;text-transform:none;margin-bottom:7px;font-size:13px;display:block}.signup small{color:var(--muted);font-weight:400}.signup input[type=text],.signup input[type=email],.signup input[name=zip],.signup textarea{border:1px solid var(--paper);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:12px 15px}.signup input[type=text],.signup input[type=email],.signup input[name=zip]{height:54px}.signup textarea{resize:vertical}.signup input:focus,.signup textarea:focus{outline:3px solid var(--green);outline-offset:1px}.signup fieldset{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0;padding:0;display:grid}.signup legend{grid-column:1/-1;width:100%;margin-bottom:2px}.signup fieldset label{border:1px solid var(--paper);background:var(--paper);border-radius:8px;align-items:center;gap:12px;min-height:52px;padding:14px;display:flex}.signup fieldset input{accent-color:var(--green-dark);flex:none;width:16px;height:16px}.signup fieldset span{letter-spacing:0;text-transform:none;margin:0;font-size:14px;font-weight:650;line-height:1.25}.contribute{background:var(--navy);color:var(--paper);grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:start;gap:clamp(55px,7vw,105px);padding:76px clamp(26px,8vw,124px);display:grid}.contribute h2{max-width:650px;margin:18px 0 22px;font-size:clamp(40px,4vw,58px)}.contribute-main>p:not(.section-label),.contribute-law p{color:var(--text-2-dark)}.contribute-main>p:not(.section-label){max-width:620px}.amounts{grid-template-columns:repeat(5,1fr);gap:10px;margin:34px 0 14px;display:grid}.amounts a{background:var(--paper);min-height:56px;color:var(--navy);border-radius:8px;place-items:center;font-size:24px;display:grid}.amounts a:last-child{grid-column:auto}.contribute-button{background:var(--green);width:100%;color:var(--navy);margin-bottom:16px}.contribute-main>small,.contribute-law small{color:var(--text-2-dark);font-size:13px;line-height:1.6;display:block}.contribute-law{padding-top:58px}.contribute-law h3{margin:0 0 20px;font-size:28px;font-weight:500}.contribute-law p{line-height:1.7}.contribute-law small{margin-top:24px}@supports (color:color-mix(in lab, red, red)){footer{border-top:1px solid color-mix(in srgb,var(--paper) 9%,transparent)}}.footer-slogan{font-family:var(--font-newsreader),Georgia,serif;letter-spacing:-.03em;font-size:clamp(24px,2.2vw,34px)!important;line-height:1.02!important}.footer-slogan strong{color:var(--green);font-weight:570}.support-band{background:var(--paper);border-block:1px solid var(--gold-ink);grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:clamp(40px,7vw,110px);padding:62px clamp(26px,8vw,124px);display:grid}@supports (color:color-mix(in lab, red, red)){.support-band{border-block:1px solid color-mix(in srgb,var(--gold-ink) 13%,transparent)}}.support-band h2{max-width:850px;margin:16px 0 14px;font-size:clamp(36px,4vw,58px)}.support-band p:last-child{color:var(--muted);max-width:760px;margin:0}.support-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:26px;display:flex}.support-actions .button{background:var(--green-dark)}.support-actions .button:hover{background:var(--navy)}.proof-grid .proof-berkeley strong{white-space:nowrap;font-size:clamp(32px,3.1vw,48px)}.proof-grid article{text-align:left;grid-template-rows:72px 64px auto;align-content:start;display:grid}.proof-grid article strong{align-self:end}.proof-grid article h3{align-self:start;margin:16px 0 0;line-height:1.25}.proof-grid article p{align-self:start;margin:0}.walks{background:var(--cream);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);align-items:center;gap:clamp(55px,9vw,145px);display:grid}.walks-intro h2{margin:20px 0 24px}.walks-intro>p:last-child{max-width:690px;color:var(--muted)}.walks-schedule{background:var(--navy);color:var(--paper);border-left:3px solid var(--green);padding:clamp(32px,4vw,54px)}.walks-status{color:var(--green);text-transform:uppercase;letter-spacing:.13em;margin:0;font-size:12px;font-weight:700}.walks-schedule h3{font-family:var(--font-newsreader),Georgia,serif;letter-spacing:-.03em;margin:14px 0 12px;font-size:clamp(30px,3vw,43px);font-weight:520;line-height:1.08}.walks-schedule>p:not(.walks-status){color:var(--text-2-dark);margin:0 0 27px;font-size:16px}.commitment-grid article{grid-template-rows:72px 96px 1fr}@media (width<=1050px){.meet,.why,.commitments-head,.walks,.join,.contribute,.support-band{grid-template-columns:1fr}.family-panel{aspect-ratio:1800/1201;min-height:0}.contribute-law{padding-top:0}.support-actions{justify-content:flex-start}}@media (width<=1180px) and (width>=1051px){.commitment-grid article{grid-template-rows:60px 100px 1fr;padding:34px 28px}.commitment-grid h3{font-size:25px}.contribute{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)}.amounts{grid-template-columns:repeat(3,1fr)}}@media (width<=580px){.commitment-grid article{display:block}.commitment-grid h3{margin:22px 0 12px}.family-panel{aspect-ratio:524/683}.family-panel>img{object-fit:cover;object-position:center center}.record-belief{padding:24px 22px;font-size:29px}.record-panel figure.article-evidence{margin-top:4px}.article-copy{padding:20px 20px 22px}.article-copy figcaption{font-size:20px}.article-copy>p:not(.article-source){font-size:16px}.record-panel .article-link{margin-bottom:34px}.signup fieldset{grid-template-columns:1fr}.amounts{grid-template-columns:repeat(2,1fr)}.amounts a:last-child{grid-column:auto}.contribute{padding:70px 23px}.election-line{display:block}.election-line span{border:0;margin-top:2px;padding:0;display:block}.support-band{padding:55px 23px}.support-actions{flex-direction:column;align-items:flex-start}.walks-schedule{padding:30px 25px}.meet-copy .leadership-promise{padding:15px 0 15px 18px;font-size:22px}.campaign-slogan{margin-bottom:30px;font-size:clamp(52px,15vw,70px);line-height:.94}.hero-credentials{grid-template-columns:1fr;gap:0;margin-top:-8px;font-size:13px;display:grid}.hero-credentials span{padding:7px 0}.hero-credentials span+span{border-left:0;border-top:1px solid var(--muted-light);margin-left:0;padding-left:0}}@media (width<=900px){.site-header>.language-toggle{margin-left:auto}}.hero-secondary{color:var(--cream);border-bottom:1px solid var(--cream);font-size:14px;font-weight:700}@supports (color:color-mix(in lab, red, red)){.hero-secondary{border-bottom:1px solid color-mix(in srgb,var(--cream) 62%,transparent)}}.hero-secondary{padding-bottom:3px}.hero-secondary:hover{color:var(--gold);border-color:var(--gold)}.warning-signs{background:var(--ground);color:var(--cream);padding-top:86px;padding-bottom:78px}.warning-head{grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);align-items:end;gap:clamp(55px,8vw,130px);display:grid}.warning-head .section-label{color:var(--gold)}.warning-head h2{margin-top:20px}.warning-head>p{color:var(--text-2-dark);max-width:650px;margin:0;font-size:18px;line-height:1.65}.warning-context{gap:18px;max-width:680px;display:grid}.warning-context p{color:var(--text-2-dark);margin:0;font-size:18px;line-height:1.65}.warning-context strong{color:var(--cream)}.warning-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:54px;display:grid}.warning-grid article{background:var(--paper);color:var(--ink);border-top:5px solid var(--gold);overflow:hidden}.warning-grid h3{text-align:center;margin:24px 18px 4px;font-size:22px;line-height:1.2}.warning-grid .period{text-align:center;color:var(--muted-light);text-transform:uppercase;letter-spacing:.06em;margin:0 0 18px;font-size:12px;font-weight:700}.district-stat{background:var(--paper);border-top:1px solid var(--ink);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:22px 20px;display:grid}@supports (color:color-mix(in lab, red, red)){.district-stat{border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}}.district-stat span{text-transform:uppercase;letter-spacing:.08em;grid-column:1/-1;font-size:11px;font-weight:750}.district-stat strong{white-space:nowrap;font-size:clamp(20px,1.75vw,26px);line-height:1.1}.district-stat b{color:#9b3030;white-space:nowrap;font-size:14px}.warning-source{color:var(--text-2-dark);margin:14px 0 0;font-size:11px;line-height:1.55}.warning-conclusion{border-left:4px solid var(--gold);background:var(--hs-field);margin-top:34px;padding:25px 28px}@supports (color:color-mix(in lab, red, red)){.warning-conclusion{background:color-mix(in srgb,var(--hs-field) 75%,var(--ground))}}.warning-conclusion span{color:var(--gold);text-transform:uppercase;letter-spacing:.11em;white-space:nowrap;font-size:11px;font-weight:750}.warning-conclusion h2{margin:0 0 12px;font-size:clamp(28px,3vw,44px)}.warning-conclusion p{color:var(--text-2-dark);max-width:900px;margin:0;font-size:17px;line-height:1.6}.insight-band{background:var(--gold);color:var(--ink);padding:75px clamp(26px,13vw,200px)}.insight-band .section-label{color:var(--gold-ink)}.insight-band h2{max-width:1080px;margin:0 0 18px}.insight-band>p:last-child{max-width:900px;margin:0;font-size:19px;line-height:1.62}.vision-grid ul{color:var(--body-light);margin:0;padding-left:21px;font-size:16px;line-height:1.55}.vision-grid li+li{margin-top:9px}.vision#plan{background:var(--mv-field);color:var(--cream)}.vision#plan .vision-head>p{color:var(--label-purple)}.vision#plan .vision-grid ul{color:var(--cream)}.vision#plan .vision-grid{border-top:0;gap:12px}.vision#plan .vision-grid article,.vision#plan .vision-grid article+article{background:var(--mv-field-soft);border:0;border-top:4px solid var(--gold);padding:38px 34px}.vision#plan .vision-grid span,.vision#plan .section-label{color:var(--gold)}.vision#plan .vision-grid h3{color:var(--cream);margin:24px 0 22px}.vision#plan .vision-grid ul{padding-left:0;list-style:none}.vision#plan .vision-grid li{padding-left:22px;line-height:1.5;position:relative}.vision#plan .vision-grid li+li{border-top:1px solid var(--cream);margin-top:15px;padding-top:15px}@supports (color:color-mix(in lab, red, red)){.vision#plan .vision-grid li+li{border-top:1px solid color-mix(in srgb,var(--cream) 16%,transparent)}}.vision#plan .vision-grid li:before{content:"";background:var(--gold);border-radius:50%;width:7px;height:7px;position:absolute;top:.68em;left:0}.vision#plan .vision-grid li+li:before{top:calc(15px + .68em)}.vision#plan .school-open-note{color:var(--label-purple);margin-top:3px;font-style:italic;display:block}.vision#plan .vision-grid .plan-priority{background:var(--gold);margin-left:-6px;padding:12px 12px 12px 14px}@supports (color:color-mix(in lab, red, red)){.vision#plan .vision-grid .plan-priority{background:color-mix(in srgb,var(--gold) 12%,transparent)}}.vision#plan .vision-grid .plan-priority{border-left:3px solid var(--gold);list-style-position:inside}.vision#plan .vision-grid .plan-priority::marker{color:var(--gold)}.story{background:var(--paper);grid-template-columns:minmax(270px,.72fr) minmax(430px,1fr) minmax(270px,.72fr);align-items:center;gap:clamp(34px,4.8vw,78px);display:grid}.childhood-visual,.story-teaching{background:var(--ground);margin:0;position:relative;overflow:hidden}.childhood-visual{aspect-ratio:2/3}.story-teaching{aspect-ratio:4/5}.childhood-visual img,.story-teaching img{object-fit:cover;width:100%;height:100%;display:block}.childhood-visual img{object-position:center 24%}.story-teaching img{object-position:center}.childhood-visual figcaption,.story-teaching figcaption{background:var(--ground);position:absolute;bottom:14px;left:14px;right:14px}@supports (color:color-mix(in lab, red, red)){.childhood-visual figcaption,.story-teaching figcaption{background:color-mix(in srgb,var(--ground) 90%,transparent)}}.childhood-visual figcaption,.story-teaching figcaption{color:var(--cream);padding:9px 11px;font-size:11px;line-height:1.35}.story-copy h2{margin:18px 0 26px;font-size:clamp(39px,4.2vw,64px)}.story-copy>p:not(.section-label):not(.leadership-promise){color:var(--body-light);font-size:16px;line-height:1.65}.story-copy>p:not(.section-label):not(.leadership-promise)+p:not(.section-label):not(.leadership-promise){margin-top:20px}.story-path{grid-template-columns:1fr 1fr;gap:8px;margin:28px 0;display:grid}.story-path span{border:1px solid var(--rule-dark);text-transform:uppercase;letter-spacing:.045em;padding:9px 11px;font-size:11px;font-weight:750}.story-copy .leadership-promise{border-left:3px solid var(--gold);font-family:var(--font-newsreader),Georgia,serif;margin:28px 0 0;padding:17px 0 17px 20px;font-size:20px;line-height:1.4}.family-story{background:var(--ground)}.family-story .family-panel{aspect-ratio:1800/1201;max-width:1800px;min-height:0;margin:0 auto}@media (width<=1050px){.warning-head,.story,.warning-grid{grid-template-columns:1fr}.story{gap:35px}.childhood-visual{aspect-ratio:4/5;width:min(100%,520px)}.story-teaching{aspect-ratio:16/10;width:min(100%,760px)}}@media (width<=700px){.warning-signs{padding:65px 23px}.warning-head{gap:24px}.warning-head>p{font-size:16px}.warning-grid{margin-top:36px}.warning-conclusion{flex-direction:column;align-items:flex-start;gap:8px}.insight-band{padding:62px 23px}.story{padding:70px 23px}.story-path{grid-template-columns:1fr}.childhood-visual{width:100%}.family-story .family-panel{aspect-ratio:524/683}}html:lang(zh-Hans) body{word-break:normal;overflow-wrap:anywhere;line-height:1.72}html:lang(zh-Hans) h1,html:lang(zh-Hans) h2,html:lang(zh-Hans) .record-panel blockquote,html:lang(zh-Hans) .record-belief,html:lang(zh-Hans) .article-copy figcaption,html:lang(zh-Hans) .contribute-law h3,html:lang(zh-Hans) .footer-slogan,html:lang(zh-Hans) .meet-copy .leadership-promise{font-family:var(--font-geist-sans),"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;letter-spacing:0}html:lang(zh-Hans) h2{font-weight:700;line-height:1.16}html:lang(zh-Hans) .eyebrow,html:lang(zh-Hans) .section-label,html:lang(zh-Hans) .article-source,html:lang(zh-Hans) .commitment-grid span,html:lang(zh-Hans) footer h4{text-transform:none;letter-spacing:.04em;line-height:1.55}html:lang(zh-Hans) .campaign-slogan{letter-spacing:0;gap:.2em;margin:30px 0 34px;font-size:clamp(54px,5.4vw,82px);line-height:1.08}html:lang(zh-Hans) .campaign-slogan span,html:lang(zh-Hans) .campaign-slogan em{letter-spacing:0;line-height:1.08}html:lang(zh-Hans) .hero-credentials{margin-bottom:25px;line-height:1.55}html:lang(zh-Hans) .hero-lede,html:lang(zh-Hans) .hero-support{line-height:1.72}html:lang(zh-Hans) .proof-grid h3,html:lang(zh-Hans) .vision-grid h3,html:lang(zh-Hans) .commitment-grid h3{line-height:1.42}html:lang(zh-Hans) .proof-grid p,html:lang(zh-Hans) .vision-grid p,html:lang(zh-Hans) .commitment-grid p,html:lang(zh-Hans) .article-copy>p:not(.article-source),html:lang(zh-Hans) .right-for-now p:last-child,html:lang(zh-Hans) .contribute-law p{line-height:1.78}html:lang(zh-Hans) .meet-copy .leadership-promise{line-height:1.62}html:lang(zh-Hans) .record-panel blockquote{line-height:1.5}html:lang(zh-Hans) .record-panel blockquote cite{letter-spacing:.02em;text-transform:none;line-height:1.65}html:lang(zh-Hans) .article-copy figcaption{line-height:1.55}html:lang(zh-Hans) .record-belief{line-height:1.42}html:lang(zh-Hans) .commitment-mantra{letter-spacing:0;line-height:1.65}html:lang(zh-Hans) .commitment-grid article{grid-template-rows:auto auto 1fr;row-gap:22px}html:lang(zh-Hans) .signup fieldset span{line-height:1.5}html:lang(zh-Hans) .button{padding-block:12px;line-height:1.4}html:lang(zh-Hans) .footer-slogan{line-height:1.35!important}@media (width<=580px){html:lang(zh-Hans) .campaign-slogan{gap:.22em;margin:27px 0 35px;font-size:clamp(48px,13.5vw,62px);line-height:1.1}html:lang(zh-Hans) h2{font-size:clamp(38px,11.5vw,54px);line-height:1.2}html:lang(zh-Hans) .hero-copy{padding-top:62px;padding-bottom:62px}html:lang(zh-Hans) .hero-credentials span{padding-block:9px;line-height:1.5}html:lang(zh-Hans) .record-panel blockquote{font-size:22px;line-height:1.55}html:lang(zh-Hans) .record-belief{font-size:27px;line-height:1.48}html:lang(zh-Hans) .commitment-grid h3{margin-top:18px}}body{background:var(--paper);color:var(--ink)}.site-header{background:var(--ground)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--ground) 96%,transparent)}}.site-header{color:var(--cream);border-bottom:0}.site-header .brand-mark{background:var(--gold);color:var(--ground);text-align:center;text-indent:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:Noto Serif CJK SC,Songti SC,STSong,serif;font-size:22px;font-weight:700;line-height:1;display:flex}.site-header .brand small,.site-header .language-toggle,.site-header .language-toggle>span{color:var(--text-2-dark)}.site-header .desktop-nav a:hover,.site-header .language-toggle button:hover,.site-header .language-toggle button:focus-visible{color:var(--gold)}.site-header .language-toggle button.active{color:var(--cream)}.site-header>.button{background:var(--gold);color:var(--ink)}.site-header>.button:hover{background:var(--cream);color:var(--ink)}.mobile-menu div{background:var(--ground);color:var(--cream)}.hero-copy{background:var(--mv-field);color:var(--cream)}.hero-copy .eyebrow{color:var(--gold)}.campaign-slogan{color:var(--cream)}.campaign-slogan em{color:var(--gold)}.hero-credentials{color:var(--cream)}.hero-credentials span+span{border-left-color:var(--rule-dark)}.hero-lede,.hero-lede strong{color:var(--cream)}.hero-support,.election-line,.area-lookup{color:var(--text-2-dark)}.election-line strong{color:var(--cream)}.hero-election-details{border-top-color:var(--rule-dark)}.election-line span{border-left-color:var(--rule-dark)}.area-lookup a{color:var(--gold)}.hero-copy .button{background:var(--gold);color:var(--ink)}.hero-copy .button:hover{background:var(--cream);color:var(--ink)}.hero-note{background:var(--ground)}@supports (color:color-mix(in lab, red, red)){.hero-note{background:color-mix(in srgb,var(--ground) 93%,transparent)}}.hero-note{color:var(--cream);border-left-color:var(--gold)}.hero-note span{color:var(--gold)}.proof{background:var(--hs-field);color:var(--cream);border-top:7px solid var(--paper)}.proof .eyebrow,.proof-grid strong{color:var(--cream)}.proof-intro{border-bottom-color:var(--rule-dark)}.proof-grid article{border-right-color:var(--rule-dark)}.proof-grid p{color:var(--text-2-dark)}.meet,.why,.record-panel,.vision,.district,.walks,.join,.contribute{background:var(--paper);color:var(--ink)}.meet .section-label,.record-panel .eyebrow,.record-panel .section-label,.vision .section-label,.district .section-label,.walks .section-label,.join .eyebrow,.contribute .section-label{color:var(--gold-ink)}.meet-copy>p:not(.section-label),.record-panel>p:not(.eyebrow),.vision-head>p,.vision-grid p,.district-copy>p:not(.section-label),.walks-intro>p:last-child,.join>div>p,.contribute-main>p:not(.section-label),.contribute-law p{color:var(--body-light)}.meet-copy .leadership-promise,.why-now-inline p,.record-panel blockquote,.record-belief{color:var(--ink)}.meet-copy .leadership-promise,.record-panel blockquote{border-left-color:var(--gold)}.why-now-inline,.right-for-now,.school-line{border-color:var(--rule-dark)}.why-now-inline strong,.right-for-now .section-label,.article-source,.article-copy>span,.record-panel figcaption,.district-map figcaption{color:var(--body-light)}.article-evidence,.district-map{background:var(--paper)}.record-belief{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.record-belief{background:color-mix(in srgb,var(--gold) 18%,var(--paper))}}.record-belief{border-color:var(--gold-ink)}.text-link,.article-link{color:var(--gold-ink)}.vision-grid{border-top-color:var(--rule-dark)}@supports (color:color-mix(in lab, red, red)){.vision-grid{border-top-color:color-mix(in srgb,var(--rule-dark) 20%,transparent)}}.vision-grid article{border-right-color:var(--rule-dark)}@supports (color:color-mix(in lab, red, red)){.vision-grid article{border-right-color:color-mix(in srgb,var(--rule-dark) 20%,transparent)}}.vision-grid span{color:var(--gold-ink)}.commitments{background:var(--hs-field);color:var(--cream)}.commitments .section-label,.commitment-grid span{color:var(--gold)}.commitments-head>p:last-child{color:var(--text-2-dark)}.commitment-mantra{border-color:var(--rule-dark);color:var(--cream)}.commitment-mantra span{color:var(--gold)}.commitment-grid{gap:12px}.commitment-grid article{background:var(--ground);border-top-color:var(--gold);color:var(--cream)}.commitment-grid h3{color:var(--cream)}.commitment-grid p{color:var(--text-2-dark)}.commitment-grid article{flex-direction:column;min-height:330px;display:flex}.commitment-grid h3{margin:24px 0 18px}.commitment-grid .commitment-promise{color:var(--cream);font-family:var(--font-newsreader),Georgia,serif;margin:0;font-size:22px;font-weight:600;line-height:1.3}.commitment-actions{color:var(--text-2-dark);margin:22px 0 0;padding:0;font-size:16px;line-height:1.5;list-style:none}.commitment-actions li{padding-left:20px;position:relative}.commitment-actions li+li{border-top:1px solid var(--rule-dark);margin-top:14px;padding-top:14px}.commitment-actions li:before{content:"";background:var(--gold);border-radius:50%;width:7px;height:7px;position:absolute;top:.68em;left:0}.commitment-actions li+li:before{top:calc(14px + .68em)}.commitments .right-for-now{border-color:var(--rule-dark);border-top-color:var(--hs-field);background:var(--paper)}.commitments .right-for-now .section-label{color:var(--hs-field)}.commitments .right-for-now p:last-child{color:var(--ink)!important}.walks-schedule{background:var(--hs-field);color:var(--cream);border-left-color:var(--gold)}.walks-status{color:var(--gold)}.walks-schedule>p:not(.walks-status){color:var(--text-2-dark)}.walks-schedule .button{background:var(--gold);color:var(--ink)}.walks-schedule .button:hover{background:var(--cream);color:var(--ink)}.signup input,.signup select,.signup textarea{background:var(--paper);color:var(--ink);border-color:var(--muted-light)}.signup fieldset label{background:var(--paper);border-color:var(--muted-light)}.signup input:focus,.signup select:focus,.signup textarea:focus{outline-color:var(--gold-ink)}.signup fieldset input{accent-color:var(--gold-ink)}.signup .button{background:var(--hs-field);color:var(--cream)}.signup .button:hover{background:var(--ground);color:var(--cream)}.amounts a{color:var(--gold-ink);border:2px solid var(--gold-ink);background:0 0}.amounts a:hover,.amounts a:focus-visible{background:var(--mv-field);color:var(--gold);border-color:var(--mv-field)}.contribute-button{background:var(--hs-field);color:var(--cream)}.contribute-button:hover{background:var(--ground);color:var(--cream)}.contribute-main>small,.contribute-law small{color:var(--body-light)}footer{background:var(--ground);color:var(--cream);border-top-color:var(--rule-dark)}.footer-brand .brand-mark{background:var(--gold);color:var(--ink);text-align:center;text-indent:0;justify-content:center;align-items:center;padding:0;font-family:Noto Serif CJK SC,Songti SC,STSong,serif;font-size:22px;font-weight:700;line-height:1;display:flex}footer h4,.footer-slogan strong{color:var(--gold)}footer>div>a{color:var(--cream)}footer>div>a:hover{color:var(--gold)}.footer-note small{color:var(--text-2-dark)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.meet a:focus-visible,.why a:focus-visible,.vision a:focus-visible,.district a:focus-visible,.walks a:focus-visible,.join a:focus-visible,.contribute a:focus-visible,.meet button:focus-visible,.why button:focus-visible,.vision button:focus-visible,.district button:focus-visible,.walks button:focus-visible,.join button:focus-visible,.contribute button:focus-visible{outline-color:var(--gold-ink)}@media (width<=900px){.proof-grid article:nth-child(2n){border-right:0}.vision-grid article,.vision-grid article+article{border-bottom-color:var(--rule-dark)}@supports (color:color-mix(in lab, red, red)){.vision-grid article,.vision-grid article+article{border-bottom-color:color-mix(in srgb,var(--rule-dark) 20%,transparent)}}}@media (width<=580px){.hero-credentials span+span{border-left:0;border-top-color:var(--rule-dark)}.proof-grid article,.proof-grid article+article{border-bottom-color:var(--rule-dark)}.site-header{gap:12px;height:70px;padding-inline:14px}.site-header .brand{flex:auto;gap:9px;min-width:0;margin-right:0}.site-header .brand-mark{flex:0 0 34px;width:34px;height:34px;font-size:20px}.site-header .brand>span:last-child{min-width:0;line-height:1;display:block}.site-header .brand strong{letter-spacing:.12em;white-space:nowrap;font-size:10px;line-height:1.05;display:block}.site-header .brand small{letter-spacing:.045em;white-space:nowrap;margin-top:4px;font-size:8px;line-height:1.15}.site-header>.language-toggle{flex:none;gap:2px;margin-left:0;font-size:10px}.site-header>.language-toggle button{padding-inline:1px}.site-header .mobile-menu{flex:none}.site-header .mobile-menu summary{white-space:nowrap;font-size:12px;line-height:1}}@media (width<=1400px) and (width>=801px){.section{padding-inline:clamp(42px,6vw,76px)}.story{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);align-items:start;gap:34px clamp(38px,5vw,64px)}.story-copy{grid-area:1/2/span 2;min-width:0}.childhood-visual,.story-teaching{grid-column:1;width:100%}.childhood-visual{aspect-ratio:4/5;grid-row:1}.story-teaching{aspect-ratio:4/3;grid-row:2}.story-copy h2{font-size:clamp(42px,5.1vw,58px)}.warning-head,.vision-head,.commitments-head{grid-template-columns:1fr;gap:28px}.warning-context,.vision-head>p,.commitments-head>p:last-child{max-width:760px}.warning-grid{margin-top:44px}.walks,.join,.contribute,.support-band{grid-template-columns:1fr;gap:48px}.walks-schedule,.join-actions,.contribute-law{width:min(100%,780px)}}@media (width<=800px){.story{grid-template-columns:1fr;gap:35px}.story-copy,.childhood-visual,.story-teaching{grid-area:auto/1}.childhood-visual{aspect-ratio:4/5;width:min(100%,520px)}.story-teaching{aspect-ratio:16/10;width:min(100%,760px)}}main>section,main>section+section{margin-block:0;border-top:0!important;border-bottom:0!important}footer{border-top:0}.vision#plan .vision-grid .plan-summary{color:var(--cream);opacity:.92;margin:-6px 0 24px;font-size:17px;line-height:1.5}.plan-close{border-top:1px solid var(--rule-purple);letter-spacing:.01em;justify-content:space-between;align-items:center;gap:24px;margin-top:46px;padding-top:24px;font-size:18px;display:flex}.plan-close span{color:var(--label-purple)}.plan-close strong{color:var(--gold);font-size:clamp(24px,2.4vw,36px)}.readiness-gaps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.readiness-gaps>div{background:var(--cream);grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:18px 20px;display:grid}@supports (color:color-mix(in lab, red, red)){.readiness-gaps>div{background:color-mix(in srgb,var(--cream) 7%,transparent)}}.readiness-gaps>div{border-left:3px solid var(--gold)}.readiness-gaps strong{color:var(--gold);font-size:clamp(28px,3vw,42px)}.readiness-gaps span{color:var(--cream);font-size:14px;line-height:1.45}.warning-source a{color:var(--gold);text-underline-offset:3px;text-decoration:underline}@media (width<=700px){.plan-close{flex-direction:column;align-items:flex-start}.readiness-gaps{grid-template-columns:1fr}}.proposal-headline{font-family:var(--font-geist-sans),Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase;flex-direction:column;margin:25px 0 12px;font-size:clamp(48px,5.25vw,78px);font-weight:820;line-height:.95;display:flex}.proposal-headline span,.proposal-headline em{font:inherit;letter-spacing:inherit;display:block}.proposal-headline em{color:var(--gold);font-style:normal}.proposal-slogan{color:var(--green);font-family:var(--font-newsreader),Georgia,serif;margin:0 0 25px;font-size:clamp(25px,2.4vw,36px);font-style:italic;font-weight:650}.proposed-preview .hero{background:var(--navy)}.protect-card{box-shadow:inset 0 5px 0 var(--green)}.family-story{border-top:8px solid var(--green)}.fiscal-standard{background:var(--navy);color:var(--paper);border-top-color:var(--green)}.fiscal-standard h3{color:var(--green);font-family:var(--font-newsreader),Georgia,serif;letter-spacing:-.025em;margin:13px 0 12px;font-size:clamp(27px,2.4vw,38px);font-weight:550}.fiscal-standard p:last-child{color:var(--text-2-dark)!important}@media (width<=580px){.proposal-headline{font-size:clamp(43px,12vw,59px)}.proposal-slogan{font-size:27px}}

/* ═══════════════════════════════════════════════════════
   CUSTOM OVERRIDES & COMPONENT STYLES
   ═══════════════════════════════════════════════════════ */

/* FONT FALLBACKS & RESET */
:root {
  --font-newsreader: 'Newsreader', serif;
  --font-geist-sans: 'Inter', system-ui, -apple-system, sans-serif;
}

body {
  font-family: var(--font-geist-sans);
}

h1, h2, h3, .campaign-slogan, .brand {
  font-family: var(--font-newsreader);
}

/* CUSTOM MODAL OVERLAY STYLES */
.modal-overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(15, 46, 30, 0.75);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s ease-in-out;
}

.modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

.modal-card {
  background: #FAF8F5;
  border-radius: 12px;
  width: 90%;
  max-width: 540px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 32px;
  position: relative;
  box-shadow: 0 20px 40px rgba(0,0,0,0.25);
  border: 1px solid #E5E0D8;
}

.modal-close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  font-size: 28px;
  color: #4B5563;
  cursor: pointer;
  line-height: 1;
}

.modal-header h3 {
  font-size: 1.5rem;
  color: #0F2E1E;
  margin-bottom: 4px;
}

.modal-header p {
  color: #6B7280;
  font-size: 0.9rem;
  margin-bottom: 20px;
}

.form-group {
  margin-bottom: 16px;
}

.form-group label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
}

.form-group input, .form-group select, .form-group textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  font-size: 0.95rem;
  background: #FFFFFF;
  color: #1F2937;
  box-sizing: border-box;
}

.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  outline: none;
  border-color: #0F2E1E;
  box-shadow: 0 0 0 3px rgba(15, 46, 30, 0.15);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 500px) {
  .form-row {
    grid-template-columns: 1fr;
  }
}

.checkbox-group {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 16px 0;
  font-size: 0.85rem;
  color: #4B5563;
}

.checkbox-group input {
  margin-top: 3px;
}

.gateway-selector {
  background: #F3F4F6;
  padding: 14px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.radio-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 0.9rem;
  cursor: pointer;
}

.btn-full {
  width: 100%;
  text-align: center;
  justify-content: center;
  padding: 12px;
  font-size: 1rem;
}

.amounts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0 20px;
}

.amt-btn {
  flex: 1 1 0;
  min-width: 80px;
  padding: 14px 16px;
  font-size: 1.15rem;
  font-weight: 700;
  font-family: var(--font-geist-sans), Inter, sans-serif;
  color: #0F2E1E;
  background: #FFFFFF;
  border: 1.5px solid #CBD5E1;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  user-select: none;
  outline: none;
}

.amt-btn:hover {
  background: #F0FDF4;
  border-color: #0F2E1E;
  color: #0F2E1E;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(15, 46, 30, 0.15);
}

.amt-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(15, 46, 30, 0.08);
}

.amt-btn.active {
  background: #0F2E1E !important;
  color: #FFFFFF !important;
  border-color: #0F2E1E !important;
  box-shadow: 0 6px 18px rgba(15, 46, 30, 0.28) !important;
  transform: translateY(-1px);
}

.contribute-button {
  width: 100%;
  padding: 16px 24px;
  font-size: 1.05rem;
  font-weight: 700;
  border-radius: 8px;
  background: #0F2E1E;
  color: #FAF8F5;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 4px 14px rgba(15, 46, 30, 0.2);
}

.contribute-button:hover {
  background: #1A4A2E;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(15, 46, 30, 0.28);
}

.roles-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 6px;
}

.roles-grid label {
  font-weight: normal;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

/* INLINE SIGNUP FORM (#join section) STYLES */
.signup {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.signup label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.signup label span,
.signup-label-title {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #1F2937;
  display: block;
}

.signup input[type="text"],
.signup input[type="email"],
.signup input[inputmode="numeric"],
.signup input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.signup textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  background: #FFFFFF !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-family: inherit !important;
  color: #1F2937 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  box-sizing: border-box !important;
  display: block !important;
}

.signup input:focus,
.signup textarea:focus {
  outline: none !important;
  border-color: #0F2E1E !important;
  box-shadow: 0 0 0 3px rgba(15, 46, 30, 0.15) !important;
}

/* INTERESTS 2-COLUMN GRID (Image 2 style with Image 1 polish) */
.signup-interests-group {
  margin-top: 4px;
}

.signup-interests-group .signup-label-title {
  margin-bottom: 10px;
}

.signup-interests-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

@media (max-width: 640px) {
  .signup-interests-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

.interest-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  background: #FFFFFF !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 8px !important;
  padding: 9px 12px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
  user-select: none;
}

.interest-card:hover {
  background: #F0FDF4 !important;
  border-color: #0F2E1E !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(15, 46, 30, 0.08) !important;
}

.interest-card input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: #0F2E1E !important;
  cursor: pointer !important;
  margin: 0 !important;
  flex-shrink: 0;
}

.interest-card span {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: #1F2937 !important;
  margin: 0 !important;
}

.signup button[type="submit"] {
  margin-top: 8px !important;
  padding: 16px 28px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  background: #0F2E1E !important;
  color: #FAF8F5 !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(15, 46, 30, 0.2) !important;
}

.signup button[type="submit"]:hover {
  background: #1A4A2E !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(15, 46, 30, 0.28) !important;
}

/* ── FPPC Footer Disclosure — Cal. Gov. Code §84504.3(c) compliance ─────────
   Must be: clearly legible, contrasting color, at least as large as other
   footer nav text (footer > div > a is 15px). Disclosure is bumped to 15px
   min and uses var(--cream) for high contrast against the dark footer bg.
   ──────────────────────────────────────────────────────────────────────── */
.footer-disclosure {
  font-size: 15px !important;
  color: var(--cream) !important;
  margin: 8px 0 0;
  line-height: 1.5;
}

/* ── Donate section: amt-btn spans (decorative/informational only) ──────── */
span.amt-btn {
  display: inline-block;
  cursor: default;
  user-select: none;
}

/* ── Replicated Website Component Styles ───────────────────────── */
.hero-note {
  z-index: 2;
  background: #0c2318 !important;
  max-width: 305px !important;
  position: relative;
  color: #FFFFFF;
  border-left: 4px solid var(--gold) !important;
  padding: 24px 28px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.hero-note span {
  font-family: var(--font-geist-mono, monospace) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: var(--gold) !important;
  display: block !important;
  margin-bottom: 14px !important;
}

.hero-note p {
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #FFFFFF !important;
  font-family: var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.hero-note p strong {
  color: var(--gold) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
}

.hero-credentials span.cred-active {
  border-bottom: 2px solid var(--gold) !important;
  background: #351044 !important;
  color: #FFFFFF !important;
  font-weight: 600;
  padding: 8px 14px !important;
  border-radius: 4px 4px 0 0;
}

.area-lookup a {
  color: var(--gold) !important;
  text-decoration: underline !important;
  font-weight: 600;
}

.hero-care-callout {
  display: flex;
  gap: 20px;
  align-items: baseline;
  background: rgba(0, 0, 0, 0.25);
  border-left: 3px solid var(--gold);
  border-radius: 4px;
  padding: 16px 20px;
  margin: 22px 0 24px;
  max-width: 680px;
}

.hero-care-callout .care-tag {
  color: var(--gold);
  font-weight: 700;
  font-size: 15px;
  white-space: nowrap;
  flex-shrink: 0;
}

.hero-care-callout p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
}

@media (max-width: 640px) {
  .hero-care-callout {
    flex-direction: column;
    gap: 8px;
  }
}

/* Plan Section - Deep Purple Background */
.vision#plan,
.vision {
  background: #2b0b38 !important;
}

.vision-head .section-label,
.vision-head .eyebrow,
.vision-head .light {
  color: var(--gold) !important;
  font-family: var(--font-geist-mono, monospace) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  margin-bottom: 16px !important;
}

.vision-head p {
  color: #d1c5db !important;
}

.vision-grid article {
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top: 3px solid var(--gold) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  padding: 34px 30px 24px !important;
  border-radius: 4px;
}

.vision-grid span {
  font-family: var(--font-geist-sans), Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--gold) !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}

.vision-grid h3 {
  font-family: var(--font-geist-sans), Arial, sans-serif !important;
  margin: 0 0 10px 0 !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  color: #FFFFFF !important;
}

.plan-card-subhead {
  font-style: italic !important;
  color: #cbbad6 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin: 0 0 22px 0 !important;
}

.vision-grid ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.vision-grid ul li {
  position: relative !important;
  padding-left: 20px !important;
  padding-block: 15px !important;
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.vision-grid ul li:first-child {
  border-top: none !important;
}

/* Single clean round yellow dot bullet */
.vision-grid ul li::before {
  content: "•" !important;
  position: absolute !important;
  left: 0 !important;
  top: 13px !important;
  color: var(--gold) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  display: inline-block !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
}

.vision-grid ul li strong {
  color: #FFFFFF !important;
}

.contribute-law .contribute-law-note,
.contribute-law p:last-child {
  font-size: 13px !important;
  color: #6B7280 !important;
  margin-top: 24px !important;
  line-height: 1.5 !important;
}

.fiscal-standard-banner {
  background: #082115 !important;
  border-top: 3px solid var(--gold) !important;
  border-radius: 4px;
  padding: 36px 40px;
  margin-top: 55px;
}

.fiscal-standard-banner .eyebrow {
  color: #4E9B6E !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 8px !important;
}

.fiscal-standard-banner h3 {
  font-family: Newsreader, Georgia, serif;
  font-size: clamp(26px, 2.8vw, 34px);
  color: var(--gold) !important;
  font-weight: 600;
  line-height: 1.2;
  margin: 10px 0 16px;
}

.fiscal-standard-banner p {
  color: rgba(241, 235, 223, 0.85);
  font-size: 16px;
  line-height: 1.6;
  max-width: 820px;
  margin: 0;
}

.warning-problem-box {
  border-left: 4px solid var(--gold) !important;
  background: rgba(0, 0, 0, 0.22);
  border-radius: 4px;
  padding: 32px 36px !important;
  margin: 44px 0 !important;
}

.warning-problem-box .eyebrow {
  color: var(--gold) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  margin-bottom: 14px !important;
}

.warning-problem-box h3 {
  font-family: Newsreader, Georgia, serif !important;
  font-size: clamp(28px, 3.2vw, 42px) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  margin: 0 0 18px 0 !important;
}

.warning-problem-box p {
  color: rgba(241, 235, 223, 0.88) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  max-width: 920px;
  margin: 0 !important;
}

.warning-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  display: grid;
  margin-top: 36px;
}

@media (max-width: 860px) {
  .warning-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-top: 26px !important;
  }
  .stat-card-2025 {
    padding: 24px 20px 20px !important;
    border-radius: 8px !important;
  }
  .stat-card-2025 h3 {
    text-align: left !important;
    font-size: 22px !important;
    margin-bottom: 4px !important;
  }
  .stat-card-2025 .period {
    text-align: left !important;
    margin-bottom: 18px !important;
  }
  .stat-card-2025 .stat-split {
    padding-top: 14px !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 12px !important;
  }
  .stat-card-2025 .stat-split .stat-main {
    flex-shrink: 0 !important;
  }
  .stat-card-2025 .stat-sub-accent {
    text-align: right !important;
    max-width: 180px !important;
    font-size: 13.5px !important;
  }
}

.stat-card-2025 {
  background: #F3EFE6 !important;
  border-top: 4px solid var(--gold) !important;
  border-radius: 4px;
  padding: 28px 24px 22px !important;
  color: #111827 !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.stat-card-2025 h3 {
  font-family: Newsreader, Georgia, serif !important;
  color: #111827 !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  text-align: center !important;
  margin: 0 0 6px 0 !important;
}

.stat-card-2025 .period {
  font-family: var(--font-geist-mono, monospace);
  font-size: 11px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #64748B !important;
  text-align: center !important;
  margin-bottom: 28px !important;
}

.stat-card-2025 .stat-split {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.stat-card-2025 .stat-split .stat-main {
  display: flex;
  flex-direction: column;
}

.stat-card-2025 .stat-split span {
  font-family: var(--font-geist-mono, monospace);
  font-size: 11px;
  font-weight: 700;
  color: #1F2937;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.stat-card-2025 .stat-split strong {
  font-size: clamp(34px, 3.5vw, 42px);
  color: #111827;
  line-height: 1;
  font-weight: 800;
  display: block;
}

.stat-card-2025 .stat-sub-accent {
  font-size: 14px;
  font-weight: 700;
  color: #991B1B;
  text-align: right;
  max-width: 140px;
  line-height: 1.35;
}

.warning-highlight-box {
  border-left: 4px solid var(--gold) !important;
  padding: 24px 30px !important;
  margin: 36px 0 20px !important;
  background: rgba(0, 0, 0, 0.22) !important;
  border-radius: 4px;
}

.warning-highlight-box p {
  color: rgba(241, 235, 223, 0.92) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

.warning-highlight-box strong,
.warning-highlight-box .highlight-gold {
  color: var(--gold) !important;
  font-weight: 700 !important;
}

.warning-source {
  color: rgba(241, 235, 223, 0.75) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 20px 0 35px 0 !important;
  position: relative !important;
  z-index: 50 !important;
}

.warning-source a {
  color: var(--gold) !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 100 !important;
  font-weight: 600;
  display: inline;
}

.warning-source a:hover {
  color: #FFFFFF !important;
}

/* Family Story Overlay Placement & Typography */
.family-story .family-panel {
  min-height: 720px;
  position: relative;
  overflow: hidden;
}

.family-story .family-overlay {
  z-index: 2;
  color: #FFFFFF;
  position: absolute;
  bottom: clamp(60px, 8vw, 110px) !important;
  left: clamp(24px, 5vw, 60px) !important;
  right: clamp(24px, 5vw, 60px) !important;
  max-width: 680px;
}

.family-story .family-overlay .eyebrow {
  color: var(--gold) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
}

.family-story .family-overlay h2 {
  font-family: Newsreader, Georgia, serif !important;
  font-size: clamp(52px, 6.2vw, 76px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.02 !important;
  margin: 6px 0 20px 0 !important;
  color: #FFFFFF !important;
}

.family-story .family-overlay p:last-child {
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  max-width: 620px !important;
  margin: 0 !important;
}

/* Record Results Banner - Light Forest Green */
.record-results-banner {
  background: #0e3a1e !important;
  border-left: 4px solid var(--gold) !important;
  border-radius: 4px;
  padding: 34px 40px !important;
  margin: 40px 0 20px !important;
}

.record-results-banner h3 {
  font-family: Newsreader, Georgia, serif !important;
  font-size: clamp(26px, 2.8vw, 34px) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  margin: 0 0 14px 0 !important;
}

.record-results-banner p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ─────────────────────────────────────────────────────────────
   SUPPORTER WHATSAPP GROUP CARD
   ───────────────────────────────────────────────────────────── */
.join-whatsapp-card {
  margin-top: 24px;
  background: #0F2E1E;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 12px;
  padding: 20px 18px;
  color: #FAF8F5;
  box-shadow: 0 10px 28px rgba(0, 26, 12, 0.22);
  position: relative;
  overflow: hidden;
}

.join-whatsapp-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #25D366 0%, #D4AF37 100%);
}

.whatsapp-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(37, 211, 102, 0.15);
  border: 1px solid rgba(37, 211, 102, 0.35);
  color: #25D366;
  padding: 3px 9px;
  border-radius: 20px;
  font-family: var(--font-geist-mono, monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

.whatsapp-title {
  font-family: Newsreader, Georgia, serif;
  font-size: clamp(18px, 1.9vw, 22px);
  color: #FFFFFF;
  margin: 0 0 5px 0;
  font-weight: 600;
  line-height: 1.2;
}

.whatsapp-desc {
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(250, 248, 245, 0.85);
  margin: 0 0 14px 0;
}

.whatsapp-card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 14px 12px;
}

.whatsapp-qr-frame {
  width: min(100%, 160px);
  max-width: 160px;
  background: #001A0C;
  border-radius: 8px;
  overflow: hidden;
  border: 1.5px solid rgba(212, 175, 55, 0.4);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
}

.whatsapp-qr-preview {
  width: 100%;
  height: auto;
  aspect-ratio: 717 / 690;
  object-fit: contain;
  display: block;
}

.whatsapp-cta-block {
  width: 100%;
  max-width: 230px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}

.whatsapp-join-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: #25D366;
  color: #063C1B !important;
  font-weight: 700;
  font-size: 13.5px;
  padding: 9px 18px;
  border-radius: 6px;
  width: 100%;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 3px 10px rgba(37, 211, 102, 0.22);
  border: none;
}

.whatsapp-join-btn:hover {
  background: #20BA5A;
  color: #001A0C !important;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(37, 211, 102, 0.35);
}

.whatsapp-mobile-note {
  font-size: 11.5px;
  color: rgba(250, 248, 245, 0.72);
  line-height: 1.35;
  margin: 0;
}

@media (max-width: 580px) {
  .join-whatsapp-card {
    padding: 16px 12px;
    margin-top: 20px;
  }
  .whatsapp-qr-frame {
    max-width: 150px;
  }
  .whatsapp-join-btn {
    padding: 9px 14px;
    font-size: 13px;
  }
}

.district-map figcaption a {
  color: var(--gold-ink);
  text-decoration: underline;
  font-weight: 600;
  transition: color 0.15s ease;
}

.district-map figcaption a:hover {
  color: var(--ink);
}

.district-banner {
  grid-column: 1 / -1;
  background: #0B2147;
  color: #FFFFFF;
  text-align: center;
  padding: 42px 24px 36px;
  margin: 0 0 8px;
}

.district-banner h2 {
  font-family: Newsreader, Georgia, serif;
  font-size: clamp(32px, 4.6vw, 56px);
  font-weight: 500;
  line-height: 1.15;
  margin: 0 0 12px;
  color: #FFFFFF;
}

.district-banner h2 em {
  font-style: italic;
  color: #D4AF37;
  font-weight: 600;
}

.district-election-line {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #D4AF37;
}

.district-copy .district-lookup-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
  background: #FFD400;
  color: #001A0C;
  font-weight: 800;
  padding: 12px 20px;
  border-radius: 4px;
  text-decoration: none;
}

.district-copy .district-lookup-btn:hover {
  background: #FFFFFF;
  color: #001A0C;
}

.featured-card-badge.badge-family,
.featured-card-badge.badge-green {
  background: #ECFDF5 !important;
  color: #065F46 !important;
  border-color: #6EE7B7 !important;
}

/* ====================================================
   TRUSTEE AREA 3 INTERACTIVE LOOKUP WIDGET & MODAL
   ==================================================== */
.district-lookup-widget {
  width: 100%;
  margin-top: 20px;
}

.lookup-search-container {
  position: relative;
  width: 100%;
}

.lookup-label {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: #F1EBDF;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}

.lookup-input-wrap {
  display: flex;
  align-items: center;
  position: relative;
  background: #FFFFFF;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  border: 2px solid transparent;
  padding: 4px 6px 4px 14px;
  gap: 8px;
  transition: all 0.2s ease;
}

.lookup-input-wrap:focus-within {
  border-color: #FFD400;
  box-shadow: 0 6px 24px rgba(255, 212, 0, 0.25);
}

.lookup-icon {
  position: static;
  color: #64748B;
  flex-shrink: 0;
  pointer-events: none;
}

.lookup-input {
  flex: 1;
  min-width: 0;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 15.5px !important;
  font-family: var(--font-geist-sans), Inter, sans-serif !important;
  color: #0F172A !important;
  padding: 10px 6px !important;
  box-shadow: none !important;
  width: auto;
  margin: 0 !important;
}

.lookup-input::placeholder {
  color: #94A3B8;
  font-size: 14.5px;
}

.lookup-clear-btn {
  position: static;
  flex-shrink: 0;
  background: #E2E8F0;
  color: #475569;
  border: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  padding: 0;
  margin: 0 4px 0 0;
}

.lookup-clear-btn:hover {
  background: #CBD5E1;
  color: #0F172A;
}

.lookup-submit-btn {
  margin: 0 !important;
  padding: 11px 22px !important;
  font-size: 13.5px !important;
  white-space: nowrap;
  flex-shrink: 0;
  border-radius: 6px !important;
}

.lookup-input-group {
  position: relative;
  width: 100%;
}

/* Autocomplete Suggestions Dropdown */
.lookup-suggestions-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.2), 0 0 0 1px rgba(15, 23, 42, 0.08);
  border: 1px solid #E2E8F0;
  max-height: 280px;
  overflow-y: auto;
  z-index: 999;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  animation: dropdownFadeIn 0.16s ease-out;
}

@keyframes dropdownFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.lookup-suggestion-item {
  padding: 10px 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #F1F5F9;
  transition: all 0.12s ease;
}

.lookup-suggestion-item:last-child {
  border-bottom: none;
}

.lookup-suggestion-item:hover,
.lookup-suggestion-item.active {
  background: #F0FDF4;
}

.suggestion-content-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

.suggestion-pin-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #059669;
}

.suggestion-text-block {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: left;
}

.suggestion-primary-text {
  font-size: 14px;
  font-weight: 600;
  color: #0F172A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.suggestion-secondary-text {
  font-size: 11.5px;
  color: #64748B;
  margin-top: 1px;
}

.suggestion-highlight {
  font-weight: 700;
  color: #047857;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.suggestion-tag {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: 0.02em;
}

.tag-confirmed {
  background: #DCFCE7;
  color: #15803D;
  border: 1px solid #BBF7D0;
}

.tag-boundary {
  background: #FEF3C7;
  color: #B45309;
  border: 1px solid #FDE68A;
}

.tag-neutral {
  background: #F1F5F9;
  color: #475569;
  border: 1px solid #E2E8F0;
}

.tag-outside {
  background: #FEE2E2;
  color: #991B1B;
  border: 1px solid #FECACA;
}

/* Quick Search Chips */
.lookup-quick-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 12px 0 16px;
}

.chips-label {
  font-size: 12px;
  color: rgba(241, 235, 223, 0.7);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.chip-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #F1EBDF;
  font-size: 12.5px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.chip-btn:hover {
  background: #FFD400;
  border-color: #FFD400;
  color: #001A0C;
  transform: translateY(-1px);
}

/* Result Cards */
.lookup-result-box {
  margin: 18px 0;
  border-radius: 10px;
  overflow: hidden;
  animation: fadeInLookup 0.25s ease-out;
}

@keyframes fadeInLookup {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

.result-card-confirmed {
  background: #064E3B;
  border: 1.5px solid #34D399;
  color: #FFFFFF;
  padding: 22px;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(6, 78, 59, 0.35);
}

.result-badge-confirmed {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #059669;
  color: #ECFDF5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  margin-bottom: 12px;
  border: 1px solid #6EE7B7;
}

.result-card-confirmed h4 {
  font-family: Newsreader, Georgia, serif;
  font-size: 22px;
  color: #FFFFFF;
  margin: 0 0 14px 0;
  font-weight: 600;
  line-height: 1.3;
}

.result-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  background: rgba(0, 0, 0, 0.2);
  padding: 12px 14px;
  border-radius: 6px;
  margin-bottom: 16px;
}

.result-meta-item small {
  display: block;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.result-meta-item strong {
  font-size: 14px;
  color: #FFD400;
}

.result-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.result-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 6px;
  text-decoration: none !important;
  cursor: pointer;
  border: none;
  transition: all 0.15s ease;
}

.btn-sign {
  background: #FFD400;
  color: #001A0C !important;
}

.btn-sign:hover {
  background: #FFE566;
  transform: translateY(-1px);
}

.btn-vol {
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.btn-vol:hover {
  background: rgba(255, 255, 255, 0.25);
  color: #FFFFFF !important;
}

/* Adjacent & Outside Result Cards */
.result-card-adjacent {
  background: #451A03;
  border: 1.5px solid #F59E0B;
  color: #FEF3C7;
  padding: 20px;
  border-radius: 10px;
}

.result-badge-adjacent {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #B45309;
  color: #FFFBEB;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  margin-bottom: 10px;
}

.result-card-adjacent h4 {
  font-size: 18px;
  color: #FFFFFF;
  margin: 0 0 8px 0;
}

.result-card-adjacent p {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(254, 243, 199, 0.9);
  margin: 0 0 12px 0;
}

.result-card-outside {
  background: #1E293B;
  border: 1.5px solid #64748B;
  color: #F8FAFC;
  padding: 20px;
  border-radius: 10px;
}

.result-badge-outside {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #475569;
  color: #F8FAFC;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  margin-bottom: 10px;
}

.result-card-outside h4 {
  font-size: 18px;
  color: #FFFFFF;
  margin: 0 0 8px 0;
}

.result-card-outside p {
  font-size: 14px;
  line-height: 1.5;
  color: #CBD5E1;
  margin: 0 0 12px 0;
}

/* Modal Specific Adjustments */
.modal-card-lg {
  max-width: 620px !important;
}

.modal-badge-tag {
  display: inline-block;
  background: #DCFCE7;
  color: #166534;
  font-family: var(--font-geist-mono, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: 4px;
  margin-bottom: 6px;
}

.modal-lookup-body {
  padding: 10px 0;
}

.modal-lookup-body .lookup-label {
  color: #1E293B;
}

.modal-lookup-body .lookup-input-wrap {
  border: 1.5px solid #CBD5E1;
  box-shadow: none;
}

.modal-lookup-body .lookup-input-wrap:focus-within {
  border-color: #065F46;
  box-shadow: 0 0 0 3px rgba(6, 95, 70, 0.15);
}

.modal-lookup-body .chip-btn {
  background: #F1F5F9;
  border-color: #E2E8F0;
  color: #334155;
}

.modal-lookup-body .chip-btn:hover {
  background: #065F46;
  border-color: #065F46;
  color: #FFFFFF;
}

.modal-lookup-body .chips-label {
  color: #64748B;
}

.modal-lookup-footer {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #E2E8F0;
  font-size: 12.5px;
  color: #64748B;
}

.modal-lookup-footer a {
  color: #065F46;
  font-weight: 600;
  text-decoration: underline;
}

@media (max-width: 580px) {
  .lookup-input-wrap {
    flex-wrap: wrap;
  }
  .lookup-clear-btn {
    right: 12px;
    top: 14px;
  }
  .lookup-submit-btn {
    width: 100% !important;
    margin: 6px 0 0 0 !important;
    border-radius: 0 0 6px 6px !important;
  }
  .result-meta-grid {
    grid-template-columns: 1fr;
  }
}

/* Official ROV Side-Window Banner inside Modal */
.modal-official-portal-banner {
  margin-top: 16px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  display: block;
}

.portal-banner-info {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #94A3B8;
}

.official-rov-btn {
  display: inline;
  background: none;
  color: #64748B !important;
  font-size: inherit;
  font-weight: 600;
  padding: 0;
  border: none;
  border-radius: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: normal;
}

.official-rov-btn:hover {
  background: none;
  color: #0F2E1E !important;
  transform: none;
}

@media (max-width: 540px) {
  .modal-official-portal-banner {
    display: block;
  }
}

/* ====================================================
   ENDORSEMENTS PAGE & FEATURED SHOWCASE STYLING
   ==================================================== */

/* Active link highlight for standard nav items */
.desktop-nav a.active-page,
.desktop-nav a.active-nav,
.desktop-nav a.active {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  position: relative;
}

.desktop-nav a.active-page::after,
.desktop-nav a.active-nav::after,
.desktop-nav a.active::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2.5px;
  background: #FFD400 !important;
  border-radius: 2px;
}

.mobile-menu div a.active-page,
.mobile-menu div a.active-nav,
.mobile-menu div a.active {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  border-left: 3px solid #FFD400 !important;
  padding-left: 8px;
}

/* Hero Section */
.endorsements-hero {
  background: linear-gradient(180deg, #0A1926 0%, #0F2E1E 100%);
  color: #FFFFFF;
  padding: clamp(48px, 8vw, 84px) clamp(22px, 5vw, 76px) clamp(40px, 6vw, 64px);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.endorsements-hero::before {
  content: "";
  position: absolute;
  top: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 400px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
  pointer-events: none;
}

.endorsements-hero-inner {
  max-width: 860px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.endorsements-badge-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #F8FAFC;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 20px;
}

.endorsements-hero h1 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(34px, 5.5vw, 56px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 18px;
  color: #FFFFFF;
}

.endorsements-hero p {
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.6;
  color: #E2E8F0;
  max-width: 720px;
  margin: 0 auto 28px;
}

.endorsements-hero-cta-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.endorsements-hero-cta-row .button-gold {
  background: #D4AF37;
  color: #0F2E1E;
  font-weight: 700;
}

.endorsements-hero-cta-row .button-outline-white {
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  color: #FFFFFF;
  background: transparent;
  font-weight: 600;
}

.endorsements-hero-cta-row .button-outline-white:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #FFFFFF;
}

/* Main Content Body */
/* Main Content Body */
.endorsements-main-content {
  background: #F8F6F0;
  padding: clamp(40px, 5vw, 64px) clamp(16px, 3.5vw, 48px);
}

.endorsements-container {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Category Sections */
.endorsements-category {
  margin-bottom: clamp(48px, 6vw, 72px);
}

.endorsements-category-title {
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0F2E1E;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.endorsements-category-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #CBD5E1;
}

/* Endorsement Card Grid (Legacy & Utility) */
.endorsements-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

@media (max-width: 820px) {
  .endorsements-grid {
    grid-template-columns: 1fr;
  }
}

/* ====================================================
   TWO-COLUMN ENDORSEMENTS LAYOUT (OFFICIALS vs PARENTS/TEACHERS)
   ==================================================== */
.endorsements-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3.2vw, 36px);
  align-items: start;
}

/* Row-wise sequential layout for endorsements page: 4 in a row */
.endorsements-group-section {
  width: 100%;
}

.endorsements-group-header {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #E2E8F0;
}

.endorsements-group-title {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 700;
  color: #0F2E1E;
  margin: 0;
  line-height: 1.25;
}

.endorsements-grid-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

@media (max-width: 1200px) {
  .endorsements-grid-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 640px) {
  .endorsements-grid-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

@media (max-width: 980px) {
  .endorsements-two-columns {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.endorsements-col {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* Distinct Column Panels for Officials vs Community */
.endorsements-col.col-officials {
  background: #FAF8F2;
  border: 1.5px solid #EADBBA;
  border-radius: 18px;
  padding: clamp(16px, 2.2vw, 24px);
  box-shadow: 0 6px 24px rgba(212, 175, 55, 0.08);
}

.endorsements-col.col-community {
  background: #F2FAF5;
  border: 1.5px solid #C4EED5;
  border-radius: 18px;
  padding: clamp(16px, 2.2vw, 24px);
  box-shadow: 0 6px 24px rgba(16, 185, 129, 0.08);
}

.endorsements-col-header {
  background: #FFFFFF;
  border-radius: 12px;
  border: 1px solid #E2E8F0;
  border-top: 5px solid #0F2E1E;
  padding: 24px 26px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
  min-height: 168px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  box-sizing: border-box;
}

.endorsements-col-header.col-header-gold {
  border-top-color: #D4AF37;
}

.endorsements-col-header.col-header-green {
  border-top-color: #10B981;
}

.col-header-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 10px;
  width: fit-content;
}

.col-header-badge.badge-gold {
  background: #FEF3C7;
  color: #92400E;
  border: 1px solid #FCD34D;
}

.col-header-badge.badge-green {
  background: #ECFDF5;
  color: #065F46;
  border: 1px solid #A7F3D0;
}

.col-header-title {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(21px, 2.2vw, 26px);
  font-weight: 700;
  color: #0F2E1E;
  margin: 0 0 6px 0;
  line-height: 1.25;
  min-height: 56px;
  display: flex;
  align-items: center;
}

.col-header-subtitle {
  font-size: 13.5px;
  line-height: 1.5;
  color: #64748B;
  margin: 0;
}

.endorsements-col-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* Endorser Avatar Initials Fallback */
.avatar-initials {
  width: 112px !important;
  height: 112px !important;
  min-width: 112px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Newsreader', Georgia, serif !important;
  font-size: clamp(28px, 4vw, 38px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  border: 4px solid #10B981 !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.16) !important;
  flex-shrink: 0 !important;
  user-select: none !important;
}

.avatar-initials.avatar-gold {
  background: linear-gradient(135deg, #0F2E1E 0%, #17422C 100%) !important;
  color: #D4AF37 !important;
  border-color: #D4AF37 !important;
}

.avatar-initials.avatar-green {
  background: linear-gradient(135deg, #064E3B 0%, #047857 100%) !important;
  color: #ECFDF5 !important;
  border-color: #10B981 !important;
}

.avatar-initials.avatar-navy {
  background: linear-gradient(135deg, #0F2438 0%, #1E3A5F 100%) !important;
  color: #BAE6FD !important;
  border-color: #38BDF8 !important;
}

.avatar-initials.avatar-amber {
  background: linear-gradient(135deg, #78350F 0%, #B45309 100%) !important;
  color: #FEF3C7 !important;
  border-color: #F59E0B !important;
}

@media (max-width: 640px) {
  .endorsement-avatar,
  .featured-card-avatar,
  .avatar-initials {
    width: 82px !important;
    height: 82px !important;
    min-width: 82px !important;
    font-size: 26px !important;
  }
}

/* Individual Endorsement Card */
.endorsement-card {
  background: #FFFFFF;
  border-radius: 10px;
  border: 1px solid #E2E8F0;
  border-top: 3.5px solid #10B981;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: start;
  height: fit-content;
  transition: all 0.2s ease;
  position: relative;
}

.endorsement-card.card-gold {
  border-top-color: #D4AF37;
}

.endorsement-card:hover {
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
  transform: translateY(-2px);
}

.endorsement-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.endorsement-person-info {
  flex: 1;
  min-width: 0;
}

.endorsement-name {
  font-size: 19px;
  font-weight: 700;
  color: #0F172A;
  margin: 0 0 4px 0;
}

.endorsement-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748B;
  margin: 0;
  line-height: 1.4;
}

.endorsement-toggle-btn {
  display: none !important;
}

/* Quote Body */
.endorsement-body {
  display: block !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  position: relative;
}

.endorsement-quote-icon {
  display: none !important;
}

.endorsement-quote-text {
  font-size: 15px;
  line-height: 1.65;
  color: #334155;
  margin: 0;
}

.endorsement-read-more-hint {
  font-size: 13px;
  font-weight: 600;
  color: #059669;
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

/* Community Supporter Mini Card */
.community-supporter-card {
  background: #FFFFFF;
  border-radius: 8px;
  border: 1px solid #E2E8F0;
  border-left: 3.5px solid #D4AF37;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.community-supporter-name {
  font-size: 16px;
  font-weight: 700;
  color: #0F172A;
}

.community-supporter-role {
  font-size: 12px;
  color: #64748B;
  font-weight: 500;
}

/* Organizations Grid */
.organizations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.org-card {
  background: #FFFFFF;
  border-radius: 8px;
  border: 1px solid #E2E8F0;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.org-badge-icon {
  width: 44px;
  height: 44px;
  background: #0F2E1E;
  color: #D4AF37;
  border-radius: 8px;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 800;
  flex-shrink: 0;
}

.org-name {
  font-size: 15px;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.35;
}

/* Legal Disclaimer Box */
.endorsements-disclaimer-box {
  background: rgba(15, 46, 30, 0.05);
  border: 1px dashed #CBD5E1;
  border-radius: 8px;
  padding: 14px 18px;
  margin-top: 36px;
  font-size: 12.5px;
  color: #64748B;
  line-height: 1.5;
}

/* "Endorse the Campaign / Add Your Name" Intake Section */
.endorse-intake-section {
  background: #0A1926;
  color: #FFFFFF;
  padding: clamp(54px, 8vw, 90px) clamp(22px, 5vw, 76px);
  position: relative;
}

.endorse-intake-grid {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(36px, 5vw, 64px);
  align-items: flex-start;
}

@media (max-width: 860px) {
  .endorse-intake-grid {
    grid-template-columns: 1fr;
  }
}

.endorse-intake-info .eyebrow {
  color: #D4AF37;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: block;
}

.endorse-intake-info h2 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 18px;
  color: #FFFFFF;
}

.endorse-intake-info p {
  font-size: 16px;
  line-height: 1.6;
  color: #CBD5E1;
  margin-bottom: 28px;
}

.endorse-form-card {
  background: #0B1E2E;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: clamp(20px, 3.5vw, 32px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.endorse-form-card label {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: #FFFFFF;
  margin-bottom: 8px;
}

.endorse-form-card .req-star {
  color: #EF4444;
  font-weight: 700;
  margin-left: 2px;
}

.endorse-form-card input[type="text"],
.endorse-form-card input[type="email"],
.endorse-form-card input[type="tel"],
.endorse-form-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.endorse-form-card textarea {
  width: 100%;
  background: #081622;
  border: 1px solid #1E3A52;
  border-radius: 7px;
  padding: 13px 15px;
  color: #FFFFFF;
  font-size: 14.5px;
  font-family: inherit;
  margin-bottom: 16px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.endorse-form-card input::placeholder,
.endorse-form-card textarea::placeholder {
  color: #556B82;
  opacity: 1;
}

.endorse-form-card input:focus,
.endorse-form-card textarea:focus {
  border-color: #D4AF37;
  box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.2);
}

.endorse-form-card .form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 580px) {
  .endorse-form-card .form-row-2 {
    grid-template-columns: 1fr;
  }
}

.photo-upload-group {
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 20px;
}

.photo-upload-header-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.photo-upload-label {
  font-size: 14.5px;
  font-weight: 600;
  color: #FFFFFF;
}

.photo-optional-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #475D74;
  color: #E2E8F0;
  font-size: 11.5px;
  font-weight: 500;
  padding: 2.5px 11px;
  border-radius: 9999px;
  letter-spacing: 0.01em;
}

.photo-dropzone-box {
  background: transparent;
  border: 1.5px dashed #223D54;
  border-radius: 12px;
  padding: 20px 16px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.2s ease;
}

.photo-dropzone-box:hover {
  background: rgba(255, 255, 255, 0.02);
  border-color: #385E82;
}

.photo-upload-pill-btn {
  width: 100%;
  max-width: 360px;
  background: #FEE285;
  color: #0F172A;
  font-size: 14.5px;
  font-weight: 600;
  font-family: inherit;
  padding: 11px 20px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}

.photo-upload-pill-btn:hover {
  background: #FCD34D;
  transform: translateY(-1px);
}

.photo-dropzone-hint {
  font-size: 12px;
  color: #8CA0B3;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.endorse-checkbox-wrap {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 22px;
  font-size: 13.5px;
  color: #CBD5E1;
  line-height: 1.45;
  cursor: pointer;
}

.endorse-checkbox-wrap input {
  margin-top: 2px;
  width: 18px;
  height: 18px;
  accent-color: #00C853;
  border-radius: 4px;
  flex-shrink: 0;
  cursor: pointer;
}

.endorse-submit-btn {
  width: 100%;
  background: #10B981;
  color: #FFFFFF;
  font-size: 15.5px;
  font-weight: 700;
  padding: 14px 20px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  text-transform: none;
  box-shadow: 0 4px 14px rgba(0, 200, 83, 0.35);
}

.endorse-submit-btn:hover {
  background: #00B248;
  transform: translateY(-1px);
}

/* Home Page Featured Endorsements Preview Section */
.featured-endorsements-section {
  background: #F8F6F0;
  padding: clamp(60px, 8vw, 96px) clamp(22px, 5vw, 76px);
  border-top: 1px solid #E2E8F0;
  border-bottom: 1px solid #E2E8F0;
}

.featured-endorsements-head {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

.featured-endorsements-head .eyebrow {
  color: #0F2E1E;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}

.featured-endorsements-head h2 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(30px, 4.5vw, 44px);
  font-weight: 600;
  color: #0F2E1E;
  line-height: 1.2;
  margin-bottom: 14px;
}

.featured-endorsements-head p {
  font-size: 17px;
  color: #4A5568;
  line-height: 1.6;
}

.featured-endorsements-grid {
  max-width: 1260px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

@media (max-width: 1120px) {
  .featured-endorsements-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .featured-endorsements-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.featured-quote-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-top: 3.5px solid #10B981;
  border-radius: 10px;
  padding: 28px 24px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: start;
  height: fit-content;
  transition: all 0.2s ease;
}

.featured-quote-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.09);
}

.featured-quote-icon {
  font-family: Georgia, serif;
  font-size: 32px;
  line-height: 1;
  color: #10B981;
  font-weight: 900;
  margin-bottom: 12px;
}

.featured-quote-text {
  font-size: 14.5px;
  line-height: 1.65;
  color: #334155;
  margin-bottom: 20px;
  flex: 1;
}

.featured-quote-author {
  padding-top: 14px;
  border-top: 1px solid #F1F5F9;
}

.featured-author-name {
  font-size: 16px;
  font-weight: 700;
  color: #0F172A;
  margin-bottom: 2px;
}

.featured-author-title {
  font-size: 11.5px;
  font-weight: 600;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.featured-endorsements-footer-cta {
  text-align: center;
  margin-top: 38px;
}

/* ====================================================
   GLOBAL HEADER CTA BUTTONS (DONATE & VOLUNTEER)
   ==================================================== */
.site-header #nav-donate-btn,
.site-header a.button#nav-donate-btn,
.site-header a.button[href*="donate.html"],
.site-header .button,
.site-header button.button {
  background: #FFD400 !important;
  color: #001A0C !important;
  font-weight: 700 !important;
  border-radius: 4px;
  min-height: 42px;
  padding: 0 18px;
  font-size: 14px;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
}

.site-header #nav-donate-btn:hover,
.site-header a.button#nav-donate-btn:hover,
.site-header a.button[href*="donate.html"]:hover,
.site-header .button:hover,
.site-header button.button:hover {
  background: #FFFFFF !important;
  color: #001A0C !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}

/* Active highlight indicator on Donate page */
.site-header #nav-donate-btn.active-page,
.site-header #nav-donate-btn[aria-current="page"] {
  box-shadow: 0 0 0 2px #FFFFFF, 0 4px 12px rgba(255, 212, 0, 0.4) !important;
}

/* ====================================================
   MOBILE HEADER & NAVIGATION SYSTEM (<= 900px)
   Fixes crowding, text clipping, and overlapping elements
   ==================================================== */
@media (max-width: 900px) {
  .site-header {
    height: 66px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  /* Keep Brand rock solid, legible, and unclipped */
  .site-header .brand {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin-right: auto !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
    min-width: 0 !important;
  }

  .site-header .brand-mark {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    font-size: 20px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .site-header .brand > span:last-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    line-height: 1.15 !important;
  }

  .site-header .brand strong {
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
    white-space: nowrap !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    display: block !important;
  }

  .site-header .brand small {
    font-size: 8.5px !important;
    letter-spacing: 0.05em !important;
    white-space: nowrap !important;
    color: #CBD5E1 !important;
    font-weight: 600 !important;
    margin-top: 2px !important;
    line-height: 1.15 !important;
    display: block !important;
  }

  /* Hide desktop primary nav links */
  .desktop-nav {
    display: none !important;
  }

  /* Hide language toggle in header bar on mobile (cleanly accessible at top of Menu dropdown) */
  .site-header > .language-toggle {
    display: none !important;
  }

  /* Compact, high-converting Donate CTA button */
  .site-header #nav-donate-btn,
  .site-header a.button#nav-donate-btn,
  .site-header a.button[href*="donate.html"] {
    display: inline-flex !important;
    background: #FFD400 !important;
    color: #001A0C !important;
    font-weight: 800 !important;
    font-size: 11.5px !important;
    letter-spacing: 0.04em !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 11px !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18) !important;
  }

  /* Compact Volunteer CTA button for mobile response matching DONATE yellow */
  .site-header #nav-volunteer-btn,
  .site-header button#nav-volunteer-btn,
  .site-header .nav-volunteer-btn,
  .site-header button.button-volunteer {
    display: inline-flex !important;
    background: #FFD400 !important;
    color: #001A0C !important;
    border: none !important;
    font-weight: 800 !important;
    font-size: 11.5px !important;
    letter-spacing: 0.04em !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 11px !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18) !important;
    transition: background 0.2s ease, color 0.2s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
  }

  .site-header #nav-volunteer-btn:hover,
  .site-header button#nav-volunteer-btn:hover,
  .site-header .nav-volunteer-btn:hover,
  .site-header button.button-volunteer:hover {
    background: #FFFFFF !important;
    color: #001A0C !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
  }

  /* Mobile menu toggle button */
  .site-header .mobile-menu {
    display: block !important;
    position: relative !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
  }

  .site-header .mobile-menu summary {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    list-style: none !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    padding: 6px 12px !important;
    border-radius: 5px !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    user-select: none !important;
    transition: background 0.18s ease !important;
  }

  .site-header .mobile-menu summary:hover,
  .site-header .mobile-menu summary:active {
    background: rgba(255, 255, 255, 0.22) !important;
  }

  .site-header .mobile-menu summary::-webkit-details-marker {
    display: none !important;
  }

  /* Mobile menu dropdown */
  .site-header .mobile-menu div {
    background: #001A0C !important;
    width: 240px !important;
    color: #F1EBDF !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
    padding: 14px 12px !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    z-index: 9999 !important;
  }

  .site-header .mobile-menu div a {
    padding: 10px 12px !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #F1EBDF !important;
    border-radius: 4px !important;
    display: block !important;
    text-decoration: none !important;
    transition: background 0.15s ease !important;
  }

  .site-header .mobile-menu div a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #FFD400 !important;
  }

  /* Language toggle at top of mobile dropdown */
  .mobile-menu .language-toggle {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 4px 12px 12px 12px !important;
    margin-bottom: 6px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    font-size: 13px !important;
  }

  .mobile-menu .language-toggle button {
    appearance: none !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 4px !important;
    color: #CBD5E1 !important;
    padding: 4px 10px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
  }

  .mobile-menu .language-toggle button.active {
    background: #FFD400 !important;
    color: #001A0C !important;
    border-color: #FFD400 !important;
    font-weight: 800 !important;
  }

  .mobile-menu .language-toggle span {
    color: rgba(255, 255, 255, 0.4) !important;
  }
}



/* ====================================================
   ENHANCED ENDORSEMENTS STYLING (ORGANIZED 4-IN-A-ROW & EQUAL HEIGHTS)
   ==================================================== */

/* Endorsement Page Cards (4 in a row - clean, organized, self-align start) */
.endorsement-card {
  background: #FFFFFF !important;
  border-radius: 12px !important;
  border: 1px solid #E2E8F0 !important;
  border-top: 4px solid #10B981 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
  padding: 18px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-self: start !important;
  height: auto !important;
  box-sizing: border-box !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  position: relative !important;
}

@media (min-width: 641px) {
  .endorsement-card {
    min-height: 256px !important;
  }
}

.endorsement-card.card-gold {
  border-top-color: #D4AF37 !important;
}

.endorsement-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
}

.endorsement-avatar {
  width: 68px !important;
  height: 68px !important;
  min-width: 68px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2.5px solid #10B981 !important;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08) !important;
  flex-shrink: 0 !important;
  image-rendering: auto !important;
  image-rendering: smooth !important;
  -webkit-backface-visibility: hidden !important;
  backface-visibility: hidden !important;
  transform: translateZ(0) !important;
}

.endorsement-card.card-gold .endorsement-avatar {
  border-color: #D4AF37 !important;
}

.avatar-initials {
  width: 68px !important;
  height: 68px !important;
  min-width: 68px !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  border: 2.5px solid #10B981 !important;
}

.endorsement-card-header {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #F1F5F9 !important;
  min-height: 128px !important;
  box-sizing: border-box !important;
  cursor: pointer;
}

.endorsement-person-info {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.endorsement-badge {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: fit-content !important;
  align-self: flex-start !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 2.5px 7px !important;
  border-radius: 4px !important;
  background: #ECFDF5 !important;
  color: #047857 !important;
  border: 1px solid #A7F3D0 !important;
  margin-bottom: 4px !important;
}

.endorsement-badge.badge-green {
  background: #ECFDF5 !important;
  color: #047857 !important;
  border: 1px solid #A7F3D0 !important;
}

.endorsement-badge.badge-gold {
  background: #FEF3C7 !important;
  color: #92400E !important;
  border: 1px solid #FCD34D !important;
}

.endorsement-name {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 0 0 2px 0 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
}

.endorsement-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #0F2E1E !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

.endorsement-subtitle {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #64748B !important;
  margin-top: 2px !important;
  line-height: 1.35 !important;
}

.endorsement-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  justify-content: flex-start !important;
}

.endorsement-quote-lead {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #334155 !important;
  font-style: italic !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: flex-start !important;
  cursor: pointer;
}

/* Home Page Featured Cards (2 alone - balanced & spacious) */
.featured-card-avatar {
  width: 88px !important;
  height: 88px !important;
  min-width: 88px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 3.5px solid #10B981 !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12) !important;
  flex-shrink: 0 !important;
}

.featured-quote-card.card-gold .featured-card-avatar {
  border-color: #D4AF37 !important;
}

.featured-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #F1F5F9 !important;
  box-sizing: border-box !important;
}

.featured-card-badge {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: fit-content !important;
  align-self: flex-start !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 3px 9px !important;
  border-radius: 6px !important;
  background: #FEF3C7 !important;
  color: #92400E !important;
  border: 1px solid #FCD34D !important;
  margin-bottom: 6px !important;
}

.featured-author-name {
  font-size: 21px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 0 0 3px 0 !important;
  letter-spacing: -0.01em !important;
}

.featured-author-title {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #0F2E1E !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

.featured-author-sub {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #4A5568 !important;
  margin-top: 3px !important;
  line-height: 1.35 !important;
}

.featured-quote-snippet {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  margin-bottom: 8px !important;
  line-height: 1.45 !important;
}

.endorsement-quote-text,
.featured-quote-text {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #334155 !important;
  margin: 0 !important;
  flex: 1 !important;
}

/* Featured Endorsements (Home Page Grid) */
.featured-endorsements-grid {
  max-width: 1260px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

@media (max-width: 1120px) {
  .featured-endorsements-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
  }
}

@media (max-width: 640px) {
  .featured-endorsements-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
  }
}

.featured-quote-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-top: 4.5px solid #10B981;
  border-radius: 12px;
  padding: 22px 18px !important;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-self: start !important;
  height: auto !important;
  box-sizing: border-box !important;
  position: relative !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.featured-quote-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
}

.featured-quote-card.card-gold {
  border-top-color: #D4AF37;
}

.featured-quote-card .endorsement-quote-lead-wrap {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

/* Equalize headers & quote snippets on desktop so all 4 columns align with pixel precision */
@media (min-width: 1121px) {
  .featured-quote-card {
    min-height: 300px !important;
  }
  .featured-quote-card:not(.card-expanded) {
    height: 300px !important;
  }
  .featured-quote-card .featured-card-avatar {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
  }
  .featured-quote-card .featured-card-header {
    min-height: 126px !important;
    max-height: 126px !important;
    gap: 12px !important;
  }
  .featured-quote-card .featured-author-name {
    font-size: 18px !important;
  }
  .featured-quote-card .featured-author-title {
    font-size: 11.5px !important;
  }
  .featured-quote-card .featured-author-sub {
    font-size: 11px !important;
  }
  .featured-quote-card .featured-quote-snippet {
    font-size: 14px !important;
    line-height: 1.45 !important;
    min-height: 56px !important;
    max-height: 62px !important;
    display: flex !important;
    align-items: flex-start !important;
  }
}

@media (min-width: 641px) and (max-width: 1120px) {
  .featured-quote-card {
    min-height: 280px !important;
  }
  .featured-quote-card .featured-card-avatar {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
  }
  .featured-quote-card .featured-card-header {
    min-height: 125px !important;
  }
  .featured-quote-card .featured-quote-snippet {
    min-height: 50px !important;
  }
}

.featured-quote-card .featured-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-bottom: 18px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #F1F5F9 !important;
  box-sizing: border-box !important;
}

.featured-quote-card .featured-card-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex: 1 !important;
}

.featured-quote-card .featured-quote-snippet {
  margin-bottom: 0 !important;
}

/* ====================================================
   CUSTOM PHOTO UPLOAD COMPONENT (ENDORSEMENTS FORM)
   ==================================================== */
.photo-upload-group {
  margin-bottom: 18px;
}

.photo-purpose-note {
  font-size: 12.5px;
  color: #94A3B8;
  line-height: 1.45;
  margin: 0 0 10px 0;
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.photo-purpose-note svg {
  flex-shrink: 0;
  color: #D4AF37;
}

.photo-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1.5px dashed rgba(255, 255, 255, 0.28);
  border-radius: 10px;
  padding: 18px 20px;
  text-align: center;
  transition: all 0.2s ease;
}

.photo-dropzone:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: #D4AF37;
}

.photo-dropzone-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.photo-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #D4AF37;
  color: #0F2E1E;
  font-size: 13.5px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.photo-btn-primary:hover {
  background: #E5C158;
  transform: translateY(-1px);
}

.photo-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  color: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, 0.25);
  font-size: 13.5px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.photo-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: #D4AF37;
  color: #D4AF37;
  transform: translateY(-1px);
}

.photo-dropzone-or {
  font-size: 12px;
  font-weight: 600;
  color: #94A3B8;
  text-transform: uppercase;
}

.photo-dropzone-sub {
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.4;
}

/* ====================================================
   LIVE CAMERA CAPTURE MODAL
   ==================================================== */
.camera-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  animation: fadeInModal 0.25s ease-out;
}

.camera-modal-card {
  background: #0B1E14;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 16px;
  width: 100%;
  max-width: 440px;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
}

.camera-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.camera-modal-header h3 {
  font-size: 16px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0;
}

.camera-modal-close {
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: #E2E8F0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  transition: all 0.2s ease;
}

.camera-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
}

.camera-preview-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #000000;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

#cameraVideo,
#cameraCanvas {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1); /* Mirror view for natural selfie */
}

.camera-portrait-guide {
  position: absolute;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  border: 2px dashed rgba(212, 175, 55, 0.75);
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.45);
  pointer-events: none;
  transition: all 0.2s ease;
}

.camera-flash {
  position: absolute;
  inset: 0;
  background: #FFFFFF;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease-out;
}

.camera-flash.flash-active {
  opacity: 0.95;
}

.camera-modal-controls {
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: #08160E;
}

.camera-controls-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.camera-shutter-btn {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 3.5px solid #D4AF37;
  background: transparent;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease;
}

.camera-shutter-btn:hover {
  transform: scale(1.08);
}

.camera-shutter-btn:active {
  transform: scale(0.92);
}

.camera-shutter-inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #FFFFFF;
}

.camera-hint {
  font-size: 12px;
  color: #94A3B8;
  margin: 0;
}

.camera-review-actions {
  display: flex;
  gap: 10px;
  width: 100%;
}

.camera-retake-btn {
  flex: 1;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 10px 14px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  cursor: pointer;
  text-align: center;
}

.camera-retake-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
}

.camera-confirm-btn {
  flex: 1;
  background: #D4AF37 !important;
  color: #001A0C !important;
  border: none !important;
  padding: 10px 14px !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  border-radius: 8px !important;
  cursor: pointer;
  text-align: center;
}

.camera-confirm-btn:hover {
  background: #E5C158 !important;
}

.photo-preview-container {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(15, 46, 30, 0.7);
  border: 1.5px solid #10B981;
  border-radius: 8px;
  padding: 10px 14px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.photo-preview-thumb {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #D4AF37;
  flex-shrink: 0;
}

.photo-preview-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.photo-preview-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #FFFFFF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.photo-preview-size {
  font-size: 12px;
  color: #6EE7B7;
  margin-top: 2px;
}

.photo-preview-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.photo-action-btn {
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  border: none;
  transition: all 0.15s ease;
}

.photo-change-btn {
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
}

.photo-change-btn:hover {
  background: rgba(255, 255, 255, 0.25);
}

.photo-remove-btn {
  background: rgba(239, 68, 68, 0.2);
  color: #FCA5A5;
  border: 1px solid rgba(239, 68, 68, 0.5);
}

.photo-remove-btn:hover {
  background: #DC2626;
  color: #FFFFFF;
  border-color: #DC2626;
}

/* ====================================================
   HOME PAGE DONATE SECTION (MATCHING 1ST IMAGE WITH CTA BUTTON)
   ==================================================== */
#donate.contribute {
  background: #F1EBDF !important;
  color: #001A0C !important;
  padding: clamp(60px, 8vw, 100px) clamp(26px, 8vw, 124px) !important;
  display: block !important;
}

#donate.contribute .contribute-main {
  max-width: 720px !important;
  margin: 0 !important;
  text-align: left !important;
}

#donate.contribute h2 {
  font-family: 'Newsreader', Georgia, serif !important;
  font-size: clamp(38px, 4.8vw, 56px) !important;
  font-weight: 600 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.02em !important;
  color: #001A0C !important;
  margin: 0 0 20px 0 !important;
}

#donate.contribute p {
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: #334155 !important;
  margin-bottom: 24px !important;
  max-width: 600px !important;
}

#donate.contribute .check-instructions {
  background: #EAE3D2 !important;
  border-left: 4px solid #D4AF37 !important;
  border-radius: 8px !important;
  padding: 22px 26px !important;
  margin: 24px 0 !important;
  max-width: 580px !important;
}

#donate.contribute .check-instructions p {
  color: #0F172A !important;
  margin-bottom: 8px !important;
}

#donate.contribute small {
  color: #64748B !important;
  font-size: 13.5px !important;
  display: block !important;
}

.donate-button-cta {
  background: #FFD400 !important;
  color: #001A0C !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  padding: 14px 30px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16) !important;
  margin-bottom: 22px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.donate-button-cta:hover {
  background: #FFFFFF !important;
  color: #001A0C !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22) !important;
}

/* ====================================================
   WHY NOW HERO & STANDALONE SECTIONS
   ==================================================== */
.whynow-hero {
  background: linear-gradient(180deg, #0A1926 0%, #0F2E1E 100%);
  color: #FFFFFF;
  padding: clamp(54px, 8vw, 84px) clamp(22px, 5vw, 76px) clamp(44px, 6vw, 64px);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.whynow-hero::before {
  content: "";
  position: absolute;
  top: -40%;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 400px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
  pointer-events: none;
}

.whynow-hero-inner {
  max-width: 860px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.whynow-hero h1 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(34px, 5vw, 54px);
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 16px;
}

.whynow-hero p {
  font-size: clamp(16px, 2.2vw, 19px);
  color: #D1D5DB;
  line-height: 1.6;
  max-width: 720px;
  margin: 0 auto;
}

/* Standalone .why section on Why Now page (Exact match with jason-lin-campaign - Copy) */
.why.why-standalone,
body.why-now-page .why {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: start !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  overflow: hidden !important;
}

.why.why-standalone .record-panel,
body.why-now-page .why .record-panel {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 80px clamp(42px, 5vw, 82px) !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
  box-sizing: border-box !important;
}

@media (max-width: 800px) {
  .why.why-standalone .record-panel,
  body.why-now-page .why .record-panel {
    padding: 70px 23px !important;
  }
}

.why.why-standalone .record-panel .eyebrow {
  font-family: var(--font-geist-sans), Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--gold-ink) !important;
  margin: 0 0 16px 0 !important;
  max-width: none !important;
  display: block !important;
}

.why.why-standalone .record-panel h2 {
  font-family: var(--font-newsreader), Georgia, serif !important;
  font-size: clamp(40px, 4.8vw, 72px) !important;
  font-weight: 540 !important;
  letter-spacing: -0.042em !important;
  line-height: 1.03 !important;
  color: var(--ink) !important;
  margin: 20px 0 26px 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.why.why-standalone .record-panel > p {
  font-family: var(--font-geist-sans), Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: var(--body-light) !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 0 22px 0 !important;
}

.why.why-standalone .record-panel blockquote {
  font-family: var(--font-newsreader), Georgia, serif !important;
  border-left: 4px solid var(--gold) !important;
  letter-spacing: -0.025em !important;
  color: var(--ink) !important;
  margin: 34px 0 30px 0 !important;
  padding: 3px 0 3px 24px !important;
  font-size: clamp(24px, 2.4vw, 35px) !important;
  line-height: 1.28 !important;
  font-style: normal !important;
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.why.why-standalone .record-panel blockquote cite {
  display: block !important;
  font-family: var(--font-geist-sans), Arial, sans-serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--green-dark) !important;
  margin-top: 18px !important;
}

.why.why-standalone .article-evidence {
  background: var(--paper) !important;
  width: min(100%, 1040px) !important;
  max-width: none !important;
  box-shadow: 0 22px 60px color-mix(in srgb, var(--ground) 14%, transparent) !important;
  border: 1px solid var(--paper) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  margin: 12px auto 18px auto !important;
  padding: 0 !important;
}

.why.why-standalone .article-evidence img {
  aspect-ratio: 3/2 !important;
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.why.why-standalone .article-copy {
  border-top: 5px solid var(--green-dark) !important;
  padding: 24px 28px 26px !important;
  background: var(--paper) !important;
}

.why.why-standalone .article-source {
  font: 700 12px var(--font-geist-sans), Arial, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.11em !important;
  color: var(--green-dark) !important;
  margin: 0 0 12px 0 !important;
}

.why.why-standalone .article-copy figcaption {
  font-family: var(--font-newsreader), Georgia, serif !important;
  letter-spacing: -0.015em !important;
  color: var(--navy) !important;
  padding: 0 !important;
  font-size: clamp(20px, 1.7vw, 26px) !important;
  font-weight: 520 !important;
  line-height: 1.32 !important;
  margin-bottom: 0 !important;
}

.why.why-standalone .article-copy > p:not(.article-source) {
  color: var(--muted) !important;
  max-width: none !important;
  margin: 14px 0 0 0 !important;
  font-size: 17px !important;
  line-height: 1.58 !important;
}

.why.why-standalone .article-copy span {
  color: var(--muted-light) !important;
  margin-top: 14px !important;
  font-size: 12px !important;
  display: block !important;
}

.why.why-standalone .record-panel .article-link,
.record-panel .article-link,
a.text-link.article-link {
  font-family: var(--font-geist-sans), Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--gold-ink) !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--gold-ink) !important;
  padding-bottom: 4px !important;
  margin: 0 0 42px 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.why.why-standalone .record-panel .article-link:hover,
.record-panel .article-link:hover,
a.text-link.article-link:hover {
  color: var(--green-dark) !important;
  border-bottom-color: var(--green-dark) !important;
}

.why.why-standalone .record-panel .article-link + p {
  margin-top: 0 !important;
}

.why.why-standalone .record-results-banner {
  background: #0e3a1e !important;
  border-left: 4px solid var(--gold) !important;
  border-radius: 4px !important;
  padding: 34px 40px !important;
  margin: 40px 0 20px 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.why.why-standalone .record-results-banner h3 {
  font-family: Newsreader, Georgia, serif !important;
  font-size: clamp(26px, 2.8vw, 34px) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  margin: 0 0 14px 0 !important;
}

.why.why-standalone .record-results-banner p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Standalone .warning-signs on Why Now page (Matching Image 1) */
.warning-signs.warning-standalone,
body.why-now-page .warning-signs {
  background: var(--hs-field) !important;
  color: var(--paper) !important;
  padding: clamp(70px, 8vw, 105px) clamp(26px, 8vw, 124px) !important;
}

.warning-signs.warning-standalone .warning-head,
body.why-now-page .warning-signs .warning-head {
  display: grid !important;
  grid-template-columns: 1.2fr .8fr !important;
  align-items: end !important;
  gap: 8vw !important;
}

@media (max-width: 1050px) {
  .warning-signs.warning-standalone .warning-head,
  body.why-now-page .warning-signs .warning-head {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

.warning-conclusion {
  background: rgba(0, 0, 0, 0.25) !important;
  border-left: 4px solid var(--gold) !important;
  border-radius: 4px;
  padding: 32px 36px !important;
  margin-top: 36px !important;
}

.warning-conclusion h2 {
  font-family: 'Newsreader', Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 46px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  color: #FFFFFF !important;
  margin: 0 0 14px 0 !important;
}

.warning-conclusion p {
  color: rgba(241, 235, 223, 0.92) !important;
  font-size: 17.5px !important;
  line-height: 1.6 !important;
  max-width: 900px !important;
  margin: 0 !important;
}

.warning-conclusion p strong {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

/* Full-width UC Analysis Section (Matching Image 2 with Expanded Size) */
.uc-analysis-section {
  background: var(--paper);
  padding: clamp(60px, 8vw, 100px) clamp(22px, 5vw, 76px);
  border-top: 1px solid var(--rule-dark);
}

/* Global / Cross-Page Section Separator Line */
.section-separator-line {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(0, 26, 12, 0.25) 15%, rgba(0, 26, 12, 0.25) 85%, transparent 100%);
  margin: 0;
  border: 0;
  display: block;
  width: 100%;
}

.uc-analysis-head {
  max-width: 980px;
  margin: 0 auto clamp(36px, 5vw, 60px);
  text-align: center;
}

.uc-analysis-head .eyebrow {
  margin-bottom: 12px;
}

.uc-analysis-head h2 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(32px, 4.5vw, 50px);
  color: #0F2E1E;
  line-height: 1.18;
  margin-bottom: 16px;
}

.uc-analysis-head p {
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.6;
  color: #4A5568;
}

.uc-visual-flow {
  max-width: 1280px !important;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: clamp(52px, 7vw, 84px);
}

.uc-visual-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.08);
}

.uc-visual-card img {
  width: 100%;
  height: auto;
  display: block;
}

.uc-visual-content {
  padding: 20px clamp(16px, 3vw, 28px) !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.uc-topic-tag {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #D4AF37;
  background: #0F2E1E;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 8px;
}

.uc-visual-content h3 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(20px, 2.5vw, 26px);
  color: #0F172A;
  line-height: 1.25;
  margin-bottom: 8px;
  text-align: center !important;
}

.uc-visual-content p {
  font-size: 15px;
  line-height: 1.5;
  color: #4A5568;
  margin-bottom: 10px;
  text-align: center !important;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.uc-visual-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 10px !important;
}

.uc-tag-item {
  background: #F1F5F9;
  border: 1px solid #CBD5E1;
  color: #1E293B;
  font-size: 12.5px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 6px;
  max-width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
  line-height: 1.35 !important;
}

.uc-tag-item.alert {
  background: #FEF2F2;
  border-color: #FECACA;
  color: #991B1B;
}

.uc-tag-item.success {
  background: #ECFDF5;
  border-color: #A7F3D0;
  color: #065F46;
}

.uc-source-citation {
  margin-top: 22px !important;
  padding: 14px 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-left: 4px solid #0F2E1E !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: #475569 !important;
  text-align: left !important;
}

.uc-source-citation a {
  color: #0F2E1E !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

.uc-source-citation a:hover {
  color: #D4AF37 !important;
}

/* Hero Group Photo & Video Styling */
.hero-visual > img {
  object-fit: cover !important;
  object-position: center 25% !important;
}

.hero-video-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  background: rgba(0, 26, 12, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #FFD400;
  border: 1px solid rgba(255, 212, 0, 0.4);
  border-radius: 24px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
  outline: none;
  transition: all 0.2s ease;
}

.hero-video-badge:hover {
  background: #FFD400;
  color: #001A0C;
  transform: translateY(-2px);
}

/* Streamlined 3rd Image Callout Section across pages */
.join-movement-section {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  padding: clamp(34px, 4.5vw, 48px) clamp(22px, 6vw, 84px) !important;
}

.join-movement-inner {
  max-width: 900px;
  margin: 0;
}

.join-movement-section .section-label {
  margin-bottom: 8px;
  display: inline-block;
}

.join-movement-section h2 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(32px, 4vw, 50px);
  color: #0F172A;
  line-height: 1.1;
  margin: 0 0 12px 0;
}

.join-movement-section p {
  font-size: 16px;
  line-height: 1.6;
  color: #4A5568;
  max-width: 720px;
  margin: 0 0 18px 0;
}

.join-movement-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}

/* Endorsement Quote Lead Row with Closer Expander Button */
.endorsement-card,
.featured-quote-card {
  position: relative !important;
}

.endorsement-card-header,
.featured-card-header,
.endorsement-quote-lead,
.featured-quote-snippet,
.endorsement-quote-lead-wrap {
  cursor: pointer;
  user-select: none;
}

.endorsement-person-info,
.featured-card-info {
  padding-right: 0;
}

.endorsement-quote-lead-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  cursor: pointer !important;
  user-select: none !important;
  padding: 4px 0 2px 0 !important;
}

.card-expand-corner-btn {
  position: static !important;
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #F1F5F9 !important;
  border: 1px solid #CBD5E1 !important;
  color: #334155 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 0 0 auto !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 2 !important;
}

/* Expanded touch target for mobile devices */
.card-expand-corner-btn::after {
  content: "";
  position: absolute;
  top: -10px;
  right: -10px;
  bottom: -10px;
  left: -10px;
  cursor: pointer;
}

.card-expand-corner-btn:hover {
  background: #0F2E1E !important;
  color: #FFFFFF !important;
  border-color: #0F2E1E !important;
  transform: scale(1.08) !important;
  box-shadow: 0 4px 10px rgba(15, 46, 30, 0.25) !important;
}

.card-expand-corner-btn .corner-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  color: inherit;
  pointer-events: none !important;
}

.card-expand-corner-btn .corner-arrow * {
  pointer-events: none !important;
}

.card-expand-corner-btn.expanded,
.card-expanded .card-expand-corner-btn {
  background: #0F2E1E !important;
  color: #FFFFFF !important;
  border-color: #0F2E1E !important;
}

.card-expand-corner-btn.expanded .corner-arrow,
.card-expanded .card-expand-corner-btn .corner-arrow {
  transform: rotate(180deg) !important;
}

.endorsement-full-text {
  display: none;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed #E2E8F0;
  font-size: 15px;
  line-height: 1.65;
  color: #334155;
  animation: fadeInExpander 0.25s ease-out;
}

.endorsement-full-text.show,
.card-expanded .endorsement-full-text {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@keyframes fadeInExpander {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Video Pop-up Modal */
.modal-video-card {
  width: 100% !important;
  max-width: 820px !important;
  padding: 0 !important;
  background: #000000 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  position: relative !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
}

.modal-video-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
  background: #000000;
}

.modal-video-wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.video-modal-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 25 !important;
  background: rgba(0, 0, 0, 0.7) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: #FFFFFF !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  font-size: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.video-modal-close:hover {
  background: #FFD400 !important;
  color: #001A0C !important;
  border-color: #FFD400 !important;
  transform: scale(1.08) !important;
}

/* WhatsApp QR Promo in Volunteer Modal */
.modal-whatsapp-promo {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 18px;
}

.modal-whatsapp-qr {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  border-radius: 6px;
  border: 1px solid #86EFAC;
  background: #FFFFFF;
  padding: 2px;
  object-fit: contain;
}

.modal-whatsapp-info {
  flex: 1;
  min-width: 0;
}

.modal-whatsapp-info strong {
  display: block;
  font-size: 13px;
  color: #14532D;
  margin-bottom: 2px;
}

.modal-whatsapp-info p {
  font-size: 11.5px;
  color: #166534;
  margin: 0 0 6px 0;
  line-height: 1.35;
}

.modal-whatsapp-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #25D366;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.15s ease;
}

.modal-whatsapp-btn:hover {
  background: #1EBE5D;
  color: #FFFFFF;
}

@media (max-width: 900px) {
  .site-header #nav-donate-btn,
  .site-header #nav-volunteer-btn,
  .site-header button#nav-volunteer-btn,
  .site-header .nav-volunteer-btn {
    display: inline-flex !important;
  }
}

@media (max-width: 480px) {
  .site-header {
    gap: 6px !important;
    padding-inline: 8px !important;
  }
  .site-header .brand {
    gap: 6px !important;
  }
  .site-header .brand-mark {
    width: 32px !important;
    height: 32px !important;
    font-size: 16px !important;
  }
  .site-header .brand strong {
    font-size: 9.5px !important;
  }
  .site-header .brand small {
    font-size: 7.5px !important;
  }
  .site-header #nav-donate-btn,
  .site-header #nav-volunteer-btn,
  .site-header button#nav-volunteer-btn,
  .site-header .nav-volunteer-btn {
    display: inline-flex !important;
    padding: 0 7px !important;
    font-size: 10.5px !important;
    height: 32px !important;
    min-height: 32px !important;
  }
  .site-header .mobile-menu summary {
    padding: 5px 8px !important;
    font-size: 11.5px !important;
  }
  .modal-whatsapp-promo {
    flex-direction: column;
    text-align: center;
  }
  .modal-whatsapp-btn {
    justify-content: center;
  }
}

/* ==========================================================================
   10DLC SMS OPT-IN & CARRIER COMPLIANCE STYLES
   ========================================================================== */
.sms-optin-group {
  margin: 10px 0 16px 0;
  padding: 10px 12px;
  background: rgba(15, 46, 30, 0.04);
  border: 1px solid rgba(15, 46, 30, 0.12);
  border-radius: 6px;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.sms-optin-group:hover {
  background: rgba(15, 46, 30, 0.07);
  border-color: rgba(15, 46, 30, 0.22);
}

/* Dark background variant for dark modals or endorsement intake card */
.endorse-form-card .sms-optin-group,
.modal-card.dark .sms-optin-group {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
}
.endorse-form-card .sms-optin-group:hover,
.modal-card.dark .sms-optin-group:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.28);
}

.sms-optin-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer;
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: #374151 !important;
  user-select: none;
}
.endorse-form-card .sms-optin-label {
  color: #E2E8F0 !important;
}

.sms-optin-checkbox {
  width: 17px !important;
  height: 17px !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  accent-color: #0F2E1E;
}
.endorse-form-card .sms-optin-checkbox {
  accent-color: #D4AF37;
}

.sms-optin-text {
  font-size: 12px;
  line-height: 1.45;
  color: #4B5563;
}
.endorse-form-card .sms-optin-text {
  color: #CBD5E1;
}

.sms-optin-text a {
  color: #0F2E1E;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.sms-optin-text a:hover {
  color: #D4AF37;
}
.endorse-form-card .sms-optin-text a {
  color: #FCD34D;
}
.endorse-form-card .sms-optin-text a:hover {
  color: #FFFFFF;
}

/* ==========================================================================
   LEGAL PAGES (PRIVACY POLICY & TERMS OF SERVICE)
   ========================================================================== */
.legal-page {
  background-color: #FAF8F5;
  color: #1F2937;
  min-height: 100vh;
}

.legal-hero {
  background: linear-gradient(135deg, #001A0C 0%, #0E3A1E 100%);
  color: #F1EBDF;
  padding: 68px clamp(24px, 6vw, 90px) 48px;
  border-bottom: 3px solid #D4AF37;
}

.legal-hero-inner {
  max-width: 960px;
  margin: 0 auto;
}

.legal-badge {
  display: inline-block;
  background: rgba(212, 175, 55, 0.18);
  border: 1px solid rgba(212, 175, 55, 0.45);
  color: #FFD400;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 16px;
}

.legal-hero h1 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(34px, 4.5vw, 56px);
  font-weight: 600;
  line-height: 1.1;
  color: #FFFFFF;
  margin: 0 0 14px 0;
  letter-spacing: -0.02em;
}

.legal-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  font-size: 13.5px;
  color: rgba(241, 235, 223, 0.75);
}

.legal-meta span.active-tag {
  color: #4ADE80;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.legal-meta span.active-tag::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  background-color: #4ADE80;
  border-radius: 50%;
}

.legal-content-section {
  padding: 50px clamp(20px, 6vw, 90px) 90px;
}

.legal-container {
  max-width: 960px;
  margin: 0 auto;
}

.legal-nav-tabs {
  display: flex;
  gap: 12px;
  margin-bottom: 30px;
  border-bottom: 1px solid #E5E7EB;
  padding-bottom: 14px;
}

.legal-nav-tab {
  font-size: 14.5px;
  font-weight: 600;
  color: #4B5563;
  padding: 8px 18px;
  border-radius: 6px;
  transition: all 0.2s ease;
  text-decoration: none !important;
}
.legal-nav-tab:hover {
  background: rgba(15, 46, 30, 0.08);
  color: #0F2E1E;
}
.legal-nav-tab.active {
  background: #0F2E1E;
  color: #FFFFFF;
}

.legal-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 26, 12, 0.05);
  padding: clamp(28px, 5vw, 54px);
  line-height: 1.7;
}

.legal-card h2 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(22px, 2.5vw, 30px);
  color: #0F2E1E;
  margin: 32px 0 12px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #F3F4F6;
  letter-spacing: -0.01em;
}
.legal-card h2:first-of-type {
  margin-top: 0;
}

.legal-card h3 {
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  margin: 22px 0 8px 0;
}

.legal-card p, .legal-card li {
  font-size: 15.5px;
  color: #374151;
  margin-bottom: 14px;
}

.legal-card ul {
  list-style: disc;
  padding-left: 24px;
  margin: 12px 0 18px 0;
}
.legal-card ul li {
  margin-bottom: 8px;
}

.carrier-mandate-box {
  background: #F0FDF4;
  border: 1.5px solid #22C55E;
  border-left: 5px solid #15803D;
  border-radius: 8px;
  padding: 20px 22px;
  margin: 24px 0;
}
.carrier-mandate-box h4 {
  margin: 0 0 8px 0;
  color: #166534;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}
.carrier-mandate-box p {
  margin: 0;
  color: #14532D;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.55;
}

.legal-contact-card {
  background: #FAF8F5;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 22px 24px;
  margin-top: 28px;
}
.legal-contact-card h4 {
  margin: 0 0 10px 0;
  color: #0F2E1E;
  font-size: 16px;
  font-weight: 700;
}
.legal-contact-card p {
  margin: 4px 0;
  font-size: 14.5px;
  color: #4B5563;
}
.legal-contact-card a {
  color: #0F2E1E;
  font-weight: 600;
  text-decoration: underline;
}

/* Footer Legal Links - Styled as distinct pill CTA buttons */
.footer-legal-links {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(241, 235, 223, 0.12);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.footer-legal-links a {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.025em;
  color: #E2E8F0 !important;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 20px;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}
.footer-legal-links a:hover {
  color: #001A0C !important;
  background: #FFD400 !important;
  border-color: #FFD400 !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(255, 212, 0, 0.3);
  text-decoration: none !important;
}

/* ==========================================================================
   COMPREHENSIVE MOBILE RESPONSIVENESS & OVERFLOW CONTAINMENT SYSTEM
   Guarantees pixel-perfect mobile layouts across all pages, forms, and cards
   ========================================================================== */

/* 1. Global Viewport & Container Containment */
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
  position: relative !important;
  width: 100% !important;
}

*, *::before, *::after {
  box-sizing: border-box !important;
}

img, video, iframe, canvas, svg {
  max-width: 100% !important;
  height: auto;
}

/* Prevent any long words or unbroken strings from blowing out horizontal width */
p, span, h1, h2, h3, h4, h5, h6, a, label, blockquote, figcaption {
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
}

/* 2. Tablet & Mobile Responsive Breakpoints for Endorsements & Forms (<= 860px) */
@media (max-width: 860px) {
  /* Endorsements 2-column grid collapses cleanly */
  .endorsements-two-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .endorsements-col {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 18px 14px !important;
  }

  .endorsements-col-header {
    min-height: auto !important;
    padding: 18px 16px !important;
  }

  .col-header-title {
    min-height: auto !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  /* Endorse intake form section */
  .endorse-intake-section {
    padding: 44px 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .endorse-intake-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .endorse-intake-info {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .endorse-intake-info h2 {
    font-size: 28px !important;
    line-height: 1.25 !important;
    margin-bottom: 14px !important;
  }

  .endorse-intake-info p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .endorse-form-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 22px 16px !important;
    box-sizing: border-box !important;
  }

  .endorse-form-card .form-row-2 {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
}

/* 3. Small Screen & Phone Breakpoint (<= 640px) */
@media (max-width: 640px) {
  /* Hero Sections */
  .endorsements-hero {
    padding: 44px 16px 36px !important;
  }

  .endorsements-hero h1 {
    font-size: 30px !important;
    line-height: 1.2 !important;
    margin-bottom: 14px !important;
  }

  .endorsements-hero p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  /* Main endorsements container & wrapper */
  .endorsements-main-content {
    padding: 28px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .endorsements-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
  }

  /* Endorsement cards mobile flex layout */
  .endorsement-card {
    padding: 16px 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .endorsement-card-header,
  .featured-quote-card .featured-card-header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: auto !important;
    padding-bottom: 12px !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Constrain avatar dimensions on phones so it doesn't crowd out text */
  .endorsement-avatar,
  .featured-card-avatar,
  .avatar-initials {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    border-width: 3px !important;
    font-size: 22px !important;
    flex-shrink: 0 !important;
  }

  /* Text info next to avatar */
  .endorsement-person-info,
  .featured-card-info {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
  }

  .endorsement-badge,
  .featured-card-badge {
    font-size: 10px !important;
    padding: 2px 7px !important;
    letter-spacing: 0.04em !important;
    white-space: normal !important;
    display: inline-block !important;
    line-height: 1.3 !important;
    margin-bottom: 4px !important;
  }

  .endorsement-name,
  .featured-author-name {
    font-size: 17px !important;
    line-height: 1.25 !important;
    margin-bottom: 2px !important;
    overflow-wrap: break-word !important;
  }

  .endorsement-title,
  .featured-author-title {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.02em !important;
    overflow-wrap: break-word !important;
  }

  .endorsement-subtitle,
  .featured-author-sub {
    font-size: 11px !important;
    line-height: 1.35 !important;
    margin-top: 2px !important;
    overflow-wrap: break-word !important;
  }

  .endorsement-quote-lead,
  .featured-quote-snippet {
    font-size: 14px !important;
    line-height: 1.45 !important;
    min-height: auto !important;
    margin-bottom: 0 !important;
  }

  .endorsement-quote-text,
  .featured-quote-text {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }

  .endorsement-full-text p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }

  /* Expander button sizing on mobile */
  .card-expand-corner-btn {
    position: static !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }

  /* Photo dropzone controls on mobile */
  .photo-dropzone {
    padding: 14px 12px !important;
    gap: 8px !important;
  }

  .photo-dropzone-actions {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 8px !important;
  }

  .photo-btn-primary,
  .photo-btn-secondary {
    width: 100% !important;
    justify-content: center !important;
    padding: 9px 14px !important;
    font-size: 13px !important;
  }

  .photo-dropzone-or {
    display: none !important;
  }

  .photo-dropzone-sub {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .photo-preview-container {
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 10px !important;
  }

  .photo-preview-actions {
    width: 100% !important;
    justify-content: flex-end !important;
  }

  /* Camera modal mobile responsive */
  .camera-modal-card {
    width: 96% !important;
    max-width: 96% !important;
    margin: 0 auto !important;
  }

  .camera-portrait-guide {
    width: 160px !important;
    height: 160px !important;
  }

  .camera-shutter-btn {
    width: 52px !important;
    height: 52px !important;
  }

  /* SMS opt-in checkbox text styling */
  .sms-optin-group {
    margin: 12px 0 16px !important;
  }

  .sms-optin-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .sms-optin-checkbox {
    margin-top: 3px !important;
    flex-shrink: 0 !important;
  }

  .sms-optin-text {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
    overflow-wrap: break-word !important;
  }

  /* Legal disclaimer box */
  .endorsements-disclaimer-box {
    margin-top: 24px !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  /* Featured endorsements on home page */
  .featured-endorsements-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 0 !important;
  }

  .featured-quote-card {
    padding: 16px 14px !important;
  }

  /* Legal Pages (Privacy Policy & Terms) */
  .legal-hero {
    padding: 40px 16px 30px !important;
  }

  .legal-hero h1 {
    font-size: 28px !important;
  }

  .legal-content-section {
    padding: 30px 14px 60px !important;
  }

  .legal-section-card {
    padding: 20px 16px !important;
    margin-bottom: 24px !important;
  }

  .legal-section-card h2 {
    font-size: 19px !important;
  }

  .legal-section-card p,
  .legal-section-card li {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  /* General Modals (Volunteer & Contact) */
  .modal-card {
    width: 95% !important;
    max-width: 95% !important;
    padding: 22px 16px !important;
    margin: 10px !important;
    box-sizing: border-box !important;
  }

  .modal-header h3 {
    font-size: 1.25rem !important;
  }
}

/* 4. Ultra-narrow Phones (<= 380px) */
@media (max-width: 380px) {
  .site-header {
    padding: 0 10px !important;
    gap: 6px !important;
  }

  .site-header .brand {
    gap: 6px !important;
  }

  .site-header .brand-mark {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    font-size: 18px !important;
  }

  .site-header .brand strong {
    font-size: 11px !important;
  }

  .site-header .brand small {
    font-size: 7.5px !important;
  }

  .site-header #nav-donate-btn,
  .site-header #nav-volunteer-btn {
    padding: 0 7px !important;
    font-size: 10.5px !important;
    min-height: 30px !important;
    height: 30px !important;
  }

  .site-header .mobile-menu summary {
    padding: 4px 8px !important;
    font-size: 11.5px !important;
  }

  .endorsement-avatar,
  .featured-card-avatar,
  .avatar-initials {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    font-size: 18px !important;
  }

  .endorsement-name,
  .featured-author-name {
    font-size: 15.5px !important;
  }
}

/* ==========================================================================
   FAMILY SECTION MOBILE OPTIMIZATION ("THIS IS PERSONAL")
   Ensures Jason Lin, his wife, and two kids are fully visible with zero cropping
   ========================================================================== */
@media (max-width: 768px) {
  .family-story {
    background: #001A0C !important;
    padding: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .family-story .family-panel {
    position: relative !important;
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    background: #001A0C !important;
    width: 100% !important;
  }

  /* Image renders completely in its natural 3:2 landscape aspect ratio without any clipping */
  .family-story .family-panel > img {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1800 / 1201 !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
  }

  /* Remove absolute gradient mask so heads and faces are 100% clear and bright */
  .family-story .family-panel::after {
    display: none !important;
  }

  /* Flow text cleanly underneath the full family photo with rich contrast and padding */
  .family-story .family-overlay {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 20px 36px !important;
    background: linear-gradient(180deg, #001A0C 0%, #082414 100%) !important;
    border-top: 3px solid #D4AF37 !important;
    box-sizing: border-box !important;
    z-index: 2 !important;
  }

  .family-story .family-overlay .eyebrow {
    color: #FFD400 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    margin-bottom: 8px !important;
    display: block !important;
  }

  .family-story .family-overlay h2 {
    font-family: 'Newsreader', Georgia, serif !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    color: #FFFFFF !important;
    margin: 0 0 12px 0 !important;
  }

  .family-story .family-overlay p:last-child {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #E2E8F0 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }
}

/* ── Campaign in Action / Watch Section ── */
.campaign-watch-section {
  background: #f7f3ec;
  padding: 85px clamp(24px, 7vw, 110px);
  border-top: 1px solid rgba(0, 26, 12, 0.08);
  border-bottom: 1px solid rgba(0, 26, 12, 0.08);
}
.campaign-watch-header {
  max-width: 820px;
  margin: 0 auto 50px auto;
  text-align: center;
}
.campaign-watch-header .section-label {
  color: #7a6410;
  font-weight: 700;
  letter-spacing: .14em;
  margin-bottom: 14px;
}
.campaign-watch-header h2 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: clamp(34px, 4.4vw, 56px);
  font-weight: 600;
  line-height: 1.1;
  color: #001509;
  margin: 0 0 16px 0;
}
.campaign-watch-sub {
  font-size: 17px;
  line-height: 1.6;
  color: #354439;
  margin: 0 auto;
}
.campaign-watch-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
}
.watch-preview-card {
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid rgba(0, 26, 12, 0.09);
  box-shadow: 0 10px 30px rgba(0, 26, 12, 0.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.watch-preview-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 26, 12, 0.1);
}
.watch-card-media {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
  background: #000;
}
.watch-card-media iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.watch-card-body {
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.watch-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 12px;
  width: fit-content;
}
.watch-tag.tag-forum {
  background: #0F2E1E;
  color: #FFD400;
}
.watch-tag.tag-media {
  background: #2b0b38;
  color: #ffffff;
}
.watch-card-body h3 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 24px;
  font-weight: 650;
  line-height: 1.25;
  margin: 0 0 10px 0;
  color: #001509;
}
.watch-chinese-sub {
  font-size: 13.5px;
  line-height: 1.45;
  color: #0e3a1e;
  background: rgba(14, 58, 30, 0.05);
  padding: 6px 10px;
  border-radius: 4px;
  margin: 0 0 12px 0;
  font-weight: 500;
}
.watch-card-body p:not(.watch-chinese-sub) {
  font-size: 15px;
  line-height: 1.55;
  color: #4a5568;
  margin: 0 0 20px 0;
}
.watch-card-actions {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid #edf2f7;
}
.watch-link {
  font-size: 14px;
  font-weight: 700;
  color: #0e3a1e;
  text-decoration: none;
  transition: color 0.15s ease;
}
.watch-link:hover {
  color: #7a6410;
  text-decoration: underline;
}
.watch-link-ext {
  font-size: 12.5px;
  font-weight: 600;
  color: #718096;
  background: #f1f5f9;
  padding: 4px 10px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}
.watch-link-ext:hover {
  background: #e2e8f0;
  color: #001509;
}
.campaign-watch-footer {
  text-align: center;
  margin-top: 48px;
}

@media (max-width: 900px) {
  .campaign-watch-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}








