
body {
  font-family: 'Inter', sans-serif;
  margin: 0;
  background: #ffffff;
  color: #0B1F3A;
  line-height: 1.6;
}

.hero {
  padding: 80px 20px 60px;
  background: radial-gradient(circle at top left, rgba(11,31,58,0.03), transparent 60%);
}

.hero-inner {
  max-width: 900px;
  margin: 0 auto;
}

.eyebrow {
  letter-spacing: 3px;
  font-size: 16px;
  font-weight: 600;
  color: #0FA3A3;
  margin-bottom: 18px;
}

h1 {
  font-size: 52px;
  font-weight: 800;
  margin: 0 0 20px;
}

.subtext {
  max-width: 680px;
  color: #444;
  font-size: 18px;
}

.hero-buttons {
  margin-top: 30px;
}

.btn-primary {
  display: inline-block;
  padding: 14px 28px;
  background: #0B1F3A;
  color: white;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 600;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(11,31,58,0.1);
}

.btn-outline {
  margin-left: 15px;
  padding: 14px 28px;
  border: 1px solid #0B1F3A;
  color: #0B1F3A;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 600;
}

.section{ padding:72px 24px; }



.container {
  max-width: 1000px;
  margin: 0 auto;
}

.container.narrow {
  max-width: 700px;
}

h2 {
  font-size: 32px;
  margin-bottom: 20px;
}

h3 {
  font-size: 22px;
  margin-bottom: 10px;
}

.section-intro {
  color: #555;
  margin-bottom: 40px;
}

.action-block {
  margin-bottom: 40px;
}

.btn-primary.small {
  padding: 10px 20px;
  font-size: 14px;
  margin-top: 10px;
}


/* Added contrast + color system */


.section.accent {
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
  border-top: 1px solid rgba(11,31,58,0.06);
  border-bottom: 1px solid rgba(11,31,58,0.06);
}

.section.dark {
  background: #0B1F3A;
  color: #fff;
}

.section.dark h2,
.section.dark p,
.section.dark .section-intro {
  color: rgba(255,255,255,0.86);
}

.section.dark .container.narrow p {
  color: rgba(255,255,255,0.82);
}

/* Slightly reduce vertical padding so page feels tighter */
.section{ padding:72px 24px; }

/* Responsive */
@media (max-width: 980px){
  .action-grid{ grid-template-columns: 1fr; }
  h1{ font-size: 44px; }
}

h2{
  position: relative;
}
.section.dark /* Improved readability for core explanatory sections */
.container.narrow p {
  font-size: 19px;
  line-height: 1.8;
  color: #333;
}

.container.narrow {
  max-width: 760px;
}

.section-intro {
  font-size: 18px;
}

h2 {
  font-size: 34px;
}

@media (max-width: 980px){
  .container.narrow p {
    font-size: 18px;
  }
}


/* Global readability upgrade */
body {
  font-size: 18px;
}

p {
  font-size: 18px;
  line-height: 1.85;
  color: #333;
}

h1 {
  font-size: 56px;
}

h2 {
  font-size: 36px;
}

h3 {
  font-size: 22px;
}

.section{ padding:72px 24px; }

@media (max-width: 980px){
  body {
    font-size: 17px;
  }
  p {
    font-size: 17px;
  }
  h1 {
    font-size: 44px;
  }
  h2 {
    font-size: 30px;
  }
}


/* Dark Hero Section */
.dark-hero {
  background: #0B1F3A;
  color: #fff;
  padding: 100px 24px 80px;
}

.dark-hero .eyebrow {
  letter-spacing: 3px;
  font-size: 16px;
  font-weight: 600;
  color: #0FA3A3;
  margin-bottom: 18px;
}

.dark-hero h1 {
  color: #fff;
}

.dark-hero .subtext {
  color: rgba(255,255,255,0.85);
}

.dark-hero .btn-outline {
  border: 1px solid #fff;
  color: #fff;
}

