:root{
  --ink:#0D2E24; --ink-soft:#4A5A52; --paper:#F5F0E0; --paper-alt:#EBE5D0; --card:#FFFFFF;
  --line:#D9D2B8; --white:#FFFFFF; --gold:#C9A84C; --gold-tint:#F1E3B8; --radius:14px;
  --primary:#0D3B2E; --primary-dark:#08251C; --primary-tint:#DDE8DF;
  --accent:#B23A2A; --accent-tint:#F3DEDB;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif; background:var(--paper); color:var(--ink); line-height:1.6; font-size:16px}
h1,h2,h3,.display{font-family:'Zilla Slab',serif; font-weight:700; letter-spacing:-0.01em}
.mono{font-family:'IBM Plex Mono',monospace}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px}
section{padding:88px 0}
.eyebrow{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--primary); font-weight:500; display:flex; align-items:center; gap:8px; margin-bottom:16px}
.eyebrow::before{content:""; width:20px; height:1px; background:var(--primary)}
h2.section-title{font-size:34px; line-height:1.15; margin-bottom:16px; max-width:660px}
.section-sub{color:var(--ink-soft); font-size:16.5px; max-width:600px; margin-bottom:44px}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 26px; border-radius:6px; font-weight:600; font-size:15px; cursor:pointer; border:1.5px solid transparent; transition:all .15s ease}
.btn-primary{background:var(--primary); color:var(--white)} .btn-primary:hover{background:var(--primary-dark)}
.btn-accent{background:var(--accent); color:var(--white)} .btn-accent:hover{filter:brightness(0.88)}
.btn-ghost{background:transparent; border-color:var(--ink); color:var(--ink)} .btn-ghost:hover{background:var(--ink); color:var(--paper)}
.btn-sm{padding:9px 16px; font-size:13px; border-radius:5px}

header{position:sticky; top:0; z-index:50; background:rgba(241,240,228,0.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line)}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 0; gap:16px; flex-wrap:wrap}
.logo{display:flex; align-items:center; gap:9px; font-family:'Zilla Slab',serif; font-weight:700; font-size:19px; cursor:pointer}
.logo .seal{width:32px; height:32px; border-radius:50%; background:var(--primary); display:flex; align-items:center; justify-content:center; color:var(--paper); font-size:16px; font-weight:500; border:1.5px solid var(--gold); flex-shrink:0}
.nav-links{display:flex; gap:22px; font-size:13px; font-weight:500; flex-wrap:wrap}
.nav-links a{color:var(--ink-soft); transition:color .15s}
.nav-links a:hover{color:var(--primary)}
.nav-cta{display:flex; gap:10px; flex-shrink:0}
.crumb{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-soft)}
@media (max-width:960px){.nav-links{display:none}}

.hero{padding:72px 0 56px}
.brand-hero{margin-bottom:28px}
.brand-hero-mark{font-family:'Zilla Slab',serif; font-weight:700; font-size:clamp(40px, 6vw, 68px); line-height:1; letter-spacing:-0.02em}
.brand-hero-sub{font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:0.3em; color:var(--ink-soft); margin-top:8px}
.hero-emoji-badge{
  display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px;
  font-size:34px; background:var(--primary-tint); border-radius:50%; margin-bottom:18px;
  border:2px dashed var(--primary); transform:rotate(-6deg);
}
.tagline-rotator{
  font-family:'IBM Plex Mono',monospace; font-size:15px; font-weight:500; color:var(--accent);
  margin-bottom:18px; min-height:22px; transition:opacity .25s ease; opacity:1;
}
.hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center}
.hero h1{font-size:48px; line-height:1.08; margin-bottom:20px}
.hero h1 em{font-style:normal; color:var(--primary)}
.hero p.lead{font-size:17px; color:var(--ink-soft); max-width:480px; margin-bottom:28px}
.hero-ctas{display:flex; gap:14px; margin-bottom:36px; flex-wrap:wrap}
.hero-stats{display:flex; gap:32px; flex-wrap:wrap}
.stat b{display:block; font-family:'Zilla Slab',serif; font-size:24px; color:var(--primary)}
.stat span{font-size:12.5px; color:var(--ink-soft)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}

.stamp-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:0 18px 40px -20px rgba(28,27,24,0.25); position:relative}
.stamp-card .top-row{display:flex; align-items:center; gap:14px; margin-bottom:16px}
.avatar{width:52px; height:52px; border-radius:50%; background:var(--primary-tint); color:var(--primary); display:flex; align-items:center; justify-content:center; font-family:'Zilla Slab',serif; font-weight:700; font-size:17px; flex-shrink:0}
.card-name{font-family:'Zilla Slab',serif; font-weight:600; font-size:17px}
.card-role{font-size:12.5px; color:var(--ink-soft)}
.tag-row{display:flex; gap:8px; flex-wrap:wrap; margin:12px 0}
.tag{font-family:'IBM Plex Mono',monospace; font-size:10.5px; padding:4px 9px; border-radius:20px; background:var(--paper-alt); color:var(--ink-soft); border:1px solid var(--line)}
.stars{color:var(--gold); font-size:13.5px; letter-spacing:2px}
.card-foot{display:flex; justify-content:space-between; align-items:center; margin-top:16px; padding-top:14px; border-top:1px dashed var(--line); flex-wrap:wrap; gap:8px}
.score-pill{font-family:'IBM Plex Mono',monospace; font-size:11.5px; background:var(--primary-tint); color:var(--primary-dark); padding:5px 10px; border-radius:5px; font-weight:500}
.seal-stamp{position:absolute; top:-16px; right:-16px; width:80px; height:80px; border-radius:50%; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; text-align:center; font-family:'IBM Plex Mono',monospace; font-size:9px; font-weight:500; line-height:1.3; transform:rotate(12deg); border:2px dashed rgba(255,255,255,0.5); letter-spacing:0.05em}

