/* ============================================================
   PEOPLES MONOPOLY — Global Stylesheet
   Palette: Navy #000767 (logo) · Sand #F5EDD8 · Ocean #1B5E7A
            Sky #5BB8D4 · Teal #2A7A6F · Gold #C8A84B
   ============================================================ */

:root{
  --navy:#000767;
  --navy-2:#101A8A;
  --navy-3:#1B2AA6;
  --ink:#1D2433;
  --sand:#F5EDD8;
  --sand-light:#FAF4E6;
  --sand-dark:#EAE0C4;
  --sand-deep:#DDCFAA;
  --ocean:#1B5E7A;
  --sky:#5BB8D4;
  --teal:#2A7A6F;
  --gold:#C8A84B;
  --gold-deep:#A88830;
  --red:#B23B3B;
  --red-deep:#8E2B2B;
  --green:#2E8B57;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,7,103,.10);
  --shadow-lg:0 18px 50px rgba(0,7,103,.18);
  --font-head:'Sora',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--sand);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--ocean);text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy);line-height:1.15}

.container{max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:200;
  background:var(--navy);
  border-bottom:3px solid var(--gold);
}
.header-inner{
  max-width:1180px;margin:0 auto;padding:10px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:58px;width:auto}
.main-nav{display:flex;align-items:center;gap:6px}
.main-nav a{
  color:var(--sand);font-weight:600;font-size:.95rem;
  padding:9px 16px;border-radius:8px;transition:.2s;
}
.main-nav a:hover{background:rgba(245,237,216,.12)}
.main-nav a.active{background:rgba(245,237,216,.16);color:#fff}
.main-nav a.nav-cta{
  background:var(--gold);color:var(--navy);margin-left:8px;
  font-weight:700;
}
.main-nav a.nav-cta:hover{background:#D9BC66}
.nav-toggle{display:none;background:none;border:0;color:var(--sand);font-size:1.7rem;cursor:pointer}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;padding:14px 30px;border-radius:10px;
  font-family:var(--font-head);font-weight:700;font-size:1rem;
  cursor:pointer;border:2px solid transparent;transition:.2s;text-align:center;
}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#D9BC66;transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:var(--sand)}
.btn-navy:hover{background:var(--navy-2);transform:translateY(-2px)}
.btn-outline-sand{background:transparent;color:var(--sand);border-color:var(--sand)}
.btn-outline-sand:hover{background:rgba(245,237,216,.14)}
.btn-outline-navy{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline-navy:hover{background:var(--navy);color:var(--sand)}
.btn-sm{padding:8px 16px;font-size:.85rem;border-radius:8px}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 55%,var(--ocean) 100%);
  color:var(--sand);position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 80% 20%,rgba(91,184,212,.25),transparent 55%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:84px 24px 72px;text-align:center}
.hero .kicker{
  display:inline-block;letter-spacing:.22em;text-transform:uppercase;
  font-size:.8rem;font-weight:700;color:var(--gold);
  border:1px solid rgba(200,168,75,.5);padding:7px 18px;border-radius:100px;margin-bottom:26px;
}
.hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.6rem);max-width:900px;margin:0 auto 20px}
.hero h1 .accent{color:var(--gold)}
.hero p.lede{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:760px;margin:0 auto 36px;color:rgba(245,237,216,.9)}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-logo{height:110px;width:auto;margin:0 auto 30px}

/* ---------- Stat band ---------- */
.stat-band{background:var(--navy);border-top:1px solid rgba(245,237,216,.15)}
.stat-band .stats{
  max-width:1180px;margin:0 auto;padding:34px 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;
}
.stat .num{font-family:var(--font-head);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:var(--gold)}
.stat .lbl{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,237,216,.75);font-weight:600}

