/* Startseite */
.home-hero__inner{ display:grid; gap:0; justify-items:start; }
.home-hero__mark{ --mark-w:58px; color:var(--brand-bright); margin-bottom:30px; filter:drop-shadow(0 0 24px rgba(42,159,216,.45)); }
.home-hero__title{ margin-top:22px; max-width:13ch; transform-origin:0 50%; }
.home-hero__pillars{ list-style:none; padding:0; margin:30px 0 0; display:flex; flex-wrap:wrap; gap:10px; }
.home-hero__ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-top:40px; }

.home-welcome{ padding-block:clamp(72px, 9vw, 130px); }
.home-welcome .p2{ max-width:18ch; }

/* Mission / Vision */
.mv__grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(32px,6vw,110px); align-items:center; }
@media (max-width:900px){ .mv__grid{ grid-template-columns:1fr; } }
.mv__visual{ position:relative; border-radius:var(--r-4); overflow:hidden; isolation:isolate; max-width:520px; width:100%; }
.mv__visual img{ width:100%; height:auto; display:block; border-radius:inherit; }
.mv__img--b{ position:absolute; inset:0; opacity:0; }
.mv__img--b .ph, .mv__img--b picture, .mv__img--b img{ height:100%; }
.mv__bloom{ position:absolute; inset:-20%; background:radial-gradient(40% 35% at 50% 42%, rgba(120,200,255,.55), rgba(42,159,216,.18) 45%, transparent 70%); mix-blend-mode:screen; opacity:0; pointer-events:none; }
.ph--lit{ background:
  radial-gradient(45% 35% at 50% 40%, rgba(220,240,255,.75), rgba(42,159,216,.5) 35%, transparent 70%),
  radial-gradient(90% 60% at 50% 100%, rgba(63,208,224,.25), transparent 70%),
  linear-gradient(160deg, #0d1a33 0%, #070d1a 60%, #050912 100%); }
.mv__steps{ display:flex; gap:22px; margin-bottom:40px; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--text-3); }
.mv__steps span{ position:relative; padding-bottom:10px; transition:color var(--dur-ui); }
.mv__steps span::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:100%; background:var(--brand-bright); transform:scaleX(0); transform-origin:0 50%; transition:transform .5s var(--ease-out); }
.mv__steps span.is-active{ color:var(--text); }
.mv__steps span.is-active::after{ transform:none; }
.mv__panels{ display:grid; gap:56px; }
.mv__panel{ display:grid; gap:20px; }
.mv__statement{ font:600 clamp(1.9rem, 3.4vw, 3.3rem)/1.12 var(--font-display); letter-spacing:-.02em; text-wrap:balance; }
.mv.is-scene .mv__panels{ position:relative; min-height:min(46vh, 420px); }
.mv.is-scene .mv__panel{ position:absolute; inset:0 0 auto 0; }

/* Values orbit */
.values__list{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .values__list{ grid-template-columns:1fr; gap:0; } }
.value{ display:grid; grid-template-columns:auto 1fr; gap:6px 18px; align-items:center; padding:26px; border:1px solid var(--line); border-radius:var(--r-3); background:var(--ink-800); }
.value__num{ grid-row:span 2; align-self:start; font-size:13px; color:var(--cyan); letter-spacing:.12em; }
.value__icon{ display:none; }
.value__title{ font-size:var(--fs-h3); }
.value__text{ grid-column:2; }
@media (max-width:900px){
  .value{ border:0; border-radius:0; border-top:1px solid var(--line); background:none; padding:28px 0; }
  .value__num{ position:sticky; top:calc(var(--header-h) + 16px); font:600 34px/1 var(--font-display); color:var(--brand-bright); }
}
.values__core, .values__link, .values__caption{ display:none; }

/* Values orbit: the pinned scene is exactly one viewport tall; the stage takes what is left
   and scenes/home.js fits the orbit into it, clear of the caption (our-values-height-fix.md) */
.values.is-orbit{
  --values-pad-top:calc(var(--header-h) + clamp(16px, 4vh, 48px)); /* clears the fixed header */
  --values-pad-bottom:clamp(16px, 4vh, 48px);
  box-sizing:border-box; height:100vh; height:100svh;
  padding-block:var(--values-pad-top) var(--values-pad-bottom);
  display:flex; flex-direction:column;
}
.values.is-orbit > .container{ flex:1 1 auto; min-height:0; width:100%; display:flex; flex-direction:column; justify-content:center; }
.values.is-orbit .section__head{ flex:none; gap:clamp(10px, 2vh, 20px); margin-bottom:clamp(12px, 3vh, 40px); }
.values.is-orbit .section__head h2{ font-size:min(var(--fs-h2), 7vh); }
.values.is-orbit .values__stage{ position:relative; flex:1 1 auto; min-height:0; height:auto; max-height:780px; }
.values.is-orbit .values__core{ display:block; position:absolute; left:50%; top:var(--orbit-cy, 46%); width:var(--orbit-core, min(30vh, 280px)); transform:translate(-50%,-50%); border-radius:50%; overflow:hidden; mix-blend-mode:screen; }
.values.is-orbit .values__core picture, .values.is-orbit .values__core img{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }
.ph--core{ border-radius:50%; background:
  radial-gradient(35% 35% at 38% 32%, rgba(234,241,251,.7), transparent 60%),
  conic-gradient(from 30deg, rgba(42,159,216,.6), rgba(63,208,224,.5), rgba(110,80,220,.4), rgba(42,159,216,.6)),
  #000; filter:blur(.3px); }
.ph--core::after{ display:none; }
.values.is-orbit .values__link{ display:block; position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.values__link line{ stroke:var(--brand-bright); stroke-width:1; stroke-dasharray:3 5; opacity:.8; }
.values.is-orbit .values__list{ display:block; position:absolute; inset:0; }
.values.is-orbit .value{
  position:absolute; left:0; top:0; display:flex; align-items:center; gap:10px; padding:10px 16px 10px 10px; border-radius:999px;
  background:rgba(17,26,46,.85); border-color:var(--line-strong); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  white-space:nowrap; will-change:transform, opacity; transition:border-color var(--dur-ui), box-shadow var(--dur-ui);
}
.values.is-orbit .value__num, .values.is-orbit .value__text{ display:none; }
.values.is-orbit .value__icon{ display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:rgba(42,159,216,.14); color:var(--brand-bright); font-size:20px; }
.values.is-orbit .value__title{ font-size:16px; }
.values.is-orbit .value.is-active{ border-color:var(--brand-bright); box-shadow:0 0 40px -6px rgba(42,159,216,.6); }
.values.is-orbit .values__caption{ display:grid; gap:10px; position:absolute; left:0; bottom:0; max-width:380px; padding:22px 24px; border-radius:var(--r-3); background:var(--glass-bg); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border:1px solid var(--line-strong); }
.values__cap-num{ color:var(--cyan); font-size:12.5px; letter-spacing:.16em; }
.values__cap-title{ font:600 26px/1.1 var(--font-display); }
/* Short screens: a smaller caption leaves more room for the orbit */
@media (max-height:820px){
  .values.is-orbit .values__caption{ max-width:320px; padding:14px 18px; gap:6px; }
  .values.is-orbit .values__cap-title{ font-size:18px; }
  .values.is-orbit .values__cap-text{ font-size:14px; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
}
