:root{
  --ivory:#E8E3D9;
  --white:#FFFFFF;
  --charcoal:#2F2F2F;
  --muted:#5A5A5A;
  --moss:#2C8C45;
  --terracotta:#E55C0A;
  --terracotta-dark:#C74F09;
  --max:980px;
}

*{margin:0;padding:0;box-sizing:border-box}

body{
  font-family:"brandon-grotesque",sans-serif;
  background:var(--ivory);
  color:var(--charcoal);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

.section-ivory{background:var(--ivory)}
.section-white{background:var(--white)}

.hero{
  padding:5.5rem 5% 4.5rem;
  text-align:center;
}

.hero-inner{
  max-width:var(--max);
  margin:0 auto;
}

.hero-logo{
  width:min(340px, 70vw);
  height:auto;
  margin:0 auto 2.5rem;
  display:block;
}

.hero h1{
  font-size:clamp(3.2rem, 5.6vw, 5.2rem);
  font-weight:700;
  letter-spacing:0.2px;
  margin-bottom:1.7rem;
}

.hero-sub{
  font-size:clamp(1.25rem, 1.6vw, 1.55rem);
  color:var(--muted);
  letter-spacing:0.4px;
  margin-bottom:2.4rem;
}

.hero-cta{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:1rem 2.2rem;
  border-radius:4px;
  font-weight:600;
  letter-spacing:0.4px;
  text-decoration:none;
  transition:transform .12s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.btn:active{transform:translateY(1px)}

.btn-terracotta{
  background:var(--terracotta);
  color:#fff;
  border:1px solid transparent;
}
.btn-terracotta:hover{background:var(--terracotta-dark)}

.btn-outline{
  background:transparent;
  color:var(--charcoal);
  border:1px solid rgba(47,47,47,.35);
}
.btn-outline:hover{
  background:rgba(255,255,255,.65);
  border-color:rgba(47,47,47,.5);
}

.hero-note{
  margin-top:1.8rem;
  font-size:1.05rem;
  color:rgba(47,47,47,.7);
}

.image-band{
  background:#000; /* prevents white flash while image loads */
}

.image-band img{
  width:100%;
  height:440px;              /* ✅ constrain height */
  object-fit:cover;          /* ✅ crop elegantly */
  object-position:center;    /* adjust to "top" if needed */
  display:block;
}

.content{
  padding:4.5rem 5%;
}

.content-inner{
  max-width:var(--max);
  margin:0 auto;
}

.content h2{
  font-size:clamp(2.2rem, 3vw, 2.7rem);
  margin-bottom:1.4rem;
  font-weight:700;
}

.content p{
  font-size:clamp(1.2rem, 1.35vw, 1.35rem);
  color:rgba(47,47,47,.9);
  margin-bottom:1.2rem;
  max-width:820px;
}

.standards{
  list-style:none;
  margin-top:1rem;
  padding-left:0;
}

.standards li{
  font-size:clamp(1.18rem, 1.25vw, 1.3rem);
  margin-bottom:.9rem;
  padding-left:1.2rem;
  position:relative;
}

.standards li:before{
  content:"•";
  position:absolute;
  left:0;
  color:var(--terracotta);
}

.footer{
  background:var(--charcoal);
  color:#fff;
  padding:3rem 5%;
  text-align:center;
}

.footer-inner{
  max-width:var(--max);
  margin:0 auto;
}

.disclaimer{
  font-size:.95rem;
  opacity:.9;
  margin-bottom:1rem;
}

@media (max-width: 700px){
  .image-band img{height:320px;}
  .btn{width:100%; max-width:420px;}
}