html{scroll-padding-top:110px}
body{overflow-wrap:break-word}
header{position:sticky;top:0;z-index:50;background:#172b40;transition:box-shadow .25s}
header.has-scrolled{box-shadow:0 5px 24px #07182726}
.nav{height:98px;min-height:98px;flex-wrap:nowrap;justify-content:space-between;padding:15px 40px;gap:28px}
.brand-art{width:280px}
.site-nav{gap:20px;font-size:12px}
.site-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;transition:color .2s}
.site-nav a:not(.nav-contact)::after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:#9fd0cc;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}
.menu-toggle{display:none}
.hero.photo-hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:clamp(590px,73svh,740px);max-width:none;margin:0;padding:64px 28px 116px;text-align:center;background:#172b40;overflow:hidden;touch-action:pan-y pinch-zoom}
.hero-slides,.hero-slide,.photo-hero-shade{position:absolute;inset:0}
.hero-slides{z-index:-2;overflow:hidden}
.hero-slide{opacity:0;transition:opacity 2.2s cubic-bezier(.4,0,.2,1);pointer-events:none}
.hero-slide.is-active{opacity:1}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78)}
.hero-slide--cassazione img{object-position:50% 55%}
.hero-slide--bari img{object-position:50% 10%}
.hero-slide--consiglio img{object-position:40% 50%}
.photo-hero-shade{z-index:-1;background:linear-gradient(180deg,#172b40 0%,rgba(23,43,64,.65) 12%,rgba(15,32,49,.48) 45%,rgba(15,32,49,.75) 100%),linear-gradient(90deg,#132b4445,#132b441f)}
.photo-hero .hero-content{width:100%;max-width:950px;margin:auto;position:relative}
.photo-hero h1{text-shadow:0 2px 18px #0b192f44}
.photo-hero .hero-subtitle{color:#fff;text-shadow:0 1px 8px #09182c66}
.photo-hero .hero-kicker{color:#d2eeec}
.photo-hero .hero-description{color:#e9eff3}
.hero-controls{position:absolute;right:32px;bottom:46px;display:flex;align-items:center;color:#fff}
.hero-controls[hidden]{display:none}
.hero-controls button{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%;background:#142b4266;color:inherit;cursor:pointer;touch-action:manipulation;transition:background .2s,border-color .2s}
.hero-controls button:hover{background:#137d80;border-color:#bde2e0}
.hero-controls button:focus-visible,.menu-toggle:focus-visible{outline:2px solid #c5eeeb;outline-offset:4px}
.hero-controls .slide-playback{font-size:16px}
.button{min-height:48px;transition:background .2s,box-shadow .2s,transform .2s}
.button:hover{box-shadow:0 6px 18px #102b4329;transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.area{transition:background .25s,box-shadow .25s,border-color .25s}
.area:hover{background:#edf4f5;border-top-color:#1a545e;box-shadow:0 8px 28px #1938490d}
summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:Arial,sans-serif;font-size:21px;font-weight:normal;line-height:1;flex:0 0 auto;transition:transform .2s}
details[open]>summary::after{content:"−"}
.assistance-grid details{margin-bottom:0;padding-bottom:0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal.is-visible{opacity:1;transform:none}
.photo-credit a{text-decoration:underline;text-underline-offset:3px}
.field input,.field textarea{min-height:48px;font-size:16px}
.field label{font-size:13px}
.copy,.text-link{touch-action:manipulation}
@media(max-width:1250px) and (min-width:1101px){.nav{padding-left:28px;padding-right:28px;gap:22px}.brand-art{width:250px}.site-nav{gap:14px;font-size:11px}}
@media(max-width:1100px){
 .nav{height:auto;min-height:90px;padding:16px 28px;flex-wrap:wrap;gap:12px 24px}
 .brand-art{width:250px}
 .site-nav{width:100%;justify-content:center;flex-wrap:wrap;font-size:13px;gap:4px 24px}
 .nav-ready .nav{height:90px;min-height:90px;flex-wrap:nowrap}
 .nav-ready .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:78px;min-height:44px;padding:8px 4px;border:0;background:transparent;color:#f0f4f5;font-size:12px;cursor:pointer}
 .menu-icon{display:block;width:21px;height:14px;position:relative;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:border-color .2s}
 .menu-icon::after,.menu-icon::before{content:"";position:absolute;left:0;right:0;top:5.5px;height:1px;background:currentColor;transition:transform .2s}
 .menu-toggle[aria-expanded="true"] .menu-icon{border-color:transparent}
 .menu-toggle[aria-expanded="true"] .menu-icon::before{transform:rotate(45deg)}
 .menu-toggle[aria-expanded="true"] .menu-icon::after{transform:rotate(-45deg)}
 .nav-ready .site-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 28px 22px;background:#172b40;box-shadow:0 16px 22px #0a192b26;max-height:calc(100dvh - 90px);overflow:auto}
 .nav-ready .site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:1px}
 .nav-ready .site-nav a{padding:8px 6px;font-size:15px;border-bottom:1px solid #ffffff12;min-height:46px}
 .site-nav a:not(.nav-contact)::after{display:none}
 .nav-ready .site-nav .nav-contact{color:#b5e3df;margin-top:4px;border-bottom-color:#71aba7}
}
@media(max-width:750px){
 html{scroll-padding-top:100px}
 .nav{padding:13px 20px;gap:14px}
 .nav-ready .nav{height:82px;min-height:82px}
 .brand{flex:0 1 220px;min-width:0}
 .brand-art{width:100%;max-width:none}
 .nav-ready .menu-toggle{flex:0 0 78px}
 .nav-ready .site-nav{max-height:calc(100dvh - 82px);padding:8px 20px 20px}
 .hero.photo-hero{min-height:590px;min-height:clamp(570px,calc(100svh - 82px),710px);padding:48px 23px 120px}
 .photo-hero h1{font-size:clamp(31px,8.3vw,45px);line-height:1.14;letter-spacing:-.7px;margin-bottom:25px}
 .photo-hero .hero-kicker{font-size:9px;letter-spacing:3px;margin-bottom:22px}
 .photo-hero .hero-subtitle{font-size:17px;line-height:1.6;margin-bottom:20px}
 .photo-hero .hero-description{font-size:13px;margin-bottom:20px}
 .photo-hero .button{font-size:13px;padding:14px 18px;gap:22px}
 .photo-hero .hero-social{margin-top:20px;min-height:32px;padding-top:4px}
 .hero-controls{right:22px;bottom:42px}
 .photo-hero-shade{background:linear-gradient(180deg,#172b40 0%,rgba(23,43,64,.65) 14%,rgba(15,32,49,.57) 54%,rgba(15,32,49,.8) 100%)}
 .hero-slide--cassazione img{object-position:50% 50%}
 .hero-slide--consiglio img{object-position:38% 50%}
 .studio-panel{padding:32px 25px;gap:22px;margin-top:-24px}
 .profile-text p,.area p,.business-services p,.enquiry-intro p{font-size:15px;line-height:1.8}
 .heading h2,.enquiry h2{font-size:34px}
 .method{gap:16px}
 .method p{font-size:12px}
 .assistance-grid .area{padding:25px}
 .form-actions{align-items:stretch;gap:10px}
 .form-actions .button{justify-content:space-between;width:100%}
 .form-actions .copy{min-height:44px;margin-top:4px}
 .contact{padding:25px}
 .contact .copy{min-height:44px}
 footer{padding:32px 25px!important}
 .footer-row a{display:inline-flex;align-items:center;min-height:40px}
 .footer-note{line-height:1.8}
}
@media(max-width:360px){.hero.photo-hero{padding-left:20px;padding-right:20px}.photo-hero h1{font-size:30px}.photo-hero .hero-subtitle{font-size:16px}.photo-hero .button{font-size:12px;gap:14px}.method{grid-template-columns:1fr;gap:8px}.method h3{margin-bottom:5px}.method p{margin-bottom:8px}.studio-panel{margin-left:12px;margin-right:12px;padding:30px 23px}.heading h2,.contact h2{font-size:31px}.wrap{padding-left:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.hero-controls button,.slide-dot::after,.button,.area,.reveal,.menu-icon,.menu-icon::before,.menu-icon::after{transition:none!important}.hero-slide.is-active img{animation:none}.reveal{opacity:1;transform:none}.button:hover{transform:none}}
@media print{header{position:static}.reveal{opacity:1;transform:none}.hero-controls,.menu-toggle{display:none!important}}
