*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;font-size:16px;background:#f4f7fb;color:#142235}
a{text-decoration:none;color:inherit}
.wrap{width:86%;max-width:1450px;margin:0 auto}

.topbar{background:#061d35;color:#fff;font-size:13px}
.topbar-inner{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-inner>div:first-child{color:#e0b55d;font-weight:800;letter-spacing:.8px;text-transform:uppercase}
.topbar-right{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.topbar select{background:#092d4c;color:#fff;border:1px solid rgba(255,255,255,.35);padding:6px 8px}
.top-login{background:#c9962f;color:#fff;padding:14px 22px;font-weight:900}

.header{background:#fff;box-shadow:0 6px 25px rgba(0,0,0,.08)}
.header-inner{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.logo img{display:block;max-width:620px;height:auto}
.nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;text-transform:uppercase;font-size:13px;font-weight:900;color:#0c2540}
.nav a{padding:42px 0;position:relative}
.nav a.active:after,.nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:33px;height:2px;background:#c9962f}

.hero{min-height:560px;background-size:cover;background-position:center right;background-repeat:no-repeat;display:flex;align-items:center;color:#fff}
.hero-box{width:500px;max-width:500px;padding:75px 0}
.eyebrow{color:#e0b55d;font-size:17px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px}
.hero h1{font-family:Georgia,serif;font-size:66px;line-height:.98;margin:0 0 25px;color:#fff}
.hero h1 span{color:#c9962f}
.hero p{font-size:18px;line-height:1.65;margin:0 0 28px;color:#fff}
.hero-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}
.hero-features div{display:flex;align-items:center;gap:10px;font-weight:900;color:#fff}
.hero-features b{font-size:27px;color:#e0b55d}
.hero-features span{font-size:14px;line-height:1.25}
.hero-buttons{display:flex;gap:20px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 28px;text-transform:uppercase;font-size:13px;font-weight:900}
.btn.gold{background:#c9962f;color:#fff}
.btn.outline{border:1px solid #fff;color:#fff}

.solutions{background:linear-gradient(180deg,#061d35,#092d4c);color:#fff;padding:35px 0 70px}
.section-head{text-align:center;margin-bottom:34px}
.section-head span{color:#c9962f;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.section-head h2{font-family:Georgia,serif;font-size:34px;margin:8px 0 0;color:#fff}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:7px;padding:24px 18px;min-height:190px}
.card .icon{font-size:34px;color:#e0b55d;margin-bottom:12px}
.card h3{font-family:Georgia,serif;font-size:19px;margin:0 0 12px;color:#fff}
.card p{font-size:14px;color:#dbe7f5;line-height:1.55}
.card i{display:block;width:45px;height:3px;background:#c9962f;margin-top:18px}

.content{background:#fff;padding:70px 0}
.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:45px}
.content h2{font-family:Georgia,serif;font-size:38px;color:#061d35;margin-top:0}
.content p{font-size:16px;line-height:1.8;color:#4a5a6c}
.notice-box{background:#f6f8fb;border-left:5px solid #c9962f;padding:28px;border-radius:5px}

.footer{background:#061d35;color:#dbe7f5;padding-top:55px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:35px}
.footer h3,.footer h4{color:#fff;margin-top:0}
.footer h3{font-family:Georgia,serif;letter-spacing:3px;color:#e0b55d}
.footer p{line-height:1.7;color:#cbd8e6}
.footer-map{margin-top:35px;border:1px solid rgba(255,255,255,.16);border-radius:8px;overflow:hidden}
.footer-map iframe{width:100%!important;height:320px!important;border:0!important}
.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.12);padding:18px;margin-top:35px;color:#9fb3c8;font-size:13px}

@media(max-width:1150px){
.header-inner{flex-direction:column;align-items:flex-start;padding:20px 0}
.nav a{padding:10px 0}
.cards{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
.wrap{width:92%}
.topbar-inner,.header-inner{flex-direction:column;align-items:flex-start;padding:12px 0}
.hero{background-image:linear-gradient(120deg,rgba(4,24,45,.95),rgba(4,24,45,.88))!important}
.hero-box{width:100%;max-width:100%}
.hero h1{font-size:44px}
.hero-features,.cards,.content-grid,.footer-grid{grid-template-columns:1fr}
.logo img{width:260px!important}
}

/* HEADER FINAL FIX */
.topbar{
height:46px;
overflow:hidden;
}
.topbar-inner{
height:46px;
min-height:46px;
display:flex;
align-items:center;
justify-content:space-between;
}
.topbar-title{
white-space:nowrap;
}
.topbar-right{
height:46px;
display:flex;
align-items:center;
gap:22px;
white-space:nowrap;
}
.top-login{
height:46px;
display:flex;
align-items:center;
}

.header{
height:116px;
overflow:hidden;
}
.header-inner{
height:116px;
min-height:116px;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
}
.logo{
display:flex;
align-items:center;
width:390px;
min-width:320px;
height:100px;
}
.logo img{
display:block;
max-height:92px;
width:auto!important;
max-width:380px;
object-fit:contain;
}
.text-logo strong{
display:block;
font-family:Georgia,serif;
font-size:34px;
letter-spacing:7px;
color:#061d35;
}
.text-logo span{
display:block;
font-size:12px;
letter-spacing:4px;
text-transform:uppercase;
color:#092d4c;
}
.nav{
flex:1;
display:flex;
align-items:center;
justify-content:flex-end;
gap:22px;
flex-wrap:nowrap;
white-space:nowrap;
}
.nav a{
padding:46px 0;
font-size:13px;
}
.nav a.active:after,
.nav a:hover:after{
bottom:36px;
}

@media(max-width:1150px){
.header{
height:auto;
overflow:visible;
}
.header-inner{
height:auto;
min-height:auto;
padding:18px 0;
}
.logo{
height:auto;
}
.nav{
justify-content:flex-start;
flex-wrap:wrap;
}
.nav a{
padding:8px 0;
}
.nav a.active:after,
.nav a:hover:after{
bottom:0;
}
}

/* SAFE HERO ADJUST */

.hero-box{
margin-left:-35px;
}

.hero-buttons{
gap:12px;
}

.hero-buttons .btn{
height:44px;
padding:0 18px;
font-size:11px;
letter-spacing:.3px;
font-weight:800;
}


/* HERO TEXT SMALL FIX */

.hero p{
font-size:15px!important;
line-height:1.6!important;
max-width:430px;
}

.hero-features{
gap:10px!important;
margin-top:18px!important;
}

.hero-features b{
font-size:22px!important;
}

.hero-features span{
font-size:11px!important;
line-height:1.15!important;
font-weight:700;
}


/* HERO ICONS SPACING FIX */

.hero-features{
display:flex!important;
gap:18px!important;
align-items:flex-start;
}

.hero-features div{
gap:7px!important;
max-width:110px;
}

.hero-features b{
font-size:20px!important;
line-height:1!important;
margin-top:2px;
}

.hero-features span{
font-size:10px!important;
line-height:1.1!important;
}


/* TEAM */

.team-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.team-card{
background:#fff;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 28px rgba(10,35,66,.08);
border:1px solid #e4ecf5;
}

.team-card img{
width:100%;
height:320px;
object-fit:cover;
display:block;
}

.team-card h3{
font-size:24px;
padding:24px 24px 6px;
color:#061d35;
}

.team-role{
padding:0 24px;
font-size:13px;
font-weight:800;
letter-spacing:1px;
text-transform:uppercase;
color:#c9962f;
margin-bottom:14px;
}

.team-card p{
padding:0 24px;
font-size:15px;
line-height:1.7;
color:#5f7085;
}

.team-contact{
padding:22px 24px 28px;
font-size:14px;
font-weight:700;
color:#102033;
}

.team-contact div{
margin-bottom:10px;
}

@media(max-width:1000px){

.team-grid{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:700px){

.team-grid{
grid-template-columns:1fr;
}

}

/* RICH SERVICES PAGE */
.services-intro-grid,
.services-process-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:45px;
align-items:center;
}

.services-visual img{
width:100%;
display:block;
border-radius:24px;
box-shadow:0 18px 40px rgba(6,29,53,.16);
}

.services-light{
background:#f6f8fb;
}

.services-cards .premium-card{
min-height:270px;
border-left:5px solid #c9962f;
}

.services-cards .premium-card h3{
color:#061d35;
font-size:22px;
margin-bottom:14px;
}

.services-cards .premium-card p{
font-size:15px;
line-height:1.75;
color:#526477;
}

.left-head{
text-align:left;
}

.process-list{
display:grid;
gap:18px;
}

.process-list div{
display:flex;
gap:18px;
align-items:flex-start;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.14);
padding:20px;
border-radius:14px;
}

.process-list b{
color:#e0b55d;
font-size:26px;
font-family:Georgia,serif;
min-width:48px;
}

.process-list span{
color:#e8f0f8;
font-size:16px;
line-height:1.6;
}

.services-notice{
max-width:980px;
margin:auto;
}

.services-notice h3{
font-size:28px;
color:#061d35;
}

@media(max-width:900px){
.services-intro-grid,
.services-process-grid{
grid-template-columns:1fr;
}
}

/* === MOBILE BURGER + INDEX CENTER FIX === */
.burger-btn{
    display:none;
    width:46px;
    height:46px;
    border:0;
    border-radius:14px;
    background:rgba(255,255,255,.10);
    cursor:pointer;
    padding:10px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    flex-shrink:0;
}
.burger-btn span{
    display:block;
    height:3px;
    border-radius:4px;
    background:#fff;
}
.mobile-lang-form{
    display:none;
}

@media(max-width:980px){

    body{
        overflow-x:hidden;
    }

    .wrap{
        width:100%;
        max-width:100%;
        padding-left:18px;
        padding-right:18px;
    }

    .topbar-inner{
        justify-content:center;
        text-align:center;
        gap:10px;
        flex-direction:column;
    }

    .topbar-right{
        justify-content:center;
        flex-wrap:wrap;
        text-align:center;
    }

    .desktop-lang-form{
        display:none!important;
    }

    .header-inner{
        position:relative;
        justify-content:space-between;
        gap:12px;
    }

    .logo img{
        max-width:230px!important;
        width:230px!important;
        height:auto;
    }

    .burger-btn{
        display:flex!important;
    }

    .header .nav{
        display:none!important;
        position:absolute;
        top:100%;
        left:18px;
        right:18px;
        z-index:99999;
        background:#071b31;
        padding:22px;
        border-radius:0 0 22px 22px;
        border:1px solid rgba(255,255,255,.12);
        box-shadow:0 24px 60px rgba(0,0,0,.45);
        flex-direction:column;
        align-items:stretch;
        gap:14px;
    }

    .header .nav.open{
        display:flex!important;
    }

    .header .nav a{
        display:block;
        width:100%;
        text-align:left;
        padding:12px 14px;
        border-radius:12px;
        background:rgba(255,255,255,.05);
        font-size:16px;
    }

    .mobile-lang-form{
        display:block!important;
        width:100%;
        margin-top:6px;
    }

    .mobile-lang-form select{
        width:100%;
        padding:13px;
        border-radius:14px;
        border:0;
    }

    .hero,
    .page-hero,
    section:first-of-type{
        text-align:center;
    }

    .hero .wrap,
    .page-hero .wrap{
        display:block!important;
        text-align:center;
    }

    .hero h1,
    .page-hero h1,
    h1{
        font-size:36px!important;
        line-height:1.12!important;
        text-align:center;
        margin-left:auto;
        margin-right:auto;
    }

    .hero p,
    .page-hero p,
    section:first-of-type p{
        text-align:center;
        margin-left:auto;
        margin-right:auto;
        max-width:100%;
    }

    .hero img,
    .page-hero img{
        max-width:100%;
        height:auto;
        margin-left:auto;
        margin-right:auto;
    }

    .hero-actions,
    .actions,
    .cta,
    .buttons{
        justify-content:center!important;
        text-align:center;
    }

    .btn,
    .gold-btn,
    .dark-btn,
    .contact-btn,
    .compliance-btn,
    .escrow-btn-gold,
    .escrow-btn-dark,
    .instruments-btn-gold,
    .instruments-btn-dark{
        display:inline-flex;
        justify-content:center;
        align-items:center;
        text-align:center;
        margin-left:auto;
        margin-right:auto;
    }

    .grid,
    .cards,
    .services-intro-grid,
    .intro-boxes,
    .contact-services{
        grid-template-columns:1fr!important;
    }

    .card,
    .service-card,
    .contact-service{
        text-align:center;
    }
}

/* === FINAL MOBILE BURGER MENU === */
.burger-btn{
    display:none;
    width:46px;
    height:46px;
    border:0;
    border-radius:12px;
    background:#c99b2e;
    cursor:pointer;
    padding:10px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    z-index:100001;
}

.burger-btn span{
    display:block;
    width:100%;
    height:3px;
    border-radius:3px;
    background:#071b31;
}

@media(max-width:980px){

    .header-inner{
        position:relative!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
    }

    .burger-btn{
        display:flex!important;
    }

    .header .nav{
        display:none!important;
        position:absolute!important;
        top:100%!important;
        left:0!important;
        right:0!important;
        z-index:100000!important;
        background:#071b31!important;
        border:1px solid rgba(255,255,255,.12)!important;
        border-radius:0 0 22px 22px!important;
        box-shadow:0 25px 60px rgba(0,0,0,.45)!important;
        padding:22px!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:12px!important;
    }

    .header .nav.open{
        display:flex!important;
    }

    .header .nav a{
        display:block!important;
        width:100%!important;
        padding:13px 15px!important;
        border-radius:12px!important;
        background:rgba(255,255,255,.06)!important;
        color:#fff!important;
        text-align:left!important;
        font-size:16px!important;
    }

    .header .nav a.active{
        color:#071b31!important;
        background:#c99b2e!important;
    }
}

/* === FINAL MOBILE BURGER MENU === */
.burger-btn{
    display:none;
    width:46px;
    height:46px;
    border:0;
    border-radius:12px;
    background:#c99b2e;
    cursor:pointer;
    padding:10px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    z-index:100001;
}

.burger-btn span{
    display:block;
    width:100%;
    height:3px;
    border-radius:3px;
    background:#071b31;
}

@media(max-width:980px){

    .header-inner{
        position:relative!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
    }

    .burger-btn{
        display:flex!important;
    }

    .header .nav{
        display:none!important;
        position:absolute!important;
        top:100%!important;
        left:0!important;
        right:0!important;
        z-index:100000!important;
        background:#071b31!important;
        border:1px solid rgba(255,255,255,.12)!important;
        border-radius:0 0 22px 22px!important;
        box-shadow:0 25px 60px rgba(0,0,0,.45)!important;
        padding:22px!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:12px!important;
    }

    .header .nav.open{
        display:flex!important;
    }

    .header .nav a{
        display:block!important;
        width:100%!important;
        padding:13px 15px!important;
        border-radius:12px!important;
        background:rgba(255,255,255,.06)!important;
        color:#fff!important;
        text-align:left!important;
        font-size:16px!important;
    }

    .header .nav a.active{
        color:#071b31!important;
        background:#c99b2e!important;
    }
}

/* =========================
MOBILE OVERFLOW FIX
========================= */

@media screen and (max-width:980px){

html,
body{
margin:0!important;
padding:0!important;
overflow-x:hidden!important;
max-width:100%!important;
width:100%!important;
}

/* ELIMINA QUALSIASI ELEMENTO CHE SBORDA */

*{
max-width:100%!important;
}

body *{
box-sizing:border-box!important;
}

/* WRAP */

.wrap{
width:100%!important;
max-width:100%!important;
padding-left:18px!important;
padding-right:18px!important;
margin-left:auto!important;
margin-right:auto!important;
}

/* HEADER */

.header,
.header-inner,
.topbar,
.topbar-inner{
width:100%!important;
max-width:100%!important;
overflow:hidden!important;
}

.header-inner{
display:flex!important;
align-items:center!important;
justify-content:center!important;
position:relative!important;
min-height:90px!important;
}

/* LOGO */

.logo{
display:flex!important;
justify-content:center!important;
align-items:center!important;
width:100%!important;
margin:0 auto!important;
padding:0!important;
}

.logo img{
display:block!important;
width:220px!important;
max-width:220px!important;
height:auto!important;
margin:0 auto!important;
}

/* BURGER */

.burger-btn{
display:flex!important;
position:absolute!important;
right:16px!important;
top:50%!important;
transform:translateY(-50%)!important;
z-index:999999!important;
}

/* NAV MOBILE */

.nav{
display:none!important;
position:absolute!important;
top:100%!important;
left:0!important;
right:0!important;
width:100%!important;
max-width:100%!important;
margin:0!important;
background:#071b31!important;
padding:18px!important;
z-index:999998!important;
flex-direction:column!important;
gap:12px!important;
overflow:hidden!important;
}

.nav.open{
display:flex!important;
}

/* HERO */

.hero,
.page-hero,
.hero-section{
width:100%!important;
max-width:100%!important;
overflow:hidden!important;
padding-top:40px!important;
padding-bottom:50px!important;
}

/* QUESTO È IL FIX VERO DELLO SBORDO */

.hero .wrap,
.page-hero .wrap,
.hero-section .wrap{
width:100%!important;
max-width:100%!important;
margin:0 auto!important;
padding-left:18px!important;
padding-right:18px!important;
display:flex!important;
flex-direction:column!important;
align-items:center!important;
justify-content:center!important;
text-align:center!important;
overflow:hidden!important;
}

/* TESTI */

.hero h1,
.page-hero h1{
font-size:42px!important;
line-height:1.08!important;
margin:0 auto 20px auto!important;
text-align:center!important;
max-width:100%!important;
word-break:break-word!important;
padding:0!important;
}

.hero p,
.page-hero p{
font-size:17px!important;
line-height:1.7!important;
text-align:center!important;
margin:0 auto!important;
max-width:100%!important;
padding:0!important;
}

/* IMMAGINI */

.hero img,
.page-hero img,
section img{
max-width:100%!important;
height:auto!important;
display:block!important;
margin-left:auto!important;
margin-right:auto!important;
}

/* GRID */

.grid,
.cards,
.services-grid,
.contact-services,
.instruments-grid,
.compliance-grid,
.escrow-grid{
display:grid!important;
grid-template-columns:1fr!important;
gap:20px!important;
width:100%!important;
max-width:100%!important;
margin:0 auto!important;
}

/* ELIMINA MARGINI NEGATIVI */

section,
div,
.container{
margin-left:auto!important;
margin-right:auto!important;
}

/* NIENTE TRASFORMAZIONI LATERALI */

.hero *,
.page-hero *{
transform:none!important;
left:auto!important;
right:auto!important;
}

}

/* === FIX BURGER DROPDOWN POSITION === */

@media(max-width:980px){

.header{
position:relative!important;
z-index:99999!important;
overflow:visible!important;
}

.header-inner{
position:relative!important;
overflow:visible!important;
}

/* MENU SOTTO HEADER */

.header .nav{
top:100%!important;
left:0!important;
right:0!important;
margin-top:0!important;

position:absolute!important;

background:#071b31!important;

border-top:1px solid rgba(255,255,255,.10)!important;

border-radius:0 0 18px 18px!important;

box-shadow:0 22px 50px rgba(0,0,0,.45)!important;

z-index:99998!important;
}

/* BURGER SOPRA MENU */

.burger-btn{
z-index:999999!important;
}

/* EVITA CHE COPRA IL LOGO */

.logo{
position:relative!important;
z-index:2!important;
}

}

/* ACCESSIBILITY IMPROVEMENTS */

.btn.gold{
    background:#c99712 !important;
    color:#071b31 !important;
    border:2px solid #e0b84c !important;
    font-weight:800;
}

.btn.gold:hover{
    background:#e0b84c !important;
    color:#04111f !important;
}

.logo img{
    height:auto;
    display:block;
}

main#main-content{
    display:block;
}
