:root{
  --kg-dark:#101010;
  --kg-ink:#1d1d1f;
  --kg-muted:#6f7177;
  --kg-line:#e9e5df;
  --kg-paper:#f8f5ef;
  --kg-card:#ffffff;
  --kg-accent:#d8a036;
  --kg-accent2:#f3d083;
  --kg-blue:#5aa6e8;
  --kg-radius:28px;
  --kg-shadow:0 24px 70px rgba(0,0,0,.12);
}

html{scroll-behavior:smooth}
body{
  font-family:"Karla",Arial,sans-serif;
  color:var(--kg-ink);
  background:#fff;
  overflow-x:hidden;
}

a{transition:.2s ease}

/* MENU */

.kg-topbar{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  z-index:1005;
  width:min(1160px,calc(100% - 28px));
  background:rgba(17,17,17,.90);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  box-shadow:0 16px 45px rgba(0,0,0,.28);
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.kg-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:13px;
  text-decoration:none;
}

.kg-brand img{
  width:150px;
  height:auto;
  display:block;
}

.kg-menu{
  display:flex;
  align-items:center;
  gap:4px;
  margin:0;
  padding:0;
  list-style:none;
}

.kg-menu a,
.kg-menu button{
  display:flex;
  align-items:center;
  min-height:36px;
  padding:10px 12px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#fff;
  font-family:"Karla",Arial,sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.045em;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
  cursor:pointer;
}

.kg-menu-trigger{
  display:flex;
  align-items:center;
  gap:7px;
  justify-content:center;
}

.kg-chevron{
  display:inline-block;
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  flex:0 0 7px;
  margin-left:2px;
  margin-top:-4px;
  transform:rotate(45deg);
  transition:transform .2s ease;
}

.kg-has-submenu{
  position:relative;
}

.kg-submenu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  width:245px;
  margin:0;
  padding:10px;
  list-style:none;
  background:#181818;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.32);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:.2s ease;
}

.kg-submenu:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-12px;
  height:12px;
}

.kg-submenu a{
  padding:12px 14px;
  border-radius:10px;
  line-height:1.2;
  letter-spacing:.035em;
  color:rgba(255,255,255,.82);
  border-left:2px solid transparent;
}

.kg-submenu a:hover,
.kg-submenu a:focus{
  background:rgba(255,255,255,.07);
  color:#fff;
  border-left-color:var(--kg-accent);
  transform:translateX(3px);
}

.kg-has-submenu:hover .kg-submenu,
.kg-has-submenu:focus-within .kg-submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.kg-has-submenu:hover .kg-menu-trigger,
.kg-has-submenu:focus-within .kg-menu-trigger{
  background:rgba(216,160,54,.16);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(216,160,54,.45);
}

.kg-has-submenu:hover .kg-chevron,
.kg-has-submenu:focus-within .kg-chevron{
  margin-top:4px;
  color:var(--kg-accent);
  transform:rotate(225deg);
}

.kg-menu > li > a:not(.kg-menu-trigger):hover,
.kg-menu .kg-pill{
  background:rgba(255,255,255,.1);
  color:#fff;
}

.kg-menu .kg-cta{
  background:var(--kg-accent);
  color:#111;
  font-weight:700;
}

.kg-menu .kg-cta:hover{
  background:#fff;
  color:#111;
}

.kg-menu .kg-login{
  border:1px solid rgba(255,255,255,.28);
}

.kg-nav-toggle{
  display:none;
  border:0;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:10px 16px;
  font-weight:700;
}

.kg-mobile-panel{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(16,16,16,.96);
  z-index:1010;
  padding:28px;
}

.kg-mobile-panel.is-open{
  display:block;
}

