/* ---------------------------------------------------------
   Izzy’s Impact — styles
   Clean version with:
   - Satoshi local fonts
   - Simple theme variables
   - Hero background image + overlay control
   - Menu text colour set to dark blue (#171D2C) on desktop
   - Mobile menu auto-switches to light text for readability
--------------------------------------------------------- */

/* =========================================================
   THEME CONTROLS (edit these)
   ========================================================= */
:root{
  /* Global page */
  --page-bg: #F4EEE0;
  --page-text: #17233D;

/* Header */
--header-bg: #17233D;
--menu-text: #F4EDDF;
--menu-hover-text: #F3CDCD;
--menu-hover-bg: rgba(255,255,255,0.08);
--menu-hover-border: rgba(255,255,255,0.15);
--menu-active-bg: rgba(255,255,255,0.12);
--menu-active-border: rgba(255,255,255,0.25);

  /* Mobile nav panel (hamburger open state) */
  --mobile-nav-bg: rgba(11,18,32,.92);
  --mobile-menu-text: #eaf0ff;
  --mobile-menu-hover-bg: rgba(255,255,255,0.08);
  --mobile-menu-hover-border: rgba(255,255,255,0.15);
  --mobile-menu-active-bg: rgba(255,255,255,0.12);
  --mobile-menu-active-border: rgba(255,255,255,0.25);

  /* Hero */
 --hero-image: url("/assets/images/jpegs/IZZYS-IMPACT-CIRCLE-FULL-COLOUR-JULY2025.jpg");
  --hero-position: center;
  --hero-size: contain;
  /* 8-digit hex: #RRGGBBAA */
  --hero-overlay-top:    #0b122033;
  --hero-overlay-bottom: #0b1220B3;

  /* Panels/cards over dark backgrounds */
  --panel-bg: #0f1a33CC;
  --panel-border: #FFFFFF1A;

  /* Accents */
  --brand: #7c5cff;
  --outline: rgba(234,240,255,.22);
  --shadow: 0 10px 30px rgba(0,0,0,.35);

  /* Layout */
  --radius: 16px;
  --max: 1100px;
}

/* =========================================================
   FONTS (Satoshi local)
   ========================================================= */
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-Light.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-Light.woff") format("woff"),
      url("/assets/fonts/Satoshi-Light.ttf") format("truetype");
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-LightItalic.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-LightItalic.woff") format("woff"),
      url("/assets/fonts/Satoshi-LightItalic.ttf") format("truetype");
  font-weight:300;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-Regular.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-Regular.woff") format("woff"),
      url("/assets/fonts/Satoshi-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-Italic.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-Italic.woff") format("woff"),
      url("/assets/fonts/Satoshi-Italic.ttf") format("truetype");
  font-weight:400;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-Medium.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-Medium.woff") format("woff"),
      url("/assets/fonts/Satoshi-Medium.ttf") format("truetype");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-MediumItalic.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-MediumItalic.woff") format("woff"),
      url("/assets/fonts/Satoshi-MediumItalic.ttf") format("truetype");
  font-weight:500;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-Bold.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-Bold.woff") format("woff"),
      url("/assets/fonts/Satoshi-Bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-BoldItalic.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-BoldItalic.woff") format("woff"),
      url("/assets/fonts/Satoshi-BoldItalic.ttf") format("truetype");
  font-weight:700;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-Black.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-Black.woff") format("woff"),
      url("/assets/fonts/Satoshi-Black.ttf") format("truetype");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Satoshi";
  src:url("/assets/fonts/Satoshi-BlackItalic.woff2") format("woff2"),
      url("/assets/fonts/Satoshi-BlackItalic.woff") format("woff"),
      url("/assets/fonts/Satoshi-BlackItalic.ttf") format("truetype");
  font-weight:900;
  font-style:italic;
  font-display:swap;
}

/* =========================================================
   BASE
   ========================================================= */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Satoshi", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--page-text);
  background:var(--page-bg);
  line-height:1.55;
}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:0 18px}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left:18px; top:18px; width:auto; height:auto;
  padding:10px 12px;
  background:#111a33;
  border-radius:10px;
  border:1px solid var(--outline);
}

/* =========================================================
   HEADER / NAV
   ========================================================= */
.site-header{
  position:sticky; top:0; z-index:10;
  backdrop-filter: blur(10px);
  background: var(--header-bg);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px;
  padding:18px 18px;
}
.brand-link{
 display:flex;
  align-items:center;
  max-width:160px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.2px;
  font-size:1.1rem;
  color: var(--menu-text);
}
.brand-logo img{
  display:block;
  max-width:160px;    /* HARD STOP to prevent wrapping */
  width:auto;
}
.site-logo{
  display:block;
  height:auto;
  width:auto;
  max-height: 56px;
  max-width: 200px;
}