.trust-strip{background:var(--primary); color:var(--paper); padding:20px 0}
.trust-inner{display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.03em; opacity:0.92}
.trust-inner span.divider{opacity:0.4}

.subhub-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:16px}
.subhub-card{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:20px 16px; text-align:center}
.subhub-card .num{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--gold); margin-bottom:8px}
.subhub-card .icon{width:38px; height:38px; border-radius:50%; background:var(--primary-tint); color:var(--primary); display:flex; align-items:center; justify-content:center; font-family:'Zilla Slab',serif; font-weight:700; font-size:13.5px; margin:0 auto 12px}
.subhub-card h4{font-size:13.5px; margin-bottom:7px; line-height:1.3}
.subhub-card p{font-size:11.5px; color:var(--ink-soft); line-height:1.55}
@media (max-width:1000px){.subhub-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.subhub-grid{grid-template-columns:1fr 1fr}}

.category-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.category-card{background:var(--card); border:1px solid var(--line); border-radius:10px; padding:18px 20px}
.category-card h4{font-size:14px; margin-bottom:10px; display:flex; align-items:center; gap:8px}
.category-card h4 .lbl{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--primary); background:var(--primary-tint); width:19px; height:19px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0}
.category-card .hub-tags{display:flex; flex-wrap:wrap; gap:6px}
.category-card .tag{font-size:10px}
@media (max-width:760px){.category-grid{grid-template-columns:1fr}}

.profile-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.pcard{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px; transition:transform .15s, box-shadow .15s}
.pcard:hover{transform:translateY(-4px); box-shadow:0 16px 32px -20px rgba(28,27,24,0.3)}
.pcard .top-row{display:flex; gap:12px; align-items:center; margin-bottom:12px}
.verified-badge{display:inline-flex; align-items:center; gap:5px; font-size:10.5px; font-family:'IBM Plex Mono',monospace; color:var(--primary); font-weight:500}
.verified-badge svg{width:12px; height:12px}
.pcard .county-line{font-size:12px; color:var(--ink-soft); margin:9px 0}
.distance-badge{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--primary); font-weight:600}
.near-me-bar{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:24px}
.near-me-status{font-size:12.5px; color:var(--ink-soft)}
@media (max-width:900px){.profile-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.profile-grid{grid-template-columns:1fr}}

.tracks{display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:8px}
.track{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:28px}
.track h3{font-size:19px; margin-bottom:6px}
.track .track-sub{font-size:12.5px; color:var(--ink-soft); margin-bottom:22px}
.track.t-provider h3{color:var(--primary)}
.track.t-client h3{color:var(--accent)}
.step{display:flex; gap:14px; padding:14px 0; border-top:1px solid var(--line)}
.step:first-of-type{border-top:none}
.step-num{font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:500; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px}
.track.t-provider .step-num{background:var(--primary-tint); color:var(--primary-dark)}
.track.t-client .step-num{background:var(--accent-tint); color:var(--accent)}
.step-title{font-weight:600; font-size:14.5px; margin-bottom:2px}
.step-desc{font-size:13px; color:var(--ink-soft)}
@media (max-width:900px){.tracks{grid-template-columns:1fr}}