/* ---------- Sections ---------- */
.section{padding:78px 0}
.section.alt{background:var(--sand-light)}
.section.navy{background:var(--navy);color:var(--sand)}
.section.navy h2,.section.navy h3{color:var(--sand)}
.section-head{text-align:center;max-width:820px;margin:0 auto 52px}
.section-head .eyebrow{
  letter-spacing:.2em;text-transform:uppercase;font-size:.78rem;font-weight:800;color:var(--teal);margin-bottom:12px;display:block;
}
.section.navy .eyebrow{color:var(--gold)}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:16px}
.section-head p{color:#4b5468;font-size:1.05rem}
.section.navy .section-head p{color:rgba(245,237,216,.85)}

/* ---------- Cards ---------- */
.card{
  background:var(--sand-light);border:1px solid var(--sand-dark);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:34px;
}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* Pillar cards (home) */
.pillar{
  position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);
  background:var(--navy);color:var(--sand);padding:46px 40px;
  display:flex;flex-direction:column;gap:14px;min-height:360px;
  transition:transform .25s;
}
.pillar:hover{transform:translateY(-6px)}
.pillar .pillar-icon{width:64px;height:64px}
.pillar h3{color:#fff;font-size:1.6rem}
.pillar p{color:rgba(245,237,216,.88);flex:1}
.pillar .btn{align-self:flex-start}
.pillar.gov{background:linear-gradient(150deg,var(--ocean),var(--teal))}
.pillar.biz{background:linear-gradient(150deg,var(--navy),var(--navy-3))}

/* ---------- Slider ---------- */
.slider{
  position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);
  background:var(--navy);
}
.slides{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.slide{min-width:100%;display:grid;grid-template-columns:1.05fr .95fr;min-height:430px}
.slide-art{background:var(--navy);display:flex;align-items:center;justify-content:center;padding:30px}
.slide-art svg{width:100%;max-width:430px;height:auto}
.slide-copy{background:var(--sand-light);padding:52px 48px;display:flex;flex-direction:column;justify-content:center}
.slide-copy .slide-num{
  font-family:var(--font-head);font-weight:800;color:var(--gold-deep);
  letter-spacing:.18em;font-size:.8rem;text-transform:uppercase;margin-bottom:14px;
}
.slide-copy h3{font-size:clamp(1.3rem,2.4vw,1.85rem);margin-bottom:14px}
.slide-copy p{color:#4b5468;font-size:1.02rem}
.slider-nav{
  position:absolute;bottom:18px;left:0;right:0;display:flex;gap:10px;justify-content:center;z-index:5;
}
.slider-nav button{
  width:34px;height:6px;border-radius:4px;border:0;background:rgba(0,7,103,.25);cursor:pointer;transition:.25s;
}
.slider-nav button.on{background:var(--gold);width:52px}
.slider-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:6;
  width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:var(--navy);color:var(--sand);font-size:1.25rem;font-weight:700;
  box-shadow:var(--shadow);transition:.2s;
}
.slider-arrow:hover{background:var(--gold);color:var(--navy)}
.slider-arrow.prev{left:14px}
.slider-arrow.next{right:14px}

/* ---------- Bank dashboard ---------- */
.bank-row{
  display:grid;grid-template-columns:52px 1.4fr 1fr 1fr 2fr;gap:16px;align-items:center;
  background:var(--sand-light);border:1px solid var(--sand-dark);border-radius:12px;
  padding:16px 20px;margin-bottom:12px;transition:.2s;
}
.bank-row:hover{box-shadow:var(--shadow);transform:translateX(4px)}
.bank-logo{
  width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-weight:800;font-size:1.05rem;color:#fff;
}
.bank-name{font-weight:700;color:var(--navy);font-family:var(--font-head)}
.bank-members,.bank-capital{font-size:.95rem}
.bank-members b,.bank-capital b{color:var(--navy);font-family:var(--font-head)}
.bank-members span,.bank-capital span{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#7c8496}
.bar-track{height:12px;border-radius:8px;background:var(--sand-dark);overflow:hidden}
.bar-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--ocean),var(--sky))}

