
:root{
  --bg:#f4f1ec;
  --paper:#faf8f4;
  --ink:#181716;
  --muted:#77716a;
  --bronze:#8f6950;
  --bronze-light:#b08a70;
  --line:rgba(24,23,22,.14);
  --dark:#171615;
  --max:1440px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img,video{display:block;width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
p{line-height:1.6}
h1,h2,h3,p{margin-top:0}

.site-header{
  position:fixed; inset:0 0 auto 0; z-index:50;
  height:84px; display:flex; align-items:center; justify-content:space-between;
  padding:0 4vw; transition:.3s ease;
  color:white;
}
.site-header.scrolled{
  background:rgba(244,241,236,.92); backdrop-filter:blur(14px);
  color:var(--ink); border-bottom:1px solid var(--line);
}
.brand img{width:122px; max-height:48px; object-fit:contain; filter:brightness(0) invert(1)}
.site-header.scrolled .brand img{filter:none}
.nav{display:flex;align-items:center;gap:28px;font-size:13px;letter-spacing:.04em}
.nav-cta{border:1px solid currentColor;padding:13px 18px}
.menu-toggle{display:none;background:none;border:0;padding:10px;color:inherit}
.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:6px 0}

.hero{height:100vh; min-height:720px; position:relative; overflow:hidden; background:#222}
.hero-media,.hero-media img,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.hero-media img{object-fit:cover; object-position:center}
.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.16) 62%,rgba(0,0,0,.05))}
.hero-copy{
  position:relative; z-index:2; color:white;
  height:100%; display:flex; flex-direction:column; justify-content:center;
  padding:9vh 4vw 4vh; max-width:760px;
}
.eyebrow{font-size:11px;letter-spacing:.23em;font-weight:700;margin-bottom:26px}
.bronze{color:var(--bronze)}
.hero h1,.section h2,.brand-statement h2,.contact h2{
  font-weight:400; letter-spacing:-.045em; line-height:.95;
}
.hero h1{font-size:clamp(58px,7.4vw,116px);margin-bottom:34px}
.hero-text{font-size:18px;max-width:620px;color:rgba(255,255,255,.86);margin-bottom:34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;font-size:13px;letter-spacing:.03em;transition:.2s}
.btn-primary{background:white;color:#181716}
.btn-primary:hover{background:#ded8d0}
.btn-ghost{border:1px solid rgba(255,255,255,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-dark{background:var(--ink);color:white;margin-top:22px}

.section{max-width:var(--max);margin:auto;padding:130px 4vw}
.section-tag{
  font-size:10px; letter-spacing:.18em; color:var(--muted);
  padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:70px
}
.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}
.section h2{font-size:clamp(42px,5.2vw,78px);max-width:980px;margin-bottom:0}
.intro-copy{padding-top:40px}
.intro-copy .lead{font-size:23px;line-height:1.45}
.intro-copy p:last-child{color:var(--muted);font-size:16px}

.section-heading{margin-bottom:70px}
.section-heading h2{max-width:1000px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-card{padding:38px 32px 50px 0;border-right:1px solid var(--line)}
.service-card:not(:first-child){padding-left:32px}
.service-card:last-child{border-right:none}
.service-card span,.step span,.why-card span{font-size:11px;color:var(--bronze);letter-spacing:.15em}
.service-card h3{font-size:24px;font-weight:500;margin:54px 0 14px}
.service-card p{color:var(--muted);margin:0;max-width:370px}
.material-feature{margin:90px 0 0;display:grid;grid-template-columns:1.45fr .55fr;align-items:end;gap:36px}
.material-feature img{aspect-ratio:16/9;object-fit:cover}
.material-feature figcaption{font-size:14px;line-height:1.6;color:var(--muted);padding-bottom:14px}

.projects{background:var(--paper);max-width:none;padding-left:max(4vw,calc((100vw - var(--max))/2 + 4vw));padding-right:max(4vw,calc((100vw - var(--max))/2 + 4vw))}
.project{margin-bottom:80px}
.project-media{overflow:hidden;background:#e7e2da}
.project-media img{transition:transform .7s ease;object-fit:cover}
.project:hover .project-media img{transform:scale(1.02)}
.project-large .project-media img{aspect-ratio:16/8;object-position:center}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.project-grid .project-media img{aspect-ratio:1/1;object-fit:cover}
.project-wide{display:grid;grid-template-columns:1.45fr .55fr;gap:40px;align-items:end}
.project-wide .project-media img{aspect-ratio:4/3;object-fit:cover}
.project-info{padding-top:20px;position:relative}
.project-num{position:absolute;right:0;top:24px;font-size:11px;color:var(--muted)}
.project-info h3{font-size:28px;font-weight:500;margin-bottom:8px}
.project-info p{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}
.tags{display:flex;gap:9px;flex-wrap:wrap}
.tags span{font-size:11px;border:1px solid var(--line);padding:8px 10px}

.dark{max-width:none;background:var(--dark);color:white;padding-left:max(4vw,calc((100vw - var(--max))/2 + 4vw));padding-right:max(4vw,calc((100vw - var(--max))/2 + 4vw))}
.dark .section-tag{color:#8b8783;border-color:rgba(255,255,255,.14)}
.process-head{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}
.process-head h2{font-size:clamp(48px,6vw,88px)}
.process-head>p{color:#aaa6a2;margin-bottom:8px}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
.step{padding:28px 28px 42px 0;border-right:1px solid rgba(255,255,255,.15)}
.step:not(:first-child){padding-left:28px}
.step:last-child{border-right:0}
.step h3{font-weight:500;margin:44px 0 10px}
.step p{color:#918d89;font-size:14px;margin:0}
.production-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px;margin-top:80px}
.production-gallery img{height:520px;object-fit:cover}
.video-wrap{margin-top:18px;display:grid;grid-template-columns:1.4fr .6fr;background:#0f0e0e}
.video-wrap video{height:620px;object-fit:cover;background:#000}
.video-caption{padding:38px;display:flex;flex-direction:column;justify-content:flex-end}
.video-caption span{font-size:11px;letter-spacing:.18em;color:#9d7a62}
.video-caption p{font-size:24px;line-height:1.35}
.production-finish{margin-top:90px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.production-finish img{aspect-ratio:4/3;object-fit:cover}
.production-finish h3{font-size:42px;font-weight:400;letter-spacing:-.035em;line-height:1.05}

.why-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.why-card{padding:42px 8vw 48px 0;border-bottom:1px solid var(--line)}
.why-card:nth-child(odd){border-right:1px solid var(--line)}
.why-card:nth-child(even){padding-left:40px}
.why-card h3{font-size:26px;font-weight:500;margin:44px 0 12px}
.why-card p{color:var(--muted);max-width:500px}

.brand-statement{
  background:var(--bronze);color:white;min-height:78vh;
  display:flex;align-items:center;justify-content:center;padding:100px 4vw;text-align:center
}
.brand-statement-inner{max-width:1000px}
.brand-statement h2{font-size:clamp(56px,8vw,118px);margin:0 0 34px}
.brand-statement-inner>p:not(.eyebrow):not(.statement-small){max-width:660px;margin:0 auto;font-size:18px;color:rgba(255,255,255,.82)}
.statement-line{height:1px;background:rgba(255,255,255,.38);margin:50px auto 25px;max-width:520px}
.statement-small{font-size:12px;letter-spacing:.16em;text-transform:uppercase}

.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw}
.contact h2{font-size:clamp(54px,7vw,100px);margin-bottom:28px}
.contact-grid>div:first-child>p:not(.eyebrow){max-width:630px;color:var(--muted);font-size:17px}
.contact-details{border-top:1px solid var(--line)}
.contact-details>div{padding:25px 0;border-bottom:1px solid var(--line)}
.contact-details span{display:block;font-size:10px;letter-spacing:.16em;color:var(--bronze);text-transform:uppercase;margin-bottom:10px}
.contact-details p,.contact-details a{font-size:17px;line-height:1.5;margin:0}

footer{background:#e8e2da;padding:60px 4vw;display:grid;grid-template-columns:.7fr 1fr .6fr;gap:60px;align-items:end}
.footer-brand img{width:120px;margin-bottom:12px}
.footer-brand p,.footer-legal p{font-size:12px;color:var(--muted);margin:4px 0}
.footer-copy p{font-size:20px;line-height:1.45;max-width:560px}
.footer-legal{text-align:right}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width: 980px){
  .nav{position:fixed;top:84px;left:0;right:0;background:var(--bg);color:var(--ink);padding:28px 4vw;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .intro-grid,.process-head,.contact-grid,.project-wide,.production-finish,.material-feature{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr}
  .service-card,.service-card:not(:first-child){padding:30px 0;border-right:0;border-bottom:1px solid var(--line)}
  .service-card:last-child{border-bottom:0}
  .service-card h3{margin-top:30px}
  .project-grid{grid-template-columns:1fr}
  .project-wide{gap:0}
  .process-steps{grid-template-columns:1fr 1fr}
  .production-gallery{grid-template-columns:1fr 1fr}
  .production-gallery img{height:420px}
  .production-gallery img:first-child{grid-column:1/-1}
  .video-wrap{grid-template-columns:1fr}
  .video-wrap video{height:520px}
  .why-grid{grid-template-columns:1fr}
  .why-card,.why-card:nth-child(even),.why-card:nth-child(odd){padding:34px 0;border-right:0}
  footer{grid-template-columns:1fr}
  .footer-legal{text-align:left}
}
@media (max-width:640px){
  .site-header{height:70px}
  .brand img{width:100px}
  .hero{min-height:680px}
  .hero-copy{padding:100px 22px 36px}
  .hero h1{font-size:56px}
  .hero-text{font-size:16px}
  .section{padding:90px 22px}
  .section-tag{margin-bottom:46px}
  .section h2{font-size:43px}
  .intro-copy{padding-top:10px}
  .intro-copy .lead{font-size:20px}
  .projects,.dark{padding-left:22px;padding-right:22px}
  .project-grid{gap:0}
  .project{margin-bottom:54px}
  .project-large .project-media img,.project-grid .project-media img,.project-wide .project-media img{aspect-ratio:4/5}
  .process-steps{grid-template-columns:1fr}
  .step,.step:not(:first-child){padding:26px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
  .production-gallery{grid-template-columns:1fr}
  .production-gallery img,.production-gallery img:first-child{height:380px;grid-column:auto}
  .video-wrap video{height:420px}
  .production-finish h3{font-size:34px}
  .brand-statement{padding:90px 22px}
  .brand-statement h2{font-size:52px}
  .contact h2{font-size:54px}
  footer{padding:50px 22px}
}


/* ======================================================
   BOZZA 08 — primo sito invariato + richieste puntuali
   ====================================================== */

.project-media-contain{
  background:#f4f1eb;
  display:flex;
  align-items:center;
  justify-content:center;
}
.project-media-contain img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.exhibitors{
  background:#f4f1eb;
}

.exhibitors-heading{
  max-width:900px;
}

.expo-intro{
  max-width:720px;
  margin-top:1.2rem;
  line-height:1.7;
  color:rgba(20,18,16,.66);
}

.expo-grid{
  margin-top:3.5rem;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.6rem;
  align-items:start;
}

.expo-card{
  margin:0;
  background:#fff;
  border:1px solid rgba(20,18,16,.08);
  overflow:hidden;
}

.expo-photo{
  width:100%;
  aspect-ratio:3/4;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8f6f2;
  padding:1rem;
}

.expo-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

.expo-card figcaption{
  padding:1rem 1.1rem 1.1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  border-top:1px solid rgba(20,18,16,.08);
}

.expo-card figcaption span{
  font-size:.72rem;
  letter-spacing:.14em;
  color:#a9704f;
}

.expo-card figcaption strong{
  font-size:.9rem;
  font-weight:500;
  text-align:right;
}

.brand-partners{
  background:#ece6dd;
}

.brand-partners-inner{
  max-width:1100px;
}

.brand-partners h2{
  margin:.5rem 0 2.4rem;
}

.partner-names{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
}

.partner-names span{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:.75rem 1.05rem;
  border:1px solid rgba(20,18,16,.16);
  background:rgba(255,255,255,.42);
  font-size:.78rem;
  letter-spacing:.08em;
}

@media (max-width:980px){
  .expo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:620px){
  .expo-grid{
    grid-template-columns:1fr;
  }
  .expo-photo{
    aspect-ratio:3/4;
  }
}


/* ======================================================
   BOZZA 09 — galleria espositori completa
   ====================================================== */

#espositori{
  scroll-margin-top:90px;
}

.exhibitors{
  background:#f4f1eb;
}

.exhibitors-heading{
  max-width:920px;
}

.expo-intro{
  max-width:720px;
  margin-top:1.2rem;
  line-height:1.7;
  color:rgba(20,18,16,.66);
}

.expo-grid{
  margin-top:3.5rem;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
  align-items:start;
}

.expo-card{
  margin:0;
  background:#fff;
  border:1px solid rgba(20,18,16,.08);
  overflow:hidden;
}

.expo-photo{
  width:100%;
  aspect-ratio:3/4;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f7f5f1;
  padding:.85rem;
}

.expo-photo img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center !important;
  display:block;
}

.expo-card figcaption{
  padding:.9rem 1rem 1rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  border-top:1px solid rgba(20,18,16,.08);
}

.expo-card figcaption span{
  font-size:.7rem;
  letter-spacing:.14em;
  color:#a9704f;
}

.expo-card figcaption strong{
  font-size:.86rem;
  font-weight:500;
}

@media (max-width:980px){
  .expo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:620px){
  .expo-grid{grid-template-columns:1fr;}
  .expo-photo{aspect-ratio:3/4;}
}


/* ======================================================
   BOZZA 10 — espositori ordinati per prodotto
   ====================================================== */

.expo-products{
  margin-top:3.5rem;
  display:flex;
  flex-direction:column;
  gap:4.5rem;
}

.expo-product{
  padding-top:1.25rem;
  border-top:1px solid rgba(20,18,16,.14);
}

.expo-product-head{
  display:flex;
  align-items:baseline;
  gap:1rem;
  margin-bottom:1.35rem;
}

.expo-product-head span{
  color:#a9704f;
  font-size:.72rem;
  letter-spacing:.16em;
}

.expo-product-head h3{
  margin:0;
  font-size:1.05rem;
  font-weight:500;
  letter-spacing:.02em;
}

.expo-product-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  align-items:stretch;
}

.expo-shot{
  margin:0;
  background:#f7f5f1;
  min-height:540px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.expo-shot img{
  width:100%;
  height:100%;
  max-height:720px;
  object-fit:contain !important;
  object-position:center !important;
  display:block;
}

@media (max-width:900px){
  .expo-product-gallery{
    grid-template-columns:1fr;
  }
  .expo-shot{
    min-height:auto;
  }
  .expo-shot img{
    height:auto;
    max-height:none;
  }
}


/* ======================================================
   BOZZA 11 — rifinitura sezione espositori
   ====================================================== */

.expo-product-head h3{
  font-size:1.18rem;
  font-weight:500;
  letter-spacing:.01em;
}

.expo-shot{
  background:#f7f5f1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.expo-shot img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center !important;
}

/* L'espositore DEGI illuminato viene trattato come pezzo principale:
   più spazio verticale e immagini visivamente più grandi. */
.featured-expo{
  padding-top:1.75rem;
  margin-top:.5rem;
}

.featured-expo .expo-product-head h3{
  font-size:1.45rem;
}

.featured-expo .expo-product-gallery{
  gap:1.25rem;
}

.featured-expo .expo-shot{
  min-height:690px;
}

.featured-expo .expo-shot img{
  max-height:820px;
}

/* Ultima linea: mantiene le tre varianti come famiglia coerente */
.expo-product:last-child .expo-shot{
  min-height:580px;
}

@media (min-width:1100px){
  .featured-expo{
    margin-left:-3vw;
    margin-right:-3vw;
  }
  .featured-expo .expo-product-gallery{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .featured-expo .expo-shot,
  .expo-product:last-child .expo-shot{
    min-height:auto;
  }
}


/* ======================================================
   BOZZA 12 — refinements requested
   ====================================================== */

.expo-closeup img{
  object-fit:contain !important;
  transform:scale(1.08);
}

.expo-colors{
  border-top:1px solid rgba(0,0,0,.12);
  padding-top:2rem;
}
.expo-colors .expo-product-head span{
  min-width:92px;
}
.expo-colors .expo-shot{
  min-height:620px;
}

.expo-large .expo-product-gallery{
  margin-left:-2.5vw;
  margin-right:-2.5vw;
  gap:1.5rem;
}
.expo-large .expo-shot{
  min-height:680px;
}
.expo-large .expo-shot img{
  transform:scale(1.08);
}

.expo-shot-large{
  min-height:650px !important;
}
.expo-shot-large img{
  transform:scale(1.1);
}

@media(max-width:900px){
  .expo-large .expo-product-gallery{
    margin-left:0;
    margin-right:0;
  }
  .expo-large .expo-shot,
  .expo-shot-large,
  .expo-colors .expo-shot{
    min-height:auto !important;
  }
  .expo-large .expo-shot img,
  .expo-shot-large img,
  .expo-closeup img{
    transform:none;
  }
}


/* ======================================================
   BOZZA 13 — naming + gallery refinements
   ====================================================== */

/* 01, 04, 05 aligned to the same image scale as 06 */
.expo-product:nth-of-type(1) .expo-shot,
.expo-product.expo-large .expo-shot,
.expo-product .expo-shot-large{
  min-height:unset !important;
}
.expo-product.expo-large .expo-product-gallery{
  margin-left:0 !important;
  margin-right:0 !important;
  gap:1rem !important;
}
.expo-product.expo-large .expo-shot img,
.expo-product .expo-shot-large img{
  transform:none !important;
}

/* 02/colors: one large bronze image centered */
.expo-single-bronze{
  grid-column:1 / -1;
  max-width:560px;
  width:100%;
  margin:0 auto;
  min-height:760px;
}
.expo-single-bronze img{
  width:100%;
  height:100%;
  object-fit:contain !important;
}

/* 04/colors remains a clean three-finish strip */
.expo-colors .expo-product-gallery{
  align-items:stretch;
}

@media(max-width:900px){
  .expo-single-bronze{min-height:auto;}
}


/* BOZZA 20 — 02 / COLORS: uniformità espositori laterali */
#espositori .expo-colors .expo-color-side{
  display:flex;
  align-items:center;
  justify-content:center;
}

#espositori .expo-colors .expo-color-side img{
  width:auto !important;
  height:86% !important;
  max-width:92% !important;
  max-height:560px !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}

@media(max-width:900px){
  #espositori .expo-colors .expo-color-side img{
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
  }
}


/* BOZZA 21 — 04: immagini ridimensionate e ingrandite */
#espositori .expo-04-large .expo-product-gallery{
  gap:1.25rem;
}

#espositori .expo-04-large .expo-shot{
  min-height:700px;
  display:flex;
  align-items:center;
  justify-content:center;
}

#espositori .expo-04-large .expo-shot img{
  width:auto !important;
  height:94% !important;
  max-width:98% !important;
  max-height:660px !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}

@media(max-width:900px){
  #espositori .expo-04-large .expo-shot{
    min-height:auto;
  }
  #espositori .expo-04-large .expo-shot img{
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
  }
}


/* BOZZA 22 — 04: foto a pieno quadrante */
#espositori .expo-04-large .expo-product-gallery{
  gap:1rem !important;
}

#espositori .expo-04-large .expo-shot{
  min-height:760px !important;
  padding:0 !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  background:#f7f5f1;
}

#espositori .expo-04-large .expo-shot img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  display:block !important;
}