.dark-hero .btn-outline:hover {
  background: rgba(255,255,255,0.08);
}

/* Yellow Accent Heading */
.accent-heading {
  position: relative;
}

.accent-heading::after {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background: #0FA3A3;
  border-radius: 999px;
  margin-top: 14px;
}

/* Subtle yellow tint background for Current Gap section */
.section:nth-of-type(3) {
  background: linear-gradient(180deg, #ffffff 0%, #fffdf5 100%);
}



/* FIX: Ensure readable text on light sections */
.section,
.section.soft,
.section.accent {
  color: #0B1F3A !important;
}

.section p,
.section.soft p,
.section.accent p {
  color: #333 !important;
}

.section h2,
.section.soft h2,
.section.accent h2 {
  color: #0B1F3A !important;
}

/* Ensure dark sections override correctly */
.section.dark {
  background: #0B1F3A;
  color: #fff !important;
}

.section.dark p,
.section.dark h2,
.section.dark h3 {
  color: rgba(255,255,255,0.88) !important;
}

/* Remove accidental nth-of-type styling that may have broken layout */
.section:nth-of-type(3) {
  background: inherit !important;
}



/* Make eyebrow yellow */
.eyebrow {
  letter-spacing: 3px;
  font-size: 16px;
  font-weight: 600;
  color: #0FA3A3;
  margin-bottom: 18px;
}

.dark-hero .eyebrow {
  letter-spacing: 3px;
  font-size: 16px;
  font-weight: 600;
  color: #0FA3A3;
  margin-bottom: 18px;
}



/* Bold Statement Section */
.statement-section {
  background: #0B1F3A;
  padding: 140px 24px;
  text-align: left;
}

.statement-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.statement-section h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 84px;
  font-weight: 700;
  line-height: 1.05;
  color: #ffffff;
  margin: 0;
  letter-spacing: -1px;
}

.statement-section @media (max-width: 980px){
  .statement-section {
    padding: 100px 20px;
  }
  .statement-section h2 {
    font-size: 52px;
  }
}


/* Top Statement Section */
.top-statement {
  background: #0B1F3A;
  position: relative;
  padding: 180px 24px 160px;
}




.top-statement h1 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 120px;
  font-weight: 700;
  line-height: 0.95;
  color: #ffffff;
  max-width: 1200px;
  margin: 0 auto;
  letter-spacing: -2px;
}

.top-statement h1::after {
  content: "";
  display: block;
  width: 120px;
  height: 8px;
  background: #0FA3A3;
  border-radius: 999px;
  margin-top: 40px;
}

@media (max-width: 1200px){
  .top-statement h1 {
    font-size: 90px;
  }
}

@media (max-width: 768px){
  .top-statement {
    padding: 120px 20px 100px;
  }
  .top-statement h1 {
    font-size: 56px;
  }
}



/* Logo styling */
.site-logo {
  position: absolute;
  top: 30px;
  left: 40px;
}

.site-logo img {
  height: 70px;
  width: auto;
}

@media (max-width: 768px){
  .site-logo {
    position: relative;
    top: 0;
    left: 0;
    margin-bottom: 20px;
  }
  .site-logo img {
    height: 50px;
  }
}



/* Clean Branding Bar */
.branding-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.branding-bar img {
  height: 95px;
  width: auto;
  display: block;
}

/* Remove old absolute logo rules */
.site-logo { display:none; }



/* Controlled accent underlines (no random floating bars) */
.accent-heading::after{
  content:"";
  display:block;
  width:60px;
  height:4px;
  background:#0FA3A3;
  border-radius:999px;
  margin-top:14px;
}

.statement-section h1::after{
  content:"";
  display:block;
  width:120px;
  height:8px;
  background:#0FA3A3;
  border-radius:999px;
  margin-top:40px;
}


/* Constrain hero content width */
.hero-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.hero {
  padding: 120px 0 100px;
}



