/* Global community component; responds to its own available width. */
.community-banner { container: community-banner / inline-size; position: relative; isolation: isolate; overflow: hidden; inline-size: 100%; border-radius: var(--cb-radius); background: var(--cb-bg); color: var(--cb-ink); font-family: Heebo, Arial, sans-serif; }
.community-banner--contained { inline-size: min(calc(100% - 32px), var(--wrap, 1200px)); margin-inline: auto; }
.community-banner--narrow { inline-size: min(calc(100% - 32px), 900px); margin-inline: auto; }
.community-banner__backdrop { position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.community-banner__backdrop img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: var(--cb-x) center; }
.community-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(to right, color-mix(in srgb, var(--cb-bg) var(--cb-shade), transparent), transparent 85%); }
[dir="rtl"] .community-banner::before, .community-banner--end::before { background: linear-gradient(to left, color-mix(in srgb, var(--cb-bg) var(--cb-shade), transparent), transparent 85%); }
[dir="rtl"] .community-banner--end::before { background: linear-gradient(to right, color-mix(in srgb, var(--cb-bg) var(--cb-shade), transparent), transparent 85%); }
.community-banner__inner { display: flex; align-items: center; min-block-size: var(--cb-height); padding: clamp(24px, 3.6cqi, 72px); }
.community-banner--end .community-banner__inner { justify-content: flex-end; }
.community-banner__content { inline-size: var(--cb-content); min-inline-size: 0; text-align: start; overflow-wrap: anywhere; }
.community-banner .community-banner__eyebrow { display: flex; align-items: center; gap: 20px; margin: 0 0 22px; color: var(--cb-muted); font-size: clamp(13px, 1.4cqi, 21px); font-weight: 600; letter-spacing: .1em; }
.community-banner__eyebrow::before { content: ""; flex: 0 0 52px; block-size: 3px; background: var(--cb-accent); }
.community-banner h2 { margin: 0; color: var(--cb-ink); font: 800 min(var(--cb-title), 5.6cqi)/1.17 Heebo, Arial, sans-serif; letter-spacing: -.035em; text-wrap: balance; }
.community-banner h2 em { color: var(--cb-accent); font-style: normal; }
.community-banner .community-banner__text { margin: 22px 0 0; color: var(--cb-muted); font-size: clamp(16px, 1.65cqi, 26px); line-height: 1.65; text-wrap: balance; }
.community-banner__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-block-start: 34px; }
.community-banner .community-banner__button { display: flex; align-items: center; gap: 14px; min-inline-size: 0; padding: 18px; border: 2px solid var(--cb-button); border-radius: 24px; background: linear-gradient(135deg, color-mix(in srgb, var(--cb-button) 24%, var(--cb-bg)), color-mix(in srgb, var(--cb-button) 7%, var(--cb-bg))); color: var(--cb-ink); text-decoration: none; transition: background .2s, box-shadow .2s; }
.community-banner.has-glow .community-banner__button { box-shadow: 0 0 22px color-mix(in srgb, var(--cb-button) 18%, transparent), inset 0 0 16px color-mix(in srgb, var(--cb-button) 9%, transparent); }
.community-banner .community-banner__button:hover { color: var(--cb-ink); text-decoration: none; background: color-mix(in srgb, var(--cb-button) 28%, var(--cb-bg)); }
.community-banner__button:focus-visible { outline: 3px solid var(--cb-ink); outline-offset: 4px; }
.community-banner__icon { display: grid; place-items: center; flex: 0 0 48px; color: var(--cb-button); }
.community-banner__icon .icon { inline-size: 44px; block-size: 44px; }
.community-banner__button-copy { flex: 1; min-inline-size: 0; padding-inline-start: 14px; border-inline-start: 1px solid color-mix(in srgb, var(--cb-button) 35%, transparent); }
.community-banner__button-copy strong { display: block; font-size: clamp(14px, 1.15cqi, 19px); font-weight: 700; line-height: 1.4; }
.community-banner__button-copy small { display: block; margin-block-start: 4px; color: var(--cb-muted); font-size: clamp(12px, .95cqi, 16px); line-height: 1.4; }
.community-banner__arrow { flex: 0 0 22px; display: grid; place-items: center; }
.community-banner__arrow .icon { inline-size: 22px; block-size: 22px; }
.community-banner__points { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 18px 0 0; padding: 0; list-style: none; color: var(--cb-muted); font-size: 14px; }
.community-banner__points li::before { content: "•"; color: var(--cb-accent); margin-inline-end: 8px; }
.hp--cinema-latest > .hp-sec--join { padding: 0; background: #081725; }
@container community-banner (max-width: 1150px) {
 .community-banner__content { inline-size: max(var(--cb-content), 62%); }
 .community-banner__actions { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-block-start: 24px; }
 .community-banner__button { padding: 14px 18px; border-radius: 20px; }
}
@container community-banner (max-width: 700px) {
 .community-banner__backdrop { block-size: 300px; }
 .community-banner__backdrop img { object-position: var(--cb-mobile-x) center; }
 .community-banner__inner { min-block-size: var(--cb-mobile-height); padding: 230px 22px 30px; align-items: flex-end; background: linear-gradient(to bottom, transparent 130px, color-mix(in srgb, var(--cb-bg) var(--cb-shade), transparent) 260px, var(--cb-bg) 340px); }
 .community-banner__content { inline-size: 100%; }
 .community-banner .community-banner__eyebrow { font-size: 12px; margin-block-end: 14px; gap: 12px; }
 .community-banner__eyebrow::before { flex-basis: 32px; block-size: 2px; }
 .community-banner h2 { font-size: var(--cb-mobile-title); line-height: 1.2; }
 .community-banner .community-banner__text { margin-block-start: 16px; font-size: 16px; line-height: 1.6; }
 .community-banner__actions { margin-block-start: 24px; }
 .community-banner__button-copy strong { font-size: 15px; }
 .community-banner__icon { flex-basis: 38px; }
 .community-banner__icon .icon { inline-size: 36px; block-size: 36px; }
}
@media (prefers-reduced-motion: reduce) { .community-banner__button { transition: none; } }

/* Newsletter uses the same image, type and spacing frame as the community. */
.newsletter-banner__flight { display: flex; align-items: center; justify-content: center; gap: 10px; inline-size: 74%; margin: 0 0 22px auto; color: var(--cb-accent); }
[dir="rtl"] .newsletter-banner__flight { margin-inline: 0 auto; }
.newsletter-banner__flight > .icon { inline-size: 46px; block-size: 46px; flex-shrink: 0; transform: rotate(-14deg); stroke-width: 1.4; }
.newsletter-banner__flight > svg:not(.icon) { inline-size: min(70%, 320px); block-size: 52px; opacity: .7; }
.newsletter-banner__flight .icon--telegram { fill: color-mix(in srgb, var(--cb-accent) 25%, transparent); }
.newsletter-banner.has-glow .newsletter-banner__flight > .icon { filter: drop-shadow(0 0 9px color-mix(in srgb, var(--cb-accent) 45%, transparent)); }
.newsletter-banner .community-banner__text { margin-block-start: 18px; }
.newsletter-banner__form { display: flex; align-items: stretch; gap: 4px; inline-size: 100%; min-inline-size: 0; padding: 4px; margin-block-start: 26px; border: 1px solid color-mix(in srgb, var(--cb-muted) 26%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--cb-bg) 80%, transparent); }
.newsletter-banner__email { display: flex; align-items: center; gap: 12px; flex: 1; min-inline-size: 0; padding-inline: 16px 8px; color: var(--cb-muted); cursor: text; }
.newsletter-banner__email > .icon { flex: 0 0 24px; inline-size: 24px; block-size: 24px; stroke-width: 1.6; }
.newsletter-banner .newsletter-banner__email input { inline-size: 100%; min-inline-size: 0; min-block-size: 54px; padding: 8px 0; border: 0; border-radius: 0; outline: 0; box-shadow: none; background: transparent; color: var(--cb-ink); font: 400 16px/1.5 Heebo, Arial, sans-serif; text-align: start; }
.newsletter-banner__email input::placeholder { color: var(--cb-muted); opacity: .85; }
.newsletter-banner__email input:disabled { opacity: .7; cursor: default; }
.newsletter-banner__form:focus-within { outline: 2px solid var(--cb-accent); outline-offset: 4px; }
.newsletter-banner .newsletter-banner__submit { display: inline-flex; align-items: center; justify-content: center; gap: 16px; flex: 0 0 auto; min-block-size: 54px; padding: 12px 24px; margin: 0; border: 1px solid transparent; border-radius: 999px; background: var(--cb-accent); color: #fff; font: 700 16px/1.4 Heebo, Arial, sans-serif; text-decoration: none; cursor: pointer; transition: filter .2s; }
.newsletter-banner__submit .icon { inline-size: 22px; block-size: 22px; }
.newsletter-banner .newsletter-banner__submit:hover { filter: brightness(1.1); color: #fff; text-decoration: none; }
.newsletter-banner__submit:focus-visible { outline: 2px solid var(--cb-ink); outline-offset: 4px; }
.newsletter-banner__submit:disabled { cursor: default; opacity: .65; }
.newsletter-banner.has-glow .newsletter-banner__submit:not(:disabled) { box-shadow: 0 0 22px color-mix(in srgb, var(--cb-accent) 20%, transparent); }
.newsletter-banner .newsletter-banner__link { margin-block-start: 26px; }
.newsletter-banner__note { margin: 10px 12px 0; color: var(--cb-muted); font-size: 12px; line-height: 1.6; }
.newsletter-banner__embed { margin-block-start: 26px; max-inline-size: 100%; }
.newsletter-banner__embed input, .newsletter-banner__embed iframe { max-inline-size: 100%; }
.newsletter-banner__benefits { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; margin: 30px 0 0; padding: 0; list-style: none; }
.newsletter-banner__benefits li { display: flex; flex-direction: column; align-items: center; gap: 10px; min-inline-size: 0; padding-inline: 14px; color: var(--cb-ink); text-align: center; font-size: 14px; line-height: 1.5; }
.newsletter-banner__benefits li + li { border-inline-start: 1px solid color-mix(in srgb, var(--cb-muted) 24%, transparent); }
.newsletter-banner__benefits .icon { inline-size: 30px; block-size: 30px; color: var(--cb-accent); stroke-width: 1.5; }
.newsletter-banner.has-glow .newsletter-banner__benefits .icon { filter: drop-shadow(0 0 6px color-mix(in srgb, var(--cb-accent) 22%, transparent)); }
.hp--cinema-latest > .hp-sec--newsletter { padding: 0; background: #081725; }
@container community-banner (max-width: 1100px) and (min-width: 701px) {
 .newsletter-banner__flight { margin-block-end: 16px; }
 .newsletter-banner__form { flex-wrap: wrap; border-radius: 22px; }
 .newsletter-banner__email { flex-basis: 100%; }
 .newsletter-banner .newsletter-banner__submit { inline-size: 100%; min-block-size: 46px; }
}
@container community-banner (max-width: 700px) {
 .newsletter-banner__flight { inline-size: 62%; margin-block-end: 16px; }
 .newsletter-banner__flight > .icon { inline-size: 30px; block-size: 30px; }
 .newsletter-banner__flight > svg:not(.icon) { block-size: 32px; }
 .newsletter-banner__form { flex-wrap: wrap; border-radius: 22px; margin-block-start: 22px; padding: 5px; }
 .newsletter-banner__email { flex-basis: 100%; padding-inline: 10px; }
 .newsletter-banner .newsletter-banner__email input { min-block-size: 48px; font-size: 15px; }
 .newsletter-banner .newsletter-banner__submit { inline-size: 100%; min-block-size: 46px; padding: 10px 18px; font-size: 15px; }
 .newsletter-banner__benefits { margin-block-start: 24px; }
 .newsletter-banner__benefits li { padding-inline: 8px; font-size: 12px; gap: 8px; }
 .newsletter-banner__benefits .icon { inline-size: 25px; block-size: 25px; }
}
@media (prefers-reduced-motion: reduce) { .newsletter-banner__submit { transition: none; } }


/* Preserve the complete community artwork; extend its colours into the edges. */
.community-banner:not(.newsletter-banner) .community-banner__backdrop { isolation:isolate; overflow:hidden; }
.community-banner:not(.newsletter-banner) .community-banner__backdrop::before { content:""; position:absolute; inset:-24px; z-index:-1; background:var(--cb-image) var(--cb-x) center / cover no-repeat; filter:blur(20px) brightness(.72); }
.community-banner:not(.newsletter-banner) .community-banner__backdrop img { object-fit:contain; object-position:var(--cb-x) center; mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent); mask-composite:intersect; }
.community-banner:not(.newsletter-banner) .community-banner__backdrop::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(to bottom,color-mix(in srgb,var(--cb-bg) 45%,transparent),transparent 15% 80%,var(--cb-bg)); }
@container community-banner (max-width:700px) {
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::before { background-image:var(--cb-mobile-image); background-position:var(--cb-mobile-x) center; }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop img { object-position:var(--cb-mobile-x) center; }
}

/* Stable, softly lit community actions over the artwork. */
.community-banner .community-banner__button {
 position:relative; isolation:isolate; overflow:hidden; gap:12px; padding:16px 18px; border:1px solid color-mix(in srgb,var(--cb-button) 36%,transparent); border-radius:14px;
 background:color-mix(in srgb,var(--cb-bg) 88%,transparent); color:var(--cb-ink); box-shadow:inset 0 1px 0 rgb(255 255 255 / 5%); transform:none; transition:border-color .28s ease,color .28s ease; -webkit-tap-highlight-color:transparent;
}
.community-banner .community-banner__button::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(115deg,color-mix(in srgb,var(--cb-button) 16%,transparent),color-mix(in srgb,var(--cb-button) 4%,transparent)); opacity:0; transition:opacity .28s ease; }
.community-banner.has-glow .community-banner__button { box-shadow:inset 0 1px 0 rgb(255 255 255 / 5%); }
.community-banner .community-banner__button:is(:hover,:active) { background:color-mix(in srgb,var(--cb-bg) 88%,transparent); color:var(--cb-ink); text-decoration:none; transform:none; box-shadow:inset 0 1px 0 rgb(255 255 255 / 5%); }
.community-banner .community-banner__icon { flex-basis:34px; }
.community-banner .community-banner__icon .icon { inline-size:28px; block-size:28px; stroke-width:1.5; }
.community-banner .community-banner__button-copy { padding-inline-start:12px; border-color:color-mix(in srgb,var(--cb-button) 24%,transparent); }
.community-banner .community-banner__button-copy strong { font-size:15px; font-weight:600; line-height:1.45; }
.community-banner .community-banner__button-copy small { margin-block-start:3px; font-size:12px; line-height:1.5; }
.community-banner .community-banner__arrow { color:var(--cb-muted); transition:color .28s ease; }
.community-banner .community-banner__arrow .icon { inline-size:18px; block-size:18px; stroke-width:1.5; transform:var(--icon-direction,none); }
@media (hover:hover) and (pointer:fine) {
 .community-banner .community-banner__button:hover { border-color:color-mix(in srgb,var(--cb-button) 65%,transparent); }
 .community-banner .community-banner__button:hover::before { opacity:1; }
 .community-banner .community-banner__button:hover .community-banner__arrow { color:var(--cb-ink); }
}
.community-banner .community-banner__button:focus-visible { outline:2px solid var(--cb-ink); outline-offset:4px; border-color:var(--cb-button); }
@container community-banner (max-width:700px) {
 .community-banner .community-banner__button { padding:13px 14px; gap:10px; border-radius:12px; }
 .community-banner .community-banner__icon { flex-basis:30px; }
 .community-banner .community-banner__icon .icon { inline-size:26px; block-size:26px; }
}
@media (prefers-reduced-motion:reduce) {
 .community-banner .community-banner__button,.community-banner .community-banner__button::before,.community-banner .community-banner__arrow { transition:none; }
}