.nav-toggle{
  display:none;
  border:1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.04);
  color: var(--menu-text);
  border-radius:12px;
  padding:10px 12px;
  font-size:1.05rem;
}

.site-nav{
  display:flex; align-items:center; gap:18px;
}

.nav-list{
  display:flex; align-items:center; gap:14px;
  list-style:none; padding:0; margin:0;
}

.nav-list a{
  text-decoration:none;
  color: var(--menu-text);
  padding:10px 10px;
  border-radius:12px;
  border:1px solid transparent;
}
.nav-list a:hover{
  color: var(--menu-hover-text);
  background: var(--menu-hover-bg);
  border-color: var(--menu-hover-border);
}
.nav-list a.active,
.nav-list a[aria-current="page"]{
  color: var(--brand);
  background: var(--menu-active-bg);
  border-color: var(--menu-active-border);
}

.nav-cta{display:flex; gap:10px; align-items:center}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  border:1px solid transparent;
  white-space:nowrap;
}
.btn-primary{
  background: linear-gradient(135deg, var(--brand), #9b7bff);
  color:#0b1220;
}
.btn-primary:hover{filter: brightness(1.05);}
.btn-outline{
  border-color: rgba(0,0,0,.18);
  background: rgba(255,255,255,.24);
  color: var(--menu-text);
}
.btn-outline:hover{background: rgba(255,255,255,.32);}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  padding:56px 0 22px;
 min-height: 85vh;         /* % of viewport height */
  max-height: 95vh;
  display:flex;
  align-items:center;

  background:
    /* linear-gradient(var(--hero-overlay-top), var(--hero-overlay-bottom)), */
    var(--hero-image);

  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: var(--page-bg);
}


.hero-card{
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius);
  padding: 26px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.hero h1{
  margin:0 0 10px 0;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  letter-spacing:.2px;
  font-weight: 700;
}
.hero p{
  margin: 0 0 18px 0;
  color: rgba(234,240,255,.85);
  max-width: 70ch;
}
.hero-actions{
  display:flex; gap:12px; flex-wrap:wrap;
  margin-top: 12px;
}

/* =========================================================
   SECTIONS / CARDS
   ========================================================= */
.section{ padding: 22px 0 54px; }

.grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.card{
  background: rgba(15,26,51,.60);
  border:1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  padding: 16px;
}
.card h1{margin:0 0 10px 0; font-size:1.6rem}
.card h3{margin:0 0 6px 0; font-weight:700}
.card p{margin:0; color: rgba(234,240,255,.80)}
.card a{color:var(--page-text); text-decoration:none}
.card a:hover{text-decoration:underline}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer {
  position: relative;
  z-index: 10;
  background: var(--header-bg);
  border-top: 1px solid rgba(255,255,255,.08);
}
.footer-inner {
  padding: 18px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.footer-inner p {
  margin: 0;
  color: var(--menu-text);
  font-size: .92rem;
}
.footer-links {
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer-links span[aria-hidden] {
  color: rgba(244,237,223,.35);
}
.footer-links a {
  color: var(--menu-text);
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: background .15s, border-color .15s, color .15s;
}
.footer-links a:hover {
  color: var(--menu-hover-text);
  background: var(--menu-hover-bg);
  border-color: var(--menu-hover-border);
}

/* =========================================================
   RESPONSIVE NAV
   ========================================================= */
@media (max-width: 920px){
  .nav-toggle{display:inline-flex}

  .site-nav{
    position:absolute;
    left:0; right:0; top:64px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    padding: 14px 18px 18px;
    background: var(--mobile-nav-bg);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .site-nav.open{display:flex}

  .nav-list{flex-direction:column; align-items:stretch}

  /* Mobile menu text should be light on dark panel */
  .site-nav .nav-list a{
    color: var(--mobile-menu-text);
  }
  .site-nav .nav-list a:hover{
    color: #ffffff;
    background: var(--mobile-menu-hover-bg);
    border-color: var(--mobile-menu-hover-border);
  }
  .site-nav .nav-list a.active,
  .site-nav .nav-list a[aria-current="page"]{
    color: #ffffff;
    background: var(--mobile-menu-active-bg);
    border-color: var(--mobile-menu-active-border);
  }

  .nav-cta{flex-direction:column; align-items:stretch}
  .btn{width:100%}

  .grid{grid-template-columns:1fr}
}
