:root{--navy:#142a3a;--navy-soft:#233e51;--paper:#faf9f6;--white:#fff;--ink:#172c3c;--muted:#5d6c77;--line:#dcdedc;--red:#a83739;--blue:#eaf0f3;--radius:12px;--body:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--display:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{font-family:var(--body);color:var(--ink);background:var(--paper);font-size:1.0rem}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #317caa;outline-offset:3px}button:disabled{cursor:default}svg{width:24px;height:24px;display:block;flex-shrink:0}h1,h2,h3,p{margin:0}button{color:inherit}button,.btn{text-decoration:none} .skip-link{position:fixed;top:-70px;left:15px;background:white;padding:14px;z-index:200}.skip-link:focus{top:12px}
.presentation{min-height:100dvh;max-width:1336px;margin:auto;padding:36px 70px;display:grid;grid-template-columns:minmax(0,1fr) 450px;gap:80px;align-items:center}.proposal{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:18px 0}.proposal-brand{display:flex;gap:14px;align-items:center;font-size:0.875rem;letter-spacing:1.8px;font-weight:700}.monogram{font-family:var(--display);background:var(--navy);color:white;width:47px;height:47px;display:grid;place-items:center;font-size:1.4375rem;letter-spacing:-1px;position:relative}.monogram:after{content:"";position:absolute;bottom:7px;width:24px;height:2px;background:#c34d4e}.brand-sub{display:block;font-size:0.625rem;letter-spacing:2px;margin-top:6px;font-weight:500}.proposal-body{padding:65px 0 55px}.eyebrow{font-size:0.75rem;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:18px}.rule{height:1px;width:44px;background:var(--red)}.proposal h1{font-family:var(--display);font-size:clamp(50px,4.9vw,72px);line-height:1.08;letter-spacing:-2.3px;font-weight:400;margin:25px 0 24px}.proposal h1 em{font-weight:400;color:#526a7a}.proposal-copy{font-size:1.0625rem;line-height:1.7;color:var(--muted);max-width:450px}.feature-list{margin:32px 0 30px;max-width:455px}.feature-list>div{display:flex;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}.feature-no{font-size:0.75rem;color:var(--red);padding-top:4px;font-weight:600}.feature-list strong{display:block;font-size:0.9375rem;font-weight:600;margin-bottom:5px}.feature-list p>span{font-size:0.875rem;color:var(--muted);line-height:1.5;display:block}.interactive-label{font-size:0.75rem;display:flex;align-items:center;gap:10px;font-weight:600}.label-divider{color:#a4afb5;padding:0 4px}.mini-device{width:11px;height:17px;border:1.5px solid var(--ink);border-radius:3px}.proposal-notice{color:var(--muted);font-size:0.75rem;line-height:1.6}.device-stage{position:relative;display:flex;flex-direction:column;align-items:center}.stage-label{font-size:0.6875rem;font-weight:600;letter-spacing:2px;margin-bottom:16px;color:var(--muted)}.stage-label span{margin:0 10px;color:var(--red)}.phone{width:408px;height:min(836px,calc(100dvh - 145px));min-height:640px;background:var(--paper);border:9px solid #1a242c;border-radius:48px;box-shadow:0 25px 70px #172c3c20,0 0 0 1px #6e767c;overflow:hidden;position:relative;display:flex;flex-direction:column}.device-status{height:38px;flex-shrink:0;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:4px 22px 0;font-size:0.75rem;font-weight:600;position:relative}.island{width:104px;height:24px;background:#1a242c;border-radius:20px;position:absolute;left:50%;transform:translateX(-50%);top:3px}.battery{display:inline-block;width:19px;height:9px;border:1px solid var(--ink);border-radius:2px;position:relative}.battery:after{content:"";position:absolute;background:var(--ink);inset:1px}.app-header{height:62px;padding:8px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--paper)}.app-brand{border:0;background:transparent;text-align:left;padding:0;letter-spacing:1.7px;font-size:0.8125rem;font-weight:750}.app-brand span{display:block;font-size:0.5625rem;letter-spacing:1.7px;font-weight:500;margin-top:5px}.icon-button{border:0;background:transparent;width:44px;height:44px;display:grid;place-items:center;border-radius:50%}.icon-button svg{width:21px;height:21px}.icon-button:hover{background:var(--blue)}.app-screen{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;scrollbar-width:none;outline:0;scroll-behavior:smooth}.app-screen::-webkit-scrollbar{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);background:var(--white);border-top:1px solid var(--line);height:66px;flex-shrink:0;padding:5px 9px 3px}.nav-button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#73808a;font-size:0.625rem;font-weight:600;position:relative}.nav-button svg{width:21px;height:21px}.nav-button[aria-current=page]{color:var(--navy)}.nav-button[aria-current=page]:before{content:"";width:20px;height:2px;background:var(--red);position:absolute;top:-6px;border-radius:2px}.home-indicator{height:14px;background:white;display:flex;justify-content:center;flex-shrink:0}.home-indicator:after{content:"";width:113px;height:4px;border-radius:4px;background:#203344;margin-top:3px}.stage-caption{font-size:0.6875rem;color:var(--muted);margin-top:18px;letter-spacing:.1px}
.hero-photo{height:195px;position:relative;background:#e0e3e5;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 36%;display:block}.hero-tag{position:absolute;left:22px;bottom:13px;background:#fffef9ed;color:var(--ink);font-size:0.625rem;letter-spacing:1.2px;padding:7px 10px;font-weight:650}.home-intro{padding:23px 22px 22px}.overline{color:var(--red);font-size:0.6875rem;letter-spacing:1.1px;font-weight:700;line-height:1.4}.home-intro h2{font-family:var(--display);font-size:2.1875rem;line-height:1.1;letter-spacing:-1px;font-weight:400;margin:10px 0 7px}.campaign-label{font-size:0.9375rem;font-weight:600;letter-spacing:.3px}.home-intro .intro-copy{font-size:0.875rem;line-height:1.6;color:var(--muted);margin:13px 0 19px}.btn{min-height:45px;border:1px solid var(--navy);border-radius:6px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:0.875rem;font-weight:600;background:var(--navy);color:white;line-height:1.4}.btn:hover{background:var(--navy-soft)}.btn.secondary{background:transparent;color:var(--navy);border-color:#bdc6cc}.btn.secondary:hover{background:var(--blue)}.btn.red{background:var(--red);border-color:var(--red)}.btn.red:hover{background:#912d2f}.btn.full{width:100%}.btn svg{width:18px;height:18px}.cta-row{display:flex;gap:9px}.cta-row>*{flex:1;min-width:0}.content-block{padding:23px 22px;border-top:1px solid var(--line)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.section-top h3{font-size:1.0rem;font-weight:650}.text-button{border:0;background:transparent;color:var(--muted);font-size:0.75rem;font-weight:600;padding:7px 0;text-decoration:underline;text-underline-offset:4px}.news-preview{background:transparent;border:0;display:block;width:100%;text-align:left;padding:0}.meta{font-size:0.6875rem;line-height:1.5;color:var(--muted)}.meta .dot{margin:0 6px}.news-preview h3{font-family:var(--display);font-size:1.375rem;line-height:1.25;font-weight:400;margin:9px 0 8px}.news-preview p{color:var(--muted);font-size:0.875rem;line-height:1.55}.text-link{display:inline-block;font-size:0.8125rem;font-weight:600;margin-top:13px;text-decoration:underline;text-underline-offset:4px}.event-preview{display:flex;gap:15px}.date-tile{width:53px;flex-shrink:0;background:var(--blue);border-top:2px solid var(--red);text-align:center;padding:9px 4px;height:66px;border-radius:0 0 5px 5px}.date-tile span{display:block;font-size:0.625rem;letter-spacing:1px;font-weight:600;margin-bottom:4px}.date-tile strong{font-family:var(--display);font-size:1.625rem;font-weight:400;line-height:1}.event-preview h3{font-size:0.9375rem;line-height:1.4;font-weight:600}.event-preview p{font-size:0.8125rem;color:var(--muted);line-height:1.5;margin-top:5px}.quiet-banner{margin:0 22px 22px;background:var(--blue);padding:20px;border-radius:8px}.quiet-banner h3{font-family:var(--display);font-size:1.4375rem;font-weight:400;line-height:1.2}.quiet-banner p{font-size:0.8125rem;color:var(--muted);line-height:1.6;margin:8px 0 14px}.quiet-banner .btn{min-height:42px;font-size:0.8125rem}.donate-strip{margin:0 22px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.donate-strip p{font-size:0.8125rem;color:var(--muted);line-height:1.5}.app-disclosure{font-size:0.6875rem;color:var(--muted);text-align:center;line-height:1.6;padding:0 24px 24px}.app-disclosure button{border:0;background:transparent;font-size:0.6875rem;color:var(--muted);padding:6px;text-decoration:underline}.page-header{padding:27px 22px 23px}.page-header h2{font-family:var(--display);font-weight:400;font-size:2.0625rem;line-height:1.16;letter-spacing:-.7px;margin:10px 0}.page-header p:last-child{font-size:0.875rem;line-height:1.65;color:var(--muted)}.screen-body{padding:0 22px 24px}.back-button{display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;font-size:0.8125rem;font-weight:600;padding:15px 20px 0;color:var(--muted)}.back-button svg{width:18px;height:18px}.source-note{font-size:0.75rem;line-height:1.65;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin-top:23px}.source-note a{font-weight:600}.news-card{border-top:1px solid var(--line);padding:22px 0;width:100%;text-align:left;background:transparent;border-left:0;border-right:0;border-bottom:0}.news-card h3{font-family:var(--display);font-size:1.5rem;line-height:1.25;font-weight:400;margin:10px 0}.news-card p{font-size:0.875rem;line-height:1.6;color:var(--muted)}.demo-tag{display:inline-block;font-size:0.625rem;font-weight:650;color:#626253;background:#eeeee6;padding:4px 7px;border-radius:3px;letter-spacing:.2px;margin-bottom:6px}.article h3{font-size:1.0625rem;margin:24px 0 10px}.article p{font-size:0.9375rem;line-height:1.75;margin-bottom:16px;color:var(--muted)}.article .btn{margin-top:7px}.info-panel{background:var(--blue);padding:17px;border-radius:8px;margin:0 0 20px}.info-panel p{font-size:0.8125rem;color:var(--muted);line-height:1.65}.info-panel strong{color:var(--ink)}.empty-state{padding:32px 20px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}.empty-icon{width:60px;height:60px;background:var(--blue);border-radius:50%;display:grid;place-items:center;margin:0 auto 18px}.empty-icon svg{width:27px;height:27px}.empty-state h3{font-family:var(--display);font-weight:400;font-size:1.5625rem;margin-bottom:10px}.empty-state p{font-size:0.875rem;color:var(--muted);line-height:1.65;margin-bottom:20px}.event-card{border:1px solid var(--line);border-radius:8px;padding:19px;margin-bottom:16px;background:white}.event-card .event-preview{margin-bottom:18px}.event-facts{margin:0 0 22px}.event-facts div{display:flex;gap:12px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}.event-facts svg{width:20px;height:20px;color:var(--muted);margin-top:2px}.event-facts dt{font-size:0.6875rem;font-weight:650;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.7px}.event-facts dd{margin:0;font-size:0.875rem;line-height:1.6}.detail-lead{font-family:var(--display);font-size:1.4375rem;line-height:1.4;font-weight:400;margin-bottom:18px}.bio-photo{width:100%;aspect-ratio:1.83;object-fit:cover;border-radius:5px;margin:0 0 22px}.bio-section{padding:18px 0;border-bottom:1px solid var(--line)}.bio-section h3{font-size:1.0rem;margin-bottom:9px}.bio-section p{font-size:0.875rem;color:var(--muted);line-height:1.7}.menu-group{margin-bottom:24px}.menu-label{font-size:0.6875rem;color:var(--muted);letter-spacing:1px;font-weight:650;margin-bottom:8px}.menu-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:18px 0;text-decoration:none}.menu-row>.menu-icon{width:35px;height:35px;background:var(--blue);border-radius:7px;display:grid;place-items:center;flex-shrink:0}.menu-row>.menu-icon svg{width:18px;height:18px}.menu-row strong{font-size:0.9375rem;font-weight:600;display:block;line-height:1.45}.menu-row small{font-size:0.75rem;color:var(--muted);line-height:1.5;display:block;margin-top:3px}.menu-row>.chevron{width:17px;height:17px;margin-left:auto;color:var(--muted)}.menu-row:hover{color:var(--red)}.issue-number{font-family:var(--display);font-size:1.6875rem;color:#a4b0b8;width:36px;flex-shrink:0}.notification-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.notification-row strong{font-size:0.875rem;font-weight:600;display:block;line-height:1.4}.notification-row p{font-size:0.75rem;color:var(--muted);line-height:1.55;margin-top:5px}.switch{appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:20px;background:#b9c1c6;position:relative;cursor:pointer;flex-shrink:0;border:0;margin:0;transition:background .15s}.switch:before{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .15s}.switch:checked{background:var(--navy)}.switch:checked:before{transform:translateX(18px)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 12px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:0.75rem;font-weight:600}.field label span{font-weight:400;color:var(--muted)}.field input{width:100%;min-width:0;border:1px solid #b8c1c8;border-radius:5px;background:white;padding:12px;font-size:1.0rem;min-height:45px}.field input:focus{border-color:var(--navy)}fieldset{border:0;padding:0;margin:24px 0}legend{font-size:0.875rem;font-weight:600;margin-bottom:13px}.interest-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.interest{position:relative;display:flex}.interest input{appearance:none;-webkit-appearance:none;position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.interest span{width:100%;min-height:48px;border:1px solid #bdc6cc;border-radius:5px;display:flex;align-items:center;padding:11px 10px;font-size:0.75rem;line-height:1.4;gap:7px;background:white}.interest span:before{content:"";width:12px;height:12px;border:1px solid #91a0aa;border-radius:2px;flex-shrink:0}.interest input:checked+span{border-color:var(--navy);background:var(--blue);color:var(--navy)}.interest input:checked+span:before{background:var(--navy);border-color:var(--navy);box-shadow:inset 0 0 0 2px var(--blue)}.interest input:focus-visible+span{outline:3px solid #317caa;outline-offset:3px}.form-note{font-size:0.75rem;color:var(--muted);line-height:1.65;margin:13px 0 0}.success-panel{text-align:center;padding:35px 0 15px}.success-panel h3{font-family:var(--display);font-size:1.6875rem;line-height:1.3;font-weight:400;margin-bottom:14px}.success-panel p{font-size:0.875rem;color:var(--muted);line-height:1.7;margin-bottom:24px}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.social-link{padding:14px;border:1px solid var(--line);border-radius:5px;text-decoration:none;font-size:0.875rem;font-weight:600;background:white}.social-link small{display:block;font-size:0.6875rem;line-height:1.5;color:var(--muted);font-weight:400;margin-top:5px}.social-link:hover{background:var(--blue)}.contact-link{display:flex;align-items:flex-start;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}.contact-link svg{width:22px;height:22px;flex-shrink:0}.contact-link strong{font-size:0.875rem;display:block;font-weight:600;overflow-wrap:anywhere}.contact-link small{font-size:0.75rem;color:var(--muted);display:block;margin-top:6px}.privacy-list{padding-left:18px;color:var(--muted);font-size:0.875rem;line-height:1.7}.privacy-list li{margin-bottom:12px}.modal-host:empty{display:none}.modal-host{position:absolute;inset:0;background:#142a3a78;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:12px;backdrop-filter:blur(3px)}.modal-panel{width:100%;max-height:calc(100% - 24px);overflow-y:auto;border-radius:16px;background:var(--paper);padding:24px;box-shadow:0 15px 45px #0002}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.modal-top h2{font-family:var(--display);font-size:1.6875rem;font-weight:400;line-height:1.15}.modal-top .icon-button{width:35px;height:35px;flex-shrink:0}.modal-panel p{font-size:0.875rem;line-height:1.65;color:var(--muted);margin:0 0 15px}.modal-panel .btn{margin-top:9px}.modal-panel .external-note{font-size:0.75rem;margin:12px 0 2px}.toast{position:absolute;bottom:94px;left:20px;right:20px;background:var(--navy);color:white;font-size:0.75rem;line-height:1.5;padding:13px 16px;border-radius:7px;z-index:45;box-shadow:0 5px 18px #0002;pointer-events:none;opacity:0;transform:translateY(8px);transition:.2s}.toast.visible{opacity:1;transform:translateY(0)}.noscript{padding:30px;background:white}
@media(min-width:1100px) and (max-height:850px){.presentation{padding:25px 70px}.proposal-body{padding:34px 0}.proposal h1{font-size:3.6875rem}.feature-list{margin:20px 0}.feature-list>div{padding:12px 0}.phone{min-height:600px;height:calc(100dvh - 125px)}.stage-caption{margin-top:12px}}
@media(max-width:1099px){.presentation{padding:30px;grid-template-columns:minmax(0,1fr) 408px;gap:36px}.proposal h1{font-size:3.25rem}.proposal-body{padding:35px 0}.proposal-copy{font-size:1.0rem}.phone{width:390px}.feature-list>div{gap:16px}}
@media(max-width:799px){html,body{height:100%;overflow:hidden;background:var(--paper)}.presentation{display:block;min-height:0;height:100dvh;padding:0}.proposal,.stage-label,.stage-caption,.device-status,.home-indicator{display:none}.device-stage{display:block;height:100%}.phone{border:0;border-radius:0;box-shadow:none;width:100%;height:100dvh;min-height:0;max-height:none}.app-header{padding-top:calc(8px + env(safe-area-inset-top,0px));height:calc(62px + env(safe-area-inset-top,0px))}.bottom-nav{height:calc(70px + env(safe-area-inset-bottom,0px));padding-bottom:calc(7px + env(safe-area-inset-bottom,0px))}.nav-button{font-size:0.6875rem}.toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}.hero-photo{height:clamp(194px,53vw,240px)}.app-brand{font-size:0.875rem}.app-brand span{font-size:0.625rem}.modal-host{position:fixed}.modal-panel{margin-bottom:env(safe-area-inset-bottom,0px)}.home-intro h2{font-size:2.3125rem}}
.body-copy{font-size:0.875rem;line-height:1.7;color:var(--muted)}.event-type{margin-bottom:16px}.event-actions{display:grid;gap:10px;margin-top:22px}.article>.meta{margin-bottom:20px}.issue-row{padding:23px 0}.event-card .date-tile{margin-top:2px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.event-facts>div{display:grid;grid-template-columns:85px 1fr;gap:15px}.event-facts dt{display:flex;align-items:center;gap:8px}.news-card .text-button{font-size:0.8125rem;color:var(--ink)}.news-preview .text-button{font-size:0.8125rem;color:var(--ink)}

.bio-photo{height:auto}.menu-row>span:not(.menu-icon):not(.issue-number),.contact-link>span{min-width:0}.interest span,.menu-row strong,.menu-row small,.social-link{overflow-wrap:anywhere}.app-header{min-height:62px;height:auto}.nav-button{overflow-wrap:anywhere}.proposal-brand>span:last-child{min-width:0}.body-copy,.article p:not(.meta),.bio-section p,.page-header p:last-child{font-size:1rem}.privacy-list{font-size:1rem}
/* Final presentation refinements; retain the existing visual system. */
.home-shortcuts{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.home-shortcuts .text-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:.8125rem;color:var(--ink);text-decoration:none}.home-shortcuts svg{width:17px;height:17px}.home-shortcuts .donate-quiet{color:var(--red)}.home-shortcuts .text-button:hover{text-decoration:underline}.concept-label{display:block;padding:3px 0;border:0;background:transparent;color:var(--muted);font-size:.6875rem;line-height:1.5;text-align:left}.concept-label:hover{text-decoration:underline}.election-day{padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px}.election-day h3{font:400 1.75rem/1.2 var(--display);letter-spacing:-.4px;margin:10px 0}.election-day>p:not(.overline){font-size:.875rem;line-height:1.65;color:var(--muted);margin-bottom:19px}.election-day .btn svg{width:16px;height:16px}.election-section{margin-bottom:25px}.election-section>h3{font-size:1rem;font-weight:650;margin-bottom:6px}.election-dates{margin:0}.election-dates>div{padding:16px 0;border-bottom:1px solid var(--line)}.election-dates dt{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-bottom:5px}.election-dates dd{margin:0;font-size:.9375rem;font-weight:600;line-height:1.5}.date-status{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:4px}.election-resource{gap:12px}.election-resource>svg{width:17px;height:17px;margin-left:auto;color:var(--muted)}

.date-detail{display:block;font-size:.75rem;font-weight:400;color:var(--muted);line-height:1.6;margin-top:5px}
