/* Studio Legale Cascasi & Bianchi — foglio di stile unico */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--navy:#0d1f35;--navy2:#162944;--navy3:#1e3a5f;--gold:#b89a5a;--gold2:#d4b87a;--cream:#f7f4ef;--white:#fff;--text:#20242a;--muted:#667085;--border:#e4ddd3;--danger:#b42318;--success:#287d3c;--shadow:0 14px 40px rgba(13,31,53,.1);--radius:14px}
html{scroll-behavior:smooth}
body{min-width:320px;background:var(--white);color:var(--text);font-family:"Jost",sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
a{color:inherit}button,input,select,textarea{font:inherit}img,svg{display:block;max-width:100%}
.container{width:min(calc(100% - 48px),1120px);margin-inline:auto}
.skip-link{position:fixed;top:12px;left:12px;z-index:10000;padding:10px 14px;border-radius:8px;background:#fff;color:var(--navy);font-weight:600;transform:translateY(-160%);transition:.2s}.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Intestazione */
.topbar{background:var(--navy);color:rgba(255,255,255,.76);font-size:13px}.topbar-inner{display:flex;min-height:40px;align-items:center;justify-content:center;gap:14px;padding-block:8px;text-align:center}.topbar-emails{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.topbar a{color:var(--gold2);font-weight:500;text-decoration:none}.topbar a:hover{text-decoration:underline;text-underline-offset:3px}
.header{position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border);background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:82px;align-items:center;gap:24px}.brand{display:inline-flex;width:fit-content;flex-direction:column;color:var(--navy);line-height:1.12;text-decoration:none}.brand-name{font-family:"Cormorant Garamond",serif;font-size:clamp(21px,2.2vw,26px);font-weight:700}.brand-subtitle{margin-top:4px;color:var(--gold);font-size:10px;font-weight:500;letter-spacing:2.1px;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:4px}.nav a{padding:9px 11px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.5px;text-decoration:none;text-transform:uppercase;transition:.2s}.nav a:hover,.nav a.active{background:var(--cream);color:var(--navy)}.nav a.active{font-weight:600}.nav .nav-cta{margin-left:6px;padding-inline:16px;background:var(--navy);color:#fff}.nav .nav-cta:hover{background:var(--navy2);color:var(--gold2)}
.nav-toggle{display:none;width:44px;height:44px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--navy);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}.nav-toggle span{width:21px;height:2px;border-radius:2px;background:currentColor;transition:.2s}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero e sezioni */
.hero,.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--navy2) 62%,var(--navy3));color:#fff}.hero::before,.page-hero::before{position:absolute;inset:0;background:radial-gradient(ellipse 720px 480px at 85% 50%,rgba(184,154,90,.13),transparent 70%);content:"";pointer-events:none}.hero{padding:100px 0 92px}.hero-inner,.page-hero .container{position:relative}.hero-inner{max-width:760px}.hero-eyebrow,.section-label{color:var(--gold2);font-size:11px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase}.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px}.hero-eyebrow::before{width:32px;height:1px;background:var(--gold);content:""}.hero h1,.page-hero h1,.section h2,.cta-banner h2,.area-index-section h2{font-family:"Cormorant Garamond",serif}.hero h1{max-width:760px;margin-bottom:22px;font-size:clamp(40px,6.5vw,66px);font-weight:600;letter-spacing:-.5px;line-height:1.06}.hero h1 em{color:var(--gold2);font-style:italic}.hero-sub{max-width:640px;margin-bottom:36px;color:rgba(255,255,255,.76);font-size:17px;font-weight:300}.hero-btns{display:flex;gap:14px;flex-wrap:wrap}.page-hero{padding:66px 0 58px}.page-hero h1{margin-bottom:14px;font-size:clamp(34px,5vw,54px);font-weight:600;line-height:1.08}.page-hero-sub{max-width:650px;color:rgba(255,255,255,.7);font-size:16px;font-weight:300}
.section{padding:78px 0}.section-cream{background:var(--cream)}.section-label{margin-bottom:10px;color:var(--gold)}.divider{width:48px;height:2px;margin-bottom:20px;background:var(--gold)}.section h2,.area-index-section h2{max-width:800px;margin-bottom:20px;color:var(--navy);font-size:clamp(30px,4vw,42px);font-weight:600;line-height:1.14}.section-intro,.section>.container>p:not(.section-label){max-width:760px;color:#475467;font-size:16px;font-weight:300}
.btn-primary,.btn-outline,.btn-gold,.btn-submit{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:13px 28px;border:0;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:1.2px;text-align:center;text-decoration:none;text-transform:uppercase;transition:.2s}.btn-primary,.btn-gold{background:var(--gold);color:var(--navy)}.btn-primary:hover,.btn-gold:hover{background:var(--gold2);transform:translateY(-1px)}.btn-outline{border:1px solid rgba(255,255,255,.34);background:transparent;color:rgba(255,255,255,.9)}.btn-outline:hover{border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.08)}.text-link{color:var(--gold);font-size:13px;font-weight:600;text-decoration:none}.text-link:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px}

