/* Light hero proposals share Home3's typography, atmosphere and folded planes. */
.light-hero {
 position: relative;
 isolation: isolate;
 overflow: hidden;
 color: #0c0c0e;
 background: radial-gradient(ellipse at 83% 52%, rgb(227 16 72 / 10%), transparent 48%), linear-gradient(165deg, #fff 18%, #f7f7f8 85%);
}
.light-hero::before {
 content: "";
 position: absolute;
 z-index: -1;
 width: 660px;
 height: 345px;
 top: -130px;
 right: -120px;
 background: url('/assets/img/decor/texture-gris.svg?v=horizontal-2') center / contain no-repeat;
 opacity: .5;
 pointer-events: none;
}
.light-hero__inner { max-width: 1440px; margin-inline: auto; padding: 32px var(--gutter) 28px; }
.light-hero__breadcrumb { margin: 0; font-size: 12px; color: #62626c; }
.light-hero__breadcrumb a { color: inherit; text-decoration: none; }
.light-hero__breadcrumb a:hover { color: var(--text-accent); }
.light-hero__breadcrumb span { margin-inline: 12px; }
.light-hero__layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 56px; min-height: 520px; padding-block: 48px; }
.light-hero__copy { position: relative; z-index: 2; min-width: 0; }
.light-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin: 0 0 26px; font-size: 11px; font-weight: 500; letter-spacing: .2em; color: var(--text-accent); text-transform: uppercase; }
.light-hero__eyebrow::before { content: ""; width: 36px; height: 1px; flex-shrink: 0; background: #e91048; }
.light-hero h1 { margin: 0; font-family: var(--font-heading); font-weight: 700; line-height: .96; letter-spacing: -.025em; text-transform: uppercase; }
.light-hero__lead { display: block; font-size: clamp(36px, 4.1vw, 60px); }
.light-hero__emphasis { display: block; font-size: clamp(64px, 7.4vw, 112px); margin-top: 8px; }
.light-hero__red { color: var(--text-accent); }
.light-hero__since { display: block; margin-top: 20px; font-size: 28px; letter-spacing: .04em; }
.light-hero__text { max-width: 500px; margin: 28px 0 0; color: #62626c; font-size: 18px; line-height: 1.6; }
.light-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 28px; }
.light-hero__button { display: inline-flex; align-items: center; gap: 28px; min-height: 48px; padding: 14px 22px; background: #0c0c0e; color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border: 0; cursor: pointer; transition: background .2s; }
.light-hero__button:hover { background: #bd0938; }
.light-hero__link { display: inline-flex; gap: 16px; align-items: center; color: var(--text-accent); font-size: 13px; text-decoration: none; }
.light-hero__visual { position: relative; isolation: isolate; min-width: 0; }
/* One photograph and one small detail form a human counterpart to the portals. */
.light-hero__photo { position: relative; margin: 0 32px 34px 0; }
.light-hero__photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #db1045; clip-path: polygon(0 12%, 72% 0, 100% 0, 100% 100%, 0 100%); transform: translate(9px, 12px); }
.light-hero__photo > img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; clip-path: polygon(0 12%, 72% 0, 100% 0, 100% 100%, 0 100%); }
.light-hero__detail { position: absolute; right: 0; bottom: -34px; width: 38%; border: 6px solid #fff; background: #fff; box-shadow: 0 12px 28px rgb(53 15 28 / 10%); }
.light-hero__detail img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.light-hero__caption { display: flex; align-items: center; gap: 12px; margin: 22px 0 0; color: #62626c; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.light-hero__caption::before { content: ""; width: 24px; height: 1px; background: #e91048; }
.light-hero__visual::before { content: ""; position: absolute; z-index: -1; width: 100%; height: 60%; top: 27%; left: 13%; background: linear-gradient(115deg, #f11850, #c9073e 65%, #94032e); clip-path: polygon(0 70%, 34% 10%, 64% 42%, 100% 0, 100% 50%, 64% 100%, 34% 55%); opacity: .9; }
.light-hero__foot { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding-top: 20px; border-top: 1px solid rgb(12 12 14 / 10%); font-size: 12px; color: #62626c; }
.light-hero__foot p { margin: 0; }
.light-hero__foot strong { color: #0c0c0e; font-weight: 500; }
@media (min-width: 1600px) {
 .light-hero__layout { min-height: 600px; }
}
@media (max-width: 1023px) {
 .light-hero__layout { gap: 32px; min-height: 480px; }
 .light-hero__lead { font-size: 36px; }
 .light-hero__emphasis { font-size: 66px; }
 .light-hero__text { font-size: 16px; }
 .light-hero__photo { margin-right: 16px; }
}
@media (max-width: 767px) {
 .light-hero__inner { padding-top: 22px; padding-bottom: 24px; }
 .light-hero::before { width: 460px; top: -170px; right: -280px; opacity: .4; }
 .light-hero__layout { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-block: 36px 28px; gap: 36px; }
 .light-hero__eyebrow { margin-bottom: 20px; font-size: 10px; }
 .light-hero__lead { font-size: clamp(32px, 8.6vw, 44px); }
 .light-hero__emphasis { font-size: clamp(54px, 14.4vw, 78px); }
 .light-hero__since { font-size: 24px; margin-top: 14px; }
 .light-hero__text { margin-top: 22px; }
 .light-hero__actions { gap: 20px; margin-top: 24px; }
 .light-hero__photo { margin: 0 30px 28px 0; }
 .light-hero__photo > img { aspect-ratio: 5 / 3; }
 .light-hero__detail { width: 34%; bottom: -28px; border-width: 4px; }
 .light-hero__caption { margin-top: 18px; font-size: 10px; }
 .light-hero__foot { align-items: flex-start; gap: 16px; font-size: 11px; }
 .light-hero__foot .light-hero__link { font-size: 11px; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
 .light-hero__button { transition: none; }
}
/* Keep the whole composition visible on shorter laptop screens. */
@media (min-width: 1024px) and (max-height: 800px) {
 .light-hero__inner { padding-block: 24px; }
 .light-hero__layout { min-height: 460px; padding-block: 28px; }
 .light-hero__lead { font-size: 48px; }
 .light-hero__emphasis { font-size: 96px; }
 .light-hero__text { font-size: 16px; margin-top: 24px; }
 .light-hero__photo > img { aspect-ratio: 5 / 3; }
}

/* About: an editorial composition connects the signature to all four divisions. */
.light-hero--about-editorial { background: radial-gradient(ellipse at 94% 22%, rgb(227 16 72 / 9%), transparent 48%), linear-gradient(165deg, #fff 25%, #f7f7f8 90%); }
.light-hero--about-editorial::before { right: -180px; top: -160px; }
.light-about__headline { display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: end; gap: 72px; padding: 52px 0 32px; }
.light-about__lead { display: block; font-size: clamp(42px, 4.5vw, 64px); }
.light-about__word { display: block; margin-top: 8px; font-size: clamp(112px, 12vw, 176px); letter-spacing: -.035em; }
.light-about__signature { padding: 0 0 12px 32px; border-left: 1px solid rgb(12 12 14 / 12%); }
.light-about__signature > span { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--text-accent); }
.light-about__signature strong { display: block; margin-top: 4px; font-family: var(--font-heading); font-size: 80px; line-height: 1; letter-spacing: -.025em; }
.light-about__signature p { margin: 16px 0 0; color: #62626c; font-size: 16px; line-height: 1.5; }
.light-about__intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 64px; padding-bottom: 40px; }
.light-about__intro .light-hero__text { max-width: 640px; margin: 0; }
.light-about__intro .light-hero__actions { flex-direction: column; align-items: flex-start; gap: 16px; margin: 0; }
.light-about__divisions { padding-top: 24px; border-top: 1px solid rgb(12 12 14 / 10%); }
.light-about__division-label { margin: 0 0 20px; color: #62626c; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.light-about__divisions ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
.light-about__divisions li { min-width: 0; }
.light-about__divisions a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 96px; padding: 20px 20px 20px 0; border-bottom: 2px solid #db1045; color: #0c0c0e; text-decoration: none; transition: color .2s, border-color .2s; }
.light-about__divisions strong { display: block; font-family: var(--font-heading); font-size: 30px; line-height: 1; text-transform: uppercase; }
.light-about__division-detail { display: block; margin-top: 8px; color: #62626c; font-size: 12px; }
.light-about__divisions svg { color: var(--text-accent); flex-shrink: 0; transition: transform .2s; }
.light-about__divisions a:is(:hover, :focus-visible) { color: var(--text-accent); }
.light-about__divisions a:is(:hover, :focus-visible) svg { transform: translateX(4px); }
/* News stays compact so the journal follows immediately below the hero. */
.light-hero--news { background: radial-gradient(ellipse at 86% 65%, rgb(227 16 72 / 8%), transparent 44%), linear-gradient(165deg, #fff 25%, #f7f7f8 90%); }
.light-hero--news::before { top: -160px; right: -160px; opacity: .4; }
.light-hero--news::after { content: ""; position: absolute; z-index: -1; right: -150px; top: 88px; width: 520px; height: 190px; background: linear-gradient(115deg, rgb(241 24 80 / 10%), rgb(201 7 62 / 3%)); clip-path: polygon(0 70%, 34% 10%, 64% 42%, 100% 0, 100% 50%, 64% 100%, 34% 55%); pointer-events: none; }
.light-news__headline { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 44px 0 32px; }
.light-news__headline .light-hero__eyebrow { margin-bottom: 16px; }
.light-news__headline h1 { font-size: clamp(96px, 9vw, 144px); }
.light-news__statement { margin: 12px 84px 0 0; font-family: var(--font-heading); font-size: 36px; font-weight: 600; line-height: 1.1; text-transform: uppercase; }
@media (max-width: 1023px) {
 .light-about__headline { grid-template-columns: minmax(0, 1fr) 200px; gap: 32px; padding-top: 40px; }
 .light-about__lead { font-size: 42px; }
 .light-about__word { font-size: 116px; }
 .light-about__signature { padding-left: 24px; }
 .light-about__signature strong { font-size: 64px; }
 .light-about__intro { gap: 32px; }
 .light-about__divisions ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .light-news__statement { margin-right: 20px; font-size: 30px; }
}
@media (max-width: 767px) {
 .light-about__headline { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 36px 0 28px; }
 .light-about__lead { font-size: clamp(30px, 8.6vw, 44px); }
 .light-about__word { font-size: clamp(84px, 24vw, 128px); }
 .light-about__signature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; column-gap: 24px; padding: 20px 0 0; border-left: 0; border-top: 1px solid rgb(12 12 14 / 10%); }
 .light-about__signature > span { grid-column: 1; }
 .light-about__signature strong { grid-column: 1; font-size: 52px; }
 .light-about__signature p { grid-column: 2; grid-row: 1 / 3; margin: 0; font-size: 14px; }
 .light-about__intro { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-bottom: 28px; }
 .light-about__intro .light-hero__actions { flex-direction: row; align-items: center; gap: 20px; }
 .light-about__divisions { padding-top: 20px; }
 .light-about__divisions ul { gap: 12px 20px; }
 .light-about__divisions a { padding: 16px 0; min-height: 82px; gap: 8px; }
 .light-about__divisions strong { font-size: 24px; }
 .light-about__division-detail { font-size: 11px; line-height: 1.4; }
 .light-about__division-label { font-size: 10px; letter-spacing: .1em; }
 .light-news__headline { align-items: flex-end; gap: 20px; padding-block: 36px 28px; }
 .light-news__headline h1 { font-size: clamp(80px, 22vw, 112px); }
 .light-news__statement { margin: 0 0 6px; font-size: 22px; }
 .light-hero--news::before { right: -280px; top: -170px; }
 .light-hero--news::after { right: -260px; top: 90px; }
}
@media (min-width: 1024px) and (max-height: 800px) {
 .light-about__headline { padding-top: 32px; padding-bottom: 24px; }
 .light-about__lead { font-size: 48px; }
 .light-about__word { font-size: 132px; }
 .light-about__intro { padding-bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) {
 .light-about__divisions :is(a, svg) { transition: none; }
}
