/* Compact, readable layouts; isolated overrides of the existing identity. */
.main-nav .mobile-contact-only { display:none; }
@media(max-width:1000px) { .main-nav.open .mobile-contact-only { display:block; } }
.partner-intro { min-height:640px; padding-block:86px; }
.partner-copy-v5 { max-width:790px; padding:42px 48px; }
.partner-copy-v5 h2 { font-size:clamp(30px,3.4vw,49px)!important; line-height:1.1; letter-spacing:-.045em; margin-bottom:22px; }
.partner-copy-v5 .lead { font-size:clamp(17px,1.35vw,20px); line-height:1.65; }
.partner-copy-v5 .editable-section-copy { font-size:15px; line-height:1.7; }
.partner-slogan-image { max-width:420px; width:85%; }
.portfolio-hero-v7 { min-height:560px!important; }
.portfolio-hero-grid-v7 { gap:48px; padding-top:130px; padding-bottom:64px; }
.portfolio-hero-copy-v7 h1 { font-size:clamp(38px,4.6vw,68px)!important; line-height:1.04; letter-spacing:-.045em; }
.portfolio-hero-copy-v7 .lead { font-size:18px; line-height:1.65; }
.portfolio-websites-v7,.portfolio-apps-v7 { padding-block:76px; }
.portfolio-websites-v7 h2,.portfolio-apps-v7 h2 { font-size:clamp(29px,3.4vw,48px); line-height:1.12; }