/* Homepage e valori */
.home-cards,.home-reasons,.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}.home-card,.reason-card,.value-card{border:1px solid var(--border);border-radius:var(--radius);transition:.2s}.home-card{display:flex;min-height:290px;flex-direction:column;padding:30px 26px;background:var(--cream);text-decoration:none}.reason-card,.value-card{padding:30px 26px;background:#fff}.home-card:hover,.reason-card:hover,.value-card:hover{border-color:rgba(184,154,90,.75);box-shadow:var(--shadow);transform:translateY(-3px)}.card-number,.reason-number,.value-number{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;margin-bottom:18px;border-radius:50%;background:var(--navy);color:var(--gold2);font-family:"Cormorant Garamond",serif;font-size:17px;font-weight:700}.home-card h3,.reason-card h3,.value-card h3{margin-bottom:11px;color:var(--navy);font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:600;line-height:1.2}.home-card p,.reason-card p,.value-card p{color:var(--muted);font-size:14px;line-height:1.7}.home-card .card-link{margin-top:auto;padding-top:18px;color:var(--gold);font-size:13px;font-weight:600}

/* Professionisti */
.professionals-grid{display:grid;gap:34px;margin-top:44px}.professional-card{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.55fr);overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(13,31,53,.06)}.professional-card:nth-child(even){grid-template-columns:minmax(0,1.55fr) minmax(240px,.72fr)}.professional-card:nth-child(even) .professional-photo{grid-column:2;grid-row:1}.professional-card:nth-child(even) .professional-content{grid-column:1;grid-row:1}.professional-photo{min-height:480px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.35),transparent 34%),linear-gradient(145deg,#d8e0e8,#b7c5d3);color:rgba(13,31,53,.58)}.professional-photo img{width:100%;height:100%;object-fit:cover}.professional-photo span{font-family:"Cormorant Garamond",serif;font-size:66px;font-weight:700;line-height:1}.professional-photo small{font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase}.professional-content{padding:38px 38px 34px}.professional-content h2{margin-bottom:8px}.professional-register{margin-bottom:20px;color:var(--gold);font-size:13px;font-weight:600}.professional-bio p{margin-bottom:14px;color:#475467;font-size:14px}.professional-contacts{display:grid;gap:9px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.professional-contacts div,.office-card dl div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px}.professional-contacts dt,.office-card dt{color:var(--gold);font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}.professional-contacts dd,.office-card dd{min-width:0;color:#475467;font-size:13px}.professional-contacts a,.office-card a{overflow-wrap:anywhere;color:var(--navy);text-decoration:none}.professional-contacts a:hover,.office-card a:hover{color:var(--gold)}

/* Aree di attività */
.area-index-section{padding:38px 0;border-bottom:1px solid var(--border);background:var(--cream)}.area-index-section h2{font-size:clamp(25px,3vw,34px)}.area-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.area-index a{display:flex;min-height:50px;align-items:center;gap:11px;padding:12px 15px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--navy);font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;transition:.2s}.area-index a span{color:var(--gold);font-family:"Cormorant Garamond",serif;font-size:17px;font-weight:700}.area-index a:hover{border-color:var(--gold);box-shadow:0 8px 22px rgba(13,31,53,.08);transform:translateY(-1px)}.area-list-wrap{display:grid;gap:14px}.area-card{scroll-margin-top:112px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff}.area-toggle{width:100%;display:grid;grid-template-columns:50px minmax(0,1fr) 34px;align-items:center;gap:16px;padding:20px 22px;border:0;background:transparent;color:var(--navy);cursor:default;font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:600;text-align:left}.area-number{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:var(--cream);color:var(--gold);font-size:18px;font-weight:700}.area-plus{display:none;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:var(--cream);color:var(--gold);font-family:"Jost",sans-serif;font-size:22px;transition:.2s}.area-content{padding:0 28px 26px 88px}.area-content>p{max-width:860px;margin-bottom:18px;color:#475467;font-size:15px}.area-content ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px;list-style:none}.area-content li{position:relative;padding-left:15px;color:#344054;font-size:14px}.area-content li::before{position:absolute;top:.72em;left:0;width:5px;height:5px;border-radius:50%;background:var(--gold);content:""}.activities-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:34px;margin-top:38px}.activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none}.activity-list li{padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:#fff;color:#344054;font-size:14px}.network-box{padding:34px;border-radius:15px;background:var(--navy);color:#fff}.network-box h3{margin-bottom:12px;font-family:"Cormorant Garamond",serif;font-size:28px}.network-box p{margin-bottom:24px;color:rgba(255,255,255,.68);font-size:14px}

/* Contatti e modulo */
.appointment-notice{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin-bottom:48px;padding:20px 22px;border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:12px;background:var(--cream)}.appointment-notice strong{color:var(--navy)}.appointment-notice p{grid-column:2;color:#475467;font-size:14px}.offices-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px}.office-card{padding:28px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:0 8px 26px rgba(13,31,53,.05)}.office-kicker{margin-bottom:5px;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.office-card h3{margin-bottom:10px;color:var(--navy);font-family:"Cormorant Garamond",serif;font-size:25px}.office-card address{margin-bottom:18px;color:#475467;font-size:14px;font-style:normal}.office-card dl{display:grid;gap:9px;margin-bottom:20px}.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:54px;align-items:start}.contact-form-wrap{padding:30px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 10px 34px rgba(13,31,53,.07)}.contact-form{display:grid;gap:17px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-group{display:grid;gap:6px}.form-group label{color:var(--navy);font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.form-group input:not([type=checkbox]),.form-group select,.form-group textarea{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font-size:14px;outline:0;transition:.2s}.form-group textarea{min-height:130px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,154,90,.13)}.form-check{display:flex;align-items:flex-start;gap:10px}.form-check input{width:17px;height:17px;margin-top:3px;accent-color:var(--navy)}.form-check label{color:var(--muted);font-size:13px;font-weight:400;letter-spacing:0;text-transform:none}.form-check a{color:var(--gold)}.btn-submit{justify-self:start;background:var(--navy);color:#fff}.btn-submit:hover{background:var(--navy2)}.btn-submit:disabled{cursor:wait;opacity:.65}.form-note,.form-status{color:var(--muted);font-size:12px}.form-status.error,.field-error{color:var(--danger)}.form-status.success{color:var(--success)}.field-error{display:block;font-size:12px}.form-group [aria-invalid=true]{border-color:var(--danger)!important}.form-success{padding:48px 22px;text-align:center}.form-success h3{margin-bottom:8px;color:var(--navy);font-family:"Cormorant Garamond",serif;font-size:29px}.form-success p{color:var(--muted)}
.faq-container{max-width:860px}.faq-item{margin-top:11px;overflow:hidden;border:1px solid var(--border);border-radius:11px;background:#fff}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:0;background:transparent;color:var(--navy);cursor:pointer;font-size:15px;font-weight:600;text-align:left}.faq-question span{display:inline-flex;width:30px;height:30px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:50%;background:var(--cream);color:var(--gold);font-size:22px;font-weight:400;transition:.2s}.faq-question[aria-expanded=true] span{transform:rotate(45deg)}.faq-answer{padding:0 20px 20px}.faq-answer p{color:#475467;font-size:14px}

/* CTA, pagine legali e footer */
.cta-banner{padding:70px 0;background:linear-gradient(135deg,var(--navy),var(--navy3));color:#fff;text-align:center}.cta-banner h2{margin-bottom:14px;color:#fff;font-size:clamp(28px,4vw,42px);font-weight:600}.cta-banner p{max-width:560px;margin:0 auto 30px;color:rgba(255,255,255,.7);font-size:16px;font-weight:300}
.legal-body{max-width:820px}.legal-meta{display:inline-block;margin-bottom:30px;padding:9px 15px;border:1px solid var(--border);border-radius:8px;background:var(--cream);color:var(--muted);font-size:12px}.legal-body h2{margin:38px 0 12px;padding-top:18px;border-top:1px solid var(--border);color:var(--navy);font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:600}.legal-body h2:first-of-type{margin-top:0;padding-top:0;border-top:0}.legal-body h3{margin-bottom:5px;color:var(--navy);font-size:15px}.legal-body p{margin-bottom:14px;color:#475467;font-size:15px;font-weight:300}.legal-body ul{display:grid;gap:8px;margin:0 0 18px 20px}.legal-body a{overflow-wrap:anywhere;color:var(--gold)}.legal-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.legal-contact-grid>div{padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--cream)}.cookie-table{width:100%;margin:18px 0 26px;border-collapse:collapse;font-size:14px}.cookie-table th,.cookie-table td{padding:11px 13px;border:1px solid var(--border);text-align:left;vertical-align:top}.cookie-table th{background:var(--navy);color:#fff;font-size:12px}.cookie-table td{color:#475467}
.footer{padding:58px 0 28px;background:#070f1a;color:rgba(255,255,255,.62)}.footer-grid{display:grid;grid-template-columns:1.6fr .8fr 1fr 1fr;gap:36px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.09)}.footer-brand{display:flex;flex-direction:column;margin-bottom:12px}.footer-brand-name{color:#fff;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:600}.footer-brand>span:last-child{color:var(--gold);font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase}.footer-desc,.footer-appointment,.footer-col p{color:rgba(255,255,255,.58);font-size:13px;font-weight:300}.footer-appointment{margin-top:12px}.footer-col h2{margin-bottom:15px;color:var(--gold);font-family:"Jost",sans-serif;font-size:11px;font-weight:600;letter-spacing:1.7px;text-transform:uppercase}.footer-col ul{display:grid;gap:9px;list-style:none}.footer-col a{overflow-wrap:anywhere;color:rgba(255,255,255,.62);font-size:13px;font-weight:300;text-decoration:none}.footer-col a:hover,.footer-bottom a:hover{color:#fff}.footer-col p+p{margin-top:8px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:26px;color:rgba(255,255,255,.42);font-size:12px;flex-wrap:wrap}.footer-bottom a{color:rgba(255,255,255,.52);text-decoration:underline;text-underline-offset:3px}
.mobile-contact-bar{display:none}.cookie-banner{position:fixed;right:18px;bottom:18px;z-index:9000;width:min(430px,calc(100% - 36px));display:none;align-items:center;gap:16px;padding:17px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:var(--navy);color:#fff;box-shadow:0 16px 48px rgba(0,0,0,.24)}.cookie-banner.visible{display:flex}.cookie-banner p{flex:1;color:rgba(255,255,255,.76);font-size:12px;line-height:1.5}.cookie-banner a{color:var(--gold2)}.cookie-banner button{flex:0 0 auto;padding:9px 14px;border:0;border-radius:7px;background:var(--gold);color:var(--navy);cursor:pointer;font-size:12px;font-weight:600}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.reveal.is-visible{opacity:1;transform:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media(max-width:980px){.nav-toggle{display:inline-flex}.nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:4px;padding:14px 24px 20px;border-bottom:1px solid var(--border);background:#fff;box-shadow:0 16px 30px rgba(13,31,53,.1)}.nav.is-open{display:flex}.nav a{width:100%;padding:11px 12px}.nav .nav-cta{margin:5px 0 0;text-align:center}.professional-card,.professional-card:nth-child(even){grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr)}.professional-card:nth-child(even) .professional-photo,.professional-card:nth-child(even) .professional-content{grid-column:auto;grid-row:auto}.contact-layout{grid-template-columns:1fr;gap:34px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.container{width:min(calc(100% - 36px),1120px)}.topbar-inner{flex-direction:column;gap:2px;padding-block:9px}.header-inner{min-height:72px}.brand-name{font-size:21px}.brand-subtitle{font-size:9px;letter-spacing:1.5px}.hero{padding:72px 0 64px}.page-hero{padding:54px 0 48px}.section{padding:58px 0}.home-cards,.home-reasons,.values-grid,.offices-grid,.legal-contact-grid{grid-template-columns:1fr}.professional-card,.professional-card:nth-child(even){grid-template-columns:1fr}.professional-photo{min-height:340px}.professional-content{padding:28px 24px}.area-index{grid-template-columns:1fr}.area-toggle{grid-template-columns:42px minmax(0,1fr) 32px;gap:12px;padding:17px 16px;cursor:pointer;font-size:22px}.area-number{width:38px;height:38px;font-size:16px}.area-plus{display:inline-flex}.area-card:not(.is-open) .area-content{display:none}.area-card.is-open .area-plus{transform:rotate(45deg)}.area-content{padding:0 18px 20px}.area-content ul,.activity-list{grid-template-columns:1fr}.activities-layout{grid-template-columns:1fr}.appointment-notice{grid-template-columns:1fr}.appointment-notice p{grid-column:1}.contact-form-wrap{padding:24px 20px}.form-row{grid-template-columns:1fr}.cookie-table{display:block;overflow-x:auto}body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.mobile-contact-bar{position:fixed;left:0;right:0;bottom:0;z-index:8500;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:62px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid rgba(255,255,255,.12);background:var(--navy);box-shadow:0 -5px 24px rgba(0,0,0,.2)}.mobile-contact-bar a{display:flex;min-width:0;align-items:center;justify-content:center;padding:10px 5px;color:#fff;font-size:10px;font-weight:500;text-align:center;text-decoration:none}.mobile-contact-bar a+a{border-left:1px solid rgba(255,255,255,.12)}.cookie-banner{bottom:calc(76px + env(safe-area-inset-bottom))}}
@media(max-width:480px){.container{width:min(calc(100% - 28px),1120px)}.hero h1{font-size:39px}.hero-btns{flex-direction:column}.hero-btns a,.cta-banner .btn-primary{width:100%}.professional-contacts div,.office-card dl div{grid-template-columns:1fr;gap:2px}.footer-grid{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column}.cookie-banner{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Grafica dedicata alla pagina Aree di attività */
body[data-page="aree"] .area-index-section {
  position: relative;
  overflow: hidden;
  padding: 58px 0 66px;
  border-bottom: 1px solid var(--border);
  background:
    radial-gradient(circle at 8% 14%, rgba(184, 154, 90, .12), transparent 25%),
    radial-gradient(circle at 92% 88%, rgba(13, 31, 53, .08), transparent 28%),
    linear-gradient(180deg, #fbfaf7 0%, var(--cream) 100%);
}

body[data-page="aree"] .area-index-section .container {
  position: relative;
  z-index: 1;
}

body[data-page="aree"] .area-index-section h2 {
  margin: 0 auto 32px;
  text-align: center;
  font-size: clamp(30px, 4vw, 42px);
}

body[data-page="aree"] .area-index {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

body[data-page="aree"] .area-index a {
  position: relative;
  display: grid;
  grid-template-rows: auto 58px minmax(66px, auto);
  min-height: 194px;
  align-content: start;
  align-items: center;
  justify-items: center;
  gap: 10px;
  overflow: hidden;
  padding: 16px 14px 18px;
  border: 1px solid rgba(184, 154, 90, .28);
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 26px rgba(13, 31, 53, .06);
  color: var(--navy);
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.26;
  text-align: center;
  text-decoration: none;
  text-wrap: balance;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

body[data-page="aree"] .area-index a::before {
  position: absolute;
  top: -46px;
  right: -44px;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: rgba(184, 154, 90, .08);
  content: "";
  transition: transform .25s ease, background .25s ease;
}

body[data-page="aree"] .area-index a > span {
  grid-row: 1;
  justify-self: start;
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--navy);
  color: var(--gold2);
  font-family: "Cormorant Garamond", serif;
  font-size: 15px;
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(13, 31, 53, .15);
}

body[data-page="aree"] .area-index a::after {
  grid-row: 2;
  justify-self: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(184, 154, 90, .25);
  border-radius: 14px;
  background-color: var(--cream);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 28px 28px;
  content: "";
  transition: transform .22s ease, background-color .22s ease;
}

body[data-page="aree"] .area-index a:hover {
  z-index: 2;
  border-color: var(--gold);
  background: #fff;
  box-shadow: 0 18px 42px rgba(13, 31, 53, .13);
  transform: translateY(-4px);
}

body[data-page="aree"] .area-index a:hover::before {
  background: rgba(184, 154, 90, .16);
  transform: scale(1.12);
}

body[data-page="aree"] .area-index a:hover::after {
  background-color: #fff;
  transform: scale(1.06);
}

/* Icone vettoriali delle aree */
body[data-page="aree"] .area-index a[href="#diritto-immobiliare"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 12 4l9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E");
}
body[data-page="aree"] .area-index a[href="#diritto-condominiale"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5l8-3 8 3v16'/%3E%3Cpath d='M8 7h2M14 7h2M8 11h2M14 11h2M8 15h2M14 15h2M10 21v-3h4v3'/%3E%3C/svg%3E");
}
body[data-page="aree"] .area-index a[href="#locazioni"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='m11 12 8-8M16 7l2 2M14 9l2 2'/%3E%3C/svg%3E");
}
body[data-page="aree"] .area-index a[href="#contratti-obbligazioni"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l3 3v15H6z'/%3E%3Cpath d='M15 3v4h4M9 11h6M9 15h6M9 19h4'/%3E%3C/svg%3E");
}
body[data-page="aree"] .area-index a[href="#appalti-lavori-edili"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 6 4 4'/%3E%3Cpath d='m13 7 5-5 4 4-5 5'/%3E%3Cpath d='M3 21 14 10'/%3E%3Cpath d='m6 18 3 3'/%3E%3C/svg%3E");
}
body[data-page="aree"] .area-index a[href="#responsabilita-civile"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M5 7h14'/%3E%3Cpath d='m5 7-3 6h6L5 7ZM19 7l-3 6h6l-3-6Z'/%3E%3Cpath d='M8 21h8'/%3E%3C/svg%3E");
}
body[data-page="aree"] .area-index a[href="#recupero-crediti"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='6' rx='7' ry='3'/%3E%3Cpath d='M5 6v6c0 1.7 3.1 3 7 3s7-1.3 7-3V6'/%3E%3Cpath d='M5 12v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6'/%3E%3C/svg%3E");
}
body[data-page="aree"] .area-index a[href="#famiglia-successioni"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M2 20c.6-4 2.7-6 6-6s5.4 2 6 6M14 15c3.2-.5 5.7 1.2 7 5'/%3E%3C/svg%3E");
}
body[data-page="aree"] .area-index a[href="#societario-commerciale"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V4h8v3M3 12h18M10 12v2h4v-2'/%3E%3C/svg%3E");
}
body[data-page="aree"] .area-index a[href="#tutela-consumatore"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6L5 8Z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3Cpath d='m9 15 2 2 4-4'/%3E%3C/svg%3E");
}

/* Schede dettagliate */
body[data-page="aree"] .area-list-wrap { gap: 20px; }
body[data-page="aree"] .area-card { position: relative; overflow: hidden; border: 1px solid rgba(13, 31, 53, .1); border-radius: 18px; background: linear-gradient(180deg, #fff 0%, #fdfcf9 100%); box-shadow: 0 10px 30px rgba(13, 31, 53, .065); transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
body[data-page="aree"] .area-card::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--gold2), var(--gold)); content: ""; }
body[data-page="aree"] .area-card:hover { border-color: rgba(184, 154, 90, .55); box-shadow: 0 16px 38px rgba(13, 31, 53, .105); transform: translateY(-2px); }
body[data-page="aree"] .area-toggle { grid-template-columns: 56px minmax(0, 1fr) 34px; gap: 18px; padding: 24px 28px 20px 30px; font-size: clamp(24px, 2.6vw, 29px); }
body[data-page="aree"] .area-number { width: 50px; height: 50px; background: var(--navy); color: var(--gold2); box-shadow: 0 7px 18px rgba(13, 31, 53, .16); }
body[data-page="aree"] .area-content { padding: 0 32px 32px 104px; }
body[data-page="aree"] .area-content > p { max-width: 900px; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(228, 221, 211, .9); color: #475467; line-height: 1.75; }
body[data-page="aree"] .area-content ul { gap: 10px 14px; }
body[data-page="aree"] .area-content li { min-height: 44px; display: flex; align-items: center; padding: 10px 12px 10px 29px; border: 1px solid rgba(228, 221, 211, .8); border-radius: 10px; background: rgba(247, 244, 239, .72); line-height: 1.45; }
body[data-page="aree"] .area-content li::before { top: 50%; left: 13px; transform: translateY(-50%); }
body[data-page="aree"] .activities-layout { gap: 42px; }
body[data-page="aree"] .activity-list li { position: relative; padding: 14px 15px 14px 36px; border-color: rgba(184, 154, 90, .22); box-shadow: 0 5px 16px rgba(13, 31, 53, .035); }
body[data-page="aree"] .activity-list li::before { position: absolute; top: 50%; left: 16px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); content: ""; transform: translateY(-50%); }
body[data-page="aree"] .network-box { position: sticky; top: 112px; overflow: hidden; padding: 40px 36px; box-shadow: 0 18px 42px rgba(13, 31, 53, .18); }
body[data-page="aree"] .network-box::after { position: absolute; right: -50px; bottom: -64px; width: 170px; height: 170px; border: 1px solid rgba(212, 184, 122, .22); border-radius: 50%; content: ""; }

@media (max-width: 1040px) { body[data-page="aree"] .area-index { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  body[data-page="aree"] .area-index-section { padding: 46px 0 52px; }
  body[data-page="aree"] .area-index-section h2 { margin-bottom: 25px; text-align: left; }
  body[data-page="aree"] .area-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body[data-page="aree"] .area-index a { grid-template-rows: auto 50px minmax(62px, auto); min-height: 174px; padding: 14px 12px 16px; border-radius: 14px; font-size: 16.5px; line-height: 1.24; }
  body[data-page="aree"] .area-index a::after { width: 46px; height: 46px; border-radius: 13px; background-size: 25px 25px; }
  body[data-page="aree"] .area-index a > span { width: 31px; height: 31px; font-size: 14px; }
  body[data-page="aree"] .area-card:hover { transform: none; }
  body[data-page="aree"] .area-toggle { grid-template-columns: 42px minmax(0, 1fr) 32px; gap: 12px; padding: 18px 17px 18px 20px; font-size: 21px; }
  body[data-page="aree"] .area-number { width: 40px; height: 40px; font-size: 15px; }
  body[data-page="aree"] .area-content { padding: 0 17px 20px 20px; }
  body[data-page="aree"] .area-content ul { grid-template-columns: 1fr; }
  body[data-page="aree"] .network-box { position: relative; top: auto; }
}
@media (max-width: 480px) {
  body[data-page="aree"] .area-index { grid-template-columns: 1fr; }
  body[data-page="aree"] .area-index a { grid-template-columns: 38px 54px minmax(0, 1fr); grid-template-rows: 1fr; min-height: 108px; justify-items: start; padding: 16px; font-size: 18px; text-align: left; }
  body[data-page="aree"] .area-index a > span { grid-column: 1; grid-row: 1; align-self: center; justify-self: center; }
  body[data-page="aree"] .area-index a::after { grid-column: 2; grid-row: 1; align-self: center; }
}