/* Coverage (county/constituency/ward) */
.coverage{background:var(--paper-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.find-near-box{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  background:var(--card); border:1px solid var(--line); border-radius:10px; padding:18px 22px; margin-bottom:32px;
}
.find-near-title{font-family:'Zilla Slab',serif; font-weight:600; font-size:15px; margin-bottom:3px}
.find-near-sub{font-size:12.5px; color:var(--ink-soft)}
.coverage-layout{display:grid; grid-template-columns:1fr 320px; gap:44px; align-items:start}
.county-grid{display:grid; grid-template-columns:repeat(8, 1fr); gap:6px}
.county-tile{
  aspect-ratio:0.85; border-radius:8px; cursor:pointer; border:1px solid rgba(0,0,0,0.15);
  transition:transform .1s ease, outline .1s ease; position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  padding:10px 6px; text-align:center;
}
.county-tile:hover, .county-tile.active{transform:scale(1.06); outline:2px solid var(--accent); z-index:2}
.county-tile .t-code{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.03em; opacity:0.85}
.county-tile .t-seal{width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:50%; overflow:hidden}
.county-tile .t-seal img{width:100%; height:100%; object-fit:contain; background:#fff; border-radius:50%; padding:3px; border:1px solid rgba(0,0,0,0.12); box-sizing:border-box}
.county-tile .t-name{font-size:10.5px; font-weight:600; line-height:1.2}
.county-tile.tile-light{color:var(--ink)}
.county-tile.tile-dark{color:var(--paper)}
.coverage-panel{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px; position:sticky; top:90px}
.panel-logo-row{display:flex; align-items:center; gap:12px; margin-bottom:4px}
.panel-logo{width:44px; height:44px; flex-shrink:0; border-radius:50%; overflow:hidden}
.panel-logo img{width:100%; height:100%; object-fit:contain; background:#fff; padding:4px; border:1px solid var(--line); box-sizing:border-box; border-radius:50%}
.coverage-panel .county-name{font-family:'Zilla Slab',serif; font-weight:600; font-size:18px}
.coverage-panel .county-code{font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--ink-soft)}
.coverage-metric{display:flex; justify-content:space-between; padding:9px 0; border-top:1px solid var(--line); font-size:13.5px}
.coverage-metric:first-of-type{border-top:none}
.coverage-metric b{font-family:'IBM Plex Mono',monospace; color:var(--primary)}
.legend{display:flex; align-items:center; gap:8px; margin-top:14px; font-size:11.5px; color:var(--ink-soft)}
.legend-swatch{width:11px; height:11px; border-radius:3px}
.const-list{margin-top:16px; border-top:1px solid var(--line); padding-top:12px; max-height:380px; overflow-y:auto}
.const-item{border-bottom:1px solid var(--line)}
.const-head{display:flex; justify-content:space-between; align-items:center; padding:10px 2px; cursor:pointer; font-size:13px; font-weight:500}
.const-head:hover{color:var(--primary)}
.const-head .chev{font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink-soft); transition:transform .15s}
.const-item.open .chev{transform:rotate(90deg)}
.const-head .const-count{font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink-soft); margin-left:auto; margin-right:8px}
.ward-list{display:none; flex-wrap:wrap; gap:5px; padding:0 2px 12px}
.const-item.open .ward-list{display:flex}
.ward-chip{font-family:'IBM Plex Mono',monospace; font-size:9.5px; padding:3px 7px; border-radius:12px; background:var(--paper-alt); color:var(--ink-soft); border:1px solid var(--line)}
.coverage-credit{font-size:11px; color:var(--ink-soft); margin-top:14px}
@media (max-width:900px){.coverage-layout{grid-template-columns:1fr} .county-grid{grid-template-columns:repeat(6,1fr)}}
@media (max-width:560px){.county-grid{grid-template-columns:repeat(4,1fr)}}

/* Trust / KYC section */
.trust-intro{font-size:15.5px; color:var(--ink-soft); max-width:720px; margin-bottom:36px}
.trust-provider-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin-bottom:48px}
.trust-provider-card{background:var(--card); border:1px solid var(--line); border-radius:10px; padding:18px 20px}
.trust-provider-card h4{font-size:13.5px; margin-bottom:10px; display:flex; align-items:center; gap:8px}
.trust-provider-card .icon-sm{width:24px; height:24px; border-radius:50%; background:var(--primary-tint); color:var(--primary); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:9.5px; font-weight:600; flex-shrink:0}
.trust-provider-card ul{padding-left:16px; font-size:12px; color:var(--ink-soft); line-height:1.85}
@media (max-width:1000px){.trust-provider-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.trust-provider-grid{grid-template-columns:1fr}}

.badge-section-title{font-size:15px; font-weight:600; margin:0 0 14px; font-family:'Zilla Slab',serif}
.badge-groups{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; margin-bottom:20px}
.badge-group{background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px 18px}
.badge-group h5{font-size:12.5px; margin-bottom:10px; color:var(--primary)}
.badge-chip{display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--ink-soft); padding:4px 0}
.badge-chip::before{content:"✓"; color:var(--primary); font-weight:700}
.top-badge{background:var(--gold-tint); border:1px dashed var(--gold); border-radius:10px; padding:16px 20px; font-size:13.5px; display:flex; align-items:center; gap:12px; margin-bottom:48px}
.top-badge .medal{font-size:26px}
@media (max-width:1000px){.badge-groups{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.badge-groups{grid-template-columns:1fr}}

.trust-two-col{display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-bottom:36px}
.trust-col h5{font-size:14.5px; margin-bottom:12px; font-family:'Zilla Slab',serif}
.check-list{list-style:none; padding:0}
.check-list li{font-size:13px; color:var(--ink-soft); padding:7px 0; border-top:1px solid var(--line); padding-left:22px; position:relative}
.check-list li:first-child{border-top:none}
.check-list li::before{content:"✓"; position:absolute; left:0; color:var(--primary); font-weight:700}
.flag-list{list-style:none; padding:0}
.flag-list li{font-size:13px; color:var(--ink-soft); padding:7px 0; border-top:1px solid var(--line); padding-left:22px; position:relative}
.flag-list li:first-child{border-top:none}
.flag-list li::before{content:"⚠"; position:absolute; left:0; color:var(--accent)}
@media (max-width:800px){.trust-two-col{grid-template-columns:1fr}}

.trust-closing{background:var(--primary); color:var(--paper); border-radius:10px; padding:24px 28px; font-size:14.5px; text-align:center; font-family:'Zilla Slab',serif; font-weight:500}

/* Founder / CEO section */
.founder-section{background:var(--paper-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.founder-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:36px; display:grid; grid-template-columns:180px 1fr; gap:36px; align-items:start; box-shadow:0 14px 36px -22px rgba(28,27,24,0.22)}
.founder-photo{width:180px; height:180px; border-radius:50%; object-fit:cover; border:3px solid var(--gold); background:var(--primary-tint)}
.founder-avatar{width:180px; height:180px; border-radius:50%; background:var(--primary); color:var(--paper); display:flex; align-items:center; justify-content:center; font-family:'Zilla Slab',serif; font-size:64px; font-weight:700; border:3px solid var(--gold)}
.founder-body{}
.founder-name{font-family:'Zilla Slab',serif; font-size:26px; font-weight:700; margin-bottom:4px}
.founder-role{font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--gold); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:18px}
.founder-bio{max-width:660px}
.founder-bio p{font-size:14.5px; color:var(--ink-soft); line-height:1.75; margin-bottom:14px}

/* ---- Meet Our Team ---- */
.team-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px}
.team-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; text-align:center; transition:transform .15s ease, box-shadow .15s ease}
.team-card:hover{transform:translateY(-3px); box-shadow:0 16px 32px -20px rgba(28,27,24,.28)}
.team-card.is-founder{border-color:var(--gold); box-shadow:0 6px 20px -10px rgba(201,168,76,.35)}
.team-avatar{width:74px; height:74px; border-radius:50%; background:var(--primary-tint); color:var(--primary); display:flex; align-items:center; justify-content:center; font-family:'Zilla Slab',serif; font-weight:700; font-size:22px; margin:0 auto 14px; border:2px solid var(--gold)}
.team-name{font-family:'Zilla Slab',serif; font-weight:700; font-size:16px; margin-bottom:3px}
.team-role{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--gold-dark, var(--accent)); text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px}
.team-badge{display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.08em; text-transform:uppercase; background:var(--gold-tint); color:var(--primary-dark); padding:3px 10px; border-radius:999px; margin-bottom:10px}
.team-bio{font-size:13px; color:var(--ink-soft); line-height:1.55}
@media (max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.team-grid{grid-template-columns:1fr}}

