/* Uses the approved Retouch palette and typography; no provider UI or remote assets. */
.rt-newsletter-page { max-width:1680px; margin-inline:auto; padding:clamp(3rem,6vw,6rem) var(--wc-gutter,1.25rem); display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(2.5rem,7vw,8rem); align-items:start; }
.rt-newsletter-page .rt-newsletter-intro { min-width:0; }
.rt-newsletter-page .rt-newsletter-intro h1 { font-size:clamp(3.4rem,6.2vw,6.7rem); line-height:.96; margin:1.35rem 0 1.75rem; max-width:12ch; }
.rt-newsletter-intro>p:not(.wc-label) { max-width:39ch; font-size:1.05rem; line-height:1.7; margin-block:1.3rem; }
.rt-newsletter-intro .rt-newsletter-help { margin-top:2rem; font-size:.9rem; }
.rt-newsletter { min-width:0; color:var(--wc-body,#554F4C); }
.rt-newsletter h2 { font-size:clamp(2.2rem,3.4vw,3.25rem); line-height:1.08; margin:0 0 1rem; }
.rt-newsletter .rt-newsletter__mode { margin:0 0 1.7rem; padding:.8rem 1rem; font-size:.86rem; line-height:1.6; background:#EFEBEB; border-left:2px solid var(--wc-ink,#331512); }
.rt-newsletter form,.rt-newsletter fieldset { margin:0; padding:0; border:0; min-width:0; }
.rt-newsletter__legend { font-size:.73rem; text-transform:uppercase; letter-spacing:.11em; padding:0 0 .8rem; }
.rt-newsletter__choice { display:grid; grid-template-columns:minmax(0,1fr) 3.2rem; gap:1.2rem; align-items:center; border-top:1px solid var(--wc-rule,#C6BDB4); padding:1.35rem 0; cursor:pointer; }
.rt-newsletter__choice>span { display:grid; gap:.3rem; }
.rt-newsletter__choice strong { color:var(--wc-ink,#331512); font-weight:500; font-size:1.1rem; line-height:1.4; }
.rt-newsletter__choice>span>span { font-size:.91rem; line-height:1.5; max-width:42ch; }
.rt-newsletter__choice input { appearance:none; -webkit-appearance:none; display:block; margin:0; width:3.2rem; height:1.85rem; border:1px solid var(--wc-body,#554F4C); border-radius:2rem; background:transparent; position:relative; cursor:pointer; flex:none; }
.rt-newsletter__choice input::after { content:""; position:absolute; inset:.2rem auto auto .2rem; width:1.31rem; height:1.31rem; border-radius:50%; background:var(--wc-body,#554F4C); transition:transform .18s ease; }
.rt-newsletter__choice input:checked { background:var(--wc-ink,#331512); border-color:var(--wc-ink,#331512); }
.rt-newsletter__choice input:checked::after { background:var(--wc-paper,#F7F8F6); transform:translateX(1.3rem); }
.rt-newsletter__choice:has(input:focus-visible) { outline:2px solid var(--wc-ink,#331512); outline-offset:4px; }
/* The whole labelled row supplies focus; override the generic page input ring only there. */
.rt-newsletter .rt-newsletter__choice:has(input:focus-visible) input:focus-visible { outline:none; }
.rt-newsletter fieldset:disabled .rt-newsletter__choice { cursor:default; opacity:.55; }
.rt-newsletter__save { display:flex; justify-content:space-between; align-items:center; gap:1.25rem; border-top:1px solid var(--wc-rule,#C6BDB4); padding-top:1.25rem; }
.rt-newsletter__save p { font-size:.83rem; max-width:25ch; }
.rt-newsletter .rt-newsletter__button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:.85rem 1.4rem; border:1px solid var(--wc-ink,#331512); border-radius:0; color:var(--wc-paper,#F7F8F6); background:var(--wc-ink,#331512); font:inherit; font-size:.88rem; line-height:1.4; text-align:center; cursor:pointer; transition:background .2s,color .2s,transform .2s; }
.rt-newsletter .rt-newsletter__button:hover { background:var(--wc-body,#554F4C); }
.rt-newsletter .rt-newsletter__button--outline { color:var(--wc-ink,#331512); background:transparent; }
.rt-newsletter .rt-newsletter__button--outline:hover { background:var(--wc-paper,#F7F8F6); }
.rt-newsletter button:active { transform:translateY(1px); }
.rt-newsletter button:focus-visible { outline:2px solid var(--wc-ink,#331512); outline-offset:4px; }
.rt-newsletter button:disabled { opacity:.5; cursor:not-allowed; transform:none; }
.rt-newsletter__pause { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1.5rem; padding:1.6rem; background:var(--wc-cool,#C7BEBE); margin-top:2.5rem; }
.rt-newsletter h3 { font-size:1.9rem; line-height:1.08; margin:0 0 .65rem; }
.rt-newsletter__pause p,.rt-newsletter__unsubscribe>p,.rt-newsletter__confirm>p { font-size:.9rem; line-height:1.6; }
.rt-newsletter .rt-newsletter__pause-state { margin-top:.7rem; color:var(--wc-ink,#331512); font-weight:500; }
.rt-newsletter__unsubscribe { margin-top:2.3rem; padding-top:2rem; border-top:1px solid var(--wc-rule,#C6BDB4); }
.rt-newsletter__text-button { background:none; color:var(--wc-ink,#331512); padding:.6rem 0; border:0; border-bottom:1px solid currentColor; border-radius:0; font:inherit; font-size:.86rem; min-height:44px; text-align:left; }
.rt-newsletter__text-button span { margin-left:1rem; }
.rt-newsletter__unsubscribe>.rt-newsletter__text-button { margin-top:.7rem; }
.rt-newsletter__confirm { margin-top:1.2rem; padding:1.3rem; background:#EFEBEB; }
.rt-newsletter__confirm h4 { color:var(--wc-ink,#331512); font:500 1.05rem/1.4 "Jost",sans-serif; margin:0 0 .6rem; }
.rt-newsletter__confirm-actions { display:flex; flex-wrap:wrap; gap:.8rem 1.4rem; align-items:center; margin-top:1.2rem; }
.rt-newsletter__notice { border-left:2px solid var(--wc-ink,#331512); background:#EFEBEB; padding:1rem 1.2rem; margin-bottom:1.5rem; font-size:.95rem; line-height:1.6; scroll-margin-top:8rem; }
.rt-newsletter__notice[data-error="true"] { border-color:#983C26; }
.rt-newsletter__reset { margin-top:1.5rem; }
.rt-newsletter-page .rt-newsletter-legal { margin-top:2rem; font-size:.82rem; }
@media (max-width:1100px) { .rt-newsletter__pause { grid-template-columns:1fr; gap:1rem; } .rt-newsletter__pause button { justify-self:start; } }
@media (max-width:780px) { .rt-newsletter-page { grid-template-columns:minmax(0,1fr); gap:2.25rem; padding-block:2.6rem 3.5rem; } .rt-newsletter-page .rt-newsletter-intro h1 { font-size:clamp(3.3rem,11vw,4.8rem); max-width:14ch; } .rt-newsletter-intro>p:not(.wc-label) { max-width:52ch; } }
@media (max-width:400px) { .rt-newsletter__save { align-items:stretch; flex-direction:column; gap:.7rem; } .rt-newsletter__save p { max-width:none; } .rt-newsletter__confirm-actions { align-items:stretch; flex-direction:column; } .rt-newsletter__choice { gap:.75rem; } }
@media (prefers-reduced-motion:reduce) { .rt-newsletter *, .rt-newsletter *::after { transition:none!important; } }
@media (forced-colors:active) { .rt-newsletter__choice input { appearance:auto; -webkit-appearance:auto; } .rt-newsletter__choice input::after { display:none; } }
