:root{
  --navy:#0b1c30;
  --navy-deep:#091932;
  --teal:#56c479;
  --teal-btn:#56c479;
  --teal-btn-hover:#48b3a5;
  --gray-bg:rgba(86, 196, 121, .1);
  --breadcrumb:#f2f2f2;
  --text-dark:#11243f;
  --muted:#5d6b7a;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Mukta',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color:var(--text-dark);
  font-size:16px;
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5{font-weight:700;color:var(--navy);letter-spacing:-.01em;}

button:focus {
    outline: 0!important;
  outline:0!important;
}


.footerLink {
    font-size: inherit!important;
}

img{max-width:100%;}


/* ===== Logo ===== */
.brand{display:flex;align-items:center;gap:13px;}
.brand-fan{width:48px;height:34px;flex:none;}
.brand-text{line-height:1;}
.brand-name{font-weight:800;font-size:24px;letter-spacing:.04em;color:#fff;}
.brand-tag{font-size:10px;letter-spacing:.18em;color:var(--teal);text-transform:lowercase;margin-top:2px;font-weight:600;}
.brand-name.dark{color:var(--navy);}

/* ===== Top header ===== */
.topbar{background:var(--navy);}
.topbar .container{display:flex;align-items:center;justify-content:space-between;padding:16px 15px;}
.topbar-right{display:flex;align-items:center;gap:26px;}
.contact-link{display:flex;align-items:center;gap:9px;color:#fff;font-size:15px;font-weight:500;}
.contact-link svg{flex:none;opacity:.95;}
.btn-prenota{
  background:var(--teal-btn);color:#fff;font-weight:700;font-size:15px;
  padding:12px 26px;border-radius:6px;border:none;transition:background .15s;white-space:nowrap;
}
.btn-prenota:hover{background:var(--teal-btn-hover);color:#fff;}
.search-btn{background:none;border:none;color:#fff;padding:4px;display:flex;align-items:center;}

/* ===== Nav ===== */
.mainnav{background:#fff;border-bottom:1px solid #ececec;}
.mainnav .container{display:flex;align-items:center;gap:38px;padding:18px 15px;flex-wrap:wrap;}
.mainnav a{font-size:15.5px;font-weight:500;color:var(--navy);transition:color .15s;}
.mainnav a:hover{color:var(--teal-btn);}

/* ===== Breadcrumb ===== */
.crumbs{background:var(--breadcrumb);}
.crumbs .container{padding:15px 15px;font-size:14.5px;color:#8a929b;display:flex;align-items:center;gap:9px;}
.crumbs .sep{color:#b3bac1;font-weight:700;}
.crumbs .current{color:var(--navy);font-weight:700;}

/* ===== Hero ===== */
.hero{background:var(--navy);overflow:hidden;}

.hero h1{color:#fff;font-size:44px;font-weight:700;margin-bottom:22px;line-height:1.12;}
.hero p{color:#dfe5ec;font-size:19px;line-height:1.5;margin-bottom:30px;max-width:430px;}

.hero-visual{position:relative;}
.hero-visual img{width:118%;max-width:none;}


/* ===== Cosa puoi fare ===== */
.cosa{background:#fff;}
.cosa-photo{min-height:520px;background-size:cover;background-position:center; }
.cosa-body{padding:64px 56px;}
.cosa-body h2{font-size:30px;margin-bottom:36px;}
.feature{display:flex;gap:20px;margin-bottom:30px;}
.feature:last-child{margin-bottom:0;}
.feature .fic{flex:none;width:40px;height:40px;color:var(--teal-btn);}
.feature h4{font-size: 1.625em;margin-bottom:5px;font-weight:700;}
.feature p{font-size:20px;margin:0;line-height:1.5;}

/* ===== Come funziona ===== */
.steps{background:var(--gray-bg);}
.steps .container{padding:66px 15px 76px;}
.steps h2{text-align:center;font-size:30px;margin-bottom:54px;}
.step{text-align:center;padding:0 14px;}
.step-phone{height:600px;display:flex;align-items:flex-start;justify-content:center;margin-bottom:26px;overflow:hidden;}
.step-phone img{height:100%;width:auto;max-width:none;object-fit:contain;}
.step-label{color:var(--teal-btn);font-weight:700;font-size:18px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;}
.step h4{font-size:1.625em;margin-bottom:6px;}
.step p{font-size:20px;margin:0;}


/* ===== FAQ ===== */
.faq{background:#fff;}
.faq .container{padding:72px 15px 56px;max-width:1000px;}
.faq h2{text-align:center;font-size:30px;margin-bottom:48px;}
.faq-item{border-bottom:1px solid #ececec;}
.faq-q{
  width:100%;background:none;border:none;text-align:left;padding:24px 44px 24px 4px;position:relative;
  font-size:20px;font-weight:700;color:var(--navy);cursor:pointer;line-height:1.4;
}
.faq-q .icon{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;color:var(--navy);}
.faq-q .icon .v{transition:opacity .2s;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a-inner{padding:0 60px 26px 4px;font-size:16.5px;line-height:1.6;}
.faq-item.open .faq-q .icon .vbar{opacity:0;}

/* ===== Contact band ===== */
.contactband-text{background:var(--teal);padding-top:70px; padding-bottom:70px;display:flex;flex-direction:column;justify-content:center;}
.contactband-text h2{font-size:36px;color:var(--navy);margin-bottom:18px;line-height:1.12;}
.contactband-text p{font-size:18px;color:#143042;margin-bottom:30px;max-width:420px;line-height:1.5;}
.btn-contact{background:var(--navy);color:#fff!important;font-weight:700;font-size:16px;padding:14px 30px;display:inline-flex;align-items:center;gap:10px;align-self:flex-start;transition:background .15s;}
.btn-contact:hover{background:#06223f;color:#fff;}
.contactband-photo{height:100%;min-height:375px;background-size:cover;background-position:center top; top:0;right:0;}



.bg_app {
    background-color: #56c479;
    background-size: 50%;
    background-repeat: no-repeat;
}

/* ===== Responsive ===== */
@media (max-width:991px){
  .topbar-right{gap:16px;}
  .contact-link span{display:none;}
  .hero .container{padding-top:46px;}
  .hero-visual{margin-top:30px;}
  .hero-visual img{width:100%;}
  .cosa-photo{min-height:340px;}
  .cosa-body{padding:44px 24px;}
  .dlband .container{justify-content:center;text-align:center;}
  .dlband-left{flex-direction:column;text-align:center;}
}
@media (max-width:767px){
  .hero h1{font-size:34px;}
  .mainnav .container{gap:18px;}
  .step-phone{height:360px;}
  .contactband-photo{min-height:300px;}
  .footer-top{justify-content:center;}
}

@media (min-width:992px){
    .contactband-text {
        min-height: 500px;
    }
}