/* GMS newsletter footer preview, using the approved GMS V2 CSS variables.
   Scoped to .gms-newsletter to preserve header, original footer, and public pages. */
.gms-newsletter { padding: 12px 0 0; }
.gms-newsletter .newsletter-surface {
  background: var(--gms-paper-strong);
  border-top: 4px solid var(--gms-accent-deep);
  padding: clamp(40px, 5.4vw, 80px) clamp(25px, 5.15vw, 72px);
}
.gms-newsletter .newsletter-caption {
  display: block;
  font: 500 12px/1.5 var(--gms-font-head);
  text-transform: uppercase;
  letter-spacing: .09em;
  color: var(--gms-muted);
  margin-bottom: 22px;
}
.gms-newsletter h2 {
  font: 500 clamp(31px, 3.45vw, 51px)/1.23 var(--gms-font-head);
  letter-spacing: -.075em;
  max-width: 680px;
  margin: 0 0 24px;
}
.gms-newsletter .newsletter-lead {
  font-size: 18px;
  color: var(--gms-body);
  line-height: 1.7;
  max-width: 610px;
  margin-bottom: 0;
}
.gms-newsletter .newsletter-form { max-width: 100%; }
.gms-newsletter .newsletter-label {
  display: block;
  font: 500 15px/1.5 var(--gms-font-head);
  margin: 0 0 12px;
}
.gms-newsletter .newsletter-actions { display: flex; gap: 10px; align-items: stretch; }
.gms-newsletter input[type="email"] {
  min-width: 0;
  flex: 1 1 250px;
  padding: 16px 17px;
  border: 1px solid #b9c3ae;
  border-radius: 2px;
  background: var(--gms-canvas);
  color: var(--gms-ink);
  font: 400 17px/1.5 var(--gms-font-body);
  transition: border-color var(--gms-transition), box-shadow var(--gms-transition);
}
.gms-newsletter input[type="email"]:focus { border-color: var(--gms-accent-dark); outline: 3px solid var(--gms-accent); outline-offset: 1px; }
.gms-newsletter .btn-accent { white-space: nowrap; padding-inline: clamp(17px, 1.8vw, 26px); }
.gms-newsletter .btn-accent .link-arrow { transition: transform var(--gms-transition); }
.gms-newsletter .btn-accent:hover .link-arrow { transform: translateX(6px); }
.gms-newsletter .newsletter-consent { display: flex; gap: 12px; align-items: flex-start; margin: 23px 0 0; }
.gms-newsletter .newsletter-consent input {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 19px;
  width: 19px; height: 19px;
  margin: 4px 0 0;
  background: var(--gms-canvas);
  border: 1.5px solid #87967c;
  border-radius: 2px;
  cursor: pointer;
  position: relative;
}
.gms-newsletter .newsletter-consent input:checked { background: var(--gms-accent-dark); border-color: var(--gms-accent-dark); }
.gms-newsletter .newsletter-consent input:checked::after { content: ''; position: absolute; top: 1px; left: 5px; height: 11px; width: 6px; transform: rotate(45deg); border-bottom: 2px solid #fff; border-right: 2px solid #fff; }
.gms-newsletter .newsletter-consent input:focus-visible { outline: 3px solid #7cae3b; outline-offset: 4px; }
.gms-newsletter .newsletter-consent label { cursor: pointer; font-size: 14px; line-height: 1.65; color: var(--gms-body); }
.gms-newsletter .newsletter-consent a { text-decoration: underline; text-decoration-color: #8ba960; text-underline-offset: 4px; }
.gms-newsletter .newsletter-consent a:hover { color: var(--gms-accent-dark); }
.gms-newsletter .newsletter-note { margin: 16px 0 0 31px; font-size: 13px; color: var(--gms-muted); line-height: 1.6; }
.gms-newsletter .newsletter-feedback { margin: 14px 0 0 31px; font-size: 14px; font-weight: 500; color: var(--gms-ink); }
.gms-newsletter .newsletter-status { margin: 16px 0 0 31px; padding: 12px 14px; border-left: 3px solid var(--gms-accent-dark); background: rgba(255,255,255,.58); color: var(--gms-ink); font-size: 14px; font-weight: 500; line-height: 1.6; }
.gms-newsletter .newsletter-status[hidden] { display: none; }
.gms-newsletter .newsletter-status--error { border-left-color: #9f3c32; color: #66241d; }
.gms-newsletter .newsletter-status--error li + li { margin-top: 5px; }
.gms-newsletter + .site-footer { padding-top: 0; }
.gms-newsletter + .site-footer .section-rule { height: 2px; }
/* Editorial page-ending context is a layout frame only; production pages keep their own content. */
.gms-newsletter-context { padding: clamp(72px, 8vw, 122px) 0 65px; }
.gms-newsletter-context .context-breadcrumb { font: 500 12px/1.5 var(--gms-font-head); text-transform: uppercase; letter-spacing: .09em; color: var(--gms-muted); margin: 0 0 20px; }
.gms-newsletter-context h1 { font: 500 clamp(38px, 5vw, 62px)/1.16 var(--gms-font-head); letter-spacing: -.075em; margin: 0 0 19px; }
.gms-newsletter-context .context-intro { font-size: 20px; line-height: 1.65; max-width: 770px; color: var(--gms-body); }
.gms-newsletter-context .context-three { margin-top: 55px; border-top: 1px solid var(--gms-line); padding-top: 30px; }
.gms-newsletter-context .context-three > * + * { border-left: 1px solid var(--gms-line); }
.gms-newsletter-context .context-item { padding: 8px 30px 10px 30px; }
.gms-newsletter-context .context-three > :first-child .context-item { padding-left: 0; }
.gms-newsletter-context .context-item h2 { font: 500 24px/1.35 var(--gms-font-head); letter-spacing: -.06em; margin: 0 0 14px; }
.gms-newsletter-context .context-item p { font-size: 16px; line-height: 1.7; color: var(--gms-body); margin: 0; }
.gms-newsletter-context .end-rule { height: 1px; background: var(--gms-line); margin-top: 50px; }
@media (max-width: 991.98px) {
 .gms-newsletter .newsletter-surface { padding: 45px 30px; }
 .gms-newsletter .newsletter-form { margin-top: 18px; }
}
@media (max-width: 767.98px) {
 .gms-newsletter-context { padding-top: 45px; }
 .gms-newsletter-context .context-intro { font-size: 17px; }
 .gms-newsletter-context .context-three > * + * { border-left: 0; border-top: 1px solid var(--gms-line); }
 .gms-newsletter-context .context-item, .gms-newsletter-context .context-three > :first-child .context-item { padding: 24px 0; }
 .gms-newsletter .newsletter-surface { padding: 36px 23px; }
 .gms-newsletter h2 { font-size: clamp(29px, 7.2vw, 42px); }
 .gms-newsletter .newsletter-lead { font-size: 17px; }
 .gms-newsletter .newsletter-actions { flex-direction: column; }
 .gms-newsletter .newsletter-actions input[type="email"] { flex: 0 0 auto; width: 100%; min-height: 58px; }
 .gms-newsletter .newsletter-actions .btn-accent { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .gms-newsletter * { transition: none !important; } }
