:root {
    --brand-blue: #245f84;
    --brand-blue-dark: #102f45;
    --brand-blue-hover: #1c4e6d;

    --brand-gold: #b69a58;
    --brand-gold-hover: #c4a867;

    --brand-dark: #12212c;
    --brand-muted: #6e7b84;

    --brand-white: #ffffff;
    --brand-soft: #f7f8fa;

    --border: rgba(16, 47, 69, 0.10);

    --transition:
        280ms cubic-bezier(.22, 1, .36, 1);
}


* {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    margin: 0;

    font-family:
        "Manrope",
        sans-serif;

    font-weight: 400;

    color: var(--brand-dark);

    -webkit-font-smoothing:
        antialiased;
}


body.menu-open {
    overflow: hidden;
}


a {
    text-decoration: none;
}


.are-container {
    width:
        min(
            1220px,
            calc(100% - 48px)
        );

    margin-inline: auto;
}


/* =============================
   TOP BAR
============================= */

.are-topbar {
    background:
        linear-gradient(
            90deg,
            #0d293d,
            var(--brand-blue-dark),
            #174866
        );

    color:
        rgba(
            255,
            255,
            255,
            .76
        );

    font-size: 12px;

    font-weight: 400;
}


.are-topbar-inner {
    min-height: 36px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 24px;
}


.are-trust-text {
    display: flex;

    align-items: center;

    gap: 9px;
}


.are-status-dot {
    width: 7px;

    height: 7px;

    border-radius: 50%;

    background:
        var(--brand-gold);

    box-shadow:
        0 0 0 5px
        rgba(
            182,
            154,
            88,
            .12
        );
}


.are-topbar-right {
    display: flex;

    align-items: center;

    gap: 18px;
}


.are-topbar-item {
    display: flex;

    align-items: center;

    gap: 7px;

    color: inherit;

    transition:
        color var(--transition);
}


a.are-topbar-item:hover {
    color:
        var(--brand-white);
}


.are-topbar-item svg {
    width: 14px;

    height: 14px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* =============================
   MAIN HEADER
============================= */

.are-header {
    position: sticky;

    top: 0;

    z-index: 1000;

    background:
        rgba(
            255,
            255,
            255,
            .96
        );

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    transition:
        box-shadow var(--transition),
        background var(--transition);
}


.are-header.scrolled {
    background:
        rgba(
            255,
            255,
            255,
            .99
        );

    box-shadow:
        0 16px 45px
        rgba(
            11,
            37,
            54,
            .10
        );
}


.are-navbar {
    border-bottom:
        1px solid
        var(--border);
}


.are-navbar-inner {
    min-height: 86px;

    display: flex;

    align-items: center;

    gap: 32px;
}


.are-brand {
    margin-right: auto;

    display:
        inline-flex;

    align-items: center;
}


.are-logo {
    width: 205px;

    max-height: 65px;

    object-fit:
        contain;

    object-position:
        left center;

    transition:
        transform var(--transition),
        filter var(--transition);
}


.are-brand:hover
.are-logo {
    transform:
        translateY(-2px);

    filter:
        saturate(1.08);
}


/* =============================
   DESKTOP NAV
============================= */

.are-desktop-nav {
    display: flex;

    align-items: center;

    gap: 30px;
}


.are-desktop-nav a {
    position: relative;

    min-height: 86px;

    display: flex;

    align-items: center;

    color: #283945;

    font-size: 14px;

    font-weight: 500;

    transition:
        color var(--transition);
}


.are-desktop-nav a::after {
    content: "";

    position: absolute;

    left: 50%;

    bottom: 21px;

    width: 0;

    height: 2px;

    border-radius: 20px;

    background:
        var(--brand-gold);

    transform:
        translateX(-50%);

    transition:
        width var(--transition);
}


.are-desktop-nav a:hover,
.are-desktop-nav a.active {
    color:
        var(--brand-blue);
}


.are-desktop-nav a:hover::after,
.are-desktop-nav a.active::after {
    width: 26px;
}


/* =============================
   HEADER ACTIONS
============================= */

.are-nav-actions {
    display: flex;

    align-items: center;

    gap: 10px;
}


.are-whatsapp-btn {
    width: 43px;

    height: 43px;

    display: grid;

    place-items: center;

    border:
        1px solid
        var(--border);

    border-radius: 50%;

    color:
        var(--brand-blue);

    transition:
        transform var(--transition),
        color var(--transition),
        background var(--transition);
}


.are-whatsapp-btn:hover {
    color:
        var(--brand-white);

    background:
        var(--brand-blue);

    transform:
        translateY(-2px);
}


.are-whatsapp-btn svg {
    width: 19px;

    height: 19px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.6;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.are-header-cta {
    position: relative;

    overflow: hidden;

    min-height: 44px;

    padding:
        0 19px;

    display: flex;

    align-items: center;

    gap: 10px;

    border-radius: 9px;

    background:
        var(--brand-blue);

    color:
        var(--brand-white);

    font-size: 13px;

    font-weight: 600;

    box-shadow:
        0 10px 26px
        rgba(
            36,
            95,
            132,
            .18
        );

    transition:
        transform var(--transition),
        background var(--transition),
        box-shadow var(--transition);
}


.are-header-cta::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            110deg,
            transparent 0 38%,
            rgba(
                255,
                255,
                255,
                .18
            ) 50%,
            transparent 62%
        );

    transform:
        translateX(-130%);

    transition:
        transform .7s ease;
}


