/* ═══════════════════════════════════════════════
 *
 *   Das Design System. Der heilige Gral.
 *   Hier werden Farben, Fonts und Abstände
 *   definiert — die DNA dieser Seite.
 *
 *   Gebaut von Tobias Hager.
 *   Eine Akzentfarbe. Ein System. Zero Chaos.
 *   (Ok, manchmal ein bisschen Chaos.)
 *
 *   Signal Vermillion: #FF3F00
 *   Wenn du diesen Hex-Code jetzt ergoogelst,
 *   bist du offiziell ein Nerd. Willkommen im Club.
 *
 * ═══════════════════════════════════════════════ */

/* ─── CSS Custom Properties ─── */
:root {
    /* Dark Mode (Homepage) */
    --th-dark-bg:         #000000;
    --th-dark-bg-2:       #0A0A0A;
    --th-dark-bg-3:       #111111;
    --th-dark-bg-card:    #141414;
    --th-dark-text:       #FFFFFF;
    --th-dark-text-2:     #AAAAAA;
    --th-dark-text-3:     #666666;
    --th-dark-border:     #1A1A1A;
    --th-dark-border-2:   #2A2A2A;

    /* Light Mode (Insights/Blog) */
    --th-light-bg:        #F5F2EE;
    --th-light-bg-2:      #FFFFFF;
    --th-light-bg-3:      #EDE9E3;
    --th-light-text:      #1A1A1A;
    --th-light-text-2:    #6B6B6B;
    --th-light-text-3:    #999999;
    --th-light-border:    #E0DCD6;

    /* Accent */
    --th-vermillion:      #FF3F00;
    --th-vermillion-hover:#FF5722;
    --th-vermillion-glow: rgba(255, 63, 0, 0.15);

    /* Typography */
    --th-font-display:    'Space Grotesk', system-ui, sans-serif;
    --th-font-body:       'Inter', system-ui, sans-serif;
    --th-font-mono:       'JetBrains Mono', 'Fira Code', monospace;

    /* Spacing Scale */
    --th-space-xs:  0.25rem;   /* 4px */
    --th-space-sm:  0.5rem;    /* 8px */
    --th-space-md:  1rem;      /* 16px */
    --th-space-lg:  1.5rem;    /* 24px */
    --th-space-xl:  2rem;      /* 32px */
    --th-space-2xl: 3rem;      /* 48px */
    --th-space-3xl: 4rem;      /* 64px */
    --th-space-4xl: 6rem;      /* 96px */
    --th-space-5xl: 8rem;      /* 128px */

    /* Layout */
    --th-max-width:       1200px;
    --th-content-width:   720px;
    --th-nav-height:      64px;

    /* Transitions */
    --th-ease:            cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --th-ease-out:        cubic-bezier(0.16, 1, 0.3, 1);
    --th-duration:        0.3s;
    --th-duration-slow:   0.6s;
}

/* ─── Reset & Base ─── */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

body {
    font-family: var(--th-font-body);
    font-weight: 400;
    line-height: 1.6;
    overflow-x: hidden;
    transition: background-color var(--th-duration-slow) var(--th-ease);
}

/* Dark body (homepage) */
body.th-dark {
    background-color: var(--th-dark-bg);
    color: var(--th-dark-text);
}

/* Light body (blog/insights) */
body.th-light {
    background-color: var(--th-light-bg);
    color: var(--th-light-text);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--th-duration) var(--th-ease);
}

a:hover {
    color: var(--th-vermillion);
}

::selection {
    background: var(--th-vermillion);
    color: #FFFFFF;
}

/* ─── Typography Scale ─── */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--th-font-display);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

