.newsletter-page {
  --nl-ink: #17130f;
  --nl-espresso: #0b0a08;
  --nl-paper: #e4dbcf;
  --nl-paper-light: #f8f4ed;
  --nl-white: #fffdf9;
  --nl-cognac: #d4754e;
  --nl-cognac-dark: #9a4f2c;
  --nl-muted: #756e66;
  --nl-line: #d8d0c5;
  --nl-sans: 'Switzer', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --nl-display: 'Satoshi', var(--nl-sans);
  --nl-ease: cubic-bezier(.19, 1, .22, 1);
  --nl-ease-ui: cubic-bezier(.2, .7, .2, 1);
  position: relative;
  overflow: clip;
  background: var(--nl-paper-light);
  color: var(--nl-ink);
  font-family: var(--nl-sans);
}

.newsletter-page [hidden] { display: none !important; }

.newsletter-opener {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: min(840px, calc(100svh - 60px));
  overflow: hidden;
  padding: calc(60px + clamp(82px, 9vw, 132px)) 0 clamp(84px, 8vw, 116px);
  background: var(--nl-espresso);
  color: var(--nl-white);
}

.newsletter-opener::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: radial-gradient(circle at 82% 18%, rgba(154, 79, 44, .2), transparent 34%), linear-gradient(115deg, #0b0a08 0%, #15100d 66%, #27150e 100%);
}

.newsletter-opener::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--grain);
  background-size: 195px 195px;
  opacity: .38;
  pointer-events: none;
}

.newsletter-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(430px, .88fr);
  column-gap: clamp(48px, 5vw, 80px);
  align-items: center;
}

.newsletter-intro h1 {
  max-width: 16ch;
  margin: 0;
  font-family: var(--nl-display);
  font-size: clamp(50px, 4.9vw, 68px);
  font-weight: 400;
  line-height: .97;
  letter-spacing: -.052em;
  text-wrap: balance;
  color: var(--nl-white);
}

.newsletter-intro-side {
  max-width: 500px;
  padding-left: clamp(28px, 3vw, 42px);
  border-left: 1px solid rgba(255, 255, 255, .16);
}

.newsletter-intro-side p {
  margin: 0;
  color: rgba(255, 255, 255, .68);
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.52;
}

.newsletter-start {
  display: block;
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, .18);
}

.newsletter-start > label {
  display: block;
  padding-bottom: 12px;
  color: rgba(255, 255, 255, .6);
  font-size: 13px;
  line-height: 1.3;
}

.newsletter-start-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  min-height: 60px;
  padding: 6px 7px 6px 18px;
  border: 1px solid rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .045);
  transition: border-color .16s var(--nl-ease-ui), background-color .16s var(--nl-ease-ui), box-shadow .16s var(--nl-ease-ui);
}

.newsletter-start-control input {
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--nl-white);
  caret-color: var(--nl-cognac);
  font: 400 17px/1.25 var(--nl-sans);
  letter-spacing: -.01em;
}

.newsletter-start-control input::placeholder { color: rgba(255, 255, 255, .48); opacity: 1; }
.newsletter-start-control input::selection { background: rgba(212, 117, 78, .62); color: var(--nl-white); }
.newsletter-start-control:focus-within { border-color: rgba(212, 117, 78, .84); background: rgba(255, 255, 255, .075); box-shadow: 0 0 0 3px rgba(212, 117, 78, .18); }

.newsletter-start-control button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--nl-white);
  color: var(--nl-ink);
  font: 500 15px/1 var(--nl-display);
  cursor: pointer;
  transition: background-color .15s var(--nl-ease-ui), color .15s var(--nl-ease-ui);
}

