.montserrat-<uniquifier> {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
/* ---------------- RESET ---------------- */
*{margin:0;padding:0;box-sizing:border-box;}
body{background:#fff;color:#222;font-family:"Montserrat",sans-serif;overflow-x:hidden;}
img{width:100%;display:block;object-fit:cover;}
.success {background:#fff;color: #000; padding:20px; border-radius:8px}
.success  p  { color:#000}
/* ---------------- COLORS ---------------- */
:root{
    --gold:#d4a341;
    --black:#000;
    --dark:#0a0a0a;
}
a { color:var(--gold);font-weight:600; text-decoration:none }
/* ---------------- HEADER ---------------- */
header{
    width:100%;
    padding:26px 6%;
    background:var(--black);
    position:fixed;
    top:0;left:0;
    z-index:2000;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo{
  
    font-size:28px;
    color:var(--gold);
    font-weight:700;
    letter-spacing:0.5px;
}

 .centermenu {
    max-width: 1400px;
    display:flex;
    justify-content: space-between;
    align-items:center;
    margin: auto;
    width: 100%;
    }
.main-menu   li a{
    text-decoration:none;
    color:#fff;
    font-size:16px;
    transition:.3s;
}
.main-menu  li a:hover{
    color:var(--gold);
}
.main-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 40px;
}

.main-menu > li {
    position: relative; /* fondamentale per il submenu */
}

.main-menu > li > a {
    text-decoration: none;
    padding: 10px 0;
    display: block;
}

/* SUBMENU */
.submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 230px;
    margin: 0;
    padding: 10px 0;
    list-style: none;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);

    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: all 0.25s ease;
    z-index: 20;
}

.submenu li a {
    display: block;
    padding: 8px 16px;
    text-decoration: none;
    font-size: 14px;
    color: #222;
    white-space: nowrap;
}

.submenu li a:hover {
    background: #f3f3f3;
}

/* Mostra il submenu al passaggio del mouse */
.has-submenu:hover > .submenu {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* HAMBURGER */
.hamburger{
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
}
.hamburger div{
    width:28px;height:3px;background:#fff;border-radius:2px;
}

@media(max-width:900px){
    nav {display:none;}
    .hamburger{display:flex;}
}

/* MOBILE MENU */
.mobile-menu{
    position:fixed;
    top:80px;right:-100%;
    width:100%;
    background:var(--black);
    height:100%;
    padding:120px 30px;
    transition:.4s ease;
    z-index:3000;
}
.mobile-menu ul{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:32px;
}
.mobile-menu a{
    color:#fff;
    font-size:20px;
    text-decoration:none;
}

.btn {
    padding: 20px 34px;
    /* border-radius: 40px; */
    background: transparent;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    transition: .3s;
    border: 1px solid #fff;
}
.btn:hover{color:#b98b2c;background:#fff}

/* ANIMATIONS */
.reveal{
    opacity:0;
    transform:translateY(40px);
    transition:all .8s ease;
}
.reveal.visible{
    opacity:1;
    transform:translateY(0);
}
.info-box {
    background: #f5f5f5;
    padding: 30px 20px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
  
}

.info-box h4 {
    font-size: 14px;
    font-weight: 700;
    color: #444;
    margin-bottom: 5px;
}

.info-box p {
    margin: 0;
    font-size: 15px;
    color:#000
}

.icon {
    font-size: 22px;
    width: 30px;
}
/* ---------------- HERO SECTION ---------------- */
.hero {
    position: relative;
    padding: 240px 6% 170px;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 25px;
    overflow: hidden;
    background: #00000050;
    z-index: 1;
    align-items: center;
}
/* SFONDO IMMAGINE */
.hero::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../immagini/cessione-crediti.jpg") center/cover no-repeat;
    z-index: -2;
    opacity: 1; /* puoi abbassarlo se vuoi */
}

/* OVERLAY NERO LUXURY */
.hero::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--black);
    opacity: 0.75; /* regola lâ€™intensitÃ  */
    z-index: -1;
}

.hero h1{
    font-size:40px;
 
    max-width:850px;
    line-height:1.1;
}
.hero p{
    font-size:22px;
   max-width:850px;
}
.chisiamo-video-section {
    position: relative;
    width: 100%;
    height: 380px; /* stessa altezza dello screenshot */
    overflow: hidden;
}
.chisiamo-video-section img {
    width:100vw;
    position:relative;
    left:-7%; top:-90px; display:block;
}
/* VIDEO FULLSCREEN */
.bg-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
}