@media(max-width:900px){
  #espositori .expo-04-large .expo-shot{
    min-height:auto !important;
  }
  #espositori .expo-04-large .expo-shot img{
    width:100% !important;
    height:auto !important;
  }
}


/* BOZZA 23 — 04 realmente grande, foto a pieno quadrante */
#espositori .expo-04-large{
  margin-left:-3vw;
  margin-right:-3vw;
}

#espositori .expo-04-large .expo-product-gallery{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:1.2rem !important;
}

#espositori .expo-04-large .expo-shot{
  height:760px !important;
  min-height:760px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#f7f5f1;
}

#espositori .expo-04-large .expo-shot img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
}

/* La terza foto è verticale: la manteniamo centrata nel quadrante */
#espositori .expo-04-large .expo-shot:nth-child(3) img{
  object-position:center center !important;
}

@media(max-width:900px){
  #espositori .expo-04-large{
    margin-left:0;
    margin-right:0;
  }

  #espositori .expo-04-large .expo-product-gallery{
    grid-template-columns:1fr !important;
  }

  #espositori .expo-04-large .expo-shot{
    height:620px !important;
    min-height:620px !important;
  }
}


/* BOZZA 29 — 04/COLORS e 05 grandi come 04, senza sfondo */
#espositori .expo-04-colors-large,
#espositori .expo-05-large{
  margin-left:-3vw;
  margin-right:-3vw;
}

