/* Shared composition derived from the full-page reference supplied by the client. */
@media(min-width:1100px){:root{--pad:16vw;--section-space:110px}#header{gap:35px}#main-nav{gap:25px}#main-nav a,.nav-service-toggle{font-size:17px}.ref-wordmark{width:190px}.ref-hero,.inner-reference-hero{height:50vw;min-height:620px;max-height:1000px}.hero-title h1{font-size:clamp(56px,5.2vw,100px)}.hero-emblem{width:21vw;left:60%}.hero-review{bottom:8%}.diagonal-caption{display:none}.ref-feature{margin-top:-75px;z-index:5}.ref-feature .project-media>a{height:33vw}.project-aside{padding-top:90px}.project-caption{padding-left:24px;padding-right:var(--pad);font-size:17px}.ref-intro{padding-top:110px;padding-bottom:100px}.ref-intro>p{font-size:21px;letter-spacing:-.025em;width:43%;margin-left:17%;margin-bottom:100px}.intro-facts{margin:0;gap:8%}.intro-facts strong{font-size:66px}.intro-facts p{font-size:18px}.ref-services{height:200vh}.service-sticky{padding-top:45px;min-height:580px}.service-layout{grid-template-columns:54% 46%;padding-left:6%}.service-tabs button{font-size:36px}.service-panels{padding-left:15px;padding-right:0}.service-tags{gap:6px}.service-tags a{font-size:14px;padding:6px 12px}.service-panels p{margin:20px 0 30px}.ref-showcase{padding-top:0;padding-bottom:100px;align-items:start}.ref-showcase>div{padding:0 32% 0 8%}.ref-showcase h2{font-size:32px}.ref-showcase p{font-size:18px;margin:20px 0}.showcase-photo img{min-height:390px}.inner-reference-hero h1{font-size:clamp(64px,6.25vw,110px)}.inner-description{font-size:18px}.editorial-heading{margin-bottom:50px}.editorial-heading h2{font-size:42px}.editorial-body{gap:55px}.editorial-text-only .editorial-body{max-width:65%}.form-section .refined-form{gap:50px}.form-section h2{font-size:30px}.form-section .tb_text_wrap>p{text-align:center}.form-section .form-fields>p{margin-bottom:22px}.form-section .form-fields textarea{height:90px}.service-choice span{padding:9px 13px;font-size:16px}.footer-columns{grid-template-columns:1.5fr 1fr 1.3fr 1fr;gap:30px}.footer-columns .footer-email{font-size:20px}.floating-contact{right:30px}}
.reference-clients{padding:65px var(--pad) 80px;background:#eee}.reference-clients .section-label{font-size:16px;font-weight:400;margin-bottom:55px}.reference-clients>div{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 35px;align-items:center;text-align:center}.reference-clients a{font-size:20px;line-height:1.25;font-weight:600;color:#777;transition:color .25s}.reference-clients a:hover{color:#000}.reference-strip{margin:85px 0 20px;overflow:hidden;color:#777;font-size:17px}.reference-strip>div{display:flex;width:max-content;animation:ticker 45s linear infinite}.reference-strip span{white-space:nowrap}.reference-quote{padding:80px var(--pad) 120px}.reference-quote>span{display:block;color:var(--cds-accent);font-size:84px;font-weight:700;line-height:.6;height:45px}.reference-quote>span:last-child{text-align:center}.reference-quote blockquote{border:0;margin:0;padding:0;font-size:clamp(35px,5vw,76px);font-weight:600;line-height:1.05;letter-spacing:-.055em;color:#aaa}.reference-recognition{background:white;padding:60px var(--pad) 120px}.reference-recognition .row_inner{display:block;width:100%}.reference-recognition .module_column{width:100%;margin:0}.reference-recognition h2.section-label{font-size:16px;font-weight:400;letter-spacing:0;margin-bottom:45px;line-height:1.4}.reference-recognition .preview-testimonials{margin-left:52%;display:block}.reference-recognition .testimonial-item{padding:20px 0;border-bottom:1px solid #ccc;font-size:17px;line-height:1.5}.reference-recognition .testimonial-item p{font-size:17px}.reference-recognition .reviews-toggle{margin-left:52%;margin-top:25px;font-size:17px}.ref-work-label{padding-top:20px}.ref-work-label .section-label{font-size:16px;margin-bottom:35px}.reference-projects{padding-top:0;padding-bottom:110px}.reference-projects h3{font-size:23px}.reference-projects p{font-size:17px}.reference-faq{padding:45px var(--pad) 120px}.reference-faq h2{font-size:16px;font-weight:400;letter-spacing:0;line-height:1.5;margin-bottom:45px}.reference-faq h2 br{display:none}.reference-faq details{border-bottom:1px solid #bbb;padding:0 24px}.reference-faq details[open]{background:#eee;padding-bottom:25px}.reference-faq summary{font-size:21px;font-weight:600;padding:24px 0;line-height:1.35;gap:20px}.reference-faq summary:after{content:'⌄';font-size:28px;color:black;flex-shrink:0}.reference-faq details[open] summary:after{content:'⌄';color:var(--cds-accent);transform:rotate(180deg)}.reference-faq .accordion-content{max-width:none;display:flow-root;padding:0;font-size:18px}.reference-faq .faq-photo{float:left;width:30%;margin:0 30px 20px 0;aspect-ratio:1.15;object-fit:cover}.reference-faq .accordion-content .module_subrow,.reference-faq .accordion-content .module_column{display:block;width:auto;margin:0}.reference-faq .accordion-content p{font-size:18px;line-height:1.55}.reference-faq .accordion-content .module{margin-bottom:0}
#footerwrap{background:#000;color:white}.footer-invite{border:0;padding:75px var(--pad) 30px}.footer-invite p{max-width:520px;font-size:30px;line-height:1.15;letter-spacing:-.03em;margin-bottom:12px}.footer-invite>a{font-size:38px;letter-spacing:-.04em}.footer-columns a,.footer-columns p,.footer-columns h3,.footer-bottom a{color:white}.footer-columns h3{color:#aaa;font-size:16px;font-weight:400}.footer-columns a{font-size:16px;line-height:1.8}.footer-bottom{border-color:#333;color:#aaa;margin-top:65px}.reference-footer-signature{width:210px;color:white;margin-top:50px;margin-bottom:10px}.reference-footer-signature:hover{color:white}.reference-footer-signature .ref-wordmark{width:100%}.form-section{padding-bottom:70px}.form-section .contact-submit{background:var(--cds-accent)}
@media(max-width:1099px){.reference-quote{padding-top:70px;padding-bottom:90px}.reference-recognition .preview-testimonials,.reference-recognition .reviews-toggle{margin-left:30%}.reference-clients a{font-size:18px}.ref-feature{margin-top:0}.reference-faq{padding-bottom:80px}}
@media(max-width:650px){.reference-clients{padding-top:50px;padding-bottom:55px}.reference-clients>div{grid-template-columns:1fr 1fr;gap:35px 24px}.reference-clients a{font-size:17px}.reference-strip{margin-top:50px;font-size:16px}.reference-quote{padding:60px var(--pad) 70px}.reference-quote blockquote{font-size:38px}.reference-quote>span{font-size:70px;height:35px}.reference-recognition{padding:40px var(--pad) 70px}.reference-recognition .preview-testimonials,.reference-recognition .reviews-toggle{margin-left:0}.reference-faq{padding-top:30px}.reference-faq details{padding-left:16px;padding-right:16px}.reference-faq summary{font-size:20px}.reference-faq .faq-photo{float:none;width:100%;max-height:230px;margin:0 0 25px}.reference-faq .accordion-content p{font-size:17px}.footer-invite p{font-size:27px}.footer-invite>a{font-size:34px}.reference-footer-signature{width:200px}.reference-projects{padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){.reference-strip>div{animation:none}}

@media(min-width:1100px){.hero-review{bottom:17%}}body:not(.reference-inner) .floating-contact{display:none}.recognition-list{margin-left:52%}.recognition-item{border-bottom:1px solid #bbb;padding:0}.recognition-item summary{list-style:none;cursor:pointer;font-size:17px;padding:13px 0;display:flex;justify-content:space-between;gap:20px}.recognition-item summary:after{content:'+';color:#777}.recognition-item[open] summary:after{content:'−'}.recognition-item .testimonial-content{font-size:17px;line-height:1.5;margin:12px 0}.recognition-item .person-name{font-size:16px;padding-bottom:18px}@media(max-width:1099px){.recognition-list{margin-left:30%}}@media(max-width:650px){.recognition-list{margin-left:0}}

.site-content .reference-recognition,.site-content .form-section{background:#fff}.reference-projects .row_inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.reference-projects .row_inner>.module_column{width:100%;margin:0;min-width:0}.reference-projects a{color:#000}.reference-projects img{width:100%;aspect-ratio:1.4;object-fit:cover}.reference-projects h3{font-size:20px;line-height:1.2;margin:18px 0 10px}.reference-projects p{font-size:17px;line-height:1.4}@media(max-width:800px){.reference-projects .row_inner{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding-bottom:15px}.reference-projects .row_inner>.module_column{flex:0 0 82%;scroll-snap-align:start}}

/* Scroll distance follows the actual sticky block, not the viewport height. */
.ref-services{height:auto}.ref-services .service-sticky{position:relative;top:0;min-height:0;padding-top:55px;padding-bottom:55px}.ref-services.scroll-services .service-sticky{position:sticky;top:var(--header-height)}.ref-services .service-panels{min-height:340px}@media(max-width:800px){.ref-services .service-panels{min-height:0}}

/* Compact services: no reserved scroll track or viewport-sized whitespace. */
.ref-services{height:auto}.ref-services .service-sticky,.ref-services.scroll-services .service-sticky{position:relative;top:0;min-height:0;padding-bottom:55px}.ref-services .service-panels{min-height:0}.ref-services .service-panels p{margin-bottom:28px}.ref-services+.ref-showcase{padding-top:0}

/* H2 spacing matches the approved “Progetti reali” heading. */
main.site-content h2{letter-spacing:-.05em;line-height:1}
main.site-content h2.section-label,main.site-content .reference-faq h2,main.site-content .reference-clients h2{letter-spacing:0;line-height:1.4}
