:root{
  --bg:#fffdf8;
  --ink:#111111;
  --accent:#00e5ff;
  --accent-2:#ff3d81;
  --accent-3:#ffe600;
  --card:#ffffff;
  --line:#111111;
  --shadow:6px 6px 0 #111111;
  --shadow-hover:10px 10px 0 #111111;
  --radius:4px;
  --max:1120px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.5;
}
a{color:var(--ink);text-decoration-thickness:2px;text-underline-offset:3px}
img{max-width:100%;display:block}
.container{width:min(100% - 2rem,var(--max));margin-inline:auto}

/* Header */
.site-header{
  height:60px;
  border-bottom:3px solid var(--line);
  background:#fff;
}
.header-inner{
  height:100%;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:1rem;
}
.brand{
  display:flex;
  align-items:center;
  gap:.6rem;
  text-decoration:none;
  font-size:1rem;
  font-weight:900;
}
.brand-mark{
  width:28px;height:28px;display:inline-block;
}
.main-nav{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
}
.main-nav a{
  text-decoration:none;
  border:2px solid transparent;
  padding:.2rem .45rem;
}
.main-nav a:hover,.main-nav a[aria-current="page"]{
  border-color:var(--line);
  background:var(--accent-3);
}
.header-cta{
  text-decoration:none;
  border:3px solid var(--line);
  padding:.35rem .6rem;
  box-shadow:var(--shadow);
  background:var(--accent);
  font-size:.85rem;
}
.menu-btn{
  display:none;
  border:3px solid var(--line);
  background:var(--accent-2);
  color:#fff;
  font-weight:900;
  padding:.3rem .5rem;
}
.mobile-menu{
  display:none;
}

/* Hero */
.hero{
  padding:3.5rem 0 2rem;
}
.hero-wrap{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  background:linear-gradient(130deg,var(--accent) 0%, #fff 48%, var(--accent-3) 100%);
  padding:2rem;
}
.hero h1{
  margin:.1rem 0 1rem;
  font-size:clamp(1.7rem,4.2vw,3.2rem);
  line-height:1.1;
}
.hero p{
  max-width:70ch;
  margin:0 0 1.2rem;
}
.hero-actions{
  display:flex;gap:.8rem;flex-wrap:wrap
}
.btn{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  text-decoration:none;
  font-weight:900;
  padding:.65rem .9rem;
  display:inline-block;
  background:#fff;
}
.btn.primary{background:var(--accent-2);color:#fff}
.btn.secondary{background:#fff}

/* Cards */
.section-title{
  margin:2.2rem 0 1rem;
  font-size:1.5rem;
  border-bottom:3px solid var(--line);
  display:inline-block;
  padding-bottom:.2rem;
}
.card-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:1rem;
}
.data-card{
  grid-column:span 12;
  border:3px solid var(--line);
  background:var(--card);
  box-shadow:var(--shadow);
  transition:.2s ease;
}
.data-card:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-hover)}
.card-head{
  border-bottom:3px solid var(--line);
  background:var(--accent-3);
  padding:.8rem;
}
.card-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.5rem;
}
.stat{
  border:2px solid var(--line);
  background:#fff;
  padding:.4rem;
  text-align:center;
}
.stat b{display:block;font-size:1rem}
.card-body{padding:1rem}
.card-body h3{margin:.2rem 0 .6rem}
.card-meta{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  margin-top:.8rem
}
.tag{
  border:2px solid var(--line);
  background:var(--accent);
  padding:.15rem .45rem;
  font-size:.78rem;
}

/* Supporting section */
.support{
  margin:2.5rem 0;
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  background:#fff;
  padding:1.2rem;
}
.support-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:1rem;
}
.kpi{
  border:3px solid var(--line);
  background:var(--accent);
  padding:1rem;
  box-shadow:var(--shadow);
}
.kpi strong{font-size:2rem;display:block}

/* Content pages */
.page-hero{
  padding:2rem 0 1rem;
}
.page-hero-box{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  background:linear-gradient(140deg,#fff 0%,#f2f2f2 100%);
  padding:1.5rem;
}
.content{
  padding:1rem 0 2.5rem;
}
.content article{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  background:#fff;
  padding:1.2rem;
}
.content h2{
  margin-top:1.6rem;
  border-left:8px solid var(--accent-2);
  padding-left:.5rem;
}
.content table{
  width:100%;
  border-collapse:collapse;
  margin:.8rem 0 1.2rem;
}
.content th,.content td{
  border:2px solid var(--line);
  padding:.55rem;
  text-align:left;
}
.note{
  border:3px dashed var(--line);
  background:#fff8cc;
  padding:.7rem;
}

/* Contact */
.contact-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:1rem;
}
form{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  padding:1rem;
  background:#fff;
}
label{display:block;font-weight:900;margin-top:.7rem}
input,textarea,select{
  width:100%;
  border:2px solid var(--line);
  padding:.6rem;
  font:inherit;
  background:#fff;
}
.error{color:#a50000;font-size:.8rem;min-height:1.1em}
.map-block{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  overflow:hidden;
  background:#fff;
}
.map-block .map-svg{
  width:100%;height:260px;display:block;
}
.contact-card{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  background:var(--accent-3);
  padding:1rem;
  margin-top:1rem;
}

/* Footer */
.site-footer{
  border-top:3px solid var(--line);
  background:#fff;
  margin-top:2rem;
}
.footer-inner{
  display:grid;
  gap:1rem;
  grid-template-columns:2fr 1fr 1fr;
  padding:1rem 0 2rem;
}
.footer-inner ul{
  list-style:none;
  padding:0;margin:0;
}
.footer-inner li{margin:.35rem 0}
.small{font-size:.85rem}

/* Cookie banner */
.cookie-banner{
  position:fixed;
  left:0;right:0;bottom:0;
  background:#fff;
  border-top:3px solid var(--line);
  z-index:9999;
  display:none;
}
.cookie-inner{
  width:min(100% - 1rem,var(--max));
  margin:.6rem auto;
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  align-items:center;
}
.cookie-inner p{margin:0;flex:1 1 280px}
.cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cookie-actions button{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  background:#fff;
  font-weight:900;
  padding:.45rem .65rem;
  cursor:pointer;
}
.cookie-actions .accept{background:var(--accent)}
.cookie-actions .reject{background:#ffe1ec}
.cookie-actions .prefs{background:var(--accent-3)}

@media (min-width:760px){
  .data-card{grid-column:span 6}
}
@media (min-width:1024px){
  .data-card{grid-column:span 4}
}
@media (max-width:767px){
  .site-header{height:50px}
  .main-nav,.header-cta{display:none}
  .menu-btn{display:inline-block}
  .mobile-menu.active{
    display:block;
    position:absolute;
    left:0;right:0;top:50px;
    background:#fff;
    border-bottom:3px solid var(--line);
    padding:.8rem 1rem;
  }
  .mobile-menu a{
    display:block;
    padding:.45rem;
    border:2px solid var(--line);
    margin:.4rem 0;
    text-decoration:none;
    background:var(--accent-3);
  }
  .support-grid,.contact-grid,.footer-inner{grid-template-columns:1fr}
}