#espositori .expo-04-colors-large .expo-product-gallery,
#espositori .expo-05-large .expo-product-gallery{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:1.2rem !important;
  align-items:stretch !important;
}

#espositori .expo-04-colors-large .expo-shot,
#espositori .expo-05-large .expo-shot{
  height:760px !important;
  min-height:760px !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#espositori .expo-04-colors-large .expo-shot img,
#espositori .expo-05-large .expo-shot img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  display:block !important;
}

/* neutralizza gli stili vecchi dedicati alle due prime immagini del 05 */
#espositori .expo-05-large .expo-shot-large{
  min-height:760px !important;
}
#espositori .expo-05-large .expo-shot-large img{
  transform:none !important;
}

/* neutralizza la regola generica .expo-colors che rendeva più piccole le immagini */
#espositori .expo-04-colors-large .expo-shot{
  min-height:760px !important;
}

@media(max-width:900px){
  #espositori .expo-04-colors-large,
  #espositori .expo-05-large{
    margin-left:0;
    margin-right:0;
  }

  #espositori .expo-04-colors-large .expo-product-gallery,
  #espositori .expo-05-large .expo-product-gallery{
    grid-template-columns:1fr !important;
  }

  #espositori .expo-04-colors-large .expo-shot,
  #espositori .expo-05-large .expo-shot,
  #espositori .expo-05-large .expo-shot-large{
    height:620px !important;
    min-height:620px !important;
  }
}


