/* Editorial layer: the existing BEASTLABEL palette, photography and type families. */
:root {
  --editorial-ink: #111210;
  --editorial-panel: #1b1d19;
  --editorial-rule: #454036;
  --editorial-paper: #ede7db;
  --editorial-gold: #d4b978;
}
.editorial-page { background: var(--editorial-ink); }
.editorial-index { display: block; color: var(--editorial-gold); font-family: var(--font-hero); font-size: clamp(3rem,6vw,5rem); line-height: 1; margin-bottom: 1.5rem; }
.editorial-page .editorial-jump a { min-height: 44px; display: inline-flex; align-items: center; }
.editorial-page .editorial-heading { font-family: var(--font-hero); font-size: clamp(2.5rem,4.8vw,4.5rem); text-transform: uppercase; }
.editorial-page .editorial-intro { position: relative; display: grid; grid-template-columns: minmax(0,1.6fr) minmax(200px,1fr); gap: 3rem; align-items: center; padding-block: 4rem; border-bottom: 1px solid var(--editorial-rule); }
.editorial-intro > p { margin: 0; max-width: 42ch; }
.editorial-intro .editorial-jump { display: grid; gap: 0; padding-left: 2rem; border-left: 1px solid var(--editorial-rule); }
.founder-profiles { padding-block: 4rem 2rem; }
.founder-profile { border: 0; padding: 0; gap: 0; margin-bottom: 5rem; background: var(--editorial-panel); }
.founder-profile__visual { position: sticky; top: 6rem; padding: 1rem; }
.founder-profile__visual img { border-radius: 0; aspect-ratio: 3 / 4; }
.founder-profile__visual > a { padding: 1.1rem .5rem .4rem; }
.founder-profile__copy { padding: clamp(1.5rem,3.8vw,4rem); }
.founder-profile h2 { font-family: var(--font-hero); font-weight: 400; font-size: clamp(2.2rem,3.7vw,3.4rem); text-transform: uppercase; }
.founder-profile__copy > p:first-of-type { font-size: 1.2rem; color: var(--editorial-paper); }
.founder-profile__copy > p { max-width: 62ch; }
.founder-profile:nth-child(even) { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); background: #26241e; }
.founder-profile:nth-child(even) .founder-profile__visual { grid-column: 2; grid-row: 1; }
.founder-profile:nth-child(even) .founder-profile__copy { grid-column: 1; grid-row: 1; }
.founder-functions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1.5rem; border-top: 1px solid var(--editorial-rule); }
.founder-functions li { padding: 1rem 0; color: var(--editorial-paper); font-size: .86rem; border-color: var(--editorial-rule); }
.founder-functions li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.company-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--editorial-rule); border: 1px solid var(--editorial-rule); }
.company-card { position: relative; border: 0; border-radius: 0; background: #191a17; padding: clamp(1.5rem,3vw,3rem); }
.company-card:nth-child(4n+2), .company-card:nth-child(4n+3) { background: #22231e; }
.company-card__index { position: absolute; top: 1.25rem; right: 1.5rem; color: #a3926e; font: 2.5rem/1 var(--font-hero); }
.company-card__logo { height: 110px; padding-right: 3rem; }
.company-card__logo img { max-width: 230px; max-height: 95px; }
.company-card__kind { margin-top: .75rem; }
.company-card h3 { font-size: clamp(1.5rem,2.4vw,2.2rem); padding-right: 1rem; }
.company-card p { max-width: 50ch; }
.company-card:not(:has(.company-card__logo)) { justify-content: center; padding-block: 3.5rem; }
.company-feature { background: #25241e; gap: 0; border: 1px solid var(--editorial-rule); }
.company-feature > img { border-radius: 0; aspect-ratio: 4/3; height: 100%; }
.company-feature > div { padding: clamp(1.5rem,4vw,4rem); }
.company-feature .editorial-heading { font-size: clamp(2rem,3.5vw,3.4rem); }
.project-stories { gap: 2rem; }
.project-stories article { position: relative; background: var(--editorial-panel); padding: 0 1.5rem 1.5rem; border-bottom: 1px solid var(--editorial-gold); }
.project-stories img { width: calc(100% + 3rem); max-width: none; margin-inline: -1.5rem; border-radius: 0; filter: saturate(.8); }
.project-stories h3 { font-family: var(--font-hero); font-size: 2rem; }
.press-hero { position: relative; isolation: isolate; min-height: 550px; padding-block: calc(var(--nav-h) + 4rem) 3rem; }
.press-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#111210 25%,rgba(17,18,16,.85) 55%,rgba(17,18,16,.12)); }
.press-hero__photo { position: absolute; z-index: -2; right: 0; top: 0; width: 65%; height: 100%; object-fit: cover; filter: grayscale(1); }
.press-hero > p:not(.editorial-eyebrow) { max-width: 51ch; }
.press-hero .editorial-jump { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--editorial-rule); }
.press-hero .editorial-jump a { color: var(--editorial-paper); }
.press-section { display: grid; grid-template-columns: minmax(190px,.7fr) minmax(0,2fr); gap: 3rem; padding-block: 4rem; border-bottom: 1px solid var(--editorial-rule); }
.press-section__heading { align-self: start; position: sticky; top: 6rem; }
.press-section h2 { font-family: var(--font-hero); font-size: clamp(1.8rem,2.5vw,2.6rem); text-transform: uppercase; overflow-wrap: anywhere; hyphens: auto; }
.press-section .press-entry { grid-template-columns: 1fr auto; gap: .8rem 1.5rem; padding: 1.7rem; background: var(--editorial-panel); border: 0; margin-bottom: 1px; }
.press-section .press-entry__meta { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: .5rem 1rem; }
.press-section .press-entry__link { grid-column: 2; grid-row: 2; align-self: end; min-height: 44px; }
.press-entry h3 { line-height: 1.3; }
.press-entry__meta { font-variant-numeric: tabular-nums; }
.press-entry__body p { color: #c7c6bd; }
.editorial-return { padding-top: 2rem; }

/* Biographies keep their full copy; panels and the chronology set the reading rhythm. */
.person-page .person-layout { grid-template-columns: minmax(0,1fr) 270px; gap: clamp(2rem,4vw,4rem); }
.person-page .person-section { position: relative; }
.person-page #biografie, .person-page #rollen { padding: clamp(1.5rem,3.5vw,3rem); background: var(--editorial-panel); border: 1px solid #35382f; }
.person-page #biografie { border-top-color: var(--editorial-gold); }
.person-page .person-section__eyebrow { color: var(--editorial-gold); }
.person-page .person-section__title .gold-text { background: none; color: var(--editorial-gold); }
.person-page .person-copy { color: #cfcec4; line-height: 1.8; }
.person-page #biografie .person-copy > p:first-child { font-size: 1.15rem; color: var(--editorial-paper); margin-block: 1.75rem; }
.person-page .person-copy p { max-width: 65ch; }
.person-page #rollen { background: #24231d; }
.person-page #rollen > h3 { margin-block: 2rem 1rem; font-family: var(--font-display); font-weight: 500; }
.person-page .fact-card, .person-page .link-card { border-radius: 0; background: #1b1d19; box-shadow: none; backdrop-filter: none; border-color: #3a3c32; }
.person-page .fact-card__title, .person-page .link-card__title { font-size: 1.15rem; letter-spacing: .1em; }
.person-page .fact-list dt { color: #a8a99d; }
.person-page .fact-list > div { border-bottom: 1px solid #34372d; padding-bottom: .6rem; }
.person-page .fact-list dd { color: var(--editorial-paper); }
.person-page .official-links a { color: #d0cfbf; padding-left: 0; min-height: 44px; transition: color 180ms ease; }
.person-page .timeline { --tl-label: 6rem; --tl-gap: 2rem; }
.person-page .timeline::before { background: #63583f; }
.person-page .timeline__item { padding-block: 1.25rem; border-top: 1px solid #35372e; }
.person-page .timeline__year { font-size: 2.4rem; padding-top: 0; }
.person-page .timeline__year--label { font-size: .8rem; padding-top: .3rem; }
.person-page .timeline__content { color: #c9c9bf; font-size: .95rem; }
.person-page .timeline__content::before { box-shadow: none; border-color: var(--editorial-ink); }
.person-page .quote-card { border: 0; border-radius: 0; background: #c9ad70; box-shadow: none; backdrop-filter: none; padding: clamp(2rem,4vw,3rem); }
.person-page .quote-card::before { display: none; }
.person-page .quote-card blockquote { color: #171a14; font-size: clamp(1.5rem,2.2vw,2rem); line-height: 1.45; }
.person-page .quote-card cite { color: #353629; }
.person-page .project-card { border-radius: 0; box-shadow: none; background: #21231c; border-color: #414438; }
.person-page .project-card h3 { font-size: 1.5rem; }
.person-page .project-card p { color: #c5c7ba; font-size: .9rem; }
.person-page .person-cta { background: #26251e; border-radius: 0; border-color: #786947; }

/* The homepage introduction becomes an intentional chapter in the existing page. */
body:not(.editorial-page) #koepfe { background: #191b16; border-block: 1px solid #393c30; }
body:not(.editorial-page) #koepfe .people-intro { max-width: 760px; margin-inline: auto; }
body:not(.editorial-page) .company-overview-links { padding-block: 1.25rem 2rem; margin-bottom: 1rem; }
body:not(.editorial-page) #koepfe .profile--person { border-radius: 2px; }
.contact-copy__title { overflow-wrap: anywhere; hyphens: auto; }

@media (hover:hover) and (pointer:fine) {
  .company-card { transition: background-color 180ms ease; }
  .company-card:hover { background: #2c2d24; }
  .press-entry h3 a:hover, .person-page .official-links a:hover { color: var(--editorial-gold); }
}
@media (max-width:1100px) {
  .person-page .person-layout { grid-template-columns: minmax(0,1fr) 240px; gap: 1.5rem; }
  .person-page .person-sidebar { position: static; grid-template-columns: 1fr; align-content: start; }
  .press-section { gap: 1.5rem; grid-template-columns: 180px minmax(0,1fr); }
  .press-section .press-entry { grid-template-columns: 1fr; }
  .press-section .press-entry__link { grid-column: 1; grid-row: auto; }
}
@media (max-width:820px) {
  .founders-hero h1 { max-width: none; }
  .editorial-page .editorial-intro { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 2.5rem; }
  .editorial-intro .editorial-jump { border-left: 0; padding-left: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1rem; }
  .founder-profile, .founder-profile:nth-child(even) { grid-template-columns: 1fr; margin-bottom: 2.5rem; }
  .founder-profile:nth-child(even) .founder-profile__visual, .founder-profile:nth-child(even) .founder-profile__copy { grid-column: auto; grid-row: auto; }
  .founder-profile__visual { position: static; }
  .founder-profile__visual img { aspect-ratio: 5/4; }
  .person-page .person-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .person-page .person-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .person-page .person-sidebar > :last-child { grid-column: 1 / -1; }
  .press-section { display: block; padding-block: 2.5rem; }
  .press-section__heading { position: static; display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 1rem; }
  .press-section__heading .editorial-index { font-size: 3.5rem; }
  .press-hero { min-height: 500px; }
  .press-hero__photo { width: 100%; opacity: .25; }
  .press-hero::after { background: linear-gradient(0deg,#111210,rgba(17,18,16,.3)); }
}
@media (max-width:560px) {
  .press-section h2 { font-size: 1.6rem; }
  .founder-profiles { padding-top: 2rem; }
  .founder-profile__copy { padding: 1.5rem; }
  .founder-functions, .company-grid { grid-template-columns: 1fr; }
  .company-card { padding: 1.5rem; }
  .company-card__logo { height: 90px; }
  .company-card__logo img { max-width: 200px; max-height: 80px; }
  .company-feature { grid-template-columns: 1fr; }
  .project-stories { gap: 1.5rem; }
  .person-page .person-sidebar { grid-template-columns: 1fr; }
  .person-page #biografie, .person-page #rollen { padding: 1.25rem; }
  .person-page .timeline { --tl-label: 4.5rem; --tl-gap: 1.5rem; }
  .person-page .timeline__year { font-size: 1.9rem; }
  .person-page .timeline__year--label { font-size: .7rem; }
  .press-section .press-entry { padding: 1.25rem; }
  .press-hero .editorial-jump { gap: .2rem 1rem; }
}
@media (prefers-reduced-motion:reduce) {
  .company-card, .person-page .official-links a { transition: none; }
}
@media print {
  .editorial-page, .founder-profile, .founder-profile:nth-child(even), .company-card, .press-section .press-entry, .person-page #biografie, .person-page #rollen, .person-page .quote-card { background: white; color: black; }
  .press-hero__photo, .press-hero::after { display: none; }
  .press-section__heading { position: static; }
}

/* Progressive entrances are only armed by the existing site script. */
.editorial-page [data-entrance-pending] { opacity: 0; }
.editorial-page .reveal { transition: none; will-change: auto; }

/* A quiet rule remains in place; the gold hover line draws over it. */
.editorial-jump a,
.editorial-link,
.press-entry__link,
.founder-profile__visual > a {
  position: relative;
  transition: color 220ms cubic-bezier(.25,1,.5,1);
}
.editorial-jump a::after,
.editorial-link::after,
.press-entry__link::after,
.founder-profile__visual > a::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 1px;
  background: var(--editorial-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 240ms cubic-bezier(.25,1,.5,1);
  pointer-events: none;
}
.editorial-jump a:hover { border-color: var(--color-border); }
.editorial-link svg,
.press-entry__link svg,
.founder-profile__visual > a svg {
  transition: transform 240ms cubic-bezier(.25,1,.5,1);
}
.press-entry h3 a { transition: color 220ms cubic-bezier(.25,1,.5,1); }
.editorial-page .company-card,
.editorial-page .press-entry,
.editorial-page .project-stories article { transition: background-color 260ms ease; }
.editorial-page .press-entry:focus-within,
.editorial-page .company-card:focus-within,
.editorial-page .project-stories article:focus-within { background-color: #2c2d24; }
.editorial-jump a:focus-visible::after,
.editorial-link:focus-visible::after,
.press-entry__link:focus-visible::after,
.founder-profile__visual > a:focus-visible::after { transform: scaleX(1); transition: none; }
@media (hover:hover) and (pointer:fine) {
  .editorial-jump a:hover::after,
  .editorial-link:hover::after,
  .press-entry__link:hover::after,
  .founder-profile__visual > a:hover::after {
    transform: scaleX(1);
    transition-duration: 340ms;
  }
  .editorial-link:hover svg,
  .press-entry__link:hover svg,
  .founder-profile__visual > a:hover svg { transform: translateX(3px); }
  .editorial-page .press-entry:hover,
  .editorial-page .company-card:hover,
  .editorial-page .project-stories article:hover { background-color: #2c2d24; }
}
@media (prefers-reduced-motion:reduce), print {
  .editorial-page [data-entrance-pending] { opacity: 1; }
  .editorial-jump a::after,
  .editorial-link::after,
  .press-entry__link::after,
  .founder-profile__visual > a::after,
  .editorial-link svg,
  .press-entry__link svg,
  .founder-profile__visual > a svg { transition: none; }
  .editorial-link:hover svg,
  .press-entry__link:hover svg,
  .founder-profile__visual > a:hover svg { transform: none; }
}
