:root{--sea-ink:157 53% 14%;--sea-ink-soft:156 25% 32%;--lagoon:147 29% 36%;--lagoon-deep:157 53% 20%;--palm:40 42% 55%;--sand:39 40% 92%;--foam:40 43% 97%;--surface:0 0% 100% / .74;--surface-strong:0 0% 100% / .9;--line:157 53% 14% / .14;--inset-glint:0 0% 100% / .82;--kicker:40 42% 45% / .9;--bg-base:39 40% 92%;--header-bg:39 40% 92% / .93;--chip-bg:0 0% 100% / .8;--chip-line:157 53% 14% / .18;--link-bg-hover:0 0% 100% / .9;--hero-a:40 42% 55% / .26;--hero-b:128 25% 44% / .22;--cream:39 40% 92%;--paper:42 38% 97%;--ink:157 53% 14%;--ink-soft:157 25% 28%;--gold:40 42% 55%;--green-light:145 24% 36%;--background:39 40% 92%;--foreground:157 53% 14%;--card:0 0% 100%;--card-foreground:157 53% 14%;--popover:0 0% 100%;--popover-foreground:157 53% 14%;--primary:157 53% 14%;--primary-foreground:39 40% 92%;--secondary:40 25% 88%;--secondary-foreground:157 53% 14%;--muted:40 25% 88%;--muted-foreground:157 25% 32%;--accent:40 42% 55%;--accent-foreground:157 53% 14%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:157 53% 14% / .16;--input:157 53% 14% / .16;--ring:40 42% 55%;--radius:.625rem}@theme inline{--color-background: hsl(var(--background)); --color-foreground: hsl(var(--foreground)); --color-card: hsl(var(--card)); --color-card-foreground: hsl(var(--card-foreground)); --color-popover: hsl(var(--popover)); --color-popover-foreground: hsl(var(--popover-foreground)); --color-primary: hsl(var(--primary)); --color-primary-foreground: hsl(var(--primary-foreground)); --color-secondary: hsl(var(--secondary)); --color-secondary-foreground: hsl(var(--secondary-foreground)); --color-muted: hsl(var(--muted)); --color-muted-foreground: hsl(var(--muted-foreground)); --color-accent: hsl(var(--accent)); --color-accent-foreground: hsl(var(--accent-foreground)); --color-destructive: hsl(var(--destructive)); --color-destructive-foreground: hsl(var(--destructive-foreground)); --color-border: hsl(var(--border)); --color-input: hsl(var(--input)); --color-ring: hsl(var(--ring)); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px);}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:hsl(var(--cream));color:hsl(var(--ink));margin:0;overflow-x:hidden}a{color:inherit}.candidate-page{background:hsl(var(--cream));font-family:Georgia,Times New Roman,serif;overflow:hidden}.candidate-header{background:hsl(var(--header-bg));justify-content:space-between;align-items:center;gap:24px;max-width:1280px;min-height:76px;margin:auto;padding:12px 40px;display:flex}.wordmark{letter-spacing:-.03em;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.wordmark-logo{object-fit:contain;object-position:center;flex:none;width:auto;height:52px;display:block}.wordmark-text{flex-direction:column;line-height:1.2;display:flex}.wordmark-election{color:hsl(var(--ink));font-size:18px;font-weight:700}.wordmark-slogan{color:hsl(var(--gold));letter-spacing:-.01em;font-size:14px;font-weight:400}.candidate-header nav{letter-spacing:.09em;text-transform:uppercase;gap:30px;font-family:Trebuchet MS,sans-serif;font-size:12px;display:flex}.candidate-header nav a{opacity:.78;text-decoration:none;transition:opacity .2s}.candidate-header nav a:hover{opacity:1}.header-cta,.primary-button,.contact-button{letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:20px;font-family:Trebuchet MS,sans-serif;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.header-cta{border:1px solid hsl(var(--ink));padding:12px 17px}.hero-section{background:hsl(var(--ink));max-width:1280px;min-height:0;color:hsl(var(--cream));margin:auto;padding:93px 10% 120px;position:relative}.hero-copy{z-index:1;max-width:720px;position:relative}.eyebrow{color:hsl(var(--gold));letter-spacing:.18em;text-transform:uppercase;margin:0 0 23px;font-family:Trebuchet MS,sans-serif;font-size:11px;font-weight:700}.hero-copy h1,.section-heading h2,.about-copy h2,.contact-section h2{letter-spacing:-.06em;margin:0;font-size:clamp(54px,7.1vw,100px);font-weight:400;line-height:.93}em{color:hsl(var(--gold));font-weight:400}.hero-intro{max-width:680px;color:hsl(var(--cream) / .85);letter-spacing:-.015em;margin:31px 0 22px;font-size:20px;line-height:1.48}.hero-intro+.hero-intro{margin-top:14px}.hero-slogan{max-width:680px;color:hsl(var(--cream));letter-spacing:-.02em;margin:0 0 35px;font-size:24px;font-weight:700;line-height:1.35}.primary-button{background:hsl(var(--gold));color:hsl(var(--ink));padding:16px 22px;transition:transform .2s,background .2s}.primary-button:hover{background:hsl(var(--cream));transform:translateY(-2px)}.primary-button.secondary{color:hsl(var(--gold));border:1px solid hsl(var(--gold));background:0 0}.primary-button.secondary:hover{background:hsl(var(--gold));color:hsl(var(--ink))}.hero-copy .primary-button{margin-bottom:12px;margin-right:12px}.primary-button span,.contact-button span{font-family:Georgia,serif;font-size:22px;line-height:0}.hero-video{z-index:2;max-width:960px;margin:80px auto -490px;padding:0 40px;position:relative}.hero-video video{aspect-ratio:16/9;width:100%;box-shadow:0 24px 70px hsl(var(--ink) / .35);background:hsl(var(--ink));border:0;border-radius:18px}.pledge-section{background:hsl(var(--ink));max-width:1280px;color:hsl(var(--cream));grid-template-columns:.18fr .9fr .7fr;gap:7%;margin:auto;padding:88px 11% 96px;display:grid;position:relative;overflow:hidden}.pledge-section:before{content:"";background:hsl(var(--gold));z-index:2;height:4px;animation:2.4s ease-in-out infinite pledge-pulse;position:absolute;top:0;left:0;right:0}@keyframes pledge-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 hsl(var(--gold) / .4)}50%{opacity:.55;box-shadow:0 0 18px 4px hsl(var(--gold) / .5)}}.pledge-frame{border:1px solid hsl(var(--gold));background:hsl(var(--gold) / .14);color:hsl(var(--cream));border-radius:10px;align-items:center;gap:14px;margin-top:28px;padding:16px 20px;font-family:Trebuchet MS,sans-serif;font-size:15px;line-height:1.4;display:inline-flex}.pledge-frame span{background:hsl(var(--gold));width:28px;height:28px;color:hsl(var(--ink));border-radius:50%;flex:none;justify-content:center;align-items:center;font-family:Georgia,serif;font-size:18px;font-weight:700;display:flex}.team-section{max-width:1280px;margin:0 auto;padding:88px 40px 120px}.team-section .section-heading{text-align:center;margin-bottom:62px}.team-section .section-heading h2{font-size:clamp(50px,5.5vw,78px)}.team-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:28px;display:grid}.team-photo{width:100%;height:auto;box-shadow:0 24px 70px hsl(var(--ink) / .2);border-radius:18px;margin:64px auto 0;display:block}.candidate-card{background:hsl(var(--paper));border:1px solid hsl(var(--ink) / .1);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.candidate-card:hover{box-shadow:0 14px 30px hsl(var(--ink) / .1);transform:translateY(-4px)}.card-portrait{background:hsl(var(--cream));justify-content:center;align-items:end;height:230px;display:flex;position:relative;overflow:hidden}.card-portrait:after{content:"";background:hsl(var(--ink) / .87);border-radius:50%;width:120px;height:120px;position:absolute;bottom:-32px}.card-portrait.has-photo{aspect-ratio:3/2;background:hsl(var(--cream));align-items:start;height:auto;padding:0}.card-portrait.has-photo:after{display:none}.card-portrait img{z-index:1;object-fit:cover;object-position:center top;filter:grayscale(20%)contrast(1.05);width:100%;height:100%;position:relative}.card-initials{z-index:1;letter-spacing:-.1em;color:hsl(var(--gold));padding-bottom:60px;font-size:34px;position:relative}.card-info{padding:22px 24px 26px}.card-info h3{letter-spacing:-.03em;margin:0 0 6px;font-size:21px;font-weight:400}.card-role{color:hsl(var(--gold));letter-spacing:.1em;text-transform:uppercase;flex-direction:column;gap:2px;margin:0 0 14px;font-family:Trebuchet MS,sans-serif;font-size:11px;display:flex}.card-note{color:hsl(var(--ink-soft));margin:0;font-family:Trebuchet MS,sans-serif;font-size:14px;line-height:1.55}.card-note p{margin:0}.card-note p+p{margin-top:10px}.card-note strong{color:hsl(var(--ink));font-weight:600}.card-role-line{display:block}.card-medallion{z-index:3;pointer-events:auto;background:hsl(var(--gold));width:44px;height:44px;color:hsl(var(--ink));cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background .2s;display:flex;position:absolute;top:12px;right:12px}.card-medallion:hover{background:hsl(var(--cream));transform:scale(1.08)}.card-linkedin{border:1px solid hsl(var(--chip-line));background:hsl(var(--chip-bg));color:hsl(var(--ink));letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:6px 12px;font-family:Trebuchet MS,sans-serif;font-size:11px;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.card-linkedin:hover{background:hsl(var(--link-bg-hover));border-color:hsl(var(--ink) / .3)}.card-linkedin svg{color:hsl(var(--gold))}.priorities-section{grid-template-columns:.72fr 1.28fr;gap:9%;max-width:1180px;margin:0 auto;padding:520px 40px 72px;display:grid}.section-heading h2{font-size:clamp(50px,5.5vw,78px)}.priorities-list{border-top:1px solid hsl(var(--ink) / .2)}.priority{border-bottom:1px solid hsl(var(--ink) / .2);grid-template-columns:50px 1fr;gap:18px;padding:24px 0;display:grid}.priority-number{color:hsl(var(--gold));padding-top:6px;font-family:Trebuchet MS,sans-serif;font-size:12px;font-weight:700}.priority-content{min-width:0}.priority-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.priority-header h3{letter-spacing:-.035em;margin:0;font-size:25px;font-weight:400}.priority-toggle{border:1px solid hsl(var(--ink) / .2);width:32px;height:32px;color:hsl(var(--gold));cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;font-size:22px;line-height:1;transition:background .2s,border-color .2s,color .2s;display:grid}.priority-toggle:hover{background:hsl(var(--ink));color:hsl(var(--cream));border-color:hsl(var(--ink))}.priority-summary{max-width:570px;color:hsl(var(--ink-soft));margin:10px 0 0;font-family:Trebuchet MS,sans-serif;font-size:15px;line-height:1.6}.priority-detail{border-top:1px solid hsl(var(--ink) / .1);max-width:570px;color:hsl(var(--ink-soft));margin-top:14px;padding-top:14px;font-family:Trebuchet MS,sans-serif;font-size:15px;line-height:1.6}.priority-logo{width:100%;max-width:360px;height:auto;margin:32px auto 0;display:block}.vision-cta-wrapper{text-align:center;flex-direction:column;grid-column:1/-1;align-items:center;gap:28px;margin-top:72px;margin-bottom:56px;display:flex}.vision-cta{padding:18px 30px}.vision-heading .eyebrow{margin-bottom:12px}.vision-heading h2{margin:0}.about-section{background:hsl(var(--green-light));max-width:1280px;color:hsl(var(--cream));grid-template-columns:.18fr .9fr .7fr;gap:7%;margin:auto;padding:88px 11% 96px;display:grid;position:relative}.supporter-section{background:hsl(var(--secondary));border-top:1px solid hsl(var(--ink) / .1);border-bottom:1px solid hsl(var(--ink) / .1);max-width:1280px;margin:0 auto;padding:100px 40px 110px}.supporter-section .section-heading{text-align:center;margin-bottom:58px}.supporter-section .section-heading h2{font-size:clamp(40px,4.5vw,64px)}.supporter-subtitle{letter-spacing:-.035em;color:hsl(var(--gold));margin-top:10px;font-size:25px;font-style:italic;line-height:1.1}.supporter-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;display:grid}.supporter-card{background:hsl(var(--paper));border:1px solid hsl(var(--ink) / .12);border-left:4px solid hsl(var(--gold));box-shadow:0 6px 18px hsl(var(--ink) / .06);flex-direction:column;display:flex}.supporter-portrait{background:hsl(var(--gold) / .16);justify-content:center;align-items:center;height:96px;display:flex;position:relative;overflow:hidden}.supporter-portrait.has-photo{height:260px;padding:0}.supporter-portrait img{object-fit:cover;object-position:center top;width:100%;height:100%}.supporter-initials{letter-spacing:-.1em;color:hsl(var(--gold));font-size:30px;font-weight:700}.supporter-info{padding:22px 22px 26px}.supporter-info h3{letter-spacing:-.03em;margin:0 0 6px;font-size:20px;font-weight:400}.supporter-role{color:hsl(var(--gold));letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;font-family:Trebuchet MS,sans-serif;font-size:11px}.supporter-quote{color:hsl(var(--ink-soft));margin:0;font-family:Trebuchet MS,sans-serif;font-size:14px;font-style:italic;line-height:1.55}.about-quote{color:hsl(var(--gold));font-size:148px;line-height:.7}.about-copy h2{font-size:clamp(40px,4vw,57px)}.about-copy p{max-width:560px;color:hsl(var(--cream) / .82);margin:25px 0 0;font-family:Trebuchet MS,sans-serif;font-size:16px;line-height:1.68}.principles{border-top:1px solid hsl(var(--cream) / .3);align-self:end;font-family:Trebuchet MS,sans-serif;font-size:15px}.principles div{border-bottom:1px solid hsl(var(--cream) / .3);padding:17px 0}.principles span{color:hsl(var(--gold));margin-right:12px;font-size:19px;display:inline-block}.contact-section{justify-content:space-between;align-items:end;gap:60px;max-width:1180px;margin:auto;padding:125px 40px;display:flex}.contact-section h2{font-size:clamp(46px,5.3vw,76px)}.contact-action{width:min(100%,390px)}.contact-action p{color:hsl(var(--ink-soft));margin:0 0 25px;font-family:Trebuchet MS,sans-serif;font-size:16px;line-height:1.6}.contact-button{background:hsl(var(--ink));width:100%;color:hsl(var(--cream));padding:19px 22px;transition:background .2s}.contact-button:hover{background:hsl(var(--green-light))}.contact-action small{color:hsl(var(--ink-soft));margin-top:14px;font-family:Trebuchet MS,sans-serif;font-size:11px;line-height:1.4;display:block}.candidate-footer{background:hsl(var(--ink));max-width:1280px;color:hsl(var(--cream) / .75);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:20px;margin:auto;padding:25px 40px;font-family:Trebuchet MS,sans-serif;font-size:11px;display:flex}.footer-facebook{background:hsl(var(--cream) / .1);width:40px;height:40px;color:hsl(var(--cream));border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:inline-flex}.footer-facebook:hover{background:hsl(var(--gold));color:hsl(var(--ink))}.voting-section{max-width:1280px;margin:0 auto;padding:120px 40px}.voting-section .section-heading{text-align:center;margin-bottom:62px}.voting-section .section-heading h2{font-size:clamp(40px,4.5vw,64px)}.voting-intro{max-width:760px;color:hsl(var(--ink-soft));margin:20px auto 0;font-family:Trebuchet MS,sans-serif;font-size:16px;line-height:1.6}.voting-grid{grid-template-rows:auto auto auto auto;grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.voting-card{grid-template-rows:subgrid;background:hsl(var(--paper));border:1px solid hsl(var(--ink) / .1);grid-row:span 4;padding:28px;display:grid}.voting-number{color:hsl(var(--gold));margin-bottom:14px;font-family:Trebuchet MS,sans-serif;font-size:12px;font-weight:700}.voting-title{letter-spacing:-.035em;margin:0 0 14px;font-size:25px;font-weight:400;line-height:1.1}.voting-text{color:hsl(var(--ink-soft));margin:0;font-family:Trebuchet MS,sans-serif;font-size:15px;line-height:1.6}.voting-example{border-top:1px solid hsl(var(--ink) / .1);color:hsl(var(--ink-soft));padding-top:16px;font-family:Trebuchet MS,sans-serif;font-size:14px;line-height:1.55}.voting-example strong{color:hsl(var(--ink));font-weight:700}@media (width<=760px){.candidate-header{min-height:68px;padding:12px 20px}.candidate-header nav,.header-cta{display:none}.wordmark-logo{width:auto;height:40px}.wordmark-election{font-size:15px}.wordmark-slogan{font-size:13px}.hero-section{padding:70px 26px 150px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(42px,12vw,60px)}.hero-intro{font-size:18px}.hero-video{margin:48px auto 0;padding:0 26px}.hero-video video{box-shadow:0 18px 50px hsl(var(--ink) / .3);object-position:center 20%;border-radius:14px}.hero-video video::-webkit-media-controls-start-playback-button{opacity:.55;background-color:#0000!important}.hero-video video::-webkit-media-controls-play-button{opacity:.55;background-color:#0000!important}.hero-video video::-webkit-media-controls-overlay-play-button{opacity:.55;background-color:#0000!important}.team-section{padding:64px 26px 82px}.team-section .section-heading{margin-bottom:44px}.team-grid{grid-template-columns:1fr}.team-photo{box-shadow:0 18px 50px hsl(var(--ink) / .18);border-radius:14px;margin:44px auto 0}.card-portrait{height:200px}.card-portrait.has-photo{aspect-ratio:3/2;height:auto}.card-portrait.has-photo img{object-position:center}.card-info{padding:18px 20px 22px}.card-medallion{width:40px;height:40px;top:10px;right:10px}.priorities-section{padding:70px 26px 56px;display:block}.priorities-list{margin-top:42px}.about-section{grid-template-columns:52px 1fr;gap:19px;padding:67px 26px}.about-quote{font-size:80px}.principles{grid-column:2;margin-top:20px}.contact-section{padding:80px 26px;display:block}.contact-action{margin-top:42px}.candidate-footer{flex-direction:column;padding:24px 26px}.voting-section{padding:82px 26px}.voting-section .section-heading{margin-bottom:44px}.voting-grid{grid-template-columns:1fr}.voting-card{padding:22px}.voting-title,.supporter-subtitle{font-size:22px}.pledge-section{grid-template-columns:1fr;gap:19px;padding:67px 26px}.supporter-grid{grid-template-columns:1fr}.supporter-portrait.has-photo{height:260px}.supporter-portrait img{object-fit:contain;object-position:center}}@media (prefers-reduced-motion:reduce){.card-medallion{transition:none}}.video-modal{z-index:100;background:hsl(var(--ink) / .92);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.video-modal-box{background:hsl(var(--ink));width:100%;max-width:960px;box-shadow:0 24px 70px hsl(var(--ink) / .35);border-radius:18px;position:relative;overflow:hidden}.video-modal-player{aspect-ratio:16/9;border:0;border-radius:18px;width:100%;display:block}.video-modal-close{z-index:2;background:hsl(var(--cream) / .9);width:40px;height:40px;color:hsl(var(--ink));cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:28px;line-height:1;transition:background .2s,transform .2s;display:flex;position:absolute;top:12px;right:12px}.video-modal-close:hover{background:hsl(var(--gold));transform:scale(1.08)}@media (width<=760px){.video-modal{padding:16px}.video-modal-box,.video-modal-player{border-radius:14px}.video-modal-close{width:36px;height:36px;font-size:24px;top:8px;right:8px}}
