:root{
    --maroon:#742b21;
    --maroon-dark:#541b15;
    --brown:#9a4b35;
    --rust:#b76542;
    --cream:#f7ead7;
    --cream-2:#fbf6ef;
    --ink:#2c2522;
    --muted:#786d68;
    --line:#eadcd4;
    --shadow:0 18px 45px rgba(80,38,26,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fffaf7}
a{text-decoration:none}
.text-maroon{color:var(--maroon)!important}
.text-cream{color:var(--cream)!important}
.min-w-0{min-width:0}

.ipi-navbar{
    background:linear-gradient(100deg,var(--maroon-dark),var(--maroon),#8b3a29);
    box-shadow:0 8px 24px rgba(66,24,17,.14);
}
.brand-logo{width:54px;height:54px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;color:#fff;line-height:1.05}
.brand-copy strong{font-size:18px}
.brand-copy small{font-size:11px;color:#f0d8c9;margin-top:5px}
.ipi-navbar .nav-link{color:#f8e9df!important;font-weight:600;font-size:14px}
.ipi-navbar .nav-link:hover,.ipi-navbar .nav-link.active{color:#fff4c9!important}
.btn-cream{background:var(--cream);border-color:var(--cream);color:var(--maroon-dark);font-weight:700}
.btn-cream:hover{background:#ffe8b7;border-color:#ffe8b7;color:var(--maroon-dark)}
.btn-maroon{background:var(--maroon);border-color:var(--maroon);color:#fff;font-weight:700}
.btn-maroon:hover{background:var(--maroon-dark);border-color:var(--maroon-dark);color:#fff}
.btn-outline-maroon{border:1px solid var(--maroon);color:var(--maroon);font-weight:700}
.btn-outline-maroon:hover{background:var(--maroon);color:#fff}

.hero-section{
    position:relative;overflow:hidden;padding:90px 0 85px;
    background:
        radial-gradient(circle at 86% 15%,rgba(183,101,66,.16),transparent 28%),
        linear-gradient(135deg,#fffaf6,#fbf2ea);
}
.hero-section .container{z-index:2}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.55}
.hero-orb-one{width:420px;height:420px;right:-150px;top:-180px;background:#dba98e}
.hero-orb-two{width:260px;height:260px;left:-130px;bottom:-150px;background:#f2d9c8}
.eyebrow{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;color:var(--maroon)}
.hero-section h1{font-size:clamp(42px,5vw,68px);line-height:1.02;font-weight:800;letter-spacing:-2px;margin:15px 0 22px}
.hero-section h1 span{color:var(--maroon)}
.hero-lead{font-size:18px;line-height:1.7;color:#625955;max-width:760px;margin-bottom:30px}
.hero-card{
    position:relative;min-height:340px;border-radius:36px;padding:42px;
    background:linear-gradient(145deg,var(--maroon-dark),var(--maroon),var(--rust));
    color:#fff;box-shadow:0 28px 70px rgba(91,35,25,.24);
    display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden
}
.hero-card:before{content:"";position:absolute;inset:auto -90px -110px auto;width:280px;height:280px;border-radius:50%;border:38px solid rgba(255,233,204,.14)}
.hero-logo-ring{position:absolute;top:35px;left:38px;width:112px;height:112px;background:#fff;border-radius:50%;padding:8px;box-shadow:0 10px 25px rgba(0,0,0,.15)}
.hero-logo-ring img{width:100%;height:100%;object-fit:contain}
.hero-card-kicker{font-size:10px;letter-spacing:1.4px;color:#f3d4c3;margin-bottom:8px}
.hero-card h3{font-size:28px;font-weight:800}
.hero-card p{color:#f1ded4;line-height:1.6}

.stat-strip{background:linear-gradient(100deg,var(--maroon-dark),var(--maroon),#8d3928);color:#fff}
.stat-strip-item{display:flex;align-items:center;gap:18px;padding:28px 26px;border-right:1px solid rgba(255,255,255,.16)}
.stat-strip-item:last-child{border-right:0}
.stat-strip-item i{font-size:31px;color:#f5cf92}
.stat-strip-item strong{display:block;font-size:26px;line-height:1}
.stat-strip-item span{display:block;font-size:12px;color:#efdcd1;margin-top:5px}

.section-space{padding:78px 0}
.section-heading{max-width:750px}
.section-heading h2{font-size:36px;font-weight:800;margin:10px 0}
.section-heading p{color:var(--muted);font-size:17px}
.feature-card,.content-card,.summary-card{
    background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px
}
.feature-card{height:100%;padding:28px}
.feature-card h5{font-weight:800;margin:15px 0 8px}
.feature-card p{color:var(--muted);margin:0;line-height:1.6}
.feature-icon{width:54px;height:54px;border-radius:15px;background:var(--cream-2);color:var(--maroon);display:grid;place-items:center;font-size:25px;border:1px solid #efdfd3}

.map-preview-section{background:#f9f2ed}
.content-card{padding:28px}
.landing-map{height:440px;border-radius:16px;overflow:hidden;background:#f7f0e9}
.statistics-map{height:590px;border-radius:16px;overflow:hidden;background:#f7f0e9}
.leaflet-container{font-family:inherit}
.map-tooltip{font-weight:700}

.latest-list{display:flex;flex-direction:column}
.latest-member{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #efe4dd}
.latest-member:last-child{border-bottom:0}
.latest-member img,.member-avatar-fallback{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 52px}
.member-avatar-fallback{display:grid;place-items:center;background:#f0e3dc;color:var(--maroon);font-size:22px}
.latest-member strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.latest-member span{display:block;font-size:11px;color:#85746d;text-transform:uppercase;margin-top:3px}
.latest-member span i{color:var(--maroon)}

.cta-section{padding:0 0 78px}
.cta-box{
    background:linear-gradient(110deg,var(--maroon-dark),var(--maroon),var(--rust));
    border-radius:26px;color:#fff;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;
    box-shadow:0 20px 50px rgba(90,32,23,.2)
}
.cta-box h2{font-weight:800;margin:7px 0 10px}
.cta-box p{color:#f1dcd1}

.ipi-footer{background:#2f211d;color:#cfbbb1;padding:26px 0;font-size:13px}
.ipi-footer a{color:#ead7cd}
.ipi-footer a:hover{color:#fff}

.stats-hero{padding:58px 0;background:linear-gradient(115deg,var(--maroon-dark),var(--maroon),var(--rust));color:#fff}
.stats-hero h1{font-size:42px;font-weight:800;margin:7px 0}
.stats-hero p{color:#ecd8ce}
.summary-card{padding:24px;display:flex;flex-direction:column;min-height:155px}
.summary-card i{font-size:28px;color:var(--maroon);margin-bottom:auto}
.summary-card strong{font-size:31px;color:var(--maroon);margin-top:18px}
.summary-card span{color:var(--muted);font-size:13px}
.province-search{width:260px;max-width:100%}
.stats-table thead th{color:#7c6860;font-size:12px;text-transform:uppercase;letter-spacing:.4px;border-bottom-color:#e8dcd5}
.stats-table tbody td{border-bottom-color:#f0e5df;padding-top:14px;padding-bottom:14px}
.province-bar{height:9px;background:#f1e5df;border-radius:99px;overflow:hidden}
.province-bar span{display:block;height:100%;background:linear-gradient(90deg,#d89469,var(--maroon));border-radius:99px}

.map-legend{background:rgba(255,255,255,.95);padding:10px 12px;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.1);font-size:11px;line-height:1.5}
.map-legend .legend-title{font-weight:800;margin-bottom:5px}
.map-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}

@media(max-width:991.98px){
    .ipi-navbar .navbar-collapse{padding:15px 0}
    .hero-section{padding:60px 0}
    .stat-strip-item{border-bottom:1px solid rgba(255,255,255,.15)}
    .stat-strip-item:nth-child(2){border-right:0}
    .cta-box{flex-direction:column;align-items:flex-start}
}
@media(max-width:575.98px){
    .brand-copy strong{font-size:14px}.brand-copy small{font-size:9px}.brand-logo{width:44px;height:44px}
    .hero-section h1{font-size:39px;letter-spacing:-1px}
    .hero-lead{font-size:16px}
    .hero-card{min-height:300px;padding:32px}
    .hero-logo-ring{width:90px;height:90px}
    .section-space{padding:58px 0}
    .content-card{padding:20px}
    .landing-map{height:360px}.statistics-map{height:460px}
    .stat-strip-item{padding:22px 12px}.stat-strip-item i{font-size:23px}.stat-strip-item strong{font-size:21px}
}