.newsletter-start-control button svg { width: 18px; height: 18px; transition: transform .15s var(--nl-ease-ui); }
.newsletter-start-control button:hover { background: #fff; color: var(--nl-ink); }
.newsletter-start-control button:hover svg { transform: translateX(3px); }

.newsletter-studio-section { position: fixed; inset: 0; z-index: 1000; display: block; overflow: hidden; background: var(--nl-paper-light); opacity: 0; transform: translateY(18px); transition: opacity .28s ease, transform .55s var(--nl-ease); }
.newsletter-studio-section.is-visible { opacity: 1; transform: none; }
.newsletter-studio-shell { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 72px minmax(0, 1fr); height: 100svh; }
body.newsletter-studio-open { overflow: hidden; }

body.newsletter-studio-open .nav { visibility: hidden; }

.newsletter-stage-toolbar { position: relative; z-index: 20; display: flex; align-items: center; gap: 24px; min-height: 72px; padding: 0 clamp(22px, 3vw, 44px); border-bottom: 1px solid rgba(255, 255, 255, .12); background: var(--nl-espresso); color: var(--nl-white); }
.newsletter-studio-brand { display: flex; align-items: center; width: 110px; flex: none; }
.newsletter-studio-brand img { display: block; width: 110px; }
.newsletter-stage-toolbar > strong { overflow: hidden; margin-right: auto; color: rgba(255,255,255,.64); font: 400 14px/1.2 var(--nl-sans); text-overflow: ellipsis; white-space: nowrap; }
.newsletter-studio-close { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: transparent; color: var(--nl-white); cursor: pointer; }
.newsletter-studio-close svg { width: 18px; height: 18px; }

.newsletter-toolbar-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.newsletter-toolbar-actions button,
.newsletter-toolbar-actions a { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 13px; border: 0; border-radius: 9px; background: transparent; color: rgba(255,255,255,.72); font: 400 13px/1 var(--nl-sans); text-decoration: none; white-space: nowrap; cursor: pointer; transition: color .14s var(--nl-ease-ui), background .14s var(--nl-ease-ui), transform .2s var(--nl-ease); }
.newsletter-toolbar-actions svg { width: 16px; height: 16px; flex: none; }
.newsletter-toolbar-actions button:hover,
.newsletter-toolbar-actions a:hover { background: rgba(255,255,255,.1); color: var(--nl-white); }
.newsletter-toolbar-actions button:active,
.newsletter-toolbar-actions a:active { transform: translateY(1px); }
.newsletter-toolbar-actions button.is-success { background: rgba(212,117,78,.22); color: var(--nl-white); }

.newsletter-studio-grid { min-width: 0; min-height: 0; overflow: auto; }
.newsletter-studio-section:not(.is-preparing):not(.has-result):not(.has-error) .newsletter-studio-grid { display: grid; place-items: center; padding: clamp(42px, 7vw, 96px) 22px; }
.newsletter-studio-section.is-preparing .newsletter-brief-panel,
.newsletter-studio-section.has-result .newsletter-brief-panel,
.newsletter-studio-section.has-error .newsletter-brief-panel { display: none; }
.newsletter-studio-section.is-preparing .newsletter-stage,
.newsletter-studio-section.has-result .newsletter-stage,
.newsletter-studio-section.has-error .newsletter-stage { display: block; }
.newsletter-studio-section.has-result .newsletter-stage-inner { min-height: 0; overflow: visible; }
.newsletter-studio-section.has-result #newsletterResultState { position: static; overflow: visible; padding-bottom: 0; }

body.newsletter-studio-open .gc-pill,
body.newsletter-studio-open .gc-panel { display: none !important; }
.newsletter-brief-panel { display: grid; grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr); gap: clamp(56px, 8vw, 128px); align-items: start; width: min(100%, 1040px); }
.newsletter-brief-copy h2 { max-width: 9ch; margin: 0; font: 400 clamp(46px, 5.4vw, 72px)/.98 var(--nl-display); letter-spacing: -.04em; text-wrap: balance; }
.newsletter-brief-copy p { max-width: 36ch; margin: 28px 0 0; color: var(--nl-muted); font-size: 17px; line-height: 1.55; }
.newsletter-brief { display: flex; flex-direction: column; padding-top: 6px; }
.newsletter-hotel-summary { padding-bottom: 28px; border-bottom: 1px solid rgba(23, 19, 15, .14); }
.newsletter-hotel-summary span,
.newsletter-field > span { display: block; margin-bottom: 8px; color: var(--nl-muted); font-size: 13px; line-height: 1.35; }
.newsletter-hotel-summary strong { display: block; overflow: hidden; font: 400 19px/1.3 var(--nl-display); letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.newsletter-field { display: block; margin-top: 30px; }
.newsletter-field textarea { width: 100%; min-height: 108px; padding: 14px 0; border: 0; border-bottom: 1px solid rgba(23, 19, 15, .24); border-radius: 0; outline: 0; background: transparent; color: var(--nl-ink); font: 400 17px/1.48 var(--nl-sans); resize: vertical; overflow: auto; transition: border-color .18s var(--nl-ease-ui); }
.newsletter-field textarea::placeholder { color: var(--nl-muted); opacity: 1; }
.newsletter-field textarea:focus { border-color: var(--nl-cognac); }
.newsletter-field textarea#newsletterBrief { min-height: 136px; }
.newsletter-attachments { margin-top: 25px; }
.newsletter-attachment-drop { display: flex; align-items: center; gap: 14px; width: 100%; padding: 15px 0; border: 0; border-top: 1px solid rgba(23,19,15,.18); border-bottom: 1px solid rgba(23,19,15,.18); background: transparent; color: var(--nl-ink); text-align: left; cursor: pointer; transition: border-color .18s var(--nl-ease-ui), color .18s var(--nl-ease-ui); }
.newsletter-attachment-drop:hover,
.newsletter-attachment-drop:focus-visible,
.newsletter-attachment-drop.is-dragging { border-color: var(--nl-cognac); color: var(--nl-cognac-dark); }
.newsletter-attachment-drop:focus-visible { outline: 2px solid rgba(154,79,44,.35); outline-offset: 3px; }
.newsletter-attachment-drop > svg { width: 23px; height: 23px; flex: none; }
.newsletter-attachment-drop > span { display: grid; gap: 3px; }
.newsletter-attachment-drop strong { font: 500 14px/1.2 var(--nl-sans); }
.newsletter-attachment-drop small { color: var(--nl-muted); font: 400 12px/1.35 var(--nl-sans); }
.newsletter-attachment-list { display: grid; gap: 8px; margin-top: 10px; }
.newsletter-attachment-chip { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 11px 9px 13px; background: rgba(23,19,15,.055); }
.newsletter-attachment-chip.is-template-reference { box-shadow: inset 2px 0 0 var(--nl-cognac); background: rgba(212,117,78,.08); }
.newsletter-attachment-chip > span { display: flex; align-items: baseline; min-width: 0; gap: 8px; }
.newsletter-attachment-chip strong { overflow: hidden; font: 500 12px/1.25 var(--nl-sans); text-overflow: ellipsis; white-space: nowrap; }
.newsletter-attachment-chip small { flex: none; color: var(--nl-muted); font-size: 10px; }
.newsletter-attachment-chip button { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border: 0; background: transparent; color: var(--nl-muted); cursor: pointer; }
.newsletter-attachment-chip button:hover { color: var(--nl-ink); }
.newsletter-attachment-chip svg { width: 15px; height: 15px; }
.newsletter-attachment-error { margin: 9px 0 0; color: #8f3125; font-size: 12px; line-height: 1.4; }
.newsletter-create { width: 100%; min-height: 56px; margin-top: 36px; border: 1px solid var(--nl-espresso); background: var(--nl-espresso); color: var(--nl-white); transition: opacity .18s ease, background .16s var(--nl-ease-ui); }
.newsletter-brief .newsletter-create:not(:disabled):hover,
.newsletter-brief .newsletter-create:not(:disabled):focus-visible { border-color: #000; background: #000; color: var(--nl-white); }
.newsletter-brief .newsletter-create:focus-visible { outline: 2px solid rgba(154, 79, 44, .54); outline-offset: 4px; }
.newsletter-create:disabled { opacity: .45; cursor: wait; }

.newsletter-stage { min-width: 0; min-height: 100%; padding: clamp(28px, 4vw, 58px); background: var(--nl-paper); }
.newsletter-stage-inner { position: relative; min-height: calc(100svh - 144px); overflow: hidden; }
.newsletter-state { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .42s ease, transform .62s var(--nl-ease), visibility 0s .62s; }
.newsletter-state.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }

.newsletter-loading-card,
.newsletter-result-wrap { width: min(700px, 100%); }
.newsletter-loading-card { width: min(940px, 100%); }
.newsletter-loading-workspace { display: grid; grid-template-columns: minmax(0,640px) minmax(210px,1fr); gap: 28px; align-items: start; }

#newsletterLoadingState,
#newsletterResultState { place-items: start center; overflow: visible; padding: 0 0 60px; }
.newsletter-error-state { padding: 40px 20px; }
.newsletter-error-sheet { width: min(560px,100%); padding: clamp(38px,6vw,72px); border-top: 2px solid var(--nl-cognac); background: var(--nl-white); box-shadow: 0 24px 70px rgba(47,35,25,.12); }
.newsletter-error-sheet h2 { max-width: 10ch; margin: 0; font: 400 clamp(39px,5vw,58px)/1 var(--nl-display); letter-spacing: -.04em; }
.newsletter-error-sheet p { max-width: 38ch; margin: 24px 0 0; color: var(--nl-muted); font-size: 16px; line-height: 1.55; }
.newsletter-error-sheet button { margin-top: 32px; padding: 13px 20px; border: 1px solid var(--nl-espresso); background: var(--nl-espresso); color: var(--nl-white); font: 500 13px/1 var(--nl-sans); cursor: pointer; }
.newsletter-meter { height: 2px; margin: 0 0 20px; overflow: hidden; background: #cec6bc; }
.newsletter-meter span { display: block; width: 100%; height: 100%; background: var(--nl-cognac); transform: scaleX(0); transform-origin: left; transition: transform .85s var(--nl-ease); }
.newsletter-building-sheet { width: min(640px, 100%); min-height: 680px; margin: 0 auto; overflow: hidden; background: var(--nl-paper-light); color: var(--nl-ink); box-shadow: 0 24px 70px rgba(47, 35, 25, .12); transition: box-shadow .75s var(--nl-ease); }
.newsletter-building-sheet.phase-2,
.newsletter-building-sheet.phase-3,
.newsletter-building-sheet.phase-4 { box-shadow: 0 30px 84px rgba(47, 35, 25, .17); }
.newsletter-loading-progress { position: sticky; top: 0; padding: 20px 0 0; color: var(--nl-ink); }
.newsletter-loading-live { display: flex; align-items: center; gap: 8px; color: var(--nl-muted); font: 500 10px/1 var(--nl-sans); letter-spacing: .08em; text-transform: uppercase; }
.newsletter-loading-live > span { width: 7px; height: 7px; border-radius: 50%; background: var(--nl-cognac); box-shadow: 0 0 0 0 rgba(212,117,78,.45); animation: newsletter-live-pulse 1.8s ease-out infinite; }
.newsletter-loading-progress ol { display: grid; gap: 0; margin: 22px 0 0; padding: 0; list-style: none; }
.newsletter-loading-progress li { position: relative; display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 12px; min-height: 72px; color: rgba(23,19,15,.42); transition: color .28s ease; }
.newsletter-loading-progress li:not(:last-child)::after { content: ''; position: absolute; top: 18px; bottom: 0; left: 7px; width: 1px; background: rgba(23,19,15,.14); transform-origin: top; transition: background .28s ease; }
.newsletter-loading-progress li > i { position: relative; z-index: 1; display: grid; place-items: center; width: 15px; height: 15px; border: 1px solid rgba(23,19,15,.3); border-radius: 50%; background: var(--nl-paper); }
.newsletter-loading-progress li > div { padding-bottom: 20px; }
.newsletter-loading-progress li strong { display: block; font: 500 13px/1.25 var(--nl-sans); }
.newsletter-loading-progress li small { display: block; margin-top: 6px; font: 400 11px/1.45 var(--nl-sans); }
.newsletter-loading-card[data-phase='1'] li[data-loading-step='1'],
.newsletter-loading-card[data-phase='2'] li[data-loading-step='2'],
.newsletter-loading-card[data-phase='3'] li[data-loading-step='3'],
.newsletter-loading-card[data-phase='4'] li[data-loading-step='4'] { color: var(--nl-ink); }
.newsletter-loading-card[data-phase='1'] li[data-loading-step='1'] > i,
.newsletter-loading-card[data-phase='2'] li[data-loading-step='2'] > i,
.newsletter-loading-card[data-phase='3'] li[data-loading-step='3'] > i,
.newsletter-loading-card[data-phase='4'] li[data-loading-step='4'] > i { border-color: var(--nl-cognac); border-top-color: transparent; animation: newsletter-step-spin .8s linear infinite; }
.newsletter-loading-card[data-phase='2'] li[data-loading-step='1'],
.newsletter-loading-card[data-phase='3'] li[data-loading-step='1'],
.newsletter-loading-card[data-phase='3'] li[data-loading-step='2'],
.newsletter-loading-card[data-phase='4'] li[data-loading-step='1'],
.newsletter-loading-card[data-phase='4'] li[data-loading-step='2'],
.newsletter-loading-card[data-phase='4'] li[data-loading-step='3'] { color: var(--nl-ink); }
.newsletter-loading-card[data-phase='2'] li[data-loading-step='1'] > i,
.newsletter-loading-card[data-phase='3'] li[data-loading-step='1'] > i,
.newsletter-loading-card[data-phase='3'] li[data-loading-step='2'] > i,
.newsletter-loading-card[data-phase='4'] li[data-loading-step='1'] > i,
.newsletter-loading-card[data-phase='4'] li[data-loading-step='2'] > i,
.newsletter-loading-card[data-phase='4'] li[data-loading-step='3'] > i { border-color: var(--nl-cognac); background: var(--nl-cognac); }
.newsletter-loading-card[data-phase='2'] li[data-loading-step='1'] > i::after,
.newsletter-loading-card[data-phase='3'] li[data-loading-step='1'] > i::after,
.newsletter-loading-card[data-phase='3'] li[data-loading-step='2'] > i::after,
.newsletter-loading-card[data-phase='4'] li[data-loading-step='1'] > i::after,
.newsletter-loading-card[data-phase='4'] li[data-loading-step='2'] > i::after,
.newsletter-loading-card[data-phase='4'] li[data-loading-step='3'] > i::after { content: ''; width: 6px; height: 3px; border-bottom: 1.5px solid #fff; border-left: 1.5px solid #fff; transform: translateY(-1px) rotate(-45deg); }
.newsletter-loading-progress > p { margin: 6px 0 0; padding-top: 16px; border-top: 1px solid rgba(23,19,15,.16); color: var(--nl-muted); font: 400 11px/1.55 var(--nl-sans); }
@keyframes newsletter-step-spin { to { transform: rotate(360deg); } }
@keyframes newsletter-live-pulse { 70% { box-shadow: 0 0 0 7px rgba(212,117,78,0); } 100% { box-shadow: 0 0 0 0 rgba(212,117,78,0); } }
.newsletter-compose-fields { padding: 3px 20px; border-bottom: 1px solid rgba(23, 19, 15, .12); background: var(--nl-white); }
.newsletter-compose-field,
.newsletter-send-row { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--nl-line); font-size: 13px; }
.newsletter-compose-field:last-child,
.newsletter-send-row:last-child { border-bottom: 0; }
.newsletter-compose-field > span:first-child,
.newsletter-send-row > span:first-child { color: var(--nl-muted); font-size: 10px; letter-spacing: .05em; }
.newsletter-compose-value { opacity: .55; transition: opacity .42s ease; }
.newsletter-compose-value.sender { opacity: 1; }
.newsletter-compose-email { padding-bottom: 48px; }
.newsletter-compose-brand { display: grid; min-height: 74px; padding: 17px 28px; place-items: center; border-bottom: 1px solid rgba(23,19,15,.12); background: var(--nl-white); }
.newsletter-compose-brand.on-dark { background: var(--nl-espresso); }
.newsletter-compose-brand img { display: block; width: auto; max-width: 154px; height: auto; max-height: 38px; opacity: 0; transform: translateY(5px); animation: newsletter-logo-compose .6s var(--nl-ease) forwards; }
.newsletter-compose-brand span { color: var(--nl-ink); font: 500 15px/1.2 var(--nl-display); }
.newsletter-compose-hero { position: relative; display: grid; width: 100%; height: 330px; margin: 0; overflow: hidden; place-items: center; background: linear-gradient(110deg,#d8d0c5 8%,#e8e1d7 30%,#d8d0c5 52%); background-size: 220% 100%; animation: newsletter-surface-scan 2.2s linear infinite; }
.newsletter-compose-hero::before { content: 'Official photography will appear here as soon as the hotel website has been read.'; width: min(32ch, 72%); color: rgba(23,19,15,.55); font: 400 13px/1.5 var(--nl-sans); text-align: center; }
.newsletter-compose-hero::after { content: ''; position: absolute; inset: -20% 0 auto; height: 34%; opacity: 0; background: linear-gradient(180deg,transparent,rgba(255,255,255,.48),transparent); transform: translateY(-100%); pointer-events: none; }
.newsletter-compose-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.018); transition: opacity .45s ease; }
.newsletter-building-sheet.has-research .newsletter-compose-hero::before { content: none; }
.newsletter-building-sheet.has-research .newsletter-compose-hero { animation: none; background: #d8d0c5; }
.newsletter-building-sheet.has-research .newsletter-compose-hero img { opacity: 1; animation: newsletter-photo-settle 1.2s var(--nl-ease) forwards; }
.newsletter-building-sheet.has-research.phase-2 .newsletter-compose-hero::after,
.newsletter-building-sheet.has-research.phase-3 .newsletter-compose-hero::after { opacity: 1; animation: newsletter-evidence-scan 2.8s ease-in-out infinite; }
.newsletter-compose-hero > span { position: absolute; right: 16px; bottom: 14px; padding: 7px 10px; background: rgba(11,10,8,.78); color: #fff; font: 500 9px/1 var(--nl-sans); letter-spacing: .07em; text-transform: uppercase; }
.newsletter-compose-thumbnails { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; height: 74px; overflow: hidden; background: var(--nl-white); }
.newsletter-compose-thumbnails img { width: 100%; height: 74px; object-fit: cover; opacity: 0; animation: newsletter-image-reveal .55s var(--nl-ease) forwards; }
.newsletter-compose-thumbnails img:nth-child(2) { animation-delay: .08s; }
.newsletter-compose-thumbnails img:nth-child(3) { animation-delay: .16s; }
.newsletter-compose-thumbnails img:nth-child(4) { animation-delay: .24s; }
@keyframes newsletter-image-reveal { to { opacity: 1; } }
@keyframes newsletter-logo-compose { to { opacity: 1; transform: none; } }
@keyframes newsletter-photo-settle { to { transform: none; } }
@keyframes newsletter-surface-scan { to { background-position: -220% 0; } }
@keyframes newsletter-evidence-scan { 0% { transform: translateY(-100%); } 65%,100% { transform: translateY(430%); } }
.newsletter-compose-copy { padding: 38px 55px 0; text-align: center; opacity: .72; transform: translateY(6px); transition: opacity .55s ease, transform .55s var(--nl-ease); }
.newsletter-compose-copy small { display: block; color: var(--nl-cognac-dark); font: 9px var(--nl-sans); letter-spacing: .05em; }
.newsletter-compose-copy strong { display: block; margin: 14px 0 16px; font: 400 31px/1.06 var(--nl-display); letter-spacing: -.03em; }
.newsletter-compose-copy p { max-width: 47ch; margin: 0 auto; color: var(--nl-muted); font: 400 13px/1.55 var(--nl-sans); }
.newsletter-compose-signals { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 20px; }
.newsletter-compose-signals span { padding: 6px 9px; border: 1px solid rgba(23,19,15,.18); color: var(--nl-muted); font: 500 9px/1 var(--nl-sans); letter-spacing: .04em; text-transform: uppercase; }
.newsletter-building-sheet.phase-3 .newsletter-compose-value,
.newsletter-building-sheet.phase-4 .newsletter-compose-value { opacity: 1; }
.newsletter-building-sheet.phase-3 .newsletter-compose-copy,
.newsletter-building-sheet.phase-4 .newsletter-compose-copy { opacity: 1; transform: none; }

.newsletter-result-wrap { position: relative; width: min(760px, 100%); overflow: visible; }
.newsletter-toolbar-actions .newsletter-notes-toggle b { display: grid; place-items: center; min-width: 18px; height: 18px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: rgba(255,255,255,.64); font-size: 9px; font-weight: 500; font-variant-numeric: tabular-nums; }
.newsletter-toolbar-actions .newsletter-notes-toggle[aria-pressed='true'] { background: rgba(212,117,78,.2); color: var(--nl-white); }
.newsletter-toolbar-actions .newsletter-notes-toggle[aria-pressed='true'] b { border-color: rgba(255,255,255,.5); color: var(--nl-white); }
.newsletter-toolbar-actions .newsletter-notes-toggle:focus-visible { outline: 0; box-shadow: inset 0 0 0 2px rgba(255,255,255,.52); }
.newsletter-send-fields { width: min(680px, 100%); margin: 0 auto 18px; padding: 4px 22px; border: 1px solid rgba(23, 19, 15, .22); background: var(--nl-white); color: var(--nl-ink); }
.newsletter-note-target { position: relative; }
.newsletter-note-highlight { border-bottom: 1px solid rgba(166,79,44,.44); background: linear-gradient(to bottom, transparent 62%, rgba(212,117,78,.2) 62%); -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: border-color .16s var(--nl-ease-ui), background .16s var(--nl-ease-ui); }
.newsletter-note-target.is-note-hovered .newsletter-note-highlight,
.newsletter-note-target.is-note-active .newsletter-note-highlight { border-bottom-color: rgba(166,79,44,.8); background: linear-gradient(to bottom, transparent 54%, rgba(212,117,78,.34) 54%); }
.newsletter-note-marker-layer { position: absolute; z-index: 4; inset: 0; overflow: visible; pointer-events: none; }
.newsletter-note-marker { position: absolute; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(166,79,44,.38); border-radius: 50%; background: var(--nl-white); color: var(--nl-cognac-dark); box-shadow: 0 5px 16px rgba(47,35,25,.15); cursor: pointer; pointer-events: auto; transition: transform .16s var(--nl-ease-ui), border-color .16s var(--nl-ease-ui), background-color .16s var(--nl-ease-ui), color .16s var(--nl-ease-ui), box-shadow .16s var(--nl-ease-ui); }
.newsletter-note-marker svg { width: 16px; height: 16px; }
.newsletter-note-marker:hover { transform: scale(1.04); border-color: rgba(166,79,44,.68); box-shadow: 0 7px 20px rgba(47,35,25,.2); }
.newsletter-note-marker:focus-visible { outline: 0; box-shadow: 0 5px 16px rgba(47,35,25,.15), 0 0 0 3px rgba(212,117,78,.28); }
.newsletter-note-marker.is-note-active { border-color: var(--nl-cognac); background: var(--nl-cognac); color: var(--nl-white); box-shadow: 0 7px 20px rgba(47,35,25,.2); }
.nl-button .newsletter-note-highlight { border: 0; background: none; }
.newsletter-note-popover { position: fixed; z-index: 80; width: min(304px, calc(100vw - 28px)); padding: 20px; border: 1px solid rgba(23,19,15,.2); background: var(--nl-white); color: var(--nl-ink); box-shadow: 0 18px 55px rgba(47,35,25,.22); }
.newsletter-note-popover[hidden] { display: none; }
.newsletter-note-popover > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.newsletter-note-popover > header button { display: grid; place-items: center; width: 30px; height: 30px; flex: none; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--nl-muted); cursor: pointer; }
.newsletter-note-popover > header button:hover,
.newsletter-note-popover > header button:focus-visible { outline: 0; background: rgba(23,19,15,.06); color: var(--nl-ink); }
.newsletter-note-popover > header svg { width: 15px; height: 15px; }
.newsletter-note-position { margin: 0; color: var(--nl-cognac-dark); font: 500 10px/1 var(--nl-sans); letter-spacing: .08em; text-transform: uppercase; }
.newsletter-note-popover h2 { margin: 10px 0 0; font: 400 22px/1.15 var(--nl-display); letter-spacing: -.025em; }
.newsletter-note-reason { margin-top: 16px; }
.newsletter-note-reason strong,
.newsletter-note-source strong { display: block; color: rgba(23,19,15,.5); font: 500 10px/1 var(--nl-sans); letter-spacing: .07em; text-transform: uppercase; }
.newsletter-note-reason p { margin: 7px 0 0; color: rgba(23,19,15,.74); font: 400 13px/1.6 var(--nl-sans); }
.newsletter-note-source { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 14px; margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(23,19,15,.12); color: rgba(23,19,15,.6); font: 400 11px/1.45 var(--nl-sans); }
.newsletter-note-source strong { grid-column: 1 / -1; }
.newsletter-note-source a { color: var(--nl-ink); text-decoration: underline; text-underline-offset: 3px; }
.newsletter-note-popover > footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 17px; padding-top: 13px; border-top: 1px solid rgba(23,19,15,.12); }
.newsletter-note-popover > footer button { padding: 0; border: 0; background: transparent; color: var(--nl-ink); font: 500 11px/1.3 var(--nl-sans); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.newsletter-note-popover > footer button:disabled { color: rgba(23,19,15,.32); cursor: default; text-decoration: none; }
.newsletter-email { width: min(680px, 100%); margin: 0 auto; overflow: hidden; background: var(--nl-white); color: var(--nl-ink); font-family: var(--nl-display); box-shadow: 0 28px 76px rgba(47, 35, 25, .16); }
.newsletter-email-generated { background: transparent; }
.newsletter-email-generated > table { display: table; }
.newsletter-email-hero { display: block; width: 100%; height: auto; margin: 0; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 48%; }
.newsletter-email-lead { padding: 48px 58px 56px; background: var(--nl-white); text-align: center; }
.newsletter-email-lead small,
.newsletter-email-module small,
.newsletter-email-final small { color: #8c5b46; font: 10px Satoshi, sans-serif; letter-spacing: .04em; }
.newsletter-email-lead h2 { margin: 15px 0 20px; font-size: 42px; font-weight: 400; line-height: 1.03; letter-spacing: -.035em; }
.newsletter-email-lead p,
.newsletter-email-module p,
.newsletter-email-final p { color: #3d3833; font-size: 16px; line-height: 1.62; }
.newsletter-email-lead p { max-width: 34em; margin: 0 auto; }
.newsletter-email-lead p + p { margin-top: 12px; }
.newsletter-email-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; margin-top: 25px; padding: 0 32px; border: 1px solid var(--nl-espresso); background: var(--nl-espresso); color: var(--nl-white); font: 500 12px/1 var(--nl-sans); letter-spacing: .055em; text-decoration: none; transition: background .18s var(--nl-ease-ui), border-color .18s var(--nl-ease-ui), transform .2s var(--nl-ease); }
.newsletter-email-button:hover { border-color: var(--nl-cognac-dark); background: var(--nl-cognac-dark); }
.newsletter-email-button:active { transform: translateY(1px); }
.newsletter-email-section { margin: 0; padding: 48px 38px 56px; border-top: 1px solid rgba(23, 19, 15, .16); background: #eee6db; }
.newsletter-email-section-title { margin-bottom: 30px; text-align: center; color: #5e554d; font: 500 11px/1 var(--nl-sans); letter-spacing: .08em; }
.newsletter-email-modules { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.newsletter-email-module img { display: block; width: 100%; height: auto; aspect-ratio: 1.72; object-fit: cover; object-position: center; }
.newsletter-email-module small { display: block; margin-top: 22px; font-weight: 500; }
.newsletter-email-module h3 { margin: 10px 0 12px; font-size: 26px; font-weight: 400; line-height: 1.12; letter-spacing: -.025em; }
.newsletter-email-module p { margin: 0; }
.newsletter-email-module a { display: inline-block; margin-top: 18px; padding-bottom: 4px; border-bottom: 1px solid; color: var(--nl-ink); font: 500 11px/1 var(--nl-sans); letter-spacing: .045em; text-decoration: none; }
.newsletter-email-final { margin: 0; padding: 56px 54px 62px; border-top: 1px solid rgba(23, 19, 15, .18); background: #d9c2ad; text-align: center; }
.newsletter-email-final h3 { margin: 12px 0 18px; font-size: 34px; font-weight: 400; line-height: 1.08; letter-spacing: -.03em; }
.newsletter-email-final p { max-width: 32em; margin: 14px auto 0; }
.newsletter-email-footer { display: grid; justify-items: center; gap: 8px; padding: 34px 30px 30px; background: var(--nl-espresso); color: var(--nl-white); font-family: Satoshi, sans-serif; text-align: center; }
.newsletter-email-footer strong { font: 400 17px/1.25 var(--nl-display); }
.newsletter-email-footer small { color: #c9c1b7; font-size: 11px; }
.newsletter-email-footer p { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px 18px; margin: 10px 0 0; padding-top: 14px; border-top: 1px solid rgba(255,253,249,.18); }
.newsletter-email-footer a, .newsletter-email-footer p span { color: #e5ddd2; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.newsletter-start-over { display: block; margin: 28px auto 0; padding: 8px 10px; border: 0; background: transparent; color: var(--nl-muted); font: 400 13px/1 var(--nl-sans); cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.newsletter-start-over:hover { color: var(--nl-ink); }
.newsletter-editable[contenteditable='true'] { outline: 2px solid rgba(212, 117, 78, .35); outline-offset: 3px; }

.newsletter-status { position: fixed; right: 24px; bottom: 24px; z-index: 100; display: flex; align-items: center; gap: 10px; min-width: 220px; overflow: hidden; padding: 13px 17px 14px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 10px; background: #12100d; color: var(--nl-white); font-size: 13px; box-shadow: 0 20px 55px rgba(0, 0, 0, .26); opacity: 0; transform: translateY(12px) scale(.97); pointer-events: none; transition: opacity .18s ease, transform .32s var(--nl-ease); }
.newsletter-status.show { opacity: 1; transform: none; }
.newsletter-status-icon { display: grid; place-items: center; width: 18px; height: 18px; flex: none; color: var(--nl-cognac); }
.newsletter-status-icon svg { width: 18px; height: 18px; }
.newsletter-status::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--nl-cognac); transform: scaleX(0); transform-origin: left; }
.newsletter-status.show::after { animation: newsletterToastLine 1.65s linear both; }
@keyframes newsletterToastLine { from { transform: scaleX(1); } to { transform: scaleX(0); } }

.newsletter-delivery { position: absolute; inset: 0; z-index: 60; display: grid; place-items: center; padding: 22px; }
.newsletter-delivery-backdrop { position: absolute; inset: 0; border: 0; background: rgba(11,10,8,.76); cursor: default; }
.newsletter-delivery-sheet { position: relative; width: min(100%, 520px); padding: clamp(34px, 5vw, 58px); background: var(--nl-white); color: var(--nl-ink); box-shadow: 0 30px 90px rgba(0,0,0,.32); }
.newsletter-delivery-close { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(23,19,15,.2); border-radius: 50%; background: transparent; color: var(--nl-ink); cursor: pointer; }
.newsletter-delivery-close svg { width: 17px; height: 17px; }
.newsletter-delivery-sheet h2 { max-width: 9ch; margin: 0; font: 400 clamp(40px, 5vw, 56px)/1 var(--nl-display); letter-spacing: -.04em; }
.newsletter-delivery-sheet > div > p { max-width: 35ch; margin: 22px 0 0; color: var(--nl-muted); font-size: 16px; line-height: 1.55; }
.newsletter-delivery-sheet form { margin-top: 36px; }
.newsletter-delivery-sheet label { display: block; color: var(--nl-muted); font-size: 13px; }
.newsletter-delivery-sheet input[type='email'] { width: 100%; margin-top: 10px; padding: 14px 0; border: 0; border-bottom: 1px solid rgba(23,19,15,.34); border-radius: 0; outline: 0; background: transparent; color: var(--nl-ink); font: 400 19px/1.3 var(--nl-display); }
.newsletter-delivery-sheet input[type='email']:focus { border-color: var(--nl-cognac-dark); }
.newsletter-delivery-sheet form button,
.newsletter-delivery-success button { width: 100%; min-height: 54px; margin-top: 28px; border: 1px solid var(--nl-espresso); background: var(--nl-espresso); color: var(--nl-white); font: 500 15px var(--nl-display); cursor: pointer; }
.newsletter-delivery-sheet form button:disabled { opacity: .5; cursor: wait; }
.newsletter-delivery-error { margin: 14px 0 0 !important; color: #8f3125 !important; font-size: 14px !important; }

.newsletter-guide,
.newsletter-page .page-close { position: relative; z-index: 1; }
.newsletter-guide { font-family: var(--nl-display); }

.newsletter-article-hero {
  position: relative;
  padding: clamp(88px, 7vw, 112px) 0 clamp(64px, 6vw, 80px);
  background: var(--nl-paper-light);
  color: var(--nl-ink);
}

.newsletter-article-hero-shell {
  display: block;
  width: min(680px, calc(100vw - 48px));
}
.newsletter-article-hero-copy { min-width: 0; }
.newsletter-article-hero h2 { max-width: 100%; margin: 0; color: var(--nl-ink); font: 400 clamp(42px, 3.4vw, 50px)/1.02 var(--nl-display); letter-spacing: -.038em; text-wrap: balance; }
.newsletter-article-standfirst,
.newsletter-article-body .newsletter-article-lead { font: 400 19px/1.65 var(--nl-display); letter-spacing: -.01em; }
.newsletter-article-standfirst { max-width: 100%; margin: 30px 0 0; color: rgba(23, 19, 15, .68); }
.newsletter-article-meta { display: flex; justify-content: space-between; gap: 24px; max-width: 100%; margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(23, 19, 15, .2); color: rgba(23, 19, 15, .54); font: 400 13px/1.5 var(--nl-display); }

.newsletter-article-paper { position: relative; background: var(--nl-paper); }
.newsletter-article-paper::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 88% 8%, rgba(212, 117, 78, .065), transparent 25%); pointer-events: none; }
.newsletter-article-shell { position: relative; width: min(1280px, calc(100vw - 72px)); }
.newsletter-article-body { width: min(100%, 680px); margin-inline: auto; padding: 88px 0 144px; }
.newsletter-article-body section { scroll-margin-top: 128px; }
.newsletter-article-body > section:first-of-type { margin-top: 56px; }
.newsletter-article-body section + section { margin-top: 76px; }
.newsletter-article-body p { margin: 0; color: rgba(23, 19, 15, .78); font: 400 18px/1.72 var(--nl-display); letter-spacing: -.008em; }
.newsletter-article-body p + p { margin-top: 24px; }
.newsletter-article-body strong { color: var(--nl-ink); font-weight: 500; }

.newsletter-article-body .newsletter-article-lead {
  color: var(--nl-ink);
}

.newsletter-article-body h3 {
  margin: 0 0 26px;
  font: 400 clamp(30px, 2.2vw, 34px)/1.18 var(--nl-display);
  letter-spacing: -.028em;
  text-wrap: balance;
}

.newsletter-article-body blockquote {
  margin: 30px 0;
  padding: 0;
  color: var(--nl-ink);
  font: 400 20px/1.58 var(--nl-display);
  letter-spacing: -.012em;
}

.newsletter-article-body ul,
.newsletter-article-body ol { margin: 30px 0 0; padding-left: 1.25em; }
.newsletter-article-body li { padding-left: .35em; color: rgba(23, 19, 15, .76); font-size: 18px; line-height: 1.6; }
.newsletter-article-body li + li { margin-top: 12px; }
.newsletter-article-body li::marker { color: var(--nl-cognac-dark); font-weight: 500; }
.newsletter-article-body ul + p,
.newsletter-article-body ol + p { margin-top: 30px; }

.newsletter-article-example {
  margin-top: 38px;
  padding: 0 0 4px;
}

.newsletter-article-example p { font-size: 18px; line-height: 1.72; }
.newsletter-article-example p + p { margin-top: 13px; }

.newsletter-article-checklist {
  padding: 0 !important;
  border-top: 1px solid rgba(23, 19, 15, .18);
  list-style: none;
}

.newsletter-article-checklist li {
  position: relative;
  margin: 0 !important;
  padding: 15px 0 15px 30px;
  border-bottom: 1px solid rgba(23, 19, 15, .14);
  font-size: 17px;
}

.newsletter-article-checklist li::before {
  content: '\2713';
  position: absolute;
  top: 15px;
  left: 0;
  color: var(--nl-cognac-dark);
  font-weight: 500;
}

.newsletter-article-notes {
  margin-top: clamp(96px, 10vw, 132px) !important;
  padding-top: 0;
}

.newsletter-article-notes h3 { font-size: clamp(30px, 2.4vw, 36px); }
.newsletter-article-notes p,
.newsletter-article-notes li { color: rgba(23, 19, 15, .62); font-size: 15px; line-height: 1.58; }
.newsletter-article-notes ol { padding-left: 1.2em; }
.newsletter-article-notes a,
.newsletter-article-related a { color: inherit; text-decoration-color: rgba(23, 19, 15, .38); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.newsletter-article-notes a:hover,
.newsletter-article-related a:hover { color: var(--nl-cognac-dark); }

.newsletter-article-related {
  margin-top: 68px;
  padding-top: 30px;
  border-top: 1px solid rgba(23, 19, 15, .2);
}

.newsletter-article-related p { font-size: 17px; line-height: 1.58; }
.newsletter-article-related a { display: inline-flex; min-height: 44px; align-items: center; gap: 9px; margin-top: 20px; color: var(--nl-ink); font-size: 16px; font-weight: 500; }

.newsletter-article-toc { position: fixed; top: 96px; right: max(28px, calc((100vw - 1320px) / 2)); z-index: 70; width: 48px; height: 180px; color: rgba(23, 19, 15, .58); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: opacity .16s ease, transform .18s ease, visibility 0s linear .18s; }
.newsletter-article-toc.is-available { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
.newsletter-toc-rail { position: relative; display: grid; grid-template-rows: 32px 1fr; place-items: center; width: 44px; height: 172px; padding: 8px 0; border: 1px solid rgba(23, 19, 15, .24); border-radius: 22px; background: rgba(255, 253, 249, .96); color: var(--nl-ink); box-shadow: 0 16px 38px -24px rgba(23, 19, 15, .5); backdrop-filter: blur(14px); cursor: pointer; }
.newsletter-toc-rail:hover,
.newsletter-toc-rail:focus-visible,
.newsletter-article-toc.is-open .newsletter-toc-rail { border-color: rgba(154, 79, 44, .42); background: var(--nl-white); outline: 0; }
.newsletter-toc-rail-icon { display: grid; gap: 4px; }
.newsletter-toc-rail-icon i { display: block; width: 15px; height: 1.5px; border-radius: 2px; background: var(--nl-ink); }
.newsletter-toc-rail-icon i:last-child { width: 9px; }
.newsletter-toc-rail-track { position: relative; width: 2px; height: 116px; overflow: hidden; border-radius: 2px; background: rgba(23, 19, 15, .12); }
.newsletter-toc-rail-track i { position: absolute; inset: 0; min-height: 0; border-radius: inherit; background: var(--nl-cognac-dark); transform: scaleY(max(.08, var(--newsletter-toc-progress, 0))); transform-origin: top; }
.newsletter-toc-panel { position: absolute; top: -16px; right: 60px; width: min(294px, calc(100vw - 92px)); max-height: calc(100svh - 112px); padding: 10px; overflow: hidden; visibility: hidden; border: 1px solid rgba(23, 19, 15, .14); border-radius: 18px; background: rgba(255, 253, 249, .98); box-shadow: 0 28px 80px -34px rgba(23, 19, 15, .48); opacity: 0; pointer-events: none; transform: translateX(10px) scale(.985); transform-origin: right top; transition: opacity .12s ease, transform .16s var(--nl-ease-ui), visibility 0s linear .16s; }
.newsletter-article-toc.is-open .newsletter-toc-panel { visibility: visible; opacity: 1; pointer-events: auto; transform: none; transition-delay: 0s; }
.newsletter-toc-panel header { height: 36px; padding: 0 9px 7px; border-bottom: 1px solid rgba(23, 19, 15, .14); }
.newsletter-toc-panel header p { margin: 0; color: var(--nl-ink); font-size: 13px; font-weight: 500; }
.newsletter-toc-panel nav { display: grid; gap: 1px; max-height: calc(100svh - 206px); padding: 6px 0; overflow: auto; }
.newsletter-toc-panel nav a { display: block; min-height: 27px; padding: 6px 8px; border-radius: 8px; color: rgba(23, 19, 15, .58); text-decoration: none; }
.newsletter-toc-panel nav a strong { display: block; color: inherit; font-size: 12px; font-weight: 400; line-height: 1.28; }
.newsletter-toc-panel nav a:hover,
.newsletter-toc-panel nav a:focus-visible { background: rgba(154, 79, 44, .07); color: var(--nl-ink); outline: 0; }
.newsletter-toc-panel nav a.is-active { background: rgba(154, 79, 44, .09); color: var(--nl-ink); }
.newsletter-toc-panel nav a.is-active strong { font-weight: 500; }
.newsletter-toc-panel footer { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; padding: 8px 9px 2px; border-top: 1px solid rgba(23, 19, 15, .14); color: rgba(23, 19, 15, .44); font-size: 9px; }
.newsletter-toc-panel footer > i { position: relative; height: 2px; overflow: hidden; border-radius: 2px; background: rgba(23, 19, 15, .1); }
.newsletter-toc-panel footer b { position: absolute; inset: 0 auto 0 0; width: calc(var(--newsletter-toc-progress, 0) * 100%); border-radius: inherit; background: var(--nl-cognac-dark); }
.newsletter-mobile-toc-wrap { display: none; }

@media (max-width: 1100px) {
  .newsletter-article-toc { display: none; }
  .newsletter-mobile-toc-wrap {
    position: sticky;
    top: 56px;
    z-index: 68;
    display: block;
    width: 100%;
    border-bottom: 1px solid rgba(23, 19, 15, .14);
    background: rgba(242, 237, 229, .96);
    backdrop-filter: blur(14px);
  }
  .newsletter-mobile-toc { width: min(1280px, calc(100% - 44px)); margin: 0 auto; }
  .newsletter-mobile-toc summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    padding: 15px 0;
    list-style: none;
    cursor: pointer;
  }
  .newsletter-mobile-toc summary::-webkit-details-marker { display: none; }
  .newsletter-mobile-toc summary span { color: var(--nl-cognac-dark); font-size: 14px; }
  .newsletter-mobile-toc summary strong { overflow: hidden; color: var(--nl-ink); font-size: 14px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
  .newsletter-mobile-toc nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; padding: 7px 0 20px; border-top: 1px solid rgba(23, 19, 15, .14); }
  .newsletter-mobile-toc nav a { display: block; min-height: 44px; padding: 10px 0; color: rgba(23, 19, 15, .6); font-size: 14px; line-height: 1.35; text-decoration: none; }
  .newsletter-mobile-toc nav a strong { color: inherit; font-size: inherit; font-weight: 400; }
  .newsletter-mobile-toc nav a.is-active { color: var(--nl-ink); }
  .newsletter-article-shell { width: min(100%, 680px); }
}

@media (max-width: 980px) {
  .newsletter-brief-panel { grid-template-columns: 1fr; gap: 48px; width: min(100%, 620px); }
  .newsletter-brief-copy h2 { max-width: 12ch; }
  .newsletter-brief { min-height: 0; }
  .newsletter-stage-inner { min-height: calc(100svh - 128px); }
  .newsletter-loading-card { width: min(700px,100%); }
  .newsletter-loading-workspace { grid-template-columns: 1fr; }
  .newsletter-loading-progress { position: static; padding: 4px 2px 0; }
  .newsletter-loading-progress ol { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 24px; }
  .newsletter-loading-progress li { min-height: 56px; }
  .newsletter-loading-progress li::after { display: none; }
  .newsletter-article-hero { padding: 84px 0 72px; }
  .newsletter-article-hero-shell { width: min(680px, calc(100vw - 48px)); }
  .newsletter-article-hero h2 { max-width: 100%; font-size: clamp(42px, 6vw, 50px); }
  .newsletter-article-shell { width: min(100%, 680px); }
}

@media (max-width: 1180px) {
  .newsletter-opener { padding: calc(56px + 88px) 0 88px; }
  .newsletter-intro { grid-template-columns: 1fr; align-items: start; }
  .newsletter-intro h1 { max-width: 100%; }
  .newsletter-intro-side { max-width: 580px; margin-top: 48px; padding: 28px 0 0; border-top: 1px solid rgba(255, 255, 255, .16); border-left: 0; }
}

@media (min-width: 1181px) and (max-width: 1279px) {
  .newsletter-start-control button { min-width: 46px; padding-inline: 14px; }
  .newsletter-start-control button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
}

@media (max-width: 680px) {
  .newsletter-opener { padding: calc(56px + 56px) 0 56px; }
  .newsletter-intro h1 { font-size: clamp(34px, 8.8vw, 38px); }
  .newsletter-intro-side { margin-top: 34px; padding-top: 22px; }
  .newsletter-intro-side p { font-size: 17px; }
  .newsletter-start { margin-top: 28px; padding-top: 22px; }
  .newsletter-start-control { gap: 8px; padding-left: 14px; }
  .newsletter-start-control input { font-size: 16px; }
  .newsletter-start-control button { min-height: 46px; padding: 0 15px; }
  .newsletter-studio-shell { grid-template-rows: 64px minmax(0, 1fr); }
  .newsletter-stage-toolbar { min-height: 64px; gap: 12px; padding-inline: 16px; }
  .newsletter-studio-brand { width: 92px; }
  .newsletter-studio-brand img { width: 92px; }
  .newsletter-stage-toolbar > strong { display: none; }
  .newsletter-toolbar-actions { flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
  .newsletter-toolbar-actions::-webkit-scrollbar { display: none; }
  .newsletter-toolbar-actions button,
  .newsletter-toolbar-actions a { justify-content: center; min-width: max-content; padding-inline: 10px; font-size: 12px; }
  .newsletter-studio-section.has-result .newsletter-toolbar-actions { justify-content: flex-end; overflow: visible; }
  .newsletter-studio-section.has-result .newsletter-toolbar-actions > :not(.newsletter-notes-toggle) { width: 38px; min-width: 38px; padding-inline: 0; }
  .newsletter-studio-section.has-result .newsletter-toolbar-actions > :not(.newsletter-notes-toggle) span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .newsletter-studio-section.has-result .newsletter-studio-brand { display: none; }
  .newsletter-studio-close { width: 38px; height: 38px; }
  .newsletter-studio-section:not(.is-preparing):not(.has-result):not(.has-error) .newsletter-studio-grid { place-items: start center; padding: 42px 22px 70px; }
  .newsletter-studio-section:not(.is-preparing):not(.has-result):not(.has-error) .newsletter-studio-grid { padding-top: 28px; }
  .newsletter-brief-panel { gap: 24px; }
  .newsletter-brief-copy h2 { max-width: 10ch; font-size: 44px; }
  .newsletter-brief-copy p { margin-top: 14px; font-size: 15px; }
  .newsletter-studio-section.has-result .newsletter-stage { min-height: 0; padding-top: 18px; }
  .newsletter-studio-section.has-result .newsletter-stage-inner { min-height: 0; }
  .newsletter-brief { min-height: 0; }
  .newsletter-field { margin-top: 22px; }
  .newsletter-field textarea { min-height: 76px; padding-block: 10px; font-size: 16px; }
  .newsletter-field textarea#newsletterBrief { min-height: 92px; }
  .newsletter-create { margin-top: 26px; }
  .newsletter-stage { min-height: 100%; padding: 18px 0 0; }
  .newsletter-stage-inner { min-height: calc(100svh - 82px); }
  #newsletterLoadingState,
  #newsletterResultState { padding-bottom: 48px; }
  .newsletter-building-sheet { min-height: 620px; box-shadow: none; }
  .newsletter-loading-workspace { gap: 20px; }
  .newsletter-loading-progress { order: -1; padding: 0 16px 4px; }
  .newsletter-loading-live { justify-content: center; }
  .newsletter-loading-progress ol { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 16px; }
  .newsletter-loading-progress li { display: block; min-height: 58px; text-align: center; }
  .newsletter-loading-progress li > i { margin: 0 auto 8px; }
  .newsletter-loading-progress li > div { padding: 0; }
  .newsletter-loading-progress li strong { font-size: 10px; line-height: 1.25; }
  .newsletter-loading-progress li small { display: none; }
  .newsletter-loading-progress > p { margin: 10px 0 0; padding-top: 12px; text-align: center; }
  .newsletter-compose-brand { min-height: 66px; }
  .newsletter-compose-fields { padding-inline: 16px; }
  .newsletter-compose-field,
  .newsletter-send-row { grid-template-columns: 84px minmax(0, 1fr); }
  .newsletter-compose-hero { width: 100%; height: auto; margin: 0; aspect-ratio: 1.5; }
  .newsletter-compose-copy { padding: 34px 22px 0; }
  .newsletter-compose-copy strong { font-size: 28px; }
  .newsletter-notes-toggle { flex: none; min-height: 36px; padding-inline: 9px; }
  .newsletter-note-marker { width: 24px; height: 24px; box-shadow: 0 3px 12px rgba(47,35,25,.16); }
  .newsletter-note-marker svg { width: 13px; height: 13px; }
  .newsletter-send-fields { margin-bottom: 14px; padding-inline: 14px; }
  .newsletter-note-popover { top: auto !important; right: 14px; bottom: 14px; left: 14px !important; width: auto; max-height: min(68svh, 560px); overflow: auto; }
  .newsletter-note-source { grid-template-columns: 1fr; }
  .newsletter-email { box-shadow: none; }
  .newsletter-result-wrap,
  .newsletter-email-generated,
  .newsletter-email-generated > table,
  .newsletter-email-generated .nl-shell { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .newsletter-email-generated .nl-pad { padding-right: 24px !important; padding-left: 24px !important; }
  .newsletter-email-generated .nl-column { display: block !important; width: 100% !important; }
  .newsletter-email-generated:not(.has-source-grammar) .nl-column { padding: 0 !important; }
  .newsletter-email-generated:not(.has-source-grammar) .nl-column + .nl-column { padding-top: 32px !important; }
  .newsletter-email-generated.has-source-grammar > table { table-layout: fixed !important; }
  .newsletter-email-generated.has-source-grammar .nl-source-grid,
  .newsletter-email-generated.has-source-grammar .nl-source-grid .nl-shell { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .newsletter-email-generated.has-source-grammar .nl-source-grid .nl-shell { table-layout: fixed !important; }
  .newsletter-email-generated.has-source-grammar .nl-source-grid table { max-width: 100% !important; }
  .newsletter-email-generated.has-source-grammar .nl-source-grid img { max-width: 100% !important; height: auto !important; }
  .newsletter-email-generated .nl-hero-title { font-size: 38px !important; }
  .newsletter-email-generated.has-template-reference .nl-hero-title { font-size: var(--nl-template-hero-size) !important; }
  .newsletter-email-generated:not(.has-source-grammar) .nl-button { display: block !important; text-align: center !important; }
  .newsletter-email-hero { width: 100%; margin: 0; }
  .newsletter-email-lead { padding: 40px 24px 48px; }
  .newsletter-email-lead h2 { font-size: 34px; }
  .newsletter-email-button { width: 100%; min-height: 50px; }
  .newsletter-email-section { margin: 0; padding: 40px 22px 48px; }
  .newsletter-email-modules { grid-template-columns: 1fr; gap: 42px; }
  .newsletter-email-module img { aspect-ratio: 1.62; }
  .newsletter-email-final { margin: 0; padding: 46px 24px 54px; }
  .newsletter-email-footer { padding: 30px 22px 38px; }
  .newsletter-status { right: 14px; bottom: 14px; left: 14px; min-width: 0; }
  .newsletter-article-hero { padding: 68px 0 60px; }
  .newsletter-delivery { padding: 12px; }
  .newsletter-delivery-sheet { padding: 38px 24px 28px; }
  .newsletter-attachment-chip > span { display: grid; gap: 2px; }
  .newsletter-article-hero-shell { width: calc(100vw - 44px); }
  .newsletter-article-hero h2 { max-width: 100%; font-size: clamp(34px, 8.6vw, 38px); line-height: 1.02; }
  .newsletter-article-standfirst,
  .newsletter-article-body .newsletter-article-lead { font-size: 17px; line-height: 1.6; }
  .newsletter-article-standfirst { margin-top: 24px; }
  .newsletter-article-meta { display: grid; gap: 8px; margin-top: 26px; padding-top: 18px; }
  .newsletter-mobile-toc-wrap { top: 56px; }
  .newsletter-mobile-toc { width: calc(100% - 44px); }
  .newsletter-mobile-toc nav { grid-template-columns: 1fr; max-height: 62vh; overflow-y: auto; }
  .newsletter-article-paper::before { opacity: .7; }
  .newsletter-article-shell { width: calc(100% - 44px); }
  .newsletter-article-body { width: 100%; padding: 64px 0 108px; }
  .newsletter-article-body p { font-size: 17px; line-height: 1.7; }
  .newsletter-article-body > section:first-of-type { margin-top: 52px; }
  .newsletter-article-body section + section { margin-top: 68px; }
  .newsletter-article-body h3 { margin-bottom: 22px; font-size: 29px; line-height: 1.2; }
  .newsletter-article-body blockquote { font-size: 19px; line-height: 1.58; }
  .newsletter-article-body li { font-size: 16px; }
  .newsletter-article-example p,
  .newsletter-article-related p { font-size: 16px; }
  .newsletter-article-notes p,
  .newsletter-article-notes li { font-size: 14px; }
  body:has(.newsletter-page) .gc-pill,
  body:has(.newsletter-page) .gc-panel { display: none !important; }
}

@media (max-width: 480px) {
  .newsletter-start-control { grid-template-columns: 1fr; gap: 8px; padding: 9px; }
  .newsletter-start-control input { padding-inline: 5px; }
  .newsletter-start-control button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .newsletter-page *,
  .newsletter-page *::before,
  .newsletter-page *::after,
  .newsletter-status,
  .newsletter-status::after { animation: none !important; transition: none !important; }
}
