@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");

:root {
    --trh-navy: #031634;
    --trh-navy-2: #06244a;
    --trh-cyan: #00a8d8;
    --trh-cyan-2: #008fba;
    --trh-cyan-bright: #3fd4ff;
    --trh-ink: #0c1b33;
    --trh-muted: #3d5168;
    --trh-line: #d7e3ee;
    --trh-soft: #eef6fb;
}

html { scroll-behavior: smooth; }

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    color: var(--trh-ink);
    font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
    background: #f4f8fb;
}

.lp-footer { margin-top: auto; }
.lp-steps > [class*="col-"] { display: flex; }
.lp-steps .lp-step-card { width: 100%; }

.logo,
.lp-footer-logo,
.signup-logo-white {
    padding: 0 !important;
    filter: none !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: 240px !important;
    max-height: 56px !important;
    object-fit: contain;
}

.which-logo {
    max-width: 280px;
    width: 100%;
    height: auto;
    margin-top: 8px;
}

.site-nav {
    background: var(--trh-navy) !important;
    padding: 8px 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(63, 212, 255, 0.12);
}

.site-nav .nav-link {
    color: rgba(255, 255, 255, 0.86) !important;
    font-weight: 500 !important;
    height: auto;
    line-height: 1.2;
    border-radius: 8px;
}

.site-nav .nav-link:hover {
    color: var(--trh-cyan-bright) !important;
    background: transparent !important;
}

.site-nav .navbar-toggler {
    border: none;
    color: #fff;
}

.site-nav .navbar-toggler svg {
    stroke: #fff;
}

.site-nav-cta {
    border: 1.5px solid var(--trh-cyan) !important;
    border-radius: 8px !important;
    padding: 8px 18px !important;
    color: var(--trh-navy) !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    background: var(--trh-cyan) !important;
    line-height: 1.2 !important;
}

.site-nav-cta:hover {
    background: var(--trh-cyan-bright) !important;
    border-color: var(--trh-cyan-bright) !important;
    color: var(--trh-navy) !important;
}