/* BOZZA 30 — 04/COLORS e 05 verticali, grandi come 04 */
#espositori .expo-04-colors-large,
#espositori .expo-05-large{
  margin-left:-3vw !important;
  margin-right:-3vw !important;
}

#espositori .expo-04-colors-large .expo-product-gallery,
#espositori .expo-05-large .expo-product-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.2rem !important;
  align-items:stretch !important;
}

#espositori .expo-04-colors-large .expo-shot,
#espositori .expo-05-large .expo-shot,
#espositori .expo-05-large .expo-shot-large{
  height:760px !important;
  min-height:760px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
}

#espositori .expo-04-colors-large .expo-shot img,
#espositori .expo-05-large .expo-shot img,
#espositori .expo-05-large .expo-shot-large img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  display:block !important;
}

/* Il 05 contiene anche una foto verticale: la manteniamo piena nel quadrante */
#espositori .expo-05-large .expo-shot:nth-child(3) img{
  object-fit:cover !important;
  object-position:center center !important;
}

@media(max-width:900px){
  #espositori .expo-04-colors-large,
  #espositori .expo-05-large{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  #espositori .expo-04-colors-large .expo-product-gallery,
  #espositori .expo-05-large .expo-product-gallery{
    grid-template-columns:1fr !important;
  }

  #espositori .expo-04-colors-large .expo-shot,
  #espositori .expo-05-large .expo-shot,
  #espositori .expo-05-large .expo-shot-large{
    height:620px !important;
    min-height:620px !important;
  }
}


/* BOZZA 31 — Espositore 01 grande come 04/COLORS e 05 */
#espositori .expo-product:first-of-type{
  margin-left:-3vw !important;
  margin-right:-3vw !important;
}

#espositori .expo-product:first-of-type .expo-product-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.2rem !important;
  align-items:stretch !important;
}

#espositori .expo-product:first-of-type .expo-shot{
  height:760px !important;
  min-height:760px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
}

#espositori .expo-product:first-of-type .expo-shot img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  display:block !important;
}

@media(max-width:900px){
  #espositori .expo-product:first-of-type{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  #espositori .expo-product:first-of-type .expo-product-gallery{
    grid-template-columns:1fr !important;
  }

  #espositori .expo-product:first-of-type .expo-shot{
    height:620px !important;
    min-height:620px !important;
  }
}


/* BOZZA 33 — modifiche puntuali 01 e 08 */

/* 01: la nuova terza foto orizzontale viene mostrata interamente */
#espositori .expo-product:first-of-type .expo-shot:nth-child(3){
  background:#fbfbfb !important;
}
#espositori .expo-product:first-of-type .expo-shot:nth-child(3) img{
  object-fit:contain !important;
  object-position:center center !important;
}

/* 08: il mobile con sportello aperto riempie il quadrante, senza far percepire il ritaglio */
#espositori .expo-08 .expo-shot{
  overflow:hidden !important;
  background:#fbfbfb !important;
}
#espositori .expo-08 .expo-08-open img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}


/* BOZZA 34 — correzioni richieste */

/* 01 / VERTICAL DISPLAY SYSTEM:
   terza immagine più grande, con un crop leggero per dare più presenza al mobile */
#espositori .expo-product:first-of-type .expo-shot:nth-child(3) img{
  width:112% !important;
  height:112% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.04);
}

/* 06 / FLOOR DISPLAY:
   la terza immagine rientra nelle stesse proporzioni visive delle due immagini accanto */
#espositori .expo-08 .expo-08-open{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fbfbfb !important;
  overflow:hidden !important;
}
#espositori .expo-08 .expo-08-open img{
  width:88% !important;
  height:88% !important;
  max-width:88% !important;
  max-height:88% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}


/* ======================================================
   BOZZA 35 — nuovo 06 + rifinitura immagine 01
   ====================================================== */

/* 01: terza immagine spostata visivamente più in alto */
#espositori .expo-product:first-of-type .expo-shot:nth-child(3) img{
  object-position:center 35% !important;
}

/* Nuovo 06 / WALL DISPLAY SYSTEM */
#espositori .expo-06-wall{
  margin-left:-3vw;
  margin-right:-3vw;
}

#espositori .expo-06-wall .expo-product-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;
}

#espositori .expo-06-wall .expo-shot{
  height:760px;
  min-height:760px;
  padding:0;
  overflow:hidden;
  background:#f8f8f7;
  display:flex;
  align-items:center;
  justify-content:center;
}

#espositori .expo-06-wall .expo-shot img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
}

/* Il dettaglio può riempire maggiormente il quadrante */
#espositori .expo-06-wall .expo-detail img{
  object-fit:cover !important;
  object-position:center center !important;
}

