/* Dimensioni del testo scelte dal visitatore (3 stati).
 * ----------------------------------------------------------------
 * Generato leggendo i font-size reali del sito: ogni misura in pixel o clamp
 * viene moltiplicata per il fattore dello stato attivo. Lo stato 1 è il sito
 * normale (nessuna regola); il 2 e il 3 ingrandiscono di due passi.
 * Rigenerare dopo aver cambiato i CSS: python3 tools/build-text-scale.py
 */
html[data-ts]{--ts:1}

/* stato 2: +10% */
html[data-ts="2"] .menu a{font-size:calc(13px * 1.10)}
html[data-ts="2"] .nav-contact small{font-size:calc(11px * 1.10)}
html[data-ts="2"] .btn{font-size:calc(13.5px * 1.10)}
html[data-ts="2"] .label{font-size:calc(12px * 1.10)}
html[data-ts="2"] h1{font-size:calc(clamp(33px,3.9vw,56px) * 1.10)}
html[data-ts="2"] .lead{font-size:calc(clamp(17px,1.65vw,21px) * 1.10)}
html[data-ts="2"] .proof b{font-size:calc(19px * 1.10)}
html[data-ts="2"] .meta{font-size:calc(13px * 1.10)}
html[data-ts="2"] .section-label{font-size:calc(12px * 1.10)}
html[data-ts="2"] h2{font-size:calc(clamp(34px,4.55vw,56px) * 1.10)}
html[data-ts="2"] .intro p,.dark-copy{font-size:calc(16.5px * 1.10)}
html[data-ts="2"] .metric strong{font-size:calc(clamp(38px,5.6vw,66px) * 1.10)}
html[data-ts="2"] .metric p{font-size:calc(14px * 1.10)}
html[data-ts="2"] .showreel-copy{font-size:calc(16.5px * 1.10)}
html[data-ts="2"] .light-copy{font-size:calc(16.5px * 1.10)}
html[data-ts="2"] .service-card .num{font-size:calc(12px * 1.10)}
html[data-ts="2"] .service-card h3{font-size:calc(clamp(20px,1.75vw,24px) * 1.10)}
html[data-ts="2"] .service-card p{font-size:calc(14px * 1.10)}
html[data-ts="2"] .service-card em{font-size:calc(13px * 1.10)}
html[data-ts="2"] .path-card h3{font-size:calc(22px * 1.10)}
html[data-ts="2"] .path-card p{font-size:calc(14px * 1.10)}
html[data-ts="2"] .tag{font-size:calc(11.5px * 1.10)}
html[data-ts="2"] .project h3{font-size:calc(clamp(29px,3.3vw,44px) * 1.10)}
html[data-ts="2"] .project p{font-size:calc(16px * 1.10)}
html[data-ts="2"] .map-city text{font-size:calc(12px * 1.10)}
html[data-ts="2"] .city-strip span{font-size:calc(13px * 1.10)}
html[data-ts="2"] .geo-note strong{font-size:calc(24px * 1.10)}
html[data-ts="2"] .cobe-status,.cobe-source{font-size:calc(11px * 1.10)}
html[data-ts="2"] .globe-city text{font-size:calc(11.5px * 1.10)}
html[data-ts="2"] .globe-hud{font-size:calc(11px * 1.10)}
html[data-ts="2"] .step b{font-size:calc(12px * 1.10)}
html[data-ts="2"] .step h3{font-size:calc(25px * 1.10)}
html[data-ts="2"] .company-card h3{font-size:calc(28px * 1.10)}
html[data-ts="2"] label{font-size:calc(13px * 1.10)}
html[data-ts="2"] .privacy{font-size:calc(13px * 1.10)}
html[data-ts="2"] .answer-box small{font-size:calc(11px * 1.10)}
html[data-ts="2"] .voice-status{font-size:calc(11px * 1.10)}
html[data-ts="2"] .mic-btn{font-size:calc(22px * 1.10)}
html[data-ts="2"] .advisor-lead-panel b{font-size:calc(18px * 1.10)}
html[data-ts="2"] .advisor-lead-panel span{font-size:calc(13px * 1.10)}
html[data-ts="2"] .advisor-lead-panel label{font-size:calc(12px * 1.10)}
html[data-ts="2"] .advisor-status{font-size:calc(13px * 1.10)}
html[data-ts="2"] .avatar-wrap .advisor-status{font-size:calc(13px * 1.10)}
html[data-ts="2"] .aiw-head b{font-size:calc(16px * 1.10)}
html[data-ts="2"] .aiw-head .aiw-sub{font-size:calc(13px * 1.10)}
html[data-ts="2"] .aiw-iconbtn{font-size:calc(16.5px * 1.10)}
html[data-ts="2"] .aiw-msg{font-size:calc(16px * 1.10)}
html[data-ts="2"] .aiw-chip.aiw-tag{font-size:calc(13px * 1.10)}
html[data-ts="2"] .aiw-msg.next{font-size:calc(14.5px * 1.10)}
html[data-ts="2"] .aiw-foot textarea{font-size:calc(15.5px * 1.10)}
html[data-ts="2"] .aiw-root[data-state="docked"] .aiw-chip{font-size:calc(13.5px * 1.10)}
html[data-ts="2"] .aiw-root[data-state="docked"] .aiw-chip.aiw-tag{font-size:calc(12.5px * 1.10)}
html[data-ts="2"] .aiw-status{font-size:calc(13px * 1.10)}
html[data-ts="2"] .aiw-launch-inline{font-size:calc(16.5px * 1.10)}
html[data-ts="2"] .aiw-launch-ico{font-size:calc(20px * 1.10)}
html[data-ts="2"] .aiw-root[data-state="hidden"] .aiw-panel:before{font-size:calc(26px * 1.10)}
html[data-ts="2"] /* Frase di invito accanto alla bolla chiusa: si vede solo a widget chiuso. */.aiw-hint{font-size:calc(14.5px * 1.10)}
html[data-ts="2"] .site-footer{font-size:calc(12.5px * 1.10)}
html[data-ts="2"] .footer-kicker{font-size:calc(11px * 1.10)}
html[data-ts="2"] .site-footer b{font-size:calc(13px * 1.10)}
html[data-ts="2"] .service-landing .hero h1{font-size:calc(clamp(30px,3.25vw,47px) * 1.10)}
html[data-ts="2"] .service-landing .lead,
.service-landing .hero p{font-size:calc(clamp(16px,1.35vw,19px) * 1.10)}
html[data-ts="2"] .service-landing .section h2,
.service-landing .case-text h2,
.service-landing .cta-box h2,
.service-landing .cta-wrap h2{font-size:calc(clamp(28px,3.2vw,42px) * 1.10)}
html[data-ts="2"] .service-landing .feature-body h3{font-size:calc(clamp(26px,2.8vw,38px) * 1.10)}
html[data-ts="2"] .service-landing .card h3,
.service-landing .related-card strong{font-size:calc(clamp(20px,1.7vw,24px) * 1.10)}
html[data-ts="2"] .service-landing .copy,
.service-landing .card p,
.service-landing .list li{font-size:calc(16px * 1.10)}
html[data-ts="2"] .service-landing .spec strong{font-size:calc(clamp(22px,2vw,30px) * 1.10)}
html[data-ts="2"] .lang-switch{font-size:calc(12px * 1.10)}
html[data-ts="2"] .ts-aa{font-size:calc(9.5px * 1.10)}
html[data-ts="2"] .ts-a{font-size:calc(11px * 1.10)}
html[data-ts="2"] .ts-2{font-size:calc(13px * 1.10)}
html[data-ts="2"] .ts-3{font-size:calc(15.5px * 1.10)}
html[data-ts="2"] .nav-panel .ts-a{font-size:calc(12.5px * 1.10)}
html[data-ts="2"] .nav-panel .ts-2{font-size:calc(15px * 1.10)}
html[data-ts="2"] .nav-panel .ts-3{font-size:calc(18px * 1.10)}
html[data-ts="2"] .ts-cycle .ts-a{font-size:calc(12px * 1.10)}
html[data-ts="2"] .ts-cycle .ts-2{font-size:calc(14px * 1.10)}
html[data-ts="2"] .ts-cycle .ts-3{font-size:calc(16.5px * 1.10)}
html[data-ts="2"] .nav-row{font-size:calc(19px * 1.10)}
html[data-ts="2"] .nav-panel .nav-tel{font-size:calc(14px * 1.10)}
html[data-ts="2"] main h1 .hf-quote,
main h1.hf-quote-host .hf-quote{font-size:calc(clamp(13px, 1.1vw, 15px) * 1.10)}
html[data-ts="2"] .eyebrow{font-size:calc(12px * 1.10)}
html[data-ts="2"] .hero h1{font-size:calc(clamp(33px,3.9vw,56px) * 1.10)}
html[data-ts="2"] .proof strong{font-size:calc(20px * 1.10)}
html[data-ts="2"] .card h3{font-size:calc(24px * 1.10)}
html[data-ts="2"] .mock-hero small,.chart-card small,.ad-card small{font-size:calc(11px * 1.10)}
html[data-ts="2"] .mock-hero strong,.chart-card strong,.ad-preview strong{font-size:calc(clamp(24px,3vw,38px) * 1.10)}
html[data-ts="2"] .ad-preview b{font-size:calc(12px * 1.10)}
html[data-ts="2"] .ad-preview span{font-size:calc(13px * 1.10)}
html[data-ts="2"] .related-card span,.related-card em{font-size:calc(12px * 1.10)}
html[data-ts="2"] .related-card strong{font-size:calc(23px * 1.10)}
html[data-ts="2"] .service-group-head span{font-size:calc(12px * 1.10)}
html[data-ts="2"] .service-group h3{font-size:calc(clamp(24px,2.8vw,34px) * 1.10)}
html[data-ts="2"] .group-links strong{font-size:calc(18px * 1.10)}
html[data-ts="2"] .group-links em{font-size:calc(13px * 1.10)}
html[data-ts="2"] .budget-card span,.local-card span{font-size:calc(12px * 1.10)}
html[data-ts="2"] .budget-card h2,.local-card h2{font-size:calc(clamp(27px,3.2vw,40px) * 1.10)}
html[data-ts="2"] .local-cities b{font-size:calc(13px * 1.10)}
html[data-ts="2"] .cta-wrap h2{font-size:calc(clamp(29px,3.6vw,46px) * 1.10)}
html[data-ts="2"] .form-section h2{font-size:calc(clamp(30px,3.65vw,48px) * 1.10)}
html[data-ts="2"] .form-trust span{font-size:calc(13px * 1.10)}
html[data-ts="2"] .flow-item span{font-size:calc(12px * 1.10)}
html[data-ts="2"] .flow-item strong{font-size:calc(22px * 1.10)}
html[data-ts="2"] .faq-item summary{font-size:calc(20px * 1.10)}
html[data-ts="2"] .faq-item summary:after{font-size:calc(20px * 1.10)}
html[data-ts="2"] .logo-tile strong{font-size:calc(clamp(17px,1.55vw,22px) * 1.10)}
html[data-ts="2"] .logo-tile span{font-size:calc(12px * 1.10)}
html[data-ts="2"] .video-badge{font-size:calc(11px * 1.10)}
html[data-ts="2"] .video-frame figcaption{font-size:calc(14px * 1.10)}
html[data-ts="2"] .video-frame figcaption strong{font-size:calc(16px * 1.10)}
html[data-ts="2"] .video-points strong{font-size:calc(18px * 1.10)}
html[data-ts="2"] .video-points p{font-size:calc(14px * 1.10)}
html[data-ts="2"] .copy{font-size:calc(16.5px * 1.10)}
html[data-ts="2"] .mini span{font-size:calc(14px * 1.10)}
html[data-ts="2"] footer{font-size:calc(13px * 1.10)}
html[data-ts="2"] .strip b{font-size:calc(16px * 1.10)}
html[data-ts="2"] .strip span{font-size:calc(12px * 1.10)}
html[data-ts="2"] .box h3{font-size:calc(19px * 1.10)}
html[data-ts="2"] .box p{font-size:calc(15.5px * 1.10)}
html[data-ts="2"] .num-badge{font-size:calc(13px * 1.10)}
html[data-ts="2"] .hint{font-size:calc(12.5px * 1.10)}
html[data-ts="2"] .eyebrow,.tag{font-size:calc(12px * 1.10)}
html[data-ts="2"] .case-gallery figcaption{font-size:calc(12.5px * 1.10)}
html[data-ts="2"] .case-gallery .apri{font-size:calc(11.5px * 1.10)}
html[data-ts="2"] .lb-cap{font-size:calc(13.5px * 1.10)}
html[data-ts="2"] .lb-btn{font-size:calc(19px * 1.10)}
html[data-ts="2"] .lb-count{font-size:calc(12.5px * 1.10)}
html[data-ts="2"] .gallery figcaption{font-size:calc(13px * 1.10)}
html[data-ts="2"] .feature h3{font-size:calc(18px * 1.10)}
html[data-ts="2"] .feature p{font-size:calc(14px * 1.10)}
html[data-ts="2"] .stat b{font-size:calc(30px * 1.10)}
html[data-ts="2"] .stat span{font-size:calc(14px * 1.10)}
html[data-ts="2"] .quote cite{font-size:calc(13px * 1.10)}
html[data-ts="2"] .works-hero h1{font-size:calc(clamp(30px,3.25vw,47px) * 1.10)}
html[data-ts="2"] .works-hero .lead{font-size:calc(18px * 1.10)}
html[data-ts="2"] .work-tag{font-size:calc(11px * 1.10)}
html[data-ts="2"] .work-body h2{font-size:calc(27px * 1.10)}
html[data-ts="2"] .work-link{font-size:calc(14px * 1.10)}
html[data-ts="2"] .work-meta{font-size:calc(12.5px * 1.10)}
html[data-ts="2"] .hero p{font-size:calc(clamp(16.5px,1.6vw,20px) * 1.10)}
html[data-ts="2"] .card p{font-size:calc(15.5px * 1.10)}
html[data-ts="2"] .card li a{font-size:calc(14px * 1.10)}
html[data-ts="2"] .case p{font-size:calc(15.5px * 1.10)}
html[data-ts="2"] .case span.more{font-size:calc(14px * 1.10)}
html[data-ts="2"] .hero-note{font-size:calc(15px * 1.10)}
html[data-ts="2"] .hero-note strong{font-size:calc(19px * 1.10)}
html[data-ts="2"] .spec span{font-size:calc(12px * 1.10)}
html[data-ts="2"] .spec strong{font-size:calc(clamp(25px,2.5vw,34px) * 1.10)}
html[data-ts="2"] .feature-body h3{font-size:calc(clamp(30px,3.5vw,48px) * 1.10)}
html[data-ts="2"] .case-text h2{font-size:calc(clamp(34px,4.4vw,56px) * 1.10)}
html[data-ts="2"] .cta-box h2{font-size:calc(clamp(32px,4vw,52px) * 1.10)}
@media (max-width:720px){
  html[data-ts="2"] h1{font-size:calc(33px * 1.10)}
  html[data-ts="2"] h2{font-size:calc(30px * 1.10)}
  html[data-ts="2"] .aiw-hint{font-size:calc(14px * 1.10)}
}
@media (max-width:720px){
  html[data-ts="2"] .service-landing .hero h1{font-size:calc(clamp(27px,7.6vw,33px) * 1.10)}
  html[data-ts="2"] .service-landing .section h2,
  .service-landing .case-text h2,
  .service-landing .cta-box h2,
  .service-landing .cta-wrap h2{font-size:calc(clamp(26px,7.4vw,34px) * 1.10)}
  html[data-ts="2"] .nav-row{font-size:calc(18px * 1.10)}
  html[data-ts="2"] .lb-btn{font-size:calc(17px * 1.10)}
}
@media (max-width:600px){
  html[data-ts="2"] body{font-size:calc(17px * 1.10)}
  html[data-ts="2"] p,li,.copy,.lead,.intro,.box p,.panel p,.feature p,.card p,.case-body p,.quote,.press span,.mini span,.muted{font-size:calc(17px!important * 1.10)!important}
  html[data-ts="2"] /* Scala dei titoli (stato normale), calcolata sul corpo: 21px su desktop, 17px su telefono.
        .    Home, lavori e case history 56px = 2,67x il corpo; pagine interne 47px = 2,24x; telefono 33px = 1,94x.
        .    Questa e' la fonte autorevole: sta dopo i CSS di pagina e vince a pari specificita'. */h1{font-size:calc(clamp(30px,3.25vw,47px) * 1.10)}
  html[data-ts="2"] .hero h1{font-size:calc(clamp(33px,3.9vw,56px) * 1.10)}
  html[data-ts="2"] .service-landing .hero h1{font-size:calc(clamp(30px,3.25vw,47px) * 1.10)}
  html[data-ts="2"] .err-hero h1{font-size:calc(clamp(30px,3.4vw,48px) * 1.10)}
  html[data-ts="2"] h2{font-size:calc(clamp(27px,7.4vw,34px)!important * 1.10)!important}
  html[data-ts="2"] h3{font-size:calc(21px!important * 1.10)!important}
  html[data-ts="2"] .tag,.label,.section-label,.eyebrow,.strip span,.hint,figcaption,.case-gallery figcaption,.nav-contact small{font-size:calc(13px!important * 1.10)!important}
  html[data-ts="2"] .btn{font-size:calc(15.5px!important * 1.10)!important}
  html[data-ts="2"] .strip b{font-size:calc(17.5px!important * 1.10)!important}
  html[data-ts="2"] .num-badge{font-size:calc(14px * 1.10)}
  html[data-ts="2"] .nav-tel{font-size:calc(15.5px!important * 1.10)!important}
  html[data-ts="2"] b,strong{font-size:calc(14.5px * 1.10)}
  html[data-ts="2"] /* Il piè di pagina su un telefono diventa leggibile (era 11-13px). */footer,.site-footer,.site-footer a,.site-footer span,.site-footer li,.site-footer p,.site-footer b{font-size:calc(14px!important * 1.10)!important}
  html[data-ts="2"] .footer-kicker{font-size:calc(12.5px!important * 1.10)!important}
  html[data-ts="2"] .footer-bottom{font-size:calc(13px!important * 1.10)!important}
  html[data-ts="2"] .footer-primary-link{font-size:calc(15px!important * 1.10)!important}
  html[data-ts="2"] .section-label,.tag,.label,.eyebrow{font-size:calc(14px!important * 1.10)!important}
  html[data-ts="2"] small{font-size:calc(13.5px!important * 1.10)!important}
  html[data-ts="2"] /* Elementi propri di alcune pagine, con la stessa specificità del foglio di pagina   ma emessi dopo: qui vincono. */.city-strip span,.city-strip b{font-size:calc(14.5px!important * 1.10)!important}
  html[data-ts="2"] .service-card em,.service-card a{font-size:calc(15px!important * 1.10)!important}
  html[data-ts="2"] .service-card p{font-size:calc(16.5px!important * 1.10)!important}
  html[data-ts="2"] .calculator-note,.form-note{font-size:calc(14px!important * 1.10)!important}
}
@media (max-width:600px) and (max-width:600px){
  html[data-ts="2"] h1{font-size:calc(clamp(27px,7.6vw,33px)!important * 1.10)!important}
}
@media (max-width:700px){
  html[data-ts="2"] .hero h1{font-size:calc(42px * 1.10)}
}

