.candidates-page{background:radial-gradient(circle at top right,#f4d23f14,transparent 26%),linear-gradient(180deg,var(--off-white)0%,#fff 38%,var(--off-white)100%)}.candidates-hero,.candidate-profile-hero{background:linear-gradient(145deg,#09103a 0%,var(--navy)52%,#182d8f 100%);color:var(--white);position:relative;overflow:hidden}.candidates-hero{padding:7rem 0 5rem}.candidate-profile-hero{padding:6rem 0 4.5rem}.candidate-profile-hero:before,.candidate-profile-hero:after{content:"";pointer-events:none;position:absolute}.candidate-profile-hero:before{opacity:.9;filter:blur(14px);background:radial-gradient(circle,#f4d23f42,#0000 62%);width:34rem;height:34rem;top:-7rem;right:-6rem}.candidate-profile-hero:after{opacity:.8;background:radial-gradient(circle,#ffffff1a,#0000 55%),linear-gradient(140deg,#1b3ec72e,#fff0);width:36rem;height:24rem;bottom:-9rem;left:-10rem;transform:rotate(-12deg)}.candidate-hero-grid,.candidate-profile-hero-grid{z-index:1;align-items:center;gap:3rem;display:grid;position:relative}.candidate-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.candidate-profile-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.candidate-badge-strip{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;background:#f4d23f24;border:1px solid #f4d23f47;border-radius:999px;align-items:center;gap:.65rem;padding:.55rem 1.1rem;font-size:.74rem;font-weight:800;display:inline-flex}.candidate-hero-title{max-width:12ch;margin-top:1.5rem}.candidate-hero-title span{color:var(--gold)}.candidate-hero-copy,.candidate-profile-copy{color:#ffffffc7;max-width:60ch;margin-top:1.25rem;font-size:1.05rem}.candidate-profile-copy-column{flex-direction:column;display:flex;position:relative}.candidate-profile-intro-shell{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(160deg,#ffffff14,#ffffff08),linear-gradient(#0c18522e,#0c18520d);border:1px solid #ffffff1f;border-radius:2rem;margin-top:1.15rem;padding:1.55rem 1.6rem 1.7rem;position:relative;box-shadow:0 28px 56px #060c2b38}.candidate-profile-intro-shell:before{content:"";background:linear-gradient(90deg,#f4d23ff2,#ffffff2e);border-radius:999px 999px 0 0;height:.28rem;position:absolute;inset:0 0 auto}.candidate-profile-title{gap:.2rem;max-width:10ch;margin-top:0;display:grid}.candidate-profile-name-lead{color:#ffffffad;letter-spacing:.22em;text-transform:uppercase;font-size:.86rem;font-weight:800;line-height:1.2;display:block}.candidate-profile-name-emphasis,.candidate-profile-name-single{color:var(--white);letter-spacing:-.065em;text-shadow:0 16px 36px #060c2b4d;font-size:clamp(3rem,6vw,5.35rem);font-weight:900;line-height:.92;display:block}.candidate-profile-name-single{line-height:.98}.candidate-profile-role{width:fit-content;color:var(--gold);letter-spacing:.18em;text-transform:uppercase;background:#f4d23f24;border:1px solid #f4d23f38;border-radius:999px;margin-top:1.05rem;padding:.48rem .82rem;font-size:.8rem;font-weight:800;display:inline-flex}.candidate-profile-copy{color:#ffffffd6;max-width:44ch;margin-top:1.2rem;line-height:1.75}.candidate-profile-chip-row{flex-wrap:wrap;gap:.75rem;margin-top:1.4rem;display:flex}.candidate-profile-campaign-block{margin-top:1.35rem}.candidate-profile-campaign-kicker{color:#ffffffbd;letter-spacing:.14em;text-transform:uppercase;background:#09103a47;border:1px solid #ffffff1f;border-radius:999px;padding:.42rem .82rem;font-size:.68rem;font-weight:800;display:inline-flex}.candidate-profile-campaign-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.9rem;display:grid}.candidate-profile-campaign-point{background:linear-gradient(135deg,#ffde78fa,#f4d23ffa);border:1px solid #ffffff57;border-radius:999px;grid-template-columns:auto 1fr;align-items:center;gap:.78rem;min-height:auto;padding:.88rem 1rem;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 24px #060c2b2e,inset 0 1px #ffffff47}.candidate-profile-campaign-point:nth-child(2n){background:linear-gradient(135deg,#12296ffa,#1b3ec7f0);border-color:#ffffff29;box-shadow:0 16px 24px #060c2b3d,inset 0 1px #ffffff1f}.candidate-profile-campaign-point:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff2e,#fff0);position:absolute;inset:1px}.candidate-profile-campaign-index{width:2rem;height:2rem;color:var(--navy-dark);letter-spacing:.16em;text-transform:uppercase;background:#09103a1f;border-radius:50%;justify-content:center;align-items:center;font-size:.66rem;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffff47}.candidate-profile-campaign-point strong{color:var(--navy-dark);letter-spacing:.04em;text-transform:uppercase;margin-top:0;font-size:.95rem;font-weight:900;line-height:1.15;display:block}.candidate-profile-campaign-point:nth-child(2n) .candidate-profile-campaign-index{color:var(--gold);background:#f4d23f2e;box-shadow:inset 0 1px #ffffff14}.candidate-profile-campaign-point:nth-child(2n) strong{color:var(--white)}.candidate-profile-chip{color:#ffffffe6;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .95rem;font-size:.72rem;font-weight:800;display:inline-flex}.candidate-profile-chip.is-highlight{color:var(--gold);background:#f4d23f24;border-color:#f4d23f47}.candidate-hero-stats,.candidate-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.candidate-stat-card,.candidate-fact-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff1f;border-radius:1.25rem;padding:1.15rem 1.2rem;position:relative;overflow:hidden}.candidate-fact-card:before{content:"";background:linear-gradient(#f4d23feb,#ffffff3d);width:.26rem;position:absolute;inset:0 auto 0 0}.candidate-stat-value,.candidate-fact-value{color:var(--white);font-size:1.5rem;font-weight:900;line-height:1;display:block}.candidate-stat-label,.candidate-fact-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa8;margin-top:.45rem;font-size:.72rem;font-weight:700;display:block}.candidate-profile-facts-grid{max-width:46rem;margin-top:1.45rem}.candidate-hero-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:2rem;padding:2rem;box-shadow:0 30px 60px #060c2b59}.candidate-hero-panel h3{color:var(--white);margin-bottom:1rem}.candidate-hero-panel-kicker{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;background:#ffffff14;border-radius:999px;margin-bottom:1rem;padding:.4rem .8rem;font-size:.7rem;font-weight:800;display:inline-flex}.candidate-hero-panel p{color:#ffffffb8}.candidate-hero-panel-grid{gap:.9rem;margin-top:1.5rem;display:grid}.candidate-hero-highlight{background:#ffffff12;border:1px solid #ffffff1a;border-radius:1.2rem;align-items:flex-start;gap:.8rem;padding:1rem 1.05rem;display:flex}.candidate-hero-highlight svg{color:var(--gold);flex-shrink:0;margin-top:.15rem}.candidate-hero-highlight strong{color:var(--white);font-size:.95rem;display:block}.candidate-hero-highlight span{color:#ffffffad;margin-top:.2rem;font-size:.84rem;line-height:1.5;display:block}.candidate-hero-actions{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}.candidate-hero-list{gap:.85rem;margin-top:1.5rem;list-style:none;display:grid}.candidate-hero-list li{color:#ffffffd6;align-items:flex-start;gap:.75rem;display:flex}.candidate-directory-section{padding:5rem 0 7rem}.candidate-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.candidate-directory-card{background:linear-gradient(#fff 0%,#f9fbff 100%);border:1px solid #1b28841f;border-radius:1.75rem;flex-direction:column;min-height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 42px #1b288412}.candidate-directory-card.is-party-leader{background:linear-gradient(115deg,#09103afa 0%,#132f78f5 38%,#fcf9f1fa 38.2%,#fff 100%);border-color:#c9993a66;grid-column:span 3;grid-template-columns:minmax(230px,.82fr) minmax(0,1.18fr);display:grid;box-shadow:0 26px 58px #0a144024}.candidate-directory-card.is-tbd{background:linear-gradient(#fcfdff 0%,#f3f6fb 100%);border-style:dashed;border-color:#1b288433}.candidate-directory-card:before{content:"";background:linear-gradient(90deg,var(--gold),var(--navy));height:5px;position:absolute;inset:0 0 auto}.candidate-directory-card.is-party-leader:before{background:linear-gradient(90deg,#c9993a 0%,#efd489 52%,#0b1a2e 100%);height:7px}.candidate-directory-card.is-tbd:before{background:linear-gradient(90deg,#f4d23fb3,#1b288473)}.candidate-card-media{background:linear-gradient(160deg,#1b28841f,#f4d23f2e);min-height:280px;position:relative}.candidate-directory-card.is-party-leader .candidate-card-media{background:radial-gradient(circle at top,#f4d23f59,#0000 38%),linear-gradient(#0a1440fa,#183179e6);min-height:100%}.candidate-image,.candidate-image-placeholder{width:100%;height:100%}.candidate-image{object-fit:cover;object-position:top}.candidate-image-placeholder{color:#ffffffe6;background:radial-gradient(circle at top,#f4d23f4d,#0000 35%),linear-gradient(#111b60f0,#1b2884d9);justify-content:center;align-items:center;padding:2rem;display:flex}.candidate-initials{letter-spacing:.08em;text-transform:uppercase;background:#ffffff14;border:2px solid #f4d23f8c;border-radius:50%;justify-content:center;align-items:center;width:6rem;height:6rem;font-size:2rem;font-weight:900;display:inline-flex}.candidate-card-body{flex-direction:column;flex:1;padding:1.75rem;display:flex}.candidate-directory-card.is-party-leader .candidate-card-body{justify-content:center;padding:2rem 2.25rem}.candidate-card-tag{color:var(--navy);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.45rem;margin-bottom:1rem;font-size:.72rem;font-weight:800;display:inline-flex}.candidate-directory-card.is-party-leader .candidate-card-tag{width:fit-content;color:var(--navy);background:#0b1a2e0f;border-radius:999px;padding:.5rem .85rem}.candidate-card-name{color:var(--navy-dark);text-wrap:balance;gap:.15rem;margin-top:.1rem;padding-bottom:1rem;display:grid;position:relative}.candidate-directory-card.is-party-leader .candidate-card-name{gap:.25rem;padding-bottom:1.2rem}.candidate-card-name:after{content:"";background:linear-gradient(90deg,var(--gold),#1b288429);border-radius:999px;width:4.4rem;height:.28rem}.candidate-directory-card.is-party-leader .candidate-card-name:after{background:linear-gradient(90deg,var(--gold)0%,#e2b53b 48%,#1b288457 100%);width:5.2rem}.candidate-name-lead{max-width:14ch;color:color-mix(in srgb,var(--slate-500)70%,var(--navy)30%);letter-spacing:.2em;text-transform:uppercase;font-size:.78rem;font-weight:800;line-height:1.2;display:block}.candidate-name-emphasis,.candidate-name-single{max-width:13ch;color:var(--navy-dark);letter-spacing:-.055em;font-size:clamp(1.8rem,2vw,2.3rem);font-weight:900;line-height:.96;display:block}.candidate-name-single{line-height:1.02}.candidate-directory-card.is-party-leader .candidate-name-lead{max-width:17ch;color:color-mix(in srgb,var(--gold-dark)42%,var(--navy-dark)58%);font-size:.85rem}.candidate-directory-card.is-party-leader .candidate-name-emphasis,.candidate-directory-card.is-party-leader .candidate-name-single{max-width:11ch;font-size:clamp(2.5rem,4vw,3.5rem)}.candidate-card-role{color:var(--slate-700);letter-spacing:.08em;text-transform:uppercase;margin-top:.85rem;font-size:.78rem;font-weight:800;line-height:1.5}.candidate-directory-card.is-party-leader .candidate-card-role{color:color-mix(in srgb,var(--navy)82%,#6c7ba7 18%);font-size:.84rem}.candidate-card-meta{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.candidate-chip{background:var(--navy-xlight);color:var(--navy);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.7rem;font-weight:800;display:inline-flex}.candidate-card-bio{color:var(--slate-500);margin-top:1rem;font-size:.95rem}.candidate-directory-card.is-party-leader .candidate-card-bio{max-width:65ch;color:color-mix(in srgb,var(--slate-700)88%,#fff 12%);font-size:1rem}.candidate-card-link{color:var(--navy);align-items:center;gap:.45rem;margin-top:auto;padding-top:1.5rem;font-weight:800;display:inline-flex}.candidate-card-link.is-disabled{color:var(--slate-500);cursor:default}.candidate-profile-section{padding:4.5rem 0 6.5rem}.candidate-profile-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;gap:2rem;display:grid}.candidate-profile-sidebar{gap:1.25rem;display:grid;position:sticky;top:6rem}.candidate-profile-card,.candidate-profile-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:1.75rem;padding:1.75rem}.candidate-profile-portrait{background:linear-gradient(#1b28841f,#f4d23f24);border-radius:1.5rem;min-height:420px;overflow:hidden}.candidate-profile-portrait img{object-fit:cover;width:100%;height:100%}.candidate-profile-placeholder{min-height:420px}.candidate-profile-bio{color:var(--slate-700);white-space:pre-line;font-size:1rem}.candidate-profile-bio p+p{margin-top:1rem}.candidate-priority-list{gap:.9rem;margin-top:1.25rem;list-style:none;display:grid}.candidate-priority-list li{background:var(--off-white);color:var(--slate-700);border:1px solid #1b288414;border-radius:1rem;align-items:flex-start;gap:.8rem;padding:1rem 1.1rem;display:flex}.candidate-profile-panel h3{margin-bottom:.85rem}.candidate-back-link{color:#ffffffbd;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.75rem;font-weight:800;display:inline-flex}.candidate-back-link:hover{color:var(--gold)}.candidate-profile-stage{background:radial-gradient(circle at 14% 12%,#ffe5768a,#0000 22%),radial-gradient(circle at 82% 84%,#f4d23f38,#0000 26%),linear-gradient(140deg,#0c1f70fc,#1435aaf5 54%,#0a1c66fc);border:1px solid #ffffff1f;border-radius:2.1rem;min-height:34rem;padding:1.6rem;position:relative;overflow:hidden;box-shadow:0 32px 64px #060c2b6b}.candidate-profile-stage-lines,.candidate-profile-stage-graphic{pointer-events:none;position:absolute}.candidate-profile-stage-lines{opacity:.3;background:repeating-linear-gradient(165deg,#0000 0 1rem,#ffffff17 1rem 1.12rem);inset:0}.candidate-profile-stage-graphic{z-index:0;background:radial-gradient(circle at 48% 24%,#ffedae9e,#0000 9.5rem),radial-gradient(circle at 26% 62%,#f4d23f47,#0000 11rem),radial-gradient(circle at 84% 40%,#4d7cff42,#0000 12rem),linear-gradient(120deg,#ffd65229,#0000 34%),conic-gradient(from 210deg at 52% 45%,#ffd22d1f 0deg 26deg,#fff0 26deg 68deg,#3362ff29 68deg 118deg,#fff0 118deg 180deg,#ffd22d29 180deg 230deg,#fff0 230deg 360deg);border-radius:2rem;inset:2.25rem 1.45rem 4.4rem;overflow:hidden}.candidate-profile-stage-graphic:before,.candidate-profile-stage-graphic:after{content:"";position:absolute}.candidate-profile-stage-graphic:before{opacity:.98;background:linear-gradient(90deg,#ffcc27e0,#ffe8984d 42%,#ffffff0a),linear-gradient(#1f49db73,#102c960d);border-radius:999px;width:17rem;height:3.6rem;inset:auto -1.4rem 1rem auto;transform:rotate(-14deg);box-shadow:0 0 0 1px #ffffff14}.candidate-profile-stage-graphic:after{opacity:.82;background:radial-gradient(circle at 28% 24%,#ffeca657,#0000 34%),linear-gradient(145deg,#f4d23f2e,#1b3ec714 62%,#0000);border:1px solid #ffffff24;border-radius:2.35rem;width:12rem;height:12rem;top:4rem;left:-2.4rem;transform:rotate(18deg)}.candidate-profile-stage-kicker{z-index:1;width:fit-content;color:var(--white);letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#09103a5c;border:1px solid #ffffff1f;border-radius:999px;padding:.45rem .8rem;font-size:.68rem;font-weight:800;display:inline-flex;position:relative;box-shadow:0 16px 28px #060c2b33}.candidate-profile-stage-frame{z-index:1;background:radial-gradient(circle at top,#f4d23f33,#0000 44%),linear-gradient(#ffffff1a,#ffffff05);border-radius:2rem;width:min(100%,27rem);margin:1.6rem auto 0;padding:.75rem .75rem 0;position:relative;overflow:hidden;box-shadow:0 22px 48px #09103a52}.candidate-profile-stage-frame:after{content:"";border-radius:inherit;border:1px solid #ffffff1f;position:absolute;inset:0}.candidate-profile-stage-frame:before{content:"";pointer-events:none;background:linear-gradient(#ffffff2e,#fff0);height:2.5rem;position:absolute;inset:0 0 auto}.candidate-profile-stage-image,.candidate-profile-stage-placeholder{width:100%;min-height:27rem}.candidate-profile-stage-image{object-fit:contain;object-position:center bottom;height:100%;display:block}.candidate-profile-stage-placeholder{justify-content:center;align-items:center;display:flex}.candidate-profile-stage-note{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09103a75;border:1px solid #ffffff1f;border-radius:1.15rem;min-width:10.5rem;max-width:14rem;padding:.85rem 1rem;position:absolute;box-shadow:0 18px 30px #060c2b38}.candidate-profile-stage-note.is-primary{bottom:1.25rem;left:1.25rem}.candidate-profile-stage-note.is-secondary{text-align:right;background:#f4d23f29;border-color:#f4d23f42;top:1.25rem;bottom:auto;right:1.25rem}.candidate-profile-stage-note span{color:#ffffffad;letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:700;display:block}.candidate-profile-stage-note strong{color:var(--white);margin-top:.35rem;font-size:1rem;line-height:1.3;display:block}.candidate-profile-stage-note.is-secondary strong{color:var(--gold);font-size:1.15rem}@media (max-width:1080px){.candidate-directory-grid,.candidate-profile-grid,.candidate-hero-grid,.candidate-profile-hero-grid{grid-template-columns:1fr}.candidate-directory-card.is-party-leader{grid-column:span 1;grid-template-columns:1fr}.candidate-profile-sidebar{position:static}.candidate-profile-title{max-width:none}.candidate-profile-intro-shell{padding:1.35rem 1.35rem 1.5rem}.candidate-profile-campaign-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-profile-stage{min-height:31rem}.candidate-profile-stage-graphic{inset:2.35rem 1.15rem 4rem}.candidate-profile-stage-graphic:before{width:13.5rem}.candidate-profile-stage-graphic:after{width:9rem;height:9rem}}@media (max-width:720px){.candidate-hero-stats,.candidate-facts-grid{grid-template-columns:1fr}.candidate-directory-section{padding-top:4rem}.candidate-directory-grid{gap:1.15rem}.candidate-name-emphasis,.candidate-name-single{max-width:none}.candidate-directory-card.is-party-leader .candidate-name-emphasis,.candidate-directory-card.is-party-leader .candidate-name-single{max-width:none;font-size:clamp(2.1rem,10vw,3rem)}.candidate-profile-name-emphasis,.candidate-profile-name-single{font-size:clamp(2.6rem,15vw,4rem)}.candidate-profile-stage{min-height:auto;padding:1.15rem}.candidate-profile-intro-shell{border-radius:1.55rem;margin-top:1rem;padding:1.15rem 1.1rem 1.25rem}.candidate-profile-campaign-rail{gap:.7rem}.candidate-profile-campaign-point{padding:.8rem .88rem}.candidate-profile-stage-graphic{border-radius:1.5rem;inset:3.4rem .7rem 2.85rem}.candidate-profile-stage-graphic:before{width:10rem;height:2.4rem;bottom:.8rem;right:-.85rem}.candidate-profile-stage-graphic:after{border-radius:1.5rem;width:6.6rem;height:6.6rem;top:4.35rem;left:-1.35rem}.candidate-profile-stage-kicker{margin-bottom:.35rem}.candidate-profile-stage-frame{border-radius:1.55rem;width:100%;margin-top:1rem;padding:.6rem .6rem 0}.candidate-profile-stage-image,.candidate-profile-stage-placeholder{min-height:22rem}.candidate-profile-stage-note{text-align:left;max-width:none;margin-top:.85rem;position:relative;inset:auto}}
