:root{
      --navy:#123046;
      --blue:#1c6b87;
      --teal:#58a7a4;
      --cream:#f7f3eb;
      --sand:#eadfce;
      --ink:#1e2a31;
      --muted:#64727a;
      --white:#ffffff;
      --accent:#d68a4a;
      --radius:22px;
      --shadow:0 16px 40px rgba(20,48,70,.12);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--ink);
      background:#fff;
      line-height:1.6;
    }
    img{max-width:100%;display:block}
    a{color:inherit;text-decoration:none}
    .container{width:min(1180px, calc(100% - 40px));margin:auto}

    .topbar{
      background:var(--navy);
      color:#fff;
      font-size:14px;
      padding:9px 0;
    }
    .topbar .container{
      display:flex;
      justify-content:space-between;
      gap:20px;
      align-items:center;
    }

    header{
      position:sticky;
      top:0;
      z-index:20;
      background:rgba(255,255,255,.97);
      backdrop-filter:blur(10px);
      border-bottom:1px solid #e9edef;
    }
    .nav{
      min-height:82px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:900;
      color:var(--navy);
      letter-spacing:-.03em;
    }
    .brand-mark{
      width:46px;height:46px;border-radius:50%;
      display:grid;place-items:center;
      color:#fff;
      background:linear-gradient(135deg,var(--blue),var(--teal));
      font-weight:900;
    }
    .brand strong{font-size:24px}
    .brand small{display:block;font-size:11px;letter-spacing:.08em;color:var(--muted)}
    nav{display:flex;gap:22px;align-items:center;font-weight:700;font-size:14px}
    nav a:hover{color:var(--blue)}

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:48px;
      padding:0 22px;
      border-radius:999px;
      font-weight:800;
      border:2px solid transparent;
      transition:.2s ease;
      cursor:pointer;
    }
    .btn-primary{background:var(--accent);color:#fff}
    .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
    .btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
    .btn-light{background:#fff;color:var(--navy)}
    .btn-dark{background:var(--navy);color:#fff}

    .hero{
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 80% 25%, rgba(88,167,164,.35), transparent 26%),
        radial-gradient(circle at 15% 20%, rgba(214,138,74,.16), transparent 22%),
        linear-gradient(135deg,#eef7f7 0%,#fff 52%,#f7f0e6 100%);
      padding:100px 0 82px;
    }
    .hero:after{
      content:"";
      position:absolute;
      width:430px;height:430px;border-radius:50%;
      border:1px solid rgba(18,48,70,.08);
      right:-130px;bottom:-210px;
    }
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}
    .eyebrow{
      color:var(--blue);
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.12em;
      font-size:13px;
      margin-bottom:16px;
    }
    h1,h2,h3{line-height:1.08;margin:0 0 18px;color:var(--navy);letter-spacing:-.035em}
    h1{font-size:clamp(46px,6vw,78px)}
    h2{font-size:clamp(34px,4vw,54px)}
    h3{font-size:24px}
    .hero p{font-size:20px;color:#45555e;max-width:720px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
    .hero-card{
      background:var(--navy);
      color:white;
      border-radius:32px;
      padding:36px;
      box-shadow:var(--shadow);
      position:relative;
      min-height:430px;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      overflow:hidden;
    }
    .hero-card:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg,rgba(18,48,70,.12),rgba(18,48,70,.92)),
        url('https://images.unsplash.com/photo-1529390079861-591de354faf5?auto=format&fit=crop&w=1200&q=80') center/cover;
      opacity:.9;
    }
    .hero-card > *{position:relative}
    .hero-card .mini{
      text-transform:uppercase;
      letter-spacing:.1em;
      font-size:12px;
      font-weight:900;
      opacity:.85;
    }
    .hero-card h3{color:#fff;font-size:32px;margin:8px 0 10px}
    .hero-card p{color:rgba(255,255,255,.88);font-size:16px;margin:0}

    .stats{
      margin-top:-26px;
      position:relative;
      z-index:3;
    }
    .stats-grid{
      background:#fff;
      box-shadow:var(--shadow);
      border-radius:24px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      overflow:hidden;
    }
    .stat{padding:26px 28px;border-right:1px solid #edf0f2}
    .stat:last-child{border-right:0}
    .stat b{display:block;font-size:23px;color:var(--navy)}
    .stat span{font-size:13px;color:var(--muted)}

    section{padding:92px 0}
    .section-head{max-width:760px;margin-bottom:42px}
    .section-head p{font-size:18px;color:var(--muted)}

    .three{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:22px;
    }
    .card{
      border:1px solid #e7ecee;
      border-radius:var(--radius);
      padding:30px;
      background:#fff;
      box-shadow:0 8px 28px rgba(20,48,70,.05);
    }
    .card .icon{
      width:52px;height:52px;border-radius:16px;
      display:grid;place-items:center;
      background:#edf6f5;
      color:var(--blue);
      font-size:23px;
      margin-bottom:22px;
    }
    .card p{color:var(--muted)}
    .card a{font-weight:900;color:var(--blue)}

    .band{background:var(--cream)}
    .split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
    .photo-panel{
      border-radius:30px;
      min-height:500px;
      background:
        linear-gradient(180deg,rgba(18,48,70,.05),rgba(18,48,70,.18)),
        url('https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=1200&q=80') center/cover;
      box-shadow:var(--shadow);
    }
    .checklist{display:grid;gap:14px;margin:26px 0}
    .check{display:flex;gap:12px;align-items:flex-start}
    .check b{
      width:24px;height:24px;border-radius:50%;
      display:grid;place-items:center;
      background:var(--teal);color:white;font-size:13px;flex:0 0 auto;margin-top:2px
    }

    .legislative{
      background:var(--navy);
      color:white;
    }
    .legislative h2,.legislative h3{color:white}
    .legislative .section-head p{color:rgba(255,255,255,.72)}
    .legislative .card{
      background:rgba(255,255,255,.07);
      border-color:rgba(255,255,255,.12);
      box-shadow:none;
    }
    .legislative .card p{color:rgba(255,255,255,.72)}
    .legislative .card a{color:#fff}
    .legislative .icon{background:rgba(255,255,255,.11);color:#fff}

    .petition{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      background:#f4faf9;
      border:1px solid #dce9e8;
      border-radius:30px;
      overflow:hidden;
    }
    .petition-copy{padding:50px}
    .petition-side{
      background:linear-gradient(145deg,var(--teal),var(--blue));
      color:#fff;padding:48px;
      display:flex;flex-direction:column;justify-content:center;
    }
    .petition-side h3{color:#fff}
    .progress{height:12px;border-radius:999px;background:rgba(255,255,255,.28);overflow:hidden;margin:18px 0 8px}
    .progress span{display:block;height:100%;width:70%;background:white}
    .small{font-size:13px;color:var(--muted)}
    .petition-side .small{color:rgba(255,255,255,.78)}

    .help{
      background:linear-gradient(135deg,#fff7ed,#f7fbfb);
    }
    .help-box{
      border-radius:34px;
      background:#fff;
      box-shadow:var(--shadow);
      padding:54px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:30px;
      align-items:center;
    }

    .donate-cards .card{position:relative;overflow:hidden}
    .donate-cards .card:before{
      content:"";
      position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--teal)
    }
    .donate-cards .card:nth-child(2):before{background:var(--accent)}
    .donate-cards .card:nth-child(3):before{background:var(--blue)}

    .cta{
      background:linear-gradient(120deg,var(--blue),var(--navy));
      color:white;text-align:center;
      padding:82px 0;
    }
    .cta h2{color:white}
    .cta p{max-width:760px;margin:0 auto 28px;color:rgba(255,255,255,.8);font-size:18px}

    footer{background:#0d2332;color:rgba(255,255,255,.74);padding:58px 0 26px}
    .footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px}
    footer h4{color:white;margin:0 0 14px}
    footer a{display:block;margin:7px 0}
    .copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:22px;font-size:13px}

    @media(max-width:900px){
      nav{display:none}
      .hero-grid,.split,.petition,.help-box{grid-template-columns:1fr}
      .three,.stats-grid,.footer-grid{grid-template-columns:1fr 1fr}
      .hero{padding-top:70px}
      .hero-card{min-height:360px}
    }
    @media(max-width:600px){
      .container{width:min(100% - 24px,1180px)}
      .three,.stats-grid,.footer-grid{grid-template-columns:1fr}
      .stat{border-right:0;border-bottom:1px solid #edf0f2}
      .help-box,.petition-copy,.petition-side{padding:30px}
      section{padding:70px 0}
      .topbar .container{display:block;text-align:center}
    }


/* =========================================================
   KOKH RED / GOLD BRAND THEME
   Added August 2026
   ========================================================= */

:root {
  --navy: #07366b;
  --blue: #0b4f8a;
  --teal: #ffc400;

  --kokh-red: #e30613;
  --kokh-dark-red: #b80012;
  --kokh-gold: #ffc400;
  --kokh-gold-dark: #e6aa00;

  --cream: #fff9e9;
  --sand: #ffedbd;

  --ink: #16314b;
  --muted: #64727a;
  --white: #ffffff;

  --accent: #e30613;

  --radius: 22px;
  --shadow: 0 16px 40px rgba(7,54,107,.12);
}


/* ---------- TOP BAR ---------- */

.topbar {
  background: linear-gradient(
    90deg,
    var(--kokh-dark-red),
    var(--kokh-red)
  );
  color: #fff;
  font-weight: 700;
}


/* ---------- HEADER ---------- */

header {
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid #f1e3ba;
}

.nav {
  min-height: 86px;
}

.brand-logo {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.brand-logo img {
  width: 210px;
  height: 60px;
  object-fit: contain;
  object-position: left center;
}

nav {
  color: var(--navy);
}

nav a {
  position: relative;
}

nav a:hover {
  color: var(--kokh-red);
}

nav a:after {
  content: "";
  position: absolute;
  height: 3px;
  left: 50%;
  right: 50%;
  bottom: -10px;
  background: var(--kokh-gold);
  border-radius: 99px;
  transition: .2s ease;
}

nav a:hover:after {
  left: 0;
  right: 0;
}


/* ---------- BUTTONS ---------- */

.btn-primary {
  background: var(--kokh-red);
  color: #fff;
}

.btn-primary:hover {
  background: var(--kokh-dark-red);
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}

.btn-dark {
  background: var(--navy);
  color: #fff;
}

.btn-dark:hover {
  background: var(--blue);
}

.btn-outline {
  border-color: var(--kokh-red);
  color: var(--kokh-red);
}

.btn-light {
  background: #fff;
  color: var(--kokh-red);
}


/* Donate button in the header */

header > .container > .btn-primary,
.nav > .btn-primary {
  background: var(--kokh-gold);
  color: var(--kokh-red);
  box-shadow: 0 7px 18px rgba(255,196,0,.26);
}

header > .container > .btn-primary:hover,
.nav > .btn-primary:hover {
  background: #ffd22b;
  color: var(--kokh-dark-red);
}


/* ---------- TYPOGRAPHY ---------- */

h1,
h2,
h3 {
  color: var(--navy);
}

.eyebrow {
  color: var(--kokh-red);
}


/* ---------- HERO ---------- */

.hero {
  background:
    radial-gradient(
      circle at 15% 15%,
      rgba(255,196,0,.18),
      transparent 27%
    ),
    linear-gradient(
      120deg,
      #fff9e9 0%,
      #ffffff 58%,
      #fff3ce 100%
    );

  border-bottom: 10px solid var(--kokh-red);
  box-shadow:
    inset 0 -7px 0 var(--kokh-gold);
}

.hero h1 {
  color: var(--kokh-red);
}

.hero p {
  color: #40576c;
}


/* Image portion of hero */

.hero-card {
  background: var(--navy);
  box-shadow: 0 20px 50px rgba(7,54,107,.18);
}

.hero-card:before {
  background:
    linear-gradient(
      180deg,
      rgba(7,54,107,.02),
      rgba(7,54,107,.60)
    ),
    url('https://images.unsplash.com/photo-1529390079861-591de354faf5?auto=format&fit=crop&w=1400&q=85')
    center/cover;

  opacity: 1;
}


/* ---------- STATS ---------- */

.stats-grid {
  border-top: 4px solid var(--kokh-gold);
}

.stat:nth-child(odd) b {
  color: var(--kokh-red);
}

.stat:nth-child(even) b {
  color: var(--navy);
}


/* ---------- CARDS ---------- */

.card {
  border-color: #eee6d3;
}

.card:hover {
  border-color: rgba(227,6,19,.28);
  box-shadow: 0 14px 34px rgba(7,54,107,.09);
}

.card .icon {
  background: var(--kokh-red);
  color: #fff;
}

.three .card:nth-child(even) .icon {
  background: var(--kokh-gold);
  color: var(--navy);
}

.card a {
  color: var(--kokh-red);
}


/* ---------- CREAM SECTIONS ---------- */

.band {
  background:
    linear-gradient(
      135deg,
      #fff9e9,
      #fffdf8
    );
}


/* ---------- LEGISLATIVE ---------- */

.legislative {
  background:
    linear-gradient(
      135deg,
      #07366b,
      #09294d
    );
}

.legislative .eyebrow {
  color: var(--kokh-gold) !important;
}

.legislative .card {
  border-color: rgba(255,196,0,.20);
}

.legislative .card:hover {
  border-color: var(--kokh-gold);
}


/* ---------- PETITIONS ---------- */

.petition {
  background: #fff9e9;
  border-color: #f2dea3;
}

.petition-side {
  background:
    linear-gradient(
      145deg,
      var(--kokh-red),
      var(--kokh-dark-red)
    );
}

.progress span {
  background: var(--kokh-gold);
}


/* ---------- HELP ---------- */

.help {
  background:
    linear-gradient(
      135deg,
      #fff4d0,
      #fff
    );
}


/* ---------- DONATION CARDS ---------- */

.donate-cards .card:before {
  background: var(--kokh-red);
}

.donate-cards .card:nth-child(2):before {
  background: var(--kokh-gold);
}

.donate-cards .card:nth-child(3):before {
  background: var(--navy);
}


/* ---------- NEWS ---------- */

#news {
  background:
    linear-gradient(
      135deg,
      #fff9e9,
      #ffffff
    );
}

#news .card {
  background: #fff;
}

#news .eyebrow {
  color: var(--kokh-red);
}


/* ---------- FINAL CTA ---------- */

.cta {
  background:
    linear-gradient(
      120deg,
      var(--kokh-red),
      var(--kokh-dark-red)
    );
  position: relative;
}

.cta:before {
  content: "";
  position: absolute;
  height: 7px;
  left: 0;
  right: 0;
  top: 0;
  background: var(--kokh-gold);
}


/* ---------- FOOTER ---------- */

footer {
  background:
    linear-gradient(
      135deg,
      #c90014,
      #e30613
    );
  color: rgba(255,255,255,.85);
  border-top: 8px solid var(--kokh-gold);
}

footer h4 {
  color: #fff;
}

footer a:hover {
  color: var(--kokh-gold);
}

footer .brand {
  color: #fff !important;
}

footer .copyright {
  border-top-color: rgba(255,255,255,.22);
}


/* ---------- MOBILE ---------- */

@media(max-width:900px) {

  .brand-logo img {
    width: 175px;
    height: 62px;
  }

}

@media(max-width:600px) {

  .brand-logo img {
    width: 150px;
    height: 56px;
  }

}


/* Header logo sizing */
.brand-logo img {
  width: auto;
  height: 60px;
  max-width: 320px;
  object-fit: contain;
  object-position: left center;
}

.nav {
  min-height: 88px;
}

@media (max-width: 900px) {
  .brand-logo img {
    height: 60px;
    max-width: 260px;
  }
}

@media (max-width: 600px) {
  .brand-logo img {
    height: 52px;
    max-width: 220px;
  }
}


/* Final compact header sizing */
.brand-logo img {
  width: auto !important;
  height: 44px !important;
  max-width: 235px !important;
}

.nav {
  min-height: 68px !important;
  gap: 16px;
}

header .container {
  padding-top: 4px;
  padding-bottom: 4px;
}

@media (max-width: 900px) {
  .brand-logo img {
    height: 40px !important;
    max-width: 210px !important;
  }
}

@media (max-width: 600px) {
  .brand-logo img {
    height: 36px !important;
    max-width: 185px !important;
  }
}


/* FINAL header/logo size */
.brand-logo img {
  width: auto !important;
  height: 40px !important;
  max-width: 225px !important;
}

.nav {
  min-height: 56px !important;
  gap: 12px !important;
}

header .container {
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}

nav {
  gap: 14px !important;
}

nav a {
  white-space: nowrap;
}

@media (max-width: 900px) {
  .brand-logo img {
    height: 26px !important;
    max-width: 150px !important;
  }
}

@media (max-width: 600px) {
  .brand-logo img {
    height: 24px !important;
    max-width: 135px !important;
  }
}


/* KOKH horizontal header logo - final sizing */
.brand-logo img {
  width: 260px !important;
  height: auto !important;
  max-width: none !important;
}

.nav {
  min-height: 72px !important;
}

@media (max-width: 900px) {
  .brand-logo img {
    width: 220px !important;
    height: auto !important;
  }
}

@media (max-width: 600px) {
  .brand-logo img {
    width: 180px !important;
    height: auto !important;
  }
}

/* =========================================================
   KOKH SUNSET HERO + RED/GOLD SWOOSH
   ========================================================= */

.sunset-hero {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  padding: 78px 0 115px !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(255,249,232,1) 0%,
      rgba(255,249,232,.98) 25%,
      rgba(255,249,232,.88) 38%,
      rgba(255,249,232,.50) 50%,
      rgba(255,249,232,.10) 64%,
      rgba(255,249,232,0) 74%
    ),
    var(--sunset-image, url('../assets/family-sunset-mom.png'));

  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
}

.sunset-hero .container {
  position: relative;
  z-index: 3;
}

.sunset-hero .eyebrow,
.sunset-hero h1,
.sunset-hero p {
  position: relative;
  z-index: 3;
}

.sunset-hero h1 {
  max-width: 610px !important;
}

.sunset-hero p {
  max-width: 620px !important;
}


/* Yellow upper swoosh */
.sunset-hero::before {
  content: "";
  position: absolute;
  z-index: 4;

  left: -8%;
  bottom: -34px;

  width: 118%;
  height: 105px;

  background: var(--kokh-gold);

  border-radius: 50% 50% 0 0 / 78% 72% 0 0;
  transform: rotate(1.4deg);
}


/* Red lower swoosh */
.sunset-hero::after {
  content: "";
  position: absolute;
  z-index: 5;

  left: -8%;
  bottom: -67px;

  width: 118%;
  height: 108px;

  background: var(--kokh-red);

  border-radius: 50% 50% 0 0 / 72% 78% 0 0;
  transform: rotate(-1.1deg);
}


@media (max-width: 900px) {
  .sunset-hero {
    min-height: 500px;
    padding: 65px 0 105px !important;

    background-image:
      linear-gradient(
        180deg,
        rgba(255,249,232,.98) 0%,
        rgba(255,249,232,.92) 43%,
        rgba(255,249,232,.40) 68%,
        rgba(255,249,232,.08) 100%
      ),
      var(--sunset-image, url('../assets/family-sunset-mom.png'));

    background-position: center;
  }

  .sunset-hero h1,
  .sunset-hero p {
    max-width: 100% !important;
  }
}

/* =========================================================
   FINAL SUNSET HERO FRAMING
   ========================================================= */

@media (min-width: 901px) {
  .sunset-hero {
    background-image:
      linear-gradient(
        90deg,
        #fff9e8 0%,
        #fff9e8 20%,
        rgba(255,249,232,.99) 24%,
        rgba(255,249,232,.96) 29%,
        rgba(255,249,232,.90) 34%,
        rgba(255,249,232,.80) 39%,
        rgba(255,249,232,.66) 44%,
        rgba(255,249,232,.50) 49%,
        rgba(255,249,232,.34) 54%,
        rgba(255,249,232,.21) 59%,
        rgba(255,249,232,.11) 64%,
        rgba(255,249,232,.04) 69%,
        rgba(255,249,232,0) 74%
      ),
      var(--sunset-image, url('../assets/family-sunset-mom.png'));

    /*
      Gradient covers the full hero.
      Photo occupies 78% of hero width and extends well
      underneath the fade instead of starting at the midpoint.
    */
    background-size:
      100% 100%,
      78% auto;

    background-position:
      left top,
      right center;

    background-repeat:
      no-repeat,
      no-repeat;

    background-color: #fff9e8;
  }
}


/* =========================================================
   HOMEPAGE SUNSET HERO
   ========================================================= */

.home-sunset-hero .home-hero-copy {
  position: relative;
  z-index: 6;
  max-width: 610px;
}

.home-sunset-hero .hero-actions {
  position: relative;
  z-index: 6;
}

@media (max-width: 900px) {
  .home-sunset-hero .home-hero-copy {
    max-width: 100%;
  }
}



/* KOKH HEADER DONATE CLICK FIX */
header,
header .container,
header .nav {
  position: relative;
  z-index: 1000;
}

header .header-donate {
  position: relative;
  z-index: 1001;
  pointer-events: auto !important;
  cursor: pointer;
}


/* KOKH MOBILE NAVIGATION */

.mobile-menu-toggle {
  display: none;
  border: 0;
  background: transparent;
  font-size: 30px;
  line-height: 1;
  padding: 8px 10px;
  cursor: pointer;
  color: var(--ink);
}

@media (max-width: 900px) {

  header .nav {
    display: flex;
    align-items: center;
    position: relative;
  }

  header nav {
    display: none;
  }

  .mobile-menu-toggle {
    display: block;
    margin-left: auto;
  }

  header nav.mobile-open {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0 !important;
    background: #fff;
    border-top: 1px solid #e7e7e7;
    box-shadow: 0 14px 28px rgba(0,0,0,.14);
    z-index: 3000;
    padding: 8px 0;
  }

  header nav.mobile-open a {
    display: block;
    padding: 13px 18px;
    white-space: normal;
  }

  header nav.mobile-open a:hover {
    background: #f6f6f6;
  }

  header .header-donate {
    margin-left: 8px;
  }
}

@media (max-width: 600px) {

  header .brand-logo img {
    width: 150px !important;
    max-width: 150px !important;
  }

  header .header-donate {
    padding: 9px 12px;
    font-size: 14px;
  }

  .mobile-menu-toggle {
    font-size: 27px;
    padding: 6px 8px;
  }
}
