:root{--paper:#f7f6f2;--white:#fff;--ink:#232d2b;--muted:#626c68;--line:#d8dcd6;--sage:#718977;--pale:#e6ebe3;--deep:#263b34;--header:86px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 18px)}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.12;letter-spacing:-.052em;font-weight:500}h1{font-size:clamp(3.35rem,6.7vw,7rem)}h2{font-size:clamp(2.65rem,5vw,5.75rem)}h3{font-size:clamp(1.5rem,2.7vw,2.6rem)}em{font-family:Georgia,serif;font-weight:400;color:var(--sage)}img{max-width:100%;display:block}::selection{background:#cedfcd}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #86a18b;outline-offset:4px}.shell{max-width:1440px;margin:auto;padding-left:clamp(22px,5vw,82px);padding-right:clamp(22px,5vw,82px)}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;white-space:nowrap}.skip{position:absolute;top:-100px;left:15px;background:white;padding:10px;z-index:100}.skip:focus{top:12px}.header{height:var(--header);position:sticky;top:0;z-index:50;background:rgba(247,246,242,.95);backdrop-filter:blur(18px);border-bottom:1px solid #dce0da}.header-inner{display:flex;height:100%;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;white-space:nowrap;flex:0 0 auto}.brand-logo-full{display:block;height:66px;width:auto;max-width:260px;object-fit:contain}.nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,28px);font-size:13px;font-weight:600}.nav>a:not(.dkid){padding:10px 0;position:relative}.nav>a:not(.dkid)::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:var(--sage);transition:right .2s}.nav>a.active::after,.nav>a:hover::after{right:0}.dkid{border:1px solid #bbc8bb;padding:10px 14px;border-radius:24px}.dkid:hover{background:#e6ebe3}.menu-button{display:none;border:0;background:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-button span{width:24px;height:2px;background:var(--ink)}.mobile-nav[hidden]{display:none}.eyebrow,.section-tag,.cat-index{font-size:11px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;color:#55715d}.dot{display:inline-block;width:7px;height:7px;background:#9aac98;border-radius:50%;margin-right:10px}.hero{padding-top:clamp(68px,8vw,124px)}.hero-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:clamp(28px,6vw,90px);align-items:end;margin:24px 0 60px}.hero h1{max-width:850px;margin:0}.period{color:var(--sage)}.hero-side{padding-bottom:8px}.hero-side p{color:var(--muted);font-size:17px;line-height:1.8;margin:0 0 28px}.button{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;border:0;border-radius:100px;padding:15px 21px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--deep);color:#fff}.primary:hover{background:#405d4c}.hero-image{height:clamp(320px,37vw,560px);border-radius:5px 95px 5px 5px;overflow:hidden;position:relative;background:#e4e8e0}.hero-image>img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;filter:saturate(.68);object-position:center 55%}.photo-fallback{position:absolute;left:7%;bottom:4%;font-size:clamp(43px,6vw,100px);font-weight:700;line-height:.94;letter-spacing:-.07em;color:#78897857}.photo-fallback i{font-family:Georgia,serif;font-weight:400}.photo-label{position:absolute;z-index:2;bottom:20px;right:20px;background:#ffffffea;padding:8px 13px;color:#4d6254;font-size:10px;letter-spacing:.12em}.hero-foot{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;padding:24px 0;font-size:10px;letter-spacing:.13em;color:#6c7870}.section{padding-top:clamp(100px,11vw,165px);padding-bottom:clamp(100px,11vw,165px)}.studio-section{background:#eaeee8}.studio-layout{display:grid;grid-template-columns:180px 1fr;gap:45px}.studio-body h2{max-width:850px;margin:0 0 40px}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1050px}.intro-columns p{color:#55635a;line-height:1.85;font-size:16px}.team-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:62px 0 24px;border-top:1px solid #c5d1c4;padding-top:25px}.team-heading h3{margin:0;font-size:24px}.team-heading p{margin:0;color:#627265;font-size:13px}.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.team article{padding:26px 2px;border-top:1px solid #bccbbb;min-width:0}.team h4{font-size:clamp(19px,2vw,27px);margin:0 0 15px}.team p{font-size:13px;color:#677568;margin:0 0 20px}.team a{font-size:12px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.services>.section-tag{margin-bottom:24px}.service-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:65px}.service-head h2{max-width:790px;margin:0}.service-head>p{max-width:350px;margin:0 0 8px;color:var(--muted)}.service-category{display:grid;grid-template-columns:34% 1fr;gap:35px;padding:44px 0 72px;border-top:1px solid #bbc9bd}.category-intro h3{font-size:clamp(26px,2.9vw,42px);max-width:340px;margin:20px 0 15px}.category-intro p{max-width:290px;color:var(--muted);font-size:14px;line-height:1.8}.accordion details{border-bottom:1px solid var(--line)}.accordion details:first-child{border-top:1px solid var(--line)}.accordion summary{list-style:none;display:grid;grid-template-columns:32px 1fr 28px;align-items:start;gap:16px;padding:20px 3px;font-size:clamp(16px,1.65vw,22px);letter-spacing:-.025em;line-height:1.35;cursor:pointer}.accordion summary::-webkit-details-marker{display:none}.serv-number{font-size:11px;letter-spacing:.06em;color:#889b88;padding-top:6px}.plus{font-size:23px;font-weight:300;line-height:1;transition:transform .2s}.accordion details[open] .plus{transform:rotate(45deg)}.detail-copy{padding:0 45px 25px 48px;color:#58685b;font-size:14px;line-height:1.82;max-width:780px}.detail-copy p{margin-bottom:11px}.detail-copy ul{margin:0;padding-left:18px}.approach{background:var(--deep);color:#f7f6ef}.light-tag{color:#b8ceb9}.approach .section-tag{color:#b8ceb9}.approach-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,8vw,130px);margin-top:40px}.approach h2 em,.contact-section h2 em{color:#bbd4b5}.approach-intro>p{color:#d5e1d4;font-size:17px;line-height:1.8}.steps{margin-top:55px}.steps>div{padding:17px 0;border-top:1px solid #6c8775}.steps b{font-size:11px;letter-spacing:.14em;color:#b9d0b9}.steps p{margin:9px 0 0;color:#e0e8e0;font-size:14px}.blog-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin:24px 0 40px}.blog-head h2{margin:0;max-width:790px}.blog-head p{max-width:340px;color:var(--muted);margin:0 0 9px}.blog-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.blog-toolbar input,.blog-toolbar select{width:100%;border:1px solid #cad3ca;background:#fff;padding:15px 17px;border-radius:7px;color:var(--ink)}.blog-status{margin:22px 0;color:#66756c;font-size:13px}.blog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.blog-card{border:1px solid var(--line);background:#fff;padding:24px;min-height:265px;display:flex;flex-direction:column}.blog-card .meta{font-size:11px;color:#738575;letter-spacing:.04em}.blog-card h3{font-size:23px;line-height:1.25;margin:24px 0 10px}.blog-card p{font-size:13px;color:var(--muted);line-height:1.7}.blog-card a{font-size:12px;font-weight:700;margin-top:auto;text-decoration:underline;text-underline-offset:5px}.empty-blog{grid-column:1/-1;border:1px solid #cbd5ca;padding:70px 30px;background:#edf0e9}.empty-blog h3{max-width:680px;font-size:clamp(25px,3vw,43px);margin-bottom:12px}.empty-blog p{max-width:540px;color:#697a6d}.blog-disclaimer{color:#758175;font-size:12px;margin-top:25px}.contact-section{background:#e5ebe3}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,110px);margin-top:35px}.contact-grid h2{max-width:580px;margin:0 0 24px}.contact-grid>div>p{max-width:520px;color:#5a6b5d;line-height:1.8}.contact-rows{display:flex;flex-direction:column;gap:13px;margin:40px 0 30px}.contact-rows a{font-size:clamp(16px,2vw,22px);font-weight:600;letter-spacing:-.025em}.contact-rows span{font-size:14px;color:#627064}.social{display:flex;flex-wrap:wrap;gap:14px 26px;border-top:1px solid #cbd7ca;padding-top:25px;font-size:13px}.social span{color:#7d887e}.contact-form{background:#fff;padding:clamp(24px,3.8vw,52px);border:1px solid #d1dacf;border-radius:4px}.contact-form h3{font-size:27px;margin-bottom:30px}.contact-form label{display:block;font-weight:600;font-size:12px;color:#526457;margin-bottom:17px}.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{width:100%;border:1px solid #ccd4cc;border-radius:5px;padding:13px;margin-top:8px;background:#fbfcfa;font-size:14px;color:var(--ink)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.privacy-check{display:flex!important;align-items:start;gap:11px;font-weight:400!important}.privacy-check input{margin-top:5px;accent-color:#2b503a}.privacy-check a{text-decoration:underline}.form-hint{font-size:12px;color:#667467}.light-btn{background:var(--deep);color:#fff}.form-status{min-height:20px;color:#526957;font-size:13px}.footer{background:#f7f6f2;padding:45px 0 25px;color:#536054}.footer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:28px;gap:20px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand strong{font-size:19px;letter-spacing:-.05em}.footer-brand small{display:block;font-size:9px;letter-spacing:.13em}.back-top{font-size:13px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:27px;padding-bottom:24px}.footer-grid p{font-size:12px;line-height:1.9}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start;font-size:13px}.footer-links a{text-decoration:underline;text-underline-offset:4px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:11px;color:#7e8b80}@media(max-width:1150px){.nav{gap:13px;font-size:12px}.brand span{font-size:14px}.brand img{width:50px;height:50px}.hero-grid{grid-template-columns:1.25fr .75fr}}@media(max-width:920px){:root{--header:74px}.nav{display:none}.menu-button{display:flex}.mobile-nav:not([hidden]){display:flex;position:absolute;top:var(--header);left:0;right:0;background:var(--paper);padding:16px 25px 26px;box-shadow:0 15px 28px #111a121b;flex-direction:column}.mobile-nav a{padding:10px;border-bottom:1px solid var(--line);font-weight:600}.hero-grid,.studio-layout,.approach-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:24px}.hero-side{max-width:620px}.studio-layout{gap:25px}.service-head,.blog-head{display:block}.service-head>p,.blog-head>p{max-width:620px;margin-top:22px}.service-category{grid-template-columns:1fr}.category-intro h3{max-width:none}.category-intro p{max-width:650px}.team{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.hero{padding-top:56px}.hero-grid{margin-bottom:37px}.hero h1{font-size:clamp(3.15rem,11vw,5rem)}.hero-image{height:330px;border-top-right-radius:62px}.section{padding-top:85px;padding-bottom:85px}.intro-columns,.team,.blog-toolbar,.blog-list,.field-grid,.footer-grid{grid-template-columns:1fr}.team-heading{display:block}.team-heading p{margin-top:9px}.team article{padding:18px 0}.team h4 br{display:none}.service-category{padding-bottom:45px}.service-head{margin-bottom:44px}.blog-head h2,.approach h2,.contact-grid h2{font-size:clamp(2.5rem,10vw,4rem)}.contact-form{padding:24px}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{gap:15px}.photo-label{font-size:9px;right:9px;bottom:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.plus,.nav>a:not(.dkid)::after{transition:none}}
/* Aggiornamenti di usabilità V15 */
:root{scroll-padding-top:96px}section[id]{scroll-margin-top:94px}
.team article{min-width:0}.team a{overflow-wrap:anywhere}.contact-rows a{overflow-wrap:anywhere}
.hero-image{background:linear-gradient(130deg,#e1e9e2 0%,#c4d2c9 55%,#d9e1d9 100%)}
.hero-image:has(img:not([src])) .photo-fallback{color:#324b3b76}
summary{cursor:pointer}details[open]{background:#f4f6f1}
details summary:focus-visible{outline:2px solid #647e67;outline-offset:4px}
.social{gap:22px}.social a{text-decoration:underline;text-underline-offset:5px}
@media(max-width:720px){.team{grid-template-columns:1fr!important}.team article{padding:24px 0}.hero-image{border-top-right-radius:60px}.contact-form{min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Integrazione con il patrimonio informativo del sito storico */
.heritage{margin:32px 0 55px;display:flex;align-items:center;gap:27px;border-top:1px solid #cad2c9;border-bottom:1px solid #cad2c9;padding:23px 0}
.heritage-year{font-size:clamp(3.4rem,6vw,5.6rem);letter-spacing:-.085em;font-weight:650;line-height:1;color:#648168}
.heritage strong{display:block;font-size:1.08rem;color:#34443a;line-height:1.4}
.heritage p{color:#68776b;margin:5px 0 0;font-size:.94rem;line-height:1.6}
.team .professional-focus{font-size:.85rem;color:#627266;line-height:1.6;max-width:320px;margin:12px 0 16px}
.operational-team{margin-top:62px;padding-top:37px;border-top:1px solid #ccd5cc}
.operational-head{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end;margin-bottom:23px}
.operational-head h3{font-size:clamp(1.6rem,2.7vw,2.6rem);margin:12px 0 0}
.operational-head p{font-size:.9rem;color:#607066;line-height:1.8;margin:0}
.micro-label{font-size:.72rem;font-weight:700;letter-spacing:.16em;color:#69806e}
.operational-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.operational-grid>div{border:1px solid #d2dcd1;background:#fff9;padding:21px 19px;border-radius:12px;min-width:0}
.operational-grid strong{display:block;font-size:.98rem;margin-bottom:9px}
.operational-grid span{display:block;color:#647469;font-size:.85rem;line-height:1.6}
.operational-note{font-size:.83rem;line-height:1.7;color:#6a7a6e;margin:20px 0 0}
.contact-note{font-size:.83rem;opacity:.8;margin-top:16px;max-width:450px}
@media(max-width:900px){.operational-head{grid-template-columns:1fr}.operational-grid{grid-template-columns:1fr}.heritage{align-items:flex-start}}
@media(max-width:560px){.heritage{gap:17px}.heritage-year{font-size:3.4rem}.operational-head{gap:14px}}


/* V17: identita visiva integrata con il sito storico espositocommercialisti.it */
:root{--paper:#faf9f6;--white:#fff;--ink:#24354a;--muted:#667482;--line:#dfe4e8;--sage:#2a6689;--pale:#eaf0f4;--deep:#153e5e;--header:84px}
body{background:var(--paper);color:var(--ink);font-family:Arial,'Helvetica Neue',sans-serif}
h1,h2,h3,h4{letter-spacing:-.05em}em{color:#28779d}
.eyebrow,.section-tag,.cat-index,.micro-label{color:#326887}
.dot{background:#d59a87}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#1889b0}
.header{background:rgba(255,255,255,.96);border-bottom:1px solid #e5e8ed;box-shadow:0 7px 25px #153e5e0b}
.brand{gap:14px}.brand img{height:57px;width:57px}.brand span{color:#24354a;letter-spacing:-.025em}.brand small{color:#648095}
.nav>a:not(.dkid)::after{background:#1c729a}.dkid{border:1px solid #c9dbe6;color:#21597a;background:#f2f7fa}.dkid:hover{background:#dfeef7}
.menu-button span{background:#153e5e}
.hero-original{position:relative;padding:0!important;min-height:min(790px,calc(100svh - var(--header)));overflow:hidden;background:#17394b;color:#fff;display:flex;flex-direction:column;justify-content:center}
.hero-original:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#09273de6 0%,#09273dcc 39%,#0b253f83 68%,#0b263f55 100%);z-index:1;pointer-events:none}
.hero-photo,.hero-photo img,.hero-photo-shade,.hero-logo-fade{position:absolute;inset:0;width:100%;height:100%}
.hero-photo img{object-fit:cover;object-position:center 48%;filter:saturate(.82) brightness(.96)}
.hero-logo-fade{display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}
.hero-logo-fade img{width:min(40vw,520px);height:auto;opacity:.20;filter:drop-shadow(0 18px 45px rgba(0,0,0,.10))}
.hero-photo-shade{z-index:1;background:linear-gradient(0deg,#07263c55,transparent 48%)}
.hero-content{position:relative;z-index:3;width:100%;padding-top:clamp(96px,12vw,165px);padding-bottom:clamp(125px,12vw,172px)}
.hero-kicker{display:flex;align-items:center;gap:14px;letter-spacing:.18em;font-size:11px;font-weight:700;color:#f4c5b4}
.hero-kicker-line{display:block;background:#f1ad95;height:2px;width:30px}
.hero-original h1{max-width:1060px;font-size:clamp(3.15rem,6.6vw,7.1rem);font-weight:550;line-height:1.05;letter-spacing:-.065em;margin:28px 0 30px;text-wrap:balance;text-shadow:0 2px 20px #001c2b33}
.hero-original h1 em{color:#fff1e7;font-weight:400;font-family:Georgia,serif}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:42px;max-width:1150px}
.hero-bottom p{color:#edf1f3;font-size:clamp(14px,1.32vw,16.5px);line-height:1.78;max-width:690px;margin:0}
.hero-button{white-space:nowrap;background:#fff;color:#123b59;box-shadow:0 9px 25px #0019291f}
.hero-button:hover{background:#f7dbce;color:#123b59}
.hero-photo-credit{position:absolute;right:clamp(22px,5vw,82px);bottom:55px;color:#fff9;letter-spacing:.16em;font-size:9px}
.hero-scroll{position:absolute;bottom:33px;left:clamp(22px,5vw,82px);z-index:2;font-size:10px;letter-spacing:.15em;color:#f1f5f6}.hero-scroll a{display:flex;gap:15px;align-items:center}
.hero-scroll span{font-size:20px;line-height:1}
.section{padding-top:clamp(92px,9vw,143px);padding-bottom:clamp(92px,9vw,143px)}
.studio-section{background:#f4f7f8}.studio-body h2{max-width:970px}.intro-columns p{color:#566b7a}.heritage{border-color:#d4e1e8}.heritage-year{color:#1f6488}.heritage strong{color:#203d53}.heritage p,.professional-focus,.team p{color:#627785}.team article{border-color:#c9d8e1}.team a{color:#1d5d80;font-weight:600}
.operational-grid>div{background:#fff;border-color:#d8e3e9}.operational-grid span,.operational-head p,.operational-note{color:#647785}
.city-feature{min-height:clamp(380px,44vw,620px);position:relative;background:#193c58;color:#fff;display:flex;align-items:center;overflow:hidden}
.city-feature:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102d47ec 0%,#153d56bf 50%,#153d5666 100%);z-index:1}
.city-feature-image,.city-feature-image img{position:absolute;inset:0;width:100%;height:100%}
.city-feature-image img{object-fit:cover;object-position:center 42%;filter:saturate(.82)}
.city-feature-content{position:relative;z-index:2;width:100%;padding-top:90px;padding-bottom:90px}
.city-feature h2{max-width:930px;font-size:clamp(2.3rem,5vw,5.8rem);line-height:1.14;margin:22px 0}
.city-feature h2 em{color:#f7d1c2}.city-feature .section-tag{color:#f6c6b6}.city-feature p{max-width:620px;color:#e5eef2;font-size:17px}
.service-head>p,.category-intro p,.detail-copy{color:#607687}.service-category,.accordion details{border-color:#d4e0e7}.accordion summary{color:#243c50}.accordion details[open] summary{color:#176087}.accordion details[open]{background:#f0f5f8}
.serv-number{color:#648ca2}.category-intro .cat-index{color:#d38e7b}
.approach{background:#123d5d;color:#fff}.approach .section-tag,.light-tag{color:#a9cbdc}.approach h2 em,.contact-section h2 em{color:#9dd0e8}.approach-intro>p{color:#d7e6ee}.steps>div{border-color:#517c97}.steps p{color:#dfebf1}
.blog-section{background:#fff}.blog-card{border-color:#dce6ed;box-shadow:0 6px 21px #143f5b08}.blog-card .meta,.blog-status{color:#617e92}.blog-toolbar input,.blog-toolbar select{border-color:#ccdae3}.empty-blog{background:#f4f8fa;border-color:#d4e0e6}.blog-head p,.empty-blog p{color:#687b87}
.contact-section{background:#eaf1f5}.contact-grid>div>p,.contact-rows span{color:#586f80}.contact-rows a,.social a{color:#205b7a}.contact-form{border-color:#d7e4ec;background:#fff;box-shadow:0 16px 42px #10395610}.contact-form label{color:#2b526a}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{border-color:#c9d9e3;background:#fbfdfe}.privacy-check input{accent-color:#1c678f}
.primary,.light-btn{background:#13547a;color:#fff}.primary:hover,.light-btn:hover{background:#1875a1}
.footer{background:#112c42;color:#e3eaf0}.footer-top{border-color:#496476}.footer a{color:#dce8ef}.footer p,.footer small,.footer .legal{color:#b6cbd8}
@media(max-width:950px){.hero-bottom{align-items:flex-start;flex-direction:column;gap:26px}.hero-original h1{max-width:850px}.hero-photo img{object-position:56% center}}
@media(max-width:720px){.hero-original{min-height:700px}.hero-content{padding-top:100px;padding-bottom:145px}.hero-original h1{font-size:clamp(3rem,11vw,5.5rem)}.hero-bottom p{max-width:610px}.hero-kicker{font-size:10px}.hero-photo-credit{bottom:20px}.hero-scroll{bottom:32px}.city-feature h2{font-size:clamp(2.2rem,8vw,4rem)}.city-feature{min-height:480px}.city-feature:before{background:linear-gradient(90deg,#102d47ec,#153d56b4)}}
@media(max-width:460px){.hero-original{min-height:750px}.hero-original h1{font-size:clamp(2.85rem,11.5vw,4rem)}.hero-photo img{object-position:55% center}.hero-content{padding-top:80px;padding-bottom:145px}.hero-button{white-space:normal}.hero-bottom p{font-size:15px}.city-feature{min-height:500px}}


/* V25: ripristino stabile delle fotografie locali */
.brand img,.footer-brand img {
 display:block !important;visibility:visible !important;opacity:1 !important;
 background:transparent !important;box-shadow:none !important;border:none !important;
 padding:0 !important;mix-blend-mode:normal !important;object-fit:contain !important;
}
.brand img{width:52px !important;height:60px !important}
.footer-brand img{width:59px !important;height:72px !important}
.hero-original{position:relative !important;isolation:isolate;overflow:hidden !important;background:#22394d !important}
.hero-photo{position:absolute !important;inset:0 !important;z-index:0 !important;display:block !important;overflow:hidden !important;width:100% !important;height:100% !important}
.hero-photo>img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;display:block !important;opacity:1 !important;visibility:visible !important;object-fit:cover !important;object-position:center center !important;filter:none !important}
.hero-original:before{position:absolute !important;inset:0 !important;z-index:1 !important;background:linear-gradient(90deg,rgba(7,32,51,.81) 0%,rgba(7,32,51,.61) 38%,rgba(7,32,51,.15) 83%) !important;pointer-events:none !important}
.hero-photo-shade{display:none !important}
.hero-content{position:relative !important;z-index:2 !important}
.hero-scroll{z-index:3 !important}
.city-feature{position:relative !important;isolation:isolate;overflow:hidden !important;background:#22394d !important}
.city-feature-image{position:absolute !important;inset:0 !important;z-index:0 !important;display:block !important;width:100% !important;height:100% !important}
.city-feature-image>img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;display:block !important;opacity:1 !important;visibility:visible !important;object-fit:cover !important;object-position:center !important;filter:none !important}
.city-feature:before{position:absolute !important;inset:0 !important;z-index:1 !important;background:linear-gradient(90deg,rgba(11,40,64,.77) 0%,rgba(11,40,64,.44) 62%,rgba(11,40,64,.11) 100%) !important;pointer-events:none !important}
.city-feature-content{position:relative !important;z-index:2 !important}
.photo-label,.hero-photo-badge,.image-badge,.city-feature-badge{display:none !important}


/* V27: logo ufficiale completo e simbolo in dissolvenza visibile */
.header .brand{display:flex;align-items:center;max-width:250px;flex-shrink:0}
.header .brand img.brand-logo-full{display:block;height:76px;width:auto;max-width:190px;object-fit:contain;object-position:center;background:transparent;border:0;box-shadow:none;mix-blend-mode:normal}
.hero-original .hero-photo{isolation:isolate}
.hero-original .hero-photo>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-original .hero-photo .hero-logo-fade{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}
.hero-original .hero-photo .hero-logo-fade img{position:relative;inset:auto;width:min(35vw,440px);height:auto;max-height:75%;object-fit:contain;opacity:.38;filter:drop-shadow(0 4px 20px rgba(0,0,0,.15))}
.hero-original .hero-photo .hero-photo-shade{z-index:1}
.hero-original .hero-content{z-index:3}
.city-feature-image img{object-fit:cover;object-position:center 50%}
@media(max-width:900px){.header .brand img.brand-logo-full{height:65px;max-width:165px}.hero-original .hero-photo .hero-logo-fade img{width:min(50vw,340px);opacity:.33}}
@media(max-width:600px){.header .brand img.brand-logo-full{height:53px;max-width:132px}.hero-original .hero-photo .hero-logo-fade img{width:60vw;opacity:.28}}

/* V28: intestazione completa accanto al logo */
.header .brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}
.header .brand-logo-full{height:62px;width:44px;max-width:none;object-fit:contain;object-position:center;background:transparent;flex-shrink:0}
.header .brand-name{display:flex;flex-direction:column;gap:5px;line-height:1.1;white-space:nowrap}
.header .brand-name strong{font-family:Arial,Helvetica,sans-serif;font-size:17px;letter-spacing:.055em;color:#163d58;font-weight:750}
.header .brand-name small{font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:.16em;color:#597184;font-weight:650}
@media(max-width:760px){.header .brand{gap:8px}.header .brand-logo-full{height:48px;width:34px}.header .brand-name strong{font-size:13px;letter-spacing:.03em}.header .brand-name small{font-size:7.5px;letter-spacing:.1em}}
@media(max-width:380px){.header .brand-name strong{font-size:11.5px}.header .brand-name small{font-size:7px}}


/* V31: wordmark istituzionale contemporaneo */
.header .brand{gap:13px}
.header .brand-name{display:flex;flex-direction:column;justify-content:center;gap:5px;line-height:1.05}
.header .brand-name strong{font-family:"Manrope","Arial",sans-serif;font-size:18px;font-weight:650;letter-spacing:.055em;line-height:1.12;color:#1b3b55;text-transform:uppercase}
.header .brand-name small{font-family:"Inter","Arial",sans-serif;font-size:8.7px;font-weight:500;letter-spacing:.19em;line-height:1.25;color:#61758a;text-transform:uppercase}
@media(max-width:760px){.header .brand{gap:9px}.header .brand-name{gap:4px}.header .brand-name strong{font-size:14px;letter-spacing:.035em}.header .brand-name small{font-size:7px;letter-spacing:.09em}}
@media(max-width:380px){.header .brand-name strong{font-size:12.5px}.header .brand-name small{font-size:6.5px;letter-spacing:.05em}}

.studio-visuals{display:grid;grid-template-columns:1.15fr .9fr;gap:24px;margin:42px 0 34px;align-items:stretch}
.studio-photo{position:relative;min-height:380px;border-radius:24px;overflow:hidden;border:1px solid #d8e2e8;background:#eef3f6;box-shadow:0 18px 42px rgba(17,44,66,.08)}
.studio-photo img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.86) contrast(1.02) brightness(1.03)}
.studio-photo--reception img{object-position:center center}
.studio-photo--team img{object-position:center 24%}
.studio-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,44,66,.06) 0%,rgba(17,44,66,.18) 55%,rgba(17,44,66,.42) 100%)}
.studio-photo figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px 28px 26px;color:#fff}
.studio-photo figcaption .micro-label{display:inline-block;margin-bottom:10px;color:#d8ebf5}
.studio-photo figcaption p{margin:0;max-width:520px;font-size:14px;line-height:1.72;color:rgba(255,255,255,.94)}
.team-context{margin:-6px 0 20px}
.team-context p{max-width:760px;margin:0;color:#667989;font-size:14px;line-height:1.8}
@media (max-width:980px){.studio-visuals{grid-template-columns:1fr;gap:18px}.studio-photo{min-height:340px}}
@media (max-width:640px){.studio-photo{min-height:280px;border-radius:18px}.studio-photo figcaption{padding:20px 18px 18px}.studio-photo figcaption p,.team-context p{font-size:13px}}



/* V38 — integrazione editoriale: fotografie originali, senza filtri o crop */
.studio-editorial{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(265px,.68fr);align-items:center;gap:0;margin:65px 0 68px;position:relative}
.studio-editorial-photo{position:relative;margin:0;z-index:1;min-width:0}
.studio-editorial-photo img{display:block;width:100%;height:auto;filter:none!important;object-fit:contain;object-position:center;background:transparent}
.studio-editorial-story{position:relative;z-index:2;background:#f3f5f6;padding:clamp(30px,4.1vw,65px) clamp(26px,3.1vw,48px);margin-left:-39px;border-left:3px solid #b9ccd5;box-shadow:0 25px 58px #102a3a0b}
.editorial-overline{display:block;font-size:10px;letter-spacing:.18em;font-weight:700;color:#4b748b;line-height:1.4}
.editorial-year{display:flex;align-items:center;gap:15px;margin:20px 0 24px;font-size:clamp(51px,5.9vw,84px);line-height:.9;letter-spacing:-.08em;font-weight:500;color:#153e5e}
.editorial-year-rule{display:block;flex:1;height:1px;background:#aabdc8;margin-left:10px}
.studio-editorial-story h3{font-size:clamp(25px,2.7vw,39px);line-height:1.14;margin:0 0 18px;letter-spacing:-.04em}
.studio-editorial-story p{font-size:14px;line-height:1.9;color:#546b7b;max-width:360px;margin:0}
.team-editorial-intro{display:grid;grid-template-columns:minmax(230px,.6fr) minmax(0,1.4fr);align-items:center;gap:clamp(25px,4.8vw,75px);margin:64px 0 29px;padding:37px 0 0;border-top:1px solid #d5e0e7}
.team-editorial-text{align-self:center;padding:5px 0 25px}
.team-editorial-text h3{font-size:clamp(35px,4vw,57px);line-height:1.06;margin:17px 0 18px;letter-spacing:-.055em}
.team-editorial-text p{font-size:15px;line-height:1.82;color:#617687;max-width:270px}
.editorial-line{display:block;margin-top:30px;width:56px;height:2px;background:#2d769b}
.team-editorial-portrait{position:relative;min-width:0;margin:0;background:#f5f4f0}
.team-editorial-portrait img{width:100%;height:auto;display:block;object-fit:contain;object-position:center;filter:none!important}
.team{margin-top:12px}
@media(max-width:1050px){.studio-editorial{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr)}.studio-editorial-story{margin-left:-22px;padding:30px}}
@media(max-width:780px){.studio-editorial{grid-template-columns:1fr;margin:35px 0 48px}.studio-editorial-story{margin:-24px 14px 0 14px;padding:28px;box-shadow:0 12px 32px #102a3a0a}.team-editorial-intro{grid-template-columns:1fr;gap:13px;margin:45px 0 25px}.team-editorial-text{padding:0}.team-editorial-text p{max-width:none}.editorial-line{margin-top:14px}.team-editorial-portrait{width:100%}}
@media(max-width:520px){.studio-editorial-story{margin:-10px 0 0 0;border-left-width:2px}.studio-editorial-story h3{font-size:28px}.team-editorial-text h3{font-size:40px}.team-editorial-intro{padding-top:29px}}

/* V40 - geometric softness and accurate placement of the group image */
:root{--soft-radius:24px;--soft-radius-small:15px}
/* Full-width editorial images: inset corners rather than sharp viewport edges */
.hero-original{margin:12px 12px 0;border-radius:clamp(18px,2vw,30px);isolation:isolate;overflow:hidden}
.hero-original .hero-photo{border-radius:inherit;overflow:hidden}
.city-feature{margin:12px 12px 0;border-radius:clamp(18px,2vw,30px);overflow:hidden;isolation:isolate}
.city-feature-image{border-radius:inherit;overflow:hidden}
/* Real photos share a quieter, more contemporary silhouette */
#studio .photo-detail{border-radius:22px;overflow:hidden;box-shadow:0 12px 35px rgba(18,49,75,.08);outline:none}
#studio .photo-detail--interior{box-shadow:0 12px 35px rgba(18,49,75,.08)}
#studio .photo-detail--interior img{border-radius:inherit}
#studio .team-heading-v39{display:block;margin-bottom:24px}
#studio .team-heading-v39 .team-heading-copy{padding:0}
/* The whole group belongs to 'La struttura', not 'I professionisti' */
#studio .operational-team{margin-top:52px}
#studio .operational-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:20px 36px;align-items:center;margin-bottom:24px}
#studio .operational-head>div{grid-column:1;grid-row:1}
#studio .operational-head>p{grid-column:1;grid-row:2;align-self:start;max-width:540px}
#studio .operational-head>.photo-detail--collective{grid-column:2;grid-row:1 / span 2;justify-self:end;align-self:center;width:min(100%,345px);max-width:345px;aspect-ratio:1.5;border-radius:22px;background:#edf1f3;margin:0;overflow:hidden;box-shadow:0 12px 34px rgba(18,49,75,.08)}
#studio .operational-head>.photo-detail--collective img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:grayscale(.30) saturate(.56) contrast(1.035) brightness(.985)}
/* Cards / form controls: softer outer geometry, no novelty decorations */
.blog-card,.operational-grid>div,.contact-form,.empty-blog{border-radius:18px}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea,.blog-toolbar input,.blog-toolbar select{border-radius:10px}
@media(max-width:900px){#studio .operational-head{grid-template-columns:1fr 260px;gap:20px}#studio .operational-head>div{grid-column:1;grid-row:1}#studio .operational-head>p{grid-column:1;grid-row:2}#studio .operational-head>.photo-detail--collective{grid-column:2;grid-row:1/span 2;width:100%;}}
@media(max-width:680px){.hero-original,.city-feature{margin:8px 8px 0;border-radius:20px}#studio .photo-detail{border-radius:18px}#studio .operational-head{display:flex;flex-direction:column;align-items:flex-start;gap:15px}#studio .operational-head>.photo-detail--collective{width:min(100%,310px);align-self:flex-end;aspect-ratio:1.5;margin:3px 0 4px}}



/* V32: soltanto il lettering della testata */
.header .brand-name{gap:1px;line-height:1.06}
.header .brand-name strong{font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:500;letter-spacing:-.035em;text-transform:none;color:#173c56;line-height:1.05}
.header .brand-name small{font-family:Arial,"Helvetica Neue",sans-serif;font-size:10px;font-weight:400;letter-spacing:.045em;text-transform:none;color:#5c7180;line-height:1.25;margin-top:2px}
@media(max-width:760px){.header .brand-name strong{font-size:21px;letter-spacing:-.03em}.header .brand-name small{font-size:8.5px;letter-spacing:.01em}}



/* V39 - immagini come dettagli editoriali discreti, non sezioni protagoniste */
#studio .heritage-with-image{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(24px,4vw,64px);align-items:center;margin:66px 0 77px}
#studio .heritage-v39{margin:0;align-items:center}
#studio .photo-detail{margin:0;position:relative;overflow:hidden;background:#e9edef}
#studio .photo-detail img{display:block;width:100%;height:auto;filter:grayscale(.30) saturate(.56) contrast(1.035) brightness(.985);transition:filter .2s}
#studio .photo-detail--interior{width:100%;aspect-ratio:4/3;display:flex;align-items:center;box-shadow:12px 12px 0 #e6edf1}
#studio .photo-detail--interior img{height:100%;object-fit:contain}
#studio .team-heading-v39{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(25px,4vw,68px);border-top:1px solid #d5e0e7;padding-top:31px;margin:0 0 32px}
#studio .team-heading-v39 .team-heading-copy{flex:1 1 auto;padding-bottom:10px}
#studio .team-heading-v39 h3{margin:0 0 12px;font-size:clamp(34px,3.5vw,50px)}
#studio .team-heading-v39 p{margin:0;color:#617687;font-size:15px;line-height:1.7}
#studio .photo-detail--people{width:min(34%,310px);flex:0 0 auto;align-self:center;background:#eceff0;outline:1px solid #d5e0e7;outline-offset:7px}
#studio .photo-detail--people img{width:100%;height:auto;object-fit:contain}
#studio .team{margin-top:18px}
@media(max-width:1100px){#studio .heritage-with-image{grid-template-columns:minmax(0,1fr) 260px;gap:25px}}
@media(max-width:760px){#studio .heritage-with-image{grid-template-columns:1fr;gap:26px;margin:38px 0 55px}#studio .photo-detail--interior{width:min(100%,370px);justify-self:end}#studio .team-heading-v39{align-items:center}#studio .photo-detail--people{width:36%;min-width:150px}}
@media(max-width:520px){#studio .heritage-with-image{gap:24px}#studio .team-heading-v39{align-items:flex-start;gap:18px}#studio .team-heading-v39 h3{font-size:30px}#studio .team-heading-v39 p{font-size:13px}#studio .photo-detail--people{width:42%;min-width:0;outline-offset:4px}#studio .photo-detail--interior{width:82%;aspect-ratio:auto}}



/* V41: original professional portraits, editorial treatment */
#studio .team{gap:clamp(17px,2.3vw,32px);align-items:start}
#studio .team article{min-width:0;padding-top:0;border-top:none;background:transparent}
#studio .team .professional-portrait{position:relative;display:block;margin:0 0 24px;border-radius:20px;overflow:hidden;background:#e9edf0;aspect-ratio:1.28/1;isolation:isolate}
#studio .team .professional-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 39%;filter:saturate(.77) contrast(1.035) brightness(.995);transition:transform .5s ease}
#studio .team article:hover .professional-portrait img{transform:scale(1.025)}
#studio .team h4{margin-top:0;margin-bottom:11px}
#studio .team article>a{display:inline-block;margin-top:2px}
@media(max-width:850px){#studio .team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#studio .team{grid-template-columns:1fr;gap:34px}#studio .team article{max-width:520px}#studio .team .professional-portrait{aspect-ratio:1.45/1;margin-bottom:16px;border-radius:17px}#studio .team h4 br{display:none}}
@media(prefers-reduced-motion:reduce){#studio .team .professional-portrait img{transition:none}#studio .team article:hover .professional-portrait img{transform:none}}



/* V44 - hero slider dinamico da destra verso sinistra */
.hero-slider-mode{position:relative}
.hero-slider-mode.hero-original:before{background:linear-gradient(90deg,rgba(7,32,51,.78) 0%,rgba(7,32,51,.66) 34%,rgba(7,32,51,.30) 72%,rgba(7,32,51,.12) 100%) !important}
.hero-slider-shell{position:absolute;inset:0;overflow:hidden}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;margin:0;transform:translate3d(100%,0,0);opacity:1;visibility:hidden;pointer-events:none;transition:transform 1.02s cubic-bezier(.22,.61,.36,1),visibility 0s linear 1.02s;will-change:transform}
.hero-slide.is-active,.hero-slide.is-prev{visibility:visible;transition:transform 1.02s cubic-bezier(.22,.61,.36,1),visibility 0s}
.hero-slide.is-active{transform:translate3d(0,0,0);z-index:2}
.hero-slide.is-prev{transform:translate3d(-100%,0,0);z-index:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.98) brightness(.99) contrast(1.05)}
.hero-slide-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,23,33,.03) 0%,rgba(8,23,33,.18) 100%)}
.hero-figure-logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}
.hero-figure-logo img{width:min(33vw,410px);height:auto;opacity:.18;filter:drop-shadow(0 18px 42px rgba(0,0,0,.12))}
.hero-slide-caption{position:absolute;left:clamp(22px,5vw,82px);bottom:clamp(88px,11vw,122px);z-index:2;max-width:min(440px,60vw);padding:13px 18px;border-radius:18px;background:rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.15);box-shadow:0 16px 32px rgba(0,0,0,.08);font-size:clamp(12.5px,1.12vw,14px);line-height:1.5;letter-spacing:.01em;color:#fff}
.hero-slide-dots{position:absolute;right:clamp(22px,5vw,82px);bottom:clamp(36px,4.4vw,48px);z-index:4;display:flex;gap:10px}
.hero-dot{width:11px;height:11px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:transparent;padding:0;box-shadow:none;appearance:none}
.hero-dot.is-active{background:#fff;border-color:#fff}
.hero-dot:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:980px){.hero-slide-caption{max-width:min(74vw,430px);bottom:112px}}
@media(max-width:700px){.hero-slider-mode.hero-original:before{background:linear-gradient(180deg,rgba(7,32,51,.65) 0%,rgba(7,32,51,.55) 35%,rgba(7,32,51,.68) 100%) !important}.hero-slide-caption{left:18px;right:18px;max-width:none;bottom:110px;padding:12px 15px;border-radius:16px;font-size:12.5px}.hero-slide-dots{right:18px;bottom:30px}.hero-content{padding-bottom:185px !important}.hero-bottom{gap:24px}}
@media(max-width:700px){.hero-figure-logo img{width:min(62vw,300px);opacity:.16}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none;visibility:hidden}.hero-slide.is-active{visibility:visible}}



/* V45: photographed hero, overlaid logo and synchronized title */
#inizio.hero-slider-mode{position:relative;isolation:isolate}
#inizio.hero-slider-mode::before{z-index:1 !important}
#inizio .hero-slider-shell{z-index:0 !important}
#inizio .hero-slide > img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important;filter:saturate(1) contrast(1.045) brightness(1) !important}
#inizio .hero-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,16,29,.06),rgba(0,16,29,.02))}
#inizio .hero-watermark{position:absolute;z-index:2;top:12%;right:9%;width:min(30vw,390px);height:65%;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.28}
#inizio .hero-watermark img{width:100%;height:100%;object-fit:contain;display:block;filter:brightness(0) invert(1) drop-shadow(0px 8px 16px rgba(0,0,0,.10));opacity:1}
#inizio .hero-content{z-index:3}
#inizio .hero-original h1,#inizio.hero-original h1{font-size:clamp(3rem,6.1vw,6.65rem) !important;max-width:980px;letter-spacing:-.06em;transition:opacity .24s ease,transform .24s ease}
#inizio #heroHeadline.is-switching{opacity:.20;transform:translateY(8px)}
#inizio .hero-slide-dots{z-index:4}
#inizio .hero-slide-caption{display:none !important}
@media(max-width:850px){#inizio .hero-watermark{right:4%;top:20%;width:34vw;height:50%;opacity:.23}#inizio.hero-original h1{font-size:clamp(2.7rem,8.5vw,4.3rem) !important}}
@media(max-width:540px){#inizio .hero-watermark{right:1%;top:9%;width:50vw;height:48%;opacity:.20}#inizio.hero-original h1{font-size:clamp(2.5rem,10vw,3.3rem) !important}#inizio .hero-content{padding-top:100px !important}}
@media(prefers-reduced-motion:reduce){#inizio #heroHeadline{transition:none !important}}



/* V46: carefully calibrated visual rhythm */
:root{--section-radius:clamp(21px,2.4vw,34px)}
body{background:#f8f9fa}
/* Hero: each logo belongs to its photo, not fixed on the right. */
#inizio .hero-slide{transition:transform 1.50s cubic-bezier(.65,0,.35,1),visibility 0s linear 1.50s;}
#inizio .hero-slide.is-active,#inizio .hero-slide.is-prev{transition:transform 1.50s cubic-bezier(.65,0,.35,1),visibility 0s linear 0s;}
#inizio .hero-slide .hero-watermark{
  position:absolute;z-index:2;inset:0;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;pointer-events:none;
  opacity:1;transform:none;
}
#inizio .hero-slide .hero-watermark img{
  position:relative!important;inset:auto!important;width:min(25vw,340px)!important;
  height:auto!important;max-height:55%!important;object-fit:contain!important;
  filter:brightness(0) invert(1)!important;opacity:.135!important;
  transform:translateY(-5%); /* centred in the photograph, not anchored at the right edge */
}
#inizio #heroHeadline{transition:opacity .4s ease,transform .4s ease}
#inizio #heroHeadline.is-switching{opacity:.14;transform:translateY(10px)}
/* More understated tonal grading on the two real studio photographs; the original files stay untouched. */
#studio .photo-detail--interior img,
#studio .photo-detail--collective img{
  filter:grayscale(.14) saturate(.76) contrast(1.06) brightness(1.045) sepia(.018)!important;
}
/* Professionals are intentionally not subject to the new grading. */
/* Rounded approach panel with actual photo background and quiet navy overlay. */
#approccio.approach{
  position:relative;isolation:isolate;overflow:hidden;
  margin:clamp(10px,1.3vw,18px) clamp(10px,1.3vw,18px) 0;
  border-radius:var(--section-radius);background:#123b59;color:#fff;
}
#approccio.approach::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:url('milano-2.jpg') center 48%/cover no-repeat;
  filter:saturate(.72) contrast(1.04);opacity:.58;
}
#approccio.approach::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(103deg,rgba(8,32,52,.95) 0%,rgba(9,38,61,.89) 40%,rgba(10,43,65,.72) 100%);
}
#approccio.approach>.shell{position:relative;z-index:2}
#approccio .steps>div{border-color:rgba(197,220,236,.32)}
#approccio .section-tag{color:#bedbec}
#approccio .approach-intro>p,#approccio .steps p{color:#e1edf3}
/* The last two sections read as part of the same editorial system, not hard full-width colour bands. */
#blog.blog-section{
  width:calc(100% - clamp(20px,2.6vw,36px));
  max-width:calc(1440px - 36px);
  margin:clamp(10px,1.3vw,18px) auto 0;
  border-radius:var(--section-radius);
  border:1px solid #e6edf1;
  background:#fff;
  box-shadow:0 8px 35px rgba(20,50,68,.035);
  padding-left:clamp(24px,5vw,82px);padding-right:clamp(24px,5vw,82px);
}
#contatti.contact-section{
  margin:clamp(10px,1.3vw,18px) clamp(10px,1.3vw,18px) 0;
  border-radius:var(--section-radius);
  overflow:hidden;background:#eaf1f5;
  border:1px solid #dfe9ef;
}
#blog .blog-card,#blog .empty-blog{border-radius:18px}
#contatti .contact-form{border-radius:22px}
.footer{margin-top:clamp(10px,1.3vw,18px)}
@media(max-width:800px){
 #inizio .hero-slide .hero-watermark img{width:min(33vw,270px)!important;transform:translateY(-5%)}
 #blog.blog-section{padding-left:24px;padding-right:24px}
}
@media(max-width:600px){
 #inizio .hero-slide .hero-watermark img{width:42vw!important;opacity:.11!important;transform:translateY(-10%)}
 #approccio.approach,#contatti.contact-section{margin:9px 9px 0;border-radius:22px}
 #blog.blog-section{width:calc(100% - 18px);margin:9px auto 0;border-radius:22px;padding:70px 19px}
}
@media(prefers-reduced-motion:reduce){#inizio .hero-slide,#inizio .hero-slide.is-active,#inizio .hero-slide.is-prev{transition:none}}



/* V47: maggiore equilibrio e allineamento senza sacrificare leggibilita */
#studio .studio-layout,#servizi.services,#approccio .shell,#contatti .shell{max-width:1320px;margin-left:auto;margin-right:auto}
#studio .studio-body,#studio .intro-columns,#studio .team,#studio .operational-team{width:100%;max-width:1090px;margin-left:auto;margin-right:auto}
#studio .studio-body h2{margin-left:auto;margin-right:auto;text-align:center}
#studio .intro-columns{justify-content:center}
#studio .heritage-with-image{max-width:1090px;margin-left:auto;margin-right:auto}
#studio .team-heading,#studio .operational-team{max-width:1090px;margin-left:auto;margin-right:auto}
#servizi .service-head{max-width:1090px;margin-left:auto;margin-right:auto}
#servizi .service-head h2{max-width:750px}
#approccio .approach-grid{max-width:1100px;margin-left:auto;margin-right:auto}
#contatti .contact-grid{max-width:1100px;margin-left:auto;margin-right:auto}
/* Il blog non e una card: stesso fondo dell'intera pagina, senza arrotondamenti o bordo */
#blog.blog-section{width:100%;max-width:1320px;margin:0 auto;border-radius:0;border:0;box-shadow:none;background:transparent;padding-left:clamp(22px,5vw,82px);padding-right:clamp(22px,5vw,82px)}
#blog .blog-head,#blog .blog-toolbar,#blog .blog-status,#blog .blog-list,#blog .blog-disclaimer{max-width:1100px;margin-left:auto;margin-right:auto}
#blog .blog-head{align-items:center}
#blog .blog-head h2{max-width:700px}
#blog .empty-blog{text-align:center}
#blog .empty-blog h3,#blog .empty-blog p{margin-left:auto;margin-right:auto}
@media(max-width:900px){#studio .studio-body h2{text-align:left}}
@media(max-width:600px){#blog.blog-section{width:100%;max-width:none;margin:0;padding:70px 22px;border-radius:0}#studio .studio-body h2{text-align:left}}



/* V48: centre the entire Studio section, not just its heading */
#studio .studio-layout{
  display:block;
  width:100%;
  max-width:1240px;
  margin-inline:auto;
}
#studio .studio-layout>.section-tag{
  width:100%;
  max-width:1090px;
  margin:0 auto 30px;
  text-align:center;
}
#studio .studio-body{
  width:100%;
  max-width:1090px;
  margin-inline:auto;
}
#studio .studio-body>h2{
  max-width:950px;
  margin:0 auto 42px;
  text-align:center;
}
#studio .intro-columns,
#studio .heritage-with-image,
#studio .team-heading,
#studio .team,
#studio .operational-team{
  max-width:1090px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:680px){
  #studio .studio-layout>.section-tag{text-align:left;margin-bottom:24px}
  #studio .studio-body>h2{text-align:left;margin-bottom:28px}
}

/* V49: accessibility/typographic maintenance (visual language intentionally conserved). */
:root{color-scheme:light}
html{scroll-padding-top:100px}
.hero-slider-mode .hero-controls{position:absolute;z-index:8;right:clamp(22px,5vw,82px);bottom:clamp(33px,4.4vw,46px);display:flex;align-items:center;gap:20px}
.hero-slider-mode .hero-slide-dots{position:static;display:flex;align-items:center;gap:11px}
.hero-pause{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.65);width:32px;height:32px;border-radius:50%;background:#0b253a55;color:white;font-size:15px;line-height:1}
.hero-pause:hover{background:#ffffff35}
.hero-pause:focus-visible{outline:3px solid white;outline-offset:3px}
#inizio .hero-slide.is-active{visibility:visible}
#blog.blog-section{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.blog-toolbar input:focus-visible,.blog-toolbar select:focus-visible{border-color:#1d5d80}
.blog-toolbar[hidden]{display:none!important}
.contact-email-alternative{margin-top:12px;font-size:13px;line-height:1.6;color:#526579}
.contact-email-alternative a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
@media(max-width:700px){.hero-slider-mode .hero-controls{right:17px;bottom:25px}.hero-slide-dots{bottom:auto!important;right:auto!important}.hero-pause{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#inizio #heroHeadline{transition:none!important}}

/* V50: synchronized horizontal hero transition and always-visible article search */
#inizio .hero-slide{visibility:visible!important;opacity:1!important;will-change:transform;backface-visibility:hidden;}
#inizio .hero-slide:not(.is-active):not(.is-prev){pointer-events:none;}
#blog .blog-toolbar,#blog .blog-toolbar[hidden]{display:grid!important;visibility:visible!important;}
@media(max-width:650px){#blog .blog-toolbar,#blog .blog-toolbar[hidden]{grid-template-columns:1fr!important;}}
@media(prefers-reduced-motion:reduce){#inizio .hero-slide{transition:none!important;}}

/* V52 - slide 2: consistent visual framing with slides 1 and 3. */




/* V56: hero transition resa uniforme per eliminare il salto percepito tra 1, 2 e 3 */
#inizio .hero-slide{
  opacity:0 !important;
  visibility:hidden !important;
  transform:none !important;
  transition:opacity 1.05s ease, visibility 0s linear 1.05s !important;
}
#inizio .hero-slide.is-active,
#inizio .hero-slide.is-prev{
  visibility:visible !important;
  transition:opacity 1.05s ease, visibility 0s linear 0s !important;
}
#inizio .hero-slide.is-active{opacity:1 !important;z-index:2}
#inizio .hero-slide.is-prev{opacity:0 !important;z-index:1}
#inizio .hero-slide > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transition:transform 1.05s ease !important;
}
#inizio .hero-slide:nth-child(2) > img{
  transform:scale(1.06) !important;
}
@media(max-width:700px){
  #inizio .hero-slide:nth-child(2) > img{transform:scale(1.04) !important;}
}
@media(prefers-reduced-motion:reduce){
  #inizio .hero-slide,
  #inizio .hero-slide.is-active,
  #inizio .hero-slide.is-prev{
    transition:none !important;
  }
}


/* V69 - intestazione piu leggibile e testi descrittivi giustificati. */
.header .brand-name strong{font-size:34px;line-height:1.04;letter-spacing:-.035em}
.header .brand-name small{font-size:12px;line-height:1.3;letter-spacing:.025em;margin-top:3px}
/* Il testo giustificato si applica ai paragrafi discorsivi, non a titoli, etichette o controlli. */
#inizio .hero-bottom p,
#studio .intro-columns p,
#studio .heritage p,
#studio .team article p,
#studio .operational-head p,
#servizi .service-head > p,
#servizi .category-intro p,
#servizi .detail-copy p,
#approccio .approach-intro > p,
#approccio .steps p,
#blog .blog-head p,
#blog .blog-card p,
#contatti .contact-grid > div > p{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}
@media(max-width:1150px){
  .header .brand-name strong{font-size:30px}
  .header .brand-name small{font-size:10.5px}
}
@media(max-width:760px){
  .header .brand-name strong{font-size:24px}
  .header .brand-name small{font-size:9px;letter-spacing:.015em}
}
@media(max-width:380px){
  .header .brand-name strong{font-size:21px}
  .header .brand-name small{font-size:8px}
}

/* V75: paginazione numerata del solo Blog */
#blog .blog-pagination{max-width:1100px;margin:25px auto 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#blog .blog-pagination[hidden]{display:none!important}
#blog .blog-pagination-info{font-size:12px;color:#617e92}
#blog .blog-pagination-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
#blog .blog-pagination-controls button{background:#fff;color:#243e55;border:1px solid #ccdae3;border-radius:9px;padding:8px 12px;min-width:39px;min-height:40px;font-size:13px;font-weight:600}
#blog .blog-pagination-controls button.is-current{background:#243e55;color:#fff;border-color:#243e55}
#blog .blog-pagination-controls button:disabled{opacity:.4;cursor:default}
#blog .blog-pagination-controls button:not(:disabled):hover{border-color:#247aa3}
#blog .blog-pagination-dots{padding:0 4px;color:#617e92}
@media(max-width:650px){#blog .blog-pagination{justify-content:center;text-align:center}#blog .blog-pagination-info{width:100%}#blog .blog-pagination-controls{justify-content:center}#blog .blog-pagination-controls button{padding:8px 10px;min-width:35px}}
