@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root {
  --ink: #294b3c;
  --paper: #faf7ef;
  --orange: #a8482b;
  --accent: #a8482b;
  --muted: #53685e;
  --line: #d8ddd0;
  --pale: #ecebdf;
  --serif: 'Libre Caslon Display', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 30px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1rem/1.7 var(--sans); }
a { color: inherit; text-underline-offset: 5px; }
button, input, textarea { font: inherit; }
button, a, input { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
p { margin-top: 0; }
[hidden] { display: none !important; }
.wrap { width: min(1232px, calc(100% - 96px)); margin-inline: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 25px; border-bottom: 1px solid var(--line); }
.brand { display: flex; flex-direction: column; text-decoration: none; width: max-content; line-height: 1.04; }
.brand-name { font-family: var(--serif); font-size: 2.1875rem; letter-spacing: -.04em; }
.brand-period { color: var(--accent); }
.brand-office { font-size: .75rem; font-weight: 700; letter-spacing: .24em; margin-top: 7px; }
.site-header nav { display: flex; align-items: center; gap: 32px; font-size: .875rem; font-weight: 600; }
.site-header nav a { text-decoration: none; }
.site-header nav a:hover { text-decoration: underline; }
.nav-join { border-bottom: 1px solid var(--ink); padding-block: 7px; }
.nav-join span { margin-left: 16px; }
.menu-button { display: none; }
.hero { display: grid; grid-template-columns: 1.08fr 1fr; gap: 70px; align-items: center; padding-block: 58px 68px; }
.hero-copy, .hero-photo, .join-inner > *, .intro-section > * { min-width: 0; }
.eyebrow { font-size: .875rem; line-height: 1.5; letter-spacing: .1em; font-weight: 700; margin: 0 0 23px; text-transform: uppercase; }
.hero .eyebrow { font-size: .8125rem; letter-spacing: .08em; }
.hero h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(3.75rem, 6.65vw, 5.75rem); line-height: 1; letter-spacing: -.045em; margin: 0 0 30px; }
.hero h1 em { font-weight: 400; color: var(--orange); font-style: italic; }
.hero-intro { max-width: 500px; font-size: 1.0625rem; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 23px; margin-top: 30px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 27px; min-height: 54px; border: 0; border-radius: 3px; padding: 15px 21px; font-size: .9375rem; font-weight: 700; line-height: 1.5; text-decoration: none; }
.button-orange { background: var(--orange); color: #fff; }
.button-orange:hover { background: #af3b1b; }
.text-link { font-size: .875rem; font-weight: 700; text-decoration-thickness: 1px; }
.hero-vote { margin: 25px 0 0; font-size: .875rem; color: var(--muted); }
.hero-photo { margin: 0; background: var(--ink); }
.hero-photo img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: left top; }
.hero-photo figcaption { padding: 21px 24px; color: var(--paper); display: flex; flex-direction: column; gap: 7px; }
.hero-photo figcaption span:first-child { font-family: var(--serif); font-size: 2rem; line-height: 1.2; }
.hero-photo figcaption span:last-child { font-size: .75rem; letter-spacing: .12em; }
.election-band { background: var(--ink); color: var(--paper); }
.election-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 28px; }
.election-inner p { margin: 0; }
.election-inner .eyebrow { display: block; font-size: .75rem; margin-bottom: 5px; color: #c6d5c2; }
.election-inner strong { font-weight: 500; font-size: 1rem; }
.election-inner a { font-size: .875rem; max-width: 178px; }
.election-inner a span { margin-left: 8px; }
.section { padding-block: 90px; }
h2 { font-family: var(--serif); font-size: 3.375rem; line-height: 1.06; font-weight: 400; letter-spacing: -.025em; margin: 0; }
.intro-section { display: grid; grid-template-columns: 1fr 1.14fr; gap: 110px; }
.intro-aside { margin: 27px 0 0; color: var(--muted); font-size: .9375rem; }
.prose p { color: var(--muted); margin-bottom: 21px; }
.prose p:last-child { margin-bottom: 0; }
.prose .lead { color: var(--ink); font-size: 1.4375rem; line-height: 1.4; letter-spacing: -.025em; }
.priorities { background: var(--pale); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 80px; margin-bottom: 50px; }
.section-intro { max-width: 300px; color: var(--muted); margin: 0; }
.priority-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; }
.priority-list article { border-top: 1px solid #9bab98; padding-top: 21px; }
.number { color: var(--orange); font-family: var(--serif); font-size: 1.6875rem; }
.priority-list h3 { font-family: var(--serif); font-size: 2.0625rem; line-height: 1.15; font-weight: 400; letter-spacing: -.02em; margin: 19px 0 20px; }
.priority-list p { color: var(--muted); font-size: 1rem; line-height: 1.8; margin-bottom: 0; }
.community-section { display: grid; grid-template-columns: 1fr 1fr; gap: 88px; align-items: center; }
.community-visual { margin: 0; width: 100%; }
.community-visual img { width: 100%; height: auto; aspect-ratio: 1 / 1.1; object-fit: cover; }
.community-copy h2 { margin-bottom: 27px; }
.community-copy p:not(.eyebrow) { color: var(--muted); line-height: 1.8; }
.mike-quote { margin: 27px 0 0; padding: 7px 0 7px 22px; border-left: 2px solid var(--orange); }
.community-copy .mike-quote p { font-family: var(--serif); font-size: 2.375rem; line-height: 1.15; color: var(--ink); margin: 0 0 12px; }
.mike-quote footer { font-size: .875rem; color: var(--muted); }
:is(.join-section, .signup-panel) { background: var(--ink); color: var(--paper); padding-block: 78px 84px; }
.join-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 100px; align-items: start; }
:is(.join-section, .signup-panel) .eyebrow { color: #c6d5c2; }
:is(.join-section, .signup-panel) h2 { font-size: 3.375rem; margin-bottom: 28px; }
.join-copy > p:not(.eyebrow) { color: #d2ddcc; max-width: 420px; font-size: 1.0625rem; }
.gratitude-signoff { border-left: 1px solid #7a9479; padding-left: 20px; margin-top: 37px; }
.gratitude-signoff span { display: block; font-family: var(--serif); font-style: italic; font-size: 2rem; line-height: 1.2; }
.gratitude-signoff strong { display: block; font-weight: 500; font-size: 1rem; margin-top: 14px; }
:is(.join-section, .signup-panel) form { background: var(--paper); color: var(--ink); padding: 33px; border-radius: 3px; }
:is(.join-section, .signup-panel) h3 { font-family: var(--serif); font-size: 2.125rem; font-weight: 400; line-height: 1.2; margin: 0 0 27px; }
:is(.join-section, .signup-panel) label:not(.check-label) { font-size: .875rem; font-weight: 600; display: block; margin-bottom: 7px; }
:is(.join-section, .signup-panel) input[type=email], :is(.join-section, .signup-panel) input[type=text], :is(.join-section, .signup-panel) textarea { width: 100%; background: #fff; border: 1px solid #a7b6a2; border-radius: 3px; padding: 12px 13px; color: var(--ink); font-size: 1rem; }
:is(.join-section, .signup-panel) textarea { resize: vertical; min-height: 120px; }
:is(.join-section, .signup-panel) input[type=text] { margin-bottom: 17px; }
.interest-options { border: 0; margin: 24px 0 0; padding: 0; min-width: 0; }
.interest-options legend { font-size: .875rem; font-weight: 600; padding: 0; margin-bottom: 7px; }
.check-label { display: flex; align-items: start; gap: 12px; padding: 10px 0; font-size: .9375rem; line-height: 1.5; cursor: pointer; }
.check-label input { width: 19px; height: 19px; accent-color: var(--ink); flex: none; margin: 3px 0 0; }
.check-label small { display: block; color: var(--muted); font-size: .875rem; font-weight: 400; line-height: 1.5; margin-top: 3px; }
:is(.join-section, .signup-panel) .optional { font-weight: 400; color: var(--muted); font-size: .875rem; }
#testimonial-fields { margin-top: 22px; }
.selection-note { font-size: .875rem; line-height: 1.6; color: var(--muted); background: var(--pale); padding: 13px 15px; margin: 12px 0 20px; border-radius: 3px; }
.interest-context { font-size: .875rem; color: var(--muted); margin: 0 0 17px; }
:is(.join-section, .signup-panel) button[type=submit] { width: 100%; margin-top: 22px; }
.error { display: block; color: #a83316; font-size: .875rem; margin-top: 5px; }
.error:empty { margin: 0; }
.submission-status { font-size: .875rem; line-height: 1.6; color: #922d15; background: #fff0e8; border-left: 3px solid var(--orange); padding: 13px 15px; margin: 20px 0 0; }
.site-footer { padding-block: 35px 42px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.site-footer p { font-size: .875rem; line-height: 1.7; margin: 0; }
.site-footer .brand-name { font-size: 1.875rem; }
.skip-link { position: fixed; top: -80px; left: 15px; background: var(--ink); color: white; padding: 12px 18px; z-index: 99; }
.skip-link:focus { top: 10px; }
@media (max-width: 1050px) {
  .wrap { width: calc(100% - 64px); }
  .hero { gap: 40px; }
  .hero h1 { font-size: 4.125rem; }
  .hero-actions { gap: 18px; }
  .hero-actions .button { gap: 20px; }
  .intro-section, .community-section { gap: 55px; }
  .join-inner { gap: 50px; }
  :is(.join-section, .signup-panel) h2 { font-size: 2.875rem; }
  .election-inner { gap: 25px; }
  .election-inner strong { font-size: .9375rem; }
  .site-header nav { gap: 22px; }
}
@media (max-width: 760px) {
  .wrap { width: calc(100% - 40px); }
  .site-header { padding-block: 22px; flex-wrap: wrap; gap: 0; }
  .brand-name { font-size: 1.9375rem; }
  .brand-office { font-size: .6875rem; }
  .menu-button { display: flex; align-items: center; gap: 20px; border: 1px solid var(--line); background: transparent; padding: 8px 12px; font-size: .875rem; color: var(--ink); border-radius: 3px; min-height: 44px; }
  .menu-button span { font-size: 1.3125rem; line-height: 1; }
  .site-header nav { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; gap: 0; padding-top: 18px; }
  .site-header nav.is-open { display: flex; }
  .site-header nav a { padding: 11px 0; border-bottom: 1px solid var(--line); }
  .hero { grid-template-columns: 1fr; padding-block: 39px 40px; gap: 30px; }
  .eyebrow { font-size: .8125rem; letter-spacing: .08em; margin-bottom: 19px; }
  .hero .eyebrow { font-size: .75rem; }
  .hero h1 { font-size: clamp(3.45rem, 11vw, 5.125rem); margin-bottom: 24px; }
  .hero-intro { font-size: 1rem; max-width: 490px; }
  .hero-actions { gap: 20px; margin-top: 25px; }
  .hero-actions .button { font-size: .875rem; gap: 20px; }
  .hero-vote { margin-top: 23px; }
  .hero-photo { max-width: 450px; width: 100%; margin-inline: auto; }
  .hero-photo figcaption { padding: 18px 20px; }
  .hero-photo figcaption span:first-child { font-size: 1.8125rem; }
  .election-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-block: 27px; }
  .election-inner .eyebrow { font-size: .6875rem; }
  .election-inner strong, .election-inner a { font-size: .875rem; }
  .section { padding-block: 60px; }
  h2 { font-size: 2.8125rem; }
  .intro-section { grid-template-columns: 1fr; gap: 29px; }
  .intro-aside { margin-top: 22px; }
  .prose .lead { font-size: 1.3125rem; }
  .section-heading { display: block; margin-bottom: 34px; }
  .section-intro { margin-top: 25px; max-width: 440px; }
  .priority-list { grid-template-columns: 1fr; gap: 29px; }
  .priority-list article { display: grid; grid-template-columns: 35px 1fr; gap: 7px; padding-top: 23px; }
  .priority-list h3 { font-size: 1.9375rem; margin: 0 0 16px; }
  .number { font-size: 1.5625rem; }
  .community-section { grid-template-columns: 1fr; gap: 31px; }
  .community-visual { max-width: 450px; margin-inline: auto; }
  .community-visual img { aspect-ratio: 1.2; }
  .community-copy .mike-quote p { font-size: 2.125rem; }
  :is(.join-section, .signup-panel) { padding-block: 55px; }
  .join-inner { grid-template-columns: 1fr; gap: 34px; }
  :is(.join-section, .signup-panel) h2 { font-size: 2.8125rem; }
  .gratitude-signoff { margin-top: 28px; }
  :is(.join-section, .signup-panel) form { padding: 28px 23px; }
  :is(.join-section, .signup-panel) h3 { font-size: 1.9375rem; }
  .site-footer { flex-wrap: wrap; gap: 27px; }
  .site-footer p { font-size: .8125rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.campaign-case .campaign-ask { margin: 29px 0 0; max-width: 380px; border-left: 2px solid var(--orange); padding-left: 20px; font-size: 1.0625rem; line-height: 1.7; }
.community-copy .lead { color: var(--ink); font-size: 1.4375rem; line-height: 1.4; letter-spacing: -.025em; }

/* Real photographs alongside the biography, without marketing overlays. */
.hero h1{font-size:clamp(3.6rem,6.2vw,5.3rem)}
.local-photos{display:grid;grid-template-columns:.62fr 1.38fr;gap:48px;align-items:start;padding-bottom:76px}
.local-photos figure{margin:0;min-width:0}
.local-photos img{width:100%;height:auto}
.archive-cover{max-width:270px;justify-self:center}
.archive-shop{padding-top:22px}
.local-photos figcaption{font-size:.875rem;color:var(--muted);line-height:1.5;margin-top:12px}
.intro-section{padding-bottom:42px}
.hero-photo figcaption span:first-child{font-size:1.65rem}
@media(max-width:760px){.hero h1{font-size:clamp(3.4rem,11vw,5rem)}.local-photos{grid-template-columns:.8fr 1.2fr;gap:20px;padding-bottom:48px}.archive-shop{padding-top:0}.local-photos figcaption{font-size:.8125rem}.intro-section{padding-bottom:30px}}

/* Give the magazine cover a full reading column; preserve its entire image. */
.local-photos { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 60px; align-items: center; }
.archive-cover { max-width: 460px; width: 100%; }
.archive-shop { padding-top: 0; }
@media (max-width: 760px) {
  .local-photos { grid-template-columns: 1fr; gap: 32px; }
  .archive-cover { max-width: 420px; }
  .archive-shop { width: 100%; }
}

/* Single signup form in the main banner; no duplicate fields or IDs. */
.hero-signup { grid-column: 1 / -1; border: 1px solid var(--line); background: var(--pale); scroll-margin-top: 24px; }
.hero-signup form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 48px; padding: 32px; }
.hero-signup form > * { grid-column: 1; }
.hero-signup .interest-options { grid-column: 2; grid-row: 1 / span 7; margin: 0; }
.hero-signup #interest-error { grid-column: 2; }
.hero-signup #testimonial-fields, .hero-signup #yard-sign-note { grid-column: 2; }
.hero-signup h3 { margin-bottom: 16px; }
.hero-signup .selection-note { margin-top: 0; }
.hero-signup button[type=submit] { align-self: start; }
.join-inner { grid-template-columns: 1fr; }
.join-copy { max-width: 680px; }
@media (max-width: 760px) {
 .hero-signup form { display: block; padding: 24px 20px; }
 .hero-signup .interest-options { margin-top: 24px; }
}

/* Keep the complete form inside the hero's left column. */
.hero { align-items: start; }
.hero-signup { margin-top: 28px; padding: 0; border: 0; border-top: 1px solid var(--line); background: transparent; }
.hero-signup form { display: block; padding: 24px 0 0; background: transparent; }
.hero-signup h3 { font-size: 1.875rem; }
.hero-signup .interest-options { margin-top: 18px; }
.hero-signup .check-label { padding-block: 7px; }
.hero-signup .selection-note { padding: 10px 12px; font-size: .8125rem; }
.hero-signup button[type=submit] { margin-top: 16px; }
@media (min-width: 761px) { .hero-photo { position: sticky; top: 24px; } }
@media (max-width: 760px) { .hero-signup form { padding: 22px 0 0; } }

/* Compact form with comfortable touch targets. */
.hero-signup { margin-top: 22px; }
.hero-signup form { padding-top: 20px; max-width: 500px; }
.hero-signup h3 { margin-bottom: 16px; }
.hero-signup input[type=email] { padding: 9px 12px; min-height: 44px; max-width: 420px; }
.hero-signup .interest-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 14px; margin-top: 14px; }
.hero-signup .interest-options legend { margin-bottom: 4px; }
.hero-signup .check-label { min-height: 44px; align-items: center; padding: 7px 0; gap: 9px; font-size: .875rem; }
.hero-signup .check-label input { margin: 0; }
.hero-signup button[type=submit] { width: auto; min-width: 170px; min-height: 44px; padding: 10px 18px; margin-top: 12px; }
@media(max-width:380px) { .hero-signup .interest-options { grid-template-columns: 1fr; } }
.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
.hero h1 { overflow-wrap: anywhere; }
@media(max-width:380px) { .election-inner { grid-template-columns: 1fr; } }

/* Inline email controls and two editorial photo placements. */
.email-submit-row { display: flex; align-items: stretch; gap: 10px; max-width: 500px; }
.hero-signup .email-submit-row input[type=email] { flex: 1; min-width: 0; width: 0; max-width: none; }
.hero-signup .email-submit-row button[type=submit] { flex: none; margin: 0; min-width: 130px; gap: 14px; white-space: nowrap; }
.privacy-link { font-size: .75rem; margin: 10px 0 0; }
.biography-feature { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 26px 72px; align-items: start; padding-bottom: 80px; }
.biography-feature .bio-heading { grid-column: 2; grid-row: 1; }
.biography-feature .archive-cover { grid-column: 1; grid-row: 1 / span 2; margin: 0; width: 100%; max-width: 460px; }
.biography-feature .prose { grid-column: 2; grid-row: 2; }
.biography-feature img { width: 100%; height: auto; }
.biography-feature figcaption, .join-section figcaption { font-size: .8125rem; line-height: 1.5; margin-top: 12px; }
.join-inner { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 60px; align-items: center; }
.join-section .archive-shop { margin: 0; }
.join-section .archive-shop img { width: 100%; height: auto; }
.join-section .archive-shop figcaption { color: #d2ddcc; }
.footer-privacy { font-size: .8125rem; min-height: 44px; display: inline-flex; align-items: center; }
@media(max-width:760px) {
 .biography-feature { grid-template-columns: 1fr; gap: 26px; }
 .biography-feature .bio-heading, .biography-feature .archive-cover, .biography-feature .prose { grid-column: 1; grid-row: auto; }
 .biography-feature .archive-cover { justify-self: center; }
 .join-inner { grid-template-columns: 1fr; gap: 32px; }
}
@media(max-width:380px) { .email-submit-row { flex-wrap: wrap; } .hero-signup .email-submit-row input[type=email] { flex-basis: 100%; } }

/* Phone layout: photography, introduction, content, then the existing form. */
:root { color-scheme: only light; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
#mobile-signup-slot { display: none; }
@media (max-width:760px) {
 .wrap { width: calc(100% - 40px); }
 .site-header { padding-block: 17px; }
 .site-header .brand-name { font-size: 1.75rem; }
 .site-header .brand-office { font-size: .625rem; letter-spacing: .2em; }
 .menu-button { min-height: 44px; padding: 9px 12px; }
 .hero { display: flex; flex-direction: column; gap: 28px; padding-block: 20px 42px; }
 .hero-photo { position: static; width: 100%; max-width: none; margin: 0; }
 .hero-photo img { aspect-ratio: 1 / 1.04; object-fit: cover; object-position: center top; }
 .hero-photo figcaption { display: flex; flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px 16px; padding: 12px 14px; }
 .hero-photo figcaption span:first-child { font-size: 1.25rem; }
 .hero-photo figcaption span:last-child { font-size: .5625rem; letter-spacing: .08em; }
 .hero-copy { width: 100%; }
 .hero .eyebrow { font-size: .6875rem; margin-bottom: 14px; letter-spacing: .065em; }
 .hero h1 { font-size: clamp(2.8rem,12vw,4rem); line-height: 1.02; margin-bottom: 20px; }
 .hero-intro { font-size: 1rem; line-height: 1.7; margin-bottom: 0; max-width: none; }
 .hero-vote { margin-top: 18px; font-size: .8125rem; }
 .section { padding-block: 46px; }
 h2 { font-size: 2.5rem; line-height: 1.1; }
 .section-heading { margin-bottom: 28px; }
 .section-intro { margin-top: 18px; font-size: .9375rem; line-height: 1.65; }
 .priority-list { gap: 24px; }
 .priority-list article { grid-template-columns: 28px minmax(0,1fr); gap: 12px; padding-top: 18px; }
 .priority-list h3 { font-size: 1.75rem; margin-bottom: 12px; }
 .priority-list h3 br { display: none; }
 .priority-list p { font-size: .9375rem; line-height: 1.75; }
 .election-inner { grid-template-columns: 1fr; gap: 18px; padding-block: 26px; }
 .election-inner p { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
 .election-inner .eyebrow { margin: 0; }
 .election-inner a { max-width: none; min-height: 44px; display: inline-flex; align-items: center; }
 .biography-feature { gap: 24px; }
 .biography-feature .archive-cover { max-width: 380px; }
 .biography-feature .prose p { font-size: .9375rem; line-height: 1.75; }
 .biography-feature .prose .lead { font-size: 1.1875rem; line-height: 1.5; }
 .community-section { gap: 24px; }
 .campaign-case .campaign-ask { margin-top: 20px; font-size: 1rem; }
 .community-copy p:not(.eyebrow) { font-size: .9375rem; line-height: 1.75; }
 .community-copy .lead { font-size: 1.1875rem; }
 .join-section { padding-block: 42px; }
 .join-inner { gap: 28px; }
 #mobile-signup-slot { display: block; min-width: 0; }
 #mobile-signup-slot .hero-signup { padding: 22px 18px; margin: 0; border: 0; background: var(--paper); color: var(--ink); }
 #mobile-signup-slot form { padding: 0; max-width: none; }
 #mobile-signup-slot h3 { font-size: 1.75rem; color: var(--ink); }
 #mobile-signup-slot .email-submit-row { flex-direction: column; gap: 10px; }
 #mobile-signup-slot input[type=email] { width: 100%; flex: auto; min-height: 48px; font-size: 1rem; }
 #mobile-signup-slot button[type=submit] { width: 100%; min-height: 48px; }
 #mobile-signup-slot .interest-options { grid-template-columns: 1fr; gap: 0; }
 #mobile-signup-slot .check-label { min-height: 44px; }
 #mobile-signup-slot .privacy-link a { display: inline-flex; align-items: center; min-height: 44px; }
 .site-footer { padding-block: 28px; gap: 18px; align-items: start; }
 .site-footer > * { flex-basis: 100%; }
 .footer-privacy { margin-top: 0; }
}
@media(max-width:760px) {
 #mobile-signup-slot input[type=email], #mobile-signup-slot input[type=text], #mobile-signup-slot textarea { border-color: #718578; }
}

.signup-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.signup-consent { font-size:.8125rem;line-height:1.5;color:var(--muted);margin:16px 0 8px; }
#signup-form button:disabled { opacity:.7;cursor:wait; }
