.i-static-process-track article {
  --flow-reveal: 0;
}

/* Netlify injects a promotional preview badge; it is not part of the client UI. */
#nl-badge-frame { display: none !important; }

/* Two deliberately different premium chapters: precision craft + continuity. */
.immersive-site .i-system { min-height: 190vh; }
.immersive-site .i-craft-panel { width: min(1180px,88vw); }
.immersive-site .i-craft-panel > small { max-width: 520px; }
.i-craft-proof {
  scroll-margin-top: 180px;
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: clamp(52px,8vw,120px);
  align-items: stretch;
  width: min(940px,82vw);
  margin-top: 64px;
  border-top: 1px solid rgba(255,255,255,.2);
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.i-craft-seal {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 250px;
  border-right: 1px solid rgba(255,255,255,.16);
}
.i-craft-seal::before,
.i-craft-seal::after {
  content: "";
  position: absolute;
  top: 50%; left: 2px;
  width: 94px; height: 94px;
  border: 1px solid rgba(223,174,88,.42);
  transform: translateY(-50%) rotate(45deg);
}
.i-craft-seal::after { width: 68px; height: 68px; left: 15px; border-color: rgba(255,255,255,.16); }
.i-craft-seal > span { z-index: 1; width: 98px; color: var(--gold); text-align: center; font-size: 18px; letter-spacing: .18em; }
.i-craft-seal > small { margin: 42px 0 0 0; color: rgba(242,240,232,.48); font-size: 6px; letter-spacing: .2em; line-height: 1.6; }
.i-craft-ledger article {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 22px;
  align-items: center;
  min-height: 84px;
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.i-craft-ledger article:last-child { border-bottom: 0; }
.i-craft-ledger article > span { color: var(--gold); font-size: 7px; letter-spacing: .18em; }
.i-craft-ledger strong { display: block; font-size: 17px; letter-spacing: -.02em; }
.i-craft-ledger small { display: block; max-width: 520px; margin-top: 6px; color: rgba(242,240,232,.52); font-size: 9px; line-height: 1.55; }

.immersive-site .i-quality { min-height: 190vh; }
.immersive-site .i-care-grid { width: min(1240px,88vw); }
.immersive-site .i-care-grid > .i-depth-copy { width: min(980px,82vw); }
.i-care-continuum {
  scroll-margin-top: 180px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0;
  width: 100%;
  margin-top: 84px;
  padding-top: 42px;
  border-top: 1px solid rgba(255,255,255,.18);
}
.i-care-axis { position: absolute; top: -1px; left: 0; right: 0; height: 1px; overflow: visible; }
.i-care-axis::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,var(--gold),rgba(223,174,88,.15) 62%,transparent); transform: scaleX(var(--i-enter)); transform-origin: left; }
.i-care-axis i { position: absolute; top: -4px; left: calc(var(--i-enter) * 100%); width: 9px; height: 9px; border-radius: 50%; background: #fff5cf; box-shadow: 0 0 18px var(--gold); transform: translateX(-50%); }
.i-care-continuum article { position: relative; padding: 0 clamp(28px,4vw,62px) 0 0; }
.i-care-continuum article + article { padding-left: clamp(28px,4vw,62px); border-left: 1px solid rgba(255,255,255,.14); }
.i-care-continuum article > span { display: block; color: var(--gold); font-size: 7px; letter-spacing: .2em; }
.i-care-continuum strong { display: block; margin-top: 22px; font-size: clamp(20px,2vw,29px); letter-spacing: -.035em; }
.i-care-continuum small { display: block; max-width: 280px; margin-top: 13px; color: rgba(242,240,232,.52); font-size: 9px; line-height: 1.65; }

.flow-canvas-original-hidden { display: none; }

/* Light guidance intentionally disabled until the complete content system is final. */
.immersive-site .flow-canvas,
.flow-transition,
.flow-anchor,
.i-finance-flow,
.i-finance-route::after,
.i-footer-impact,
.i-footer-scan { display: none !important; }

/* A compact second proof moment: stored solar energy reaches everyday mobility. */
.i-mobility {
  position: relative;
  z-index: 4;
  padding: clamp(86px,9vw,138px) 5.5vw;
  overflow: hidden;
  color: #f0eee7;
  background: radial-gradient(ellipse at 72% 42%,rgba(215,163,77,.085),transparent 35%),#090b09;
  border-top: 1px solid #2c302a;
  border-bottom: 1px solid #2c302a;
  font-family: -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
.i-mobility::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.7; background-image:linear-gradient(#ffffff035 1px,transparent 1px),linear-gradient(90deg,#ffffff025 1px,transparent 1px); background-size:100% 110px,8.333vw 100%; -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 92%); mask-image:linear-gradient(90deg,transparent,#000 22%,#000 92%); }
.i-mobility-shell { position:relative; display:grid; grid-template-columns:minmax(330px,.72fr) minmax(620px,1.28fr); gap:clamp(58px,7vw,112px); align-items:center; max-width:1440px; margin:auto; }
.i-mobility-copy { position:relative; z-index:3; }
.i-mobility-copy > p { margin:0 0 22px; color:var(--gold); font-size:8px; letter-spacing:.25em; }
.immersive-site .i-mobility h2 { margin:0; font-size:clamp(54px,5.4vw,84px); font-weight:500; line-height:.87; letter-spacing:-.068em; }
.immersive-site .i-mobility h2 em { display:block; color:var(--gold); font-style:normal; transform:none !important; }
.i-mobility-copy > strong { display:block; max-width:470px; margin-top:29px; color:#d4d7ce; font-size:clamp(18px,1.65vw,25px); font-weight:500; line-height:1.25; letter-spacing:-.025em; }
.i-mobility-copy > small { display:block; max-width:480px; margin-top:17px; color:#8f958b; font-size:10px; line-height:1.72; }
.i-mobility-copy ul { display:grid; gap:0; max-width:480px; margin:30px 0 0; padding:0; border-top:1px solid #333831; list-style:none; }
.i-mobility-copy li { display:flex; align-items:center; gap:14px; min-height:43px; color:#b9bdb4; border-bottom:1px solid #333831; font-size:8px; letter-spacing:.08em; }
.i-mobility-copy li i { flex:0 0 auto; width:5px; height:5px; border:1px solid var(--gold); transform:rotate(45deg); box-shadow:0 0 9px #dfae5855; }
.i-mobility-film { position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid #ffffff1c; border-radius:15px; background:linear-gradient(135deg,#171b16,#080a08); box-shadow:0 36px 95px #0009; isolation:isolate; }
.i-mobility-film::before { content:""; z-index:4; position:absolute; inset:0; pointer-events:none; border:1px solid #ffffff0b; border-radius:inherit; box-shadow:inset 0 0 90px #0008; }
.i-mobility-film video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; filter:saturate(.78) contrast(1.06) brightness(.84); transform:scale(1.015); transition:opacity .8s ease,filter 1s ease; }
.i-mobility.is-loaded .i-mobility-film video { opacity:1; }
.i-mobility.is-ended .i-mobility-film video { filter:saturate(.82) contrast(1.06) brightness(.88); }
.i-mobility-shade { z-index:2; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#080a086e,transparent 28%,transparent 75%,#080a083f),linear-gradient(0deg,#080a08b5,transparent 30%); }
.i-mobility-energy { z-index:5; position:absolute; left:5%; right:5%; bottom:49px; height:1px; overflow:hidden; background:#ffffff13; }
.i-mobility-energy i { display:block; width:34%; height:100%; background:linear-gradient(90deg,transparent,#dba84f,#fff0b9,#dba84f,transparent); opacity:0; transform:translateX(-110%); box-shadow:0 0 13px #dfae58; }
.i-mobility.is-playing .i-mobility-energy i { opacity:.9; animation:i-mobility-flow 4.7s cubic-bezier(.2,.62,.25,1) both; }
.i-mobility.is-ended .i-mobility-energy i { opacity:.34; transform:translateX(195%); }
.i-mobility-meta { z-index:6; position:absolute; left:5%; right:5%; bottom:22px; display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:12px; align-items:center; color:#bec2b8; font-size:5.5px; letter-spacing:.17em; }
.i-mobility-meta i { height:1px; background:linear-gradient(90deg,#9a7840,#ffffff1a); }
.i-mobility-state { z-index:6; position:absolute; top:21px; right:24px; display:flex; align-items:center; gap:9px; color:#d0d3ca; font-size:5.5px; letter-spacing:.17em; }
.i-mobility-state i { width:6px; height:6px; border-radius:50%; background:#9b762f; box-shadow:0 0 0 4px #9b762f18,0 0 10px #dfae5866; }
.i-mobility.is-playing .i-mobility-state i { background:#fff2bf; box-shadow:0 0 8px #fff2bf,0 0 18px #dfae58; }
.i-mobility-replay { z-index:7; position:absolute; left:22px; top:20px; display:flex; align-items:center; gap:11px; min-height:34px; padding:0 13px; border:1px solid #ffffff28; border-radius:999px; opacity:0; pointer-events:none; color:#e0ded6; background:#080a08a8; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); font:inherit; font-size:5.5px; letter-spacing:.16em; cursor:pointer; transform:translateY(-5px); transition:opacity .35s ease,transform .35s ease,border-color .25s ease; }
.i-mobility-replay b { color:var(--gold); font-size:12px; font-weight:400; }
.i-mobility.is-ended .i-mobility-replay { opacity:1; pointer-events:auto; transform:none; }
.i-mobility-replay:hover { border-color:#dfae5888; }
@keyframes i-mobility-flow { 0%{transform:translateX(-110%)} 12%{opacity:.9} 88%{opacity:.9} 100%{transform:translateX(295%);opacity:.35} }

.i-static-process-track article { --flow-reveal: 1; }
.i-static-process-track article > span::after { opacity: 0 !important; }
.i-static-process-track article > i,
.i-static-process-track article strong,
.i-static-process-track article p { opacity: 1 !important; transform: none !important; filter: none !important; }
.i-finance-route,
.i-finance-route.is-visible { opacity: 1; transform: none; }
.i-finance-route::after,
.i-finance-route.is-visible::after { transform: scaleX(0); }

.i-solutions {
  position: relative;
  z-index: 2;
  padding: 82px 6vw 74px;
  background: #080a08;
  border-bottom: 1px solid #2b2e29;
}
.i-solutions-head {
  display: grid;
  grid-template-columns: minmax(440px,1.15fr) minmax(320px,.85fr);
  column-gap: 10vw;
  align-items: end;
  max-width: 1320px;
  margin: 0 auto 44px;
}
.i-solutions-head > p { grid-column: 1/-1; margin: 0; color: var(--gold); font-size: 8px; letter-spacing: .24em; }
.immersive-site .i-solutions-head h2 { margin: 18px 0 0; font-size: clamp(42px,4.6vw,64px); line-height: .92; }
.i-solutions-head h2 em { color: var(--gold); font-style: normal; }
.i-solutions-head small { max-width: 470px; padding-bottom: 5px; color: #969b91; font-size: 11px; line-height: 1.75; }
.i-solutions-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  max-width: 1320px;
  margin: 0 auto;
  border-top: 1px solid #454940;
  border-bottom: 1px solid #353831;
}
.i-solutions-grid article { min-height: 190px; padding: 24px 24px 28px; border-right: 1px solid #353831; }
.i-solutions-grid article:first-child { padding-left: 0; }
.i-solutions-grid article:last-child { border-right: 0; }
.i-solutions-grid span { color: var(--gold); font-size: 8px; letter-spacing: .16em; }
.i-solutions-grid strong { display: block; margin-top: 32px; font-size: clamp(19px,1.7vw,25px); letter-spacing: -.03em; }
.i-solutions-grid p { max-width: 250px; margin: 16px 0 0; color: #8e9389; font-size: 10px; line-height: 1.7; }

.i-static-contact .i-contact-directory { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 36px; border-top: 1px solid rgba(255,255,255,.24); }
.i-static-contact .i-contact-directory > * { display: block; width: auto; min-height: 70px; padding: 17px 18px 14px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.i-static-contact .i-contact-directory > *:nth-child(even) { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.18); }
.i-contact-directory span { display: block; color: var(--gold); font-size: 7px; letter-spacing: .18em; text-transform: uppercase; }
.i-contact-directory strong { display: block; margin-top: 8px; color: #d8dad4; font-size: 10px; letter-spacing: .02em; }
.i-static-contact-card ol { list-style: none; margin: 28px 0 0; padding: 0; border-top: 1px solid #c8c5bc; }
.i-static-contact-card li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 17px 0; border-bottom: 1px solid #c8c5bc; }
.i-static-contact-card li > b { color: #9b762f; font-size: 8px; }
.i-static-contact-card li em { display: block; color: #181915; font-size: 14px; font-style: normal; font-weight: 700; }
.i-static-contact-card li small { display: block; margin-top: 5px; color: #74746d; font-size: 8px; line-height: 1.45; }
.i-static-contact-card > a span { color: inherit; }

.i-finance-flow {
  pointer-events: none;
  position: absolute;
  width: 2px;
  height: 2px;
}
.i-finance-flow-entry { top: 0; right: 6vw; }
.i-finance-flow-exit { right: 6vw; bottom: 0; }

.flow-transition {
  pointer-events: none;
  position: absolute;
  z-index: 1;
  width: 2px;
  height: 2px;
}
.flow-transition-a { right: 14vw; bottom: 150px; }
.flow-transition-b { right: 6vw; bottom: 46px; }

/* Every route anchor is positioned explicitly. The final anchor shares the
   exact center point used by the footer impact animation. */
.flow-anchor,
.footer-flow-stop {
  pointer-events: none;
  position: absolute;
  width: 2px;
  height: 2px;
}
.i-static-contact .contact-flow { top: 0; right: 6vw; }
.i-static-contact .contact-flow-end { bottom: 0; left: 50%; }
.i-footer .footer-flow-stop { top: 0; left: 50%; }

@media (width > 900px) {
  .immersive-site .i-static-process { min-height: 760px; padding-bottom: 64px; }
  .i-static-process-track article > span { margin-inline: auto; }
  .immersive-site .i-static-process-track article > i { margin-right: auto; margin-left: auto; }
  .i-static-process-track article > strong,
  .i-static-process-track article > p { max-width: 220px; margin-right: auto; margin-left: auto; text-align: center; }
}

.i-static-process-track article > span::after {
  opacity: 0 !important;
}

.i-static-process-track article > i {
  opacity: calc(.24 + var(--flow-reveal) * .76);
  transform: scaleY(calc(.35 + var(--flow-reveal) * .65));
  transform-origin: top;
  transition: opacity .42s ease, transform .58s cubic-bezier(.2,.8,.2,1);
}

.i-static-process-track article strong,
.i-static-process-track article p {
  opacity: calc(.16 + var(--flow-reveal) * .84);
  transform: translateY(calc((1 - var(--flow-reveal)) * 24px));
  filter: blur(calc((1 - var(--flow-reveal)) * 4px));
  transition: opacity .55s ease, transform .7s cubic-bezier(.16,.84,.22,1), filter .55s ease;
}

.i-investment {
  position: relative;
  z-index: 2;
  min-height: 700px;
  padding: 82px 6vw 62px;
  overflow: hidden;
  background:
    radial-gradient(circle at 17% 35%, rgba(223,174,88,.105), transparent 31%),
    linear-gradient(135deg, #0b0e0b 0%, #080a08 58%, #0d100d 100%);
  border-top: 1px solid #272a25;
  border-bottom: 1px solid #272a25;
}

.i-investment::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .2;
  background-image: linear-gradient(rgba(223,174,88,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(223,174,88,.13) 1px, transparent 1px);
  background-size: 74px 74px;
  -webkit-mask-image: linear-gradient(90deg,#000,transparent 70%);
  mask-image: linear-gradient(90deg,#000,transparent 70%);
}

.i-investment-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px,.8fr) minmax(520px,1.2fr);
  gap: clamp(64px,9vw,150px);
  max-width: 1320px;
  margin: 0 auto;
}

.i-investment-copy { position: relative; z-index: 2; align-self: center; }
.i-investment-kicker { color: var(--gold); letter-spacing: .24em; margin: 0; font-size: 8px; }
.immersive-site .i-investment h2 { font-size: clamp(36px,3.7vw,54px); line-height: .92; margin: 18px 0 22px; }
.i-investment h2 em { color: var(--gold); font-style: normal; }
.i-investment-copy > small { display: block; max-width: 440px; color: #9a9e95; font-size: 11px; line-height: 1.8; }

.i-investment-choice {
  position: relative;
  z-index: 2;
  border: 1px solid #343831;
  background: rgba(8,10,8,.72);
  box-shadow: 0 36px 100px rgba(0,0,0,.3);
}

.i-investment-path {
  position: relative;
  display: grid;
  grid-template-columns: 68px 1fr auto;
  gap: 24px;
  align-items: center;
  min-height: 154px;
  padding: 28px 30px;
  border-bottom: 1px solid #2b2e29;
  transition: background .45s ease, border-color .45s ease;
  color: inherit;
  text-decoration: none;
}
.i-investment-path:last-of-type { border-bottom: 0; }
.i-investment-path:hover, .i-investment-path:focus-visible, .i-investment-path.is-visible { background: linear-gradient(90deg,rgba(223,174,88,.12),rgba(223,174,88,.025)); }
.i-investment-path:focus-visible { outline: 1px solid var(--gold); outline-offset: -3px; }
.i-investment-node {
  width: 50px; height: 50px; display: grid; place-items: center; position: relative;
  color: var(--gold); font-size: 8px; background: #090b09; border: 1px solid #7f6842;
  transition: box-shadow .45s ease, border-color .45s ease, color .45s ease;
}
.i-investment-path.is-visible .i-investment-node { color: #fff5cc; border-color: #d8af68; box-shadow: 0 0 18px #e4b25630,inset 0 0 12px #e4b25620; }
.i-investment-path strong { display: block; font-size: clamp(19px,1.7vw,25px); letter-spacing: -.025em; }
.i-investment-path p { max-width: 390px; margin: 9px 0 0; color: #888d83; font-size: 10px; line-height: 1.65; }
.i-investment-path b { color: var(--gold); font-size: 20px; font-weight: 400; transition: transform .4s ease; }
.i-investment-path strong,
.i-investment-path p,
.i-investment-path b {
  opacity: .34;
  transform: translateY(12px);
  transition: opacity .48s ease, transform .62s cubic-bezier(.16,.84,.22,1);
}
.i-investment-path.is-visible strong,
.i-investment-path.is-visible p,
.i-investment-path.is-visible b,
.i-investment-path:hover strong,
.i-investment-path:hover p,
.i-investment-path:hover b,
.i-investment-path:focus-visible strong,
.i-investment-path:focus-visible p,
.i-investment-path:focus-visible b { opacity: 1; transform: translateY(0); }
.i-investment-path:hover b { transform: translateX(5px); }
.i-investment-note { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 24px 30px; color: #9ba097; background: #0e110e; font-size: 9px; line-height: 1.65; }
.i-investment-note span { color: var(--gold); letter-spacing: .18em; font-size: 7px; white-space: nowrap; }
.i-investment-note a { color: #d2d4cd; border-bottom: 1px solid #6d6046; }

/* Editorial financing concept: deliberately separate from the energy-line system. */
.i-finance-shell { position: relative; z-index: 2; max-width: 1320px; margin: 0 auto; }
.i-company-proof {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px,.72fr) minmax(620px,1.28fr);
  gap: clamp(44px,6vw,92px);
  align-items: stretch;
  margin-bottom: 68px;
  padding: 36px 38px;
  border: 1px solid #353831;
  background: linear-gradient(120deg,rgba(223,174,88,.075),rgba(255,255,255,.012) 42%,transparent 72%);
}
.i-company-proof::after { content: "VERANTWORTUNG"; position: absolute; right: 24px; bottom: 8px; color: rgba(255,255,255,.025); font-size: clamp(48px,7vw,104px); font-weight: 700; letter-spacing: -.065em; line-height: .8; pointer-events: none; }
.i-company-proof header { position: relative; z-index: 1; align-self: center; padding-left: 24px; border-left: 1px solid rgba(223,174,88,.65); }
.i-company-proof header p { margin: 0; color: var(--gold); font-size: 8px; letter-spacing: .24em; }
.i-company-proof header h2 { margin: 18px 0 22px; font-size: clamp(38px,4vw,58px); line-height: .92; }
.i-company-proof header small { display: block; max-width: 500px; color: #969b91; font-size: 11px; line-height: 1.75; }
.i-company-proof-facts { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #454940; border-bottom: 1px solid #353831; }
.i-company-proof-facts article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 210px;
  padding: 24px 22px;
  border-right: 1px solid #353831;
  transition: background .35s ease, transform .35s ease;
}
.i-company-proof-facts article:last-child { border-right: 0; }
.i-company-proof-facts article:hover { background: rgba(223,174,88,.055); transform: translateY(-4px); }
.i-company-proof-facts span { color: var(--gold); font-size: 8px; letter-spacing: .14em; }
.i-company-proof-facts strong { margin-top: 48px; font-size: 18px; letter-spacing: -.025em; }
.i-company-proof-facts small { margin-top: 14px; color: #8f948a; font-size: 9px; line-height: 1.65; }
.i-finance-shell::before {
  content: "PLANBAR";
  position: absolute;
  top: -54px;
  right: -8px;
  color: rgba(255,255,255,.025);
  font-size: clamp(110px,15vw,220px);
  font-weight: 700;
  letter-spacing: -.09em;
  line-height: .8;
  pointer-events: none;
}
.i-finance-shell .i-investment-copy {
  display: grid;
  grid-template-columns: minmax(380px,1.2fr) minmax(280px,.8fr);
  column-gap: 10vw;
  align-items: end;
}
.i-finance-shell .i-investment-copy .i-investment-kicker { grid-column: 1/-1; }
.i-finance-shell .i-investment-copy h2 { margin-bottom: 0; }
.i-finance-shell .i-investment-copy > small { padding-bottom: 5px; }
.i-finance-routes { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 40px; border-top: 0; }
.i-finance-route {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 226px;
  padding: 25px 26px 24px;
  color: inherit;
  border: 1px solid #353831;
  background: rgba(8,10,8,.46);
  opacity: .2;
  transform: translateX(38px);
  transition: opacity .55s ease, transform .55s cubic-bezier(.16,.84,.22,1), background .35s ease, border-color .35s ease;
}
.i-finance-route::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg,var(--gold),transparent 72%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .8s cubic-bezier(.16,.84,.22,1);
}
.i-finance-route.is-visible { opacity: 1; transform: translateX(0); }
.i-finance-route.is-visible::after { transform: scaleX(0); }
.i-finance-route:hover,
.i-finance-route:focus-visible { border-color: rgba(223,174,88,.62); background: linear-gradient(145deg,rgba(223,174,88,.105),rgba(223,174,88,.015) 64%); transform: translateY(-6px); }
.i-finance-route:focus-visible { outline: 1px solid var(--gold); outline-offset: 4px; }
.i-finance-route > span { color: var(--gold); letter-spacing: .12em; font-size: 8px; }
.i-finance-route > strong { margin-top: 38px; font-size: clamp(20px,1.7vw,26px); letter-spacing: -.035em; }
.i-finance-route > p { max-width: 330px; margin: 14px 0 0; color: #91968c; font-size: 10px; line-height: 1.65; }
.i-finance-route > b { margin-top: auto; padding-top: 20px; color: var(--gold); letter-spacing: .16em; text-transform: uppercase; font-size: 7px; }
.i-finance-shell .i-investment-note {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 30px;
  margin-top: 22px;
  padding: 18px 0 0;
  border-top: 1px solid #353831;
  background: transparent;
  color: #858a80;
}
.i-finance-shell .i-investment-note span { padding-top: 2px; }
.i-finance-shell .i-investment-note div { max-width: 720px; }
.i-policy-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 34px; border-top: 1px solid #353831; border-bottom: 1px solid #353831; }
.i-policy-notes article { min-width: 0; padding: 24px 34px 26px 0; }
.i-policy-notes article + article { padding-left: 34px; border-left: 1px solid #353831; }
.i-policy-notes span { color: var(--gold); font-size: 7px; letter-spacing: .18em; }
.i-policy-notes p { max-width: 560px; margin: 14px 0 15px; color: #8e9389; font-size: 9px; line-height: 1.7; }
.i-policy-notes a { color: #c9ccc3; border-bottom: 1px solid #6d6046; font-size: 7px; letter-spacing: .12em; }

/* The film follows the energy system; decorative chapter counters add no meaning. */
.immersive-site .i-ghost-index,
.immersive-site .i-hero-axis > span,
.immersive-site .i-scene-coordinate > span {
  display: none !important;
}

@media (width <= 900px) {
  .i-investment { min-height: auto; padding: 78px 22px 70px; }
  .i-investment-layout { grid-template-columns: 1fr; gap: 54px; }
  .i-investment-choice { margin-left: 18px; }
  .i-investment-path { grid-template-columns: 54px 1fr; gap: 16px; min-height: 150px; padding: 24px 20px; }
  .i-investment-path b { display: none; }
  .i-investment-note { grid-template-columns: 1fr; padding: 22px 20px; }
  .i-finance-shell .i-investment-copy { display: block; }
  .i-finance-shell .i-investment-copy > small { margin-top: 22px; }
  .i-finance-routes { grid-template-columns: 1fr; gap: 12px; margin-top: 36px; }
  .i-finance-route { min-height: 190px; padding: 22px; transform: translateX(22px); }
  .i-finance-route > strong { margin-top: 26px; }
  .i-finance-route > b { margin-top: auto; }
  .i-finance-shell .i-investment-note { grid-template-columns: 1fr; gap: 13px; margin-top: 30px; padding: 0; }
  .i-policy-notes { grid-template-columns: 1fr; }
  .i-policy-notes article { padding: 23px 0; }
  .i-policy-notes article + article { padding-left: 0; border-top: 1px solid #353831; border-left: 0; }
  .i-finance-shell::before { top: -28px; right: -3px; font-size: 29vw; }
  .i-company-proof { grid-template-columns: 1fr; gap: 34px; margin-bottom: 64px; padding: 28px 24px; }
  .i-company-proof header { padding-left: 18px; }
  .i-company-proof-facts { grid-template-columns: 1fr; }
  .i-company-proof-facts article { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid #353831; }
  .i-company-proof-facts article:last-child { border-bottom: 0; }
  .i-company-proof-facts strong { margin-top: 16px; }
  .i-company-proof-facts small { margin-top: 8px; }
  .i-solutions { padding: 72px 22px 64px; }
  .i-solutions-head { display: block; margin-bottom: 38px; }
  .i-solutions-head small { display: block; margin-top: 22px; }
  .i-solutions-grid { grid-template-columns: 1fr 1fr; }
  .i-solutions-grid article,
  .i-solutions-grid article:first-child { min-height: 176px; padding: 22px 20px; border-bottom: 1px solid #353831; }
  .i-solutions-grid article:nth-child(2) { border-right: 0; }
  .i-solutions-grid article:nth-child(n+3) { border-bottom: 0; }
  .i-solutions-grid strong { margin-top: 25px; }
}

@media (width > 760px) and (width <= 900px) {
  .immersive-site .i-static-process { min-height: 900px; padding-bottom: 78px; }
  .immersive-site .i-static-process-track { grid-template-columns: repeat(2,1fr); margin-top: 62px; }
  .immersive-site .i-static-process-track article { min-height: 220px; border-bottom: 1px solid #2c2f29; }
  .immersive-site .i-static-process-track article:nth-child(3) { border-left: 1px solid #2c2f29; }
}

@media (width <= 760px) {
  .flow-transition-a { left: 62px; right: auto; bottom: 70px; }
  .flow-transition-b { right: 22px; bottom: 18px; }
  .immersive-site .i-static-contact .contact-flow {
    right: 22px;
    left: auto;
  }
  .i-finance-shell .i-investment-copy h2 {
    font-size: clamp(32px, 8.8vw, 42px);
    line-height: .93;
    letter-spacing: -.045em;
    overflow-wrap: normal;
    word-break: normal;
  }
  .i-finance-route { transform: translateX(22px); }
  .i-finance-route > strong { font-size: 20px; }
  .i-solutions-grid { grid-template-columns: 1fr; }
  .i-solutions-grid article,
  .i-solutions-grid article:first-child,
  .i-solutions-grid article:nth-child(n+3) { min-height: 0; padding: 20px 0 24px; border-right: 0; border-bottom: 1px solid #353831; }
  .i-solutions-grid article:last-child { border-bottom: 0; }
  .i-solutions-grid strong { margin-top: 18px; }
  .i-solutions-grid p { max-width: none; }
  .i-static-contact .i-contact-directory { grid-template-columns: 1fr; }
  .i-static-contact .i-contact-directory > *,
  .i-static-contact .i-contact-directory > *:nth-child(even) { padding: 16px 0; border-left: 0; }
  .immersive-site .i-system-facts { width: 100%; }
  .immersive-site .i-quality-cards {
    grid-template-columns: 1fr;
    bottom: 9vh;
    left: 22px;
    right: 22px;
  }
  .immersive-site .i-quality-cards article,
  .immersive-site .i-quality-cards article:nth-child(2),
  .immersive-site .i-quality-cards article:nth-child(3) {
    border-right: 0;
    border-bottom: 1px solid #ffffff21;
    padding: 15px 0;
  }
  .immersive-site .i-quality-cards article:last-child { border-bottom: 0; }
  .i-investment-path strong,
  .i-investment-path p,
  .i-investment-path b { opacity: 1; transform: none; }
  .immersive-site .i-system,
  .immersive-site .i-quality { min-height: 150vh; }
  .immersive-site .i-craft-panel,
  .immersive-site .i-care-grid,
  .immersive-site .i-care-grid > .i-depth-copy { width: 100%; }
  .i-craft-proof { grid-template-columns: 1fr; gap: 0; width: 100%; margin-top: 46px; }
  .i-craft-seal { display: none; }
  .i-craft-ledger article { grid-template-columns: 36px 1fr; gap: 14px; min-height: 94px; }
  .i-craft-ledger strong { font-size: 16px; }
  .i-craft-ledger small { padding-right: 4px; font-size: 9px; }
  .immersive-site .i-care-grid small { margin-left: 0; }
  .i-care-continuum { grid-template-columns: 1fr; margin-top: 50px; padding: 0 0 0 30px; border-top: 0; border-left: 1px solid rgba(255,255,255,.18); }
  .i-care-axis { top: 0; bottom: 0; left: -1px; right: auto; width: 1px; height: auto; }
  .i-care-axis::before { background: linear-gradient(var(--gold),rgba(223,174,88,.15) 65%,transparent); transform: scaleY(var(--i-enter)); transform-origin: top; }
  .i-care-axis i { top: calc(var(--i-enter) * 100%); left: -4px; transform: translateY(-50%); }
  .i-care-continuum article,
  .i-care-continuum article + article { min-height: 132px; padding: 0 0 25px; border: 0; }
  .i-care-continuum strong { margin-top: 12px; font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .i-static-process-track article strong,
  .i-static-process-track article p,
  .i-static-process-track article > i { transition: none; filter: none; transform: none; }
  .i-finance-route { opacity: 1; transform: none; transition: none; }
  .i-finance-route::after { transform: scaleX(1); transition: none; }
}

/* Accepted production chapter: real system imagery, one controlled scroll story. */
.i-solutions-system {
  --system-p: 0;
  --system-final: 0;
  --system-release: 0;
  position: relative;
  z-index: 3;
  height: 370vh;
  color: #f1eee5;
  background: #080a08;
}
.immersive-site .i-static-phase { overflow: clip; }
.i-solutions-stage {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 620px;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(ellipse at 72% 52%,rgba(224,173,85,.075),transparent 34%),radial-gradient(ellipse at 50% 120%,#172018 0,transparent 48%),#080a08;
}
.i-solutions-stage::after {
  content: "";
  z-index: -1;
  position: absolute;
  inset: 0;
  opacity: .8;
  background-image: linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff035 1px,transparent 1px);
  background-size: 100% 12.5vh,8.333vw 100%;
  -webkit-mask-image: linear-gradient(transparent,#000 16%,#000 86%,transparent);
  mask-image: linear-gradient(transparent,#000 16%,#000 86%,transparent);
}
.i-solutions-copy {
  z-index: 10;
  position: absolute;
  left: 5.5vw;
  top: 50%;
  width: min(31vw,450px);
  transform: translateY(-48%);
}
.i-solutions-copy > p { margin: 0 0 25px; color: var(--gold); font-size: 8px; letter-spacing: .25em; }
.immersive-site .i-solutions-copy h2 {
  margin: 0;
  font-size: clamp(51px,5.6vw,88px);
  font-weight: 500;
  line-height: .87;
  letter-spacing: -.07em;
}
.immersive-site .i-solutions-copy h2 em,
.immersive-site .i-solutions-finale h2 em { display: block; color: var(--gold); font-style: normal; transform: none !important; }
.i-solutions-copy > small { display: block; max-width: 380px; margin-top: 28px; color: #949990; font-size: 11px; line-height: 1.75; }
.i-solutions-chapters { position: relative; height: 88px; margin-top: 43px; border-top: 1px solid #30352f; }
.i-solutions-chapters article { position: absolute; inset: 19px 0 auto; opacity: 0; transform: translateY(12px); transition: opacity .25s ease,transform .5s cubic-bezier(.22,1,.36,1); }
.i-solutions-chapters article.is-active { opacity: 1; transform: none; }
.i-solutions-chapters span { display: block; margin-bottom: 8px; color: var(--gold); font-size: 7px; letter-spacing: .2em; }
.i-solutions-chapters strong { font-size: 19px; font-weight: 500; letter-spacing: -.03em; }
.i-solutions-chapters p { max-width: 365px; margin: 7px 0 0; color: #949990; font-size: 9px; line-height: 1.55; }
.i-solutions-visual { z-index: 5; position: absolute; left: 42vw; right: 4vw; top: max(118px,14vh); bottom: 7vh; overflow: hidden; border: 1px solid #ffffff18; border-radius: 16px; background: #111411; box-shadow: 0 34px 72px #0009; }
.i-solutions-visual::before { content: ""; z-index: 5; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,#080a088c 0,transparent 20%),linear-gradient(0deg,#080a08ad 0,transparent 31%); mix-blend-mode: multiply; }
.i-solutions-visual::after { content: ""; z-index: 6; position: absolute; inset: 0; pointer-events: none; border: 1px solid #ffffff0d; border-radius: inherit; box-shadow: inset 0 0 110px #0008; }
.i-solutions-visual figure { --photo-o:0; --photo-local:0; position: absolute; inset: -2%; margin: 0; opacity: var(--photo-o); overflow: hidden; transform: translate3d(calc(10px - var(--photo-local)*20px),0,0) scale(calc(1.075 - var(--photo-local)*.045)); will-change: opacity,transform; }
.i-solutions-visual figure:nth-child(1) { background: radial-gradient(circle at 68% 38%,#b88a3b42,transparent 22%),linear-gradient(135deg,#263227,#0b100c 72%); }
.i-solutions-visual figure:nth-child(2) { background: radial-gradient(circle at 62% 46%,#d4b56d38,transparent 24%),linear-gradient(145deg,#1e2921,#090d0a 74%); }
.i-solutions-visual figure:nth-child(3) { background: linear-gradient(115deg,#101812,#283228 52%,#090d0a); }
.i-solutions-visual figure:nth-child(4) { background: radial-gradient(circle at 58% 45%,#ba8b3b36,transparent 20%),linear-gradient(145deg,#263028,#080b09 76%); }
.i-solutions-visual figure:first-child { --photo-o:1; }
.i-solutions-visual img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.1) brightness(.72); }
.i-solutions-visual figure:nth-child(1) img { object-position: 58% center; }
.i-solutions-visual figure:nth-child(2) img { object-position: 64% center; }
.i-solutions-visual figure:nth-child(3) img { object-position: center; }
.i-solutions-visual figure:nth-child(4) img { object-position: 58% center; }
.i-solutions-scan { z-index: 7; position: absolute; left: 0; right: 0; top: calc(12% + var(--system-p)*72%); height: 1px; opacity: .34; background: linear-gradient(90deg,transparent 3%,#dfae5890 36%,#fff0c2 50%,#dfae5840 64%,transparent 97%); box-shadow: 0 0 18px #dfae5845; pointer-events: none; }
.i-solutions-note { z-index: 8; position: absolute; left: 28px; bottom: 25px; display: flex; align-items: center; gap: 10px; color: #d7dbd2; font-size: 7px; letter-spacing: .16em; }
.i-solutions-note::before { content: ""; width: 32px; height: 1px; background: linear-gradient(90deg,var(--gold),#dfae5833); box-shadow: 0 0 8px #dfae58; }
.i-solutions-credit { z-index: 8; position: absolute; right: 28px; bottom: 25px; color: #c0c5bb70; font-size: 5px; letter-spacing: .14em; }
.i-solutions-markers { z-index: 12; position: absolute; right: 3.2vw; top: 50%; display: grid; gap: 13px; transform: translateY(-50%); }
.i-solutions-markers i { width: 3px; height: 18px; border-radius: 2px; background: #ffffff20; transition: height .3s ease,background .3s ease,box-shadow .3s ease; }
.i-solutions-markers i.is-active { height: 36px; background: var(--gold); box-shadow: 0 0 11px #dfae58; }
.i-solutions-finale { z-index: 20; position: absolute; inset: 0; display: grid; place-items: center; text-align: center; background: rgba(8,10,8,.96); opacity: var(--system-final); pointer-events: none; }
.i-solutions-finale::before { content: ""; position: absolute; width: 55vw; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,#dfae5814,transparent 64%); transform: scale(calc(.72 + var(--system-final)*.28)); }
.i-solutions-finale > div { z-index: 1; padding: 24px; opacity: calc(1 - var(--system-release) * .72); transform: translateY(calc((1 - var(--system-final))*24px - var(--system-release)*12px)); }
.i-solutions-finale span { color: var(--gold); font-size: 8px; letter-spacing: .26em; }
.immersive-site .i-solutions-finale h2 { margin: 20px 0 25px; font-size: clamp(68px,8.2vw,128px); font-weight: 500; line-height: .82; letter-spacing: -.08em; }
.i-solutions-finale p { max-width: 500px; margin: auto; color: #949990; font-size: 11px; line-height: 1.7; }

/* Desktop sticky chapters must not be clipped by the static wrapper. */
@media (min-width: 821px) {
  .immersive-site,
  .immersive-site .i-static-phase { overflow: visible; }
}

/* Accepted production chapter: calm local trust, deliberately no scroll show. */
.i-responsibility {
  position: relative;
  z-index: 3;
  min-height: 680px;
  padding: 70px 5.5vw 34px;
  overflow: hidden;
  color: #11120f;
  background: #ece9df;
  isolation: isolate;
  font-family: -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing: antialiased;
  scroll-margin-top: 102px;
}
.immersive-site .i-demo-bar.i-on-light { color: #777970; background: rgba(236,233,223,.94); border-bottom-color: #c9c5b9; }
.immersive-site .i-demo-bar.i-on-light b { color: #11120f; }
.immersive-site .i-demo-bar.i-on-light a { color: #686a64; }
.immersive-site .i-header.i-on-light { color: #11120f; background: rgba(236,233,223,.88); border-bottom-color: #c9c5b9; }
.immersive-site .i-header.i-on-light .i-brand b { color: #11120f; }
.immersive-site .i-header.i-on-light nav { color: #5f615b; }
.immersive-site .i-header.i-on-light .i-header-cta { color: #76561f !important; border-color: #9d762f; }
.i-responsibility::before { content: ""; z-index: -1; position: absolute; left: 5.5vw; right: 5.5vw; top: 38px; height: 1px; background: linear-gradient(90deg,#9d762f 0 64px,#cbc7bb 64px 100%); }
.i-responsibility::after { content: "HEMER"; z-index: -2; position: absolute; right: -.04em; bottom: -.18em; color: #e3dfd3; font-size: 24vw; font-weight: 600; line-height: 1; letter-spacing: -.095em; }
.i-responsibility-head { display: grid; grid-template-columns: minmax(320px,.92fr) minmax(520px,1.08fr); gap: 8vw; align-items: start; max-width: 1380px; margin: auto; padding-bottom: 38px; }
.i-responsibility-head header > p { margin: 0 0 18px; color: #9d762f; font-size: 8px; letter-spacing: .24em; }
.immersive-site .i-responsibility h2 { max-width: 590px; margin: 0; color: #11120f; font-size: clamp(46px,5.2vw,78px); font-weight: 500; line-height: .86; letter-spacing: -.067em; }
.immersive-site .i-responsibility h2 em { display: block; color: #9d762f; font-style: normal; transform: none !important; }
.i-responsibility-statement { max-width: 585px; padding-top: 27px; border-top: 1px solid #11120f; }
.i-responsibility-statement > strong { display: block; max-width: 530px; font-size: clamp(21px,2vw,30px); font-weight: 500; line-height: 1.1; letter-spacing: -.042em; }
.i-responsibility-statement > p { max-width: 470px; margin: 17px 0 0; color: #686a64; font-size: 10px; line-height: 1.68; }
.i-responsibility-statement > div { display: flex; align-items: center; gap: 14px; margin-top: 25px; color: #11120f; font-size: 8px; letter-spacing: .18em; }
.i-responsibility-statement > div i { width: 7px; height: 7px; border-radius: 50%; background: #9d762f; box-shadow: 0 0 0 5px #9d762f16; }
.i-responsibility-principles { max-width: 1380px; margin: auto; border-top: 1px solid #c9c5b9; border-bottom: 1px solid #c9c5b9; }
.i-responsibility-principles article { position: relative; display: grid; grid-template-columns: 58px minmax(220px,.62fr) minmax(330px,1fr) 54px; gap: 28px; align-items: center; min-height: 88px; border-bottom: 1px solid #c9c5b9; transition: background .4s ease; }
.i-responsibility-principles article:last-child { border-bottom: 0; }
.i-responsibility-principles article > span { color: #9d762f; font-size: 8px; letter-spacing: .16em; }
.i-responsibility-principles h3 { margin: 0; font-size: clamp(20px,1.7vw,25px); font-weight: 500; letter-spacing: -.038em; transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.i-responsibility-principles p { max-width: 570px; margin: 0; color: #686a64; font-size: 10px; line-height: 1.65; }
.i-responsibility-principles article > i { justify-self: end; width: 42px; height: 1px; background: #b9b4a8; transform-origin: right; transition: width .4s cubic-bezier(.2,.8,.2,1),background .3s; }
.i-responsibility-principles article > i::after { content: ""; display: block; width: 5px; height: 5px; margin-left: auto; border-top: 1px solid #77786f; border-right: 1px solid #77786f; transform: translateY(-2px) rotate(45deg); }
.i-responsibility-principles article:hover { background: #e7e3d8; }
.i-responsibility-principles article:hover h3 { transform: translateX(10px); }
.i-responsibility-principles article:hover > i { width: 54px; background: #9d762f; }
.i-responsibility > footer { display: flex; align-items: center; justify-content: space-between; max-width: 1380px; margin: 22px auto 0; color: #777970; font-size: 7px; letter-spacing: .17em; }
.i-responsibility > footer a { padding-bottom: 5px; border-bottom: 1px solid #9d762f66; color: #9d762f; }

@media (width <= 820px) {
  .i-mobility { padding:72px 22px 76px; }
  .i-mobility::before { background-size:100% 90px,25vw 100%; }
  .i-mobility-shell { display:block; }
  .immersive-site .i-mobility h2 { font-size:clamp(48px,13vw,63px); }
  .i-mobility-copy > strong { margin-top:24px; font-size:19px; }
  .i-mobility-copy > small { font-size:9.5px; }
  .i-mobility-copy ul { margin-top:25px; }
  .i-mobility-film { aspect-ratio:4/5; margin-top:42px; border-radius:12px; }
  .i-mobility-film video { object-position:68% center; }
  .i-mobility-energy { bottom:46px; }
  .i-mobility-meta { gap:8px; font-size:4.8px; }
  .i-mobility-state { top:16px; right:17px; }
  .i-mobility-replay { top:14px; left:14px; }
  .immersive-site .i-header.i-on-light { box-shadow: 0 8px 0 #ece9df; }
  .i-solutions-system { height: 350vh; }
  .i-solutions-stage { min-height: 600px; }
  .i-solutions-stage::after { background-size: 100% 12.5vh,25vw 100%; }
  .i-solutions-copy { left: 22px; right: 22px; top: 8vh; width: auto; transform: none; }
  .i-solutions-copy > p { margin-bottom: 13px; }
  .immersive-site .i-solutions-copy h2 { font-size: clamp(40px,11.5vw,56px); line-height: .9; }
  .i-solutions-copy > small { max-width: 330px; margin-top: 12px; font-size: 8.5px; line-height: 1.5; }
  .i-solutions-chapters { height: 70px; margin-top: 18px; }
  .i-solutions-chapters article { top: 12px; }
  .i-solutions-chapters strong { font-size: 16px; }
  .i-solutions-chapters p { max-width: 315px; font-size: 7.8px; }
  .i-solutions-visual { left: 14px; right: 14px; top: max(43vh,330px); bottom: 3vh; border-radius: 12px; }
  .i-solutions-visual::before { background: linear-gradient(0deg,#080a08cc 0,transparent 38%); }
  .i-solutions-note { left: 15px; bottom: 15px; font-size: 5.2px; }
  .i-solutions-note::before { width: 18px; }
  .i-solutions-credit { right: 15px; bottom: 15px; font-size: 3.8px; }
  .i-solutions-markers { right: 7px; top: 37%; }
  .i-solutions-markers i { height: 10px; }
  .i-solutions-markers i.is-active { height: 22px; }
  .immersive-site .i-solutions-finale h2 { font-size: clamp(57px,17vw,83px); }
  .i-solutions-finale p { font-size: 10px; }
  .i-responsibility { min-height: 0; padding: 56px 22px 30px; }
  .i-responsibility::before { left: 22px; right: 22px; top: 30px; }
  .i-responsibility::after { right: -.03em; bottom: -.08em; font-size: 48vw; }
  .i-responsibility-head { display: block; padding-bottom: 32px; }
  .i-responsibility-head header > p { margin-bottom: 15px; }
  .immersive-site .i-responsibility h2 { font-size: clamp(46px,13.8vw,62px); }
  .i-responsibility-statement { margin-top: 30px; padding-top: 21px; }
  .i-responsibility-statement > strong { font-size: 21px; }
  .i-responsibility-statement > p { font-size: 10px; }
  .i-responsibility-statement > div { margin-top: 22px; }
  .i-responsibility-principles article { grid-template-columns: 32px 1fr 30px; gap: 12px; min-height: 0; padding: 18px 0; }
  .i-responsibility-principles h3 { font-size: 19px; }
  .i-responsibility-principles p { grid-column: 2/4; margin-top: -2px; font-size: 9px; }
  .i-responsibility-principles article > i { grid-column: 3; grid-row: 1; width: 25px; }
  .i-responsibility-principles article:hover h3 { transform: translateX(5px); }
  .i-responsibility-principles article:hover > i { width: 30px; }
  .i-responsibility > footer { align-items: flex-start; gap: 30px; line-height: 1.6; }
}

/* Calm information bridge: useful content without another staged scroll effect. */
.i-faq {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(300px,.78fr) minmax(520px,1.22fr);
  gap: clamp(70px,10vw,170px);
  padding: 92px 5.5vw 104px;
  color: #eeece5;
  background: #10130f;
  border-top: 1px solid #30352e;
  font-family: -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
.i-faq-intro { align-self: start; position: sticky; top: 142px; }
.i-faq-intro > p { margin: 0 0 21px; color: var(--gold); font-size: 8px; letter-spacing: .24em; }
.immersive-site .i-faq h2 { margin: 0; font-size: clamp(45px,5vw,76px); font-weight: 500; line-height: .89; letter-spacing: -.065em; }
.immersive-site .i-faq h2 em { display: block; color: var(--gold); font-style: normal; transform: none !important; }
.i-faq-intro > small { display: block; max-width: 390px; margin-top: 27px; color: #92978e; font-size: 10px; line-height: 1.7; }
.i-faq-intro > a { display: inline-block; margin-top: 31px; padding-bottom: 6px; color: #d4b575; border-bottom: 1px solid #7c673d; font-size: 7px; letter-spacing: .17em; }
.i-faq-list { border-top: 1px solid #3a3e38; }
.i-faq-list details { border-bottom: 1px solid #3a3e38; }
.i-faq-list summary { display: grid; grid-template-columns: 42px 1fr 26px; gap: 20px; align-items: center; min-height: 92px; cursor: pointer; list-style: none; }
.i-faq-list summary::-webkit-details-marker { display: none; }
.i-faq-list summary > span { color: var(--gold); font-size: 7px; letter-spacing: .16em; }
.i-faq-list summary > strong { font-size: clamp(18px,1.7vw,25px); font-weight: 500; letter-spacing: -.035em; }
.i-faq-list summary > i { position: relative; width: 20px; height: 20px; }
.i-faq-list summary > i::before,.i-faq-list summary > i::after { content: ""; position: absolute; left: 3px; right: 3px; top: 10px; height: 1px; background: #b7924e; transition: transform .35s ease; }
.i-faq-list summary > i::after { transform: rotate(90deg); }
.i-faq-list details[open] summary > i::after { transform: rotate(0); }
.i-faq-list details > p { max-width: 650px; margin: -5px 46px 28px 62px; color: #959b91; font-size: 10px; line-height: 1.75; }

/* The closing card is a useful pre-check, not a decorative promise list. */
.immersive-site .i-static-contact-card { padding: clamp(27px,3vw,46px); }
.immersive-site .i-static-contact-card > strong { max-width: 520px; }
.i-project-question { margin-top: 24px; }
.i-project-question > small { display: flex !important; justify-content: space-between; margin: 0 0 10px !important; color: #7b7568 !important; font-size: 6.5px !important; letter-spacing: .17em; }
.i-project-question > small em { color: #aaa496; font-style: normal; }
.i-project-question > div { display: flex; flex-wrap: wrap; gap: 7px; }
.i-project-question button { min-height: 34px; padding: 0 13px; border: 1px solid #c7c1b5; border-radius: 999px; color: #5b5a54; background: transparent; font: inherit; font-size: 8px; cursor: pointer; transition: color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease; }
.i-project-question button:hover { border-color: #9b762f; color: #684c1b; transform: translateY(-1px); }
.i-project-question button[aria-pressed="true"] { color: #f5f2e9; background: #171915; border-color: #171915; box-shadow: inset 0 -1px #9b762f; }
.immersive-site .i-static-contact-card > .i-project-submit { margin-top: 30px; }
.immersive-site .i-static-contact-card > .i-project-submit + small { margin-top: 12px; }

@media (width <= 820px) {
  .i-faq { display: block; padding: 72px 22px 76px; }
  .i-faq-intro { position: static; }
  .i-faq-list { margin-top: 54px; }
  .i-faq-list summary { grid-template-columns: 30px 1fr 22px; gap: 12px; min-height: 82px; }
  .i-faq-list summary > strong { font-size: 18px; }
  .i-faq-list details > p { margin: -2px 28px 25px 42px; font-size: 9px; }
  .i-project-question { margin-top: 21px; }
  .i-project-question button { min-height: 36px; font-size: 8.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .i-mobility-energy i { animation:none !important; opacity:.28; transform:translateX(195%); }
  .i-solutions-visual figure { transform: none; }
  .i-solutions-scan { display: none; }
  .i-solutions-chapters article,
  .i-solutions-markers i,
  .i-responsibility-principles article,
  .i-responsibility-principles h3 { transition: none; }
}
.i-craft-proof,.i-care-continuum{display:none!important}
.i-footer .desktop-copyright{background:none!important;filter:none!important;width:auto!important;height:auto!important;font-size:12px;letter-spacing:0;white-space:nowrap}
.i-footer .desktop-copyright::after{display:none!important}
.i-footer .i-footer-signature{font-size:11px;letter-spacing:.04em;text-align:right;justify-self:end;order:3}
.i-footer .i-footer-links{justify-self:center;order:2}
.i-footer .desktop-copyright{order:1}
@media(min-width:769px){.i-footer{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}}

/* Motion and editorial cleanup v56. */
html{scrollbar-gutter:stable;interpolate-size:allow-keywords;overflow-y:scroll}
html.preloader-pending,html.i-preloader-active{overflow-y:scroll!important}
.immersive-site .i-hero{padding-top:18vh}
.immersive-site .i-hero h1 span,.immersive-site .i-hero h1 em{transform:none!important}
.immersive-site .i-hero-copy>div{margin-top:24px}
.immersive-site .i-hero-axis,.immersive-site .i-scene-coordinate{display:none!important}
.i-responsibility{color:#eeece5;background:#0d100d}
.i-responsibility::before{display:none}
.i-responsibility::after{color:#151914}
.immersive-site .i-responsibility h2{color:#eeece5}
.i-responsibility-statement{border-top-color:#393d36}
.i-responsibility-statement>p,.i-responsibility-principles p{color:#9ba096}
.i-responsibility-statement>div{color:#d8d7d0}
.i-responsibility-principles{border-color:#343831}
.i-responsibility-principles article{grid-template-columns:58px minmax(220px,.62fr) minmax(330px,1fr);border-color:#343831}
.i-responsibility-principles article>i{display:none}
.i-responsibility-principles article:hover{background:#141812}
.i-responsibility>footer{color:#969b91}
.i-faq-intro{position:static;top:auto}
.i-faq-list details::details-content{block-size:0;opacity:0;overflow:hidden;transition:block-size .44s cubic-bezier(.2,.75,.2,1),opacity .28s ease;transition-behavior:allow-discrete}
.i-faq-list details[open]::details-content{block-size:auto;opacity:1}
.i-faq-list details[open]>p{animation:faqDetailsOpen .44s cubic-bezier(.2,.75,.2,1) both}
@keyframes faqDetailsOpen{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}
@media(width<=820px){.i-responsibility-principles article{grid-template-columns:32px 1fr}.i-responsibility-principles p{grid-column:2}.i-responsibility>footer{color:#969b91}}
@media(prefers-reduced-motion:reduce){.i-faq-list details::details-content{transition:none}.i-faq-list details[open]>p{animation:none}}
@media(min-width:769px){footer.i-footer .desktop-copyright{grid-column:1!important;grid-row:1!important;justify-self:start!important}footer.i-footer .i-footer-links{grid-column:2!important;grid-row:1!important;justify-self:center!important}footer.i-footer .i-footer-signature{grid-column:3!important;grid-row:1!important;justify-self:end!important}}
html[data-preloader="desktop"] .loader{visibility:hidden!important;pointer-events:none!important}
.i-film-grade{background:linear-gradient(90deg,#02040260,transparent 58%,#02040215),linear-gradient(0deg,#02040245,transparent 45%)!important}
.i-film-vignette{box-shadow:inset 0 0 140px 10px #00000030!important}
/* v16: larger hit areas without enlarging the approved typography. */
.i-header nav a,.i-footer-links a,.i-footer-signature a{display:inline-flex;align-items:center;min-height:32px}
.i-demo-bar>a{display:inline-flex;align-items:center;min-height:24px}
.i-finance a:not(.cta){min-height:24px}

/* Final desktop override: sticky chapters cannot live below an overflow-clipped main. */
@media(min-width:821px){body,main.immersive-site,main.immersive-site>.i-static-phase{overflow:visible!important}}
/* Keep scrolling typography at its native raster size: no blur or depth scaling. */
@media(min-width:821px){
  html.desktop-text-motion .immersive-site .i-depth-copy{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  html.desktop-text-motion .immersive-site .i-depth-copy.text-arrived{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    will-change:auto;
  }
}
.desktop-word-mask{display:inline-block;vertical-align:top;padding-bottom:.13em;margin-bottom:-.13em}
.desktop-word-mask>.desktop-word{display:inline-block}
.immersive-site h2 .desktop-word-mask,.immersive-site h2 .desktop-word{display:inline-block}
html:not(.desktop-text-motion) .immersive-site h2 .desktop-word-mask,
html:not(.desktop-text-motion) .immersive-site h2 .desktop-word{transform:none!important;transition:none!important}
@media(min-width:821px){
  html.desktop-text-motion .immersive-site h2>span:not(.desktop-word-mask),
  html.desktop-text-motion .immersive-site h2>em{transform:none!important;transition:none!important}
  html.desktop-text-motion .immersive-site h2 .desktop-word-mask,
  html.desktop-text-motion .immersive-site h2 .desktop-word{display:inline-block}
  html.desktop-text-motion .immersive-site h2 .desktop-word-mask{transform:none!important;transition:none!important}
  html.desktop-text-motion .desktop-word-mask{overflow:clip}
  html.desktop-text-motion .desktop-word-mask>.desktop-word{
    transform:translate3d(0,115%,0)!important;
    transition:transform .95s cubic-bezier(.16,1,.3,1) var(--word-delay,0ms)!important;
  }
  html.desktop-text-motion .text-arrived .desktop-word-mask>.desktop-word{transform:translate3d(0,0,0)!important}
}
@media(min-width:821px){
  .immersive-site .i-section{perspective:none}
  .immersive-site .i-depth-copy{
    filter:none!important;
    transform:translate3d(0,calc((1 - var(--i-enter))*28px - var(--i-exit)*18px),0)!important;
    will-change:transform,opacity;
    backface-visibility:hidden;
  }
}
@media(min-width:821px){
  .immersive-site .i-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#080a08ee!important}
  .i-footer{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#030503f2!important}
  .i-responsibility,.i-investment,.i-faq,.i-static-contact{content-visibility:visible}
  .immersive-site .i-film{filter:none;transform:none}
}

/* Desktop pacing and the second film share the opening chapter's visual language. */
@media(min-width:821px){
  .immersive-site .i-hero{min-height:190vh}
  .immersive-site .i-hero-copy{width:min(1100px,88vw)}
  .immersive-site .i-hero h1{font-size:clamp(64px,7.6vw,118px);line-height:.86}
  .immersive-site .i-hero h1>em{white-space:nowrap}
  .immersive-site .i-manifesto{min-height:180vh}
  .immersive-site .i-journey{min-height:200vh}
  .immersive-site .i-system,.immersive-site .i-quality{min-height:165vh}
  .i-solutions-system{height:310vh}
  /* Give the 121-frame film more scroll travel; keep its direct, reversible mapping. */
  .immersive-site .i-mobility.i-mobility-scroll{height:280vh}
  .immersive-site .i-mobility-scroll .i-mobility-shell{
    display:grid;grid-template-columns:minmax(250px,.68fr) minmax(0,1.52fr);
    align-items:center;isolation:isolate;max-width:1800px;
    gap:4vw;padding:110px 4vw 50px;
  }
  .i-mobility-scroll .i-mobility-copy{position:relative;z-index:4;width:auto;min-width:0}
  .i-mobility-scroll .i-mobility-film{
    position:relative;z-index:1;inset:auto;width:100%;height:auto;
    aspect-ratio:16/9;border:0;border-radius:0;box-shadow:none;
    background:#080a08 url('/assets/mobility/poster-start.webp') center/contain no-repeat;
  }
  .i-mobility-scroll .i-mobility-film video{object-fit:contain;filter:none;transform:none}
  .i-mobility-scroll .i-mobility-film::before{border:0;box-shadow:none}
  .i-mobility-scroll .i-mobility-film::after{display:none}
  .i-mobility-scroll .i-mobility-shade{display:none}
  .i-mobility-scroll .i-mobility-loading{
    inset:auto 14px 14px auto;background:#080a08cc;padding:10px 14px;
    border:1px solid #ffffff20;border-radius:3px;font-size:11px;
  }
}

html[data-preloader="desktop"] .desktop-mobility-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none}
html[data-preloader="desktop"] .desktop-mobility-sequence .i-mobility-film video{display:none!important}
html[data-preloader="desktop"] .is-loaded .desktop-mobility-canvas{opacity:1}
html[data-preloader="desktop"] .desktop-mobility-story{display:grid;margin-top:28px;min-height:130px;max-width:355px}
html[data-preloader="desktop"] .desktop-mobility-scene{grid-area:1/1;opacity:0;transform:translateY(7px);pointer-events:none;transition:opacity .3s ease,transform .5s cubic-bezier(.22,1,.36,1)!important}
html[data-preloader="desktop"] .desktop-mobility-scene.active{opacity:1;transform:none}
html[data-preloader="desktop"] .desktop-mobility-scene strong{display:block;color:#e7ddc8;font-size:clamp(19px,1.7vw,26px);font-weight:500;letter-spacing:-.025em;line-height:1.25}
html[data-preloader="desktop"] .desktop-mobility-scene p{color:#a2a79b;font-size:14px;line-height:1.65;max-width:330px;margin:12px 0 0}
@media(min-width:821px){
  html.desktop-text-motion .immersive-site h2[data-text-motion="rise"]{opacity:0;transform:translate3d(0,16px,0);transition:opacity .65s ease,transform .9s cubic-bezier(.22,1,.36,1)!important}
  html.desktop-text-motion .immersive-site h2[data-text-motion="fade"]{opacity:0;transform:none;transition:opacity .85s ease!important}
  html.desktop-text-motion .immersive-site h2[data-text-motion].text-arrived{opacity:1;transform:none}
}
html.desktop-process-motion #process .process-scroll-cards{position:relative}
html.desktop-process-motion #process .process-scroll-cards>article{opacity:var(--card-opacity,1);transform:translate3d(var(--card-x,0px),var(--card-y,0px),0);transition:border-color .3s ease!important}
html.desktop-process-motion #process .process-scroll-cards>article:focus-within{opacity:1!important;transform:none!important}

html[data-preloader="desktop"]:not(.motion-reduced) .i-solutions-chapters article{transition:opacity .35s ease,transform .65s cubic-bezier(.22,1,.36,1)!important}
html[data-preloader="desktop"]:not(.motion-reduced) .i-solutions-markers i{transition:height .35s ease,background .35s ease!important}
html[data-preloader="desktop"]:not(.motion-reduced) .i-mobility-chapters span{transition:color .35s ease,opacity .35s ease!important}
html[data-preloader="desktop"]:not(.motion-reduced) .i-mobility-film video{transition:opacity .4s ease!important}
html[data-preloader="desktop"]:not(.motion-reduced) .i-finance-route{transition:opacity .55s ease,transform .7s cubic-bezier(.22,1,.36,1)!important}
html[data-preloader="desktop"]:not(.motion-reduced) .i-faq-list details::details-content{transition:block-size .44s cubic-bezier(.2,.75,.2,1),opacity .28s ease!important;transition-behavior:allow-discrete!important}
html[data-preloader="desktop"].motion-reduced *,html[data-preloader="desktop"].motion-reduced *::before,html[data-preloader="desktop"].motion-reduced *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-preloader="desktop"].motion-reduced .i-depth-copy,html[data-preloader="desktop"].motion-reduced .i-footer-reveal,html[data-preloader="desktop"].motion-reduced .i-finance-route{opacity:1!important;transform:none!important;filter:none!important}
html[data-preloader="desktop"].motion-reduced .footer-motto{opacity:1!important;clip-path:none!important;transform:none!important}
html[data-preloader="desktop"].motion-reduced .i-solutions-visual figure{transform:none!important}
html[data-preloader="desktop"].motion-reduced .light-follow.light-arrive .light-edge{transform:scaleX(1)}
html[data-preloader="desktop"].motion-reduced .light-follow.light-arrive .light-join{opacity:.75}
html[data-preloader="desktop"].motion-reduced .light-follow.light-arrive .light-wash{opacity:.55}
html[data-preloader="desktop"] .i-footer>.footer-motto{clip-path:none!important;z-index:5}
html[data-preloader="desktop"]:not(.motion-reduced) .i-footer:has(.light-arrive)>.footer-motto{animation:desktopMottoReveal .85s .12s cubic-bezier(.16,1,.3,1) forwards!important}
@keyframes desktopMottoReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
