    :root {
      --cream: #e3f2fd;
      --warm-white: #f5faff;
      --dark: #0a2540;
      --charcoal: #0d3060;
      --accent: #0496ff;
      --accent-light: #90caf9;
      --text-body: #1a2e45;
      --text-muted: #4a6a8a;
      --border: rgba(4, 150, 255, 0.15);
    }

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

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: 'DM Sans', sans-serif;
      background: var(--warm-white);
      color: var(--text-body);
      font-size: 16px;
      line-height: 1.6;
      overflow-x: hidden;
    }

    body::after {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 9998;
      opacity: .028;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
      background-size: 256px 256px;
    }

    /* NAV — styles live in accessibility.css */

    /* ══════════════════════════════
     SHARED
  ══════════════════════════════ */
    /* .section-eyebrow / .section-title — styles live in accessibility.css */

    @keyframes fadeUp {
      from {
        opacity: 0;
        transform: translateY(24px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .animate {
      animation: fadeUp .7s ease both;
    }

    .delay-1 {
      animation-delay: .1s;
    }

    .delay-2 {
      animation-delay: .25s;
    }

    .delay-3 {
      animation-delay: .4s;
    }

    .delay-4 {
      animation-delay: .55s;
    }

    .delay-5 {
      animation-delay: .7s;
    }

    /* ══════════════════════════════
     HERO
  ══════════════════════════════ */
    .ueber-hero {
      padding-top: calc(76px + env(safe-area-inset-top, 0px));
      min-height: 88vh;
      display: grid;
      grid-template-columns: 1fr min(50%, 720px);
    }

    .ueber-hero-left {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 80px 60px;
    }

    .ueber-hero-eyebrow {
      font-size: 11px;
      font-weight: 500;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 24px;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .ueber-hero-eyebrow::before {
      content: '';
      display: block;
      width: 32px;
      height: 1px;
      background: var(--accent);
    }

    .ueber-hero-left h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(40px, 5vw, 76px);
      font-weight: 300;
      line-height: 1.06;
      color: var(--dark);
      letter-spacing: -.01em;
      margin-bottom: 28px;
    }

    .ueber-hero-left h1 em {
      font-style: italic;
      color: var(--accent);
    }

    .ueber-hero-sub {
      font-size: 17px;
      line-height: 1.75;
      color: var(--text-muted);
      font-weight: 300;
      margin-bottom: 44px;
    }

    .ueber-hero-cta {
      display: flex;
      gap: 16px;
      align-items: center;
      flex-wrap: wrap;
    }

    /* .btn-primary / .btn-ghost — styles live in accessibility.css */

    /* Right — photo panel (visually left via order) */
    .ueber-hero-right {
      position: relative;
      overflow: hidden;
      background: #0a2540;
      order: -1;
    }

    .ueber-hero-img-pattern {
      position: absolute;
      inset: 0;
      background-image: none;
    }

    .ueber-hero-photo {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      /* Bias the visible window toward Wadim's face/torso (centre of the portrait,
         which is in the upper-middle of the original image). "center top" was
         showing only the screen + anatomy charts on wide screens. */
      object-position: center 28%;
      display: block;
    }

    .ueber-hero-img-overlay {
      position: absolute;
      inset: 0;
      /* flat mask so Wadim's face isn't washed out */
      background: rgba(10, 37, 64, .48);
    }

    .ueber-hero-bg-text {
      position: absolute;
      bottom: -10px;
      right: -10px;
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(80px, 12vw, 180px);
      font-weight: 300;
      color: rgba(4, 150, 255, .07);
      line-height: 1;
      pointer-events: none;
      white-space: nowrap;
    }

    .ueber-hero-name-tag {
      position: absolute;
      bottom: 52px;
      left: 48px;
      z-index: 2;
    }

    .ueber-hero-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 42px;
      font-weight: 300;
      color: white;
      line-height: 1.1;
      margin-bottom: 8px;
    }

    .ueber-hero-role {
      font-size: 11px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--accent-light);
    }

    .ueber-hero-badge {
      position: absolute;
      top: 48px;
      right: 40px;
      z-index: 2;
      width: 200px;
      background: #ffffff;
      border-radius: 6px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 24px 22px 22px;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--text-muted);
      line-height: 1.6;
      box-shadow: 0 14px 44px rgba(10, 37, 64, 0.28);
    }

    .ueber-hero-badge::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: var(--accent);
    }

    .ueber-hero-badge-seal {
      display: block;
      font-size: 16px;
      color: var(--accent);
      line-height: 1;
      margin-bottom: 10px;
    }

    .ueber-hero-badge strong {
      display: block;
      font-family: 'Cormorant Garamond', serif;
      font-size: 20px;
      font-weight: 400;
      font-style: italic;
      color: var(--dark);
      letter-spacing: .01em;
      text-transform: none;
      margin-bottom: 12px;
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(10, 37, 64, 0.10);
    }

    /* ══════════════════════════════
     WHAT I DO / DON'T — DARK SECTION
  ══════════════════════════════ */
    .ueber-positioning {
      background: var(--dark);
      padding: 100px 60px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: start;
      position: relative;
      overflow: hidden;
    }

    .ueber-positioning::before {
      content: 'Ehrlich';
      position: absolute;
      bottom: -10px;
      right: -10px;
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(80px, 12vw, 200px);
      font-weight: 300;
      color: rgba(4, 150, 255, .04);
      line-height: 1;
      pointer-events: none;
      white-space: nowrap;
    }

    /* Not-list */
    .ueber-positioning .section-eyebrow {
      color: var(--accent-light);
    }

    .ueber-positioning .section-eyebrow::before {
      background: var(--accent-light);
    }

    .ueber-not-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(30px, 3.5vw, 48px);
      font-weight: 300;
      color: var(--cream);
      line-height: 1.1;
      margin-bottom: 36px;
    }

    .ueber-not-title em {
      font-style: italic;
      color: var(--accent-light);
    }

    .ueber-not-list {
      list-style: none;
      margin-bottom: 32px;
    }

    .ueber-not-list li {
      font-size: 15px;
      color: rgba(227, 242, 253, .55);
      padding: 13px 0;
      border-bottom: 1px solid rgba(255, 255, 255, .06);
      display: flex;
      align-items: center;
      gap: 14px;
      font-weight: 300;
    }

    .ueber-not-list li:last-child {
      border-bottom: none;
    }

    .ueber-not-list li::before {
      content: '×';
      color: rgba(144, 202, 249, .4);
      font-size: 16px;
      flex-shrink: 0;
      font-weight: 300;
    }

    .ueber-not-note {
      font-size: 13px;
      color: rgba(227, 242, 253, .35);
      line-height: 1.75;
      padding-top: 24px;
      border-top: 1px solid rgba(255, 255, 255, .06);
    }

    /* Do-list */
    .ueber-do-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(30px, 3.5vw, 48px);
      font-weight: 300;
      color: var(--cream);
      line-height: 1.1;
      margin-bottom: 36px;
    }

    .ueber-do-title em {
      font-style: italic;
      color: var(--accent-light);
    }

    .ueber-do-card {
      border: 1px solid rgba(4, 150, 255, .2);
      background: rgba(255, 255, 255, .03);
      padding: 36px;
      margin-bottom: 20px;
      position: relative;
    }

    .ueber-do-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 3px;
      height: 100%;
      background: var(--accent);
    }

    .ueber-do-card-label {
      font-size: 10px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--accent-light);
      margin-bottom: 12px;
    }

    .ueber-do-card p {
      font-size: 15px;
      color: rgba(227, 242, 253, .65);
      line-height: 1.8;
      font-weight: 300;
    }

    .ueber-do-card p strong {
      color: rgba(227, 242, 253, .9);
      font-weight: 500;
    }

    /* ══════════════════════════════
     ZIEL — FULL WIDTH QUOTE
  ══════════════════════════════ */
    .ueber-ziel {
      padding: 100px 60px;
      background: var(--warm-white);
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 80px;
      align-items: center;
    }



    .ueber-ziel-label {
      font-size: 11px;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .ueber-ziel-label::before {
      content: '';
      width: 32px;
      height: 1px;
      background: var(--accent);
    }

    .ueber-ziel-heading {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(28px, 3vw, 44px);
      font-weight: 300;
      color: var(--dark);
      line-height: 1.15;
    }

    .ueber-ziel-heading em {
      font-style: italic;
      color: var(--accent);
    }

    .ueber-ziel-quote {
      position: relative;
      padding: 48px 56px;
      border: 1px solid rgba(4, 150, 255, .15);
      background: var(--dark);
      border-radius: 6px;
    }

    .ueber-ziel-quote::before {
      content: '\201C';
      font-family: 'Cormorant Garamond', serif;
      font-size: 120px;
      line-height: .7;
      color: rgba(4, 150, 255, .14);
      position: absolute;
      top: 24px;
      left: 36px;
      pointer-events: none;
    }

    .ueber-ziel-quote p {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(22px, 2.5vw, 32px);
      font-weight: 300;
      line-height: 1.5;
      color: var(--cream);
      font-style: italic;
      padding-top: 32px;
    }

    .ueber-ziel-quote p strong {
      font-weight: 400;
      color: var(--accent-light);
      font-style: normal;
    }

    /* ══════════════════════════════
     VALUES / WOFÜR ICH STEHE
  ══════════════════════════════ */
    .ueber-values {
      background: var(--cream);
      padding: 100px 60px;
    }

    .ueber-values-header {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: end;
      margin-bottom: 64px;
    }

    .ueber-values-desc {
      font-size: 16px;
      line-height: 1.8;
      color: var(--text-muted);
      font-weight: 300;
      align-self: end;
    }

    .ueber-values-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: var(--border);
      border: 1px solid var(--border);
    }

    .ueber-value-card {
      background: white;
      padding: 44px 36px;
      position: relative;
      overflow: hidden;
      transition: background .35s ease;
    }

    .ueber-value-card:hover {
      background: var(--dark);
    }

    .ueber-value-card:hover .ueber-value-title {
      color: var(--cream);
    }

    .ueber-value-card:hover .ueber-value-text {
      color: rgba(227, 242, 253, .62);
    }

    .ueber-value-card:hover .ueber-value-num {
      color: rgba(4, 150, 255, .3);
    }

    .ueber-value-icon {
      width: 32px;
      height: 32px;
      margin-bottom: 20px;
      display: block;
      color: var(--accent);
      transition: color .3s, transform .3s;
    }

    .ueber-value-icon svg {
      width: 100%;
      height: 100%;
    }

    .ueber-value-card:hover .ueber-value-icon {
      color: rgba(144, 202, 249, .9);
      transform: scale(1.1);
    }

    .ueber-value-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 64px;
      font-weight: 300;
      color: rgba(144, 202, 249, .3);
      position: absolute;
      top: 20px;
      right: 24px;
      line-height: 1;
      pointer-events: none;
      transition: color .25s;
    }

    .ueber-value-card:hover .ueber-value-num {
      color: rgba(4, 150, 255, .2);
    }

    .ueber-value-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 22px;
      font-weight: 400;
      color: var(--dark);
      margin-bottom: 12px;
      line-height: 1.2;
      transition: color .3s;
    }

    .ueber-value-text {
      font-size: 14px;
      line-height: 1.8;
      color: var(--text-muted);
      font-weight: 300;
      transition: color .3s;
    }

    .ueber-value-bar {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0;
      height: 2px;
      background: var(--accent);
      transition: width .35s ease;
    }

    .ueber-value-card:hover .ueber-value-bar {
      width: 100%;
    }

    /* ══════════════════════════════
     CTA
  ══════════════════════════════ */
    .ueber-cta {
      padding: 100px 60px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .ueber-cta-bg {
      position: absolute;
      inset: 0;
      background: #0a2540;
    }

    .ueber-cta-content {
      position: relative;
      z-index: 2;
    }

    .ueber-cta .section-eyebrow {
      color: var(--accent-light);
      justify-content: center;
    }

    .ueber-cta .section-eyebrow::before {
      background: var(--accent-light);
    }

    .ueber-cta .section-title {
      color: white;
      margin-bottom: 24px;
    }

    .ueber-cta p {
      font-size: 17px;
      color: rgba(227, 242, 253, .7);
      max-width: 460px;
      margin: 0 auto 48px;
      font-weight: 300;
    }

    .ueber-cta-actions {
      display: flex;
      gap: 16px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .btn-cta-primary {
      background: white;
      color: var(--dark);
      padding: 18px 48px;
      border-radius: 6px;
      font-size: 13px;
      letter-spacing: .1em;
      text-transform: uppercase;
      text-decoration: none;
      font-weight: 500;
      transition: background .2s, transform .15s;
      display: inline-block;
    }

    .btn-cta-primary:hover {
      background: var(--cream);
      transform: translateY(-2px);
    }

    .btn-cta-ghost {
      border: 1px solid rgba(255, 255, 255, .3);
      color: rgba(255, 255, 255, .85);
      padding: 18px 36px;
      border-radius: 6px;
      font-size: 13px;
      letter-spacing: .1em;
      text-transform: uppercase;
      text-decoration: none;
      transition: border-color .2s, color .2s;
      display: inline-block;
    }

    .btn-cta-ghost:hover {
      border-color: rgba(255, 255, 255, .6);
      color: white;
    }

    /* ══════════════════════════════
     FOOTER
  ══════════════════════════════ */
    /* Alter footer{...}-Block entfernt — Footer kommt jetzt aus accessibility.css */

    .footer-brand-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 24px;
      color: var(--cream);
      margin-bottom: 12px;
      font-weight: 300;
    }

    .footer-brand-name span {
      color: var(--accent);
    }

    .footer-tagline {
      font-size: 13px;
      color: rgba(227, 242, 253, .45);
      line-height: 1.6;
      max-width: 240px;
      font-weight: 300;
      margin-bottom: 28px;
    }

    .footer-social {
      display: flex;
      gap: 12px;
    }

    .footer-social a {
      width: 36px;
      height: 36px;
      border: 1px solid rgba(255, 255, 255, .12);
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(227, 242, 253, .45);
      font-size: 13px;
      text-decoration: none;
      transition: border-color .2s, color .2s;
    }

    .footer-social a:hover {
      border-color: var(--accent);
      color: var(--accent);
    }

    .footer-col-title {
      font-size: 10px;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: rgba(227, 242, 253, .4);
      margin-bottom: 20px;
    }

    .footer-col ul {
      list-style: none;
    }

    .footer-col li+li {
      margin-top: 10px;
    }

    .footer-col a {
      color: rgba(227, 242, 253, .5);
      font-size: 13px;
      text-decoration: none;
      transition: color .2s;
      font-weight: 300;
    }

    .footer-col a:hover {
      color: var(--cream);
    }

    .footer-bottom {
      background: #0a2540;
      padding: 20px 60px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .footer-bottom p {
      font-size: 11px;
      color: rgba(227, 242, 253, .3);
      letter-spacing: .06em;
    }

    .footer-bottom a {
      color: rgba(227, 242, 253, .3);
      text-decoration: none;
      font-size: 11px;
      transition: color .2s;
    }

    .footer-bottom a:hover {
      color: rgba(227, 242, 253, .5);
    }

    .footer-links {
      display: flex;
      gap: 24px;
    }

    /* ══════════════════════════════
     RESPONSIVE
  ══════════════════════════════ */
    @media (max-width: 1024px) {
      nav {
        padding: 16px 32px;
      }

      .ueber-hero {
        grid-template-columns: 1fr;
        min-height: auto;
      }

      .ueber-hero-left {
        padding: 64px 40px 48px;
      }

      .ueber-hero-right {
        min-height: 360px;
      }

      .ueber-positioning {
        grid-template-columns: 1fr;
        gap: 56px;
        padding: 72px 40px;
      }

      .ueber-ziel {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 72px 40px;
      }

      .ueber-values {
        padding: 72px 40px;
      }

      .ueber-values-header {
        grid-template-columns: 1fr;
      }

      .ueber-values-grid {
        grid-template-columns: 1fr 1fr;
      }

      .ueber-cta {
        padding: 72px 40px;
      }

    }

    @media (max-width: 768px) {
      nav {
        padding: 14px 20px;
      }

      .nav-links {
        display: none;
      }

      .nav-hamburger {
        display: flex;
      }

      .ueber-hero-left {
        padding: 52px 24px 40px;
      }

      .ueber-hero-right {
        min-height: 300px;
      }

      .ueber-hero-badge {
        width: 160px;
        top: 24px;
        right: 24px;
        padding: 18px 16px 16px;
        font-size: 8px;
        letter-spacing: .1em;
      }

      .ueber-hero-badge-seal {
        font-size: 13px;
        margin-bottom: 8px;
      }

      .ueber-hero-badge strong {
        font-size: 16px;
        margin-bottom: 9px;
        padding-bottom: 7px;
      }

      .ueber-hero-name-tag {
        left: 24px;
        bottom: 32px;
      }

      .ueber-hero-name {
        font-size: 32px;
      }

      .ueber-positioning {
        padding: 64px 24px;
      }

      .ueber-ziel {
        padding: 64px 24px;
      }

      .ueber-ziel-quote {
        padding: 36px 28px;
      }

      .ueber-ziel-quote::before {
        font-size: 80px;
        top: 16px;
        left: 20px;
      }

      .ueber-ziel-quote p {
        padding-top: 20px;
      }

      .ueber-values {
        padding: 64px 24px;
      }

      .ueber-values-grid {
        grid-template-columns: 1fr;
      }

      .ueber-cta {
        padding: 64px 24px;
      }

      .ueber-cta-actions {
        flex-direction: column;
        align-items: center;
      }

      .btn-cta-primary,
      .btn-cta-ghost {
        width: 100%;
        max-width: 320px;
        text-align: center;
      }

      footer {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
        padding: 48px 24px 0;
      }

      .footer-bottom {
        padding: 16px 24px;
        flex-direction: column;
        gap: 12px;
        text-align: center;
      }

      .footer-links {
        justify-content: center;
      }
    }

    @media (max-width: 480px) {
      .ueber-hero-left h1 {
        font-size: 36px;
      }

      .section-title {
        font-size: 28px;
      }

      footer {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 36px 20px 0;
      }

      .footer-bottom {
        padding: 16px 20px;
      }
    }

    /* ══════════════════════════════
     MEINE GESCHICHTE
  ══════════════════════════════ */
    .mg-section {
      background: var(--dark);
      position: relative;
      overflow: hidden;
      padding: 120px 0 100px;
    }

    .mg-bg-glow {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 70vw;
      height: 70vw;
      background: transparent;
      pointer-events: none;
    }

    .mg-bg-text {
      position: absolute;
      bottom: -30px;
      right: -20px;
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(80px, 14vw, 240px);
      font-weight: 300;
      color: rgba(4, 150, 255, .03);
      line-height: 1;
      pointer-events: none;
      white-space: nowrap;
      user-select: none;
    }

    .mg-header {
      text-align: center;
      padding: 0 60px 88px;
      position: relative;
      z-index: 2;
    }

    .mg-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      font-size: 11px;
      font-weight: 500;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 24px;
    }

    .mg-eyebrow-line {
      display: block;
      width: 32px;
      height: 1px;
      background: var(--accent);
      flex-shrink: 0;
    }

    .mg-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(36px, 5vw, 70px);
      font-weight: 300;
      line-height: 1.08;
      color: var(--cream);
      margin-bottom: 18px;
    }

    .mg-title em {
      font-style: italic;
      color: var(--accent-light);
    }

    .mg-subtitle {
      font-size: 13px;
      color: rgba(227, 242, 253, .35);
      letter-spacing: .12em;
      font-weight: 300;
    }

    .mg-layout {
      max-width: 740px;
      margin: 0 auto;
      padding: 0 60px;
      position: relative;
      z-index: 2;
    }

    .mg-timeline {
      position: relative;
    }

    .mg-timeline::before {
      content: '';
      position: absolute;
      left: 0;
      top: 20px;
      bottom: 60px;
      width: 1px;
      background: rgba(4, 150, 255, .22);
    }

    .mg-chapter {
      padding: 0 0 72px 44px;
      position: relative;
      opacity: 0;
      transform: translateX(-28px);
      transition: opacity .75s ease, transform .75s ease;
    }

    .mg-chapter::before {
      content: '';
      position: absolute;
      left: -6px;
      top: 10px;
      width: 13px;
      height: 13px;
      border-radius: 50%;
      border: 1.5px solid rgba(4, 150, 255, .25);
      background: var(--dark);
      transition: border-color .5s, background .5s, box-shadow .5s;
    }

    .mg-chapter.mg-visible {
      opacity: 1;
      transform: translateX(0);
    }

    .mg-chapter.mg-active::before {
      border-color: var(--accent);
      background: rgba(4, 150, 255, .12);
      box-shadow: none;
    }

    .mg-chapter-inner {
      border: 1px solid rgba(4, 150, 255, .1);
      background: rgba(255, 255, 255, .02);
      padding: 30px 32px 28px;
      position: relative;
      transition: border-color .4s, background .4s;
    }

    .mg-chapter.mg-active .mg-chapter-inner {
      border-color: rgba(4, 150, 255, .28);
      background: rgba(4, 150, 255, .05);
    }

    .mg-chapter-inner::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 2px;
      height: 0;
      background: var(--accent);
      transition: height .55s ease .15s;
    }

    .mg-chapter.mg-active .mg-chapter-inner::before {
      height: 100%;
    }

    .mg-chapter-header {
      display: flex;
      align-items: baseline;
      gap: 16px;
      margin-bottom: 14px;
    }

    .mg-chapter-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 44px;
      font-weight: 300;
      color: rgba(4, 150, 255, .18);
      line-height: 1;
      flex-shrink: 0;
      transition: color .4s;
    }

    .mg-chapter.mg-active .mg-chapter-num {
      color: rgba(4, 150, 255, .5);
    }

    .mg-chapter-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 23px;
      font-weight: 400;
      color: var(--cream);
      line-height: 1.2;
    }

    .mg-chapter-text {
      font-size: 14.5px;
      line-height: 1.9;
      color: rgba(227, 242, 253, .5);
      font-weight: 300;
      margin-bottom: 18px;
      transition: color .4s;
    }

    .mg-chapter.mg-active .mg-chapter-text {
      color: rgba(227, 242, 253, .78);
    }

    .mg-chapter-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 10px;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: var(--accent);
      opacity: .55;
      transition: opacity .4s;
    }

    .mg-chapter.mg-active .mg-chapter-tag {
      opacity: .9;
    }

    .mg-chapter-tag::before {
      content: '';
      display: block;
      width: 18px;
      height: 1px;
      background: var(--accent);
    }

    @media (max-width: 1024px) {
      .mg-layout {
        padding: 0 40px;
      }

      .mg-header {
        padding: 0 40px 60px;
      }
    }

    @media (max-width: 768px) {
      .mg-section {
        padding: 80px 0 64px;
      }

      .mg-header {
        padding: 0 24px 48px;
      }

      .mg-layout {
        padding: 0 24px;
      }

      .mg-chapter {
        padding-bottom: 48px;
      }

      .mg-chapter-inner {
        padding: 22px 22px 20px;
      }
    }
  