
:root{
  /* colors */
  --primary:#005099;--secondary:#e06902;
  --background-light:#ffffff;--background-alt:#e7eff2;
  --dark-accent:#133b54;--light-accent:#fff1e6;

  /* fonts */
  --sans:'freight-sans-pro','Roboto',sans-serif;
  --serif:'freight-macro-pro','Roboto Slab',serif;

  /* weights */
  --weight-light:500;--weight-book:400;--weight-medium:500;--weight-bold:700;

  /* sizes */
  --font-size-h1:3.25rem;--font-size-h2:2.25rem;--font-size-h3:1.75rem;--font-size-h4:1.5rem;
  --font-size-p:1.25rem;--font-size-nav:1.4rem;--font-size-button:1.25rem;--font-size-input:1.125rem;
  --font-size-type:1rem;

  /* line heights */
  --line-height-h1:1.2;--line-height-h2:1.3;--line-height-h3:1.4;--line-height-h4:1.5;--line-height-body:1.6;

  /* letter spacing */
  --letter-spacing-body:normal;--letter-spacing-h1:-0.5px;--letter-spacing-h2:-0.25px;

  /* shadows */
  /*--text-shadow-h1:1px 1px 2px rgba(0,0,0,.5);*/
  /*--text-shadow-subheadline:1px 1px 1px rgba(0,0,0,.3);*/
  /*--text-shadow-h4:1px 1px 1px rgba(0,0,0,.3);*/
}

html{scroll-behavior:smooth}

/* base */
body{
  font-family:var(--sans);font-weight:var(--weight-book);font-size:var(--font-size-p);
  line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);
  background:var(--background-light);color:var(--dark-accent);margin:0;overflow-x:hidden;
}

/* layout containers */
header,section,footer{
  max-width:960px;margin:auto;position:relative;z-index:2;
}
/* original padding preserved */
section,footer{padding:2rem}
/* header custom padding (L/R kept) */
header{padding:0rem 2rem 1rem}

/* headings */
h1{
  font-family:var(--serif);font-weight:var(--weight-bold);font-size:var(--font-size-h1);
  text-align:left;line-height:var(--line-height-h1);letter-spacing:var(--letter-spacing-h1);
  /*text-shadow:var(--text-shadow-h1); color:var(--secondary);margin-bottom:1rem;*/
}
h2{
  font-family:var(--serif);font-weight:var(--weight-bold);font-size:var(--font-size-h2);
  text-align:left;line-height:var(--line-height-h2);letter-spacing:-0.25px;color:var(--primary);margin-bottom:1rem;
}
h3{
  font-family:var(--sans);font-weight:var(--weight-light);text-align:left;font-size:var(--font-size-h3);
  line-height:var(--line-height-h3);color:var(--primary);margin-bottom:.75rem;
}
h4{
  font-family:var(--sans);font-weight:var(--weight-book);text-align:center;font-size:var(--font-size-h4);
  line-height:var(--line-height-h4);color:var(--background-light);margin-bottom:1rem;text-shadow:var(--text-shadow-h4);
}
p.italic{font-style:italic}

/* links */
a{
  font-family:var(--sans);font-size:var(--font-size-p);color:var(--primary);
  text-decoration:none;transition:color .3s;display:inline-flex;align-items:center;gap:.5rem;
}
a:hover{color:var(--secondary)}

/* sticky header */
header {
  position: static;
  top: auto;
  z-index: auto;
  background: var(--background-light);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  transition: none;
}
/* Shadow only when scrolled */
header.scrolled {
  box-shadow: none;
}

/* logo */
.logo-image{display:block;width:100%;height:auto;max-width:375px;margin-bottom:.5rem}
.logo-tagline{font-size:var(--font-size-p);color:var(--dark-accent);margin-bottom:2rem}

