:root {
  --forest: #1B4D3E;
  --forest-mid: #2D6A4F;
  --amber: #D4891A;
  --amber-light: #F5A623;
  --bg: #FAFAF8;
  --white: #FFFFFF;
  --text: #111827;
  --muted: #6B7280;
  --light: #9CA3AF;
  --border: #E5E7EB;
  --alt: #F3F6F3;
  --shadow: 0 1px 4px rgba(0,0,0,0.06),0 4px 16px rgba(0,0,0,0.04);
  --shadow-hover: 0 4px 12px rgba(0,0,0,0.1),0 16px 48px rgba(0,0,0,0.08);
  --r: 14px;
  --font: 'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}
body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;}
input,select,textarea{min-width:0;max-width:100%;}
a{text-decoration:none;color:inherit;}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px;}
button{-webkit-tap-highlight-color:transparent;}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}
  .reveal{opacity:1;transform:none;}
}

/* NAV */
nav{position:sticky;top:0;z-index:200;background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 5%;height:64px;display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;color:var(--forest);letter-spacing:-0.3px;}
.logo-mark{width:34px;height:34px;background:var(--forest);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;}
.logo span{color:var(--amber);}
.nav-links{display:flex;gap:1.8rem;}
.nav-links a{font-size:0.875rem;font-weight:500;color:var(--muted);transition:color .15s;}
.nav-links a:hover{color:var(--forest);}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-wa{display:flex;align-items:center;gap:6px;background:#25D366;color:#fff;padding:8px 16px;border-radius:8px;font-size:0.82rem;font-weight:600;transition:opacity .15s;}
.nav-wa:hover{opacity:0.88;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px;background:none;border:none;}
.hamburger span{width:22px;height:2px;background:var(--forest);border-radius:2px;}

/* MOBILE NAV */
.mobile-nav{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,0.5);opacity:0;pointer-events:none;transition:opacity .25s;overflow:hidden;}
.mobile-nav.open{opacity:1;pointer-events:all;}
.mobile-nav-panel{position:absolute;top:0;right:0;width:min(320px,85vw);height:100%;background:var(--white);padding:24px;transform:translateX(100%);transition:transform .25s;display:flex;flex-direction:column;gap:8px;}
.mobile-nav.open .mobile-nav-panel{transform:none;}
.mobile-close{align-self:flex-end;font-size:1.5rem;cursor:pointer;color:var(--muted);margin-bottom:16px;background:none;border:none;padding:4px 10px;}
.mobile-nav-panel a{display:block;padding:12px 0;font-size:1rem;font-weight:500;color:var(--text);border-bottom:1px solid var(--border);}

/* HERO */
.hero{background:var(--white);padding:80px 5% 72px;text-align:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(27,77,62,0.06) 0%,transparent 70%);pointer-events:none;}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(27,77,62,0.08);color:var(--forest);padding:5px 14px;border-radius:999px;font-size:0.78rem;font-weight:600;letter-spacing:0.4px;margin-bottom:1.4rem;}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.12;letter-spacing:-1.5px;max-width:720px;margin:0 auto 1.2rem;}
.hero h1 em{color:var(--forest);font-style:normal;}
.hero p{font-size:1.05rem;color:var(--muted);max-width:520px;margin:0 auto 2rem;}
.hero-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;border-radius:10px;font-size:0.9rem;font-weight:600;transition:all .15s;cursor:pointer;border:none;font-family:var(--font);}
.btn-forest{background:var(--forest);color:#fff;}
.btn-forest:hover{background:var(--forest-mid);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--forest);border:1.5px solid var(--forest);}
.btn-outline:hover{background:rgba(27,77,62,0.05);}
.hero-stats{display:flex;justify-content:center;border:1px solid var(--border);border-radius:var(--r);background:var(--white);max-width:700px;margin:3rem auto 0;overflow:hidden;flex-wrap:wrap;}
.hero-stat{flex:1;min-width:120px;padding:18px 16px;text-align:center;border-right:1px solid var(--border);}
.hero-stat:last-child{border-right:none;}
.stat-val{font-size:1.4rem;font-weight:800;color:var(--forest);display:block;}
.stat-lbl{font-size:0.68rem;color:var(--muted);margin-top:2px;font-weight:500;}