/* ---- Careers ---- */
.jobs-list{display:flex; flex-direction:column; gap:14px; margin-bottom:26px}
.job-card{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:22px 24px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; transition:border-color .15s ease}
.job-card:hover{border-color:var(--gold)}
.job-title{font-family:'Zilla Slab',serif; font-weight:700; font-size:16.5px; margin-bottom:7px}
.job-meta{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:9px}
.job-tag{font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink-soft); background:var(--paper-alt); border:1px solid var(--line); padding:3px 9px; border-radius:999px}
.job-desc{font-size:13.5px; color:var(--ink-soft); max-width:520px; line-height:1.5}
.job-apply{flex-shrink:0}
.career-cta-card{background:var(--primary); color:var(--paper); border-radius:var(--radius); padding:28px 30px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap}
.career-cta-card h4{font-family:'Zilla Slab',serif; font-size:18px; margin-bottom:6px; color:var(--paper)}
.career-cta-card p{font-size:13.5px; opacity:.85; max-width:460px; margin:0}
@media (max-width:700px){
  .job-card{flex-direction:column; align-items:flex-start}
  .job-apply{width:100%}
  .job-apply .btn{width:100%}
  .career-cta-card{flex-direction:column; align-items:flex-start}
}
.founder-bio p:last-child{margin-bottom:0}
.founder-quote{margin-top:22px; padding:18px 22px; border-left:3px solid var(--gold); background:var(--paper-alt); border-radius:0 8px 8px 0}
.founder-quote p{font-family:'Zilla Slab',serif; font-size:16px; font-weight:600; color:var(--primary); line-height:1.55; margin:0}
@media (max-width:760px){.founder-card{grid-template-columns:1fr; text-align:center} .founder-avatar, .founder-photo{margin:0 auto} .founder-quote{text-align:left}}

.live-verify-note{
  display:flex; align-items:flex-start; gap:10px; background:var(--card); border:1px solid var(--line);
  border-left:3px solid var(--gold); border-radius:8px; padding:14px 18px; font-size:13px; color:var(--ink-soft);
  max-width:760px; margin-bottom:36px;
}
.live-dot{width:8px; height:8px; border-radius:50%; background:var(--gold); flex-shrink:0; margin-top:5px}

.spotlight-tagline{font-family:'Zilla Slab',serif; font-weight:700; font-size:clamp(28px, 4vw, 42px); color:var(--gold); margin-bottom:14px}
.spotlight-body{font-size:15.5px; color:rgba(241,240,228,0.82); max-width:680px; margin-bottom:26px; line-height:1.7}

.pricing-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px}
.price-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:28px}
.price-card h3{font-size:18px; margin-bottom:4px}
.price-card .price-sub{font-size:12.5px; color:var(--ink-soft); margin-bottom:20px}
.price-row{display:flex; justify-content:space-between; align-items:baseline; padding:12px 0; border-top:1px solid var(--line)}
.price-row:first-of-type{border-top:none}
.price-label{font-size:14px}
.price-val{font-family:'IBM Plex Mono',monospace; font-weight:500; color:var(--primary)}
@media (max-width:900px){.pricing-grid{grid-template-columns:1fr}}

.signup-section{background:var(--primary); color:var(--paper)}
.signup-section .eyebrow{color:var(--gold)} .signup-section .eyebrow::before{background:var(--gold)}
.signup-section h2{color:var(--white)}
.signup-section .section-sub{color:rgba(241,240,228,0.75)}
.signup-tabs{display:flex; gap:10px; margin-bottom:26px}
.tab-btn{padding:10px 18px; border-radius:6px; font-size:13.5px; font-weight:600; cursor:pointer; background:rgba(255,255,255,0.08); color:var(--paper); border:1px solid rgba(255,255,255,0.2)}
.tab-btn.active{background:var(--gold); color:var(--primary-dark); border-color:var(--gold)}
.signup-form{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:var(--radius); padding:28px; display:none; grid-template-columns:1fr 1fr; gap:14px}
.signup-form.active{display:grid}
.field{display:flex; flex-direction:column; gap:5px}
.field.full{grid-column:1/-1}
.field label{font-size:12px; color:rgba(241,240,228,0.7)}
.field input, .field select{background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25); border-radius:6px; padding:10px 11px; color:var(--white); font-family:'Inter',sans-serif; font-size:13.5px}
.fee-note{grid-column:1/-1; font-size:12px; color:rgba(241,240,228,0.65); margin-top:2px}
.geo-row{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.geo-row input{flex:1; min-width:100px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25); border-radius:6px; padding:10px 11px; color:var(--white); font-family:'IBM Plex Mono',monospace; font-size:12.5px}
.geo-row .btn{white-space:nowrap; border-color:rgba(255,255,255,0.35); color:var(--paper)}
.geo-row .btn:hover{background:rgba(255,255,255,0.12)}
.geo-status{font-size:12px; color:var(--gold); margin-top:6px; min-height:16px}
@media (max-width:900px){.signup-form{grid-template-columns:1fr}}

