/* ==========================================================================
   King Dems — brand stylesheet
   Navy #0A1520 base, mint #5FE3C8 accent, Poppins display + Source Serif body.
   Matches ademolaodewade.com and the media kits. One file, every page.
   ========================================================================== */
:root{
  --ink:#0A1520;        /* page base            */
  --ink-2:#0E1E2B;      /* raised surface       */
  --ink-3:#132836;      /* hairline / border    */
  --mint:#5FE3C8;       /* primary accent       */
  --mint-hi:#7DEBD5;    /* hover                */
  --paper:#E9EFF3;      /* primary text         */
  --body-fg:#C6D5DE;    /* secondary text       */
  --muted:#8FA6B4;      /* tertiary text        */
  --display:'Poppins','Century Gothic',ui-sans-serif,system-ui,sans-serif;
  --body:'Source Serif 4',Georgia,'Times New Roman',serif;
  --wrap:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:700;line-height:1.12;
  letter-spacing:-.02em;margin:0}
h2{font-size:clamp(1.9rem,3.5vw,2.7rem);max-width:22ch}
h3{font-size:1.25rem}
p{margin:0 0 1.1em}
a{color:var(--mint);text-decoration:none}
a:hover{color:var(--mint-hi)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.section{padding:92px 0;border-top:1px solid var(--ink-3)}
.eyebrow{font-family:var(--display);font-weight:600;font-size:.95rem;color:var(--mint);margin:0 0 18px}
.lead{font-size:1.18rem;color:var(--body-fg);max-width:66ch}
.muted{color:var(--muted)}
.mint{color:var(--mint)}
.small{font-size:.95rem;color:var(--muted)}

/* ---------- buttons ---------- */
.btn{font-family:var(--display);font-weight:600;font-size:1rem;display:inline-block;
  padding:15px 30px;border:2px solid var(--mint);transition:background .18s,color .18s;cursor:pointer}
.btn-solid{background:var(--mint);color:#06121B}
.btn-solid:hover{background:var(--mint-hi);border-color:var(--mint-hi);color:#06121B}
.btn-ghost{background:transparent;color:var(--mint)}
.btn-ghost:hover{background:rgba(95,227,200,.1)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

/* ---------- nav ---------- */
header.nav{position:sticky;top:0;z-index:60;background:rgba(10,21,32,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--ink-3)}
.nav-in{display:flex;align-items:center;gap:26px;height:74px;max-width:var(--wrap);
  margin:0 auto;padding:0 24px;position:relative}
.brand{display:flex;align-items:center;gap:11px;color:var(--paper);
  font-family:var(--display);font-weight:700;font-size:1.06rem}
.brand:hover{color:var(--paper)}
.brand img{width:36px;height:36px;border-radius:5px;object-fit:cover;
  background:#fff;box-shadow:0 0 0 1px rgba(95,227,200,.35)}
.brand em{color:var(--mint);font-style:normal}
.nav-links{display:flex;gap:24px;margin-left:auto;align-items:center}
.nav-links a{font-family:var(--display);font-weight:500;font-size:.97rem;color:var(--body-fg)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--mint)}
.nav-cta{padding:10px 20px;border:2px solid var(--mint);color:var(--mint)!important;font-weight:600}
.nav-cta:hover{background:var(--mint);color:#06121B!important}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--ink-3);
  color:var(--paper);font-family:var(--display);font-size:.95rem;padding:9px 15px;cursor:pointer}

/* ---------- hero ---------- */
.hero{padding:92px 0 76px}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.4rem);max-width:17ch}
.hero .lead{margin-top:26px}
.byline{font-family:var(--display);font-weight:500;color:var(--muted);margin-top:24px;font-size:1rem}
.hero-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:60px;align-items:center}

/* ---------- panels, stats ---------- */
.panel{background:var(--ink-2);border:1px solid var(--ink-3);padding:34px}
.panel h3{margin-bottom:20px;font-size:1.15rem}
.stat{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:13px 0;border-bottom:1px solid var(--ink-3)}
.stat:last-of-type{border-bottom:0}
.stat b{font-family:var(--display);font-size:1.5rem;color:var(--mint);font-weight:700}
.stat span{font-size:.95rem;color:var(--muted);text-align:right}
.numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;
  background:var(--ink-3);border:1px solid var(--ink-3);margin-top:44px}