.hero p {
  max-width: 750px;
}

/* Improve spacing balance */
@media (max-width: 768px){
  .hero-inner {
    padding: 0 24px;
  }
}



/* Force consistent left alignment */
.statement-section,
.hero,
.section {
  text-align: left;
}

.statement-inner,
.hero-inner,
.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

/* Remove any accidental centering */
.statement-section h1,
.statement-section h2,
.hero h1,
.hero h2 {
  text-align: left;
}

/* Improve visual rhythm consistency */
.section {
  padding: 80px 0;
}



.problem-section {
  background: #0B1F3A;
  color: #ffffff;
  padding: 120px 0;
}

.problem-section .container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.problem-section h2 {
  color: #ffffff;
}

.problem-section p {
  color: rgba(255,255,255,0.85);
  font-size: 19px;
  line-height: 1.8;
  max-width: 820px;
}

.problem-section .accent-heading::after {
  background: #0FA3A3;
}

@media (max-width: 768px){
  .problem-section {
    padding: 80px 0;
  }
  .problem-section .container {
    padding: 0 24px;
  }
}


/* Current Gap Section - match Problem (black) */
.current-gap-section {
  background: #0B1F3A;
  color: #ffffff;
  padding: 120px 0;
}

.current-gap-section .container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.current-gap-section h2 {
  color: #ffffff;
}

.current-gap-section p {
  color: rgba(255,255,255,0.85);
  font-size: 19px;
  line-height: 1.8;
  max-width: 820px;
}

@media (max-width: 768px){
  .current-gap-section { padding: 80px 0; }
  .current-gap-section .container { padding: 0 24px; }
}


/* Take Action - bold, not kiddy */
.take-action-bold{
  background:#ffffff;
  padding:0 0 100px;
}

.take-action-bold .container{
  max-width:1100px;
  margin:0 auto;
  padding:0 40px;
}

.take-action-title{
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 96px;
  line-height: 0.98;
  margin: 0 0 18px;
  color:#fff;
  letter-spacing:-2px;
}

.take-action-sub{
  color: rgba(255,255,255,0.80);
  font-size: 18px;
  max-width: 720px;
  margin: 0 0 56px;
}

.take-action-rows{
  display:flex;
  flex-direction:column;
  gap: 28px;
  max-width: 920px;
}