@media(max-width:900px){
  #espositori .expo-06-wall{
    margin-left:0;
    margin-right:0;
  }
  #espositori .expo-06-wall .expo-product-gallery{
    grid-template-columns:1fr;
  }
  #espositori .expo-06-wall .expo-shot{
    height:620px;
    min-height:620px;
  }
}


/* ======================================================
   BOZZA 38 — correzioni 01 + apertura immagini 02
   ====================================================== */

/* 01 — ultima foto a destra ripristinata come in bozza 36 */
#espositori .expo-product:first-of-type .expo-shot{
  background:#f5f4f2 !important;
}

#espositori .expo-product:first-of-type .expo-shot:nth-child(3){
  overflow:hidden !important;
}

#espositori .expo-product:first-of-type .expo-shot:nth-child(3) img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
}

/* 02 — prime due foto più aperte:
   niente crop aggressivo e niente "taglio" dello sfondo percepibile */
#espositori .expo-06-wall .expo-shot:nth-child(1),
#espositori .expo-06-wall .expo-shot:nth-child(2){
  background:#f5f4f2 !important;
  overflow:hidden !important;
}

#espositori .expo-06-wall .expo-shot:nth-child(1) img,
#espositori .expo-06-wall .expo-shot:nth-child(2) img{
  width:94% !important;
  height:94% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  margin:auto !important;
}

/* Mantengo il resto invariato */


/* ======================================================
   BOZZA 39 — 02 prime due immagini come la terza
   ====================================================== */

/* 02 — prime due immagini impostate visivamente come l'ultima a destra:
   nessun riquadro/sfondo diverso, immagine piena nel quadrante */
#espositori .expo-06-wall .expo-shot:nth-child(1),
#espositori .expo-06-wall .expo-shot:nth-child(2){
  background:transparent !important;
  overflow:hidden !important;
  padding:0 !important;
}

#espositori .expo-06-wall .expo-shot:nth-child(1) img,
#espositori .expo-06-wall .expo-shot:nth-child(2) img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  margin:0 !important;
  display:block !important;
}


/* ======================================================
   BOZZA 42 — correzione reale sezione 04
   ====================================================== */

/* 04 / COLORS — immagini laterali aperte come le gallery già sistemate */
#espositori .expo-colors .expo-product-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.2rem !important;
  align-items:stretch !important;
}

#espositori .expo-colors .expo-shot{
  height:760px !important;
  min-height:760px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
}

#espositori .expo-colors .expo-shot.expo-color-side img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  margin:0 !important;
  display:block !important;
}

/* la foto centrale resta completa e leggibile */
#espositori .expo-colors .expo-shot:nth-child(2) img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  margin:0 !important;
  display:block !important;
}

@media(max-width:900px){
  #espositori .expo-colors .expo-product-gallery{
    grid-template-columns:1fr !important;
  }
  #espositori .expo-colors .expo-shot{
    height:620px !important;
    min-height:620px !important;
  }
}


/* ======================================================
   BOZZA 45 — 09 COUNTERTOP PRODUCT DISPLAY
   immagini più grandi, prodotto intero, senza cornice di sfondo visibile
   ====================================================== */
.expo-countertop .expo-product-gallery{
  gap:1.1rem;
}

.expo-countertop .expo-shot{
  min-height:680px;
  background:transparent !important;
  padding:0 !important;
}

.expo-countertop .expo-shot img{
  width:100%;
  height:100%;
  max-height:760px;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
}

@media (max-width:900px){
  .expo-countertop .expo-shot{
    min-height:auto;
  }
  .expo-countertop .expo-shot img{
    height:auto;
    max-height:none;
  }
}


/* BOZZA 52 — disposizione esplicita dei 6 servizi */
.service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.service-card-01{grid-column:1;grid-row:1;}
.service-card-02{grid-column:2;grid-row:1;}
.service-card-03{grid-column:3;grid-row:1;}
.service-card-04{grid-column:1;grid-row:2;}
.service-card-05{grid-column:2;grid-row:2;}
.service-card-06{grid-column:3;grid-row:2;}

@media (max-width:900px){
  .service-card-01,
  .service-card-02,
  .service-card-03,
  .service-card-04,
  .service-card-05,
  .service-card-06{
    grid-column:auto;
    grid-row:auto;
  }
}


/* BOZZA 53 — griglia servizi perfettamente simmetrica */
.service-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  column-gap:1.5rem !important;
  row-gap:1.5rem !important;
  align-items:stretch !important;
}
.service-card{
  width:100% !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.service-card-01{grid-column:1 !important;grid-row:1 !important;}
.service-card-02{grid-column:2 !important;grid-row:1 !important;}
.service-card-03{grid-column:3 !important;grid-row:1 !important;}
.service-card-04{grid-column:1 !important;grid-row:2 !important;}
.service-card-05{grid-column:2 !important;grid-row:2 !important;}
.service-card-06{grid-column:3 !important;grid-row:2 !important;}

@media (max-width:900px){
  .service-grid{grid-template-columns:1fr !important;}
  .service-card-01,
  .service-card-02,
  .service-card-03,
  .service-card-04,
  .service-card-05,
  .service-card-06{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}


/* BOZZA 54 — correzione definitiva allineamento servizi */
@media (min-width:901px){
  .service-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    column-gap:0 !important;
    row-gap:0 !important;
  }

  .service-card{
    margin:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
  }

  /* prima colonna: 01 e 04 hanno esattamente la stessa origine orizzontale */
  .service-card-01,
  .service-card-04{
    padding-left:0 !important;
    padding-right:32px !important;
  }

  /* seconda e terza colonna mantengono lo stesso ritmo interno */
  .service-card-02,
  .service-card-03,
  .service-card-05,
  .service-card-06{
    padding-left:32px !important;
    padding-right:32px !important;
  }

  .service-card-01{grid-column:1 !important;grid-row:1 !important;}
  .service-card-02{grid-column:2 !important;grid-row:1 !important;}
  .service-card-03{grid-column:3 !important;grid-row:1 !important;}
  .service-card-04{grid-column:1 !important;grid-row:2 !important;}
  .service-card-05{grid-column:2 !important;grid-row:2 !important;}
  .service-card-06{grid-column:3 !important;grid-row:2 !important;}
}

/* più respiro tra il titolo grande e la frase della sezione Perché DEGI */
.why .partner-single-line{
  margin-top:52px !important;
}
.why .partner-single-line p{
  margin-top:0 !important;
}


/* BOZZA 56 — espositori perfettamente allineati sulla stessa verticale */
#espositori .expo-products{
  width:100% !important;
}

#espositori .expo-product,
#espositori .expo-product:first-of-type,
#espositori .expo-06-wall,
#espositori .expo-04-large,
#espositori .expo-05-large,
#espositori .expo-countertop{
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

#espositori .expo-product-head,
#espositori .expo-product-gallery{
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