.num{background:var(--ink);padding:26px 22px}
.num b{display:block;font-family:var(--display);font-size:1.9rem;color:var(--mint);line-height:1.1}
.num span{font-size:.92rem;color:var(--muted)}

/* ---------- key facts (AEO block) ---------- */
.facts{border:1px solid var(--ink-3);background:var(--ink-2);padding:30px 32px;margin-top:44px}
.facts h2{font-size:1.15rem;margin-bottom:16px;max-width:none}
.facts dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 22px;font-size:.98rem}
.facts dt{font-family:var(--display);font-weight:600;color:var(--mint);margin:0}
.facts dd{margin:0;color:var(--body-fg)}
.facts .asof{font-size:.88rem;color:var(--muted);margin:18px 0 0}

/* ---------- cards / grids ---------- */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:20px;margin-top:44px}
.card{background:var(--ink-2);border:1px solid var(--ink-3);padding:30px 26px;display:flex;flex-direction:column}
.card h3{margin-bottom:10px}
.card p{font-size:.96rem;color:var(--muted);margin:0}
.card ul{list-style:none;padding:0;margin:14px 0 0;font-size:.95rem;color:var(--body-fg)}
.card li{padding:7px 0 7px 20px;position:relative}
.card li:before{content:'';position:absolute;left:0;top:16px;width:8px;height:1px;background:var(--mint)}
.card .go{font-family:var(--display);font-weight:600;margin-top:auto;padding-top:14px}
.kicker{font-family:var(--display);font-size:.82rem;font-weight:600;color:var(--mint);margin-bottom:12px}

/* ---------- tiers ---------- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:20px;margin-top:48px}
.tier{background:var(--ink-2);border:1px solid var(--ink-3);padding:32px 28px;display:flex;flex-direction:column}
.tier.pop{border-color:var(--mint)}
.tier h3{font-size:1.35rem}
.tier .amt{font-family:var(--display);font-weight:700;font-size:2.1rem;color:var(--paper);margin:14px 0 18px}
.tier > p{font-size:.97rem;color:var(--muted);margin-bottom:20px}
.tier ul{list-style:none;padding:0;margin:0 0 26px;font-size:.95rem;color:var(--body-fg)}
.tier li{padding:8px 0 8px 22px;position:relative;border-bottom:1px solid rgba(19,40,54,.75)}
.tier li:before{content:'';position:absolute;left:0;top:17px;width:9px;height:1px;background:var(--mint)}
.tier .btn{margin-top:auto;text-align:center}
.tier h4{font-size:.95rem;color:var(--mint);margin:18px 0 4px}

/* ---------- steps / quarters ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:44px}
.step{border-left:2px solid var(--mint);padding:4px 0 4px 20px}
.step .no{font-family:var(--display);font-size:.85rem;color:var(--mint);font-weight:600}
.step h4{font-size:1.05rem;margin:6px 0}
.step p{font-size:.94rem;color:var(--muted);margin:0}

/* ---------- tables ---------- */
.tablewrap{overflow-x:auto;margin-top:40px;border:1px solid var(--ink-3)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.96rem}
th,td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--ink-3)}
th{font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--paper);background:var(--ink-2)}
td{color:var(--body-fg)}
td:first-child{font-family:var(--display);font-weight:500;color:var(--paper)}
tbody tr:last-child td{border-bottom:0}
.win{color:var(--mint);font-family:var(--display);font-weight:600}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;position:relative;margin-top:40px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;width:max-content;gap:14px;animation:kd-slide 46s linear infinite}
.marquee:hover .track,.marquee:focus-within .track{animation-play-state:paused}
.chip{font-family:var(--display);font-weight:500;font-size:1rem;white-space:nowrap;
  padding:15px 26px;border:1px solid var(--ink-3);background:var(--ink-2);color:var(--body-fg)}
