body{background:#f5f6fa;margin:0;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.adminWrap{background:#f5f6fa;min-height:100vh;display:flex}.adminOverlay{opacity:0;visibility:hidden;z-index:20;background:#11182773;width:100%;height:100%;transition:all .2s;position:fixed;top:0;left:0}.adminOverlay.show{opacity:1;visibility:visible}.adminSidebar{color:#fff;background:#111827;flex-shrink:0;width:240px;padding:24px 16px}.adminLogoRow{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.adminLogo{font-size:20px;font-weight:700}.adminCloseBtn{color:#fff;cursor:pointer;background:0 0;border:0;font-size:22px;display:none}.adminNav{flex-direction:column;gap:8px;display:flex}.adminNavLink{color:#d1d5db;border-radius:8px;padding:12px 14px;transition:all .2s;display:block}.adminNavLink.active{color:#fff;background:#2563eb}.adminMain{flex:1;min-width:0;padding:24px}.adminHeader{margin-bottom:20px}.adminHeaderLeft{align-items:center;gap:12px;min-width:0;display:flex}.adminHeader h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:28px;overflow:hidden}.adminMenuBtn{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:8px;width:40px;height:40px;font-size:20px;display:none}.adminContent{background:#fff;border-radius:12px;min-height:300px;padding:24px;box-shadow:0 2px 10px #0000000f}@media (width<=900px){.adminWrap{display:block}.adminSidebar{z-index:30;width:260px;max-width:82%;height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.adminSidebar.open{transform:translate(0)}.adminCloseBtn,.adminMenuBtn{justify-content:center;align-items:center;display:inline-flex}.adminMain{width:100%;padding:16px}.adminHeader h1{font-size:22px}.adminContent{border-radius:10px;padding:16px}}.dashboardWrap{flex-direction:column;gap:24px;display:flex}.dashboardCardGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dashboardCard{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:20px}.dashboardCardTitle{color:#6b7280;margin-bottom:10px;font-size:14px}.dashboardCardValue{color:#111827;font-size:30px;font-weight:700}.dashboardSectionGrid{gap:16px;display:grid}.dashboardSectionGridTop{grid-template-columns:1.4fr 1fr}.dashboardSectionGridBottom{grid-template-columns:1fr 1fr}.dashboardPanel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:20px}.dashboardPanelTitle{color:#111827;margin-bottom:16px;font-size:16px;font-weight:700}.dashboardChartPlaceholder{color:#6b7280;background:repeating-linear-gradient(45deg,#eef2ff,#eef2ff 10px,#f8fafc 10px 20px);border-radius:12px;justify-content:center;align-items:center;height:260px;font-size:15px;display:flex}.dashboardRankList{flex-direction:column;gap:12px;display:flex}.dashboardRankItem{background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.dashboardRankLeft{align-items:center;gap:12px;min-width:0;display:flex}.dashboardRankNumber{color:#fff;background:#2563eb;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:inline-flex}.dashboardRankName{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.dashboardRankCount{color:#111827;flex-shrink:0;font-size:15px;font-weight:700}.dashboardAccessList{flex-direction:column;gap:12px;display:flex}.dashboardAccessItem{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px}.dashboardAccessTop{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.dashboardAccessIp{color:#111827;font-size:14px;font-weight:700}.dashboardAccessTime{color:#6b7280;flex-shrink:0;font-size:13px}.dashboardAccessBottom{color:#4b5563;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}@media (width<=1100px){.dashboardCardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardSectionGridTop,.dashboardSectionGridBottom{grid-template-columns:1fr}}@media (width<=640px){.dashboardWrap{gap:16px}.dashboardCardGrid{grid-template-columns:1fr;gap:12px}.dashboardCard{padding:16px}.dashboardCardValue{font-size:24px}.dashboardPanel{padding:16px}.dashboardChartPlaceholder{height:200px}.dashboardRankItem,.dashboardAccessItem{padding:12px}.dashboardAccessTop{flex-direction:column;align-items:flex-start}}.adminForm{flex-direction:column;gap:24px;display:flex}.adminFormSection{border-bottom:1px solid #e5e7eb;flex-direction:column;gap:16px;padding-bottom:8px;display:flex}.adminFormSection:last-child{border-bottom:0;padding-bottom:0}.adminFormSectionTitle{color:#111827;font-size:18px;font-weight:700}.adminFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.adminFormItem{flex-direction:column;gap:8px;display:flex}.adminFormItem label{color:#374151;font-size:14px;font-weight:600}.adminFormItem input,.adminFormItem textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:14px}.adminFormTitleRow{align-items:center;gap:8px;display:flex}.adminFormTitleRow input{flex:1}@media (width<=640px){.adminFormTitleRow{flex-direction:column;align-items:stretch}.adminFormTitleRow .adminSubmitBtn{width:100%}}.adminFormItem input:focus,.adminFormItem textarea:focus{border-color:#2563eb}.adminFormAction{justify-content:flex-end;display:flex}.adminSubmitBtn{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;padding:12px 22px;font-size:14px;font-weight:700}@media (width<=640px){.adminForm{gap:20px}.adminFormSection{gap:14px}.adminFormSectionTitle{font-size:16px}.adminFormGrid{grid-template-columns:1fr;gap:14px}.adminFormAction{justify-content:stretch}.adminSubmitBtn{width:100%}}.adminCrudWrap{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}.adminCrudLeft,.adminCrudRight{min-width:0}.adminListHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.adminListHeader h2{color:#111827;margin:0;font-size:20px}.adminListHeader span{color:#6b7280;font-size:14px}.adminCardList{flex-direction:column;gap:20px;display:flex}.adminEmptyBox{text-align:center;color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db;border-radius:12px;padding:28px 20px}.adminInfoCard{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px}.adminInfoCardTop{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.adminInfoCardTitle{color:#111827;font-size:17px;font-weight:700}.adminInfoCardSub{color:#6b7280;margin-top:4px;font-size:14px}.adminInfoCardBadge{color:#1d4ed8;background:#dbeafe;border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:12px;font-weight:700}.adminInfoCardMeta{color:#4b5563;margin-bottom:10px;font-size:13px}.adminInfoCardDesc{color:#374151;margin-bottom:14px;font-size:14px;line-height:1.6}.adminInfoCardAction{justify-content:flex-end;gap:8px;display:flex}.adminInfoCardAction button{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:9px 14px}.dragHandle{cursor:grab;background:linear-gradient(#fff,#f8fbff);border:1px solid #e6edf8;border-radius:8px;justify-content:center;align-items:center;width:40px;min-width:40px;height:36px;padding:6px;font-size:16px;display:inline-flex}.dragHandle:active{cursor:grabbing}.adminInfoCardAction button:hover,.dragHandle:hover{transform:translateY(-1px);box-shadow:0 6px 12px #1018280f}.adminInfoCardAction button.danger{color:#dc2626;border-color:#fecaca}.adminCheckItem{color:#374151;align-items:center;gap:8px;font-size:14px;display:inline-flex}.adminFormActionBetween{justify-content:space-between}.adminLineBtn{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:700}@media (width<=980px){.adminCrudWrap{grid-template-columns:1fr}}@media (width<=640px){.adminListHeader{flex-direction:column;align-items:flex-start}.adminInfoCard{padding:14px}.adminInfoCardTop{flex-direction:column;align-items:flex-start}.adminInfoCardAction{flex-wrap:wrap;justify-content:stretch}.adminInfoCardAction button,.adminLineBtn{width:100%}.adminFormActionBetween{flex-direction:column;gap:10px}}.adminPostCard{background:#fff;border:1px solid #e5e7eb;border-radius:14px;grid-template-columns:180px 1fr;gap:16px;padding:16px;display:grid}.adminPostCard--vertical{grid-template-columns:1fr}.adminPostCard--vertical .adminPostThumb{height:180px}.adminPostThumb{background:#f3f4f6;border-radius:12px;width:100%;height:120px;overflow:hidden}.adminPostThumb img{object-fit:cover;width:100%;height:100%;display:block}.adminPostThumbEmpty{color:#6b7280;justify-content:center;align-items:center;width:100%;height:100%;font-size:13px;display:flex}.adminPostBody{min-width:0}.adminPostLink{color:#2563eb;word-break:break-all;margin-bottom:14px;font-size:13px}@media (width<=640px){.adminPostCard{grid-template-columns:1fr;padding:14px}.adminPostThumb{height:180px}}.adminInfoCard.isHidden{opacity:.5;border:1px dashed #c7c7c7}.adminHeader{justify-content:space-between;align-items:center;display:flex}.adminHeaderRight{align-items:center;gap:10px;display:flex}.adminLogoutBtn{color:#111827;cursor:pointer;background:#fff;border:1px solid #d0d7e2;border-radius:8px;height:40px;padding:0 14px;font-size:14px;font-weight:600}.adminLogoutBtn:hover{background:#f3f6fb}.adminLoginWrap{background:#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.adminLoginBox{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:40px 30px;box-shadow:0 10px 30px #00000014}.adminLoginTitle{text-align:center;margin:0 0 24px;font-size:28px;font-weight:700}.adminLoginForm{flex-direction:column;gap:14px;display:flex}.adminLoginRow{width:100%}.adminLoginInput{box-sizing:border-box;border:1px solid #dcdfe6;border-radius:10px;width:100%;height:52px;padding:0 16px;font-size:15px}.adminLoginInput:focus{border-color:#0b4ea2;outline:none}.adminLoginError{color:#e53935;margin:0;font-size:14px}.adminLoginBtn{color:#fff;cursor:pointer;background:#0b4ea2;border:none;border-radius:10px;height:52px;font-size:16px;font-weight:600}.adminLoginBtn:disabled{opacity:.7;cursor:default}.dashboardChartBox{width:90%;height:260px;position:relative}@font-face{font-family:Paperlogy;font-weight:100;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-1Thin.woff2)format("woff2"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-1Thin.woff)format("woff"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-1Thin.otf)format("opentype"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-1Thin.ttf)format("truetype")}@font-face{font-family:Paperlogy;font-weight:200;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-2ExtraLight.woff2)format("woff2"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-2ExtraLight.woff)format("woff"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-2ExtraLight.otf)format("opentype"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-2ExtraLight.ttf)format("truetype")}@font-face{font-family:Paperlogy;font-weight:300;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-3Light.woff2)format("woff2"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-3Light.woff)format("woff"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-3Light.otf)format("opentype"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-3Light.ttf)format("truetype")}@font-face{font-family:Paperlogy;font-weight:400;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-4Regular.woff2)format("woff2"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-4Regular.woff)format("woff"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-4Regular.otf)format("opentype"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-4Regular.ttf)format("truetype")}@font-face{font-family:Paperlogy;font-weight:500;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-5Medium.woff2)format("woff2"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-5Medium.woff)format("woff"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-5Medium.otf)format("opentype"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-5Medium.ttf)format("truetype")}@font-face{font-family:Paperlogy;font-weight:600;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-6SemiBold.woff2)format("woff2"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-6SemiBold.woff)format("woff"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-6SemiBold.otf)format("opentype"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-6SemiBold.ttf)format("truetype")}@font-face{font-family:Paperlogy;font-weight:700;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-7Bold.woff2)format("woff2"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-7Bold.woff)format("woff"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-7Bold.otf)format("opentype"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-7Bold.ttf)format("truetype")}@font-face{font-family:Paperlogy;font-weight:800;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-8ExtraBold.woff2)format("woff2"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-8ExtraBold.woff)format("woff"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-8ExtraBold.otf)format("opentype"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-8ExtraBold.ttf)format("truetype")}@font-face{font-family:Paperlogy;font-weight:900;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.woff2)format("woff2"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.woff)format("woff"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.otf)format("opentype"),url(https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.ttf)format("truetype")}body{color:#111827;background:#f5f7fb;margin:0;font-family:Paperlogy,sans-serif}*{box-sizing:border-box}img{max-width:100%}.candidatePage{color:#111827;background:#f5f7fb}.candidateContainer{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}.candidateSection{padding:30px 0}.candidateSectionSoft{background:#eef4fb}.candidateSectionHead{margin-bottom:18px}.candidateSectionLabel{color:#0b4ea2;letter-spacing:.08em;background:#dbe8fb;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.candidateSectionHead h2,.candidateIntroCard h2,.candidateLocalMessageCard h2{letter-spacing:-.03em;color:#111827;margin:12px 0 0;font-size:30px;font-weight:800;line-height:1.35}.candidateIntroCard,.candidateLocalMessageCard,.candidateContactCard,.candidateCareerCard,.candidateAwardCard,.candidatePolicyCard,.candidateActivityCard{background:#fff;border:1px solid #e1e8f2;border-radius:24px;box-shadow:0 10px 26px #0b4ea20d}.candidateHeroAurora{pointer-events:none;filter:blur(22px);opacity:.9;position:absolute}.candidateHeroAurora1{background:radial-gradient(circle,#42e0b0cc 0%,#42e0b000 72%);width:34%;height:34%;bottom:8%;left:-4%}.candidateHeroAurora2{background:radial-gradient(circle,#ae5cff7a 0%,#ae5cff00 72%);width:38%;height:42%;top:10%;left:18%}.candidateHeroAurora3{background:radial-gradient(circle,#21cebbb3 0%,#21cebb00 70%);width:34%;height:30%;bottom:14%;right:14%}.candidateHeroLight{filter:blur(6px);opacity:.9;pointer-events:none;background:linear-gradient(135deg,#fff0 18%,#ffffff14 34%,#7ee0ff38 52%,#ffffff6b 64%,#fff0 78%);width:38%;height:72%;position:absolute;top:-6%;right:-8%;transform:rotate(8deg)}.candidateHeroInner{z-index:1;grid-template-columns:1.02fr .98fr;align-items:center;gap:32px;display:grid;position:relative}.candidateHeroText{text-align:left}.candidateParty{background:#ffffff1f;border:1px solid #ffffff24;border-radius:999px;align-items:center;min-height:38px;margin-bottom:18px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.candidateHeroDistrict{color:#fffffff2;font-size:22px;font-weight:700;line-height:1.4}.candidateName{letter-spacing:.1em;color:#fff;margin:6px 0 0;font-family:NotoSansS;font-size:72px;font-weight:900;line-height:.98}.candidateSlogan{background:#ffffff1a;border-left:4px solid #22d2c4;border-radius:16px;margin-top:22px;padding:12px 18px;font-size:24px;font-weight:800;line-height:1.4;display:inline-block}.candidateHeroTextDesc{color:#fffffff2;max-width:560px;margin:20px 0 0;font-size:17px;line-height:1.8}.candidateHeroVisual{justify-content:center;align-items:flex-end;min-height:540px;display:flex;position:relative}.candidateHeroNumberWrap{z-index:5;width:190px;height:285px;position:absolute;bottom:-10px;left:-10px}.candidateHeroNumberShadow,.candidateHeroNumber{letter-spacing:-.08em;justify-content:center;align-items:flex-end;font-family:Arial,Helvetica,sans-serif;font-size:272px;font-weight:900;line-height:1;display:flex;position:absolute;inset:0}.candidateHeroNumberShadow{color:#0000;-webkit-text-stroke:16px #aeb0b5;opacity:.95;transform:translate(6px,6px)}.candidateHeroNumber{color:#124aa2;-webkit-text-stroke:8px #fff}.candidatePhotoCard{z-index:3;width:100%;max-width:410px;position:relative}.candidatePhotoFrame{aspect-ratio:4/5;background:#ffffff14;border-radius:30px;width:100%;position:relative;overflow:hidden;box-shadow:0 24px 40px #06132d3d}.candidatePhotoFrame img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.candidateIntroCard{padding:28px}.candidateIntroCard p{color:#374151;margin:16px 0 0;font-size:17px;line-height:1.85}.candidateCareerGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.candidateCareerCard{align-items:flex-start;gap:14px;display:flex}.candidateCareerNumber{color:#fff;background:#0b4ea2;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:inline-flex}.candidateCareerNumberCareer{background:#5b1b86}.candidateCareerText{color:#111827;font-size:16px;font-weight:600;line-height:2.7}.candidateAwardGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.candidateAwardCard{padding:20px}.candidateAwardYear{color:#6d4bff;background:#edf2ff;border-radius:999px;align-items:center;min-height:28px;margin-bottom:12px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.candidateAwardTitle{color:#111827;font-size:18px;font-weight:800;line-height:1.45}.candidateAwardOrg{color:#4b5563;margin-top:8px;font-size:14px;line-height:1.7}.candidateAwardSlider{width:100%;padding:0;position:relative;overflow:hidden}.candidateAwardTrack{will-change:transform;margin:0;padding:0;transition:transform .45s cubic-bezier(.22,.9,.25,1);display:flex}.candidateAwardSlide{box-sizing:border-box;background:#fff;border:1px solid #e6eef9;border-radius:14px;align-items:center;gap:12px;min-width:100%;padding:12px;display:flex;box-shadow:0 8px 18px #0b4ea20a}.candidateAwardSlide.no-thumb{justify-content:center}.candidateAwardSlide.no-thumb .candidateAwardBody{width:100%}.candidateAwardThumb img{object-fit:cover;border-radius:8px;width:200px;height:130px}.candidateAwardThumb{margin-right:12px}.candidateAwardBody{flex:auto}.candidateAwardDesc{color:#374151;margin-top:8px;line-height:1.6}.awardNav{cursor:pointer;z-index:30;background:#0000000f;border:none;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.awardPrev{left:6px}.awardNext{right:6px}.opinionPrev{left:12px}.opinionNext{right:12px}.awardDots{justify-content:center;gap:8px;margin-top:12px;display:flex}.awardDot{cursor:pointer;background:#d1d5db;border:none;border-radius:999px;width:10px;height:10px}.awardDot.active{background:#0b4ea2}@media (width>=880px){.candidateAwardSlide{padding:24px}.candidateAwardThumb img{width:260px;height:160px}}.candidatePolicyGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.candidatePolicyCard{padding:20px;position:relative;overflow:hidden}.candidatePolicyCard:before{content:"";background:linear-gradient(#0b4ea2 0%,#20cdb7 100%);width:5px;position:absolute;inset:0 auto 0 0}.candidatePolicyTitle{color:#0b4ea2;margin-bottom:10px;font-size:20px;font-weight:800;line-height:1.4}.candidatePolicyDesc{color:#374151;font-size:15px;line-height:1.75}.candidateActivityGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.candidateActivityCard{align-self:start;overflow:hidden}.nowSliderTrack{align-content:flex-start;align-items:flex-start}.nowSliderTrack>.nowSliderSlide{box-sizing:border-box;align-self:flex-start;height:auto}.nowSliderSlide>div{min-height:0}.candidateActivityThumb{background:#dbe8fb;height:190px;position:relative}.candidateActivityThumb img{object-fit:cover;width:100%;height:100%;display:block}.candidateActivityCategory{color:#fff;letter-spacing:.04em;background:#0b4ea2eb;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;bottom:14px;left:14px}.candidateActivityBody{padding:18px}.candidateActivityDate{color:#0b4ea2;margin-bottom:8px;font-size:13px;font-weight:700}.candidateActivityTitle{color:#111827;font-size:19px;font-weight:800;line-height:1.45}.candidateActivityDesc{color:#4b5563;margin-top:10px;font-size:14px;line-height:1.75}.candidateLocalMessageCard{text-align:center;flex-direction:column;justify-content:center;min-height:120px;max-height:220px;padding:28px;display:flex;position:relative}.candidateLocalMessageCard p{color:#374151;margin:16px 0 0;font-size:17px;line-height:1.6}.candidateBottomBox{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.candidateContactCard{flex-direction:column;gap:8px;padding:20px;display:flex}.candidateContactCard strong{color:#0b4ea2;font-size:15px}.candidateContactCard span{color:#374151;font-size:15px;line-height:1.7}.candidateChannelGrid{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px;margin-top:6px;display:flex}.candidateChannelItem{color:#111827;flex-direction:column;align-items:center;gap:8px;width:66px;text-decoration:none;display:flex}.candidateChannelIcon{color:#0b4ea2;background:#fff;border:1px solid #d6deec;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;display:inline-flex;box-shadow:0 8px 18px #0b4ea20f}.candidateChannelLabelText{color:#374151;font-size:12px;font-weight:700}@media (width<=980px){.candidateHeroInner{grid-template-columns:1fr}.candidateHeroText{text-align:left}.candidateHeroVisual{justify-content:center;min-height:420px}.candidateHeroNumberWrap{bottom:-6px;left:-6px}.candidatePhotoCard{margin:0 auto}.candidateAwardGrid,.candidateActivityGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.candidateHero{padding:42px 0 30px}.candidateHeroInner{grid-template-columns:1fr}.candidateHeroText{text-align:left}.candidateHeroDistrict{font-size:18px}.candidateName{font-size:58px}.candidateSlogan{font-size:20px}.candidateHeroTextDesc,.candidateIntroCard p,.candidateLocalMessageCard p{font-size:16px}.candidateSectionHead h2,.candidateIntroCard h2,.candidateLocalMessageCard h2{font-size:24px}.candidateHeroVisual{justify-content:center;align-items:center;min-height:360px}.candidateHeroNumberWrap{z-index:5;width:120px;height:190px;bottom:-4px;left:-4px}.candidateHeroNumberShadow,.candidateHeroNumber{font-size:184px}.candidateHeroNumberShadow{-webkit-text-stroke:12px #aeb0b5}.candidateHeroNumber{-webkit-text-stroke:6px #fff}.candidatePhotoCard{max-width:320px;margin:0 auto}.candidateCareerGrid,.candidateAwardGrid,.candidatePolicyGrid,.candidateActivityGrid,.candidateBottomBox{grid-template-columns:1fr}}@media (width<=480px){.candidateContainer{padding:0 16px}.candidateSection{padding:24px 0}.candidateParty{font-size:13px}.candidateHeroText{text-align:left}.candidateName{font-size:54px}.candidateSlogan{margin-top:18px;padding:10px 14px;font-size:18px}.candidateHeroVisual{justify-content:center;min-height:300px}.candidateHeroNumberWrap{z-index:5;width:96px;height:150px;bottom:6px;left:-2px}.candidateHeroNumberShadow,.candidateHeroNumber{font-size:145px}.candidateHeroNumberShadow{-webkit-text-stroke:10px #aeb0b5}.candidateHeroNumber{-webkit-text-stroke:5px #fff}.candidatePhotoCard{max-width:280px;margin:0 auto}.candidateIntroCard,.candidateLocalMessageCard,.candidateContactCard,.candidateCareerCard,.candidateAwardCard,.candidatePolicyCard{padding-left:16px;padding-right:16px}.candidateActivityBody{padding:16px}.candidateActivityThumb{height:170px}}.candidateHero{color:#fff;background:linear-gradient(135deg,#123f86 0%,#103b80 45%,#0b3470 100%);padding:12px 0 0;position:relative;overflow:hidden}.candidateHeroOverlay{pointer-events:none;background:linear-gradient(#ffffff08 0%,#fff0 100%);position:absolute;inset:0}.candidateHeroLightBeam{filter:blur(8px);opacity:.95;pointer-events:none;background:linear-gradient(135deg,#fff0 15%,#ffffff14 26%,#6fd8ff3d 42%,#ffffff80 56%,#fff0 72%);width:48%;height:72%;position:absolute;top:-4%;right:-6%;transform:rotate(10deg)}.candidateHeroPoster{z-index:1;min-height:860px;padding:28px 18px 0;position:relative}.candidateHeroTop{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.candidateHeroTopLeft{flex-direction:column;gap:10px;display:flex}.candidateHeroPartySmall{line-height:1}.candidateHeroTitleLine{letter-spacing:-.05em;flex-wrap:wrap;align-items:center;gap:0;font-size:38px;font-weight:900;line-height:1.15;display:flex}.candidateHeroTitleEm{color:#ffd43f;padding-right:4px}.candidateHeroTitleText{color:#fff}.candidateHeroDistrictBadge{color:#ffd43f;white-space:nowrap;background:linear-gradient(#25d3cb 0%,#168fe9 100%);border-radius:999px;justify-content:center;align-items:center;min-height:58px;padding:0 28px;font-size:22px;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 8px 24px #0000002e}.candidateHeroMain{min-height:720px;position:relative}.candidateHeroPerson{z-index:2;width:54%;max-width:470px;position:absolute;bottom:0;left:8px}.candidateHeroPerson img{object-fit:contain;object-position:bottom left;filter:drop-shadow(0 16px 30px #0000002e);width:100%;height:auto;display:block}.candidateHeroNameBlock{z-index:3;justify-content:flex-end;align-items:flex-start;gap:14px;display:flex;position:absolute;top:30px;bottom:20px;right:8px}.candidateHeroBigName{letter-spacing:-.12em;color:#f2f2f2;writing-mode:vertical-rl;text-orientation:mixed;text-shadow:0 8px 18px #00000014;font-family:NotoSansS;font-size:180px;font-weight:900;line-height:.82}.candidateHeroVerticalText{color:#fff;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.2em;font-size:38px;font-weight:800;line-height:1.02}.candidateHeroVerticalText .candidateHeroVerticalHighlight{color:#ffd43f}@media (width<=1180px){.candidateHeroPoster{min-height:780px;padding:24px 16px 0}.candidateHeroTitleLine{font-size:32px}.candidateHeroDistrictBadge{min-height:52px;padding:0 22px;font-size:19px}.candidateHeroPerson{width:52%;max-width:420px}.candidateHeroBigName{font-size:160px}.candidateHeroVerticalText{font-size:32px}}@media (width<=980px){.candidateHeroPoster{min-height:760px;padding:20px 0 0}.candidateHeroTop{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:10px}.candidateHeroTitleLine{font-size:28px;line-height:1.15}.candidateHeroDistrictBadge{min-height:46px;padding:0 18px;font-size:18px}.candidateHeroMain{min-height:620px;display:block;position:relative}.candidateHeroPerson{z-index:2;width:62%;max-width:360px;position:absolute;bottom:0;left:50%;transform:translate(-58%)}.candidateHeroNameBlock{z-index:3;justify-content:flex-end;align-items:flex-start;gap:10px;width:auto;min-height:auto;margin-bottom:0;display:flex;position:absolute;top:40px;bottom:auto;right:16px}.candidateHeroBigName{font-size:120px;line-height:.82}.candidateHeroVerticalText{font-size:28px;line-height:1.02}}@media (width<=768px){.candidateHero{padding-top:8px}.candidateHeroPoster{min-height:700px;padding:16px 0 0}.candidateHeroTop{gap:10px;margin-bottom:8px}.candidateHeroPartySmall img{height:auto;width:88px!important}.candidateHeroTitleLine{font-size:22px;line-height:1.15}.candidateHeroDistrictBadge{min-height:42px;padding:0 16px;font-size:16px}.candidateHeroMain{min-height:580px}.candidateHeroPerson{width:66%;max-width:320px;bottom:0;left:50%;transform:translate(-52%)}.candidateHeroNameBlock{gap:8px;top:34px;right:10px}.candidateHeroBigName{font-size:110px;line-height:.82}.candidateHeroVerticalText{font-size:22px;line-height:1.02}}@media (width<=480px){.candidateHeroPoster{min-height:620px;padding:14px 0 0}.candidateHeroPartySmall img{height:auto;width:78px!important}.candidateHeroTitleLine{gap:2px;font-size:20px;line-height:1.15}.candidateHeroDistrictBadge{min-height:38px;padding:0 14px;font-size:14px;position:absolute;top:10px;right:0}.candidateHeroMain{min-height:520px}.candidateHeroPerson{width:90%;max-width:320px;margin-bottom:-20px;bottom:0;left:50%;transform:translate(-60%)}.candidateHeroNameBlock{gap:2px;top:-20px;right:4px}.candidateHeroBigName{font-size:96px;line-height:.82}.candidateHeroVerticalText{font-size:30px;line-height:1.02}}.candidateHeroVerticalHighlight{color:#ffd43f}.candidateSectionLabel{color:#fff;letter-spacing:-.02em;background:linear-gradient(90deg,#22d2c4 0%,#1fa3d7 40%,#1e6fe8 100%);border-radius:999px;justify-content:center;align-items:center;min-height:60px;padding:0 40px;font-size:22px;font-weight:900;display:inline-flex;box-shadow:0 10px 24px #1e6fe833}@media (width<=768px){.candidateSectionLabel{min-height:40px;padding:0 32px;font-size:16px}}.candidateSectionLabelUser{color:#fff;letter-spacing:-.02em;background:linear-gradient(90deg,#22d2c4 0%,#1fa3d7 40%,#1e6fe8 100%);border-radius:999px;justify-content:center;align-items:center;min-height:60px;padding:0 40px;font-size:22px;font-weight:900;display:inline-flex;box-shadow:0 10px 24px #1e6fe833}@media (width<=768px){.candidateSectionLabelUser{min-height:30px;margin-bottom:20px;padding:0 100px;font-size:14px}}.candidateOpinionCard{text-align:center;background:#f4f6f9;border:1px solid #d9e2ef;border-radius:40px;width:100%;padding:48px 40px;position:relative}.candidateOpinionLabel{color:#fff;background:linear-gradient(90deg,#5eead4 0%,#1fa3d7 60%,#1e6fe8 100%);border-radius:999px;justify-content:center;align-items:center;min-height:44px;margin-bottom:26px;padding:0 26px;font-size:16px;font-weight:900;display:inline-flex}.candidateOpinionContent{grid-template-columns:minmax(0,1fr);place-items:center stretch;gap:20px;width:100%;padding:0 56px;display:grid}.candidateOpinionText{color:#2b1f1f;letter-spacing:-.05em;text-align:center;word-break:keep-all;justify-content:center;align-items:center;width:100%;max-width:none;font-size:clamp(20px,.75vw + 17.6px,26px);font-weight:600;line-height:1.32;display:flex}.candidateOpinionArrow{cursor:pointer;color:#111;background:0 0;border:none;justify-content:center;align-items:center;width:80px;height:80px;font-size:36px;font-weight:900;display:inline-flex}.candidateOpinionArrow:hover{opacity:.6}@media (width<=1024px){.candidateOpinionCard{border-radius:28px;padding:36px 24px}.candidateOpinionContent{grid-template-columns:minmax(0,1fr);gap:12px;padding:0 44px}.candidateOpinionArrow{width:56px;height:56px;font-size:34px}}@media (width<=768px){.candidateOpinionCard{padding:24px 16px}.candidateOpinionContent{padding:0 24px}.candidateOpinionText{font-size:20px;font-weight:600;line-height:1.45}.candidateOpinionArrow{width:40px;height:40px;font-size:22px}}.candidateHeroVerticalText{color:#fff;writing-mode:vertical-rl;text-orientation:mixed;font-size:34px;font-weight:800;line-height:1.1}.candidateHeroVerticalText .highlight{color:#ffd43f;padding-top:7px;padding-bottom:7px;display:inline-block;transform:rotate(272deg)translateY(5px)}.verticalInline{justify-content:center;align-items:center;display:inline-flex}.candidateHeroImg{flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;display:flex}.candidateHeroImg .candidateHeroImage{object-fit:cover;object-position:center center;filter:drop-shadow(0 16px 30px #0000002e);width:100%;max-width:600px;height:auto;display:block}.candidateHeroBanner{margin-top:-3px;margin-left:auto;margin-right:auto;display:block}.candidateHeroImg img{max-width:100%}
