:root{
  --bg:#081422;
  --bg-soft:#0d2237;
  --bg-card:#0f2741;
  --bg-card-2:#12304f;
  --primary:#e0b86b;
  --primary-strong:#f0cf8d;
  --primary-dark:#9b6c2d;
  --text:#f7f4ee;
  --muted:#b8c7d8;
  --line:rgba(224,184,107,.24);
  --shadow:0 20px 50px rgba(0,0,0,.35);
  --radius:24px;
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(224,184,107,.12), transparent 24%),
    radial-gradient(circle at bottom right, rgba(224,184,107,.10), transparent 20%),
    linear-gradient(180deg,#07121f,#0a1b2d 45%,#07121f);
}
body.modal-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(var(--container), calc(100% - 32px)); margin:0 auto}
.site-shell{min-height:100vh; transition:filter .3s ease, transform .3s ease}
body.modal-open .site-shell{filter:blur(8px) brightness(.45); transform:scale(.995)}
.topbar{
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(18px);
  background:rgba(6,17,28,.82);
  border-bottom:1px solid var(--line);
}
.topbar-inner{
  display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 0;
}
.brand{display:flex; align-items:center; gap:14px; min-width:0}
.brand img{width:92px; height:auto}
.brand strong{display:block; font-size:1.05rem; letter-spacing:.02em}
.brand span{display:block; color:var(--muted); font-size:.92rem}
.nav{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.nav a{
  padding:10px 14px; border-radius:999px; color:var(--muted); transition:.25s ease;
}
.nav a:hover,.nav a.active{background:rgba(224,184,107,.12); color:var(--text)}
.nav-toggle{
  display:none; background:none; border:1px solid var(--line); color:var(--text);
  width:48px; height:48px; border-radius:14px; font-size:1.3rem;
}
.hero,.page-hero{
  position:relative; overflow:hidden;
}
.hero{
  padding:72px 0 48px;
}
.page-hero{
  padding:62px 0 32px;
  background:linear-gradient(180deg, rgba(224,184,107,.08), transparent);
}
.hero-grid,.split{
  display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:center;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px;
  background:rgba(224,184,107,.10); color:var(--primary-strong);
  border:1px solid var(--line); font-size:.84rem; letter-spacing:.06em; text-transform:uppercase;
}
h1,h2,h3,h4{margin:0 0 14px}
h1{font-size:clamp(2.2rem, 4.3vw, 4.5rem); line-height:1.02}
h2{font-size:clamp(1.7rem, 2.8vw, 2.9rem); line-height:1.08}
h3{font-size:1.2rem}
.lead{
  color:var(--muted); font-size:1.08rem; line-height:1.75; max-width:70ch;
}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin:26px 0 22px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 22px; border-radius:16px;
  border:1px solid var(--line); font-weight:700; transition:.25s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-strong));
  color:#102236; box-shadow:0 18px 35px rgba(224,184,107,.18);
}
.btn-secondary{background:rgba(255,255,255,.04)}
.inline-points{display:flex; flex-wrap:wrap; gap:10px}
.inline-points span{
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.05); color:var(--muted);
  padding:10px 12px; border-radius:14px; font-size:.92rem;
}
.glass,.card,.target-card,.dashboard-card,.form-card,.info-panel,.quote-box,.stat-card,.legal-card{
  background:linear-gradient(180deg, rgba(18,48,79,.88), rgba(10,28,46,.94));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-card{padding:26px}
.stat-grid,.cards,.target-grid,.dashboard-grid,.footer-grid,.legal-grid{
  display:grid; gap:18px;
}
.stat-grid{grid-template-columns:repeat(2,1fr); margin-top:18px}
.stat-card{padding:20px}
.stat-card strong{
  display:block; font-size:2rem; color:var(--primary-strong); margin-bottom:8px;
}
.stat-card span{display:block; color:var(--muted); line-height:1.5}
.section{padding:64px 0}
.section.dark{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01))}
.section-head{max-width:880px; margin-bottom:26px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{padding:24px}
.card p,.dashboard-card p,.info-panel p,.quote-box p,.form-card p,.legal-card p{color:var(--muted); line-height:1.7}
.target-grid{grid-template-columns:repeat(3,1fr)}
.target-card{padding:22px}
.target-card header{
  display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-bottom:16px;
}
.target-card strong{font-size:1.35rem; color:var(--primary-strong)}
.meter{
  height:12px; border-radius:999px; background:rgba(255,255,255,.06);
  overflow:hidden; margin-bottom:12px;
}
.meter span{
  display:block; height:100%;
  background:linear-gradient(90deg,var(--primary-dark),var(--primary-strong));
  border-radius:999px;
}
.check-list,.mini-list,.footer-links,.numbered,.legal-list{
  margin:0; padding-left:18px;
}
.check-list li,.mini-list li,.numbered li,.footer-links li,.legal-list li{
  margin-bottom:10px; color:var(--muted); line-height:1.6;
}
.check-list.compact li,.mini-list li{margin-bottom:8px}
.info-panel,.quote-box,.form-card,.legal-card{padding:26px}
.quote-box{
  display:flex; align-items:center; justify-content:center; min-height:220px;
  text-align:center; font-size:1.3rem;
}
.accent-band{
  background:
    linear-gradient(135deg, rgba(224,184,107,.12), transparent 50%),
    linear-gradient(180deg, rgba(9,24,39,.9), rgba(11,30,49,.95));
}
.dashboard-grid{grid-template-columns:repeat(3,1fr)}
.dashboard-card{padding:22px}
.table-wrap{
  overflow:auto; border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.02);
}
.styled-table{
  width:100%; border-collapse:collapse; min-width:760px;
}
.styled-table th,.styled-table td{
  padding:16px 18px; text-align:left; border-bottom:1px solid rgba(255,255,255,.06);
}
.styled-table th{color:var(--primary-strong); background:rgba(255,255,255,.03)}
.styled-table td{color:var(--muted)}
.form-card label{
  display:block; margin-bottom:14px; color:var(--muted); font-weight:600;
}
.site-form input,.site-form textarea{
  width:100%; margin-top:8px; background:rgba(255,255,255,.04); color:var(--text);
  border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:14px 16px; font:inherit;
}
.site-form textarea{resize:vertical}
.footer{
  border-top:1px solid var(--line);
  background:rgba(4,12,20,.85);
  padding-top:28px;
}
.footer-grid{grid-template-columns:1.1fr .85fr 1fr; align-items:start}
.footer h3,.footer h4{color:var(--primary-strong)}
.footer p,.footer li{color:var(--muted); line-height:1.7}
.footer a{transition:.2s ease}
.footer a:hover{color:var(--text)}
.footer-bottom{
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:18px 0 28px; margin-top:18px; border-top:1px solid rgba(255,255,255,.06); color:var(--muted);
}
.footer-portal{margin-top:16px}
.ministry-focus{color:var(--primary-strong) !important; font-weight:700}
.legal-grid{grid-template-columns:repeat(2,1fr)}
.legal-card h3{color:var(--primary-strong)}
.legal-note{
  margin-top:24px; padding:18px 20px; border-radius:18px; border:1px solid var(--line);
  background:rgba(224,184,107,.06); color:var(--muted);
}
.consent-overlay{
  position:fixed; inset:0; z-index:60; display:none;
  align-items:center; justify-content:center; padding:24px;
  background:rgba(2,8,15,.46); backdrop-filter:blur(10px);
}
.consent-overlay.visible{display:flex}
.consent-modal{
  width:min(760px, 100%); padding:30px; position:relative;
  border:1px solid rgba(224,184,107,.35);
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.consent-modal h3{font-size:clamp(1.45rem, 2vw, 2rem)}
.consent-modal p{color:var(--muted); line-height:1.75}
.consent-note a{color:var(--primary-strong); text-decoration:underline}
.consent-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}

@media (max-width: 1100px){
  .cards.four,.target-grid,.dashboard-grid{grid-template-columns:repeat(2,1fr)}
  .cards.three,.footer-grid,.legal-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 820px){
  .nav-toggle{display:inline-flex; align-items:center; justify-content:center}
  .nav{
    display:none; position:absolute; right:16px; top:82px; width:min(360px, calc(100% - 32px));
    background:rgba(6,17,28,.98); border:1px solid var(--line); border-radius:22px; padding:14px;
    box-shadow:var(--shadow);
  }
  .nav.open{display:flex; flex-direction:column; align-items:stretch}
  .nav a{width:100%}
  .hero-grid,.split,.cards.two,.cards.three,.cards.four,.target-grid,.dashboard-grid,.footer-grid,.stat-grid,.legal-grid{
    grid-template-columns:1fr;
  }
  .hero{padding-top:48px}
  .brand img{width:76px}
  .consent-modal{padding:24px}
}