.kg-mobile-panel a{
  display:block;
  color:#fff;
  text-decoration:none;
  font-size:24px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.kg-mobile-services summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  font-size:24px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  cursor:pointer;
  list-style:none;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.kg-mobile-services summary::-webkit-details-marker{display:none}
.kg-mobile-services summary .kg-chevron{transition:transform .2s ease}
.kg-mobile-services[open] summary .kg-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.kg-mobile-services div{padding-left:18px}
.kg-mobile-services div a{font-size:19px;color:rgba(255,255,255,.78)}

.kg-close{
  float:right;
  background:#fff;
  border:0;
  border-radius:999px;
  padding:10px 14px;
  color:#111;
}

.fh5co-navbar-brand,
.fh5co-nav-toggle{
  display:none!important;
}

/* PROGETTI IN EVIDENZA */

.kg-projects-showcase{
  padding:90px 0;
  background:#111;
  color:#fff;
}

.kg-projects-showcase .kg-eyebrow{color:rgba(255,255,255,.55)}
.kg-projects-showcase .kg-title{color:#fff}
.kg-projects-showcase .kg-lead{color:rgba(255,255,255,.7)}

.kg-projects-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:42px;
}

.kg-project-card{
  overflow:hidden;
  background:#1b1b1b;
  border:1px solid rgba(255,255,255,.1);
  border-radius:26px;
}

.kg-project-card img{
  display:block;
  width:100%;
  height:235px;
  object-fit:cover;
  filter:saturate(.8);
}

.kg-project-copy{padding:26px}
.kg-project-type{display:block;margin-bottom:8px;color:#c7a45a;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.kg-project-copy h3{margin:0 0 10px;color:#fff;font-size:26px}
.kg-project-copy p{margin:0;color:rgba(255,255,255,.68);font-size:16px;line-height:1.55}

@media(max-width:991px){
  .kg-projects-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:767px){
  .kg-projects-grid{grid-template-columns:1fr}
  .kg-project-card img{height:220px}
}

/* HERO HOME */

.kg-hero{
  position:relative;
  min-height:720px;
  padding:120px 0 70px;
  overflow:hidden;
  background:#fff;
}

.kg-hero-bg{
  position:absolute;
  top:0;
  left:0;
  width:62%;
  height:100%;
  background-size:cover;
  background-position:center;
  z-index:1;
}

.kg-hero-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(33,82,96,.25);
}

.kg-hero .container{
  position:relative;
  z-index:3;
}

.kg-hero-panel{
  margin-left:auto;
  width:min(520px,48vw);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  border:1px solid rgba(0,0,0,.06);
  border-radius:38px;
  box-shadow:var(--kg-shadow);
  padding:44px;
  position:relative;
  right:40px;
}

.kg-badge,
.kg-eyebrow{
  display:inline-flex;
  align-items:center;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:8px 18px;
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:18px;
}

.kg-hero-panel h1{
  font-family:"Playfair Display",serif;
  font-size:clamp(46px,5.5vw,78px);
  line-height:.92;
  margin:0 0 22px;
  color:#111;
}

.kg-hero-panel h1 span{
  color:var(--kg-blue);
}

.kg-hero-panel p{
  font-size:19px;
  line-height:1.55;
  color:#333;
  margin-bottom:28px;
}

.kg-hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.kg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:15px 24px;
  font-weight:700;
  text-decoration:none!important;
  line-height:1.1;
}

.kg-btn-dark{
  background:#111;
  color:#fff!important;
}

.kg-btn-light{
  background:#fff;
  color:#111!important;
  border:1px solid #ddd;
}

.kg-hero-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:28px;
}

.kg-hero-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:22px;
  padding:18px;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.kg-hero-card strong{
  display:block;
  font-size:17px;
  margin-bottom:5px;
  color:#111;
}

.kg-hero-card span{
  display:block;
  color:#666;
  font-size:14px;
  line-height:1.35;
}

/* FEATURES */

.kg-features{
  position:relative;
  z-index:4;
  background:#fff;
  padding:30px 0;
  border-top:1px solid #eee;
  border-bottom:1px solid #eee;
}

.kg-features .container{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}

.feature{
  padding:8px 30px;
  border-right:1px solid #eee;
}

.feature:last-child{
  border-right:0;
}

.feature strong{
  display:block;
  font-size:17px;
  color:#111;
  margin-bottom:8px;
}

.feature span{
  display:block;
  color:#666;
  line-height:1.45;
}

/* SEZIONI GENERALI */

.kg-section{
  padding:90px 0;
}

