:root {
        --bg: #f6f7fb;
        --ink: #121826;
        --muted: #5f6878;
        --line: #e9ecf4;
        --accent: #11bcc6;
        --accent-dark: #2d6fdf;
        --accent-blob: #5ee0d8;
        --accent-blob-2: #7b95ff;
        --stage-height: clamp(690px, 100vh, 1180px);
      }

      * {
        box-sizing: border-box;
      }

      body {
        margin: 0;
        font-family: "Helvetica Neue", Arial, sans-serif;
        color: var(--ink);
        position: relative;
        overflow-x: hidden;
        background: #e6fbf8;
      }

      .brand,
      .lang-btn,
      .btn,
      .download-link,
      .modal-btn,
      .paypal-btn,
      .stage-hero-title,
      .section h2,
      .downloads h2,
      .faq h2,
      .download-item h3,
      .subscribe-guide-copy h3,
      .final-cta h2,
      .modal h3 {
        font-family: "Poppins", "Avenir Next", sans-serif;
      }

      .container {
        width: min(1200px, 95vw);
        margin: 0 auto;
        position: relative;
        z-index: 1;
      }

      .nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 52px;
        padding: 0;
      }

      .brand {
        font-weight: 700;
        letter-spacing: 0.01em;
      }

      .lang-switch {
        display: flex;
        gap: 6px;
      }

      .lang-btn {
        border: 0;
        background: transparent;
        color: var(--muted);
        font-size: 0.78rem;
        font-weight: 700;
        padding: 2px 2px;
        cursor: pointer;
      }

      .lang-btn.active {
        color: var(--accent-dark);
        text-decoration: underline;
        text-underline-offset: 4px;
      }

      .btn {
        border-radius: 35px;
        padding: 13px 22px;
        font-weight: 600;
        font-size: 0.98rem;
        text-decoration: none;
        border: 1px solid transparent;
      }

      .btn-primary {
        color: #fff;
        background: var(--accent);
        border: 0;
      }

      .btn-primary,
      .download-link,
      .modal-btn.primary,
      .paypal-btn {
        position: relative;
        overflow: hidden;
        isolation: isolate;
      }

      .btn-primary::before,
      .download-link::before,
      .modal-btn.primary::before,
      .btn-primary::after,
      .download-link::after,
      .modal-btn.primary::after,
      .paypal-btn::before,
      .paypal-btn::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 118%;
        width: 155%;
        height: 260%;
        transform: translate(-50%, 0) rotate(0deg);
        transform-origin: 50% 50%;
        transition: transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1);
        z-index: -1;
        pointer-events: none;
      }

      .btn-primary::before,
      .modal-btn.primary::before,
      .paypal-btn::before {
        background: var(--accent-blob);
        border-radius: 64% 36% 59% 41% / 50% 57% 43% 50%;
      }

      .download-link::before {
        background: var(--btn-blob-a);
        border-radius: 64% 36% 59% 41% / 50% 57% 43% 50%;
      }

      .btn-primary::after,
      .modal-btn.primary::after,
      .paypal-btn::after {
        background: var(--accent-blob-2);
        border-radius: 43% 57% 37% 63% / 58% 38% 62% 42%;
        opacity: 0.9;
        transition-duration: 0.7s;
      }

      .download-link::after {
        background: var(--btn-blob-b);
        border-radius: 43% 57% 37% 63% / 58% 38% 62% 42%;
        opacity: 0.9;
        transition-duration: 0.7s;
      }

      @keyframes blobWaveA {
        0% {
          border-radius: 64% 36% 59% 41% / 50% 57% 43% 50%;
        }
        50% {
          border-radius: 45% 55% 38% 62% / 64% 42% 58% 36%;
        }
        100% {
          border-radius: 64% 36% 59% 41% / 50% 57% 43% 50%;
        }
      }

      @keyframes blobWaveB {
        0% {
          border-radius: 43% 57% 37% 63% / 58% 38% 62% 42%;
        }
        50% {
          border-radius: 57% 43% 62% 38% / 44% 61% 39% 56%;
        }
        100% {
          border-radius: 43% 57% 37% 63% / 58% 38% 62% 42%;
        }
      }

      .btn-primary:hover::before,
      .download-link:hover::before,
      .modal-btn.primary:hover::before,
      .paypal-btn:hover::before {
        transform: translate(-50%, -83%) rotate(-9deg);
        animation: blobWaveA 1s linear infinite;
      }

      .btn-primary:hover::after,
      .download-link:hover::after,
      .modal-btn.primary:hover::after,
      .paypal-btn:hover::after {
        transform: translate(-50%, -72%) rotate(11deg);
        animation: blobWaveB 1.2s linear infinite;
      }

      .btn-primary:hover,
      .modal-btn.primary:hover,
      .paypal-btn:hover {
        background: var(--accent-dark);
        border: 0;
      }

      .download-link:hover {
        background: var(--btn-accent-dark);
        border: 0;
      }

      .btn-ghost {
        color: var(--accent-dark);
        background: transparent;
        text-decoration: underline;
        text-underline-offset: 4px;
      }

      .header-rail {
        margin: 4px 0 8px;
        height: calc(var(--stage-height) + 12vh);
        position: relative;
      }

      .stage-sticky {
        position: sticky;
        top: 0;
        height: min(100vh, calc(var(--stage-height) + 0vh));
        display: flex;
        flex-direction: column;
        justify-content: center;
      }

      .hero-stage {
        position: relative;
        height: var(--stage-height);
        width: calc(100vw - 14px);
        margin-left: calc(50% - 50vw + 7px);
        margin-right: calc(50% - 50vw + 7px);
        margin-top: 7px;
        margin-bottom: 2px;
        overflow: hidden;
        background: #010524;
        color: #fff;
        border-radius: 8px;
      }

      .stage-topbar {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 14;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 18px 24px 0;
      }

      .stage-topbar .brand {
        color: #eef3ff;
      }

      .stage-topbar .lang-btn {
        color: rgba(232, 239, 255, 0.78);
      }

      .stage-topbar .lang-btn.active {
        color: var(--accent);
      }

      .stage-dots {
        position: absolute;
        inset: 0;
        background-image:
          linear-gradient(rgba(130, 170, 255, 0.08) 1px, transparent 1px),
          linear-gradient(90deg, rgba(130, 170, 255, 0.08) 1px, transparent 1px),
          linear-gradient(rgba(130, 170, 255, 0.14) 1px, transparent 1px),
          linear-gradient(90deg, rgba(130, 170, 255, 0.14) 1px, transparent 1px);
        background-size: 22px 22px, 22px 22px, 88px 88px, 88px 88px;
        opacity: 0.34;
        pointer-events: none;
        will-change: transform;
        z-index: 1;
      }

      .stage-copy {
        position: absolute;
        z-index: 5;
        inset: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        max-width: min(900px, 94%);
        margin: 0 auto;
        padding: 0 16px;
      }

      .stage-subline {
        margin: 0;
        color: var(--accent);
        font-size: 1.1rem;
        font-weight: 500;
      }

      .stage-hero-title {
        margin: 10px auto 0;
        text-align: center;
        max-width: 760px;
        font-size: clamp(3rem, 7.6vw, 6.4rem);
        line-height: 0.95;
        letter-spacing: -0.02em;
        font-weight: 700;
      }

      .stage-hero-title span {
        display: block;
        white-space: nowrap;
      }

      .stage-hero-title .serif {
        font-family: "DM Serif Display", "Times New Roman", serif;
        font-style: italic;
        font-weight: 400;
        letter-spacing: -0.01em;
        font-size: 1.12em;
      }

      .mix-serif {
        font-family: "DM Serif Display", "Times New Roman", serif;
        font-style: italic;
        font-weight: 400;
        letter-spacing: -0.01em;
        font-size: 1.12em;
      }

      .stage-hero-title span:not(.serif) {
        font-size: 0.97em;
      }

      .stage-subtitle {
        position: relative;
        z-index: 4;
        margin: 12px auto 0;
        text-align: center;
        color: #d5d7de;
        max-width: 700px;
        font-size: 1.1rem;
        line-height: 1.54;
        white-space: pre-line;
      }

      .fly {
        position: absolute;
        z-index: 8;
        padding: 11px 13px;
        color: #111;
        font-weight: 700;
        font-size: 0.97rem;
        line-height: 1.2;
        white-space: normal;
        min-width: 209px;
        will-change: transform;
        border-radius: 14px;
        box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
        cursor: grab;
        touch-action: none;
      }

      .fly.is-dragging {
        cursor: grabbing;
      }

      .fly-date {
        display: inline-flex;
        align-items: center;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        padding: 3px 7px;
        background: rgba(18, 24, 38, 0.12);
        border-radius: 999px;
      }

      .fly-close {
        position: absolute;
        right: 8px;
        top: 7px;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        font-size: 0.72rem;
        font-weight: 700;
        color: rgba(0, 0, 0, 0.65);
        background: rgba(255, 255, 255, 0.42);
      }

      .fly-name {
        display: block;
        margin-top: 7px;
        font-size: 1.01rem;
        line-height: 1.3;
        padding-right: 22px;
      }

      .stage-cta {
        position: absolute;
        left: 50%;
        bottom: 12%;
        transform: translateX(-50%);
        z-index: 12;
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        justify-content: center;
      }

      .stage-cta .btn-primary {
        background: var(--accent);
      }

      .stage-cta .btn-ghost {
        color: #fff;
        border: 1px solid rgba(255, 255, 255, 0.42);
        text-decoration: none;
      }

      .stage-cta .btn-ghost:hover {
        border-color: transparent;
        background: rgba(255, 255, 255, 0.08);
      }

      .btn:hover,
      .download-link:hover,
      .modal-btn:hover,
      .paypal-btn:hover {
        outline: none;
        box-shadow: none;
      }

      .fly.a {
        background: #8ae9e3;
        top: 50%;
        left: 76%;
      }

      .fly.b {
        background: #79df8a;
        top: 70%;
        left: 18%;
      }

      .fly.c {
        background: #7de7ee;
        top: 30%;
        left: 11%;
      }

      .fly.d {
        background: #f3bf58;
        top: 77%;
        left: 72%;
      }

      .fly.e {
        background: #ceb8ff;
        top: 14%;
        left: 22%;
      }

      .fly.f {
        background: #ffd8a6;
        top: 28%;
        right: -54px;
      }

      .fly.g {
        background: #8fd3ff;
        top: 52%;
        left: -52px;
      }

      .fly.h {
        background: #cba8ff;
        top: 44%;
        left: 56%;
      }

      .fly.i {
        background: #86e8c9;
        top: 82%;
        left: 24%;
      }

      .fly-gif {
        position: absolute;
        z-index: 4;
        width: 143px;
        height: 143px;
        overflow: hidden;
        will-change: transform;
      }

      .fly-gif img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        display: block;
      }

      .fly-gif.g1 img {
        object-position: 74% center;
      }

      .fly-gif.g1 {
        top: 58%;
        left: 70%;
      }

      .fly-gif.g2 {
        top: 12%;
        left: 64%;
      }

      .fly-gif.g3 {
        top: 62%;
        left: 6px;
        transform: rotate(-8deg);
      }
      .section {
        margin: 18px 0 44px;
      }

      .section h2 {
        text-align: center;
        margin: 0;
        font-size: clamp(1.45rem, 3vw, 2.3rem);
        letter-spacing: -0.02em;
      }

      .section p {
        text-align: center;
        color: var(--muted);
        max-width: 760px;
        margin: 14px auto 0;
        line-height: 1.7;
      }

      .final-cta {
        text-align: center;
        padding: 0 20px 24px;
        margin-bottom: 0;
        margin-top: -6px;
        position: relative;
      }

      .faq {
        margin: 18px auto 34px;
        max-width: 1120px;
      }

      .faq h2 {
        text-align: center;
        margin: 0;
        font-size: clamp(1.65rem, 3.6vw, 2.75rem);
        line-height: 1.08;
        font-weight: 700;
        letter-spacing: -0.02em;
      }

      .faq-list {
        margin-top: 18px;
        display: grid;
        gap: 7px;
      }

      .faq-item {
        background: #d8eeeb;
        border: 0;
        border-radius: 16px;
        overflow: hidden;
      }

      .faq-item summary {
        list-style: none;
        cursor: pointer;
        padding: 21px 26px;
        font-family: "Poppins", "Avenir Next", sans-serif;
        font-weight: 700;
        font-size: 1.02rem;
        color: #1a2332;
        display: flex;
        align-items: center;
        justify-content: space-between;
      }

      .faq-item summary::-webkit-details-marker {
        display: none;
      }

      .faq-item summary::after {
        content: "▾";
        font-size: 1.7rem;
        line-height: 1;
        color: #2e3440;
      }

      .faq-item[open] summary::after {
        transform: rotate(180deg);
      }

      .faq-answer {
        padding: 0 26px 20px;
      }

      .faq-answer p,
      .faq-answer li {
        margin: 0;
        color: #5f6878;
        line-height: 1.34;
      }

      .faq-answer p + p {
        margin-top: 8px;
      }

      .faq-answer ul {
        margin: 8px 0 0 18px;
        padding: 0;
      }

      .final-cta::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(50% - 50vw);
        right: calc(50% - 50vw);
        background: #e6fbf8;
        z-index: -1;
      }

      .final-cta h2 {
        margin: 0;
        font-size: clamp(1.65rem, 3.6vw, 2.75rem);
        letter-spacing: -0.02em;
      }

      .final-cta p {
        margin: 10px auto 0;
        max-width: 620px;
        color: var(--muted);
        font-size: 1.09rem;
        line-height: 1.56;
        white-space: pre-line;
      }

      .downloads {
        margin: 0 0 54px;
        padding: 18px 0 8px;
        position: relative;
        z-index: 1;
      }

      .downloads::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(50% - 50vw);
        right: calc(50% - 50vw);
        background: #e6fbf8;
        z-index: -1;
      }

      .downloads h2 {
        text-align: center;
        margin: 30px 0 0;
        font-size: clamp(1.7rem, 3.8vw, 2.85rem);
        letter-spacing: -0.02em;
      }

      .downloads h2 span:not(.mix-serif),
      .final-cta h2 span:not(.mix-serif) {
        font-size: 0.93em;
      }

      .downloads .intro {
        text-align: center;
        color: var(--muted);
        max-width: 740px;
        margin: 14px auto 0;
        line-height: 1.56;
        font-size: 1.1rem;
      }

      .downloads .intro-mobile {
        display: none;
      }

      .subscribe-guide {
        margin: -6px auto 42px;
        max-width: 920px;
        padding: 18px 20px;
        background: transparent;
        border: 0;
        border-radius: 0;
        display: block;
      }

      .subscribe-guide-copy {
        text-align: left;
      }

      .subscribe-guide-media img {
        width: 82px;
        height: 82px;
        display: block;
      }

      .subscribe-guide-copy h3 {
        margin: 0;
        font-size: 1.4rem;
        line-height: 1.18;
        letter-spacing: -0.01em;
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: nowrap;
      }

      .subscribe-guide-copy h3 > span:last-child {
        display: inline;
      }

      .subscribe-guide-copy p {
        margin: 7px 0 0;
        color: var(--muted);
        line-height: 1.52;
        font-size: 1.08rem;
      }

      .download-grid {
        margin-top: 28px;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
      }

      @media (max-width: 1200px) {
        .download-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }

      .download-item {
        background: #010524;
        padding: 26px 24px 22px;
        display: flex;
        flex-direction: column;
        min-height: 250px;
        border-radius: 18px;
        box-shadow: none;
      }

      .download-item.reveal {
        transform: translateX(-20px);
      }

      .download-item.reveal.is-visible {
        transform: translateX(0);
      }

      .download-grid .download-item.reveal:nth-child(1) {
        transition-delay: 0ms;
      }

      .download-grid .download-item.reveal:nth-child(2) {
        transition-delay: 120ms;
      }

      .download-grid .download-item.reveal:nth-child(3) {
        transition-delay: 240ms;
      }

      .download-grid .download-item.reveal:nth-child(4) {
        transition-delay: 360ms;
      }

      .download-item h3 {
        margin: 0;
        font-size: 1.4rem;
        line-height: 1.18;
        letter-spacing: -0.01em;
        display: flex;
        align-items: center;
        gap: 10px;
        color: #f3f7ff;
      }

      .card-icon {
        width: 22px;
        height: 22px;
        border-radius: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        color: #f3f7ff;
        flex: 0 0 auto;
        background: transparent;
      }

      .card-icon svg {
        width: 20px;
        height: 20px;
        stroke: #f3f7ff;
        fill: none;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      .subscribe-guide .card-icon {
        width: 22px;
        height: 22px;
        border-radius: 0;
        border: 0;
      }

      .subscribe-guide .card-icon svg {
        width: 20px;
        height: 20px;
        stroke: #111;
        stroke-width: 2.3;
      }

      .download-item p {
        margin: 12px 0 0;
        color: #d4dcee;
        line-height: 1.54;
        font-size: 1.1rem;
      }

      .download-actions {
        display: flex;
        gap: 12px;
        align-items: center;
        flex-wrap: wrap;
        margin-top: auto;
        padding-top: 14px;
      }

      .download-link {
        --btn-accent: var(--accent);
        --btn-accent-dark: var(--accent-dark);
        --btn-blob-a: var(--accent-blob);
        --btn-blob-b: var(--accent-blob-2);
        color: #fff;
        background: var(--btn-accent);
        padding: 0 18px;
        border-radius: 35px;
        text-decoration: none;
        font-size: 0.93rem;
        font-weight: 700;
        height: 46px;
        min-width: 144px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
      }

      .download-grid .download-item:nth-child(1) .download-link {
        --btn-accent: #12b9c5;
        --btn-accent-dark: #0d8e98;
        --btn-blob-a: #59dce4;
        --btn-blob-b: #7da7ff;
        background: #12b9c5;
      }

      .download-grid .download-item:nth-child(2) .download-link {
        --btn-accent: #3d84ea;
        --btn-accent-dark: #2a62b5;
        --btn-blob-a: #74adff;
        --btn-blob-b: #79d2ff;
        background: #3d84ea;
      }

      .download-grid .download-item:nth-child(3) .download-link {
        --btn-accent: #9b7cf0;
        --btn-accent-dark: #7456cf;
        --btn-blob-a: #c2adff;
        --btn-blob-b: #78a0ff;
        background: #9b7cf0;
      }

      .download-grid .download-item:nth-child(4) .download-link {
        --btn-accent: #e1a128;
        --btn-accent-dark: #b57b14;
        --btn-blob-a: #f2bf56;
        --btn-blob-b: #6b98f2;
        background: #e1a128;
      }

      .modal-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(18, 24, 38, 0.45);
        display: none;
        align-items: center;
        justify-content: center;
        z-index: 50;
        padding: 24px;
      }

      .modal-backdrop.is-open {
        display: flex;
      }

      .modal {
        width: min(540px, 100%);
        background: linear-gradient(180deg, #f7f9fb 0%, #edf2f4 100%);
        border: 1px solid #d7dde5;
        border-radius: 20px;
        box-shadow: 0 20px 52px rgba(11, 14, 24, 0.24);
        padding: 30px 28px 26px;
        position: relative;
      }

      .modal h3 {
        margin: 0;
        font-size: clamp(1.28rem, 2.4vw, 1.55rem);
        line-height: 1.2;
        letter-spacing: -0.02em;
        color: var(--ink);
      }

      .modal p {
        margin: 12px 0 0;
        color: var(--muted);
        line-height: 1.56;
        font-size: 1.07rem;
      }

      .modal-tip {
        margin-top: 16px;
        padding: 14px;
        border-radius: 12px;
        background: #e9eff4;
      }

      .modal-tip label {
        display: flex;
        gap: 8px;
        align-items: flex-start;
        color: var(--muted);
        font-size: 1.02rem;
      }

      .modal-url {
        margin-top: 14px;
      }

      .modal-url label {
        display: block;
        margin-bottom: 8px;
        color: var(--muted);
        font-size: 1.02rem;
      }

      .modal-url-row {
        display: flex;
        gap: 8px;
      }

      #subscribeUrl {
        flex: 1;
        min-width: 0;
        border: 1px solid var(--line);
        border-radius: 10px;
        padding: 10px 12px;
        font-size: 1.02rem;
        color: var(--ink);
        background: #fff;
      }

      .modal-note {
        margin: 8px 0 0;
        color: var(--muted);
        font-size: 0.64rem !important;
        line-height: 1.35;
      }

      .modal-actions {
        margin-top: 18px;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
      }

      .modal-btn {
        border: 1px solid transparent;
        border-radius: 35px;
        padding: 12px 16px;
        font-weight: 700;
        font-size: 1.02rem;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
      }

      .modal-btn.primary {
        background: var(--accent);
        color: #fff;
      }

      .modal-btn.secondary {
        background: #fff;
        color: var(--muted);
        border-color: var(--line);
      }

      .donation-row {
        margin-top: 16px;
        display: flex;
        justify-content: center;
        gap: 12px;
        align-items: center;
        flex-wrap: wrap;
      }

      .paypal-btn {
        border: 0;
        border-radius: 35px;
        color: #fff;
        background: var(--accent);
        padding: 12px 18px;
        font-weight: 700;
        text-decoration: none;
        font-size: 0.95rem;
      }

      .paypal-btn:hover {
        background: var(--accent);
        color: #fff;
      }

      .reveal {
        opacity: 0;
        transform: translateY(16px);
        transition: opacity 0.55s ease, transform 0.55s ease;
      }

      .reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
      }

      .site-footer {
        padding: 16px 0 28px;
        text-align: center;
        color: #5b6472;
        font-size: 0.88rem;
        background: #e6fbf8;
      }

      .footer-box {
        width: 100%;
        margin: 0 auto;
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 8px 16px;
      }

      .footer-meta {
        margin-top: 6px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 0.8rem;
        color: #6c7482;
      }

      .footer-meta a {
        color: inherit;
        text-decoration: none;
        border-bottom: 1px solid rgba(108, 116, 130, 0.35);
      }

      .footer-meta a:hover {
        border-bottom-color: rgba(108, 116, 130, 0.75);
      }

      .legal-page {
        background: #e6fbf8;
      }

      .legal-topbar {
        width: calc(100vw - 14px);
        margin-left: calc(50% - 50vw + 7px);
        margin-right: calc(50% - 50vw + 7px);
        padding: 18px 24px 0;
      }

      .legal-topbar .brand {
        color: #121826;
        text-decoration: none;
        font-size: 0.98rem;
        display: inline-block;
      }

      .legal-content {
        max-width: 860px;
        margin: 0 auto;
        padding: 20px 0 56px;
      }

      .legal-title {
        margin: 0;
        font-family: "Poppins", "Avenir Next", sans-serif;
        font-size: clamp(1.65rem, 3.6vw, 2.75rem);
        letter-spacing: -0.02em;
      }

      .legal-section {
        margin-top: 20px;
      }

      .legal-section h2 {
        margin: 0 0 8px;
        font-family: "Poppins", "Avenir Next", sans-serif;
        font-size: 1.05rem;
        letter-spacing: -0.01em;
      }

      .legal-section p,
      .legal-section li {
        color: #5f6878;
        line-height: 1.6;
      }

      .legal-section p {
        margin: 0;
      }

      .legal-section p + p {
        margin-top: 10px;
      }

      .legal-section ul {
        margin: 8px 0 0 18px;
        padding: 0;
      }

      .legal-back {
        margin-top: 22px;
      }

      .legal-back a {
        color: #0d8e98;
        text-decoration: none;
      }

      .legal-back a:hover {
        color: #0b757d;
        text-decoration: none;
      }

      .legal-content a {
        color: #0d8e98;
        text-decoration: none;
      }

      .legal-content a:hover {
        color: #0b757d;
        text-decoration: none;
      }

      .cookie-banner {
        position: fixed;
        right: 14px;
        bottom: 14px;
        z-index: 120;
        background: #ffffff;
        border-radius: 12px;
        box-shadow: 0 10px 24px rgba(16, 24, 40, 0.16);
        padding: 10px;
        width: min(360px, calc(100vw - 16px));
        display: none;
      }

      .cookie-banner.is-open {
        display: block;
      }

      .cookie-banner p {
        margin: 0;
        color: #4d586a;
        line-height: 1.3;
        font-size: 0.8rem;
      }

      .cookie-actions {
        margin-top: 8px;
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
      }

      .cookie-btn {
        border-radius: 24px;
        border: 1px solid #d9e2e8;
        padding: 6px 10px;
        font-family: "Poppins", "Avenir Next", sans-serif;
        font-size: 0.74rem;
        font-weight: 600;
        cursor: pointer;
      }

      .cookie-btn.primary {
        background: #11bcc6;
        border-color: #11bcc6;
        color: #fff;
      }

      .cookie-btn.secondary {
        background: #fff;
        color: #4d586a;
      }

      @media (max-width: 900px) {
        .header-rail {
          height: auto;
          margin: 6px 0 0;
        }

        .stage-sticky {
          position: static;
          height: auto;
        }

        .hero-stage {
          height: auto;
          min-height: 0;
          width: calc(100% - 14px);
          margin-left: 7px;
          margin-right: 7px;
          margin-top: 7px;
          margin-bottom: 2px;
          padding: 28px 16px 24px;
          display: flex;
          flex-direction: column;
          align-items: center;
        }

        .stage-topbar {
          padding: 14px 14px 0;
        }

        .stage-topbar .brand {
          font-size: 0.96rem;
        }

        .downloads {
          margin: 24px 0 46px;
          padding-top: 0;
        }

        .stage-copy {
          position: relative;
          inset: auto;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: flex-start;
          text-align: center;
          width: 100%;
          margin: 0 auto;
          padding: 26px 14px 0;
        }

        .stage-hero-title {
          font-size: clamp(2.8rem, 9.6vw, 4.5rem);
          line-height: 0.94;
          text-align: center;
        }

        .stage-subtitle {
          font-size: 0.96rem;
          line-height: 1.6;
          max-width: 84%;
        }

        .fly {
          display: none;
        }

        .fly-gif {
          position: absolute;
          margin-top: 0;
          display: block;
        }

        .fly-gif.g1 {
          width: 108px;
          height: 108px;
          left: 73%;
          top: 76%;
          transform: rotate(9deg) !important;
        }

        .fly-gif.g2 {
          width: 96px;
          height: 96px;
          left: 7%;
          top: 16%;
          transform: rotate(-11deg) !important;
        }

        .fly-gif.g3 {
          display: none;
        }

        .fly-gif.g1 img {
          object-position: 82% center;
        }

        .fly-gif.g2 img {
          object-position: 58% center;
        }

        .stage-cta {
          position: static;
          left: auto;
          bottom: auto;
          transform: none;
          margin-top: 18px;
        }

        .download-grid {
          grid-template-columns: 1fr;
        }

        .download-item {
          min-height: auto;
        }

        .download-actions {
          margin-top: 12px;
        }

        .legal-topbar {
          width: calc(100% - 14px);
          margin-left: 7px;
          margin-right: 7px;
          padding: 14px 14px 0;
        }

        .legal-content {
          width: min(1080px, 94vw);
          padding-top: 16px;
        }

        .cookie-banner {
          left: 8px;
          right: 8px;
          bottom: 8px;
          width: auto;
          padding: 9px;
        }
      }

      @media (max-width: 680px) {
        .container {
          width: min(1080px, 94vw);
        }

        .hero-stage {
          width: 100%;
          margin: 0;
          padding: 24px 12px 20px;
        }

        .stage-copy {
          padding: 20px 10px 0;
        }

        .stage-hero-title {
          font-size: clamp(2rem, 10vw, 2.9rem);
          max-width: 92%;
        }

        .stage-hero-title span {
          white-space: normal;
        }

        .stage-subtitle {
          font-size: 0.96rem;
          line-height: 1.6;
          max-width: 92%;
        }

        .downloads .intro-desktop {
          display: none;
        }

        .downloads .intro-mobile {
          display: block;
          font-size: 0.98rem;
          line-height: 1.45;
          max-width: 94%;
        }

        .fly {
          display: none;
        }

        .fly-gif.g1 {
          width: 88px;
          height: 88px;
          top: 79%;
          left: 70%;
          transform: rotate(10deg) !important;
        }

        .fly-gif.g2 {
          width: 78px;
          height: 78px;
          left: 6%;
          top: 14%;
          transform: rotate(-12deg) !important;
        }

        .stage-cta {
          margin-top: 16px;
          gap: 8px;
        }

        .btn {
          padding: 10px 14px;
          font-size: 0.86rem;
        }

        .subscribe-guide {
          text-align: left;
          padding: 14px;
        }

      }

      @media (max-width: 520px) {
        .hero-stage {
          padding: 20px 10px 18px;
        }

        .stage-copy {
          padding-top: 18px;
        }

        .stage-subtitle {
          max-width: 95%;
          font-size: 0.96rem;
        }

        .fly {
          display: none;
        }

        .fly-gif.g1 {
          width: 82px;
          height: 82px;
          left: 68%;
          top: 80%;
          transform: rotate(12deg) !important;
        }

        .fly-gif.g2 {
          width: 70px;
          height: 70px;
          left: 5%;
          top: 13%;
          transform: rotate(-13deg) !important;
        }

        .fly-gif.g1 img {
          object-position: 82% center;
        }
      }
