/* Public newsletter UI. Deliberately scoped; private app styles are unaffected. */
html{--pt-newsletter-height:40px}
html.pt-newsletter-visible body{padding-top:var(--pt-newsletter-height)}
html.pt-newsletter-visible nav.nav{top:calc(env(safe-area-inset-top,0px) + 14px + var(--pt-newsletter-height))}
.pt-nl-bar{position:fixed;inset:0 0 auto;z-index:60;height:var(--pt-newsletter-height);display:flex;align-items:center;justify-content:center;padding:0 44px;background:#F3F0EA;color:#161513;font:500 13px/1.2 "Raleway",sans-serif}
.pt-nl-bar button{border:0;background:none;color:inherit;cursor:pointer;font:inherit}
.pt-nl-bar-open{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;padding:0;height:100%}
.pt-nl-badge{display:inline-block;padding:4px 10px;border-radius:12px;background:#AEB39D;color:#161513;font-size:12px;font-weight:800;line-height:1.2}
.pt-nl-divider{color:#8A867D}
.pt-nl-bar-action{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pt-nl-arrow{flex-shrink:0;transition:transform .2s}
.pt-nl-bar-open:hover .pt-nl-arrow{transform:translateX(3px)}
.pt-nl-bar .pt-nl-bar-close{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:40px;padding:0}
.pt-nl-mobile{display:none}
.pt-nl-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(10,10,9,.62);overscroll-behavior:contain}
.pt-nl-panel{position:relative;display:flex;flex-direction:column;gap:28px;width:600px;max-width:100%;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding:64px 72px;border:0;border-radius:0;background:#fff;color:#161513;font:400 15px/1.4 "Raleway",sans-serif;box-sizing:border-box;animation:pt-nl-enter .2s ease-out}
.pt-nl-panel p,.pt-nl-panel ul{margin:0}
.pt-nl-panel .pt-nl-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:#161513;cursor:pointer}
.pt-nl-panel .pt-nl-eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em}
.pt-nl-panel h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:40px;font-weight:400;line-height:1.12;letter-spacing:normal;text-wrap:initial}
.pt-nl-panel h2 em{font-style:italic;color:#6E7558}
.pt-nl-panel h2:focus,.pt-nl-panel:focus{outline:none}
.pt-nl-benefits{display:flex;flex-direction:column;gap:12px;padding:0;list-style:none}
.pt-nl-benefits li{display:flex;gap:12px;align-items:baseline;font-size:15px;line-height:1.4}
.pt-nl-benefits svg{flex-shrink:0;align-self:flex-start;margin-top:3px}
.pt-nl-form{display:flex;flex-direction:column;gap:10px}
.pt-nl-form label{font-size:13px;font-weight:600}
.pt-nl-form input{display:block;width:100%;height:52px;min-width:0;padding:0 18px;border:1px solid #161513;border-radius:999px;background:#F3F0EA;color:#161513;font:400 16px "Raleway",sans-serif;box-sizing:border-box}
.pt-nl-form input::placeholder{color:#746f67;opacity:1}
.pt-nl-panel .pt-nl-submit{display:flex;align-items:center;justify-content:center;width:100%;height:54px;padding:0 20px;border:0;border-radius:27px;background:#161513;color:#F3F0EA;font:700 15px "Raleway",sans-serif;text-align:center;text-decoration:none;cursor:pointer}
.pt-nl-panel .pt-nl-submit:disabled{opacity:.65;cursor:wait}
.pt-nl-panel .pt-nl-legal{margin-top:18px;font-size:12px;line-height:1.6;color:#2C2B27}
.pt-nl-legal a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.pt-nl-panel .pt-nl-error{color:#a62b20;font-size:12px;line-height:1.4}
.pt-nl-error:empty{display:none}
.pt-nl-result{display:flex;flex-direction:column;gap:28px}
.pt-nl-panel :is(button,a,input):focus-visible,.pt-nl-bar button:focus-visible{outline:2px solid #6E7558;outline-offset:3px}
@keyframes pt-nl-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){
  html{--pt-newsletter-height:36px}
  .pt-nl-overlay{align-items:flex-end;padding:0}
  .pt-nl-panel{width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px));padding:48px 24px calc(36px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;animation:pt-nl-sheet .25s ease-out}
  .pt-nl-panel h2{font-size:30px}
  .pt-nl-benefits li{font-size:14px}
  .pt-nl-form input{height:50px}
  .pt-nl-panel .pt-nl-submit{height:52px}
  .pt-nl-panel .pt-nl-legal{font-size:11.5px}
}
@media(max-width:479px){
  .pt-nl-bar{padding-left:8px}
  .pt-nl-bar-open{gap:6px}
  .pt-nl-desktop{display:none}
  .pt-nl-mobile{display:inline}
}
@keyframes pt-nl-sheet{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.pt-nl-panel{animation:none}.pt-nl-arrow{transition:none}}