/* nav (desktop) */
.nav-links{
  font-family:var(--sans);font-weight:var(--weight-medium);margin-bottom:1rem;text-align:left;gap:.5rem;
}
.nav-links a{font-size:var(--font-size-nav);color:#005099;text-decoration:none}
.nav-links a:hover{color:var(--secondary)}
.nav-links a:not(:last-child)::after{content:" | ";margin:0 1rem}

/* hamburger button */
.nav-toggle{
  display:none;background:transparent;border:0;padding:.5rem;margin:0 0 .5rem 0;cursor:pointer;
}
.nav-toggle span{
  display:block;width:28px;height:3px;margin:6px 0;background:var(--primary);
  transition:transform .25s ease,opacity .25s ease;
}

/* hero */
.hero{
  position:relative;color:#fff;background:url('../images/jump-page-hero-image-CONUS-hurricane.avif') center/cover no-repeat;
  width:100%;margin:0;padding:2rem 0;max-width:100%;
}
.hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.4);z-index:1}
.hero-content-container{max-width:960px;margin:0 auto;padding:0 2rem;position:relative}
.hero-content{position:relative;z-index:2;text-align:left}
.hero-bottom-text{margin-top:1rem;font-weight:bold;font-size:1.5rem;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.3)}
.button{
  font-family:var(--sans);font-weight:var(--weight-bold);font-size:var(--font-size-button);
  display:inline-block;padding:1rem 2rem;background:var(--secondary);color:#fff;border-radius:1rem;margin-top:1rem; margin-bottom: 1rem; 
  box-shadow:0 4px 8px rgba(0,0,0,.2);transition:all .2s;
}
.button:hover{background:var(--background-light);color:var(--secondary);transform:translateY(-2px)}

/* about / video */
.video-container{display:block;margin:20px 0}
.video-container iframe{width:100%;max-width:100%;aspect-ratio:16/9;border:none;border-radius:8px}

/* team (image wraps text) */
.team{
  position:relative;background:var(--background-alt);width:100%;margin:0;padding:3rem 0 2rem;max-width:100%;
}
.team-content-container{max-width:960px;margin:0 auto;padding:0 2rem;position:relative}
.team-content{position:relative;z-index:2;text-align:left}
.team-text{align-items:center;padding:0 .5rem}
.team-image{float:left;margin:0 1rem 1rem 0;max-width:45%}
.team-image img,img.team-image{width:100%;height:auto;border-radius:4px;display:block}

/* === HERO GRID (Main + Updates) === */
.hero-grid{
  display: grid;
  grid-template-columns: 1.6fr 1fr;  /* main copy wider than updates */
  gap: 2rem;
  align-items: start;
  position: relative;
  z-index: 2; /* above the hero overlay */
}
.hero-main{}

/* Updates panel inside hero */
.hero-updates{
  background: rgba(255,255,255,.92);
  color: var(--dark-accent);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
  backdrop-filter: blur(2px);
}
.hero-updates .updates-title{
  margin: 0 0 .5rem 0;
  color: var(--primary);
  font-size: 1.6rem;
}
.hero-updates .update + .update{
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(0,0,0,.08);
}
.hero-updates .update-head{
  margin: 0 0 .25rem 0;
  font-size: 1.1rem;
  color: var(--primary);
}
.hero-updates .updates-cta{
  text-align: right;
  margin-top: .5rem;
}
.hero-updates .updates-button{
  all: unset;
  display: inline-block;
  font-weight: 700;
  color: var(--primary);
  cursor: pointer;
}
.hero-updates .updates-button:hover{ text-decoration: underline; }

/* take action */
.take-action{
  position:relative;color:#fff;background:url('../images/take-action-background-image.avif') center/cover no-repeat;
  width:100%;margin:0;padding:1rem 0 4rem;max-width:100%;
}
#mc_embed_signup { max-width: 300px; margin: 0rem auto 3rem ; font-family: var(--sans), sans-serif; }
#mc_embed_signup h4 { margin-bottom: 1rem; text-align: left; }
#mc_embed_signup .mc-field-group { margin-bottom: 0.5rem; display: flex; flex-direction: column; text-align: left; }
#mc_embed_signup .mc-field-group label { margin-bottom: 0rem; font-size: var(--font-size-input) ; font-weight: var(--weight-light); }
#mc_embed_signup .mc-field-group input { width: 100%; padding: 0.25rem; font-size: var(--font-size-input); font-weight: var(--weight-light); box-sizing: border-box; border:2px solid #fff; border-radius: 2px; }
#mc_embed_signup .button { font-family:var(--sans);font-weight:var(--weight-bold);font-size:var(--font-size-button);
  height:2.5rem;padding:0 2rem .1rem;border:2px solid #fff;border-radius:6px;background:var(--primary);color:var(--background-light); cursor:pointer;transition:transform .2s,background-color .2s,color .2s;vertical-align:middle; }
