html{ scroll-behavior: smooth; }
body{ font-family: var(--inter); background: var(--bg); color: var(--white); font-size: 16px; }

::-webkit-scrollbar{ width: 10px; }
::-webkit-scrollbar-track{ background: var(--bg); }
::-webkit-scrollbar-thumb{ background: var(--line); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover{ background: var(--green); }
::selection{ background: var(--green); color: #02110a; }

h1,
h2,
h3,
h4,
h5,
h6{ font-family: var(--space); font-weight: 600; }

.content{ margin: 0 auto; max-width: 1240px; width: 100%; }

strong{ font-weight: 600; }
em,
i{ font-style: italic; }

/* reCaptcha */
.grecaptcha-badge{ visibility: hidden; }
.recaptcha-message{ font-size: 13px; line-height: 1.4; text-align: center; }
.recaptcha-message a{ margin: 0 5px; color: var(--white); text-decoration: none; }
.recaptcha-message a:hover{ text-decoration: underline; }

/* Apple-style one-shot entry */
.apple-enter{ opacity: 0; transform: translateY(40px); filter: blur(8px); transition: opacity 1100ms cubic-bezier(0.22, 1, 0.36, 1), transform 1100ms cubic-bezier(0.22, 1, 0.36, 1), filter 1100ms cubic-bezier(0.22, 1, 0.36, 1); will-change: opacity, transform, filter; }
.apple-enter.is-in{ opacity: 1; transform: translateY(0); filter: blur(0); }
.apple-delay-1{ transition-delay: 80ms; }
.apple-delay-2{ transition-delay: 220ms; }
.apple-delay-3{ transition-delay: 340ms; }

/* Morph word */
.morph-word{ display: inline-block; color: var(--green); will-change: opacity, transform, filter; }
.morph-word.is-swapping{ animation: wordSwap 800ms cubic-bezier(0.22, 1, 0.36, 1); }

@keyframes wordSwap {
    0%{ opacity: 1; transform: translateY(0); filter: blur(0); }
    45%{ opacity: 0; transform: translateY(-14px); filter: blur(7px); }
    55%{ opacity: 0; transform: translateY(14px); filter: blur(7px); }
    100%{ opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* Backgrounds */
.field{ background: radial-gradient(900px 700px at 20% 20%, rgba(14, 94, 140, 0.55), transparent 55%), radial-gradient(1100px 800px at 80% 30%, rgba(14, 94, 140, 0.4), transparent 60%), radial-gradient(900px 700px at 50% 90%, rgba(6, 24, 38, 0.85), transparent 55%), var(--bg); }

/* Nav Buttons */
.nav-btn{ width: 48px; height: 48px; border-radius: 999px; border: 1px solid var(--line-strong); background: rgba(255, 255, 255, 0.02); display: inline-flex; align-items: center; justify-content: center; color: var(--offwhite); transition: all 150ms ease-out; cursor: pointer; }
.nav-btn:hover{ border-color: var(--green); color: var(--green); }
.nav-btn[disabled]{ opacity: 0.35; cursor: not-allowed; }

/* Ornaments */
.triangle-ornament{ width: 14px; height: 14px; border-top: 1.5px solid rgba(0,227,122,0.55); border-left: 1.5px solid rgba(0,227,122,0.55); margin-bottom: 24px; }

/* Effects */
.duotone:after{ content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(0, 227, 122, 0.28) 0%, rgba(0, 227, 122, 0.14) 30%, transparent 65%); pointer-events: none; }
.fade-edges{ mask-image: linear-gradient(180deg, transparent 0%, black 10%, black 90%, transparent 100%); -webkit-mask-image: linear-gradient(180deg, transparent 0%, black 10%, black 90%, transparent 100%); }
.blue-section{ position: relative; background: transparent; }
.blue-section:before{ content: ""; position: absolute; inset: 0; background: radial-gradient(700px 520px at 35% 55%, rgba(44, 177, 241, 0.20), transparent 65%), radial-gradient(620px 460px at 72% 55%, rgba(44, 177, 241, 0.14), transparent 65%); mask-image: radial-gradient(ellipse 75% 70% at 50% 50%, black 35%, transparent 92%); -webkit-mask-image: radial-gradient(ellipse 75% 70% at 50% 50%, black 35%, transparent 92%); pointer-events: none; z-index: 0; }
.ebook-background{ background: linear-gradient(180deg, rgba(44, 177, 241, 0.05) 0%, rgba(44, 177, 241, 0.02) 100%), var(--bg); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

/* Modal */
.modal-overlay{ position: fixed; inset: 0; z-index: 9999; background: rgba(5, 7, 10, 0.75); backdrop-filter: blur(6px); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 300ms ease; }
.modal-overlay.open{ opacity: 1; pointer-events: auto; }
.modal-overlay .modal-box{ background: var(--bg); border: 1px solid rgba(255, 255, 255, 0.1); width: 100%; max-width: 540px; padding: 40px 36px; position: relative; margin: 24px; transform: translateY(20px); transition: transform 300ms ease; max-height: 90%; overflow-y: auto; }
.modal-overlay .modal-box::-webkit-scrollbar{ width: 4px; }
.modal-overlay .modal-box::-webkit-scrollbar-track{ background: transparent; }
.modal-overlay .modal-box::-webkit-scrollbar-thumb{ background: var(--line); border-radius: 4px; }
.modal-overlay .modal-box::-webkit-scrollbar-thumb:hover{ background: var(--green); }
.modal-overlay.open .modal-box{ transform: translateY(0); }
.modal-overlay .modal-close{ position: absolute; width: 20px; height: 20px; box-shadow: none; top: 0; right: 14px; background: none; border: none; cursor: pointer; color: rgba(242, 244, 241, 0.5); transition: color 200ms; }
.modal-overlay .modal-close:hover{ color: var(--offwhite); box-shadow: none; transform: none; }
.modal-overlay .modal-title{ font-size: 28px; letter-spacing: -1px; margin-bottom: 30px; letter-spacing: -1px; }
.modal-overlay .modal-field{ margin-bottom: 20px; }
.modal-overlay .modal-field label{ display: block; font-size: 14px; font-weight: 500; color: var(--offwhite); margin-bottom: 8px; }
.modal-overlay .modal-field label .req{ color: var(--green); }
.modal-overlay .modal-field input,
.modal-overlay .modal-field textarea{ width: 100%; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); padding: 12px 14px; font-size: 15px; color: var(--offwhite); transition: border-color 200ms; outline: none; }
.modal-overlay .modal-field input:focus,
.modal-overlay .modal-field textarea:focus{ border-color: var(--green); }
.modal-overlay .modal-field textarea{ resize: vertical; min-height: 100px; }
.modal-overlay .modal-check{ display: flex; gap: 12px; align-items: flex-start; margin-bottom: 28px; }
.modal-overlay .modal-check input[type="checkbox"]{ width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--green); cursor: pointer; }
.modal-overlay .modal-check span{ font-size: 13px; color: rgba(242, 244, 241, 0.5); line-height: 1.5; }
.modal-overlay .modal-check a{ color: var(--green); text-decoration: underline; }

/* Hubspot Forms */
.hbspt-form .field{ background: none; }
.hbspt-form input,
.hbspt-form textarea,
.hbspt-form .hs-input{ width: 100% !important; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 0; padding: 14px 16px; font-family: var(--inter); font-size: 15px; color: var(--offwhite); outline: none; transition: border-color 160ms ease, box-shadow 160ms ease; }
.hbspt-form textarea{ resize: none !important; height: 150px; }
.hbspt-form fieldset{ margin-bottom: 20px !important; max-width: 100% !important; width: 100% !important; }
.hbspt-form .hs-form-required{ display: inline-block; color: var(--green); margin-left: 5px; }
.hbspt-form label{ margin-bottom: 10px; display: block; }
.hbspt-form input[type="submit"]{ background: var(--green); font-weight: 700; border: 1px solid var(--green); color: #02110a; display: inline-block; padding: 18px 30px; text-decoration: none; font-size: 20px; transition: var(--transition); cursor: pointer; width: auto !important; }
.hbspt-form .form-columns-2{ display: flex; gap: 15px; }
.hbspt-form .form-columns-1 .input,
.hbspt-form .form-columns-2 .input{ margin-right: 0 !important; }
.hbspt-form .legal-consent-container{ display: flex; text-align: left; flex-direction: column; }
.hbspt-form .legal-consent-container .hs-richtext{ font-size: 14px; opacity: .8; line-height: 1.3; }
.hbspt-form .legal-consent-container .hs-richtext a{ color: var(--green); }
.hbspt-form .legal-consent-container .hs-form-booleancheckbox-display{ display: flex; align-items: center; margin-top: 20px; }
.hbspt-form .legal-consent-container .hs-form-booleancheckbox-display input{ width: 15px !important; height: 15px; background: #071e36; }
.hbspt-form .legal-consent-container .hs-form-booleancheckbox-display p{ font-size: 14px; opacity: .8; line-height: 1.3; padding-left: 10px; display: inline-block; }
.hbspt-form .legal-consent-container .hs-form-booleancheckbox-display>span{ margin-left: 0; }
.hbspt-form .hs_recaptcha{ height: 0; }
.hbspt-form .hs-error-msg{ display: block; color: #ff4d4d; margin-top: 10px; font-size: 14px; }
.hbspt-form .hs-main-font-element{ display: block; color: #ff4d4d; margin-bottom: 20px; font-size: 14px; }

@media screen and (max-width: 1280px){

    .content{ padding: 0 20px; }

}

@media screen and (max-width: 1023px){

    /* Nav Buttons */
    .nav-btn{ width: 35px; height: 35px; }

    .hbspt-form input[type="submit"]{ padding: 12px 20px; font-size: 16px; }
    .hbspt-form label{ font-size: 14px; }


}

@media screen and (max-width: 767px){

    .hbspt-form .form-columns-2{ flex-direction: column; }
    .hbspt-form .form-columns-2 .hs-form-field{ width: 100% !important; }

}

@media screen and (max-width: 540px){

}
