:root {
    --navy: #06152e;
    --blue: #0b2347;
    --tech: #0ea5e9;
    --cyan: #67e8f9;
    --green: #22c55e;
    --purple: #8b5cf6;
    --ink: #102033;
    --muted: #64748b;
    --light: #f5f8fc;
    --line: #dbe5f0;
    --white: #ffffff;
    --radius: 8px;
}

* { box-sizing: border-box; }
body {
    color: var(--ink);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--white);
    line-height: 1.65;
}
a { color: var(--tech); text-decoration: none; }
a:hover { color: var(--green); }

.site-header {
    position: sticky;
    top: 0;
    z-index: 1020;
    background: rgba(6, 21, 46, .96);
    border-bottom: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(14px);
}
.navbar { padding: .8rem 0; }
.brand-lockup { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.brand-mark {
    width: 48px;
    height: 48px;
    border: 2px solid var(--cyan);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: 900;
    letter-spacing: .04em;
    background: linear-gradient(135deg, #0b2347, #0b355d);
    box-shadow: 0 0 0 4px rgba(14,165,233,.12);
}
.brand-copy { display: flex; flex-direction: column; line-height: 1.1; min-width: 0; }
.brand-copy strong { color: var(--white); font-size: 1.12rem; }
.brand-copy small { color: var(--cyan); font-size: .72rem; white-space: normal; max-width: 230px; }
.nav-link { color: rgba(255,255,255,.82) !important; font-weight: 600; font-size: .94rem; }
.nav-link:hover, .nav-link.active { color: var(--cyan) !important; }

.btn { border-radius: var(--radius); font-weight: 800; }
.btn-accent {
    color: var(--navy);
    background: linear-gradient(135deg, var(--cyan), var(--green));
    border: 0;
    box-shadow: 0 12px 26px rgba(34,197,94,.2);
}
.btn-accent:hover { color: var(--navy); filter: brightness(1.04); transform: translateY(-1px); }
.btn-outline-light { border-color: rgba(255,255,255,.36); }

.section { padding: 84px 0; }
.section-soft { background: var(--light); }
.eyebrow {
    color: var(--tech);
    display: inline-flex;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    margin-bottom: .65rem;
    text-transform: uppercase;
}
.section-title { font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 900; line-height: 1.08; color: var(--navy); }
.lead-strong { color: #d7efff; font-size: clamp(1.08rem, 2vw, 1.32rem); max-width: 760px; }

.hero {
    position: relative;
    overflow: hidden;
    color: var(--white);
    background:
        radial-gradient(circle at 12% 15%, rgba(14,165,233,.36), transparent 28%),
        radial-gradient(circle at 82% 28%, rgba(34,197,94,.22), transparent 24%),
        linear-gradient(135deg, #06152e 0%, #0b2347 56%, #0a1630 100%);
    padding: 92px 0 76px;
}
.hero h1 {
    font-size: clamp(2.35rem, 6vw, 5rem);
    font-weight: 950;
    line-height: .98;
    letter-spacing: 0;
    max-width: 980px;
}
.hero-panel {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius);
    background: rgba(255,255,255,.07);
    padding: 22px;
}
.hero-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 32px; }
.metric { padding: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius); }
.metric strong { display: block; font-size: 1.5rem; color: var(--cyan); }

.card-modern {
    height: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--white);
    padding: 24px;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card-modern:hover { transform: translateY(-4px); border-color: rgba(14,165,233,.45); box-shadow: 0 18px 42px rgba(15, 35, 65, .11); }
.icon-box {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius);
    color: var(--white);
    background: linear-gradient(135deg, var(--tech), var(--purple));
    margin-bottom: 16px;
    font-size: 1.35rem;
}
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li { margin-bottom: .75rem; padding-left: 1.8rem; position: relative; }
.check-list li::before {
    content: "\F26A";
    font-family: "bootstrap-icons";
    position: absolute;
    left: 0;
    color: var(--green);
}
.process-step { position: relative; padding-left: 56px; }
.process-step span {
    position: absolute;
    left: 0;
    top: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--navy);
    font-weight: 900;
    background: var(--cyan);
}
.page-hero {
    padding: 72px 0;
    color: var(--white);
    background: linear-gradient(135deg, var(--navy), var(--blue));
}
.page-hero h1 { font-size: clamp(2.1rem, 5vw, 4rem); font-weight: 950; line-height: 1.04; }
.breadcrumb-wrap { padding-top: 20px; }
.breadcrumb { margin-bottom: 0; }
.breadcrumb a { color: var(--cyan); }
.breadcrumb-item.active { color: rgba(255,255,255,.78); }

.form-control, .form-select { border-radius: var(--radius); min-height: 50px; border-color: var(--line); }
.form-control:focus, .form-select:focus { border-color: var(--tech); box-shadow: 0 0 0 .2rem rgba(14,165,233,.15); }

.footer-cta { color: var(--white); background: linear-gradient(135deg, #0b2347, #062b3f); padding: 56px 0; }
.footer-cta h2 { font-weight: 900; margin: 0; }
.site-footer { background: var(--navy); color: #cbd5e1; }
.footer-links { padding: 58px 0 28px; }
.footer-brand { display: grid; grid-template-columns: minmax(210px, 320px) 1fr; gap: 24px; align-items: center; margin-bottom: 42px; }
.footer-brand img { width: 100%; max-width: 320px; border-radius: var(--radius); }
.footer-brand p { margin: 0; max-width: 700px; }
.site-footer h3 { color: var(--white); font-size: 1rem; font-weight: 850; margin-bottom: 14px; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: 8px; }
.site-footer a { color: #cbd5e1; font-size: .92rem; }
.site-footer a:hover { color: var(--cyan); }
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-top: 24px;
    margin-top: 32px;
    font-size: .9rem;
}

@media (max-width: 991.98px) {
    .section { padding: 60px 0; }
    .hero { padding: 68px 0 54px; }
    .hero-metrics { grid-template-columns: 1fr; }
    .footer-brand { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; }
}

@media (max-width: 575.98px) {
    .brand-mark { width: 42px; height: 42px; }
    .brand-copy small { max-width: 170px; font-size: .66rem; }
    .hero h1 { font-size: 2.3rem; }
    .btn-lg { width: 100%; margin-bottom: 10px; }
}