/* OVERLAY TRANSPARENTE */
.video-overlay {
    position: absolute;
    inset: 0;
    background: rgba(16, 23, 57, 0.70); /* blu scuro trasparente identico allo screenshot */
    z-index: 2;
}

/* CONTENUTO (SE SERVE) */
.video-content {
    position: relative;
    z-index: 3;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Se vuoi eventuali testi sopra il video */
.video-content h2 {
    color: white;
    font-size: 40px;
    font-weight: 800;
}

.mission-section {
    padding: 80px 20px;
}

.mission-container {
    max-width: 1400px;
    margin: 0 auto;
}

.mission-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.mission-image img {
    max-width: 100%;
    height: auto;
}

.mission-text h3 {
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 20px;
    color: #000000;
}

.mission-text p {
    font-size: 16px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 15px;
}

/* RESPONSIVE */
@media (max-width: 850px) {
    .mission-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .mission-text h3 {
        font-size: 26px;
    }

    .mission-text p {
        font-size: 15px;
    }

    .mission-image {
        order: -1; /* immagine sopra su mobile */
    }
}

.servizi-consulenza {
    padding: 80px 20px;
}

.servizi-container {
    max-width: 1400px;
    margin: 0 auto;
}

.servizi-consulenza h2 {
    text-align: center;
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 50px;
    color: #000000;
}

.servizi-consulenza h2 span {
    color: #d2ae1d; /* oro */
}

.servizi-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 40px;
}

.servizi-testo p {
    line-height: 1.7;
    font-size: 17px;
    color: #111;
}

.servizi-immagine img {
    max-width: 100%;
    height: auto;
}

/* RESPONSIVE */
@media (max-width: 850px) {
    .servizi-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .servizi-immagine {
        order: -1; /* immagine sopra su mobile */
    }

    .servizi-consulenza h2 {
        font-size: 30px;
    }

    .servizi-testo p {
        font-size: 16px;
    }
}

/* ---------------- GENERIC SECTION ---------------- */
.chisiamo-contattaci {
    background: #2b2a24;     /* blu notte come da immagine */
    padding: 60px 20px;
}

.contattaci-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1400px;
    margin: 0 auto;
    gap: 20px;
}

.chisiamo-contattaci h2 {
    color: white;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

.contattaci-btn {
    background: #d1a63a;
    color: white;
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
    white-space: nowrap;
    transition: 0.25s ease;
}

.contattaci-btn:hover {
    background: #b7902f;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .contattaci-content {
        flex-direction: column;
        text-align: center;
    }

    .chisiamo-contattaci h2 {
        font-size: 32px;
    }

    .contattaci-btn {
        margin-top: 20px;
        font-size: 16px;
    }
}

section{
    padding: 100px 6%;
     background: linear-gradient(90deg, #f6f7fb 0%, #fdfeff 60%);
}
.hero-chisiamo {
    top:80px;
    position: relative;
    width: 100%;
    min-height:480px;
    max-height: 600px; /* uguale allo screenshot */
    background: url('../immagini/chi-siamo.jpg') no-repeat center/cover; /* tua immagine */
    display: flex;
    height:100vh;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden; 
}
.hero-contatti {
    top:80px;
    position: relative;
    width: 100%;
    min-height:480px;
    max-height: 600px; /* uguale allo screenshot */
    background: url('../immagini/contattisection.jpg') no-repeat center/cover; /* tua immagine */
    display: flex;
    height:100vh;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
 
}
/* Overlay scuro leggerissimo */
.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 20, 0.45); /* tono blu scuro trasparente identico */
    z-index: 1;
}

