/* Newsletter dialog — scoped to #newsletter-dialog; motion limited to the modal's opacity/translate. */
dialog.newsletter-dialog{--nl-cream:#f6f1e8;--nl-ink:#222220;--nl-muted:#5c574f;--nl-accent:#f2642b;--nl-line:#d8cfc1;position:fixed;inset:0;margin:auto;width:min(900px,calc(100% - 40px));max-width:900px;height:auto;max-height:min(620px,calc(100dvh - 40px));padding:0;border:0;border-radius:4px;background:var(--nl-cream);color:var(--nl-ink);overflow:hidden;box-shadow:0 30px 120px #0000005c;color-scheme:light;font-family:Manrope,Arial,sans-serif;opacity:0;transform:translateY(14px);transition:opacity .3s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
dialog.newsletter-dialog[open]{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr)}
dialog.newsletter-dialog.is-open{opacity:1;transform:none}
dialog.newsletter-dialog.is-leaving{opacity:0;transform:translateY(10px);transition-duration:.24s}
dialog.newsletter-dialog::backdrop{background:#1111117a;backdrop-filter:blur(4px)}
.newsletter-dialog .nl-media{position:relative;min-height:540px;background:#c9b49b;overflow:hidden}
.newsletter-dialog .nl-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 62%;display:block}
.newsletter-dialog .nl-copy{min-width:0;overflow:auto;padding:58px 48px 36px;display:flex;flex-direction:column;justify-content:center;overscroll-behavior:contain}
.newsletter-dialog h2{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:clamp(40px,4.6vw,54px);line-height:1.04;letter-spacing:.005em;margin:0;color:var(--nl-ink);outline:0}
.newsletter-dialog p.nl-body{font-size:16px;line-height:1.6;color:var(--nl-muted);margin:18px 0 26px;font-weight:500}
.newsletter-dialog .nl-form{display:flex;flex-direction:column}
.newsletter-dialog .nl-label{font-size:16px;font-weight:700;margin-bottom:9px;color:var(--nl-ink)}
.newsletter-dialog input.nl-input{width:100%;min-height:54px;padding:14px 16px;font:500 16px/1.4 Manrope,Arial,sans-serif;color:var(--nl-ink);background:#fffdf9;border:1px solid var(--nl-line);border-radius:2px;appearance:none}
.newsletter-dialog input.nl-input:focus-visible{outline:2px solid var(--nl-accent);outline-offset:1px;border-color:var(--nl-accent)}
.newsletter-dialog input.nl-input[aria-invalid=true]{border-color:#b3261e}
.newsletter-dialog .nl-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.newsletter-dialog .nl-consent{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:14px;line-height:1.5;color:var(--nl-ink);cursor:pointer;font-weight:500}
.newsletter-dialog .nl-consent input{flex:0 0 auto;width:22px;height:22px;margin:0;accent-color:var(--nl-accent);cursor:pointer;min-height:0;padding:0}
.newsletter-dialog p.nl-status{min-height:0;margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--nl-ink)}
.newsletter-dialog p.nl-status:empty{margin:0}
.newsletter-dialog p.nl-status.is-error{color:#a3241c}
.newsletter-dialog .nl-submit{margin-top:20px;min-height:54px;width:100%;padding:14px 22px;font:750 16px/1.4 Manrope,Arial,sans-serif;background:var(--nl-accent);color:#1d1d1b;border-radius:2px;transition:background .2s}
.newsletter-dialog .nl-submit:hover{background:#e65a22}
.newsletter-dialog .nl-submit:focus-visible,.newsletter-dialog .nl-later:focus-visible,.newsletter-dialog .nl-close:focus-visible,.newsletter-dialog a:focus-visible,.newsletter-dialog .nl-consent input:focus-visible{outline:2px solid var(--nl-ink);outline-offset:2px}
.newsletter-dialog .nl-submit:disabled{opacity:.65;cursor:progress}
.newsletter-dialog .nl-later{align-self:center;margin-top:10px;min-height:44px;padding:10px 14px;font:600 16px/1.4 Manrope,Arial,sans-serif;color:var(--nl-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#22222066}
.newsletter-dialog p.nl-fine{margin:10px 0 0;text-align:center;font-size:13px;line-height:1.6;color:var(--nl-muted)}
.newsletter-dialog p.nl-fine a{color:var(--nl-ink);text-decoration:underline;text-underline-offset:3px}
.newsletter-dialog .nl-close{position:absolute;top:14px;right:14px;z-index:2;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--nl-cream);color:var(--nl-ink)}
.newsletter-dialog .nl-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.newsletter-dialog .nl-success .nl-submit{max-width:220px}
@media (max-width:720px){
 dialog.newsletter-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
 dialog.newsletter-dialog[open]{display:block}
 .newsletter-dialog .nl-media{min-height:0;height:clamp(140px,26dvh,210px)}
 .newsletter-dialog .nl-copy{overflow:visible;padding:26px 22px calc(20px + env(safe-area-inset-bottom))}
 .newsletter-dialog h2{font-size:clamp(34px,10vw,42px)}
 .newsletter-dialog p.nl-body{margin:12px 0 20px}
 .newsletter-dialog .nl-close{top:10px;right:10px}
}
@media (prefers-reduced-motion:reduce){dialog.newsletter-dialog,dialog.newsletter-dialog.is-leaving{transition:none;transform:none}}

.nl-preview{margin:0 0 14px;padding:10px 12px;border:1px dashed var(--orange);font-size:14px;line-height:1.5}
