/* Tahap 53 — visual refinement beranda. Non-destructive scoped stylesheet. */
:root{--home-ink:#173e34;--home-border:#e2eae3;--home-muted:#607568}
.home-main{overflow:clip}
.home-container{max-width:1180px}
.home-header{box-shadow:0 1px 0 rgba(25,65,47,.06)}
.home-header nav a{transition:color .16s ease,background .16s ease}
.home-nav-cta:hover,.home-nav-cta:focus-visible{background:#245b49}
.home-hero{min-height:580px;background-position:center 52%}
.home-hero-inner{padding-top:92px;padding-bottom:170px}
.home-hero h1{max-width:790px;text-wrap:balance;letter-spacing:-.055em}
.home-hero p{max-width:540px}
.home-btn{min-height:50px;transition:transform .16s ease,box-shadow .16s ease}
.home-btn:hover{transform:translateY(-2px)}
.home-btn:focus-visible,.home-header nav a:focus-visible{outline:3px solid #dbbd77;outline-offset:4px}
.hero-bottom-label{max-width:calc(100% - 32px);white-space:normal;font-size:12px}
.home-main .section-heading{margin-bottom:24px}
.home-main .section-heading h2{line-height:1.18;letter-spacing:-.035em;text-wrap:balance}
.stats-section,.news-public-section,.gallery-section,.emergency{scroll-margin-top:30px}
.stat-card,.chart-card,.public-news-card,.gallery-card,.emergency-card,.features-grid article{border-radius:17px;box-shadow:0 6px 22px rgba(20,50,35,.035)}
.stat-card{min-width:0}
.stat-card strong{font-variant-numeric:tabular-nums}
.public-news-card{display:flex;flex-direction:column;min-height:210px}
.public-news-card .public-news-detail-link{margin-top:auto;align-self:flex-start}
.public-news-card h3{overflow-wrap:anywhere}
.news-footer a,.text-cta,.gallery-link{text-underline-offset:4px}
.home-footer{align-items:center;line-height:1.6}
@media(max-width:920px){.home-hero-inner{padding-top:76px;padding-bottom:140px}}
@media(max-width:650px){
 .home-header{gap:10px}
 .home-header .brand{font-size:15px;line-height:1.25}
 .home-header nav{display:flex;gap:8px}
 .home-header nav .home-nav-cta{min-height:44px;display:inline-flex;align-items:center}
 .home-hero{min-height:525px;background-position:56% center}
 .home-hero-inner{padding:64px 20px 100px}
 .home-hero h1{font-size:clamp(39px,10.8vw,58px);line-height:1.12;letter-spacing:-.055em;margin-top:20px}
 .home-hero p{font-size:15px;line-height:1.65}
 .hero-actions{flex-direction:column;align-items:stretch;max-width:370px;margin-top:25px}
 .hero-actions .home-btn{width:100%;min-height:51px;padding:13px 16px;box-sizing:border-box}
 .hero-bottom-label{left:18px;right:18px;max-width:none;font-size:11px;line-height:1.5}
 .home-container{width:calc(100% - 32px)}
 .stats-section{padding-top:36px}
 .stat-grid{gap:10px}
 .stat-card{min-height:122px;padding:15px 13px}
 .stat-card strong{font-size:clamp(25px,7vw,33px)}
 .chart-card,.public-news-card,.emergency-card{padding:18px}
 .features-grid{grid-template-columns:1fr 1fr}
 .features-grid article{min-height:0}
 .home-about{padding-top:30px;padding-bottom:55px}
 .news-public-section,.gallery-section,.emergency{padding-top:42px;padding-bottom:50px}
 .home-footer{align-items:flex-start}
}
@media(max-width:380px){.features-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.home-btn,.home-header nav a{transition:none!important}.home-btn:hover{transform:none}}