/* Fill desktop edges with the artwork's own colours, at full luminosity. */
.community-banner:not(.newsletter-banner) .community-banner__backdrop::before { inset:-36px; filter:blur(28px); background-size:cover; }
.community-banner:not(.newsletter-banner) .community-banner__backdrop img { mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent); }

/* On mobile the image defines its own height, with no contain letterboxing. */
@container community-banner (max-width:700px) {
 .community-banner:not(.newsletter-banner) .community-banner__backdrop { position:relative; inset:auto; display:block; inline-size:100%; block-size:auto; z-index:0; }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop img { display:block; inline-size:100%; block-size:auto; max-inline-size:none; object-fit:contain; mask-image:none; }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::before { content:none; }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::after { background:linear-gradient(to bottom,transparent 70%,var(--cb-bg)); }
 .community-banner:not(.newsletter-banner)::before { content:none; }
 .community-banner:not(.newsletter-banner) .community-banner__inner { min-block-size:0; padding:16px 22px 30px; background:var(--cb-bg); align-items:flex-start; }
}

/* Desktop community banner: fill the stage with the actual artwork. */
@container community-banner (min-width:701px) {
 .community-banner:not(.newsletter-banner) .community-banner__backdrop { inset:0; block-size:100%; }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop img { inline-size:100%; block-size:100%; object-fit:cover; object-position:var(--cb-x) center; mask-image:none; }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::before { content:none; }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::after { background:linear-gradient(to bottom,color-mix(in srgb,var(--cb-bg) 12%,transparent),transparent 18% 82%,color-mix(in srgb,var(--cb-bg) 45%,transparent)); }
}