#espositori .expo-product-head{
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) !important;
  column-gap:1rem !important;
  align-items:baseline !important;
}

#espositori .expo-product-head span{
  min-width:0 !important;
  width:92px !important;
  display:block !important;
}

#espositori .expo-product-head h3{
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
}

#espositori .expo-product-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.2rem !important;
}

@media (max-width:900px){
  #espositori .expo-product-gallery{
    grid-template-columns:1fr !important;
  }
  #espositori .expo-product-head{
    grid-template-columns:56px minmax(0,1fr) !important;
  }
  #espositori .expo-product-head span{
    width:56px !important;
  }
}


/* BOZZA 59 — nome espositore realmente vicino al numero */
#espositori .expo-product-head{
  display:flex !important;
  align-items:baseline !important;
  gap:.28rem !important;
  width:100% !important;
}

#espositori .expo-product-head span{
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
}

#espositori .expo-product-head h3{
  margin:0 !important;
  padding:0 !important;
  flex:0 1 auto !important;
}

@media (max-width:900px){
  #espositori .expo-product-head{
    display:flex !important;
    gap:.28rem !important;
  }
  #espositori .expo-product-head span{
    width:auto !important;
    min-width:0 !important;
  }
}


/* BOZZA 61 — maggiore efficacia commerciale */
.sales-bridge{
  padding:4.8rem 6vw;
  background:#efeae2;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.sales-bridge-inner{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);
  gap:4rem;
  align-items:end;
}
.sales-bridge-copy h2{
  margin:.75rem 0 1rem;
  max-width:900px;
  font-size:clamp(2rem,3.6vw,4.2rem);
  line-height:1.02;
  font-weight:500;
}
.sales-bridge-copy p:last-child{
  max-width:760px;
  color:var(--muted);
  margin-bottom:0;
}
.sales-bridge-action{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.85rem;
}
.sales-bridge-action span{
  font-size:.88rem;
  color:var(--muted);
}

.expo-cta{
  margin:0;
  padding:5rem 6vw;
  text-align:center;
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.expo-cta h2{
  margin:.7rem auto 1rem;
  max-width:850px;
  font-size:clamp(2rem,3.4vw,3.8rem);
  line-height:1.05;
  font-weight:500;
}
.expo-cta p:not(.eyebrow){
  max-width:700px;
  margin:0 auto 1.8rem;
  color:var(--muted);
}

.contact-assurance{
  margin-top:1.15rem !important;
  margin-bottom:1.6rem !important;
  font-weight:500;
  color:var(--text) !important;
  max-width:650px;
}

@media (max-width:900px){
  .sales-bridge{
    padding:3.6rem 6vw;
  }
  .sales-bridge-inner{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .expo-cta{
    padding:4rem 6vw;
  }
}


/* BOZZA 66 — titolo CTA finale allineato e leggermente ridotto */
.contact .contact-title{
  margin-left:0 !important;
  padding-left:0 !important;
  text-align:left !important;
  font-size:clamp(48px,6.1vw,88px) !important;
  line-height:.98 !important;
  letter-spacing:-.035em !important;
  max-width:900px !important;
}

.contact .contact-title span{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  text-indent:0 !important;
}

@media (max-width:900px){
  .contact .contact-title{
    font-size:48px !important;
  }
}


/* BOZZA 67 — allineamento ottico della prima riga del titolo finale */
.contact .contact-title span:first-child{
  transform:translateX(7px) !important;
}

@media (max-width:900px){
  .contact .contact-title span:first-child{
    transform:translateX(5px) !important;
  }
}


/* BOZZA 68 — allineamento verticale a sinistra del titolo finale */
.contact .contact-title{
  margin-left:0 !important;
  padding-left:0 !important;
  text-align:left !important;
}

.contact .contact-title span{
  display:block !important;
  margin-left:0 !important;
  padding-left:0 !important;
  text-indent:0 !important;
  transform:none !important;
}

.contact .contact-title span:first-child{
  transform:translateX(-7px) !important;
}

@media (max-width:900px){
  .contact .contact-title span:first-child{
    transform:translateX(-5px) !important;
  }
}


/* BOZZA 69 — intera frase CTA finale allineata a sinistra */
.contact .contact-title{
  margin-left:-7px !important;
  padding-left:0 !important;
  text-align:left !important;
}

.contact .contact-title span,
.contact .contact-title span:first-child{
  display:block !important;
  margin-left:0 !important;
  padding-left:0 !important;
  text-indent:0 !important;
  transform:none !important;
}

@media (max-width:900px){
  .contact .contact-title{
    margin-left:-5px !important;
  }
}


/* BOZZA 70 — CTA finale ridimensionata, allineata a sinistra, interlinea uniforme */
.contact .contact-title{
  margin-left:0 !important;
  margin-right:0 !important;
  padding:0 !important;
  text-align:left !important;
  font-size:clamp(42px,5.2vw,76px) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  max-width:860px !important;
}

.contact .contact-title span,
.contact .contact-title span:first-child{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  text-indent:0 !important;
  transform:none !important;
  line-height:1.05 !important;
  text-align:left !important;
}

@media (max-width:900px){
  .contact .contact-title{
    font-size:44px !important;
    line-height:1.05 !important;
  }
}


/* BOZZA 71 — CTA finale completamente uniforme e simmetrica */
.contact .contact-title{
  display:block !important;
  width:100% !important;
  max-width:760px !important;
  margin:0 0 28px 0 !important;
  padding:0 !important;
  text-align:left !important;
  font-size:clamp(42px,5vw,72px) !important;
  line-height:1.06 !important;
  letter-spacing:-.03em !important;
  font-weight:400 !important;
  text-indent:0 !important;
  transform:none !important;
  white-space:normal !important;
}

.contact .contact-title *{
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  line-height:inherit !important;
  font-size:inherit !important;
  letter-spacing:inherit !important;
}

@media (max-width:900px){
  .contact .contact-title{
    max-width:100% !important;
    font-size:42px !important;
    line-height:1.06 !important;
  }
}


/* BOZZA 73 — hero mobile più nitida e perfettamente allineata */
@media (max-width:900px){
  .hero{
    height:82svh !important;
    min-height:620px !important;
    max-height:760px !important;
  }

  .hero-media{
    overflow:hidden !important;
    background:#222 !important;
  }

  .hero-media img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:50% 50% !important;
    transform:none !important;
    margin:0 !important;
    display:block !important;
    image-rendering:auto !important;
    backface-visibility:hidden !important;
  }

  .hero-overlay{
    transform:none !important;
  }

  .hero-copy{
    padding:88px 22px 34px !important;
  }
}

@media (max-width:600px){
  .hero{
    height:78svh !important;
    min-height:600px !important;
    max-height:720px !important;
  }

  .hero-media img{
    object-position:50% 48% !important;
  }
}


/* BOZZA 74 — hero mobile dedicata: allineamento + nitidezza */
.hero-media picture{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.hero-media picture img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  transform:none !important;
}
@media (max-width:900px){
  .hero-media picture img{
    object-position:50% 50% !important;
  }
}


/* BOZZA 78 — hero mobile: testi in alto, CTA lasciate in basso */
@media (max-width:900px){
  .hero{
    position:relative !important;
  }

  .hero-copy{
    height:100% !important;
    max-width:none !important;
    padding:92px 22px 34px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
  }

  .hero-copy .eyebrow{
    margin-top:0 !important;
    margin-bottom:24px !important;
  }

  .hero h1{
    margin:0 0 24px 0 !important;
  }

  .hero-text{
    margin:0 !important;
    max-width:690px !important;
  }

  .hero-actions{
    margin-top:auto !important;
    padding-bottom:18px !important;
    display:flex !important;
    gap:12px !important;
    flex-wrap:wrap !important;
  }
}

@media (max-width:600px){
  .hero-copy{
    padding-top:84px !important;
    padding-bottom:28px !important;
  }

  .hero-actions{
    padding-bottom:8px !important;
  }
}


/* BOZZA 79 — composizione mobile finale approvata */
@media (max-width:900px){
  .hero{
    height:92svh !important;
    min-height:760px !important;
    max-height:980px !important;
  }

  .hero-copy{
    padding:88px 22px 34px !important;
    justify-content:flex-start !important;
  }

  .hero-copy .eyebrow{
    margin:0 0 22px 0 !important;
  }

  .hero h1{
    margin:0 0 22px 0 !important;
    font-size:clamp(50px,13vw,64px) !important;
    line-height:.98 !important;
  }

  .hero-text{
    margin:0 !important;
    max-width:700px !important;
  }

  .hero-actions{
    margin-top:auto !important;
    padding-bottom:18px !important;
  }
}


/* BOZZA 81 — CTA mobile spostate sotto l'espositore */
@media (max-width:900px){
  .hero{
    height:98svh !important;
    min-height:820px !important;
    max-height:1040px !important;
  }

  .hero-actions{
    margin-top:auto !important;
    padding-bottom:6px !important;
    transform:translateY(18px) !important;
  }
}

@media (max-width:600px){
  .hero{
    height:100svh !important;
    min-height:840px !important;
    max-height:1080px !important;
  }

  .hero-actions{
    transform:translateY(24px) !important;
    padding-bottom:0 !important;
  }
}


/* BOZZA 82 — CTA mobile rialzate leggermente, come nell'anteprima approvata */
@media (max-width:900px){
  .hero-actions{
    transform:translateY(8px) !important;
    padding-bottom:10px !important;
  }
}

@media (max-width:600px){
  .hero-actions{
    transform:translateY(10px) !important;
    padding-bottom:8px !important;
  }
}


/* BOZZA 85 — modulo di contatto lead */
.contact-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(260px,.72fr) !important;
  gap:4.5vw !important;
  align-items:start !important;
}

