:root {
     --navy:#0d1729;
     --navy2:#15243c;
     --ink:#162033;
     --muted:#657186;
     --ivory:#fbf6ed;
     --cream:#fffdf8;
     --gold:#c8a45d;
     --gold2:#e6d19b;
     --line:rgba(13,23,41,.14);
     --shadow:0 28px 90px rgba(13,23,41,.18);
     --section-padding:clamp(48px, 6vw, 86px);
     --radius:28px;
     --max:1180px;
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth;
    scroll-padding-top: 100px;
}
body{
    margin:0;
    font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.55
}
.serif{
    font-family:Georgia,"Times New Roman",serif;
    letter-spacing:-.035em
}
a{
    color:inherit;
    text-decoration:none
}
.topbar{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(255,253,248,.97);
    border-bottom:1px solid rgba(13,23,41,.09);
    box-shadow:0 10px 30px rgba(13,23,41,.04);
    backdrop-filter:blur(18px)
}
.nav{
    max-width:var(--max);
    margin:0 auto;
    padding:13px 24px 12px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    grid-template-areas:"left logo cta" "links links links";
    align-items:center;
    gap:9px 24px
}
/* =========================
   MOBILE MENU TOGGLE
========================= */

.menu-toggle{
    display:none;
    width:44px;
    height:44px;
    border:none;
    background:transparent;
    cursor:pointer;
    position:absolute;
    right:20px;
    top:14px;
    z-index:60;
}
.menu-toggle span{
    display:block;
    width:22px;
    height:2px;
    background:currentColor;
    margin:6px auto;
    transition:.3s;
}

/* Hamburger → X animation */
.menu-open .menu-toggle span:first-child{
    transform:translateY(8px) rotate(45deg);
}
.menu-open .menu-toggle span:nth-child(2){
    transform:translateY(-8px) rotate(-45deg);
}

/* =========================
   MOBILE NAV DROPDOWN
========================= */

@media (max-width:768px){

    .menu-toggle{
        display:block;
    }

    .nav{
        position:relative;
    }

    .navlinks{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        flex-direction:column;
        align-items:center;
        gap:18px;
        padding:24px;
        background:rgba(255,253,248,.96);
        backdrop-filter:blur(20px);
        border-bottom:1px solid rgba(13,23,41,.08);

        transform:translateY(-20px);
        opacity:0;
        pointer-events:none;
        transition:.3s;
    }

    .menu-open .navlinks{
        transform:translateY(0);
        opacity:1;
        pointer-events:auto;
    }

    body.menu-open{
        overflow:hidden;
    }
}
.brand{
    grid-area:logo;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    font-weight:900;
    color:var(--navy);
    text-align:center
}
.brand-logo{
    width:82px;
    height:58px;
    object-fit:contain;
    border-radius:0;
    background:transparent;
    padding:0;
    box-shadow:none
}
.brand span{
    font-size:0;
    line-height:1
}
.brand small{
    display:block;
    font-size:12px;
    color:var(--navy);
    font-weight:800;
    margin-top:0;
    letter-spacing:.035em;
    text-transform:none
}
.navlinks{
    grid-area:links;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:34px;
    color:#293548;
    font-size:13px;
    font-weight:750;
    letter-spacing:.02em
}
.navlinks a{
    position:relative;
    padding:7px 0
}
.navlinks a:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:var(--gold);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .2s ease
}
.navlinks a:hover{
    color:#7a6127
}
.navlinks a:hover:after{
    transform:scaleX(1)
}
.topbar .btn.primary{
    grid-area:cta;
    justify-self:end
}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 20px;
    border-radius:999px;
    font-weight:850;
    font-size:14px;
    border:1px solid transparent;
    transition:.2s ease;
    cursor:pointer
}
.btn:hover{
    transform:translateY(-2px)
}
.btn.primary{
    color:#fff;
    background:linear-gradient(135deg,var(--navy),#263756);
    box-shadow:0 14px 32px rgba(13,23,41,.22)
}
.btn.secondary{
    color:#fff;
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.24)
}
.btn.light{
    color:var(--navy);
    background:#fff;
    box-shadow:0 12px 26px rgba(13,23,41,.12)
}
.topbar .btn.primary{
    min-height:38px;
    padding:0 16px;
    font-size:12px;
    background:transparent;
    color:var(--navy);
    border-color:rgba(200,164,93,.55);
    box-shadow:none
}
.topbar .btn.primary:hover{
    background:#f7edd6;
    color:#6f5723
}

.footer{
    background:linear-gradient(135deg,#0b1322,#0d1729);
    color:rgba(255,255,255,.75);
    padding:60px 24px 24px;
    font-size:14px;
}
.footer-inner{
    max-width:var(--max);
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap
}
/* Layout */
.modern-footer{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:40px;
}

/* Columns */
.footer-col h4{
    margin-bottom:14px;
    color:#fff;
    font-size:14px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.footer-col a{
    display:block;
    margin-bottom:10px;
    color:rgba(255,255,255,.65);
    transition:.2s;
}

.footer-col a:hover{
    color:var(--gold2);
    transform:translateX(4px);
}

/* Brand */
.footer-logo{
    font-size:20px;
    font-weight:900;
    color:#fff;
    display:block;
    margin-bottom:10px;
}

.brand-col p{
    max-width:320px;
    color:rgba(255,255,255,.6);
}

/* Social icons */
.socials{
    display:flex;
    gap:10px;
}

.socials a{
    width:38px;
    height:38px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    transition:.25s;
    font-size:12px;
    font-weight:800;
}

.socials a:hover{
    background:var(--gold);
    color:#0b1322;
    transform:translateY(-3px);
}

.socials a i{
    font-size:16px;
    line-height:1;
}

/* Bottom bar */
.footer-bottom{
    margin-top:40px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.08);
    text-align:center;
    font-size:12px;
    color:rgba(255,255,255,.5);
}

/* Responsive */
@media(max-width:768px){
    .modern-footer{
        grid-template-columns:1fr;
        text-align:center;
    }

    .brand-col p{
        margin:0 auto;
    }

    .socials{
        justify-content:center;
    }
}

@media(max-width:960px){
    .nav{
        display:flex;
        flex-direction:column;
        padding:11px 18px 12px;
        gap:6px
    }
    .brand{
        min-width:0
    }
    .brand-logo{
        width:74px;
        height:50px
    }
    .brand small{
        font-size:11px
    }
    .navlinks{
        display:flex;
        gap:16px;
        flex-wrap:wrap;
        font-size:12px
    }
    .topbar .btn.primary{
        display:none
    }

}

@media (max-width:480px){

    .navlinks{
        gap:10px;
        font-size:11px;
    }
}