    *, *::before, *::after {
      box-sizing: border-box;
    }

    :root {
      --bg: #0E2420;
      --surface: #163A33;
      --surface-2: #1E4A40;
      --text: #E6F0EC;
      --text-soft: #9CB6AD;
      --primary: #1F7A63;
      --accent: #E8B45C;
      --signal: #DC6242;
      /* Ambient accent — toggled via color probe */
      --ambient: #E8956D;
      --ambient-rgb: 232, 149, 109;
      --ambient-soft: rgba(232, 149, 109, 0.14);
      --font-display: 'Quicksand', system-ui, sans-serif;
      --font-body: 'Nunito', system-ui, sans-serif;
      --font-mono: 'Spline Sans Mono', ui-monospace, monospace;
      --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
      --ease-heavy: cubic-bezier(0.34, 1.25, 0.64, 1);
      --ease-enter: cubic-bezier(0.16, 1, 0.3, 1);
      --ease-plop: cubic-bezier(0.34, 1.18, 0.64, 1);
      --radius-panel: 14px;
      --radius-pill: 999px;
      --scroll-p: 0;
      --time-phase: 0;
      --chrono-rgb: 232, 149, 109;
    }

    html {
      overflow-x: clip;
      -webkit-text-size-adjust: 100%;
    }

    body {
      font-family: var(--font-body);
      color: var(--text);
      background: var(--bg);
      line-height: 1.5;
      overflow-x: hidden;
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }

    .lab a.text-link,
    .guide-toc__list a,
    .guide-toc__link,
    .guide-back a,
    .site-footer a,
    .form-hint a,
    .story-founder-link a {
      color: var(--text);
      text-decoration: none;
      border-bottom: 1px solid rgba(230, 240, 236, 0.22);
      transition: color 200ms, border-color 200ms;
    }
    .lab a.text-link:hover,
    .guide-toc__list a:hover,
    .guide-toc__link:hover,
    .guide-back a:hover,
    .site-footer a:hover,
    .form-hint a:hover,
    .story-founder-link a:hover {
      color: var(--accent);
      border-bottom-color: rgba(232, 180, 92, 0.45);
    }

    /* ─── PAGE ENTER · Soft Focus + simple Plop ─── */
    @keyframes soft-focus-in {
      from { opacity: 0.55; filter: blur(12px); }
      to { opacity: 1; filter: blur(0); }
    }
    @keyframes scene-settle {
      from { opacity: 0.65; }
      to { opacity: 1; }
    }
    @keyframes plop-simple {
      from { transform: scale(0.93) translateY(-7px); }
      to { transform: scale(1) translateY(0); }
    }

    body.page-enter .lab {
      animation: soft-focus-in 1.35s var(--ease-enter) both;
    }
    body.page-enter .scene {
      animation: scene-settle 1.6s var(--ease-enter) both;
    }
    [data-reveal] {
      transform: scale(0.93) translateY(-7px);
    }
    body.page-enter [data-reveal] {
      animation: plop-simple 0.52s var(--ease-plop) both;
      animation-delay: calc(0.1s + (var(--reveal-i, 1) - 1) * 0.065s);
    }

    .scene {
      position: fixed;
      inset: 0;
      z-index: 0;
      overflow: hidden;
      pointer-events: none;
    }

    .motion-replay {
      position: fixed;
      bottom: 1.25rem;
      right: 1.25rem;
      z-index: 50;
      padding: 0.5rem 0.9rem;
      font-family: var(--font-mono);
      font-size: 0.65rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--text-soft);
      background: rgba(14, 36, 32, 0.55);
      border: 1px solid rgba(156, 182, 173, 0.12);
      border-radius: var(--radius-pill);
      cursor: pointer;
      transition: color 200ms, border-color 200ms;
    }
    .motion-replay:hover {
      color: var(--text);
      border-color: rgba(var(--ambient-rgb), 0.35);
    }

    /* ─── SCROLL PROGRESS + SECTION SPINE ─── */
    .scroll-progress {
      position: fixed;
      top: 0;
      left: 0;
      height: 2px;
      width: 0;
      z-index: 100;
      background: linear-gradient(90deg, var(--primary), var(--accent), rgba(var(--ambient-rgb), 1));
      transform-origin: left center;
      pointer-events: none;
    }
    .section-spine {
      position: fixed;
      left: clamp(0.5rem, 2vw, 1.25rem);
      top: 50%;
      transform: translateY(-50%);
      z-index: 40;
      display: flex;
      flex-direction: column;
      gap: 0.55rem;
      padding: 0.5rem 0;
    }
    @media (max-width: 900px) {
      .section-spine { display: none; }
    }
    .section-spine-dot {
      position: relative;
      width: 10px;
      height: 10px;
      padding: 0;
      border: none;
      border-radius: 50%;
      background: rgba(156, 182, 173, 0.2);
      cursor: pointer;
      transition: transform 350ms var(--ease-heavy), background 300ms, box-shadow 300ms;
    }
    .section-spine-dot::after {
      content: attr(data-label);
      position: absolute;
      left: calc(100% + 10px);
      top: 50%;
      transform: translateY(-50%) translateX(-4px);
      font-family: var(--font-mono);
      font-size: 0.6rem;
      letter-spacing: 0.04em;
      white-space: nowrap;
      color: var(--text-soft);
      opacity: 0;
      pointer-events: none;
      transition: opacity 250ms, transform 250ms var(--ease-out);
    }
    .section-spine-dot:hover::after,
    .section-spine-dot.is-active::after {
      opacity: 1;
      transform: translateY(-50%) translateX(0);
    }
    .section-spine-dot.is-active {
      transform: scale(1.35);
      background: rgb(var(--dot-rgb, 31, 122, 99));
      box-shadow: 0 0 16px rgba(var(--dot-rgb, 31, 122, 99), 0.55);
    }
    .section-spine-dot.is-active::after {
      color: var(--text);
    }
    /* ─── ZONE SECTIONS (scroll + hover) ─── */
    .zone-section {
      --zone-rgb: 31, 122, 99;
      position: relative;
      scroll-margin-top: 5.5rem;
    }
    .zone-section::before {
      display: none;
    }
    .zone-section::after {
      content: '';
      position: absolute;
      inset: -0.5rem -1rem;
      border-radius: var(--radius-panel);
      background: radial-gradient(ellipse 65% 45% at 20% 35%, rgba(var(--zone-rgb), 0.07), transparent 72%);
      opacity: 0;
      pointer-events: none;
      z-index: -1;
      transition: opacity 500ms var(--ease-out);
    }
    .zone-section.is-active::before,
    .zone-section.is-hover::before {
      height: 2.5rem;
      opacity: 1;
    }
    .zone-section.is-active::after,
    .zone-section.is-hover::after {
      opacity: 1;
    }
    .zone-section.is-active .concept-label,
    .zone-section.is-hover .concept-label {
      color: rgb(var(--zone-rgb));
    }
    @media (max-width: 900px) {
      .zone-section::before { left: 0; }
    }

    .scene-wave {
      position: absolute;
      inset: -30%;
      background: radial-gradient(
        circle at calc(50% + var(--scroll-p) * 18%) calc(50% - var(--scroll-p) * 12%),
        rgba(var(--chrono-rgb), calc(0.07 + var(--scroll-p) * 0.12)) 0%,
        transparent 55%
      );
      transform: scale(calc(0.72 + var(--time-phase) * 0.28 + var(--scroll-p) * 0.55));
      opacity: calc(0.28 + var(--scroll-p) * 0.42);
      pointer-events: none;
      animation: wave-breathe 10s ease-in-out infinite;
      transition: transform 80ms linear, opacity 120ms linear;
    }
    @keyframes wave-breathe {
      0%, 100% { opacity: 0.28; }
      50% { opacity: 0.48; }
    }
    .scene .aurora {
      transition: transform 80ms linear;
    }

    /* ─── LIVING BACKGROUND ─── */
    .scene canvas {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
    }
    .aurora {
      position: absolute;
      inset: -20%;
      filter: blur(64px) saturate(1.25);
    }
    .orb {
      position: absolute;
      border-radius: 50%;
      will-change: transform;
    }
    .orb--smaragd {
      width: 62vw;
      height: 62vw;
      top: -10%;
      left: -14%;
      background: radial-gradient(circle, rgba(31, 122, 99, 0.62) 0%, rgba(14, 36, 32, 0) 68%);
      animation: drift-a 22s ease-in-out infinite;
    }
    .orb--warm {
      width: 54vw;
      height: 54vw;
      bottom: -18%;
      right: -12%;
      background: radial-gradient(circle, rgba(var(--chrono-rgb), 0.58) 0%, transparent 65%);
      animation: drift-b 26s ease-in-out infinite;
    }
    .orb--accent {
      width: 44vw;
      height: 44vw;
      top: 32%;
      left: 38%;
      background: radial-gradient(circle, rgba(232, 180, 92, 0.38) 0%, transparent 62%);
      animation: drift-c 18s ease-in-out infinite;
    }
    .orb--deep {
      width: 48vw;
      height: 48vw;
      bottom: 18%;
      left: 2%;
      background: radial-gradient(circle, rgba(155, 142, 196, 0.32) 0%, transparent 68%);
      animation: drift-d 32s ease-in-out infinite;
    }
    @keyframes drift-a {
      0%, 100% { transform: translate(0, 0) scale(1); }
      33% { transform: translate(8vw, 6vh) scale(1.08); }
      66% { transform: translate(-4vw, 10vh) scale(0.94); }
    }
    @keyframes drift-b {
      0%, 100% { transform: translate(0, 0) scale(1); }
      40% { transform: translate(-10vw, -8vh) scale(1.12); }
      70% { transform: translate(6vw, -4vh) scale(0.9); }
    }
    @keyframes drift-c {
      0%, 100% { transform: translate(0, 0) scale(1); }
      50% { transform: translate(-12vw, 8vh) scale(1.15); }
    }
    @keyframes drift-d {
      0%, 100% { transform: translate(0, 0); }
      50% { transform: translate(14vw, -6vh); }
    }
    .film-grain {
      position: absolute;
      inset: 0;
      opacity: 0.045;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 180px 180px;
      mix-blend-mode: overlay;
    }
    .vignette {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 80% 70% at 50% 45%, transparent 30%, rgba(8, 18, 16, 0.75) 100%);
      opacity: 0.78;
      transition: opacity 120ms linear;
    }

    .lab {
      position: relative;
      z-index: 3;
      max-width: 72rem;
      margin: 0 auto;
      padding: 5.75rem clamp(1.25rem, 4vw, 2.5rem) 3rem;
    }

    /* ─── SITE CHROME ─── */
    .site-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 45;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      flex-wrap: wrap;
      padding: 0.75rem clamp(1.25rem, 4vw, 2.5rem);
      background: rgba(14, 36, 32, 0.12);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(156, 182, 173, 0.06);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    }
    .brand-lockup {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      text-decoration: none;
      color: inherit;
    }
    .brand-monogram { width: 30px; height: auto; display: block; }
    .brand-wordmark {
      font-family: var(--font-display);
      font-weight: 700;
      font-size: 1.0625rem;
      letter-spacing: -0.01em;
    }
    .brand-wordmark .rix { color: var(--accent); }
    .site-nav {
      display: flex;
      flex-wrap: wrap;
      gap: 0.25rem 0.5rem;
    }
    @media (max-width: 899px) {
      .site-header {
        row-gap: 0.65rem;
        padding-top: max(0.75rem, env(safe-area-inset-top));
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
      }
      .site-nav {
        order: 3;
        flex: 1 1 100%;
        width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 0.35rem;
        padding: 0.15rem 0 0.25rem;
        mask-image: linear-gradient(90deg, transparent, #000 10px, #000 calc(100% - 10px), transparent);
      }
      .site-nav::-webkit-scrollbar { display: none; }
      .site-nav .nav-link {
        flex-shrink: 0;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        padding: 0.5rem 0.75rem;
      }
      .site-header-actions {
        margin-left: auto;
      }
      .lang-btn {
        min-width: 44px;
        min-height: 44px;
      }
      .btn-beam--sm {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
      }
    }
    .site-header-actions {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      margin-left: auto;
    }
    .lang-switch {
      display: inline-flex;
      padding: 3px;
      border-radius: var(--radius-pill);
      background: rgba(14, 36, 32, 0.2);
      border: 1px solid rgba(156, 182, 173, 0.08);
    }
    .lang-btn {
      padding: 0.3rem 0.55rem;
      font-family: var(--font-mono);
      font-size: 0.6rem;
      letter-spacing: 0.06em;
      color: var(--text-soft);
      background: transparent;
      border: none;
      border-radius: var(--radius-pill);
      cursor: pointer;
      transition: color 200ms, background 200ms;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .lang-btn.is-active {
      color: var(--text);
      background: rgba(31, 122, 99, 0.35);
    }
    .btn-beam--sm {
      padding: 0.55rem 1rem;
      font-size: 0.8125rem;
    }
    .site-footer {
      position: relative;
      z-index: 3;
      max-width: 72rem;
      margin: 0 auto;
      padding: 2rem clamp(1.25rem, 4vw, 2.5rem) 3rem;
      border-top: 1px solid rgba(156, 182, 173, 0.1);
      display: grid;
      gap: 1.25rem;
      text-align: center;
      justify-items: center;
    }
    @media (min-width: 640px) {
      .site-footer {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.25rem;
      }
    }
    .site-footer p { font-size: 0.8125rem; color: var(--text-soft); }
    .site-footer a { color: var(--text-soft); text-decoration: none; transition: color 200ms; }
    .site-footer a:hover { color: var(--accent); }
    .footer-links {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem 1.5rem;
      justify-content: center;
    }
    .approach-steps {
      display: grid;
      gap: 1rem;
      max-width: 40rem;
      counter-reset: step;
    }
    .approach-step {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 1rem;
      align-items: start;
      padding: 1rem 0;
      border-bottom: 1px solid rgba(156, 182, 173, 0.08);
    }
    .approach-step-num {
      font-family: var(--font-mono);
      font-size: 0.75rem;
      color: rgb(var(--zone-rgb, 31, 122, 99));
      padding-top: 0.15rem;
    }
    .approach-step h3 {
      font-family: var(--font-display);
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.25rem;
    }
    .approach-step p { font-size: 0.875rem; color: var(--text-soft); }
    .faq-list { display: grid; gap: 0.5rem; max-width: 44rem; }
    .faq-item {
      border: 1px solid rgba(156, 182, 173, 0.1);
      border-radius: var(--radius-panel);
      background: rgba(14, 36, 32, 0.2);
      overflow: hidden;
    }
    .faq-item summary {
      padding: 1rem 1.15rem;
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 0.9375rem;
      cursor: pointer;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
    }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after {
      content: '+';
      font-family: var(--font-mono);
      color: var(--accent);
      transition: transform 250ms var(--ease-out);
    }
    .faq-item[open] summary::after { transform: rotate(45deg); }
    .faq-item p {
      padding: 0 1.15rem 1rem;
      font-size: 0.875rem;
      color: var(--text-soft);
      line-height: 1.65;
    }
    .faq-more {
      max-width: 40rem;
      margin: 1.25rem auto 0;
      font-size: 0.9375rem;
      text-align: center;
    }
    .faq-more .btn-circuit {
      display: inline-flex;
    }
    .contact-form {
      display: grid;
      gap: 1rem;
      width: 100%;
      max-width: 32rem;
      margin-inline: auto;
    }
    .form-row { display: grid; gap: 0.35rem; }
    .form-row label {
      font-family: var(--font-mono);
      font-size: 0.65rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--text-soft);
    }
    .form-row input,
    .form-row textarea {
      width: 100%;
      padding: 0.75rem 0.9rem;
      font-family: var(--font-body);
      font-size: 0.9375rem;
      color: var(--text);
      background: rgba(14, 36, 32, 0.45);
      border: 1px solid rgba(156, 182, 173, 0.15);
      border-radius: calc(var(--radius-panel) - 2px);
      transition: border-color 200ms, box-shadow 200ms;
    }
    .form-row input:focus,
    .form-row textarea:focus {
      outline: none;
      border-color: rgba(var(--chrono-rgb), 0.45);
      box-shadow: 0 0 0 3px rgba(var(--chrono-rgb), 0.12);
    }
    .form-row textarea { min-height: 8rem; resize: vertical; }
    .form-hint {
      font-size: 0.8125rem;
      color: var(--text-soft);
      max-width: 32rem;
      width: 100%;
      margin-inline: auto;
    }
    .form-success {
      padding: 1rem 1.15rem;
      border-radius: var(--radius-panel);
      background: rgba(31, 122, 99, 0.15);
      border: 1px solid rgba(31, 122, 99, 0.35);
      font-size: 0.875rem;
      color: var(--text);
      max-width: 32rem;
      margin-inline: auto;
    }
    .form-success p:first-child {
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 1rem;
      margin-bottom: 0.35rem;
      color: var(--text);
    }
    .form-error {
      padding: 1rem 1.15rem;
      border-radius: var(--radius-panel);
      background: rgba(220, 98, 66, 0.12);
      border: 1px solid rgba(220, 98, 66, 0.35);
      font-size: 0.875rem;
      color: var(--text);
      max-width: 32rem;
      margin-inline: auto;
    }
    .form-error p:first-child {
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 1rem;
      margin-bottom: 0.35rem;
      color: var(--text);
    }
    .form-error a {
      color: var(--text);
      border-bottom: 1px solid rgba(230, 240, 236, 0.22);
    }
    .founder-photo {
      width: 100%;
      aspect-ratio: 1;
      object-fit: cover;
      border-radius: var(--radius-panel);
      background: rgba(22, 58, 51, 0.3);
    }
    .photo-rotator {
      position: relative;
      width: 100%;
      max-width: 320px;
      aspect-ratio: 1;
      border-radius: var(--radius-panel);
      overflow: hidden;
      background: rgba(22, 58, 51, 0.25);
    }
    .photo-rotator img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 20%;
      opacity: 0;
      transition: opacity 900ms var(--ease-out);
    }
    .photo-rotator img.is-active {
      opacity: 1;
    }
    .story-founder-link {
      margin-top: 1.25rem;
      font-size: 0.875rem;
    }
    .story-founder-link a {
      font-family: var(--font-mono);
      font-size: 0.65rem;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }

    .lab-badge {
      display: inline-block;
      font-family: var(--font-mono);
      font-size: 0.65rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--accent);
      border: 1px solid rgba(232, 180, 92, 0.35);
      padding: 0.35rem 0.85rem;
      border-radius: var(--radius-pill);
      margin-bottom: 1.5rem;
    }

    .lab h1,
    .hero-split-copy h1 {
      font-family: var(--font-display);
      font-size: clamp(1.75rem, 4vw, 2.75rem);
      font-weight: 600;
      letter-spacing: -0.03em;
      max-width: 20ch;
      line-height: 1.15;
      margin-bottom: 0.75rem;
      margin-inline: auto;
      text-align: center;
    }
    .lab-lead {
      color: var(--text-soft);
      max-width: 44ch;
      margin-bottom: 2rem;
      margin-inline: auto;
      text-align: center;
    }

    /* ─── COLOR PROBE ─── */
    .color-probe {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.5rem 0.65rem;
      margin-bottom: 2.5rem;
      max-width: 42rem;
    }
    .color-probe-label {
      width: 100%;
      font-size: 0.875rem;
      color: var(--text-soft);
      margin-bottom: 0.25rem;
    }
    .color-chip {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.4rem 0.75rem 0.4rem 0.5rem;
      font-family: var(--font-display);
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--text-soft);
      background: transparent;
      border: 1px solid rgba(156, 182, 173, 0.18);
      border-radius: var(--radius-pill);
      cursor: pointer;
      transition: color 200ms, border-color 200ms;
    }
    .color-chip:hover {
      color: var(--text);
      border-color: rgba(156, 182, 173, 0.35);
    }
    .color-chip.is-active {
      color: var(--text);
      border-color: rgba(var(--ambient-rgb), 0.5);
      background: rgba(var(--ambient-rgb), 0.08);
    }
    .color-chip-swatch {
      width: 1.125rem;
      height: 1.125rem;
      border-radius: 50%;
      flex-shrink: 0;
      box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08);
    }

    .mood-badge {
      display: inline-flex;
      flex-direction: column;
      gap: 0.15rem;
      margin-bottom: 2rem;
      padding: 0.65rem 1rem;
      border-left: 2px solid rgb(var(--chrono-rgb));
      background: rgba(14, 36, 32, 0.35);
      border-radius: 0 var(--radius-panel) var(--radius-panel) 0;
      transition: border-color 800ms ease;
    }
    .mood-badge-label {
      font-family: var(--font-mono);
      font-size: 0.6rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--text-soft);
    }
    .mood-badge-name {
      font-family: var(--font-display);
      font-size: 0.9375rem;
      font-weight: 600;
      color: rgb(var(--chrono-rgb));
      transition: color 800ms ease;
    }
    .mood-badge-hint {
      font-size: 0.75rem;
      color: var(--text-soft);
      margin-top: 0.15rem;
    }

    .concept-block {
      margin-bottom: 4.5rem;
      padding-top: 2.5rem;
      border-top: 1px solid rgba(156, 182, 173, 0.08);
    }
    .concept-block:first-of-type { border-top: none; padding-top: 0; }
    .concept-label {
      font-family: var(--font-body);
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }
    .concept-title {
      font-family: var(--font-display);
      font-size: 1.25rem;
      font-weight: 600;
      margin-bottom: 0.5rem;
    }
    .concept-desc {
      color: var(--text-soft);
      font-size: 0.9375rem;
      max-width: 46ch;
      margin-bottom: 1.25rem;
    }

    /* ─── CENTERED LAYOUT (intros centered, prose blocks left in column) ─── */
    .lab > .zone-section.concept-block > .concept-label,
    .lab > .zone-section.concept-block > .concept-title,
    .lab > .zone-section.concept-block > .concept-desc {
      text-align: center;
      margin-inline: auto;
    }
    .lab > .zone-section.concept-block > .concept-desc {
      max-width: 44ch;
    }
    .card-stage,
    .approach-steps,
    .faq-list,
    .contact-form,
    .form-hint,
    .form-success,
    .form-error,
    .about-founder-card {
      text-align: left;
    }
    .approach-steps,
    .faq-list {
      max-width: 40rem;
      margin-inline: auto;
    }
    .about-founder-card {
      max-width: 42rem;
      margin-inline: auto;
    }

    /* ─── SOFT MATRIX PLAYGROUND ─── */
    .matrix-play {
      position: relative;
      height: min(50vh, 380px);
      border-radius: var(--radius-panel);
      overflow: hidden;
      margin-bottom: 1rem;
      box-shadow: inset 0 1px 0 rgba(230, 240, 236, 0.05);
    }
    .matrix-play canvas {
      display: block;
      width: 100%;
      height: 100%;
    }
    .matrix-play-hint {
      position: absolute;
      bottom: 1rem;
      left: 50%;
      transform: translateX(-50%);
      font-family: var(--font-mono);
      font-size: 0.65rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--text-soft);
      opacity: 0.7;
      pointer-events: none;
    }

    /* ─── HEAVY TILT CARDS (Glas-Stage) ─── */
    .card-stage {
      perspective: 1400px;
      perspective-origin: center center;
      padding: clamp(1.25rem, 3vw, 1.75rem);
      border-radius: var(--radius-panel);
      background: rgba(14, 36, 32, 0.14);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border: 1px solid rgba(156, 182, 173, 0.1);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    }
    .card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 1.25rem;
    }
    .card-heavy {
      position: relative;
      transform-style: preserve-3d;
      will-change: transform;
      cursor: default;
    }
    .card-heavy-inner {
      position: relative;
      padding: 1.35rem 1.25rem;
      border-radius: calc(var(--radius-panel) - 2px);
      background: rgba(22, 58, 51, 0.12);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border: 1px solid rgba(156, 182, 173, 0.09);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
      transform: translateZ(0);
      transition: border-color 350ms var(--ease-out), box-shadow 400ms var(--ease-out);
    }
    .card-heavy:hover .card-heavy-inner {
      border-color: rgba(var(--ambient-rgb), 0.32);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 12px 32px rgba(0, 0, 0, 0.25);
    }
    .card-heavy-inner::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(
        480px circle at var(--mx, 50%) var(--my, 50%),
        rgba(var(--ambient-rgb), 0.07),
        transparent 50%
      );
      opacity: 0;
      transition: opacity 300ms;
      pointer-events: none;
    }
    .card-heavy:hover .card-heavy-inner::before { opacity: 1; }
    .card-heavy h3 {
      font-family: var(--font-display);
      font-size: 1.0625rem;
      font-weight: 600;
      margin-bottom: 0.4rem;
      transform: translateZ(24px);
    }
    .card-heavy p {
      font-size: 0.875rem;
      color: var(--text-soft);
      transform: translateZ(16px);
    }
    .card-tag {
      display: inline-block;
      margin-top: 1rem;
      font-family: var(--font-mono);
      font-size: 0.65rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--accent);
      transform: translateZ(20px);
    }
    .card-heavy-feature {
      grid-column: 1 / -1;
      max-width: 100%;
    }
    .card-heavy-feature .card-heavy-inner {
      padding: 1.75rem 1.5rem;
      min-height: auto;
    }
    .card-heavy-feature h3 { font-size: 1.35rem; max-width: 28ch; }
    .card-heavy-feature .weight-hint {
      margin-top: 0.75rem;
      font-family: var(--font-mono);
      font-size: 0.65rem;
      color: var(--text-soft);
      transform: translateZ(12px);
    }

    /* ─── BUTTONS (rounder) ─── */
    .btn-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      align-items: center;
      justify-content: center;
    }

    .btn-beam {
      --beam-angle: 0deg;
      position: relative;
      display: inline-flex;
      align-items: center;
      padding: 0.9rem 1.65rem;
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 0.9375rem;
      color: var(--bg);
      background: var(--accent);
      border: none;
      border-radius: var(--radius-pill);
      cursor: pointer;
      overflow: hidden;
      transition: transform 220ms var(--ease-out), box-shadow 220ms;
      text-decoration: none;
    }
    .btn-beam::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.4) 50%, transparent 60%);
      transform: translateX(-120%);
      transition: transform 650ms var(--ease-out);
    }
    .btn-beam span { position: relative; z-index: 1; }
    .btn-beam:hover {
      transform: translateY(-3px) scale(1.02);
      box-shadow: 0 12px 36px rgba(232, 180, 92, 0.4);
      animation: spin-beam 2.5s linear infinite;
    }
    .btn-beam:hover::after { transform: translateX(120%); }
    .btn-beam:active { transform: translateY(0) scale(0.96); transition-duration: 80ms; }
    @keyframes spin-beam { to { --beam-angle: 360deg; } }

    .btn-circuit {
      position: relative;
      display: inline-flex;
      align-items: center;
      padding: 0.9rem 1.65rem;
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 0.9375rem;
      color: var(--text);
      background: rgba(22, 58, 51, 0.4);
      border: none;
      border-radius: var(--radius-pill);
      cursor: pointer;
      transition: color 200ms, transform 200ms;
      text-decoration: none;
    }
    .btn-circuit::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      padding: 2px;
      background: linear-gradient(90deg, var(--primary), var(--accent), var(--primary));
      background-size: 200% 100%;
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      animation: circuit-run 3s linear infinite;
    }
    .btn-circuit:hover { color: var(--accent); transform: scale(1.03); }
    @keyframes circuit-run { to { background-position: 200% 0; } }

    .btn-blob {
      padding: 0.9rem 1.65rem;
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 0.9375rem;
      color: var(--text);
      background: var(--primary);
      border: none;
      border-radius: 60% 40% 55% 45% / 48% 52% 48% 52%;
      cursor: pointer;
      transition: border-radius 500ms var(--ease-out), transform 200ms, background 200ms;
      animation: blob-idle 6s ease-in-out infinite;
    }
    .btn-blob:hover {
      border-radius: 45% 55% 40% 60% / 52% 48% 52% 48%;
      background: #248f72;
      transform: scale(1.05);
    }
    @keyframes blob-idle {
      0%, 100% { border-radius: 60% 40% 55% 45% / 48% 52% 48% 52%; }
      50% { border-radius: 48% 52% 42% 58% / 55% 45% 55% 45%; }
    }

    .nav-demo { display: flex; flex-wrap: wrap; gap: 1.5rem 2rem; padding: 0.5rem 0; }
    .nav-link {
      position: relative;
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 0.875rem;
      color: var(--text-soft);
      text-decoration: none;
      padding: 0.35rem 0.75rem;
      border-radius: var(--radius-pill);
      transition: color 200ms, background 300ms;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: 2px;
      left: 50%;
      width: 60%;
      height: 2px;
      background: var(--accent);
      border-radius: 2px;
      transform: translateX(-50%) scaleX(0);
      transition: transform 350ms var(--ease-heavy);
    }
    .nav-link:hover {
      color: var(--text);
      background: rgba(31, 122, 99, 0.12);
    }
    .nav-link:hover::after { transform: translateX(-50%) scaleX(1); }
    .nav-link.is-active { color: var(--text); background: rgba(31, 122, 99, 0.18); }
    .nav-link.is-active::after { transform: translateX(-50%) scaleX(1); background: var(--primary); }

    .idea-list {
      display: grid;
      gap: 0.75rem;
      max-width: 36rem;
    }
    .idea-list li {
      list-style: none;
      padding: 0.65rem 0;
      border-bottom: 1px solid rgba(156, 182, 173, 0.08);
      font-size: 0.875rem;
      color: var(--text-soft);
      transition: color 200ms, padding-left 350ms var(--ease-out);
    }
    .idea-list li:hover {
      color: var(--text);
      padding-left: 0.35rem;
    }
    .idea-list strong { color: var(--accent); font-weight: 600; }

    #hero.concept-block {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding-top: clamp(2.5rem, 6vw, 4rem);
      padding-bottom: clamp(3rem, 8vw, 5rem);
    }
    @media (min-width: 768px) {
      #hero.concept-block {
        justify-content: center;
        min-height: min(68vh, 640px);
      }
    }
    #hero .concept-label {
      text-align: center;
      margin-bottom: 1rem;
      width: 100%;
    }
    #hero .hero-split.hero-split--solo {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
      max-width: 44rem;
      margin-inline: auto;
      margin-bottom: 0;
      text-align: center;
    }
    #hero .hero-split-copy {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
    }
    #hero .hero-split-copy h1 {
      max-width: min(18em, 100%);
      margin-inline: auto;
      font-size: clamp(1.75rem, 3.2vw + 0.5rem, 2.65rem);
      letter-spacing: -0.03em;
      line-height: 1.12;
      margin-bottom: 1.25rem;
      text-align: center;
    }
    #hero .lab-lead {
      max-width: min(44ch, 100%);
      margin-inline: auto;
      font-size: clamp(1rem, 1vw + 0.85rem, 1.125rem);
      line-height: 1.65;
      margin-bottom: 2rem;
      text-align: center;
    }
    #hero .btn-row {
      justify-content: center;
      gap: 1rem 1.25rem;
    }
    .hero-split--solo {
      grid-template-columns: 1fr;
      width: 100%;
      max-width: none;
      margin-inline: auto;
      margin-bottom: 0;
      text-align: center;
    }
    @media (max-width: 768px) {
      .hero-split--solo .btn-row {
        align-items: stretch;
      }
      .hero-split--solo .btn-row .btn-beam,
      .hero-split--solo .btn-row .btn-circuit {
        width: 100%;
        max-width: 100%;
        min-width: 0;
      }
    }

    /* ─── IMAGE INTEGRATION (Open Field) ─── */
    .hero-split {
      display: grid;
      grid-template-columns: 1fr 1.05fr;
      gap: clamp(2rem, 5vw, 4rem);
      align-items: center;
      margin-bottom: 3rem;
    }
    #hero .hero-split.hero-split--solo {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: 0;
    }
    @media (max-width: 768px) {
      .hero-split { grid-template-columns: 1fr; gap: 1.75rem; }
      .lab {
        padding-bottom: max(2rem, env(safe-area-inset-bottom));
      }
      .lab h1,
      .hero-split-copy h1 {
        font-size: clamp(1.5rem, 7vw, 2rem);
        max-width: min(18em, 100%);
        text-align: center;
        margin-inline: auto;
      }
      .lab-lead {
        font-size: 1rem;
        margin-bottom: 1.5rem;
        text-align: center;
        margin-inline: auto;
      }
      .btn-row {
        flex-direction: column;
        align-items: stretch;
        gap: 0.625rem;
      }
      .btn-row .btn-beam,
      .btn-row .btn-circuit {
        width: 100%;
        justify-content: center;
        text-align: center;
        min-height: 44px;
        padding: 0.625rem 1rem;
        font-size: 0.875rem;
      }
      .section-beacon { display: none; }
      .site-footer {
        padding-bottom: max(2.5rem, env(safe-area-inset-bottom));
      }
      .contact-form .btn-beam {
        width: 100%;
        min-height: 44px;
        padding: 0.625rem 1rem;
        font-size: 0.875rem;
      }
    }
    .hero-split-copy h3 {
      font-family: var(--font-display);
      font-size: clamp(1.35rem, 3vw, 1.75rem);
      font-weight: 600;
      letter-spacing: -0.02em;
      margin-bottom: 0.65rem;
      max-width: 16ch;
    }
    .hero-split-copy p {
      color: var(--text-soft);
      font-size: 0.9375rem;
      max-width: 34ch;
      margin-bottom: 1.25rem;
    }
    .hero-split-tag {
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.5rem;
      display: block;
    }
    .hero-split-copy .story-meta {
      display: block;
      margin-bottom: 0.85rem;
    }

    .media-frame {
      position: relative;
      margin: 0;
      border-radius: var(--radius-panel) var(--radius-panel) 4px var(--radius-panel);
      overflow: hidden;
      background: var(--surface);
    }
    .media-frame::before {
      content: '';
      position: absolute;
      inset: 0;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
      pointer-events: none;
      z-index: 1;
    }
    .media-frame img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 5 / 4;
      object-fit: cover;
      object-position: center 35%;
      transition: transform 1.2s var(--ease-out);
    }
    .media-frame::after { display: none; }
    .media-frame:hover img { transform: scale(1.02); }
    .media-frame figcaption {
      margin-top: 0.65rem;
      position: static;
      padding: 0;
      font-size: 0.8125rem;
      color: var(--text-soft);
      background: none;
    }

    .bento-grid {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-auto-rows: minmax(120px, auto);
      gap: 1.25rem 1rem;
    }
    .bento-item {
      position: relative;
      overflow: visible;
      background: none;
      border: none;
      transition: transform 500ms var(--ease-heavy);
    }
    .bento-item:hover { transform: translateY(-3px); }
    .bento-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      min-height: 120px;
      border-radius: var(--radius-panel);
    }
    .bento-a img { border-radius: 18px 18px 6px 18px; }
    .bento-b img { border-radius: 6px 18px 18px 18px; }
    .bento-c img { border-radius: 18px 6px 18px 18px; }
    .bento-d img { border-radius: 14px; }
    .bento-e img { border-radius: 18px 14px 18px 6px; }
    .bento-f img { border-radius: 6px 14px 18px 14px; }
    .bento-item-label {
      position: static;
      display: block;
      margin-top: 0.5rem;
      font-size: 0.8125rem;
      color: var(--text-soft);
      background: none;
      padding: 0;
    }
    .bento-a { grid-column: span 7; grid-row: span 2; }
    .bento-b { grid-column: span 5; }
    .bento-c { grid-column: span 5; }
    .bento-d { grid-column: span 4; }
    .bento-e { grid-column: span 4; }
    .bento-f { grid-column: span 4; }
    @media (max-width: 768px) {
      .bento-a, .bento-b, .bento-c, .bento-d, .bento-e, .bento-f {
        grid-column: span 12;
        grid-row: span 1;
      }
    }

    .photo-pos-center { object-position: center center; }
    .photo-pos-top { object-position: center 20%; }
    .photo-pos-bottom { object-position: center 70%; }
    .photo-pos-left { object-position: 25% center; }
    .photo-pos-right { object-position: 75% center; }

    .story-row {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
      gap: clamp(1.5rem, 4vw, 2.5rem);
      align-items: center;
    }
    @media (max-width: 768px) {
      .story-row { grid-template-columns: 1fr; }
    }
    .story-row-media img {
      width: 100%;
      min-height: 220px;
      object-fit: cover;
      display: block;
      border-radius: var(--radius-panel) 4px var(--radius-panel) var(--radius-panel);
    }
    .story-row-body {
      padding: 0;
    }
    .story-row-body h3 {
      font-family: var(--font-display);
      font-size: 1.125rem;
      font-weight: 600;
      margin-bottom: 0.5rem;
    }
    .story-row-body p {
      font-size: 0.875rem;
      color: var(--text-soft);
      margin-bottom: 1rem;
    }
    .story-meta {
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--accent);
      display: block;
      margin-bottom: 0.35rem;
    }

    .about-founder-card {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 1rem 1.5rem;
      margin-top: 1.75rem;
      padding: 1.25rem 1.5rem;
      border-radius: var(--radius-panel);
      background: rgba(22, 58, 51, 0.35);
      border: 1px solid rgba(156, 182, 173, 0.12);
      backdrop-filter: blur(12px);
      text-decoration: none;
      color: inherit;
      transition: border-color 220ms, background 220ms, transform 220ms;
    }
    .about-founder-card:hover {
      border-color: rgba(232, 180, 92, 0.28);
      background: rgba(22, 58, 51, 0.48);
      transform: translateY(-2px);
    }
    .about-founder-card__text {
      max-width: 36rem;
      font-size: 0.9375rem;
      color: var(--text-soft);
      line-height: 1.55;
    }
    .about-founder-card__cta {
      font-family: var(--font-mono);
      font-size: 0.65rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--accent);
      white-space: nowrap;
    }
    .media-frame--founder {
      overflow: visible;
      background: none;
    }
    .media-frame--founder .media-frame__clip {
      position: relative;
      border-radius: var(--radius-panel) var(--radius-panel) 4px var(--radius-panel);
      overflow: hidden;
      background: var(--surface);
    }
    .media-frame--founder .media-frame__clip::before {
      content: '';
      position: absolute;
      inset: 0;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
      pointer-events: none;
      z-index: 1;
    }
    .media-frame--founder .media-frame__clip img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 5 / 4;
      object-fit: cover;
      object-position: center 22%;
      transition: transform 1.2s var(--ease-out);
    }
    .media-frame--founder:hover .media-frame__clip img {
      transform: scale(1.02);
    }
    .media-frame--founder .media-frame__caption {
      margin-top: 0.65rem;
      padding: 0;
      font-family: var(--font-mono);
      font-size: 0.65rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--text-soft);
      background: none;
    }
    @media (max-width: 768px) {
      .media-frame--founder .media-frame__clip img {
        aspect-ratio: 4 / 5;
        object-position: center 18%;
      }
      .hero-split--founder .media-frame--founder {
        max-width: 22rem;
        margin-inline: auto;
        width: 100%;
      }
    }

    .direction-note {
      max-width: 52ch;
      font-size: 0.9375rem;
      color: var(--text-soft);
      line-height: 1.65;
      margin-bottom: 2rem;
    }
    .direction-note em { color: var(--text); font-style: normal; font-weight: 600; }

    /* ─── LEGAL SUBPAGES ─── */
    .legal-page > .concept-label,
    .legal-page > h1.concept-title,
    .legal-page > .legal-note {
      text-align: center;
      margin-inline: auto;
    }
    .legal-page h1.concept-title {
      font-size: clamp(1.5rem, 4vw, 2rem);
      margin-bottom: 0.75rem;
      max-width: 24ch;
    }
    .legal-page > .legal-note {
      max-width: 46ch;
    }
    .legal-page h2.legal-heading,
    .legal-page p,
    .legal-page li {
      max-width: 42rem;
      margin-inline: auto;
      text-align: left;
    }
    .legal-page h2.legal-heading {
      font-family: var(--font-display);
      font-size: 1.0625rem;
      font-weight: 600;
      color: var(--accent);
      margin: 1.75rem 0 0.5rem;
    }
    .legal-page p,
    .legal-page li {
      color: var(--text-soft);
      font-size: 0.9375rem;
      line-height: 1.65;
      margin-bottom: 0.75rem;
    }
    .legal-page .legal-note {
      font-size: 0.875rem;
      color: var(--text-soft);
      margin-bottom: 1.5rem;
      padding-bottom: 1rem;
      border-bottom: 1px solid rgba(156, 182, 173, 0.12);
    }
    .legal-page a {
      color: var(--text);
      text-decoration: none;
      border-bottom: 1px solid rgba(230, 240, 236, 0.22);
    }
    .legal-page a:hover {
      color: var(--accent);
      border-bottom-color: rgba(232, 180, 92, 0.45);
    }
    .legal-back {
      display: block;
      margin-top: 2rem;
      font-weight: 600;
      font-size: 0.9375rem;
      text-align: center;
    }
    .legal-page .concept-block:first-of-type {
      border-top: none;
    }
    @media (max-width: 899px) {
      .legal-page.concept-block {
        padding-top: 0.5rem;
      }
    }

    /* ─── GUIDE / RATGEBER PAGE ─── */
    .guide-page > .concept-label,
    .guide-page > h1.concept-title,
    .guide-page > .guide-intro {
      text-align: center;
      margin-inline: auto;
    }
    .guide-page > h1.concept-title {
      font-size: clamp(1.5rem, 4vw, 2.1rem);
      max-width: 22ch;
    }
    .guide-intro {
      max-width: 52ch;
      color: var(--text-soft);
      font-size: 0.9375rem;
      line-height: 1.65;
      margin-bottom: 2rem;
      padding-bottom: 1.5rem;
      border-bottom: 1px solid rgba(156, 182, 173, 0.12);
    }
    .guide-toc {
      max-width: 42rem;
      margin: 0 auto 2.5rem;
      padding: 1.25rem 1.5rem;
      border-radius: var(--radius-panel);
      background: rgba(14, 36, 32, 0.35);
      border: 1px solid rgba(156, 182, 173, 0.12);
    }
    .guide-toc__label {
      font-family: var(--font-mono);
      font-size: 0.65rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 0.75rem;
    }
    .guide-toc__list {
      list-style: none;
      display: grid;
      gap: 0.5rem;
      margin: 0;
      padding: 0;
    }
    .guide-toc__list a {
      color: var(--text);
      text-decoration: none;
      font-size: 0.9375rem;
      border-bottom: 1px solid rgba(230, 240, 236, 0.15);
      transition: color 200ms, border-color 200ms;
    }
    .guide-toc__list a:hover {
      color: var(--accent);
      border-bottom-color: rgba(232, 180, 92, 0.4);
    }
    .guide-section {
      max-width: 42rem;
      margin: 0 auto 2.5rem;
      scroll-margin-top: 7rem;
    }
    .guide-faq-list {
      max-width: none;
      margin-inline: 0;
    }
    .guide-section__title {
      font-family: var(--font-display);
      font-size: 1.125rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 1.25rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid rgba(156, 182, 173, 0.12);
    }
    .guide-item {
      margin-bottom: 1.5rem;
    }
    .guide-item__q {
      font-family: var(--font-display);
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.35;
      margin-bottom: 0.4rem;
      color: var(--text);
    }
    .guide-item__a {
      color: var(--text-soft);
      font-size: 0.9375rem;
      line-height: 1.65;
    }
    .guide-cta {
      max-width: 42rem;
      margin: 2.5rem auto 0;
      padding: 1.5rem;
      text-align: center;
      border-radius: var(--radius-panel);
      background: rgba(31, 122, 99, 0.12);
      border: 1px solid rgba(31, 122, 99, 0.28);
    }
    .guide-cta p {
      margin-bottom: 1rem;
      color: var(--text-soft);
      font-size: 0.9375rem;
    }
    .guide-back {
      display: block;
      text-align: center;
      margin-top: 2rem;
      font-weight: 600;
      font-size: 0.9375rem;
    }
    .guide-back a {
      color: var(--text);
      text-decoration: none;
      border-bottom: 1px solid rgba(230, 240, 236, 0.22);
    }
    .guide-back a:hover {
      color: var(--accent);
    }

    /* ─── MOBILE HARDENING (touch, overflow, header clearance) ─── */
    @media (max-width: 899px) {
      :root {
        --header-offset: max(12.5rem, calc(10rem + env(safe-area-inset-top)));
      }
      .lab {
        padding-top: var(--header-offset);
        padding-left: max(1.125rem, env(safe-area-inset-left));
        padding-right: max(1.125rem, env(safe-area-inset-right));
        padding-bottom: max(2.5rem, env(safe-area-inset-bottom));
        min-width: 0;
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
      }
      .zone-section {
        scroll-margin-top: var(--header-offset);
        overflow: hidden;
        width: 100%;
        max-width: 100%;
        min-width: 0;
      }
      .zone-section::after {
        display: none;
      }
      .concept-block {
        min-width: 0;
        width: 100%;
        max-width: 100%;
      }
      .concept-desc {
        max-width: 100%;
      }
      #hero.concept-block {
        padding-top: 0.5rem;
      }
      #contact .concept-label,
      #contact .concept-title,
      #contact .concept-desc,
      #contact .form-success,
      #contact .form-error,
      #contact .form-hint {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
      }
      #contact .concept-desc {
        max-width: 44ch;
      }
      #contact .form-success {
        max-width: 32rem;
        text-align: left;
      }
      .contact-form {
        width: 100%;
        max-width: min(100%, 32rem);
        min-width: 0;
        margin-inline: auto;
      }
      .form-row {
        min-width: 0;
        width: 100%;
      }
      .form-row input,
      .form-row textarea {
        font-size: 16px;
        padding: 0.5rem 0.75rem;
        min-height: 0;
        width: 100%;
        max-width: 100%;
        display: block;
      }
      .form-row textarea {
        min-height: 5.5rem;
      }
      .contact-form {
        gap: 0.75rem;
      }
      .contact-form .btn-beam {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        justify-content: center;
      }
      .btn-beam:hover,
      .btn-circuit:hover {
        transform: none;
      }
      .hero-split--solo .btn-row .btn-beam,
      .hero-split--solo .btn-row .btn-circuit {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 44px;
        padding: 0.625rem 1rem;
        font-size: 0.875rem;
        overflow: hidden;
      }
      .btn-row .btn-beam,
      .btn-row .btn-circuit {
        max-width: 100%;
        overflow: hidden;
      }
      .btn-circuit {
        overflow: hidden;
        max-width: 100%;
      }
      h1, h2, h3, .concept-title {
        overflow-wrap: break-word;
        hyphens: auto;
        text-wrap: balance;
      }
      [data-reveal] {
        transform: none;
      }
      body.page-enter [data-reveal] {
        animation: none;
      }
      .form-row {
        gap: 0.25rem;
      }
      .card-grid {
        grid-template-columns: 1fr;
      }
      .card-stage {
        padding: 1rem;
      }
      .about-founder-card {
        flex-direction: column;
        align-items: flex-start;
      }
      .about-founder-card__cta {
        white-space: normal;
      }
      .site-header-actions {
        flex-shrink: 0;
        gap: 0.4rem;
      }
      .btn-beam,
      .btn-circuit {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
      }
      .btn-beam:not(.btn-beam--sm),
      .btn-circuit {
        min-height: 44px;
        padding: 0.625rem 1rem;
        font-size: 0.875rem;
      }
      .nav-link,
      .lang-btn {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
      }
      .btn-beam--sm {
        padding: 0.375rem 0.6rem;
        font-size: 0.6875rem;
        min-height: 36px;
        line-height: 1.2;
        white-space: nowrap;
      }
      .faq-item summary {
        min-height: 48px;
      }
      .concept-block {
        margin-bottom: 3rem;
      }
    }

    @media (max-width: 380px) {
      .brand-wordmark {
        font-size: 0.9375rem;
      }
      .site-nav .nav-link {
        padding: 0.5rem 0.6rem;
        font-size: 0.8125rem;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      body.page-enter .lab,
      body.page-enter .scene { animation: none !important; }
      [data-reveal] {
        transform: none !important;
        animation: none !important;
      }
      .cursor-glow { display: none; }
      .aurora .orb { animation: none !important; }
    }
