/*
Theme Name: Padawaras — Portal Desa
Description: Tema website desa bergaya game pixel (RPG). Hero animasi siang/malam, statistik penghitung, papan layanan, berita, dan data desa yang bisa diubah lewat Customizer.
Version: 2.3.0
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: desa-piksel
*/
:root{--ink:#2a1f3d;--sky:#8fd8f5;--grass:#5fbf4a;--grass-d:#2d6a2e;--soil:#7a4a21;--sun:#ffd23f;--cream:#fff4d6;--red:#d6452f;--f1:'Press Start 2P',monospace;--f2:'Pixelify Sans',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 19px/1.6 var(--f2);color:var(--ink);background:var(--cream)}
img{max-width:100%;image-rendering:pixelated}a{color:inherit}
h1,h2,h3{font-family:var(--f1);line-height:1.45;margin:0 0 .7em;font-weight:400}
.wrap{width:min(1120px,92%);margin:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--sun);padding:8px;z-index:99}
:focus-visible{outline:4px solid var(--red);outline-offset:2px}
.btn,.tog,.burger{display:inline-block;font:12px/1.2 var(--f1);padding:14px 18px;background:var(--sun);color:#2a1f3d;border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);text-decoration:none;cursor:pointer;transition:transform .08s steps(2),box-shadow .08s steps(2)}
.btn:hover,.tog:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.btn:active,.tog:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}
.btn.alt{background:#fff}
.hd{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:4px solid var(--ink)}
.hd .wrap{display:flex;align-items:center;gap:16px;padding:10px 0}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:12px/1.4 var(--f1)}.logo img{width:40px;height:auto}
.nav{margin-left:auto}.nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav a{display:block;padding:8px 12px;text-decoration:none;border:4px solid transparent;font-weight:600}
.nav a:hover{border-color:var(--ink);background:var(--sun)}
.tog{padding:10px 12px;font-size:10px}.burger{display:none;padding:10px 12px;font-size:10px}
/* HERO */
.hero{--s1:#59c3ee;--s2:#d9f3fb;position:relative;height:clamp(540px,86vh,740px);overflow:hidden;background:linear-gradient(var(--s1),var(--s2));border-bottom:4px solid var(--ink)}
[data-time=night] .hero{--s1:#1b1442;--s2:#4a3a86}
.hero>img,.hero>div{position:absolute}
.hero .wrap{position:relative;z-index:5;padding-top:44px}
.sun{right:12%;top:10%;width:96px;animation:bob 4s steps(4) infinite}.moon{display:none}
[data-time=night] .sun{display:none}[data-time=night] .moon{display:block}
@keyframes bob{50%{transform:translateY(8px)}}
.cloud{left:0;opacity:.95;animation:drift linear infinite}
@keyframes drift{from{transform:translateX(-200px)}to{transform:translateX(calc(100vw + 200px))}}
[data-time=night] .cloud{opacity:.18}
.stars{inset:0;opacity:0;transition:opacity .6s}
.stars::before{content:"";position:absolute;left:0;top:0;width:4px;height:4px;background:#fff;box-shadow:8vw 60px #fff,19vw 150px #fff,31vw 40px #fff,44vw 120px #fff,57vw 70px #fff,66vw 180px #fff,78vw 30px #fff,90vw 110px #fff,96vw 210px #fff,24vw 240px #fff,52vw 260px #fff;animation:tw 2s steps(2) infinite}
[data-time=night] .stars{opacity:1}@keyframes tw{50%{opacity:.35}}
.mtn{left:0;bottom:27%;width:100%;height:auto;max-height:46%}
.ground{left:0;right:0;bottom:0;height:30%;background:repeating-linear-gradient(90deg,transparent 0 56px,rgba(0,0,0,.09) 56px 60px),linear-gradient(var(--grass-d) 0 12px,var(--grass) 12px 100%)}
.ground::after{content:"";position:absolute;left:0;right:0;bottom:0;height:20%;background:var(--soil);border-top:4px solid var(--ink)}
.prop{bottom:24%;transform-origin:bottom}.tree{animation:sway 3s steps(3) infinite alternate}
@keyframes sway{to{transform:skewX(3deg)}}
[data-time=night] .prop,[data-time=night] .mtn,[data-time=night] .ground{filter:brightness(.6) saturate(.9)}
.walker{bottom:3%;left:0;width:56px;animation:walk 26s linear infinite}.walker img{display:block;animation:step .5s steps(1) infinite}
@keyframes step{50%{transform:translateY(-4px)}}
@keyframes walk{0%{transform:translateX(4vw) scaleX(1)}49%{transform:translateX(90vw) scaleX(1)}50%{transform:translateX(90vw) scaleX(-1)}99%{transform:translateX(4vw) scaleX(-1)}100%{transform:translateX(4vw) scaleX(1)}}
.dialog{max-width:540px;background:var(--cream);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:26px 28px;animation:drop .7s steps(7) both}
@keyframes drop{from{transform:translateY(-130%)}}
.dialog small{display:block;margin-bottom:12px;font-weight:600}
.dialog h1{font-size:clamp(22px,4.4vw,38px)}.dialog p{margin:0 0 20px}
.dialog .btn{margin:0 10px 10px 0}
.dialog::after{content:"▼";position:absolute;right:14px;bottom:8px;font-size:14px;animation:tw 1s steps(2) infinite}
.dialog{position:relative}
/* SECTIONS */
.sec{padding:76px 0}.sec h2{font-size:clamp(18px,3vw,26px)}.lead{max-width:62ch}
.stats{background:var(--grass-d);border-bottom:4px solid var(--ink);padding:38px 0}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{background:var(--cream);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:18px;text-align:center}
.stat b{display:block;font:400 clamp(20px,3vw,30px)/1.2 var(--f1);margin-bottom:10px}
.about .grid{display:grid;grid-template-columns:240px 1fr;gap:44px;align-items:center}
.frame{background:var(--sky);border:4px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:24px;display:flex;justify-content:center}.frame img{width:128px;height:auto}
.about cite{display:block;margin-top:14px;font:12px/1.5 var(--f1);font-style:normal}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.pot{background:#fff;border:4px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:24px;transition:transform .1s steps(2)}
.pot:hover{transform:translate(-3px,-3px)}.pot:hover img{animation:hop .4s steps(3)}
@keyframes hop{50%{transform:translateY(-12px)}}
.pot img{width:80px;height:auto;display:block;margin-bottom:16px}.pot h3{font-size:13px}.pot p{margin:0}
.board{background:var(--soil);border-block:4px solid var(--ink);color:var(--cream)}
.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:28px}
.note{background:#fff7c2;color:var(--ink);border:4px solid var(--ink);box-shadow:4px 4px 0 rgba(0,0,0,.35);padding:16px;transform:rotate(-1deg)}.note:nth-child(even){transform:rotate(1deg)}
.note summary{cursor:pointer;font:12px/1.6 var(--f1);list-style:none}.note summary::-webkit-details-marker{display:none}
.note summary::before{content:"▶ "}.note[open] summary::before{content:"▼ "}
.note ul{margin:12px 0 0;padding-left:20px}
.news{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:26px}
.card{background:#fff;border:4px solid var(--ink);box-shadow:6px 6px 0 var(--ink);display:flex;flex-direction:column}
.thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:var(--sky);overflow:hidden;border-bottom:4px solid var(--ink)}
.thumb img{width:100%;height:100%;object-fit:cover}.thumb img.ph{width:104px;height:auto;object-fit:contain}
.card .body{padding:18px}.card time{font-size:15px;opacity:.75}.card h3{font-size:13px;margin:8px 0}.card h3 a{text-decoration:none}.card h3 a:hover{background:var(--sun)}.card p{margin:0}
.more{margin-top:32px}
/* PAGES */
.phd{background:var(--sky);border-bottom:4px solid var(--ink);padding:48px 0 32px}.phd h1{font-size:clamp(20px,3.6vw,32px);margin:0}.phd time{display:block;margin-top:12px}
.entry{max-width:74ch;font-size:20px}.entry img{height:auto;border:4px solid var(--ink)}
.entry a{color:var(--red);font-weight:600}.entry blockquote{margin:1.5em 0;padding:8px 20px;border-left:8px solid var(--sun);background:#fff}
.nav-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.page-numbers{display:inline-block;padding:8px 14px;border:4px solid var(--ink);background:#fff;text-decoration:none}.page-numbers.current{background:var(--sun)}
/* FOOTER */
.ft{background:var(--ink);color:var(--cream);border-top:4px solid var(--ink);padding:56px 0 24px;position:relative}
.ft::before{content:"";position:absolute;left:0;right:0;top:-24px;height:20px;background:var(--grass-d);border-top:4px solid var(--ink)}
.ft .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px}.ft h3{font-size:12px;color:var(--sun)}.ft p{margin:0 0 6px}
.ft .copy{margin-top:36px;padding-top:16px;border-top:4px dashed rgba(255,244,214,.3);font-size:16px}
@media(max-width:820px){
.burger{display:block;margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:4px solid var(--ink);margin:0}.nav.open{display:block}.nav ul{flex-direction:column;padding:8px 4%}
.tog{order:3}.stats .grid{grid-template-columns:repeat(2,1fr)}.about .grid{grid-template-columns:1fr}.hero .prop.hide-s{display:none}.sun{width:64px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== v2 ===== */
.sec h2::after{content:"";display:block;width:96px;height:8px;margin-top:14px;background:repeating-linear-gradient(90deg,var(--grass-d) 0 8px,var(--sun) 8px 16px)}
.sec .lead{margin-top:0}
.hero .mtn{transform:translateX(calc(var(--mx,0)*-8px))}
.hills{left:0;bottom:25%;width:100%;height:12%;transform:translateX(calc(var(--mx,0)*-16px) )}
.birds{left:0;animation:fly linear infinite}.birds img{width:36px;display:block;animation:flap .5s steps(1) infinite}
@keyframes fly{from{transform:translateX(-80px)}to{transform:translateX(calc(100vw + 80px))}}
@keyframes flap{50%{transform:scaleY(-1)}}
[data-time=night] .birds{opacity:0}
.prop.n{display:none}[data-time=night] .prop.n{display:block}[data-time=night] .prop.d{display:none}
.fly{left:0;right:0;bottom:6%;height:24%;opacity:0;transition:opacity .6s}
.fly::before{content:"";position:absolute;left:0;top:0;width:6px;height:6px;background:#fff59d;box-shadow:10vw 40px #fff59d,23vw 90px #fff59d,36vw 20px #fff59d,52vw 100px #fff59d,64vw 50px #fff59d,77vw 120px #fff59d,91vw 70px #fff59d;animation:ff 3s steps(4) infinite alternate}
[data-time=night] .fly{opacity:1}@keyframes ff{to{transform:translate(14px,-18px)}}
.hero-tog{right:16px;bottom:16px;z-index:6}
.about{background:linear-gradient(var(--cream),#fbe9b8)}
.board p{margin:0;padding-top:10px}
.mapbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0 20px}.mapbar .btn{padding:12px 14px;font-size:11px}
.relief{font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.relief input{width:140px;margin:0}
.mapbox{border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);background:var(--sky)}
#peta3d{height:clamp(420px,70vh,640px);width:100%}.mapfail{padding:24px}
.mpin{image-rendering:pixelated;cursor:pointer;animation:hop 1.2s steps(3) infinite}
.maplibregl-popup-content{font:400 16px/1.5 var(--f2);color:var(--ink);border:4px solid var(--ink);border-radius:0;box-shadow:4px 4px 0 var(--ink);padding:10px 14px}
.maplibregl-popup-content b{font:11px/1.6 var(--f1)}
.maplibregl-ctrl-group{border-radius:0;border:4px solid var(--ink);box-shadow:none}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:20px;background:#fff;border:4px solid var(--ink);margin:6px 0 14px;display:block}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:28px;background:var(--sun);border:4px solid var(--ink);cursor:pointer}
input[type=range]::-moz-range-thumb{width:10px;height:20px;background:var(--sun);border:4px solid var(--ink);border-radius:0;cursor:pointer}
.sim{background:#1f1a33;color:var(--cream);border-block:4px solid var(--ink)}
.simgrid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px}
.panel{background:var(--cream);color:var(--ink);border:4px solid var(--cream);box-shadow:6px 6px 0 #000}
.panel canvas{display:block;width:100%;height:auto;image-rendering:pixelated;background:#000}
.panel.ctrl{padding:18px}.panel label{display:block;font-weight:600;font-size:17px}.panel output{float:right;font:11px/1.8 var(--f1)}
.readout{margin:0 0 16px;font-size:18px;min-height:5.2em}
.presets{display:flex;flex-wrap:wrap;gap:10px}.presets .btn{font-size:10px;padding:10px 12px}
.note-s{max-width:80ch;margin:24px 0 0;font-size:16px;opacity:.85}
@media(max-width:820px){.simgrid{grid-template-columns:1fr}.hills{height:9%}}
@media(prefers-reduced-motion:reduce){.hero .mtn,.hills{transform:none}}

/* ===== v2.1: palet dan gaya mengikuti simulasi GTL ===== */
.hero{--s1:#8fd0f2;--s2:#c4e8f8}
[data-time=night] .hero{--s1:#1b1442;--s2:#4a3a86}
.ground{background:repeating-linear-gradient(90deg,transparent 0 56px,rgba(0,0,0,.09) 56px 60px),linear-gradient(#4f7d42 0 12px,#6c944f 12px 100%)}
.ground::after{background:#a87952}
.sun{width:80px}
.el{position:absolute;bottom:18%;width:24px;height:30px;z-index:2}.el img{position:absolute;left:0;bottom:0;width:24px;height:auto}
.el .on{opacity:0;animation:elon 5.4s steps(1) infinite;animation-delay:var(--d)}
@keyframes elon{0%{opacity:1}11%{opacity:0}}
.sim{background:linear-gradient(#0f2743,#0b1b2b)}
.sim h2::after{background:repeating-linear-gradient(90deg,#22c55e 0 8px,#ffd45c 8px 16px)}
.vid{margin:28px 0 0}.vid video{display:block;width:100%;height:auto;aspect-ratio:1000/620;background:#0b1b2b;border:4px solid var(--cream);box-shadow:8px 8px 0 #000;image-rendering:pixelated}
@media(max-width:820px){.el{display:none}}

.mlabel{font:11px/1.4 var(--f1);background:var(--cream);color:var(--ink);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:8px 10px;pointer-events:none;white-space:nowrap}


/* ===== Padawaras modern portal refresh 2.2 ===== */
:root{--ink:#18352e;--sky:#e7f4ed;--grass:#6da88a;--grass-d:#174f3f;--soil:#d5e6d9;--sun:#e9b95e;--cream:#fbfaf6;--red:#b9533f;--f1:'Manrope',system-ui,sans-serif;--f2:'DM Sans',system-ui,sans-serif;--line:rgba(24,53,46,.13);--shadow:0 18px 55px rgba(22,57,44,.09)}
html{scroll-padding-top:90px}body{font:400 16px/1.75 var(--f2);color:#334940;background:var(--cream);-webkit-font-smoothing:antialiased}img{image-rendering:auto}h1,h2,h3{font-family:var(--f1);font-weight:800;letter-spacing:-.035em;line-height:1.15}h2{font-size:clamp(28px,3vw,42px)!important;letter-spacing:-.045em}h3{font-size:20px;letter-spacing:-.025em}.wrap{width:min(1180px,90%)}
.hd{background:rgba(251,250,246,.92);backdrop-filter:blur(18px);border:0;border-bottom:1px solid var(--line);box-shadow:0 5px 24px rgba(20,50,38,.035)}.hd .wrap{min-height:78px;padding:12px 0;gap:22px}.logo{font:800 16px/1.2 var(--f1);letter-spacing:-.03em;gap:12px}.logo img{width:42px;height:42px;object-fit:contain;padding:5px;background:#e6f1e7;border-radius:14px}.nav ul{gap:2px}.nav a{font:600 13px/1.3 var(--f2);padding:10px 12px;border:0;border-radius:999px;color:#496057;transition:background .2s,color .2s}.nav a:hover,.nav .current-menu-item>a{background:#e8f1e9;color:var(--grass-d)}.btn,.tog,.burger{font:700 14px/1.2 var(--f2);padding:13px 19px;border:1px solid transparent;border-radius:999px;box-shadow:none;background:var(--grass-d);color:white;transition:transform .25s,background .25s,box-shadow .25s}.btn:hover,.tog:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(23,79,63,.18);background:#236650}.btn.alt{background:rgba(255,255,255,.72);border-color:rgba(24,53,46,.18);color:var(--ink)}.btn.alt:hover{background:white}.tog{background:#edf3eb;color:var(--grass-d);padding:10px 14px;font-size:12px}.burger{display:none}
.hero{height:clamp(570px,78vh,760px);min-height:570px;border:0;border-radius:0 0 34px 34px;overflow:hidden;background:linear-gradient(125deg,#d9eee0 0%,#e9f2df 48%,#f7e9c9 100%)}.hero .wrap{padding-top:clamp(60px,9vh,110px)}.hero .dialog{max-width:620px;padding:clamp(28px,4vw,48px);border:1px solid rgba(255,255,255,.75);border-radius:28px;background:rgba(251,250,246,.9);box-shadow:0 24px 70px rgba(32,73,52,.13);backdrop-filter:blur(12px);animation:rise .8s cubic-bezier(.2,.8,.2,1) both}.dialog::after{display:none}.dialog small{font:700 12px/1.4 var(--f2);letter-spacing:.12em;text-transform:uppercase;color:var(--grass-d);margin-bottom:18px}.dialog h1{font-size:clamp(40px,6.5vw,76px);max-width:10ch;margin:0 0 18px;color:#173f32}.dialog p{font-size:clamp(17px,1.7vw,20px);line-height:1.7;color:#536b5d;max-width:46ch;margin-bottom:26px}.dialog .btn{margin:0 9px 8px 0}.hero .sun{width:86px;right:13%;top:9%;filter:drop-shadow(0 8px 16px #d7b66a55)}.hero .mtn{max-height:50%;opacity:.72}.hero .hills{opacity:.88}.ground{height:20%;background:linear-gradient(#8cb78a 0 10px,#719c73 10px 100%);opacity:.82}.ground::after{height:13%;background:#6b8d65;border:0}.hero .prop{filter:drop-shadow(0 8px 6px #315c3820)}.hero .el{opacity:.5}.hero-tog{right:4%;bottom:22%;z-index:6}.hero .walker{opacity:.85}.hero .cloud{opacity:.7}.hero .birds{opacity:.65}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.sec{padding:clamp(64px,8vw,104px) 0}.sec h2::after{content:"";display:block;width:54px;height:4px;border-radius:8px;margin-top:18px;background:var(--sun)}.sec .lead{font-size:18px;line-height:1.8;color:#607268;margin:18px 0 0}.stats{background:#174f3f;border:0;padding:28px 0}.stats .grid{gap:14px}.stat{background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.17);border-radius:18px;box-shadow:none;padding:22px}.stat b{font:800 clamp(24px,3vw,34px)/1.2 var(--f1);color:#f2d18b}.about{background:linear-gradient(180deg,#f7f8f1,#fbfaf6)}.about .grid{grid-template-columns:minmax(220px,.72fr) 1.5fr;gap:clamp(30px,6vw,80px)}.frame{min-height:270px;align-items:center;background:linear-gradient(145deg,#e1eee0,#f2e8ca);border:1px solid #d9e5d8;border-radius:28px;box-shadow:var(--shadow);padding:38px}.frame img{width:min(150px,80%);filter:drop-shadow(0 14px 14px #244c3022)}.about cite{font:700 13px/1.5 var(--f2);color:var(--grass-d)}.board{background:#edf3e9;color:var(--ink);border:0}.board .lead{color:#61766a}.notes{gap:16px}.note{background:#fff;border:1px solid #dfe8dc;border-radius:16px;box-shadow:0 8px 24px rgba(25,65,44,.045);padding:22px;transform:none!important;transition:transform .25s,box-shadow .25s}.note:hover{transform:translateY(-3px)!important;box-shadow:var(--shadow)}.note summary{font:700 16px/1.5 var(--f1);list-style:none}.note summary::before{content:"＋ ";color:#b58b3c}.note[open] summary::before{content:"− "}.note p{line-height:1.7}.mapbar{gap:9px}.mapbar .btn{font-size:13px;padding:11px 16px}.mapbox{border:1px solid #d8e3d8;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}#peta3d{height:clamp(400px,58vw,620px)}.relief{font-size:14px}.relief input{accent-color:var(--grass-d)}input[type=range]{appearance:auto;height:auto;background:transparent;border:0;margin:0;accent-color:var(--grass-d)}.maplibregl-popup-content{font:14px/1.5 var(--f2);border:1px solid #dce5dc;border-radius:12px;box-shadow:var(--shadow)}.maplibregl-ctrl-group{border:1px solid #dce5dc;border-radius:10px;overflow:hidden}.sim{background:linear-gradient(135deg,#153f34,#1c5a47);color:#f8f7ef;border:0;border-radius:30px;margin:0 2%;padding:clamp(54px,7vw,84px) 0}.sim .wrap{width:min(1080px,88%)}.sim .lead{color:#d0e1d5}.sim h2::after{background:#f0ca78}.vid video{border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:0 20px 50px #071f1a55;image-rendering:auto}.note-s{font-size:14px;line-height:1.7;color:inherit}.news{gap:22px}.card{border:1px solid #e1e8df;border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(24,53,46,.045);transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.thumb{background:#e6efe4;border:0}.thumb img.ph{width:90px}.card .body{padding:24px}.card time{font-size:13px;color:#7c8c80}.card h3{font-size:19px;line-height:1.35}.card h3 a:hover{background:transparent;color:#287057}.card p{font-size:15px;line-height:1.7;color:#63746a}.phd{background:linear-gradient(120deg,#e1eee2,#f6edd6);border:0;padding:64px 0 44px}.phd h1{font-size:clamp(34px,5vw,56px)}.entry{font-size:18px;line-height:1.85}.entry img{border:0;border-radius:16px}.entry a{color:#1f6b50}.page-numbers{border:1px solid #dce5dc;border-radius:10px}.page-numbers.current{background:#174f3f;color:white}.ft{background:#12392f;color:#eaf1e9;border:0;padding:60px 0 28px}.ft::before{display:none}.ft h3{font-size:18px;color:#f0cc7c}.ft .copy{border-top:1px solid #ffffff2b;font-size:13px;color:#c4d6c9}.skip:focus{left:10px;top:10px;background:#fff;padding:12px;border-radius:8px;z-index:99}
/* Reveal sections on scroll; content remains visible without JavaScript. */
@media(min-width:821px){.sec .wrap{animation:section-in .7s ease both;animation-timeline:view();animation-range:entry 0% entry 20%}}
@keyframes section-in{from{opacity:.75;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:820px){.hd .wrap{min-height:68px}.logo{font-size:14px}.burger{display:block;margin-left:auto}.nav{display:none;position:absolute;left:5%;right:5%;top:calc(100% + 8px);background:rgba(251,250,246,.98);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px}.nav.open{display:block}.nav ul{flex-direction:column;padding:4px}.nav a{padding:13px 14px;border-radius:10px}.tog{order:3}.hero{height:auto;min-height:680px;border-radius:0 0 24px 24px}.hero .wrap{padding-top:70px}.hero .dialog{padding:28px 24px}.dialog h1{font-size:clamp(42px,12vw,64px)}.hero .mtn{max-height:34%;bottom:21%}.hero .hills{bottom:20%;height:8%}.ground{height:19%}.hero-tog{bottom:20%;right:5%}.hero .prop{width:100px!important}.hero .prop[style*="86%"]{display:none}.stats .grid{grid-template-columns:repeat(2,1fr)}.about .grid{grid-template-columns:1fr}.frame{min-height:190px}.frame img{width:110px}.sim{margin:0 3%;border-radius:22px}.mapbar .btn{padding:10px 13px}.relief{width:100%;margin-top:8px}.news{grid-template-columns:1fr}.ft .grid{gap:20px}}
@media(max-width:440px){.hd .wrap{gap:8px}.logo{font-size:12px;max-width:180px}.logo img{width:34px;height:34px}.hd .tog{font-size:11px;padding:9px 11px}.hero{min-height:700px}.dialog .btn{display:inline-flex;margin-bottom:10px}.stats .grid{gap:10px}.stat{padding:16px 10px;font-size:13px}.stat b{font-size:22px}.sec{padding:60px 0}.mapbar .btn{font-size:12px}.mapbox{border-radius:14px}#peta3d{height:420px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/* Quick access and flagship mitigation content */
.quick{padding-top:58px;padding-bottom:70px}.quick-head,.mitigation-intro{display:grid;grid-template-columns:1fr minmax(260px,.72fr);gap:42px;align-items:end;margin-bottom:28px}.eyebrow{display:inline-block;color:#34745b;font:800 12px/1.4 var(--f2);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}.quick-head h2,.mitigation-intro h2{margin-bottom:0}.quick-head .lead,.mitigation-intro .lead{margin:0;font-size:16px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-card{display:flex;align-items:center;gap:13px;padding:18px 16px;border:1px solid #e0e8dd;border-radius:17px;background:#fff;text-decoration:none;box-shadow:0 7px 22px #244b3010;transition:transform .25s,box-shadow .25s,border-color .25s}.quick-card:hover{transform:translateY(-4px);border-color:#a9c8b0;box-shadow:var(--shadow)}.quick-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;background:#e8f1e7;color:#245f47;font-size:24px}.quick-card b,.quick-card small{display:block}.quick-card b{font:800 14px/1.35 var(--f1);color:#244536}.quick-card small{font-size:12px;color:#78887b;margin-top:4px}.quick-arrow{margin-left:auto;color:#72917b;font-size:20px}.mitigation{background:#f0f4ec}.mitigation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mitigation-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e0e8dd;border-radius:22px;padding:28px;box-shadow:0 10px 30px #244b3009;transition:transform .3s,box-shadow .3s}.mitigation-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.mitigation-number{position:absolute;top:22px;right:24px;font:800 13px/1 var(--f1);color:#a0b7a3}.mitigation-symbol{display:grid;place-items:center;width:58px;height:58px;margin-bottom:26px;border-radius:18px;background:#e7f0e4;color:#286247;font-size:30px}.mitigation-card:nth-child(2) .mitigation-symbol{background:#f7ebcf;color:#916d2e}.mitigation-card:nth-child(3) .mitigation-symbol{background:#e2edf0;color:#3b7076}.mitigation-card h3{font-size:21px;margin-bottom:12px}.mitigation-card p{font-size:15px;line-height:1.75;color:#65766b;margin:0 0 20px}.mitigation-card>a{font-size:14px;font-weight:800;color:#286247;text-decoration:none}.mitigation-card>a span{display:inline-block;margin-left:5px;transition:transform .2s}.mitigation-card>a:hover span{transform:translateX(4px)}.mitigation-note{margin:22px 0 0;padding:16px 18px;border-left:3px solid #d9b66a;background:#fff9e9;border-radius:0 12px 12px 0;color:#6b644e;font-size:13px;line-height:1.7}
@media(max-width:820px){.quick-head,.mitigation-intro{grid-template-columns:1fr;gap:14px}.quick-grid{grid-template-columns:repeat(2,1fr)}.mitigation-grid{grid-template-columns:1fr}.mitigation-card{padding:24px}.mitigation-symbol{margin-bottom:18px}}
@media(max-width:440px){.quick-grid{grid-template-columns:1fr}.quick-card{padding:15px}.quick{padding-top:42px}}


/* ===== v2.3 portal administrasi dan informasi desa ===== */
.portal-heading{display:grid;grid-template-columns:1fr minmax(280px,.72fr);gap:36px;align-items:end;margin-bottom:30px}.portal-heading h2{margin-bottom:0}.portal-heading .lead{margin:0;color:#64766a;font-size:16px;line-height:1.8}.village-profile{background:linear-gradient(135deg,#fbfaf6,#edf4e9)}.profile-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.profile-main{padding:clamp(26px,4vw,46px);background:#174f3f;color:#f5f7ef;border-radius:24px;box-shadow:var(--shadow)}.profile-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#d9c17d;font-weight:800}.profile-main h3{font-size:clamp(26px,3vw,38px);margin:14px 0}.profile-main p{color:#d7e5d9;line-height:1.8}.profile-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.profile-facts>div{padding:14px;border-radius:14px;background:#ffffff13;border:1px solid #ffffff20}.profile-facts small,.profile-facts strong{display:block}.profile-facts small{font-size:12px;color:#c9ddce}.profile-facts strong{font-size:16px;margin-top:5px}.profile-side{display:grid;gap:16px}.info-panel{padding:24px;border:1px solid #dfe8dd;border-radius:20px;background:#fff}.info-panel h3{font-size:20px;margin:10px 0}.info-panel p{margin:0;color:#65766b;font-size:15px}.mini-icon{display:grid;place-items:center;width:42px;height:42px;background:#e8f1e7;border-radius:13px;color:#245f47;font-size:23px}.population{background:#fff}.population-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.population-card{padding:23px;border:1px solid #dfe8dd;border-radius:19px;background:#fbfcf8}.population-card>span{display:grid;place-items:center;width:42px;height:42px;background:#e6f1e6;color:#286247;border-radius:13px;font-size:22px;margin-bottom:20px}.population-card small{display:block;color:#738477;font-size:13px}.population-card strong{display:block;margin-top:7px;font:800 clamp(23px,2.5vw,34px)/1.2 var(--f1);color:#214c39;overflow-wrap:anywhere}.empty-data{grid-column:1/-1;padding:28px;border:1px dashed #b9cdb9;border-radius:18px;background:#f8fbf6}.empty-data p{margin:6px 0 0;color:#6a7b6c;font-size:14px}.demographic-details{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.demographic-details article{padding:20px;border-radius:16px;background:#f2f5ef}.demographic-details small{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#5e7865}.demographic-details p{margin:8px 0 0;font-size:14px;color:#5d6e62}.services{background:#f0f4ec}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{padding:24px;border-radius:20px;border:1px solid #dfe8dd;background:#fff;display:flex;flex-direction:column;align-items:flex-start;min-height:280px;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e7f0e4;color:#286247;font-size:25px}.service-card h3{font-size:18px;margin:20px 0 8px}.service-card p{font-size:14px;color:#65766b;line-height:1.75;margin:0 0 18px}.service-card a{margin-top:auto;font-size:13px;font-weight:800;color:#286247;text-decoration:none}.service-note{margin:20px 0 0;color:#6d796d;font-size:13px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resource-card{padding:28px;border-radius:21px;border:1px solid #dfe8dd;background:#fff;transition:transform .25s,box-shadow .25s}.resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.resource-card>span{font-size:11px;letter-spacing:.1em;font-weight:800;color:#6c8a70}.resource-card h3{font-size:22px;margin:18px 0 10px}.resource-card p{font-size:15px;line-height:1.8;color:#65766b}.resource-card a{font-size:13px;font-weight:800;color:#286247;text-decoration:none}.village-resources{background:#fbfaf6}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.population-grid{grid-template-columns:repeat(2,1fr)}.profile-layout{grid-template-columns:1fr}.portal-heading{grid-template-columns:1fr;gap:12px}.resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.service-grid,.resource-grid,.demographic-details{grid-template-columns:1fr}.profile-facts{grid-template-columns:1fr}.population-card{padding:17px}.population-card>span{margin-bottom:14px}.portal-heading{margin-bottom:22px}}