#mc_embed_signup .button:hover { background-color: #005bb5; }

.take-action::before{content:"";position:absolute;inset:0;background:rgba(0,66,128,.75);z-index:1}
.take-action-content-container{max-width:960px;margin:0 auto;padding:0 2rem;position:relative}
.take-action-content{position:relative;z-index:2;text-align:center}
.take-action h2{text-align:center}
.take-action h4{margin-bottom: 0.75rem}

.social-media-kit-button { font-family:var(--sans);font-weight:var(--weight-bold);font-size:var(--font-size-button);
  height:2.5rem;padding:0 2rem .1rem;border:2px solid #fff;border-radius:6px;background:var(--primary);color:var(--background-light); cursor:pointer;transition:transform .2s,background-color .2s,color .2s;vertical-align:middle; }
.social-media-kit-button:hover { background-color: #005bb5; color:#fff; transform:translateY(-2px)}

.share-buttons{display:flex;justify-content:center;gap:.5rem;margin-top:0rem; margin-bottom:0rem}
.share-buttons a{
  background:var(--primary);color:#fff;border:2px solid #fff;font-size:1.25rem;transition:color .2s;border-radius:50%;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
}
.share-buttons a:hover{color:var(--secondary)}

.join-the-fight-button{
  display:inline-block;margin-top:0;padding:.5rem 3rem;background:var(--secondary);color:#fff;border-radius:6px;
  font-weight:bold;text-decoration:none;transition:transform .2s;
}
.join-the-fight-button:hover{background:var(--background-light);color:var(--secondary);transform:translateY(-2px)}

/* our plan */
.our-plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0}
.our-plan-card{
  background:var(--background-alt);border-radius:8px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.1);
  display:block;color:inherit;
}
.our-plan-card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.our-plan-card-content{padding:.75rem;display:flex;flex-direction:column}
.our-plan-card-content h3{
  font-family:var(--sans);font-size:var(--font-size-h4);font-weight:var(--weight-bold);
  text-align:center;margin:0 0 .5rem;color:var(--dark-accent);
}
.our-plan-card-content p{
  font-family:var(--sans);font-size:var(--font-size-p);font-weight:var(--weight-book);margin:0 0 .5rem;
}

/* testimonials */
.testimonial-grid{display:flex;flex-direction:column;gap:.75rem}
.testimonial-box{width:auto;padding:.25rem 1.5rem;border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.08);background:var(--background-alt)}
.testimonial-box blockquote{margin:0;text-align:left}
.testimonial-cta{text-align:center;margin-top:1.5rem}
.testimonial-button{
  display:inline-block;padding:.75rem 1.5rem;background:var(--secondary);color:#fff;border-radius:6px;
  font-weight:bold;text-decoration:none;transition:all .2s;
}
.testimonial-button:hover{
  background:var(--background-light);color:var(--secondary);transform:translateY(-3px);border:1px solid var(--secondary);
}