/* Images never occupy the copy column, even with inherited figure rules. */
.services-stage-grid-v15 { grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important; gap:clamp(28px,4vw,70px)!important; width:min(1180px,calc(100% - 160px))!important; margin-inline:auto; }
.services-stage-copy-v15 { position:relative; min-width:0; z-index:2; }
.services-stage-copy-v15 h1,.services-stage-copy-v15 h2 { font-size:clamp(34px,4.6vw,66px)!important; line-height:1.08!important; letter-spacing:-.045em!important; overflow-wrap:normal!important; word-break:normal!important; color:inherit!important; }
.services-stage-copy-v15 p { font-size:clamp(17px,1.5vw,21px)!important; line-height:1.6; }
.services-stage-focus-v15 { position:relative!important; inset:auto!important; width:100%!important; max-width:480px; min-width:0; height:auto!important; aspect-ratio:1; margin:0!important; justify-self:end; }
.services-stage-focus-v15 img { position:static!important; display:block; width:100%!important; height:100%!important; object-fit:cover; }
.service-detail-row-grid { display:grid!important; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important; align-items:center; gap:clamp(32px,5vw,80px)!important; padding-block:64px; }
.service-detail-row-grid>figure { position:relative!important; inset:auto!important; width:100%!important; min-width:0; margin:0!important; height:auto!important; aspect-ratio:4/3; border-radius:26px; overflow:hidden; box-shadow:0 24px 60px #17303c18; }
.service-detail-row-grid>figure img { position:static!important; display:block; width:100%!important; height:100%!important; object-fit:cover; }
.service-detail-copy { min-width:0; padding:0!important; position:relative; z-index:1; }
.service-detail-copy h2 { font-size:clamp(27px,3vw,43px)!important; line-height:1.13; }
.service-detail-copy p { font-size:17px; line-height:1.75; }
.service-detail-copy ul { padding-left:20px; display:grid; gap:9px; }
.service-detail-nav { gap:10px; flex-wrap:wrap; }
:is(.page-hero-cybersecurity,.page-hero-sviluppo-digitale,.page-hero-soluzioni-it,.page-hero-marketing-growth,.page-hero-social-comunicazione,.page-hero-consulenza-it) h1 { font-size:clamp(35px,4.5vw,65px)!important; line-height:1.08!important; letter-spacing:-.045em; }
:is(.page-hero-cybersecurity,.page-hero-sviluppo-digitale,.page-hero-soluzioni-it,.page-hero-marketing-growth,.page-hero-social-comunicazione,.page-hero-consulenza-it) { min-height:0!important; padding-block:145px 65px; }
.service-detail-intro h2 { font-size:clamp(29px,3.6vw,49px)!important; line-height:1.1; }
.service-detail-intro .lead { font-size:18px; line-height:1.7; }
.footer-location-note { color:#c4d6dc!important; font-size:13px!important; line-height:1.65!important; margin:0 0 15px!important; }
.refine-orbit { position:absolute; right:4%; top:16%; width:clamp(90px,16vw,220px); aspect-ratio:1; border-radius:50%; pointer-events:none; z-index:0; opacity:.34; background:radial-gradient(circle at 30% 25%,#fff9,transparent 42%),radial-gradient(circle at 70% 80%,#203348aa,transparent 58%),linear-gradient(140deg,#9ed3da88,#4895a133); box-shadow:inset -18px -20px 40px #142c3a33,inset 8px 8px 20px #fff5,0 24px 70px #4895a122; transform:translate3d(calc(var(--refine-x,0)*16px),calc(var(--refine-y,0)*14px + var(--refine-scroll,0)*-34px),0); }
.refine-orbit::after { content:""; position:absolute; inset:-20%; border:1px solid #80b9c666; border-radius:50%; transform:rotateX(60deg) rotateZ(-25deg); }
.celory-access-v15 .refine-orbit { background:radial-gradient(circle at 30% 25%,#ffffff88,transparent 40%),linear-gradient(140deg,#8b89ff77,#5653d633); opacity:.22; }
.refine-motion-section { position:relative; isolation:isolate; overflow:hidden; }
.refine-motion-section>.wrap { position:relative; z-index:1; }
.refine-text { transition:opacity .65s ease,translate .75s cubic-bezier(.2,.8,.2,1); }
.refine-text.refine-pending { opacity:0; translate:0 16px; }
@media(max-width:1000px) {
 .services-stage-grid-v15 { width:calc(100% - 100px)!important; gap:28px!important; }
 .services-stage-copy-v15 h1,.services-stage-copy-v15 h2 { font-size:clamp(30px,4.8vw,46px)!important; }
 .portfolio-hero-grid-v7 { grid-template-columns:1fr!important; gap:28px; }
 .service-detail-row-grid { gap:30px!important; }
}
@media(max-width:700px) {
 .partner-intro { min-height:0!important; padding-block:60px; }
 .partner-copy-v5 { padding:30px 22px!important; border-radius:26px; }
 .partner-copy-v5 h2 { font-size:32px!important; }
 .portfolio-hero-v7 { min-height:0!important; padding-top:110px!important; }
 .portfolio-hero-grid-v7 { padding-top:28px!important; padding-bottom:44px; gap:24px; }
 .portfolio-hero-copy-v7 h1 { font-size:40px!important; }
 .portfolio-hero-copy-v7 .lead { font-size:16px; }
 .services-stage-grid-v15 { grid-template-columns:minmax(0,1fr)!important; width:calc(100% - 40px)!important; padding:100px 0 172px!important; text-align:center; }
 .services-stage-copy-v15 { width:100%!important; margin-inline:auto; }
 .services-stage-copy-v15 h1,.services-stage-copy-v15 h2 { font-size:clamp(27px,7.3vw,38px)!important; max-width:100%; margin-inline:auto; }
 .services-stage-copy-v15 p { max-width:100%!important; font-size:16px!important; margin-inline:auto; }
 .services-stage-focus-v15 { display:none!important; }
 .services-stage-arrow-v15 { top:auto!important; bottom:77px!important; width:44px!important; height:44px!important; transform:none!important; }
 .services-stage-arrow-v15.is-prev { left:calc(50% - 58px)!important; }
 .services-stage-arrow-v15.is-next { right:calc(50% - 58px)!important; }
 .services-stage-arrow-v15:hover { transform:scale(1.05)!important; }
 .services-stage-dots-v15 { bottom:24px!important; }
 .service-detail-row-grid { grid-template-columns:minmax(0,1fr)!important; padding-block:38px; gap:26px!important; }
 .service-detail-row-grid>figure { order:0!important; max-width:100%; }
 .service-detail-copy { order:1!important; }
 .service-detail-copy p { font-size:16px; }
 .refine-orbit { width:100px; right:-24px; opacity:.2; }
 .footer-location-note { font-size:12px!important; }
}
@media(prefers-reduced-motion:reduce) {
 .refine-text,.refine-orbit { transition:none!important; transform:none!important; translate:none!important; opacity:1!important; }
 .refine-text.refine-pending { opacity:1!important; }
 .refine-orbit { opacity:.2!important; }
}
