.newsletter-page { width:min(1100px,100%); margin:auto; padding:32px clamp(16px,4vw,44px) 68px; }
.newsletter-page section,.newsletter-story section { margin:32px 0; }
.newsletter-page h2,.newsletter-story h2,.newsletter-admin h2 { margin:0 0 14px; font-size:clamp(1.4rem,3vw,2rem); line-height:1.15; }
.newsletter-story h3 { margin:18px 0 10px; }
.newsletter-page p,.newsletter-story p,.newsletter-admin p { line-height:1.55; }
.newsletter-hero { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:24px; align-items:center; }
.newsletter-hero h1,.newsletter-page > h1,.newsletter-admin h1 { font-size:clamp(2.1rem,5vw,4rem); margin:0; line-height:1.05; }
.newsletter-hero img { width:100%; max-height:320px; object-fit:cover; border-radius:16px; }
.newsletter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:12px; }
.newsletter-tile { display:grid; gap:8px; align-content:start; padding:16px; border:1px solid currentColor; border-radius:14px; color:inherit; overflow:hidden; }
.newsletter-tile strong { font-size:1.15rem; }
.newsletter-tile img { width:calc(100% + 32px); margin:-16px -16px 5px; aspect-ratio:2; object-fit:cover; }
.newsletter-tile mark,.newsletter-pill { color:#17181c; background:#c9f25d; border-radius:999px; padding:4px 10px; width:fit-content; }
.newsletter-note { font-size:.88rem; }
.newsletter-cta,.newsletter-home { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:32px 0; padding:22px; background:#edf8cc; color:#17181c; border:1px solid #b9ce83; border-radius:16px; }
.newsletter-cta h2 { margin:0; }
.newsletter-cta p { margin:6px 0 0; }
.newsletter-home { width:min(1050px,calc(100% - 32px)); margin-inline:auto; }
.newsletter-primary,.newsletter-actions button { display:inline-block; color:#c9f25d; background:#17181c; border:1px solid #17181c; padding:10px 16px; border-radius:999px; font:inherit; font-weight:700; cursor:pointer; text-align:center; }
html[data-theme] .bp-shell a.newsletter-primary { color:#c9f25d; }
html[data-theme] .bp-shell a.newsletter-pill { color:#17181c; }
.newsletter-primary:focus-visible,.newsletter-pill:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.newsletter-primary:disabled,.newsletter-actions button:disabled { opacity:.55; cursor:default; }
.newsletter-actions { display:flex; gap:10px; flex-wrap:wrap; margin-block:12px; }
.newsletter-page select,.newsletter-admin select,.newsletter-admin input { padding:8px; border:1px solid #8a9281; border-radius:8px; font:inherit; }
.newsletter-admin { display:grid; gap:20px; }
.newsletter-admin > section { border:1px solid #b0b8a8; border-radius:14px; padding:clamp(12px,2vw,22px); }
.newsletter-admin label { display:grid; max-width:420px; gap:6px; }
.newsletter-admin iframe { width:100%; height:630px; background:white; border:1px solid #b0b8a8; border-radius:12px; }
.newsletter-admin fieldset { border:1px solid #b0b8a8; border-radius:12px; margin:12px 0; }

/* Editorial layout shared by the published edition and the admin preview. */
.newsletter-page { width:min(1320px,100%); }
.newsletter-story {
    --edition-paper:#fffdf5;
    --edition-ink:#191b14;
    --edition-muted:#4c5145;
    --edition-line:#d7d9cb;
    --edition-accent:#c9f25d;
    --edition-serif:var(--bp-serif,'Playfair Display',Georgia,serif);
    container-type:inline-size;
    background:var(--edition-paper);
    color:var(--edition-ink);
    border:1px solid var(--edition-line);
    border-radius:22px;
    padding:clamp(16px,3vw,42px);
}
html[data-theme="dark"] .newsletter-story {
    --edition-paper:#1d201a;
    --edition-ink:#fcfaed;
    --edition-muted:#c3c7b7;
    --edition-line:#464b3d;
}
.newsletter-story :is(h1,h2,h3) { font-family:var(--edition-serif); letter-spacing:-.045em; }
.newsletter-masthead {
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
    gap:6px 18px; padding-bottom:13px; border-bottom:1px solid var(--edition-line); margin-bottom:clamp(18px,3vw,36px);
}
.newsletter-masthead strong { font-size:1.45rem; letter-spacing:-.08em; }
.newsletter-masthead strong span { color:#527019; }
html[data-theme="dark"] .newsletter-masthead strong span { color:var(--edition-accent); }
.newsletter-masthead > span { color:var(--edition-muted); font:600 .76rem var(--bp-font,sans-serif); }
.newsletter-story .newsletter-feature { grid-template-columns:1fr; gap:24px; }
.newsletter-story .newsletter-feature h1 { font-size:clamp(2.8rem,8cqi,7rem); line-height:.97; font-weight:700; max-width:none; }
.newsletter-feature h1 em { display:block; font-weight:600; }
.newsletter-feature-copy p { color:var(--edition-muted); max-width:55ch; margin:18px 0; font-size:clamp(.98rem,1.7cqi,1.18rem); }
.newsletter-feature nav { display:flex; flex-wrap:wrap; gap:8px; }
.newsletter-story .newsletter-feature nav a { border:1px solid var(--edition-line); border-radius:999px; padding:6px 12px; font-size:.8rem; font-weight:700; }
.newsletter-feature figure { position:relative; margin:0; overflow:hidden; border-radius:16px; }
.newsletter-story .newsletter-feature figure img { display:block; width:100%; aspect-ratio:5/4; max-height:450px; border-radius:0; object-fit:cover; }
.newsletter-feature figcaption { position:absolute; inset:auto 12px 12px; width:fit-content; max-width:calc(100% - 24px); padding:7px 11px; border-radius:7px; background:#191b14; color:#fffdf5; font-size:.78rem; }
.newsletter-story > section { margin:clamp(32px,6cqi,64px) 0 0; scroll-margin-top:90px; }
.newsletter-story > section > h2 { border-top:1px solid var(--edition-line); padding-top:18px; margin:0 0 20px; font-size:clamp(1.8rem,4.5cqi,3.2rem); }
.newsletter-story-grid,.newsletter-price-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.newsletter-place,.newsletter-highlight { min-width:0; overflow:hidden; border:1px solid var(--edition-line); border-radius:14px; }
.newsletter-place { display:flex; flex-direction:column; }
.newsletter-place-photo img,.newsletter-highlight-photo { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.newsletter-place-body { display:flex; flex:1; flex-direction:column; gap:10px; padding:16px; }
.newsletter-place-identity { display:flex; align-items:center; gap:11px; }
.newsletter-story .newsletter-place-identity h3 { margin:0; font-size:1.35rem; line-height:1.15; }
.newsletter-place-logo { width:44px; height:44px; flex:none; object-fit:contain; padding:3px; border:1px solid var(--edition-line); border-radius:10px; background:#fff; }
.newsletter-story .newsletter-place-address { margin:0; color:var(--edition-muted); font-size:.83rem; overflow-wrap:anywhere; }
.newsletter-menu-tip { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:6px 10px; padding-top:10px; border-top:1px solid var(--edition-line); font-size:.84rem; }
.newsletter-menu-tip :is(small,span) { display:block; }
.newsletter-menu-tip small { color:var(--edition-muted); }
.newsletter-menu-tip b { white-space:nowrap; }
.newsletter-story a.newsletter-place-link { display:flex; align-items:center; justify-content:space-between; margin-top:auto; min-height:40px; font-weight:700; font-size:.86rem; }
.newsletter-place-link span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#191b14; background:var(--edition-accent); }
.newsletter-highlight > div { display:grid; gap:5px; padding:14px 16px; }
.newsletter-highlight strong { font-family:var(--edition-serif); font-size:1.28rem; line-height:1.18; }
.newsletter-highlight span,.newsletter-highlight small { color:var(--edition-muted); }
.newsletter-price { display:flex; justify-content:space-between; gap:12px; padding:15px; border-radius:14px; background:#dff49f; color:#191b14; }
html[data-theme] .bp-shell a.newsletter-price { color:#191b14; }
.newsletter-price:nth-child(2) { background:#e8e6d8; }
.newsletter-price > div { display:grid; gap:5px; }
.newsletter-price strong { font:700 clamp(1.8rem,4.8cqi,3.5rem)/1 var(--edition-serif); }
.newsletter-price span { font-size:.85rem; }
.newsletter-price img { width:clamp(65px,22%,120px); align-self:center; aspect-ratio:1; object-fit:cover; border-radius:9px; }
.newsletter-story .newsletter-note { color:var(--edition-muted); }
.newsletter-city-group + .newsletter-city-group { margin-top:24px; }
.newsletter-city-group > h3 { font-size:1.5rem; }
.newsletter-job-history { margin-top:12px; }
.newsletter-job-history summary { cursor:pointer; font-weight:700; }
.newsletter-job-history ol { margin:10px 0 0; padding-inline-start:23px; }
.newsletter-job-history li + li { margin-top:6px; }
@container (min-width:560px) {
    .newsletter-story-grid,.newsletter-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container (min-width:760px) {
    .newsletter-story .newsletter-feature { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(24px,4cqi,60px); }
    .newsletter-story-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
