
        /* #region Financial Post Article Modal */
        .fp-article-modal {
            position: fixed;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.5rem;
            z-index: 3500;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.35s ease, visibility 0.35s ease;
        }

        .fp-article-modal.is-visible {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .fp-article-modal__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(4, 16, 34, 0.82);
            backdrop-filter: blur(0.375rem);
            -webkit-backdrop-filter: blur(0.375rem);
            opacity: 0;
            transition: opacity 0.35s ease;
        }

        .fp-article-modal.is-visible .fp-article-modal__backdrop {
            opacity: 1;
        }

        .fp-article-modal__dialog {
            position: relative;
            background: #0d1f3c;
            border: 0.0625rem solid rgba(58, 174, 227, 0.2);
            border-radius: 1.25rem;
            box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.6), 0 0 0 0.0625rem rgba(58, 174, 227, 0.1);
            max-width: 28rem;
            width: 100%;
            overflow: hidden;
            transform: scale(0.94) translateY(1.25rem);
            opacity: 0;
            transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
        }

        .fp-article-modal.is-visible .fp-article-modal__dialog {
            transform: scale(1) translateY(0);
            opacity: 1;
        }

        .fp-article-modal__close {
            position: absolute;
            top: 0.75rem;
            right: 0.75rem;
            z-index: 2;
            background: rgba(0, 0, 0, 0.45);
            border: 0.0625rem solid rgba(255, 255, 255, 0.15);
            border-radius: 50%;
            color: rgba(255, 255, 255, 0.8);
            font-size: 1.25rem;
            line-height: 1;
            width: 2rem;
            height: 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease;
        }

        .fp-article-modal__close:hover {
            background: rgba(0, 0, 0, 0.7);
            color: #fff;
        }

        .fp-article-modal__media {
            width: 100%;
            aspect-ratio: 16 / 9;
            overflow: hidden;
            background: #081628;
        }

        .fp-article-modal__media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .fp-article-modal__body {
            padding: 2rem 2.25rem 2.25rem;
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .fp-article-modal__body h3 {
            font-size: 1.0625rem;
            font-weight: 800;
            color: #fff;
            line-height: 1.3;
            letter-spacing: -0.01em;
            margin: 0;
        }

        .fp-article-modal__body p {
            font-size: 0.8125rem;
            color: rgba(255, 255, 255, 0.7);
            line-height: 1.6;
            margin: 0;
        }

        .fp-article-modal__cta {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: linear-gradient(45deg, #3aaee3, #2196cc);
            color: #fff;
            font-family: inherit;
            font-size: 0.8125rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            padding: 0.75rem 1.5rem;
            border-radius: 2rem;
            border: none;
            cursor: pointer;
            text-decoration: none;
            transition: filter 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
            box-shadow: 0 0.25rem 1rem rgba(33, 150, 204, 0.35);
            margin-top: 0.25rem;
            align-self: flex-start;
        }

        .fp-article-modal__cta:hover {
            filter: brightness(1.1);
            transform: translateY(-0.125rem);
            box-shadow: 0 0.5rem 1.5rem rgba(33, 150, 204, 0.45);
        }

        .fp-article-modal__cta svg {
            flex-shrink: 0;
        }

        @media (max-width: 37.5rem) {
            .fp-article-modal {
                padding: 1rem;
            }

            .fp-article-modal__dialog {
                max-width: 100%;
            }

            .fp-article-modal__cta {
                align-self: stretch;
                justify-content: center;
            }
        }
        /* #endregion */

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

        html {
            height: 100%;
            font-size: 16px;
        }

        body {
            font-family: 'Montserrat', sans-serif;
            min-height: 100dvh;
            overflow-y: auto;
            background: #081628;
            color: #fff;
        }

        body.has-modal {
            overflow: hidden;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        button {
            font-family: inherit;
            cursor: pointer;
            border: none;
            background: none;
        }
        /* #endregion */

        /* #region Layout */
        .page {
            display: flex;
            flex-direction: column;
            min-height: 100dvh;
        }

        .inner {
            width: 100%;
            max-width: 87.5rem;
            margin: 0 auto;
            padding: 0 1.25rem;
        }
        /* #endregion */

        /* #region Subheader */
        .subheader {
            background: #0a1a2e;
            border-bottom: 0.0625rem solid rgba(255,255,255,0.07);
            flex-shrink: 0;
        }

        .subheader .inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-top: 0.5rem;
            padding-bottom: 0.5rem;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .subheader__stocks {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .subheader__stocks-icon {
            display: flex;
            align-items: center;
            color: #3aaee3;
        }

        .subheader__stocks-icon svg {
            width: 1rem;
            height: 1rem;
        }

        .subheader__symbol {
            font-size: 0.75rem;
            font-weight: 700;
            color: rgba(255,255,255,0.55);
            letter-spacing: 0.04em;
        }

        .subheader__symbol b {
            color: #fff;
        }

        .subheader__divider {
            width: 0.0625rem;
            height: 0.75rem;
            background: rgba(255,255,255,0.2);
        }

        .subheader__contact {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .subheader__contact-label {
            font-size: 0.625rem;
            font-weight: 800;
            color: rgba(255,255,255,0.55);
            letter-spacing: 0.1em;
            text-transform: uppercase;
            white-space: nowrap;
            padding-right: 0.25rem;
        }

        .subheader__contact-link {
            display: flex;
            align-items: center;
            gap: 0.375rem;
            font-size: 0.75rem;
            font-weight: 700;
            color: #fff;
            transition: color 0.2s ease;
            white-space: nowrap;
        }

        .subheader__contact-link:hover {
            color: #3aaee3;
        }

        .subheader__contact-link svg {
            width: 0.875rem;
            height: 0.875rem;
            color: #3aaee3;
            flex-shrink: 0;
        }

        @media (max-width: 47.9375rem) {
            .subheader__contact {
                gap: 0.375rem;
            }

            .subheader__symbol {
                font-size: 0.6875rem;
            }

            .subheader__contact-link {
                font-size: 0.6875rem;
            }
        }

        @media (max-width: 26.875rem) {
            .subheader .inner {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.25rem;
                padding-top: 0.25rem;
                padding-bottom: 0.25rem;
            }

            .subheader__stocks {
                gap: 0.375rem;
            }

            .subheader__stocks-icon svg {
                width: 0.75rem;
                height: 0.75rem;
            }

            .subheader__symbol {
                font-size: 0.625rem;
            }

            .subheader__divider {
                height: 0.625rem;
            }

            .subheader__contact {
                gap: 0.625rem;
            }

            .subheader__contact-link {
                font-size: 0.625rem;
            }

            .subheader__contact-label {
                display: none;
            }
        }
        /* #endregion */

        /* #region Main Header */
        .main-header {
            background: rgba(13,31,60,0.6);
            backdrop-filter: blur(0.75rem);
            -webkit-backdrop-filter: blur(0.75rem);
            border-bottom: 0.0625rem solid rgba(255,255,255,0.06);
            flex-shrink: 0;
        }

        .main-header .inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-top: 0.75rem;
            padding-bottom: 0.75rem;
            gap: 1rem;
        }

        .header-logo {
            display: flex;
            align-items: center;
        }

        .header-logo__img {
            height: 3.75rem;
            width: auto;
            display: block;
        }

        @media (max-width: 63.9375rem) {
            .header-logo__img {
                height: 3rem;
            }
        }

        @media (max-width: 26.875rem) {
            .header-logo__img {
                height: 2.25rem;
            }
        }

        /* #region Header Actions */
        .header-actions {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        /* Shared pill button base */
        .header-news-btn,
        .header-join-btn {
            display: flex;
            align-items: center;
            gap: 0;
            padding: 0.25rem;
            padding-right: 1.25rem;
            background: #fff;
            border-radius: 3rem;
            font-size: 0.8125rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            box-shadow: 0 0.25rem 1rem rgba(0,0,0,0.2);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
            position: relative;
            text-decoration: none;
            cursor: pointer;
            border: none;
            font-family: inherit;
        }

        .header-news-btn:hover,
        .header-join-btn:hover {
            transform: translateY(-0.125rem);
            box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.3);
        }

        .header-news-btn__icon,
        .header-join-btn__icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border-radius: 50%;
            color: #fff;
            margin-right: 0.5rem;
            flex-shrink: 0;
        }

        .header-news-btn__icon svg,
        .header-join-btn__icon svg {
            width: 1rem;
            height: 1rem;
        }

        /* News btn — red */
        .header-news-btn { color: #c53030; }
        .header-news-btn:focus { outline: none; box-shadow: 0 0 0 0.25rem rgba(197,48,48,0.4); }
        .header-news-btn__icon { background: #c53030; }

        .header-news-btn__echo {
            position: absolute;
            inset: 0;
            border-radius: 3rem;
            pointer-events: none;
        }

        .header-news-btn__echo::before,
        .header-news-btn__echo::after,
        .header-news-btn__echo span {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 3rem;
            border: 0.125rem solid #c53030;
            opacity: 0;
        }

        .header-news-btn__echo::before { animation: header-news-echo 4s ease-out 2s infinite; }
        .header-news-btn__echo::after  { animation: header-news-echo 4s ease-out 2.2s infinite; }
        .header-news-btn__echo span    { animation: header-news-echo 4s ease-out 2.4s infinite; }

        @keyframes header-news-echo {
            0%      { transform: scale(1); opacity: 0.6; }
            15%     { transform: scale(1.25); opacity: 0; }
            15.01%, 100% { transform: scale(1); opacity: 0; }
        }

        /* Join btn — blue */
        .header-join-btn { color: #1278b0; }
        .header-join-btn:focus { outline: none; box-shadow: 0 0 0 0.25rem rgba(18,120,176,0.4); }
        .header-join-btn__icon { background: #1278b0; }

        .header-join-btn__echo {
            position: absolute;
            inset: 0;
            border-radius: 3rem;
            pointer-events: none;
        }

        .header-join-btn__echo::before,
        .header-join-btn__echo::after,
        .header-join-btn__echo span {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 3rem;
            border: 0.125rem solid #1278b0;
            opacity: 0;
        }

        .header-join-btn__echo::before { animation: header-echo 4s ease-out infinite; }
        .header-join-btn__echo::after  { animation: header-echo 4s ease-out 0.2s infinite; }
        .header-join-btn__echo span    { animation: header-echo 4s ease-out 0.4s infinite; }

        @media (max-width: 40.625rem) {
            .header-news-btn,
            .header-join-btn {
                padding: 0.25rem;
                border-radius: 50%;
                width: 2.5rem;
                height: 2.5rem;
                justify-content: center;
            }

            .header-news-btn span.header-news-btn__text,
            .header-join-btn span.header-join-btn__text {
                display: none;
            }

            .header-news-btn__icon,
            .header-join-btn__icon {
                margin-right: 0;
            }
        }
        /* #endregion */

        /* #region Hero */
        .hero {
            flex: 1;
            min-height: 0;
            position: relative;
            display: flex;
            align-items: center;
            overflow: hidden;
            background: #0d1f3c;
        }

        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url('hero_bg2.jpg') center / cover no-repeat;
            opacity: 0.28;
            pointer-events: none;
        }

        .hero::after {
            content: '';
            position: absolute;
            inset: 0;
            background:
                linear-gradient(155deg, rgba(8,22,40,0.55) 0%, transparent 60%),
                radial-gradient(ellipse 80% 60% at 65% 50%, rgba(18,120,176,0.14) 0%, transparent 70%);
            pointer-events: none;
        }

        .hero .inner {
            position: relative;
            z-index: 1;
            padding-top: 1.5rem;
            padding-bottom: 1.5rem;
            display: flex;
            align-items: center;
            gap: 3rem;
        }

        .hero__content {
            flex: 1;
            min-width: 0;
        }

        .hero__image-col {
            flex-shrink: 0;
            width: 42%;
            max-width: 36rem;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero__image-col img {
            width: 100%;
            height: auto;
            border-radius: 1.25rem;
            box-shadow: 0 1rem 3rem rgba(0,0,0,0.5);
            display: block;
        }

        /* #region Site Footer */
        .site-footer {
            display: block;
            background: #0a1a2e;
            border-top: 0.0625rem solid rgba(255,255,255,0.07);
            flex-shrink: 0;
        }

        .site-footer__inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1rem;
            padding-top: 1.25rem;
            padding-bottom: 1.25rem;
        }

        .site-footer__left {
            display: flex;
            align-items: center;
            gap: 1.25rem;
            flex-wrap: wrap;
        }

        .site-footer__logo {
            height: 1.75rem;
            width: auto;
            display: block;
            opacity: 0.85;
        }

        .site-footer__tickers {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.6875rem;
            font-weight: 700;
            color: rgba(255,255,255,0.45);
        }

        .site-footer__tickers b { color: rgba(255,255,255,0.75); }
        .site-footer__tickers .divider { width: 0.0625rem; height: 0.75rem; background: rgba(255,255,255,0.2); }

        .site-footer__right {
            font-size: 0.6875rem;
            color: rgba(255,255,255,0.35);
            font-weight: 600;
        }

        @media (max-width: 37.5rem) {
            .site-footer__inner {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.75rem;
            }
        }
        /* #endregion */

        @media (max-width: 56.25rem) {
            .hero {
                flex: none;
                overflow: visible;
            }

            .hero .inner {
                flex-direction: column;
                align-items: stretch;
                gap: 0;
            }

            .hero__image-col {
                display: block;
                width: 100%;
                max-width: 37.5rem;
                margin: 0 auto;
                order: -1;
            }

            .hero__image-col img {
                border-radius: 0.75rem;
                box-shadow: none;
                width: 100%;
                height: auto;
                display: block;
            }

            .hero__content {
                padding-top: 1.5rem;
                padding-bottom: 2rem;
            }
        }

        /* #region Animations */
        @keyframes fadeSlideUp {
            from { opacity: 0; transform: translateY(1.25rem); }
            to   { opacity: 1; transform: translateY(0); }
        }

        @keyframes fadeSlideDown {
            from { opacity: 0; transform: translateY(-0.75rem); }
            to   { opacity: 1; transform: translateY(0); }
        }

        @keyframes fadeSlideLeft {
            from { opacity: 0; transform: translateX(-1rem); }
            to   { opacity: 1; transform: translateX(0); }
        }

        @keyframes fadeSlideRight {
            from { opacity: 0; transform: translateX(1rem); }
            to   { opacity: 1; transform: translateX(0); }
        }

        @keyframes fadeScaleIn {
            from { opacity: 0; transform: scale(0.96); }
            to   { opacity: 1; transform: scale(1); }
        }

        /* Base: elements start invisible */
        .anim {
            opacity: 0;
            animation-fill-mode: forwards;
            animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
            animation-duration: 0.65s;
        }

        .anim--fade-down  { animation-name: fadeSlideDown; }
        .anim--fade-up    { animation-name: fadeSlideUp; }
        .anim--fade-left  { animation-name: fadeSlideLeft; }
        .anim--fade-right { animation-name: fadeSlideRight; }
        .anim--scale      { animation-name: fadeScaleIn; }

        .anim--d0   { animation-delay: 0s; }
        .anim--d1   { animation-delay: 0.1s; }
        .anim--d2   { animation-delay: 0.2s; }
        .anim--d3   { animation-delay: 0.3s; }
        .anim--d4   { animation-delay: 0.45s; }
        .anim--d5   { animation-delay: 0.6s; }
        .anim--d6   { animation-delay: 0.75s; }
        .anim--d7   { animation-delay: 0.95s; }
        .anim--d8   { animation-delay: 1.15s; }

        @media (prefers-reduced-motion: reduce) {
            .anim {
                animation: none;
                opacity: 1;
            }
        }
        /* #endregion */

        .hero__construction {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(245,158,11,0.15);
            border: 0.0625rem solid rgba(245,158,11,0.4);
            color: #fbbf24;
            font-size: 0.6875rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 0.375rem 0.75rem;
            border-radius: 2rem;
            margin-bottom: 1.25rem;
        }

        .hero__construction svg {
            width: 0.875rem;
            height: 0.875rem;
        }

        .hero__heading {
            font-size: clamp(1.75rem, 4.5vw, 3.25rem);
            font-weight: 900;
            line-height: 1.08;
            letter-spacing: -0.02em;
            text-transform: uppercase;
            margin-bottom: 1.25rem;
            max-width: 50rem;
        }

        .hero__heading .accent {
            color: #3aaee3;
        }

        .hero__body {
            font-size: clamp(0.8125rem, 1.3vw, 1rem);
            font-weight: 400;
            line-height: 1.65;
            color: rgba(255,255,255,0.82);
            max-width: 36rem;
            margin-bottom: 2rem;
        }

        .hero__body p {
            margin-bottom: 0.625rem;
        }

        .hero__body p:last-child {
            margin-bottom: 0;
        }

        .hero__body b {
            color: #fff;
            font-weight: 700;
        }

        .hero__buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem;
            align-items: center;
        }

        .btn-primary {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: linear-gradient(45deg, #3aaee3, #2196cc);
            color: #fff;
            font-family: inherit;
            font-size: 0.8125rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 0.875rem 1.75rem;
            border-radius: 2rem;
            border: none;
            cursor: pointer;
            transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
            box-shadow: 0 0.25rem 1.25rem rgba(33,150,204,0.35);
        }

        .btn-primary:hover {
            transform: translateY(-0.125rem);
            filter: brightness(1.08);
            box-shadow: 0 0.5rem 1.75rem rgba(33,150,204,0.45);
        }

        .btn-primary svg {
            width: 1rem;
            height: 1rem;
        }

        .btn-outline {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: transparent;
            color: #fff;
            font-family: inherit;
            font-size: 0.8125rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 0.875rem 1.75rem;
            border-radius: 2rem;
            border: 0.125rem solid rgba(255,255,255,0.5);
            cursor: pointer;
            transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
        }

        .btn-outline:hover {
            background: rgba(255,255,255,0.08);
            border-color: rgba(255,255,255,0.8);
            transform: translateY(-0.125rem);
        }

        .btn-outline svg {
            width: 1rem;
            height: 1rem;
        }

        @media (max-width: 26.875rem) {
            .hero__buttons {
                flex-direction: column;
                align-items: stretch;
            }

            .btn-primary,
            .btn-outline {
                justify-content: center;
            }
        }

        @media (max-width: 30rem) {
            .hero .inner {
                padding-top: 0;
                padding-bottom: 0;
            }

            .hero__content {
                padding-top: 1rem;
                padding-bottom: 1.5rem;
            }

            .hero__construction {
                margin-bottom: 0.75rem;
                font-size: 0.625rem;
                padding: 0.25rem 0.625rem;
            }

            .hero__heading {
                font-size: clamp(1.5rem, 7vw, 2rem);
                margin-bottom: 0.625rem;
            }

            .hero__body {
                font-size: 0.75rem;
                line-height: 1.55;
                margin-bottom: 1rem;
            }

            .hero__body p:last-child {
                display: none;
            }

            .hero__buttons {
                gap: 0.5rem;
            }

            .btn-primary,
            .btn-outline {
                padding: 0.75rem 1.5rem;
                font-size: 0.75rem;
            }
        }
        /* #endregion */

        /* #region Subscribe Modal */
        .subscribe-form-modal {
            position: fixed;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.5rem;
            z-index: 4000;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        .subscribe-form-modal.is-visible {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .subscribe-form-modal__backdrop {
            position: absolute;
            inset: 0;
            background-color: rgba(2,48,71,0.8);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .subscribe-form-modal.is-visible .subscribe-form-modal__backdrop {
            opacity: 1;
        }

        .subscribe-form-modal__dialog {
            position: relative;
            background-color: #fff;
            color: #111;
            padding: 2rem;
            border-radius: 1.25rem;
            box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.24);
            max-width: 32rem;
            width: 100%;
            transform: scale(0.96) translateY(1rem);
            opacity: 0;
            transition: transform 0.3s ease, opacity 0.3s ease;
            max-height: calc(100dvh - 3rem);
            overflow-y: auto;
        }

        .subscribe-form-modal.is-visible .subscribe-form-modal__dialog {
            transform: scale(1) translateY(0);
            opacity: 1;
        }

        .subscribe-form-modal__body {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .subscribe-form-modal__logo {
            max-width: 10rem;
            height: auto;
            margin-bottom: 0.25rem;
        }

        .subscribe-form-modal__body h3 {
            font-size: 1.5rem;
            font-weight: 700;
            color: #111;
            margin: 0;
        }

        .subscribe-form-modal__intro {
            font-size: 1rem;
            color: #3c3c3c;
            margin: 0;
        }

        .subscribe-form-modal__close {
            position: absolute;
            top: 1rem;
            right: 1rem;
            background: none;
            border: 0;
            color: #666;
            font-size: 1.75rem;
            line-height: 1;
            cursor: pointer;
            padding: 0.25rem;
            transition: color 0.2s ease;
        }

        .subscribe-form-modal__close:hover {
            color: #111;
        }

        .subscribe-form-modal__form {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .subscribe-form-modal__field {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
        }

        .subscribe-form-modal__label {
            font-size: 0.875rem;
            font-weight: 600;
            color: #1f1f1f;
        }

        .field-note {
            font-size: 0.75rem;
            text-transform: uppercase;
            margin-left: 0.25rem;
        }

        .field-note--required { color: #a83232; }
        .field-note--optional { color: #1f7a50; }

        .subscribe-form-modal__input {
            width: 100%;
            background-color: #f2f6fa;
            border: 0.125rem solid rgba(17,17,17,0.12);
            border-radius: 0.75rem;
            padding: 0.75rem 1rem;
            font-size: 1rem;
            font-family: inherit;
            transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
        }

        .subscribe-form-modal__input[type="email"] {
            background-color: #fff8e6;
            border-color: rgba(180,140,50,0.25);
        }

        .subscribe-form-modal__input:focus {
            outline: none;
            border-color: #1a88c2;
            box-shadow: 0 0 0 0.25rem rgba(26,136,194,0.2);
            background-color: #fff;
        }

        .subscribe-form-modal__input[type="email"]:focus {
            background-color: #fffdf5;
        }

        .subscribe-form-modal__consent {
            margin-top: 0.5rem;
        }

        .subscribe-form-modal__checkbox {
            display: flex;
            align-items: flex-start;
            gap: 0.5rem;
            font-size: 0.75rem;
            line-height: 1.5;
            color: #3c3c3c;
            cursor: pointer;
        }

        .subscribe-form-modal__checkbox input {
            width: 1.25rem;
            height: 1.25rem;
            border: 0.125rem solid rgba(17,17,17,0.3);
            border-radius: 0.25rem;
            background-color: #fff;
            accent-color: #1a88c2;
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
            cursor: pointer;
            flex-shrink: 0;
            margin-top: 0.125rem;
        }

        .subscribe-form-modal__checkbox input:focus {
            outline: none;
            box-shadow: 0 0 0 0.25rem rgba(26,136,194,0.25);
            border-color: #1a88c2;
        }

        .consent-disclaimer {
            display: block;
            font-size: 0.75rem;
            line-height: 1.25;
            color: #1f1f1f;
        }

        .subscribe-form-modal__submit {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            background: linear-gradient(45deg, #3aaee3, #2196cc);
            color: #fff;
            font-family: inherit;
            font-size: 1rem;
            font-weight: 700;
            padding: 0.875rem 2rem;
            border-radius: 2rem;
            border: none;
            cursor: pointer;
            margin-top: 0.5rem;
            transition: filter 0.2s ease;
            width: 100%;
        }

        .subscribe-form-modal__submit:hover {
            filter: brightness(1.08);
        }

        .subscribe-form-modal__checkbox.needcheck input {
            border-color: #a83232;
            animation: needcheck 1s ease-in-out infinite;
        }

        .subscribe-form-modal__checkbox.needcheck {
            color: #a83232;
        }

        @keyframes needcheck {
            0% { transform: scale(1); }
            50% { transform: scale(1.1); }
            100% { transform: scale(1); }
        }

        @media (max-width: 37.5rem) {
            .subscribe-form-modal {
                padding: 1rem;
            }

            .subscribe-form-modal__dialog {
                padding: 1.5rem;
            }

            .subscribe-form-modal__body h3 {
                font-size: 1.25rem;
                padding-right: 1.5rem;
            }
        }
        /* #endregion */

        /* #region SUBSCRIBE SUCCESS MODAL */
        .sub-success-modal {
            position: fixed;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.5rem;
            z-index: 4100;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        .sub-success-modal.is-visible {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .sub-success-modal__backdrop {
            position: absolute;
            inset: 0;
            background-color: rgba(2,48,71,0.8);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .sub-success-modal.is-visible .sub-success-modal__backdrop {
            opacity: 1;
        }

        .sub-success-modal__dialog {
            position: relative;
            background-color: #fff;
            color: #111;
            padding: 2.5rem 2rem;
            border-radius: 1.25rem;
            box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.24);
            max-width: 26rem;
            width: 100%;
            transform: scale(0.96) translateY(1rem);
            opacity: 0;
            transition: transform 0.3s ease, opacity 0.3s ease;
            text-align: center;
        }

        .sub-success-modal.is-visible .sub-success-modal__dialog {
            transform: scale(1) translateY(0);
            opacity: 1;
        }

        .sub-success-modal__close {
            position: absolute;
            top: 1rem;
            right: 1rem;
            background: none;
            border: 0;
            color: #666;
            font-size: 1.75rem;
            line-height: 1;
            cursor: pointer;
            padding: 0.25rem;
            transition: color 0.2s ease;
        }

        .sub-success-modal__close:hover { color: #111; }

        .sub-success-modal__icon {
            width: 3.5rem;
            height: 3.5rem;
            border-radius: 50%;
            background: linear-gradient(135deg, #1a7a46, #27c069);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.25rem;
            color: #fff;
            font-size: 1.75rem;
            font-weight: 700;
            line-height: 1;
        }

        .sub-success-modal__dialog h3 {
            font-size: 1.5rem;
            font-weight: 700;
            color: #111;
            margin: 0 0 0.75rem;
        }

        .sub-success-modal__dialog p {
            font-size: 1rem;
            color: #3c3c3c;
            margin: 0 0 1.5rem;
            line-height: 1.55;
        }

        .sub-success-modal__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(45deg, #3aaee3, #2196cc);
            color: #fff;
            font-family: inherit;
            font-size: 1rem;
            font-weight: 700;
            padding: 0.75rem 2.5rem;
            border-radius: 2rem;
            border: none;
            cursor: pointer;
            transition: filter 0.2s ease;
        }

        .sub-success-modal__btn:hover { filter: brightness(1.08); }

        .subscribe-form-modal__error {
            display: none;
            font-size: 0.875rem;
            color: #a83232;
            background: #fdf2f2;
            border: 0.0625rem solid rgba(168,50,50,0.25);
            border-radius: 0.5rem;
            padding: 0.625rem 0.875rem;
        }
        /* #endregion */