.kg-section .kg-eyebrow{
  background:transparent;
  color:var(--kg-accent);
  padding:0;
  border-radius:0;
  letter-spacing:.16em;
  margin-bottom:10px;
}

.kg-title{
  font-family:"Playfair Display",serif;
  font-size:clamp(38px,5vw,70px);
  line-height:1;
  margin:8px 0 18px;
  color:#111;
}

.kg-lead{
  font-size:20px;
  line-height:1.55;
  color:#4a4a4a;
}

.kg-service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.kg-card{
  background:#fff;
  border:1px solid var(--kg-line);
  border-radius:var(--kg-radius);
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.08);
  height:100%;
}

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

.kg-card-body{
  padding:26px;
}

.kg-card h3{
  font-family:"Playfair Display",serif;
  font-size:30px;
  margin:0 0 12px;
}

.kg-card p{
  color:#5c5c5c;
  line-height:1.55;
}

.kg-card a{
  color:#111;
  text-decoration:none;
}

.kg-feature{
  background:var(--kg-paper);
  border-radius:36px;
  padding:44px;
  margin:30px 0;
}

.kg-feature-list{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:24px;
}

.kg-tailored-visual{
  margin:0;
  overflow:hidden;
  background:#070707;
  border-radius:26px;
  box-shadow:0 18px 45px rgba(0,0,0,.14);
}

.kg-tailored-visual img{
  display:block;
  width:100%;
  height:auto;
}

.kg-tailored-list{
  margin-top:30px;
}

.kg-mini{
  background:#fff;
  border:1px solid var(--kg-line);
  border-radius:22px;
  padding:20px;
}

.kg-mini strong{
  display:block;
  font-size:18px;
  margin-bottom:8px;
}

.kg-portfolio-strip{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:24px;
  align-items:stretch;
}

.kg-dark-block{
  background:#111;
  color:#fff;
  border-radius:36px;
  padding:44px;
}

.kg-dark-block p{
  color:rgba(255,255,255,.75);
}

.kg-sticky-cta{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1002;
  background:var(--kg-accent);
  color:#111!important;
  border-radius:999px;
  padding:14px 18px;
  font-weight:700;
  text-decoration:none!important;
  box-shadow:0 14px 35px rgba(0,0,0,.2);
}

/* VECCHIE SEZIONI */

#fh5co-about,
#fh5co-blog{
  padding:80px 0;
}

.fh5co-heading h2{
  font-family:"Playfair Display",serif;
  font-size:54px;
  color:#111;
}

.fh5co-staff{
  background:#fff;
  border:1px solid var(--kg-line);
  border-radius:28px;
  padding:0 0 24px!important;
  overflow:hidden;
  box-shadow:0 16px 45px rgba(0,0,0,.08);
  margin-bottom:28px;
}

.fh5co-staff img{
  border-radius:0!important;
  width:100%;
  height:230px;
  object-fit:cover;
}

.fh5co-staff h3{
  font-family:"Playfair Display",serif;
  font-size:30px;
  padding:0 24px;
}

.fh5co-staff p{
  padding:0 24px;
  color:#555;
}

.fh5co-counters{
  border-radius:0;
  background-attachment:fixed;
}

footer #footer{
  background:#101010;
  color:#fff;
  padding-top:70px;
}

footer p,
footer li a{
  color:rgba(255,255,255,.72)!important;
}

footer .section-title{
  color:#fff!important;
}

/* PAGINE INTERNE */

.kg-page-hero{
  min-height:520px!important;
}

.kg-page-content{
  font-size:18px;
  line-height:1.7;
}

.kg-page-content blockquote{
  border:0;
  background:var(--kg-paper);
  border-radius:28px;
  padding:34px;
  color:#333;
}

.kg-app-highlight{
  background:#111;
  color:#fff;
  border-radius:32px;
  padding:34px;
  margin:30px 0;
}

.kg-app-highlight h3{
  color:#fff;
}

.kg-app-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.kg-app-box{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  padding:22px;
}

.kg-app-box strong{
  display:block;
  color:#fff;
  margin-bottom:8px;
}

/* TABLET */

