/* Falegnameria Restelli - Landing serramenti in legno */
:root{--color-primary:#0f3324;--color-primary-dark:#092419;--color-secondary:#9b5b2e;--color-accent:#d6a756;--color-bg:#f4efe5;--color-surface:#fff;--color-surface-soft:#fbf7ef;--color-text:#1f251f;--color-muted:#68736b;--color-border:#ded6c8;--color-light:#fff;--color-error:#9f2424;--font-main:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--container:1180px;--container-narrow:860px;--space-2xl:88px;--radius-sm:10px;--radius:18px;--radius-lg:28px;--shadow:0 22px 60px rgba(15,51,36,.12);--shadow-soft:0 12px 34px rgba(15,51,36,.08);--header-height:86px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}body{margin:0;font-family:var(--font-main);color:var(--color-text);background:var(--color-bg);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input,textarea{font:inherit}button{cursor:pointer}::selection{color:#fff;background:var(--color-primary)}
.skip-link{position:absolute;top:-120px;left:16px;z-index:999;padding:10px 14px;color:#fff;background:var(--color-primary-dark);border-radius:var(--radius-sm)}.skip-link:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-primary-dark);line-height:1.08;letter-spacing:-.035em}h1{margin-bottom:24px;font-size:clamp(42px,7vw,82px);max-width:880px}h2{margin-bottom:20px;font-size:clamp(32px,4.4vw,56px)}h3{margin-bottom:12px;font-size:clamp(22px,2vw,28px)}p{margin-bottom:18px}.eyebrow{margin-bottom:14px;color:var(--color-secondary);font-size:13px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.section-dark .eyebrow,.page-hero .eyebrow,.thank-you-section .eyebrow{color:var(--color-accent)}
.container{width:min(100% - 32px,var(--container));margin-inline:auto}.section{padding:var(--space-2xl) 0}.section-soft{background:linear-gradient(135deg,rgba(214,167,86,.11),transparent 42%),var(--color-surface-soft)}.section-dark{color:rgba(255,255,255,.86);background:radial-gradient(circle at 85% 10%,rgba(214,167,86,.18),transparent 28%),linear-gradient(135deg,var(--color-primary-dark),var(--color-primary))}.section-dark h1,.section-dark h2,.section-dark h3{color:#fff}.section-dark p{color:rgba(255,255,255,.82)}.split-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,7vw,96px);align-items:start}.section-heading{max-width:720px}.section-heading>p:not(.eyebrow){color:var(--color-muted);font-size:18px}.section-heading-center{max-width:820px;margin-inline:auto;margin-bottom:46px;text-align:center}.text-block{color:var(--color-muted);font-size:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border:1px solid transparent;border-radius:999px;font-weight:800;line-height:1.1;text-align:center;text-decoration:none;transition:transform .2s,box-shadow .2s,background-color .2s}.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.btn-primary{color:var(--color-primary-dark);background:var(--color-accent);border-color:var(--color-accent)}.btn-outline-light{color:#fff;background:transparent;border-color:rgba(255,255,255,.55)}.btn-outline-light:hover,.btn-outline-light:focus-visible{color:var(--color-primary-dark);background:#fff}.btn-small{min-height:44px;padding:12px 18px;font-size:14px}.btn-full{width:100%}
.site-header{position:sticky;top:0;z-index:80;min-height:var(--header-height);background:rgba(244,239,229,.92);border-bottom:1px solid rgba(222,214,200,.9);backdrop-filter:blur(16px)}.header-inner{display:flex;align-items:center;min-height:var(--header-height);gap:28px}.site-logo{display:inline-flex;align-items:center;flex:0 0 auto;text-decoration:none}.site-logo img{width:190px;height:auto}.primary-nav{margin-left:auto}.primary-nav ul{display:flex;align-items:center;gap:22px;padding:0;margin:0;list-style:none}.primary-nav a{color:var(--color-primary-dark);font-size:14px;font-weight:750;text-decoration:none}.primary-nav a:hover{color:var(--color-secondary)}.header-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}.header-phone{color:var(--color-primary-dark);font-size:15px;font-weight:800;text-decoration:none;white-space:nowrap}.nav-toggle{display:none;width:46px;height:46px;padding:0;margin-left:auto;background:var(--color-primary);border:0;border-radius:999px}.nav-toggle span:not(.sr-only){display:block;width:20px;height:2px;margin:4px auto;background:#fff;border-radius:999px}
.hero{position:relative;overflow:hidden;padding:clamp(62px,8vw,116px) 0}.hero::before{content:"";position:absolute;inset:auto -10% -28% auto;width:560px;height:560px;background:rgba(214,167,86,.08);border-radius:50%;pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(38px,7vw,92px);align-items:center}.hero-text{max-width:720px;font-size:clamp(18px,2vw,22px)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-note{margin-top:18px;font-size:15px;color:rgba(255,255,255,.7)}.hero-media{position:relative}.hero-media::before{content:"";position:absolute;inset:26px -22px -22px 26px;border:1px solid rgba(214,167,86,.65);border-radius:var(--radius-lg)}.hero-media img{position:relative;width:100%;min-height:520px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 34px 90px rgba(0,0,0,.28)}
.trust-strip{position:relative;z-index:2;margin-top:-36px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;background:#fff;border:1px solid rgba(222,214,200,.9);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.trust-item{padding:26px 24px;border-right:1px solid var(--color-border)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;margin-bottom:8px;color:var(--color-primary);font-size:26px;line-height:1}.trust-item span{display:block;color:var(--color-muted);font-size:14px;line-height:1.45}
.cards-grid{display:grid;gap:22px}.cards-grid-4{grid-template-columns:repeat(4,1fr)}.feature-card,.benefit-card{position:relative;min-height:260px;padding:30px;background:#fff;border:1px solid rgba(222,214,200,.85);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.card-number{display:inline-block;margin-bottom:34px;color:var(--color-secondary);font-weight:900;letter-spacing:.12em}.feature-card p,.benefit-card p{color:var(--color-muted)}
.dimensions-grid{display:grid;gap:24px}.dimension-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:34px;align-items:center;padding:24px;background:#fff;border:1px solid rgba(222,214,200,.9);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.dimension-card:nth-child(even){grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.dimension-card:nth-child(even) img{order:2}.dimension-card img{width:100%;height:360px;object-fit:cover;border-radius:var(--radius)}.dimension-card p{color:var(--color-muted);font-size:18px}.dimension-card-dark{color:rgba(255,255,255,.86);background:radial-gradient(circle at 90% 10%,rgba(214,167,86,.15),transparent 32%),var(--color-primary);border-color:rgba(255,255,255,.12)}.dimension-card-dark h3{color:#fff}.dimension-card-dark p{color:rgba(255,255,255,.78)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{display:flex;flex-direction:column;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);box-shadow:0 22px 60px rgba(0,0,0,.18)}.product-media img{width:100%;height:280px;object-fit:cover}.product-content{display:flex;flex:1;flex-direction:column;padding:28px}.product-label{margin-bottom:8px;color:var(--color-accent);font-size:13px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.product-content p{color:rgba(255,255,255,.76)}.check-list{padding:0;margin:18px 0 0;list-style:none}.check-list li{position:relative;padding-left:28px;margin-bottom:10px;color:inherit}.check-list li::before{content:"";position:absolute;top:.72em;left:0;width:14px;height:8px;border-bottom:2px solid var(--color-accent);border-left:2px solid var(--color-accent);transform:rotate(-45deg)}.section-cta{margin-top:44px;text-align:center}
.process-list{display:grid;gap:16px}.process-item{display:grid;grid-template-columns:62px 1fr;gap:20px;padding:24px;background:#fff;border:1px solid rgba(222,214,200,.9);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.process-item>span{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;color:var(--color-primary-dark);background:var(--color-accent);border-radius:50%;font-weight:900}.process-item h3{margin-bottom:6px;font-size:22px}.process-item p{color:var(--color-muted)}
.gallery-section{background:#fff}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-auto-flow:dense;gap:20px}.gallery-item{margin:0;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.gallery-item img{width:100%;height:100%;min-height:300px;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item-large{grid-row:span 2}.gallery-item-large img{min-height:620px}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.stat-card{padding:34px;text-align:center;background:#fff;border:1px solid rgba(222,214,200,.9);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.stat-card strong{display:block;margin-bottom:14px;color:var(--color-primary);font-size:clamp(48px,7vw,82px);line-height:.95;letter-spacing:-.06em}.stat-card span{color:var(--color-muted);font-weight:700}
.faq-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(30px,6vw,80px)}.faq-list{display:grid;gap:14px}.faq-list details{background:#fff;border:1px solid rgba(222,214,200,.9);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.faq-list summary{position:relative;padding:22px 56px 22px 24px;color:var(--color-primary-dark);font-weight:850;list-style:none;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;top:50%;right:24px;color:var(--color-secondary);font-size:28px;line-height:1;transform:translateY(-50%)}.faq-list details[open] summary::after{content:"−"}.faq-list details p{padding:0 24px 24px;color:var(--color-muted)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(34px,7vw,86px);align-items:start}.contact-content>p:not(.eyebrow){max-width:640px;font-size:18px}.contact-cards{display:grid;gap:14px;margin-top:32px}.contact-card{padding:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:var(--radius)}.contact-card span{display:block;margin-bottom:6px;color:var(--color-accent);font-size:13px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.contact-card a{color:#fff;font-size:20px;font-weight:800;text-decoration:none}.form-panel{padding:clamp(28px,4vw,46px);color:var(--color-text);background:#fff;border-radius:var(--radius-lg);box-shadow:0 34px 90px rgba(0,0,0,.24)}.form-panel h2{color:var(--color-primary-dark);font-size:clamp(30px,4vw,44px)}.form-panel>p{color:var(--color-muted)}.lead-form{display:grid;gap:18px;margin-top:28px}.form-row{display:grid;gap:7px}.form-row label,.privacy-row{color:var(--color-primary-dark);font-size:14px;font-weight:780}.form-row input,.form-row textarea{width:100%;padding:14px 15px;color:var(--color-text);background:#fffdf8;border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:0}.form-row textarea{resize:vertical}.form-row input:focus,.form-row textarea:focus{background:#fff;border-color:var(--color-secondary);box-shadow:0 0 0 4px rgba(155,91,46,.12)}.form-row input.is-invalid,.form-row textarea.is-invalid{border-color:var(--color-error);box-shadow:0 0 0 4px rgba(159,36,36,.12)}.privacy-row label{display:flex;gap:10px;align-items:flex-start;font-weight:600;line-height:1.45}.privacy-row input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--color-primary)}.privacy-row a{color:var(--color-secondary);font-weight:800}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-alert{padding:14px 16px;margin-top:18px;border-radius:var(--radius-sm);font-weight:700}.form-alert-error{color:var(--color-error);background:#fff0f0;border:1px solid rgba(159,36,36,.22)}.form-note{color:var(--color-muted);font-size:13px;text-align:center}
.page-hero{padding:82px 0}.page-hero-inner,.policy-container{max-width:var(--container-narrow)}.page-hero h1{font-size:clamp(42px,6vw,72px)}.page-hero p:not(.eyebrow){max-width:720px;font-size:19px}.policy-alert{padding:20px 22px;margin-bottom:34px;color:var(--color-primary-dark);background:#fff6df;border:1px solid rgba(214,167,86,.45);border-radius:var(--radius)}.policy-content{padding:clamp(28px,5vw,56px);background:#fff;border:1px solid rgba(222,214,200,.9);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.policy-content h2{margin-top:36px;font-size:28px}.policy-content h2:first-child{margin-top:0}.policy-content p,.policy-content li{color:var(--color-muted)}.policy-content a{color:var(--color-secondary);font-weight:800}.policy-updated{margin-top:42px;font-weight:800}.policy-cta{margin-top:32px;text-align:center}.thank-you-section{min-height:calc(100vh - var(--header-height));display:flex;align-items:center;padding:84px 0}.thank-you-inner{max-width:850px;text-align:center}.thank-you-text{max-width:720px;margin-inline:auto;font-size:20px}.thank-you-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}.thank-you-card{max-width:720px;padding:28px;margin:44px auto 0;text-align:left;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-lg)}.thank-you-card h2{font-size:28px}
.site-footer{padding:62px 0 30px;color:rgba(255,255,255,.78);background:var(--color-primary-dark)}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:34px}.footer-logo{display:inline-flex;margin-bottom:18px;padding:10px;background:#fff;border-radius:var(--radius-sm)}.footer-logo img{width:180px;height:auto}.footer-brand p{max-width:360px}.footer-title{margin-bottom:16px;color:#fff;font-size:18px;letter-spacing:0}.footer-list{padding:0;margin:0;list-style:none}.footer-list li{margin-bottom:10px}.footer-list a{color:rgba(255,255,255,.78);text-decoration:none}.footer-list a:hover{color:var(--color-accent)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:28px;margin-top:44px;border-top:1px solid rgba(255,255,255,.12)}.footer-bottom p{margin:0;font-size:13px}.mobile-sticky-cta{position:fixed;left: 16px;bottom:16px;z-index:70;display:none;padding:14px 18px;color:var(--color-primary-dark);background:var(--color-accent);border-radius:999px;box-shadow:0 14px 34px rgba(0,0,0,.26);font-weight:900;text-decoration:none}
@media (max-width:1120px){.header-phone{display:none}.cards-grid-4{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:1fr}.product-card{display:grid;grid-template-columns:.92fr 1.08fr}.product-media img{height:100%;min-height:360px}.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){:root{--header-height:76px;--space-2xl:68px}.site-logo img{width:160px}.nav-toggle{display:inline-block}.primary-nav{position:absolute;top:var(--header-height);right:16px;left:16px;display:none;margin-left:0;padding:18px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.primary-nav.is-open{display:block}.primary-nav ul{display:grid;gap:4px}.primary-nav a{display:block;padding:12px;border-radius:var(--radius-sm)}.header-actions .btn{display:none}.hero-grid,.split-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.hero-media{max-width:620px}.hero-media img{min-height:420px}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(1),.trust-item:nth-child(2){border-bottom:1px solid var(--color-border)}.dimension-card,.dimension-card:nth-child(even){grid-template-columns:1fr}.dimension-card:nth-child(even) img{order:initial}.gallery-grid{grid-template-columns:1fr}.gallery-item-large img{min-height:420px}.stats-grid{grid-template-columns:1fr}.mobile-sticky-cta{display:inline-flex}body{padding-bottom:72px}}
@media (max-width:680px){.container{width:min(100% - 24px,var(--container))}.hero{padding:52px 0 72px}h1{font-size:clamp(38px,13vw,54px)}h2{font-size:clamp(30px,10vw,42px)}.hero-actions,.thank-you-actions{flex-direction:column}.hero-actions .btn,.thank-you-actions .btn{width:100%}.trust-strip{margin-top:-28px}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--color-border)}.cards-grid-4{grid-template-columns:1fr}.feature-card,.benefit-card{min-height:auto}.product-card{grid-template-columns:1fr}.product-media img{min-height:280px}.process-item{grid-template-columns:1fr}.form-panel{padding:24px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}
@media (max-width:420px){.site-logo img{width:142px}.nav-toggle{width:42px;height:42px}.btn{min-height:50px;padding:13px 18px}.section{padding:58px 0}.dimension-card,.feature-card,.benefit-card,.stat-card{padding:22px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* logo header + pulsante torna su fixed
   ========================================================= */

.site-header .site-logo {
  padding: 6px 10px;
   margin: 6px 0px;
  background: var(--color-light);
  border-radius: var(--radius-sm);
  box-shadow: 0 8px 20px rgba(15, 51, 36, 0.08);
}

.site-header .site-logo img {
  display: block;
}

#myBtn.back-to-top-button {
  display: none;
  position: fixed;
  right: 22px;
  bottom: 24px;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  color: var(--color-primary-dark);
  background-color: var(--color-accent);
  border: 1px solid rgba(9, 36, 25, 0.16);
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.20);
  font-size: 23px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}

#myBtn.back-to-top-button span {
  display: block;
  transform: translateY(-1px);
}

#myBtn.back-to-top-button:hover,
#myBtn.back-to-top-button:focus-visible {
  background-color: #e0b461;
  outline: 3px solid rgba(214, 167, 86, 0.35);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .site-header .site-logo {
    padding: 5px 9px;
  }

  #myBtn.back-to-top-button {
    right: 16px;
    bottom: 24px;
    width: 40px;
    height: 40px;
    font-size: 22px;
  }
}

@media (max-width: 420px) {
  .site-header .site-logo {
    padding: 5px 8px;
  }
}

/* sezione Innova
   ========================================================= */

.innova-section {
  background:
    linear-gradient(135deg, rgba(214, 167, 86, 0.12), transparent 44%),
    var(--color-surface-soft);
}

.innova-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(34px, 7vw, 86px);
  align-items: center;
}

.innova-media {
  position: relative;
}

.innova-media::before {
  content: "";
  position: absolute;
  inset: 20px 20px -20px -20px;
  border: 1px solid rgba(155, 91, 46, 0.28);
  border-radius: var(--radius-lg);
}

.innova-media img {
  position: relative;
  width: 100%;
  min-height: 520px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
}

.innova-content {
  max-width: 680px;
}

.innova-content > p:not(.eyebrow) {
  color: var(--color-muted);
  font-size: 18px;
}

.innova-data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 30px 0 32px;
}

.innova-data-card {
  padding: 20px;
  background: var(--color-surface);
  border: 1px solid rgba(222, 214, 200, 0.9);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.innova-data-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--color-primary);
  font-size: 26px;
  line-height: 1.05;
}

.innova-data-card span {
  display: block;
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

/* fix definitivo gallery Realizzazioni
   ========================================================= */

#realizzazioni .restelli-gallery-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

#realizzazioni .restelli-gallery-main,
#realizzazioni .restelli-gallery-item {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--color-primary-dark) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-soft) !important;
}

#realizzazioni .restelli-gallery-main {
  min-height: 720px !important;
}

#realizzazioni .restelli-gallery-main img,
#realizzazioni .restelli-gallery-item img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.55s ease, opacity 0.55s ease !important;
}

#realizzazioni .restelli-gallery-main img {
  min-height: 720px !important;
}