footer{padding:56px 0 28px; border-top:1px solid var(--line)}
.foot-grid{display:grid; grid-template-columns:1.3fr repeat(3, 1fr); gap:32px; margin-bottom:40px}
.foot-brand p{font-size:13px; color:var(--ink-soft); max-width:270px}
.foot-alt-name{font-family:'IBM Plex Mono',monospace; font-size:11.5px; margin-top:12px}
.foot-col h4{font-size:11.5px; text-transform:uppercase; letter-spacing:0.07em; color:var(--ink-soft); margin-bottom:12px; font-weight:600}
.foot-col a{display:block; font-size:12.5px; margin-bottom:8px; color:var(--ink-soft); cursor:pointer}
.foot-col a:hover{color:var(--primary)}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:20px; border-top:1px solid var(--line); font-size:12px; color:var(--ink-soft); flex-wrap:wrap; gap:10px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* HOME / PORTAL VIEW */
.hubs-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px}
.hub-card{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:20px; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; display:flex; flex-direction:column}
.hub-card:hover{transform:translateY(-3px) scale(1.015); box-shadow:0 16px 32px -22px rgba(28,27,24,0.35)}
.hub-card-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px}
.hub-emoji{font-size:26px; line-height:1}
.hub-card .top-bar{height:4px; border-radius:3px; width:34px; margin-bottom:0}
.hub-card h3{font-size:16px; margin-bottom:2px}
.hub-card .hub-category{font-size:10.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em; font-family:'IBM Plex Mono',monospace; margin-bottom:10px}
.hub-card .hub-tags{display:flex; flex-wrap:wrap; gap:5px; margin-bottom:14px; flex:1}
.hub-card .tag{font-size:9.5px}
.hub-card .hub-cta{font-size:12px; font-weight:600; margin-top:auto}
@media (max-width:1100px){.hubs-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.hubs-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.hubs-grid{grid-template-columns:1fr}}
.hub-strip{display:flex; gap:8px; flex-wrap:wrap; margin-top:32px}
.hub-chip{display:flex; align-items:center; gap:7px; padding:6px 12px; border-radius:20px; font-size:11px; font-weight:600; font-family:'IBM Plex Mono',monospace; border:1px solid var(--line); background:var(--card); cursor:pointer}
.hub-chip .dot{width:8px; height:8px; border-radius:50%; flex-shrink:0}

@media (prefers-reduced-motion: reduce){ *{transition:none !important; scroll-behavior:auto !important} }
a:focus-visible, button:focus-visible, .btn:focus-visible, .county-tile:focus-visible, .hub-card:focus-visible, .hub-chip:focus-visible, .logo:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.hub-card, .hub-chip, .logo{outline:none}

/* ================== UI/UX REFINEMENT PASS ==================
   Kenya Heritage Portal direction: elevated search console,
   deeper green + gold accents, warmer hub cards, tighter rhythm.
*/
body{font-size:16.5px}
.wrap{max-width:1200px; padding:0 28px}
section{padding:76px 0}
h2.section-title{font-size:38px; line-height:1.1}
.eyebrow{color:var(--accent); font-weight:600}
.eyebrow::before{background:var(--gold); width:26px; height:2px}

/* Header polish */
header{background:rgba(245,240,224,0.88); border-bottom-color:rgba(13,59,46,0.12)}
.logo .seal{background:var(--primary); border-color:var(--gold); box-shadow:0 2px 8px -2px rgba(13,59,46,.35)}
.nav-links a{font-weight:500}
.nav-links a:hover{color:var(--primary)}

/* Buttons */
.btn{border-radius:10px; padding:14px 24px; letter-spacing:.01em; transition:transform .15s ease, background .15s ease, box-shadow .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary); box-shadow:0 6px 18px -8px rgba(13,59,46,.5)}
.btn-primary:hover{background:var(--primary-dark); box-shadow:0 10px 24px -10px rgba(13,59,46,.6)}
.btn-accent{background:var(--accent); box-shadow:0 6px 18px -8px rgba(178,58,42,.45)}
.btn-ghost{border-color:var(--primary); color:var(--primary)}
.btn-ghost:hover{background:var(--primary); color:var(--paper)}