@media(max-width:1199px){
  .kg-hero-panel{
    right:0;
    width:min(540px,52vw);
  }

  .kg-hero-bg{
    width:60%;
  }
}

/* MOBILE */

@media(max-width:991px){

  body{
    padding-top:0;
  }

  .kg-topbar{
    top:14px;
    width:calc(100% - 24px);
    padding:10px 12px;
  }

  .kg-brand img{
    width:135px;
  }

  .kg-menu{
    display:none;
  }

  .kg-nav-toggle{
    display:block;
    font-size:18px;
    padding:13px 20px;
  }

  .kg-hero{
    min-height:auto;
    padding:120px 0 0;
    background:#fff;
  }

  .kg-hero-bg{
    position:relative;
    width:100%;
    height:420px;
    background-size:cover;
    background-position:center top;
  }

  .kg-hero-bg:after{
    background:linear-gradient(
      180deg,
      rgba(31,83,96,.05) 0%,
      rgba(31,83,96,.18) 50%,
      rgba(0,0,0,.55) 100%
    );
  }

  .kg-hero .container{
    width:100%;
    padding:0 18px;
    margin-top:-92px;
  }

  .kg-hero-panel{
    width:100%;
    right:auto;
    margin:0 auto;
    padding:28px 24px;
    border-radius:30px;
    background:rgba(255,255,255,.94);
    position:relative;
    z-index:5;
  }

  .kg-badge{
    font-size:10px;
    letter-spacing:.22em;
    padding:8px 14px;
    margin-bottom:15px;
  }

  .kg-hero-panel h1{
    font-size:42px;
    line-height:1;
    margin-bottom:16px;
  }

  .kg-hero-panel p{
    font-size:17px;
    line-height:1.55;
    color:#333;
    margin-bottom:22px;
  }

  .kg-hero-actions{
    flex-direction:column;
    gap:12px;
  }

  .kg-btn{
    width:100%;
    padding:16px 18px;
    text-align:center;
  }

  .kg-hero-cards{
    display:none;
  }

  .kg-features{
    padding:22px 0;
  }

  .kg-features .container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .feature{
    border:0;
    background:#f8f8f8;
    border-radius:18px;
    padding:18px;
  }

  .feature strong{
    font-size:15px;
  }

  .feature span{
    font-size:14px;
  }

  .kg-section{
    padding:60px 0;
  }

  .kg-title{
    font-size:42px;
  }

  .kg-lead{
    font-size:18px;
  }

  .kg-service-grid,
  .kg-feature-list,
  .kg-app-grid{
    grid-template-columns:1fr;
  }

  .kg-feature{
    padding:28px;
    border-radius:28px;
  }

  .kg-tailored-visual{
    margin-top:30px;
    border-radius:22px;
  }

  .kg-tailored-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .kg-portfolio-strip{
    grid-template-columns:1fr;
  }

  .fh5co-heading h2{
    font-size:38px;
  }

  .kg-sticky-cta{
    left:16px;
    right:16px;
    bottom:14px;
    text-align:center;
    justify-content:center;
  }
}

/* MOBILE PICCOLO */

