/* A publication within NNA, with the same palette and ordinary site navigation. */
.newsletter-banner .hero-wordmark { width:min(68%,820px); }
.newsletter-banner .hero-wordmark > img { opacity:.92; filter:brightness(0) invert(1) drop-shadow(0 1px 2px #36073550); }
.newsletter-banner > img { height:auto; object-fit:contain; filter:brightness(.9); }
.newsletter-banner figcaption { align-items:flex-end; padding-bottom:clamp(14px,2vw,28px); }
.newsletter-banner-byline { padding-block:23px 25px; }
.newsletter-banner-byline p { margin:0; color:var(--purple); font-size:1.25rem; line-height:1.45; font-weight:700; }
.newsletter-banner-byline span { display:block; margin-top:5px; color:var(--gray); font-size:1rem; font-weight:400; }
.newsletter-banner-masthead { border-bottom:1px solid var(--rule); }
.housing-bungalow-banner { width:100%; margin:0; position:relative; isolation:isolate; overflow:hidden; }
.housing-bungalow-banner > img { display:block; width:100%; height:clamp(280px,32vw,440px); object-fit:cover; object-position:50% 60%; filter:contrast(1.20) saturate(1.35) brightness(.7394895); }
.housing-bungalow-banner::after { content:''; position:absolute; inset:0; background:linear-gradient(115deg,#8737c1 0%,#dc238b 55%,#62259b 100%); mix-blend-mode:color; opacity:.32; pointer-events:none; }
.housing-page-hero { padding-block:44px 50px; }
.housing-page-hero h1 { max-width:920px; font-size:clamp(41px,4.7vw,65px); }
.housing-page-hero p:not(.eyebrow) { max-width:860px; }
.newsletter-masthead { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-block:28px 24px; }
.newsletter-masthead > .newsletter-logo { width:min(50%,500px); height:auto; }
.newsletter-masthead-cropped .newsletter-wordmark { display:block; position:relative; width:min(62%,720px); aspect-ratio:2019 / 537; overflow:hidden; flex-shrink:0; }
/* Solid brand purple preserves the preferred lettering and excludes only transparent margins. */
.newsletter-masthead-cropped .newsletter-wordmark > img { position:absolute; width:101.436355%; max-width:none; height:auto; left:-.544824%; top:-17.318436%; }
.newsletter-masthead-cropped .newsletter-wordmark::after { inset:auto; width:101.436355%; height:auto; aspect-ratio:2048 / 682; left:-.544824%; top:-17.318436%; }
.newsletter-masthead p:not(.eyebrow) { font-size:14px; margin-top:9px; }
.newsletter-masthead .eyebrow { margin-bottom:0; }
.newsletter-latest,.newsletter-single { padding-block:30px 55px; }
.newsletter-edition { background:var(--paper); border:1px solid var(--rule); padding:45px 48px; }
.newsletter-edition-header { border-bottom:4px solid var(--purple); padding-bottom:27px; }
.newsletter-edition-header h1,.newsletter-edition-header h2 { font-size:clamp(37px,4vw,56px); max-width:920px; }
.edition-label { display:inline-block; padding:7px 11px; background:var(--pale-purple); color:var(--purple); margin:0 0 18px; font-size:12px; line-height:1.5; font-weight:700; }
.edition-actions { display:flex; flex-wrap:wrap; gap:14px 29px; margin-top:21px; }
.edition-actions .text-link { font-size:12px; }
.newsletter-intro { padding-block:7px 31px; max-width:830px; }
.newsletter-intro p { font-size:18px; line-height:1.7; }
.newsletter-story { border-top:1px solid var(--rule); padding-block:37px; }
.newsletter-story.has-photo { display:grid; grid-template-columns:1.12fr 1fr; gap:43px; align-items:center; }
.newsletter-story-copy h2,.newsletter-story-copy h3 { font-size:clamp(29px,3vw,38px); }
.newsletter-story-copy .eyebrow { margin-bottom:15px; }
.newsletter-story-copy p:not(.eyebrow) { font-size:16px; line-height:1.7; }
.newsletter-story-copy .text-link { margin-top:22px; }
.newsletter-photo { margin:0; min-width:0; }
.newsletter-photo > img { width:100%; height:auto; }
.newsletter-photo figcaption { font-size:12px; line-height:1.6; color:var(--gray); margin-top:11px; }
.story-solar { background:var(--light-teal); padding:34px 36px; margin-top:7px; border-top:0; border-left:6px solid var(--orange); }
.story-solar p { color:var(--ink); }
.newsletter-collaborative { display:grid; grid-template-columns:160px minmax(0,1fr); gap:33px; align-items:center; padding-block:35px; }
.newsletter-collaborative > img { width:160px; height:auto; }
.newsletter-collaborative h2,.newsletter-collaborative h3,.newsletter-close h2,.newsletter-close h3 { font-size:30px; }
.newsletter-collaborative p,.newsletter-close p { font-size:16px; line-height:1.7; }
.newsletter-collaborative .text-link { margin-top:20px; }
.newsletter-close { padding-top:29px; border-top:3px solid var(--purple); }
.newsletter-close p { max-width:830px; }
.newsletter-close .button-row { gap:15px; margin-top:23px; }
.newsletter-archive { background:var(--pale-purple); padding-block:50px 58px; }
.newsletter-archive > .container > h2 { font-size:clamp(34px,3.4vw,45px); }
.newsletter-archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; margin-top:31px; }
.newsletter-archive-card { padding:29px 31px; background:#fff; border-top:5px solid var(--purple); }
.newsletter-archive-card time { display:block; font-size:12px; font-weight:700; color:var(--purple); margin-bottom:16px; }
.newsletter-archive-card h3 { font-size:30px; }
.newsletter-archive-card p { font-size:16px; line-height:1.7; }
.newsletter-archive-card .text-link { margin-top:22px; }
.newsletter-signup { background:var(--light-teal); padding-block:47px 53px; }
.newsletter-signup .container { display:flex; align-items:center; justify-content:space-between; gap:45px; }
.newsletter-signup h2 { font-size:clamp(34px,3.8vw,48px); }
.newsletter-signup .eyebrow { margin-bottom:15px; }
.newsletter-signup p:not(.eyebrow) { color:var(--ink); max-width:660px; font-size:17px; }
.newsletter-signup .button { flex:none; }
.newsletter-original { width:min(980px,calc(100% - 96px)); margin:30px auto 0; }
.newsletter-original .newsletter-photo { max-width:660px; margin-inline:auto; }
.newsletter-original > .newsletter-photo { margin-block:30px; }
.newsletter-original-copy { max-width:740px; margin-inline:auto; }
.newsletter-original-copy h2 { font-size:33px; }
.newsletter-original-copy h3 { font-size:27px; margin-top:28px; }
.newsletter-original-copy p { font-size:16px; line-height:1.7; }
.newsletter-original-copy .text-link { margin-top:19px; }
.newsletter-original .archive-context { max-width:740px; font-size:14px; line-height:1.6; }
.newsletter-announcements { display:grid; gap:38px; padding-block:29px 7px; }
.newsletter-original-participation { border-top:3px solid var(--purple); margin-top:37px; padding-top:29px; }
.newsletter-back { padding-block:29px 47px; }
@media(max-width:1100px) {
 .newsletter-edition { padding:34px; }
 .newsletter-story.has-photo { gap:30px; }
 .newsletter-original { width:calc(100% - 64px); }
}
@media(max-width:780px) {
 .housing-bungalow-banner > img { height:clamp(230px,42vw,330px); }
 .housing-page-hero { padding-block:32px 39px; }
 .newsletter-masthead { flex-direction:column; align-items:flex-start; gap:16px; padding-block:22px 18px; }
 .newsletter-masthead > .newsletter-logo { width:min(95%,360px); }
 .newsletter-masthead-cropped .newsletter-wordmark { width:min(95%,380px); }
 .newsletter-edition { padding:27px; }
 .newsletter-latest,.newsletter-single { padding-block:23px 37px; }
 .newsletter-intro p { font-size:17px; }
 .newsletter-story.has-photo { grid-template-columns:1fr; gap:27px; }
 .newsletter-story { padding-block:29px; }
 .newsletter-photo { max-width:600px; }
 .story-solar { padding:26px; }
 .newsletter-collaborative { grid-template-columns:1fr; gap:18px; padding-block:29px; }
 .newsletter-collaborative > img { width:190px; }
 .newsletter-collaborative h2,.newsletter-collaborative h3,.newsletter-close h2,.newsletter-close h3 { font-size:28px; }
 .newsletter-signup .container { flex-direction:column; align-items:flex-start; gap:26px; }
 .newsletter-original { width:calc(100% - 44px); }
 .newsletter-original-copy h2 { font-size:29px; }
}
@media(max-width:580px) {
 .newsletter-archive-grid { grid-template-columns:1fr; gap:20px; }
 .newsletter-archive-card { padding:26px; }
 .newsletter-edition { padding:23px; }
 .newsletter-edition-header h1,.newsletter-edition-header h2 { font-size:36px; }
 .newsletter-original-copy h3 { font-size:24px; }
}
@media print {
 .edition-actions,.newsletter-signup,.newsletter-back { display:none; }
 .newsletter-edition { border:0; padding:0; }
 .housing-bungalow-banner > img { height:auto; }
}

/* Latest-issue preview and complete editions have separate jobs. */
.newsletter-latest-preview { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.55fr); gap:44px; align-items:center; padding:34px; background:var(--pale-purple); border-top:5px solid var(--purple); }
.newsletter-latest-preview h2 { font-size:clamp(32px,3.8vw,46px); }
.newsletter-latest-preview p { line-height:1.7; max-width:660px; }
.newsletter-latest-preview .newsletter-photo { width:100%; max-width:320px; justify-self:end; }
.newsletter-latest-preview .button { margin-top:14px; }
.newsletter-event-action { max-width:660px; margin:20px auto 0; }
.newsletter-event-action .source-note { display:block; margin-top:12px; line-height:1.6; }
@media(max-width:780px) {
 .newsletter-latest-preview { grid-template-columns:1fr; gap:27px; padding:26px; }
 .newsletter-latest-preview .newsletter-photo { justify-self:start; max-width:260px; }
}
