/* Homepage section-heading proportions; scoped to the report introduction. */
.catalog .visual-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:72px;align-items:end;padding:64px 0 52px;margin-bottom:24px;border-bottom:1px solid #501c3f;background:#fff;color:#111111}
.catalog .visual-intro .eyebrow{margin:0 0 28px;color:#111111;font-size:14px;font-weight:500;letter-spacing:.08em}
.catalog .visual-intro h1{font-size:clamp(40px,4.5vw,68px);font-weight:400;line-height:1.07;letter-spacing:-.045em;color:#111111;margin:0}
.catalog .visual-intro strong{font-weight:700}
.catalog .visual-intro .visual-description{font-size:18px;max-width:43ch;line-height:28px;margin:0;padding-bottom:4px;color:#111111}
.gallery-filters{display:flex;gap:24px;margin-bottom:24px}.gallery-filters button{padding:8px 0;min-height:48px;font-size:1rem;border-bottom:2px solid transparent}.gallery-filters [aria-pressed=true]{border-color:#111;font-weight:600}.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding-bottom:80px}.visual-report{position:relative;min-width:0;isolation:isolate}.reveal-report{width:100%;display:block;padding:0}.reveal-report>img{width:100%;height:auto;aspect-ratio:1400/990;object-fit:contain}.report-overlay{position:absolute;inset:0;background:rgb(17 17 17 / 78%);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(16px,2.2vw,32px);gap:16px;opacity:0;visibility:hidden;transition:opacity 220ms ease;pointer-events:none}.visual-report:focus-within .report-overlay,.visual-report.is-revealed .report-overlay{opacity:1;visibility:visible;pointer-events:auto}.overlay-meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.catalog .overlay-meta h2{font-size:1rem;line-height:1.4;letter-spacing:0;font-weight:700;margin:0}.overlay-meta p{font-size:1rem;font-weight:400;white-space:nowrap}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:440px;width:100%;align-self:center;min-height:0}.preview-thumb{padding:0;min-height:44px;border:1px solid #ffffff55;overflow:hidden}.preview-thumb img{width:100%;height:100%;aspect-ratio:1400/990;object-fit:contain}.preview-thumb:hover{border-color:white}.catalog .report-overlay button:focus-visible{outline:3px solid white;outline-offset:3px}.visual-report.is-revealing{animation:cover-arrive 480ms ease both;animation-delay:var(--reveal-delay,0ms)}
@media(hover:hover){.visual-report:hover .report-overlay{opacity:1;visibility:visible;pointer-events:auto}}
@keyframes cover-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.catalog #preview-dialog{padding:0;border:0;background:#111;color:#fff;width:min(1440px,96vw);height:94dvh;max-width:96vw;max-height:94dvh;margin:auto;overflow:hidden}.catalog #preview-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:cover-arrive 180ms ease}.catalog #preview-dialog::backdrop{background:#111b}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;border-bottom:1px solid #ffffff30}.catalog .preview-head h2{font-size:1.125rem;line-height:1.4;font-weight:700;letter-spacing:0;margin:0}.preview-head p{font-size:1rem}.preview-head button,.preview-controls button{min-width:48px;min-height:48px;color:#fff;border:1px solid #ffffff70;padding:8px 16px}.preview-stage{min-height:0;position:relative;display:grid;place-items:center;padding:16px;touch-action:pan-y}.preview-stage img{max-width:100%;width:100%;height:100%;min-height:0;object-fit:contain}.preview-stage img.is-loading{opacity:0}.preview-stage img:not(.is-loading){animation:slide-arrive 180ms ease}.preview-stage p{position:absolute;background:#111c;padding:8px}.preview-stage p:empty{display:none}.preview-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-top:1px solid #ffffff30}.preview-controls>div{display:flex;align-items:center;gap:16px}.preview-controls .buy{font-size:1rem;min-height:48px;margin:0}.catalog #preview-dialog :focus-visible{outline:3px solid white;outline-offset:3px}body.preview-open{overflow:hidden}@keyframes slide-arrive{from{opacity:.4}to{opacity:1}}
@media(max-width:700px){.catalog .visual-intro{grid-template-columns:1fr;gap:24px;padding:32px 0;margin-bottom:16px}.catalog .visual-intro .eyebrow{margin-bottom:20px}.catalog .visual-intro h1{font-size:42px}.catalog .visual-intro .visual-description{font-size:16px;line-height:25px;max-width:42ch;padding-bottom:0}.visual-grid{grid-template-columns:1fr;gap:24px;padding-bottom:48px}.report-overlay{padding:16px;gap:12px}.overlay-meta{gap:4px;flex-wrap:wrap}.overlay-meta h2,.overlay-meta p{font-size:.875rem!important}.preview-grid{gap:8px;width:85%}.preview-head,.preview-controls{padding:12px;gap:12px}.preview-controls{flex-wrap:wrap}.preview-controls .buy{margin-left:auto}.preview-stage{padding:8px}.gallery-filters{gap:24px}}
@media(prefers-reduced-motion:reduce){.visual-report,.catalog #preview-dialog,.preview-stage img{animation:none!important}.report-overlay{transition:none}}
.visual-report .report-overlay{pointer-events:none!important}.visual-report .preview-thumb{pointer-events:auto}
@media(max-width:400px){.preview-grid{width:64%}.report-overlay{gap:8px}.overlay-meta{display:block}.overlay-meta p{line-height:1.4}}

/* Review: readable slide zoom and explicit keyboard dismissal. */
.preview-actions{display:flex;gap:8px;flex-shrink:0}.preview-stage{overflow:auto}.preview-stage.is-zoomed{display:block;touch-action:pan-x pan-y}.preview-stage.is-zoomed img{width:1400px;max-width:none;height:auto;min-height:0;object-fit:initial}.visual-report.is-dismissed .report-overlay{opacity:0;visibility:hidden}
@media(max-width:700px){.preview-head{flex-wrap:wrap}.preview-actions{margin-left:auto}.preview-head h2{font-size:1rem!important}.preview-head p{font-size:.875rem}}
/* Intrinsic widths must not force the tablet layout wider at 200% text. */
.visual-intro>*{min-width:0}.catalog .visual-intro h1{overflow-wrap:anywhere}
.overlay-meta{flex-wrap:wrap;min-width:0}.overlay-meta p{white-space:normal;overflow-wrap:anywhere}
.report-overlay{overflow:auto}.preview-grid{flex-shrink:0}

/* Report context: editorial blocks below the cover gallery. */
.catalog .report-context{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px 72px;padding:64px;background:#f4f5dc;color:#111;margin:0 0 96px;}
.catalog .report-context p,.catalog .report-membership p{font-size:18px;line-height:1.65;font-weight:400;color:#111;margin:0;max-width:65ch;}
.catalog .report-context .eyebrow,.catalog .report-membership .eyebrow{font-size:14px;letter-spacing:.1em;font-weight:600;margin:0 0 24px;}
.catalog .report-context h2,.catalog .report-membership h2{font-size:clamp(36px,4vw,56px);font-weight:400;line-height:1.1;letter-spacing:-.04em;color:#111;margin:0 0 32px;text-transform:none;}
.catalog .report-context strong,.catalog .report-membership strong{font-weight:700;}
.catalog .report-volume{grid-column:1;}
.catalog .report-volume h3{font-size:28px;font-weight:400;line-height:1.25;letter-spacing:-.02em;color:#111;margin:0 0 24px;text-transform:none;}
.catalog .report-horizons{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0;padding:0;list-style:none;}
.catalog .report-horizons li{display:flex;gap:24px;padding:28px 0;border-top:1px solid #1113;}
.catalog .report-horizons li:last-child{border-bottom:1px solid #1113;}
.catalog .horizon-number{font-size:14px;line-height:30px;color:#111;}
.catalog .report-horizons h3{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.02em;color:#111;margin:0 0 8px;text-transform:none;}
.catalog .report-membership{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;margin-bottom:96px;}
.catalog .report-membership p+p{margin-top:24px;}
.catalog .membership-image{width:100%;height:auto;display:block;}
.catalog .membership-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:64px;margin-top:40px;padding:16px 24px;background:#e9ee65;color:#111;font-size:18px;font-weight:600;text-decoration:none;transition:background 180ms ease;}
.catalog .membership-cta span{font-size:32px;line-height:1;}
.catalog .membership-cta:hover{background:#dce449;}
.catalog .membership-cta:focus-visible{outline:3px solid #111;outline-offset:5px;}
@media(max-width:900px){.catalog .report-context{padding:40px;gap:40px;grid-template-columns:1fr; margin-bottom:64px;}.catalog .report-horizons{grid-column:auto;grid-row:auto;}.catalog .report-membership{grid-template-columns:1fr;gap:40px;margin-bottom:64px;}.catalog .membership-image{max-width:640px;justify-self:center;}}
@media(max-width:480px){.catalog .report-context{padding:32px 24px;}.catalog .report-context p,.catalog .report-membership p{font-size:16px;}.catalog .report-context h2,.catalog .report-membership h2{font-size:36px;}.catalog .report-horizons h3{font-size:22px;}.catalog .report-volume h3{font-size:26px;}.catalog .membership-cta{width:100%;box-sizing:border-box;}}
@media(prefers-reduced-motion:reduce){.catalog .membership-cta{transition:none;}}
