*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#07101d;color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}
.topbar{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:.22rem 3vw;background:rgba(7,16,29,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12)}
.logo img{width:145px;display:block}
nav{display:flex;gap:1rem;align-items:center;font-weight:900;text-transform:uppercase;font-size:.82rem;letter-spacing:.04em}
nav a{text-decoration:none;color:#edf3ff}
.donate{background:#b21f2d;padding:.7rem 1rem;border-radius:999px}
.hero{min-height:108vh;position:relative;background:url('assets/ron-capitol.png') center 18%/cover no-repeat;display:flex;align-items:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,24,.94) 0%,rgba(8,24,48,.78) 42%,rgba(8,24,48,.2) 75%)}
.hero-content{position:relative;z-index:2;width:min(780px,90vw);margin-left:5vw;padding:5rem 0}
.eyebrow{font-weight:950;text-transform:uppercase;letter-spacing:.16em;color:#ffcf5a;font-size:.85rem}
.redtext{color:#b21f2d}
h1{font-size:clamp(3.8rem,8vw,7.8rem);line-height:.88;letter-spacing:-.075em;text-transform:uppercase;margin:.4rem 0}
h2{font-size:clamp(2.35rem,5vw,5rem);line-height:.95;letter-spacing:-.06em;margin:.25rem 0 1rem}
.hero-lead{font-size:clamp(1.35rem,2.4vw,2rem);font-weight:900;margin-bottom:.8rem}
.hero-text{font-size:1.14rem;color:#dce5f4;max-width:700px}
.actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.7rem}
.button{display:inline-block;text-decoration:none;border-radius:999px;padding:1rem 1.35rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.red{background:#b21f2d;color:white}
.white{background:white;color:#07101d}
.outline{border:2px solid #fff;color:#fff}
.statement{background:#f6f0e4;color:#07101d;padding:5rem 5vw;text-align:center}
.statement-inner{max-width:1120px;margin:auto}
.statement p{font-size:1.2rem;max-width:900px;margin:auto;color:#263244}
.wide-photo{min-height:92vh;background-position:center top;background-size:cover;background-repeat:no-repeat;position:relative}
.family-photo{background-image:url('assets/family-photo-new.jpg');background-position:center center}
.healthcare-photo{background-image:url('assets/healthcare.jpg');background-position:center 38%}
.sunrise-photo{background-image:url('assets/ron-sunrise.jpg');background-position:center 12%}
.war-band{background-image:linear-gradient(90deg,rgba(7,16,29,.92),rgba(7,16,29,.5),rgba(7,16,29,.12)),url('assets/ron-cemetery.jpg');background-size:cover;background-position:center 20%;min-height:90vh;display:flex;align-items:center}
.wide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,29,.9),rgba(7,16,29,.25),rgba(7,16,29,.86))}
.wide-text{position:absolute;top:50%;transform:translateY(-50%);width:min(560px,86vw)}
.wide-text.right{right:6vw}
.wide-text.left{left:6vw}
.wide-text p,.band-content p,.constitution-copy p,.plain-card p,.accountability p,.join p{font-size:1.12rem;color:#dce5f4}
.issue-intro{padding:5rem 5vw 2rem;background:#07101d;text-align:center}
.issue-intro h2{max-width:1100px;margin:auto}
.band-content{width:min(620px,88vw);margin-left:6vw}
.split-text{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:5rem 6vw;background:#f6f0e4;color:#07101d}
.split-text p{color:#263244;font-size:1.12rem}
.constitution-section{min-height:88vh;background:linear-gradient(90deg,rgba(7,16,29,.92),rgba(7,16,29,.55),rgba(7,16,29,.1)),url('assets/constitution.jpeg') center/cover no-repeat;display:flex;align-items:center;padding:6vw}
.constitution-copy{max-width:680px}
.plain-issues{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:5rem 6vw;background:#07101d}
.plain-card{padding:2rem;border-top:7px solid #b21f2d;background:#111e31}
.plain-card h3{font-size:1.7rem;line-height:1.05;margin:0 0 .75rem;color:#fff}
.accountability{display:grid;grid-template-columns:1fr 1fr;min-height:70vh;background:#f6f0e4;color:#07101d}
.accountability-text{align-self:center;padding:6vw}
.accountability-text p{color:#263244}
.accountability-art{background:url('assets/hern-aipac.webp') center/contain no-repeat,#17080b;min-height:500px}
.join{padding:6rem 5vw;text-align:center;background:linear-gradient(135deg,#8c1720,#0b2b54)}
.join p{max-width:850px;margin:auto}
.center{justify-content:center}
footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#02060c;padding:2rem 5vw;color:#d9e2f2}
.disclaimer{border:1px solid rgba(255,255,255,.7);padding:.55rem .8rem}
@media(max-width:900px){
.topbar{position:relative;align-items:flex-start;flex-direction:column}
nav{flex-wrap:wrap}
.hero{background-position:62% center}
.hero-shade{background:linear-gradient(90deg,rgba(4,12,24,.94),rgba(4,12,24,.72))}
h1{font-size:3.5rem}
.split-text,.plain-issues,.accountability{grid-template-columns:1fr}
.wide-photo,.war-band,.constitution-section{min-height:70vh}
.wide-overlay{background:rgba(7,16,29,.72)}
.wide-text{left:6vw!important;right:auto!important;width:88vw}
.accountability-art{min-height:420px}
}


@media(max-width:900px){
.logo img{width:170px}
.hero{
  min-height:100vh;
  background-position:60% 10%;
}
.family-photo{
  background-position:60% 12%;
}
.sunrise-photo{
  background-position:62% 8%;
}
.war-band{
  min-height:82vh;
  background-position:58% 18%;
}
}


.next-generation-section{
  background:linear-gradient(135deg,#0b1930,#10294d);
  padding:6rem 5vw;
  color:#fff;
}

.next-generation-inner{
  max-width:950px;
  margin:auto;
}

.next-generation-section h2{
  max-width:800px;
}

.next-generation-section p{
  font-size:1.18rem;
  color:#dce5f4;
  max-width:850px;
}


/* Center 'The Issues' section vertically */
.issues-centered{
    display:flex;
    flex-direction:column;
    justify-content:center;
    height:100%;
    min-height:520px;
}


.issue-intro{
    min-height:48vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding-top:2rem !important;
    padding-bottom:2rem !important;
}


.issue-intro .eyebrow{
    margin-bottom:-0.4rem;
}




/* Child safety / protecting children section */
.safe-section{
  position:relative;
  min-height:96vh;
  background-image:url('assets/safe-again.jpg');
  background-size:cover;
  background-position:center center;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.safe-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(5,10,20,.94), rgba(5,10,20,.78), rgba(5,10,20,.48));
}

.safe-content{
  position:relative;
  z-index:2;
  width:min(1120px,90vw);
  margin:auto;
  padding:6rem 0;
}

.safe-content h2{
  max-width:930px;
  color:#fff;
}

.safe-lead{
  max-width:920px;
  font-size:1.25rem;
  line-height:1.7;
  color:#f1f4fa;
  font-weight:800;
}

.safe-grid{
  margin-top:2rem;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}

.safe-grid div{
  background:rgba(8,16,30,.78);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  padding:1.45rem;
}

.safe-grid h3{
  color:#fff;
  margin:.1rem 0 .65rem;
  font-size:1.35rem;
}

.safe-grid p,
.safe-grid li{
  color:#dce5f4;
  line-height:1.7;
}

.safe-grid ul{
  padding-left:1.2rem;
  margin-bottom:0;
}

.safe-quote{
  margin-top:2rem;
  font-size:clamp(1.55rem,3vw,2.35rem);
  line-height:1.15;
  max-width:900px;
  color:#fff;
  border-left:6px solid #d6a84f;
  padding-left:1rem;
  font-family:Georgia,'Times New Roman',serif;
}

@media(max-width:900px){
  .safe-grid{
    grid-template-columns:1fr;
  }
  .safe-section{
    min-height:auto;
    background-position:center top;
  }
}


/* Remove boxes from protecting children section */
.safe-grid div{
    background: transparent !important;
    border: none !important;
    backdrop-filter: none !important;
    padding: 0 !important;
}
