:root{
  --bg:#ffffff;
  --fg:#0b0b0b;
  --muted:#5d5d5d;
  --maxw:900px;
  --header-h:64px; /* desktop header height */
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--fg);
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}
a{color:inherit}

.container{max-width:var(--maxw);margin:0 auto;padding:20px}

/* Header / nav */
.header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 20px;
  border-bottom:1px solid #eee;
  position:sticky;
  top:0;
  background:var(--bg);
  z-index:10;
  min-height:var(--header-h);
}
.brand a{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{height:40px;width:auto;display:block}
@media (min-width:1024px){
  .brand img{height:64px}
}

nav ul{display:flex;list-style:none;margin:0;padding:0;gap:16px}
nav a{text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
nav a.active{border-color:#000}

main{min-height:60vh}

/* Type & content */
h1{font-size:clamp(26px,4vw,38px);line-height:1.15;margin:20px 0}
h2{font-size:clamp(18px,2.4vw,24px);margin:18px 0 8px}
.lede{font-size:clamp(16px,2vw,19px);color:var(--muted)}
.content{max-width:760px;margin:0 auto;font-size:18px;line-height:1.65}
.content p{margin:0 0 12px 0}
.content ul{margin:6px 0 16px 1.2em}

/* Footer */
.footer{
  border-top:1px solid #eee;
  padding:22px 0;
  color:var(--muted);
  font-size:14px;
  text-align:center;
}

/* Logos on About */
.logo-strip{width:100%;display:flex;justify-content:center;padding:24px 0 0}
.logo-strip img{max-width:85vw;width:100%;height:auto;margin:0 auto;display:block}

/* Resources list */
.grid{display:grid;gap:14px}
.resources-list a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:1px solid #111;
  border-radius:12px;
  padding:16px 14px;
  margin-bottom:12px;
  text-decoration:none
}
.resources-list small{color:var(--muted)}
.badge{font-size:12px;border:1px solid #111;border-radius:999px;padding:2px 8px}

/* Full-bleed helper for the map on Home */
.full-bleed{
  width:100vw;
  margin-left:50%;
  transform:translateX(-50%);
  padding:10px 12px; /* small gutter around the border */
}

/* Map sizing */
.map-wrap{
  height:calc(100vh - var(--header-h) - 20px); /* viewport minus header and the .full-bleed vertical padding */
}
.map-wrap iframe{
  width:100%;
  height:100%;
  display:block;
  border:1px solid #ddd;      /* small border around the map */
  border-radius:10px;          /* optional; remove if you want square corners */
}

.footer{                 /* keep your existing colours/border */
  text-align:center;
}

/* Footer partner logo */
.footer-partner{
  display:block;        /* put it on its own line */
  margin:0 auto 8px;    /* centre it; add gap above © */
  line-height:0;        /* remove inline baseline gap */
}

.footer-partner img{
  height:28px;
  width:auto;
  display:block;
  margin:0 auto;        /* centre the image itself */
}

@media (min-width:1024px){
  .footer-partner img{ height:34px; }  /* slightly larger on desktop */
}

/* Bold brand links without underline */
.brand-link{ text-decoration:none; }
.brand-link:hover,
.brand-link:focus{ text-decoration:none; }