/* ---------- Forms ---------- */
.form-shell{
  background:var(--sand-light);border:1px solid var(--sand-dark);
  border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;
}
.form-head{background:var(--navy);color:var(--sand);padding:30px 40px}
.form-head h3{color:#fff;font-size:1.45rem;margin-bottom:6px}
.form-head p{color:rgba(245,237,216,.85);font-size:.95rem}
.form-steps{display:flex;gap:8px;padding:20px 40px 0}
.form-steps .step-pill{
  flex:1;height:8px;border-radius:6px;background:var(--sand-dark);transition:.3s;
}
.form-steps .step-pill.done{background:var(--gold)}
.form-body{padding:30px 40px 40px}
.form-body fieldset{border:0}
.field{margin-bottom:20px}
.field label{
  display:block;font-weight:700;font-family:var(--font-head);
  color:var(--navy);margin-bottom:7px;font-size:.95rem;
}
.field .why{font-size:.82rem;color:var(--teal);font-weight:600;margin-bottom:7px}
.field input[type=text],.field input[type=email],.field input[type=tel],
.field input[type=password],.field select{
  width:100%;padding:13px 16px;border-radius:10px;border:1.5px solid var(--sand-deep);
  background:#FBF7EC;font-size:1rem;font-family:var(--font-body);color:var(--ink);
  transition:border .2s;
}
.field input:focus,.field select:focus{outline:none;border-color:var(--ocean)}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.choice{
  border:1.5px solid var(--sand-deep);border-radius:10px;padding:12px 14px;
  background:#FBF7EC;cursor:pointer;display:flex;align-items:center;gap:10px;
  font-size:.93rem;font-weight:600;color:var(--ink);transition:.15s;user-select:none;
}
.choice:hover{border-color:var(--ocean)}
.choice input{accent-color:var(--navy);width:17px;height:17px}
.choice.selected{border-color:var(--navy);background:#EFE6CC}
.form-nav{display:flex;justify-content:space-between;gap:14px;margin-top:26px}
.form-note{
  background:#EFE6CC;border-left:4px solid var(--gold);border-radius:8px;
  padding:14px 18px;font-size:.9rem;color:#5a5140;margin-bottom:22px;
}

/* ---------- Chat ---------- */
.chat-shell{
  background:var(--navy);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;height:520px;
}
.chat-head{padding:16px 22px;border-bottom:1px solid rgba(245,237,216,.15);display:flex;align-items:center;gap:10px}
.chat-head .dot{width:9px;height:9px;border-radius:50%;background:#4ADE80;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.4}}
.chat-head span{color:var(--sand);font-weight:700;font-family:var(--font-head);font-size:.95rem}
.chat-msgs{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:14px}
.chat-msg{display:flex;gap:10px;align-items:flex-start}
.chat-msg .avatar{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.chat-msg .m-body{font-size:.88rem;color:rgba(245,237,216,.92)}
.chat-msg .m-body b{color:var(--sky);display:block;font-size:.8rem;margin-bottom:2px}
.chat-input{display:flex;gap:10px;padding:14px 18px;border-top:1px solid rgba(245,237,216,.15)}
.chat-input input{
  flex:1;padding:11px 15px;border-radius:9px;border:0;background:rgba(245,237,216,.12);
  color:var(--sand);font-size:.9rem;
}
.chat-input input::placeholder{color:rgba(245,237,216,.5)}
.chat-input button{border:0;background:var(--gold);color:var(--navy);border-radius:9px;padding:0 18px;font-weight:800;cursor:pointer}

/* ---------- Politician cards (Government) ---------- */
.pol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:26px}
.pol-card{
  background:var(--sand-light);border:1px solid var(--sand-dark);border-radius:18px;
  overflow:hidden;box-shadow:var(--shadow);transition:.25s;display:flex;flex-direction:column;
}
.pol-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.pol-photo{position:relative;background:linear-gradient(170deg,var(--ocean),var(--navy));padding:40px 0 0}
.pol-photo svg.headshot{width:150px;height:150px;margin:0 auto;display:block}
.backer-chips{
  position:absolute;top:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;
}
.backer-chip{
  width:34px;height:34px;border-radius:50%;background:var(--sand);
  border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;
  font-size:.6rem;font-weight:800;font-family:var(--font-head);color:var(--navy);
  box-shadow:0 3px 8px rgba(0,0,0,.25);cursor:default;
}
.backer-chip.people{background:var(--teal);color:#fff;border-color:#fff}
.score-badge{
  position:absolute;bottom:-26px;right:16px;width:72px;height:72px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:var(--font-head);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.3);
  border:3px solid var(--sand-light);
}
.score-badge .sc{font-size:1.35rem;font-weight:800;line-height:1}
.score-badge .sl{font-size:.5rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase}
.score-champion{background:var(--teal)}
.score-watch{background:var(--gold);color:var(--navy)}
.score-watch .sl{color:var(--navy)}
.score-captured{background:var(--red)}
.pol-body{padding:34px 20px 20px;flex:1;display:flex;flex-direction:column}
.pol-name{font-family:var(--font-head);font-weight:800;color:var(--navy);font-size:1.12rem}
.pol-office{font-size:.83rem;color:#68708a;margin-bottom:12px}
.pol-tag{
  display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:100px;margin-bottom:14px;align-self:flex-start;
}
.tag-champion{background:#DDEEE9;color:var(--teal)}
.tag-watch{background:#F3E9CB;color:var(--gold-deep)}
.tag-captured{background:#F2DCDC;color:var(--red-deep)}
.pol-stats{font-size:.84rem;display:grid;gap:6px;margin-bottom:16px}
.pol-stats .ps{display:flex;justify-content:space-between;border-bottom:1px dashed var(--sand-deep);padding-bottom:5px}
.pol-stats .ps span:first-child{color:#68708a}
.pol-stats .ps span:last-child{font-weight:700;color:var(--navy)}
.commit-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.commit-btn{
  border:1.5px solid;border-radius:9px;padding:9px 6px;cursor:pointer;background:transparent;
  font-family:var(--font-head);font-weight:700;font-size:.8rem;transition:.15s;
}
.commit-for{border-color:var(--teal);color:var(--teal)}
.commit-for:hover,.commit-for.committed{background:var(--teal);color:#fff}
.commit-against{border-color:var(--red);color:var(--red)}
.commit-against:hover,.commit-against.committed{background:var(--red);color:#fff}
.commit-btn small{display:block;font-weight:600;font-size:.68rem;opacity:.8}
.launch-link{
  text-align:center;font-size:.82rem;font-weight:700;color:var(--ocean);cursor:pointer;padding:7px;
  border-radius:8px;border:1.5px dashed var(--ocean);transition:.15s;background:transparent;width:100%;
  font-family:var(--font-head);
}
.launch-link:hover{background:var(--ocean);color:var(--sand)}
.pol-more{
  margin-top:10px;background:transparent;border:0;color:#68708a;font-size:.78rem;
  cursor:pointer;text-decoration:underline;font-family:var(--font-body);
}

/* Filter bar */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}
.filter-bar button{
  border:1.5px solid var(--navy);background:transparent;color:var(--navy);
  padding:9px 20px;border-radius:100px;font-weight:700;font-family:var(--font-head);
  font-size:.85rem;cursor:pointer;transition:.15s;
}
.filter-bar button:hover{background:rgba(0,7,103,.08)}
.filter-bar button.on{background:var(--navy);color:var(--sand)}

/* ---------- Modal ---------- */
.modal-overlay{
  position:fixed;inset:0;background:rgba(0,7,103,.55);backdrop-filter:blur(3px);
  z-index:500;display:none;align-items:flex-start;justify-content:center;padding:40px 18px;overflow-y:auto;
}
.modal-overlay.open{display:flex}
.modal{
  background:var(--sand-light);border-radius:20px;max-width:680px;width:100%;
  box-shadow:var(--shadow-lg);overflow:hidden;animation:mIn .25s ease;
}
@keyframes mIn{from{transform:translateY(24px);opacity:0}}
.modal-head{background:var(--navy);color:var(--sand);padding:26px 32px;display:flex;justify-content:space-between;align-items:flex-start}
.modal-head h3{color:#fff;font-size:1.3rem}
.modal-head .close-x{background:none;border:0;color:var(--sand);font-size:1.6rem;cursor:pointer;line-height:1}
.modal-body{padding:30px 32px}
.donut-row{display:flex;gap:26px;align-items:center;margin-bottom:24px;flex-wrap:wrap}
.breakdown{flex:1;min-width:220px}
.bk-line{margin-bottom:12px}
.bk-line .bk-top{display:flex;justify-content:space-between;font-size:.85rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.bk-line .bar-track{height:10px}
.ai-summary{
  background:#EFE6CC;border-left:4px solid var(--gold);border-radius:10px;padding:18px 20px;
  font-size:.93rem;color:#4d4636;margin-bottom:22px;
}
.ai-summary b{color:var(--navy)}
.ai-summary .ai-tag{
  display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-deep);margin-bottom:6px;
}
.donor-table{width:100%;border-collapse:collapse;font-size:.88rem;margin-bottom:8px}
.donor-table th{
  text-align:left;font-family:var(--font-head);color:var(--navy);font-size:.75rem;
  letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;border-bottom:2px solid var(--sand-deep);
}
.donor-table td{padding:9px 10px;border-bottom:1px solid var(--sand-dark)}
.donor-table td:last-child,.donor-table th:last-child{text-align:right}

/* ---------- Revolution section ---------- */
.revolution{
  background:linear-gradient(150deg,#3A0E0E 0%,var(--red-deep) 45%,var(--navy) 100%);
  color:var(--sand);position:relative;overflow:hidden;
}
.revolution::before{
  content:"★";position:absolute;font-size:34rem;opacity:.05;right:-60px;top:-120px;color:#fff;
}
.rev-inner{position:relative;max-width:1180px;margin:0 auto;padding:84px 24px}
.rev-badge{
  display:inline-block;background:rgba(245,237,216,.12);border:1px solid rgba(245,237,216,.35);
  padding:7px 18px;border-radius:100px;letter-spacing:.22em;text-transform:uppercase;font-size:.75rem;font-weight:800;color:var(--gold);margin-bottom:24px;
}
.revolution h2{color:#fff;font-size:clamp(1.9rem,3.8vw,2.9rem);max-width:820px;margin-bottom:18px}
.revolution p{max-width:760px;color:rgba(245,237,216,.9);margin-bottom:16px}
.rev-points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:38px 0}
.rev-point{background:rgba(0,0,0,.25);border:1px solid rgba(245,237,216,.18);border-radius:14px;padding:24px}
.rev-point h4{color:var(--gold);font-size:1.02rem;margin-bottom:8px}
.rev-point p{font-size:.9rem;margin:0;color:rgba(245,237,216,.85)}
.rev-pledge{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:10px}
.pledge-count{font-family:var(--font-head)}
.pledge-count .n{font-size:2rem;font-weight:800;color:var(--gold)}
.pledge-count .t{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,237,216,.75)}

/* ---------- Verified strip ---------- */
.verify-strip{background:var(--sand-dark);padding:22px 0}
.verify-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center;text-align:center}
.verify-inner .shield{font-size:1.6rem}
.verify-inner p{font-size:.9rem;color:#5a5140;max-width:900px}

/* ---------- Industry grid ---------- */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind-card{
  background:var(--sand-light);border:1px solid var(--sand-dark);border-radius:12px;
  padding:20px;display:flex;gap:14px;align-items:center;transition:.2s;
}
.ind-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.ind-card .emo{font-size:1.7rem}
.ind-card .t{font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:.92rem;line-height:1.3}
.ind-card .s{font-size:.75rem;color:#7c8496}
.ind-card.live{border-color:var(--gold);background:#F6EFDC}
.ind-card.live .s{color:var(--gold-deep);font-weight:700}

/* ---------- How it works ---------- */
.how-step{text-align:center;padding:10px 18px}
.how-step .n{
  width:58px;height:58px;border-radius:50%;background:var(--navy);color:var(--gold);
  font-family:var(--font-head);font-weight:800;font-size:1.4rem;
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
}
.how-step h4{font-size:1.12rem;margin-bottom:9px}
.how-step p{font-size:.93rem;color:#4b5468}

/* ---------- Audit strip ---------- */
.audit-strip{background:var(--ocean);color:var(--sand)}
.audit-inner{max-width:1180px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.audit-inner h3{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:12px}
.audit-inner p{color:rgba(245,237,216,.9)}
.audit-score{
  background:rgba(0,0,0,.22);border:1px solid rgba(245,237,216,.25);border-radius:16px;padding:26px;text-align:center;
}
.audit-score .big{font-family:var(--font-head);font-size:2.2rem;font-weight:800;color:var(--gold)}
.audit-score .cap{font-size:.85rem;color:rgba(245,237,216,.8)}

/* ---------- Toast ---------- */
.toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(120px);
  background:var(--navy);color:var(--sand);padding:15px 26px;border-radius:12px;
  box-shadow:var(--shadow-lg);font-weight:600;z-index:600;transition:.35s;max-width:90vw;text-align:center;
  border-left:4px solid var(--gold);
}
.toast.show{transform:translateX(-50%) translateY(0)}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:rgba(245,237,216,.8);margin-top:0}
.footer-inner{max-width:1180px;margin:0 auto;padding:56px 24px 30px}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(245,237,216,.15)}
.footer-top img{height:64px;width:auto;margin-bottom:14px}
.footer-top p{font-size:.9rem}
.footer-top h5{color:var(--gold);font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;margin-bottom:14px}
.footer-top a{display:block;color:rgba(245,237,216,.8);font-size:.92rem;padding:4px 0}
.footer-top a:hover{color:#fff}
.footer-bottom{padding-top:24px;font-size:.8rem;text-align:center;color:rgba(245,237,216,.55)}
.footer-tagline{font-family:var(--font-head);font-weight:700;color:var(--sand);letter-spacing:.06em}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:.7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .grid-3,.rev-points{grid-template-columns:1fr}
  .grid-2,.grid-4{grid-template-columns:1fr 1fr}
  .ind-grid{grid-template-columns:1fr 1fr}
  .slide{grid-template-columns:1fr}
  .slide-art{padding:36px 30px 10px}
  .audit-inner{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:26px}
  .bank-row{grid-template-columns:44px 1.2fr 1fr 1fr;row-gap:8px}
  .bank-row .bar-track{grid-column:1/-1}
}
@media(max-width:720px){
  .main-nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);
    flex-direction:column;align-items:stretch;padding:14px 20px 20px;gap:8px;
    border-bottom:3px solid var(--gold);
  }
  .main-nav.open{display:flex}
  .nav-toggle{display:block}
  .stat-band .stats{grid-template-columns:1fr 1fr}
  .grid-2,.grid-4{grid-template-columns:1fr}
  .form-head,.form-body{padding-left:22px;padding-right:22px}
  .form-steps{padding:20px 22px 0}
  .bank-row{grid-template-columns:44px 1fr 1fr}
  .bank-capital{display:none}
}