.contact-form-wrap{
  padding-top:2px;
}

.contact-form-wrap h3{
  margin:.55rem 0 1.6rem;
  font-size:clamp(28px,2.4vw,40px);
  line-height:1.05;
  font-weight:500;
  letter-spacing:-.02em;
}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.contact-form label{
  display:flex;
  flex-direction:column;
  gap:.48rem;
}

.contact-form label > span{
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  padding:.8rem 0 .72rem;
  font:inherit;
  color:var(--text);
  border-radius:0;
  outline:none;
}

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

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-bottom-color:var(--text);
}

.contact-form .btn{
  align-self:flex-start;
  border:0;
  cursor:pointer;
}

.form-privacy{
  margin:.15rem 0 .25rem !important;
  max-width:620px !important;
  font-size:.78rem !important;
  line-height:1.45 !important;
  color:var(--muted) !important;
}

.form-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.form-status{
  margin:.35rem 0 0 !important;
  font-size:.9rem !important;
  color:var(--text) !important;
}

.form-status.success{
  color:#42684f !important;
}

.form-status.error{
  color:#8a3f38 !important;
}

@media (max-width:1100px){
  .contact-grid{
    grid-template-columns:1fr 1fr !important;
  }
  .contact-details{
    grid-column:1 / -1;
  }
}

@media (max-width:760px){
  .contact-grid{
    grid-template-columns:1fr !important;
    gap:3.2rem !important;
  }
  .contact-details{
    grid-column:auto;
  }
  .form-row{
    grid-template-columns:1fr;
  }
}


/* BOZZA 86 — modulo più breve e a minore attrito */
.contact-form label > span em{
  font-style:normal;
  text-transform:none;
  letter-spacing:0;
  opacity:.7;
}

.form-direct{
  display:flex;
  align-items:center;
  gap:.9rem;
  flex-wrap:wrap;
  margin:.15rem 0 .1rem;
  font-size:.88rem;
}

.form-direct span{
  color:var(--muted);
}

.form-direct a{
  color:var(--text);
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
}

.form-direct a:hover{
  opacity:.65;
}


/* BOZZA 87 — gerarchia contatti più pulita */
.contact-form-wrap{
  padding-top:4px;
}

.contact-form-wrap > .eyebrow{
  margin-bottom:1.35rem !important;
}

.contact-form-wrap h3{
  display:none !important;
}


/* BOZZA 88 — CTA progetto e contatti separati */
.project-cta{
  border-top:1px solid var(--line);
}

.project-cta-inner{
  max-width:980px;
}

.project-cta-inner h2{
  margin:.55rem 0 1.15rem;
  font-size:clamp(42px,5.4vw,78px);
  line-height:.97;
  letter-spacing:-.04em;
  font-weight:500;
}

.project-cta-inner > p:not(.eyebrow){
  max-width:680px;
  margin:0 0 1.7rem;
  color:var(--muted);
  font-size:1.04rem;
  line-height:1.65;
}

.quick-contact{
  border-top:1px solid var(--line);
}

.quick-contact-head{
  display:grid;
  grid-template-columns:.55fr 1.2fr 1fr;
  gap:3vw;
  align-items:end;
  margin-bottom:3rem;
}

.quick-contact-head h2{
  margin:0;
  font-size:clamp(38px,4.4vw,64px);
  line-height:.98;
  letter-spacing:-.035em;
  font-weight:500;
}

.quick-contact-head > p:last-child{
  margin:0;
  max-width:360px;
  color:var(--muted);
  line-height:1.55;
}

.quick-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(250px,.65fr);
  gap:7vw;
  align-items:start;
}

.quick-contact-form{
  display:flex;
  flex-direction:column;
  gap:1rem;
  max-width:760px;
}

.quick-contact-form label{
  display:flex;
  flex-direction:column;
  gap:.48rem;
}

.quick-contact-form label > span{
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}