h1 { font-size: clamp(2.5rem, 6vw, 5rem); }
h2 { font-size: clamp(1.75rem, 4vw, 3rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
h4 { font-size: clamp(1.1rem, 2vw, 1.35rem); }

p {
    font-size: clamp(1rem, 1.1vw, 1.125rem);
    line-height: 1.8;
    max-width: 65ch; /* Optimal reading width */
}

.th-mono {
    font-family: var(--th-font-mono);
}

.th-label {
    font-family: var(--th-font-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* ─── Layout Containers ─── */
.th-container {
    width: 100%;
    max-width: var(--th-max-width);
    margin: 0 auto;
    padding: 0 var(--th-space-lg);
}

@media (max-width: 768px) {
    .th-container {
        padding: 0 var(--th-space-md);
    }
}

.th-section {
    padding: var(--th-space-5xl) 0;
}

@media (max-width: 768px) {
    .th-section {
        padding: var(--th-space-3xl) 0;
    }
}

/* ─── Navigation (Always Dark) ─── */
.th-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    height: var(--th-nav-height);
    background: rgba(0, 0, 0, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--th-dark-border);
    transition: transform 0.4s var(--th-ease), background 0.3s;
}

.th-nav--hidden {
    transform: translateY(-100%);
}

.th-nav__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    max-width: var(--th-max-width);
    margin: 0 auto;
    padding: 0 var(--th-space-lg);
}

.th-nav__brand {
    font-family: var(--th-font-display);
    font-size: 1.1rem;
    font-weight: 600;
    color: #FFFFFF;
    letter-spacing: -0.02em;
}

.th-nav__brand:hover {
    color: #FFFFFF;
}

.th-nav__brand span {
    color: var(--th-vermillion);
}

.th-nav__links {
    display: flex;
    align-items: center;
    gap: var(--th-space-xl);
    list-style: none;
}

.th-nav__links a {
    font-family: var(--th-font-body);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--th-dark-text-2);
    letter-spacing: 0.02em;
    transition: color var(--th-duration) var(--th-ease);
    position: relative;
}

.th-nav__links a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--th-vermillion);
    transition: width var(--th-duration) var(--th-ease-out);
}

.th-nav__links a:hover,
.th-nav__links a.active {
    color: #FFFFFF;
}

.th-nav__links a:hover::after,
.th-nav__links a.active::after {
    width: 100%;
}

/* Nav CTA button */
.th-nav__cta {
    font-family: var(--th-font-mono);
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--th-vermillion) !important;
    border: 1px solid var(--th-vermillion);
    padding: 0.4rem 1rem;
    border-radius: 2px;
    transition: all var(--th-duration) var(--th-ease);
}

.th-nav__cta:hover {
    background: var(--th-vermillion);
    color: #FFFFFF !important;
}

.th-nav__cta::after {
    display: none !important;
}

/* Mobile hamburger */
.th-nav__toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--th-space-sm);
}

.th-nav__toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #FFFFFF;
    margin: 5px 0;
    transition: all 0.3s var(--th-ease);
}

@media (max-width: 768px) {
    .th-nav__toggle {
        display: block;
    }

    .th-nav__links {
        position: fixed;
        top: var(--th-nav-height);
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.97);
        flex-direction: column;
        justify-content: center;
        gap: var(--th-space-2xl);
        transform: translateX(100%);
        transition: transform 0.4s var(--th-ease-out);
    }

    .th-nav__links.is-open {
        transform: translateX(0);
    }

    .th-nav__links a {
        font-size: 1.5rem;
        color: #FFFFFF;
    }
}

/* ─── Progress Bar ─── */
.th-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: var(--th-vermillion);
    z-index: 1001;
    transition: width 0.1s linear;
    will-change: width;
}

/* ─── Buttons ─── */
.th-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--th-font-mono);
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: all var(--th-duration) var(--th-ease);
    letter-spacing: 0.02em;
}

.th-btn--vermillion {
    background: var(--th-vermillion);
    color: #FFFFFF;
}

.th-btn--vermillion:hover {
    background: var(--th-vermillion-hover);
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 4px 20px var(--th-vermillion-glow);
}

.th-btn--outline {
    background: transparent;
    color: var(--th-vermillion);
    border: 1px solid var(--th-vermillion);
}

.th-btn--outline:hover {
    background: var(--th-vermillion);
    color: #FFFFFF;
}

/* ─── Social Icons ─── */
.th-social {
    display: flex;
    align-items: center;
    gap: var(--th-space-md);
}

.th-social__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--th-dark-border-2);
    transition: all var(--th-duration) var(--th-ease);
    color: var(--th-dark-text-2);
}

