:root{--cp-gold:#d7a94b;--cp-black:#050505;--cp-charcoal:#111315;--cp-ivory:#f4f0e8;--cp-paper:#fbfaf7;--cp-ink:#17191b;--cp-line:#d9d1c4}
.cp-page{background:var(--cp-paper);color:var(--cp-ink)}
.cp-page img{max-width:100%}
.cp-kicker{margin:0 0 14px;color:var(--cp-gold);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cp-kicker.dark{color:#9b6d1f}.cp-kicker.light{color:var(--cp-gold)}
.cp-hero{background:linear-gradient(135deg,#020202 0%,#090a0b 60%,#171109 100%);color:#fff;padding:86px 0 64px;overflow:hidden}
.cp-hero-main{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.cp-hero-copy h1{margin:0 0 23px;font-family:Montserrat,Arial,sans-serif;font-size:clamp(58px,8vw,112px);line-height:.84;letter-spacing:-.065em;font-weight:800}
.cp-hero-copy h1 span{display:block}.cp-hero-copy h1 span:last-child{font-size:.72em;letter-spacing:-.045em}
.cp-tagline{margin:0 0 22px;color:var(--cp-gold);font-family:Montserrat,Arial,sans-serif;font-size:clamp(20px,2.4vw,31px);line-height:1.2;font-weight:600;max-width:760px}
.cp-intro{margin:0;max-width:760px;color:#d5d5d5;font-size:17px;line-height:1.8}
.cp-hero-logo-wrap{display:flex;align-items:center;justify-content:center;min-height:500px}
.cp-hero-logo{display:block;width:min(560px,100%);max-height:500px;object-fit:contain;filter:drop-shadow(0 22px 44px rgba(0,0,0,.7))}
.cp-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:62px}
.cp-service-card{min-height:260px;padding:30px 25px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 16px 35px rgba(0,0,0,.25)}
.cp-service-card h2{margin:15px 0 12px;font-family:Montserrat,Arial,sans-serif;font-size:20px;line-height:1.2;color:#fff}.cp-service-card p{margin:0;color:#c8c8c8;font-size:14px;line-height:1.7}
.cp-icon{height:58px;color:var(--cp-gold);font-size:49px;line-height:1}.cp-icon-treble{font-size:58px}.cp-icon-svg svg{width:55px;height:55px;fill:none;stroke:var(--cp-gold);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.cp-studio-section{background:var(--cp-paper);padding:92px 0}
.cp-studio-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}
.cp-studio-copy h2,.cp-section-head h2{margin:0 0 24px;font-family:Montserrat,Arial,sans-serif;font-size:clamp(38px,4.8vw,65px);line-height:1.05;letter-spacing:-.035em;color:#111315}.cp-studio-copy>p:not(.cp-kicker){margin:0;color:#55534f;font-size:17px;line-height:1.8}
.cp-feature-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.cp-feature-pills span{padding:11px 14px;border:1px solid #d8cebd;background:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;color:#2f2f2d}
.cp-studio-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.1fr .9fr;gap:14px}
.cp-photo{margin:0;position:relative;min-height:235px;overflow:hidden;background:#222}.cp-photo-large{grid-column:1/-1;min-height:360px}.cp-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.cp-photo:hover img{transform:scale(1.025)}.cp-photo figcaption,.cp-gallery-grid figcaption{position:absolute;left:16px;bottom:14px;padding:7px 10px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.cp-equipment-section{background:#ece7dd;padding:92px 0}.cp-section-head{max-width:900px;margin-bottom:45px}.cp-section-head>p:not(.cp-kicker){margin:0;color:#5d5952;font-size:17px;line-height:1.75}.cp-section-head.light h2{color:#fff}.cp-section-head.light>p:not(.cp-kicker){color:#c6c6c6}
.cp-equipment-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.cp-equipment-cards article{padding:28px 21px;background:#fff;border:1px solid #ddd4c6;min-height:245px}.cp-equipment-cards span{font-size:30px;color:#a87624}.cp-equipment-cards h3{margin:18px 0 10px;font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:1.2}.cp-equipment-cards p{margin:0;color:#5f5a53;font-size:13px;line-height:1.65}
.cp-equipment-details{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:20px}.cp-equipment-details>div{background:#17191b;color:#fff;padding:28px 27px}.cp-equipment-details h3{margin:0 0 17px;color:var(--cp-gold);font-family:Montserrat,Arial,sans-serif;font-size:20px}.cp-equipment-details p{margin:0 0 13px;color:#d0d0d0;font-size:14px;line-height:1.65}.cp-equipment-details strong{color:#fff}
.cp-brands-banner{margin:28px 0 0;background:#050505;border:1px solid #1d1d1d;overflow:hidden}.cp-brands-banner img{display:block;width:100%;height:auto}
.cp-capabilities-section{background:linear-gradient(135deg,#050505,#111315 65%,#1a1208);color:#fff;padding:94px 0}.cp-capabilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.cp-capabilities-grid article{min-height:245px;padding:30px 26px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035)}.cp-capabilities-grid h3{margin:18px 0 10px;font-family:Montserrat,Arial,sans-serif;font-size:21px}.cp-capabilities-grid p{margin:0;color:#c7c7c7;font-size:14px;line-height:1.7}.cp-cap-icon{font-size:38px;color:var(--cp-gold);height:46px}
.cp-gallery-strip{background:#0a0b0c;padding:28px 0 70px}.cp-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cp-gallery-grid figure{margin:0;position:relative;min-height:430px;overflow:hidden;background:#111}.cp-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.cp-gallery-grid figure:hover img{transform:scale(1.025)}
.cp-selected-section{background:var(--cp-paper);padding:94px 0}.cp-selected-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cp-selected-grid article{background:#fff;border:1px solid #ddd5c8;overflow:hidden}.cp-selected-grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.cp-selected-grid article>div{padding:24px 23px}.cp-selected-grid h3{margin:7px 0 12px;font-family:Montserrat,Arial,sans-serif;font-size:20px;line-height:1.28}.cp-selected-grid p:not(.cp-label){margin:0;color:#5a5650;font-size:14px;line-height:1.7}.cp-label{margin:0;color:#a46f18;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.cp-contact-section{background:#050505;color:#fff;padding:85px 0}.cp-contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}.cp-contact-grid h2{margin:0 0 20px;font-family:Montserrat,Arial,sans-serif;font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.04em}.cp-contact-grid p:not(.cp-kicker){margin:0;color:#ccc;font-size:17px;line-height:1.8}.cp-contact-grid strong{color:#fff}.cp-contact-list{display:grid;gap:12px}.cp-contact-list a,.cp-contact-list div{display:flex;flex-direction:column;gap:5px;padding:19px 20px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);color:#fff;text-decoration:none;font-size:17px}.cp-contact-list span{color:var(--cp-gold);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
@media(max-width:1050px){.cp-hero-main,.cp-studio-layout,.cp-contact-grid{grid-template-columns:1fr}.cp-hero-logo-wrap{min-height:300px}.cp-hero-logo{max-height:330px}.cp-service-grid{grid-template-columns:repeat(2,1fr)}.cp-equipment-cards{grid-template-columns:repeat(2,1fr)}.cp-equipment-details{grid-template-columns:1fr}.cp-capabilities-grid,.cp-selected-grid,.cp-gallery-grid{grid-template-columns:1fr 1fr}.cp-gallery-grid figure:last-child{grid-column:1/-1}}
@media(max-width:680px){.cp-hero{padding:58px 0 44px}.cp-hero-main{gap:28px}.cp-hero-copy h1{font-size:56px}.cp-hero-logo-wrap{min-height:210px}.cp-hero-logo{max-height:230px}.cp-service-grid,.cp-equipment-cards,.cp-capabilities-grid,.cp-selected-grid,.cp-gallery-grid{grid-template-columns:1fr}.cp-gallery-grid figure:last-child{grid-column:auto}.cp-service-card{min-height:0}.cp-studio-section,.cp-equipment-section,.cp-capabilities-section,.cp-selected-section{padding:68px 0}.cp-studio-gallery{grid-template-columns:1fr;grid-template-rows:auto}.cp-photo-large{grid-column:auto}.cp-photo,.cp-photo-large{min-height:250px}.cp-gallery-grid figure{min-height:390px}.cp-contact-section{padding:65px 0}.cp-contact-grid{gap:40px}}

/* Logo hero più ampio */
.cp-hero-main{grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:34px}
.cp-hero-logo-wrap{min-height:560px;justify-content:flex-end}
.cp-hero-logo{width:min(760px,112%);max-height:570px}
@media(max-width:1050px){.cp-hero-main{grid-template-columns:1fr}.cp-hero-logo-wrap{justify-content:center;min-height:320px}.cp-hero-logo{width:min(650px,100%);max-height:360px}}