.are-header-cta:hover {
    background:
        var(--brand-blue-hover);

    transform:
        translateY(-2px);

    box-shadow:
        0 15px 32px
        rgba(
            36,
            95,
            132,
            .26
        );
}


.are-header-cta:hover::before {
    transform:
        translateX(130%);
}


.are-header-cta span,
.are-header-cta svg {
    position: relative;

    z-index: 1;
}


.are-header-cta svg {
    width: 17px;

    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    transition:
        transform var(--transition);
}


.are-header-cta:hover svg {
    transform:
        translateX(4px);
}


/* =============================
   MOBILE BUTTON
============================= */

.are-menu-toggle {
    position: relative;

    width: 44px;

    height: 44px;

    display: none;

    border:
        1px solid
        var(--border);

    border-radius: 10px;

    background:
        var(--brand-white);

    cursor: pointer;
}


.are-menu-toggle span {
    position: absolute;

    left: 12px;

    width: 19px;

    height: 1.5px;

    background:
        var(--brand-blue-dark);
}


.are-menu-toggle span:first-child {
    top: 17px;
}


.are-menu-toggle span:last-child {
    top: 24px;
}


/* =============================
   MOBILE DRAWER
============================= */

.are-mobile-overlay {
    position: fixed;

    inset: 0;

    z-index: 1090;

    background:
        rgba(
            5,
            24,
            37,
            .56
        );

    backdrop-filter:
        blur(4px);

    opacity: 0;

    visibility: hidden;

    transition:
        opacity var(--transition),
        visibility var(--transition);
}


.are-mobile-overlay.open {
    opacity: 1;

    visibility: visible;
}


.are-mobile-menu {
    position: fixed;

    top: 0;

    right: 0;

    z-index: 1100;

    width:
        min(
            410px,
            92vw
        );

    height: 100dvh;

    padding:
        24px 26px 30px;

    overflow-y: auto;

    background:
        var(--brand-white);

    transform:
        translateX(105%);

    box-shadow:
        -25px 0 70px
        rgba(
            7,
            28,
            41,
            .18
        );

    transition:
        transform
        .42s
        cubic-bezier(
            .22,
            1,
            .36,
            1
        );
}


.are-mobile-menu.open {
    transform:
        translateX(0);
}


.are-mobile-head {
    display: flex;

    align-items: center;

    justify-content:
        space-between;

    padding-bottom: 24px;

    border-bottom:
        1px solid
        var(--border);
}


.are-mobile-head img {
    width: 160px;

    max-height: 55px;

    object-fit: contain;
}


.are-menu-close {
    width: 42px;

    height: 42px;

    border:
        1px solid
        var(--border);

    border-radius: 50%;

    background:
        white;

    color:
        var(--brand-blue-dark);

    font-family:
        Manrope,
        sans-serif;

    font-size: 25px;

    font-weight: 300;

    cursor: pointer;

    transition:
        background var(--transition),
        color var(--transition),
        transform var(--transition);
}


.are-menu-close:hover {
    color: white;

    background:
        var(--brand-blue);

    transform:
        rotate(8deg);
}


.are-mobile-nav {
    padding:
        22px 0;

    display: grid;
}


.are-mobile-nav a {
    min-height: 62px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    border-bottom:
        1px solid
        var(--border);

    color:
        var(--brand-dark);

    font-size: 17px;

    font-weight: 500;

    transition:
        color var(--transition),
        padding-left var(--transition);
}