#realizzazioni .restelli-gallery-side {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

#realizzazioni .restelli-gallery-item {
  min-height: 0 !important;
}

#realizzazioni .restelli-gallery-item img {
  min-height: 0 !important;
}

#realizzazioni .restelli-gallery-main:hover img,
#realizzazioni .restelli-gallery-item:hover img {
  transform: scale(1.045) !important;
  opacity: 0.94 !important;
}

/* fix definitivo hero desktop above the fold
   =========================================================
   Deve rimanere in fondo al file.
   Mantiene CTA visibili above the fold e lascia più fascia scura sotto la hero.
*/

@media (min-width: 901px) {
  section.hero.section-dark {
    min-height: auto !important;
    padding-top: 20px !important;
    padding-bottom: 170px !important;
  }

  section.hero.section-dark .hero-grid {
    grid-template-columns: minmax(0, 0.98fr) minmax(300px, 0.72fr) !important;
    gap: clamp(24px, 3.4vw, 46px) !important;
    align-items: center !important;
  }

  section.hero.section-dark .eyebrow {
    margin-bottom: 7px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  section.hero.section-dark h1 {
    max-width: 660px !important;
    margin-bottom: 10px !important;
    font-size: clamp(32px, 4vw, 50px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
  }

  section.hero.section-dark .hero-text {
    max-width: 600px !important;
    margin-bottom: 0 !important;
    font-size: clamp(15px, 1.18vw, 17px) !important;
    line-height: 1.42 !important;
  }

  section.hero.section-dark .hero-actions {
    margin-top: 14px !important;
    gap: 10px !important;
  }

  section.hero.section-dark .hero-actions .btn {
    min-height: 44px !important;
    padding: 11px 18px !important;
    font-size: 14px !important;
  }

  section.hero.section-dark .hero-note {
    margin-top: 7px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  section.hero.section-dark .hero-media::before {
    inset: 14px -12px -12px 14px !important;
  }

  section.hero.section-dark .hero-media img {
    width: 100% !important;
    min-height: 300px !important;
    height: min(46vh, 390px) !important;
    max-height: 390px !important;
    object-fit: cover !important;
  }

  .trust-strip {
    margin-top: -54px !important;
  }
}

@media (min-width: 901px) and (max-height: 760px) {
  section.hero.section-dark {
    padding-top: 90px !important;
    padding-bottom: 110px !important;
  }

  section.hero.section-dark .hero-grid {
    gap: 28px !important;
  }

  section.hero.section-dark h1 {
    max-width: 620px !important;
    margin-bottom: 8px !important;
    font-size: clamp(30px, 3.65vw, 46px) !important;
    line-height: 1.01 !important;
  }

  section.hero.section-dark .hero-text {
    font-size: 15px !important;
    line-height: 1.38 !important;
  }

  section.hero.section-dark .hero-actions {
    margin-top: 12px !important;
  }

  section.hero.section-dark .hero-actions .btn {
    min-height: 42px !important;
    padding: 10px 16px !important;
  }

  section.hero.section-dark .hero-note {
    margin-top: 6px !important;
    font-size: 12px !important;
  }

  section.hero.section-dark .hero-media img {
    min-height: 280px !important;
    height: min(43vh, 350px) !important;
    max-height: 350px !important;
  }

  .trust-strip {
    margin-top: -44px !important;
  }
}

@media (min-width: 901px) and (max-height: 680px) {
  section.hero.section-dark {
    padding-top: 10px !important;
    padding-bottom: 54px !important;
  }

  section.hero.section-dark h1 {
    font-size: clamp(28px, 3.3vw, 40px) !important;
  }

  section.hero.section-dark .hero-text {
    font-size: 14px !important;
    line-height: 1.34 !important;
  }

  section.hero.section-dark .hero-media img {
    min-height: 240px !important;
    height: min(42vh, 320px) !important;
    max-height: 320px !important;
  }
}

/* responsive finale sezioni aggiunte
   ========================================================= */

@media (max-width: 900px) {
  .innova-grid {
    grid-template-columns: 1fr;
  }

  .innova-media img {
    min-height: 420px;
  }

  #realizzazioni .restelli-gallery-layout {
    grid-template-columns: 1fr !important;
  }

  #realizzazioni .restelli-gallery-main,
  #realizzazioni .restelli-gallery-main img {
    min-height: 520px !important;
  }

  #realizzazioni .restelli-gallery-side {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
  }

  #realizzazioni .restelli-gallery-item img {
    min-height: 260px !important;
  }
}

@media (max-width: 680px) {
  #realizzazioni .restelli-gallery-main,
  #realizzazioni .restelli-gallery-main img {
    min-height: 420px !important;
  }

  #realizzazioni .restelli-gallery-side {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .innova-data-grid {
    grid-template-columns: 1fr;
  }

  .innova-media img {
    min-height: 320px;
  }
}