/* Desktop edge extension: clear artwork in the center, soft colour at both sides. */
@container community-banner (min-width:701px) {
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::before { content:""; position:absolute; inset:-32px; z-index:-1; background:var(--cb-image) var(--cb-x) center / cover no-repeat; filter:blur(24px); }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop img { mask-image:linear-gradient(to right,transparent 0%,rgb(0 0 0 / .25) 2%,rgb(0 0 0 / .75) 5%,#000 9%,#000 91%,rgb(0 0 0 / .75) 95%,rgb(0 0 0 / .25) 98%,transparent 100%); mask-composite:add; }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::after { background:linear-gradient(to right,color-mix(in srgb,var(--cb-bg) 25%,transparent),transparent 12% 88%,color-mix(in srgb,var(--cb-bg) 25%,transparent)),linear-gradient(to bottom,color-mix(in srgb,var(--cb-bg) 10%,transparent),transparent 18% 82%,color-mix(in srgb,var(--cb-bg) 40%,transparent)); }
}

/* Desktop: a blurred duplicate fills the sides behind the complete sharp image. */
@container community-banner (min-width:701px) {
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::before { content:""; position:absolute; inset:-40px; z-index:-1; background:var(--cb-image) center / cover no-repeat; filter:blur(30px); }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop img { object-fit:contain; object-position:center; mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent); mask-composite:add; }
}

/* Extend the community artwork into the outer desktop gutters as well. */
@media (min-width:701px) {
 .community-banner:not(.newsletter-banner):is(.community-banner--contained,.community-banner--narrow) { inline-size:100%; border-radius:0; }
 .community-banner:not(.newsletter-banner) .community-banner__inner { inline-size:min(100%,var(--wrap,1200px)); margin-inline:auto; }
}
@container community-banner (min-width:701px) {
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::before { z-index:0; inset:-40px; background:var(--cb-image) center / cover no-repeat; filter:blur(26px); }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop img { position:relative; z-index:1; object-fit:contain; mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent); }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::after { z-index:2; }
}

