/* Shared contact tokens and typography are loaded by the page. */
.subscription-main{width:min(35rem,calc(100% - 2.5rem));margin:0 auto;padding-top:6.8rem;line-height:1.65}
.subscription-intro{margin-bottom:1.75rem}
.subscription-eyebrow{font-size:.69rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--primary);margin-bottom:.65rem}
.subscription-intro h1{font-family:"Crimson Pro",Georgia,serif;font-size:clamp(2.15rem,6vw,3rem);font-weight:600;line-height:1.06;letter-spacing:-.025em;max-width:12em;margin:0}
.subscription-lead{font-size:.95rem;color:var(--muted);line-height:1.7;margin-top:1rem;max-width:31rem}
.subscription-panel{padding:1.75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:1rem}
.subscription-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.55rem}
.subscription-panel input[type=email]{display:block;width:100%;min-height:3.1rem;padding:.7rem .85rem;font-size:1rem;background:var(--bg);color:var(--fg);border:1px solid var(--muted);border-radius:.5rem}
.subscription-help{font-size:.78rem;line-height:1.6;color:var(--muted);margin-top:.55rem}
.subscription-consent{display:flex;align-items:flex-start;gap:.65rem;margin-top:1.4rem;font-size:.82rem;line-height:1.65;cursor:pointer}
.subscription-consent input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin-top:.2rem;accent-color:var(--primary)}
.subscription-privacy{margin:.4rem 0 1.35rem;padding-left:1.75rem;font-size:.76rem}
.subscription-main a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.subscription-panel button{width:100%;min-height:3rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:.55rem;background:var(--primary);color:#fff;font-size:.85rem;font-weight:600;line-height:1.5;cursor:pointer}
[data-theme=dark] .subscription-panel button{color:var(--bg)}
.subscription-panel button:hover{filter:brightness(.94)}
.subscription-panel button:active{filter:brightness(.88)}
.subscription-panel button:disabled{cursor:wait;filter:saturate(.6)}
#subscriptionStatus:empty{display:none}
#subscriptionStatus:not(:empty){margin-top:1rem;padding:.85rem 1rem;border-left:3px solid var(--primary);border-radius:.25rem;background:var(--primary-soft);font-size:.85rem;line-height:1.65;overflow-wrap:anywhere}
.subscription-notes{margin-top:1.35rem;padding-top:1.15rem;border-top:1px solid var(--border);font-size:.78rem;line-height:1.7;color:var(--muted)}
.subscription-return{padding:1.6rem .1rem 0}
.subscription-return h2{font-size:.82rem;font-weight:600;margin-bottom:.4rem}
.subscription-return p{font-size:.8rem;color:var(--muted);line-height:1.75}
.subscription-footer{width:min(35rem,calc(100% - 2.5rem));margin:2rem auto 0;padding-top:1.2rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--muted)}
.subscription-footer nav{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem}
.subscription-footer a{display:inline-flex;align-items:center;min-height:2rem}
.subscription-footer p{margin-top:.65rem;font-size:.7rem}
.subscription-footer a:hover{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.subscription-main :focus-visible,.subscription-footer :focus-visible{outline:3px solid var(--primary);outline-offset:4px}
@media(max-width:600px){.subscription-main{padding-top:5.5rem}.subscription-intro{margin-bottom:1.4rem}.subscription-panel{padding:1.2rem}.subscription-lead{font-size:.88rem}.subscription-return{padding-top:1.3rem}.subscription-footer{margin-top:1.6rem}}