@media(max-width:480px){

  .kg-hero-bg{
    height:390px;
  }

  .kg-hero .container{
    margin-top:-78px;
  }

  .kg-hero-panel{
    padding:24px 20px;
  }

  .kg-hero-panel h1{
    font-size:36px;
  }

  .kg-hero-panel p{
    font-size:16px;
  }

  .kg-features .container{
    grid-template-columns:1fr;
  }

}


    /* FIX HOME: feature strip ordinata + prodotti KAIPIX */
    .kg-features{
      background:#fff;
      padding:26px 0;
      border-top:1px solid #eee;
      border-bottom:1px solid #eee;
    }
    .kg-features .container{
      width:min(1120px, calc(100% - 40px));
      max-width:none;
    }
    .kg-features .kg-features-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:14px;
      align-items:stretch;
    }
    .kg-features .feature{
      min-height:96px;
      padding:22px 24px;
      border:1px solid #eee;
      border-radius:22px;
      background:#fff;
      box-shadow:0 12px 34px rgba(0,0,0,.045);
    }
    .kg-features .feature strong{
      display:block;
      font-size:17px;
      line-height:1.25;
      margin:0 0 7px;
      color:#111;
    }
    .kg-features .feature span{
      display:block;
      font-size:15px;
      line-height:1.45;
      color:#666;
    }

    .kg-products{
      padding:70px 0 20px;
      background:#fff;
    }
    .kg-products-wrap{
      display:grid;
      grid-template-columns:.85fr 1.15fr;
      gap:28px;
      align-items:stretch;
    }
    .kg-products-intro{
      background:#111;
      color:#fff;
      border-radius:34px;
      padding:38px;
      min-height:100%;
    }
    .kg-products-intro .kg-eyebrow{
      color:var(--kg-accent);
      background:transparent;
      padding:0;
      border-radius:0;
      margin-bottom:14px;
    }
    .kg-products-intro h2{
      font-family:'Playfair Display',serif;
      font-size:46px;
      line-height:1;
      margin:0 0 18px;
      color:#fff;
    }
    .kg-products-intro p{
      color:rgba(255,255,255,.78);
      font-size:18px;
      line-height:1.55;
      margin:0;
    }
    .kg-products-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .kg-product-card{
      background:#fff;
      border:1px solid #eee;
      border-radius:30px;
      padding:32px;
      box-shadow:0 18px 50px rgba(0,0,0,.08);
      min-height:230px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .kg-product-logo{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:max-content;
      min-width:132px;
      height:54px;
      padding:0 22px;
      border-radius:999px;
      
      color:#111;
      font-weight:800;
      font-size:24px;
      letter-spacing:.06em;
      text-transform:uppercase;
      margin-bottom:22px;
    }
    .kg-product-card h3{
      margin:0 0 10px;
      font-size:24px;
      color:#111;
    }
    .kg-product-card p{
      color:#5c5c5c;
      line-height:1.55;
      margin:0 0 22px;
    }
    .kg-product-card a{
      color:#111;
      font-weight:700;
      text-decoration:none;
    }

    @media(max-width:991px){
      .kg-features .container{width:calc(100% - 32px)}
      .kg-features .kg-features-grid{grid-template-columns:1fr 1fr;gap:12px}
      .kg-features .feature{min-height:0;padding:18px;border-radius:18px}
      .kg-products{padding:52px 0 10px}
      .kg-products-wrap{grid-template-columns:1fr;gap:18px}
      .kg-products-intro{padding:28px;border-radius:28px}
      .kg-products-intro h2{font-size:38px}
      .kg-products-grid{grid-template-columns:1fr}
      .kg-product-card{min-height:0;padding:26px;border-radius:24px}
    }
    @media(max-width:480px){
      .kg-features .kg-features-grid{grid-template-columns:1fr}
      .kg-features .feature{text-align:left}
    }


/* =========================================================
   FIX MOBILE KAIPIX - 29/05
   Pulsanti non full-width, CTA footer nascosta su mobile,
   titoli più leggibili e layout più pulito.
   ========================================================= */

/* Bottoni generali: mantengono stile pill ma senza occupare tutta la riga */
@media(max-width:991px){

  .kg-hero-actions{
    flex-direction:row;
    align-items:center;
    gap:10px;
  }

  .kg-btn{
    width:auto;
    max-width:100%;
    padding:14px 22px;
    font-size:16px;
    line-height:1.15;
    white-space:normal;
  }

  .kg-hero-actions .kg-btn{
    flex:0 0 auto;
  }

  .kg-hero-actions .kg-btn-dark{
    min-width:210px;
  }

  .kg-hero-actions .kg-btn-light{
    min-width:170px;
  }

  /* Tolgo il bottone fisso da mobile: disturba e copre contenuto */
  .kg-sticky-cta{
    display:none!important;
  }

  /* Hero più respirato e meno "mattone" */
  .kg-hero{
    padding-top:96px;
  }

  .kg-hero-bg{
    height:360px;
    background-position:center center;
  }

  .kg-hero .container{
    padding:0 18px;
    margin-top:-64px;
  }

  .kg-hero-panel{
    padding:26px 22px 28px;
    border-radius:26px;
  }

  .kg-badge,
  .kg-eyebrow{
    font-size:10px;
    letter-spacing:.18em;
    padding:8px 14px;
  }

  .kg-hero-panel h1,
  .kg-title,
  .kg-products-intro h2,
  .fh5co-heading h2{
    font-size:clamp(34px, 10vw, 46px);
    line-height:1.02;
    letter-spacing:-.02em;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
  }

  .kg-hero-panel h1{
    margin-bottom:18px;
  }

  .kg-hero-panel p,
  .kg-lead{
    font-size:17px;
    line-height:1.55;
  }

  .kg-section{
    padding:56px 0;
  }

  .kg-feature{
    padding:28px 22px;
    border-radius:26px;
  }

  .kg-dark-block{
    padding:30px 24px;
    border-radius:28px;
  }

  .kg-card,
  .kg-product-card,
  .kg-mini,
  .feature{
    border-radius:24px;
  }

  .kg-card-body{
    padding:24px;
  }

  .kg-card h3{
    font-size:28px;
    line-height:1.05;
  }
}

/* Mobile stretto: bottoni affiancati quando possibile, altrimenti naturali ma non 100% */
@media(max-width:600px){

  .kg-hero-actions{
    justify-content:flex-start;
  }

  .kg-hero-actions .kg-btn{
    min-width:auto;
    width:auto;
    padding:13px 18px;
    font-size:15px;
  }

  .kg-hero-actions .kg-btn-dark{
    min-width:190px;
  }

  .kg-hero-actions .kg-btn-light{
    min-width:150px;
  }

  .kg-hero-panel{
    margin-left:0;
    margin-right:0;
  }

  .kg-hero-panel h1,
  .kg-title,
  .kg-products-intro h2,
  .fh5co-heading h2{
    font-size:38px;
    line-height:1.04;
  }

  .kg-products-intro,
  .kg-feature,
  .kg-dark-block{
    padding:26px 22px;
  }

  .kg-tailored-list{
    grid-template-columns:1fr;
  }
}

/* iPhone / schermi piccoli */
@media(max-width:480px){

  .kg-topbar{
    top:10px;
    width:calc(100% - 20px);
  }

  .kg-brand img{
    width:120px;
  }

  .kg-nav-toggle{
    padding:10px 15px;
    font-size:15px;
  }

  .kg-hero{
    padding-top:82px;
  }

  .kg-hero-bg{
    height:315px;
  }

  .kg-hero .container{
    margin-top:-52px;
    padding:0 14px;
  }

  .kg-hero-panel{
    padding:24px 18px;
    border-radius:24px;
  }

  .kg-hero-panel h1,
  .kg-title,
  .kg-products-intro h2,
  .fh5co-heading h2{
    font-size:34px;
    line-height:1.05;
  }

  .kg-hero-panel p,
  .kg-lead{
    font-size:16px;
  }

  .kg-hero-actions{
    gap:9px;
  }

  .kg-hero-actions .kg-btn{
    width:auto!important;
    min-width:0!important;
    padding:12px 16px;
    font-size:15px;
  }

  /* Se i due bottoni non ci stanno, vanno a capo ma restano larghi solo quanto serve */
  .kg-btn{
    width:auto!important;
  }

  .kg-features .feature{
    padding:20px 18px;
  }

  .kg-section{
    padding:48px 0;
  }

  .kg-products{
    padding:48px 0 10px;
  }

  .kg-product-card{
    padding:24px 20px;
  }

  .kg-product-card h3{
    font-size:23px;
  }

  .kg-page-content{
    font-size:16px;
  }
}

/* Extra piccolo: evito titoli tagliati o troppo compressi */
@media(max-width:380px){

  .kg-hero-panel h1,
  .kg-title,
  .kg-products-intro h2,
  .fh5co-heading h2{
    font-size:31px;
  }

  .kg-badge,
  .kg-eyebrow{
    letter-spacing:.14em;
  }

  .kg-hero-actions .kg-btn{
    font-size:14px;
    padding:11px 14px;
  }
}
