/* Approved brand-first opening. Scoped to the homepage and its new origin panel. */
.founder-home .site-header { background: #0b0b0bf5; color: #f6f3ed; border-color: #302b25; }
.founder-home .site-header .brand-dot { color: #f6f3ed; }
.founder-home .site-header .brand-copy { border-color: #4a443b; }
.founder-home .site-header .brand-copy > span { color: #b9b0a3; }
.founder-home .primary-nav, .founder-home .language-switch > div { background: #11100f; border-color: #4a443b; }
.founder-home .primary-nav > a:not(.nav-cta), .founder-home .language-switch { color: #ded7cc; }
.founder-home .primary-nav > a:not(.nav-cta):is(:hover,.is-active), .founder-home .language-switch a:is(:hover,[aria-current="page"]) { color: #ff9b60; }
.founder-home .language-switch a:is(:hover,[aria-current="page"]) { background: #2b2119; }
.founder-home .menu-toggle { border-color: #756b5d; }
.founder-home .menu-toggle span { background: #f6f3ed; }
.founder-home .header-inner { width: min(1480px,calc(100% - 112px)); }
@media (min-width:821px) { .founder-home .primary-nav { background: transparent; } }
.brand-hero { background: radial-gradient(ellipse at 76% 45%,#27180d55,transparent 45%),#0b0b0b; color: #f6f5f1; }
.brand-hero .brand-hero-inner { width: min(1480px,calc(100% - 112px)); padding-top: calc(var(--header-height) + 37px); min-height: 100svh; padding-bottom: 24px; }
.brand-hero-topline { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #aaa297; font-size: 11px; letter-spacing: .1em; }
.brand-hero-topline > span { display: inline-flex; align-items: center; gap: 10px; }
.brand-hero-topline i { width: 6px; height: 6px; background: #ff782e; flex: none; }
.brand-hero-topline strong { color: #bfb6a9; font-weight: 500; letter-spacing: .015em; }
.brand-hero-composition { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); grid-template-areas: 'title cycle' 'offer cycle'; gap: 26px 5%; align-items: start; padding-block: 36px; }
.brand-hero-stage { grid-area: title; position: relative; container-type: inline-size; }
.brand-hero-aside { grid-area: cycle; min-width: 0; align-self: center; }
.brand-hero .founder-signature { margin: 0; line-height: 1.05; }
.brand-hero .hero-owner { font-size: clamp(24px,2.4vw,36px); font-weight: 750; letter-spacing: -.055em; color: #f4f0e9; }
html[lang] .brand-hero .hero-mainline { flex-direction: column; align-items: flex-start; gap: 0; font-size: clamp(82px,24cqi,176px); letter-spacing: -.065em; line-height: 1.04; margin-top: .26em; }
html[lang="en"] .brand-hero .hero-mainline { font-size: clamp(54px,18.1cqi,125px); }
.brand-hero-line { position: relative; height: 2px; margin-top: 0; background: #33281e; }
.brand-hero-trace { position: absolute; inset: 0; background: linear-gradient(90deg,#ff6c24,#f59e5b 55%,#ff6c2400); transform-origin: left; }
.brand-hero-beam { position: absolute; left: 0; top: -2px; width: 34px; height: 5px; background: #ffe3b6; box-shadow: 0 0 15px 3px #ff7b32a0; opacity: 0; border-radius: 50%; }
.brand-hero-message { font-size: clamp(24px,2.1vw,30px); font-weight: 760; line-height: 1.45; letter-spacing: -.045em; margin-top: 32px; }
.brand-hero-message em { color: #ff8d4b; }
.brand-hero-offer { grid-area: offer; max-width: 580px; align-self: end; }
.brand-hero-offer > p { color: #c4bdb2; font-size: 18px; line-height: 1.7; }
.brand-hero-offer > p strong { color: #f3eee6; font-weight: 500; }
.brand-hero .hero-actions { display: flex; gap: 10px; margin-top: 18px; }
.brand-hero .hero-actions .button { min-width: 0; min-height: 52px; padding: 12px 18px; gap: 20px; border-radius: 2px; font-size: 15px; line-height: 1.45; }
.brand-hero .hero-actions .button > span:not(.brand-cta-copy) { font-size: 21px; }
.brand-hero .hero-actions .brand-cta-copy, .brand-hero .hero-actions .brand-cta-long { font-size: inherit; }
.brand-hero .button-secondary { background: transparent; border-color: #72685b; color: #f6f5f1; }
/* The reference artwork is rebuilt as HTML type and a separate arrow layer. */
.brand-hero-aside { max-width: 540px; width: 100%; justify-self: end; }
.brand-hero-aside .brand-hero-message { border-top: 1px solid var(--accent); padding-top: 22px; margin-top: 14px; }
.hero-cycle { --cycle-ink: var(--paper); --cycle-muted: #bdb6aa; --cycle-line: #81796c; --cycle-gutter: 64px; margin: 0; width: 100%; color: var(--cycle-ink); }
.cycle-heading { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--cycle-line); padding-top: 13px; font-size: 11px; letter-spacing: .18em; color: var(--cycle-muted); }
.cycle-flow { position: relative; margin-top: 12px; }
.cycle-connections { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 1; }
.cycle-connections path { fill: none; stroke: var(--cycle-line); stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.cycle-connections .cycle-return, .cycle-connections .cycle-down { stroke: var(--accent); stroke-width: 2.25; }
.cycle-connections .cycle-return-head { stroke: none; fill: var(--accent); }
.cycle-connections .cycle-trail { stroke: #ffb172; stroke-width: 3.6; stroke-dasharray: .2 1; opacity: 0; }
.cycle-connections .cycle-moving-arrow { fill: #ffb172; stroke: none; opacity: 0; }
.cycle-steps { margin: 0; }
.cycle-steps > div { display: grid; position: relative; grid-template-columns: 88px minmax(0,1fr); column-gap: 22px; align-content: center; min-height: 132px; padding: 18px var(--cycle-gutter) 18px 4px; }
.cycle-steps > div:not(:last-child)::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(to right,var(--cycle-line) calc(50% - 16px),transparent calc(50% - 16px),transparent calc(50% + 16px),var(--cycle-line) calc(50% + 16px)); opacity: .65; }
.cycle-steps dt { display: contents; }
.cycle-steps b { grid-column: 1; grid-row: 1 / 3; align-self: center; font-size: 106px; font-weight: 750; line-height: .95; letter-spacing: -.045em; color: var(--cycle-ink); }
.cycle-step-k b { color: var(--accent); }
.cycle-steps dt > span { grid-column: 2; grid-row: 1; align-self: end; font-size: 31px; line-height: 1.2; letter-spacing: -.035em; font-weight: 700; }
.cycle-steps dd { grid-column: 2; grid-row: 2; align-self: start; margin: 7px 0 0; color: var(--cycle-muted); font-size: 19px; line-height: 1.45; word-break: keep-all; overflow-wrap: anywhere; }
.cycle-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 54px; padding-top: 10px; color: var(--cycle-muted); font-size: 10px; letter-spacing: .18em; }
.cycle-toggle { flex-shrink: 0; min-height: 44px; padding: 8px 0 8px 8px; border: 0; background: transparent; color: var(--cycle-muted); font-size: 11px; letter-spacing: 0; }
.cycle-toggle:hover { color: var(--paper); }
.hero-cycle [hidden] { display: none !important; }
.brand-hero .hero-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: none; gap: 6px 0; margin: 0; padding: 22px 0 28px; border-top: 1px solid #36312b; }
.brand-hero .hero-metrics > div { display: grid; grid-row: span 3; grid-template-rows: subgrid; min-width: 0; padding: 0 26px; border-right: 1px solid #36312b; text-align: left; }
.brand-hero .hero-metrics > div:first-child { padding-left: 0; }
.brand-hero .hero-metrics > div:last-child { padding-right: 0; border: 0; }
.brand-hero .hero-metrics dt { align-self: end; color: #bcb3a6; font-size: 14px; font-weight: 500; white-space: normal; line-height: 1.5; letter-spacing: -.025em; }
.brand-hero .hero-metrics .metric-value { color: #fff; font-size: clamp(29px,3.1vw,46px); font-weight: 760; letter-spacing: -.055em; line-height: 1.2; font-style: normal; margin: 0; }
.brand-hero .hero-metrics .metric-value span:not(.counter-slot,.counter-final,.counter-ink) { font-size: .6em; }
.brand-hero .hero-metrics .metric-period { color: #a69b8b; font-size: 12px; line-height: 1.5; margin: 0; }
.brand-hero .hero-metrics a { display: inline-block; }
.brand-hero .hero-metrics a:hover { text-decoration: underline; text-decoration-color: #ff8d4b; text-underline-offset: 4px; }
.brand-hero-footnote { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-top: 1px solid #36312b; color: #a69b8b; font-size: 12px; }
.brand-hero-footnote a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #d4c7b5; }
.brand-origin { padding: 96px 0; background: #ece7de; color: #211e1a; }
.brand-origin-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.85fr); align-items: center; gap: 70px; }
.brand-origin-copy h2 { font-size: clamp(32px,3.9vw,56px); font-weight: 850; line-height: 1.22; letter-spacing: -.06em; }
.brand-origin-copy > p:not(.editorial-label) { margin-top: 24px; max-width: 570px; font-size: 18px; line-height: 1.85; color: #5d564d; }
.brand-origin-copy .text-link { margin-top: 18px; font-size: 16px; font-weight: 650; }
.origin-file { min-width: 0; max-width: 470px; width: 100%; padding: 22px; margin: 0 auto; background: #ded6c8; transform: rotate(2deg); }
.origin-file .frame-heading { color: #65594a; padding: 0 0 14px; }
.origin-file .certificate-view { padding: 0; background: none; }
.origin-file .certificate-view img { transform: none; box-shadow: 0 12px 30px #0002; }
.origin-file figcaption { padding-top: 20px; }
.origin-file time { display: block; color: #25211b; font-size: 28px; font-weight: 750; letter-spacing: -.035em; line-height: 1.2; }
.origin-file figcaption > p { font-size: 16px; margin-top: 8px; color: #615747; }
.origin-file .founder-read { color: #574b3c; font-size: 14px; }
@media (min-width:1600px) { .brand-hero-composition { padding-block: 48px; } }
@media (max-width:1100px) {
  .founder-home .header-inner, .brand-hero .brand-hero-inner { width: calc(100% - 64px); }
  .brand-hero-composition { grid-template-columns: minmax(0,1fr); grid-template-areas: 'title' 'offer' 'cycle'; gap: 26px; }
  html[lang] .brand-hero .hero-mainline { flex-direction: row; align-items: baseline; font-size: 18.3cqi; gap: .1em; }
  html[lang="en"] .brand-hero .hero-mainline { flex-direction: column; align-items: flex-start; font-size: min(20cqi,120px); gap: 0; }
  .brand-hero-aside { margin-top: 8px; }
  .brand-hero-offer > p { font-size: 17px; }
  .brand-hero .hero-actions { flex-wrap: wrap; }
  .brand-hero .hero-actions .button { padding: 10px 16px; min-height: 48px; gap: 16px; }
  .brand-hero .hero-metrics > div { padding-inline: 18px; }
  .brand-origin-layout { gap: 35px; }
  .brand-hero-aside { max-width: 640px; justify-self: start; }
  .hero-cycle { max-width: none; }

}
@media (max-width:760px) {
  .brand-hero-offer { justify-self: start; max-width: none; width: 100%; }
  .brand-origin { padding: 56px 0; }
  .brand-origin-layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .brand-origin-copy > p:not(.editorial-label) { font-size: 16px; }
}
@media (max-width:600px) {
  .founder-home .header-inner, .brand-hero .brand-hero-inner { width: calc(100% - 40px); }
  .brand-hero .brand-hero-inner { padding-top: calc(var(--header-height) + 23px); padding-bottom: 18px; }
  .brand-hero-topline { font-size: 9px; letter-spacing: .03em; gap: 12px; }
  .brand-hero-topline strong { font-size: 10px; text-align: right; }
  .brand-hero-topline > span { gap: 7px; flex-shrink: 0; }
  .brand-hero-composition { padding-block: 30px 26px; }
  .brand-hero .hero-owner { font-size: 24px; }
  html[lang] .brand-hero .hero-mainline { font-size: 18.3cqi; gap: .1em; margin-top: .32em; }
  html[lang="en"] .brand-hero .hero-mainline { flex-direction: column; align-items: flex-start; font-size: clamp(48px,20cqi,84px); gap: 0; }
  .brand-hero-message { font-size: 26px; }
  .hero-cycle { --cycle-gutter: 54px; }
  .cycle-heading { font-size: 10px; }
  .cycle-steps > div { grid-template-columns: 64px minmax(0,1fr); gap: 0 16px; min-height: 112px; padding: 22px var(--cycle-gutter) 22px 0; }
  .cycle-steps b { font-size: 78px; }
  .cycle-steps dt > span { font-size: 26px; }
  .cycle-steps dd { font-size: 16px; }
  .cycle-footer { font-size: 9px; letter-spacing: .12em; }
  .cycle-toggle { font-size: 10px; }

  .brand-hero-offer > p { font-size: 16px; }
  .brand-hero .hero-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; margin-top: 16px; }
  .brand-hero .hero-actions .button { font-size: 14px; padding: 11px 12px; gap: 8px; }
  .brand-hero .brand-cta-long { display: none; }
  .brand-hero .hero-metrics { padding-block: 20px; }
  .brand-hero .hero-metrics > div { padding-inline: 10px; }
  .brand-hero .hero-metrics dt { font-size: 12px; word-break: keep-all; overflow-wrap: anywhere; }
  .brand-hero .hero-metrics .metric-value { font-size: clamp(18px,5.6vw,30px); white-space: nowrap; }
  .brand-hero .hero-metrics .metric-period { font-size: 11px; }
  .brand-hero-footnote { font-size: 10px; gap: 12px; align-items: start; }
  .brand-hero-footnote a { min-height: 44px; gap: 5px; align-items: start; }
  .origin-file { max-width: 360px; padding: 18px; }
}
@media (max-width:360px) {
  .hero-cycle { --cycle-gutter: 52px; }
  .cycle-steps > div { grid-template-columns: 50px minmax(0,1fr); column-gap: 12px; min-height: 108px; }
  .cycle-steps b { font-size: 64px; }
  .cycle-steps dt > span { font-size: 22px; }
}
@media (prefers-reduced-motion:reduce) { .brand-hero-beam,.cycle-moving-arrow,.cycle-trail,.cycle-toggle { display: none; } }
