:root {
    --bg: #f2f5fb;
    --surface: #ffffff;
    --text: #0a1020;
    --muted-text: #334155;
    --navy: #0b1f3a;
    --violet: #2563eb;
    --gold: #d4a63a;
    --border: #d7dfeb;
    --radius: 16px;
    --shadow: 0 12px 28px rgba(8, 15, 35, 0.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.is-animating-scroll { scroll-behavior: auto; }
body { margin: 0; font-family: "Inter", sans-serif; color: var(--text); background: radial-gradient(circle at top right, #e6e9ff 0, #f2f5fb 42%, #eef2f8 100%); }
h1,h2,h3 { font-family: "Manrope", sans-serif; line-height: 1.2; margin: 0 0 .8rem; }
a { color: inherit; text-decoration: none; }
.container { width: min(1200px, 94vw); margin-inline: auto; }
.section { padding: 5rem 0; }
.muted { background: linear-gradient(180deg, #eaf0fb 0%, #f6f8fd 100%); }

.btn { display: inline-flex; align-items: center; justify-content: center; padding: .85rem 1.2rem; border-radius: 999px; border: 1px solid transparent; font: inherit; font-weight: 600; cursor: pointer; transition: .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: linear-gradient(130deg, var(--navy), var(--violet)); box-shadow: var(--shadow); border: 0; outline: 0; background-clip: padding-box; }
.btn-secondary { background: var(--surface); border-color: var(--border); }

.topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    background: linear-gradient(135deg, rgba(7, 20, 40, 0.98), rgba(13, 43, 72, 0.96));
    border-bottom: 1px solid rgba(212, 166, 58, 0.25);
    box-shadow: 0 10px 30px rgba(2, 8, 23, .16);
    backdrop-filter: blur(10px);
}
.nav-wrap { position: relative; display: flex; justify-content: space-between; align-items: stretch; padding: .95rem 0; }
.brand { color: #fff; font-weight: 800; display: inline-flex; align-items: stretch; gap: .55rem; }
.brand-logo { height: 38px; width: auto; display: block; }
.brand-fallback { font-size: 1.3rem; font-weight: 800; }
.nav-links { display: flex; gap: .35rem; color: #d8e0ef; }
.nav-links a { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .6rem; border: 1px solid rgba(216, 224, 239, 0.16); border-radius: 999px; transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
.nav-links a:hover { color: #ffffff; border-color: rgba(212, 166, 58, 0.45); background-color: rgba(37, 99, 235, 0.12); }
.nav-toggle {
    display: none;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(216, 224, 239, .24);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(2,8,23,.16);
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.nav-toggle:hover,
.nav-toggle.is-open {
    border-color: rgba(212, 166, 58, .55);
    background: rgba(255,255,255,.14);
}
.nav-toggle:active {
    transform: scale(.97);
}
.material-symbols-rounded {
    font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 20;
    font-size: 1.18rem;
    line-height: 1;
}

.business-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #0b789f;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.business-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0ea5e9, #d4a63a);
    box-shadow: 0 0 18px rgba(14,165,233,.55);
}
.reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .55s ease, transform .55s ease, filter .55s ease;
    transition-delay: var(--d, 0ms);
}
.reveal.show {
    opacity: 1;
    transform: translateY(0);
}
.blur-reveal { filter: blur(6px); transition: filter .6s ease, opacity .6s ease, transform .6s ease; }
.reveal.show.blur-reveal { filter: blur(0); }

.footer {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(760px 320px at 82% 8%, rgba(14,165,233,.18), transparent 62%),
        radial-gradient(620px 280px at 12% 0%, rgba(212,166,58,.12), transparent 60%),
        linear-gradient(135deg, #061126 0%, #0b1f3a 52%, #07162b 100%);
    color: #dbe7f6;
    padding: 4.5rem 0 1.8rem;
    margin-top: 2rem;
}
.footer::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(180deg, #000, transparent 72%);
    pointer-events: none;
}
.footer-shell {
    position: relative;
    z-index: 1;
}
.footer-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}
.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 1.24rem;
    font-weight: 800;
}
.footer-brand-mark {
    width: 42px;
    height: auto;
    display: block;
    filter: drop-shadow(0 12px 22px rgba(2,8,23,.34));
}
.footer-social-list {
    display: flex;
    gap: .7rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer-social-button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(216,224,239,.22);
    border-radius: 999px;
    background: rgba(255,255,255,.09);
    color: #f8fbff;
    box-shadow: 0 12px 28px rgba(2,8,23,.24);
    transition: transform .2s ease, border-color .2s ease, color .2s ease, background-color .2s ease;
}
.footer-social-button:hover {
    transform: translateY(-2px);
    color: #ffffff;
    border-color: rgba(212,166,58,.58);
    background: rgba(255,255,255,.16);
}
.footer-social-button img {
    width: 25px;
    height: 25px;
    display: block;
    object-fit: contain;
}
.footer-divider {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.95fr);
    gap: .9rem 1.5rem;
    margin-top: 1.55rem;
    padding-top: 1.65rem;
    border-top: 1px solid rgba(216,224,239,.18);
}
.footer-main-nav,
.footer-meta-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem 1rem;
    grid-column: 2;
}
.footer-main-nav a,
.footer-meta-nav a {
    text-underline-offset: 4px;
    transition: color .2s ease, text-decoration-color .2s ease;
}
.footer-main-nav a {
    color: #f8fbff;
    font-size: .95rem;
    font-weight: 700;
}
.footer-meta-nav a,
.footer-copyright {
    color: #aebbd0;
    font-size: .9rem;
}
.footer-main-nav a:hover,
.footer-meta-nav a:hover {
    color: #f0d994;
    text-decoration: underline;
}
.footer-copyright {
    grid-column: 1;
    grid-row: 1 / 3;
    line-height: 1.55;
}
.footer-copyright p {
    margin: 0;
}

.floating-contact {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 50;
    display: grid;
    gap: .65rem;
}
.home-page .floating-contact {
    display: none;
}
.floating-contact a {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    transition: transform .2s ease, filter .2s ease;
}
.floating-contact a:hover {
    transform: translateY(-3px);
    filter: drop-shadow(0 10px 18px rgba(2,8,23,.26));
}
.floating-contact img {
    width: 38px;
    height: 38px;
    display: block;
    object-fit: contain;
}

@media (max-width: 768px) {
    .section { padding: 4rem 0; }
    .nav-wrap { align-items: center; }
    .brand-logo { height: 34px; }
    .nav-toggle { display: grid; }
    .nav-links {
        position: absolute;
        top: calc(100% + .55rem);
        left: 0;
        right: 0;
        display: grid;
        gap: .45rem;
        padding: .65rem;
        color: #eaf1ff;
        border: 1px solid rgba(212, 166, 58, .24);
        border-radius: 18px;
        background: linear-gradient(145deg, rgba(7, 20, 40, .98), rgba(13, 43, 72, .96));
        box-shadow: 0 18px 42px rgba(2,8,23,.28);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity .2s ease, transform .2s ease;
    }
    .nav-links.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }
    .nav-links a {
        justify-content: flex-start;
        min-height: 44px;
        padding: .65rem .75rem;
        border-radius: 12px;
        background: rgba(255,255,255,.06);
    }
    .footer { padding-top: 3.4rem; }
    .footer-topline,
    .footer-divider {
        grid-template-columns: 1fr;
    }
    .footer-topline {
        flex-direction: column;
        align-items: flex-start;
    }
    .footer-main-nav,
    .footer-meta-nav,
    .footer-copyright {
        grid-column: auto;
        grid-row: auto;
    }
    .footer-main-nav,
    .footer-meta-nav {
        justify-content: flex-start;
    }
    .floating-contact {
        right: max(.8rem, env(safe-area-inset-right));
        bottom: max(.8rem, env(safe-area-inset-bottom));
        gap: .5rem;
    }
}