.are-mobile-nav a small {
    color: #9da8af;

    font-size: 10px;

    font-weight: 400;
}


.are-mobile-nav a:hover {
    color:
        var(--brand-blue);

    padding-left: 5px;
}


.are-mobile-bottom {
    margin-top: 16px;
}


.are-mobile-bottom p {
    color:
        var(--brand-muted);

    font-size: 13px;

    font-weight: 400;

    line-height: 1.8;
}


.are-mobile-cta {
    min-height: 50px;

    margin-top: 18px;

    padding:
        0 17px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    border-radius: 9px;

    background:
        var(--brand-blue);

    color: white;

    font-size: 13px;

    font-weight: 600;

    transition:
        background var(--transition),
        transform var(--transition);
}


.are-mobile-cta:hover {
    background:
        var(--brand-gold);

    transform:
        translateY(-2px);
}


/* =============================
   FOOTER
============================= */

.are-footer {
    position: relative;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(
                182,
                154,
                88,
                .12
            ),
            transparent 25%
        ),
        linear-gradient(
            145deg,
            #0a2130,
            #0e2d43 55%,
            #123b55
        );

    color:
        rgba(
            255,
            255,
            255,
            .65
        );

    font-size: 14px;
}


.are-footer-glow {
    position: absolute;

    left: -140px;

    bottom: -190px;

    width: 430px;

    height: 430px;

    border-radius: 50%;

    background:
        rgba(
            36,
            95,
            132,
            .16
        );

    filter:
        blur(40px);
}


/* Footer CTA */

.are-footer-cta {
    position: relative;

    z-index: 2;

    padding:
        40px 0;

    display: flex;

    justify-content:
        space-between;

    align-items: center;

    gap: 35px;

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            .1
        );
}


.are-footer-label {
    color:
        var(--brand-gold);

    font-size: 11px;

    font-weight: 600;

    text-transform:
        uppercase;

    letter-spacing:
        .14em;
}


.are-footer-cta h2 {
    max-width: 710px;

    margin:
        8px 0;

    color:
        white;

    font-family:
        Manrope,
        sans-serif;

    font-size:
        clamp(
            30px,
            3vw,
            40px
        );

    font-weight: 600;

    line-height: 1.2;

    letter-spacing:
        -.025em;
}


.are-footer-cta p {
    max-width: 690px;

    margin: 0;

    color:
        rgba(
            255,
            255,
            255,
            .56
        );

    font-weight: 400;
}


.are-footer-cta-actions {
    flex-shrink: 0;

    display: flex;

    gap: 10px;
}


.are-footer-btn {
    min-height: 48px;

    padding:
        0 19px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    font-size: 13px;

    font-weight: 600;

    transition:
        transform var(--transition),
        background var(--transition),
        color var(--transition);
}


.are-footer-btn:hover {
    transform:
        translateY(-2px);
}


.are-footer-btn-outline {
    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .19
        );

    color: white;
}


.are-footer-btn-outline:hover {
    background:
        rgba(
            255,
            255,
            255,
            .08
        );
}


.are-footer-btn-gold {
    background:
        var(--brand-gold);

    color:
        #16232b;
}


.are-footer-btn-gold:hover {
    color: white;

    background:
        var(--brand-blue);
}


/* Footer Grid */

.are-footer-grid {
    position: relative;

    z-index: 2;

    padding:
        58px 0 52px;

    display: grid;

    grid-template-columns:
        1.5fr
        .8fr
        1fr
        1.2fr;

    gap: 48px;
}


.are-footer-logo {
    display:
        inline-flex;

    padding:
        8px 12px;

    border-radius: 10px;

    background:
        rgba(
            255,
            255,
            255,
            .97
        );
}


.are-footer-logo img {
    width: 205px;

    max-height: 65px;

    object-fit:
        contain;
}


.are-footer-brand p {
    max-width: 390px;

    margin:
        22px 0;

    line-height: 1.8;

    font-weight: 400;
}


.are-social-links {
    display: flex;

    gap: 9px;
}


.are-social-links a {
    width: 38px;

    height: 38px;

    display: grid;

    place-items: center;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .13
        );

    border-radius: 50%;

    color:
        rgba(
            255,
            255,
            255,
            .7
        );

    font-size: 11px;

    font-weight: 500;

    transition:
        background var(--transition),
        color var(--transition),
        border-color var(--transition),
        transform var(--transition);
}


