/* Concept Point V19 RC1.2 — contrasto accessibile su homepage; prima slide statica senza Bootstrap/Revolution/jQuery.
   Non influenza le altre pagine: tutte le regole sono dentro .cp-home-v188. */
.cp-home-v188{margin:0;background:#fff;color:#20334a;font:400 16px/1.6 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.cp-home-v188 *, .cp-home-v188 *::before,.cp-home-v188 *::after{box-sizing:border-box}
.cp-home-v188 .cp-home-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.cp-home-v188 #cp-home-content{overflow:clip}
.cp-home-v188 #cp-home-content h1,.cp-home-v188 #cp-home-content h2,.cp-home-v188 #cp-home-content h3,.cp-home-v188 #cp-home-content p{margin-top:0;text-transform:none;letter-spacing:normal}
.cp-home-v188 #cp-home-content a:focus-visible{outline:3px solid #f3b979;outline-offset:4px}
.cp-home-v188 .cp-eyebrow{margin:0 0 17px;color:#f1b677;font-size:12px;font-weight:800;line-height:1.45;letter-spacing:.13em;text-transform:uppercase}
.cp-home-v188 .cp-eyebrow--dark{color:#79461a}
/* Prima slide originale: foto in HTML, copertura con object-fit, senza JS. */
.cp-home-v188 .cp-hero--slide{position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;min-height:clamp(570px,68vw,720px);background:#273039;color:#fff;padding:65px 0 68px}
/* Il contenitore picture occupa esattamente lo spazio della hero, senza layout shift. */
.cp-home-v188 .cp-hero__picture{position:absolute;z-index:-2;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.cp-home-v188 .cp-hero__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.cp-home-v188 .cp-hero__veil{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(17,25,35,.10),rgba(14,23,33,.17) 60%,rgba(14,23,33,.22))}
.cp-home-v188 .cp-hero__inner{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;text-align:center}
.cp-home-v188 .cp-hero__content{width:min(810px,100%);margin:0 auto}
.cp-home-v188 .cp-hero__eyebrow{margin:0 0 24px!important;color:#e8e8e8;font-size:12px;font-weight:700;letter-spacing:.135em!important;text-transform:uppercase}
.cp-home-v188 .cp-hero--slide h1{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 0 19px!important;color:#fff;font-size:clamp(30px,3.75vw,51px);font-weight:320;line-height:1.18;letter-spacing:-.025em!important;text-shadow:0 2px 14px rgba(0,0,0,.25)}
.cp-home-v188 .cp-hero--slide h1 .cp-hero__line{display:block;color:#fff;font-weight:300}
.cp-home-v188 .cp-hero--slide h1 .cp-hero__highlight{display:block;color:#eda425;font-size:clamp(37px,4.65vw,62px);font-weight:850;line-height:1.13}
.cp-home-v188 .cp-hero__description{max-width:550px;margin:0 auto 25px!important;color:#f2f5f8;font-size:clamp(13px,1.3vw,16px);line-height:1.55;text-shadow:0 1px 10px #15202bcc}
.cp-home-v188 .cp-hero__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.cp-home-v188 .cp-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:51px;border-radius:9px;padding:12px 20px;text-align:center;text-decoration:none!important;font-size:14px;font-weight:760;line-height:1.35;transition:background .15s,border-color .15s}
.cp-home-v188 .cp-button--orange{background:#e3a45e;border:2px solid #e3a45e;color:#19283b!important}
.cp-home-v188 .cp-button--orange:hover{background:#f0bb7f;border-color:#f0bb7f}
.cp-home-v188 .cp-button--light{background:#17283b6b;border:2px solid #c3d0df;color:#fff!important}
.cp-home-v188 .cp-button--light:hover{background:#ffffff24}
@media(max-width:760px){.cp-home-v188 .cp-hero--slide{min-height:650px;padding:49px 0 52px}.cp-home-v188 .cp-hero__image{object-position:53% center}.cp-home-v188 .cp-hero--slide h1{font-size:clamp(28px,6.6vw,41px)}.cp-home-v188 .cp-hero--slide h1 .cp-hero__highlight{font-size:clamp(37px,8.2vw,50px)}}
@media(max-width:430px){.cp-home-v188 .cp-hero--slide{min-height:620px;padding:38px 0 45px}.cp-home-v188 .cp-hero__eyebrow{font-size:10px;letter-spacing:.11em!important;margin-bottom:20px!important}.cp-home-v188 .cp-hero--slide h1{gap:9px;font-size:clamp(27px,7.2vw,33px)}.cp-home-v188 .cp-hero--slide h1 .cp-hero__highlight{font-size:clamp(35px,9vw,43px)}.cp-home-v188 .cp-hero__description{font-size:13px;margin-bottom:21px!important}.cp-home-v188 .cp-hero__actions{gap:9px}.cp-home-v188 .cp-hero__actions .cp-button{padding:11px 14px;min-height:46px;font-size:12px}}
.cp-home-v188 .cp-services,.cp-home-v188 .cp-evidence,.cp-home-v188 .cp-cms-portfolio,.cp-home-v188 .cp-method{padding:clamp(55px,6vw,85px) 0}
.cp-home-v188 .cp-home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:30px}
.cp-home-v188 .cp-home-section-heading>div{max-width:780px}
.cp-home-v188 .cp-home-section-heading h2,.cp-home-v188 .cp-method h2{margin:0!important;color:#1a2e42;font-size:clamp(27px,3.1vw,41px);font-weight:780;line-height:1.16;letter-spacing:-.032em!important}
.cp-home-v188 .cp-home-section-heading>div>p:last-child{margin:12px 0 0!important;color:#56687a;font-size:16px}
.cp-home-v188 .cp-text-link{display:inline-flex;align-items:center;gap:8px;flex:none;color:#a0612c!important;font-size:14px;font-weight:760;text-decoration:none!important;white-space:nowrap}
.cp-home-v188 .cp-text-link:hover{text-decoration:underline!important;text-underline-offset:5px}
/* Service cards — images loaded lazily as decorative picture elements for improved loading performance. */
.cp-home-v188 .cp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cp-home-v188 .cp-service-card{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:320px;overflow:hidden;padding:25px;border:1px solid #304257;border-radius:17px;background:#142436;color:#fff;box-shadow:0 9px 26px rgba(17,34,52,.13)}
.cp-home-v188 .cp-service-card__media{position:absolute;z-index:-2;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.cp-home-v188 .cp-service-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1)}
.cp-home-v188 .cp-service-card::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(9,20,34,.28) 0%,rgba(9,20,34,.48) 34%,rgba(7,19,31,.92) 100%);pointer-events:none}
.cp-home-v188 .cp-service-card__icon{display:grid;place-items:center;flex:none;width:42px;height:42px;margin:0 0 auto;border:1px solid rgba(255,255,255,.26);border-radius:10px;background:rgba(18,34,49,.58);color:#fff;font-size:14px;font-weight:800}
.cp-home-v188 .cp-service-card h3{margin:32px 0 10px!important;color:#fff;font-size:21px;line-height:1.28;font-weight:780}
.cp-home-v188 .cp-service-card h3 a{color:#fff!important;text-decoration:none!important}
.cp-home-v188 .cp-service-card p{margin:0 0 17px!important;max-width:36ch;color:#f3f5f9;font-size:14px;line-height:1.58;flex-grow:0;text-shadow:0 1px 5px rgba(0,0,0,.18)}
.cp-home-v188 .cp-service-card .cp-card-link{align-self:flex-start;color:#ffca89!important;font-size:13px;font-weight:800;text-decoration:none!important;line-height:1.5}
.cp-home-v188 .cp-service-card .cp-card-link:hover{text-decoration:underline!important;text-underline-offset:4px}
.cp-home-v188 .cp-service-card:focus-within{border-color:#f0ad64;box-shadow:0 0 0 2px rgba(240,173,100,.26)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .cp-home-v188 .cp-service-card{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
 .cp-home-v188 .cp-service-card__media img{transition:transform .45s ease}
 .cp-home-v188 .cp-service-card:hover{transform:translateY(-4px);border-color:#e7a55c;box-shadow:0 18px 38px rgba(17,34,52,.23)}
 .cp-home-v188 .cp-service-card:hover .cp-service-card__media img{transform:scale(1.035)}
}
.cp-home-v188 .cp-evidence{background:#f2f6fa}
.cp-home-v188 .cp-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cp-home-v188 .cp-case{display:flex;flex-direction:column;min-width:0;padding:27px 25px;border:1px solid #dbe5ee;border-radius:14px;background:#fff}
.cp-home-v188 .cp-case__tag{margin:0 0 14px!important;color:#98602d;font-size:12px;letter-spacing:.04em;font-weight:770}
.cp-home-v188 .cp-case h3{margin:0 0 13px!important;color:#182b40;font-size:26px;font-weight:780;line-height:1.2}
.cp-home-v188 .cp-case>p:not(.cp-case__tag){margin:0 0 20px!important;color:#4c6175;font-size:14px;line-height:1.7;flex-grow:1}
.cp-home-v188 .cp-case>a{color:#8d5728!important;font-size:13px;font-weight:800;text-decoration:none!important}
.cp-home-v188 .cp-case>a:hover{text-decoration:underline!important}
.cp-home-v188 .cp-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.cp-home-v188 .cp-portfolio-item{min-width:0;border-radius:12px;overflow:hidden;border:1px solid #e3e8ee;background:#fff}
.cp-home-v188 .cp-portfolio-item a{display:block;color:#1d344b!important;text-decoration:none!important}
.cp-home-v188 .cp-portfolio-item img{display:block;width:100%;height:auto;aspect-ratio:640/420;object-fit:cover;background:#eaf0f5}
.cp-home-v188 .cp-portfolio-item h3{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin:0!important;padding:15px 17px;color:#1d344b;font-size:16px;font-weight:750;line-height:1.4}
.cp-home-v188 .cp-portfolio-item a:hover h3{color:#a0602b}
.cp-home-v188 .cp-method{background:#f8fafc}
.cp-home-v188 .cp-method__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(25px,5vw,85px);align-items:center}
.cp-home-v188 .cp-method__grid>div>p:not(.cp-eyebrow){max-width:490px;margin:17px 0 24px!important;color:#52667a;font-size:16px;line-height:1.75}
.cp-home-v188 .cp-method__steps{display:grid;grid-template-columns:1fr 1fr;gap:13px;list-style:none;margin:0;padding:0}
.cp-home-v188 .cp-method__steps li{display:flex;gap:14px;padding:20px 16px;background:#fff;border:1px solid #e3e9f0;border-radius:10px}
.cp-home-v188 .cp-method__steps li>span{color:#79461a;font-size:15px;font-weight:850}
.cp-home-v188 .cp-method__steps strong{font-size:16px;color:#1c3249}
.cp-home-v188 .cp-method__steps p{font-size:13px;color:#566a7e;margin:4px 0 0!important;line-height:1.5}
.cp-home-v188 .cp-voices{padding:clamp(55px,6vw,85px) 0;background:#fff}
.cp-home-v188 .cp-voices__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cp-home-v188 .cp-voices figure{margin:0;padding:26px 28px;border:1px solid #e1e7ed;border-radius:13px;background:#f8fafc}
.cp-home-v188 .cp-voices blockquote{margin:0 0 21px;padding:0;color:#31465b;font-size:17px;line-height:1.7;font-style:normal}
.cp-home-v188 .cp-voices figcaption{display:flex;flex-direction:column;gap:2px;color:#31465b;font-size:13px}
.cp-home-v188 .cp-voices figcaption strong{font-size:14px;color:#162b41}
.cp-home-v188 .cp-voices figcaption span{color:#52677a}
.cp-home-v188 .cp-voices figcaption a{color:#975923!important;text-decoration:underline;text-underline-offset:3px}
.cp-home-v188 .cp-home-cta{padding:50px 0;background:#19283b;color:#fff}
.cp-home-v188 .cp-home-cta__inner{display:flex;justify-content:space-between;gap:30px;align-items:center}
.cp-home-v188 .cp-home-cta h2{margin:0 0 7px!important;color:#fff;font-size:clamp(26px,3vw,39px);font-weight:780;line-height:1.25}
.cp-home-v188 .cp-home-cta p:last-child{margin:0!important;color:#cfdeeb;font-size:15px}
@media(max-width:1000px){.cp-home-v188 .cp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-home-v188 .cp-case-grid{gap:12px}.cp-home-v188 .cp-case{padding:21px 18px}}
@media(max-width:760px){.cp-home-v188 .cp-home-shell{width:min(640px,calc(100% - 32px))}.cp-home-v188 .cp-case-grid{grid-template-columns:1fr}.cp-home-v188 .cp-voices__grid{grid-template-columns:1fr}.cp-home-v188 .cp-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-home-v188 .cp-method__grid{grid-template-columns:1fr}.cp-home-v188 .cp-home-section-heading{align-items:start;flex-direction:column}.cp-home-v188 .cp-home-cta__inner{align-items:start;flex-direction:column}.cp-home-v188 .cp-home-cta .cp-button{width:100%}}
@media(max-width:560px){.cp-home-v188 .cp-service-grid{grid-template-columns:1fr}.cp-home-v188 .cp-service-card{min-height:250px;padding:21px}.cp-home-v188 .cp-service-card p{max-width:none}.cp-home-v188 .cp-portfolio-grid{grid-template-columns:1fr}.cp-home-v188 .cp-method__steps{grid-template-columns:1fr}.cp-home-v188 .cp-home-section-heading{margin-bottom:23px}.cp-home-v188 .cp-home-section-heading h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.cp-home-v188 #cp-home-content *{scroll-behavior:auto!important;transition:none!important}}
