/* MANDAT Kelantan V2.3 | Unified visual refinement across every page */
:root{--v23-navy:#061538;--v23-ink:#102347;--v23-gold:#ffce28;--v23-line:#e1e8f3;--v23-radius:16px;--v23-shadow:0 14px 36px rgba(6,21,56,.075)}
html{scroll-padding-top:100px}body{overflow-x:clip}main{display:block}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d4a100!important;outline-offset:4px}
a,button{touch-action:manipulation}button,a{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
header{z-index:40!important}header nav{flex-wrap:nowrap}header nav a{position:relative;white-space:nowrap}header nav a[aria-current="page"]:not(.nav-external):not(.nav-cta),header nav a.is-current:not(.nav-external):not(.nav-cta){color:var(--v23-gold)!important}
header nav a[aria-current="page"]:not(.nav-external):not(.nav-cta)::after,header nav a.is-current:not(.nav-external):not(.nav-cta)::after{content:"";height:2px;background:var(--v23-gold);position:absolute;bottom:-12px;left:0;right:0;border-radius:2px}
#menu{min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:8px;font-weight:750}header .brand{min-width:0}header .brand span{overflow-wrap:normal}header .brand img{flex:none}
section[id]{scroll-margin-top:100px}section .section-head{max-width:760px}section .section-head h2{letter-spacing:-.04em}section .section-head p{line-height:1.85}
.card,.person,.tile,.detail-card,.side-card,.article,.aside,.calendar{border-color:var(--v23-line)!important;box-shadow:var(--v23-shadow)!important}
.card,.person,.tile{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover,.person:hover,.tile:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(6,21,56,.11)!important;border-color:#b8cbe5!important}
.card h3,.person h2,.tile h2{overflow-wrap:anywhere}
.btn,.v22-link,.directory-button,.button,.action{min-height:46px;align-items:center;justify-content:center}
.note,.info{line-height:1.75}
footer{border-top:3px solid var(--v23-gold)}footer .foot,footer .footer{align-items:start}footer .footer-brand,footer .footer-logo{font-weight:850}
.v23-footer-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:16px}.v23-footer-links a{font-size:.82rem;font-weight:700;text-decoration:none;color:#e9f0ff}.v23-footer-links a:hover{text-decoration:underline;color:var(--v23-gold)}
.v23-footer-credit{display:block;font-size:.72rem;color:#b6c8e4;margin-top:18px}
.v23-scrolltop{position:fixed;right:clamp(14px,3vw,30px);bottom:clamp(16px,3vw,30px);z-index:35;border:1px solid #ffffff55;background:#09275b;color:#fff;width:46px;height:46px;border-radius:13px;box-shadow:0 8px 22px #06153840;display:grid;place-items:center;font-size:1.25rem;opacity:0;transform:translateY(8px);pointer-events:none}
.v23-scrolltop.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.v23-scrolltop:hover{background:#17488f}
.v23-reading{height:3px;position:fixed;top:0;left:0;width:0;z-index:60;background:var(--v23-gold);pointer-events:none}
.v23-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Homepage hero */
.hero{min-height:0!important}.hero .hero-grid{padding-top:clamp(62px,7vw,94px)!important;padding-bottom:clamp(68px,8vw,102px)!important;gap:clamp(30px,4vw,65px)!important;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)!important}
.hero h1{font-size:clamp(2.85rem,5.45vw,5.55rem)!important;line-height:1.095!important;letter-spacing:-.063em!important;text-wrap:balance}
.hero-lead{max-width:560px!important}.hero-art{min-height:380px!important}.hero-art img{max-width:365px!important;width:88%!important;max-height:none!important;image-rendering:auto!important}
.hero-metrics{gap:clamp(16px,2.6vw,32px)!important}.hero-metrics>div{min-width:0}.hero-metrics strong{font-variant-numeric:tabular-nums}
.hero-art-caption{font-size:.64rem!important;letter-spacing:.14em!important}
.hero-bottom{min-height:0}.actions .btn{min-height:49px}.hero-kicker{line-height:1.7}
#calon .candidate-v21{align-items:stretch!important;min-height:180px!important;gap:18px!important;border-radius:var(--v23-radius)!important}
#calon .candidate-avatar{width:76px;height:105px;align-self:flex-start}
#calon .candidate-info{min-width:0;flex:1}
#calon .candidate-info h3{font-size:clamp(.92rem,1.3vw,1.04rem)!important;line-height:1.45!important;margin:7px 0 8px!important;overflow-wrap:anywhere}
#calon .candidate-info .candidate-link{min-height:43px;display:flex;align-items:center;gap:12px}
#calon .search-panel input{min-height:46px}.directory-action{margin-top:30px}
.v22-news-preview{box-shadow:var(--v23-shadow)!important}
.faq summary{min-height:44px;display:list-item;align-content:center}.faq details[open]{border-color:#bbcee8;background:#fff}
.faq details p{margin-bottom:0}
 /* Candidate directory and profiles */
.person{border-radius:var(--v23-radius)!important}.person-visual{height:170px!important}.person-body{padding:clamp(18px,2vw,25px)!important}.person h2{min-height:0!important;font-size:1.05rem!important;line-height:1.48!important}.person-link{min-height:45px;gap:12px}
.detail-banner{min-height:230px!important}.detail-body h2{line-height:1.2!important}.detail-card,.side-card{border-radius:var(--v23-radius)!important}
#directory .toolbar{gap:20px}#directory .search{min-height:48px}#directory .person-tag{letter-spacing:.06em}
 /* News and events */
.tile{border-radius:var(--v23-radius)!important}.tile-top{min-height:104px!important}.tile-body{padding:24px!important}.tile a{min-height:46px;display:flex;align-items:center}
.empty{border:1px dashed #a8bedb!important;background:linear-gradient(180deg,#fff,#f9fbff)!important;box-shadow:0 9px 25px #0c2b5408}.empty-icon{border-radius:18px!important}.empty h2{letter-spacing:-.025em}
.calendar-wrap{align-items:start}.calendar-head{margin-bottom:20px!important}.calendar-head h2{font-size:clamp(1.08rem,2vw,1.4rem)!important}.calendar .day{min-height:78px;transition:background .18s}.calendar .day.today{border-color:#164b99;background:#eef5ff}.calendar .day.has-event{background:#fff6d8}.calendar .day-dot{box-shadow:0 0 0 3px #fff3c5}
.calendar .icon-btn{min-width:44px;min-height:44px}.calendar .week span{font-size:.75rem}.aside-list li{line-height:1.6}
.v23-mobile-agenda{display:none}.v23-mobile-agenda h3{margin:0 0 8px;font-size:1.02rem}.v23-mobile-agenda p{margin:0;color:#63748e}.v23-mobile-agenda ul{padding:0;list-style:none;margin:15px 0 0}.v23-mobile-agenda li{border-top:1px solid #e4eaf3;padding:14px 0}.v23-mobile-agenda a{font-weight:750;color:#174a92;text-decoration:none}.v23-mobile-agenda small{display:block;color:#687b95}
@media(max-width:1100px){header nav{gap:clamp(9px,1.2vw,16px)!important}header nav a{font-size:.78rem!important}.brand span{font-size:.93rem!important}.hero .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important}}
@media(max-width:900px){.hero .hero-grid{gap:28px!important}.hero h1{font-size:clamp(2.7rem,5.5vw,4.5rem)!important}}
@media(max-width:850px){header nav{position:absolute!important;top:100%!important;left:0!important;right:0!important;background:#07183c!important;padding:12px clamp(20px,4vw,48px) 24px!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;box-shadow:0 18px 30px #0003!important;max-height:calc(100dvh - 75px);overflow-y:auto}header nav.open{display:flex!important}header nav a{display:flex!important;align-items:center;min-height:48px;font-size:.9rem!important;padding:12px 8px!important;border-bottom:1px solid #ffffff1c}header nav a[aria-current="page"]::after,header nav a.is-current::after{display:none!important}header nav .nav-external,header nav .nav-cta{justify-content:center;margin-top:12px;border:1px solid #ffce2880!important;border-radius:12px!important}#menu{display:inline-flex!important}.hero .hero-grid{grid-template-columns:1fr!important;padding-top:62px!important;padding-bottom:64px!important}.hero h1{max-width:700px}.hero-art{min-height:310px!important;max-width:370px;margin:auto;width:100%}.hero-art img{max-width:280px!important}.hero-art-caption{bottom:-8px!important}.hero-metrics{margin-top:32px!important}}
@media(max-width:760px){.calendar-wrap{display:flex!important;flex-direction:column;gap:18px}.calendar-wrap>.calendar,.calendar-wrap>.aside{width:100%}.calendar-wrap>.calendar{display:none!important}.calendar-wrap>.aside{display:none!important}.v23-mobile-agenda{display:block;background:#fff;border:1px solid var(--v23-line);border-radius:var(--v23-radius);padding:24px;box-shadow:var(--v23-shadow)}.v23-mobile-agenda .v23-month-control{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.v23-mobile-agenda .v23-month-control button{min-width:44px;min-height:44px;background:#f1f5fb;border:1px solid #cbd8e9;border-radius:10px;font-size:1.1rem;color:#173e83}.v23-mobile-agenda .v23-month-control strong{font-size:.94rem;text-align:center}.hero-art{min-height:285px!important}.hero-art img{max-width:260px!important}}
@media(max-width:540px){.wrap{padding-left:20px!important;padding-right:20px!important}.hero .hero-grid{padding-top:48px!important;padding-bottom:52px!important}.hero h1{font-size:clamp(2.55rem,11vw,3.7rem)!important}.hero-kicker{font-size:.6rem!important;letter-spacing:.13em!important}.hero-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}.hero-metrics>div{display:block!important}.hero-metrics strong{font-size:1.6rem!important}.hero-metrics span{display:block;margin-top:7px;font-size:.64rem!important}.hero-art{min-height:250px!important;max-width:280px}.hero-art img{max-width:225px!important}.hero-art-caption{font-size:.55rem!important;letter-spacing:.08em!important}.actions .btn{width:100%;justify-content:space-between}.brand span{font-size:.82rem!important}.brand small{font-size:.49rem!important}.brand img{width:48px!important;height:48px!important}.v22-news-preview{padding:20px!important}#calon .candidate-v21{min-height:0!important}#calon .candidate-avatar{width:68px;height:95px}.v23-footer-links{gap:8px 16px}.v23-scrolltop{width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-art img{animation:none!important}.v23-scrolltop{transition:none!important}}
