.newsletter-signup{padding:6rem 0;background:var(--alt);border-top:1px solid var(--border)}
.nl-grid{display:grid;grid-template-columns:6fr 5fr;gap:5rem;align-items:center}
.nl-copy h2{font-size:clamp(2.2rem,4.5vw,3.5rem)}
.nl-sub{color:var(--muted);max-width:30rem}
.nl-form{display:grid;gap:1.25rem;background:var(--card);border:1px solid var(--border);border-top:2px solid var(--gold);padding:2.5rem}
.nl-form label{display:grid;gap:.5rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.nl-form input{font:300 1rem var(--sans);color:var(--fg);background:var(--bg);border:1px solid var(--border);padding:.85rem 1rem;border-radius:0;text-transform:none;letter-spacing:0;width:100%}
.nl-form input:focus{outline:none;border-color:var(--gold)}
.nl-form input[aria-invalid="true"]{border-color:hsl(8 55% 52%)}
.nl-form .btn:disabled{opacity:.55;cursor:wait}
.nl-form .btn:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px}
.nl-trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl-status{min-height:1.5rem;font-size:.95rem;margin:0!important;color:var(--muted)}
.nl-status.ok{color:var(--gold-l);font:400 1.35rem/1.3 var(--serif)}
.nl-status.err{color:hsl(8 60% 68%)}
.sub-hero{padding:8rem 0 7rem;background:radial-gradient(ellipse at 20% 20%,hsl(30 20% 9%),var(--bg) 70%)}
.sub-grid{display:grid;grid-template-columns:7fr 5fr;gap:5rem;align-items:start}
.sub-main h1{font-size:clamp(2.8rem,6.5vw,5.2rem)}
.sub-main .lead{max-width:34rem;margin-top:1.75rem;color:var(--muted)}
.sub-points{list-style:none;margin-top:3rem;border-top:1px solid var(--border);max-width:34rem}
.sub-points li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--border)}
.sub-points p{font:400 1.35rem/1.35 var(--serif)}
.nl-panel .nl-form{margin:0}
.nl-from{display:flex;align-items:center;gap:1rem;margin-top:1.75rem}
.nl-from img{width:72px;height:72px;object-fit:cover;object-position:center top;border:1px solid var(--border);filter:grayscale(15%)}
.nl-from p{font:400 1.4rem/1.2 var(--serif)}.nl-from .meta{display:block;margin-top:.35rem;font-size:.66rem}
@media(max-width:860px){.nl-grid,.sub-grid{grid-template-columns:1fr;gap:2.5rem}.nl-form{padding:1.5rem}.sub-hero{padding:5rem 0}.newsletter-signup{padding:4rem 0}}
.contact-form label.newsletter-opt-in {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  font-size: .9rem;
  line-height: 1.6;
  letter-spacing: normal;
  text-transform: none;
  cursor: pointer;
}
.contact-form .newsletter-opt-in input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  margin: .2rem 0 0;
  padding: 0;
  accent-color: #0B1F3A;
}
.contact-form .newsletter-opt-in input:focus-visible {
  outline: 2px solid var(--gold-l);
  outline-offset: 4px;
}