/* Hero — bigger, more editorial */
.hero{padding:96px 0 72px}
.brand-hero-mark{font-size:clamp(44px, 7vw, 78px); color:var(--primary)}
.brand-hero-sub{color:var(--gold); font-weight:600; letter-spacing:.28em}
.hero h1{font-size:clamp(38px, 4.4vw, 56px); line-height:1.05; letter-spacing:-0.015em}
.hero h1 em{color:var(--gold); font-style:normal}
.hero p.lead{font-size:17.5px; line-height:1.55; max-width:520px}
.tagline-rotator{color:var(--accent); font-weight:600; letter-spacing:.18em; text-transform:uppercase; font-size:12.5px}
.hero-emoji-badge{background:var(--gold-tint); border-color:var(--gold); color:var(--primary)}
.hero-stats{gap:40px; padding-top:24px; border-top:1px solid rgba(13,59,46,.12); margin-top:8px}
.stat b{font-size:28px; color:var(--primary); letter-spacing:-0.02em}
.stat span{font-size:11.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); font-family:'IBM Plex Mono',monospace}

/* ============ Search console — the star instrument ============ */
.digi-search{max-width:760px; margin:32px 0 14px; background:var(--white); border:1px solid rgba(13,59,46,.10); border-radius:20px; padding:18px; box-shadow:0 24px 60px -28px rgba(13,59,46,.35), 0 2px 6px -2px rgba(13,59,46,.08)}
.signup-section .digi-search{background:rgba(255,255,255,0.06); border-color:rgba(245,240,224,0.18); box-shadow:none}
.digi-search .ds-modes{background:var(--paper-alt); padding:4px; border-radius:10px; margin-bottom:14px}
.digi-search .ds-mode{padding:8px 14px; font-size:11.5px; font-weight:600}
.digi-search .ds-mode.on{background:var(--white); color:var(--primary); box-shadow:0 2px 6px -2px rgba(13,59,46,.2)}
.digi-search .ds-box{border:1.5px solid var(--line); border-radius:12px; padding:6px 6px 6px 18px; background:var(--paper); box-shadow:none}
.digi-search .ds-box:focus-within{border-color:var(--primary); background:var(--white); box-shadow:0 0 0 3px rgba(13,59,46,.10)}
.digi-search input{padding:15px 8px; font-size:15.5px}
.digi-search input::placeholder{color:rgba(13,46,36,.45)}
.digi-search .ds-go{background:var(--primary); border-radius:10px; padding:13px 24px; font-size:14.5px; letter-spacing:.01em; transition:background .15s, transform .1s}
.digi-search .ds-go:hover{background:var(--primary-dark)}
.digi-search .ds-go:active{transform:scale(.97)}
.digi-search .ds-hint{color:var(--ink-soft); font-size:11.5px; margin-top:12px}

/* Refine (county/const/ward) — permanent visible row */
.digi-search .ds-refine{margin-top:16px; border-top:1px solid rgba(13,59,46,.10); padding-top:16px}
.digi-search .ds-refine-title>span:first-child{color:var(--gold); font-weight:700; letter-spacing:.16em}
.digi-search .ds-refine-count{background:var(--accent)}
.digi-search .ds-filter label{color:var(--gold); font-weight:700; font-size:10.5px; letter-spacing:.16em}
.digi-search .ds-filter select{border:1.5px solid var(--line); border-radius:10px; padding:12px 34px 12px 14px; font-size:13.5px; background-color:var(--paper); transition:border-color .15s, background .15s}
.digi-search .ds-filter select:hover:not(:disabled){border-color:var(--primary); background-color:var(--white)}
.digi-search .ds-filter select:focus{border-color:var(--primary); background:var(--white); box-shadow:0 0 0 3px rgba(13,59,46,.10)}
.digi-search .ds-filter.active select{border-color:var(--gold); background-color:var(--gold-tint)}
.digi-search .ds-chip{background:var(--gold-tint); color:var(--primary); border:1px solid rgba(201,168,76,.4); font-weight:600}
.digi-search .ds-dd{border-radius:14px; box-shadow:0 28px 60px -20px rgba(13,59,46,.4); border-color:rgba(13,59,46,.1)}
.ds-item{padding:14px 18px}
.ds-item:hover, .ds-item.active{background:var(--gold-tint)}
.ds-item .ds-title{font-size:14.5px}
.ds-item .ds-title em{background:var(--gold); color:var(--primary); font-weight:700}

/* Hub chips strip — pill row, gold hover */
.hub-strip{gap:9px; margin-top:36px}
.hub-chip{padding:8px 14px; border-radius:999px; font-size:11.5px; background:var(--white); border:1px solid var(--line); transition:all .18s ease; cursor:pointer}
.hub-chip:hover{background:var(--gold); border-color:var(--gold); color:var(--primary); transform:translateY(-1px)}
.hub-chip .dot{width:8px; height:8px}

/* Hub cards — icon tile + gold hover border */
.hubs-grid{gap:22px}
.hub-card{border:1px solid rgba(13,59,46,.08); border-radius:18px; padding:22px; box-shadow:0 2px 4px -2px rgba(13,59,46,.06); background:var(--white); position:relative; overflow:hidden}
.hub-card::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg, var(--primary), var(--gold)); opacity:0; transition:opacity .2s ease}
.hub-card:hover{transform:translateY(-4px); box-shadow:0 22px 44px -22px rgba(13,59,46,.32); border-color:rgba(201,168,76,.5)}
.hub-card:hover::before{opacity:1}
.hub-card-top{margin-bottom:14px}
.hub-emoji{width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; background:var(--primary); border-radius:12px; font-size:22px; box-shadow:0 4px 10px -4px rgba(13,59,46,.35)}
.hub-card .top-bar{width:40px; height:3px; background:var(--gold) !important; border-radius:2px}
.hub-card h3{font-size:17px; color:var(--primary); letter-spacing:-.01em}
.hub-card .hub-category{color:var(--gold); font-weight:700; font-size:10px; letter-spacing:.15em; margin-bottom:12px}
.hub-card .tag{background:var(--paper); border-color:rgba(13,59,46,.1); color:var(--ink-soft); font-size:10px; padding:4px 8px}
.hub-card .hub-cta{color:var(--primary); font-weight:700; display:inline-flex; align-items:center; gap:6px}
.hub-card .hub-cta::after{content:"→"; transition:transform .18s ease}
.hub-card:hover .hub-cta::after{transform:translateX(4px)}

