/* ==========================================================================
   STAYX STANDARDIZED PILLAR / BLOG CSS
   This stylesheet standardizes the premium editorial look across all
   StayX guides, articles, and pillar pages.
   ========================================================================== */

:root {
  --ink: #1a1a1a;
  --ink2: #3d3d3d;
  --muted: #6b6b6b;
  --subtle: #aaa;
  --bg: #faf9f7;
  --surface: #fff;
  --surface2: #f5f3ef;
  --border: #e8e4dc;
  --border2: #d0cbc0;
  --accent: #635bff; /* Unified with Stripe purple */
  --accent-soft: #f5f4ff;
  --accent2: #2a5fc8;
  --accent2-soft: #e6ecf5;
  --green: #1a7040;
  --green-soft: #e4f2eb;
  --amber: #956000;
  --amber-soft: #fdf2d8;
  --red: #9e2a2a;
  --red-soft: #fce8e4;
  --r: 10px;
  --r-sm: 6px;
}

/* ===== BASE BLOG INDEX CARDS (PRESERVED) ===== */
.blog-preview {
  padding: 100px 0;
  background: #fff;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.blog-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0,0,0,0.05);
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
  border-color: rgba(99,91,255,0.2);
}

.blog-card__image {
  position: relative;
  width: 100%;
  padding-top: 60%;
  overflow: hidden;
  background: #f6f9fc;
}

.blog-card__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.blog-card:hover .blog-card__image img {
  transform: scale(1.05);
}

.blog-card__content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.blog-card__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 0.8rem;
  color: #8898aa;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.blog-card__category {
  color: #635bff;
}

.blog-card h3 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-bottom: 12px;
  color: #0a2540;
  font-weight: 700;
}

.blog-card p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #425466;
  margin-bottom: 20px;
}

.blog-card__footer {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,0.03);
  display: flex;
  align-items: center;
  color: #635bff;
  font-weight: 600;
  font-size: 0.9rem;
  gap: 8px;
}

@media (max-width: 1024px) {
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

@media (max-width: 768px) {
  .blog-preview {
    padding: 60px 0;
  }
  .blog-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 0 20px;
  }
  .blog-card h3 {
    font-size: 1.15rem;
  }
}


/* ==========================================================================
   PILLAR / GUIDE CUSTOM TYPOGRAPHY & ELEMENTS (IMPORTED FROM EN GUIDE) 
   ========================================================================== */