.th-social__link:hover {
    border-color: var(--th-vermillion);
    color: var(--th-vermillion);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px var(--th-vermillion-glow);
}

.th-social__icon {
    width: 18px;
    height: 18px;
    display: flex;
}

.th-social__icon svg {
    width: 100%;
    height: 100%;
}

/* Light mode social icons */
.th-light .th-social__link {
    border-color: var(--th-light-border);
    color: var(--th-light-text-2);
}

.th-light .th-social__link:hover {
    border-color: var(--th-vermillion);
    color: var(--th-vermillion);
}

/* Social in footer (always dark) */
.th-footer .th-social__link {
    border-color: var(--th-dark-border-2);
    color: var(--th-dark-text-2);
}

/* ─── WhatsApp Gate Modal ─── */
.th-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s var(--th-ease);
}

.th-modal[aria-hidden="false"] {
    opacity: 1;
    visibility: visible;
}

.th-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.th-modal__content {
    position: relative;
    background: var(--th-dark-bg-3);
    border: 1px solid var(--th-dark-border-2);
    padding: var(--th-space-2xl);
    max-width: 440px;
    width: 90%;
    border-radius: 4px;
    transform: translateY(20px);
    transition: transform 0.3s var(--th-ease-out);
}

.th-modal[aria-hidden="false"] .th-modal__content {
    transform: translateY(0);
}

.th-modal__close {
    position: absolute;
    top: var(--th-space-md);
    right: var(--th-space-md);
    background: none;
    border: none;
    color: var(--th-dark-text-3);
    font-size: 1.5rem;
    cursor: pointer;
    transition: color var(--th-duration);
}

.th-modal__close:hover {
    color: #FFFFFF;
}

.th-modal__content h3 {
    font-size: 1.5rem;
    color: #FFFFFF;
    margin-bottom: var(--th-space-sm);
}

.th-modal__content p {
    color: var(--th-dark-text-2);
    font-size: 0.95rem;
    margin-bottom: var(--th-space-lg);
}

.th-modal__form {
    display: flex;
    gap: var(--th-space-sm);
}

.th-modal__form input[type="email"] {
    flex: 1;
    padding: 0.75rem 1rem;
    background: var(--th-dark-bg);
    border: 1px solid var(--th-dark-border-2);
    border-radius: 2px;
    color: #FFFFFF;
    font-family: var(--th-font-body);
    font-size: 0.95rem;
    outline: none;
    transition: border-color var(--th-duration);
}

.th-modal__form input[type="email"]:focus {
    border-color: var(--th-vermillion);
}

.th-modal__form input[type="email"]::placeholder {
    color: var(--th-dark-text-3);
}

.th-modal__note {
    font-size: 0.8rem !important;
    color: var(--th-dark-text-3) !important;
    margin-top: var(--th-space-md) !important;
    margin-bottom: 0 !important;
}

@media (max-width: 480px) {
    .th-modal__form {
        flex-direction: column;
    }
}

/* ─── Footer (Always Dark) ─── */
.th-footer {
    background: var(--th-dark-bg);
    border-top: 1px solid var(--th-dark-border);
    padding: var(--th-space-3xl) 0 var(--th-space-xl);
    color: var(--th-dark-text-2);
}

.th-footer__inner {
    max-width: var(--th-max-width);
    margin: 0 auto;
    padding: 0 var(--th-space-lg);
}

.th-footer__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--th-space-2xl);
    padding-bottom: var(--th-space-2xl);
    border-bottom: 1px solid var(--th-dark-border);
}

.th-footer__brand h3 {
    font-family: var(--th-font-display);
    color: #FFFFFF;
    font-size: 1.25rem;
    margin-bottom: var(--th-space-xs);
}

.th-footer__brand p {
    font-size: 0.875rem;
    color: var(--th-dark-text-3);
}

.th-footer__nav {
    display: flex;
    gap: var(--th-space-3xl);
}

.th-footer__nav-group h4 {
    font-family: var(--th-font-mono);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--th-dark-text-3);
    margin-bottom: var(--th-space-md);
}

.th-footer__nav-group ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--th-space-sm);
}

.th-footer__nav-group a {
    font-size: 0.875rem;
    color: var(--th-dark-text-2);
}

