/* V10 — sistema visivo condiviso dalle pagine interne. */
.v10-internal{background:#f5f5f1;color:#575756}
.v10-internal .nav,.v10-internal .nav.scrolled{background:#575756;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
.v10-internal .navlinks>a,.v10-internal .drop>button{color:#fff}
.v10-internal .navlinks>a.active,.v10-internal .drop>button.active,.v10-internal .navlinks>a:hover,.v10-internal .drop>button:hover{color:#fbc673}
.v10-internal .progress{background:#ae191c}
.btn.red,.navlinks>.nav-cta{border-right:0!important}
.v10-services .v10-overline,.v10-multisite .v10-overline,.v10-quality .v10-overline,.v10-final-cta .v10-overline{color:#fbc673}
.v10-internal .page-hero{min-height:78vh;padding:190px 5vw 90px;background:#575756;color:#fff;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);isolation:isolate}
.v10-internal .page-hero:before{content:"";position:absolute;inset:0;z-index:0;background-image:var(--hero-image,none);background-size:cover;background-repeat:no-repeat;background-position:var(--hero-pos,100% 25%);opacity:0}
.v10-internal .page-hero.has-hero-image:before{opacity:1}
.v10-internal .page-hero:after{content:"";position:absolute;inset:0;z-index:1;width:auto;height:auto;border:0;border-radius:0;right:auto;top:auto;box-shadow:none;background:linear-gradient(90deg,rgba(31,32,32,.85) 0%,rgba(31,32,32,.7) 34%,rgba(31,32,32,0) 60%),linear-gradient(0deg,rgba(31,32,32,.58),transparent 58%)}
.v10-internal .page-hero.hero-flip:before{transform:scaleX(-1)}
.v10-internal .page-hero:not(.has-hero-image):after{background:radial-gradient(circle at 84% 24%,rgba(251,198,115,.2),transparent 24%),linear-gradient(135deg,#575756,#414140)}
.v10-internal .page-hero>*{position:relative;z-index:2}
.v10-internal .page-hero>div{max-width:980px}
.v10-internal .page-hero h1{font-size:clamp(54px,7vw,110px);line-height:.94;letter-spacing:-.05em;font-weight:300}
.v10-internal .page-hero h1 strong{font-weight:700}
.v10-internal .page-hero p{max-width:590px;font-size:19px;color:rgba(255,255,255,.88)}
.v10-internal .eyebrow{color:#fbc673}
.v10-internal .editorial-shell{max-width:1700px;margin:auto;padding:34px 5vw 100px}
.v10-internal .editorial-section{padding:72px 0;border-bottom:1px solid rgba(87,87,86,.2)}
.v10-internal .editorial-section:last-child{border-bottom:0}
.v10-internal .editorial-media-break{max-width:1360px;margin:10px auto 20px;border-left:6px solid #AE191C;overflow:hidden;background:#292a2a}
.v10-internal .editorial-media-break img{width:100%;aspect-ratio:16/7;object-fit:cover;object-position:center 25%;display:block}
.v10-internal .editorial-copy{max-width:1180px;margin:auto}
.v10-internal .editorial-copy h2,.v10-internal .prose h2{margin:0 0 28px;font-size:clamp(34px,4.2vw,65px);line-height:1.04;letter-spacing:-.04em;font-weight:300;color:#575756}
.v10-internal .editorial-copy h3,.v10-internal .prose h3{margin:42px 0 14px;font-size:26px;color:#575756}
.v10-internal .editorial-copy p,.v10-internal .editorial-copy li,.v10-internal .prose p,.v10-internal .prose li{font-size:17px;line-height:1.76;color:#646560}
.v10-internal .editorial-copy ul,.v10-internal .editorial-copy ol,.v10-internal .prose ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:34px 0 0;padding:1px;background:rgba(87,87,86,.18);list-style:none;counter-reset:item}
.v10-internal .editorial-copy li,.v10-internal .prose li{position:relative;min-height:118px;padding:27px 30px 27px 60px;background:#fff}
.v10-internal .editorial-copy ul li:before,.v10-internal .prose ul li:before{content:"↗";position:absolute;left:28px;top:28px;color:#ae191c;font-weight:700}
.v10-internal .editorial-copy ol li{counter-increment:item}
.v10-internal .editorial-copy ol li:before{content:counter(item,decimal-leading-zero);position:absolute;left:25px;top:29px;color:#ae191c;font-size:12px;font-weight:700}
.v10-internal .related-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.v10-internal .related-links a{display:inline-flex;align-items:center;min-height:46px;padding:12px 16px;border:1px solid rgba(87,87,86,.28);background:#fff;color:#575756;font-weight:700;transition:.25s}
.v10-internal .related-links a:hover{border-color:#ae191c;color:#ae191c;transform:translateY(-2px)}
.v10-internal .section{padding:110px 5vw}
.v10-internal .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(87,87,86,.18)}
.v10-internal .card{min-height:340px;border-top:4px solid #575756;box-shadow:none}
.v10-internal .card:nth-child(3n+1),.v10-internal .card:nth-child(3n+2){border-color:#ae191c}
.v10-internal .card:hover{transform:translateY(-5px);box-shadow:0 20px 55px rgba(87,87,86,.12)}
.v10-internal .band{background:#ae191c}
.v10-internal .btn.green{background:#ae191c;border-color:#ae191c;color:#fff}
.v10-internal .editorial-final{padding:100px 5vw;background:#575756;color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end}
.v10-internal .editorial-final h2{margin:0;font-size:clamp(45px,6vw,88px);line-height:.98;letter-spacing:-.045em;font-weight:300}
.v10-internal .editorial-final h2 strong{font-weight:700}
.v10-internal .editorial-final p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.75)}
.v10-internal .contact-grid{align-items:start}
.v10-internal .contact-box{background:#575756}
.v10-internal .form{padding:34px;background:#fff;box-shadow:0 25px 65px rgba(87,87,86,.09)}
.v10-internal .field input,.v10-internal .field textarea,.v10-internal .field select{border:1px solid rgba(87,87,86,.28);border-radius:0}
.v10-internal .check-field{grid-column:1/-1;display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start}
.v10-internal .check-field input{width:18px;height:18px;margin-top:3px;accent-color:#ae191c}
.v10-internal .check-field label{font-size:14px;line-height:1.5;color:#575756;text-transform:none;letter-spacing:0}
.v10-internal .check-field a{text-decoration:underline;color:#ae191c}
.v10-internal .hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.v10-internal .form-status{display:none;grid-column:1/-1;padding:15px;border-left:4px solid #ae191c;background:#f5f5f1;color:#575756}
.v10-internal .form-status.show{display:block}
.v10-internal .legal-copy{max-width:980px;margin:auto;overflow-x:auto}
.v10-internal .legal-copy h2{margin:60px 0 18px;font-size:34px;color:#575756}
.v10-internal .legal-copy h3{margin:48px 0 16px;font-size:27px;line-height:1.2;color:#575756}
.v10-internal .legal-copy p,.v10-internal .legal-copy li{font-size:17px;line-height:1.78;color:#575756}
.v10-internal .legal-copy ul{padding-left:22px}
.v10-internal .legal-text p{white-space:pre-line}
.v10-internal .legal-copy mark{background:#fff1c9;color:#292a2a;padding:.12em .3em}
.v10-internal .legal-table-wrap{max-width:100%;overflow-x:auto;margin:28px 0 44px}
.v10-internal .legal-copy table{width:100%;border-collapse:collapse;min-width:720px;font-size:15px;line-height:1.55}
.v10-internal .legal-copy th,.v10-internal .legal-copy td{padding:16px 18px;text-align:left;vertical-align:top;border:1px solid rgba(87,87,86,.22)}
.v10-internal .legal-copy th{background:#292a2a;color:#fff;font-weight:700}
.v10-internal .footer{grid-template-columns:1.05fr 1.4fr .8fr .9fr;gap:3vw;background:#575756}
.v10-internal .footer h4,.footer h4{color:#fbc673}
.footer-services{columns:2;column-gap:24px}
.footer-services a{break-inside:avoid}
.v10-sector-card{background-size:cover;background-position:center;color:#fff}
.v10-sector-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(41,42,42,.92),rgba(41,42,42,.08) 72%);z-index:0}
.v10-sector-card>*{position:relative;z-index:1}
.v10-sector-card.retail{background-image:url("assets/internal/retail.jpg")}
.v10-sector-card.health{background-image:url("assets/internal/sanita.jpg")}
.v10-sector-card.industry{background-image:url("assets/internal/manutenzione.jpg");background-position:98% 30%}
.v10-sector-card.pharma{background-image:url("assets/internal/farmaceutico.jpg");background-position:88% 30%}
.v10-sector-card p{color:rgba(255,255,255,.78)}
.v10-sector-card>span{color:#fff}
.faq-shell,.cases-shell{max-width:1360px;margin:auto;padding:90px 5vw 120px}
.faq-group{display:grid;grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);gap:6vw;padding:58px 0;border-top:1px solid rgba(87,87,86,.22)}
.faq-group:first-child{border-top:0}
.faq-group-title span,.case-heading>span{display:block;margin-bottom:14px;color:#ae191c;font-size:13px;font-weight:700;letter-spacing:.16em}
.faq-group-title h2{margin:0;font-size:clamp(30px,3.3vw,52px);line-height:1.04;letter-spacing:-.035em;font-weight:300}
.faq-list{border-top:1px solid rgba(87,87,86,.28)}
.faq-list details{border-bottom:1px solid rgba(87,87,86,.28);background:#fff}
.faq-list summary{position:relative;padding:24px 64px 24px 24px;cursor:pointer;list-style:none;font-size:19px;font-weight:700;line-height:1.35;color:#575756}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:24px;top:18px;color:#ae191c;font-size:30px;font-weight:300}
.faq-list details[open] summary:after{content:"−"}
.faq-list details[open] summary{color:#ae191c}
.faq-list details p{margin:0;padding:0 64px 26px 24px;font-size:17px;line-height:1.72;color:#646560}
.faq-list details a{color:#ae191c;text-decoration:underline}
.case-study{padding:80px 0 100px;border-top:1px solid rgba(87,87,86,.22);scroll-margin-top:110px}
.case-study:first-child{padding-top:20px;border-top:0}
.case-heading{display:grid;grid-template-columns:80px 1fr;gap:24px;max-width:1040px;margin-bottom:42px}
.case-heading .eyebrow{margin:0 0 14px;color:#ae191c}
.case-heading h2{margin:0;font-size:clamp(42px,5.6vw,82px);line-height:.98;letter-spacing:-.045em;font-weight:300;color:#575756}
.case-services{margin:18px 0 0;font-weight:700;color:#575756}
.case-gallery{display:grid;gap:4px;margin:0 0 48px;background:#575756}
.case-gallery-two{grid-template-columns:1.35fr .65fr}
.case-gallery-three{grid-template-columns:1.2fr .8fr .8fr}
.case-gallery-feature{grid-template-columns:1.45fr .55fr .55fr;grid-template-rows:1fr 1fr}
.case-gallery-feature figure:first-child{grid-row:1 / span 2}
.case-gallery-feature figure:last-child{grid-column:2 / span 2}
.case-gallery-feature figure:first-child img{object-fit:contain;background:#292a2a}
.case-gallery figure{margin:0;min-height:420px;overflow:hidden}
.case-gallery img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center 25%;transition:transform .6s ease}
.case-gallery figure:hover img{transform:scale(1.025)}
#caso-farmaceutico .case-gallery-three figure:last-child img{object-position:right 25%}
.case-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(87,87,86,.2)}
.case-story section{padding:32px;background:#fff}
.case-story h3{margin:0 0 16px;font-size:21px;color:#ae191c}
.case-story p{margin:0;font-size:17px;line-height:1.72;color:#646560}
.case-related{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:28px}
.case-related strong{margin-right:12px;color:#575756}
.case-related a{display:inline-flex;padding:10px 13px;border:1px solid rgba(87,87,86,.28);background:#fff;color:#575756;font-size:14px;font-weight:700}
.case-related a:hover{border-color:#ae191c;color:#ae191c}
.service-resources,.contact-faq{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px 5vw;background:#fff;border-top:1px solid rgba(87,87,86,.2)}
.service-resources p,.contact-faq p{margin:0;font-size:17px;line-height:1.55}
.service-resource-links{display:flex;gap:10px;flex-wrap:wrap}
.service-resource-links a,.contact-faq a{display:inline-flex;align-items:center;min-height:46px;padding:12px 18px;border:1px solid rgba(87,87,86,.3);color:#575756;font-weight:700}
.service-resource-links a:hover,.contact-faq a:hover{border-color:#ae191c;color:#ae191c}
.service-shell,.overview-shell{max-width:1540px;margin:auto;padding:0 5vw 110px}
.service-intro{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:8vw;padding:110px 0;border-bottom:1px solid rgba(87,87,86,.22)}
.section-kicker,.service-heading>span,.family-heading>span{display:block;margin-bottom:15px;color:#ae191c;font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.service-intro h2,.service-heading h2,.family-heading h2,.quote-copy h2{margin:0;font-size:clamp(38px,4.6vw,70px);line-height:1.02;letter-spacing:-.045em;font-weight:300;color:#575756}
.service-intro p,.service-content p,.activity-copy p,.step-grid p,.service-areas,.quote-copy p,.overview-intro,.overview-card p{font-size:17px;line-height:1.72;color:#646560}
.text-link{display:inline-flex;margin-top:20px;color:#ae191c;font-weight:700}
.service-section{padding:95px 0;border-bottom:1px solid rgba(87,87,86,.22)}
.service-heading{display:grid;grid-template-columns:minmax(250px,.45fr) minmax(0,1fr);gap:5vw;margin-bottom:52px}
.service-heading>span{padding-top:10px}
.activity-list{display:grid;gap:2px}
.activity-row{display:grid;grid-template-columns:1fr;background:#fff;min-height:340px}
.activity-row.has-image{grid-template-columns:1fr 1fr}
.activity-row:nth-child(even) .activity-copy{order:2}
.activity-row:nth-child(even) figure{order:1}
.activity-copy{padding:clamp(32px,5vw,72px)}
.activity-copy>span,.step-grid article>span{display:block;margin-bottom:28px;color:#ae191c;font-size:12px;font-weight:700;letter-spacing:.13em}
.activity-copy h3{margin:0 0 18px;font-size:clamp(27px,3vw,43px);line-height:1.08;font-weight:400;color:#575756}
.activity-copy .ideal{margin-top:24px;padding-top:20px;border-top:1px solid rgba(87,87,86,.2);font-size:15px}
.activity-row figure{margin:0;min-height:340px;overflow:hidden;background:#292a2a}
.activity-row img{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:right 25%;display:block}
.step-grid,.guarantee-grid,.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:rgba(87,87,86,.16)}
.step-grid article,.support-grid article,.guarantee-grid li{padding:34px;background:#fff;list-style:none}
.step-grid h3,.support-grid h3{margin:0 0 14px;font-size:22px;color:#575756}
.guarantee-grid{margin:0;padding:2px}
.guarantee-grid li{position:relative;min-height:125px;padding-left:64px;font-size:17px;line-height:1.55;color:#575756}
.guarantee-grid li:before{content:"✓";position:absolute;left:30px;color:#ae191c;font-weight:700}
.sector-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:rgba(87,87,86,.16)}
.sector-link-grid a{display:flex;justify-content:space-between;gap:20px;padding:28px;background:#fff;color:#575756;font-size:18px;font-weight:700}
.sector-link-grid a:hover{color:#ae191c}
.service-areas{margin-top:28px}
.service-faq .faq-list{max-width:980px;margin-left:auto}
.quote{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start}
.response-note{font-weight:700;color:#ae191c!important}
.service-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.service-form .field.full{grid-column:1/-1}
.related-service{border-bottom:0}
.service-context .service-content{max-width:1100px;margin-left:auto}
.service-table-wrap{overflow-x:auto;margin-top:30px}
.service-table-wrap table{width:100%;border-collapse:collapse;background:#fff}
.service-table-wrap th,.service-table-wrap td{padding:18px;border:1px solid rgba(87,87,86,.2);text-align:left;vertical-align:top}
.service-table-wrap th{background:#292a2a;color:#fff}
.overview-intro{max-width:920px;margin:0;padding:100px 0 80px;font-size:21px}
.service-family{padding:70px 0;border-top:1px solid rgba(87,87,86,.22)}
.family-heading{display:grid;grid-template-columns:.35fr 1fr;gap:5vw;margin-bottom:45px}
.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:rgba(87,87,86,.16)}
.overview-card{display:flex;flex-direction:column;min-height:470px;padding:34px;background:#fff;border-top:4px solid #ae191c}
.overview-card small{color:#ae191c;font-weight:700;letter-spacing:.12em}
.overview-card h3{margin:24px 0 18px;font-size:28px;line-height:1.08;color:#575756}
.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 8px}
.tag-list span{padding:7px 9px;background:#f1f1ed;font-size:12px;font-weight:700;color:#575756}
.overview-card .ideal{font-size:14px}
.overview-card>a{margin-top:auto;padding-top:20px;color:#ae191c;font-weight:700}
.sector-needs .support-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.support-grid article>span{display:block;margin-bottom:24px;color:#ae191c;font-size:12px;font-weight:700;letter-spacing:.13em}
.sector-case{display:grid;grid-template-columns:1.15fr .85fr;min-height:540px;padding:0;background:#292a2a;color:#fff;border-bottom:0}
.sector-case-media{min-height:540px;overflow:hidden}
.sector-case-media img{width:100%;height:100%;min-height:540px;object-fit:cover;display:block}
.sector-case-media img[src$=".svg"]{object-fit:contain;background:#292a2a}
.sector-case-copy{align-self:center;padding:clamp(40px,6vw,90px)}
.sector-case-copy h2{margin:0 0 24px;font-size:clamp(38px,4.5vw,68px);line-height:1.02;letter-spacing:-.045em;font-weight:300;color:#fff}
.sector-case-copy p{margin:0 0 28px;font-size:17px;line-height:1.72;color:rgba(255,255,255,.76)}
.sector-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:90px 0 110px}
.sector-overview-card{min-height:560px}
.sector-card-label{margin:18px 0 8px!important;color:#ae191c!important;font-size:12px!important;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:rgba(87,87,86,.16)}
.certificate-card{display:flex;flex-direction:column;min-height:510px;padding:34px;background:#fff;border-top:4px solid #ae191c}
.certificate-card>span{color:#ae191c;font-size:12px;font-weight:700;letter-spacing:.14em}
.certificate-card>strong{margin:28px 0 8px;font-size:clamp(34px,4vw,58px);line-height:1;color:#575756}
.certificate-card h3{margin:0 0 20px;font-size:22px;color:#575756}
.certificate-card p{font-size:16px;line-height:1.65;color:#646560}
.certificate-card .certificate-benefit{padding-top:18px;border-top:1px solid rgba(87,87,86,.18)}
.certificate-card small{margin-top:auto;padding-top:20px;color:#646560}
.certificate-card a{margin-top:24px;color:#ae191c;font-weight:700}
.method-timeline{max-width:1100px;margin-left:auto;border-left:1px solid rgba(87,87,86,.28)}
.method-timeline article{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:0 0 64px 38px;position:relative}
.method-timeline article:before{content:"";position:absolute;left:-7px;top:0;width:13px;height:13px;border-radius:50%;background:#ae191c}
.method-timeline article>span{color:#ae191c;font-size:13px;font-weight:700;letter-spacing:.15em}
.method-timeline h3{margin:0 0 14px;font-size:clamp(28px,3vw,43px);color:#575756}
.method-timeline p{margin:0;font-size:17px;line-height:1.72;color:#646560}
.timeline-receive{margin-top:20px!important;padding:18px 20px;border-left:4px solid #ae191c;background:#fff;color:#575756!important}
.presence-map img{display:block;width:100%;background:#292a2a}
.v10-internal .location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:rgba(87,87,86,.16)}
.v10-internal .location{min-height:250px;padding:34px;background:#fff;border-top:4px solid #ae191c}
.v10-internal .location small{color:#ae191c;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.v10-internal .location h3{margin:30px 0 14px;font-size:36px;color:#575756}
.v10-internal .location p{font-size:17px;line-height:1.65;color:#646560}
.career-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.career-form .field.full{grid-column:1/-1}
.contact-assurances{margin-top:24px!important;color:#fff!important;font-weight:700}
.conditional-sites[hidden]{display:none!important}
.map-external{display:inline-flex;margin:8px 0;padding:10px 14px;border:1px solid rgba(255,255,255,.45);color:#fff;font-weight:700}
@media(max-width:1050px){
  .v10-internal .page-hero:before{background-position:var(--hero-pos-tablet,var(--hero-pos,100% 20%))}
  .v10-internal .page-hero{grid-template-columns:1fr;min-height:70vh}
  .v10-internal .cards{grid-template-columns:1fr 1fr}
  .v10-internal .footer{grid-template-columns:1fr 1fr}
  .step-grid,.guarantee-grid,.support-grid,.overview-grid{grid-template-columns:1fr 1fr}
  .sector-link-grid{grid-template-columns:1fr 1fr}
  .case-gallery-feature{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .case-gallery-feature figure:first-child{grid-column:1 / -1;grid-row:auto}
  .case-gallery-feature figure:last-child{grid-column:1 / -1}
  #caso-farmaceutico .case-gallery-three{grid-template-columns:1fr 1fr}
  #caso-farmaceutico .case-gallery-three figure:last-child{grid-column:1 / -1}
  .sector-needs .support-grid,.certificate-grid{grid-template-columns:1fr 1fr}
  .sector-case{grid-template-columns:1fr}
  .sector-case-media,.sector-case-media img{min-height:400px}
}
@media(max-width:650px){
  .v10-internal .page-hero:before{background-position:var(--hero-pos-mobile,var(--hero-pos-tablet,var(--hero-pos,75% 15%)))}
  .v10-internal .page-hero{min-height:720px;padding:145px 22px 65px;align-content:end}
  .v10-internal .page-hero:after{background:linear-gradient(0deg,rgba(31,32,32,.98) 0%,rgba(31,32,32,.72) 58%,rgba(31,32,32,.18))}
  .v10-internal .page-hero h1{font-size:clamp(46px,14vw,64px)}
  .v10-internal .page-hero p{font-size:17px}
  .v10-internal .editorial-shell{padding:12px 22px 72px}
  .v10-internal .editorial-section{padding:55px 0}
  .v10-internal .editorial-media-break{margin:5px 0 15px;border-left-width:4px}
  .v10-internal .editorial-media-break img{aspect-ratio:16/10}
  .v10-internal .editorial-copy ul,.v10-internal .editorial-copy ol,.v10-internal .prose ul,.v10-internal .cards{grid-template-columns:1fr}
  .v10-internal .section{padding:78px 22px}
  .v10-internal .editorial-final{grid-template-columns:1fr;padding:75px 22px}
  .v10-internal .form{padding:24px 18px}
  .v10-internal .footer{grid-template-columns:1fr}
  .footer-services{columns:1}
  .faq-shell,.cases-shell{padding:58px 22px 78px}
  .faq-group{grid-template-columns:1fr;gap:24px;padding:42px 0}
  .faq-list summary{padding:21px 54px 21px 18px;font-size:17px}
  .faq-list summary:after{right:18px;top:16px}
  .faq-list details p{padding:0 18px 24px}
  .case-study{padding:58px 0 72px}
  .case-heading{grid-template-columns:48px 1fr;gap:10px;margin-bottom:28px}
  .case-gallery-two,.case-gallery-three,.case-gallery-feature,.case-story{grid-template-columns:1fr}
  .case-gallery-feature{grid-template-rows:auto}
  .case-gallery-feature figure:first-child,.case-gallery-feature figure:last-child{grid-column:auto;grid-row:auto}
  .case-gallery figure,.case-gallery img{min-height:280px}
  .service-resources,.contact-faq{align-items:flex-start;flex-direction:column;padding:28px 22px}
  .service-shell,.overview-shell{padding:0 22px 72px}
  .service-intro,.service-heading,.family-heading,.quote{grid-template-columns:1fr;gap:24px}
  .service-intro{padding:70px 0}
  .service-section{padding:65px 0}
  .activity-row.has-image{grid-template-columns:1fr}
  .activity-row:nth-child(even) .activity-copy,.activity-row:nth-child(even) figure{order:initial}
  .activity-copy{padding:30px 22px}
  .activity-row figure,.activity-row img{min-height:280px}
  .step-grid,.guarantee-grid,.support-grid,.overview-grid,.sector-link-grid,.service-form{grid-template-columns:1fr}
  .service-faq .faq-list{margin-left:0}
  .overview-intro{padding:70px 0 50px;font-size:18px}
  .overview-card{min-height:0}
  .sector-needs .support-grid,.certificate-grid,.sector-overview-grid,.v10-internal .location-grid,.career-form{grid-template-columns:1fr}
  .career-form .field.full{grid-column:auto}
  .sector-case-media,.sector-case-media img{min-height:280px}
  .method-timeline{margin-left:6px}
  .method-timeline article{grid-template-columns:1fr;gap:10px;padding:0 0 48px 28px}
}

/* Inquadrature finali: la fotografia comincia sotto l'header fisso e i soggetti
   restano interi nei riquadri, su desktop, tablet e mobile. */
.v10-internal{--header-h:88px}
.v10-internal .page-hero{
  min-height:calc(78vh + var(--header-h));
  padding-top:calc(var(--header-h) + 102px)
}
.v10-internal .page-hero:before,
.v10-internal .page-hero:after,
.v10-internal .page-hero.has-hero-image:after{
  top:var(--header-h);right:0;bottom:0;left:0;width:auto;height:auto
}
.v10-internal .page-hero:before{background-position:var(--hero-pos,100% 18%)}

/* Le immagini editoriali mantengono il proprio rapporto invece di essere
   schiacciate in una fascia panoramica. */
.v10-internal .editorial-media-break{background:#292a2a;text-align:center}
.v10-internal .editorial-media-break img{
  width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;max-height:760px
}

/* Attivita, casi e riquadri di settore: nessun ritaglio di testa o corpo. */
.activity-row figure{display:flex;align-items:center;justify-content:center;min-height:0;background:#292a2a}
.activity-row img{
  width:100%;height:auto;min-height:0;max-height:620px;object-fit:contain;object-position:center;align-self:center
}
.sector-case{min-height:0}
.sector-case-media{display:flex;align-items:center;justify-content:center;min-height:0;background:#292a2a}
.sector-case-media img{
  width:100%;height:auto;min-height:0;max-height:680px;object-fit:contain;object-position:center
}
.case-gallery-two,.case-gallery-three,.case-gallery-feature{
  grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto
}
.case-gallery figure,
.case-gallery-feature figure:first-child,
.case-gallery-feature figure:last-child{
  grid-column:auto;grid-row:auto;display:flex;align-items:center;justify-content:center;
  min-height:0;aspect-ratio:16/10;background:#292a2a
}
.case-gallery img,
.case-gallery-feature figure:first-child img{
  width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;background:#292a2a
}
.case-gallery figure:only-child{grid-column:1/-1;aspect-ratio:16/8}

@media(max-width:1050px){
  .v10-internal .page-hero{min-height:calc(70vh + var(--header-h));padding-top:calc(var(--header-h) + 92px)}
}
@media(max-width:650px){
  .v10-internal{--header-h:72px}
  .v10-internal .page-hero{
    min-height:calc(720px + var(--header-h));
    padding:calc(var(--header-h) + 73px) 22px 65px
  }
  .v10-internal .editorial-media-break img{max-height:none}
  .activity-row figure{aspect-ratio:16/10}
  .activity-row img{height:100%;max-height:none}
  .sector-case-media{aspect-ratio:16/10}
  .sector-case-media img{height:100%;max-height:none}
  .case-gallery-two,.case-gallery-three,.case-gallery-feature{grid-template-columns:1fr}
  .case-gallery figure,.case-gallery figure:only-child{grid-column:auto;aspect-ratio:16/10}
}

/* ===== Claude v11: mega menu Servizi ===== */
.nav .drop.mega-drop{position:static}
.nav .dropdown.mega{position:absolute;left:0;right:0;top:100%;width:auto;min-width:0;max-width:none;margin:0;padding:44px 4.5vw 48px;display:grid;grid-template-columns:1.1fr 1fr 1fr .8fr 1fr;gap:40px;background:#292a2a;color:#fff;border-top:3px solid var(--red);box-shadow:0 30px 60px rgba(0,0,0,.35);border-radius:0}
.dropdown.mega a{min-height:0;padding:0;border:0;background:none;font-size:15px;color:rgba(255,255,255,.82);display:block;line-height:1.35;text-transform:none;letter-spacing:0}
.dropdown.mega a:hover{color:#fff;background:none}
.mega-intro small,.mega-col .mega-fam small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange,#fbc673);margin-bottom:10px}
.mega-intro strong{display:block;font-size:28px;line-height:1.1;font-weight:300;letter-spacing:-.02em;margin-bottom:14px}
.mega-intro p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.7);margin:0 0 18px}
.dropdown.mega .mega-link{color:#fff;font-weight:700;font-size:14px;margin-top:8px}
.dropdown.mega .mega-link:hover{color:var(--orange,#fbc673)}
.mega-col{display:flex;flex-direction:column;gap:11px;border-left:1px solid rgba(255,255,255,.14);padding-left:28px}
.dropdown.mega .mega-fam{font-size:21px;font-weight:700;color:#fff;margin-bottom:0}
.dropdown.mega .mega-fam:hover{color:var(--orange,#fbc673)}
.mega-col p{margin:0 0 8px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.6)}
.dropdown.mega .mega-cta{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:26px;min-height:220px;background:linear-gradient(0deg,rgba(174,25,28,.92),rgba(174,25,28,.35)),url("assets/internal/hero-gruppo-team-v3.jpg") 60% center/cover;color:#fff}
.dropdown.mega .mega-cta span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.dropdown.mega .mega-cta strong{font-size:20px;line-height:1.2}
.dropdown.mega .mega-cta:hover{filter:brightness(1.08)}
@media(max-width:1300px){.nav .dropdown.mega{grid-template-columns:1fr 1fr 1fr 1fr;}.dropdown.mega .mega-cta{display:none}}
.drawer .drawer-fam{font-weight:700}
.drawer .drawer-sub{padding-left:18px!important;font-size:.92em;opacity:.85}

/* ===== Claude v11: schede servizio fotografiche e riquadri famiglia ===== */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.svc-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(87,87,86,.16);color:inherit;text-decoration:none;transition:transform .3s,box-shadow .3s}
.svc-card figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#e8e8e3}
.svc-card img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .6s}
.svc-card-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.svc-card-body span{font-size:11px;letter-spacing:.14em;color:var(--red);font-weight:700}
.svc-card-body h3{margin:0;font-size:24px;line-height:1.15;font-weight:400;letter-spacing:-.01em}
.svc-card-body p{margin:0;color:#6c6d67;line-height:1.55;flex:1}
.svc-card-body b{color:var(--red);font-size:14px;margin-top:6px}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(31,32,32,.14)}
.svc-card:hover img{transform:scale(1.05)}
.fam-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:10px 0 70px}
.fam-tiles.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:30px}
.fam-tile{position:relative;min-height:460px;display:flex;align-items:flex-end;color:#fff;text-decoration:none;background:var(--tile-img) center 30%/cover;overflow:hidden}
.fam-tiles.two .fam-tile{min-height:340px}
.fam-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(31,32,32,.94) 0%,rgba(31,32,32,.55) 45%,rgba(31,32,32,.1) 100%);transition:background .3s}
.fam-tile:hover:before{background:linear-gradient(0deg,rgba(174,25,28,.92) 0%,rgba(31,32,32,.55) 55%,rgba(31,32,32,.1) 100%)}
.fam-tile-body{position:relative;padding:34px;display:flex;flex-direction:column;gap:10px}
.fam-tile-body span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange,#fbc673)}
.fam-tile-body h3{margin:0;font-size:clamp(28px,2.4vw,38px);font-weight:700;line-height:1.05}
.fam-tile-body p{margin:0;color:rgba(255,255,255,.85);line-height:1.5}
.fam-tile-body ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:rgba(255,255,255,.75)}
.fam-tile-body b{margin-top:8px;font-size:14px}
.overview-shell .family-heading{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}
.overview-shell .family-heading .text-link{margin-left:auto}
.family-multisite{margin:10px 0 0;font-size:17px}
@media(max-width:1000px){.svc-grid,.fam-tiles{grid-template-columns:1fr 1fr}.fam-tiles.two{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.svc-grid,.fam-tiles,.fam-tiles.two{grid-template-columns:1fr}.fam-tile{min-height:380px}.fam-tile-body{padding:26px}}
/* Claude v11b: banda facility management integrato, attività Hard Facility */
.fm-band{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:10px 0 28px;padding:34px 40px;background:#292a2a;color:#fff;text-decoration:none;border-left:4px solid var(--red)}
.fm-band small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange,#fbc673);margin-bottom:8px}
.fm-band strong{display:block;font-size:clamp(22px,2vw,30px);font-weight:300;line-height:1.2}
.fm-band p{margin:8px 0 0;color:rgba(255,255,255,.72)}
.fm-band b{white-space:nowrap;font-size:15px}
.fm-band:hover{background:#1f2020}
.svc-grid>.svc-card:only-child{grid-column:span 1}
.hf-activities{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:rgba(87,87,86,.18);border:1px solid rgba(87,87,86,.18)}
.hf-activities article{background:#fff;padding:26px}
.hf-activities span{font-size:11px;letter-spacing:.14em;color:var(--red);font-weight:700}
.hf-activities h3{margin:10px 0 8px;font-size:20px;font-weight:700}
.hf-activities p{margin:0;color:#6c6d67;line-height:1.55;font-size:15px}
@media(max-width:700px){.fm-band{flex-direction:column;align-items:flex-start;padding:26px}}
.dropdown.mega .mega-sub{padding-left:14px!important;font-size:14px;color:rgba(255,255,255,.62);position:relative}
.dropdown.mega .mega-sub:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:1px;background:var(--red)}

/* ===== Claude v11: mega menu Settori e T-Key ===== */
.nav .dropdown.mega.mega-sectors{grid-template-columns:1.1fr repeat(4,minmax(0,1fr));gap:22px}
.dropdown.mega .mega-tile{position:relative;min-height:250px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:22px;color:#fff;background:var(--tile-img) center 25%/cover;overflow:hidden}
.dropdown.mega .mega-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(31,32,32,.95) 0%,rgba(31,32,32,.5) 50%,rgba(31,32,32,.05) 100%);transition:background .3s}
.dropdown.mega .mega-tile:hover:before{background:linear-gradient(0deg,rgba(174,25,28,.92) 0%,rgba(31,32,32,.5) 60%,rgba(31,32,32,.05) 100%)}
.dropdown.mega .mega-tile>*{position:relative}
.dropdown.mega .mega-tile small{font-size:11px;letter-spacing:.14em;color:var(--orange,#fbc673)}
.dropdown.mega .mega-tile strong{font-size:19px;line-height:1.15}
.dropdown.mega .mega-tile span{font-size:13px;line-height:1.45;color:rgba(255,255,255,.8)}
.nav .dropdown.mega.mega-tkey{grid-template-columns:1.1fr 1fr 1fr 1fr 1fr}
.dropdown.mega span.mega-fam{display:block;font-size:21px;font-weight:700;color:#fff;margin-bottom:6px}
.dropdown.mega .mega-cta.mega-cta-team{background:linear-gradient(0deg,rgba(174,25,28,.92),rgba(174,25,28,.35)),url("assets/internal/hero-gruppo-team-v3.jpg") 30% center/cover}
@media(max-width:1300px){.nav .dropdown.mega.mega-sectors{grid-template-columns:repeat(4,minmax(0,1fr))}.dropdown.mega.mega-sectors .mega-intro{display:none}.nav .dropdown.mega.mega-tkey{grid-template-columns:repeat(4,1fr)}}

/* ===== Claude 25/09: Presenza, cartina della rete nel titolo ===== */
body[data-page="presenza"] .page-hero{grid-template-columns:1fr}
body[data-page="presenza"] .page-hero>p{max-width:540px}
body[data-page="presenza"] .page-hero:not(.has-hero-image):after{background:url("assets/internal/presenza-italia-hero.svg") no-repeat right 5vw center/auto 78%,linear-gradient(135deg,#575756,#414140)}
@media(max-width:900px){body[data-page="presenza"] .page-hero:not(.has-hero-image):after{background:url("assets/internal/presenza-italia-hero.svg") no-repeat right -60px top 90px/auto 62%,linear-gradient(135deg,#575756,#414140);opacity:1}body[data-page="presenza"] .page-hero>*{text-shadow:0 1px 12px rgba(31,32,32,.6)}}
@media(min-width:701px){body[data-page="presenza"] .location-grid>.location:last-child:nth-child(odd){grid-column:1/-1}}