:root{
  --ink:#1a1a1a;--ink2:#3d3d3d;--muted:#6b6b6b;--subtle:#aaa;
  --bg:#faf9f7;--surface:#fff;--surface2:#f5f3ef;
  --border:#e8e4dc;--border2:#d0cbc0;
  --accent:#635bff; /* Unified with Stripe purple */
  --accent-soft:#f5f4ff;
  --accent2:#2a5fc8;--accent2-soft:#e6ecf5;
  --green:#1a7040;--green-soft:#e4f2eb;
  --amber:#956000;--amber-soft:#fdf2d8;
  --red:#9e2a2a;--red-soft:#fce8e4;
  --r:10px;--r-sm:6px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans', -apple-system, system-ui, sans-serif;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.75;overflow-x:hidden;-webkit-font-smoothing: antialiased;letter-spacing: -0.011em;}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* Progress bar */
#pb{position:fixed;top:0;left:0;z-index:10000;height:3px;width:0%;background:linear-gradient(90deg,var(--accent),#8b85ff);transition:width .1s linear}
#main-content { margin-top: 72px; }

/* --- HEADER SYNC (STAYX STANDARD) --- */
@media (max-width: 991px) {
  .nav__left, .nav__right { display: none; }
  .nav__burger { display: flex !important; margin-left: auto !important; z-index: 101 !important; }
  
  .header.open {
    background: #fff !important;
    height: 100vh !important;
    overflow: auto !important;
    position: fixed !important;
  }
  .header.open .nav__left,
  .header.open .nav__right {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    left: 0 !important;
    width: 100% !important;
    background: #fff !important;
    z-index: 100 !important;
  }
  .header.open .nav__left {
    top: 60px !important;
    padding: 24px 24px 8px !important;
    gap: 0 !important;
  }
  .header.open .nav__right {
    top: calc(60px + 300px) !important;
    padding: 8px 24px 40px !important;
    gap: 20px !important;
    align-items: center !important;
  }
  .header.open .nav__link {
    text-align: center !important;
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    color: #0a2540 !important;
    padding: 10px 0 !important;
  }
  .header.open .nav__lang {
    justify-content: center !important;
    background: #f6f9fc !important;
    padding: 8px !important;
    border-radius: 12px !important;
    width: fit-content !important;
    margin: 0 auto !important;
    border: 1px solid #edf2f7 !important;
  }
  .header.open .nav__lang a {
    color: #425466 !important;
    padding: 8px 16px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
  }
  .header.open .nav__lang a.active {
    color: #0a2540 !important;
    background: #fff !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
  }
}

/* --- HERO MOBILE FIXES --- */
@media (max-width: 768px) {
  h1 { font-size: 1.8rem !important; line-height: 1.2 !important; margin-top: 20px !important; }
  .g-hero { padding: 120px 0 60px !important; display: block !important; }
  .hero-stats { flex-direction: row !important; max-width: 340px !important; margin: 0 auto !important; border-radius: 12px !important; overflow: hidden !important; }
  .hero-stat { border-right: 1px solid var(--border) !important; border-bottom: none !important; padding: 10px 4px !important; flex: 1 !important; }
  .hero-stat:last-child { border-right: none !important; }
  .hs-n { font-size: 1rem !important; }
  .hs-l { font-size: 9.5px !important; }
  .page-wrap { padding: 0 24px !important; }
  .main { padding: 0 !important; }
  ul, ol { padding-left: 20px !important; }
  .section { padding: 40px 0 !important; }
  .cta-block { padding: 40px 24px !important; margin: 2rem 0 !important; }
  .cta-block h2 { font-size: 1.5rem !important; }
  .cta-btn { padding: 12px 24px !important; font-size: 14px !important; }
}

/* Hero */
.g-hero{max-width:860px;margin:0 auto;padding:5.5rem 2rem 3rem;text-align:center}
.hero-tag{display:inline-block;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 16px;border-radius:20px;margin-bottom:1.5rem}
h1{font-family:'Plus Jakarta Sans', sans-serif;font-size:clamp(1.8rem,5vw,3rem);font-weight:800;line-height:1.2;color:var(--ink);margin-bottom:1.25rem;letter-spacing:-.04em}
h1 em{font-style:italic;color:var(--accent);font-family:'Playfair Display',serif;font-weight:600;}
.hero-lead{font-size:1.1rem;color:var(--muted);max-width:600px;margin:0 auto 2.25rem;line-height:1.65}
.hero-stats{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;max-width:580px;margin:0 auto;background:#fff;}
.hero-stat{flex:1;padding:.85rem .5rem;text-align:center;border-right:1px solid var(--border);transition:background .2s}
.hero-stat:last-child{border-right:none}
.hero-stat:hover{background:var(--surface2)}
.hs-n{font-size:1.15rem;font-weight:600;color:var(--ink)}
.hs-l{font-size:11px;color:var(--subtle);margin-top:1px}
hr.hdiv{max-width:900px;margin:0 auto;border:none;border-top:1px solid var(--border)}

/* Layout */
.page-wrap{max-width:1160px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:216px 1fr;gap:3rem;align-items:start}
.main{min-width:0;padding:0 0 4rem}
.sidebar{position:sticky;top:80px;padding:1.5rem 0}
.sidebar h3{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--subtle);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.sidebar a{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:.38rem .55rem;border-radius:6px;transition:all .15s;line-height:1.4}
.sidebar a:hover{color:var(--ink);background:var(--surface2);text-decoration:none}
.sidebar a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}
.sn{font-size:10px;color:var(--subtle);min-width:16px;flex-shrink:0}

/* TOC card */
.toc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1.75rem 2rem;margin:2rem 0;box-shadow: 0 2px 10px rgba(0,0,0,0.02);}
/* Interactive calc (Advanced) */
.calc-inter { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; overflow: hidden; display: grid; grid-template-columns: 1fr 340px; margin: 2rem 0; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.calc-inputs { padding: 32px; }
.calc-sidebar { background: #0a2540; color: #fff; padding: 32px; display: flex; flex-direction: column; }
.calc-row { margin-bottom: 20px; }
.calc-row label { display: block; font-size: 13px; font-weight: 600; color: var(--muted); margin-bottom: 8px; }
.calc-row select, .calc-row input { width: 100%; padding: 10px 14px; border: 1px solid var(--border); border-radius: 10px; font-family: inherit; font-size: 14px; outline: none; transition: border-color .2s; background: var(--bg); color: var(--ink); }
.calc-row input:focus, .calc-row select:focus { border-color: var(--accent); }
.calc-flex { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.c-box { display: flex; align-items: center; gap: 8px; font-size: 11px; padding: 10px; background: var(--surface2); border-radius: 8px; cursor: pointer; color: var(--ink2); transition: all 0.2s; }
.c-box:hover { border-color: var(--accent); background: var(--accent-soft); }
.c-box input { width: auto; }
.chart-wrap { position: relative; width: 140px; height: 140px; margin: 0 auto 24px; }
.donut-chart { transform: rotate(-90deg); }
.donut-segment { fill: none; stroke-width: 6; transition: stroke-dasharray 0.5s ease; }
.chart-info { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; }
.chart-info span { display: block; font-size: 10px; opacity: 0.6; }
.chart-info strong { font-size: 1.1rem; font-weight: 800; display: block; color: #fff; }
.res-item { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.res-item:last-child { border: none; }
.res-lb { font-size: 12px; opacity: 0.6; margin-bottom: 4px; }
.res-vl { font-size: 1.5rem; font-weight: 800; color: #fff; }
.res-vl span { font-size: 0.9rem; font-weight: 400; opacity: 0.8; margin-left: 4px; }
.curr-switch { display: flex; gap: 4px; margin-bottom: 24px; justify-content: center; }
.curr-btn { padding: 6px 12px; border: 1px solid var(--border); background: #fff; border-radius: 6px; font-size: 11px; font-weight: 700; cursor: pointer; color: var(--ink); transition: all 0.2s; }
.curr-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.calc-footer-msg { font-size: 11px; opacity: 0.5; text-align: center; margin-top: auto; line-height: 1.4; }
@media (max-width: 850px) {
  .calc-inter { grid-template-columns: 1fr; }
  .calc-sidebar { order: -1; }
  .calc-flex { grid-template-columns: 1fr; }
}

/* Building types grid */
.type-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.tc { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); padding: 1.5rem; transition: all 0.2s; display: flex; flex-direction: column; }
.tc:hover { border-color: var(--border2); box-shadow: 0 4px 20px rgba(0,0,0,0.05); transform: translateY(-2px); }
.tera { font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--muted); letter-spacing: 0.05em; margin-bottom: 4px; }
.tname { font-size: 1.15rem; font-weight: 800; color: var(--ink); margin-bottom: 1rem; }
.tpc { display: grid; grid-template-columns: 1fr; gap: 10px; border-top: 1px solid var(--border); padding-top: 1rem; margin-top: auto; }
.tc .p, .tc .c { font-size: 13px; line-height: 1.4; display: flex; gap: 8px; align-items: flex-start; }
.tc .p { color: #1a6038; }
.tc .c { color: #a31515; }
.tc .p::before { content: "✓"; font-weight: 800; }
.tc .c::before { content: "✕"; font-weight: 800; }

/* Segment cards */
.seg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 1.5rem; margin: 1.5rem 0; }
.sc { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); padding: 2rem; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: flex; flex-direction: column; }
.sc:hover { border-color: var(--accent); transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.08); }
.sc .si { font-size: 3rem; margin-bottom: 1.25rem; display: block; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.1)); }
.sc .stitle { font-size: 1.3rem; font-weight: 800; color: var(--ink); margin-bottom: 1.25rem; border-bottom: 2px solid var(--accent-soft); padding-bottom: 0.5rem; align-self: flex-start; }
.sc ul { list-style: none; padding: 0; margin: 0; }
.sc ul li { font-size: 14px; color: var(--ink2); padding: 8px 0; display: flex; align-items: baseline; gap: 12px; border-bottom: 1px solid #f0f0f0; line-height: 1.5; }
.sc ul li:last-child { border-bottom: none; }
.sc ul li::before { content: "→"; color: var(--accent); font-weight: 800; font-size: 12px; }

/* Seasonality Timeline */
.season-grid { display: flex; flex-direction: column; gap: 1.25rem; margin: 2rem 0; position: relative; padding-left: 10px; }
.season-grid::before { content: ""; position: absolute; left: 24px; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, var(--accent-soft), var(--border), var(--accent-soft)); z-index: 0; }
.season-c { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); padding: 1.5rem 1.5rem 1.5rem 4.5rem; position: relative; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); z-index: 1; }
.season-c::after { content: ""; position: absolute; left: 18px; top: 26px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--accent); box-shadow: 0 0 0 4px var(--surface); transition: all 0.2s; }
.season-c:hover { border-color: var(--accent); transform: translateX(10px); box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.season-c:hover::after { background: var(--accent); transform: scale(1.2); }
.season-c .sm2 { font-weight: 800; font-size: 1.15rem; color: var(--ink); margin-bottom: 0.5rem; display: block; }
.sbadge { display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 700; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.5px; }
.sbadge.sh { background: #fee2e2; color: #991b1b; } /* Hot - Red */
.sbadge.smi { background: #fef3c7; color: #92400e; } /* Medium - Yellow */
.sbadge.sc2b { background: #dcfce7; color: #166534; } /* Best for deal - Green */
.sbadge.sg2 { background: #e0f2fe; color: #075985; } /* Active - Blue */
.season-c p { line-height: 1.6; margin: 0; }

.toc-card h2{font-family:'Plus Jakarta Sans', sans-serif;font-weight:700;font-size:1rem;color:var(--ink);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.toc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.1rem 2rem}
.toc-grid a{font-size:13.5px;color:var(--ink2);display:flex;align-items:baseline;gap:7px;padding:4px 0;transition:color .15s}
.toc-grid a:hover{color:var(--accent);text-decoration:none}
.tn{color:var(--subtle);font-size:11px;min-width:18px}

/* Sections */
.section{padding:3.5rem 0 2rem}
.section+.section{border-top:1px solid var(--border)}
h2.st{font-family:'Plus Jakarta Sans', sans-serif;font-weight:800;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--ink);margin-bottom:.4rem;letter-spacing:-.03em;line-height:1.2}
.ss{font-size:15px;color:var(--muted);margin-bottom:2rem;line-height:1.5}
h3{font-size:1.05rem;font-weight:700;color:var(--ink);margin:2rem 0 .65rem;letter-spacing:-.01em}
h3:first-child{margin-top:0}
p{margin-bottom:1rem;color:var(--ink2);line-height:1.75}
p:last-child{margin-bottom:0}

/* Boxes */
.box{border-radius:var(--r);padding:1.25rem 1.5rem;margin:1.5rem 0;border-left:3px solid}
.box.blue{background:var(--accent2-soft);border-color:var(--accent2)}
.box.orange{background:var(--accent-soft);border-color:var(--accent)}
.box.green{background:var(--green-soft);border-color:var(--green)}
.box.amber{background:var(--amber-soft);border-color:var(--amber)}
.box.red{background:var(--red-soft);border-color:var(--red)}
.box p{font-size:14px;color:var(--ink2);margin-bottom:.5rem}
.box p:last-child{margin-bottom:0}
.box strong{color:var(--ink);font-weight:600}

/* District filter */
.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem;align-items:center}
.filter-label{font-size:12px;color:var(--subtle);font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-right:.25rem}
.fbtn{font-size:12.5px;font-weight:600;color:var(--ink2);background:var(--surface);border:1px solid var(--border);border-radius:9999px;padding:6px 18px;cursor:pointer;transition:all .15s;user-select:none}
.fbtn:hover{border-color:var(--border2);background:var(--surface2)}
.fbtn.active{background:var(--ink);color:#fff;border-color:var(--ink)}

/* District cards */
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(276px,1fr));gap:1rem}
.dc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem 1.4rem;transition:border-color .2s,box-shadow .2s;animation:fi .3s ease both}
@keyframes fi{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.dc:hover{border-color:var(--border2);box-shadow:0 4px 16px rgba(0,0,0,.06)}
.dc.hidden{display:none}
.dh{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:.65rem}
.dn2{font-size:.95rem;font-weight:700;color:var(--ink)}
.dn2 small{display:block;font-size:11.5px;font-weight:400;color:var(--muted);margin-top:1px}
.badge{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:4px;white-space:nowrap;flex-shrink:0;margin-top:2px}
.bp{background:#f0eafe;color:#5232b5}
.bb{background:var(--accent2-soft);color:#1a4898}
.bf{background:var(--green-soft);color:#1a6038}
.bu{background:var(--amber-soft);color:#7a4a00}
.bv{background:#fce8f5;color:#8a1a6a}
.dprice{font-size:1.05rem;font-weight:700;color:var(--accent);margin-bottom:.55rem}
.ddesc{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:.65rem}
.dtags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:.65rem}
.tag{font-size:11px;background:var(--bg);color:var(--ink2);border:1px solid var(--border);border-radius:4px;padding:2px 7px}
.dpc{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:12px;border-top:1px solid var(--border);padding-top:.7rem;margin-top:.7rem}
.pro{color:var(--green);display:flex;gap:4px;align-items:baseline}
.pro::before{content:"\2713";font-weight:700;flex-shrink:0}
.con{color:var(--red);display:flex;gap:4px;align-items:baseline}
.con::before{content:"\2717";font-weight:700;flex-shrink:0}

/* Tables */
.tw{overflow-x:auto;margin:1.5rem 0;border:1px solid var(--border);border-radius:var(--r)}
table{width:100%;border-collapse:collapse;font-size:14px}
thead{background:var(--surface2)}
th{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:11px 14px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border)}
td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--ink2);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:#faf8f5}
td.tdn{font-weight:600;color:var(--ink)}
td.tp{font-weight:700;color:var(--ink);white-space:nowrap;font-size:13px}

/* Steps */
.blog-steps{margin:1.5rem 0; background:#0a2540; border-radius:12px; padding:2rem !important; color:#fff}
.blog-step{display:flex;gap:1.25rem;padding:1.25rem 0;border-bottom:1px solid rgba(255,255,255,0.1)}
.blog-step:last-child{border-bottom:none}
.blog-snum{width:36px;height:36px;border-radius:50%;background:#80e9ff;color:#0a2540;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.blog-sbody h4{font-size:15px;font-weight:700;color:#fff;margin-bottom:.3rem;margin-top:0}
.blog-sbody p{font-size:14px;color:rgba(255,255,255,0.7);margin:0}

/* Checklist */
.cl{list-style:none;margin:1rem 0}
.cl li{display:flex;align-items:flex-start;gap:10px;padding:.65rem 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--ink2)}
.cl li:last-child{border-bottom:none}
.ci{width:22px;height:22px;border-radius:50%;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;margin-top:1px}
.cl strong{color:var(--ink);font-weight:600}

/* Static calc box */
.calc-box{background:var(--ink);color:#fff;border-radius:var(--r);padding:2rem;margin:1.5rem 0}
.calc-box h3{color:#fff;font-size:.95rem;margin:0 0 1.25rem;letter-spacing:0;font-weight:700;}
.cr{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.cr .lb{color:rgba(255,255,255,.6)}
.cr .vl{color:#fff;font-weight:500}
.ctot{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0 0;margin-top:.5rem;border-top:1px solid rgba(255,255,255,.2);font-size:1rem;font-weight:700}
.ctot .vl{color:#f7c97e;font-size:1.1rem}
.cnote{font-size:12px;color:rgba(255,255,255,.45);margin-top:1rem;line-height:1.55;border-top:1px solid rgba(255,255,255,.1);padding-top:.75rem}

/* Interactive calc (Advanced) */
.calc-inter { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; overflow: hidden; display: grid; grid-template-columns: 1fr 340px; margin: 2rem 0; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.calc-inputs { padding: 32px; }
.calc-sidebar { background: #0a2540; color: #fff; padding: 32px; display: flex; flex-direction: column; }
.calc-row { margin-bottom: 20px; }
.calc-row label { display: block; font-size: 13px; font-weight: 600; color: var(--muted); margin-bottom: 8px; }
.calc-row select, .calc-row input { width: 100%; padding: 10px 14px; border: 1px solid var(--border); border-radius: 10px; font-family: inherit; font-size: 14px; outline: none; transition: border-color .2s; background: var(--bg); color: var(--ink); }
.calc-row input:focus, .calc-row select:focus { border-color: var(--accent); }
.calc-flex { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.c-box { display: flex; align-items: center; gap: 8px; font-size: 11px; padding: 10px; background: var(--surface2); border-radius: 8px; cursor: pointer; color: var(--ink2); transition: all 0.2s; }
.c-box:hover { border-color: var(--accent); background: var(--accent-soft); }
.c-box input { width: auto; }
.chart-wrap { position: relative; width: 140px; height: 140px; margin: 0 auto 24px; }
.donut-chart { transform: rotate(-90deg); }
.donut-segment { fill: none; stroke-width: 6; transition: stroke-dasharray 0.5s ease; }
.chart-info { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; }
.chart-info span { display: block; font-size: 10px; opacity: 0.6; }
.chart-info strong { font-size: 1.1rem; font-weight: 800; display: block; color: #fff; }
.res-item { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.res-item:last-child { border: none; }
.res-lb { font-size: 12px; opacity: 0.6; margin-bottom: 4px; }
.res-vl { font-size: 1.5rem; font-weight: 800; color: #fff; }
.res-vl span { font-size: 0.9rem; font-weight: 400; opacity: 0.8; margin-left: 4px; }
.curr-switch { display: flex; gap: 4px; margin-bottom: 24px; justify-content: center; }
.curr-btn { padding: 6px 12px; border: 1px solid var(--border); background: #fff; border-radius: 6px; font-size: 11px; font-weight: 700; cursor: pointer; color: var(--ink); transition: all 0.2s; }
.curr-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.calc-footer-msg { font-size: 11px; opacity: 0.5; text-align: center; margin-top: auto; line-height: 1.4; }
@media (max-width: 850px) {
  .calc-inter { grid-template-columns: 1fr; }
  .calc-sidebar { order: -1; }
  .calc-flex { grid-template-columns: 1fr; }
}

/* Red flags */
.flags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.85rem;margin-top:1.25rem}
.flag-card{background:var(--red-soft);border:1px solid #f0cac4;border-radius:var(--r);padding:1.1rem 1.3rem;display:flex;gap:.75rem;align-items:flex-start}
.fi2{font-size:1.3rem;flex-shrink:0;margin-top:.1rem}
.ftitle{font-size:14px;font-weight:700;color:var(--red);margin-bottom:.3rem}
.fdesc{font-size:13px;color:#6a2020;line-height:1.5}

/* Timeline */
.timeline{position:relative;margin:1.5rem 0;padding-left:2rem}
.timeline::before{content:'';position:absolute;left:9px;top:0;bottom:0;width:2px;background:var(--border)}
.tli{position:relative;margin-bottom:1.5rem}
.tli:last-child{margin-bottom:0}
.tldot{position:absolute;left:-2rem;top:4px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1}
.tlday{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem}
.tltitle{font-size:.95rem;font-weight:700;color:var(--ink);margin-bottom:.3rem}
.tlbody{font-size:13.5px;color:var(--muted);line-height:1.6}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:last-child{border-bottom:none}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;cursor:pointer;gap:1rem;font-size:15px;font-weight:600;color:var(--ink);transition:color .15s;user-select:none}
.faq-icon{color:var(--subtle);font-size:20px;flex-shrink:0;transition:transform .3s;font-weight:300;line-height:1}
.faq-item.open .faq-a{max-height:600px;padding-bottom:1rem}
.faq-item.open .faq-icon{transform:rotate(45deg);color:var(--accent)}

/* Glossary */
.gloss-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.7rem;margin-top:1.25rem}
.gi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:.9rem 1.1rem}
.gterm{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:.3rem}
.gdef{font-size:13px;color:var(--muted);line-height:1.5}

/* CTA */
.cta-block{background:var(--ink);color:#fff;border-radius:var(--r);padding:3.5rem 2rem;text-align:center;margin:3rem 0;box-shadow: 0 10px 40px rgba(0,0,0,0.15);}
.cta-block h2{font-family:'Plus Jakarta Sans', sans-serif;font-weight:800;color:#fff;font-size:clamp(1.4rem,3vw,2rem);margin-bottom:.75rem;letter-spacing:-.03em;}
.cta-block p{color:rgba(255,255,255,.6);font-size:15px;max-width:460px;margin:0 auto 1.75rem}
.cta-btn{display:inline-block;background:var(--accent);color:#fff;font-size:15px;font-weight:600;padding:14px 32px;border-radius:9999px;transition:opacity .2s}
.cta-btn:hover{opacity:.85;text-decoration:none}
.cta-sub{display:flex;justify-content:center;gap:1.5rem;margin-top:1.25rem;flex-wrap:wrap}
.cta-sub span{font-size:12.5px;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:5px}

footer{border-top:1px solid var(--border);padding:2.5rem 2rem;text-align:center;font-size:13px;color:var(--subtle)}
footer a{color:var(--subtle)}
/* Sources Section */
.sources-section { border-top: 1px solid var(--border); margin-top: 2rem; }
.sources-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.5rem; margin-top: 2rem; }
.source-group h4 { font-size: 13px; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1rem; }
.source-group ul { list-style: none; padding: 0 !important; margin: 0 !important; }
.source-group li { font-size: 13px; color: var(--muted); margin-bottom: 0.75rem; line-height: 1.5; border-bottom: 1px solid var(--surface); padding-bottom: 0.75rem; }
.source-group li strong { color: var(--ink); }
.source-operational { background: var(--surface); padding: 1.5rem; border-radius: var(--r-sm); margin-top: 2.5rem; border: 1px solid var(--border); }
.source-operational p { margin-bottom: 0; font-size: 13px; }
@media (max-width: 768px) {
  .sources-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}

@media(max-width:900px){.page-wrap{grid-template-columns:1fr}.sidebar{display:none}}