.chip.hl{border-color:rgba(95,227,200,.45);color:var(--mint)}
@keyframes kd-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- pills ---------- */
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pills span{font-family:var(--display);font-size:.9rem;padding:9px 16px;
  border:1px solid var(--ink-3);color:var(--body-fg);display:inline-block}
.pills a{display:inline-block}
.pills a span{transition:border-color .18s,color .18s}
.pills a:hover span{border-color:var(--mint);color:var(--mint)}

/* ---------- faq ---------- */
.faq{margin-top:44px;max-width:82ch}
details{border-bottom:1px solid var(--ink-3);padding:22px 0}
summary{font-family:var(--display);font-weight:600;font-size:1.12rem;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';color:var(--mint);font-size:1.5rem;font-weight:400;line-height:1}
details[open] summary:after{content:'–'}
details p{margin:16px 0 0;color:var(--body-fg);max-width:74ch}

/* ---------- forms ---------- */
.form{background:var(--ink-2);border:1px solid var(--ink-3);padding:36px;margin-top:44px;max-width:720px}
.field{margin-bottom:22px}
.field label{display:block;font-family:var(--display);font-weight:500;font-size:.95rem;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:var(--ink);color:var(--paper);
  border:1px solid var(--ink-3);padding:13px 15px;font-family:var(--body);font-size:1rem}
.field textarea{min-height:120px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#5d7484}
.req{color:var(--mint)}
.hp{position:absolute;left:-9999px}

/* ---------- misc ---------- */
.quote{border-left:2px solid var(--mint);padding:4px 0 4px 24px;font-size:1.16rem;
  color:var(--body-fg);margin-top:40px;max-width:66ch}
.notice{border:1px solid rgba(95,227,200,.4);background:rgba(95,227,200,.06);
  padding:22px 26px;margin-top:40px;font-size:1.02rem}
.disclose{font-size:.93rem;color:var(--muted);margin-top:30px;max-width:74ch}
.split{display:grid;grid-template-columns:.75fr 1.25fr;gap:52px;align-items:center}
.split img{border:1px solid var(--ink-3);width:100%;height:auto}
.prose{max-width:72ch}
.prose h2{font-size:1.5rem;margin:44px 0 14px}
.prose h3{font-size:1.15rem;margin:30px 0 10px}
.prose ul{padding-left:20px;color:var(--body-fg)}
.prose li{margin-bottom:8px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--ink-3);padding:72px 0 40px;background:#08121C}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
footer h5{font-family:var(--display);font-size:.95rem;font-weight:600;margin:0 0 16px;color:var(--paper)}
footer nav{display:flex;flex-direction:column;gap:11px}
footer nav a,.f-about p{font-size:.95rem;color:var(--muted)}
footer nav a:hover{color:var(--mint)}
.f-bot{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;
  border-top:1px solid var(--ink-3);margin-top:52px;padding-top:26px;font-size:.9rem;color:var(--muted)}
.f-bot nav{flex-direction:row;gap:22px}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .hero-grid,.split,.f-grid{grid-template-columns:1fr}
  .nav-links{display:none}
  .nav-links.open{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;
    background:var(--ink-2);border-bottom:1px solid var(--ink-3);padding:22px 24px;gap:18px;margin:0}
  .burger{display:block}
  .section{padding:72px 0}
  .hero{padding:60px 0}
  .form{padding:26px}
}
@media(max-width:640px){
  .facts dl{grid-template-columns:1fr;gap:4px 0}
  .facts dd{margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
  .marquee{-webkit-mask-image:none;mask-image:none}
  *{transition:none!important}
}
