.newsletter-trigger{cursor:pointer;font:inherit}
.header .newsletter-header{background:#fff;color:#090909;border:1px solid #fff;padding:.8rem 1.4rem;text-shadow:none;box-shadow:none;white-space:nowrap;font-size:.8rem;font-weight:600;letter-spacing:.02em}
.header .newsletter-header:hover,.header .newsletter-header:focus-visible{background:#e8e8e8;border-color:#e8e8e8}




.newsletter-open{overflow:hidden}
.newsletter-dialog{width:min(940px,calc(100% - 3rem));max-height:calc(100dvh - 3rem);margin:auto;padding:0;border:0;border-radius:3px;background:#fff;color:#090909;overflow:auto;box-shadow:0 24px 100px #0006}
.newsletter-dialog[open]{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.newsletter-dialog::backdrop{background:rgba(0,0,0,.72)}
.newsletter-dialog:focus{outline:none}
.newsletter-story{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:640px;background:#171717;color:#fff;overflow:hidden}
.newsletter-story>img{position:absolute;inset:0;z-index:-2;height:100%;width:100%;object-fit:cover;object-position:44% center;filter:grayscale(1);opacity:.65}
.newsletter-story:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.2) 28%,rgba(0,0,0,.94))}
.newsletter-story-copy{padding:3rem 2.3rem}
.newsletter-story .newsletter-eyebrow{margin:0 0 2rem;font:500 .58rem/1.6 var(--sans);letter-spacing:.2em;color:#fff}
.newsletter-story h2{margin:0;font:400 clamp(2.8rem,4.3vw,4rem)/1.02 var(--serif);letter-spacing:-.025em;color:#fff}
.newsletter-story h2 em{font-weight:400;color:#fff}
.newsletter-story-copy>p:last-child{max-width:280px;margin:1.5rem 0 0;font-size:.88rem;line-height:1.65;color:#e0e0e0}
.newsletter-form-panel{padding:1.3rem 1.5rem 1.5rem;min-width:0;align-self:center}
.newsletter-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 .3rem .8rem;margin-bottom:.3rem}
.newsletter-topline>span{font:600 .58rem/1.5 var(--sans);letter-spacing:.17em;color:#606060}
.newsletter-close{display:inline-flex;align-items:center;gap:.6rem;min-height:36px;border:0;padding:.25rem 0 .25rem .75rem;background:transparent;color:#454545;font-size:.7rem;cursor:pointer}
.newsletter-close span{font-size:1.4rem;line-height:1}
.newsletter-close:hover{color:#000}
.newsletter-dialog givebutter-widget{display:block;width:100%;max-width:420px;min-width:0;margin:0 auto}
.newsletter-loading,.newsletter-help{text-align:center;font-size:.85rem;color:#555;padding:1.25rem .5rem}
.newsletter-help button{border:0;border-bottom:1px solid currentColor;background:none;color:#090909;padding:0;font:inherit;cursor:pointer}
.newsletter-dialog [hidden]{display:none!important}
.newsletter-trigger:focus-visible,.newsletter-dialog button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:950px){.header nav .newsletter-header{margin-top:1rem;text-align:center}}
@media(max-width:650px){.newsletter-dialog{width:calc(100% - 1.25rem);max-height:calc(100dvh - 1.25rem)}.newsletter-dialog[open]{grid-template-columns:1fr}.newsletter-story{min-height:205px}.newsletter-story-copy{padding:1.7rem 1.5rem}.newsletter-story .newsletter-eyebrow{margin-bottom:.8rem;font-size:.53rem}.newsletter-story h2{font-size:2.5rem}.newsletter-story-copy>p:last-child{margin-top:.75rem;font-size:.78rem;max-width:310px}.newsletter-story>img{object-position:center 42%}.newsletter-form-panel{padding:.6rem .6rem 1rem}.newsletter-topline{padding:0 .6rem .2rem;margin:0}}
/* Soft entrance, paced story reveal, and a matching dismissal. */
.newsletter-dialog[open]{animation:newsletter-arrive .58s cubic-bezier(.16,1,.3,1) both;transform-origin:50% 55%}
.newsletter-dialog[open]::backdrop{animation:newsletter-backdrop-in .45s ease both;backdrop-filter:blur(3px)}
.newsletter-dialog[open] .newsletter-story>img{animation:newsletter-photo 1.2s cubic-bezier(.16,1,.3,1) both}
.newsletter-dialog[open] .newsletter-story-copy>.newsletter-eyebrow{animation:newsletter-copy .6s .12s both}
.newsletter-dialog[open] .newsletter-story-copy>h2{animation:newsletter-copy .7s .2s both}
.newsletter-dialog[open] .newsletter-story-copy>p:last-child{animation:newsletter-copy .7s .3s both}
.newsletter-dialog[open] .newsletter-form-panel{animation:newsletter-copy .65s .16s both}
.newsletter-dialog.is-closing{animation:newsletter-leave .22s ease both;pointer-events:none}
.newsletter-dialog.is-closing::backdrop{animation:newsletter-backdrop-out .22s ease both}
.header .newsletter-header{transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}
.header .newsletter-header:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}
.header .newsletter-header:active{transform:translateY(0)}
@keyframes newsletter-arrive{from{opacity:0;transform:translateY(28px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes newsletter-leave{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.985)}}
@keyframes newsletter-backdrop-in{from{background:rgba(0,0,0,0);backdrop-filter:blur(0)}to{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}}
@keyframes newsletter-backdrop-out{from{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}to{background:rgba(0,0,0,0);backdrop-filter:blur(0)}}
@keyframes newsletter-copy{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes newsletter-photo{from{transform:scale(1.065)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.newsletter-dialog[open],.newsletter-dialog[open]::backdrop,.newsletter-dialog[open] .newsletter-story>img,.newsletter-dialog[open] .newsletter-story-copy>*,.newsletter-dialog[open] .newsletter-form-panel{animation:none!important}.header .newsletter-header{transition:none}.header .newsletter-header:hover{transform:none}}