/* SECTION */
section{padding:72px 5%;}
.inner{max-width:1160px;margin:0 auto;}
.s-label{font-size:0.72rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--amber);margin-bottom:8px;}
.s-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-0.5px;}
.s-sub{color:var(--muted);margin-top:6px;font-size:0.95rem;}
.s-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;gap:1rem;}
.link-arrow{font-size:0.82rem;font-weight:600;color:var(--forest);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;}
.link-arrow:hover{text-decoration:underline;}

/* FEATURED */
.featured-card{background:var(--forest);border-radius:var(--r);padding:48px;color:#fff;display:grid;grid-template-columns:1fr 180px;gap:2rem;align-items:center;}
.feat-tag{display:inline-block;background:var(--amber);color:#fff;font-size:0.68rem;font-weight:700;letter-spacing:0.8px;padding:4px 10px;border-radius:6px;text-transform:uppercase;margin-bottom:14px;}
.featured-card h2{font-size:clamp(1.3rem,2.5vw,1.7rem);font-weight:800;line-height:1.25;margin-bottom:10px;letter-spacing:-0.3px;}
.featured-card p{color:rgba(255,255,255,0.7);font-size:0.92rem;margin-bottom:20px;}
.feat-icon{font-size:7rem;text-align:center;opacity:0.9;}

/* CATEGORY FILTER */
.cat-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:2rem;}
.cat-btn{padding:7px 16px;border-radius:999px;font-size:0.8rem;font-weight:600;border:1.5px solid var(--border);background:var(--white);color:var(--muted);cursor:pointer;transition:all .15s;font-family:var(--font);}
.cat-btn.active,.cat-btn:hover{border-color:var(--forest);background:var(--forest);color:#fff;}

/* ARTICLE CARDS */
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.article-card{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;cursor:pointer;}
.article-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);}
.a-thumb{height:160px;display:flex;align-items:center;justify-content:center;font-size:2.8rem;position:relative;}
.a-cat{position:absolute;top:12px;left:12px;background:var(--forest);color:#fff;font-size:0.65rem;font-weight:700;padding:3px 9px;border-radius:6px;letter-spacing:0.5px;text-transform:uppercase;}
.a-body{padding:20px;flex:1;display:flex;flex-direction:column;}
.a-body h3{font-size:0.95rem;font-weight:700;line-height:1.4;margin-bottom:8px;}
.a-body p{font-size:0.82rem;color:var(--muted);flex:1;line-height:1.6;}
.a-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.a-meta{font-size:0.7rem;color:var(--light);}
.read-link{font-size:0.75rem;font-weight:600;color:var(--forest);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--white);border-radius:20px;max-width:740px;width:100%;margin:auto;transform:translateY(20px);transition:transform .25s;position:relative;overflow:hidden;}
.modal-overlay.open .modal{transform:none;}
.m-progress{height:3px;background:var(--border);}
.m-bar{height:100%;background:var(--forest);width:0%;transition:width .1s;}
.m-header{padding:32px 36px 0;}
.m-tag{display:inline-block;background:rgba(27,77,62,0.1);color:var(--forest);font-size:0.68rem;font-weight:700;letter-spacing:0.6px;padding:4px 10px;border-radius:6px;text-transform:uppercase;margin-bottom:14px;}
.modal h2{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:800;line-height:1.25;letter-spacing:-0.4px;margin-bottom:14px;}
.m-byline{display:flex;align-items:center;gap:12px;font-size:0.78rem;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--border);}
.m-body{padding:28px 36px 36px;overflow-wrap:break-word;}
.m-body h3{font-size:1.05rem;font-weight:700;margin:24px 0 10px;}
.m-body p{font-size:0.93rem;color:#374151;line-height:1.8;margin-bottom:14px;}
.m-body ul,.m-body ol{padding-left:1.4rem;margin-bottom:14px;}
.m-body li{font-size:0.93rem;color:#374151;line-height:1.8;margin-bottom:4px;}
.m-body strong{color:var(--text);font-weight:600;}
.m-tip{background:rgba(27,77,62,0.06);border-left:3px solid var(--forest);padding:14px 18px;border-radius:0 8px 8px 0;margin:20px 0;}
.m-tip p{margin:0;font-size:0.88rem;color:var(--forest);}
.m-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:0.85rem;border-radius:10px;overflow:hidden;}
.m-table th{background:var(--forest);color:#fff;padding:10px 14px;text-align:left;font-size:0.78rem;}
.m-table td{padding:10px 14px;border-bottom:1px solid var(--border);}
.m-table tr:last-child td{border-bottom:none;}
.m-table tr:nth-child(even) td{background:var(--alt);}
.m-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--alt);border:none;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:background .15s;}
.m-close:hover{background:var(--border);}

