/* Reader requests and email subscriptions. Consent controls keep their own styles. */
.audience-page{padding:38px 0 12px}
.audience-header{max-width:850px;margin-bottom:32px}
.audience-header h1{font-size:clamp(34px,4.5vw,56px);line-height:1.12;margin:12px 0 18px;text-wrap:balance}
.audience-header .dek{font-size:18px;line-height:1.65;max-width:710px}
.audience-layout{display:grid;grid-template-columns:minmax(0,680px) minmax(200px,1fr);align-items:start;gap:48px}
.audience-panel{min-width:0;padding:32px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:3px}
.audience-field{display:flex;flex-direction:column;gap:8px;margin:0 0 25px}
.audience-field label{font-size:15px;line-height:1.4;font-weight:700}
.audience-field input,.audience-field textarea,.audience-field select{display:block;min-width:0;width:100%;border:1px solid #9eacba;border-radius:4px;background:white;color:var(--ink);padding:12px 13px;font:inherit;font-size:16px;line-height:1.5}
.audience-field textarea{resize:vertical;min-height:116px}
.audience-field textarea::placeholder{color:#667586;opacity:1}
.audience-field input:focus-visible,.audience-field textarea:focus-visible,.audience-field select:focus-visible,.audience-optin input:focus-visible,.audience-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.audience-field [aria-invalid=true]{border-color:#a72c27}
.audience-hint{display:block;font-size:12px;line-height:1.6;color:var(--muted)}
.audience-context{margin:0 0 26px;border-bottom:1px solid var(--line);padding-bottom:18px}
.audience-context summary{cursor:pointer;color:var(--blue);font-size:14px;font-weight:650;line-height:1.6}
.audience-context .audience-field{margin:18px 0 0}
.audience-optin{margin:2px 0 25px;padding:18px;background:var(--wash);border-radius:4px}
.audience-optin label{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.55;cursor:pointer}
.audience-optin input{accent-color:var(--blue);width:18px;height:18px;margin:2px 0 0;flex:0 0 18px}
.audience-optin .audience-hint{margin:7px 0 0 30px}
.audience-form-note{font-size:13px;line-height:1.65;margin:0 0 20px;color:var(--muted)}
.audience-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:white;padding:12px 20px;font:inherit;font-size:15px;line-height:1.45;font-weight:700;cursor:pointer}
.audience-button:hover:enabled{background:var(--navy);border-color:var(--navy)}
.audience-button:disabled{opacity:.65;cursor:default}
.audience-status{font-size:14px;line-height:1.65;padding:16px;margin:0 0 20px;background:var(--wash);border-left:3px solid var(--blue);overflow-wrap:anywhere}
.audience-status[data-state=error]{background:#fff4f2;border-color:#a72c27;color:#832924}
.audience-status[data-state=success]{background:#edf6f0;border-color:#2f7052;color:#244e39}
.audience-field-error{font-size:13px;line-height:1.5;color:#a12c27}
.audience-status[hidden],.audience-field-error[hidden]{display:none}
.audience-data-note{font-size:12px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);margin:26px 0 0;padding-top:18px;overflow-wrap:anywhere}
.audience-aside{padding:22px 0 0;border-top:1px solid var(--line)}
.audience-aside h2{font:600 26px/1.25 Georgia,"Times New Roman",serif;margin:0 0 18px}
.audience-aside p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 20px}
.audience-honeypot{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden;pointer-events:none}
.audience-email{max-width:800px}
.audience-email .audience-panel{max-width:680px}
.audience-email .audience-panel h2{font-size:25px;line-height:1.25;margin:0 0 12px}
.audience-email [data-action-description]{font-size:16px;line-height:1.65;margin:0 0 24px}
.audience-action-help{font-size:13px;line-height:1.65;margin:24px 0 0}
.audience-invitations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;border-top:1px solid var(--line);padding-top:32px;margin-top:12px}
.audience-invitation{padding:0 22px 0 0}
.audience-invitation+.audience-invitation{border-left:1px solid var(--line);padding:0 0 0 32px}
.audience-invitation h2{font:600 28px/1.2 Georgia,"Times New Roman",serif;margin:0 0 12px}
.audience-invitation p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 16px}
.audience-invitation a{font-size:13px;font-weight:700;text-decoration:none}
.audience-invitation a:hover{text-decoration:underline}
@media(max-width:1000px){.audience-layout{gap:30px;grid-template-columns:minmax(0,1fr) 240px}.audience-panel{padding:26px}}
@media(max-width:760px){
 .audience-page{padding-top:26px}
 .audience-header{margin-bottom:25px}
 .audience-header h1{font-size:35px;margin-top:10px}
 .audience-header .dek{font-size:16px;line-height:1.6}
 .audience-layout{display:block}
 .audience-panel{padding:23px 20px}
 .audience-aside{margin-top:32px;padding-top:24px}
 .audience-aside h2{font-size:25px}
 .audience-field{margin-bottom:23px}
 .audience-optin{padding:16px}
 .audience-button{width:100%;font-size:14px}
 .audience-invitations{grid-template-columns:1fr;gap:25px;padding-top:26px}
 .audience-invitation,.audience-invitation+.audience-invitation{padding:0;border-left:0}
 .audience-invitation+.audience-invitation{border-top:1px solid var(--line);padding-top:25px}
 .audience-invitation h2{font-size:26px}
}
@media(max-width:380px){.audience-header h1{font-size:31px}.audience-panel{padding:22px 16px}}
