.newsletter-dialog{width:min(900px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:0;background:#f5f1e8;color:#172b3c;overflow:auto;box-shadow:0 24px 100px #091c3538}
.newsletter-dialog::backdrop{background:rgba(14,28,39,.55);backdrop-filter:blur(3px)}
.newsletter-layout{display:grid;grid-template-columns:44% 56%;min-height:570px}
.newsletter-photo{position:relative;min-height:100%;background:#b6b5a9}
.newsletter-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.newsletter-photo span{position:absolute;bottom:28px;left:28px;color:#fff;font:italic 26px/1.2 var(--serif,Georgia,serif);text-shadow:0 1px 12px #182a3c}
.newsletter-copy{padding:36px 44px 28px;text-align:center;align-self:center}
.newsletter-logo{display:block;width:100px;height:auto;margin:0 auto 18px;object-fit:contain}
.newsletter-eyebrow{margin:0 0 14px;font:10px/1.4 Arial,sans-serif;letter-spacing:.2em}
.newsletter-dialog h2{margin:0 0 14px;font:48px/1.05 var(--serif,Georgia,serif);letter-spacing:-.025em;font-weight:400;outline-offset:5px}
.newsletter-description{margin:0 auto 25px;max-width:350px;font:16px/1.5 var(--serif,Georgia,serif)}
.newsletter-form{text-align:left}
.newsletter-form label{display:block;margin-bottom:8px;font:12px/1.4 Arial,sans-serif}
.newsletter-form input[type=email]{display:block;width:100%;height:50px;border:1px solid #9a9d98;border-radius:0;background:#fffdf8;padding:12px 14px;color:#172b3c;font:16px/1.4 Arial,sans-serif;box-sizing:border-box}
.newsletter-submit{display:block;width:100%;min-height:50px;margin-top:12px;padding:14px 18px;border:1px solid #172b3c;border-radius:0;background:#172b3c;color:#fffdf8;text-align:center;font:13px/1.4 Arial,sans-serif;letter-spacing:.05em;cursor:pointer}
.newsletter-submit:hover{background:#2b4353;color:#fffdf8}
.newsletter-submit:disabled{cursor:wait;opacity:.7}
.newsletter-consent{margin:13px 0 0;font:11px/1.5 Arial,sans-serif;color:#555e61;text-align:center}
.newsletter-status{font:13px/1.45 Arial,sans-serif;color:#8d3428;margin:12px 0 0}
.newsletter-status:empty{display:none}
.newsletter-later{display:block;min-height:44px;margin:8px auto 0;border:0;background:none;padding:12px 8px;color:#374b58;font:12px/1.4 Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer;text-align:center}
.newsletter-close{position:absolute;z-index:1;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:12px;border:0;border-radius:50%;background:#f5f1e8;color:#172b3c;cursor:pointer}
.newsletter-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.newsletter-dialog :is(button,input):focus-visible{outline:2px solid #172b3c;outline-offset:3px}
.newsletter-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
body:has(.newsletter-dialog[open]){overflow:hidden}
@media(max-width:640px){
  .newsletter-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 28px)}
  .newsletter-layout{display:block;min-height:0}
  .newsletter-photo{height:145px;min-height:0;overflow:hidden}
  .newsletter-photo img{object-position:50% 0%}
  .newsletter-photo span{display:none}
  .newsletter-copy{padding:23px 24px 16px}
  .newsletter-logo{width:76px;margin-bottom:14px}
  .newsletter-eyebrow{font-size:9px;margin-bottom:12px}
  .newsletter-dialog h2{font-size:38px;margin-bottom:12px}
  .newsletter-description{font-size:16px;margin-bottom:20px}
}
@media(max-height:700px) and (max-width:640px){.newsletter-photo{display:none}.newsletter-copy{padding-top:30px}}
