/* Aggiunte del nuovo sito ai fogli del prototipo, per contenuti che il prototipo non aveva:
   capitoli con più paragrafi o elenchi, casi senza il fondo arancione di MidaTicket, il blocco
   risultato di un caso. Caricato dopo i fogli di pagina. */
.case-detail-page .case-opening:not(.case-opening-mida){background:#141316}
.case-chapter .case-text>*+*{margin-top:1.1em}
.case-chapter .case-text p{max-width:550px}
.case-chapter .case-text ul,.case-chapter .case-text ol{margin:0;padding-left:1.1em;color:var(--muted);font-size:var(--t-body);line-height:var(--lh-body);max-width:550px}
.case-chapter .case-text li+li{margin-top:.45em}
.case-chapter .case-text h3{font-size:var(--t-h3);line-height:var(--lh-h3);color:var(--fg);margin-top:1.6em}
.case-chapter .case-text strong{color:var(--fg);font-weight:600}
.case-chapter .case-text a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.case-result{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;padding-block:100px;border-bottom:1px solid var(--line)}
.case-result .case-metric strong{display:block;font:600 clamp(64px,8vw,110px)/1 Montserrat,sans-serif;letter-spacing:-.04em;color:var(--fg)}
.case-result .case-metric span{display:block;margin-top:10px;font-size:var(--t-lead);line-height:1.4;color:var(--muted)}
.case-result-copy>p{font-size:var(--t-lead);line-height:var(--lh-lead);max-width:550px}
.case-result-copy .case-period{font-size:var(--t-caption);margin-top:14px}
.case-result dl{margin:34px 0 0}
.case-result dl>div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-top:1px solid var(--line)}
.case-result dt{color:var(--muted);font-size:var(--t-small)}
.case-result dd{margin:0;font:600 18px/1.3 Montserrat,sans-serif;color:var(--fg)}
.case-result .case-context{font-size:var(--t-caption);margin-top:18px}
@media(max-width:760px){.case-result{grid-template-columns:1fr;gap:28px;padding-block:65px}}
/* Contatti: il modulo in pagina e la composizione di lavori sotto. */
.contact-page .contact-inline{padding-top:90px}
.contact-page .contact-inline .contact-intro h2{font:750 var(--t-h2)/var(--lh-h2) Montserrat,sans-serif;letter-spacing:-.045em}
.contact-page .contact-art{padding-top:40px}
.contact-page .contact-art .hero-art{max-width:900px;margin-inline:auto}
/* Pagine di ringraziamento. */
.thanks-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px;margin-top:34px}
.thanks-page .inner-hero{min-height:100svh}
/* Recensioni, premi, risorse, pillar, rilasci. */
.metric-topics dt{font:750 clamp(40px,4.4vw,64px)/1 Montserrat,sans-serif!important;letter-spacing:-.045em!important;color:var(--fg)}
.metric-topics dt .red{color:inherit}
.directory-row .row-hint{display:block;margin-top:6px;font-size:var(--t-caption);color:#8f8a91}
div.directory-row{cursor:default}
.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 48px;margin-top:10px}
.review-card{margin:0;padding-top:26px;border-top:1px solid var(--line)}
.review-card blockquote{margin:0;font-size:var(--t-body);line-height:var(--lh-body);color:#d5d0d5}
.review-card figcaption{display:flex;flex-direction:column;gap:4px;margin-top:18px}
.review-card strong{font-size:var(--t-small);color:var(--fg)}
.review-card figcaption span{font-size:var(--t-caption);color:var(--muted)}
.changelog-log{padding-top:30px}
.cl-log{max-width:820px;margin-inline:auto;font-size:var(--t-body);line-height:var(--lh-body);color:#d5d0d5}
.cl-log h2{font:750 var(--t-h2)/var(--lh-h2) Montserrat,sans-serif;letter-spacing:-.045em;color:var(--fg);margin:80px 0 10px;padding-top:30px;border-top:1px solid var(--line)}
.cl-log h2:first-child{margin-top:0}
.cl-log h3{font:700 var(--t-h3)/var(--lh-h3) Montserrat,sans-serif;letter-spacing:-.035em;color:var(--fg);margin:44px 0 12px}
.cl-log p{margin:0 0 16px;color:inherit}
.cl-log strong{color:var(--fg)}
.cl-log a{color:var(--fg);text-decoration:underline;text-underline-offset:4px}
.cl-tag{display:inline-block;font-size:11px;letter-spacing:.04em;padding:3px 9px;border-radius:30px;border:1px solid #4a454c;margin-right:6px;vertical-align:2px}
.cl-tag-feat{color:#ff6b7c;border-color:#7a2531}
.cl-tag-fix{color:#c9c4ca}
.cl-tag-sec{color:#ffc24d;border-color:#6b5320}
.cl-tag-perf{color:#57d9a8;border-color:#245b46}
@media(max-width:760px){.reviews-grid{grid-template-columns:1fr}}
/* Testo lungo su fondo scuro (pagine città, lead generation Veneto). */
.rich-dark{max-width:860px;font-size:var(--t-body);line-height:var(--lh-body);color:#d5d0d5}
.rich-dark h2{font:750 var(--t-h2)/var(--lh-h2) Montserrat,sans-serif;letter-spacing:-.045em;color:var(--fg);margin:70px 0 18px;text-wrap:balance}
.rich-dark h2:first-child{margin-top:0}
.rich-dark h3{font:700 var(--t-h3)/var(--lh-h3) Montserrat,sans-serif;letter-spacing:-.035em;color:var(--fg);margin:40px 0 12px}
.rich-dark p{margin:0 0 18px;color:inherit}
.rich-dark ul,.rich-dark ol{margin:0 0 22px;padding-left:1.2em}
.rich-dark li{margin:8px 0}
.rich-dark strong{color:var(--fg);font-weight:600}
.rich-dark a{color:var(--fg);text-decoration:underline;text-underline-offset:4px}
.rich-dark table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px;margin:10px 0 30px}
.rich-dark th,.rich-dark td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}
.rich-dark blockquote{margin:30px 0;padding:24px 0;border-block:1px solid var(--line);font:500 22px/1.45 Montserrat,sans-serif;letter-spacing:-.03em;color:var(--fg)}
.region-wall{width:100%;grid-template-columns:repeat(6,1fr)}
.region-wall li{min-height:110px}
.region-wall img{width:clamp(90px,10vw,150px);height:60px}
.region-tags{padding-top:10px}
.region-tags-label{font-size:var(--t-caption);color:var(--muted);margin-bottom:12px}
.region-tags ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:var(--t-caption);color:#c5c1c9}
@media(max-width:1100px){.region-wall{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.region-wall{grid-template-columns:repeat(2,1fr)}}
/* Pagine prodotto (DeepCMS, DM Intelligence): tabelle di confronto, dimostrazioni alternate. */
.compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line)}
.compare-table{width:100%;min-width:720px;border-collapse:collapse;font-size:15px;line-height:1.5}
.compare-table th,.compare-table td{padding:18px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:#c5c1c9}
.compare-table thead th{font:600 14px/1.3 Montserrat,sans-serif;letter-spacing:-.02em;color:#a9a7aa}
.compare-table thead th.is-us{color:var(--fg)}
.compare-table tbody th{font-weight:600;color:var(--fg);width:22%}
.compare-table td.is-us{color:var(--fg);background:rgb(204 23 49 / 8%)}
.compare-table .compare__check{color:#57d9a8}
.compare-table .compare__x{color:#8f8a91}
.compare-note{font-size:var(--t-caption);color:var(--muted);margin-top:14px}
.service-demo .demo-label{font-size:var(--t-caption);color:var(--muted);margin-bottom:14px}
.service-demo .demo-text p{color:var(--muted);margin-bottom:14px}
.demo-points{list-style:none;margin:18px 0 0;padding:0}
.demo-points li{position:relative;padding:10px 0 10px 24px;border-top:1px solid var(--line);font-size:var(--t-small);line-height:var(--lh-small);color:#c5c1c9}
.demo-points li:before{content:'';position:absolute;left:0;top:20px;width:12px;height:1px;background:#cc1731}
.guide-topics dd p{margin:0 0 10px;color:inherit}
.service-demo>div>.demo-label{grid-column:1/-1;margin:0}
.service-demo>div>h2{grid-column:1}
.service-demo>div>.demo-text,.service-demo>div>p,.service-demo>div>.demo-points{grid-column:2}
.service-demo>div>.demo-points{margin-top:0}
@media(max-width:760px){.service-demo>div>*{grid-column:1/-1!important}}
/* Perché Deep: recensioni e premi al posto dei nomi della squadra. */
.proof-panel{display:flex;flex-direction:column;gap:56px}
.proof-title{font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--muted);margin-bottom:18px}
.proof-ratings{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof-ratings li+li{border-left:1px solid var(--line)}
.proof-ratings a,.proof-ratings .proof-rating{display:flex;flex-direction:column;gap:4px;padding:20px 16px 18px}
.proof-ratings a:hover strong{color:#fff}
.proof-ratings strong{font:750 clamp(34px,3.2vw,48px)/1 Montserrat,sans-serif;letter-spacing:-.045em;color:var(--fg)}
.proof-ratings strong+span{font-size:var(--t-small);font-weight:600;color:var(--fg);margin-top:6px}
.proof-ratings small{font-size:var(--t-caption);color:var(--muted)}
.proof-total{font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--muted);margin:14px 0 30px}
.proof-quote{margin:0;padding:24px 0;border-top:1px solid var(--line)}
.proof-quote blockquote{margin:0;font:500 clamp(19px,1.6vw,23px)/1.45 Montserrat,sans-serif;letter-spacing:-.03em;color:var(--fg);text-wrap:pretty}
.proof-quote figcaption{display:flex;flex-direction:column;gap:3px;margin-top:14px}
.proof-quote figcaption strong{font-size:var(--t-small);color:var(--fg)}
.proof-quote figcaption span{font-size:var(--t-caption);color:var(--muted)}
.proof-block .directory-row h3{font-size:var(--t-h3);line-height:var(--lh-h3)}
@media(max-width:760px){.proof-ratings{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-ratings li:nth-child(3){border-left:0}.proof-ratings li:nth-child(n+3){border-top:1px solid var(--line)}}

/* Perché Deep, clienti: mosaico largo di casi studio. Ogni tessera è il logo del cliente sulla foto
   del progetto; righe da 7+5, 4+4+4, 5+7 sulla griglia a 12 del contenitore. */
.client-cases .guide-section-heading .text-link{margin-top:18px}
.client-mosaic{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.client-mosaic li{grid-column:span 4;height:clamp(240px,24vw,380px)}
.client-mosaic li:nth-child(7n+1),.client-mosaic li:nth-child(7n){grid-column:span 7;height:clamp(280px,32vw,500px)}
.client-mosaic li:nth-child(7n+2),.client-mosaic li:nth-child(7n+6){grid-column:span 5;height:clamp(280px,32vw,500px)}
.client-case{position:relative;display:block;height:100%;overflow:hidden;border-radius:4px;background:#17161a;isolation:isolate}
.client-case-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.client-case::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(9 9 11 / 0) 30%,rgb(9 9 11 / 92%))}
.client-case-info{position:absolute;left:clamp(18px,2vw,28px);right:84px;bottom:clamp(18px,2vw,26px);z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.client-case-logo{width:auto;max-width:min(260px,75%);height:clamp(42px,4.2vw,64px);object-fit:contain;object-position:left bottom;filter:brightness(0) invert(1)}
.client-case-sector{font-size:var(--t-caption);line-height:1.4;color:#dcd7dc}
.client-case-open{position:absolute;right:clamp(16px,1.8vw,24px);bottom:clamp(16px,1.8vw,24px);z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--fg);color:var(--bg);transition:transform .3s}
.client-case-open .arrow{width:18px;height:18px}
.client-case:hover .client-case-image{transform:scale(1.045)}
.client-case:hover .client-case-open{transform:rotate(45deg)}
.client-case:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
.client-more{margin-top:clamp(48px,5vw,80px)}
.client-more p{margin:0 0 18px;font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--muted)}
.client-more ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-block:1px solid var(--line)}
.client-more li{display:grid;place-items:center;height:clamp(96px,9vw,130px);padding-inline:12px}
.client-more img{width:100%;max-width:160px;height:52px;object-fit:contain;filter:brightness(0) invert(.91);opacity:.72}
@media(max-width:760px){
.client-mosaic li,.client-mosaic li:nth-child(n){grid-column:1/-1;height:250px}
.client-more ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.client-more li{height:92px}
}
@media(prefers-reduced-motion:reduce){.client-case-image,.client-case-open{transition:none}}

/* Perché Deep, metodo: l'illustrazione di Deep Advisor e le coppie «si sente dire / dice la
   ricerca», sulla fascia rossa. Opinione nel primo terzo, ricerca dalla linea del terzo. */
.about-page #metodo .method-figure{margin:0 0 clamp(56px,6vw,96px)}
.about-page #metodo .method-figure img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 30px 80px rgb(0 0 0 / 28%)}
.about-page #metodo .method-figure figcaption{margin-top:16px;max-width:var(--two-thirds);font-size:var(--t-caption);line-height:var(--lh-caption);color:#fff0f2}
.about-page #metodo .method-myths{margin-top:clamp(72px,8vw,120px)}
.about-page #metodo .method-myths h3{margin:0 0 28px;font:750 var(--t-h2)/var(--lh-h2) Montserrat,sans-serif;letter-spacing:-.045em;color:#fff}
.about-page #metodo .myth-head{display:grid;grid-template-columns:var(--third) minmax(0,1fr);column-gap:var(--gap);padding-bottom:12px;font:600 var(--t-label)/var(--lh-label) Raleway,sans-serif;letter-spacing:var(--label-tracking);text-transform:uppercase;color:#ffd5db}
.about-page #metodo .method-myths ul{list-style:none;margin:0;padding:0}
.about-page #metodo .myth-row{display:grid;grid-template-columns:var(--third) minmax(0,1fr);column-gap:var(--gap);padding:30px 0;border-top:1px solid #ee8b99}
.about-page #metodo .myth-row:last-child{border-bottom:1px solid #ee8b99}
.about-page #metodo .myth-opinion{margin:0;font:600 var(--t-h3)/var(--lh-h3) Montserrat,sans-serif;letter-spacing:-.025em;color:#fff}
.about-page #metodo .myth-evidence p{margin:0 0 10px;max-width:62ch;font-size:var(--t-body);line-height:var(--lh-body);color:#fff}
.about-page #metodo .myth-evidence a{font-size:var(--t-caption);color:#ffd5db;text-decoration:underline;text-underline-offset:3px}
.about-page #metodo .myth-label{display:none}
@media(max-width:760px){
.about-page #metodo .myth-head{display:none}
.about-page #metodo .myth-row{grid-template-columns:1fr;row-gap:16px}
.about-page #metodo .myth-label{display:block;margin-bottom:8px;font:600 var(--t-label)/var(--lh-label) Raleway,sans-serif;letter-spacing:var(--label-tracking);text-transform:uppercase;color:#ffd5db}
}

/* Pagina SEO e GEO: tre schermate dimostrative di DM Intelligence al posto di una. SEO grande a
   sinistra (sette colonne), GEO e Virtual CMO impilate a destra (cinque). */
.intro-trio .trio{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto;gap:var(--gap);align-items:start}
.intro-trio .trio-shot{margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.intro-trio .trio-shot:first-child{grid-column:1/9;grid-row:1/3}
.intro-trio .trio-shot:nth-child(2),.intro-trio .trio-shot:nth-child(3){grid-column:9/-1}
.intro-trio .trio-shot figcaption{margin:0;font:600 var(--t-label)/var(--lh-label) Raleway,sans-serif;letter-spacing:var(--label-tracking);text-transform:uppercase;color:#bdb8bd}
.intro-trio .trio-shot img{flex:none;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:6px;border:1px solid #2c2a30;background:#15161b}
.intro-trio .trio-caption{margin-top:18px;font-size:var(--t-caption);line-height:var(--lh-caption);color:#a9a7aa}
@media(max-width:760px){.intro-trio .trio{grid-template-columns:1fr}.intro-trio .trio-shot:first-child,.intro-trio .trio-shot:nth-child(2),.intro-trio .trio-shot:nth-child(3){grid-column:1/-1;grid-row:auto}.intro-trio .trio-shot img{flex:none}}

/* Blocco in colonna: l’immagine non si ingrandisce oltre la sua misura, così una sorgente da 800 px non si sgrana a 1290. */
.case-website img{display:block;width:auto;max-width:100%;height:auto;margin-inline:auto}
.case-website figcaption{text-align:center}

/* Pagine servizio: la scultura della home dietro i blocchi di testo, sul lato destro, e alternanza delle
   sezioni uguali in fila (30/09/2026). */
.svc-scene{opacity:0;transition:opacity .7s ease}
body.scene-on .svc-scene{opacity:1}
.svc-scene #scene-poster{display:none!important}
.internal main{position:relative;z-index:1}
.service-section.section-alt,.service-demo.section-alt{position:relative;isolation:isolate}
.service-section.section-alt::before,.service-demo.section-alt::before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:rgb(255 255 255 / 3.5%);border-block:1px solid rgb(255 255 255 / 6%)}
@media(min-width:1100px){[data-scene] .rich-dark,[data-scene] .guide-section-heading{max-width:min(680px,52vw)}}

/* Siti web: apertura a parete di telefoni che scorrono (30/09/2026). */
.intro-wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap,48px);align-items:center;padding-top:40px}
.intro-wall .wall-copy{grid-column:1/6}
.intro-wall .wall-eyebrow{font:600 var(--t-label)/var(--lh-label) Raleway,sans-serif;letter-spacing:var(--label-tracking);text-transform:uppercase;color:#ff5a6e;margin:0 0 22px}
.intro-wall h2{font:750 var(--t-h2)/var(--lh-h2) Montserrat,sans-serif;letter-spacing:-.045em;margin:0 0 26px;color:#f4f1eb}
.intro-wall .wall-copy>p:not(.wall-eyebrow){font-size:var(--t-lead);line-height:var(--lh-lead);color:#c5c1c9;max-width:440px;margin:0 0 30px}
.intro-wall .wall-link{display:inline-flex;gap:14px;align-items:center;color:#f4f1eb;text-decoration:none;border-bottom:1px solid #6c6670;padding-bottom:8px;font-size:var(--t-small)}
.intro-wall .wall-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.intro-wall .wall-stage{grid-column:6/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;height:min(760px,82vh);overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);transform:rotate(-4deg)}
.intro-wall .wall-col{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px;animation:wall-up 46s linear infinite}
.intro-wall .wall-col-2{animation-name:wall-down;animation-duration:54s;margin-top:-120px}
.intro-wall .wall-col-3{animation-duration:40s;margin-top:60px}
.intro-wall .wall-stage:hover .wall-col{animation-play-state:paused}
.intro-wall figure{margin:0}
.intro-wall img{display:block;width:100%;height:auto;border-radius:22px;border:1px solid rgb(255 255 255 / 14%);box-shadow:0 24px 60px rgb(0 0 0 / 45%);background:#15161b}
.intro-wall figcaption{font-size:var(--t-caption);color:#a9a5ad;margin-top:10px;letter-spacing:.02em}
@keyframes wall-up{from{transform:translateY(0)}to{transform:translateY(calc(-50% - 11px))}}
@keyframes wall-down{from{transform:translateY(calc(-50% - 11px))}to{transform:translateY(0)}}
@media(max-width:900px){.intro-wall{display:block}.intro-wall .wall-copy{margin-bottom:34px}.intro-wall .wall-stage{display:block;height:auto;transform:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.intro-wall .wall-col{flex-direction:row;width:max-content;gap:14px;animation:wall-left 60s linear infinite;margin:0 0 14px}
.intro-wall .wall-col-2{animation-name:wall-right}.intro-wall .wall-col-3{display:none}
.intro-wall .wall-col li{width:150px}.intro-wall img{border-radius:14px}}
@keyframes wall-left{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 7px))}}
@keyframes wall-right{from{transform:translateX(calc(-50% - 7px))}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.intro-wall .wall-col{animation:none}}
.detail-web .intro-wall{padding:40px var(--gutter,75px) 0}
.detail-web .intro-wall figure{display:block;background:none;padding:0;margin:0}
.detail-web .intro-wall img{width:100%;max-height:none;justify-self:auto}
.detail-web .intro-wall figcaption{font:400 var(--t-caption)/var(--lh-caption) Raleway,sans-serif;letter-spacing:.02em;color:#a9a5ad;margin-top:10px;padding:0}
.intro-wall .wall-points{list-style:none;margin:0 0 32px;padding:0;display:grid;gap:14px;max-width:470px}
.intro-wall .wall-points li{font-size:var(--t-small);line-height:var(--lh-small);color:#c5c1c9;padding-left:22px;position:relative}
.intro-wall .wall-points li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:#cc1731}
.intro-wall .wall-points strong{color:#f4f1eb;font-weight:600}
.intro-wall .wall-copy>p:not(.wall-eyebrow){margin-bottom:26px}
.intro-wall{padding-bottom:var(--section,120px);border-bottom:1px solid rgb(255 255 255 / 12%);margin-bottom:var(--section,120px)}
