
:root{--red:#d6422b;--orange:#f06b2f;--ink:#171717;--paper:#f3f1ed;--white:#fff;--muted:#666;--line:rgba(23,23,23,.14);--shadow:0 18px 50px rgba(0,0,0,.14);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}img{max-width:100%}a{color:inherit}button,input{font:inherit}
.site-header{position:sticky;top:0;z-index:100;background:rgba(17,17,17,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.nav{max-width:var(--max);min-height:68px;margin:auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.045em;font-size:1rem}.brand span{color:var(--orange)}
.nav-links{display:flex;gap:24px}.nav-links a{text-decoration:none;text-transform:uppercase;font-size:.82rem;font-weight:800;letter-spacing:.08em}.nav-links a:hover,.nav-links a:focus-visible{color:var(--orange)}
.hero{position:relative;background:#d5d5d5;overflow:hidden}.hero::after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(to top,rgba(0,0,0,.28),transparent);pointer-events:none}
.hero-inner{max-width:1450px;margin:auto}.hero img{display:block;width:100%;height:auto}
.cta-band{background:radial-gradient(circle at 15% 20%,rgba(240,107,47,.18),transparent 28%),#161616;color:white;text-align:center;padding:clamp(52px,8vw,92px) 22px;border-top:8px solid var(--red)}
.eyebrow{margin:0 0 14px;color:#ff8a58;font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.cta-band h1{margin:0 auto 18px;max-width:1000px;text-transform:uppercase;font-size:clamp(2.25rem,6vw,5.2rem);line-height:.96;letter-spacing:-.035em}.cta-band h1 em{color:#ff6b39;font-style:normal}
.cta-band p{max-width:760px;margin:0 auto 30px;font-size:clamp(1.02rem,2vw,1.28rem);color:#e6e6e6}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;border-radius:5px;padding:14px 24px;background:var(--red);color:white;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:.065em;cursor:pointer;transition:transform .16s ease,filter .16s ease}.button:hover,.button:focus-visible{filter:brightness(1.08);transform:translateY(-1px)}
.section{max-width:var(--max);margin:auto;padding:clamp(50px,8vw,88px) 22px}.section h1,.section h2{margin-top:0;text-transform:uppercase;line-height:1.02;letter-spacing:-.02em}.section h1{font-size:clamp(2.2rem,6vw,4.8rem)}.section h2{font-size:clamp(1.45rem,4vw,2.5rem)}
.lead{max-width:780px;margin-bottom:32px;font-size:1.16rem;color:#333}.card{background:var(--white);padding:clamp(24px,5vw,48px);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}label{font-weight:800}.optional{color:var(--muted);font-size:.9rem;font-weight:400}
input,textarea{width:100%;border:1px solid #aaa;border-radius:4px;background:white;padding:14px;color:var(--ink)}input:focus,textarea:focus{outline:3px solid rgba(214,66,43,.2);border-color:var(--red)}
.check-row{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:6px;background:#faf9f7}.check-row input{width:20px;height:20px;margin-top:3px}.check-row label{font-weight:400;font-size:.96rem}
.fineprint{margin-top:18px;font-size:.86rem;color:#555}.legal{max-width:980px}.legal h2{margin-top:2.2em;font-size:1.28rem}.legal p,.legal li{max-width:860px}
.site-footer{background:#111;color:#d7d7d7;padding:34px 22px}.footer-inner{max-width:var(--max);margin:auto}.footer-links{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:20px}.footer-links a{color:#fff;font-size:.9rem;font-weight:800}.disclaimer{max-width:1080px;margin:0;font-size:.72rem;line-height:1.5}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:12px;top:12px;z-index:999;background:white;color:black;padding:10px 14px}
@media(max-width:720px){.nav{min-height:60px;padding:0 16px}.brand{font-size:.9rem}.nav-links{gap:14px}.nav-links a{font-size:.72rem}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.section{padding-inline:18px}.hero img{width:100%;min-height:420px;object-fit:cover;object-position:52% center}}
@media(max-width:430px){.brand{max-width:160px;line-height:1.05}.nav-links a:first-child{display:none}.hero img{min-height:470px;object-position:58% center}.cta-band{padding-inline:18px}}


/* Campaign homepage v2 */
.campaign-hero {
  position: relative;
  min-height: 680px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 18% 18%, rgba(240,107,47,.18), transparent 30%),
    linear-gradient(135deg, #121212 0%, #222 58%, #3b3b3b 100%);
  border-bottom: 8px solid var(--red);
}
.campaign-hero__content {
  position: relative;
  z-index: 2;
  align-self: center;
  width: 100%;
  max-width: 760px;
  padding: clamp(58px, 8vw, 108px) clamp(24px, 6vw, 82px);
}
.campaign-hero h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(3rem, 7vw, 6.5rem);
  line-height: .88;
  letter-spacing: -.055em;
  text-transform: uppercase;
}
.campaign-hero h1 span {
  display: block;
  color: var(--orange);
  font-size: .42em;
  line-height: 1.2;
  letter-spacing: .04em;
}
.hero-question {
  max-width: 680px;
  margin: 24px 0;
  font-size: clamp(1.25rem, 2.5vw, 1.85rem);
  font-weight: 800;
  line-height: 1.2;
}
.hero-points {
  max-width: 690px;
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
}
.hero-points li {
  position: relative;
  margin: 10px 0;
  padding-left: 26px;
  color: #eee;
  font-size: 1.03rem;
}
.hero-points li::before {
  content: "×";
  position: absolute;
  left: 0;
  top: -.08em;
  color: var(--orange);
  font-size: 1.35em;
  font-weight: 900;
}
.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.text-link {
  color: #fff;
  font-weight: 800;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.campaign-hero__portrait {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  background: #242424;
}
.campaign-hero__portrait::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(to right, #1b1b1b 0%, rgba(27,27,27,.35) 20%, transparent 48%),
    linear-gradient(to top, rgba(0,0,0,.24), transparent 42%);
  pointer-events: none;
}
.campaign-hero__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 100% center;
}
.mailer-section {
  max-width: 1280px;
  margin: auto;
  padding: clamp(54px, 8vw, 96px) 22px;
}
.section-heading {
  max-width: 760px;
  margin-bottom: 28px;
}
.section-heading h2 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1;
  text-transform: uppercase;
}
.mailer-frame {
  overflow: hidden;
  border-radius: 8px;
  background: #d6d6d6;
  box-shadow: var(--shadow);
}
.mailer-frame img {
  display: block;
  width: 100%;
  height: auto;
}
.cta-band h2 {
  margin: 0 auto 16px;
  max-width: 900px;
  font-size: clamp(2rem, 5vw, 4.5rem);
  line-height: .98;
  text-transform: uppercase;
}

@media (max-width: 820px) {
  .campaign-hero {
    min-height: auto;
    grid-template-columns: 1fr;
  }
  .campaign-hero__content {
    order: 2;
    padding: 34px 20px 46px;
  }
  .campaign-hero__portrait {
    order: 1;
    min-height: 310px;
    height: 46vh;
    max-height: 430px;
  }
  .campaign-hero__portrait::before {
    background: linear-gradient(to top, #171717 0%, rgba(23,23,23,.25) 43%, transparent 72%);
  }
  .campaign-hero__portrait img {
    object-position: 68% center;
  }
  .campaign-hero h1 {
    font-size: clamp(3rem, 15vw, 5rem);
  }
  .hero-question {
    font-size: 1.3rem;
  }
  .hero-points li {
    font-size: .98rem;
  }
  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .hero-actions .button {
    width: 100%;
  }
  .text-link {
    text-align: center;
  }
  .mailer-section {
    padding-inline: 14px;
  }
  .mailer-frame {
    border-radius: 4px;
  }
}

@media (max-width: 430px) {
  .campaign-hero__portrait {
    min-height: 270px;
    height: 40vh;
  }
  .campaign-hero__content {
    padding-top: 24px;
  }
  .campaign-hero h1 {
    font-size: clamp(2.8rem, 16vw, 4.1rem);
  }
  .campaign-hero h1 span {
    font-size: .38em;
  }
  .hero-question {
    margin: 18px 0;
  }
  .hero-points {
    margin-bottom: 24px;
  }
}

@media (max-width: 430px) {
  .campaign-hero__portrait img {
    object-position: 70% center;
  }
}