.lp-hero {
    padding: 4.5rem 0 4rem;
    background:
        radial-gradient(900px 420px at 88% 10%, rgba(0, 168, 216, 0.28), transparent 60%),
        linear-gradient(180deg, #031634 0%, #06244a 100%);
}

.lp-badge {
    background: rgba(0, 168, 216, 0.14);
    border-color: rgba(63, 212, 255, 0.45);
    color: var(--trh-cyan-bright);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lp-hero-title,
.lp-section-title,
.lp-final-cta h2,
.reg-title,
.signup-header h3,
.signup-left-content h2,
.whatsapp-cta-title {
    font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
}

.lp-hero-title { color: #fff; }
.lp-hero-sub { color: rgba(255, 255, 255, 0.78); }

.lp-hero .lp-btn-ghost {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.35);
}

.lp-hero .lp-btn-ghost:hover {
    border-color: var(--trh-cyan-bright);
    color: var(--trh-cyan-bright);
}

.lp-hero-card-icon,
.lp-step-num,
.lp-step-icon,
.lp-specialty-icon,
.lp-section-tag,
.lp-regulatory-label,
.signup-section-label,
.reg-highlight-icon,
.reg-quote cite,
.text-primary {
    color: var(--trh-cyan) !important;
}

.lp-section-tag {
    background: rgba(0, 168, 216, 0.12);
}

.lp-btn-primary,
.btn-primary,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus,
.btn-primary:visited,
.signup-btn-submit,
.whatsapp-cta-btn {
    background: var(--trh-cyan) !important;
    border-color: var(--trh-cyan) !important;
    color: #fff !important;
}

.lp-btn-primary:hover,
.signup-btn-submit:hover,
.whatsapp-cta-btn:hover {
    background: var(--trh-cyan-2) !important;
    border-color: var(--trh-cyan-2) !important;
}

.btn-outline-primary {
    border-color: var(--trh-cyan) !important;
    color: var(--trh-cyan) !important;
}

.btn-outline-primary:hover {
    background: var(--trh-cyan) !important;
    color: #fff !important;
}

.lp-btn-ghost:hover,
.signup-btn-back:hover,
.lp-footer-links a:hover,
.signup-login-hint a {
    border-color: var(--trh-cyan);
    color: var(--trh-cyan);
}

.lp-btn-white { color: var(--trh-navy); }
.lp-btn-white:hover { color: var(--trh-cyan-2); }

.lp-btn-outline {
    color: var(--trh-cyan);
    border-color: var(--trh-cyan);
}

.lp-btn-outline:hover {
    background: var(--trh-cyan);
    color: #fff;
}

.lp-section-title,
.lp-hero-card-title,
.lp-step-card h5,
.lp-specialty-card h6,
.lp-faq-q,
.lp-regulatory-value,
.reg-highlight-title {
    color: var(--trh-ink);
}

.lp-section-title--light {
    color: #fff;
}

.lp-certs,
.lp-regulatory {
    background: #fff;
    border-color: var(--trh-line);
}

.lp-certs-label { color: #6d8196; }

.lp-step-card,
.lp-specialty-card {
    border-color: var(--trh-line);
    background: #fff;
}

.lp-step-card:hover,
.lp-specialty-card:hover {
    border-color: var(--trh-cyan);
    box-shadow: 0 8px 24px rgba(0, 168, 216, 0.14);
    background: #f7fcff;
}

.lp-step-icon,
.lp-specialty-icon {
    background: rgba(0, 168, 216, 0.1);
}

.lp-step-card--highlight {
    background: linear-gradient(160deg, #00b7e8, #007eae);
    border-color: transparent;
}

.lp-step-card--highlight h5,
.lp-step-card--highlight p,
.lp-step-card--highlight .lp-step-num { color: #fff; }

.lp-step-card--highlight .lp-step-icon {
    background: rgba(255, 255, 255, 0.2);
    color: #fff !important;
}

.lp-step-card--highlight:hover h5,
.lp-step-card--highlight:hover p,
.lp-step-card--highlight:hover .lp-step-num {
    color: #000;
}

.lp-step-card--highlight:hover .lp-step-icon {
    background: rgba(0, 168, 216, 0.1);
    color: #000 !important;
}

.lp-section--teal {
    background: linear-gradient(135deg, #031634 0%, #08315c 58%, #0a4d78 100%);
}

.lp-specialty-card:hover .lp-specialty-icon {
    background: var(--trh-cyan);
    color: #fff !important;
}

.lp-specialty-card:hover .lp-specialty-arrow { color: var(--trh-cyan); }

.lp-section--gray { background: var(--trh-soft); }

.lp-faq-item,
.lp-faq-item:first-child { border-color: var(--trh-line); }

.lp-faq-q:not(.collapsed),
.lp-faq-chevron { color: var(--trh-cyan) !important; }

.lp-final-cta {
    background:
        radial-gradient(700px 280px at 50% 0%, rgba(0, 168, 216, 0.22), transparent 70%),
        #031634;
    border-top: none;
}

.lp-final-cta h2 { color: #fff; }
.lp-final-cta p { color: rgba(255, 255, 255, 0.78); }

.lp-final-cta .lp-btn-outline {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.55);
}

.lp-final-cta .lp-btn-outline:hover {
    background: #fff;
    color: var(--trh-navy);
    border-color: #fff;
}

.lp-footer {
    background: #021026;
}

.lp-regulatory-divider { background: var(--trh-line); }

.signup-left { background: var(--trh-navy); }

.signup-input:focus,
.form-control:focus {
    border-color: var(--trh-cyan) !important;
    box-shadow: 0 0 0 3px rgba(0, 168, 216, 0.16) !important;
}

.signup-terms input[type=checkbox] { accent-color: var(--trh-cyan); }
.signup-terms a { color: var(--trh-cyan); }
.signup-terms a:hover { color: var(--trh-cyan-2); }

.reg-highlights {
    background: var(--trh-soft);
    border-color: rgba(0, 168, 216, 0.28);
}

.reg-quote {
    border-left-color: var(--trh-cyan);
    background: #f7fcff;
}

.reg-list li:before { background: var(--trh-cyan); }

.reg-cta { background: var(--trh-navy); }

.whatsapp-cta-banner {
    background: var(--trh-soft);
    border-color: var(--trh-cyan);
}

.contact-whatsapp-card:hover {
    border-color: var(--trh-cyan);
    background: #f7fcff;
}

.contact-whatsapp-arrow { color: var(--trh-cyan); }

.bg-login {
    background-color: #f4f8fb !important;
    background-image: radial-gradient(circle, rgba(0, 168, 216, 0.2) 1px, transparent 1px) !important;
    background-size: 28px 28px !important;
}

.bg-green { background-color: var(--trh-navy); }

@media (max-width: 991.98px) {
    .lp-steps > [class*="col-"] { margin-bottom: 1rem; }
    .site-nav .navbar-collapse {
        padding: 0.75rem 0 0.25rem;
    }
}

@media (max-width: 767.98px) {
    .lp-hero { padding: 2.75rem 0 2.25rem; }
    .lp-hero-title { font-size: 2.05rem; }
    .lp-section { padding: 3.5rem 0; }
    .lp-section-title { font-size: 1.75rem; }
    .lp-hero-card { left: 12px; right: 12px; }
    .lp-final-cta { padding: 3.5rem 0; }
    .logo,
    .lp-footer-logo { max-height: 48px !important; }
}