.quick-contact-form label > span em{
  font-style:normal;
  text-transform:none;
  letter-spacing:0;
  opacity:.7;
}

.quick-contact-form input,
.quick-contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  padding:.8rem 0 .72rem;
  font:inherit;
  color:var(--text);
  border-radius:0;
  outline:none;
}

.quick-contact-form textarea{
  resize:vertical;
  min-height:105px;
}

.quick-contact-form input:focus,
.quick-contact-form textarea:focus{
  border-bottom-color:var(--text);
}

.quick-contact-form .btn{
  align-self:flex-start;
  border:0;
  cursor:pointer;
}

.quick-contact-details{
  display:flex;
  flex-direction:column;
  gap:1.65rem;
  padding-top:.2rem;
}

.quick-contact-details > div{
  padding-bottom:1.25rem;
  border-bottom:1px solid var(--line);
}

.quick-contact-details span{
  display:block;
  margin-bottom:.55rem;
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}

.quick-contact-details a{
  color:var(--text);
  text-decoration:none;
  line-height:1.5;
}

.quick-contact-details a:hover{
  opacity:.65;
}

@media (max-width:900px){
  .quick-contact-head{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .quick-contact-grid{
    grid-template-columns:1fr;
    gap:3rem;
  }
}

@media (max-width:600px){
  .project-cta-inner h2{
    font-size:clamp(38px,11vw,54px);
  }

  .quick-contact-head{
    margin-bottom:2.2rem;
  }

  .quick-contact-form .form-row{
    grid-template-columns:1fr;
  }
}


/* BOZZA 92 — video mobile dedicato, desktop invariato */
@media (max-width:900px){
  .video-wrap{
    grid-template-columns:1fr !important;
  }

  .video-wrap video{
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
    background:#111 !important;
  }
}


/* BOZZA 93 — sezione Contatti ottimizzata solo per mobile */
@media (max-width:760px){

  .quick-contact{
    padding-top:72px !important;
    padding-bottom:78px !important;
  }

  .quick-contact .section-tag{
    margin-bottom:38px !important;
  }

  .quick-contact-head{
    display:block !important;
    margin-bottom:36px !important;
  }

  .quick-contact-head .eyebrow{
    margin:0 0 16px !important;
  }

  .quick-contact-head h2{
    margin:0 0 18px !important;
    font-size:clamp(40px,12vw,54px) !important;
    line-height:.98 !important;
    letter-spacing:-.035em !important;
  }

  .quick-contact-head > p:last-child{
    margin:0 !important;
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.55 !important;
  }

  .quick-contact-grid{
    display:block !important;
  }

  .quick-contact-form{
    width:100% !important;
    max-width:none !important;
    gap:20px !important;
  }

  .quick-contact-form .form-row{
    display:block !important;
  }

  .quick-contact-form .form-row label + label{
    margin-top:20px !important;
  }

  .quick-contact-form label{
    gap:8px !important;
  }

  .quick-contact-form label > span{
    font-size:11px !important;
    line-height:1.3 !important;
    letter-spacing:.11em !important;
  }

  .quick-contact-form input,
  .quick-contact-form textarea{
    font-size:16px !important;
    line-height:1.4 !important;
    padding:12px 0 13px !important;
  }

  .quick-contact-form textarea{
    min-height:120px !important;
  }

  .quick-contact-form .form-privacy{
    margin:2px 0 0 !important;
    font-size:12px !important;
    line-height:1.5 !important;
  }

  .quick-contact-form .btn{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    margin-top:2px !important;
  }

  .quick-contact-details{
    margin-top:48px !important;
    gap:0 !important;
    border-top:1px solid var(--line) !important;
  }

  .quick-contact-details > div{
    padding:20px 0 !important;
    border-bottom:1px solid var(--line) !important;
  }

  .quick-contact-details span{
    margin-bottom:7px !important;
    font-size:10px !important;
    letter-spacing:.13em !important;
  }

  .quick-contact-details a{
    display:block !important;
    font-size:15px !important;
    line-height:1.5 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  .quick-contact .form-status{
    font-size:13px !important;
    line-height:1.45 !important;
  }
}


/* BOZZA 99 — Materiali e finiture */
.materials-library{
  border-top:1px solid var(--line);
}

.materials-library-head{
  display:grid;
  grid-template-columns:.55fr 1.25fr 1fr;
  gap:3vw;
  align-items:end;
  margin-bottom:3rem;
}

.materials-library-head .eyebrow{
  margin:0;
  align-self:start;
}

.materials-library-head h2{
  margin:0;
  font-size:clamp(42px,5vw,72px);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:500;
}

.materials-library-head > p:last-child{
  margin:0;
  max-width:420px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.6;
}

.materials-library-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:2.4rem 1.2rem;
}

.material-sample{
  min-width:0;
}

.material-sample-media{
  overflow:hidden;
  aspect-ratio:1 / 1;
  background:#e9e7e2;
}

.material-sample-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .45s ease;
}

.material-sample:hover .material-sample-media img{
  transform:scale(1.025);
}

.material-sample-data{
  padding-top:.85rem;
}

.material-sample-data dl{
  margin:0;
}

.material-sample-data dl > div{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:1rem;
  padding:.58rem 0;
  border-top:1px solid var(--line);
}

.material-sample-data dt,
.material-sample-data dd{
  margin:0;
  font-size:.74rem;
  line-height:1.4;
}

.material-sample-data dt{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.1em;
}

.material-sample-data dd{
  text-align:right;
  font-weight:500;
  letter-spacing:.035em;
}

.materials-library-note{
  margin:2rem 0 0;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.5;
}

@media (max-width:1100px){
  .materials-library-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2.2rem 1rem;
  }
}

@media (max-width:760px){
  .materials-library{
    padding-top:72px !important;
    padding-bottom:78px !important;
  }

  .materials-library .section-tag{
    margin-bottom:38px !important;
  }

  .materials-library-head{
    display:block;
    margin-bottom:2.2rem;
  }

  .materials-library-head .eyebrow{
    margin:0 0 16px !important;
  }

  .materials-library-head h2{
    margin:0 0 18px;
    font-size:clamp(40px,12vw,54px);
    line-height:.98;
  }

  .materials-library-head > p:last-child{
    max-width:100%;
    font-size:16px;
    line-height:1.55;
  }

  .materials-library-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2rem .75rem;
  }

  .material-sample-data dl > div{
    display:block;
    padding:.48rem 0;
  }

  .material-sample-data dd{
    margin-top:.12rem;
    text-align:left;
    font-size:.76rem;
  }

  .materials-library-note{
    margin-top:1.5rem;
    font-size:.68rem;
  }
}

@media (max-width:420px){
  .materials-library-grid{
    grid-template-columns:1fr;
    gap:2.2rem;
  }

  .material-sample-data dl > div{
    display:flex;
  }

  .material-sample-data dd{
    margin-top:0;
    text-align:right;
  }
}