/* stato 3: +22% */
html[data-ts="3"] .menu a{font-size:calc(13px * 1.22)}
html[data-ts="3"] .nav-contact small{font-size:calc(11px * 1.22)}
html[data-ts="3"] .btn{font-size:calc(13.5px * 1.22)}
html[data-ts="3"] .label{font-size:calc(12px * 1.22)}
html[data-ts="3"] h1{font-size:calc(clamp(33px,3.9vw,56px) * 1.22)}
html[data-ts="3"] .lead{font-size:calc(clamp(17px,1.65vw,21px) * 1.22)}
html[data-ts="3"] .proof b{font-size:calc(19px * 1.22)}
html[data-ts="3"] .meta{font-size:calc(13px * 1.22)}
html[data-ts="3"] .section-label{font-size:calc(12px * 1.22)}
html[data-ts="3"] h2{font-size:calc(clamp(34px,4.55vw,56px) * 1.22)}
html[data-ts="3"] .intro p,.dark-copy{font-size:calc(16.5px * 1.22)}
html[data-ts="3"] .metric strong{font-size:calc(clamp(38px,5.6vw,66px) * 1.22)}
html[data-ts="3"] .metric p{font-size:calc(14px * 1.22)}
html[data-ts="3"] .showreel-copy{font-size:calc(16.5px * 1.22)}
html[data-ts="3"] .light-copy{font-size:calc(16.5px * 1.22)}
html[data-ts="3"] .service-card .num{font-size:calc(12px * 1.22)}
html[data-ts="3"] .service-card h3{font-size:calc(clamp(20px,1.75vw,24px) * 1.22)}
html[data-ts="3"] .service-card p{font-size:calc(14px * 1.22)}
html[data-ts="3"] .service-card em{font-size:calc(13px * 1.22)}
html[data-ts="3"] .path-card h3{font-size:calc(22px * 1.22)}
html[data-ts="3"] .path-card p{font-size:calc(14px * 1.22)}
html[data-ts="3"] .tag{font-size:calc(11.5px * 1.22)}
html[data-ts="3"] .project h3{font-size:calc(clamp(29px,3.3vw,44px) * 1.22)}
html[data-ts="3"] .project p{font-size:calc(16px * 1.22)}
html[data-ts="3"] .map-city text{font-size:calc(12px * 1.22)}
html[data-ts="3"] .city-strip span{font-size:calc(13px * 1.22)}
html[data-ts="3"] .geo-note strong{font-size:calc(24px * 1.22)}
html[data-ts="3"] .cobe-status,.cobe-source{font-size:calc(11px * 1.22)}
html[data-ts="3"] .globe-city text{font-size:calc(11.5px * 1.22)}
html[data-ts="3"] .globe-hud{font-size:calc(11px * 1.22)}
html[data-ts="3"] .step b{font-size:calc(12px * 1.22)}
html[data-ts="3"] .step h3{font-size:calc(25px * 1.22)}
html[data-ts="3"] .company-card h3{font-size:calc(28px * 1.22)}
html[data-ts="3"] label{font-size:calc(13px * 1.22)}
html[data-ts="3"] .privacy{font-size:calc(13px * 1.22)}
html[data-ts="3"] .answer-box small{font-size:calc(11px * 1.22)}
html[data-ts="3"] .voice-status{font-size:calc(11px * 1.22)}
html[data-ts="3"] .mic-btn{font-size:calc(22px * 1.22)}
html[data-ts="3"] .advisor-lead-panel b{font-size:calc(18px * 1.22)}
html[data-ts="3"] .advisor-lead-panel span{font-size:calc(13px * 1.22)}
html[data-ts="3"] .advisor-lead-panel label{font-size:calc(12px * 1.22)}
html[data-ts="3"] .advisor-status{font-size:calc(13px * 1.22)}
html[data-ts="3"] .avatar-wrap .advisor-status{font-size:calc(13px * 1.22)}
html[data-ts="3"] .aiw-head b{font-size:calc(16px * 1.22)}
html[data-ts="3"] .aiw-head .aiw-sub{font-size:calc(13px * 1.22)}
html[data-ts="3"] .aiw-iconbtn{font-size:calc(16.5px * 1.22)}
html[data-ts="3"] .aiw-msg{font-size:calc(16px * 1.22)}
html[data-ts="3"] .aiw-chip.aiw-tag{font-size:calc(13px * 1.22)}
html[data-ts="3"] .aiw-msg.next{font-size:calc(14.5px * 1.22)}
html[data-ts="3"] .aiw-foot textarea{font-size:calc(15.5px * 1.22)}
html[data-ts="3"] .aiw-root[data-state="docked"] .aiw-chip{font-size:calc(13.5px * 1.22)}
html[data-ts="3"] .aiw-root[data-state="docked"] .aiw-chip.aiw-tag{font-size:calc(12.5px * 1.22)}
html[data-ts="3"] .aiw-status{font-size:calc(13px * 1.22)}
html[data-ts="3"] .aiw-launch-inline{font-size:calc(16.5px * 1.22)}
html[data-ts="3"] .aiw-launch-ico{font-size:calc(20px * 1.22)}
html[data-ts="3"] .aiw-root[data-state="hidden"] .aiw-panel:before{font-size:calc(26px * 1.22)}
html[data-ts="3"] /* Frase di invito accanto alla bolla chiusa: si vede solo a widget chiuso. */.aiw-hint{font-size:calc(14.5px * 1.22)}
html[data-ts="3"] .site-footer{font-size:calc(12.5px * 1.22)}
html[data-ts="3"] .footer-kicker{font-size:calc(11px * 1.22)}
html[data-ts="3"] .site-footer b{font-size:calc(13px * 1.22)}
html[data-ts="3"] .service-landing .hero h1{font-size:calc(clamp(30px,3.25vw,47px) * 1.22)}
html[data-ts="3"] .service-landing .lead,
.service-landing .hero p{font-size:calc(clamp(16px,1.35vw,19px) * 1.22)}
html[data-ts="3"] .service-landing .section h2,
.service-landing .case-text h2,
.service-landing .cta-box h2,
.service-landing .cta-wrap h2{font-size:calc(clamp(28px,3.2vw,42px) * 1.22)}
html[data-ts="3"] .service-landing .feature-body h3{font-size:calc(clamp(26px,2.8vw,38px) * 1.22)}
html[data-ts="3"] .service-landing .card h3,
.service-landing .related-card strong{font-size:calc(clamp(20px,1.7vw,24px) * 1.22)}
html[data-ts="3"] .service-landing .copy,
.service-landing .card p,
.service-landing .list li{font-size:calc(16px * 1.22)}
html[data-ts="3"] .service-landing .spec strong{font-size:calc(clamp(22px,2vw,30px) * 1.22)}
html[data-ts="3"] .lang-switch{font-size:calc(12px * 1.22)}
html[data-ts="3"] .ts-aa{font-size:calc(9.5px * 1.22)}
html[data-ts="3"] .ts-a{font-size:calc(11px * 1.22)}
html[data-ts="3"] .ts-2{font-size:calc(13px * 1.22)}
html[data-ts="3"] .ts-3{font-size:calc(15.5px * 1.22)}
html[data-ts="3"] .nav-panel .ts-a{font-size:calc(12.5px * 1.22)}
html[data-ts="3"] .nav-panel .ts-2{font-size:calc(15px * 1.22)}
html[data-ts="3"] .nav-panel .ts-3{font-size:calc(18px * 1.22)}
html[data-ts="3"] .ts-cycle .ts-a{font-size:calc(12px * 1.22)}
html[data-ts="3"] .ts-cycle .ts-2{font-size:calc(14px * 1.22)}
html[data-ts="3"] .ts-cycle .ts-3{font-size:calc(16.5px * 1.22)}
html[data-ts="3"] .nav-row{font-size:calc(19px * 1.22)}
html[data-ts="3"] .nav-panel .nav-tel{font-size:calc(14px * 1.22)}
html[data-ts="3"] main h1 .hf-quote,
main h1.hf-quote-host .hf-quote{font-size:calc(clamp(13px, 1.1vw, 15px) * 1.22)}
html[data-ts="3"] .eyebrow{font-size:calc(12px * 1.22)}
html[data-ts="3"] .hero h1{font-size:calc(clamp(33px,3.9vw,56px) * 1.22)}
html[data-ts="3"] .proof strong{font-size:calc(20px * 1.22)}
html[data-ts="3"] .card h3{font-size:calc(24px * 1.22)}
html[data-ts="3"] .mock-hero small,.chart-card small,.ad-card small{font-size:calc(11px * 1.22)}
html[data-ts="3"] .mock-hero strong,.chart-card strong,.ad-preview strong{font-size:calc(clamp(24px,3vw,38px) * 1.22)}
html[data-ts="3"] .ad-preview b{font-size:calc(12px * 1.22)}
html[data-ts="3"] .ad-preview span{font-size:calc(13px * 1.22)}
html[data-ts="3"] .related-card span,.related-card em{font-size:calc(12px * 1.22)}
html[data-ts="3"] .related-card strong{font-size:calc(23px * 1.22)}
html[data-ts="3"] .service-group-head span{font-size:calc(12px * 1.22)}
html[data-ts="3"] .service-group h3{font-size:calc(clamp(24px,2.8vw,34px) * 1.22)}
html[data-ts="3"] .group-links strong{font-size:calc(18px * 1.22)}
html[data-ts="3"] .group-links em{font-size:calc(13px * 1.22)}
html[data-ts="3"] .budget-card span,.local-card span{font-size:calc(12px * 1.22)}
html[data-ts="3"] .budget-card h2,.local-card h2{font-size:calc(clamp(27px,3.2vw,40px) * 1.22)}
html[data-ts="3"] .local-cities b{font-size:calc(13px * 1.22)}
html[data-ts="3"] .cta-wrap h2{font-size:calc(clamp(29px,3.6vw,46px) * 1.22)}
html[data-ts="3"] .form-section h2{font-size:calc(clamp(30px,3.65vw,48px) * 1.22)}
html[data-ts="3"] .form-trust span{font-size:calc(13px * 1.22)}
html[data-ts="3"] .flow-item span{font-size:calc(12px * 1.22)}
html[data-ts="3"] .flow-item strong{font-size:calc(22px * 1.22)}
html[data-ts="3"] .faq-item summary{font-size:calc(20px * 1.22)}
html[data-ts="3"] .faq-item summary:after{font-size:calc(20px * 1.22)}
html[data-ts="3"] .logo-tile strong{font-size:calc(clamp(17px,1.55vw,22px) * 1.22)}
html[data-ts="3"] .logo-tile span{font-size:calc(12px * 1.22)}
html[data-ts="3"] .video-badge{font-size:calc(11px * 1.22)}
html[data-ts="3"] .video-frame figcaption{font-size:calc(14px * 1.22)}
html[data-ts="3"] .video-frame figcaption strong{font-size:calc(16px * 1.22)}
html[data-ts="3"] .video-points strong{font-size:calc(18px * 1.22)}
html[data-ts="3"] .video-points p{font-size:calc(14px * 1.22)}
html[data-ts="3"] .copy{font-size:calc(16.5px * 1.22)}
html[data-ts="3"] .mini span{font-size:calc(14px * 1.22)}
html[data-ts="3"] footer{font-size:calc(13px * 1.22)}
html[data-ts="3"] .strip b{font-size:calc(16px * 1.22)}
html[data-ts="3"] .strip span{font-size:calc(12px * 1.22)}
html[data-ts="3"] .box h3{font-size:calc(19px * 1.22)}
html[data-ts="3"] .box p{font-size:calc(15.5px * 1.22)}
html[data-ts="3"] .num-badge{font-size:calc(13px * 1.22)}
html[data-ts="3"] .hint{font-size:calc(12.5px * 1.22)}
html[data-ts="3"] .eyebrow,.tag{font-size:calc(12px * 1.22)}
html[data-ts="3"] .case-gallery figcaption{font-size:calc(12.5px * 1.22)}
html[data-ts="3"] .case-gallery .apri{font-size:calc(11.5px * 1.22)}
html[data-ts="3"] .lb-cap{font-size:calc(13.5px * 1.22)}
html[data-ts="3"] .lb-btn{font-size:calc(19px * 1.22)}
html[data-ts="3"] .lb-count{font-size:calc(12.5px * 1.22)}
html[data-ts="3"] .gallery figcaption{font-size:calc(13px * 1.22)}
html[data-ts="3"] .feature h3{font-size:calc(18px * 1.22)}
html[data-ts="3"] .feature p{font-size:calc(14px * 1.22)}
html[data-ts="3"] .stat b{font-size:calc(30px * 1.22)}
html[data-ts="3"] .stat span{font-size:calc(14px * 1.22)}
html[data-ts="3"] .quote cite{font-size:calc(13px * 1.22)}
html[data-ts="3"] .works-hero h1{font-size:calc(clamp(30px,3.25vw,47px) * 1.22)}
html[data-ts="3"] .works-hero .lead{font-size:calc(18px * 1.22)}
html[data-ts="3"] .work-tag{font-size:calc(11px * 1.22)}
html[data-ts="3"] .work-body h2{font-size:calc(27px * 1.22)}
html[data-ts="3"] .work-link{font-size:calc(14px * 1.22)}
html[data-ts="3"] .work-meta{font-size:calc(12.5px * 1.22)}
html[data-ts="3"] .hero p{font-size:calc(clamp(16.5px,1.6vw,20px) * 1.22)}
html[data-ts="3"] .card p{font-size:calc(15.5px * 1.22)}
html[data-ts="3"] .card li a{font-size:calc(14px * 1.22)}
html[data-ts="3"] .case p{font-size:calc(15.5px * 1.22)}
html[data-ts="3"] .case span.more{font-size:calc(14px * 1.22)}
html[data-ts="3"] .hero-note{font-size:calc(15px * 1.22)}
html[data-ts="3"] .hero-note strong{font-size:calc(19px * 1.22)}
html[data-ts="3"] .spec span{font-size:calc(12px * 1.22)}
html[data-ts="3"] .spec strong{font-size:calc(clamp(25px,2.5vw,34px) * 1.22)}
html[data-ts="3"] .feature-body h3{font-size:calc(clamp(30px,3.5vw,48px) * 1.22)}
html[data-ts="3"] .case-text h2{font-size:calc(clamp(34px,4.4vw,56px) * 1.22)}
html[data-ts="3"] .cta-box h2{font-size:calc(clamp(32px,4vw,52px) * 1.22)}
@media (max-width:720px){
  html[data-ts="3"] h1{font-size:calc(33px * 1.22)}
  html[data-ts="3"] h2{font-size:calc(30px * 1.22)}
  html[data-ts="3"] .aiw-hint{font-size:calc(14px * 1.22)}
}
@media (max-width:720px){
  html[data-ts="3"] .service-landing .hero h1{font-size:calc(clamp(27px,7.6vw,33px) * 1.22)}
  html[data-ts="3"] .service-landing .section h2,
  .service-landing .case-text h2,
  .service-landing .cta-box h2,
  .service-landing .cta-wrap h2{font-size:calc(clamp(26px,7.4vw,34px) * 1.22)}
  html[data-ts="3"] .nav-row{font-size:calc(18px * 1.22)}
  html[data-ts="3"] .lb-btn{font-size:calc(17px * 1.22)}
}
@media (max-width:600px){
  html[data-ts="3"] body{font-size:calc(17px * 1.22)}
  html[data-ts="3"] p,li,.copy,.lead,.intro,.box p,.panel p,.feature p,.card p,.case-body p,.quote,.press span,.mini span,.muted{font-size:calc(17px!important * 1.22)!important}
  html[data-ts="3"] /* Scala dei titoli (stato normale), calcolata sul corpo: 21px su desktop, 17px su telefono.
        .    Home, lavori e case history 56px = 2,67x il corpo; pagine interne 47px = 2,24x; telefono 33px = 1,94x.
        .    Questa e' la fonte autorevole: sta dopo i CSS di pagina e vince a pari specificita'. */h1{font-size:calc(clamp(30px,3.25vw,47px) * 1.22)}
  html[data-ts="3"] .hero h1{font-size:calc(clamp(33px,3.9vw,56px) * 1.22)}
  html[data-ts="3"] .service-landing .hero h1{font-size:calc(clamp(30px,3.25vw,47px) * 1.22)}
  html[data-ts="3"] .err-hero h1{font-size:calc(clamp(30px,3.4vw,48px) * 1.22)}
  html[data-ts="3"] h2{font-size:calc(clamp(27px,7.4vw,34px)!important * 1.22)!important}
  html[data-ts="3"] h3{font-size:calc(21px!important * 1.22)!important}
  html[data-ts="3"] .tag,.label,.section-label,.eyebrow,.strip span,.hint,figcaption,.case-gallery figcaption,.nav-contact small{font-size:calc(13px!important * 1.22)!important}
  html[data-ts="3"] .btn{font-size:calc(15.5px!important * 1.22)!important}
  html[data-ts="3"] .strip b{font-size:calc(17.5px!important * 1.22)!important}
  html[data-ts="3"] .num-badge{font-size:calc(14px * 1.22)}
  html[data-ts="3"] .nav-tel{font-size:calc(15.5px!important * 1.22)!important}
  html[data-ts="3"] b,strong{font-size:calc(14.5px * 1.22)}
  html[data-ts="3"] /* Il piè di pagina su un telefono diventa leggibile (era 11-13px). */footer,.site-footer,.site-footer a,.site-footer span,.site-footer li,.site-footer p,.site-footer b{font-size:calc(14px!important * 1.22)!important}
  html[data-ts="3"] .footer-kicker{font-size:calc(12.5px!important * 1.22)!important}
  html[data-ts="3"] .footer-bottom{font-size:calc(13px!important * 1.22)!important}
  html[data-ts="3"] .footer-primary-link{font-size:calc(15px!important * 1.22)!important}
  html[data-ts="3"] .section-label,.tag,.label,.eyebrow{font-size:calc(14px!important * 1.22)!important}
  html[data-ts="3"] small{font-size:calc(13.5px!important * 1.22)!important}
  html[data-ts="3"] /* Elementi propri di alcune pagine, con la stessa specificità del foglio di pagina   ma emessi dopo: qui vincono. */.city-strip span,.city-strip b{font-size:calc(14.5px!important * 1.22)!important}
  html[data-ts="3"] .service-card em,.service-card a{font-size:calc(15px!important * 1.22)!important}
  html[data-ts="3"] .service-card p{font-size:calc(16.5px!important * 1.22)!important}
  html[data-ts="3"] .calculator-note,.form-note{font-size:calc(14px!important * 1.22)!important}
}
@media (max-width:600px) and (max-width:600px){
  html[data-ts="3"] h1{font-size:calc(clamp(27px,7.6vw,33px)!important * 1.22)!important}
}
@media (max-width:700px){
  html[data-ts="3"] .hero h1{font-size:calc(42px * 1.22)}
}