/* Tighter title/subtitle spacing in community join buttons. */
.community-banner:not(.newsletter-banner) .community-banner__button-copy strong { line-height:1.25; }
.community-banner:not(.newsletter-banner) .community-banner__button-copy small { margin-block-start:1px; line-height:1.35; }

/* Community join actions echo the header's restrained controls. */
.community-banner:not(.newsletter-banner) .community-banner__button { gap:12px; padding:13px 15px; border:1px solid rgb(255 255 255 / 18%); border-radius:9px; background:color-mix(in srgb,var(--cb-bg) 84%,transparent); box-shadow:inset 0 1px 0 rgb(255 255 255 / 5%); transition:background-color .22s ease,border-color .22s ease; }
.community-banner:not(.newsletter-banner) .community-banner__button::before { content:none; }
.community-banner:not(.newsletter-banner) .community-banner__button:is(:hover,:active) { background:color-mix(in srgb,var(--cb-bg) 90%,#fff 10%); border-color:rgb(255 255 255 / 32%); transform:none; box-shadow:inset 0 1px 0 rgb(255 255 255 / 5%); }
.community-banner:not(.newsletter-banner) .community-banner__icon { flex:0 0 32px; color:var(--cb-button); }
.community-banner:not(.newsletter-banner) .community-banner__icon .icon { inline-size:28px; block-size:28px; stroke-width:1.25; }
.community-banner:not(.newsletter-banner) .community-banner__button-copy { padding-inline-start:12px; border-inline-start:1px solid rgb(255 255 255 / 16%); }
.community-banner:not(.newsletter-banner) .community-banner__button-copy strong { font-size:14px; font-weight:500; line-height:1.25; }
.community-banner:not(.newsletter-banner) .community-banner__button-copy small { font-size:11px; margin-block-start:2px; line-height:1.35; }
.community-banner:not(.newsletter-banner) .community-banner__arrow .icon { inline-size:16px; block-size:16px; stroke-width:1.25; }
@media (prefers-reduced-motion:reduce) { .community-banner:not(.newsletter-banner) .community-banner__button { transition:none; } }

/* Close-set labels in the community actions. */
.community-banner:not(.newsletter-banner) .community-banner__button-copy strong { line-height:1.15; }
.community-banner:not(.newsletter-banner) .community-banner__button-copy small { margin-block-start:0; line-height:1.2; }

/* Compact newsletter directly adjoining the footer. */
.prefooter-newsletter.is-compact { margin:0; padding:0; background:#090f15; border-block:1px solid rgb(255 255 255 / 10%); }
.prefooter-newsletter.is-compact .newsletter-banner { inline-size:100%; margin:0; border-radius:0; }
.prefooter-newsletter.is-compact .community-banner__backdrop { block-size:100%; opacity:.18; }
.prefooter-newsletter.is-compact .community-banner__inner { min-block-size:0; inline-size:min(100%,var(--wrap,1200px)); margin-inline:auto; padding:32px 24px; background:none; }
.prefooter-newsletter.is-compact .community-banner__content { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,1fr); gap:8px 36px; inline-size:100%; align-items:center; }
.prefooter-newsletter.is-compact .newsletter-banner__flight,.prefooter-newsletter.is-compact .community-banner__eyebrow,.prefooter-newsletter.is-compact .newsletter-banner__benefits { display:none; }
.prefooter-newsletter.is-compact .community-banner h2 { grid-column:1; margin:0; font-size:clamp(1.4rem,2vw,1.9rem); line-height:1.2; }
.prefooter-newsletter.is-compact .community-banner__text { grid-column:1; margin:0; font-size:13px; line-height:1.6; }
.prefooter-newsletter.is-compact :is(.newsletter-banner__form,.newsletter-banner__embed,.newsletter-banner__link) { grid-column:2; grid-row:1 / span 2; margin:0; }
.prefooter-newsletter.is-compact .newsletter-banner__note { grid-column:2; margin:0 10px; font-size:11px; }
.prefooter-newsletter.is-compact .newsletter-banner__email input,.prefooter-newsletter.is-compact .newsletter-banner__submit { min-block-size:40px; font-size:13px; }
.prefooter-newsletter.is-compact .newsletter-banner__submit { padding:8px 16px; gap:8px; }
.prefooter-newsletter.is-compact + .site-footer { margin-block-start:0; }
.home .hp { padding-block-end:0; }
@media (max-width:700px) {
 .prefooter-newsletter.is-compact .community-banner__inner { padding:24px 20px; }
 .prefooter-newsletter.is-compact .community-banner__content { grid-template-columns:minmax(0,1fr); gap:10px; }
 .prefooter-newsletter.is-compact :is(.newsletter-banner__form,.newsletter-banner__embed,.newsletter-banner__link,.newsletter-banner__note) { grid-column:1; grid-row:auto; }
 .prefooter-newsletter.is-compact .newsletter-banner__form { margin-block-start:4px; flex-wrap:nowrap; border-radius:12px; }
 .prefooter-newsletter.is-compact .newsletter-banner__email { flex:1; padding-inline:8px; }
 .prefooter-newsletter.is-compact .newsletter-banner__submit { inline-size:auto; flex:none; min-block-size:40px; }
}

/* Honour configured frame and focal point without losing the blended edges. */
@media(min-width:701px) {
 .community-banner:not(.newsletter-banner).community-banner--contained { inline-size:min(calc(100% - 32px),var(--wrap,1200px)); border-radius:var(--cb-radius); }
 .community-banner:not(.newsletter-banner).community-banner--narrow { inline-size:min(calc(100% - 32px),900px); border-radius:var(--cb-radius); }
}
@container community-banner (min-width:701px) {
 .community-banner:not(.newsletter-banner) .community-banner__backdrop img { object-position:var(--cb-x) center; }
 .community-banner:not(.newsletter-banner) .community-banner__backdrop::before { background-position:var(--cb-x) center; }
}
@container community-banner (max-width:700px) {
 .community-banner--mobile-fixed:not(.newsletter-banner) .community-banner__backdrop { position:absolute; inset:0; block-size:100%; z-index:-2; }
 .community-banner--mobile-fixed:not(.newsletter-banner) .community-banner__backdrop img { block-size:100%; object-fit:cover; object-position:var(--cb-mobile-x) center; }
 .community-banner--mobile-fixed:not(.newsletter-banner) .community-banner__inner { min-block-size:var(--cb-mobile-height); background:transparent; }
 .community-banner--mobile-fixed:not(.newsletter-banner)::before { content:""; }
}
.community-banner:not(.newsletter-banner).has-glow .community-banner__button { box-shadow:0 0 18px color-mix(in srgb,var(--cb-button) 16%,transparent); }
.community-banner:not(.newsletter-banner) .community-banner__button { color:var(--cb-ink); }

/* Newsletter closes the first footer column instead of forming a separate strip. */
.footer-column-newsletter { margin-block-start:24px; padding-block-start:20px; border-block-start:1px solid rgb(255 255 255 / 10%); }
.footer-column-newsletter .newsletter-banner { inline-size:100%; margin:0; border:0; border-radius:0; background:transparent; }
.footer-column-newsletter :is(.community-banner__backdrop,.newsletter-banner__flight,.community-banner__eyebrow,.newsletter-banner__benefits) { display:none; }
.footer-column-newsletter .newsletter-banner::before { content:none; }
.footer-column-newsletter .community-banner__inner { min-block-size:0; padding:0; }
.footer-column-newsletter .community-banner__content { inline-size:100%; }
.site-footer .footer-column-newsletter h2 { margin:0 0 8px; font-size:1.15rem; line-height:1.4; }
.site-footer .footer-column-newsletter .community-banner__text { margin:0 0 12px; font-size:12px; line-height:1.7; }
.footer-column-newsletter .newsletter-banner__form { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:5px; border-radius:9px; }
.footer-column-newsletter .newsletter-banner__email { flex:1 1 110px; min-inline-size:0; padding-inline:6px; }
.footer-column-newsletter .newsletter-banner__email input { min-inline-size:0; min-block-size:36px; font-size:12px; }
.footer-column-newsletter .newsletter-banner__submit { inline-size:auto; min-block-size:36px; padding:7px 10px; font-size:11px; }
.site-footer .footer-column-newsletter .newsletter-banner__note { margin:8px 0 0; font-size:10px; line-height:1.6; }

/* Compact multiline community headline on every screen. */
.community-banner:not(.newsletter-banner) h2 { line-height:1.06; }
/* Tighten the wide community banner without changing sidebar or newsletter variants. */
.community-banner:not(.newsletter-banner):not(.community-banner--widget) h2 { line-height:1; }
.community-banner:not(.newsletter-banner):not(.community-banner--widget) .community-banner__text { line-height:1.35; }

/* Sidebar banner variants use the shared content but keep a compact, legible frame. */
.community-banner--widget .community-banner__inner { min-block-size:var(--cb-height); padding:clamp(18px,5cqi,30px); align-items:flex-end; }
.community-banner--widget .community-banner__content { inline-size:100%; }
.community-banner--widget h2 { font-size:clamp(24px,11cqi,var(--cb-title)); line-height:1.15; }
.community-banner--widget .community-banner__text { margin-block-start:12px; font-size:15px; line-height:1.55; }
.community-banner--widget .community-banner__actions { grid-template-columns:minmax(0,1fr); gap:9px; margin-block-start:18px; }
.community-banner--widget .community-banner__button { padding:11px 12px; gap:9px; border-radius:12px; }
.community-banner--widget .community-banner__icon { flex-basis:30px; }
.community-banner--widget .community-banner__icon .icon { inline-size:26px; block-size:26px; }
.community-banner--widget .community-banner__button-copy { padding-inline-start:9px; }
.community-banner--widget .community-banner__button-copy strong { font-size:13px; }
.community-banner--widget .community-banner__button-copy small { font-size:11px; }
.community-banner--widget .community-banner__points { display:grid; gap:6px; margin-block-start:12px; font-size:12px; }
.community-banner--widget:not(.newsletter-banner) .community-banner__backdrop img { object-fit:cover; mask-image:none; }
.community-banner--widget:not(.newsletter-banner) .community-banner__backdrop::before { content:""; position:absolute; inset:-24px; z-index:-1; background:var(--cb-image) var(--cb-x) center / cover no-repeat; filter:blur(20px) brightness(.72); }
.community-banner--widget.newsletter-banner .newsletter-banner__flight { display:none; }
.community-banner--widget.newsletter-banner .newsletter-banner__form { flex-wrap:wrap; margin-block-start:16px; border-radius:14px; }
.community-banner--widget.newsletter-banner .newsletter-banner__email { flex-basis:100%; padding-inline:9px; }
.community-banner--widget.newsletter-banner .newsletter-banner__email input { min-block-size:44px; font-size:14px; }
.community-banner--widget.newsletter-banner .newsletter-banner__submit { inline-size:100%; min-block-size:44px; padding:9px 14px; font-size:14px; }
.community-banner--widget.newsletter-banner .newsletter-banner__benefits { grid-auto-flow:row; grid-template-columns:1fr; gap:8px; margin-block-start:18px; }
.community-banner--widget.newsletter-banner .newsletter-banner__benefits li { flex-direction:row; gap:10px; padding:0; text-align:start; }
.community-banner--widget.newsletter-banner .newsletter-banner__benefits li + li { border:0; }
@container community-banner (max-width:700px) {
 .community-banner--widget .community-banner__backdrop { position:absolute; inset:0; display:block; inline-size:auto; block-size:100%; z-index:-2; }
 .community-banner--widget .community-banner__backdrop img { inline-size:100%; block-size:100%; object-fit:cover; }
 .community-banner--widget .community-banner__inner { min-block-size:var(--cb-height); padding:22px 18px; align-items:flex-end; background:linear-gradient(to bottom,transparent 8%,color-mix(in srgb,var(--cb-bg) 48%,transparent) 38%,var(--cb-bg) 100%); }
 .community-banner--widget .community-banner__content { inline-size:100%; }
 .community-banner--widget .community-banner__text { font-size:14px; }
 .community-banner--widget .community-banner__actions { margin-block-start:14px; }
}

