/* Main-site sizing: width controls layout; height changes whitespace only.
   This is the single source for header, home typography and breakpoints. */
:root {
  --h1: clamp(36px, calc(24px + 2vw), 64px);
  --lede: clamp(16px, calc(14px + .2vw), 18px);
  --badge: 13px;
  --stat-size: 14px;
  --btn: 14px;
  --btn-h: 44px;
  --hero-btn-h: 44px;
  --copy-max: 960px;
  --lede-max: 540px;
  --stats-x: clamp(24px, 4vw, 72px);
  --stats-y: 28px;
  --hero-gap: clamp(36px, 6svh, 80px);
}
.vortium-header {
  --vortium-logo-size: 48px;
  --vortium-center-gap: 24px;
  --vortium-header-x: clamp(16px, 3vw, 48px);
  --vortium-header-y: clamp(16px, 2svh, 28px);
}
/* Normal desktops retain their size. Larger windows grow continuously from
   1440px up to a bounded 1.8x, without changing page or hero scale. */
@media (min-width: 721px) {
  .vortium-header {
    --header-unit: clamp(1px, calc(.05vw + .28px), 1.8px);
    --vortium-logo-size: calc(48 * var(--header-unit));
    --vortium-center-gap: calc(24 * var(--header-unit));
  }
  .vortium-header__row {
    grid-template-columns: minmax(96px, 1fr) minmax(0, calc(512 * var(--header-unit))) minmax(96px, 1fr);
  }
  .vortium-header__center { max-width: none; }
  .vortium-desktop-nav {
    max-width: calc(440 * var(--header-unit));
    height: calc(48 * var(--header-unit));
    padding: calc(4 * var(--header-unit)) calc(8 * var(--header-unit));
  }
  .vortium-nav-link { font-size: calc(15 * var(--header-unit)); }
  .vortium-language { font-size: calc(13 * var(--header-unit)); }
}
html[data-view="home"], html[data-view="home"] body { height: auto; overflow-x: hidden; }
html[data-view="home"] .page {
  height: auto;
  min-height: 100svh;
  grid-template-rows: auto minmax(min-content, 1fr) auto;
  overflow: visible;
}
.hero { padding: 32px 24px var(--hero-gap); align-items: flex-end; }
.hero h1, html[lang="de"] .hero h1 { font-size: var(--h1); }
.hero-copy { min-width: 0; }
.headline-line { overflow: visible; }
.lede { max-width: min(100%, var(--lede-max)); }
.badge { padding: 9px 15px; margin-bottom: 22px; }
.hero-actions { margin-top: 26px; gap: 10px; }
.stat { min-width: 0; font-size: var(--stat-size); }
.stat-icon { width: 20px; height: 20px; }
@media (min-width: 901px) {
  .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}
@media (max-width: 900px) {
  .stats { flex-direction: column; justify-content: center; gap: 14px; }
  .stat { white-space: normal; }
}
@media (max-width: 720px) {
  :root { --h1: clamp(30px, calc(22px + 2vw), 36px); --lede: 16px; --stat-size: 14px; --hero-gap: 40px; }
  .vortium-header { --vortium-header-y: max(16px, env(safe-area-inset-top)); }
  .hero { padding-inline: 20px; padding-top: 40px; }
  .hero-actions { width: 100%; }
}
@media (max-width: 420px) {
  :root { --h1: 30px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: min(100%, 320px); }
}
/* Short windows scroll naturally; do not shrink type to fit their height. */
@media (max-height: 600px) {
  :root { --hero-gap: 32px; }
  .hero { padding-top: 32px; }
}
.home-story { padding-inline: max(24px, calc((100% - 1200px) / 2)); gap: clamp(24px, 4vw, 64px); }
.home-story__copy { max-width: 560px; min-width: 0; }
.home-story h2 { font-size: clamp(30px, calc(24px + 1.5vw), 48px); }
.home-story p { font-size: 16px; }
.home-story__steps strong { font-size: 15px; }
.home-story__steps p, .home-story__extras, .home-story .home-story__note { font-size: 14px; line-height: 1.6; }
.home-story__eyebrow, .home-story__steps span { font-size: 12px; }
.site-footer { font-size: 13px; line-height: 1.6; }
.footer-social, .site-footer-credit { font-size: inherit; }
.footer-social small { font-size: 11px; }
/* Portal entry occupies the existing left header track. */
.dashboard-entry{grid-column:1;grid-row:1;justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 13px;border:1px solid #a8c6fa29;border-radius:11px;background:linear-gradient(135deg,#b9d0ff13,#10182888);backdrop-filter:blur(14px);color:#c5d3e9;font-size:13px;white-space:nowrap}
.dashboard-entry:hover{border-color:#a8c6fa66;background:#9fb9e522}.vortium-header__center,.vortium-header__controls{grid-row:1}
@media(min-width:721px) and (max-width:1000px){.dashboard-entry span{display:none}}
@media(max-width:720px){.vortium-header__row{grid-template-columns:auto minmax(48px,1fr) auto;column-gap:12px}.dashboard-entry{grid-column:1;justify-self:start;font-size:12px;padding:9px 10px}.vortium-header__controls{grid-column:3}.vortium-header__center{grid-column:2;justify-content:flex-start}}
@media(max-width:380px){.dashboard-entry span{display:none}.dashboard-entry{justify-self:start}}
/* Keep portrait/square sizing; use a gentler scale on wide desktop windows. */
@media (min-width: 1200px) and (min-aspect-ratio: 4/3) {
  :root {
    --h1: clamp(36px, calc(24px + 1.7vw), 58px);
    --lede: clamp(16px, calc(14px + .15vw), 17px);
  }
  .vortium-header {
    --header-unit: clamp(1px, calc(.038vw + .453px), 1.6px);
  }
}