.are-social-links a:hover {
    color: white;

    background:
        var(--brand-gold);

    border-color:
        var(--brand-gold);

    transform:
        translateY(-3px);
}


.are-footer-column h3 {
    position: relative;

    margin:
        5px 0 23px;

    padding-bottom:
        12px;

    color: white;

    font-size: 15px;

    font-weight: 600;
}


.are-footer-column h3::after {
    content: "";

    position: absolute;

    left: 0;

    bottom: 0;

    width: 24px;

    height: 2px;

    background:
        var(--brand-gold);
}


.are-footer-column > a {
    position: relative;

    display: table;

    margin:
        10px 0;

    color:
        rgba(
            255,
            255,
            255,
            .62
        );

    font-weight: 400;

    transition:
        color var(--transition),
        transform var(--transition);
}


.are-footer-column > a:hover {
    color: white;

    transform:
        translateX(4px);
}


.are-footer-contact {
    color:
        rgba(
            255,
            255,
            255,
            .65
        );

    line-height: 1.75;
}


/* Footer Bottom */

.are-footer-bottom {
    position: relative;

    z-index: 2;

    min-height: 66px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 25px;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            .09
        );

    color:
        rgba(
            255,
            255,
            255,
            .46
        );

    font-size: 12px;

    font-weight: 400;
}


.are-development-credit {
    display: flex;

    align-items: center;

    gap: 5px;
}


.are-development-credit a {
    position: relative;

    color:
        rgba(
            255,
            255,
            255,
            .88
        );

    font-weight: 500;

    transition:
        color var(--transition);
}


.are-development-credit a::after {
    content: "";

    position: absolute;

    left: 0;

    right: 100%;

    bottom: -3px;

    height: 1px;

    background:
        var(--brand-gold);

    transition:
        right var(--transition);
}


.are-development-credit a:hover {
    color:
        var(--brand-gold-hover);
}


.are-development-credit a:hover::after {
    right: 0;
}


/* =============================
   GLOBAL TYPOGRAPHY
============================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family:
        Manrope,
        sans-serif;

    letter-spacing:
        -.025em;
}


h1 {
    font-size:
        clamp(
            35px,
            4vw,
            45px
        );

    font-weight: 600;

    line-height: 1.17;
}


p,
li {
    font-weight: 400;
}


/* =============================
   TABLET
============================= */

@media
(max-width: 1080px) {

    .are-desktop-nav {
        gap: 20px;
    }

    .are-header-cta {
        display: none;
    }

}


/* =============================
   MOBILE NAV
============================= */

@media
(max-width: 860px) {

    .are-trust-text {
        display: none;
    }

    .are-topbar-inner {
        justify-content:
            flex-end;
    }

    .are-email-item {
        display: none;
    }

    .are-desktop-nav,
    .are-whatsapp-btn {
        display: none;
    }

    .are-menu-toggle {
        display: block;
    }

    .are-navbar-inner {
        min-height: 76px;
    }

    .are-logo {
        width: 175px;
    }


    .are-footer-cta {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .are-footer-grid {
        grid-template-columns:
            1.25fr 1fr;

        gap:
            40px 35px;
    }

}


/* =============================
   MOBILE
============================= */

@media
(max-width: 600px) {

    .are-container {
        width:
            calc(100% - 30px);
    }


    .are-topbar {
        display: none;
    }


    .are-navbar-inner {
        min-height: 72px;
    }


    .are-logo {
        width: 154px;
    }


    .are-mobile-menu {
        width: 92vw;

        padding:
            20px 20px 26px;
    }


    .are-footer-cta {
        padding:
            34px 0;
    }


    .are-footer-cta h2 {
        font-size: 29px;
    }


    .are-footer-cta-actions {
        width: 100%;

        flex-direction:
            column;
    }


    .are-footer-btn {
        width: 100%;
    }


    .are-footer-grid {
        grid-template-columns:
            1fr;

        gap: 34px;

        padding:
            46px 0 40px;
    }


    .are-footer-logo img {
        width: 180px;
    }


    .are-footer-bottom {
        padding:
            20px 0;

        min-height: auto;

        flex-direction:
            column;

        align-items:
            flex-start;

        gap: 8px;
    }


    .are-development-credit {
        flex-wrap: wrap;
    }

}


@media
(prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration:
            .01ms !important;

        transition-duration:
            .01ms !important;

        scroll-behavior:
            auto !important;
    }

}