:root {
  --adel-dark: #35414d;
  --adel-darker: #27333e;
  --adel-ink: #263541;
  --adel-teal: #0798b0;
  --adel-teal-dark: #087f94;
  --adel-pale: #d7eef2;
  --adel-pale-2: #eaf6f7;
  --adel-red: #ff4552;
  --adel-pink: #eccdd3;
  --adel-yellow: #f4d64d;
  --adel-white: #fff;
  --adel-shadow: 0 16px 45px rgba(25, 43, 54, .13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: var(--adel-ink); background: var(--adel-pale); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea { font: inherit; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { letter-spacing: -.04em; }
p { line-height: 1.55; }
.adel-container { width: min(1240px, calc(100% - 56px)); margin-inline: auto; }
.section { padding: 86px 0; }
.eyebrow { display: inline-flex; gap: 10px; align-items: center; margin-bottom: 18px; font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #b3d8de; }
.eyebrow::before { content:""; width: 27px; height: 2px; background: currentColor; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 900; background: rgba(215,238,242,.97); border-bottom: 1px solid rgba(38,53,65,.07); backdrop-filter: blur(12px); }
.header-inner { min-height: 108px; display: grid; grid-template-columns: 155px 1fr auto; align-items: center; gap: 34px; }
.brand { display: inline-flex; width: 120px; }
.brand img, .brand .custom-logo { width: 120px; max-height: 82px; object-fit: contain; }
.site-nav { justify-self: center; }
.adel-menu { list-style: none; display: flex; align-items: center; gap: 72px; margin: 0; padding: 0; }
.adel-menu li { position: relative; }
.adel-menu a { display: block; padding: 16px 0; font-weight: 700; font-size: 17px; }
.adel-menu > li > a::after { content:""; position:absolute; left:0; bottom:8px; width:0; height:2px; background:var(--adel-teal); transition: width .2s ease; }
.adel-menu > li > a:hover::after { width: 100%; }
.header-cta { min-height: 52px; display:inline-flex; align-items:center; justify-content:center; padding: 0 30px; border-radius:999px; background:var(--adel-teal); color:#fff; font-size:18px; font-weight:800; white-space:nowrap; transition:.2s ease; }
.header-cta:hover { background:var(--adel-teal-dark); transform:translateY(-2px); }
.menu-toggle { display:none; }

/* Hero */
.hero-video {
  position: relative;
  min-height: 640px;
  background: #35414d;
  color: #fff;
  overflow: hidden;
  isolation: isolate;
}
.hero-video-media {
  position: absolute;
  inset: 0 0 0 42%;
  z-index: 0;
  overflow: hidden;
}
.hero-video-media video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.hero-video-mobile { display: none !important; }
.hero-video-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, #35414d 0%, #35414d 34%, rgba(53,65,77,.94) 44%, rgba(53,65,77,.55) 58%, rgba(53,65,77,.12) 78%, rgba(53,65,77,.05) 100%),
    linear-gradient(0deg, rgba(25,34,42,.12), rgba(25,34,42,.12));
  pointer-events: none;
}
.hero-video-inner {
  position: relative;
  z-index: 2;
  min-height: 640px;
  display: flex;
  align-items: center;
}
.hero-video-copy {
  width: min(54%, 690px);
  padding: 54px 0 62px;
}
.hero-video h1 {
  margin: 0 0 42px;
  color: var(--adel-teal);
  font-size: clamp(72px, 6.3vw, 104px);
  line-height: .96;
  letter-spacing: -.055em;
  max-width: 760px;
}
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:15px 30px; border-radius:999px; font-weight:800; border:2px solid transparent; transition:.2s ease; }
.btn-primary { background:var(--adel-teal); color:#fff; }
.btn-primary:hover { background:#08aac4; transform:translateY(-2px); box-shadow:0 12px 30px rgba(7,152,176,.25); }
.btn-large { min-height:64px; padding-inline:38px; font-size:18px; }
.hero-video-cta {
  min-height: 70px;
  min-width: 460px;
  padding: 18px 38px;
  font-size: 22px;
  font-weight: 800;
  box-shadow: 0 12px 30px rgba(7,152,176,.13);
}

/* Fixed contact buttons */
.floating-contact { position:fixed; bottom:24px; z-index:999; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; box-shadow:0 12px 24px rgba(0,0,0,.18); transition:.2s ease; }
.floating-contact:hover { transform:translateY(-4px) scale(1.04); }
.floating-contact svg { width:30px; height:30px; fill:#26343f; }
.floating-phone { left:24px; background:#0798b0; }
.floating-wa { right:24px; background:#26d392; }
.scroll-top { position:fixed; right:30px; bottom:94px; z-index:998; width:36px; height:36px; display:grid; place-items:center; border-radius:4px; background:var(--adel-teal); color:#fff; font-size:24px; font-weight:900; box-shadow:0 8px 20px rgba(0,0,0,.12); }
body.admin-bar .site-header { top:32px; }
body.admin-bar .floating-contact { bottom:34px; }
body.admin-bar .scroll-top { bottom:104px; }

/* Services */
.services { background:var(--adel-pale); padding-bottom: 34px; }
.services-heading h2, .brand-section-title { margin-bottom:56px; color:var(--adel-teal); font-size:clamp(48px,5vw,72px); line-height:1; }
.services-heading-copy { max-width: 820px; margin: -34px 0 46px; color: #65737d; font-size: 18px; line-height: 1.65; }
.services-bento { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.service-featured { grid-column:1/-1; min-height:260px; border-radius:30px; background:#313b47; color:#fff; box-shadow:7px 7px 0 #111d28; }
.service-featured-inner { padding:42px 38px; max-width:780px; }
.service-featured h3 { margin-bottom:18px; font-size:clamp(39px,4.5vw,60px); line-height:1.02; }
.service-featured-kicker { margin-bottom:12px; color:var(--adel-teal); font-size:clamp(24px,2.3vw,32px); font-weight:800; }
.service-featured p:last-child { margin:0; color:#dce5e8; font-size:17px; }
.service-tile { min-height:245px; padding:27px 27px 22px; border-radius:26px; display:flex; flex-direction:column; position:relative; overflow:hidden; box-shadow:7px 7px 0 rgba(15,35,46,.16); transition:transform .2s ease, box-shadow .2s ease; }
.service-tile:hover { transform:translateY(-6px); box-shadow:9px 12px 0 rgba(15,35,46,.13); }
.service-tile h3 { max-width:90%; margin:0; font-size:clamp(23px,2.2vw,30px); line-height:1.08; }
.service-mark { margin-top:auto; width:82px; height:40px; background:currentColor; -webkit-mask:url("../images/adel-fenice.svg") left center/contain no-repeat; mask:url("../images/adel-fenice.svg") left center/contain no-repeat; }
.service-discover { margin-top:16px; font-size:12px; font-weight:800; opacity:0; transform:translateY(6px); transition:.2s ease; }
.service-tile:hover .service-discover { opacity:1; transform:none; }
.tile-soft-pink { background:var(--adel-pink); } .tile-coral { background:var(--adel-red); } .tile-teal { background:var(--adel-teal); } .tile-charcoal { background:#303641; } .tile-off-white { background:#e8f2f2; } .tile-yellow { background:var(--adel-yellow); }
.text-coral { color:var(--adel-red); } .text-white { color:#fff; } .text-dark { color:var(--adel-ink); } .text-teal { color:var(--adel-teal); }
.services-cta-wrap { display:flex; justify-content:center; margin-top:32px; }

/* Portfolio bookshelf */
.portfolio-section { padding-top: 22px; padding-bottom: 12px; background:var(--adel-pale); overflow:hidden; }
.bookshelf { min-height:270px; display:flex; align-items:flex-end; justify-content:center; gap:0; position:relative; padding:0 20px 30px; margin-bottom:70px; }
.bookshelf::after { content:""; position:absolute; left:0; right:0; bottom:0; height:40px; background:#0798b0; border-radius:0; }
.book { --book-color:#313a45; position:relative; z-index:2; width:98px; height:240px; background:var(--book-color); display:flex; align-items:center; justify-content:center; overflow:hidden; transform-origin:bottom center; }
.book:nth-child(4n+2) { height:215px; } .book:nth-child(4n+3) { height:230px; } .book:nth-child(5n) { transform:rotate(-12deg); margin-inline:10px; }
.book img { max-width:82%; max-height:56%; object-fit:contain; }
.book span { padding:8px; color:#fff; font-size:13px; font-weight:800; text-align:center; writing-mode:vertical-rl; transform:rotate(180deg); }
.book-adel::after { content:"ADEL\A DIGITAL"; white-space:pre; color:#fff; font-weight:900; font-size:15px; text-align:center; }
.book-mgmt::after { content:"ADEL\A MGMT"; white-space:pre; color:#111; font-weight:900; font-size:15px; text-align:center; }
.open-book { position:relative; z-index:3; width:260px; height:190px; margin:0 22px; align-self:flex-end; display:flex; align-items:center; justify-content:center; background:#fff; clip-path:polygon(0 12%, 25% 0, 50% 11%, 75% 0, 100% 12%, 100% 88%, 75% 100%, 50% 89%, 25% 100%, 0 88%); border-left:10px solid var(--adel-red); border-right:10px solid var(--adel-red); }
.open-book::after { content:""; position:absolute; inset:auto 0 0; height:26px; background:var(--adel-red); clip-path:polygon(0 40%,25% 0,50% 45%,75% 0,100% 40%,100% 100%,0 100%); }
.open-book span { position:relative; z-index:2; padding:15px 28px; border-radius:999px; background:var(--adel-teal); color:#fff; font-size:17px; font-weight:900; }
.bookshelf-bottom { margin-bottom:0; }
.bookshelf-bottom .book { width:86px; height:220px; }
.book-lean { transform:rotate(14deg) !important; margin-inline:12px; }


/* Portfolio image supplied by ADEL */
.portfolio-artwork-link { display:block; width:100%; }
.portfolio-artwork { width:100%; height:auto; display:block; }
.portfolio-artwork-link:hover .portfolio-artwork { transform:none; }

/* Partner logos supplied by ADEL */
.logo-band-inner.partner-logo-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: center;
  gap: 8px;
}
.partner-logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
}
.partner-logo {
  display: block;
  width: 196px;
  height: auto;
  margin: 0 auto;
}
.partner-logo--confindustria-giovani {
  width: 228px;
}
.partner-logo--sofia {
  width: 248px;
}

/* Partners + clients */
.partners-section, .clients-section { background:var(--adel-pale); }
.partners-section { padding-top: 18px; padding-bottom: 8px; }
.logo-band { width:100%; }
.partner-band { background:#313c47; padding:28px 0; }
.logo-band-inner { display:grid; grid-template-columns:repeat(6,1fr); align-items:center; gap:48px; }
.logo-band-inner img { width:100%; max-width:160px; max-height:80px; object-fit:contain; margin:auto; }
.clients-section { padding-top: 0; padding-bottom: 12px; }
.clients-section .brand-section-title { margin-bottom: 14px; }
.client-band { background:var(--adel-teal); padding:34px 0; overflow:hidden; }
.client-marquee { overflow:hidden; }
.client-track { width:max-content; display:flex; align-items:center; gap:52px; animation:marquee 72s linear infinite; will-change:transform; }
.client-marquee:hover .client-track { animation-play-state:running; }
.client-logo { height:70px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.client-logo img { display:block; width:auto; max-width:220px; max-height:66px; object-fit:contain; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* Lead form */
.lead-section { background:var(--adel-pale); padding-top: 28px; padding-bottom: 38px; }
.contact-form-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:48px; align-items:stretch; }
.lead-card, .next-card { border-radius:28px; background:#edf8f8; box-shadow:8px 8px 0 rgba(7,152,176,.18); padding:34px 32px; }
.adel-lead-form { display:grid; gap:14px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.adel-lead-form label { display:grid; gap:7px; font-size:15px; }
.adel-lead-form label span b { color:var(--adel-red); }
.adel-lead-form input[type="text"], .adel-lead-form input[type="email"], .adel-lead-form input[type="tel"], .adel-lead-form textarea { width:100%; border:1px solid #cbe0e4; outline:none; background:#fff; border-radius:999px; padding:13px 17px; color:var(--adel-ink); box-shadow:0 2px 5px rgba(34,67,78,.06); }
.adel-lead-form textarea { min-height:175px; resize:vertical; border-radius:20px; }
.adel-lead-form input:focus, .adel-lead-form textarea:focus { border-color:var(--adel-teal); box-shadow:0 0 0 3px rgba(7,152,176,.08); }
.privacy-check { grid-template-columns:auto 1fr !important; align-items:start; gap:8px !important; color:var(--adel-teal); font-weight:700; }
.privacy-check input { margin-top:4px; }
.form-submit { min-height:48px; border:0; border-radius:999px; background:var(--adel-teal); color:#fff; font-weight:900; cursor:pointer; transition:.2s ease; }
.form-submit:hover { background:var(--adel-teal-dark); }
.form-message { margin-bottom:18px; padding:13px 16px; border-radius:12px; font-weight:700; }
.form-message.success { background:#dcf6e8; color:#166638; } .form-message.error { background:#ffe3e3; color:#9a2d2d; }
.next-card h2 { margin-bottom:30px; color:var(--adel-red); font-size:clamp(34px,3.5vw,46px); }
.next-step { margin-bottom:28px; }
.next-step strong { display:block; margin-bottom:6px; color:var(--adel-teal); font-size:17px; }
.next-step p { margin:0; font-size:17px; }
.call-now { margin-top:34px; padding-top:28px; border-top:1px solid var(--adel-teal); }
.call-now h3 { margin-bottom:22px; color:var(--adel-red); font-size:30px; line-height:1.05; }
.call-now a { font-size:18px; }

/* Footer */
.site-footer { background:#313c47; color:#fff; padding:55px 0 24px; }
.footer-main { display:grid; grid-template-columns:1fr .95fr .8fr; gap:64px; align-items:start; }
.footer-company p { margin-bottom:22px; color:#fff; font-size:15px; }
.footer-company a:hover { color:#63d9e8; }
.footer-center { text-align:center; min-width:0; }
.footer-logo { width:150px; margin:0 auto 22px; filter:brightness(0) invert(1); }
.footer-rule { width:200px; max-width:100%; height:1px; margin:0 auto 18px; background:rgba(255,255,255,.8); }
.footer-socials { display:flex !important; justify-content:center !important; align-items:center !important; gap:11px !important; flex-wrap:nowrap !important; width:100% !important; }
.footer-socials a { width:38px !important; height:38px !important; min-width:38px !important; min-height:38px !important; border-radius:50% !important; display:grid !important; place-items:center !important; background:var(--adel-teal) !important; color:#fff !important; transition:.2s ease; flex:0 0 38px !important; padding:0 !important; margin:0 !important; }
.footer-socials a:hover { transform:translateY(-2px); background:#08aac4; }
.footer-socials a svg { width:20px !important; height:20px !important; stroke:#fff; fill:none; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.footer-socials a svg.social-fill { fill:#fff; stroke:none; }
.footer-socials a svg .social-dot { fill:#fff; stroke:none; }
.footer-actions { display:grid; gap:16px; }
.footer-actions > a { min-height:42px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:var(--adel-teal); color:#fff; font-weight:800; }
.footer-actions .policy { min-height:34px; background:#fff; color:var(--adel-ink); font-size:14px; }
.funding-block { margin-top:50px; text-align:center; }
.funding-block img { width:min(520px,100%); max-height:85px; object-fit:contain; margin:0 auto 20px; }
.funding-block p { margin:0; font-size:13px; color:#fff; }
.footer-bottom { margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; color:#aebbc1; }

/* Generic inner pages */
.content-page { min-height:55vh; background:#fff; }
.prose { max-width:900px; }
.prose h1 { font-size:clamp(46px,6vw,78px); }
.prose p, .prose li { font-size:18px; line-height:1.75; }
.center-404 { text-align:center; }

@media (max-width: 1080px) {
  .hero-video, .hero-video-inner { min-height: 570px; }
  .hero-video-media { left: 44%; }
  .hero-video-copy { width: 58%; }
  .hero-video h1 { font-size: clamp(62px, 7vw, 84px); }
  .hero-video-cta { min-width: 390px; font-size: 20px; }
  .header-inner { grid-template-columns:130px 1fr auto; gap:18px; }
  .adel-menu { gap:34px; }
  .header-cta { padding-inline:22px; font-size:16px; }
  .hero-grid { gap:30px; }
  .hero-copy-showcase { padding-left: 10px; }
  .btn-hero-showcase { min-width: min(100%, 500px); }
  .services-bento { grid-template-columns:repeat(2,1fr); }
  .logo-band-inner { grid-template-columns:repeat(3,1fr); }
  .logo-band-inner.partner-logo-grid { grid-template-columns:repeat(4, minmax(0,1fr)); gap: 18px 14px; }
  .partner-logo { width: 162px; }
  .partner-logo--confindustria-giovani { width: 186px; }
  .partner-logo--sofia { width: 196px; }
  .footer-main { gap:35px; }
}

@media (max-width: 820px) {
  .hero-video { min-height: 720px; }
  .hero-video-inner { min-height: 720px; align-items:flex-end; }
  .hero-video-media { inset: 0; }
  .hero-video-desktop { display:none !important; }
  .hero-video-mobile { display:block !important; }
  .hero-video-overlay { background: linear-gradient(0deg, rgba(40,51,61,.98) 0%, rgba(40,51,61,.92) 28%, rgba(40,51,61,.38) 62%, rgba(40,51,61,.12) 100%); }
  .hero-video-copy { width:100%; padding: 58px 0 62px; }
  .hero-video h1 { margin-bottom: 26px; font-size: clamp(54px, 12vw, 78px); max-width: 620px; }
  .hero-video-cta { min-width: 0; width: min(100%, 520px); min-height: 66px; font-size: 19px; }
  body.admin-bar .site-header { top:46px; }
  .adel-container { width:min(100% - 34px,720px); }
  .section { padding:65px 0; }
  .services { padding-bottom: 38px; }
  .header-inner { min-height:82px; grid-template-columns:1fr auto; }
  .brand, .brand img, .brand .custom-logo { width:92px; }
  .header-cta { display:none; }
  .menu-toggle { display:flex; width:46px; height:46px; border:0; border-radius:12px; background:rgba(255,255,255,.55); flex-direction:column; justify-content:center; align-items:center; gap:5px; cursor:pointer; }
  .menu-toggle span { width:22px; height:2px; background:var(--adel-ink); transition:.2s ease; }
  .menu-toggle.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); } .menu-toggle.is-open span:nth-child(2) { opacity:0; } .menu-toggle.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .site-nav { position:absolute; left:17px; right:17px; top:72px; padding:9px; background:#fff; border-radius:16px; box-shadow:var(--adel-shadow); opacity:0; transform:translateY(-10px); pointer-events:none; transition:.2s ease; }
  .site-nav.is-open { opacity:1; transform:none; pointer-events:auto; }
  .adel-menu { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .adel-menu a { padding:13px 15px; }
  .adel-menu > li > a::after { display:none; }
  .hero-grid { min-height:auto; grid-template-columns:1fr; padding:35px 0 50px; gap:0; }
  .hero-copy { padding:55px 0 20px; }
  .hero h1 { font-size:clamp(54px,12vw,76px); }
  .hero-subtitle { font-size:24px; }
  .hero-visual { min-height:390px; }
  .hero-orbit { width:min(100%,390px); }
  .hero-phoenix-mark { width:150px; height:100px; }
  .orbit-label { font-size:15px; max-width:115px; }
  .services-bento { grid-template-columns:1fr; }
  .service-featured { min-height:220px; }
  .service-featured h3 { font-size:38px; }
  .service-tile { min-height:185px; }
  .bookshelf { justify-content:flex-start; overflow-x:auto; overflow-y:hidden; padding-left:10px; scrollbar-width:thin; }
  .book { flex:0 0 82px; height:220px; }
  .open-book { flex:0 0 230px; }
  .logo-band-inner { grid-template-columns:repeat(2,1fr); gap:30px; }
  .logo-band-inner.partner-logo-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap: 18px 12px; }
  .partner-logo { width: 134px; }
  .partner-logo--confindustria-giovani { width: 154px; }
  .partner-logo--sofia { width: 164px; }
  .contact-form-grid, .footer-main { grid-template-columns:1fr; }
  .footer-center { text-align:left; }
  .footer-logo { margin-left:0; }
  .footer-rule { margin-left:0; }
  .footer-socials { justify-content:flex-start !important; gap:11px !important; flex-wrap:nowrap !important; }
  .footer-socials a { width:38px !important; height:38px !important; flex:0 0 38px !important; }
  .footer-socials a svg { width:20px !important; height:20px !important; }
}

@media (max-width: 560px) {
  .hero-video { min-height: 640px; }
  .hero-video-inner { min-height: 640px; }
  .hero-video-copy { padding: 46px 0 48px; }
  .hero-video h1 { font-size: 52px; margin-bottom: 22px; }
  .hero-video-cta { min-height: 60px; font-size: 16px; padding-inline: 20px; }
  .adel-container { width:calc(100% - 28px); }
  .services-heading h2, .brand-section-title { margin-bottom:35px; font-size:44px; }
  .services-heading-copy { margin: -18px 0 32px; font-size: 16px; }
  .clients-section .brand-section-title { margin-bottom: 18px; }
  .hero-copy { padding-top:35px; }
  .hero h1 { font-size:50px; }
  .hero-subtitle { font-size:21px; margin-bottom:28px; }
  .btn-large { width:100%; padding-inline:18px; font-size:15px; }
  .hero-tags { margin-top:32px; gap:9px; font-size:8px; letter-spacing:.13em; }
  .hero-tags span:not(:last-child)::after { padding-left:9px; }
  .hero-visual { min-height:320px; }
  .hero-orbit { width:min(100%,315px); }
  .hero-phoenix-mark { width:122px; height:84px; }
  .orbit-center-copy { top:67%; font-size:11px; }
  .orbit-ring-1 { border-width:10px; }
  .orbit-label { font-size:12px; max-width:90px; }
  .orbit-top-left { left:7%; } .orbit-top-right { right:4%; } .orbit-bottom-left { left:2%; } .orbit-bottom-right { right:0; }
  .service-featured-inner { padding:30px 25px; }
  .service-featured h3 { font-size:31px; }
  .service-featured-kicker { font-size:22px; }
  .service-tile { min-height:155px; }
  .service-tile h3 { font-size:24px; }
  .service-mark { width:68px; height:31px; }
  .portfolio-section { padding-top: 18px; padding-bottom: 10px; }
  .partners-section { padding-top: 20px; }
  .bookshelf { margin-bottom:50px; }
  .partner-band { padding:30px 0; }
  .logo-band-inner { grid-template-columns:repeat(2,1fr); }
  .client-track { gap:42px; }
  .client-logo { width:150px; }
  .lead-section { padding-top: 24px; padding-bottom: 30px; }
  .lead-card, .next-card { padding:27px 20px; }
  .form-row { grid-template-columns:1fr; }
  .next-card h2 { font-size:34px; }
  .floating-contact { width:50px; height:50px; bottom:16px; }
  .floating-contact svg { width:26px; height:26px; }
  .floating-phone { left:14px; } .floating-wa { right:14px; }
  .scroll-top { right:20px; bottom:78px; width:32px; height:32px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}


/* v1.4.6 refinements: more balanced spacing for Partners / Clients */
.partners-section,
.clients-section {
  background: var(--adel-pale);
}

.partners-section {
  padding-top: 34px;
  padding-bottom: 20px;
}

.clients-section {
  padding-top: 20px;
  padding-bottom: 28px;
}

.partners-section .brand-section-title,
.clients-section .brand-section-title {
  margin-bottom: 22px;
}

.partner-band,
.client-band {
  margin-top: 0;
}

.partner-band {
  background: #313c47;
  padding: 30px 0;
}

.logo-band-inner.partner-logo-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: 22px;
  padding-inline: 10px;
}

.partner-logo-item {
  width: 100%;
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-logo,
.partner-logo--cna,
.partner-logo--confindustria,
.partner-logo--confindustria-giovani,
.partner-logo--sofia,
.partner-logo--itaca,
.partner-logo--vitto,
.partner-logo--tigullio {
  width: auto !important;
  height: 74px;
  max-width: 185px;
  object-fit: contain;
  margin: 0 auto;
}

.client-band {
  background: var(--adel-teal);
  padding: 30px 0;
  overflow: hidden;
}

.client-track {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 54px;
  animation: marquee 72s linear infinite;
  will-change: transform;
  padding-inline: 8px;
}

.client-logo {
  width: 210px;
  height: 88px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0 6px;
}

.client-logo img {
  max-width: 100%;
  max-height: 68px;
  object-fit: contain;
}

@media (max-width: 1080px) {
  .logo-band-inner.partner-logo-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
  }

  .partner-logo,
  .partner-logo--cna,
  .partner-logo--confindustria,
  .partner-logo--confindustria-giovani,
  .partner-logo--sofia,
  .partner-logo--itaca,
  .partner-logo--vitto,
  .partner-logo--tigullio {
    height: 64px;
    max-width: 165px;
  }

  .client-track {
    gap: 42px;
  }

  .client-logo {
    width: 185px;
    height: 78px;
  }

  .client-logo img {
    max-height: 60px;
  }
}

@media (max-width: 700px) {
  .partners-section {
    padding-top: 26px;
    padding-bottom: 16px;
  }

  .clients-section {
    padding-top: 16px;
    padding-bottom: 22px;
  }

  .partners-section .brand-section-title,
  .clients-section .brand-section-title {
    margin-bottom: 16px;
  }

  .logo-band-inner.partner-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .partner-logo,
  .partner-logo--cna,
  .partner-logo--confindustria,
  .partner-logo--confindustria-giovani,
  .partner-logo--sofia,
  .partner-logo--itaca,
  .partner-logo--vitto,
  .partner-logo--tigullio {
    height: 52px;
    max-width: 140px;
  }

  .partner-logo-item {
    min-height: 72px;
  }

  .client-band {
    padding: 22px 0;
  }

  .client-track {
    gap: 28px;
  }

  .client-logo {
    width: 150px;
    height: 64px;
  }

  .client-logo img {
    max-height: 48px;
  }
}


/* v1.4.7 optical rebalance of partner logos */
.partner-band {
  padding: 34px 0;
}

.logo-band-inner.partner-logo-grid {
  gap: 20px;
}

.partner-logo-item {
  min-height: 120px;
}

.partner-logo {
  width: auto !important;
  max-width: 100%;
  object-fit: contain;
}

/* Base enlargement */
.partner-logo--confindustria,
.partner-logo--confindustria-giovani,
.partner-logo--itaca,
.partner-logo--vitto,
.partner-logo--tigullio {
  height: 92px;
}

/* Extra optical compensation for logos that visually read smaller */
.partner-logo--cna,
.partner-logo--sofia {
  height: 118px;
}

/* Fine tuning */
.partner-logo--confindustria {
  height: 100px;
}

.partner-logo--confindustria-giovani {
  height: 96px;
}

.partner-logo--itaca {
  height: 96px;
}

.partner-logo--vitto {
  height: 100px;
}

.partner-logo--tigullio {
  height: 94px;
}

@media (max-width: 1080px) {
  .partner-band {
    padding: 28px 0;
  }

  .partner-logo-item {
    min-height: 106px;
  }

  .partner-logo--cna,
  .partner-logo--sofia {
    height: 102px;
  }

  .partner-logo--confindustria {
    height: 88px;
  }

  .partner-logo--confindustria-giovani,
  .partner-logo--itaca {
    height: 84px;
  }

  .partner-logo--vitto,
  .partner-logo--tigullio {
    height: 86px;
  }
}

@media (max-width: 700px) {
  .partner-band {
    padding: 22px 0;
  }

  .partner-logo-item {
    min-height: 88px;
  }

  .partner-logo--cna,
  .partner-logo--sofia {
    height: 84px;
  }

  .partner-logo--confindustria,
  .partner-logo--vitto,
  .partner-logo--tigullio {
    height: 72px;
  }

  .partner-logo--confindustria-giovani,
  .partner-logo--itaca {
    height: 68px;
  }
}


/* v1.4.8 tighter section padding for Partners / Clients */
.partners-section {
  padding-top: 18px;
  padding-bottom: 10px;
}

.clients-section {
  padding-top: 10px;
  padding-bottom: 14px;
}

.partners-section .brand-section-title,
.clients-section .brand-section-title {
  margin-bottom: 10px;
}

.partner-band {
  padding: 26px 0;
}

.client-band {
  padding: 26px 0;
}

@media (max-width: 1080px) {
  .partners-section {
    padding-top: 16px;
    padding-bottom: 10px;
  }

  .clients-section {
    padding-top: 8px;
    padding-bottom: 12px;
  }

  .partners-section .brand-section-title,
  .clients-section .brand-section-title {
    margin-bottom: 10px;
  }

  .partner-band,
  .client-band {
    padding: 22px 0;
  }
}

@media (max-width: 700px) {
  .partners-section {
    padding-top: 14px;
    padding-bottom: 8px;
  }

  .clients-section {
    padding-top: 8px;
    padding-bottom: 10px;
  }

  .partners-section .brand-section-title,
  .clients-section .brand-section-title {
    margin-bottom: 8px;
  }

  .partner-band,
  .client-band {
    padding: 18px 0;
  }
}


/* v1.4.9 hero copy repositioning */
.hero-video-media {
  inset: 0 0 0 48%;
}

.hero-video-overlay {
  background:
    linear-gradient(90deg, #35414d 0%, #35414d 38%, rgba(53,65,77,.95) 48%, rgba(53,65,77,.58) 62%, rgba(53,65,77,.14) 80%, rgba(53,65,77,.06) 100%),
    linear-gradient(0deg, rgba(25,34,42,.12), rgba(25,34,42,.12));
}

.hero-video-copy {
  width: min(44%, 560px);
  max-width: 560px;
  padding: 54px 0 62px 8px;
}

.hero-video h1 {
  max-width: 540px;
  margin: 0 0 34px;
  font-size: clamp(64px, 5.8vw, 96px);
}

.hero-video-cta {
  width: min(100%, 460px);
}

@media (max-width: 1280px) {
  .hero-video-media { inset: 0 0 0 46%; }
  .hero-video-copy { width: min(48%, 560px); }
  .hero-video h1 { max-width: 520px; font-size: clamp(60px, 6vw, 84px); }
}


/* v1.5.0 partner logos enlarged + tighter optical normalization */
.partner-band {
  padding: 30px 0;
}

.logo-band-inner.partner-logo-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 22px;
  align-items: center;
}

.partner-logo-item {
  min-height: 132px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-logo {
  width: auto !important;
  max-width: 100%;
  object-fit: contain;
}

.partner-logo--cna,
.partner-logo--sofia {
  height: 114px !important;
}

.partner-logo--confindustria,
.partner-logo--confindustria-giovani,
.partner-logo--itaca,
.partner-logo--vitto {
  height: 108px !important;
}

.partner-logo--tigullio {
  height: 102px !important;
}

@media (max-width: 1180px) {
  .logo-band-inner.partner-logo-grid {
    gap: 18px;
  }

  .partner-logo-item {
    min-height: 116px;
  }

  .partner-logo--cna,
  .partner-logo--sofia {
    height: 100px !important;
  }

  .partner-logo--confindustria,
  .partner-logo--confindustria-giovani,
  .partner-logo--itaca,
  .partner-logo--vitto {
    height: 94px !important;
  }

  .partner-logo--tigullio {
    height: 88px !important;
  }
}

@media (max-width: 700px) {
  .logo-band-inner.partner-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 12px;
  }

  .partner-logo-item {
    min-height: 92px;
  }

  .partner-logo--cna,
  .partner-logo--sofia {
    height: 76px !important;
  }

  .partner-logo--confindustria,
  .partner-logo--confindustria-giovani,
  .partner-logo--itaca,
  .partner-logo--vitto,
  .partner-logo--tigullio {
    height: 68px !important;
  }
}


/* v1.5.1 partner logos much larger on desktop */
.partner-band {
  padding: 24px 0 !important;
}

.logo-band-inner.partner-logo-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: center !important;
}

.partner-logo-item {
  min-height: 164px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.partner-logo {
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.partner-logo--cna,
.partner-logo--sofia {
  height: 146px !important;
}

.partner-logo--confindustria,
.partner-logo--confindustria-giovani,
.partner-logo--itaca,
.partner-logo--vitto,
.partner-logo--tigullio {
  height: 132px !important;
}

@media (max-width: 1400px) {
  .partner-logo-item {
    min-height: 148px !important;
  }

  .partner-logo--cna,
  .partner-logo--sofia {
    height: 128px !important;
  }

  .partner-logo--confindustria,
  .partner-logo--confindustria-giovani,
  .partner-logo--itaca,
  .partner-logo--vitto,
  .partner-logo--tigullio {
    height: 116px !important;
  }
}

@media (max-width: 1180px) {
  .logo-band-inner.partner-logo-grid {
    gap: 14px !important;
  }

  .partner-logo-item {
    min-height: 126px !important;
  }

  .partner-logo--cna,
  .partner-logo--sofia {
    height: 108px !important;
  }

  .partner-logo--confindustria,
  .partner-logo--confindustria-giovani,
  .partner-logo--itaca,
  .partner-logo--vitto,
  .partner-logo--tigullio {
    height: 96px !important;
  }
}

@media (max-width: 700px) {
  .logo-band-inner.partner-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 10px !important;
  }

  .partner-logo-item {
    min-height: 96px !important;
  }

  .partner-logo--cna,
  .partner-logo--sofia {
    height: 78px !important;
  }

  .partner-logo--confindustria,
  .partner-logo--confindustria-giovani,
  .partner-logo--itaca,
  .partner-logo--vitto,
  .partner-logo--tigullio {
    height: 70px !important;
  }
}

/* v1.5.2 Balanced layout for Partners / Clients */
.partners-section,
.clients-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: var(--adel-pale);
}

.section-heading-balanced {
  text-align: center;
  padding-top: 34px;
  padding-bottom: 22px;
}

.section-heading-balanced .brand-section-title {
  margin: 0 0 8px !important;
  font-size: clamp(48px, 5vw, 72px);
  line-height: 1;
}

.section-heading-subtitle {
  margin: 0 auto;
  max-width: 820px;
  color: #34515c;
  font-size: 17px;
  line-height: 1.4;
}

.section-heading-line {
  display: block;
  width: 64px;
  height: 4px;
  margin: 12px auto 0;
  border-radius: 99px;
  background: var(--adel-teal);
}

.partner-band {
  margin: 0 !important;
  padding: 26px 0 !important;
}

.client-band {
  margin: 0 !important;
  padding: 28px 0 !important;
}

.partner-logo-item {
  min-height: 148px !important;
}

.partner-logo--cna,
.partner-logo--sofia {
  height: 130px !important;
}

.partner-logo--confindustria,
.partner-logo--confindustria-giovani,
.partner-logo--itaca,
.partner-logo--vitto,
.partner-logo--tigullio {
  height: 116px !important;
}

@media (max-width: 1180px) {
  .section-heading-balanced {
    padding-top: 30px;
    padding-bottom: 20px;
  }
  .section-heading-subtitle { font-size: 16px; max-width: 720px; }
  .partner-logo-item { min-height: 124px !important; }
  .partner-logo--cna,
  .partner-logo--sofia { height: 106px !important; }
  .partner-logo--confindustria,
  .partner-logo--confindustria-giovani,
  .partner-logo--itaca,
  .partner-logo--vitto,
  .partner-logo--tigullio { height: 96px !important; }
}

@media (max-width: 700px) {
  .section-heading-balanced {
    padding-top: 24px;
    padding-bottom: 18px;
    padding-inline: 18px;
  }
  .section-heading-balanced .brand-section-title { font-size: 42px; }
  .section-heading-subtitle { font-size: 14px; max-width: 92%; }
  .section-heading-line { width: 52px; height: 3px; margin-top: 10px; }
  .partner-band,
  .client-band { padding: 20px 0 !important; }
  .partner-logo-item { min-height: 94px !important; }
  .partner-logo--cna,
  .partner-logo--sofia { height: 80px !important; }
  .partner-logo--confindustria,
  .partner-logo--confindustria-giovani,
  .partner-logo--itaca,
  .partner-logo--vitto,
  .partner-logo--tigullio { height: 70px !important; }
}


/* v1.5.7 — complete build: ADEL Management card + selected footer option 3.
   IMPORTANT: original v1.5.3 hero/video layout is intentionally preserved. */
.service-tile h3 {
  min-height: 64px;
  display: flex;
  align-items: flex-start;
}
.service-tile-management { position: relative; }
.service-management-logo {
  display: block;
  width: 124px;
  height: 86px;
  object-fit: contain;
  object-position: left bottom;
  margin-top: auto;
  margin-bottom: 0;
}
.service-tile-management .service-discover { color: #ff3f51; }
.client-logo { width: 210px; height: 84px; }
.client-logo img {
  max-width: 190px;
  max-height: 64px;
  width: auto;
  height: auto;
}
.client-marquee:hover .client-track { animation-play-state: running !important; }

/* Footer — selected option 3: balanced three-column layout */
.site-footer { background:#313d49; }
.footer-main {
  grid-template-columns:minmax(330px,1fr) minmax(360px,1.15fr) minmax(300px,.9fr);
  gap:58px;
  align-items:center;
  padding-top:56px;
}
.footer-company-premium { align-self:start; }
.footer-vat { margin-bottom:24px !important; }
.footer-info-row {
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:start;
  margin-bottom:18px;
}
.footer-info-row p { margin:0 !important; }
.footer-info-icon {
  color:#1ab2c8;
  font-size:23px;
  line-height:1.1;
  text-align:center;
  padding-top:1px;
}
.footer-contact-row { margin-top:4px; }
.footer-center {
  align-self:center;
  justify-self:center;
  width:100%;
  max-width:390px;
  padding-inline:28px;
  border-left:1px solid rgba(255,255,255,.14);
  border-right:1px solid rgba(255,255,255,.14);
}
.footer-logo { width:176px; margin-bottom:20px; }
.footer-rule { width:250px; opacity:.75; }
.footer-actions { align-self:start; width:100%; max-width:340px; justify-self:end; }
.funding-block { margin-top:34px; }

@media (max-width:1080px) {
  .service-tile h3 { min-height:56px; }
  .service-management-logo { width:112px; height:76px; }
  .footer-main { grid-template-columns:1fr 1fr; align-items:start; }
  .footer-center { border-right:0; }
  .footer-actions { grid-column:1/-1; max-width:none; grid-template-columns:repeat(3,1fr); }
  .footer-actions .policy { grid-column:span 1; }
}
@media (max-width:700px) {
  .service-tile h3 { min-height:0; }
  .service-management-logo { width:102px; height:68px; }
  .client-logo { width:160px; height:68px; }
  .client-logo img { max-width:145px; max-height:52px; }
  .footer-main { grid-template-columns:1fr; gap:36px; padding-top:42px; }
  .footer-center {
    border:0;
    padding:28px 0;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    max-width:none;
    text-align:center;
  }
  .footer-logo { margin-inline:auto; }
  .footer-rule { margin-inline:auto; }
  .footer-socials { justify-content:center !important; }
  .footer-actions { grid-column:auto; grid-template-columns:1fr; max-width:none; }
}


/* =========================================================
   v1.5.8 — RESPONSIVE HERO FINAL
   Desktop keeps the original animated ADEL video layout.
   Tablet keeps the same two-column visual hierarchy.
   Phones stack copy + complete circular animation without crops.
   ========================================================= */

/* Avoid accidental wrapping on desktop/tablet */
.hero-video h1 {
  white-space: nowrap;
}

/* Tablet / small laptop: same composition, scaled correctly */
@media (min-width: 601px) and (max-width: 900px) {
  .hero-video {
    min-height: 560px !important;
  }

  .hero-video-inner {
    min-height: 560px !important;
    align-items: center !important;
  }

  .hero-video-media {
    position: absolute !important;
    inset: 0 0 0 47% !important;
    width: auto !important;
    height: auto !important;
  }

  .hero-video-desktop {
    display: block !important;
  }

  .hero-video-mobile {
    display: none !important;
  }

  .hero-video-media video {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .hero-video-overlay {
    display: block !important;
    background:
      linear-gradient(90deg,
        #35414d 0%,
        #35414d 39%,
        rgba(53,65,77,.97) 47%,
        rgba(53,65,77,.68) 57%,
        rgba(53,65,77,.18) 76%,
        rgba(53,65,77,.04) 100%) !important;
  }

  .hero-video-copy {
    width: 46% !important;
    max-width: none !important;
    padding: 42px 0 48px !important;
    text-align: left !important;
  }

  .hero-video h1 {
    max-width: none !important;
    margin: 0 0 28px !important;
    font-size: clamp(42px, 6.4vw, 58px) !important;
    line-height: .98 !important;
    letter-spacing: -.05em !important;
    white-space: nowrap !important;
  }

  .hero-video-cta {
    min-width: 0 !important;
    width: min(100%, 390px) !important;
    min-height: 60px !important;
    padding: 16px 24px !important;
    font-size: 17px !important;
  }
}

/* Phone: clean stacked composition like the approved mobile reference */
@media (max-width: 600px) {
  .site-header {
    position: sticky;
    top: 0;
  }

  .header-inner {
    min-height: 84px !important;
    grid-template-columns: 1fr auto !important;
    gap: 14px !important;
  }

  .brand,
  .brand img,
  .brand .custom-logo {
    width: 104px !important;
    max-height: 72px !important;
    object-fit: contain !important;
  }

  .menu-toggle {
    width: 50px !important;
    height: 50px !important;
    border-radius: 14px !important;
  }

  .site-nav {
    top: 74px !important;
  }

  .hero-video {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    background: #35414d !important;
    overflow: hidden !important;
  }

  /* Text first: readable immediately, no overlap with animation */
  .hero-video-inner {
    order: 1 !important;
    position: relative !important;
    min-height: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .hero-video-copy {
    width: 100% !important;
    max-width: none !important;
    padding: 42px 0 28px !important;
    text-align: center !important;
  }

  .hero-video h1 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 22px !important;
    font-size: clamp(36px, 10.5vw, 48px) !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    white-space: nowrap !important;
  }

  .hero-video-cta {
    min-width: 0 !important;
    width: min(100%, 370px) !important;
    min-height: 58px !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    margin-inline: auto !important;
  }

  /* Animation below copy, completely visible and centered */
  .hero-video-media {
    order: 2 !important;
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: clamp(390px, 108vw, 540px) !important;
    min-height: 390px !important;
    overflow: hidden !important;
    background: #35414d !important;
  }

  .hero-video-desktop {
    display: none !important;
  }

  .hero-video-mobile {
    display: block !important;
  }

  .hero-video-media video {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    max-width: 100% !important;
  }

  .hero-video-overlay {
    display: none !important;
  }

  /* Floating actions: smaller so they do not cover hero content */
  .floating-contact {
    width: 50px !important;
    height: 50px !important;
    bottom: 18px !important;
  }
  .floating-phone { left: 14px !important; }
  .floating-wa { right: 14px !important; }
  .floating-contact svg { width: 25px !important; height: 25px !important; }
  .scroll-top {
    right: 18px !important;
    bottom: 78px !important;
    width: 34px !important;
    height: 34px !important;
  }

  /* General mobile spacing polish */
  .section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .services {
    padding-top: 46px !important;
    padding-bottom: 26px !important;
  }
  .services-heading h2,
  .brand-section-title {
    font-size: clamp(36px, 10vw, 46px) !important;
    line-height: 1.02 !important;
  }
  .services-bento {
    gap: 16px !important;
  }
  .service-tile {
    min-height: 150px !important;
  }
  .section-heading-balanced {
    padding: 28px 14px 22px !important;
  }
  .logo-band-inner.partner-logo-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .contact-form-grid,
  .footer-main {
    grid-template-columns: 1fr !important;
  }
}

/* Very narrow phones */
@media (max-width: 380px) {
  .adel-container {
    width: calc(100% - 24px) !important;
  }

  .hero-video h1 {
    font-size: 34px !important;
  }

  .hero-video-cta {
    font-size: 14px !important;
    padding-inline: 14px !important;
  }

  .hero-video-media {
    height: 420px !important;
    min-height: 420px !important;
  }
}


/* v1.5.9 mobile contact form + action dock refinement */
.mobile-cta-dock {
  display: none;
}

@media (max-width: 600px) {
  body {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .lead-card,
  .next-card {
    padding: 28px 18px !important;
    border-radius: 26px !important;
    box-shadow: 7px 7px 0 rgba(7, 152, 176, .16) !important;
  }

  .adel-lead-form {
    gap: 16px !important;
  }

  .adel-lead-form .form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .adel-lead-form label {
    gap: 8px !important;
    font-size: 13px !important;
  }

  .adel-lead-form label span {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .adel-lead-form input[type="text"],
  .adel-lead-form input[type="email"],
  .adel-lead-form input[type="tel"],
  .adel-lead-form textarea {
    padding: 13px 15px !important;
    font-size: 12px !important;
    border-radius: 999px !important;
  }

  .adel-lead-form textarea {
    min-height: 178px !important;
    border-radius: 24px !important;
    line-height: 1.45 !important;
  }

  .privacy-check {
    gap: 10px !important;
    align-items: flex-start !important;
  }

  .privacy-check input {
    width: 18px !important;
    height: 18px !important;
    margin-top: 3px !important;
  }

  .privacy-check span {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .form-submit {
    min-height: 54px !important;
    font-size: 15px !important;
  }

  .floating-phone,
  .floating-wa {
    display: none !important;
  }

  .scroll-top {
    right: 16px !important;
    bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
  }

  .mobile-cta-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1001;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 56px;
    align-items: center;
    gap: 12px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    background: rgba(215, 238, 242, .98);
    border-top: 1px solid rgba(38, 53, 65, .08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .mobile-cta-dock__icon,
  .mobile-cta-dock__center {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }

  .mobile-cta-dock__icon {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .12);
  }

  .mobile-cta-dock__icon svg {
    width: 28px;
    height: 28px;
    fill: #26343f;
  }

  .mobile-cta-dock__icon--phone {
    background: #0798b0;
  }

  .mobile-cta-dock__icon--wa {
    background: #26d392;
  }

  .mobile-cta-dock__center {
    min-height: 56px;
    border-radius: 999px;
    background: #0798b0;
    color: #fff;
    font-weight: 800;
    font-size: 15px;
    box-shadow: 0 10px 22px rgba(7, 152, 176, .22);
    padding: 0 18px;
    white-space: nowrap;
  }
}

@media (max-width: 420px) {
  .adel-container {
    width: calc(100% - 28px) !important;
  }

  .adel-lead-form .form-row {
    gap: 12px !important;
  }

  .adel-lead-form label span {
    font-size: 12px !important;
  }

  .adel-lead-form input[type="text"],
  .adel-lead-form input[type="email"],
  .adel-lead-form input[type="tel"],
  .adel-lead-form textarea {
    font-size: 11px !important;
    padding: 12px 14px !important;
  }

  .mobile-cta-dock__center {
    font-size: 14px;
    padding-inline: 14px;
  }
}

/* v1.5.10 — mobile hero/header aligned to approved reference */
.header-mobile-tools {
  display: none;
}

.header-langs {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  color: var(--adel-ink);
  letter-spacing: 0;
}

.header-langs .is-active {
  color: var(--adel-teal);
  font-weight: 700;
}

.header-langs__sep {
  opacity: .55;
}

.hero-video-mobile-arrow {
  display: none;
}

@media (max-width: 600px) {
  .header-inner {
    min-height: 98px !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .brand,
  .brand img,
  .brand .custom-logo {
    width: 118px !important;
    max-height: 86px !important;
  }

  .header-cta {
    display: none !important;
  }

  .header-mobile-tools {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    justify-self: end;
  }

  .header-langs {
    font-size: 18px;
    line-height: 1;
  }

  .menu-toggle {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    gap: 4px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .menu-toggle span {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: var(--adel-ink) !important;
  }

  .menu-toggle.is-open span:nth-child(1),
  .menu-toggle.is-open span:nth-child(3) {
    transform: none !important;
  }

  .menu-toggle.is-open span:nth-child(2) {
    opacity: 1 !important;
  }

  .site-nav {
    top: 90px !important;
    left: 14px !important;
    right: 14px !important;
    z-index: 910;
  }

  .hero-video {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    background: #35414d !important;
  }

  .hero-video-media {
    order: 1 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: clamp(360px, 88vw, 470px) !important;
    min-height: 360px !important;
    overflow: hidden !important;
    background: #35414d !important;
  }

  .hero-video-desktop {
    display: none !important;
  }

  .hero-video-mobile {
    display: block !important;
  }

  .hero-video-media video {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .hero-video-overlay {
    display: none !important;
  }

  .hero-video-mobile-arrow {
    order: 2 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 10px 0 0;
    color: #ffffff;
    font-size: 74px;
    line-height: 1;
    font-weight: 300;
  }

  .hero-video-inner {
    order: 3 !important;
    min-height: 0 !important;
    display: block !important;
    width: 100% !important;
    padding: 0 0 34px !important;
  }

  .hero-video-copy {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .hero-video h1 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 26px !important;
    font-size: clamp(34px, 10.5vw, 44px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .hero-video-cta {
    width: min(100%, 700px) !important;
    min-width: 0 !important;
    min-height: 60px !important;
    font-size: 16px !important;
    padding: 16px 18px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 420px) {
  .header-langs {
    font-size: 17px;
    gap: 8px;
  }

  .brand,
  .brand img,
  .brand .custom-logo {
    width: 110px !important;
  }

  .hero-video-media {
    height: 350px !important;
    min-height: 350px !important;
  }

  .hero-video-mobile-arrow {
    font-size: 68px;
  }

  .hero-video h1 {
    font-size: 32px !important;
  }
}

/* v1.5.11 — mobile services back to smaller 2-column cards */
@media (max-width: 560px) {
  .services-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch;
  }

  .service-featured {
    grid-column: 1 / -1 !important;
    min-height: 210px !important;
    border-radius: 28px !important;
  }

  .service-featured-inner {
    padding: 28px 22px !important;
  }

  .service-featured h3 {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.02 !important;
  }

  .service-featured-kicker {
    font-size: 20px !important;
    margin-bottom: 10px !important;
  }

  .service-featured p:last-child {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .service-tile {
    min-height: 220px !important;
    padding: 18px 16px 16px !important;
    border-radius: 24px !important;
    box-shadow: 6px 6px 0 rgba(15,35,46,.14) !important;
  }

  .service-tile h3 {
    font-size: clamp(15px, 4.8vw, 20px) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
  }

  .service-mark {
    width: 58px !important;
    height: 28px !important;
  }

  .service-management-logo {
    width: 84px !important;
    height: auto !important;
  }

  .service-discover {
    opacity: 1 !important;
    transform: none !important;
    margin-top: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: flex-start !important;
    min-height: 40px !important;
    padding: 8px 16px !important;
    border: 2px solid currentColor !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    background: transparent !important;
  }

  .service-discover span {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .services-bento {
    gap: 12px !important;
  }

  .service-tile {
    min-height: 205px !important;
    padding: 16px 14px 14px !important;
  }

  .service-tile h3 {
    font-size: 14px !important;
  }

  .service-discover {
    font-size: 11px !important;
    padding: 8px 14px !important;
  }
}

/* v1.5.12 — mobile hero visual enlarged to fill space like approved reference */
@media (max-width: 600px) {
  .hero-video-media {
    height: clamp(420px, 92vw, 560px) !important;
    min-height: 420px !important;
  }

  .hero-video-media video {
    object-fit: cover !important;
    object-position: center center !important;
    transform: scale(1.22) !important;
    transform-origin: center center !important;
  }

  .hero-video-mobile-arrow {
    margin: 2px 0 8px !important;
  }

  .hero-video h1 {
    margin: 0 0 20px !important;
  }
}

@media (max-width: 420px) {
  .hero-video-media {
    height: 430px !important;
    min-height: 430px !important;
  }

  .hero-video-media video {
    transform: scale(1.28) !important;
  }
}

@media (max-width: 375px) {
  .hero-video-media {
    height: 400px !important;
    min-height: 400px !important;
  }

  .hero-video-media video {
    transform: scale(1.32) !important;
  }
}


/* v1.5.13 — sito solo in italiano: rimosso selettore lingua */
.header-langs { display: none !important; }
@media (max-width: 600px) {
  .header-mobile-tools { gap: 0 !important; }
}


/* v1.5.14 — mobile partner/client sections aligned to preferred strip layout */
.partner-marquee { display: none; overflow: hidden; }
.partner-track {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 44px;
  animation: marquee 44s linear infinite;
  will-change: transform;
  padding-inline: 12px;
}
.partner-marquee:hover .partner-track { animation-play-state: running; }

@media (max-width: 700px) {
  .partners-section,
  .clients-section {
    background: var(--adel-pale) !important;
    padding: 0 !important;
  }

  .section-heading-balanced {
    text-align: left !important;
    padding: 22px 18px 18px !important;
  }

  .section-heading-balanced .brand-section-title {
    font-size: clamp(34px, 10.5vw, 54px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.03em;
    margin: 0 !important;
  }

  .section-heading-subtitle,
  .section-heading-line {
    display: none !important;
  }

  .partner-band,
  .client-band {
    margin: 0 !important;
    padding: 16px 0 !important;
    overflow: hidden !important;
  }

  .partner-logo-grid {
    display: none !important;
  }

  .partner-marquee {
    display: block !important;
  }

  .partner-track {
    gap: 30px;
    animation-duration: 36s;
  }

  .partner-marquee .partner-logo-item {
    width: 165px;
    min-width: 165px;
    min-height: 72px !important;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
  }

  .partner-marquee .partner-logo--cna,
  .partner-marquee .partner-logo--sofia {
    height: 66px !important;
    max-width: 150px !important;
  }

  .partner-marquee .partner-logo--confindustria,
  .partner-marquee .partner-logo--confindustria-giovani,
  .partner-marquee .partner-logo--itaca,
  .partner-marquee .partner-logo--vitto,
  .partner-marquee .partner-logo--tigullio {
    height: 56px !important;
    max-width: 145px !important;
  }

  .client-band {
    padding: 18px 0 !important;
  }

  .client-track {
    gap: 32px !important;
    animation-duration: 58s !important;
    padding-inline: 10px !important;
  }

  .client-logo {
    width: 165px !important;
    height: 64px !important;
    padding: 0 !important;
  }

  .client-logo img {
    max-width: 100% !important;
    max-height: 50px !important;
    object-fit: contain;
  }
}


/* v1.5.15 — fix mobile sticky header offset when admin bar/login is present */
@media screen and (max-width: 782px) {
  html {
    margin-top: 0 !important;
  }

  #wpadminbar {
    position: fixed !important;
  }

  body.admin-bar .site-header,
  .admin-bar .site-header {
    top: 0 !important;
  }

  body.admin-bar .site-nav,
  .admin-bar .site-nav {
    top: 74px !important;
  }
}


/* v1.5.16 — mobile robustness: hero fallback + logo fallbacks + funding fallback */
.client-logo.is-fallback {
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
}

.client-logo-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 14px;
  color: #ffffff;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
}

.funding-fallback {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  margin: 0 auto 20px;
}

.funding-fallback span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-align: center;
}

.funding-block.is-fallback .funding-fallback {
  display: flex;
}

.hero-video--fallback .hero-video-media {
  background-color: #35414d !important;
  background-image: url('../images/consulenza-orbit.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: min(88vw, 480px) auto !important;
}

.hero-video--fallback .hero-video-media video {
  display: none !important;
}

@media (max-width: 700px) {
  .client-logo-fallback {
    font-size: 13px;
    padding: 0 10px;
  }

  .funding-fallback {
    gap: 12px;
  }

  .funding-fallback span {
    font-size: 10px;
    min-height: 34px;
    padding: 8px 11px;
  }
}

@media (max-width: 600px) {
  .hero-video {
    min-height: auto !important;
  }

  .hero-video-media {
    height: clamp(360px, 78vw, 460px) !important;
    min-height: 360px !important;
  }

  .hero-video--fallback .hero-video-media {
    background-size: min(84vw, 420px) auto !important;
  }

  .hero-video-mobile-arrow {
    margin: 0 0 6px !important;
  }

  .hero-video-inner {
    padding: 0 0 26px !important;
  }

  .funding-block {
    margin-top: 28px !important;
  }

  .funding-block p {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 420px) {
  .hero-video-media {
    height: 330px !important;
    min-height: 330px !important;
  }

  .hero-video--fallback .hero-video-media {
    background-size: 92% auto !important;
  }

  .hero-video h1 {
    font-size: clamp(30px, 9.5vw, 40px) !important;
    white-space: nowrap !important;
  }

  .client-logo-fallback {
    font-size: 12px;
  }
}


/* v1.5.17 — footer inline logo mobile fix */
.footer-logo-inline {
  width: 176px;
  margin: 0 auto 20px;
}
.footer-logo-inline svg {
  display: block;
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
}
@media (max-width: 820px) {
  .footer-logo-inline {
    margin-left: 0;
  }
}
@media (max-width: 700px) {
  .footer-logo-inline {
    margin-inline: auto;
  }
}


/* v1.5.18 — mobile dropdown menu, option 1 */
.mobile-menu-icon { display: none; }
.mobile-menu-label { display: inline; }

@media (max-width: 600px) {
  .header-inner {
    position: relative !important;
  }

  .header-mobile-tools {
    position: relative;
    z-index: 930;
  }

  .menu-toggle {
    position: relative;
    z-index: 932;
    transition: background .2s ease, box-shadow .2s ease, transform .2s ease !important;
  }

  .menu-toggle.is-open {
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.62) !important;
    box-shadow: 0 8px 22px rgba(28,46,58,.12) !important;
  }

  .site-nav {
    position: absolute !important;
    top: 78px !important;
    right: 0 !important;
    left: auto !important;
    width: min(310px, calc(100vw - 28px)) !important;
    padding: 10px 16px !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 22px 55px rgba(24,42,54,.22) !important;
    opacity: 0 !important;
    transform: translateY(-8px) scale(.98) !important;
    transform-origin: top right !important;
    pointer-events: none !important;
    transition: opacity .18s ease, transform .18s ease !important;
    overflow: visible !important;
  }

  .site-nav::before {
    content: "";
    position: absolute;
    top: -10px;
    right: 17px;
    width: 22px;
    height: 22px;
    background: rgba(255,255,255,.98);
    transform: rotate(45deg);
    border-radius: 4px 0 0 0;
    box-shadow: -5px -5px 12px rgba(24,42,54,.03);
  }

  .site-nav.is-open {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: auto !important;
  }

  .adel-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .adel-menu li {
    width: 100%;
    position: relative;
  }

  .adel-menu li + li {
    border-top: 1px solid rgba(38,52,63,.12);
  }

  .adel-menu a {
    display: grid !important;
    grid-template-columns: 52px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 74px !important;
    padding: 10px 4px !important;
    color: var(--adel-ink) !important;
    font-size: 21px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  .adel-menu a:active {
    transform: scale(.99);
  }

  .mobile-menu-icon {
    display: grid !important;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #e8f7fa;
    color: var(--adel-ink);
  }

  .mobile-menu-icon svg {
    width: 25px;
    height: 25px;
    fill: currentColor;
  }

  .mobile-menu-label {
    display: block !important;
    position: relative;
    z-index: 1;
  }
}

@media (max-width: 420px) {
  .site-nav {
    width: min(292px, calc(100vw - 24px)) !important;
    right: -2px !important;
    padding: 8px 14px !important;
    border-radius: 22px !important;
  }

  .site-nav::before {
    right: 15px;
  }

  .adel-menu a {
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: 12px !important;
    min-height: 68px !important;
    font-size: 19px !important;
  }

  .mobile-menu-icon {
    width: 44px;
    height: 44px;
  }

  .mobile-menu-icon svg {
    width: 23px;
    height: 23px;
  }
}


/* v1.5.19 — mobile social links touch/click reliability */
.footer-center,
.footer-socials {
  position: relative;
}
.footer-socials {
  z-index: 20 !important;
  pointer-events: auto !important;
}
.footer-socials a {
  position: relative !important;
  z-index: 21 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(255,255,255,.18);
}
.footer-socials a svg,
.footer-socials a svg * {
  pointer-events: none !important;
}
@media (max-width: 700px) {
  .footer-center {
    position: relative !important;
    z-index: 30 !important;
  }
  .footer-socials {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    overflow: visible !important;
  }
  .footer-socials a {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    flex: 0 0 46px !important;
  }
  .footer-socials a svg {
    width: 22px !important;
    height: 22px !important;
  }
}


/* v1.5.20 — newsletter section + Italian-only interface */
.header-langs,
.language-switcher,
.lang-switcher,
.wpml-ls,
.trp-language-switcher,
.polylang-switcher {
  display: none !important;
}

.newsletter-section {
  position: relative;
  overflow: hidden;
  background: #313c47;
  color: #fff;
  padding: 82px 0;
}

.newsletter-section::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(10,159,183,.28);
  border-radius: 50%;
  right: -150px;
  top: -190px;
}

.newsletter-section::after {
  content: "";
  position: absolute;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 50%;
  right: -40px;
  top: -90px;
}

.newsletter-wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 70px;
  align-items: center;
}

.newsletter-eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  color: #26d392;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .16em;
}

.newsletter-copy h2 {
  margin: 0 0 24px;
  max-width: 760px;
  color: #fff;
  font-size: clamp(46px, 5.2vw, 74px);
  line-height: .98;
  letter-spacing: -.045em;
}

.newsletter-copy p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 18px;
  line-height: 1.55;
}

.newsletter-card {
  padding: 34px;
  border-radius: 30px;
  background: #d7eef2;
  box-shadow: 10px 10px 0 rgba(7,152,176,.35);
}

.adel-newsletter-form {
  display: grid;
  gap: 18px;
}

.adel-newsletter-form label {
  display: grid;
  gap: 8px;
  color: #26343f;
  font-weight: 700;
}

.adel-newsletter-form input[type="email"] {
  width: 100%;
  min-height: 58px;
  padding: 0 20px;
  border: 1px solid rgba(38,52,63,.14);
  border-radius: 999px;
  background: #fff;
  color: #26343f;
  font: inherit;
  outline: none;
}

.adel-newsletter-form input[type="email"]:focus {
  border-color: #0798b0;
  box-shadow: 0 0 0 3px rgba(7,152,176,.12);
}

.newsletter-privacy {
  grid-template-columns: auto 1fr !important;
  align-items: start;
  gap: 10px !important;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 500 !important;
}

.newsletter-privacy input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

.adel-newsletter-form button {
  min-height: 58px;
  border: 0;
  border-radius: 999px;
  background: #0798b0;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}

.adel-newsletter-form button:hover {
  transform: translateY(-2px);
  background: #08aac4;
}

@media (max-width: 820px) {
  .newsletter-section { padding: 64px 0; }
  .newsletter-wrap { grid-template-columns: 1fr; gap: 34px; }
  .newsletter-card { max-width: 620px; width: 100%; }
}

@media (max-width: 600px) {
  .newsletter-section { padding: 48px 0; }
  .newsletter-wrap { gap: 28px; }
  .newsletter-copy h2 { font-size: clamp(38px, 11vw, 54px); }
  .newsletter-copy p { font-size: 15px; }
  .newsletter-card { padding: 24px 20px; border-radius: 24px; box-shadow: 7px 7px 0 rgba(7,152,176,.28); }
  .adel-newsletter-form input[type="email"],
  .adel-newsletter-form button { min-height: 54px; }
}

/* v1.5.21 — Italian-only hardening */
.header-langs,
.language-switcher,
.wpml-ls,
.trp-language-switcher,
.polylang-lang-switcher,
.lang-switcher {
  display: none !important;
}


/* v1.5.22 — mobile padding fix around Partner / Client sections */
@media (max-width: 700px) {
  .portfolio-section {
    padding-top: 12px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .portfolio-section .adel-container,
  .portfolio-artwork-link,
  .portfolio-artwork {
    margin-bottom: 0 !important;
  }

  .partners-section,
  .clients-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
  }

  .partners-section .section-heading-balanced,
  .clients-section .section-heading-balanced {
    padding-top: 10px !important;
    padding-bottom: 12px !important;
    margin-top: 0 !important;
  }

  .partners-section .brand-section-title,
  .clients-section .brand-section-title {
    margin: 0 !important;
  }

  .partner-band {
    padding-top: 12px !important;
  }

  .client-band {
    padding-top: 14px !important;
  }
}


/* v1.5.23 — lock mobile CTA dock to viewport, including footer */
@media (max-width: 600px) {
  .mobile-cta-dock {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100vw !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 2147483000 !important;
    contain: layout paint;
    isolation: isolate;
  }

  .site-footer {
    position: relative;
    z-index: 1;
  }

  body {
    padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
  }
}


/* v1.5.24 — compact Casi Studio mobile hero spacing */
@media (max-width: 700px) {
  .adel-casi-studio-mobile .adel-casi-studio-hero {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
    justify-content: flex-start !important;
    align-content: start !important;
  }

  .adel-casi-studio-mobile .adel-casi-studio-marker {
    margin-bottom: 18px !important;
  }

  .adel-casi-studio-mobile .adel-casi-studio-media-wrap {
    min-height: 0 !important;
    height: auto !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .adel-casi-studio-mobile .adel-casi-studio-books {
    display: block !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    transform: none !important;
  }

  .adel-casi-studio-mobile .adel-casi-studio-books img {
    display: block !important;
    margin-top: 0 !important;
  }
}

/* v1.5.25 — pagine interne Casi Studio: layout full-width, padding ridotto */
.single-caso-studio .case-study-single {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  overflow: hidden;
}

.single-caso-studio .case-study-single__header {
  margin: 0;
  padding: 28px 0 20px;
  background: var(--adel-pale);
  border-bottom: 1px solid rgba(38, 52, 63, .08);
}

.single-caso-studio .case-study-single__title-wrap {
  margin-top: 0;
  margin-bottom: 0;
}

.single-caso-studio .case-study-single__eyebrow {
  display: block;
  margin: 0 0 8px;
  color: var(--adel-teal);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.single-caso-studio .case-study-single__header h1 {
  margin: 0;
  color: var(--adel-ink);
  font-size: clamp(42px, 5vw, 70px);
  line-height: .98;
  letter-spacing: -.04em;
}

.single-caso-studio .case-study-single__content,
.single-caso-studio .case-study-single__content > * {
  max-width: none;
}

.single-caso-studio .case-study-single__content {
  width: 100%;
  margin: 0;
  padding: 0 !important;
}

/* Elimina il padding aggiunto dal vecchio wrapper generico del tema. */
.single-caso-studio .content-page,
.single-caso-studio .content-page.section,
.single-caso-studio .prose {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-caso-studio .case-study-single__content > :first-child {
  margin-top: 0 !important;
}

.single-caso-studio .case-study-single__content > :last-child {
  margin-bottom: 0 !important;
}

/* Compatibilità con contenuti Elementor/full-width già presenti nei casi studio. */
.single-caso-studio .case-study-single__content > .elementor,
.single-caso-studio .case-study-single__content > .wp-block-group.alignfull,
.single-caso-studio .case-study-single__content > .alignfull {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 700px) {
  .single-caso-studio .case-study-single__header {
    padding: 14px 0 12px;
  }

  .single-caso-studio .case-study-single__title-wrap {
    width: calc(100% - 32px) !important;
  }

  .single-caso-studio .case-study-single__eyebrow {
    margin-bottom: 5px;
    font-size: 10px;
    letter-spacing: .13em;
  }

  .single-caso-studio .case-study-single__header h1 {
    font-size: clamp(34px, 10vw, 46px);
    line-height: 1;
  }

  .single-caso-studio .case-study-single__content {
    padding: 0 !important;
  }

  .single-caso-studio .case-study-single__content > .elementor,
  .single-caso-studio .case-study-single__content > .wp-block-group.alignfull,
  .single-caso-studio .case-study-single__content > .alignfull {
    margin-top: 0 !important;
  }
}

/* v1.5.26 — riduzione spazi verticali e padding nelle pagine interne mobile */
@media (max-width: 700px) {
  /* Pagine interne standard */
  body:not(.home) .content-page,
  body:not(.home) .content-page.section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body:not(.home) .content-page > .adel-container,
  body:not(.home) .content-page .prose {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Elementor: compatta solo i contenitori esterni, senza toccare le card interne. */
  body:not(.home) .entry-content > .elementor,
  body:not(.home) .case-study-single__content > .elementor {
    margin: 0 !important;
    padding: 0 !important;
  }

  body:not(.home) .entry-content > .elementor > .elementor-section,
  body:not(.home) .entry-content > .elementor > .e-con,
  body:not(.home) .entry-content > .elementor > .elementor-element,
  body:not(.home) .case-study-single__content > .elementor > .elementor-section,
  body:not(.home) .case-study-single__content > .elementor > .e-con,
  body:not(.home) .case-study-single__content > .elementor > .elementor-element {
    min-height: 0 !important;
    height: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  /* Elementor containers annidati: evita spazi morti molto grandi tra blocchi. */
  body:not(.home) .elementor .e-con.e-parent,
  body:not(.home) .elementor-section-wrap > .elementor-section {
    min-height: 0 !important;
  }

  body:not(.home) .elementor .e-con.e-parent + .e-con.e-parent,
  body:not(.home) .elementor-section-wrap > .elementor-section + .elementor-section {
    margin-top: 0 !important;
  }

  /* WordPress/Gutenberg full width */
  body:not(.home) .entry-content > .wp-block-group,
  body:not(.home) .entry-content > .alignfull,
  .single-caso-studio .case-study-single__content > .wp-block-group,
  .single-caso-studio .case-study-single__content > .alignfull {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  /* Evita gap extra creati da spacer Elementor nelle pagine interne. */
  body:not(.home) .elementor-widget-spacer .elementor-spacer-inner {
    max-height: 24px !important;
  }
}

/* v1.5.27 — Partner/Clienti globali, identici alla Home in tutte le pagine */
.adel-global-social-proof {
  width: 100%;
  overflow: hidden;
}

.adel-global-social-proof .partners-section,
.adel-global-social-proof .clients-section {
  margin: 0;
}

/* Evita che eventuali vecchie sezioni Partner/Clienti presenti nei contenuti
   di pagine interne compaiano insieme alla versione globale del tema. */
body:not(.home) .content-page .partners-section:not(.adel-global-proof-section),
body:not(.home) .content-page .clients-section:not(.adel-global-proof-section),
body:not(.home) .case-study-single__content .partners-section:not(.adel-global-proof-section),
body:not(.home) .case-study-single__content .clients-section:not(.adel-global-proof-section) {
  display: none !important;
}

@media (max-width: 700px) {
  .adel-global-social-proof .partners-section,
  .adel-global-social-proof .clients-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .adel-global-social-proof .section-heading-balanced {
    padding: 22px 18px 18px !important;
    margin: 0 !important;
  }

  .adel-global-social-proof .brand-section-title {
    margin: 0 !important;
  }

  .adel-global-social-proof .partner-band,
  .adel-global-social-proof .client-band {
    margin: 0 !important;
  }
}

/* v1.5.28 — ADEL Management logo contrast fix on yellow Influencer Marketing card */
.service-tile-management .service-management-logo {
  width: 158px !important;
  height: 104px !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 10px 14px !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  background: #303641 !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 16px !important;
  box-shadow: 5px 6px 0 rgba(38,52,63,.16) !important;
}

@media (max-width: 700px) {
  .service-tile-management .service-management-logo {
    width: 126px !important;
    height: 88px !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    box-shadow: 4px 5px 0 rgba(38,52,63,.14) !important;
  }
}

@media (max-width: 390px) {
  .service-tile-management .service-management-logo {
    width: 116px !important;
    height: 80px !important;
  }
}


/* v1.5.29 — compact desktop footer spacing */
@media (min-width: 701px) {
  .site-footer {
    padding-top: 26px !important;
    padding-bottom: 12px !important;
  }

  .footer-main {
    padding-top: 10px !important;
    gap: 42px !important;
    align-items: start !important;
  }

  .footer-company p {
    margin-bottom: 12px !important;
  }

  .footer-vat {
    margin-bottom: 14px !important;
  }

  .footer-info-row {
    margin-bottom: 10px !important;
  }

  .footer-center {
    padding-inline: 22px !important;
  }

  .footer-logo,
  .footer-logo-inline {
    margin-bottom: 12px !important;
  }

  .footer-rule {
    margin-bottom: 12px !important;
  }

  .footer-actions {
    gap: 10px !important;
  }

  .footer-actions > a {
    min-height: 38px !important;
  }

  .footer-actions .policy {
    min-height: 30px !important;
  }

  .funding-block {
    margin-top: 18px !important;
  }

  .funding-block img,
  .funding-image {
    max-height: 66px !important;
    margin-bottom: 10px !important;
  }

  .funding-block p {
    line-height: 1.35 !important;
  }

  .footer-bottom {
    margin-top: 16px !important;
    padding-top: 12px !important;
  }
}

/* v1.5.30 — Intelligenza Artificiale + Automazioni & Funnel */
.service-detail-hero {
  background: var(--adel-charcoal);
  color: #fff;
  overflow: hidden;
}

.service-detail-hero__inner {
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 72px;
  align-items: center;
  padding-top: 72px;
  padding-bottom: 72px;
}

.service-detail-hero__copy {
  max-width: 760px;
}

.service-detail-eyebrow {
  display: inline-block;
  margin-bottom: 22px;
  font-size: 18px;
  font-weight: 800;
  color: var(--adel-teal);
}

.service-detail-hero--coral .service-detail-eyebrow {
  color: var(--adel-coral);
}

.service-detail-hero h1 {
  margin: 0 0 26px;
  font-size: clamp(58px, 6.2vw, 108px);
  line-height: .91;
  letter-spacing: -.055em;
  color: #fff;
}

.service-detail-hero__copy > p {
  max-width: 720px;
  margin: 0 0 34px;
  font-size: clamp(19px, 1.55vw, 25px);
  line-height: 1.5;
  color: rgba(255,255,255,.82);
}

.service-detail-hero__visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.service-detail-orbit {
  position: relative;
  width: min(410px, 34vw);
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.service-detail-orbit::before,
.service-detail-orbit::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.18);
}

.service-detail-orbit::before { inset: 12%; }
.service-detail-orbit::after { inset: 27%; }

.service-detail-orbit strong {
  position: relative;
  z-index: 2;
  font-size: clamp(54px, 6vw, 96px);
  line-height: 1;
  letter-spacing: -.06em;
  color: var(--adel-teal);
}

.service-detail-hero--coral .service-detail-orbit strong {
  color: var(--adel-coral);
}

.service-detail-orbit span {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--adel-teal);
}

.service-detail-hero--coral .service-detail-orbit span {
  background: var(--adel-coral);
}

.service-detail-orbit span:nth-child(1) { top: 6%; left: 49%; }
.service-detail-orbit span:nth-child(2) { right: 11%; bottom: 21%; }
.service-detail-orbit span:nth-child(3) { left: 13%; bottom: 27%; }

.service-detail-section {
  padding: 96px 0;
  background: var(--adel-pale);
}

.service-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 88px;
  align-items: start;
}

.service-detail-intro h2 {
  margin: 14px 0 0;
  font-size: clamp(40px, 4.2vw, 70px);
  line-height: .98;
  letter-spacing: -.045em;
  color: var(--adel-ink);
}

.service-detail-points {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(38,53,65,.18);
}

.service-detail-point {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 20px;
  align-items: center;
  padding: 25px 0;
  border-bottom: 1px solid rgba(38,53,65,.18);
}

.service-detail-point span {
  font-weight: 800;
  color: var(--adel-teal);
}

.service-detail-point p {
  margin: 0;
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--adel-ink);
}

.service-detail-cta {
  padding: 24px 0 96px;
  background: var(--adel-pale);
}

.service-detail-cta__card {
  padding: 56px;
  border-radius: 36px;
  background: #fff;
  box-shadow: 12px 12px 0 rgba(7,152,176,.15);
}

.service-detail-cta__card h2 {
  max-width: 900px;
  margin: 12px 0 30px;
  font-size: clamp(36px, 4.5vw, 70px);
  line-height: .98;
  letter-spacing: -.045em;
}

@media (max-width: 800px) {
  .service-detail-hero__inner {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 44px;
    padding-top: 52px;
    padding-bottom: 58px;
  }

  .service-detail-hero h1 {
    font-size: clamp(46px, 13vw, 76px);
  }

  .service-detail-hero__visual {
    order: -1;
  }

  .service-detail-orbit {
    width: min(290px, 72vw);
  }

  .service-detail-section {
    padding: 60px 0;
  }

  .service-detail-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .service-detail-cta {
    padding: 0 0 70px;
  }

  .service-detail-cta__card {
    padding: 34px 24px;
    border-radius: 28px;
  }
}

@media (max-width: 560px) {
  .service-detail-hero__inner {
    padding-top: 36px;
    padding-bottom: 44px;
  }

  .service-detail-eyebrow {
    font-size: 15px;
  }

  .service-detail-hero__copy > p {
    font-size: 17px;
  }

  .service-detail-point {
    grid-template-columns: 44px 1fr;
    padding: 20px 0;
  }

  .service-detail-point p {
    font-size: 19px;
  }
}

/* v1.5.31 — Influencer Marketing / ADEL Management: Proposta 1 */
.service-tile-management--proposal-1 {
  background: #f8d94a !important;
  color: #26343f !important;
  padding: 24px 24px 20px !important;
  justify-content: flex-start !important;
  overflow: hidden;
}

.service-tile-management--proposal-1 .service-management-logo {
  display: block !important;
  width: 150px !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.service-tile-management--proposal-1 .service-management-rule {
  display: block;
  width: 72px;
  height: 2px;
  margin: 0 0 18px;
  background: #ff3f51;
  border-radius: 999px;
}

.service-tile-management--proposal-1 h3 {
  min-height: 0 !important;
  margin: 0 !important;
  color: #ff3f51 !important;
  font-size: clamp(24px, 2.3vw, 34px) !important;
  line-height: .98 !important;
  letter-spacing: -.035em;
  max-width: 220px;
}

.service-tile-management--proposal-1 .service-discover {
  margin-top: auto !important;
  color: #26343f !important;
  font-weight: 800 !important;
}

.service-tile-management--proposal-1:hover {
  transform: translateY(-4px);
}

.service-tile-management--proposal-1:hover .service-discover {
  color: #ff3f51 !important;
}

@media (max-width: 700px) {
  .service-tile-management--proposal-1 {
    padding: 18px 16px 16px !important;
  }

  .service-tile-management--proposal-1 .service-management-logo {
    width: 105px !important;
    margin-bottom: 12px !important;
  }

  .service-tile-management--proposal-1 .service-management-rule {
    width: 48px;
    margin-bottom: 12px;
  }

  .service-tile-management--proposal-1 h3 {
    font-size: clamp(17px, 4.6vw, 21px) !important;
    line-height: 1.02 !important;
  }
}

@media (max-width: 390px) {
  .service-tile-management--proposal-1 .service-management-logo {
    width: 94px !important;
  }

  .service-tile-management--proposal-1 h3 {
    font-size: 16px !important;
  }
}

/* v1.5.34 — footer desktop: three columns vertically balanced */
@media (min-width: 1081px) {
  .footer-main {
    align-items: center !important;
  }

  .footer-company-premium {
    align-self: center !important;
  }

  .footer-center {
    align-self: center !important;
  }

  .footer-actions {
    align-self: center !important;
    justify-self: end !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* v1.5.35 — Premium conversion service pages */
.premium-service-hero {
  background: #101b25;
  color: #fff;
  overflow: hidden;
}
.premium-service-hero__grid {
  min-height: 620px;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: center;
  gap: 56px;
  padding-top: 70px;
  padding-bottom: 70px;
}
.premium-service-hero__copy { max-width: 720px; }
.premium-service-kicker {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #30b9cb;
  margin-bottom: 18px;
}
.premium-service-hero--coral .premium-service-kicker { color: #ff4052; }
.premium-service-hero h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(54px, 5.3vw, 88px);
  line-height: .96;
  letter-spacing: -.055em;
  color: #f6fbfc;
}
.premium-service-hero__copy > p {
  max-width: 640px;
  margin: 28px 0 0;
  font-size: 20px;
  line-height: 1.5;
  color: #d7e1e5;
}
.premium-service-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  margin-top: 34px;
}
.premium-service-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 58px;
  padding: 0 28px;
  border-radius: 999px;
  background: #ff4052;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(255,64,82,.18);
}
.premium-service-hero--teal .premium-service-btn { background: #0798b0; box-shadow: 0 16px 34px rgba(7,152,176,.18); }
.premium-service-btn span { font-size: 20px; }
.premium-service-text-link {
  color: #f6fbfc;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.premium-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}
.premium-service-tags span {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #dce7ea;
}
.premium-service-hero__visual { display: flex; justify-content: flex-end; }
.premium-service-visual-card {
  position: relative;
  width: min(100%, 470px);
  aspect-ratio: .86;
  border-radius: 34px;
  padding: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,64,82,.36), transparent 30%),
    linear-gradient(145deg, #1b2934, #0d151c 74%);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 38px 80px rgba(0,0,0,.32);
}
.premium-service-hero--teal .premium-service-visual-card {
  background:
    radial-gradient(circle at 82% 20%, rgba(7,152,176,.35), transparent 30%),
    linear-gradient(145deg, #1b2934, #0d151c 74%);
}
.premium-service-visual-label {
  display: block;
  font-size: 11px;
  letter-spacing: .2em;
  font-weight: 800;
  color: rgba(255,255,255,.62);
}
.premium-service-visual-card strong {
  display: block;
  margin-top: 42px;
  font-size: clamp(56px, 6vw, 92px);
  letter-spacing: -.06em;
  color: #fff;
}

/* Strategia Digitale: il visual usa una parola lunga, quindi la scala senza tagliarla. */
.premium-service-visual-card--strategia-digitale strong {
  max-width: 100%;
  font-size: clamp(52px, 4.8vw, 74px);
  line-height: .92;
  letter-spacing: -.055em;
  white-space: nowrap;
}
.premium-service-visual-card--strategia-digitale .premium-service-bars {
  bottom: 82px;
  height: 112px;
}
.premium-service-bars {
  position: absolute;
  left: 34px;
  right: 34px;
  bottom: 86px;
  height: 120px;
  display: flex;
  gap: 12px;
  align-items: flex-end;
}
.premium-service-bars i {
  flex: 1;
  border-radius: 12px 12px 4px 4px;
  background: linear-gradient(180deg, #ff4052, #0798b0);
}
.premium-service-bars i:nth-child(1) { height: 32%; }
.premium-service-bars i:nth-child(2) { height: 48%; }
.premium-service-bars i:nth-child(3) { height: 68%; }
.premium-service-bars i:nth-child(4) { height: 94%; }
.premium-service-hero--teal .premium-service-bars i { background: linear-gradient(180deg, #30b9cb, #fff); }
.premium-service-visual-card small {
  position: absolute;
  left: 34px;
  bottom: 36px;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: rgba(255,255,255,.66);
}
.premium-service-benefits { background: #f7f8f7; color: #13222d; }
.premium-service-benefits__grid {
  display: grid;
  grid-template-columns: .9fr 1.6fr;
  gap: 50px;
  padding-top: 58px;
  padding-bottom: 58px;
  align-items: center;
}
.premium-service-section-title span {
  display: block;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  color: #0798b0;
}
.premium-service-section-title h2,
.premium-service-capabilities h2,
.premium-service-method h2,
.premium-service-final-cta h2 {
  margin: 0;
  font-size: clamp(34px, 3.3vw, 54px);
  line-height: 1;
  letter-spacing: -.045em;
}
.premium-service-benefit-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.premium-service-benefit-card {
  min-height: 190px;
  padding: 24px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e7ecee;
}
.premium-service-dot {
  display: block;
  width: 44px;
  height: 44px;
  margin-bottom: 30px;
  border-radius: 50%;
  background: #e5f4f6;
  box-shadow: inset 0 0 0 12px #0798b0;
}
.premium-service-benefit-card h3 { margin: 0 0 10px; font-size: 20px; }
.premium-service-benefit-card p { margin: 0; color: #53616b; line-height: 1.45; }
.premium-service-capabilities { background: #101b25; color: #f7fbfc; }
.premium-service-capabilities__grid {
  display: grid;
  grid-template-columns: .82fr 1.58fr;
  gap: 60px;
  padding-top: 68px;
  padding-bottom: 68px;
}
.premium-service-capabilities__intro p {
  max-width: 430px;
  margin: 22px 0 0;
  color: #b9c6cc;
  font-size: 17px;
  line-height: 1.55;
}
.premium-service-capability-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.premium-service-capability-card {
  min-height: 220px;
  padding: 26px;
  border-radius: 22px;
  background: #1a2833;
  border: 1px solid rgba(255,255,255,.08);
}
.premium-service-capability-card > span {
  display: block;
  margin-bottom: 46px;
  font-size: 12px;
  color: #30b9cb;
}
.premium-service-capability-card h3 { margin: 0 0 10px; font-size: 22px; }
.premium-service-capability-card p { margin: 0; color: #b8c6cc; line-height: 1.45; }
.premium-service-proof { background: #f7f8f7; padding: 54px 0; }
.premium-service-proof__card {
  position: relative;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  align-items: center;
  overflow: hidden;
  min-height: 340px;
  padding: 48px;
  border-radius: 28px;
  background: linear-gradient(120deg, #fff 0 58%, #e8f3f4 58% 100%);
  border: 1px solid #e1e7e9;
}
.premium-service-proof__card span { font-size: 11px; font-weight: 800; letter-spacing: .15em; color: #7c8b94; }
.premium-service-proof__card h2 { margin: 12px 0 20px; font-size: 28px; }
.premium-service-proof__card strong { display: block; font-size: clamp(42px, 4vw, 68px); line-height: 1; color: #0798b0; letter-spacing: -.05em; }
.premium-service-proof__card p { max-width: 540px; color: #4d5d66; }
.premium-service-proof__card a { color: #13222d; font-weight: 800; }
.premium-service-proof__metric {
  justify-self: center;
  font-size: clamp(130px, 16vw, 240px);
  line-height: .8;
  font-weight: 900;
  letter-spacing: -.08em;
  color: rgba(7,152,176,.12);
}
.premium-service-method { background: #fff; }
.premium-service-method .adel-container { padding-top: 58px; padding-bottom: 58px; }
.premium-service-method__header { max-width: 760px; margin-bottom: 38px; }
.premium-service-method__steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}
.premium-service-method__steps div {
  min-height: 110px;
  padding: 18px;
  border-radius: 18px;
  background: #f5f7f7;
  border: 1px solid #e7ebed;
}
.premium-service-method__steps span { display: block; margin-bottom: 24px; color: #0798b0; font-size: 11px; }
.premium-service-method__steps strong { font-size: 15px; }
.premium-service-final-cta { background: #ff4052; color: #fff; }
.premium-service-final-cta--teal { background: #0798b0; }
.premium-service-final-cta__inner {
  min-height: 360px;
  display: grid;
  grid-template-columns: 1.4fr .6fr;
  align-items: center;
  gap: 40px;
  padding-top: 56px;
  padding-bottom: 56px;
}
.premium-service-final-cta .premium-service-kicker { color: rgba(255,255,255,.75); }
.premium-service-final-cta p { max-width: 700px; margin: 18px 0 0; font-size: 18px; color: rgba(255,255,255,.88); }
.premium-service-btn--dark { background: #101b25 !important; color: #fff; justify-self: end; box-shadow: none; }

@media (max-width: 900px) {
  .premium-service-hero__grid,
  .premium-service-benefits__grid,
  .premium-service-capabilities__grid,
  .premium-service-final-cta__inner {
    grid-template-columns: 1fr;
  }
  .premium-service-hero__visual { justify-content: flex-start; }
  .premium-service-benefit-cards { grid-template-columns: 1fr 1fr 1fr; }
  .premium-service-final-cta__inner { min-height: 0; }
  .premium-service-btn--dark { justify-self: start; }
}

@media (max-width: 700px) {
  .premium-service-hero__grid {
    min-height: 0;
    gap: 28px;
    padding-top: 42px;
    padding-bottom: 36px;
  }
  .premium-service-hero h1 {
    font-size: clamp(42px, 12vw, 62px);
  }
  .premium-service-hero__copy > p { font-size: 16px; margin-top: 20px; }
  .premium-service-actions { margin-top: 26px; }
  .premium-service-btn { width: 100%; min-height: 54px; padding: 0 18px; text-align: center; }
  .premium-service-text-link { width: 100%; text-align: center; }
  .premium-service-tags { gap: 7px; margin-top: 22px; }
  .premium-service-tags span { font-size: 10px; }
  .premium-service-visual-card { width: 100%; aspect-ratio: 1.12; border-radius: 26px; padding: 24px; }
  .premium-service-visual-card strong { margin-top: 26px; font-size: 58px; }
  .premium-service-visual-card--strategia-digitale strong {
    font-size: clamp(42px, 11vw, 54px);
    white-space: nowrap;
  }
  .premium-service-bars { left: 24px; right: 24px; bottom: 66px; height: 70px; }
  .premium-service-visual-card small { left: 24px; bottom: 24px; font-size: 9px; }
  .premium-service-benefits__grid,
  .premium-service-capabilities__grid { gap: 28px; padding-top: 36px; padding-bottom: 36px; }
  .premium-service-benefit-cards { grid-template-columns: 1fr; }
  .premium-service-benefit-card { min-height: 0; }
  .premium-service-dot { margin-bottom: 18px; }
  .premium-service-capability-list { grid-template-columns: 1fr 1fr; gap: 10px; }
  .premium-service-capability-card { min-height: 190px; padding: 18px; }
  .premium-service-capability-card > span { margin-bottom: 30px; }
  .premium-service-capability-card h3 { font-size: 18px; }
  .premium-service-capability-card p { font-size: 13px; }
  .premium-service-proof { padding: 32px 0; }
  .premium-service-proof__card { grid-template-columns: 1fr; min-height: 0; padding: 28px; background: #fff; }
  .premium-service-proof__metric { display: none; }
  .premium-service-method .adel-container { padding-top: 36px; padding-bottom: 36px; }
  .premium-service-method__steps { grid-template-columns: repeat(2, 1fr); }
  .premium-service-method__steps div:last-child { grid-column: 1 / -1; }
  .premium-service-final-cta__inner { gap: 28px; padding-top: 38px; padding-bottom: 38px; }
}

@media (max-width: 420px) {
  .premium-service-capability-list { grid-template-columns: 1fr; }
  .premium-service-method__steps { grid-template-columns: 1fr; }
  .premium-service-method__steps div:last-child { grid-column: auto; }
}

/* v1.5.37 — footer left information block balanced and centered */
@media (min-width: 1081px) {
  .footer-main {
    min-height: 360px !important;
    align-items: stretch !important;
  }

  .footer-company-premium {
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: left !important;
    padding-block: 14px !important;
  }

  .footer-center,
  .footer-actions {
    align-self: center !important;
  }
}

@media (max-width: 820px) {
  .footer-company-premium {
    width: min(100%, 540px) !important;
    margin-inline: auto !important;
    text-align: left !important;
  }
}

/* v1.5.39 - CTA pagine servizio verso il form locale */
.premium-service-contact {
  scroll-margin-top: 96px;
  background: var(--adel-pale);
  padding: 54px 0 62px;
}

.premium-service-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 54px;
  align-items: start;
}

.premium-service-contact__intro {
  position: sticky;
  top: 112px;
  padding: 6px 0;
}

.premium-service-contact__intro h2 {
  margin: 12px 0 18px;
  max-width: 620px;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .96;
  letter-spacing: -.045em;
  color: var(--adel-ink);
}

.premium-service-contact__intro > p {
  max-width: 560px;
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
  color: #485762;
}

.premium-service-contact__meta {
  display: grid;
  gap: 8px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(38,53,65,.15);
  font-weight: 700;
}

.premium-service-contact__meta span { color: var(--adel-teal); }
.premium-service-contact__meta a { font-size: 21px; color: var(--adel-ink); }

.premium-service-contact__form {
  padding: 30px;
  border-radius: 28px;
  background: #edf8f8;
  box-shadow: 8px 8px 0 rgba(7,152,176,.16);
}

.premium-service-contact .adel-lead-form textarea { min-height: 150px; }

@media (max-width: 800px) {
  .premium-service-contact {
    scroll-margin-top: 90px;
    padding: 34px 0 44px;
  }
  .premium-service-contact__grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .premium-service-contact__intro { position: static; }
  .premium-service-contact__intro h2 { font-size: clamp(38px, 11vw, 54px); }
  .premium-service-contact__form {
    padding: 24px 20px;
    border-radius: 24px;
  }
}

@media (max-width: 560px) {
  .premium-service-contact { padding: 26px 0 36px; }
  .premium-service-contact__intro > p { font-size: 15px; }
  .premium-service-contact__meta {
    margin-top: 20px;
    padding-top: 16px;
  }
  .premium-service-contact__meta a { font-size: 18px; }
}

/* v1.5.40 — Home / Risultati misurabili */
.results-metrics-section {
  position: relative;
  overflow: hidden;
  padding: 76px 0 82px;
  background:
    radial-gradient(circle at 88% 16%, rgba(255,69,82,.075), transparent 18%),
    radial-gradient(circle at 9% 88%, rgba(7,152,176,.11), transparent 25%),
    #f7fbfc;
}
.results-metrics-section::after {
  content: "";
  position: absolute;
  inset: auto -12% -24% 28%;
  height: 58%;
  background: linear-gradient(145deg, transparent 8%, rgba(7,152,176,.055) 8% 20%, transparent 20% 33%, rgba(7,152,176,.04) 33% 45%, transparent 45%);
  transform: skewY(-7deg);
  pointer-events: none;
}
.results-metrics-wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,.86fr) minmax(0,1.4fr);
  gap: 54px;
  align-items: stretch;
}
.results-metrics-intro {
  position: relative;
  min-height: 590px;
  padding: 22px 0 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.results-metrics-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
  color: #70808c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .22em;
}
.results-metrics-eyebrow::after {
  content: "";
  width: 58px;
  height: 1px;
  background: rgba(38,53,65,.45);
}
.results-metrics-intro h2 {
  margin: 0 0 24px;
  color: var(--adel-ink);
  font-size: clamp(58px, 5.7vw, 86px);
  line-height: .89;
  letter-spacing: -.06em;
}
.results-metrics-intro h2 span { color: var(--adel-teal); }
.results-metrics-intro > p {
  max-width: 500px;
  margin: 0 0 24px;
  color: #61717d;
  font-size: 20px;
  line-height: 1.45;
}
.results-metrics-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 8px 0 30px;
  color: #647681;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.results-metrics-tags span + span::before {
  content: "•";
  margin-right: 20px;
  color: var(--adel-red);
}
.results-metrics-cta {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 52px;
  padding: 0 25px;
  border-radius: 999px;
  background: var(--adel-darker);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  transition: transform .2s ease, background .2s ease;
}
.results-metrics-cta:hover { transform: translateY(-2px); background: var(--adel-teal-dark); }
.results-growth-mini {
  width: min(430px, 100%);
  margin-top: auto;
  opacity: .9;
}
.results-growth-mini svg { width: 100%; height: auto; overflow: visible; }
.results-growth-area { fill: rgba(7,152,176,.075); }
.results-growth-line {
  fill: none;
  stroke: var(--adel-teal);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
  transition: stroke-dashoffset 1.7s cubic-bezier(.16,1,.3,1) .15s;
}
.results-growth-mini circle {
  fill: var(--adel-red);
  stroke: #fff;
  stroke-width: 4;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(.4);
  transition: opacity .35s ease, transform .45s cubic-bezier(.16,1,.3,1);
}
.results-metrics-section.is-visible .results-growth-line { stroke-dashoffset: 0; }
.results-metrics-section.is-visible .results-growth-mini circle { opacity: 1; transform: scale(1); }
.results-metrics-section.is-visible .results-growth-mini circle:nth-of-type(1) { transition-delay: .5s; }
.results-metrics-section.is-visible .results-growth-mini circle:nth-of-type(2) { transition-delay: .85s; }
.results-metrics-section.is-visible .results-growth-mini circle:nth-of-type(3) { transition-delay: 1.25s; }

.results-metrics-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
  align-self: center;
}
.results-metric-card {
  position: relative;
  min-height: 280px;
  padding: 28px 28px 27px;
  border: 1px solid rgba(38,53,65,.07);
  border-radius: 26px;
  background: rgba(255,255,255,.87);
  box-shadow: 0 17px 45px rgba(25,43,54,.07);
  overflow: hidden;
  opacity: 1;
  transform: none;
  transition: box-shadow .25s ease, transform .25s ease;
}
.results-metric-card:hover { box-shadow: 0 22px 55px rgba(25,43,54,.11); transform: translateY(-4px); }
.results-metric-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(7,152,176,.10);
  color: var(--adel-teal);
}
.results-metric-icon.coral { background: rgba(255,69,82,.10); color: var(--adel-red); }
.results-metric-icon svg { width: 25px; height: 25px; fill: currentColor; }
.results-metric-index {
  position: absolute;
  top: 24px;
  right: 26px;
  color: #93a1aa;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}
.results-metric-value {
  margin-top: 22px;
  color: var(--adel-teal);
  font-size: clamp(52px, 4.5vw, 70px);
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.055em;
  font-variant-numeric: tabular-nums;
}
.results-metric-value.coral { color: var(--adel-red); }
.results-metric-value {
  display: inline-flex;
  align-items: baseline;
  will-change: transform, opacity, filter;
}
.results-metric-value.is-counting {
  animation: adelCounterRoulette .26s linear infinite;
}
@keyframes adelCounterRoulette {
  0% { transform: translateY(10px); opacity: .55; filter: blur(1.2px); }
  100% { transform: translateY(-10px); opacity: 1; filter: blur(0); }
}

.results-metric-card h3 {
  margin: 15px 0 0;
  color: var(--adel-ink);
  font-size: 18px;
  line-height: 1.15;
  letter-spacing: -.025em;
}
.results-metric-rule {
  display: block;
  width: 38px;
  height: 2px;
  margin: 16px 0 14px;
  background: var(--adel-teal);
}
.results-metric-rule.coral { background: var(--adel-red); }
.results-metric-card p {
  margin: 0;
  color: #6b7984;
  font-size: 15px;
  line-height: 1.4;
}

@media (max-width: 980px) {
  .results-metrics-wrap { grid-template-columns: 1fr; gap: 34px; }
  .results-metrics-intro { min-height: auto; }
  .results-growth-mini { margin-top: 34px; max-width: 560px; }
}

@media (max-width: 700px) {
  .results-metrics-section { padding: 42px 0 46px; }
  .results-metrics-section .adel-container { width: min(100% - 38px, 1240px); }
  .results-metrics-wrap { gap: 26px; }
  .results-metrics-intro { padding-top: 0; }
  .results-metrics-eyebrow { margin-bottom: 14px; }
  .results-metrics-intro h2 {
    margin-bottom: 16px;
    font-size: clamp(48px, 14vw, 66px);
    line-height: .92;
  }
  .results-metrics-intro > p { margin-bottom: 18px; font-size: 16px; }
  .results-metrics-tags { margin: 4px 0 22px; gap: 7px 12px; }
  .results-metrics-tags span + span::before { margin-right: 12px; }
  .results-metrics-cta { min-height: 48px; padding: 0 20px; font-size: 13px; }
  .results-growth-mini { margin-top: 24px; }
  .results-metrics-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .results-metric-card { min-height: 222px; padding: 20px 17px 19px; border-radius: 21px; }
  .results-metric-icon { width: 42px; height: 42px; }
  .results-metric-icon svg { width: 21px; height: 21px; }
  .results-metric-index { top: 18px; right: 17px; font-size: 9px; }
  .results-metric-value { margin-top: 18px; font-size: clamp(38px, 10.5vw, 52px); }
  .results-metric-card h3 { margin-top: 11px; font-size: 14px; }
  .results-metric-rule { margin: 12px 0 10px; width: 28px; }
  .results-metric-card p { font-size: 12px; line-height: 1.35; }
}

@media (max-width: 410px) {
  .results-metrics-grid { grid-template-columns: 1fr; }
  .results-metric-card { min-height: 210px; }
  .results-metric-value { font-size: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .results-growth-line { transition: none; stroke-dashoffset: 0; }
  .results-growth-mini circle,
  .results-metric-card { transition: none; opacity: 1; transform: none; }
  .results-metric-value.is-counting { animation: none; }
}

/* ==========================================================
   v1.5.41 — IL METODO ADEL
   Homepage: processo operativo premium, coerente con la brand identity.
   ========================================================== */
.adel-method-section {
  position: relative;
  padding: 70px 0 62px;
  background:
    radial-gradient(circle at 92% 10%, rgba(7,152,176,.08), transparent 24%),
    linear-gradient(180deg, #f7fbfc 0%, #eef8f9 100%);
  overflow: hidden;
}
.adel-method-section::before,
.adel-method-section::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.adel-method-section::before {
  width: 520px;
  height: 520px;
  right: -280px;
  top: -330px;
  border: 1px solid rgba(7,152,176,.16);
}
.adel-method-section::after {
  width: 440px;
  height: 220px;
  left: -90px;
  bottom: -150px;
  background: rgba(7,152,176,.035);
  transform: rotate(-8deg);
}
.adel-method-wrap { position: relative; z-index: 1; }
.adel-method-head {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(180px, .65fr);
  align-items: end;
  gap: 52px;
  margin-bottom: 46px;
}
.adel-method-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 16px;
  color: var(--adel-teal);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.adel-method-eyebrow::before {
  content: "";
  width: 38px;
  height: 2px;
  background: var(--adel-teal);
}
.adel-method-head h2 {
  margin: 0 0 14px;
  color: var(--adel-ink);
  font-size: clamp(54px, 5.4vw, 84px);
  line-height: .92;
  letter-spacing: -.06em;
}
.adel-method-head h2 span { color: var(--adel-teal); }
.adel-method-head p {
  max-width: 760px;
  margin: 0;
  color: #667986;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.48;
}
.adel-method-manifesto {
  justify-self: end;
  display: grid;
  gap: 5px;
  min-width: 190px;
  padding-left: 24px;
  border-left: 1px solid rgba(7,152,176,.42);
  color: #607782;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .22em;
  line-height: 1.35;
}
.adel-method-manifesto::after {
  content: "";
  width: 34px;
  height: 2px;
  margin-top: 10px;
  background: var(--adel-red);
}
.adel-method-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  padding-top: 16px;
}
.adel-method-grid::before {
  content: "";
  position: absolute;
  left: 4.5%;
  right: 4.5%;
  top: 34px;
  height: 1px;
  background: linear-gradient(90deg, rgba(7,152,176,.18), rgba(7,152,176,.72) 20%, rgba(7,152,176,.72) 80%, rgba(255,69,82,.55));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.15s cubic-bezier(.16,1,.3,1);
}
.adel-method-section.is-visible .adel-method-grid::before { transform: scaleX(1); }
.adel-method-card {
  position: relative;
  min-width: 0;
  min-height: 200px;
  padding: 58px 17px 18px;
  border: 1px solid rgba(38,53,65,.07);
  border-radius: 20px;
  background: rgba(255,255,255,.80);
  box-shadow: 0 14px 34px rgba(32,56,69,.055);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .48s ease, transform .58s cubic-bezier(.16,1,.3,1), box-shadow .25s ease;
}
.adel-method-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 42px rgba(32,56,69,.10);
}
.adel-method-section.is-visible .adel-method-card { opacity: 1; transform: none; }
.adel-method-section.is-visible .adel-method-card:nth-child(2) { transition-delay: .08s; }
.adel-method-section.is-visible .adel-method-card:nth-child(3) { transition-delay: .16s; }
.adel-method-section.is-visible .adel-method-card:nth-child(4) { transition-delay: .24s; }
.adel-method-section.is-visible .adel-method-card:nth-child(5) { transition-delay: .32s; }
.adel-method-section.is-visible .adel-method-card:nth-child(6) { transition-delay: .40s; }
.adel-method-section.is-visible .adel-method-card:nth-child(7) { transition-delay: .48s; }
.adel-method-number {
  position: absolute;
  top: 20px;
  right: 18px;
  left: auto;
  z-index: 3;
  display: block;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(38,53,65,.48);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1;
  box-shadow: none;
}
.adel-method-number--final { background: transparent; color: var(--adel-red); }
.adel-method-icon {
  position: absolute;
  top: -9px;
  left: 18px;
  z-index: 2;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin: 0;
  border: 5px solid #f4fbfc;
  border-radius: 50%;
  background: #b9e3e8;
  color: var(--adel-teal);
  box-shadow: 0 7px 20px rgba(7,152,176,.13);
}
.adel-method-icon--coral { background: #fde4e7; color: var(--adel-red); box-shadow: 0 7px 20px rgba(255,69,82,.10); }
.adel-method-icon svg { width: 23px; height: 23px; fill: currentColor; }
.adel-method-card h3 {
  min-height: 0;
  margin: 0;
  color: var(--adel-ink);
  font-size: clamp(17px, 1.3vw, 19px);
  line-height: 1.05;
  letter-spacing: -.03em;
  max-width: 14ch;
}
.adel-method-rule {
  display: block;
  width: 28px;
  height: 2px;
  margin: 14px 0 0;
  background: var(--adel-teal);
}
.adel-method-rule--coral { background: var(--adel-red); }
.adel-method-card p { display: none; }
.adel-method-card--final {
  border-color: rgba(255,69,82,.13);
  box-shadow: 0 14px 34px rgba(255,69,82,.055);
}
.adel-method-footer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  margin-top: 26px;
  padding-top: 26px;
  border-top: 1px solid rgba(38,53,65,.10);
}
.adel-method-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 999px;
  background: var(--adel-teal);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
  transition: transform .2s ease, background .2s ease;
}
.adel-method-cta:hover { transform: translateY(-2px); background: var(--adel-teal-dark); }
.adel-method-proof { display: none; }
.adel-method-proof span { display: none; }
.adel-method-proof span::before { display: none; }
.adel-method-proof span:last-child::before { background: var(--adel-red); }

@media (max-width: 1180px) {
  .adel-method-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
  .adel-method-grid::before { display: none; }
  .adel-method-card { min-height: 178px; }
  .adel-method-card h3 { min-height: auto; }
}

@media (max-width: 780px) {
  .adel-method-section { padding: 46px 0 48px; }
  .adel-method-section .adel-container { width: min(100% - 38px, 1240px); }
  .adel-method-head { grid-template-columns: 1fr; gap: 22px; margin-bottom: 30px; }
  .adel-method-head h2 { font-size: clamp(50px, 13vw, 68px); }
  .adel-method-head p { font-size: 16px; }
  .adel-method-manifesto { justify-self: start; grid-template-columns: repeat(4, auto); gap: 6px 15px; min-width: 0; padding: 0 0 0 16px; font-size: 8.5px; }
  .adel-method-manifesto::after { grid-column: 1 / -1; }
  .adel-method-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 0 0 0 24px;
  }
  .adel-method-grid::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 38px;
    bottom: 28px;
    width: 2px;
    background: linear-gradient(180deg, var(--adel-teal), var(--adel-teal) 82%, var(--adel-red));
  }
  .adel-method-card {
    min-height: 0;
    padding: 22px 54px 18px 20px;
    border-radius: 18px;
  }
  .adel-method-number {
    top: 22px;
    right: 18px;
    left: auto;
    width: auto;
    height: auto;
    border: 0;
    font-size: 9px;
  }
  .adel-method-icon {
    top: 18px;
    left: -40px;
    width: 42px;
    height: 42px;
    border-width: 4px;
  }
  .adel-method-icon svg { width: 19px; height: 19px; }
  .adel-method-card h3 { min-height: 0; font-size: 17px; }
  .adel-method-rule { margin: 10px 0 0; }
  .adel-method-card p { display: none; }
  .adel-method-footer { display: flex; gap: 0; margin-top: 22px; padding-top: 22px; }
  .adel-method-cta { width: 100%; min-height: 52px; }
  .adel-method-proof { display: none; }
}

@media (max-width: 430px) {
  .adel-method-manifesto { grid-template-columns: repeat(2,auto); }
}


/* v1.5.65 — Metodo ADEL: un solo nodo visivo per fase.
   L’icona è il punto del percorso; il numero diventa un indice discreto. */
.adel-method-card::before {
  content: "";
  position: absolute;
  top: 31px;
  left: 66px;
  right: 14px;
  height: 1px;
  background: linear-gradient(90deg, rgba(7,152,176,.18), transparent 72%);
  pointer-events: none;
}
.adel-method-card--final::before {
  background: linear-gradient(90deg, rgba(255,69,82,.20), transparent 72%);
}
@media (max-width: 780px) {
  .adel-method-card::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .adel-method-grid::before { transform: none; transition: none; }
  .adel-method-card { opacity: 1; transform: none; transition: none; }
}

/* ==========================================================
   v1.5.46 — PREVENTIVO DIGITALE GRATUITO
   Landing dedicata collegata al CTA "Calcola il tuo preventivo".
   ========================================================== */
.quote-hero,
.quote-form-section,
.quote-about-section { position: relative; overflow: hidden; }
.quote-hero { padding: 74px 0 76px; background: var(--adel-pale); }
.quote-hero::before { content:""; position:absolute; width:520px; height:520px; left:-260px; top:-310px; border-radius:50%; background:rgba(255,255,255,.22); }
.quote-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); align-items:center; gap:70px; }
.quote-kicker { display:inline-flex; align-items:center; gap:12px; margin-bottom:16px; color:var(--adel-teal); font-size:11px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
.quote-kicker::before { content:""; width:36px; height:2px; background:currentColor; }
.quote-hero h1 { max-width:860px; margin:0; color:var(--adel-ink); font-size:clamp(52px,5.4vw,84px); line-height:.97; letter-spacing:-.055em; }
.quote-hero h1 span { color:var(--adel-teal); }
.quote-hero__copy > p { max-width:720px; margin:26px 0 30px; color:#526976; font-size:clamp(18px,1.6vw,23px); line-height:1.48; }
.quote-primary-btn,
.quote-submit,
.quote-outline-btn { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:56px; padding:0 30px; border-radius:999px; font-weight:900; transition:transform .2s ease, background .2s ease, color .2s ease; }
.quote-primary-btn { background:var(--adel-teal); color:#fff; }
.quote-primary-btn:hover { background:var(--adel-teal-dark); transform:translateY(-2px); }
.quote-hero__visual { position:relative; min-height:500px; }
.quote-orbit { position:absolute; border-radius:50%; border:1px solid rgba(7,152,176,.22); }
.quote-orbit--one { width:430px; height:430px; right:10px; top:30px; }
.quote-orbit--two { width:330px; height:330px; right:60px; top:80px; border-color:rgba(255,69,82,.18); }
.quote-visual-card { position:absolute; display:flex; align-items:center; justify-content:center; border-radius:36px; box-shadow:var(--adel-shadow); }
.quote-visual-card--main { right:80px; top:105px; width:286px; height:286px; flex-direction:column; align-items:flex-start; padding:42px; background:var(--adel-darker); color:#fff; transform:rotate(-5deg); }
.quote-visual-label { margin-bottom:18px; color:#9ddbe4; font-size:11px; letter-spacing:.22em; font-weight:900; }
.quote-visual-card--main strong { font-size:54px; line-height:.88; letter-spacing:-.055em; }
.quote-visual-card--small,
.quote-visual-card--small2 { width:88px; height:88px; color:#fff; font-size:20px; font-weight:900; }
.quote-visual-card--small { left:32px; top:88px; background:var(--adel-red); transform:rotate(8deg); }
.quote-visual-card--small2 { right:6px; bottom:48px; background:var(--adel-teal); transform:rotate(-7deg); }
.quote-visual-dot { position:absolute; width:16px; height:16px; border-radius:50%; background:var(--adel-teal); box-shadow:0 0 0 8px rgba(7,152,176,.09); }
.quote-visual-dot--one { left:72px; bottom:94px; }
.quote-visual-dot--two { right:12px; top:132px; background:var(--adel-red); box-shadow:0 0 0 8px rgba(255,69,82,.09); }
.quote-visual-dot--three { right:270px; bottom:22px; }

.quote-form-section { padding:78px 0 90px; background:#f8fbfc; }
.quote-form-section::after { content:""; position:absolute; width:520px; height:520px; right:-320px; top:180px; border-radius:50%; border:1px solid rgba(7,152,176,.12); }
.quote-form-wrap { position:relative; z-index:1; max-width:1180px; }
.quote-form-head { max-width:860px; margin:0 auto 46px; text-align:center; }
.quote-form-head .quote-kicker { justify-content:center; }
.quote-form-head h2 { margin:0; color:var(--adel-ink); font-size:clamp(40px,4.5vw,64px); line-height:1.02; letter-spacing:-.045em; }
.quote-form-head h2 span { color:var(--adel-teal); }
.quote-form-head > p { margin:14px 0 0; color:#71818a; font-size:15px; }
.quote-alert { max-width:940px; margin:0 auto 24px; padding:16px 20px; border-radius:18px; font-weight:800; }
.quote-alert--ok { background:#dff7ed; color:#11624b; }
.quote-alert--error { background:#ffe9eb; color:#8a2630; }
.quote-form { max-width:1040px; margin:0 auto; display:grid; gap:22px; }
.quote-question { min-width:0; margin:0; padding:28px; border:1px solid rgba(38,53,65,.07); border-radius:28px; background:#fff; box-shadow:0 14px 42px rgba(38,53,65,.06); }
.quote-question legend,
.quote-question--input > label { display:flex; align-items:center; gap:12px; width:100%; margin:0 0 20px; color:var(--adel-ink); font-size:20px; font-weight:900; }
.quote-question legend > span,
.quote-step { display:grid; place-items:center; flex:0 0 auto; width:38px; height:38px; border-radius:50%; background:var(--adel-pale); color:var(--adel-teal-dark); font-size:12px; font-weight:900; }
.quote-choice-grid { display:grid; gap:12px; }
.quote-choice-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.quote-choice-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.quote-choice { position:relative; display:block; cursor:pointer; }
.quote-choice input { position:absolute; opacity:0; pointer-events:none; }
.quote-choice span { display:flex; align-items:center; min-height:62px; padding:15px 18px; border:1px solid #d6e4e7; border-radius:18px; background:#f9fcfc; color:var(--adel-ink); font-size:14px; font-weight:800; line-height:1.3; transition:.2s ease; }
.quote-choice span::before { content:""; flex:0 0 auto; width:18px; height:18px; margin-right:12px; border:2px solid #9db2ba; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 4px #fff; transition:.2s ease; }
.quote-choice--check span::before { border-radius:5px; }
.quote-choice input:checked + span { border-color:var(--adel-teal); background:rgba(7,152,176,.07); color:var(--adel-teal-dark); box-shadow:0 0 0 3px rgba(7,152,176,.06); }
.quote-choice input:checked + span::before { border-color:var(--adel-teal); background:var(--adel-teal); box-shadow:inset 0 0 0 4px #fff; }
.quote-choice input:focus-visible + span { outline:3px solid rgba(7,152,176,.18); outline-offset:2px; }
.quote-question--input input,
.quote-contact-grid input { width:100%; min-height:58px; padding:0 18px; border:1px solid #d6e4e7; border-radius:18px; background:#fff; color:var(--adel-ink); font:inherit; outline:none; box-shadow:0 3px 10px rgba(38,53,65,.035); }
.quote-question--input input:focus,
.quote-contact-grid input:focus { border-color:var(--adel-teal); box-shadow:0 0 0 3px rgba(7,152,176,.08); }
.quote-contact-card { margin-top:12px; padding:36px; border-radius:34px; background:var(--adel-pale); box-shadow:12px 12px 0 rgba(7,152,176,.16); }
.quote-contact-card__intro { max-width:760px; margin-bottom:26px; }
.quote-contact-card__intro h3 { margin:0 0 12px; color:var(--adel-ink); font-size:clamp(32px,3.8vw,52px); line-height:1.02; letter-spacing:-.04em; }
.quote-contact-card__intro p { margin:0; color:#5d707b; font-size:16px; line-height:1.5; }
.quote-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.quote-contact-grid label { display:grid; gap:8px; color:var(--adel-ink); font-size:14px; font-weight:800; }
.quote-privacy { display:grid; grid-template-columns:auto 1fr; gap:11px; align-items:start; margin:22px 0; color:#455966; font-size:13px; line-height:1.45; }
.quote-privacy input { width:20px; height:20px; margin-top:1px; accent-color:var(--adel-teal); }
.quote-submit { width:100%; border:0; background:var(--adel-teal); color:#fff; cursor:pointer; font-size:16px; }
.quote-submit:hover { background:var(--adel-teal-dark); transform:translateY(-2px); }

.quote-about-section { padding:82px 0 88px; background:var(--adel-darker); color:#fff; }
.quote-about-section::before { content:""; position:absolute; width:460px; height:460px; right:-210px; top:-260px; border-radius:50%; border:1px solid rgba(215,238,242,.12); box-shadow:0 0 0 48px rgba(215,238,242,.02); }
.quote-about-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:82px; align-items:start; }
.quote-kicker--light { color:#35d3a6; }
.quote-about-section h2 { margin:0; max-width:760px; font-size:clamp(42px,4.6vw,70px); line-height:.98; letter-spacing:-.055em; }
.quote-about-section h2 span { color:var(--adel-teal); }
.quote-about-copy p { margin:0 0 18px; color:#d2dde2; font-size:17px; line-height:1.62; }
.quote-outline-btn { margin-top:14px; border:1px solid rgba(255,255,255,.28); color:#fff; }
.quote-outline-btn:hover { border-color:#fff; background:#fff; color:var(--adel-ink); transform:translateY(-2px); }

body.page-preventivo-digitale-gratuito .content-page { display:none; }

@media (max-width: 980px) {
  .quote-hero { padding:56px 0 62px; }
  .quote-hero__inner { grid-template-columns:1fr; gap:36px; }
  .quote-hero__visual { min-height:360px; max-width:520px; width:100%; margin:0 auto; }
  .quote-visual-card--main { right:50%; top:48px; transform:translateX(50%) rotate(-4deg); width:240px; height:240px; }
  .quote-orbit--one { width:330px; height:330px; right:50%; transform:translateX(50%); top:0; }
  .quote-orbit--two { width:260px; height:260px; right:50%; transform:translateX(50%); top:34px; }
  .quote-visual-card--small { left:8%; top:48px; }
  .quote-visual-card--small2 { right:7%; bottom:38px; }
  .quote-about-grid { grid-template-columns:1fr; gap:36px; }
}

@media (max-width: 720px) {
  .quote-hero .adel-container,
  .quote-form-section .adel-container,
  .quote-about-section .adel-container { width:min(100% - 36px,1240px); }
  .quote-hero h1 { font-size:clamp(44px,12vw,60px); }
  .quote-hero__copy > p { font-size:17px; }
  .quote-hero__visual { min-height:320px; }
  .quote-visual-card--main { width:210px; height:210px; padding:30px; border-radius:28px; }
  .quote-visual-card--main strong { font-size:44px; }
  .quote-visual-card--small,
  .quote-visual-card--small2 { width:68px; height:68px; font-size:16px; border-radius:22px; }
  .quote-form-section { padding:56px 0 66px; }
  .quote-form-head { margin-bottom:30px; text-align:left; }
  .quote-form-head .quote-kicker { justify-content:flex-start; }
  .quote-form-head h2 { font-size:clamp(38px,10vw,50px); }
  .quote-question { padding:22px 18px; border-radius:22px; }
  .quote-question legend,
  .quote-question--input > label { font-size:17px; line-height:1.25; }
  .quote-choice-grid--2,
  .quote-choice-grid--3 { grid-template-columns:1fr; }
  .quote-choice span { min-height:54px; }
  .quote-contact-card { padding:26px 20px; border-radius:26px; box-shadow:8px 8px 0 rgba(7,152,176,.16); }
  .quote-contact-grid { grid-template-columns:1fr; }
  .quote-about-section { padding:58px 0 68px; }
  .quote-about-section h2 { font-size:clamp(38px,10vw,52px); }
  .quote-about-copy p { font-size:15px; }
}

/* ==========================================================
   v1.5.47 — CHI SIAMO locale
   Dedicated /chi-siamo/ page on the current WordPress domain.
   ========================================================== */
body.page-chi-siamo { background: var(--adel-ice, #dff5f7); }
.about-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--adel-teal);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.about-kicker::before { content:""; width: 34px; height: 2px; background: currentColor; }
.about-hero {
  position: relative;
  min-height: 650px;
  display: grid;
  align-items: center;
  background: var(--adel-ink);
  overflow: hidden;
}
.about-hero::after {
  content:"";
  position:absolute;
  inset:auto -12vw -26vw auto;
  width: 52vw;
  height: 52vw;
  border:1px solid rgba(16,163,187,.18);
  border-radius:50%;
}
.about-hero__inner { display:grid; grid-template-columns: 1fr 1.05fr; align-items:center; gap:64px; padding:88px 0 100px; }
.about-hero__copy { position:relative; z-index:2; }
.about-hero__copy .about-kicker { color:#90dce5; }
.about-hero__copy h1 { margin:18px 0 0; color:#fff; font-size:clamp(58px,6.5vw,108px); line-height:.9; letter-spacing:-.055em; }
.about-hero__copy h2 { margin:18px 0 22px; color:var(--adel-teal); font-size:clamp(38px,4.2vw,68px); line-height:1; letter-spacing:-.045em; }
.about-hero__copy p { max-width:690px; margin:0; color:rgba(255,255,255,.72); font-size:20px; line-height:1.55; }
.about-hero__art { position:relative; min-height:470px; z-index:1; }
.about-hero__art::before { content:""; position:absolute; inset:6% 8% 5% 4%; border-radius:48% 52% 44% 56%; background:radial-gradient(circle at 50% 38%,rgba(16,163,187,.17),transparent 54%),rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.06); }
.about-hero__art > img { position:absolute; width:130px; right:10%; top:9%; opacity:.18; filter:brightness(0) invert(1); }
.about-hero__figure { position:absolute; bottom:5%; width:39%; height:74%; border-radius:48% 48% 10% 10%; background:#fff; box-shadow:0 30px 70px rgba(0,0,0,.18); }
.about-hero__figure::before { content:""; position:absolute; width:44%; aspect-ratio:1; left:28%; top:-13%; border-radius:50%; background:#f5cfd4; box-shadow:0 -20px 0 4px var(--adel-ink); }
.about-hero__figure::after { content:""; position:absolute; width:44%; height:60%; left:28%; top:29%; border-radius:20px; background:var(--adel-ink); opacity:.92; }
.about-hero__figure span { position:absolute; width:28%; height:34%; right:-8%; top:33%; border-radius:999px; background:var(--adel-teal); transform:rotate(-18deg); }
.about-hero__figure--one { left:7%; background:#f7f8f8; transform:rotate(-2deg); }
.about-hero__figure--one::before { background:#f5cfd4; box-shadow:-18px -12px 0 16px var(--adel-red); }
.about-hero__figure--two { right:10%; height:80%; }
.about-hero__figure--two span { background:#fff; border:16px solid var(--adel-teal); }
.about-scroll { position:absolute; z-index:4; left:50%; bottom:22px; transform:translateX(-50%); color:#fff; font-size:48px; font-weight:300; line-height:1; }

.about-story, .about-experience, .about-purpose { padding:100px 0; }
.about-story { background:#dff5f7; }
.about-story__grid, .about-experience__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:70px; align-items:center; }
.about-story__copy h2, .about-experience__copy h2, .about-purpose__heading h2 { margin:16px 0 24px; color:var(--adel-ink); font-size:clamp(42px,4.8vw,72px); line-height:1; letter-spacing:-.05em; }
.about-story__copy p, .about-experience__copy > p, .about-purpose__heading p { color:#4f6573; font-size:18px; line-height:1.65; }
.about-story__media, .about-experience__media { margin:0; position:relative; }
.about-story__media::after, .about-experience__media::after { content:""; position:absolute; inset:18px -18px -18px 18px; border-radius:34px; background:#96dbe4; z-index:0; }
.about-story__media img, .about-experience__media img { position:relative; z-index:1; width:100%; display:block; border-radius:34px; object-fit:cover; box-shadow:0 25px 60px rgba(34,59,72,.12); }
.about-story__media img { aspect-ratio:4/3; }
.about-experience { background:var(--adel-ink); }
.about-experience__grid { grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr); }
.about-experience__media img { max-height:720px; object-position:center 20%; }
.about-experience__copy .about-kicker { color:#81d9e3; }
.about-experience__copy h2 { color:#fff; }
.about-experience__copy > p { color:rgba(255,255,255,.72); }
.about-founder-card { margin-top:30px; padding:24px 26px; border-radius:22px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.055); }
.about-founder-card span { color:#91dce5; font-size:11px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.about-founder-card strong { display:block; margin:6px 0; color:#fff; font-size:26px; }
.about-founder-card p { margin:0; color:rgba(255,255,255,.66); }

.about-purpose { background:#f7fbfc; }
.about-purpose--vision { background:#dff5f7; }
.about-purpose__heading { max-width:920px; margin-bottom:48px; }
.about-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.about-value-card { min-height:270px; padding:30px; border-radius:28px; background:#fff; box-shadow:0 18px 50px rgba(27,48,60,.08); }
.about-value-card img { width:82px; height:82px; object-fit:contain; border-radius:50%; }
.about-value-card h3 { margin:24px 0 8px; color:var(--adel-ink); font-size:28px; letter-spacing:-.04em; }
.about-value-card p { margin:0; color:#627582; font-size:16px; }
.about-purpose__cta { margin-top:38px; }
.about-contact { padding-top:82px; }

@media (max-width: 980px) {
  .about-hero { min-height:auto; }
  .about-hero__inner, .about-story__grid, .about-experience__grid { grid-template-columns:1fr; }
  .about-hero__inner { gap:26px; padding:58px 0 76px; }
  .about-hero__art { min-height:390px; order:-1; }
  .about-story__grid, .about-experience__grid { gap:42px; }
  .about-values-grid { grid-template-columns:1fr; }
  .about-experience__media { max-width:560px; }
}
@media (max-width: 700px) {
  .about-hero__inner { padding:40px 0 68px; }
  .about-hero__art { min-height:330px; }
  .about-hero__copy h1 { font-size:54px; }
  .about-hero__copy h2 { font-size:42px; }
  .about-hero__copy p { font-size:16px; }
  .about-story, .about-experience, .about-purpose { padding:58px 0; }
  .about-story__copy h2, .about-experience__copy h2, .about-purpose__heading h2 { font-size:42px; }
  .about-story__copy p, .about-experience__copy > p, .about-purpose__heading p { font-size:16px; }
  .about-value-card { min-height:0; padding:24px; }
  .about-value-card img { width:68px; height:68px; }
  .about-story__media::after, .about-experience__media::after { inset:10px -10px -10px 10px; }
}


/* ==========================================================
   v1.5.48 — THANK YOU PAGE
   Destinazione unica dopo l'invio corretto di contatti,
   preventivo e newsletter.
   ========================================================== */
.thank-you-page {
  position: relative;
  min-height: calc(100svh - 100px);
  display: flex;
  align-items: center;
  padding: 86px 0 104px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(7,152,176,.13), transparent 25%),
    linear-gradient(135deg, #eef8f9 0%, #f8fbfc 58%, #f7f3f4 100%);
}
.thank-you-page::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -290px;
  bottom: -330px;
  border: 1px solid rgba(7,152,176,.16);
  border-radius: 50%;
}
.thank-you-page__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr);
  align-items: center;
  gap: clamp(54px,8vw,130px);
}
.thank-you-page__visual {
  position: relative;
  min-height: 430px;
  display: grid;
  place-items: center;
}
.thank-you-page__ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(7,152,176,.24);
}
.thank-you-page__ring--one { width: 390px; height: 390px; }
.thank-you-page__ring--two { width: 285px; height: 285px; border-color: rgba(255,69,82,.15); }
.thank-you-page__check {
  position: relative;
  display: grid;
  place-items: center;
  width: 164px;
  height: 164px;
  border-radius: 50%;
  color: #fff;
  background: var(--adel-teal);
  box-shadow: 0 28px 70px rgba(7,152,176,.24);
}
.thank-you-page__check::after {
  content: "";
  position: absolute;
  inset: -18px;
  border: 1px solid rgba(7,152,176,.24);
  border-radius: 50%;
}
.thank-you-page__check svg { width: 78px; height: 78px; }
.thank-you-page__content { max-width: 760px; }
.thank-you-page__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--adel-teal);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .21em;
}
.thank-you-page__eyebrow::before { content:""; width:38px; height:2px; background:var(--adel-teal); }
.thank-you-page h1 {
  max-width: 720px;
  margin: 0;
  color: var(--adel-ink);
  font-size: clamp(58px,6vw,92px);
  line-height: .94;
  letter-spacing: -.055em;
}
.thank-you-page__content > p {
  max-width: 660px;
  margin: 26px 0 0;
  color: #637682;
  font-size: clamp(18px,1.55vw,22px);
  line-height: 1.55;
}
.thank-you-page__next {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 38px minmax(0,1fr);
  gap: 14px 20px;
  align-items: center;
  margin-top: 38px;
  padding: 25px 0;
  border-top: 1px solid rgba(38,53,65,.12);
  border-bottom: 1px solid rgba(38,53,65,.12);
}
.thank-you-page__next > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #ccecf0;
  color: var(--adel-ink);
  font-size: 11px;
  font-weight: 900;
}
.thank-you-page__next strong { display:block; color:var(--adel-ink); font-size:15px; }
.thank-you-page__next small { display:block; margin-top:4px; color:#71818a; font-size:12px; line-height:1.35; }
.thank-you-page__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 34px;
}
.thank-you-page__link { color:var(--adel-ink); font-weight:800; font-size:14px; }
.thank-you-page__link span { margin-left:8px; color:var(--adel-teal); }

@media (max-width: 900px) {
  .thank-you-page { padding: 54px 0 86px; }
  .thank-you-page__inner { grid-template-columns: 1fr; gap: 22px; }
  .thank-you-page__visual { min-height: 250px; }
  .thank-you-page__ring--one { width: 240px; height: 240px; }
  .thank-you-page__ring--two { width: 180px; height: 180px; }
  .thank-you-page__check { width: 118px; height: 118px; }
  .thank-you-page__check svg { width: 58px; height: 58px; }
  .thank-you-page__content { text-align: center; margin: 0 auto; }
  .thank-you-page__eyebrow { justify-content: center; }
  .thank-you-page h1 { font-size: clamp(48px,12vw,68px); }
  .thank-you-page__content > p { font-size: 17px; margin-top: 20px; }
  .thank-you-page__next { grid-template-columns: 38px 1fr; text-align:left; }
  .thank-you-page__actions { justify-content: center; }
}

@media (max-width: 520px) {
  .thank-you-page { min-height: auto; padding: 34px 0 96px; }
  .thank-you-page .adel-container { width: min(100% - 38px, 1240px); }
  .thank-you-page__visual { min-height: 190px; }
  .thank-you-page__ring--one { width: 185px; height: 185px; }
  .thank-you-page__ring--two { width: 140px; height: 140px; }
  .thank-you-page__check { width: 92px; height: 92px; }
  .thank-you-page__check svg { width: 46px; height: 46px; }
  .thank-you-page h1 { font-size: clamp(44px,12.8vw,58px); }
  .thank-you-page__actions { display:grid; grid-template-columns:1fr; width:100%; }
  .thank-you-page__actions .btn { width:100%; }
  .thank-you-page__link { padding:8px 0; }
}


/* v1.5.50 — Form preventivo: questionario premium e più consulenziale */
.quote-question-note {
  margin: -4px 0 18px;
  color: #6c7d88;
  font-size: 13px;
  line-height: 1.4;
}
.quote-inline-input {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(38,53,65,.09);
}
.quote-inline-input label {
  display: block;
  margin-bottom: 9px;
  color: var(--adel-ink);
  font-size: 14px;
  font-weight: 800;
}
.quote-inline-input label small {
  margin-left: 6px;
  color: #8b9aa3;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.quote-inline-input input {
  width: 100%;
  min-height: 56px;
  padding: 0 18px;
  border: 1px solid rgba(7,152,176,.24);
  border-radius: 16px;
  background: #fff;
  color: var(--adel-ink);
  font: inherit;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.quote-inline-input input:focus {
  border-color: var(--adel-teal);
  box-shadow: 0 0 0 3px rgba(7,152,176,.10);
}
@media (max-width: 700px) {
  .quote-question-note { margin-bottom: 14px; font-size: 12px; }
  .quote-inline-input { margin-top: 14px; padding-top: 14px; }
  .quote-inline-input input { min-height: 52px; }
}

/* ==========================================================
   v1.5.52 — PAGINA CASI STUDIO
   Archivio interno /casi-studio/ in brand identity ADEL.
   ========================================================== */
.cases-page-hero {
  position: relative;
  min-height: 610px;
  display: flex;
  align-items: center;
  background: var(--adel-dark);
  color: #fff;
  overflow: hidden;
}
.cases-page-hero::before {
  content: "";
  position: absolute;
  width: 620px;
  height: 620px;
  right: -210px;
  top: -290px;
  border: 1px solid rgba(215,238,242,.18);
  border-radius: 50%;
}
.cases-page-hero::after {
  content: "";
  position: absolute;
  width: 440px;
  height: 440px;
  right: -100px;
  top: -205px;
  border: 1px solid rgba(7,152,176,.34);
  border-radius: 50%;
}
.cases-page-hero__inner { position: relative; z-index: 2; padding-block: 96px; }
.cases-page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--adel-teal);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.cases-page-kicker::after { content: ""; width: 42px; height: 2px; background: currentColor; }
.cases-page-hero h1 {
  margin: 20px 0 20px;
  max-width: 760px;
  font-size: clamp(70px, 8vw, 126px);
  line-height: .82;
  letter-spacing: -.07em;
}
.cases-page-hero h1 span { color: var(--adel-teal); }
.cases-page-hero p {
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(17px, 1.35vw, 21px);
}
.cases-page-scroll {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-top: 34px;
  font-weight: 800;
}
.cases-page-scroll span { color: var(--adel-teal); font-size: 26px; }
.cases-page-hero__mark {
  position: absolute;
  right: 7vw;
  bottom: -48px;
  width: min(34vw, 520px);
  opacity: .09;
  transform: rotate(-8deg);
}
.cases-page-hero__mark img { width: 100%; filter: brightness(0) invert(1); }

.cases-page-cta-band { padding: 62px 0; background: var(--adel-pale); }
.cases-page-cta-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.cases-page-cta-band h2 {
  margin: 12px 0 10px;
  font-size: clamp(38px, 4.2vw, 68px);
  line-height: .96;
}
.cases-page-cta-band h2 span { color: var(--adel-red); }
.cases-page-cta-band p { margin: 0; font-size: 18px; }

.cases-library { padding: 82px 0 92px; background: #edf7f8; }
.cases-library__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 38px;
}
.cases-library__head h2 {
  margin: 10px 0 0;
  font-size: clamp(52px, 5.2vw, 82px);
  line-height: .95;
}
.cases-sort { display: flex; gap: 8px; padding-bottom: 6px; }
.cases-sort button {
  border: 1px solid rgba(38,53,65,.14);
  border-radius: 999px;
  background: transparent;
  color: var(--adel-ink);
  padding: 10px 16px;
  font-weight: 800;
  cursor: pointer;
  transition: .2s ease;
}
.cases-sort button:hover,
.cases-sort button.is-active { background: var(--adel-ink); color: #fff; border-color: var(--adel-ink); }
.cases-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.case-card { min-width: 0; }
.case-card > a {
  display: block;
  height: 100%;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 15px 38px rgba(25,43,54,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.case-card > a:hover { transform: translateY(-6px); box-shadow: 0 23px 50px rgba(25,43,54,.14); }
.case-card__visual {
  position: relative;
  min-height: 245px;
  display: grid;
  place-items: center;
  padding: 46px;
  background: var(--adel-dark);
  overflow: hidden;
}
.case-card:nth-child(3n+2) .case-card__visual { background: var(--adel-teal); }
.case-card:nth-child(3n+3) .case-card__visual { background: #c9e9ed; }
.case-card__visual::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  right: -105px;
  bottom: -120px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
}
.case-card__visual img {
  position: relative;
  z-index: 1;
  max-width: 78%;
  max-height: 110px;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(0,0,0,.10));
}
.case-card__index {
  position: absolute;
  top: 22px;
  right: 24px;
  z-index: 2;
  color: rgba(255,255,255,.65);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
}
.case-card:nth-child(3n+3) .case-card__index { color: rgba(38,53,65,.48); }
.case-card__body { padding: 24px 25px 27px; }
.case-card__body h3 { margin: 0 0 18px; font-size: 25px; line-height: 1.03; }
.case-card__body span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--adel-teal);
  font-size: 13px;
  font-weight: 900;
}
.case-card__body b { font-size: 18px; transition: transform .2s ease; }
.case-card > a:hover .case-card__body b { transform: translateX(5px); }
.cases-contact { background: var(--adel-pale); }

@media (max-width: 980px) {
  .cases-page-hero { min-height: 520px; }
  .cases-page-cta-band__inner { align-items: flex-start; flex-direction: column; }
  .cases-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .cases-page-hero { min-height: 500px; }
  .cases-page-hero__inner { padding: 70px 0 76px; }
  .cases-page-hero h1 { font-size: clamp(66px, 20vw, 92px); }
  .cases-page-hero p { max-width: 92%; font-size: 16px; }
  .cases-page-hero__mark { right: -70px; bottom: -25px; width: 72vw; }
  .cases-page-cta-band { padding: 46px 0; }
  .cases-page-cta-band .btn { width: 100%; }
  .cases-library { padding: 54px 0 64px; }
  .cases-library__head { align-items: flex-start; flex-direction: column; margin-bottom: 28px; }
  .cases-library__head h2 { font-size: 54px; }
  .cases-sort { width: 100%; }
  .cases-sort button { flex: 1; }
  .cases-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .case-card > a { border-radius: 20px; }
  .case-card__visual { min-height: 150px; padding: 30px 18px; }
  .case-card__visual img { max-width: 88%; max-height: 70px; }
  .case-card__index { top: 14px; right: 15px; font-size: 8px; }
  .case-card__body { padding: 17px 16px 19px; }
  .case-card__body h3 { margin-bottom: 13px; font-size: 17px; }
  .case-card__body span { font-size: 11px; }
}

@media (max-width: 410px) {
  .cases-grid { grid-template-columns: 1fr; }
  .case-card__visual { min-height: 190px; }
  .case-card__visual img { max-height: 84px; }
}

/* ==========================================================
   v1.5.53 — PAGINA CONTATTI
   Pagina interna /contatti/ coerente con la brand identity ADEL.
   ========================================================== */
.contact-page-hero{background:var(--adel-dark);color:#fff;padding:86px 0 82px;overflow:hidden;position:relative}.contact-page-hero:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(7,152,176,.22);border-radius:50%;right:-230px;top:-260px}.contact-page-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;position:relative;z-index:1}.contact-page-kicker{display:inline-flex;align-items:center;gap:12px;color:var(--adel-teal);font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.contact-page-kicker:before{content:"";width:32px;height:2px;background:currentColor}.contact-page-hero h1{font-size:clamp(72px,8vw,126px);line-height:.82;letter-spacing:-.07em;margin:18px 0 24px}.contact-page-hero h1 span{color:var(--adel-teal)}.contact-page-hero__copy>p{max-width:660px;color:#d6e4e9;font-size:20px}.contact-page-hero__cta{background:var(--adel-pale);color:var(--adel-ink);padding:42px;border-radius:34px;box-shadow:14px 14px 0 rgba(7,152,176,.18)}.contact-page-hero__cta>span{font-size:10px;font-weight:900;letter-spacing:.18em;color:var(--adel-red)}.contact-page-hero__cta h2{font-size:clamp(34px,3.3vw,50px);line-height:1;margin:16px 0 14px}.contact-page-hero__cta h2 em{font-style:normal;color:var(--adel-red)}.contact-page-hero__cta p{color:#60727c}.contact-page-hero__cta a{display:inline-flex;align-items:center;gap:18px;margin-top:8px;padding:16px 24px;border-radius:999px;background:var(--adel-teal);color:#fff;font-weight:900}.contact-page-direct{padding:80px 0;background:#f7fbfc}.contact-page-section-head{max-width:830px;margin-bottom:34px}.contact-page-section-head h2{font-size:clamp(44px,5vw,72px);line-height:.96;margin:14px 0 18px}.contact-page-section-head p{color:#60727c;font-size:18px}.contact-page-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-channel-card{min-height:220px;padding:28px;border-radius:28px;background:#fff;border:1px solid rgba(38,53,65,.08);box-shadow:0 15px 42px rgba(38,53,65,.07);display:flex;flex-direction:column;justify-content:flex-end;transition:.22s}.contact-channel-card:hover{transform:translateY(-5px);box-shadow:0 20px 52px rgba(38,53,65,.11)}.contact-channel-card--wa{background:var(--adel-teal);color:#fff}.contact-channel-icon{font-size:30px;margin-bottom:auto}.contact-channel-card small{font-size:9px;font-weight:900;letter-spacing:.16em;opacity:.65}.contact-channel-card strong{font-size:28px;line-height:1;margin:8px 0}.contact-channel-card span:last-child{font-size:15px}.contact-page-form{background:var(--adel-pale);padding-top:76px}.contact-page-section-head--form{margin-bottom:30px}.contact-page-location{background:#eef8f9;padding:82px 0}.contact-location-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch}.contact-location-map{position:relative;min-height:470px;border-radius:34px;overflow:hidden;background:linear-gradient(145deg,#d6eef1,#bde3e8);box-shadow:12px 12px 0 rgba(7,152,176,.16)}.contact-map-lines{position:absolute;inset:0;opacity:.8}.contact-map-lines span{position:absolute;background:var(--adel-teal);border-radius:999px}.contact-map-lines span:nth-child(1){width:120%;height:18px;left:-10%;top:36%;transform:rotate(-18deg)}.contact-map-lines span:nth-child(2){width:90%;height:13px;left:22%;top:61%;transform:rotate(24deg)}.contact-map-lines span:nth-child(3){width:15px;height:90%;left:55%;top:4%;transform:rotate(9deg)}.contact-map-lines span:nth-child(4){width:65%;height:9px;left:4%;top:78%;transform:rotate(-8deg)}.contact-map-pin{position:absolute;left:59%;top:54%;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--adel-red);color:#fff;font-size:28px;font-weight:900;box-shadow:0 12px 28px rgba(255,69,82,.25)}.contact-location-address{position:absolute;left:28px;top:28px;width:min(360px,calc(100% - 56px));padding:26px;border-radius:24px;background:#fff;box-shadow:0 12px 36px rgba(38,53,65,.10)}.contact-location-address small{color:var(--adel-red);font-size:11px;font-weight:900;letter-spacing:.14em}.contact-location-address strong{display:block;margin:10px 0 12px;color:var(--adel-teal);font-size:24px;line-height:1.25}.contact-location-address a{color:var(--adel-red);font-weight:900}.contact-hours-card{padding:40px;border-radius:34px;background:var(--adel-dark);color:#fff}.contact-hours-card h2{font-size:clamp(36px,4vw,54px);margin:14px 0 30px}.contact-hours-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 0;border-top:1px solid rgba(255,255,255,.16)}.contact-hours-row span{color:#cfe4e8}.contact-hours-row b{color:#fff}.contact-hours-row .closed{color:var(--adel-red);font-weight:900}.contact-page-story{padding:88px 0;background:var(--adel-pale)}.contact-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.contact-story-copy h2{font-size:clamp(48px,5.5vw,78px);margin:14px 0 24px}.contact-story-copy p{font-size:18px;color:#425764}.contact-story-copy strong{color:var(--adel-teal)}.contact-story-image{margin:0;border-radius:34px;overflow:hidden;box-shadow:14px 14px 0 rgba(7,152,176,.16);aspect-ratio:4/3}.contact-story-image img{width:100%;height:100%;object-fit:cover}.contact-page-directions{padding:86px 0;background:#f7fbfc}.contact-directions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.contact-directions-grid article{padding:28px 24px;min-height:240px;background:#fff;border-radius:24px;border:1px solid rgba(38,53,65,.07)}.contact-directions-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--adel-pale);color:var(--adel-teal);font-weight:900}.contact-directions-grid h3{font-size:22px;margin:22px 0 12px}.contact-directions-grid p{color:#667986;font-size:15px}.contact-page-gallery{padding:0;background:var(--adel-dark)}.contact-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px}.contact-gallery-item{margin:0;overflow:hidden}.contact-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.contact-gallery-item:hover img{transform:scale(1.035)}.contact-gallery-item--1{grid-row:span 2}.contact-gallery-item--6{grid-column:span 2}.contact-page-careers{padding:90px 0;background:var(--adel-dark);color:#fff}.contact-careers-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.contact-careers-copy h2{font-size:clamp(62px,7vw,100px);line-height:.9;margin:16px 0 24px}.contact-careers-copy p{color:#d6e4e9;font-size:18px}.contact-careers-form{padding:36px;border-radius:32px;background:var(--adel-pale);color:var(--adel-ink);box-shadow:12px 12px 0 rgba(7,152,176,.18)}.contact-careers-form form{display:grid;gap:16px}.contact-careers-form label{display:grid;gap:8px;font-weight:800}.contact-careers-form input,.contact-careers-form textarea{width:100%;padding:15px 18px;border:1px solid #cfe2e6;border-radius:16px;background:#fff;color:var(--adel-ink)}.contact-careers-form textarea{min-height:130px;resize:vertical}.contact-careers-form input[type=file]{padding:12px}.contact-careers-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-careers-form .privacy-check{grid-template-columns:auto 1fr;align-items:start;font-weight:500}.contact-careers-form .privacy-check input{width:auto;margin-top:4px}.contact-careers-form small{font-weight:500;color:#71848f}
@media(max-width:980px){.contact-page-hero__inner,.contact-location-grid,.contact-story-grid,.contact-careers-grid{grid-template-columns:1fr}.contact-page-channels{grid-template-columns:1fr}.contact-directions-grid{grid-template-columns:repeat(2,1fr)}.contact-gallery-grid{grid-template-columns:repeat(2,1fr)}.contact-gallery-item--1{grid-row:span 1}.contact-gallery-item--6{grid-column:span 1}}
@media(max-width:700px){.contact-page-hero{padding:58px 0 52px}.contact-page-hero__inner{gap:34px}.contact-page-hero h1{font-size:clamp(64px,18vw,92px)}.contact-page-hero__cta{padding:28px 22px;border-radius:26px;box-shadow:8px 8px 0 rgba(7,152,176,.18)}.contact-page-direct,.contact-page-location,.contact-page-story,.contact-page-directions,.contact-page-careers{padding:56px 0}.contact-page-section-head h2{font-size:48px}.contact-page-section-head p{font-size:16px}.contact-channel-card{min-height:170px}.contact-location-map{min-height:520px}.contact-location-address{left:18px;top:18px;width:calc(100% - 36px)}.contact-map-pin{left:62%;top:64%;width:58px;height:58px}.contact-hours-card{padding:28px 22px}.contact-hours-row{grid-template-columns:1fr;gap:8px}.contact-story-grid{gap:30px}.contact-story-copy p{font-size:16px}.contact-directions-grid{grid-template-columns:1fr}.contact-gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}.contact-careers-grid{gap:34px}.contact-careers-form{padding:25px 20px}.contact-careers-row{grid-template-columns:1fr}}


/* ==========================================================
   v1.5.54 — Cessione Crediti d'Imposta
   Banner nella pagina Bandi + landing dedicata e calcolatore.
   ========================================================== */
.credit-cross-banner {
  padding: 0 0 34px;
  background: var(--adel-pale);
}
.credit-cross-banner__inner {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 28px;
  padding: 26px 30px;
  border-radius: 26px;
  background: var(--adel-dark);
  color: #fff;
  box-shadow: var(--adel-shadow);
  overflow: hidden;
  position: relative;
}
.credit-cross-banner__inner::after {
  content: "";
  position: absolute;
  right: -65px;
  top: -85px;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(7,152,176,.35);
  border-radius: 50%;
}
.credit-cross-banner__badge {
  position: relative;
  z-index: 1;
  padding: 8px 11px;
  border-radius: 999px;
  background: var(--adel-red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  white-space: nowrap;
}
.credit-cross-banner__copy { position: relative; z-index: 1; }
.credit-cross-banner__copy > span { color: #77d3df; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .15em; }
.credit-cross-banner__copy h2 { margin: 5px 0 4px; color: #fff; font-size: clamp(24px,2.3vw,34px); line-height: 1; letter-spacing: -.035em; }
.credit-cross-banner__copy p { margin: 0; max-width: 760px; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.45; }
.credit-cross-banner__cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--adel-teal);
  color: #fff;
  font-weight: 900;
  white-space: nowrap;
  transition: .2s ease;
}
.credit-cross-banner__cta:hover { transform: translateY(-2px); background: var(--adel-teal-dark); }

.credit-hero,
.credit-intro,
.credit-types,
.credit-calculator,
.credit-faq,
.credit-contact { background: var(--adel-pale); }
.credit-hero { padding: 72px 0 64px; overflow: hidden; }
.credit-hero__grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 68px; align-items: center; }
.credit-kicker { display: inline-flex; align-items: center; gap: 12px; color: var(--adel-teal); font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.credit-kicker::before { content: ""; width: 32px; height: 2px; background: currentColor; }
.credit-hero h1 { max-width: 870px; margin: 16px 0 20px; color: var(--adel-ink); font-size: clamp(54px,5.3vw,84px); line-height: .94; letter-spacing: -.06em; }
.credit-hero h1 span { color: var(--adel-teal); }
.credit-hero__copy > p { max-width: 720px; margin: 0; color: #607481; font-size: clamp(17px,1.4vw,21px); line-height: 1.5; }
.credit-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.credit-btn { min-height: 52px; padding: 0 26px; border: 0; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; background: var(--adel-teal); color: #fff; font-weight: 900; cursor: pointer; transition: .2s ease; }
.credit-btn:hover { transform: translateY(-2px); background: var(--adel-teal-dark); }
.credit-btn--outline { background: transparent; color: var(--adel-ink); border: 1px solid rgba(38,53,65,.25); }
.credit-btn--outline:hover { background: #fff; }
.credit-hero__micro { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; color: #647984; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.credit-hero__micro span + span::before { content: "•"; color: var(--adel-red); margin-right: 18px; }
.credit-hero__visual { position: relative; min-height: 440px; display: grid; place-items: center; }
.credit-orbit { position: absolute; border: 1px solid rgba(7,152,176,.25); border-radius: 50%; }
.credit-orbit--one { width: 430px; height: 430px; }
.credit-orbit--two { width: 315px; height: 315px; border-color: rgba(255,69,82,.20); }
.credit-value-card { position: relative; z-index: 2; width: min(350px,84%); min-height: 310px; padding: 28px 30px 26px; border-radius: 34px; background: var(--adel-dark); color: #fff; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 22px 22px 0 rgba(7,152,176,.18), var(--adel-shadow); }
.credit-value-card small { font-size: 10px; letter-spacing: .16em; color: #83d8e2; font-weight: 900; }
.credit-value-card__main { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; margin: 18px 0 12px; }
.credit-value-card strong { font-size: 82px; line-height: .82; letter-spacing: -.07em; color: var(--adel-pale); font-weight: 800; }
.credit-value-card h2 { margin: 0; color: #fff; font-size: clamp(28px,2.3vw,36px); line-height: .92; letter-spacing: -.05em; }
.credit-value-card span { font-size: 13px; font-weight: 800; letter-spacing: .01em; }

.credit-intro { padding: 60px 0; }
.credit-intro__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; padding-top: 44px; border-top: 1px solid rgba(38,53,65,.12); }
.credit-intro h2, .credit-section-head h2, .credit-calculator__intro h2, .credit-contact__intro h2 { margin: 14px 0 0; color: var(--adel-ink); font-size: clamp(38px,4vw,62px); line-height: .98; letter-spacing: -.05em; }
.credit-intro__text p { margin: 0 0 18px; color: #5e7380; font-size: 18px; line-height: 1.58; }
.credit-intro__text .credit-note { padding: 16px 18px; border-left: 3px solid var(--adel-red); background: rgba(255,255,255,.58); font-size: 14px; }

.credit-types { padding: 40px 0 76px; }
.credit-section-head { margin-bottom: 28px; }
.credit-types__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.credit-types__grid article { min-height: 205px; padding: 26px; border-radius: 24px; background: rgba(255,255,255,.82); border: 1px solid rgba(38,53,65,.07); box-shadow: 0 14px 32px rgba(25,43,54,.055); }
.credit-types__grid article > span { color: var(--adel-teal); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.credit-types__grid h3 { margin: 40px 0 10px; color: var(--adel-ink); font-size: 23px; line-height: 1; }
.credit-types__grid p { margin: 0; color: #6a7c87; font-size: 14px; line-height: 1.45; }

.credit-process { padding: 70px 0; background: var(--adel-dark); color: #fff; }
.credit-section-head--light h2 { color: #fff; }
.credit-section-head--light .credit-kicker { color: #69ceda; }
.credit-process__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.credit-process__steps article { min-height: 230px; padding: 26px; border: 1px solid rgba(255,255,255,.09); border-radius: 24px; background: rgba(255,255,255,.035); }
.credit-process__steps b { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--adel-teal); color: #fff; }
.credit-process__steps h3 { margin: 44px 0 10px; color: #fff; font-size: 21px; line-height: 1.08; }
.credit-process__steps p { margin: 0; color: rgba(255,255,255,.66); font-size: 14px; line-height: 1.45; }

.credit-calculator { padding: 78px 0; }
.credit-calculator__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 56px; align-items: start; }
.credit-calculator__intro { position: sticky; top: 130px; }
.credit-calculator__intro > p { max-width: 470px; color: #637784; font-size: 17px; line-height: 1.52; }
.credit-calculator__steps { display: grid; gap: 12px; margin-top: 28px; }
.credit-calculator__steps span { display: flex; align-items: center; gap: 13px; color: #516874; font-weight: 800; }
.credit-calculator__steps b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--adel-teal); font-size: 10px; }
.credit-calculator__panel { padding: 34px; border-radius: 30px; background: rgba(255,255,255,.88); border: 1px solid rgba(38,53,65,.08); box-shadow: var(--adel-shadow); }
.credit-field { display: grid; gap: 10px; }
.credit-field > span, .credit-choice-group legend, .credit-years legend { color: var(--adel-ink); font-size: 14px; font-weight: 900; }
.credit-input-money { display: flex; align-items: center; min-height: 64px; padding: 0 18px; border-radius: 18px; border: 1px solid #c9dfe3; background: #fff; }
.credit-input-money b { color: var(--adel-teal); font-size: 22px; }
.credit-input-money input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; padding: 0 12px; color: var(--adel-ink); font-size: 25px; font-weight: 800; }
.credit-choice-group, .credit-years { border: 0; margin: 26px 0 0; padding: 0; }
.credit-choice-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.credit-choice-group legend, .credit-years legend { grid-column: 1 / -1; margin-bottom: 10px; }
.credit-choice-group--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.credit-choice-group label { cursor: pointer; }
.credit-choice-group input { position: absolute; opacity: 0; pointer-events: none; }
.credit-choice-group label > span { min-height: 86px; display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 15px 16px; border: 1px solid #cce0e4; border-radius: 17px; background: #f8fbfb; transition: .2s ease; }
.credit-choice-group label > span b { color: var(--adel-ink); font-size: 14px; }
.credit-choice-group label > span small { color: #73858f; font-size: 11px; line-height: 1.25; }
.credit-choice-group input:checked + span { border-color: var(--adel-teal); box-shadow: 0 0 0 2px rgba(7,152,176,.10); background: rgba(7,152,176,.06); }
.credit-years > div { display: flex; flex-wrap: wrap; gap: 8px; }
.credit-years label { cursor: pointer; }
.credit-years input { position: absolute; opacity: 0; pointer-events: none; }
.credit-years label span { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 14px; border: 1px solid #cce0e4; border-radius: 999px; background: #f8fbfb; color: #5d727d; font-size: 12px; font-weight: 900; }
.credit-years input:checked + span { background: var(--adel-teal); border-color: var(--adel-teal); color: #fff; }
.credit-calc-button { width: 100%; min-height: 56px; margin-top: 26px; border: 0; border-radius: 999px; background: var(--adel-dark); color: #fff; font-weight: 900; cursor: pointer; }
.credit-calc-button span { margin-left: 12px; }
.credit-calc-result { margin-top: 18px; padding: 24px; border-radius: 22px; background: var(--adel-dark); color: #fff; }
.credit-calc-result__label { color: #78d4df; font-size: 9px; font-weight: 900; letter-spacing: .17em; }
.credit-calc-result strong { display: block; margin: 8px 0 10px; color: #fff; font-size: clamp(34px,4vw,58px); line-height: 1; }
.credit-calc-result p { margin: 0 0 16px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.4; }
.credit-calc-result button { padding: 0; border: 0; background: none; color: #72d3df; font-weight: 900; cursor: pointer; }
.credit-calculator__disclaimer { margin: 18px 2px 0; color: #83929a; font-size: 11px; line-height: 1.45; }

.credit-faq { padding: 38px 0 76px; }
.credit-faq__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; align-items: start; }
.credit-faq__items { display: grid; gap: 10px; }
.credit-faq details { border-radius: 18px; background: rgba(255,255,255,.8); border: 1px solid rgba(38,53,65,.07); overflow: hidden; }
.credit-faq summary { list-style: none; cursor: pointer; padding: 20px 22px; color: var(--adel-ink); font-weight: 900; }
.credit-faq summary::-webkit-details-marker { display: none; }
.credit-faq summary::after { content: "+"; float: right; color: var(--adel-teal); font-size: 22px; }
.credit-faq details[open] summary::after { content: "−"; }
.credit-faq details p { margin: 0; padding: 0 22px 20px; color: #667a85; font-size: 14px; line-height: 1.5; }

.credit-contact { padding: 70px 0 86px; }
.credit-contact__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 52px; align-items: start; }
.credit-contact__intro > p { color: #617581; font-size: 17px; line-height: 1.5; }
.credit-contact__intro > a { display: inline-block; margin-top: 16px; color: var(--adel-teal); font-size: 25px; font-weight: 900; }
.credit-contact__form { padding: 30px; border-radius: 30px; background: rgba(255,255,255,.82); box-shadow: 0 18px 50px rgba(25,43,54,.08); }
.credit-contact__form form { display: grid; gap: 16px; }
.credit-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.credit-contact__form label { display: grid; gap: 7px; color: var(--adel-ink); font-size: 13px; font-weight: 800; }
.credit-contact__form input[type="text"], .credit-contact__form input[type="email"], .credit-contact__form input[type="tel"], .credit-contact__form select, .credit-contact__form textarea { width: 100%; min-height: 52px; border: 1px solid #cce0e4; border-radius: 16px; background: #fff; outline: none; padding: 12px 14px; color: var(--adel-ink); font: inherit; }
.credit-contact__form textarea { min-height: 120px; resize: vertical; }
.credit-contact__form input:focus, .credit-contact__form select:focus, .credit-contact__form textarea:focus { border-color: var(--adel-teal); box-shadow: 0 0 0 3px rgba(7,152,176,.08); }
.credit-privacy { grid-template-columns: auto 1fr !important; align-items: start; gap: 9px !important; color: #607580 !important; font-weight: 700 !important; line-height: 1.35; }
.credit-privacy input { margin-top: 2px; }
.credit-btn--submit { width: 100%; }

@media (max-width: 980px) {
  .credit-cross-banner__inner { grid-template-columns: 1fr auto; }
  .credit-cross-banner__badge { grid-column: 1 / -1; justify-self: start; }
  .credit-hero__grid, .credit-intro__grid, .credit-calculator__grid, .credit-faq__grid, .credit-contact__grid { grid-template-columns: 1fr; gap: 34px; }
  .credit-hero__visual { min-height: 360px; }
  .credit-calculator__intro { position: static; }
  .credit-types__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .credit-process__steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .credit-cross-banner { padding-bottom: 20px; }
  .credit-cross-banner__inner { grid-template-columns: 1fr; gap: 16px; padding: 22px; border-radius: 22px; }
  .credit-cross-banner__cta { width: 100%; justify-content: center; }
  .credit-hero { padding: 46px 0 42px; }
  .credit-hero__grid { gap: 18px; }
  .credit-hero h1 { font-size: clamp(48px,13vw,66px); }
  .credit-hero__copy > p { font-size: 16px; }
  .credit-hero__actions { display: grid; grid-template-columns: 1fr; }
  .credit-btn { width: 100%; }
  .credit-hero__micro { gap: 7px 13px; font-size: 9px; }
  .credit-hero__micro span + span::before { margin-right: 13px; }
  .credit-hero__visual { min-height: 300px; }
  .credit-orbit--one { width: 300px; height: 300px; }
  .credit-orbit--two { width: 230px; height: 230px; }
  .credit-value-card { width: 230px; padding: 22px; border-radius: 26px; }
  .credit-value-card strong { font-size: 86px; }
  .credit-intro, .credit-types, .credit-calculator, .credit-contact { padding-top: 44px; padding-bottom: 48px; }
  .credit-intro__grid { padding-top: 28px; }
  .credit-types__grid, .credit-process__steps { grid-template-columns: 1fr; }
  .credit-types__grid article, .credit-process__steps article { min-height: 0; }
  .credit-types__grid h3, .credit-process__steps h3 { margin-top: 26px; }
  .credit-process { padding: 50px 0; }
  .credit-calculator__panel { padding: 20px; border-radius: 24px; }
  .credit-choice-group, .credit-choice-group--three { grid-template-columns: 1fr; }
  .credit-form-row { grid-template-columns: 1fr; }
  .credit-contact__form { padding: 20px; border-radius: 24px; }
}


/* ==========================================================
   v1.5.55 — TESTIMONIANZE
   Pagina video-testimonianze sincronizzata con YouTube ADEL.
   ========================================================== */
@media (min-width: 821px) {
  .adel-menu { gap: 48px; }
  .adel-menu a { font-size: 16px; }
}

.testimonials-hero {
  position: relative;
  overflow: hidden;
  padding: 96px 0 92px;
  background:
    radial-gradient(circle at 88% 10%, rgba(7,152,176,.20), transparent 23%),
    linear-gradient(135deg, var(--adel-darker) 0%, var(--adel-dark) 72%);
  color: #fff;
}
.testimonials-hero::after {
  content: "";
  position: absolute;
  right: -190px;
  bottom: -250px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(215,238,242,.16);
  border-radius: 50%;
  box-shadow: 0 0 0 74px rgba(215,238,242,.035), 0 0 0 148px rgba(215,238,242,.025);
}
.testimonials-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(240px,.55fr);
  gap: 72px;
  align-items: end;
}
.testimonials-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--adel-teal);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.testimonials-kicker::before { content:""; width: 34px; height: 2px; background: currentColor; }
.testimonials-hero h1 {
  margin: 22px 0 24px;
  max-width: 840px;
  font-size: clamp(62px,6vw,96px);
  line-height: .92;
  letter-spacing: -.065em;
}
.testimonials-hero h1 span { color: var(--adel-teal); }
.testimonials-hero__copy > p {
  max-width: 700px;
  margin: 0;
  color: #cbd8de;
  font-size: clamp(18px,1.5vw,22px);
  line-height: 1.5;
}
.testimonials-hero__actions { display:flex; align-items:center; gap:26px; margin-top:34px; flex-wrap:wrap; }
.testimonials-youtube-link { font-weight:800; color:#fff; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:5px; }
.testimonials-youtube-link:hover { color: var(--adel-teal); }
.testimonials-hero__statement {
  display:grid;
  gap:10px;
  padding-left:26px;
  border-left:1px solid rgba(215,238,242,.24);
  color:#b7c7cf;
  font-size:11px;
  font-weight:900;
  line-height:1.4;
  letter-spacing:.18em;
}
.testimonials-hero__statement span:last-child { color:#fff; }

.testimonial-video-section { padding: 92px 0 102px; background: linear-gradient(180deg,#f7fbfc 0%,#edf7f8 100%); }
.testimonial-video-head {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:64px;
  align-items:end;
  margin-bottom:46px;
}
.testimonial-video-head h2 {
  margin:16px 0 0;
  color:var(--adel-ink);
  font-size:clamp(52px,5vw,80px);
  line-height:.92;
}
.testimonial-video-head h2 span { color:var(--adel-teal); }
.testimonial-video-head > p { margin:0 0 4px; color:#687b87; font-size:17px; line-height:1.55; }
.testimonial-video-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.testimonial-video-card {
  overflow:hidden;
  border:1px solid rgba(38,53,65,.08);
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 50px rgba(27,46,58,.075);
  transition:transform .25s ease, box-shadow .25s ease;
}
.testimonial-video-card:hover { transform:translateY(-5px); box-shadow:0 26px 64px rgba(27,46,58,.12); }
.testimonial-video-card--featured { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.45fr); }
.testimonial-video-frame { position:relative; aspect-ratio:16/9; background:#18232c; overflow:hidden; }
.testimonial-video-card--featured .testimonial-video-frame { aspect-ratio:auto; min-height:460px; }
.testimonial-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.testimonial-video-body { position:relative; padding:26px 28px 28px; }
.testimonial-video-card--featured .testimonial-video-body { display:flex; flex-direction:column; justify-content:flex-end; padding:42px; background:var(--adel-dark); color:#fff; }
.testimonial-video-index { display:block; margin-bottom:22px; color:#8ca0aa; font-size:11px; font-weight:900; letter-spacing:.16em; }
.testimonial-video-card--featured .testimonial-video-index { color:#9edce4; }
.testimonial-video-body h3 { margin:0 0 20px; font-size:clamp(21px,2vw,30px); line-height:1.08; }
.testimonial-video-card--featured .testimonial-video-body h3 { font-size:clamp(28px,2.6vw,42px); }
.testimonial-video-body a { display:inline-flex; gap:8px; align-items:center; color:var(--adel-teal); font-weight:900; font-size:13px; }
.testimonial-video-card--featured .testimonial-video-body a { color:#fff; }
.testimonial-feed-fallback {
  display:grid;
  grid-template-columns:1fr auto;
  gap:42px;
  align-items:center;
  padding:48px;
  border-radius:28px;
  background:#fff;
  box-shadow:var(--adel-shadow);
}
.testimonial-feed-fallback h3 { margin:16px 0 12px; font-size:34px; }
.testimonial-feed-fallback p { max-width:720px; margin:0; color:#6b7c86; }

.testimonial-cta-band { padding:78px 0; background:var(--adel-pale); }
.testimonial-cta-band__inner { display:flex; justify-content:space-between; gap:64px; align-items:center; }
.testimonial-cta-band h2 { margin:16px 0 12px; font-size:clamp(46px,4.5vw,72px); line-height:.94; }
.testimonial-cta-band h2 span { color:var(--adel-red); }
.testimonial-cta-band p { max-width:680px; margin:0; color:#617681; font-size:17px; }
.testimonial-cta-band__inner > .btn {
  flex:0 0 auto;
  min-width:360px;
  justify-content:center;
  transform:translateY(-8px);
}

.testimonials-contact { background:var(--adel-pale); padding-top:22px; }

@media (max-width: 980px) {
  .testimonials-hero__inner, .testimonial-video-head { grid-template-columns:1fr; gap:32px; }
  .testimonials-hero__statement { grid-template-columns:repeat(3,auto); justify-content:start; border-left:0; border-top:1px solid rgba(215,238,242,.22); padding:22px 0 0; }
  .testimonial-video-card--featured { grid-template-columns:1fr; }
  .testimonial-video-card--featured .testimonial-video-frame { min-height:0; aspect-ratio:16/9; }
  .testimonial-video-card--featured .testimonial-video-body { padding:30px; }
  .testimonial-feed-fallback { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
  .testimonials-hero { padding:62px 0 58px; }
  .testimonials-hero h1 { font-size:clamp(52px,14vw,72px); }
  .testimonials-hero__copy > p { font-size:16px; }
  .testimonials-hero__statement { grid-template-columns:1fr; font-size:9px; }
  .testimonial-video-section { padding:58px 0 64px; }
  .testimonial-video-head { margin-bottom:28px; }
  .testimonial-video-head h2 { font-size:clamp(46px,13vw,62px); }
  .testimonial-video-head > p { font-size:15px; }
  .testimonial-video-grid { grid-template-columns:1fr; gap:16px; }
  .testimonial-video-card--featured { grid-column:auto; }
  .testimonial-video-body, .testimonial-video-card--featured .testimonial-video-body { padding:22px; background:#fff; color:var(--adel-ink); }
  .testimonial-video-card--featured .testimonial-video-index { color:#8ca0aa; }
  .testimonial-video-card--featured .testimonial-video-body a { color:var(--adel-teal); }
  .testimonial-video-body h3, .testimonial-video-card--featured .testimonial-video-body h3 { font-size:22px; }
  .testimonial-feed-fallback { padding:28px 22px; }
  .testimonial-feed-fallback h3 { font-size:28px; }
  .testimonial-cta-band { padding:54px 0; }
  .testimonial-cta-band__inner { flex-direction:column; align-items:flex-start; gap:28px; }
  .testimonial-cta-band__inner .btn { width:100%; min-width:0; transform:none; }
}


/* ==========================================================
   v1.5.56 — TESTIMONIANZE IN HOME
   Preview video dal canale YouTube ADEL + pagina dedicata.
   ========================================================== */
.home-testimonials-section {
  position: relative;
  padding: 84px 0 88px;
  overflow: hidden;
  background:
    radial-gradient(circle at 94% 8%, rgba(7,152,176,.10), transparent 25%),
    linear-gradient(180deg, #303d48 0%, #27343f 100%);
  color: #fff;
}
.home-testimonials-section::after {
  content: "";
  position: absolute;
  right: -210px;
  top: -300px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(215,238,242,.10);
  border-radius: 50%;
  box-shadow: 0 0 0 72px rgba(215,238,242,.025), 0 0 0 144px rgba(215,238,242,.018);
  pointer-events: none;
}
.home-testimonials-section .adel-container { position: relative; z-index: 1; }
.home-testimonials-head {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr);
  gap: 64px;
  align-items: end;
  margin-bottom: 38px;
}
.home-testimonials-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #67d3df;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.home-testimonials-kicker::before { content:""; width:34px; height:2px; background:currentColor; }
.home-testimonials-head h2 {
  margin: 16px 0 0;
  color: #fff;
  font-size: clamp(50px, 4.8vw, 76px);
  line-height: .92;
  letter-spacing: -.055em;
}
.home-testimonials-head h2 span { color: var(--adel-teal); }
.home-testimonials-intro { justify-self: end; max-width: 500px; }
.home-testimonials-intro p {
  margin: 0 0 20px;
  color: #c5d2d8;
  font-size: 17px;
  line-height: 1.5;
}
.home-testimonials-intro > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  border-bottom: 1px solid rgba(255,255,255,.30);
  padding-bottom: 5px;
}
.home-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
.home-testimonial-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 44px rgba(0,0,0,.15);
  transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s ease;
}
.home-testimonial-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 58px rgba(0,0,0,.21);
}
.home-testimonial-media {
  position: relative;
  display: block;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #17232c;
}
.home-testimonial-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(16,27,35,.58));
  pointer-events: none;
}
.home-testimonial-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .45s cubic-bezier(.16,1,.3,1), filter .3s ease;
}
.home-testimonial-card:hover .home-testimonial-media img { transform: scale(1.055); filter: saturate(1.04); }
.home-testimonial-play {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  background: rgba(7,152,176,.95);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  transition: transform .25s ease, background .25s ease;
}
.home-testimonial-card:hover .home-testimonial-play { transform: translate(-50%,-50%) scale(1.08); background: var(--adel-red); }
.home-testimonial-play svg { width: 24px; height: 24px; fill: currentColor; margin-left: 3px; }
.home-testimonial-index {
  position: absolute;
  z-index: 2;
  top: 16px;
  right: 17px;
  min-width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--adel-ink);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}
.home-testimonial-body { padding: 22px 22px 24px; }
.home-testimonial-body h3 {
  margin: 0 0 18px;
  min-height: 2.25em;
  color: var(--adel-ink);
  font-size: 20px;
  line-height: 1.12;
  letter-spacing: -.025em;
}
.home-testimonial-body a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--adel-teal);
  font-size: 12px;
  font-weight: 900;
}
.home-testimonials-cta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.home-testimonials-cta-row > span {
  color: #9fb0b9;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}
.home-testimonials-fallback {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 32px;
  border-radius: 24px;
  background: rgba(255,255,255,.08);
}
.home-testimonials-fallback p { margin:0; color:#d5e0e5; }

@media (max-width: 980px) {
  .home-testimonials-head { grid-template-columns: 1fr; gap: 26px; }
  .home-testimonials-intro { justify-self: start; max-width: 680px; }
  .home-testimonials-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-testimonial-card:first-child { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .home-testimonials-section { padding: 56px 0 60px; }
  .home-testimonials-section .adel-container { width: min(100% - 38px,1240px); }
  .home-testimonials-head { margin-bottom: 26px; }
  .home-testimonials-head h2 { font-size: clamp(46px,13vw,64px); }
  .home-testimonials-intro p { font-size: 15px; }
  .home-testimonials-grid { grid-template-columns: 1fr; gap: 14px; }
  .home-testimonial-card:first-child { grid-column: auto; }
  .home-testimonial-body h3 { min-height: 0; font-size: 19px; }
  .home-testimonials-cta-row { align-items: stretch; flex-direction: column; }
  .home-testimonials-cta-row .btn { width: 100%; text-align: center; }
  .home-testimonials-fallback { flex-direction: column; align-items: stretch; }
}


/* v1.5.57 — Hero: value proposition before CTA */
.hero-video-description {
  max-width: 560px;
  margin: -4px 0 30px;
  color: rgba(255,255,255,.88);
  font-size: clamp(18px, 1.55vw, 23px);
  line-height: 1.5;
  letter-spacing: -.015em;
}
.hero-video-description strong {
  color: #fff;
  font-weight: 800;
}
@media (max-width: 980px) {
  .hero-video-description {
    max-width: 520px;
    margin: -2px 0 26px;
    font-size: 18px;
  }
}
@media (max-width: 700px) {
  .hero-video-description {
    max-width: 94%;
    margin: 0 0 22px;
    color: rgba(255,255,255,.90);
    font-size: 16px;
    line-height: 1.45;
  }
}


/* ==========================================================
   v1.5.58 — HERO STATEMENT ADEL
   Gerarchia editoriale ispirata alla reference, con video ADEL preservato.
   ========================================================== */
.hero-video-copy--statement {
  width: min(50%, 650px) !important;
  text-align: left !important;
}
.hero-video-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  color: #d9edf0;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.hero-video-kicker i {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: var(--adel-red);
  box-shadow: 0 0 0 5px rgba(255,69,82,.08);
}
.hero-video .hero-video-statement {
  display: grid;
  gap: 0;
  max-width: 650px !important;
  margin: 0 0 28px !important;
  color: #f4fbfc;
  font-size: clamp(56px, 5vw, 82px) !important;
  font-weight: 800;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
  white-space: normal !important;
}
.hero-video-statement > span {
  display: block;
}
.hero-video-statement-accent {
  color: var(--adel-teal);
}
.hero-video-description {
  max-width: 570px !important;
  margin: 0 0 28px !important;
  color: rgba(240,248,250,.86) !important;
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.5 !important;
}
.hero-video-description strong {
  color: #fff !important;
  font-weight: 800 !important;
}
.hero-video-cta {
  width: auto !important;
  min-width: 0 !important;
  min-height: 58px !important;
  padding: 0 28px !important;
  gap: 18px;
  border-radius: 999px !important;
  box-shadow: 0 14px 32px rgba(7,152,176,.18);
}
.hero-video-cta span {
  font-size: 22px;
  line-height: 1;
  transition: transform .2s ease;
}
.hero-video-cta:hover span { transform: translateX(4px); }
.hero-video-microcopy {
  margin: 15px 0 0;
  color: rgba(225,238,242,.62);
  font-size: 12px;
  line-height: 1.35;
}

@media (min-width: 901px) {
  .hero-video-copy--statement {
    padding: 76px 0 70px !important;
  }
  .hero-video-media {
    inset: 0 0 0 48% !important;
  }
  .hero-video-overlay {
    background:
      linear-gradient(90deg,
        #35414d 0%,
        #35414d 38%,
        rgba(53,65,77,.98) 46%,
        rgba(53,65,77,.76) 56%,
        rgba(53,65,77,.30) 72%,
        rgba(53,65,77,.06) 100%) !important;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .hero-video-copy--statement {
    width: 52% !important;
    padding: 44px 0 48px !important;
  }
  .hero-video-kicker { margin-bottom: 18px; font-size: 9px; }
  .hero-video .hero-video-statement {
    font-size: clamp(38px, 5.7vw, 52px) !important;
    margin-bottom: 22px !important;
  }
  .hero-video-description {
    font-size: 15px !important;
    line-height: 1.45 !important;
    margin-bottom: 22px !important;
  }
  .hero-video-cta {
    width: auto !important;
    min-height: 54px !important;
    padding-inline: 22px !important;
    font-size: 15px !important;
  }
  .hero-video-microcopy { max-width: 360px; font-size: 10px; }
}

@media (max-width: 600px) {
  .hero-video-copy--statement {
    width: 100% !important;
    max-width: none !important;
    padding: 0 22px 38px !important;
    text-align: left !important;
  }
  .hero-video-kicker {
    margin: 0 0 18px !important;
    font-size: 9px;
    letter-spacing: .16em;
  }
  .hero-video .hero-video-statement {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    font-size: clamp(40px, 11.6vw, 54px) !important;
    line-height: .96 !important;
    text-align: left !important;
    white-space: normal !important;
  }
  .hero-video-description {
    max-width: 100% !important;
    margin: 0 0 22px !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
    text-align: left !important;
  }
  .hero-video-cta {
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding-inline: 20px !important;
    justify-content: center !important;
    font-size: 15px !important;
  }
  .hero-video-microcopy {
    margin-top: 13px;
    font-size: 10.5px;
    text-align: left;
  }
}


/* v1.5.60 portrait testimonials */
.testimonials-hero--editorial{padding:96px 0 82px;background:var(--adel-pale);color:var(--adel-ink)}
.testimonials-hero--editorial::after{display:none}
.testimonials-hero__inner--editorial{display:flex;align-items:flex-end;justify-content:space-between;gap:56px}
.testimonials-hero--editorial .testimonials-kicker{color:var(--adel-teal)}
.testimonials-hero--editorial h1{margin:12px 0 18px;color:var(--adel-ink);font-size:clamp(64px,7.2vw,112px);line-height:.9;letter-spacing:-.065em}
.testimonials-hero--editorial h1 span{color:var(--adel-teal)}
.testimonials-hero--editorial .testimonials-hero__copy>p{max-width:760px;color:#5f7480;font-size:clamp(17px,1.45vw,21px);line-height:1.55}
.testimonials-youtube-link--light{flex:0 0 auto;color:var(--adel-ink);border-bottom:1px solid rgba(38,53,65,.24);white-space:nowrap}
.testimonials-youtube-link--light:hover{color:var(--adel-teal)}
.testimonial-video-section--portrait{padding:82px 0 104px;background:#f9fbfb}
.testimonial-video-head--editorial{grid-template-columns:minmax(0,1fr) minmax(280px,480px);align-items:end;margin-bottom:42px}
.testimonial-video-head--editorial h2{margin:12px 0 0;font-size:clamp(48px,5vw,76px);line-height:.94;letter-spacing:-.055em}
.testimonial-video-head--editorial>p{max-width:460px}
.testimonial-video-grid--portrait{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.testimonial-portrait-card{min-width:0}
.testimonial-portrait-media{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;border:1px solid rgba(7,152,176,.26);border-radius:28px;background:var(--adel-dark);box-shadow:0 18px 46px rgba(26,48,61,.09);isolation:isolate;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.testimonial-portrait-media:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(26,48,61,.15);border-color:rgba(7,152,176,.62)}
.testimonial-portrait-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.testimonial-portrait-media:hover img{transform:scale(1.065);filter:saturate(1.05)}
.testimonial-portrait-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,34,45,.04) 42%,rgba(18,34,45,.18) 62%,rgba(18,34,45,.88) 100%);z-index:1}
.testimonial-portrait-play,.home-testimonial-card--portrait .home-testimonial-play{position:absolute;left:50%;top:49%;z-index:3;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:var(--adel-teal);color:#fff;box-shadow:0 14px 34px rgba(7,152,176,.28);transform:translate(-50%,-50%);transition:transform .24s ease,background .24s ease}
.testimonial-portrait-media:hover .testimonial-portrait-play,.home-testimonial-card--portrait .home-testimonial-media:hover .home-testimonial-play{transform:translate(-50%,-50%) scale(1.08);background:var(--adel-red)}
.testimonial-portrait-play svg,.home-testimonial-card--portrait .home-testimonial-play svg{width:27px;height:27px;fill:currentColor;margin-left:4px}
.testimonial-portrait-index{position:absolute;top:18px;right:18px;z-index:3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--adel-ink);font-size:11px;font-weight:900;letter-spacing:.08em}
.testimonial-portrait-brand,.home-testimonial-brand{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;min-height:128px;padding:28px 26px 24px;background:linear-gradient(135deg,rgba(31,48,61,.96),rgba(7,152,176,.92));color:#fff}
.testimonial-portrait-client,.home-testimonial-client{max-width:70%;font-size:clamp(18px,1.6vw,24px);font-weight:900;line-height:1.02;letter-spacing:-.035em}
.testimonial-portrait-label,.home-testimonial-label{color:#d9f2f5;font-size:10px;font-weight:900;letter-spacing:.13em;white-space:nowrap}
.home-testimonials-section--portrait{padding:82px 0 88px;background:var(--adel-pale);color:var(--adel-ink)}
.home-testimonials-section--portrait::after{display:none}
.home-testimonials-head--portrait{align-items:end;margin-bottom:38px}
.home-testimonials-section--portrait .home-testimonials-kicker{color:var(--adel-teal)}
.home-testimonials-section--portrait .home-testimonials-head h2{color:var(--adel-ink);font-size:clamp(52px,5vw,78px);line-height:.93}
.home-testimonials-section--portrait .home-testimonials-intro p{color:#607580}
.home-testimonials-section--portrait .home-testimonials-intro>a{color:var(--adel-ink);border-bottom-color:rgba(38,53,65,.24)}
.home-testimonials-section--portrait .home-testimonials-intro>a:hover{color:var(--adel-teal)}
.home-testimonials-grid--portrait{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-testimonial-card--portrait{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;transform:none}
.home-testimonial-card--portrait:hover{transform:none;box-shadow:none}
.home-testimonial-media--portrait{position:relative;display:block;aspect-ratio:9/16;border:1px solid rgba(7,152,176,.25);border-radius:28px;overflow:hidden;background:var(--adel-dark);box-shadow:0 18px 46px rgba(26,48,61,.09);transition:transform .28s ease,box-shadow .28s ease}
.home-testimonial-media--portrait:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(26,48,61,.15)}
.home-testimonial-media--portrait::after{display:none}
.home-testimonial-media--portrait img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transform:scale(1.02)}
.home-testimonial-card--portrait:hover .home-testimonial-media--portrait img{transform:scale(1.065);filter:saturate(1.05)}
.home-testimonial-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(18,34,45,.03) 40%,rgba(18,34,45,.15) 64%,rgba(18,34,45,.82) 100%)}
.home-testimonial-card--portrait .home-testimonial-index{top:18px;right:18px;width:42px;height:42px;background:rgba(255,255,255,.94);color:var(--adel-ink);border:0;box-shadow:none}
.home-testimonial-card--portrait .home-testimonial-brand{min-height:116px;padding:25px 24px 22px}
.home-testimonial-card--portrait .home-testimonial-client{font-size:clamp(18px,1.5vw,23px)}
.home-testimonials-cta-row--portrait{margin-top:36px;padding-top:28px;border-top:1px solid rgba(38,53,65,.12);color:#607580}
.home-testimonials-cta-row--portrait>span{color:#607580}
.adel-video-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}
.adel-video-modal.is-open{display:flex}
.adel-video-modal__backdrop{position:absolute;inset:0;background:rgba(10,18,24,.86);backdrop-filter:blur(10px)}
.adel-video-modal__dialog{position:relative;z-index:2;width:min(520px,92vw);max-height:92vh}
.adel-video-modal__frame{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:24px;background:#000;box-shadow:0 34px 90px rgba(0,0,0,.44)}
.adel-video-modal__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.adel-video-modal__close{position:absolute;right:-12px;top:-12px;z-index:4;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:var(--adel-ink);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.2)}
body.adel-video-modal-open{overflow:hidden}
@media(max-width:980px){.testimonial-video-grid--portrait,.home-testimonials-grid--portrait{grid-template-columns:repeat(2,minmax(0,1fr))}.testimonials-hero__inner--editorial{align-items:flex-start;flex-direction:column;gap:26px}}
@media(max-width:700px){.testimonials-hero--editorial{padding:58px 0 48px}.testimonials-hero--editorial h1{font-size:clamp(56px,17vw,78px)}.testimonial-video-section--portrait{padding:52px 0 62px}.testimonial-video-head--editorial{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.testimonial-video-grid--portrait,.home-testimonials-grid--portrait{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.testimonial-portrait-media,.home-testimonial-media--portrait{border-radius:20px}.testimonial-portrait-brand,.home-testimonial-brand{min-height:94px;padding:18px 14px 14px;display:block}.testimonial-portrait-client,.home-testimonial-client{display:block;max-width:100%;font-size:15px}.testimonial-portrait-label,.home-testimonial-label{display:block;margin-top:6px;font-size:8px}.testimonial-portrait-play,.home-testimonial-card--portrait .home-testimonial-play{width:52px;height:52px}.testimonial-portrait-index,.home-testimonial-card--portrait .home-testimonial-index{top:12px;right:12px;width:34px;height:34px;font-size:9px}.home-testimonials-section--portrait{padding:54px 0 62px}.home-testimonials-head--portrait{margin-bottom:26px}.home-testimonials-section--portrait .home-testimonials-head h2{font-size:clamp(48px,14vw,64px)}.adel-video-modal__dialog{width:min(390px,88vw)}}
@media(max-width:430px){.testimonial-video-grid--portrait,.home-testimonials-grid--portrait{grid-template-columns:1fr}.testimonial-portrait-media,.home-testimonial-media--portrait{aspect-ratio:4/5}}

/* ==========================================================
   v1.5.61 — CASI STUDIO ADEL REALI
   Archivio popolato con i 25 progetti del portfolio storico.
   ========================================================== */
.cases-library__intro {
  margin: 14px 0 0;
  color: #627581;
  font-size: 15px;
}
.cases-grid--books {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.case-card--book > a {
  border-radius: 26px;
  background: #fff;
}
.case-card__visual--book {
  min-height: 360px;
  padding: 28px 28px 0;
  background: linear-gradient(155deg, #23313c 0%, #344652 100%) !important;
  align-items: end;
}
.case-card--book:nth-child(4n+2) .case-card__visual--book {
  background: linear-gradient(155deg, #0798b0 0%, #08778a 100%) !important;
}
.case-card--book:nth-child(4n+3) .case-card__visual--book {
  background: linear-gradient(155deg, #d8eff2 0%, #b9e1e6 100%) !important;
}
.case-card--book:nth-child(4n+4) .case-card__visual--book {
  background: linear-gradient(155deg, #2f3d48 0%, #19242c 100%) !important;
}
.case-card__visual--book img {
  width: auto;
  max-width: 100%;
  max-height: 330px;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 18px 22px rgba(0,0,0,.22));
}
.case-card__fallback {
  place-items: center;
  width: 100%;
  min-height: 260px;
  padding: 30px;
  color: #fff;
  text-align: center;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}
.case-card__body { padding: 24px 24px 26px; }
.case-card__eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--adel-teal);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}
.case-card--book .case-card__body h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1;
}
.case-card--book .case-card__body p {
  min-height: 38px;
  margin: 10px 0 22px;
  color: #6b7a84;
  font-size: 13px;
  line-height: 1.4;
}
.case-card__more {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--adel-ink);
  font-size: 12px;
  font-weight: 900;
}
.cases-empty {
  padding: 50px;
  border-radius: 24px;
  background: #fff;
  text-align: center;
}

.case-study-single__hero {
  position: relative;
  overflow: hidden;
  background: var(--adel-dark);
  color: #fff;
}
.case-study-single__hero::after {
  content: "";
  position: absolute;
  width: 620px;
  height: 620px;
  right: -250px;
  top: -330px;
  border: 1px solid rgba(7,152,176,.35);
  border-radius: 50%;
}
.case-study-single__hero-grid {
  position: relative;
  z-index: 2;
  min-height: 680px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: center;
  gap: 70px;
  padding-block: 80px;
}
.case-study-single__back {
  display: inline-block;
  margin-bottom: 48px;
  color: rgba(255,255,255,.65);
  font-size: 12px;
  font-weight: 800;
}
.case-study-single__eyebrow {
  display: block;
  margin-bottom: 18px;
  color: var(--adel-teal);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .2em;
}
.case-study-single__hero h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(70px, 7vw, 120px);
  line-height: .86;
  letter-spacing: -.065em;
}
.case-study-single__hero-copy > p {
  max-width: 620px;
  margin: 24px 0 0;
  color: #d4edf0;
  font-size: 21px;
}
.case-study-single__cover {
  display: flex;
  align-items: end;
  justify-content: center;
  align-self: stretch;
}
.case-study-single__cover img {
  width: auto;
  max-width: 100%;
  max-height: 610px;
  object-fit: contain;
  filter: drop-shadow(0 24px 30px rgba(0,0,0,.28));
}
.case-study-single__content {
  padding: 90px 0;
  background: #eef7f8;
}
.case-study-copy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
}
.case-study-copy-card {
  min-height: 390px;
  padding: 48px;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(31,54,66,.07);
}
.case-study-copy-card--accent {
  background: var(--adel-dark);
  color: #fff;
}
.case-study-copy-kicker {
  color: var(--adel-teal);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}
.case-study-copy-card h2 {
  margin: 24px 0 24px;
  font-size: clamp(34px, 3vw, 54px);
  line-height: .98;
  letter-spacing: -.045em;
}
.case-study-copy-card p {
  margin: 0;
  color: #647681;
  font-size: 18px;
  line-height: 1.6;
}
.case-study-copy-card--accent p { color: rgba(255,255,255,.72); }
.case-study-single__cta {
  padding: 72px 0;
  background: var(--adel-red);
  color: #fff;
}
.case-study-single__cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.case-study-single__cta span {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}
.case-study-single__cta h2 {
  margin: 15px 0 0;
  font-size: clamp(42px, 4.8vw, 76px);
  line-height: .9;
}
.case-study-single__cta .btn { background: #fff; color: var(--adel-ink); }

@media (max-width: 1180px) {
  .cases-grid--books { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .cases-grid--books { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-card__visual--book { min-height: 300px; }
  .case-card__visual--book img { max-height: 280px; }
  .case-study-single__hero-grid { grid-template-columns: 1fr; gap: 30px; min-height: 0; padding-block: 60px; }
  .case-study-single__cover { max-height: 470px; }
  .case-study-single__cover img { max-height: 460px; }
  .case-study-copy-grid { grid-template-columns: 1fr; }
  .case-study-copy-card { min-height: 0; padding: 34px; }
  .case-study-single__cta-inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .cases-library__head { align-items: flex-start; flex-direction: column; }
  .cases-grid--books { grid-template-columns: 1fr; }
  .case-card__visual--book { min-height: 360px; }
  .case-card__visual--book img { max-height: 340px; }
  .case-study-single__hero h1 { font-size: clamp(58px, 18vw, 86px); }
  .case-study-single__hero-copy > p { font-size: 17px; }
  .case-study-single__content { padding: 52px 0; }
}

/* v1.5.62 — Location gallery: feature + horizontal carousel responsive */
.contact-location-feature{
  padding:0 0 62px;
  background:#f7fbfc;
}
.contact-location-feature__figure{
  position:relative;
  margin:0;
  min-height:420px;
  border-radius:32px;
  overflow:hidden;
  background:var(--adel-dark);
  box-shadow:0 18px 55px rgba(25,43,54,.10);
}
.contact-location-feature__figure img{
  width:100%;
  height:100%;
  min-height:420px;
  max-height:540px;
  object-fit:cover;
  object-position:center 48%;
  display:block;
  filter:grayscale(100%);
}
.contact-location-feature__figure:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(38,53,65,.62),rgba(38,53,65,.06) 58%,transparent);
  pointer-events:none;
}
.contact-location-feature__figure figcaption{
  position:absolute;
  z-index:2;
  left:34px;
  bottom:30px;
  display:grid;
  gap:7px;
  max-width:420px;
  color:#fff;
}
.contact-location-feature__figure figcaption span{
  color:#aee3e8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}
.contact-location-feature__figure figcaption strong{
  font-size:clamp(24px,3vw,42px);
  line-height:1;
  letter-spacing:-.035em;
}

.contact-page-gallery{
  padding:74px 0 82px;
  background:var(--adel-dark);
  overflow:hidden;
}
.contact-gallery-shell{position:relative}
.contact-gallery-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:28px;
}
.contact-gallery-head h2{
  margin:10px 0 0;
  color:#fff;
  font-size:clamp(42px,5vw,72px);
  line-height:.95;
  letter-spacing:-.05em;
}
.contact-gallery-controls{display:flex;gap:10px}
.contact-gallery-arrow{
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:24px;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.contact-gallery-arrow:hover{
  background:var(--adel-teal);
  border-color:var(--adel-teal);
  transform:translateY(-2px);
}
.contact-gallery-track{
  display:flex;
  gap:18px;
  width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:2px 0 12px;
}
.contact-gallery-track::-webkit-scrollbar{display:none}
.contact-gallery-slide{
  position:relative;
  flex:0 0 clamp(360px,38vw,560px);
  aspect-ratio:16/10;
  padding:0;
  border:0;
  border-radius:26px;
  overflow:hidden;
  background:#1e2b34;
  scroll-snap-align:start;
  cursor:zoom-in;
  box-shadow:0 15px 38px rgba(0,0,0,.16);
}
.contact-gallery-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s cubic-bezier(.16,1,.3,1), filter .3s ease;
}
.contact-gallery-slide:hover img{transform:scale(1.025);filter:brightness(.92)}
.contact-gallery-count{
  position:absolute;
  right:16px;
  top:16px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(239,248,249,.94);
  color:var(--adel-ink);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.contact-gallery-swipe{
  display:none;
  margin:12px 0 0;
  color:#b9ccd3;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
}
.contact-gallery-lightbox{
  position:fixed;
  z-index:100000;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(18px,4vw,58px);
  background:rgba(13,22,28,.92);
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease, visibility .22s ease;
}
.contact-gallery-lightbox.is-open{opacity:1;visibility:visible}
.contact-gallery-lightbox img{
  max-width:min(1400px,94vw);
  max-height:88vh;
  width:auto;
  height:auto;
  border-radius:20px;
  box-shadow:0 25px 80px rgba(0,0,0,.35);
}
.contact-gallery-lightbox__close{
  position:absolute;
  top:20px;
  right:22px;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:30px;
  cursor:pointer;
}
body.contact-gallery-modal-open{overflow:hidden}

@media(max-width:980px){
  .contact-location-feature{padding-bottom:46px}
  .contact-location-feature__figure{min-height:360px;border-radius:26px}
  .contact-location-feature__figure img{min-height:360px;max-height:440px}
  .contact-page-gallery{padding:58px 0 64px}
  .contact-gallery-slide{flex-basis:72vw;max-width:560px}
}
@media(max-width:700px){
  .contact-location-feature{padding:0 0 36px}
  .contact-location-feature__figure{min-height:0;aspect-ratio:4/5;border-radius:22px}
  .contact-location-feature__figure img{min-height:0;max-height:none;height:100%;object-position:center center}
  .contact-location-feature__figure:after{background:linear-gradient(0deg,rgba(38,53,65,.72),rgba(38,53,65,0) 58%)}
  .contact-location-feature__figure figcaption{left:20px;right:20px;bottom:20px}
  .contact-location-feature__figure figcaption strong{font-size:27px}
  .contact-page-gallery{padding:48px 0 54px}
  .contact-gallery-head{align-items:flex-start;margin-bottom:20px}
  .contact-gallery-head h2{font-size:48px}
  .contact-gallery-controls{display:none}
  .contact-gallery-track{
    gap:12px;
    margin-right:calc((100vw - 100%)/-2);
    width:calc(100% + (100vw - 100%)/2);
    padding-right:20px;
  }
  .contact-gallery-slide{
    flex:0 0 84vw;
    max-width:440px;
    aspect-ratio:4/3;
    border-radius:20px;
  }
  .contact-gallery-swipe{display:block}
  .contact-gallery-lightbox{padding:14px}
  .contact-gallery-lightbox img{max-width:96vw;max-height:82vh;border-radius:14px}
  .contact-gallery-lightbox__close{top:12px;right:12px}
}


/* v1.5.63 — AI flagship: chatbot, WhatsApp, lead automation, booking */
.ai-lead-flow {
  position: relative;
  overflow: hidden;
  padding: 76px 0 72px;
  background: linear-gradient(180deg, #eef8f9 0%, #f7fbfc 100%);
  color: #26353f;
}
.ai-lead-flow::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -220px;
  top: -230px;
  border: 1px solid rgba(7,152,176,.18);
  border-radius: 50%;
  pointer-events: none;
}
.ai-lead-flow__wrap { position: relative; z-index: 1; }
.ai-lead-flow__head {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  column-gap: 54px;
  align-items: start;
  margin-bottom: 42px;
}
.ai-lead-flow__head .premium-service-kicker { grid-column: 1; }
.ai-lead-flow__head h2 {
  grid-column: 1;
  margin: 0;
  max-width: 640px;
  font-size: clamp(40px, 4vw, 64px);
  line-height: .98;
  letter-spacing: -.05em;
}
.ai-lead-flow__head p {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  max-width: 610px;
  margin: 0;
  color: #60727d;
  font-size: 18px;
  line-height: 1.58;
}
.ai-lead-flow__pipeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 10px;
  margin: 0 0 22px;
}
.ai-lead-flow__pipeline::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 25px;
  height: 2px;
  background: linear-gradient(90deg, #0798b0, #30b9cb, #ff4052);
  opacity: .55;
}
.ai-lead-flow__step {
  position: relative;
  z-index: 1;
  min-height: 132px;
  padding: 18px 16px 16px;
  border-radius: 20px;
  border: 1px solid rgba(38,53,63,.08);
  background: rgba(255,255,255,.88);
  box-shadow: 0 12px 28px rgba(24,50,62,.06);
}
.ai-lead-flow__step span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-bottom: 27px;
  border-radius: 50%;
  background: #d8f0f3;
  color: #0798b0;
  font-size: 10px;
  font-weight: 900;
}
.ai-lead-flow__step:nth-child(6) span { background: #ffe6e9; color: #ff4052; }
.ai-lead-flow__step strong {
  display: block;
  font-size: 16px;
  line-height: 1.12;
  letter-spacing: -.02em;
}
.ai-lead-flow__features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-top: 18px;
}
.ai-lead-flow__features article {
  min-height: 190px;
  padding: 28px;
  border-radius: 24px;
  background: #101b25;
  color: #fff;
}
.ai-lead-flow__features article > span {
  display: inline-block;
  margin-bottom: 34px;
  color: #30b9cb;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
}
.ai-lead-flow__features h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.ai-lead-flow__features p {
  max-width: 560px;
  margin: 0;
  color: #b8c6cc;
  font-size: 15px;
  line-height: 1.5;
}
.ai-lead-flow__cta { margin-top: 26px; }

@media (max-width: 980px) {
  .ai-lead-flow__head { grid-template-columns: 1fr; row-gap: 18px; }
  .ai-lead-flow__head .premium-service-kicker,
  .ai-lead-flow__head h2,
  .ai-lead-flow__head p { grid-column: 1; grid-row: auto; }
  .ai-lead-flow__pipeline { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ai-lead-flow__pipeline::before { display: none; }
}

@media (max-width: 700px) {
  .ai-lead-flow { padding: 44px 0 46px; }
  .ai-lead-flow__head { margin-bottom: 28px; }
  .ai-lead-flow__head h2 { font-size: clamp(38px, 11vw, 52px); }
  .ai-lead-flow__head p { font-size: 16px; }
  .ai-lead-flow__pipeline { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
  .ai-lead-flow__step { min-height: 116px; padding: 15px; }
  .ai-lead-flow__step span { margin-bottom: 19px; }
  .ai-lead-flow__step strong { font-size: 14px; }
  .ai-lead-flow__features { grid-template-columns: 1fr; gap: 10px; }
  .ai-lead-flow__features article { min-height: 0; padding: 22px; }
  .ai-lead-flow__features article > span { margin-bottom: 22px; }
  .ai-lead-flow__features h3 { font-size: 21px; }
}


/* ==========================================================
   v1.5.67 — FAQ HOMEPAGE
   Accordion editoriale ADEL: chiaro, compatto, accessibile.
   ========================================================== */
.home-faq-section {
  position: relative;
  padding: 76px 0 70px;
  background: #f6f7f5;
  overflow: hidden;
}
.home-faq-section::before {
  content: ""; position: absolute; width: 420px; height: 420px; right: -240px; top: -250px;
  border: 1px solid rgba(7,152,176,.13); border-radius: 50%; pointer-events: none;
}
.home-faq-wrap { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.55fr); gap: clamp(56px,7vw,120px); align-items: start; }
.home-faq-head { position: sticky; top: 118px; }
.home-faq-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 16px; color: var(--adel-teal); font-size: 11px; font-weight: 900; letter-spacing: .22em; text-transform: uppercase; }
.home-faq-kicker::after { content: ""; width: 42px; height: 1px; background: currentColor; opacity: .65; }
.home-faq-head h2 { margin: 0 0 20px; color: var(--adel-ink); font-size: clamp(54px,5vw,78px); line-height: .9; letter-spacing: -.055em; }
.home-faq-head h2 span { color: var(--adel-teal); }
.home-faq-head p { max-width: 400px; margin: 0; color: #687782; font-size: 17px; line-height: 1.55; }
.home-faq-list { border-top: 1px solid rgba(38,53,65,.15); }
.home-faq-item { margin: 0; border-bottom: 1px solid rgba(38,53,65,.15); background: transparent; }
.home-faq-item summary { display: grid; grid-template-columns: minmax(0,1fr) 38px; gap: 28px; align-items: center; min-height: 78px; padding: 17px 4px 17px 0; color: var(--adel-ink); cursor: pointer; list-style: none; font-size: clamp(17px,1.35vw,20px); font-weight: 800; line-height: 1.28; letter-spacing: -.018em; }
.home-faq-item summary::-webkit-details-marker { display: none; }
.home-faq-item summary::marker { content: ""; }
.home-faq-toggle { position: relative; width: 34px; height: 34px; justify-self: end; border-radius: 50%; background: rgba(7,152,176,.08); transition: background .2s ease, transform .28s ease; }
.home-faq-toggle::before,.home-faq-toggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; border-radius: 2px; background: var(--adel-red); transform: translate(-50%,-50%); transition: transform .26s ease; }
.home-faq-toggle::after { transform: translate(-50%,-50%) rotate(90deg); }
.home-faq-item[open] .home-faq-toggle { background: rgba(255,69,82,.10); transform: rotate(180deg); }
.home-faq-item[open] .home-faq-toggle::after { transform: translate(-50%,-50%) rotate(0deg); }
.home-faq-item summary:hover .home-faq-question { color: var(--adel-teal); }
.home-faq-answer { max-width: 850px; padding: 0 72px 24px 0; }
.home-faq-answer p { margin: 0; color: #667681; font-size: 16px; line-height: 1.62; }
.home-faq-item[open] summary { padding-bottom: 11px; }

.home-faq-list.is-collapsible .home-faq-item--extra { display: none; }
.home-faq-list.is-collapsible.is-expanded .home-faq-item--extra { display: block; }
.home-faq-more {
  width: 100%;
  min-height: 56px;
  margin-top: 18px;
  padding: 0 22px;
  border: 1px solid rgba(7,152,176,.32);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: var(--adel-teal);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .01em;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.home-faq-more:hover {
  background: var(--adel-teal);
  border-color: var(--adel-teal);
  color: #fff;
  transform: translateY(-1px);
}
.home-faq-more__icon {
  font-size: 19px;
  line-height: 1;
  transition: transform .25s ease;
}
.home-faq-list.is-expanded .home-faq-more__icon { transform: rotate(180deg); }
@media (max-width: 900px) {
  .home-faq-section { padding: 58px 0 56px; }
  .home-faq-wrap { grid-template-columns: 1fr; gap: 34px; }
  .home-faq-head { position: static; }
  .home-faq-head h2 { font-size: clamp(50px,11vw,68px); }
  .home-faq-head p { max-width: 620px; }
}
@media (max-width: 600px) {
  .home-faq-section { padding: 46px 0 44px; }
  .home-faq-section .adel-container { width: min(100% - 38px,1240px); }
  .home-faq-wrap { gap: 28px; }
  .home-faq-head h2 { margin-bottom: 16px; font-size: clamp(46px,13vw,58px); }
  .home-faq-head p { font-size: 15px; line-height: 1.5; }
  .home-faq-item summary { grid-template-columns: minmax(0,1fr) 32px; gap: 16px; min-height: 70px; padding: 15px 0; font-size: 16px; }
  .home-faq-toggle { width: 30px; height: 30px; }
  .home-faq-toggle::before,.home-faq-toggle::after { width: 12px; }
  .home-faq-answer { padding: 0 42px 20px 0; }
  .home-faq-answer p { font-size: 14px; line-height: 1.55; }
  .home-faq-more { min-height: 52px; margin-top: 14px; padding: 0 18px; font-size: 13px; }
}

/* v1.5.68 — Hero Cessione Crediti: visual con gerarchia completa */
@media (max-width: 760px) {
  .credit-value-card { width: min(340px,88%); min-height: 286px; padding: 24px 24px 22px; border-radius: 28px; box-shadow: 14px 14px 0 rgba(7,152,176,.16), var(--adel-shadow); }
  .credit-value-card__main { grid-template-columns: auto 1fr; gap: 14px; margin: 16px 0 10px; }
  .credit-value-card strong { font-size: 68px; }
  .credit-value-card h2 { font-size: clamp(25px,8.5vw,32px); }
  .credit-value-card span { font-size: 12px; }
}

/* ==========================================================
   v1.5.69 — CASI STUDIO: portfolio logo tiles + single complete
   Restyling ispirato al portfolio ADEL storico, senza mockup libro.
   ========================================================== */
.cases-library--logo-tiles{background:#cfeef2;padding:78px 0 92px}
.cases-library--wide{max-width:1200px}
.cases-library__head--client-style{align-items:center;margin-bottom:30px}
.cases-library__head--client-style h2{margin:0;color:var(--adel-teal-dark);font-size:clamp(48px,5vw,72px);letter-spacing:-.045em}
.cases-sort--wide{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(100%,760px);padding:0}
.cases-sort--wide button{min-height:56px;border:3px solid var(--adel-teal);color:var(--adel-teal);font-size:16px;background:transparent}
.cases-sort--wide button.is-active,.cases-sort--wide button:hover{background:var(--adel-teal);border-color:var(--adel-teal);color:#fff}
.cases-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case-logo-card{min-width:0}
.case-logo-card>a{position:relative;display:grid;place-items:center;min-height:310px;padding:50px;border-radius:28px;background:var(--case-bg,#26343f);overflow:hidden;box-shadow:0 14px 34px rgba(37,58,70,.08);transition:transform .25s ease,box-shadow .25s ease}
.case-logo-card>a:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(255,255,255,.04),transparent 55%);pointer-events:none}
.case-logo-card>a:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(37,58,70,.15)}
.case-logo-card__index{position:absolute;top:20px;right:22px;color:rgba(255,255,255,.62);font-size:10px;font-weight:900;letter-spacing:.18em}
.case-logo-card:nth-child(3n+3) .case-logo-card__index,.case-logo-card:nth-child(5n+5) .case-logo-card__index{color:rgba(38,53,65,.45)}
.case-logo-card__logo{position:relative;z-index:2;display:grid;place-items:center;width:100%;min-height:130px}
.case-logo-card__logo img{display:block;max-width:72%;max-height:110px;object-fit:contain}
.case-logo-card__logo b{display:none;color:#fff;text-align:center;font-size:28px;line-height:1.05}
.case-logo-card__logo.is-fallback b{display:block}
.case-logo-card__hover{position:absolute;z-index:3;left:22px;right:22px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-radius:999px;background:rgba(255,255,255,.93);color:var(--adel-ink);opacity:0;transform:translateY(10px);transition:.25s ease;box-shadow:0 10px 24px rgba(0,0,0,.09)}
.case-logo-card__hover strong{font-size:13px;line-height:1.1}
.case-logo-card__hover em{font-style:normal;color:var(--adel-teal);font-size:12px;font-weight:900;white-space:nowrap}
.case-logo-card>a:hover .case-logo-card__hover{opacity:1;transform:none}

.case-study-single--v2{background:#f4fafb}
.case-study-v2-hero{padding:74px 0 76px;background:var(--adel-dark);color:#fff;overflow:hidden;position:relative}
.case-study-v2-hero:after{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(7,152,176,.24);border-radius:50%;right:-230px;top:-250px}
.case-study-v2-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}
.case-study-v2-back{display:inline-flex;margin-bottom:42px;color:rgba(255,255,255,.62);font-size:12px;font-weight:800}
.case-study-v2-kicker{display:inline-flex;align-items:center;gap:12px;color:var(--adel-teal);font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.case-study-v2-kicker:before{content:"";width:30px;height:2px;background:currentColor}
.case-study-v2-hero h1{margin:18px 0 18px;font-size:clamp(62px,7vw,110px);line-height:.86;letter-spacing:-.06em}
.case-study-v2-hero__copy>p{max-width:620px;margin:0;color:#d9edf0;font-size:clamp(18px,1.5vw,22px);line-height:1.45}
.case-study-v2-logo-card{min-height:420px;border-radius:34px;background:var(--case-bg,#26343f);display:grid;place-items:center;padding:50px;box-shadow:18px 18px 0 rgba(7,152,176,.15);position:relative;overflow:hidden}
.case-study-v2-logo-card:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:1px solid rgba(255,255,255,.18);right:-90px;bottom:-130px}
.case-study-v2-logo-card img{position:relative;z-index:2;max-width:78%;max-height:120px;object-fit:contain}

.case-study-v2-work{padding:82px 0;background:#eef7f8}
.case-study-v2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}
.case-study-v2-section-head h2{margin:14px 0 0;font-size:clamp(46px,5vw,74px);line-height:.92;letter-spacing:-.05em}
.case-study-v2-showcase{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.case-study-v2-showcase>*,.case-study-v2-gallery__item{margin:0;border-radius:28px;overflow:hidden;min-height:430px}
.case-study-v2-showcase__cover{display:grid;place-items:center;background:#fff;padding:34px}
.case-study-v2-showcase__cover img{max-width:100%;max-height:520px;object-fit:contain}
.case-study-v2-showcase__brand{background:var(--case-bg,#26343f);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:46px;color:#fff;text-align:center}
.case-study-v2-showcase__brand img{max-width:72%;max-height:120px;object-fit:contain;margin-bottom:42px}
.case-study-v2-showcase__brand span{font-size:10px;font-weight:900;letter-spacing:.18em}

.case-study-v2-gallery{position:relative}
.case-study-v2-gallery__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}
.case-study-v2-gallery__track::-webkit-scrollbar{display:none}
.case-study-v2-gallery__item{flex:0 0 min(72vw,760px);scroll-snap-align:start;background:#fff;min-height:360px}
.case-study-v2-gallery__item:not(.is-wide){flex-basis:min(36vw,390px)}
.case-study-v2-gallery__item img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}
.case-study-v2-gallery__nav{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:#fff;color:var(--adel-ink);font-size:22px;box-shadow:0 10px 28px rgba(27,45,56,.16);cursor:pointer}
.case-study-v2-gallery__nav--prev{left:-18px}.case-study-v2-gallery__nav--next{right:-18px}

.case-study-v2-story{padding:88px 0;background:#fff}
.case-study-v2-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.case-study-v2-story__intro,.case-study-v2-story__transformation{padding:48px;border-radius:30px;min-height:500px}
.case-study-v2-story__intro{background:#edf7f8;color:var(--adel-ink)}
.case-study-v2-story__transformation{background:var(--adel-dark);color:#fff}
.case-study-v2-story h2{margin:22px 0 16px;font-size:clamp(40px,4vw,66px);line-height:.95;letter-spacing:-.05em}
.case-study-v2-story h3{margin:0 0 26px;color:var(--adel-teal);font-size:22px;line-height:1.2}
.case-study-v2-story p{margin:0;color:#5f727d;font-size:18px;line-height:1.65}
.case-study-v2-story__transformation p{color:rgba(255,255,255,.75)}
.case-study-v2-inline-cta{display:inline-flex;margin-top:34px;padding-bottom:5px;border-bottom:2px solid var(--adel-teal);color:#fff;font-weight:900}

.case-study-v2-next{padding:68px 0;background:var(--adel-pale)}
.case-study-v2-next__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.case-study-v2-next h2{margin:15px 0 12px;font-size:clamp(42px,4.6vw,72px);line-height:.92;letter-spacing:-.05em}
.case-study-v2-next h2 span{color:var(--adel-red)}
.case-study-v2-next p{margin:0;font-size:18px;color:#5f727d}
.case-study-v2-contact{background:#eef8f9}

@media(max-width:980px){
  .cases-logo-grid{grid-template-columns:1fr 1fr}
  .case-logo-card>a{min-height:250px;padding:34px}
  .case-study-v2-hero__inner{grid-template-columns:1fr;gap:34px}
  .case-study-v2-logo-card{min-height:300px}
  .case-study-v2-showcase{grid-template-columns:1fr}
  .case-study-v2-story__grid{grid-template-columns:1fr}
  .case-study-v2-story__intro,.case-study-v2-story__transformation{min-height:0}
  .case-study-v2-next__inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .cases-library--logo-tiles{padding:54px 0 62px}
  .cases-library__head--client-style{align-items:flex-start;flex-direction:column;gap:24px}
  .cases-library__head--client-style h2{font-size:50px}
  .cases-sort--wide{width:100%;grid-template-columns:1fr 1fr}
  .cases-sort--wide button{min-height:50px;font-size:13px;padding:8px}
  .cases-logo-grid{grid-template-columns:1fr 1fr;gap:10px}
  .case-logo-card>a{min-height:170px;padding:22px;border-radius:20px}
  .case-logo-card__logo{min-height:90px}
  .case-logo-card__logo img{max-width:84%;max-height:64px}
  .case-logo-card__hover{display:none}
  .case-logo-card__index{top:12px;right:13px;font-size:8px}
  .case-study-v2-hero{padding:54px 0 58px}
  .case-study-v2-back{margin-bottom:28px}
  .case-study-v2-hero h1{font-size:clamp(56px,17vw,80px)}
  .case-study-v2-logo-card{min-height:240px;border-radius:26px;padding:32px;box-shadow:10px 10px 0 rgba(7,152,176,.14)}
  .case-study-v2-work{padding:52px 0}
  .case-study-v2-section-head h2{font-size:48px}
  .case-study-v2-gallery__item,.case-study-v2-gallery__item:not(.is-wide){flex-basis:86vw;min-height:320px;border-radius:22px}
  .case-study-v2-gallery__item img{min-height:320px}
  .case-study-v2-gallery__nav{display:none}
  .case-study-v2-showcase>*{min-height:300px;border-radius:22px}
  .case-study-v2-story{padding:54px 0}
  .case-study-v2-story__intro,.case-study-v2-story__transformation{padding:30px 24px;border-radius:24px}
  .case-study-v2-story h2{font-size:44px}
  .case-study-v2-story p{font-size:16px}
  .case-study-v2-next{padding:50px 0}
  .case-study-v2-next .btn{width:100%}
}
@media(max-width:430px){
  .cases-logo-grid{grid-template-columns:1fr}
  .case-logo-card>a{min-height:220px}
  .case-logo-card__logo img{max-height:82px}
}


/* ==========================================================
   v1.5.70 — TESTIMONIANZE REAL PEOPLE / INLINE PLAYER
   Frame reale dal video + riproduzione dentro la card, senza modal.
   ========================================================== */
.testimonial-video-grid--portrait,
.home-testimonials-grid--portrait{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.testimonial-person-card,
.home-testimonial-card--person{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(7,152,176,.35);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 48px rgba(26,48,61,.08);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.testimonial-person-card:hover,
.home-testimonial-card--person:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 66px rgba(26,48,61,.13);
  border-color:rgba(7,152,176,.65);
}
.testimonial-person-media,
.home-testimonial-person-media{
  position:relative;
  aspect-ratio:9/13;
  overflow:hidden;
  background:#152431;
}
.testimonial-inline-trigger{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  cursor:pointer;
  background:#152431;
  appearance:none;
}
.testimonial-inline-trigger img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.025);
  transition:transform .42s cubic-bezier(.2,.7,.2,1),filter .3s ease;
}
.testimonial-inline-trigger:hover img{transform:scale(1.06);filter:saturate(1.04) contrast(1.02)}
.testimonial-person-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(18,34,45,.02) 52%,rgba(18,34,45,.18) 100%);
}
.testimonial-person-play{
  position:absolute;
  left:50%;
  top:52%;
  z-index:3;
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:50%;
  background:var(--adel-red);
  color:#fff;
  box-shadow:0 12px 34px rgba(255,69,82,.28);
  transform:translate(-50%,-50%);
  transition:transform .22s ease,background .22s ease;
}
.testimonial-inline-trigger:hover .testimonial-person-play{transform:translate(-50%,-50%) scale(1.08);background:var(--adel-teal)}
.testimonial-person-play svg{width:26px;height:26px;fill:currentColor;margin-left:4px}
.testimonial-inline-iframe{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  border:0;
  opacity:0;
  pointer-events:none;
  background:#000;
}
.testimonial-person-media.is-playing .testimonial-inline-iframe,
.home-testimonial-person-media.is-playing .testimonial-inline-iframe{
  z-index:5;
  opacity:1;
  pointer-events:auto;
}
.testimonial-person-media.is-playing .testimonial-inline-trigger,
.home-testimonial-person-media.is-playing .testimonial-inline-trigger{opacity:0;pointer-events:none}
.testimonial-person-brand{
  min-height:112px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px 24px;
  background:linear-gradient(135deg,var(--adel-dark) 0%,#243d4c 58%,var(--adel-teal) 150%);
  color:#fff;
  border-top:3px solid var(--adel-red);
}
.testimonial-person-mark{width:48px;height:34px;object-fit:contain;filter:brightness(0) invert(1);flex:0 0 auto}
.testimonial-person-brand div{min-width:0}
.testimonial-person-brand strong{display:block;font-size:clamp(18px,1.55vw,23px);line-height:1.05;letter-spacing:-.03em}
.testimonial-person-brand span{display:block;margin-top:7px;color:#cfecef;font-size:9px;font-weight:900;letter-spacing:.14em}

/* Neutralizza il vecchio trattamento grafico sulle nuove card */
.home-testimonial-card--person{background:#fff;border-radius:24px;box-shadow:0 18px 48px rgba(26,48,61,.08);overflow:hidden}
.home-testimonial-card--person:hover{transform:translateY(-5px);box-shadow:0 26px 66px rgba(26,48,61,.13)}

@media(max-width:980px){
  .testimonial-video-grid--portrait,.home-testimonials-grid--portrait{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media(max-width:700px){
  .testimonial-video-grid--portrait,.home-testimonials-grid--portrait{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .testimonial-person-card,.home-testimonial-card--person{border-radius:18px}
  .testimonial-person-media,.home-testimonial-person-media{aspect-ratio:9/13}
  .testimonial-person-brand{min-height:88px;padding:16px 14px;gap:11px;border-top-width:2px}
  .testimonial-person-mark{width:35px;height:25px}
  .testimonial-person-brand strong{font-size:14px}
  .testimonial-person-brand span{font-size:7px;margin-top:5px}
  .testimonial-person-play{width:50px;height:50px}
  .testimonial-person-play svg{width:21px;height:21px}
}
@media(max-width:430px){
  .testimonial-video-grid--portrait,.home-testimonials-grid--portrait{grid-template-columns:1fr}
  .testimonial-person-media,.home-testimonial-person-media{aspect-ratio:9/12.5}
}

/* v1.5.71 — portfolio projects always visible, independent from CPT query */
.cases-library__count{margin:8px 0 0;max-width:620px;color:#657986;font-size:15px;line-height:1.45}
.case-logo-card>a{padding-bottom:96px}
.case-logo-card__project{position:absolute;z-index:4;left:14px;right:14px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.95);color:var(--adel-ink);box-shadow:0 10px 28px rgba(16,35,46,.12);backdrop-filter:blur(8px)}
.case-logo-card__project>span{display:grid;gap:2px;min-width:0}
.case-logo-card__project small{color:var(--adel-teal);font-size:9px;font-weight:900;letter-spacing:.16em}
.case-logo-card__project strong{font-size:15px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-logo-card__project em{font-style:normal;color:var(--adel-teal);font-size:12px;font-weight:900;white-space:nowrap}
.case-logo-card__project em b{font-size:16px}
.case-logo-card__hover{display:none!important}
@media (max-width:700px){
  .cases-library__count{font-size:13px}
  .case-logo-card>a{min-height:210px;padding:22px 18px 78px}
  .case-logo-card__project{left:10px;right:10px;bottom:10px;padding:10px 11px;border-radius:14px;gap:8px}
  .case-logo-card__project small{font-size:7px}
  .case-logo-card__project strong{font-size:12px}
  .case-logo-card__project em{font-size:0}
  .case-logo-card__project em b{font-size:18px}
}
@media (max-width:410px){
  .case-logo-card>a{min-height:230px}
  .case-logo-card__project strong{font-size:13px}
}


/* =========================================================
   v1.5.72 — TESTIMONIANZE: ANTEPRIME NITIDE
   Frame YouTube ad alta risoluzione, niente effetto background.
   ========================================================= */
.testimonial-person-media,
.home-testimonial-person-media{
  background:#eef6f7;
}
.testimonial-inline-trigger{
  background:#eef6f7;
}
.testimonial-inline-trigger img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:none !important;
  filter:none !important;
  opacity:1;
  image-rendering:auto;
  backface-visibility:hidden;
}
.testimonial-inline-trigger:hover img{
  transform:none !important;
  filter:none !important;
}
.testimonial-person-overlay{
  display:none !important;
  background:none !important;
}
.home-testimonial-person-media .testimonial-person-overlay{
  display:none !important;
}
.testimonial-person-play{
  box-shadow:0 10px 28px rgba(255,69,82,.24);
}
@media(max-width:700px){
  .testimonial-person-media,
  .home-testimonial-person-media{
    aspect-ratio:9/16;
  }
}

/* ===== Casi studio premium v1.5.74 ===== */
.case-study-premium{background:#d7eef2;color:var(--adel-ink);overflow:hidden}
.case-study-premium__hero{position:relative;padding:78px 0 82px;background:var(--adel-dark);color:#fff;overflow:hidden}
.case-study-premium__hero:before,.case-study-premium__hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.case-study-premium__hero:before{width:560px;height:560px;right:-250px;top:-320px;border:1px solid rgba(41,158,182,.24)}
.case-study-premium__hero:after{width:420px;height:420px;right:-155px;top:-248px;border:1px solid rgba(255,255,255,.08)}
.case-study-premium__hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:70px;align-items:center}
.case-study-premium__back{display:inline-flex;margin:0 0 40px;color:rgba(255,255,255,.65);font-size:12px;font-weight:800;text-decoration:none}
.case-study-premium__eyebrow{display:inline-flex;align-items:center;gap:12px;color:#29a9c0;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.case-study-premium__eyebrow:before{content:"";width:32px;height:2px;background:currentColor}
.case-study-premium__hero h1{margin:20px 0 20px;max-width:760px;font-size:clamp(64px,7vw,112px);line-height:.88;letter-spacing:-.06em}
.case-study-premium__hero-copy>p{max-width:640px;margin:0;color:#d7e8eb;font-size:clamp(18px,1.55vw,23px);line-height:1.48}
.case-study-premium__brand-card{min-height:380px;display:grid;place-items:center;padding:54px;border-radius:34px;background:var(--case-brand,#26343f);box-shadow:18px 18px 0 rgba(41,158,182,.14);position:relative;overflow:hidden}
.case-study-premium__brand-card:before{content:"";position:absolute;inset:auto -120px -150px auto;width:310px;height:310px;border:1px solid rgba(255,255,255,.15);border-radius:50%}
.case-study-premium__brand-card img{position:relative;z-index:1;max-width:76%;max-height:130px;object-fit:contain}
.case-study-premium__brand-card>span{position:relative;z-index:1;color:#fff;font-size:38px;font-weight:900;text-align:center}

.case-study-premium__work{padding:86px 0 76px;background:#eef8fa}
.case-study-premium__section-head{display:grid;grid-template-columns:1fr minmax(280px,480px);gap:60px;align-items:end;margin-bottom:34px}
.case-study-premium__section-head h2{margin:16px 0 0;font-size:clamp(50px,5.2vw,78px);line-height:.92;letter-spacing:-.055em}
.case-study-premium__section-head h2 span{color:#2a9db8}
.case-study-premium__section-head>p{margin:0 0 4px;color:#63747e;font-size:17px;line-height:1.55}
.case-study-premium__slider{position:relative;margin-left:calc((100vw - min(1240px, calc(100vw - 64px)))/-2);margin-right:calc((100vw - min(1240px, calc(100vw - 64px)))/-2)}
.case-study-premium__track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(32px,calc((100vw - 1240px)/2)) 18px;overscroll-behavior-x:contain}
.case-study-premium__track::-webkit-scrollbar{display:none}
.case-study-premium__slide{flex:0 0 min(78vw,1120px);height:clamp(390px,47vw,620px);margin:0;border-radius:30px;overflow:hidden;background:#26343f;scroll-snap-align:center;box-shadow:0 14px 40px rgba(32,51,61,.10)}
.case-study-premium__slide img{width:100%;height:100%;display:block;object-fit:contain;background:#26343f}
.case-study-premium__arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:56px;height:56px;border:0;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--adel-ink);font-size:24px;box-shadow:0 10px 34px rgba(32,51,61,.18);cursor:pointer}
.case-study-premium__arrow--prev{left:max(18px,calc((100vw - 1240px)/2 - 28px))}
.case-study-premium__arrow--next{right:max(18px,calc((100vw - 1240px)/2 - 28px))}
.case-study-premium__dots{display:flex;justify-content:center;gap:9px;margin-top:9px}
.case-study-premium__dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#abdce5;cursor:pointer;transition:transform .2s ease,background .2s ease}
.case-study-premium__dots button.is-active{background:#2195b0;transform:scale(1.25)}
.case-study-premium__curious{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:46px;padding-top:30px;border-top:1px solid rgba(36,53,65,.12)}
.case-study-premium__curious strong{color:var(--adel-red);font-size:clamp(30px,3.2vw,48px);letter-spacing:-.035em}
.case-study-premium__curious a{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 34px;border-radius:999px;background:#299bb5;color:#fff;font-weight:900;text-decoration:none}

.case-study-premium__story{padding:94px 0 100px;background:#d7eef2}
.case-study-premium__story-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:76px;align-items:start}
.case-study-premium__story-copy h2{margin:20px 0 14px;font-size:clamp(48px,5vw,76px);line-height:.94;letter-spacing:-.055em}
.case-study-premium__story-copy>h3{margin:0 0 28px;color:var(--adel-red);font-size:clamp(24px,2vw,32px);line-height:1.15}
.case-study-premium__richtext p{margin:0 0 22px;color:#334550;font-size:17px;line-height:1.65}
.case-study-premium__richtext p:last-child{margin-bottom:0}
.case-study-premium__transformation{margin-top:50px;padding-top:40px;border-top:1px solid rgba(36,53,65,.14)}
.case-study-premium__transformation h3{margin:0 0 24px;color:var(--adel-red);font-size:clamp(26px,2.3vw,36px);letter-spacing:-.035em}
.case-study-premium__services{position:sticky;top:120px;padding:36px;border-radius:30px;background:rgba(255,255,255,.54);box-shadow:0 14px 36px rgba(40,66,78,.06)}
.case-study-premium__services h2{margin:18px 0 28px;font-size:38px;line-height:.98;letter-spacing:-.045em}
.case-study-premium__service-list{display:grid;gap:12px}
.case-study-premium__service{min-height:62px;padding:0 18px 0 20px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;font-size:17px;font-weight:800;box-shadow:0 5px 0 rgba(36,53,65,.10);transition:transform .2s ease,box-shadow .2s ease}
.case-study-premium__service:hover{transform:translateY(-2px);box-shadow:0 8px 0 rgba(36,53,65,.10)}
.case-study-premium__service i{flex:0 0 42px;width:42px;height:30px;background-image:var(--adel-bird);background-repeat:no-repeat;background-position:center;background-size:contain}
.case-study-premium__service.service-1{background:#ffd2d6;color:#ff4152}
.case-study-premium__service.service-2{background:#ff4050;color:#fff}
.case-study-premium__service.service-3{background:#299cb4;color:#243541}
.case-study-premium__service.service-4{background:#ff4050;color:#fff}
.case-study-premium__service.service-5{background:#edfafa;color:#2397b1}
.case-study-premium__service.service-6{background:#2d3943;color:#fff}

.case-study-premium__result{padding:72px 0;background:#eef8fa}
.case-study-premium__result-inner{display:grid;grid-template-columns:1fr auto;gap:22px 60px;align-items:center}
.case-study-premium__result-inner>.case-study-premium__eyebrow{grid-column:1/-1}
.case-study-premium__result h2{margin:0 0 12px;font-size:clamp(46px,4.7vw,72px);line-height:.93;letter-spacing:-.055em}
.case-study-premium__result h2 span{color:var(--adel-red)}
.case-study-premium__result p{margin:0;color:#5f727d;font-size:18px}
.case-study-premium__contact{background:#d7eef2}

@media (max-width:1050px){
  .case-study-premium__hero-grid{grid-template-columns:1fr;gap:38px}
  .case-study-premium__brand-card{min-height:280px}
  .case-study-premium__section-head{grid-template-columns:1fr;gap:18px}
  .case-study-premium__story-grid{grid-template-columns:1fr;gap:44px}
  .case-study-premium__services{position:static}
  .case-study-premium__service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-study-premium__result-inner{grid-template-columns:1fr;align-items:start}
  .case-study-premium__result .btn{justify-self:start}
}
@media (max-width:700px){
  .case-study-premium__hero{padding:52px 0 56px}
  .case-study-premium__hero-grid{gap:30px}
  .case-study-premium__back{margin-bottom:26px}
  .case-study-premium__hero h1{font-size:clamp(54px,16vw,76px)}
  .case-study-premium__brand-card{min-height:210px;padding:28px;border-radius:25px;box-shadow:9px 9px 0 rgba(41,158,182,.14)}
  .case-study-premium__brand-card img{max-width:74%;max-height:86px}
  .case-study-premium__work{padding:54px 0 52px}
  .case-study-premium__section-head{margin-bottom:24px}
  .case-study-premium__section-head h2{font-size:46px}
  .case-study-premium__section-head>p{font-size:15px}
  .case-study-premium__slider{margin-left:-19px;margin-right:-19px}
  .case-study-premium__track{gap:12px;padding:0 19px 15px}
  .case-study-premium__slide{flex-basis:88vw;height:62vw;min-height:285px;border-radius:22px}
  .case-study-premium__arrow{display:none}
  .case-study-premium__curious{align-items:flex-start;flex-direction:column;margin-top:32px;padding-top:24px}
  .case-study-premium__curious strong{font-size:34px}
  .case-study-premium__curious a{width:100%;padding:0 20px;min-height:54px}
  .case-study-premium__story{padding:56px 0 62px}
  .case-study-premium__story-grid{gap:34px}
  .case-study-premium__story-copy h2{font-size:46px}
  .case-study-premium__story-copy>h3{font-size:24px}
  .case-study-premium__richtext p{font-size:16px;line-height:1.55;margin-bottom:18px}
  .case-study-premium__transformation{margin-top:34px;padding-top:30px}
  .case-study-premium__services{padding:26px 20px;border-radius:24px}
  .case-study-premium__services h2{font-size:34px}
  .case-study-premium__service-list{grid-template-columns:1fr;gap:10px}
  .case-study-premium__service{min-height:56px;font-size:15px}
  .case-study-premium__result{padding:52px 0}
  .case-study-premium__result h2{font-size:46px}
  .case-study-premium__result .btn{width:100%;justify-content:center}
}

/* =========================================================
   v1.5.75 — Casi Studio / Portfolio ADEL originale
   Tile pulite a logo pieno, senza fascia bianca permanente.
   ========================================================= */
.cases-library--original {
  background: var(--adel-pale, #d7eef2);
  padding-top: 72px;
}
.cases-library--original .cases-library__head--client-style {
  align-items: end;
  margin-bottom: 28px;
}
.cases-library--original .cases-library__head h2 {
  margin: 0;
  color: #218da8;
  font-size: clamp(48px, 5.5vw, 78px);
  line-height: .95;
  letter-spacing: -.055em;
}
.cases-library--original .cases-library__count {
  max-width: 620px;
  margin: 12px 0 0;
  color: #637681;
  font-size: 15px;
}
.cases-library--original .cases-sort--wide {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 12px;
  min-width: min(100%, 650px);
}
.cases-library--original .cases-sort button {
  min-height: 56px;
  padding: 0 24px;
  border: 3px solid #258fa9;
  border-radius: 999px;
  background: transparent;
  color: #258fa9;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.cases-library--original .cases-sort button:hover { transform: translateY(-1px); }
.cases-library--original .cases-sort button.is-active {
  background: #2b95ac;
  color: #fff;
  box-shadow: none;
}
.cases-logo-grid--original {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.case-logo-card--original {
  min-width: 0;
  margin: 0;
}
.case-logo-card--original > a {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0;
  overflow: hidden;
  border-radius: 24px;
  background: var(--case-bg, #26343f);
  text-decoration: none;
  box-shadow: none;
  transform: translateZ(0);
  transition: transform .28s ease, box-shadow .28s ease;
}
.case-logo-card--original > a:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(37, 73, 88, .14);
}
.case-logo-card--original .case-logo-card__logo {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(28px, 5vw, 70px);
  background: transparent;
}
.case-logo-card--original .case-logo-card__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 72%;
  max-height: 47%;
  object-fit: contain;
  filter: none;
  transform: none;
}
.case-logo-card--original .case-logo-card__logo b {
  display: none;
  color: #fff;
  font-size: clamp(28px, 3vw, 44px);
  text-align: center;
}
.case-logo-card--original .case-logo-card__logo.is-fallback b { display: block; }
.case-logo-card--original .case-logo-card__hover {
  position: absolute;
  z-index: 2;
  inset: auto 18px 18px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-radius: 16px;
  background: rgba(245, 251, 252, .96);
  color: #263641;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events: none;
}
.case-logo-card--original > a:hover .case-logo-card__hover,
.case-logo-card--original > a:focus-visible .case-logo-card__hover {
  opacity: 1;
  transform: translateY(0);
}
.case-logo-card--original .case-logo-card__hover strong {
  font-size: 15px;
  line-height: 1.1;
}
.case-logo-card--original .case-logo-card__hover em {
  color: #168eaa;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}
/* Nasconde i vecchi elementi della card nelle build precedenti. */
.case-logo-card--original .case-logo-card__index,
.case-logo-card--original .case-logo-card__project { display: none !important; }

@media (max-width: 900px) {
  .cases-library--original { padding-top: 48px; }
  .cases-library--original .cases-library__head--client-style {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .cases-library--original .cases-sort--wide { min-width: 0; width: 100%; }
  .cases-logo-grid--original { gap: 14px; }
  .case-logo-card--original > a { border-radius: 19px; }
}
@media (max-width: 640px) {
  .cases-library--original { padding-top: 36px; }
  .cases-library--original .cases-library__head h2 { font-size: clamp(42px, 13vw, 62px); }
  .cases-library--original .cases-sort--wide { grid-template-columns: 1fr 1fr; gap: 8px; }
  .cases-library--original .cases-sort button { min-height: 48px; padding: 0 10px; border-width: 2px; font-size: 14px; }
  .cases-logo-grid--original { grid-template-columns: 1fr; gap: 14px; }
  .case-logo-card--original > a { aspect-ratio: 16 / 9; border-radius: 18px; }
  .case-logo-card--original .case-logo-card__logo { padding: 30px; }
  .case-logo-card--original .case-logo-card__logo img { max-width: 76%; max-height: 50%; }
  .case-logo-card--original .case-logo-card__hover {
    inset: auto 10px 10px 10px;
    padding: 11px 13px;
    border-radius: 13px;
    opacity: 1;
    transform: none;
    background: rgba(245, 251, 252, .94);
  }
  .case-logo-card--original .case-logo-card__hover strong { font-size: 13px; }
  .case-logo-card--original .case-logo-card__hover em { font-size: 11px; }
}


/* =========================================================
   v1.5.80 — Portfolio / Casi Studio identico alla struttura ADEL originale
   ========================================================= */
.cases-library--original {
  background: var(--adel-pale, #d7eef2);
  padding: 62px 0 86px;
}
.cases-library--original .cases-library--wide {
  width: min(1140px, calc(100% - 64px));
  max-width: 1140px;
  margin-inline: auto;
}
.cases-library--original .cases-library__head--client-style {
  display: block;
  margin: 0 0 30px;
}
.cases-library--original .cases-library__head h2 {
  margin: 0 0 46px;
  color: #218da8;
  font-size: clamp(48px, 4.4vw, 66px);
  line-height: 1;
  letter-spacing: -.045em;
  font-weight: 600;
}
.cases-library--original .cases-library__count { display: none !important; }
.cases-library--original .cases-sort--wide {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  min-width: 0;
}
.cases-library--original .cases-sort button {
  width: 100%;
  min-height: 54px;
  padding: 0 22px;
  border: 3px solid #258fa9;
  border-radius: 999px;
  background: transparent;
  color: #258fa9;
  font: inherit;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.cases-library--original .cases-sort button.is-active {
  background: #2b95ac;
  color: #fff;
}
.cases-logo-grid--original {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.case-logo-card--original > a {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0;
  overflow: hidden;
  border-radius: 24px;
  background: var(--case-bg, #26343f);
  text-decoration: none;
  box-shadow: none;
  transform: none;
  transition: transform .22s ease, box-shadow .22s ease;
}
.case-logo-card--original > a:hover,
.case-logo-card--original > a:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(38,54,65,.12);
}
.case-logo-card--original .case-logo-card__logo {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(28px, 4vw, 64px);
  background: transparent;
}
.case-logo-card--original .case-logo-card__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 78%;
  max-height: 58%;
  object-fit: contain;
  filter: none;
  transform: none;
}
.case-logo-card--original .case-logo-card__logo b { display: none; }
.case-logo-card--original .case-logo-card__logo.is-fallback b {
  display: block;
  color: #fff;
  font-size: clamp(28px, 3vw, 44px);
  text-align: center;
}
.case-logo-card--original .case-logo-card__hover { display: none !important; }

@media (max-width: 900px) {
  .cases-library--original { padding: 46px 0 64px; }
  .cases-library--original .cases-library--wide { width: min(100% - 36px, 1140px); }
  .cases-library--original .cases-library__head h2 { margin-bottom: 30px; }
  .cases-logo-grid--original { gap: 14px; }
  .case-logo-card--original > a { border-radius: 20px; }
}
@media (max-width: 640px) {
  .cases-library--original { padding: 34px 0 52px; }
  .cases-library--original .cases-library--wide { width: min(100% - 24px, 1140px); }
  .cases-library--original .cases-library__head h2 {
    margin-bottom: 24px;
    font-size: clamp(42px, 13vw, 56px);
  }
  .cases-library--original .cases-sort--wide { gap: 8px; }
  .cases-library--original .cases-sort button {
    min-height: 46px;
    padding-inline: 8px;
    border-width: 2px;
    font-size: 14px;
  }
  .cases-logo-grid--original { grid-template-columns: 1fr; gap: 14px; }
  .case-logo-card--original > a { border-radius: 18px; }
  .case-logo-card--original .case-logo-card__logo { padding: 28px; }
  .case-logo-card--original .case-logo-card__logo img { max-width: 80%; max-height: 60%; }
}


/* ================================================================
   ATRIO NERVI — caso studio editoriale completo (v1.5.82)
   ================================================================ */
.atrio-case{background:#d7eef2;color:var(--adel-ink);overflow:hidden}
.atrio-case__eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--adel-teal);font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.atrio-case__eyebrow:before{content:"";width:34px;height:2px;background:currentColor}
.atrio-case__hero{padding:72px 0 76px;background:var(--adel-dark);color:#fff;position:relative;overflow:hidden}
.atrio-case__hero:after{content:"";position:absolute;width:520px;height:520px;right:-220px;top:-250px;border:1px solid rgba(41,158,182,.2);border-radius:50%;box-shadow:0 0 0 70px rgba(41,158,182,.035)}
.atrio-case__hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);gap:80px;align-items:center}
.atrio-case__back{display:inline-flex;margin-bottom:42px;color:rgba(255,255,255,.68);font-size:13px;font-weight:800;text-decoration:none}
.atrio-case__hero h1{margin:20px 0 14px;font-size:clamp(68px,8vw,118px);line-height:.88;letter-spacing:-.065em}
.atrio-case__hero-copy>p{margin:0;color:#cfe4e8;font-size:clamp(20px,1.8vw,28px);line-height:1.3}
.atrio-case__cover{min-height:500px;display:grid;place-items:center;padding:36px;border-radius:34px;background:#eef7f8;box-shadow:16px 16px 0 rgba(41,158,182,.18)}
.atrio-case__cover img{display:block;width:auto;max-width:100%;height:auto;max-height:470px;object-fit:contain}

.atrio-work{padding:86px 0 74px;background:#d7eef2}
.atrio-work__head{max-width:780px;margin-bottom:44px}
.atrio-work__head h2{margin:14px 0 12px;color:var(--adel-teal);font-size:clamp(48px,5vw,76px);line-height:.95;letter-spacing:-.045em}
.atrio-work__head p{max-width:680px;margin:0;color:#607683;font-size:18px;line-height:1.6}
.atrio-work__carousel{position:relative;width:100%;padding:0 0 8px}
.atrio-work__track{display:flex;align-items:center;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:13vw;padding:8px 13vw 26px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.atrio-work__track::-webkit-scrollbar{display:none}
.atrio-work__slide{flex:0 0 min(72vw,1120px);min-height:440px;display:grid;place-items:center;margin:0;padding:0;border-radius:28px;overflow:hidden;background:#fff;box-shadow:9px 10px 0 rgba(31,145,169,.15);scroll-snap-align:center;opacity:.42;transform:scale(.94);transition:opacity .35s ease,transform .35s ease,box-shadow .35s ease}
.atrio-work__slide.is-active{opacity:1;transform:scale(1);box-shadow:12px 13px 0 rgba(31,145,169,.17)}
.atrio-work__slide img{display:block;width:100%;height:100%;max-height:610px;object-fit:contain;background:#fff}
.atrio-work__arrow{position:absolute;z-index:4;top:47%;width:54px;height:54px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--adel-teal);color:#fff;font-size:24px;font-weight:900;box-shadow:0 12px 28px rgba(22,83,99,.2);cursor:pointer}
.atrio-work__arrow--prev{left:3.5vw}.atrio-work__arrow--next{right:3.5vw}
.atrio-work__dots{display:flex;justify-content:center;gap:9px;margin-top:12px}
.atrio-work__dots button{width:12px;height:12px;padding:0;border:0;border-radius:50%;background:#9edce6;cursor:pointer;transition:transform .2s ease,background .2s ease}
.atrio-work__dots button.is-active{background:var(--adel-teal);transform:scale(1.18)}
.atrio-work__cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding-top:58px}
.atrio-work__cta h3{margin:0;color:var(--adel-red);font-size:clamp(38px,4.2vw,64px);line-height:1;letter-spacing:-.045em}
.atrio-work__cta .btn{min-width:390px;text-align:center}

.atrio-story{padding:84px 0 92px;background:#d7eef2;border-top:1px solid rgba(41,158,182,.12)}
.atrio-story__grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);gap:88px;align-items:start}
.atrio-story__copy{max-width:820px}
.atrio-story__copy>h2{margin:16px 0 26px;color:var(--adel-teal);font-size:clamp(48px,5vw,72px);line-height:.98;letter-spacing:-.045em}
.atrio-story__copy>h3{margin:0 0 20px;color:var(--adel-red);font-size:27px;line-height:1.2}
.atrio-story__copy p{margin:0 0 26px;color:#304551;font-size:17px;line-height:1.62}
.atrio-story__transformation{margin-top:62px;padding-top:50px;border-top:1px solid rgba(41,158,182,.22)}
.atrio-story__transformation h3{margin:18px 0 24px;color:var(--adel-red);font-size:clamp(32px,3vw,48px);line-height:1.05;letter-spacing:-.035em}
.atrio-story__services{position:sticky;top:120px;padding:36px 0 0}
.atrio-story__services h2{margin:18px 0 28px;font-size:clamp(34px,3.2vw,50px);line-height:1;letter-spacing:-.04em}
.atrio-services{display:grid;gap:16px}
.atrio-service{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;border-radius:999px;text-decoration:none;font-size:20px;font-weight:800;box-shadow:0 4px 0 rgba(35,51,61,.16);transition:transform .2s ease,box-shadow .2s ease}
.atrio-service:hover{transform:translateY(-2px);box-shadow:0 7px 0 rgba(35,51,61,.13)}
.atrio-service img{width:44px;height:24px;object-fit:contain}
.atrio-service--soft{background:#edf8f9;color:var(--adel-teal)}
.atrio-service--soft:first-of-type{background:#f5d9df;color:var(--adel-red)}
.atrio-service--coral{background:var(--adel-red);color:#fff}.atrio-service--coral img{filter:brightness(0) invert(1)}
.atrio-service--teal{background:var(--adel-teal);color:var(--adel-dark)}
.atrio-service--dark{background:var(--adel-dark);color:#fff}.atrio-service--dark:nth-of-type(7){color:var(--adel-red)}

.atrio-next{padding:70px 0;background:#d7eef2;border-top:1px solid rgba(41,158,182,.14)}
.atrio-next__inner{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
.atrio-next h2{margin:15px 0 12px;font-size:clamp(46px,5vw,76px);line-height:.92;letter-spacing:-.05em}
.atrio-next h2 span{color:var(--adel-red)}
.atrio-next p{margin:0;color:#5f747f;font-size:18px}
.atrio-next .btn{min-width:390px;text-align:center}
.atrio-contact{background:#eef8f9}

@media (max-width:1100px){
  .atrio-case__hero-grid{grid-template-columns:1fr .72fr;gap:44px}
  .atrio-case__cover{min-height:390px}.atrio-case__cover img{max-height:365px}
  .atrio-story__grid{grid-template-columns:1fr .78fr;gap:50px}
  .atrio-work__slide{flex-basis:78vw}
}
@media (max-width:900px){
  .atrio-case__hero-grid,.atrio-story__grid,.atrio-work__cta,.atrio-next__inner{grid-template-columns:1fr}
  .atrio-case__hero{padding:56px 0 64px}
  .atrio-case__cover{min-height:320px;max-width:520px}
  .atrio-story__services{position:static;padding-top:0}
  .atrio-work__cta,.atrio-next__inner{align-items:start}
  .atrio-work__cta .btn,.atrio-next .btn{min-width:0;width:100%}
  .atrio-work__track{scroll-padding-inline:8vw;padding-inline:8vw}
  .atrio-work__slide{flex-basis:84vw;min-height:360px}
  .atrio-work__arrow{display:none}
}
@media (max-width:600px){
  .atrio-case__hero{padding:42px 0 48px}
  .atrio-case__back{margin-bottom:28px}
  .atrio-case__hero h1{font-size:clamp(58px,17vw,78px)}
  .atrio-case__cover{min-height:260px;padding:24px;border-radius:24px;box-shadow:9px 9px 0 rgba(41,158,182,.17)}
  .atrio-case__cover img{max-height:300px}
  .atrio-work{padding:54px 0 50px}
  .atrio-work__head{margin-bottom:28px}
  .atrio-work__head h2{font-size:48px}
  .atrio-work__head p{font-size:16px}
  .atrio-work__track{gap:16px;padding:5px 20px 22px;scroll-padding-inline:20px}
  .atrio-work__slide{flex-basis:calc(100vw - 42px);min-height:0;border-radius:20px;box-shadow:5px 6px 0 rgba(31,145,169,.15)}
  .atrio-work__slide img{height:auto;max-height:68vh;object-fit:contain}
  .atrio-work__cta{padding-top:38px;gap:26px}
  .atrio-work__cta h3{font-size:42px}
  .atrio-story{padding:54px 0 60px}
  .atrio-story__grid{gap:44px}
  .atrio-story__copy>h2{font-size:48px}
  .atrio-story__copy>h3{font-size:23px}
  .atrio-story__copy p{font-size:16px;margin-bottom:22px}
  .atrio-story__transformation{margin-top:42px;padding-top:38px}
  .atrio-story__transformation h3{font-size:34px}
  .atrio-story__services h2{font-size:38px}
  .atrio-service{min-height:56px;padding:0 18px;font-size:17px}
  .atrio-service img{width:38px}
  .atrio-next{padding:48px 0}
  .atrio-next h2{font-size:48px}
}


/* v1.5.84 — conversion popup ADEL: preventivo + consulenza */
.adel-conversion-popup {
  position: fixed;
  z-index: 1180;
  right: 28px;
  bottom: 28px;
  width: min(560px, calc(100vw - 56px));
  padding: 30px 30px 24px;
  border: 1px solid rgba(215,238,242,.18);
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 8%, rgba(255,69,82,.22), transparent 32%),
    linear-gradient(145deg, #27333e 0%, #35414d 100%);
  color: #fff;
  box-shadow: 0 28px 80px rgba(19,34,44,.28), 0 8px 24px rgba(19,34,44,.16);
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 26px, 0) scale(.985);
  pointer-events: none;
  transition: opacity .28s ease, transform .32s cubic-bezier(.2,.8,.2,1), visibility .28s ease;
}
.adel-conversion-popup.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0,0,0) scale(1);
  pointer-events: auto;
}
.adel-conversion-popup__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease;
}
.adel-conversion-popup__close:hover { background: rgba(255,255,255,.15); transform: rotate(4deg); }
.adel-conversion-popup__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 48px 15px 0;
  color: #9ddce5;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.adel-conversion-popup__eyebrow::before {
  content: "";
  width: 26px;
  height: 2px;
  border-radius: 999px;
  background: #ff4552;
}
.adel-conversion-popup h2 {
  max-width: 440px;
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(34px, 3vw, 48px);
  line-height: .98;
  letter-spacing: -.055em;
}
.adel-conversion-popup h2 em { color: #ff4552; font-style: normal; }
.adel-conversion-popup p {
  max-width: 480px;
  margin: 0 0 22px;
  color: rgba(255,255,255,.75);
  font-size: 16px;
  line-height: 1.5;
}
.adel-conversion-popup__actions { display: grid; grid-template-columns: 1.16fr .84fr; gap: 10px; }
.adel-conversion-popup__primary,
.adel-conversion-popup__secondary {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 850;
  text-align: center;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.adel-conversion-popup__primary { background: #0798b0; color: #fff; }
.adel-conversion-popup__primary:hover { background: #087f94; transform: translateY(-2px); }
.adel-conversion-popup__primary span { font-size: 20px; line-height: 1; }
.adel-conversion-popup__secondary { border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.07); color: #fff; }
.adel-conversion-popup__secondary:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.48); transform: translateY(-2px); }
.adel-conversion-popup__later {
  display: block;
  margin: 16px auto 0;
  padding: 3px 8px;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.52);
  font-size: 12px;
  cursor: pointer;
}
.adel-conversion-popup__later:hover { color: rgba(255,255,255,.82); text-decoration: underline; }

@media (max-width: 782px) {
  .adel-conversion-popup {
    right: 12px;
    bottom: calc(94px + env(safe-area-inset-bottom));
    left: 12px;
    width: auto;
    max-height: calc(100dvh - 124px - env(safe-area-inset-bottom));
    overflow-y: auto;
    padding: 24px 20px 18px;
    border-radius: 24px;
  }
  .adel-conversion-popup h2 { padding-right: 26px; font-size: clamp(31px, 10vw, 42px); }
  .adel-conversion-popup p { font-size: 15px; margin-bottom: 18px; }
  .adel-conversion-popup__actions { grid-template-columns: 1fr; gap: 9px; }
  .adel-conversion-popup__primary,
  .adel-conversion-popup__secondary { min-height: 52px; width: 100%; }
  .adel-conversion-popup__later { margin-top: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .adel-conversion-popup { transition: none; }
  .adel-conversion-popup__primary,
  .adel-conversion-popup__secondary,
  .adel-conversion-popup__close { transition: none; }
}


/* v1.5.85 — Sviluppo App + ADEL Management come divisione autonoma */
.adel-mgmt-division {
  margin-top: 34px;
  min-height: 180px;
  padding: 28px 30px;
  display: grid;
  grid-template-columns: minmax(210px,.8fr) minmax(320px,1.45fr) auto;
  align-items: center;
  gap: 34px;
  border-radius: 28px;
  background: #f4d64d;
  color: #26343f;
  box-shadow: 8px 8px 0 rgba(15,35,46,.14);
  overflow: hidden;
  position: relative;
}
.adel-mgmt-division::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  right: -92px;
  top: -105px;
  border: 1px solid rgba(255,69,82,.38);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(255,69,82,.055), 0 0 0 68px rgba(255,69,82,.04);
  pointer-events: none;
}
.adel-mgmt-division__brand,
.adel-mgmt-division__copy,
.adel-mgmt-division__cta { position: relative; z-index: 1; }
.adel-mgmt-division__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.adel-mgmt-division__eyebrow {
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .18em;
  color: #ff4552;
}
.adel-mgmt-division__brand img { width: 152px; height: auto; display: block; }
.adel-mgmt-division__copy h3 {
  margin: 0 0 9px;
  max-width: 620px;
  font-size: clamp(25px,2.2vw,34px);
  line-height: 1.03;
  letter-spacing: -.035em;
}
.adel-mgmt-division__copy p { margin: 0; max-width: 650px; font-size: 16px; line-height: 1.5; color: rgba(38,52,63,.78); }
.adel-mgmt-division__cta {
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: #303641;
  color: #fff;
  font-size: 15px;
  font-weight: 850;
  white-space: nowrap;
  transition: transform .2s ease, background .2s ease;
}
.adel-mgmt-division__cta:hover { transform: translateY(-3px); background: #ff4552; }

@media (max-width: 1050px) {
  .adel-mgmt-division { grid-template-columns: 180px 1fr; }
  .adel-mgmt-division__cta { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 720px) {
  .adel-mgmt-division {
    margin-top: 24px;
    padding: 24px 22px 26px;
    grid-template-columns: 1fr;
    gap: 19px;
    border-radius: 24px;
  }
  .adel-mgmt-division__brand { gap: 11px; }
  .adel-mgmt-division__brand img { width: 138px; }
  .adel-mgmt-division__copy h3 { font-size: 27px; }
  .adel-mgmt-division__copy p { font-size: 15px; }
  .adel-mgmt-division__cta { width: 100%; min-height: 52px; padding-inline: 18px; }
}


/* ==========================================================
   v1.5.87 — Posizionamento AI & GEO
   Landing dedicata + collegamenti da AI e SEO.
   ========================================================== */
.geo-cross-banner {
  padding: 34px 0;
  background: #263541;
  color: #fff;
}
.geo-cross-banner--seo {
  background: linear-gradient(120deg, #263541 0%, #314856 100%);
}
.geo-cross-banner--ai {
  background: linear-gradient(120deg, #243541 0%, #0a7f93 145%);
}
.geo-cross-banner__inner {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center;
  gap: 34px;
}
.geo-cross-banner__label {
  display: grid;
  place-items: center;
  min-height: 92px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 22px;
  color: #9edce3;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 900;
  letter-spacing: .16em;
  text-align: center;
}
.geo-cross-banner__copy > span {
  display: block;
  margin-bottom: 8px;
  color: #8fd6de;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}
.geo-cross-banner__copy h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(28px, 2.8vw, 44px);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.geo-cross-banner__copy p {
  max-width: 760px;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 1.55;
}
.geo-cross-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--adel-teal);
  color: #fff;
  font-weight: 900;
  white-space: nowrap;
  transition: transform .2s ease, background .2s ease;
}
.geo-cross-banner__cta:hover {
  transform: translateY(-2px);
  background: var(--adel-teal-dark);
}

.premium-service-visual-card--posizionamento-ai-geo strong {
  font-size: clamp(48px, 5vw, 78px);
  letter-spacing: -.06em;
}

.geo-framework {
  padding: 78px 0;
  background: linear-gradient(180deg, #f5fbfc 0%, #eef8f9 100%);
}
.geo-framework__wrap {
  display: grid;
  gap: 38px;
}
.geo-framework__head {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: end;
  gap: 50px;
}
.geo-framework__head h2 {
  margin: 10px 0 0;
  color: var(--adel-ink);
  font-size: clamp(42px, 5vw, 68px);
  line-height: .95;
  letter-spacing: -.055em;
}
.geo-framework__head p {
  margin: 0;
  color: #617580;
  font-size: 17px;
  line-height: 1.55;
}
.geo-framework__steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.geo-framework__step {
  min-height: 230px;
  padding: 24px 20px;
  border: 1px solid rgba(38,53,65,.08);
  border-radius: 22px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 34px rgba(38,53,65,.055);
}
.geo-framework__step > span {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 40px;
  border-radius: 50%;
  background: rgba(7,152,176,.10);
  color: var(--adel-teal);
  font-size: 11px;
  font-weight: 900;
}
.geo-framework__step h3 {
  margin: 0 0 10px;
  color: var(--adel-ink);
  font-size: 20px;
  letter-spacing: -.03em;
}
.geo-framework__step p {
  margin: 0;
  color: #667986;
  font-size: 13px;
  line-height: 1.48;
}
.geo-framework__note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 26px;
  padding: 24px 28px;
  border-radius: 22px;
  background: #263541;
  color: #fff;
}
.geo-framework__note strong {
  color: #8fd6de;
  font-size: 20px;
}
.geo-framework__note p {
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.5;
}
.geo-framework__note a {
  color: #fff;
  font-weight: 900;
  white-space: nowrap;
}

.geo-faq {
  padding: 76px 0;
  background: #fff;
}
.geo-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: 70px;
  align-items: start;
}
.geo-faq__intro {
  position: sticky;
  top: 118px;
}
.geo-faq__intro h2 {
  margin: 10px 0 18px;
  color: var(--adel-ink);
  font-size: clamp(38px, 4vw, 58px);
  line-height: .98;
  letter-spacing: -.05em;
}
.geo-faq__intro p {
  margin: 0;
  color: #667986;
  font-size: 16px;
  line-height: 1.55;
}
.geo-faq__items {
  border-top: 1px solid rgba(38,53,65,.12);
}
.geo-faq__item {
  border-bottom: 1px solid rgba(38,53,65,.12);
}
.geo-faq__item summary {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 22px 0;
  color: var(--adel-ink);
  font-size: 17px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.geo-faq__item summary::-webkit-details-marker { display: none; }
.geo-faq__item summary span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(7,152,176,.10);
  color: var(--adel-teal);
  font-size: 20px;
  transition: transform .2s ease;
}
.geo-faq__item[open] summary span { transform: rotate(45deg); }
.geo-faq__item p {
  margin: -4px 52px 24px 0;
  color: #667986;
  line-height: 1.58;
}

@media (max-width: 980px) {
  .geo-cross-banner__inner {
    grid-template-columns: 110px minmax(0,1fr);
  }
  .geo-cross-banner__cta {
    grid-column: 2;
    justify-self: start;
  }
  .geo-framework__head,
  .geo-faq__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .geo-framework__steps {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .geo-framework__note {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .geo-faq__intro { position: static; }
}

@media (max-width: 700px) {
  .geo-cross-banner {
    padding: 26px 0;
  }
  .geo-cross-banner__inner {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .geo-cross-banner__label {
    min-height: 0;
    width: fit-content;
    padding: 9px 13px;
    border-radius: 999px;
  }
  .geo-cross-banner__copy h2 {
    font-size: 32px;
  }
  .geo-cross-banner__cta {
    grid-column: 1;
    width: 100%;
  }
  .geo-framework,
  .geo-faq {
    padding: 48px 0;
  }
  .geo-framework__head h2,
  .geo-faq__intro h2 {
    font-size: 40px;
  }
  .geo-framework__steps {
    grid-template-columns: 1fr;
  }
  .geo-framework__step {
    min-height: 0;
  }
  .geo-framework__step > span {
    margin-bottom: 24px;
  }
  .geo-framework__note {
    padding: 22px;
  }
  .geo-faq__item summary {
    font-size: 15px;
    padding: 19px 0;
  }
  .geo-faq__item p {
    margin-right: 0;
    font-size: 14px;
  }
}

/* v1.5.88 — SEO hub + Local SEO + Reputazione Online */
.seo-service-hub {
  padding: 76px 0 82px;
  background: #fff;
}
.seo-service-hub__wrap { display: grid; gap: 34px; }
.seo-service-hub__head {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr);
  align-items: end;
  gap: 54px;
}
.seo-service-hub__head h2 {
  margin: 10px 0 0;
  max-width: 900px;
  color: var(--adel-ink);
  font-size: clamp(42px, 5vw, 68px);
  line-height: .96;
  letter-spacing: -.055em;
}
.seo-service-hub__head > p {
  margin: 0;
  color: #617580;
  font-size: 16px;
  line-height: 1.58;
}
.seo-service-hub__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.seo-service-hub__card {
  position: relative;
  min-height: 430px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(38,53,65,.08);
  border-radius: 26px;
  background: #f4fbfc;
  box-shadow: 0 14px 38px rgba(38,53,65,.06);
  display: flex;
  flex-direction: column;
}
.seo-service-hub__card--reputation { background: #fff5f4; }
.seo-service-hub__card--geo { background: #263541; color: #fff; }
.seo-service-hub__index {
  position: absolute;
  top: 22px;
  right: 24px;
  color: rgba(38,53,65,.35);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}
.seo-service-hub__card--geo .seo-service-hub__index { color: rgba(255,255,255,.35); }
.seo-service-hub__icon {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  margin-bottom: 48px;
  border-radius: 18px;
  background: #0798b0;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
}
.seo-service-hub__card--reputation .seo-service-hub__icon { background: #ff4f57; }
.seo-service-hub__card--geo .seo-service-hub__icon { background: rgba(255,255,255,.12); }
.seo-service-hub__eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--adel-teal);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
}
.seo-service-hub__card--reputation .seo-service-hub__eyebrow { color: #d83d46; }
.seo-service-hub__card--geo .seo-service-hub__eyebrow { color: #8fd6de; }
.seo-service-hub__card h3 {
  margin: 0 0 14px;
  color: var(--adel-ink);
  font-size: clamp(28px,2.5vw,38px);
  line-height: 1;
  letter-spacing: -.045em;
}
.seo-service-hub__card--geo h3 { color: #fff; }
.seo-service-hub__card p {
  margin: 0 0 26px;
  color: #60747f;
  font-size: 15px;
  line-height: 1.55;
}
.seo-service-hub__card--geo p { color: rgba(255,255,255,.7); }
.seo-service-hub__card a {
  margin-top: auto;
  color: var(--adel-ink);
  font-weight: 900;
}
.seo-service-hub__card--geo a { color: #fff; }

.premium-service-visual-card--local-seo-google-business-profile strong {
  font-size: clamp(40px, 4.3vw, 66px);
  letter-spacing: -.055em;
}
.premium-service-visual-card--reputazione-online-recensioni strong {
  font-size: clamp(42px, 4.8vw, 70px);
  letter-spacing: -.055em;
}

.local-seo-framework {
  padding: 78px 0;
  background: linear-gradient(180deg,#f4fbfc 0%,#edf8f9 100%);
}
.local-seo-framework__wrap { display: grid; gap: 34px; }
.local-seo-framework__head {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr);
  align-items: end;
  gap: 54px;
}
.local-seo-framework__head h2,
.reputation-protocol__head h2 {
  margin: 10px 0 0;
  color: var(--adel-ink);
  font-size: clamp(42px,5vw,68px);
  line-height: .96;
  letter-spacing: -.055em;
}
.local-seo-framework__head > p,
.reputation-protocol__head > p {
  margin: 0;
  color: #617580;
  font-size: 16px;
  line-height: 1.58;
}
.local-seo-framework__steps {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
}
.local-seo-framework__step {
  min-height: 240px;
  padding: 24px 20px;
  border: 1px solid rgba(38,53,65,.08);
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 34px rgba(38,53,65,.05);
}
.local-seo-framework__step > span {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 38px;
  border-radius: 50%;
  background: rgba(7,152,176,.1);
  color: var(--adel-teal);
  font-size: 11px;
  font-weight: 900;
}
.local-seo-framework__step h3 {
  margin: 0 0 10px;
  color: var(--adel-ink);
  font-size: 20px;
  letter-spacing: -.03em;
}
.local-seo-framework__step p {
  margin: 0;
  color: #667986;
  font-size: 13px;
  line-height: 1.5;
}
.local-seo-framework__crosslink,
.reputation-protocol__crosslink {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 28px;
  padding: 28px 30px;
  border-radius: 24px;
  background: #263541;
  color: #fff;
}
.local-seo-framework__crosslink span,
.reputation-protocol__crosslink span {
  display: block;
  margin-bottom: 6px;
  color: #8fd6de;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
}
.local-seo-framework__crosslink h3,
.reputation-protocol__crosslink h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: clamp(24px,2.4vw,34px);
  letter-spacing: -.04em;
}
.local-seo-framework__crosslink p { margin: 0; color: rgba(255,255,255,.7); line-height: 1.5; }
.local-seo-framework__crosslink a,
.reputation-protocol__crosslink a {
  display: inline-flex;
  align-items: center;
  min-height: 50px;
  padding: 0 21px;
  border-radius: 999px;
  background: var(--adel-teal);
  color: #fff;
  font-weight: 900;
  white-space: nowrap;
}

.reputation-protocol {
  padding: 78px 0;
  background: #fff7f6;
}
.reputation-protocol__wrap { display: grid; gap: 34px; }
.reputation-protocol__head {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr);
  align-items: end;
  gap: 54px;
}
.reputation-protocol__timeline {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
}
.reputation-protocol__step {
  min-height: 255px;
  padding: 24px 20px;
  border: 1px solid rgba(38,53,65,.08);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(38,53,65,.05);
}
.reputation-protocol__step > span {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 34px;
  border-radius: 50%;
  background: rgba(255,79,87,.11);
  color: #d83d46;
  font-size: 11px;
  font-weight: 900;
}
.reputation-protocol__step h3 { margin: 0 0 10px; color: var(--adel-ink); font-size: 20px; letter-spacing: -.03em; }
.reputation-protocol__step p { margin: 0; color: #667986; font-size: 13px; line-height: 1.5; }
.reputation-protocol__rules {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}
.reputation-protocol__rules > div {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid rgba(38,53,65,.08);
  border-radius: 18px;
  background: #fff;
}
.reputation-protocol__rules strong { color: #d83d46; font-size: 13px; }
.reputation-protocol__rules > div:last-child strong { color: var(--adel-teal); }
.reputation-protocol__rules span { color: #526772; font-size: 13px; line-height: 1.35; }

.service-special-faq {
  padding: 76px 0;
  background: #fff;
}
.service-special-faq__grid {
  display: grid;
  grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr);
  gap: 68px;
  align-items: start;
}
.service-special-faq__intro { position: sticky; top: 118px; }
.service-special-faq__intro h2 {
  margin: 10px 0 16px;
  color: var(--adel-ink);
  font-size: clamp(38px,4vw,56px);
  line-height: .98;
  letter-spacing: -.05em;
}
.service-special-faq__intro p { margin: 0; color: #667986; line-height: 1.55; }
.service-special-faq__items { border-top: 1px solid rgba(38,53,65,.12); }
.service-special-faq__item { border-bottom: 1px solid rgba(38,53,65,.12); }
.service-special-faq__item summary {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 22px 0;
  color: var(--adel-ink);
  font-size: 17px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.service-special-faq__item summary::-webkit-details-marker { display: none; }
.service-special-faq__item summary span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(7,152,176,.1);
  color: var(--adel-teal);
  font-size: 20px;
  transition: transform .2s ease;
}
.service-special-faq__item[open] summary span { transform: rotate(45deg); }
.service-special-faq__item p { margin: -4px 52px 24px 0; color: #667986; line-height: 1.58; }

@media (max-width: 980px) {
  .seo-service-hub__head,
  .local-seo-framework__head,
  .reputation-protocol__head,
  .service-special-faq__grid { grid-template-columns: 1fr; gap: 26px; }
  .seo-service-hub__grid { grid-template-columns: 1fr; }
  .seo-service-hub__card { min-height: 330px; }
  .local-seo-framework__steps,
  .reputation-protocol__timeline { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reputation-protocol__rules { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-special-faq__intro { position: static; }
}

@media (max-width: 700px) {
  .seo-service-hub,
  .local-seo-framework,
  .reputation-protocol,
  .service-special-faq { padding: 48px 0; }
  .seo-service-hub__head h2,
  .local-seo-framework__head h2,
  .reputation-protocol__head h2,
  .service-special-faq__intro h2 { font-size: 39px; }
  .seo-service-hub__card { min-height: 0; padding: 23px; }
  .seo-service-hub__icon { margin-bottom: 34px; }
  .seo-service-hub__card h3 { font-size: 31px; }
  .local-seo-framework__steps,
  .reputation-protocol__timeline,
  .reputation-protocol__rules { grid-template-columns: 1fr; }
  .local-seo-framework__step,
  .reputation-protocol__step { min-height: 0; }
  .local-seo-framework__step > span,
  .reputation-protocol__step > span { margin-bottom: 22px; }
  .local-seo-framework__crosslink,
  .reputation-protocol__crosslink { grid-template-columns: 1fr; padding: 22px; }
  .local-seo-framework__crosslink a,
  .reputation-protocol__crosslink a { width: 100%; justify-content: center; }
  .service-special-faq__item summary { font-size: 15px; padding: 19px 0; }
  .service-special-faq__item p { margin-right: 0; font-size: 14px; }
}

/* v1.5.89 — hard fix service grid */
.service-tile-app-hardfix { background: var(--adel-coral, #ff4351); color: #fff; }
.service-tile-app-hardfix .service-mark { color: #fff; }
#servizi .services-bento[data-adel-services-build="1.5.89"] + .adel-mgmt-division { margin-top: 32px; }


/* ================================================================
   v1.5.91 — Casi Studio: loghi reference Atrio / Bagni San Michele
   ================================================================ */
.cases-library--original .case-logo-card--original > a {
  background: var(--case-bg, #26343f);
}
.case-logo-card--original .case-logo-card__logo {
  inset: 0 0 76px;
  padding: 30px 44px 22px;
}
.case-logo-card--original .case-logo-card__index {
  display: block !important;
  position: absolute;
  z-index: 5;
  top: 20px;
  right: 22px;
  color: rgba(255,255,255,.72);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1;
}
.case-logo-card--original .case-logo-card__project {
  display: flex !important;
  position: absolute;
  z-index: 5;
  left: 14px;
  right: 14px;
  bottom: 14px;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 16px;
  border-radius: 16px;
  background: #f8f9fa;
  color: #263641;
  box-shadow: none;
  backdrop-filter: none;
}
.case-logo-card--original .case-logo-card__project > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.case-logo-card--original .case-logo-card__project small {
  color: #168eaa;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .18em;
  line-height: 1.1;
}
.case-logo-card--original .case-logo-card__project strong {
  color: #263641;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.case-logo-card--original .case-logo-card__project em {
  color: #168eaa;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
.case-logo-card--original .case-logo-card__project em b {
  font-size: 16px;
  font-weight: 800;
}

/* Reference approvata: Atrio grande, pulito, senza sostituzioni tipografiche. */
.case-logo-card--atrio-nervi > a { --case-bg: #202020 !important; }
.case-logo-card--atrio-nervi .case-logo-card__logo img {
  max-width: 48%;
  max-height: 72%;
}

/* Reference approvata: Bagni San Michele blu profondo + logo crema. */
.case-logo-card--bagni-san-michele > a { --case-bg: #004f86 !important; }
.case-logo-card--bagni-san-michele .case-logo-card__logo img {
  max-width: 72%;
  max-height: 56%;
}

@media (max-width: 640px) {
  .case-logo-card--original .case-logo-card__logo {
    inset: 0 0 66px;
    padding: 24px 26px 18px;
  }
  .case-logo-card--original .case-logo-card__index {
    top: 14px;
    right: 15px;
    font-size: 8px;
  }
  .case-logo-card--original .case-logo-card__project {
    left: 10px;
    right: 10px;
    bottom: 10px;
    min-height: 50px;
    padding: 9px 11px;
    border-radius: 13px;
    gap: 8px;
  }
  .case-logo-card--original .case-logo-card__project small { font-size: 7px; }
  .case-logo-card--original .case-logo-card__project strong { font-size: 12px; }
  .case-logo-card--original .case-logo-card__project em { font-size: 0; }
  .case-logo-card--original .case-logo-card__project em b { font-size: 18px; }
  .case-logo-card--atrio-nervi .case-logo-card__logo img { max-width: 52%; max-height: 70%; }
  .case-logo-card--bagni-san-michele .case-logo-card__logo img { max-width: 78%; max-height: 58%; }
}

/* ================================================================
   v1.5.94 — Cover case study Buongustaio da reference approvata
   ================================================================ */
.case-logo-card--buongustaio > a { --case-bg: #00afa9 !important; }
.case-logo-card--buongustaio .case-logo-card__logo img {
  max-width: 54%;
  max-height: 66%;
}
@media (max-width: 640px) {
  .case-logo-card--buongustaio .case-logo-card__logo img {
    max-width: 62%;
    max-height: 72%;
  }
}

/* ================================================================
   v1.5.96 — Home servizi: Sviluppo App + ADEL Management featured
   ================================================================ */

/* Sviluppo App deve essere sempre una card standard nella seconda riga. */
#servizi .service-tile--sviluppo-app,
#servizi .service-tile-app-hardfix {
  display: flex !important;
  background: #ff4552 !important;
  color: #fff !important;
}
#servizi .service-tile--sviluppo-app h3,
#servizi .service-tile-app-hardfix h3,
#servizi .service-tile--sviluppo-app .service-mark,
#servizi .service-tile-app-hardfix .service-mark,
#servizi .service-tile--sviluppo-app .service-discover,
#servizi .service-tile-app-hardfix .service-discover {
  color: #fff !important;
}

/* ADEL Management non è un servizio della griglia: è una divisione autonoma featured. */
#servizi .adel-mgmt-division {
  width: 100%;
  min-height: 270px;
  margin: 58px 0 18px;
  padding: 38px 42px;
  grid-template-columns: minmax(220px,.75fr) minmax(360px,1.35fr) auto;
  gap: 42px;
  border-radius: 30px;
  background: #f8d94a;
  color: #26343f;
  box-shadow: 8px 8px 0 #26343f;
}
#servizi .adel-mgmt-division::before {
  content: "ADEL MANAGEMENT";
  position: absolute;
  right: 32px;
  bottom: -18px;
  color: rgba(38,52,63,.055);
  font-size: clamp(54px,8vw,118px);
  line-height: .8;
  font-weight: 950;
  letter-spacing: -.07em;
  white-space: nowrap;
  pointer-events: none;
}
#servizi .adel-mgmt-division__brand img {
  width: min(190px,100%);
}
#servizi .adel-mgmt-division__eyebrow {
  font-size: 12px;
}
#servizi .adel-mgmt-division__copy h3 {
  max-width: 720px;
  margin-bottom: 14px;
  font-size: clamp(34px,3.25vw,52px);
  line-height: .98;
  letter-spacing: -.045em;
}
#servizi .adel-mgmt-division__copy p {
  max-width: 720px;
  font-size: 17px;
  line-height: 1.55;
}
#servizi .adel-mgmt-division__cta {
  min-height: 58px;
  padding: 0 26px;
  font-size: 15px;
  box-shadow: 0 8px 0 rgba(38,52,63,.12);
}

@media (max-width: 1050px) {
  #servizi .adel-mgmt-division {
    min-height: 250px;
    grid-template-columns: 200px 1fr;
    gap: 28px 34px;
  }
  #servizi .adel-mgmt-division__cta {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 720px) {
  #servizi .adel-mgmt-division {
    min-height: 0;
    margin-top: 38px;
    padding: 30px 24px 28px;
    grid-template-columns: 1fr;
    gap: 20px;
    border-radius: 26px;
    box-shadow: 6px 6px 0 #26343f;
  }
  #servizi .adel-mgmt-division::before {
    right: 14px;
    bottom: -5px;
    font-size: 50px;
  }
  #servizi .adel-mgmt-division__brand img { width: 165px; }
  #servizi .adel-mgmt-division__copy h3 { font-size: clamp(30px,9vw,40px); }
  #servizi .adel-mgmt-division__copy p { font-size: 15px; }
  #servizi .adel-mgmt-division__cta { width: 100%; }
}


/* ================================================================
   v1.5.98 — Theme activation marker + definitive services layout
   ================================================================ */
#servizi .services-heading { position: relative; }
#servizi .adel-admin-build-badge {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin-top:10px;
  padding:4px 10px;
  border-radius:999px;
  background:#26343f;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
#servizi .services-bento[data-adel-services-build="1.5.98"] {
  grid-template-columns:repeat(4,minmax(0,1fr));
}
#servizi .services-bento[data-adel-services-build="1.5.98"] .service-featured {
  grid-column:1 / -1;
}
#servizi .service-tile--sviluppo-app {
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  background:#ff4552 !important;
  color:#fff !important;
}
#servizi .adel-mgmt-division {
  display:grid !important;
}
#servizi .services-bento .service-tile-management,
#servizi .services-bento [class*="service-tile-management"] {
  display:none !important;
}
@media (max-width: 980px) {
  #servizi .services-bento[data-adel-services-build="1.5.98"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  #servizi .services-bento[data-adel-services-build="1.5.98"] { grid-template-columns:1fr; }
}


/* ================================================================
   v1.6.03 — Cover case study Cadenasso da reference approvata
   ================================================================ */
.case-logo-card--cadenasso > a { --case-bg: #282158 !important; }
.case-logo-card--cadenasso .case-logo-card__logo img {
  max-width: 58%;
  max-height: 52%;
}
@media (max-width: 640px) {
  .case-logo-card--cadenasso .case-logo-card__logo img {
    max-width: 66%;
    max-height: 58%;
  }
}


/* ================================================================
   v1.6.04 — Cover case study Fratelli Peloso da reference approvata
   ================================================================ */
.case-logo-card--fratelli-peloso > a { --case-bg: #1980bf !important; }
.case-logo-card--fratelli-peloso .case-logo-card__logo img {
  max-width: 56%;
  max-height: 50%;
}
@media (max-width: 640px) {
  .case-logo-card--fratelli-peloso .case-logo-card__logo img {
    max-width: 64%;
    max-height: 56%;
  }
}


/* ================================================================
   v1.6.05 — Cover case study D'Avolio Marmi da reference approvata
   ================================================================ */
.case-logo-card--davolio-marmi > a { --case-bg: #0010fd !important; }
.case-logo-card--davolio-marmi .case-logo-card__logo img {
  max-width: 52%;
  max-height: 54%;
}
@media (max-width: 640px) {
  .case-logo-card--davolio-marmi .case-logo-card__logo img {
    max-width: 60%;
    max-height: 58%;
  }
}


/* ================================================================
   v1.6.06 — Cover case study GR Restauro da reference approvata
   ================================================================ */
.case-logo-card--gr-restauro > a { --case-bg: #1e2247 !important; }
.case-logo-card--gr-restauro .case-logo-card__logo img {
  max-width: 62%;
  max-height: 30%;
}
@media (max-width: 640px) {
  .case-logo-card--gr-restauro .case-logo-card__logo img {
    max-width: 72%;
    max-height: 34%;
  }
}


/* ================================================================
   v1.6.07 — Cover case study TB Engineering da reference approvata
   ================================================================ */
.case-logo-card--tb-engineering > a { --case-bg: #33485c !important; }
.case-logo-card--tb-engineering .case-logo-card__logo img {
  max-width: 72%;
  max-height: 42%;
}
@media (max-width: 640px) {
  .case-logo-card--tb-engineering .case-logo-card__logo img {
    max-width: 80%;
    max-height: 48%;
  }
}


/* ================================================================
   v1.6.08 — Cover case study Tigullio VIP Padel da reference approvata
   ================================================================ */
.case-logo-card--tigullio-vip-padel > a { --case-bg: #291594 !important; }
.case-logo-card--tigullio-vip-padel .case-logo-card__logo img {
  max-width: 62%;
  max-height: 48%;
}
@media (max-width: 640px) {
  .case-logo-card--tigullio-vip-padel .case-logo-card__logo img {
    max-width: 70%;
    max-height: 54%;
  }
}


/* ================================================================
   v1.6.09 — Casi Studio minimal: rimossa fascia inferiore ripetitiva
   ================================================================ */
.cases-library--original .case-logo-card--original > a {
  padding-bottom: 0;
}
.cases-library--original .case-logo-card--original .case-logo-card__project {
  display: none !important;
}
.cases-library--original .case-logo-card--original .case-logo-card__logo {
  inset: 0 !important;
  min-height: 100%;
  padding: 36px 44px;
  align-content: center;
}
.cases-library--original .case-logo-card--original .case-logo-card__logo img {
  max-height: 72%;
}
@media (max-width: 640px) {
  .cases-library--original .case-logo-card--original .case-logo-card__logo {
    padding: 28px 26px;
  }
  .cases-library--original .case-logo-card--original .case-logo-card__logo img {
    max-height: 68%;
  }
}


/* ================================================================
   v1.6.10 — Cover case study Dell'Acqua Bartolone da reference approvata
   ================================================================ */
.case-logo-card--dellacqua-bartolone > a { --case-bg: #1e1e1e !important; }
.case-logo-card--dellacqua-bartolone .case-logo-card__logo img {
  max-width: 24%;
  max-height: 78%;
}
@media (max-width: 640px) {
  .case-logo-card--dellacqua-bartolone .case-logo-card__logo img {
    max-width: 30%;
    max-height: 82%;
  }
}


/* ================================================================
   v1.6.11 — Cover case study Davide Berti da reference approvata
   ================================================================ */
.case-logo-card--davide-berti > a { --case-bg: #1e1e1e !important; }
.case-logo-card--davide-berti .case-logo-card__logo img {
  max-width: 62%;
  max-height: 36%;
}
@media (max-width: 640px) {
  .case-logo-card--davide-berti .case-logo-card__logo img {
    max-width: 72%;
    max-height: 40%;
  }
}


/* ================================================================
   v1.6.13 — Cover case study Fabio Ferrando da reference approvata
   ================================================================ */
.case-logo-card--fabio-ferrando > a { --case-bg: #4ca3c4 !important; }
.case-logo-card--fabio-ferrando .case-logo-card__logo img {
  max-width: 56%;
  max-height: 38%;
}
@media (max-width: 640px) {
  .case-logo-card--fabio-ferrando .case-logo-card__logo img {
    max-width: 68%;
    max-height: 44%;
  }
}


/* ================================================================
   v1.6.14 — Cover case study Murchio Associati da reference approvata
   ================================================================ */
.case-logo-card--murchio-associati > a { --case-bg: #1980bf !important; }
.case-logo-card--murchio-associati .case-logo-card__logo img {
  max-width: 34%;
  max-height: 52%;
}
@media (max-width: 640px) {
  .case-logo-card--murchio-associati .case-logo-card__logo img {
    max-width: 40%;
    max-height: 60%;
  }
}


/* ================================================================
   v1.6.15 — Cover case study Blazer Bar da reference approvata
   ================================================================ */
.case-logo-card--blazer-bar > a { --case-bg: #b07b64 !important; }
.case-logo-card--blazer-bar .case-logo-card__logo img {
  max-width: 42%;
  max-height: 62%;
}
@media (max-width: 640px) {
  .case-logo-card--blazer-bar .case-logo-card__logo img {
    max-width: 48%;
    max-height: 68%;
  }
}


/* ================================================================
   v1.6.16 — Cover case study Warp Drive ML da reference approvata
   ================================================================ */
.case-logo-card--warp-drive-ml > a { --case-bg: #111425 !important; }
.case-logo-card--warp-drive-ml .case-logo-card__logo img {
  max-width: 58%;
  max-height: 40%;
}
@media (max-width: 640px) {
  .case-logo-card--warp-drive-ml .case-logo-card__logo img {
    max-width: 70%;
    max-height: 48%;
  }
}


/* ================================================================
   v1.6.17 — Ingrandimento globale di tutti i loghi nelle copertine Casi Studio
   ================================================================ */
.cases-library--original .case-logo-card--original .case-logo-card__logo img {
  max-width: 82% !important;
  max-height: 78% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 640px) {
  .cases-library--original .case-logo-card--original .case-logo-card__logo img {
    max-width: 88% !important;
    max-height: 80% !important;
  }
}


/* ================================================================
   v1.6.18 — Loghi copertine ancora più grandi, con rifiniture globali
   ================================================================ */
.cases-library--original .case-logo-card--original .case-logo-card__logo {
  padding: 22px 26px !important;
}
.cases-library--original .case-logo-card--original .case-logo-card__logo img {
  max-width: 90% !important;
  max-height: 86% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 640px) {
  .cases-library--original .case-logo-card--original .case-logo-card__logo {
    padding: 18px 20px !important;
  }
  .cases-library--original .case-logo-card--original .case-logo-card__logo img {
    max-width: 92% !important;
    max-height: 88% !important;
  }
}

/* Ulteriore boost per i loghi che tendono a risultare otticamente più piccoli */
.case-logo-card--dellacqua-bartolone .case-logo-card__logo img { max-width: 46% !important; max-height: 88% !important; }
.case-logo-card--davide-berti .case-logo-card__logo img { max-width: 78% !important; max-height: 56% !important; }
.case-logo-card--il-tuo-serramento .case-logo-card__logo img { max-width: 88% !important; max-height: 46% !important; }
.case-logo-card--lyke-me .case-logo-card__logo img { max-width: 74% !important; max-height: 72% !important; }
.case-logo-card--spazio-genova .case-logo-card__logo img { max-width: 76% !important; max-height: 64% !important; }
.case-logo-card--tigullio-vip-padel .case-logo-card__logo img { max-width: 74% !important; max-height: 60% !important; }
.case-logo-card--covo-di-nord-est .case-logo-card__logo img { max-width: 78% !important; max-height: 64% !important; }
.case-logo-card--rosato .case-logo-card__logo img { max-width: 64% !important; max-height: 62% !important; }


/* ================================================================
   v1.6.19 — Bagni San Michele: logo più grande e non sgranato
   ================================================================ */
.case-logo-card--bagni-san-michele .case-logo-card__logo img {
  max-width: 82% !important;
  max-height: 68% !important;
  image-rendering: auto !important;
}
@media (max-width: 640px) {
  .case-logo-card--bagni-san-michele .case-logo-card__logo img {
    max-width: 88% !important;
    max-height: 72% !important;
  }
}


/* ================================================================
   v1.6.20 — Reference aggiornate per le copertine approvate
   ================================================================ */
.case-logo-card--spazio-genova .case-logo-card__logo img { max-width: 80% !important; max-height: 60% !important; }
.case-logo-card--rosato .case-logo-card__logo img { max-width: 66% !important; max-height: 60% !important; }
.case-logo-card--tigullio-vip-padel .case-logo-card__logo img { max-width: 76% !important; max-height: 60% !important; }
.case-logo-card--atrio-nervi .case-logo-card__logo img { max-width: 60% !important; max-height: 82% !important; }
.case-logo-card--covo-di-nord-est .case-logo-card__logo img { max-width: 80% !important; max-height: 64% !important; }
.case-logo-card--il-tuo-serramento .case-logo-card__logo img { max-width: 88% !important; max-height: 48% !important; }
.case-logo-card--buongustaio .case-logo-card__logo img { max-width: 62% !important; max-height: 76% !important; }
.case-logo-card--davide-berti .case-logo-card__logo img { max-width: 82% !important; max-height: 56% !important; }
.case-logo-card--es-tennis-academy .case-logo-card__logo img { max-width: 62% !important; max-height: 74% !important; }
.case-logo-card--igea-equipe-salute .case-logo-card__logo img { max-width: 62% !important; max-height: 72% !important; }
.case-logo-card--bagni-san-michele .case-logo-card__logo img { max-width: 84% !important; max-height: 68% !important; }
.case-logo-card--dellacqua-bartolone .case-logo-card__logo img { max-width: 48% !important; max-height: 84% !important; }
.case-logo-card--farmagevi .case-logo-card__logo img { max-width: 78% !important; max-height: 58% !important; }


/* ================================================================
   v1.6.21 — Hero Casi Studio: gerarchia più chiara
   ================================================================ */
.cases-page-hero--original-inspired .cases-page-kicker {
  font-size: 12px;
  letter-spacing: .2em;
}
.cases-page-hero--original-inspired h1 {
  max-width: 980px;
  margin: 22px 0 24px;
  font-size: clamp(82px, 10vw, 156px);
  line-height: .84;
  letter-spacing: -.065em;
  white-space: nowrap;
}
.cases-page-hero--original-inspired h1 span {
  color: var(--adel-teal);
}
.cases-page-hero--original-inspired p {
  max-width: 720px;
}
@media (max-width: 760px) {
  .cases-page-hero--original-inspired h1 {
    font-size: clamp(62px, 18vw, 104px);
    white-space: normal;
  }
}


/* v1.6.33 — client logos in the scrolling section forced to white */
.clients-section .client-logo img {
  filter: brightness(0) invert(1);
}

/* v1.6.38 - client logos spacing and quality */
.client-track { gap: 36px; }
.client-logo { width: 180px; height: 72px; }
.client-logo img { max-width: 180px; max-height: 60px; image-rendering: auto; }


/* v1.6.40 — client slider spacing correction */
.clients-section .client-track {
  gap: 34px;
  padding-inline: 0;
}

.clients-section .client-logo {
  width: 180px;
  height: 72px;
  padding: 0;
}

.clients-section .client-logo img {
  max-width: 180px;
  max-height: 58px;
}

/* v1.6.41 - equal optical spacing client logos */
.clients-section .client-track {
  gap: 56px !important;
  align-items: center;
}
.clients-section .client-logo {
  width: 150px !important;
  height: 72px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 150px;
}
.clients-section .client-logo img {
  width: auto !important;
  max-width: 150px !important;
  max-height: 54px !important;
}

/* v1.6.64 — sottocategorie Siti Web */
.web-subcategories {
  padding: 96px 0;
  background: #f7fbfc;
}
.web-subcategories__head {
  max-width: 840px;
  margin-bottom: 52px;
}
.web-subcategories__head h2,
.web-related-services__head h2 {
  margin: 12px 0 16px;
  color: #0e1d28;
  font-size: clamp(2rem, 4vw, 3.65rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.web-subcategories__head p {
  margin: 0;
  max-width: 760px;
  color: #52616b;
  font-size: 1.08rem;
  line-height: 1.7;
}
.web-subcategories__group + .web-subcategories__group {
  margin-top: 54px;
}
.web-subcategories__group > h3 {
  margin: 0 0 20px;
  color: #0e1d28;
  font-size: 1.15rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.web-subcategories__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.web-subcategories__card,
.web-related-services__card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 176px;
  padding: 24px 56px 24px 24px;
  border: 1px solid rgba(14,29,40,.12);
  border-radius: 22px;
  background: #fff;
  color: #0e1d28;
  text-decoration: none;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.web-subcategories__card:hover,
.web-related-services__card:hover {
  transform: translateY(-3px);
  border-color: rgba(0,159,184,.4);
  box-shadow: 0 18px 46px rgba(14,29,40,.08);
}
.web-subcategories__card span,
.web-related-services__card span {
  margin-bottom: 14px;
  color: #008ea5;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.web-subcategories__card strong,
.web-related-services__card strong {
  font-size: 1.12rem;
  line-height: 1.35;
}
.web-subcategories__card i,
.web-related-services__card i {
  position: absolute;
  right: 22px;
  bottom: 20px;
  font-style: normal;
  font-size: 1.35rem;
}
.web-category-breadcrumb {
  background: #d8f0f4;
  border-top: 1px solid rgba(14,29,40,.08);
}
.web-category-breadcrumb__inner {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-top: 13px;
  padding-bottom: 13px;
  overflow-x: auto;
  white-space: nowrap;
  color: #5b6870;
  font-size: .79rem;
}
.web-category-breadcrumb a {
  color: #24424d;
  text-decoration: none;
}
.web-category-breadcrumb strong {
  color: #0e1d28;
  font-weight: 700;
}
.web-category-content-section {
  padding: 96px 0;
  background: #fff;
}
.web-category-content-grid {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.35fr);
  gap: 70px;
  align-items: start;
}
.web-category-content-aside {
  position: sticky;
  top: 110px;
  padding: 30px;
  border-radius: 26px;
  background: #0e1d28;
  color: #fff;
}
.web-category-content-aside h2 {
  margin: 12px 0 18px;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1.03;
  letter-spacing: -.035em;
}
.web-category-content-aside p {
  color: rgba(255,255,255,.72);
  line-height: 1.65;
}
.web-category-content-aside a {
  display: inline-block;
  margin-top: 16px;
  color: #6ee7f4;
  font-weight: 750;
  text-decoration: none;
}
.web-category-entry-content {
  max-width: 800px;
  color: #31414a;
  font-size: 1.04rem;
  line-height: 1.78;
}
.web-category-entry-content h2 {
  margin: 0 0 18px;
  color: #0e1d28;
  font-size: clamp(1.85rem, 3.4vw, 3rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.web-category-entry-content h2:not(:first-child) {
  margin-top: 52px;
}
.web-category-entry-content h3 {
  margin: 30px 0 8px;
  color: #0e1d28;
  font-size: 1.26rem;
}
.web-category-entry-content p {
  margin: 0 0 18px;
}
.web-related-services {
  padding: 92px 0;
  background: #eef7f8;
}
.web-related-services__head {
  max-width: 760px;
  margin-bottom: 36px;
}
.web-related-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.web-related-services__card {
  min-height: 150px;
}

@media (max-width: 980px) {
  .web-subcategories__grid,
  .web-related-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .web-category-content-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .web-category-content-aside {
    position: static;
  }
}
@media (max-width: 640px) {
  .web-subcategories,
  .web-category-content-section,
  .web-related-services {
    padding: 68px 0;
  }
  .web-subcategories__grid,
  .web-related-services__grid {
    grid-template-columns: 1fr;
  }
  .web-subcategories__card,
  .web-related-services__card {
    min-height: 145px;
  }
  .web-category-breadcrumb__inner {
    padding-top: 11px;
    padding-bottom: 11px;
  }
}