/* CALCULATOR */
.calc-wrap{background:var(--forest);border-radius:20px;padding:48px;}
.calc-head{margin-bottom:2rem;}
.calc-head .s-label{color:rgba(255,255,255,0.5);}
.calc-head .s-title{color:#fff;}
.calc-head .s-sub{color:rgba(255,255,255,0.6);}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.calc-tabs{display:flex;background:rgba(255,255,255,0.08);border-radius:10px;padding:4px;margin-bottom:24px;}
.c-tab{flex:1;padding:9px;text-align:center;font-size:0.82rem;font-weight:600;cursor:pointer;border-radius:7px;border:none;background:transparent;color:rgba(255,255,255,0.7);font-family:var(--font);transition:all .15s;}
.c-tab.active{background:var(--white);color:var(--forest);}
.f-row{margin-bottom:16px;}
.f-row label{display:block;font-size:0.75rem;font-weight:500;color:rgba(255,255,255,0.75);margin-bottom:6px;}
.f-row input,.f-row select{width:100%;padding:11px 14px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:9px;color:#fff;font-size:0.9rem;font-family:var(--font);outline:none;transition:border-color .15s;}
.f-row input:focus,.f-row select:focus{border-color:var(--amber-light);}
.f-row select option{background:var(--forest);}
.calc-btn-submit{width:100%;background:var(--amber);color:#fff;padding:12px;border:none;border-radius:10px;font-weight:700;font-size:0.92rem;cursor:pointer;font-family:var(--font);transition:opacity .15s;margin-top:4px;}
.calc-btn-submit:hover{opacity:0.88;}
.c-results{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:14px;padding:28px;}
.c-results h3{font-size:0.88rem;font-weight:700;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:20px;}
.r-item{padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.r-item:last-of-type{border-bottom:none;}
.r-row{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.r-label{font-size:0.8rem;color:rgba(255,255,255,0.7);}
.r-explain{font-size:0.71rem;color:rgba(255,255,255,0.55);line-height:1.55;margin-top:4px;}
.r-val{font-size:0.98rem;font-weight:700;color:#fff;}
.r-val.big{font-size:1.5rem;color:var(--amber-light);}
.r-ok{color:#6EE7B7;}
.r-warn{color:#FCA5A5;}
.calc-note{font-size:0.72rem;color:rgba(255,255,255,0.6);margin-top:14px;line-height:1.6;}
.calc-note strong{color:rgba(255,255,255,0.8);}

/* POLICY */
.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.p-card{background:var(--white);border-radius:var(--r);padding:24px;border-left:4px solid var(--amber);box-shadow:var(--shadow);transition:box-shadow .2s;}
.p-card:hover{box-shadow:var(--shadow-hover);}
.p-badge{display:inline-block;font-size:0.65rem;font-weight:700;padding:3px 9px;border-radius:5px;margin-bottom:10px;letter-spacing:0.5px;}
.b-new{background:#DCFCE7;color:#166534;}
.b-update{background:#DBEAFE;color:#1E40AF;}
.b-important{background:#FEE2E2;color:#991B1B;}
.p-card h3{font-size:0.93rem;font-weight:700;line-height:1.4;margin-bottom:8px;}
.p-card p{font-size:0.8rem;color:var(--muted);line-height:1.6;}
.p-date{font-size:0.7rem;color:var(--light);margin-top:12px;}

/* ROADMAP */
.roadmap-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.r-step{background:var(--alt);border-radius:var(--r);padding:24px;display:flex;gap:16px;align-items:flex-start;transition:box-shadow .2s;}
.r-step:hover{box-shadow:var(--shadow);}
.r-num{width:44px;height:44px;border-radius:12px;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;flex-shrink:0;}
.r-content h3{font-size:0.9rem;font-weight:700;margin-bottom:6px;}
.r-content p{font-size:0.8rem;color:var(--muted);line-height:1.6;}
.r-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.r-tag{background:var(--white);border:1px solid var(--border);font-size:0.68rem;padding:3px 9px;border-radius:999px;color:var(--muted);}

/* GLOSSARY */
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.g-card{background:var(--white);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);}
.g-card h4{font-size:0.85rem;font-weight:700;color:var(--forest);margin-bottom:5px;}
.g-card p{font-size:0.77rem;color:var(--muted);line-height:1.6;}

/* NEWSLETTER */
.nl-section{background:var(--forest);padding:64px 5%;text-align:center;}
.nl-section .s-label{color:rgba(255,255,255,0.5);}
.nl-section .s-title{color:#fff;margin-bottom:8px;}
.nl-section .s-sub{color:rgba(255,255,255,0.6);margin-bottom:2rem;}
.nl-form{display:flex;gap:10px;max-width:440px;margin:0 auto;}
.nl-form input{flex:1;padding:12px 16px;border-radius:10px;border:none;font-size:0.88rem;font-family:var(--font);outline:none;}
.nl-form button{background:var(--amber);color:#fff;padding:12px 22px;border:none;border-radius:10px;font-weight:700;font-size:0.88rem;cursor:pointer;font-family:var(--font);white-space:nowrap;}
.nl-form button:hover{opacity:0.88;}
.nl-fine{font-size:0.7rem;color:rgba(255,255,255,0.6);margin-top:10px;}

/* ABOUT */
.about-inner{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center;max-width:800px;margin:0 auto;}
.avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--forest) 0%,var(--forest-mid) 100%);display:flex;align-items:center;justify-content:center;font-size:3.5rem;flex-shrink:0;border:3px solid rgba(27,77,62,0.15);position:relative;overflow:hidden;}
.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;}
.about-name{font-size:1.2rem;font-weight:800;margin-bottom:4px;}
.about-role{font-size:0.82rem;color:var(--amber);font-weight:600;margin-bottom:4px;}
.about-contact{font-size:0.82rem;color:var(--muted);font-weight:500;margin-bottom:12px;}
.about-contact a{color:var(--forest);font-weight:600;}
.about-contact a:hover{text-decoration:underline;}
.about-bio{font-size:0.88rem;color:var(--muted);line-height:1.7;}
.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.a-tag{background:var(--alt);border:1px solid var(--border);padding:5px 12px;border-radius:8px;font-size:0.73rem;font-weight:600;color:var(--forest);}
.wa-btn{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff;padding:12px 22px;border-radius:10px;font-weight:700;font-size:0.88rem;margin-top:16px;transition:opacity .15s;}
.wa-btn:hover{opacity:0.88;}
/* VALUATION */
.val-section{background:var(--alt);padding:72px 5%;}
.val-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;max-width:1000px;margin:0 auto;}
.val-inner>div,.v-row>*,.v-field{min-width:0;}
.val-benefits{display:flex;flex-direction:column;gap:18px;margin-top:24px;}
.val-benefit{display:flex;gap:14px;align-items:flex-start;}
.val-icon{width:40px;height:40px;border-radius:10px;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.val-benefit h4{font-size:0.9rem;font-weight:700;margin-bottom:2px;}
.val-benefit p{font-size:0.8rem;color:var(--muted);line-height:1.5;}
.val-form-wrap{background:var(--white);border-radius:20px;padding:32px;box-shadow:var(--shadow);}
.val-form-wrap h3{font-size:1.15rem;font-weight:800;margin-bottom:4px;}
.val-form-wrap .form-sub{font-size:0.8rem;color:var(--muted);margin-bottom:20px;}
.v-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.v-field label{font-size:0.78rem;font-weight:600;color:var(--text);}
.v-field input,.v-field select,.v-field textarea{width:100%;padding:10px 13px;border:1.5px solid var(--border);border-radius:9px;font-size:0.85rem;font-family:var(--font);color:var(--text);background:#fff;outline:none;transition:border-color .15s;}
.v-field input:focus,.v-field select:focus,.v-field textarea:focus{border-color:var(--forest);}
.v-field textarea{resize:vertical;min-height:70px;}
.v-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.val-submit{width:100%;background:var(--forest);color:#fff;padding:13px;border:none;border-radius:10px;font-weight:700;font-size:0.92rem;cursor:pointer;font-family:var(--font);transition:opacity .15s;margin-top:4px;}
.val-submit:hover{opacity:0.88;}
.val-success{display:none;text-align:center;padding:28px 16px;}
.val-success .vs-icon{font-size:2.5rem;margin-bottom:12px;}
.val-success h4{font-size:1rem;font-weight:800;margin-bottom:6px;color:var(--forest);}
.val-success p{font-size:0.82rem;color:var(--muted);line-height:1.6;}
@media(max-width:768px){.val-inner{grid-template-columns:1fr;}.v-row{grid-template-columns:1fr;}}

/* NEW LAUNCH MAP */
.map-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px;}
.map-divider{width:1px;height:22px;background:var(--border);margin:0 6px;}
#launchMap{height:480px;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);z-index:1;background:#EAF0EC;}
.map-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:0.75rem;color:var(--muted);font-weight:500;}
.map-legend span{display:inline-flex;align-items:center;gap:6px;}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.pop{font-family:var(--font);min-width:210px;}
.pop h4{font-size:0.92rem;font-weight:800;color:var(--forest);margin-bottom:2px;}
.pop-meta{font-size:0.72rem;color:var(--muted);margin-bottom:8px;}
.pop-price{font-size:0.82rem;font-weight:700;color:var(--text);}
.pop-status{font-size:0.72rem;color:var(--muted);margin:4px 0 10px;}
.pop-actions{display:flex;gap:8px;}
.pop-actions button,.pop-actions a{flex:1;text-align:center;font-family:var(--font);font-size:0.72rem;font-weight:700;padding:7px 8px;border-radius:8px;cursor:pointer;border:none;}
.pop-cmp{background:var(--forest);color:#fff;}
.pop-wa{background:#25D366;color:#fff;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:24px;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow);}
.swipe-hint{display:none;font-size:0.72rem;color:var(--muted);margin-top:8px;text-align:center;}
.launch-table{width:100%;border-collapse:collapse;font-size:0.83rem;min-width:820px;}
.launch-table th{background:var(--forest);color:#fff;padding:11px 14px;text-align:left;font-size:0.74rem;white-space:nowrap;cursor:pointer;user-select:none;}
.launch-table th:hover{background:var(--forest-mid);}
.launch-table td{padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap;color:#374151;}
.launch-table tr:last-child td{border-bottom:none;}
.launch-table tbody tr:hover{background:var(--alt);}
.proj-name{font-weight:700;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
.proj-name:hover{color:var(--forest);text-decoration:underline;}
.region-pill{font-size:0.62rem;font-weight:700;padding:2px 8px;border-radius:999px;color:#fff;letter-spacing:0.3px;}
.cmp-check{width:16px;height:16px;accent-color:var(--forest);cursor:pointer;vertical-align:middle;}
.data-note{font-size:0.72rem;color:var(--light);margin-top:12px;line-height:1.6;}

/* ALERT BAR */
.alert-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--forest);border-radius:var(--r);padding:20px 26px;margin-top:20px;flex-wrap:wrap;}
.alert-txt{display:flex;flex-direction:column;gap:2px;}
.alert-txt strong{color:#fff;font-size:0.95rem;}
.alert-txt span{color:rgba(255,255,255,0.75);font-size:0.8rem;}
.alert-form{display:flex;gap:8px;flex:1;max-width:380px;min-width:0;}
.alert-form input{flex:1;min-width:0;padding:11px 14px;border-radius:9px;border:none;font-size:0.85rem;font-family:var(--font);outline:none;}
.alert-form button{background:var(--amber);color:#fff;padding:11px 18px;border:none;border-radius:9px;font-weight:700;font-size:0.85rem;cursor:pointer;font-family:var(--font);white-space:nowrap;}
.alert-form button:hover{opacity:0.88;}

/* TREND CHART */
.trend-wrap{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow);padding:28px;margin-top:24px;}
.trend-title{font-size:1rem;font-weight:800;}
.trend-sub{font-size:0.8rem;color:var(--muted);margin:4px 0 16px;}
#trendChart svg{width:100%;height:auto;display:block;}

/* COMPARE */
.compare-empty{padding:44px 20px;text-align:center;color:var(--muted);font-size:0.88rem;background:var(--white);border:1.5px dashed var(--border);border-radius:var(--r);line-height:1.7;}
.compare-table{width:100%;border-collapse:collapse;font-size:0.85rem;min-width:640px;background:var(--white);}
.compare-table th{background:var(--forest);color:#fff;padding:13px 16px;text-align:left;font-size:0.85rem;vertical-align:top;}
.compare-table th .cmp-remove{background:rgba(255,255,255,0.15);border:none;color:#fff;border-radius:6px;font-size:0.68rem;padding:2px 8px;cursor:pointer;margin-top:6px;font-family:var(--font);}
.compare-table th .cmp-remove:hover{background:rgba(255,255,255,0.3);}
.compare-table td{padding:11px 16px;border-bottom:1px solid var(--border);}
.compare-table td:first-child{font-weight:600;color:var(--muted);font-size:0.76rem;white-space:nowrap;}
.compare-table tr:nth-child(even) td{background:var(--alt);}
.compare-table .cmp-best{color:var(--forest);font-weight:800;}
.cmp-wa{display:inline-flex;align-items:center;gap:5px;background:#25D366;color:#fff;padding:7px 12px;border-radius:8px;font-size:0.74rem;font-weight:700;}
@media(max-width:768px){#launchMap{height:380px;}}

/* REGION EXPLAINER */
.region-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;}
.region-card{background:var(--white);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow);border-top:3px solid var(--border);}
.region-card h5{font-size:0.78rem;font-weight:800;margin-bottom:4px;}
.region-card p{font-size:0.74rem;color:var(--muted);line-height:1.55;}

/* GLOSSARY WHY-IT-MATTERS */
.g-why{font-size:0.72rem;color:var(--forest);margin-top:9px;line-height:1.55;background:rgba(27,77,62,0.05);padding:7px 10px;border-radius:8px;}

/* PROPERTY IQ QUIZ */
.quiz-wrap{max-width:680px;margin:0 auto;background:var(--white);border-radius:20px;box-shadow:var(--shadow);padding:32px;}
.quiz-progress{display:flex;gap:6px;margin-bottom:20px;}
.qp-dot{height:6px;flex:1;border-radius:99px;background:var(--border);transition:background .3s;}
.qp-dot.done{background:var(--forest);}
.qp-dot.now{background:var(--amber);}
.quiz-q{font-size:1.05rem;font-weight:800;line-height:1.45;margin-bottom:18px;letter-spacing:-0.2px;}
.quiz-opts{display:flex;flex-direction:column;gap:10px;}
.quiz-opt{text-align:left;padding:13px 16px;border:1.5px solid var(--border);border-radius:11px;background:var(--white);font-family:var(--font);font-size:0.88rem;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s;min-height:44px;line-height:1.5;}
.quiz-opt:hover:not(:disabled){border-color:var(--forest);background:var(--alt);}
.quiz-opt:disabled{cursor:default;}
.quiz-opt.correct{border-color:#16A34A;background:#F0FDF4;font-weight:600;}
.quiz-opt.wrong{border-color:#DC2626;background:#FEF2F2;}
.quiz-fb{margin-top:16px;padding:14px 16px;border-radius:11px;font-size:0.85rem;line-height:1.65;display:none;}
.quiz-fb.show{display:block;}
.quiz-fb.good{background:#F0FDF4;border-left:3px solid #16A34A;color:#14532D;}
.quiz-fb.bad{background:#FEF2F2;border-left:3px solid #DC2626;color:#7F1D1D;}
.quiz-next{margin-top:16px;background:var(--forest);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-weight:700;font-family:var(--font);font-size:0.88rem;cursor:pointer;display:none;}
.quiz-next.show{display:inline-block;}
.quiz-next:hover{background:var(--forest-mid);}
.quiz-score{text-align:center;padding:12px 0;}
.quiz-score .qs-emoji{font-size:3rem;}
.quiz-score h3{font-size:1.3rem;font-weight:800;margin:10px 0 6px;}
.quiz-score p{color:var(--muted);font-size:0.9rem;max-width:440px;margin:0 auto 20px;line-height:1.7;}

/* FOOTER */
footer{background:var(--text);color:rgba(255,255,255,0.6);padding:48px 5% 28px;}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;max-width:1160px;margin:0 auto 32px;}
.f-brand .logo{color:#fff;margin-bottom:12px;}
.f-brand p{font-size:0.8rem;line-height:1.7;}
.f-col h4{color:#fff;font-size:0.82rem;font-weight:700;margin-bottom:14px;}
.f-col ul{list-style:none;}
.f-col ul li{margin-bottom:8px;}
.f-col ul li a{font-size:0.8rem;color:rgba(255,255,255,0.5);transition:color .15s;}
.f-col ul li a:hover{color:var(--amber-light);}
.f-bottom{border-top:1px solid rgba(255,255,255,0.07);padding-top:20px;max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:0.72rem;}
.f-links{display:flex;gap:1.5rem;}
.f-links a{color:rgba(255,255,255,0.6);}
.f-links a:hover{color:var(--amber-light);}
.disclaimer{background:rgba(255,255,255,0.03);border-radius:8px;padding:12px 16px;font-size:0.7rem;color:rgba(255,255,255,0.55);line-height:1.6;max-width:1160px;margin:12px auto 0;}

/* BACK TO TOP */
.back-top{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;z-index:100;width:44px;height:44px;background:var(--forest);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.2);opacity:0;pointer-events:none;transition:opacity .2s;border:none;}
.back-top.visible{opacity:1;pointer-events:all;}

/* RESPONSIVE */
@media(max-width:1200px){.nav-links{gap:1.1rem;}.nav-links a{font-size:0.85rem;}}
@media(max-width:1080px){.nav-links,.nav-wa{display:none;}.hamburger{display:flex;}}
@media(max-width:1024px){.articles-grid{grid-template-columns:repeat(2,1fr);}.roadmap-grid{grid-template-columns:1fr;}}
@media(max-width:768px){
  nav{padding:0 4%;}.nav-links,.nav-wa{display:none;}.hamburger{display:flex;}
  .hero{padding:56px 4% 48px;}.featured-card{grid-template-columns:1fr;padding:28px;}.feat-icon{display:none;}
  .articles-grid{grid-template-columns:1fr;}.calc-grid{grid-template-columns:1fr;}.policy-grid{grid-template-columns:1fr;}
  .g-grid{grid-template-columns:repeat(2,1fr);}.f-grid{grid-template-columns:1fr 1fr;}
  .about-inner{grid-template-columns:1fr;text-align:center;}.avatar{margin:0 auto;}.about-tags{justify-content:center;}
  .modal-overlay{padding:12px;}.m-header{padding:24px 24px 0;}.m-body{padding:20px 24px 28px;}
  section{padding:52px 4%;}.calc-wrap{padding:28px;}
  .region-cards{grid-template-columns:1fr;}
  .quiz-wrap{padding:22px;}
  .cat-btn{padding:10px 16px;}
  /* 16px inputs stop iOS Safari zooming on focus */
  .f-row input,.f-row select,.v-field input,.v-field select,.v-field textarea,.nl-form input,.alert-form input{font-size:16px;}
  .swipe-hint{display:block;}
  .s-row{flex-direction:column;align-items:flex-start;}
  .alert-bar{padding:18px;}
}
@media(max-width:480px){
  .hero-btns{flex-direction:column;align-items:stretch;}
  .hero-btns .btn{justify-content:center;}
  .alert-form{flex-direction:column;max-width:none;width:100%;}
  .alert-form button{width:100%;}
  .pop-actions{flex-direction:column;}
  .m-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
}
@media(max-width:380px){
  .hero{padding:44px 4% 40px;}
  section{padding:44px 4%;}
  .hero-stat{padding:14px 10px;}
  .stat-val{font-size:1.15rem;}
  .featured-card{padding:22px;}
  .calc-wrap{padding:20px 16px;}
  .c-results{padding:20px 16px;}
  .quiz-wrap{padding:18px 14px;}
  .m-header{padding:20px 16px 0;}
  .m-body{padding:16px 16px 24px;}
  .m-table th,.m-table td{padding:8px 10px;font-size:0.78rem;}
  .val-form-wrap{padding:22px 16px;}
  .trend-wrap{padding:18px 12px;}
  .r-step{padding:18px 14px;}
  #launchMap{height:320px;}
}
@media(max-width:480px){.g-grid{grid-template-columns:1fr;}.f-grid{grid-template-columns:1fr;}.nl-form{flex-direction:column;}.hero-stat{min-width:45%;}}

/* ── MULTI-PAGE ADDITIONS ── */
/* Sub-page header */
.page-hero{background:var(--white);padding:44px 5% 38px;text-align:center;border-bottom:1px solid var(--border);}
.page-hero h1{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:800;letter-spacing:-0.8px;margin-bottom:8px;}
.page-hero p{color:var(--muted);font-size:0.95rem;max-width:560px;margin:0 auto;}
/* Home "start here" cards */
.home-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.home-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:26px 22px;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;}
.home-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);}
.home-card .hc-icon{font-size:2rem;margin-bottom:12px;}
.home-card h3{font-size:0.95rem;font-weight:800;margin-bottom:6px;}
.home-card p{font-size:0.8rem;color:var(--muted);line-height:1.6;flex:1;}
.home-card .hc-link{margin-top:14px;font-size:0.8rem;font-weight:700;color:var(--forest);}
@media(max-width:1024px){.home-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.home-cards{grid-template-columns:1fr;}}
/* Photo thumbnails on guide cards (optional img: field in ARTICLES) */
.a-thumb{overflow:hidden;}
.a-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.a-thumb .a-cat{z-index:2;}
/* Current page highlight in the nav */
.nav-links a.active{color:var(--forest);font-weight:700;}
.mobile-nav-panel a.active{color:var(--forest);font-weight:700;}