/* Sub-hub, category, profile cards — warmer */
.subhub-card{border-radius:14px; transition:transform .15s, box-shadow .15s}
.subhub-card:hover{transform:translateY(-2px); box-shadow:0 14px 28px -18px rgba(13,59,46,.25)}
.subhub-card .icon{background:var(--primary); color:var(--paper); box-shadow:0 3px 8px -3px rgba(13,59,46,.4)}
.subhub-card .num{color:var(--gold); font-weight:700}
.category-card{border-radius:12px; border-color:rgba(13,59,46,.08)}
.category-card h4 .lbl{background:var(--primary); color:var(--paper)}
.pcard{border-radius:16px; border-color:rgba(13,59,46,.08)}
.pcard:hover{border-color:rgba(201,168,76,.4)}
.score-pill{background:var(--gold-tint); color:var(--primary-dark); font-weight:600}
.stars{color:var(--gold)}

/* Trust strip */
.trust-strip{background:var(--primary); color:var(--paper); padding:22px 0; border-top:2px solid var(--gold); border-bottom:2px solid var(--gold)}
.trust-inner{opacity:.95; font-size:12px; letter-spacing:.06em}

/* Coverage — county tiles keep, add lift */
.county-tile{border-radius:10px}
.county-tile:hover, .county-tile.active{outline-color:var(--gold)}

/* Stamp card seal */
.seal-stamp{background:var(--accent); border-color:rgba(255,255,255,.55)}
.stamp-card{border-radius:16px; box-shadow:0 24px 50px -24px rgba(13,59,46,.35)}
.avatar{background:var(--primary-tint); color:var(--primary)}

/* Tracks */
.track{border-radius:16px; padding:32px; border-color:rgba(13,59,46,.08); background:var(--white)}
.track.t-provider h3{color:var(--primary)}

/* Mobile tune-ups */
@media (max-width:640px){
  section{padding:56px 0}
  .wrap{padding:0 20px}
  .hero{padding:56px 0 40px}
  .hero-stats{gap:24px}
  .digi-search{padding:14px; border-radius:16px}
  .digi-search .ds-box{padding:4px 4px 4px 14px; border-radius:10px}
  .digi-search input{padding:12px 6px; font-size:15px}
  .digi-search .ds-go{padding:11px 16px; font-size:13.5px}
  .digi-search .ds-modes{width:100%; display:flex}
  .digi-search .ds-mode{flex:1; text-align:center}
  .hub-strip{gap:7px}
  .hub-chip{padding:7px 11px; font-size:11px}
  h2.section-title{font-size:28px}
  .brand-hero-mark{font-size:40px}
  .hero h1{font-size:32px}
}
/* ============================================================
   HUB PALETTES — add .hub-{key} to <body> (via page setting)
   or to any wrapper div to re-theme everything inside it.
   ============================================================ */
