/* Self-hosted Montserrat (latin, 600 + 700) */
@font-face {
 font-family: "Montserrat";
 font-style: normal;
 font-weight: 600;
 font-display: swap;
 src: url("/assets/fonts/montserrat/montserrat-latin-600-normal.woff2") format("woff2");
 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
 font-family: "Montserrat";
 font-style: normal;
 font-weight: 700;
 font-display: swap;
 src: url("/assets/fonts/montserrat/montserrat-latin-700-normal.woff2") format("woff2");
 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
 font-family: "Montserrat Fallback";
 src: local("Arial");
 size-adjust: 105%;
 ascent-override: 92%;
 descent-override: 24%;
 line-gap-override: 0%;
}

/* Shared frosted gradient background for conversion funnel pages */
html.funnel-page {
 min-height: 100%;
 scroll-behavior: smooth;
 scrollbar-width: none;
 -ms-overflow-style: none;
 background-color: #fcfcfc;
 background-image: url("/assets/images/funnel-background.png") !important;
 background-size: cover;
 background-position: center top;
 background-repeat: no-repeat;
 background-attachment: fixed;
}

@media (max-width: 768px) {
 html.funnel-page {
 background-attachment: scroll;
 }
}

html.funnel-page::-webkit-scrollbar {
 display: none;
}

html.funnel-page::before {
 content: "";
 position: fixed;
 inset: 0;
 background: rgba(252, 252, 252, 0.88) !important;
 z-index: 0;
 pointer-events: none;
}

html.funnel-page body {
 position: relative;
 z-index: 1;
 background: transparent !important;
 background-image: none !important;
 scrollbar-width: none;
 -ms-overflow-style: none;
}

html.funnel-page body::-webkit-scrollbar {
 display: none;
}

/* Capital requirement top banner (r/ funnel pages) */
.funnel-capital-banner {
 width: 100%;
 margin: 0;
 padding: 0.7rem 1rem;
 background: #0066CC;
 color: #ffffff;
 font-family: "Montserrat", "Montserrat Fallback", Helvetica, Arial, sans-serif;
 font-weight: 700;
 font-size: clamp(0.875rem, 2.4vw, 1.0625rem);
 line-height: 1.35;
 letter-spacing: 0.01em;
 text-align: center;
 box-sizing: border-box;
}

@media (max-width: 480px) {
 .funnel-capital-banner {
 padding: 0.65rem 0.75rem;
 font-size: 0.8125rem;
 }
}

/* Shared top logo for conversion funnel pages */
.funnel-logo-wrap {
 text-align: center;
 margin-bottom: 2.75rem;
 min-height: 2rem;
}

.funnel-logo {
 width: 160px;
 height: auto;
 max-width: 160px;
 object-fit: contain;
 display: block;
 margin: 0 auto;
}

@media (max-width: 768px) {
 .funnel-logo-wrap {
 margin-bottom: 0.5rem;
 }
}

@media (max-width: 480px) {
 .funnel-logo-wrap {
 margin-bottom: 0.35rem;
 }
}

/* Shared footer for conversion funnel pages */
.vsl-footer {
 width: 100%;
 margin-top: 0;
 padding: 2.5rem 1.5rem 2.75rem;
 background-color: #111f46;
 color: rgba(255, 255, 255, 0.72);
 text-align: center;
 border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.vsl-footer-inner {
 max-width: 720px;
 margin: 0 auto;
}

.vsl-footer-logo {
 height: 3.25rem;
 width: auto;
 max-width: 340px;
 object-fit: contain;
 margin: 0 auto 1.25rem;
 display: block;
}

.vsl-footer-links {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 align-items: center;
 gap: 0.5rem;
 margin-bottom: 0.75rem;
}

.vsl-footer-links a {
 font-family: "Montserrat", "Montserrat Fallback", Helvetica, Arial, sans-serif;
 font-size: 0.875rem;
 color: rgba(255, 255, 255, 0.88);
 text-decoration: none;
}

.vsl-footer-links a:hover {
 text-decoration: underline;
}

.vsl-footer-sep {
 color: rgba(255, 255, 255, 0.45);
 font-size: 0.875rem;
}

.vsl-copyright {
 font-size: 0.8125rem;
 color: rgba(255, 255, 255, 0.55);
 margin: 0 0 1.75rem;
}

.vsl-footer-divider {
 border: 0;
 border-top: 1px solid rgba(255, 255, 255, 0.15);
 margin: 0 0 1.75rem;
}

.vsl-disclaimer {
 font-size: 0.6875rem;
 line-height: 1.65;
 color: rgba(255, 255, 255, 0.5);
 text-align: center;
 margin: 0 0 1rem;
}

.vsl-disclaimer:last-child {
 margin-bottom: 0;
}

.vsl-disclaimer a {
 color: inherit;
 text-decoration: underline;
}

@media (max-width: 480px) {
 .vsl-footer-logo {
 height: 3.5rem;
 max-width: 360px;
 }
}