/* Contenuto */
.hero-content {
    position: relative;
    z-index: 3;
    color: white;
}

.hero-content .subtitle {
    font-size: 18px;
    letter-spacing: 3px;
    font-weight: 400;
    color:#d2ae1d
}

.hero-content h1 {
    font-size: 58px;
    margin-top: 12px;
    font-weight: 800;
}

/* TRIANGOLO BIANCO IN BASSO */
.hero-bottom-shape {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 80px;
    background: white;
    clip-path: polygon(0 0, 100% 60%, 100% 100%, 0% 100%);
    z-index: 2;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .hero-chisiamo {
        height: 260px;
    }

    .hero-content h1 {
        font-size: 38px;
    }

    .hero-bottom-shape {
        height: 60px;
        clip-path: polygon(0 0, 100% 70%, 100% 100%, 0 100%);
    }
}

@media (max-width: 480px) {
    .hero-content h1 {
        font-size: 30px;
    }
}

.pricing-results {
    background: #f9f8ee;
   
    text-align: center;
}
.container { max-width:1400px; margin:auto}
.title {
    font-size: 38px;
    font-weight: 700;
    color: #000;
}

.subtitle {
    font-size: 20px;
    margin-top: 10px;
    color: #000;
    font-weight: 600;
}

.desc {
    max-width: 860px;
    margin: 20px auto 50px;
    font-size: 17px;
    color: #000;
    line-height: 1.6;
}

.results-title {
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 40px;
    color: #000;
}

.results-grid {
    display: grid;
    justify-content: center;
    gap: 22px;
     grid-template-columns:1fr 1fr 1fr;
    
}
.result-box:last-child {
    border:none
}
.result-box {
    /* background: white; */
    border-right: 2px dashed #cfd8dc;
    /* border-radius: 16px; */
    width: 100%;
    padding: 40px 20px;
    text-align: center;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .7s ease, transform .7s ease;
}
.result-box p { color:#000}
.result-box.visible {
    opacity: 1;
    transform: translateY(0);
}

.number {
    font-size: 68px;
    color: #000000;
    font-weight: 700;
    margin-bottom: 10px;
}

.cta-wrapper {
    margin-top: 40px;
}

.cta-btn {
    padding: 18px 40px;
    border-radius: 40px;
    background: #d2bb1d;
    color: white;
    text-decoration: none;
    font-size: 17px;
    font-weight: 700;
    display: inline-block;
    transition: background .2s ease;
}

.cta-btn:hover {
    background: #d2b31d;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .results-grid {
   
     grid-template-columns:1fr;
    
}
    .result-box {
    /* background: white; */
    border-right: none;
        border-bottom:2px dashed #ddd
    }
    .result-box {
        /* width: 90%; */
    }

    .title {
        font-size: 28px;
    }

    .results-title {
        font-size: 24px;
    }
}

/* ---------------- ABOUT WITH BLOB ---------------- */
.about{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
    max-width: 1400px;
    margin: auto;
}

.blob{
    width:100%;
    /* background:#000; */
    /* padding:70px; */
    /* border-radius:60px; */
}
.blob img {
    border-radius:50% 100% 50%;
}

.about h2{
 
    font-size:60px;
    margin-bottom:20px;
}

.about p{
    font-size:19px;
    line-height:1.6;
    color: #000;
}

@media(max-width:900px){
      .services-grid {
        display: flex !important;
        overflow-x: auto;
        gap: 16px;
        /* padding: 0 16px 10px; */
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch; /* scorrimento fluido su iOS */
    }

    .services-grid .card {
        flex: 0 0 100% ; /* quasi a tutta larghezza */
        height:300px;
        scroll-snap-align: start;
    }

    .services-grid::-webkit-scrollbar {
        display: none; /* nasconde la scrollbar su mobile */
    }
    p { font-size:16px !important}
    h1 {
        font-size:34px !important
    }
    h2{
 
    font-size:32px !important;
     
}
    .about{grid-template-columns:1fr;gap:20px}
}