/* press */
.press-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:6rem}
.press-card{
  background:var(--background-alt);border-radius:8px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.1);
  display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:box-shadow .2s ease;
}
.press-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;transform:translateY(-2px)}
.press-card:hover h3,.press-card:hover p{color:var(--secondary)}
.press-card img{width:100%;height:auto;object-fit:cover}
.press-card-content{padding:.75rem;display:flex;flex-direction:column}
.press-card-content h3{font-family:var(--sans);font-size:var(--font-size-p);font-weight:var(--weight-bold);text-align:left;margin:0 0 .5rem}
.press-card-content p{margin:0 0 .5rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.press-card-content a{font-weight:bold;margin-top:auto;color:var(--primary)}

/* footer */
.site-footer{position:relative;background:var(--primary);color:#fff;width:100%;margin:0;padding:4rem 0 2rem;max-width:100%}
.site-footer-container{max-width:960px;margin:0 auto;padding:0 2rem;position:relative}
.site-footer-content{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;gap:1.5rem;align-items:center;font-family:var(--sans);font-size:.875rem}
.site-footer p{color:#fff;font-size:var(--font-size-p)}
.site-footer a{color:#fff;text-decoration:underline;margin:0 0.25rem;transition:color .2s}
.site-footer a:hover{color:var(--secondary)}
.footer-logo img{height:40px;margin-bottom:.25rem}
.footer-links{margin-bottom:.75rem}
.footer-social{display:flex;justify-content:center;gap:.5rem;font-size:1.25rem}
.footer-contact-form{background:transparent;padding:0;border-radius:8px;max-width:600px;width:100%;color:#000}
.footer-contact-form h3{font-family:var(--sans);font-weight:var(--weight-medium);font-size:var(--font-size-h3);margin-bottom:1rem;text-align:center;color:var(--background-light)}
.footer-contact-form p,.footer-contact-form p a{color:#fff;font-size:var(--font-size-p)}
.footer-contact-form p a:hover{color:var(--secondary)}
.footer-form-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.footer-form-row input,.footer-form-row textarea{font-family:var(--sans);font-size:var(--font-size-input);padding:.75rem;border:1px solid #ccc;border-radius:6px;width:100%}
.footer-form-row input{flex:1}
.footer-form-row textarea{height:100px}
.footer-form-row button{
  padding:1rem 2rem;border:none;background:var(--secondary);color:#fff;border-radius:8px;font-weight:bold;
  font-size:1.125rem;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2);width:100%;transition:background-color .2s;
}
.footer-form-row button:hover{background:var(--background-light);color:var(--secondary);transform:translateY(-2px)}

/* responsive */
@media (max-width:1024px){
  .press-grid{grid-template-columns:repeat(2,1fr)}
}

/* mobile (≤900px): paragraph-style burger menu; keep section padding */
@media (max-width:900px){
  .nav-toggle{display:inline-block}

  .nav-links{
    display:none;width:100%;
    padding:1rem 0; /* containers already have 2rem L/R */
    background:var(--background-light);
    border-top:1px solid rgba(0,0,0,.1);
    text-align:left;white-space:normal;line-height:1.6;
  }
  .nav-links.is-open{display:block}

  .nav-links a{
    display:inline;             /* flow like text */
    font-size:var(--font-size-p);
    color:var(--dark-accent);
    margin-right:1rem;
    text-decoration:none;
  }
  .nav-links a:hover{color:var(--secondary)}
  .nav-links a:not(:last-child)::after{content:none} /* remove desktop separators */

  /* hamburger → X */
  .nav-toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .nav-toggle.is-open span:nth-child(2){opacity:0}
  .nav-toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

  /* grid tweak */
  .our-plan-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:600px){
  .testimonial-grid,.media-grid{grid-template-columns:1fr}
  .footer-form-row{flex-direction:column;max-width:100%}
  .footer-form-row textarea{height:150px}
  .our-plan-grid{grid-template-columns:1fr 1fr}
  .press-grid{grid-template-columns:1fr}
  .press-card-content p:nth-of-type(2){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .signup-form input[type="email"]{margin-bottom:1rem}
  .footer-social{flex-wrap:wrap;gap:.5rem}

  /* clear float so image stacks correctly */
  .team-image{float:none;margin:1rem 0;max-width:100%}
}

@media (max-width:500px){
  .our-plan-grid{grid-template-columns:1fr}
}

/* header donate (scroll-revealed) */
.donate-header{
  position:absolute;
  top: 1.25rem;
  right: 1.25rem;
  display:none;              /* hidden until scrolled */
  padding: .6rem 1rem;
  line-height: 1.2;
  text-decoration:none;
  z-index: auto;
}
header.show-donate .donate-header{ display:inline-flex; }
/* Avoid overlap with hamburger on small screens */
@media (max-width: 640px){
  .donate-header{ top: .9rem; right: .9rem; font-size: 0.95rem; padding: .5rem .85rem; }
}

@media (max-width: 600px){
  header{display:flex;align-items:center;justify-content:space-between;}
  .logo-link{flex:1;}
  .nav-toggle{order:2;margin-left:auto;}
  .donate-header{
    position:static;
    margin-left:.5rem;
    order:3;
    display:none;
  }
  header.show-donate .donate-header{display:inline-flex;}
}

/* Mobile grid header layout: logo, tagline, then burger+donate */
@media (max-width: 600px){
  header{
    display: grid !important;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "logo logo"
      "tagline tagline"
      "menu donate";
    align-items: center;
    row-gap: .5rem;
  }
  .logo-link{ grid-area: logo; }
  .logo-tagline{ grid-area: tagline; }
  .nav-toggle{ grid-area: menu; justify-self: start; margin-right: 0; }
  .donate-header{
    grid-area: donate;
    position: static !important;
    margin-left: .75rem;
    justify-self: end;
    display: none;
  }
  header.show-donate .donate-header{ display: inline-flex; }
  /* Ensure the dropdown nav spans full width below the controls row */
  .nav-links{ grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .burger {
    margin-left: auto; /* burger-right */
    margin-right: 0;
  }
}

/* === CLEAN RESET & MOBILE LAYOUT FOR BURGER/BRANDING === */

/* Desktop default: burger hidden */
.nav-toggle{ display:none; }

/* Reset legacy alignment on the burger that may have been set earlier */
.nav-toggle{
  order: initial;
  margin: 0;
  float: none;
  position: static;
  justify-self: auto;
  align-self: auto;
}

/* Mobile (all devices up to 900px): 
   - Logo (left, top)
   - Tagline (left, under logo)
   - Burger (right, under tagline) */
@media (max-width: 900px){
  header{
    display: grid !important;
    grid-template-columns: 1fr auto;
    grid-auto-rows: auto;
    row-gap: .5rem;
    align-items: center;
  }

  /* Show burger on mobile */
  .nav-toggle{ display:inline-block; }

  /* Positioning */
  .logo-link{ grid-column: 1 / 2; grid-row: 1; }
  .logo-tagline{ grid-column: 1 / 2; grid-row: 2; }
  .nav-toggle{ grid-column: 2 / 3; grid-row: 3; justify-self: end; }

  /* Ensure nav links (if visible) flow below controls */
  .nav-links{ grid-column: 1 / -1; }
}

/* === Global scroll buttons (Back to Top + Donate) === */
.mobile-buttons{
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  display: none;            /* hidden until scroll */
  gap: 10px;                /* at least 10px between */
  z-index: 9999;
}
.mobile-buttons.show{ display: flex; }

.mobile-buttons a{
  padding: .6rem .85rem;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  border: 1px solid rgba(0,0,0,.06);
}
.mobile-buttons a:active{ transform: translateY(1px); }

.mobile-buttons .back-to-top{
  background: var(--background-alt);
  color: var(--primary);
}
.mobile-buttons .donate-mobile{
  background: var(--secondary);
  color: #fff;
}

/* === Mobile burger paragraph menu === */
@media (max-width: 900px){
  /* Hide the menu list until toggled */
  #site-nav.nav-links{
    display: none;
    margin-top: .5rem;
  }
  /* When open, show as a paragraph-style block */
  #site-nav.nav-links.is-open{
    display: block;
    text-align: left;
    line-height: 1.6;
  }
  #site-nav.nav-links.is-open a{
    display: inline;        /* inline links flow like paragraph text */
    margin-right: .65rem;   /* spacing between links */
    white-space: nowrap;    /* prevent awkward word breaks within each link */
  }
}

/* Responsive: stack so updates fall BELOW the hero on small screens */
@media (max-width: 900px){
  .hero-grid{ grid-template-columns: 1fr; }
  .hero-updates{ margin-top: 1rem; }
}

