
:root{--navy:#123b63;--teal:#0ea5a4;--gold:#f2b544;--coral:#ef6a57;--magenta:#b43c8a;--cream:#fff8ef;--white:#fff;--ink:#1f2937;--muted:#526072;--shadow:0 16px 40px rgba(18,59,99,.12);--radius:24px;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff8ef 0%,#fff 14%,#f8fcff 100%);line-height:1.65}h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;margin:0 0 14px;line-height:1.08;color:var(--navy)}p{margin:0 0 16px}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}.topbar{position:sticky;top:0;z-index:100;backdrop-filter:blur(14px);background:rgba(255,255,255,.92);border-bottom:1px solid rgba(18,59,99,.08)}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--magenta));display:grid;place-items:center;color:#fff;font-weight:900;font-size:1.35rem;box-shadow:var(--shadow)}.brand-copy{line-height:1.05}.brand-copy strong{display:block;font-size:1rem;letter-spacing:.04em;color:var(--navy)}.brand-copy span{display:block;font-size:.76rem;color:var(--muted);font-weight:700;letter-spacing:.03em;margin-top:5px}.nav-links{display:flex;flex-wrap:wrap;gap:18px;align-items:center;font-size:.93rem;color:var(--navy);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:14px 22px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;text-align:center}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(90deg,var(--coral),var(--magenta));box-shadow:0 14px 28px rgba(180,60,138,.2)}.btn-secondary{color:var(--navy);background:#fff;border:1px solid rgba(18,59,99,.1);box-shadow:var(--shadow)}.hero{position:relative;overflow:hidden;padding:70px 0 52px}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 12%,rgba(242,181,68,.28),transparent 26%),radial-gradient(circle at 86% 18%,rgba(14,165,164,.16),transparent 22%),radial-gradient(circle at 76% 78%,rgba(180,60,138,.16),transparent 24%),radial-gradient(circle at 10% 86%,rgba(239,106,87,.12),transparent 18%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center}.eyebrow{display:inline-block;margin-bottom:18px;padding:9px 15px;background:rgba(18,59,99,.08);color:var(--navy);border-radius:999px;font-size:.9rem;font-weight:800;letter-spacing:.03em}.hero h1{font-size:clamp(3rem,7vw,5.7rem);max-width:10ch;margin-bottom:18px}.lead{font-size:1.12rem;color:#334155;max-width:64ch}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.hero-points,.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.mini-card,.stat{background:rgba(255,255,255,.82);border:1px solid rgba(18,59,99,.08);border-radius:18px;padding:15px;box-shadow:var(--shadow)}.mini-card strong{display:block;color:var(--navy);font-size:1.06rem;margin-bottom:4px}.hero-panel{position:relative;border-radius:34px;padding:28px;overflow:hidden;min-height:500px;color:#fff;background:linear-gradient(160deg,#103a5f 10%,#0d6e78 62%,#7c2f86 100%);box-shadow:0 26px 62px rgba(18,59,99,.24)}.hero-panel:before{content:"";position:absolute;width:260px;height:260px;right:-70px;top:-50px;border-radius:999px;background:rgba(242,181,68,.85)}.hero-panel:after{content:"";position:absolute;width:180px;height:180px;left:-45px;bottom:90px;border-radius:999px;background:rgba(239,106,87,.68)}.hero-panel-inner{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:20px}.logo-frame{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:28px}.logo-card{background:#fff;color:var(--navy);border-radius:22px;padding:28px;text-align:center;font-weight:900;font-size:2rem}.logo-card span{display:block;color:var(--magenta);font-size:1rem;letter-spacing:.12em;margin-top:8px}.hero-panel h2,.hero-panel p{color:#fff}.stat{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.14);text-align:center}.stat strong{display:block;color:#fff;font-size:1.24rem}.stat span{display:block;color:rgba(255,255,255,.9);font-size:.84rem;margin-top:4px}section{padding:42px 0}.section-heading{max-width:820px;margin-bottom:28px}.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2{font-size:clamp(2rem,4vw,3.3rem)}.section-heading p{font-size:1.04rem;color:var(--muted)}.grid-2,.grid-3,.grid-4{display:grid;gap:20px}.grid-2{grid-template-columns:1.05fr .95fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid rgba(18,59,99,.08);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);min-height:100%}.card h3{font-size:1.45rem}.accent-card{background:linear-gradient(180deg,var(--cream),#fff)}.dark-card{background:linear-gradient(145deg,var(--navy),#1f6f78);color:#fff;border:none}.dark-card h3,.dark-card p,.dark-card li{color:#fff}.list{padding-left:18px;margin:12px 0 0}.list li{margin-bottom:10px}.timeline{display:grid;gap:14px}.timeline-item{background:rgba(18,59,99,.04);border-left:4px solid var(--teal);border-radius:18px;padding:18px 18px 18px 20px}.timeline-item strong{display:block;color:var(--navy);margin-bottom:6px}.issue-card{position:relative;overflow:hidden;padding-top:26px}.issue-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:linear-gradient(90deg,var(--coral),var(--gold),var(--teal),var(--magenta))}.issue-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(18,59,99,.08);font-size:1.4rem;margin-bottom:16px}.metric{text-align:center}.metric strong{display:block;font-size:1.9rem;color:var(--navy);margin-bottom:6px}.symbol-strip{margin:44px 0 14px;padding:28px;border-radius:28px;background:linear-gradient(95deg,rgba(14,165,164,.13),rgba(242,181,68,.15),rgba(180,60,138,.11));border:1px solid rgba(18,59,99,.08);box-shadow:var(--shadow)}.symbol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}.symbol{background:rgba(255,255,255,.72);border-radius:18px;padding:16px;border:1px solid rgba(18,59,99,.08)}.symbol strong{display:block;color:var(--navy);margin-bottom:6px}.quote{font-size:1.08rem;font-style:italic;margin-top:10px}.cta-band{margin-top:18px;padding:30px;border-radius:28px;background:linear-gradient(120deg,var(--navy),#145f77,#8d317f);color:#fff;box-shadow:0 24px 50px rgba(18,59,99,.22)}.cta-band h2,.cta-band p{color:#fff}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}.form-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:20px;margin-top:26px}form{display:grid;gap:12px}label{display:block;margin-bottom:6px;color:var(--navy);font-weight:800;font-size:.94rem}input,textarea,select{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(18,59,99,.14);font:inherit;background:#fff;color:var(--ink)}textarea{min-height:140px;resize:vertical}.donate-grid{display:grid;gap:12px;margin-top:18px}.soto-endorsements{background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%);padding:48px 20px;border-radius:18px;max-width:1180px;margin:0 auto}.soto-endorsements .endorsement-header{text-align:center;max-width:850px;margin:0 auto 34px}.soto-endorsements .endorsement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.soto-endorsements .endorsement-card{background:#fff;border:1px solid rgba(16,40,74,.12);border-top:5px solid #f2b705;border-radius:16px;padding:22px;box-shadow:0 10px 28px rgba(16,40,74,.08)}.soto-endorsements .endorsement-card h3{color:#1e5aa8;font-size:1.18rem;font-family:Inter,Arial,sans-serif;font-weight:800}.soto-endorsements ul{list-style:none;margin:0;padding:0}.soto-endorsements li{padding:11px 0;border-top:1px solid rgba(31,41,55,.1);line-height:1.45}.soto-endorsements li:first-child{border-top:0}.soto-endorsements strong{display:block;color:#10284a}.soto-endorsements span{display:block;margin-top:2px;color:#5b6472;font-size:.94rem}.totals{margin-top:28px;background:#10284a;color:#fff;border-radius:18px;padding:26px;box-shadow:0 12px 32px rgba(16,40,74,.18)}.totals h3{color:#fff;text-align:center;font-family:Inter,Arial,sans-serif}.totals-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.total-item{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px 10px;text-align:center}.total-item .number{display:block;color:#f2b705;font-size:2rem;line-height:1;font-weight:900}.total-item .label{display:block;margin-top:7px;color:#fff;font-size:.82rem;line-height:1.25;font-weight:700}footer{margin-top:50px;background:var(--navy);color:#fff;padding:36px 0 50px}footer h3,footer p,footer a,footer small{color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.pill{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-weight:700;font-size:.92rem;margin:4px}@media(max-width:1080px){.hero-grid,.grid-2,.grid-3,.grid-4,.symbol-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.hero h1{max-width:100%}.soto-endorsements .endorsement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.totals-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:780px){.nav{flex-direction:column;align-items:flex-start}.nav-links{width:100%;justify-content:flex-start}.hero-points,.stat-row{grid-template-columns:1fr}.cta-row,.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}}@media(max-width:620px){.container{width:min(var(--max),calc(100% - 20px))}.hero{padding-top:44px}.card,.cta-band,.symbol-strip{padding:20px}.hero-panel{min-height:auto;padding:20px}.soto-endorsements{padding:36px 16px;border-radius:14px}.soto-endorsements .endorsement-grid{grid-template-columns:1fr}.totals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