/* ---------------- SERVICES SECTION ---------------- */
.title{
 
    font-size:60px;
    text-align:center;
    margin-bottom:25px;
}

.subtitle{
    font-size:20px;
    text-align:center;
    max-width:700px;
    margin:0 auto 80px;
}
.servizifiscali h2,.servizifiscali p {
    color:#fff !important;
}
.card p { color:#000 !important; }
.services-grid {
    margin:auto;
    max-width:1400px;
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 2 colonne */
    grid-template-rows: repeat(2, auto);   /* 3 righe */
    gap: 20px;
}

.card{
    background:#fff;
    padding:34px;
    
    box-shadow:0 8px 30px rgba(0,0,0,0.12);
}
.card h3{
 
    font-size:26px;
    margin-bottom:12px;
}

/* ---------------- PROCESS ---------------- */
.process-grid {
    margin:auto;
    max-width:1400px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.step {
    background: #ffffff;
    border-radius: 22px 22px 0 0;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(0,0,0,0.15);

    /* animazione iniziale */
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.9s cubic-bezier(.25,.1,.25,1);
}

.step img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

.step .content {
    padding: 28px;
}

.step h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
}

.step p {
    margin-top: 12px;
    line-height: 1.6;
    color: #444;
}

/* Quando compare */
.reveal.show {
    opacity: 1;
    transform: translateY(0);
}


/* ---------------- PARTNERS ---------------- */
.partners{
    display:flex;
    justify-content:center;
    gap:70px;
    flex-wrap:wrap;
    max-width: 1400px;
    margin: auto;
}
.partner{
    background:#f2f2f2;
    padding:32px 55px;
    border-radius:20px;
    font-size:26px;
 
}

/* ---------------- FAQ ---------------- */
.faq { background:#222222}
.faq h2 { color:#fff}
.faq-item{
    padding:30px 0;
    max-width:1400px;
    margin:auto;
    border-bottom:1px solid #666;
}
.faq-item h4{
 color:#fff;
    font-size:26px;
    margin-bottom:10px;
}
.faq-item p{
    font-size:18px;
    color:#ddd;
    line-height:1.5;
}
.logo {
    background: url(../immagini/logo.png) no-repeat center/contain;
    width: 250px;
    height: 50px;
}
/* ---------------- CONTACT SECTION ---------------- */

    form {
      margin-top: 10px;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px 16px;
    }

    .form-group {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    label {
      font-size: 14px;
      font-weight: 600;
        color:#fff
    }

    label span.required {
      color: #c52828;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    select,
    textarea {
      border-radius: 10px;
      border: 1px solid #dddddd;
      padding: 10px 12px;
      font-size: 14px;
      width: 100%;
    }
 select {  padding: 9px 12px; }
 input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus {
    border: 1px solid #d2ae1d;
    outline: none; /* elimina il bordo blu standard */
}

    textarea {
      min-height: 120px;
      resize: vertical;
    }

    .form-group.full-width {
      grid-column: 1 / -1;
    }

    .btn-submit {
      background: var(--text-blue);
      color: var(--white);
      border-radius: 4px;
      border: none;
      padding: 12px 16px;
      font-size: 14px;
      font-weight: 700;
      text-transform: uppercase;
      cursor: pointer;
      justify-self: flex-start;
      margin-top: 6px;
    }

    .btn-submit:hover {
      opacity: 0.92;
    }

.contact{
     display: flex;
 

    position: relative;
    background: url(../immagini/contatti.jpg) no-repeat center/cover fixed;
    padding: 80px 0; /* metti tu il padding che serve */
    z-index: 1;
    
}
.contacts{
     display: flex;
     max-width:1400px;
     margin:auto;
     position: relative;
     padding: 100px 0; /* metti tu il padding che serve */
    background:#fff;
     z-index: 1;
    margin-top:50px;
     justify-content: space-around;
}
.contact h2,p { color:#fff}
.contact::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45); /* oscuramento 45% – puoi modificare */
    z-index: 0;
    width:100%;
    height:100%
}

/* TUTTO IL CONTENUTO RESTA SOPRA L'OVERLAY */
.contact > * {
    position: relative;
    z-index: 2;
}
 

.contact-right{
  
    padding:50px;
    border-radius:30px;
    margin:auto;
     
}
.contacts-right h2{
    color:#fff
}
.contacts-right{
  
    background:#131942;
    padding:40px 20px;
 
     
}
.contacts-right button{
    width:100%;
    padding:16px;
    background:var(--gold);
    color:#000;
    border-radius:40px;
    border:none;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
}



.contact-right button{
    width:100%;
    padding:16px;
    background:var(--gold);
    color:#000;
    border-radius:40px;
    border:none;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
}

@media(max-width:900px){
    .contact{grid-template-columns:1fr;}
    .contacts{flex-direction:column;}
}

/* ---------------- FOOTER ---------------- */
footer{
    background:#000;
    color:#fff;
    padding:90px 6%;
    display: flex;
    /* grid-template-columns:1fr 1fr 1fr; */
    gap:60px;
    flex-direction: column;
}

.footer-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    flex-direction: column;
}

/* SINISTRA */
.footer-title {
    color: #d4a12f; /* oro */
    font-size: 26px;
    margin-bottom: 15px;
    font-weight: 700;
}

.footer-left p {
    margin: 4px 0;
}

.footer-left a {
    color: #d4a12f;
    text-decoration: none;
}

.footer-left a:hover {
    text-decoration: underline;
}

/* DESTRA */
.footer-right {
    display:flex;
    text-align: left;
    align-items: center;
    gap: 10px;
}

.footer-right p {
    margin: 4px 0;
}

.footer-brand {
    color: #d4a12f;
    font-weight: 700;
    text-decoration: none;
}

.footer-brand:hover {
    text-decoration: underline;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .footer-container {
        flex-direction: column;
        text-align: center;
    }

    .footer-right {
        text-align: center;
    }
}
footer h3{
    color:var(--gold);
 
    font-size:28px;
    margin-bottom:14px;
}
footer p{color:#ddd;font-size:17px;}

@media(max-width:900px){
    .chisiamo-video-section img { height:50vh }
    footer{grid-template-columns:1fr;text-align:center;}
}

/* ---------------- FIXED BUTTONS ---------------- */
.fixed-wp{
    position:fixed;
    bottom:25px;left:25px;
    background:#25d366;
    padding:16px 22px;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
    font-weight:700;
    z-index:5000;
    box-shadow:0 4px 20px rgba(0,0,0,0.25);
}
.fixed-call{
    position:fixed;
    bottom:25px;right:25px;
    background:var(--gold);
    padding:16px 22px;
    color:#000;
    font-weight:700;
    text-decoration:none;
    border-radius:50px;
    z-index:5000;
    box-shadow:0 4px 20px rgba(0,0,0,0.25);
}
.partners-section {
    
   
}
.partners-header,.partners-grid {
    max-width:1400px;
    width:100%;
    margin:auto
}

.partners-header h4 {
    font-size: 16px;
    font-weight: 600;
    color: #555;
    margin-bottom: 6px;
    text-align: center;
}

.partners-header h2 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 40px;
    line-height: 1.3;
    text-align: center;
}

/* GRID */
.partners-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* LOGO CARD */
.partner-card {
    background: #fff;
   
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    height:auto;
    overflow:hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.partner-card a { width:100%;  }
.partner-card img {
    max-width: 100%;
    max-height: auto;
    object-fit: contain;
}

/* Hover effetto delicato */
.partner-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.10);
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .partners-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .partners-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .partners-header h2 {
        font-size: 22px !important;
    }
}