.hub-daktari{--primary:#1F4D3A;--primary-dark:#123326;--primary-tint:#DDE8DF;--accent:#B23A2E;--accent-tint:#F3DEDB}
.hub-fundi{--primary:#2E4B5E;--primary-dark:#1E323F;--primary-tint:#DCE4E9;--accent:#D9782D;--accent-tint:#F5E1CC}
.hub-gari{--primary:#B5651D;--primary-dark:#8A4B14;--primary-tint:#F0DEC7;--accent:#4B5563;--accent-tint:#DDE0E4}
.hub-kilimo{--primary:#5B6B2F;--primary-dark:#3F4A20;--primary-tint:#E5E8D6;--accent:#B5651D;--accent-tint:#F0DEC7}
.hub-bima{--primary:#1B3A5C;--primary-dark:#122A42;--primary-tint:#DCE3EA;--accent:#B23A2E;--accent-tint:#F3DEDB}
.hub-urembo{--primary:#9C3B63;--primary-dark:#742A49;--primary-tint:#F0DCE5;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-sheria{--primary:#6B2141;--primary-dark:#4C1730;--primary-tint:#EBD9E1;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-elimu{--primary:#453B78;--primary-dark:#2F2856;--primary-tint:#E1DEF0;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-tech{--primary:#1F6F6B;--primary-dark:#154E4B;--primary-tint:#DCEDEC;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-safiri{--primary:#9C7A1F;--primary-dark:#725A16;--primary-tint:#F0E9D2;--accent:#4B5563;--accent-tint:#DDE0E4}
.hub-makazi{--primary:#A0522D;--primary-dark:#743B20;--primary-tint:#F0DDD1;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-food{--primary:#C1392B;--primary-dark:#8E291F;--primary-tint:#F3DCD9;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-soko{--primary:#1E7D5A;--primary-dark:#155A41;--primary-tint:#DBEBE3;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-biashara{--primary:#4B5563;--primary-dark:#343B44;--primary-tint:#DEE1E4;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-imani{--primary:#5B3A7A;--primary-dark:#402955;--primary-tint:#E5DDEE;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-sherehe{--primary:#C23B7A;--primary-dark:#8F2A5A;--primary-tint:#F3DCE7;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-kazi{--primary:#7A6A58;--primary-dark:#584C3E;--primary-tint:#E9E4DC;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-serikali{--primary:#23303E;--primary-dark:#141C24;--primary-tint:#D9DEE3;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-safari{--primary:#C99A3D;--primary-dark:#95712A;--primary-tint:#F3EAD3;--accent:#6B4226;--accent-tint:#E4D6CB}
.hub-sanaa{--primary:#6B2F5C;--primary-dark:#4C2141;--primary-tint:#EBDCE7;--accent:#C08829;--accent-tint:#F1E3C6}
.hub-juakali{--primary:#3A3530;--primary-dark:#242119;--primary-tint:#DEDAD3;--accent:#E07B39;--accent-tint:#F7DEC9}
.hub-mazingira{--primary:#2F7A3D;--primary-dark:#1F5228;--primary-tint:#DCEBDD;--accent:#2B7A9E;--accent-tint:#D7E8ED}
/* ============================================================
   WORDPRESS + ELEMENTOR COMPATIBILITY LAYER (theme additions)
   ============================================================ */

/* Let WordPress admin bar coexist with the sticky header */
.admin-bar .dh-header{top:32px}
@media (max-width:782px){.admin-bar .dh-header{top:46px}}

/* Scope the sticky header to the theme's own header element, so any
   <header> pasted inside Elementor content is NOT hijacked */
header.dh-header{position:sticky; top:0; z-index:50; background:rgba(241,240,228,.94);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line)}
body header:not(.dh-header){position:static; background:transparent; border:none; backdrop-filter:none}

/* Elementor: remove default section gaps fighting our sections */
.elementor-section.dh-flush > .elementor-container{max-width:100% !important}
.elementor-widget-html section{padding:88px 0}
@media (max-width:640px){.elementor-widget-html section{padding:56px 0}}

/* Content width safety for classic editor pages */
.dh-content-default{max-width:1180px;margin:0 auto;padding:48px 32px}

/* ============================================================
   MOBILE NAVIGATION (improvement over original, which hid links)
   ============================================================ */
.dh-burger{display:none; width:42px; height:42px; border:1.5px solid var(--line);
  border-radius:8px; background:var(--card); cursor:pointer; align-items:center;
  justify-content:center; flex-direction:column; gap:5px; padding:0}
.dh-burger span{display:block; width:18px; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s, opacity .2s}
.dh-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.dh-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.dh-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.dh-mobile-panel{display:none; border-top:1px dashed var(--line); padding:14px 0 20px}
.dh-mobile-panel.open{display:block}
.dh-mobile-panel ul{list-style:none; margin:0; padding:0}
.dh-mobile-panel li a{display:block; padding:11px 4px; font-weight:600; font-size:14.5px;
  color:var(--ink); border-bottom:1px solid var(--line)}
.dh-mobile-panel li a:hover{color:var(--primary)}
.dh-mobile-panel .dh-mobile-cta{display:flex; gap:10px; margin-top:16px}
.dh-mobile-panel .dh-mobile-cta .btn{flex:1}

@media (max-width:960px){
  .dh-burger{display:inline-flex}
  .dh-header .nav-links, .dh-header .nav-cta{display:none}
}

/* WP menu markup mapping onto the original .nav-links look */
.dh-header .nav-links{list-style:none; margin:0; padding:0}
.dh-header .nav-links li{display:inline-flex}
.dh-header .nav-links .current-menu-item > a{color:var(--primary)}

/* ============================================================
   ACCESSIBILITY + POLISH
   ============================================================ */
a:focus-visible, button:focus-visible, .btn:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gold); outline-offset:2px}
.screen-reader-text{position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important; transition-duration:.01ms !important}
  html{scroll-behavior:auto}
}

/* Skip link */
.dh-skip{position:absolute; left:-9999px; top:0; z-index:100; background:var(--primary);
  color:#fff; padding:10px 18px; border-radius:0 0 8px 0; font-weight:600}
.dh-skip:focus{left:0}

/* Default WP content niceties inside .dh-content-default */
.dh-content-default h1,.dh-content-default h2,.dh-content-default h3{margin:1.2em 0 .5em}
.dh-content-default p{margin:0 0 1em}
.dh-content-default ul,.dh-content-default ol{margin:0 0 1em 1.4em}

/* Theme footer */
.dh-footer{background:var(--primary-dark); color:var(--paper); padding:56px 0 32px; margin-top:0}
.dh-footer a{color:var(--paper); opacity:.85}
.dh-footer a:hover{opacity:1; color:var(--gold)}
.dh-footer .dh-footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:36px}
.dh-footer h4{font-size:14px; margin-bottom:14px; color:var(--gold); font-family:'IBM Plex Mono',monospace;
  text-transform:uppercase; letter-spacing:.12em; font-weight:600}
.dh-footer ul{list-style:none; margin:0; padding:0}
.dh-footer li{padding:5px 0; font-size:13.5px}
.dh-footer .dh-footer-desc{font-size:13.5px; opacity:.8; max-width:340px; margin-top:12px; line-height:1.7}
.dh-footer .dh-footer-bottom{border-top:1px solid rgba(255,255,255,.14); padding-top:22px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-family:'IBM Plex Mono',monospace; font-size:11px; opacity:.7}
@media (max-width:800px){.dh-footer .dh-footer-grid{grid-template-columns:1fr}}