.th-footer__nav-group a:hover {
    color: var(--th-vermillion);
}

.th-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--th-space-xl);
    flex-wrap: wrap;
    gap: var(--th-space-md);
}

.th-footer__copy {
    font-size: 0.8rem;
    color: var(--th-dark-text-3);
    font-family: var(--th-font-mono);
}

.th-footer__legal {
    display: flex;
    gap: var(--th-space-lg);
}

.th-footer__legal a {
    font-size: 0.8rem;
    color: var(--th-dark-text-3);
}

@media (max-width: 768px) {
    .th-footer__top {
        flex-direction: column;
    }

    .th-footer__nav {
        flex-direction: column;
        gap: var(--th-space-xl);
    }

    .th-footer__bottom {
        flex-direction: column;
        text-align: center;
    }

    .th-footer__legal {
        justify-content: center;
    }
}

/* ─── Utilities ─── */
.th-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.th-vermillion { color: var(--th-vermillion); }
.th-text-muted { color: var(--th-dark-text-3); }

.th-fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s var(--th-ease), transform 0.6s var(--th-ease);
}

.th-fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Content width limiter for readability */
.th-readable {
    max-width: var(--th-content-width);
    margin-left: auto;
    margin-right: auto;
}


/* ══ HOMEPAGE MOBILE RESPONSIVE ══ */
@media (max-width: 768px) {
  html, body { overflow-x: hidden !important; }
  .th-act { min-height: auto !important; padding: 60px 20px !important; }
  .th-act--boot { padding: 0 !important; min-height: 100vh !important; }
  .th-act--conviction { padding: 60px 20px !important; }
  .th-nav { padding: 12px 16px !important; }
  .th-nav__links { gap: 12px !important; }
  .th-nav__links a { font-size: 0.75rem !important; }
  .th-nav__logo { font-size: 1rem !important; }
  .th-boot__screen { width: 100% !important; }
  .th-boot__terminal { max-width: 92% !important; padding: 16px !important; font-size: 12px !important; }
  .th-boot__line { font-size: 11px !important; }
  .th-hero__title { font-size: clamp(2rem, 10vw, 4rem) !important; word-break: break-word !important; }
  .th-hero__subtitle { font-size: clamp(0.85rem, 3vw, 1.1rem) !important; padding: 0 16px !important; }
  .th-boot__hero { padding: 0 20px !important; }
  .th-question__container { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
  .th-question__text { font-size: clamp(1.2rem, 5vw, 2rem) !important; width: 100% !important; max-width: 100% !important; }
  .th-word { display: inline !important; }
  .th-act--intersection { min-height: 100vh !important; padding: 0 !important; }
  .th-hscroll__track { width: 100vw !important; }
  .th-world__content { position: relative !important; left: auto !important; right: auto !important; width: 100% !important; max-width: 100% !important; padding: 24px 20px !important; box-sizing: border-box !important; }
  .th-world__title { font-size: clamp(1.3rem, 5vw, 2rem) !important; }
  .th-world__text { font-size: 0.9rem !important; }
  .th-manifesto__container { width: 100% !important; max-width: 100% !important; }
  .th-manifesto__page { position: relative !important; width: 100% !important; max-width: 100% !important; padding: 40px 20px !important; box-sizing: border-box !important; }
  .th-manifesto__title { font-size: clamp(1.5rem, 6vw, 2.5rem) !important; }
  .th-manifesto__text { font-size: 0.9rem !important; max-width: 100% !important; }
  .th-manifesto__number { font-size: 3rem !important; }
  .th-proof__grid { grid-template-columns: 1fr !important; max-width: 100% !important; gap: 24px !important; padding: 0 20px !important; box-sizing: border-box !important; }
  .th-proof__card { padding: 24px !important; }
  .th-proof__number { font-size: clamp(2rem, 8vw, 3rem) !important; }
  .th-proof__displacement { display: none !important; }
  .th-invitation__content { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
  .th-invitation__title { font-size: clamp(1.5rem, 6vw, 2.5rem) !important; }
  .th-exit__content { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
  .th-orange-connector, .th-orange-dot { display: none !important; }
  .th-act--manifesto::before, .th-act--proof::before { display: none !important; }
  .th-act--boot::after, .th-act--question::before, .th-act--question::after,
  .th-act--manifesto::after, .th-act--proof::after { height: 10vh !important; }
  .th-watermark { font-size: clamp(3rem, 15vw, 6rem) !important; }
  .th-wa-modal__card { width: 90vw !important; max-width: 360px !important; padding: 24px !important; }
}


/* ══ WATERMARK RESPONSIVE (all screens) ══ */
.th-world::before {
  font-size: clamp(4rem, 18vw, 260px) !important;
  white-space: nowrap !important;
  width: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
}

/* ══ MOBILE HAMBURGER MENU ══ */
@media (max-width: 768px) {
  .th-nav__toggle {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    z-index: 10001 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
  }
  .th-nav__toggle span {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: #fff !important;
    transition: all 0.3s ease !important;
  }
  .th-nav__links {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.97) !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    z-index: 10000 !important;
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .th-nav__links.is-open {
    display: flex !important;
  }
  .th-nav__links a {
    font-size: 1.2rem !important;
    color: #fff !important;
    text-decoration: none !important;
  }
  .th-nav__links .th-social--nav {
    display: flex !important;
    gap: 16px !important;
  }
  .th-nav__cta {
    border: 1px solid #FF3F00 !important;
    padding: 10px 24px !important;
    color: #FF3F00 !important;
  }
  .th-nav__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }
}

@media (max-width: 768px) {
/* ══ MOBILE SLIDER + MANIFESTO FIXES ══ */

  /* Hscroll slider: unpin + stack vertically on mobile */
  .th-act--intersection {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .pin-spacer:has(.th-act--intersection),
  .pin-spacer.th-act--intersection {
    height: auto !important;
    padding: 0 !important;
    inset: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .th-hscroll__track {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    flex-direction: column !important;
  }
  .th-hscroll__panel {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 70vh !important;
    flex-shrink: 1 !important;
    display: block !important;
    position: relative !important;
    transform: none !important;
  }
  .th-hscroll__progress,
  .th-hscroll__progress-bar,
  .th-hscroll__nav,
  .th-world__number-indicator {
    display: none !important;
  }


  /* Slider panel content centering */
  .th-world__content {
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 40px !important;
    transform: none !important;
    text-align: center !important;
    padding: 0 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }

  /* Prevent horizontal scroll on mobile */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  .th-story, .th-act, .th-hscroll__track {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  .th-world__title {
    text-align: center !important;
    font-size: clamp(2rem, 10vw, 3.5rem) !important;
    line-height: 1.1 !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }
  .th-world__sub {
    font-size: clamp(0.95rem, 4vw, 1.15rem) !important;
    line-height: 1.4 !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
  }
  .th-world__sub { text-align: center !important; }
  .th-world__label { text-align: center !important; display: block !important; }

  /* Watermark: make parent visible + shrink text */
  .th-world,
  .th-hscroll__panel {
    overflow: visible !important;
  }
  .th-world::before {
    font-size: clamp(2rem, 8vw, 3rem) !important;
    overflow: visible !important;
    white-space: nowrap !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  /* ── Manifesto: override GSAP pinning ── */
  .th-act--manifesto {
    position: relative !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    translate: none !important;
    rotate: none !important;
    scale: none !important;
    inset: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .th-manifesto__container {
    position: relative !important;
    height: auto !important;
    overflow: visible !important;
  }
  .th-manifesto__page {
    position: relative !important;
    height: auto !important;
    min-height: 50vh !important;
    opacity: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    translate: none !important;
    rotate: none !important;
    scale: none !important;
    top: auto !important;
    left: auto !important;
    inset: auto !important;
  }
  .th-manifesto__quote {
    opacity: 1 !important;
  }
  .th-manifesto__text {
    opacity: 1 !important;
    padding: 0 24px !important;
  }
  .th-manifesto__progress {
    display: none !important;
  }
  /* Hide GSAP pin-spacer on mobile */
  .th-act--manifesto + .pin-spacer,
  .pin-spacer:has(.th-act--manifesto) {
    height: auto !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
}