.take-action-row{
  display:flex;
  gap: 22px;
  padding: 22px 0;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.take-action-row:last-child{
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

.take-action-num{
  font-size: 14px;
  letter-spacing: 2px;
  color: #0FA3A3;
  font-weight: 700;
  margin-top: 6px;
  width: 48px;
  flex: 0 0 48px;
}

.take-action-copy h3{
  margin: 0 0 8px;
  font-size: 22px;
  color:#fff;
}

.take-action-copy p{
  margin: 0;
  color: rgba(255,255,255,0.82);
  font-size: 18px;
  line-height: 1.75;
  max-width: 760px;
}

@media (max-width: 980px){
  .take-action-title{ font-size: 64px; }
}

@media (max-width: 768px){
  .take-action-bold{
  background:#ffffff;
  padding:0 0 100px;
}
  .take-action-bold .container{ padding: 0 24px; }
  .take-action-title{ font-size: 52px; letter-spacing:-1px; }
  .take-action-row{ gap: 16px; }
  .take-action-num{ width: 40px; flex-basis: 40px; }
}

.hero-buttons .btn-primary{
  margin-right: 0;
}


/* Solution Section - White + Accent */
.solution-section {
  background: #ffffff;
  padding: 100px 0;
}

.solution-section .container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.solution-section p {
  font-size: 19px;
  line-height: 1.8;
  max-width: 820px;
}

/* Add accent underline for white Problem section */
.problem-white .accent-heading::after {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background: #0FA3A3;
  border-radius: 999px;
  margin-top: 14px;
}

/* Footer-style Contact Section */
.footer-section {
  background: #0B1F3A;
  color: #fff;
  padding: 60px 0 50px;
}

.footer-section .container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.footer-section h2 {
  font-size: 18px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 16px;
  color: #0FA3A3;
}

.footer-section p {
  font-size: 16px;
  color: rgba(255,255,255,0.75);
  margin: 0;
}



/* Take Action now white */
.take-action-title{
  color:#0B1F3A;
}

.take-action-sub{
  color:#555;
}

.take-action-row{
  border-top: 1px solid rgba(11,31,58,0.08);
}

.take-action-row:last-child{
  border-bottom: 1px solid rgba(11,31,58,0.08);
}

.take-action-copy h3{
  color:#0B1F3A;
}

.take-action-copy p{
  color:#444;
}



/* Take Action Header Block */
.take-action-header{
  background:#0B1F3A;
  padding:120px 40px 100px;
  margin:0 -40px 80px; /* stretch full width of section */
}

.take-action-header .take-action-title{
  color:#ffffff;
  margin:0 0 20px;
}

.take-action-header .take-action-sub{
  color:rgba(255,255,255,0.75);
  margin:0;
}


.eyebrow {
  font-size: 18px !important;
  letter-spacing: 3px;
}

.take-action-header .take-action-sub {
  color: #0FA3A3 !important;
}


/* Top FAQ link */
.top-nav{
  position:absolute;
  top:30px;
  right:40px;
}

.top-nav a{
  color:#0FA3A3;
  text-decoration:none;
  font-size:14px;
  letter-spacing:2px;
}

.top-nav a:hover{
  opacity:0.7;
}

/* Footer FAQ link */
.footer-link{
  color:#0FA3A3;
  text-decoration:none;
  font-size:14px;
  letter-spacing:1px;
}

.footer-link:hover{
  opacity:0.7;
}



/* Minimal Navigation Bar */
.nav{
  position: sticky;
  top: 0;
  z-index: 999;
  background: #0B1F3A;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.nav-inner{
  max-width:1100px;
  margin:0 auto;
  padding:18px 40px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.nav-brand{
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.nav-links{
  display: flex;
  gap: 22px;
}

.nav-links a{
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.nav-links a:hover{
  color: #0FA3A3;
}

@media (max-width: 768px){
  .nav-inner{
  max-width:1100px;
  margin:0 auto;
  padding:18px 40px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
  .nav-links{ gap: 14px; }
}



/* Take Action page styles (inspired by Trey's Law, but distinct) */
.page-hero.dark{
  background: #0B1F3A;
  color: #fff;
  padding: 110px 0 90px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.page-title{
  font-size: 54px;
  margin: 0 0 18px;
  letter-spacing: -1px;
}

.page-sub{
  color: rgba(255,255,255,0.80);
  font-size: 18px;
  max-width: 720px;
  line-height: 1.7;
  margin: 0;
}

.action-grid-section{
  padding: 80px 0;
  background: #ffffff;
}

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

.action-card{
  display: flex;
  gap: 16px;
  padding: 22px 22px;
  border-radius: 16px;
  border: 1px solid rgba(11,31,58,0.08);
  text-decoration: none;
  color: inherit;
  background: #fff;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.action-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(11,31,58,0.08);
}

.action-card-icon{
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(245,196,0,0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex: 0 0 48px;
}

.action-card-body h2{
  font-size: 22px;
  margin: 0 0 8px;
}

.action-card-body p{
  margin: 0 0 12px;
  color: #444;
  font-size: 16px;
  line-height: 1.65;
}

.action-card-link{
  color: #0B1F3A;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.follow-section{
  padding: 72px 0 80px;
  background: #f6f6f6;
  border-top: 1px solid rgba(11,31,58,0.06);
}

.follow-section p{
  color: #444;
  max-width: 760px;
}

.follow-links{
  margin-top: 18px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.follow-links a{
  text-decoration: none;
  color: #0B1F3A;
  border: 1px solid rgba(11,31,58,0.10);
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 14px;
}

.follow-links a:hover{
  border-color: rgba(11,31,58,0.25);
}

@media (max-width: 900px){
  .action-grid{ grid-template-columns: 1fr; }
  .page-title{ font-size: 42px; }
}

/* Make Take Action icons yellow */
.action-card-icon{
  color:#0FA3A3;
}

/* RAINN resource bar */
.resource-bar{
  background:#f2f3f4;
  border-top:1px solid rgba(11,31,58,0.08);
  padding: 26px 0 30px;
}

.resource-bar .container{
  max-width:1100px;
  margin:0 auto;
  padding: 0 40px;
}

.resource-bar p{
  margin:0 0 14px;
  font-size:18px;
  color:#0B1F3A;
}

.resource-bar a{
  color:#0B1F3A;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.resource-pill{
  display:flex;
  align-items:center;
  gap:14px;
  border-radius: 999px;
  padding: 16px 18px;
  background:#e9eaec;
  max-width: 520px;
}

.resource-pill svg{
  width:20px;
  height:20px;
  color:#0B1F3A;
  opacity:0.75;
}

.resource-number{
  font-size:22px;
  letter-spacing: 1px;
  font-weight:700;
  color:#0B1F3A;
}

@media (max-width:768px){
  .resource-bar .container{ padding: 0 24px; }
  .resource-pill{ max-width: 100%; }
}

/* Team grid */
.team-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.team-card{
  background:#fff;
  border:1px solid rgba(11,31,58,0.08);
  border-radius: 16px;
  padding: 18px;
}



.team-role{
  margin: 0 0 10px;
  color:#444;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.press-placeholder{
  border:1px solid rgba(11,31,58,0.08);
  border-radius: 16px;
  padding: 18px;
  background:#fff;
  max-width: 820px;
}

@media (max-width: 900px){
  .team-grid{ grid-template-columns: 1fr; }
}


/* Hashtag Section */
.hashtag-section{
  background:#0B1F3A;
  padding: 32px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.hashtag-section .container{
  max-width:1100px;
  margin:0 auto;
  padding: 0 40px;
}

.hashtag-line{
  margin:0;
  color:#0FA3A3;
  font-size:18px;
  letter-spacing:0.5px;
}

@media (max-width:768px){
  .hashtag-section .container{ padding:0 24px; }
}


/* Unified Footer Section (Who We Are page) */
.unified-footer{
  background:#0B1F3A;
  padding: 60px 0 70px;
  color:#fff;
  border-top:1px solid rgba(255,255,255,0.08);
}

.unified-footer .container{
  max-width:1100px;
  margin:0 auto;
  padding: 0 40px;
}

.footer-links-row{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  margin-bottom:26px;
}

.footer-links-row a{
  color:#fff;
  text-decoration:none;
  font-weight:600;
}

.footer-links-row a:hover{
  color:#0FA3A3;
}

.footer-divider{
  height:1px;
  background:rgba(255,255,255,0.12);
  margin:22px 0;
}

.footer-hashtag{
  color:#0FA3A3;
  font-size:18px;
  margin:0;
}

.footer-hotline-text{
  margin:0 0 18px;
  font-size:16px;
}

.center-pill{
  max-width: 420px;
}

@media (max-width:768px){
  .unified-footer .container{ padding:0 24px; }
}




/* Clean Minimal Footer - Revised */
.site-footer{
  background:#0B1F3A;
  padding:60px 0 70px;
}

.site-footer .container{
  max-width:900px;
  margin:0 auto;
  padding:0 40px;
}

.footer-list{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-list li{
  margin-bottom:14px;
}

.footer-list a{
  color:#fff;
  text-decoration:none;
  font-size:18px;
  font-weight:600;
}

.footer-list a:hover{
  opacity:0.8;
}

.footer-white{
  color:#fff;
  font-size:16px;
}

.footer-white a{
  color:#fff;
  text-decoration:none;
}

.footer-white a:hover{
  opacity:0.8;
}

.footer-hashtag{
  color:#888;
  font-size:16px;
  margin-top:10px;
}

@media (max-width:768px){
  .site-footer .container{ padding:0 24px; }
}

}

  .footer-pill{ max-width: 100%; }
}


/* Home Take Action Hero Block */
.home-take-action-header{
  padding:90px 0 40px;
  background:#fff;
}

.home-take-action-header .container{
  max-width:1100px;
  margin:0 auto;
  padding:0 40px;
}

.take-action-border{
  display:inline-block;
  border:2px solid #0B1F3A;
  padding:18px 32px;
  margin-bottom:18px;
}

.take-action-border h2{
  margin:0;
  font-size:42px;
  font-weight:700;
}

.take-action-sub{
  margin:0;
  font-size:18px;
  color:#555;
}

@media (max-width:768px){
  .home-take-action-header .container{ padding:0 24px; }
  .take-action-border h2{ font-size:32px; }
}


/* Take Action (photo-matching style) */
.take-action-hero{
  background:#0B1F3A;
  color:#fff;
  padding: 90px 0 70px;
}

.take-action-hero .container{
  max-width:1100px;
  margin:0 auto;
  padding:0 40px;
}

.take-action-hero h2{
  margin:0 0 10px;
  font-size:72px;
  letter-spacing:-1px;
}

.take-action-hero .subline{
  margin:0;
  color:#0FA3A3;
  font-size:18px;
  letter-spacing:0.2px;
}

.take-action-list{
  background:#fff;
  padding: 50px 0 70px;
}

.take-action-list .container{
  max-width:1100px;
  margin:0 auto;
  padding:0 40px;
}

.ta-row{
  display:grid;
  grid-template-columns: 70px 1fr;
  gap: 24px;
  padding: 26px 0;
  border-top: 1px solid rgba(11,31,58,0.10);
}

.ta-row:last-child{
  border-bottom: 1px solid rgba(11,31,58,0.10);
}

.ta-num{
  color:#0FA3A3;
  font-weight:700;
  letter-spacing:1px;
  font-size:16px;
  padding-top: 6px;
}

.ta-title{
  margin:0 0 8px;
  font-size:22px;
  color:#0B1F3A;
}

.ta-text{
  margin:0;
  color:#444;
  font-size:16px;
  line-height:1.7;
  max-width: 780px;
}

@media (max-width:768px){
  .take-action-hero .container,
  .take-action-list .container{ padding:0 24px; }
  .take-action-hero h2{ font-size:48px; }
  .ta-row{ grid-template-columns: 52px 1fr; gap:16px; }
}

/* SB 542 Banner - Full Width Impact */
.sb-banner{
  background:#0FA3A3;
  color:#ffffff;
  text-align:center;
  width:100%;
}

.sb-banner a{
  color:#0B1F3A;
  text-decoration:none;
  display:block;
  width:100%;
}

.sb-banner a:hover{
  opacity:0.9;
}

@media (max-width:768px){
  .sb-banner{
  background:#0FA3A3;
  color:#ffffff;
  text-align:center;
  width:100%;
}
}


.sb-banner a{
  color:#0B1F3A;
  text-decoration:none;
}

.sb-banner a:hover{
  opacity:0.85;
}


.sb-banner a{
  color:#0B1F3A;
  text-decoration:none;
}

.sb-banner a:hover{
  opacity:0.8;
}


/* Urgent Legislative Action Block */
.ta-urgent-links{
  margin-top: 18px;
}

.urgent-primary{
  display: inline-block;
  background: #0FA3A3;
  color: #0B1F3A;
  padding: 14px 22px;
  font-weight: 800;
  text-decoration: none;
  letter-spacing: 1px;
  font-size: 14px;
  border-radius: 6px;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.urgent-primary:hover{
  transform: translateY(-1px);
  opacity: 0.92;
}

.urgent-secondary-group{
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.urgent-secondary-group a{
  color: #0B1F3A;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.urgent-secondary-group a:hover{
  opacity: 0.75;
}


.nav-links{
  display:flex;
  gap:28px;
}

.nav-links a{
  font-size:14px;
  letter-spacing:2px;
  text-transform:uppercase;
}

@media (max-width:768px){
  .nav-inner{ padding:16px 24px; }
}


/* --- Mobile/Nav fixes --- */
header.site-header{
  position: relative;
  z-index: 10;
}

.sb-banner{
  background:#0FA3A3;
  color:#ffffff;
  text-align:center;
  width:100%;
}

/* Keep nav below banner (no overlap) */
.navbar{
  position: relative;
  z-index: 15;
}

/* Mobile nav wrapping + spacing */
@media (max-width: 768px){
  .nav-inner{
    justify-content: center;
  }
  .nav-links{
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    line-height: 1.2;
  }
  .nav-links a{
    font-size: 12px;
    letter-spacing: 1.6px;
    white-space: nowrap; /* keeps WHO WE ARE on one line */
  }
}

/* --- Hero title mobile sizing --- */
@media (max-width: 768px){
  .hero-title{
    font-size: 44px;
    line-height: 1.08;
    letter-spacing: -0.5px;
    word-break: normal;
    overflow-wrap: anywhere;
  }
  .hero-subtitle{
    font-size: 16px;
    line-height: 1.65;
  }
  .hero .container{
    padding-left: 24px;
    padding-right: 24px;
  }
}


/* === Navy + Teal Global Theme Override === */

body {
  color: #0B1F3A;
}

.sb-banner{
  background:#0FA3A3;
  color:#ffffff;
  text-align:center;
  width:100%;
}

.navbar,
.footer,
.dark-section {
  background: #0B1F3A;
  color: #ffffff;
}

a {
  color: #0FA3A3;
}

.nav-links a:hover {
  color: #0FA3A3;
}

button,
.urgent-primary {
  background: #0FA3A3;
  color: #ffffff;
}

button:hover,
.urgent-primary:hover {
  opacity: 0.85;
}

.white-section h1,
.white-section h2,
.white-section h3,
.white-section p {
  color: #0B1F3A;
}

.footer-white a {
  color: #ffffff;
}

.footer-hashtag {
  color: #cccccc;
}


/* SB 542 Banner – Clean Dominant Version */

.sb-banner{
  background: #0FA3A3;
  color: #ffffff;
  text-align: center;
  padding: 40px 20px;
  font-weight: 900;
  font-size: 56px;
  letter-spacing: 4px;
  text-transform: uppercase;
  width: 100%;
}

.sb-banner a{
  color: #ffffff;
  text-decoration: none;
  display: block;
  width: 100%;
}

@media (max-width: 768px){
  .sb-banner{
    font-size: 34px;
    padding: 26px 16px;
    letter-spacing: 2px;
  }
}


/* === HARD NAVY OVERRIDE (Fixes any leftover black) === */
:root{
  --navy: #0B1F3A;
  --teal: #0FA3A3;
}

/* Force all dark sections to navy */
body,
header,
.navbar,
.hero,
.dark-hero,
.hero.dark-hero,
.dark-section,
.section-dark,
.problem-section,
.current-gap-section,
.take-action-header,
footer,
.footer{
  background: var(--navy) !important;
  background-color: var(--navy) !important;
}

/* If any gradients exist, overwrite */
.hero,
.dark-hero,
.section-dark{
  background-image: none !important;
}

/* Text colors on navy */
.navbar,
.navbar *,
.dark-section,
.dark-section *,
.section-dark,
.section-dark *,
footer,
footer *,
.hero,
.hero *{
  color: #ffffff;
}

/* Links + accents */
a{ color: var(--teal); }
a:hover{ opacity:0.85; }

/* Nav links */
.nav-links a{ color:#ffffff; }
.nav-links a:hover{ color: var(--teal); }

/* Accent line elements (if present) */
.accent-line,
.hero-line,
.section-line,
.divider-accent{
  background: var(--teal) !important;
  border-color: var(--teal) !important;
}

/* Buttons */
button,
.urgent-primary{
  background: var(--teal) !important;
  color: #ffffff !important;
}


/* --- Fix: Top statement was still near-black --- */
.top-statement{
  background: #0B1F3A !important;
}


/* --- Enlarge team photos --- */
.team-card img,
.team-card .photo-placeholder {
  height: 320px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}


/* Team grid photo boxes: larger, portrait-friendly, full image visible */


/* When a background-image is used, show full photo without zoom */
.team-photo[style*="background-image"]{
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Mobile tweak */
@media (max-width: 768px){
  
}

/* Team photos – portrait ratio, natural framing */




/* Mobile */
@media (max-width: 768px){
  
}

/* Force Hayle (3rd card) image to fully cover box */
.team-card:nth-child(3) 

/* Hayle (3rd card) show full image without zoom */
.team-card:nth-child(3) 

/* Square team photos */




/* TRUE SQUARE TEAM PHOTOS */




/* TRUE SQUARE TEAM PHOTO CONTAINERS (NO GREY RECTANGLE) */
.team-photo {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 16px;
  background: transparent;
}

.team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}


/* White section styling */
.white-section {
  background-color: #ffffff !important;
  color: #0f2747;
}

.white-section h2,
.white-section h3 {
  color: #0f2747;
}

.white-section .accent,
.white-section .highlight {
  color: #1f8f8b;
}

/* Home Take Action button */
.home-action-btn {
  background-color: #1f8f8b;
  color: #ffffff;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  margin-top: 16px;
}

.home-action-btn:hover {
  opacity: 0.9;
}

/* === Overrides for HOME (white hero + white problem section) === */
.header-spacer{height:0;}

.hero.hero-white{
  background:#ffffff !important;
  background-color:#ffffff !important;
  color: var(--navy) !important;
}
.hero.hero-white *{
  color: var(--navy) !important;
}
.hero.hero-white .divider{
  background: var(--teal) !important;
}

/* Home hero CTA button */
.btn-teal{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 22px;
  border-radius: 12px;
  background: var(--teal);
  color:#ffffff !important;
  text-decoration:none;
  font-weight:800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.btn-teal:hover{ opacity:0.92; }

/* "The Problem" section should be white */
.section.problem-white{
  background:#ffffff !important;
  background-color:#ffffff !important;
  color: var(--navy) !important;
}
.section.problem-white *{
  color: var(--navy) !important;
}
.section.problem-white .divider,
.section.problem-white .accent-line,
.section.problem-white .hero-line,
.section.problem-white .section-line,
.section.problem-white .divider-accent{
  background: var(--teal) !important;
  border-color: var(--teal) !important;
}


/* FAQ HERO (top section) - make text white */
.faq-hero,
.faq-hero h1,
.faq-hero h2,
.faq-hero p {
    color: #ffffff !important;
}

/* FAQ SECOND SECTION - white background + navy text */
.faq-section-white {
    background: #ffffff !important;
    color: #0f2747 !important;
    padding: 60px 0;
}

.faq-section-white h1,
.faq-section-white h2,
.faq-section-white h3,
.faq-section-white p,
.faq-section-white li {
    color: #0f2747 !important;
}


/* FAQ PAGE: FORCE WHITE TEXT */
.faq-white-text, .faq-white-text * {
  color: #ffffff !important;
}
.faq-white-text a {
  color: #ffffff !important;
}

/* Hero logo responsive sizing */
@media (max-width: 768px) {
  
}

@media (max-width: 420px) {
  
}
