@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/fraunces-latin.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400 700;font-display:swap;src:url('fonts/fraunces-italic-latin.woff2') format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400 800;font-display:swap;src:url('fonts/nunito-latin.woff2') format('woff2')}
:root{
  --deep:#0C5A85; --blue:#0B84B8; --teal:#149BD1; --green:#6CAF45; --green-d:#4F8C2E;
  --cream:#FBF6EF; --sky:#E7F3FA; --mint:#EAF5EE; --card:#FFFFFF;
  --ink:#213540; --muted:#5E7079; --line:#ECE3D6;
  --sh:0 26px 60px -24px rgba(12,90,133,.30); --sh-sm:0 12px 30px -14px rgba(12,90,133,.22);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Nunito',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;color:var(--deep);line-height:1.12;font-weight:600}
.wrap{max-width:1180px;margin:0 auto;padding:0 26px}
.sec{padding:clamp(56px,8vw,100px) 0}
.eyebrow{display:block;font-weight:800;font-size:.8rem;letter-spacing:2.4px;text-transform:uppercase;color:var(--deep);margin-bottom:14px}
.eyebrow.c{text-align:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:999px;font-family:'Nunito';font-weight:800;font-size:1rem;cursor:pointer;transition:.25s;border:2px solid transparent}
.btn svg{width:19px;height:19px;flex-shrink:0}
.btn-p{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;box-shadow:0 14px 30px -12px rgba(11,132,184,.6)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 20px 40px -14px rgba(11,132,184,.7)}
.btn-o{background:#fff;color:var(--deep);border-color:#e6dccb}
.btn-o:hover{border-color:var(--teal);color:var(--teal);transform:translateY(-2px)}
.btn-g{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-g:hover{background:rgba(255,255,255,.14)}
.js .reveal{opacity:0;transform:translateY(24px)}
.js .reveal.in{opacity:1;transform:none;transition:.8s cubic-bezier(.2,.7,.2,1)}
.hdr{position:sticky;top:0;z-index:100;background:rgba(251,246,239,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hin{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1180px;margin:0 auto;padding:12px 26px}
.brand{display:flex;align-items:center;gap:13px}
.brand img{width:50px;height:50px}
.brand b{font-family:'Fraunces';font-weight:600;font-size:1.04rem;color:var(--deep);display:block;line-height:1.1}
.brand span{font-size:.64rem;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;font-weight:700}
.nav{display:flex;align-items:center;gap:1px}
.nav a{padding:9px 9px;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--ink);transition:.2s;white-space:nowrap}
.nav a:hover{background:#fff;color:var(--blue)}
.nav a.active{color:var(--blue)}
.nav a.pill{margin-left:6px;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;padding:10px 20px}
.nav a.pill:hover{color:#fff;transform:translateY(-1px)}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.burger svg{width:28px;height:28px;stroke:var(--deep)}
.hero{position:relative;overflow:hidden}
.hero .blob1{position:absolute;top:-120px;right:-80px;width:520px;height:520px;background:radial-gradient(circle at 40% 40%,rgba(20,155,209,.09),rgba(108,175,69,.05) 60%,transparent 70%);border-radius:50%;z-index:0}
.hero .blob2{position:absolute;bottom:-60px;left:-100px;width:360px;height:360px;background:radial-gradient(circle,rgba(108,175,69,.07),transparent 68%);border-radius:50%;z-index:0}
.hgrid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:clamp(40px,6vw,74px);padding-bottom:clamp(40px,6vw,74px)}
.htext h1{font-size:clamp(2.4rem,5.6vw,4rem);font-weight:600;letter-spacing:-.5px;margin-bottom:20px}
.htext h1 em{font-style:italic;color:var(--green-d)}
.htext .lede{font-size:clamp(1.08rem,2.2vw,1.28rem);color:var(--muted);max-width:44ch;margin-bottom:30px}
.hcta{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:26px}
.htrust{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.htrust .t{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.94rem;color:var(--deep)}
.htrust .t svg{width:20px;height:20px;stroke:var(--green);fill:none;stroke-width:2.4}
.hmedia{position:relative}
.hframe{position:relative;z-index:2;border-radius:46% 54% 48% 52%/54% 46% 54% 46%;overflow:hidden;box-shadow:var(--sh);aspect-ratio:1/1;border:8px solid #fff}
.hframe img{width:100%;height:100%;object-fit:cover}
.hbadge{position:absolute;z-index:3;bottom:16px;left:-14px;background:#fff;border-radius:20px;padding:14px 18px;box-shadow:var(--sh-sm);display:flex;align-items:center;gap:12px}
.hbadge .d{width:42px;height:42px;border-radius:14px;background:var(--mint);display:flex;align-items:center;justify-content:center}
.hbadge .d svg{width:22px;height:22px;stroke:var(--green-d);fill:none;stroke-width:2.2}
.hbadge b{font-family:'Fraunces';color:var(--deep);font-size:1rem;display:block}
.hbadge span{font-size:.8rem;color:var(--muted)}
.hdot{position:absolute;z-index:1;top:8%;right:2%;width:30px;height:30px;border-radius:50%;background:var(--green);opacity:.16}
.hdot2{position:absolute;z-index:1;top:22%;right:16%;width:14px;height:14px;border-radius:50%;background:var(--teal);opacity:.22}
.wave{display:block;width:100%;height:60px;color:var(--sky)}
.wave svg{width:100%;height:100%;display:block}
.wave.mint{color:var(--mint)} .wave.cream{color:var(--cream)} .wave.sky{color:var(--sky)}
.phero{position:relative;overflow:hidden;background:var(--cream)}
.phero .b1{position:absolute;top:-90px;right:-60px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(20,155,209,.08),transparent 68%);z-index:0}
.phero .b2{position:absolute;bottom:-80px;left:-70px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(108,175,69,.06),transparent 66%);z-index:0}
.phero .in{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,80px) 26px clamp(48px,7vw,84px)}
.crumbs{font-size:.84rem;color:var(--muted);margin-bottom:16px}
.crumbs a:hover{color:var(--blue)}
.phero h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:600;letter-spacing:-.5px;max-width:20ch;margin-bottom:16px}
.phero h1 em{font-style:italic;color:var(--green-d)}
.phero p{font-size:clamp(1.04rem,2.2vw,1.24rem);color:var(--muted);max-width:60ch}
.stats{background:var(--sky)}
.srow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.scard{background:#fff;border-radius:22px;padding:26px 18px;text-align:center;box-shadow:var(--sh-sm)}
.scard .n{font-family:'Fraunces';font-size:clamp(1.9rem,3.4vw,2.5rem);font-weight:600;color:var(--teal);line-height:1}
.scard .n em{font-style:normal;color:var(--green-d)}
.scard .l{margin-top:6px;font-size:.9rem;color:var(--muted);font-weight:600}
.split.sky{background:var(--sky)} .split.mint{background:var(--mint)} .split.cream{background:var(--cream)}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.rev .sgrid{direction:rtl}.split.rev .sgrid>*{direction:ltr}
.split h2{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:18px}
.split p{font-size:1.08rem;color:var(--muted);margin-bottom:16px}
.sphoto{border-radius:32px;overflow:hidden;box-shadow:var(--sh);aspect-ratio:5/4}
.sphoto img{width:100%;height:100%;object-fit:cover}
.gal{overflow:hidden}
.gal.cream{background:var(--cream)} .gal.mint{background:var(--mint)} .gal.sky{background:var(--sky)}
.head{text-align:center;margin-bottom:40px}
.head p{color:var(--muted);font-size:1.08rem;max-width:52ch;margin:8px auto 0}
.gal .head{text-align:center;margin-bottom:36px}
.gal h2{font-size:clamp(2rem,4vw,2.9rem)}
.gal .head p{color:var(--muted);font-size:1.08rem;max-width:52ch;margin:8px auto 0}
.marquee{display:flex;gap:20px;width:max-content;animation:scroll 46s linear infinite}
.marquee:hover{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.gitem{width:340px;flex-shrink:0;border-radius:24px;overflow:hidden;box-shadow:var(--sh-sm)}
.gitem img{width:100%;height:auto;aspect-ratio:17/12;object-fit:cover}
.aree{background:var(--mint)}
.aree .head{text-align:center;margin-bottom:44px}
.aree h2{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:8px}
.aree .head p{color:var(--muted);font-size:1.1rem}
.acards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ac{background:#fff;border-radius:26px;padding:0 0 26px;overflow:hidden;box-shadow:var(--sh-sm);transition:.28s;display:flex;flex-direction:column}
a.ac:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.ac .top{height:10px}
.ac:nth-child(4n+1) .top{background:var(--teal)} .ac:nth-child(4n+2) .top{background:var(--green)}
.ac:nth-child(4n+3) .top{background:var(--blue)} .ac:nth-child(4n+4) .top{background:var(--green-d)}
.ac .ico{width:64px;height:64px;border-radius:20px;margin:26px 26px 0;display:flex;align-items:center;justify-content:center;background:var(--sky)}
.ac:nth-child(2n) .ico{background:var(--mint)}
.ac .ico svg{width:32px;height:32px;stroke:var(--deep);fill:none;stroke-width:1.7}
.ac:nth-child(2n) .ico svg{stroke:var(--green-d)}
.ac h3{font-size:1.3rem;margin:18px 26px 8px}
.ac p{color:var(--muted);font-size:1rem;margin:0 26px;flex:1}
.ac .go{margin:16px 26px 0;font-weight:800;font-size:.85rem;color:var(--blue);display:inline-flex;align-items:center;gap:6px}
.ac .go svg{width:15px;height:15px;transition:.2s}
a.ac:hover .go svg{transform:translateX(4px)}
.servizi{background:#fff;border-radius:28px;padding:36px;box-shadow:var(--sh-sm);margin-top:24px}
.servizi .h{font-weight:800;font-size:.82rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue);margin-bottom:20px}
.svlist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 30px}
.svlist li{display:block;position:relative;padding-left:34px;font-size:1.02rem}
.svlist li svg{position:absolute;left:2px;top:1px;width:22px;height:22px;stroke:var(--green-d);fill:none;stroke-width:2.4}
.hilite{margin-top:26px;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #E5E1D8;border-radius:16px;padding:20px 24px;box-shadow:0 2px 10px rgba(12,42,60,.05)}
.hilite svg{width:20px;height:20px;stroke:#8FA9B8;fill:none;stroke-width:2;flex-shrink:0}
.hilite b{color:var(--deep)} .hilite p{margin:0;font-size:1.04rem;color:var(--ink)}
.philo{background:var(--cream)}
.pband{position:relative;overflow:hidden;background:linear-gradient(130deg,var(--teal),var(--deep) 60%,var(--green-d));border-radius:40px;padding:clamp(48px,7vw,84px) 32px;text-align:center;color:#fff;box-shadow:var(--sh)}
.pband .pb1{position:absolute;top:-70px;right:-40px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}
.pband .pb2{position:absolute;bottom:-80px;left:-30px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.06)}
.pband q{position:relative;font-family:'Fraunces';font-style:italic;font-weight:500;font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.35;quotes:none}
.pband q b{font-style:normal;color:#c8ec9f;font-weight:600}
.pband p{position:relative;margin:22px auto 0;max-width:58ch;color:rgba(255,255,255,.85);font-size:1.08rem}
.faq{background:var(--cream)}
.faq .wrap{max-width:820px}
.faq .head{text-align:center;margin-bottom:34px}
.faq h2{font-size:clamp(1.9rem,4vw,2.7rem)}
.faq details{background:#fff;border-radius:20px;margin-bottom:12px;overflow:hidden;box-shadow:var(--sh-sm);border:2px solid transparent;transition:.2s}
.faq details[open]{border-color:var(--teal)}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:'Fraunces';font-size:1.14rem;color:var(--deep);display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.7rem;color:var(--teal);transition:.25s;flex-shrink:0}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 24px 22px;color:var(--muted)}
.cta{background:var(--sky)}
.cband{position:relative;overflow:hidden;background:#fff;border-radius:40px;padding:clamp(44px,6vw,72px);text-align:center;box-shadow:var(--sh)}
.cband .ico{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--blue));display:flex;align-items:center;justify-content:center;margin:0 auto 22px}
.cband .ico svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:2}
.cband h2{font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:12px}
.cband>p{color:var(--muted);font-size:1.12rem;margin-bottom:28px}
.cbtns{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.csedi{display:flex;gap:26px;justify-content:center;flex-wrap:wrap}
.csedi span{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.92rem;color:var(--muted)}
.csedi svg{width:16px;height:16px;stroke:var(--green-d);fill:none;stroke-width:2}
.ftr{background:var(--deep);color:#fff;padding:64px 0 26px}
.fg{display:grid;grid-template-columns:1.3fr 1fr 1.4fr;gap:44px;max-width:1180px;margin:0 auto;padding:0 26px}
.flock{display:flex;align-items:center;gap:13px;margin-bottom:16px}
.flock img{width:56px;height:56px;background:#fff;border-radius:50%;padding:5px}
.flock b{font-family:'Fraunces';font-size:1.08rem;display:block}
.flock span{font-size:.64rem;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.6);font-weight:700}
.ftr .claim{color:rgba(255,255,255,.62);font-size:.9rem}
.ftr h4{font-size:.82rem;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:16px;color:#c8ec9f}
.ftr ul{list-style:none;display:grid;gap:10px}
.ftr ul a{color:rgba(255,255,255,.72);font-size:.94rem}
.ftr ul a:hover{color:#fff}
.ftr .con a{display:block;color:rgba(255,255,255,.72);font-size:.94rem;margin-bottom:12px}
.ftr .con a:hover{color:#fff}
.ftr .con .lab{color:#fff;font-weight:700;display:block}
.ftr .con .ex{color:#c8ec9f;font-size:.8rem;font-weight:700;display:block}
.ftr .con .tel{color:#c8ec9f;font-weight:800}
.fbtm{max-width:1180px;margin:40px auto 0;padding:20px 26px 0;border-top:1px solid rgba(255,255,255,.14);text-align:center;font-size:.78rem;color:rgba(255,255,255,.42)}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vcard{background:#fff;border-radius:24px;padding:30px 26px;box-shadow:var(--sh-sm)}
.vcard .ico{width:54px;height:54px;border-radius:16px;background:var(--mint);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.vcard .ico svg{width:26px;height:26px;stroke:var(--green-d);fill:none;stroke-width:1.8}
.vcard h3{font-size:1.22rem;margin-bottom:8px}
.vcard p{color:var(--muted);font-size:.98rem}
.prose{max-width:820px;margin:0 auto}
.prose p{font-size:1.08rem;color:var(--muted);margin-bottom:18px}
.prose h2{font-size:clamp(1.6rem,3.4vw,2.2rem);margin:36px 0 14px}
.prose h3{font-size:1.3rem;margin:26px 0 10px;color:var(--deep)}
.prose ul{list-style:none;display:grid;gap:11px;margin:0 0 20px}
.prose ul li{display:block;position:relative;padding-left:24px;font-size:1.05rem;color:var(--muted)}
.prose ul li::before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:#8FA9B8}
.prose a{color:var(--blue);font-weight:700}
.prose .lead{font-size:1.2rem;color:var(--ink);font-weight:600}
.prose blockquote{border:1px solid #D9E7EE;background:var(--sky);border-radius:14px;padding:16px 22px;margin:20px 0;font-style:italic;color:var(--deep)}
.tnav{max-width:1180px;margin:0 auto 30px;padding:24px 28px;background:#fff;border-radius:24px;box-shadow:var(--sh-sm)}
.tnav .h{font-weight:800;font-size:.8rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.tnav .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:5px}
.tnav a{font-size:.88rem;font-weight:600;padding:8px 12px;border-radius:10px;cursor:pointer;transition:.18s}
.tnav a:hover{background:var(--mint);color:var(--green-d)}
.rdiv{max-width:1180px;margin:32px auto 14px;display:flex;align-items:center;gap:16px}
.rdiv span{font-family:'Fraunces';font-size:1.2rem;color:var(--deep);white-space:nowrap}
.rdiv::after{content:"";flex:1;height:1px;border-radius:1px;background:linear-gradient(90deg,#C9D6DD,transparent)}
.acc{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.aitem{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--sh-sm);border:2px solid transparent;transition:.25s}
.aitem.open{border-color:var(--teal)}
.ahead{display:flex;align-items:center;gap:18px;padding:16px 22px;cursor:pointer}
.avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid var(--cream)}
.avatar.ph{display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--green-d);font-family:'Fraunces';font-size:1.3rem;border-color:var(--mint)}
.aitem.open .avatar{border-color:var(--teal)}
.ainfo{flex:1;min-width:0}
.aname{font-family:'Fraunces';font-size:1.16rem;color:var(--deep);scroll-margin-top:90px}
.arole{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--blue);margin-top:3px}
.atog{width:34px;height:34px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.25s}
.atog svg{width:15px;height:15px;stroke:var(--blue);fill:none;stroke-width:2.6;transition:.25s}
.aitem.open .atog{background:var(--teal)} .aitem.open .atog svg{stroke:#fff;transform:rotate(180deg)}
.abody{max-height:0;overflow:hidden;transition:max-height .4s ease}
.ainner{padding:2px 24px 26px;display:flex;gap:28px}
.aphoto{width:190px;height:240px;object-fit:cover;border-radius:16px;flex-shrink:0;box-shadow:var(--sh-sm)}
.aphoto.ph{display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--green-d);font-family:'Fraunces';font-size:2.4rem}
.abio{font-size:.98rem;line-height:1.72;color:var(--muted)}
.abio p{margin-bottom:10px} .abio p:last-child{margin-bottom:0}
.acv{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:9px 16px;font-size:.84rem;font-weight:800;color:var(--blue);background:var(--cream);border-radius:999px;transition:.2s}
.acv:hover{background:var(--teal);color:#fff}
.acv svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}
.tabbar{display:flex;gap:8px;max-width:900px;margin:0 auto 26px;background:#fff;border-radius:999px;padding:6px;box-shadow:var(--sh-sm)}
.tabbtn{flex:1;padding:14px 16px;border:none;border-radius:999px;background:transparent;font-family:'Nunito';font-size:.94rem;font-weight:700;color:var(--muted);cursor:pointer;transition:.24s;display:flex;align-items:center;justify-content:center;gap:8px}
.tabbtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.tabbtn.active{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff}
.tabpanel{display:none}.tabpanel.active{display:block;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sedecard{max-width:900px;margin:0 auto;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--sh)}
.sede-h{padding:30px 32px 0}
.sede-lab{font-weight:800;font-size:.74rem;letter-spacing:1px;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.sede-t{font-family:'Fraunces';font-size:1.5rem;color:var(--deep)}
.sede-ex{display:inline-block;margin:6px 0 4px;background:var(--mint);color:var(--green-d);font-weight:700;font-size:.82rem;padding:5px 12px;border-radius:999px}
.sede-a{color:var(--muted);line-height:1.6;margin:8px 0 16px}
.sede-info{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 32px 20px}
.sede-info .k{font-weight:800;font-size:.7rem;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.sede-info .v{font-weight:700;color:var(--deep)}
.sede-info .v a:hover{color:var(--blue)}
.hoursbadge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--sky);color:var(--deep);font-weight:700;font-size:.9rem}
.hoursbadge svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:2}
.cactions{display:flex;gap:10px;padding:0 32px 26px;flex-wrap:wrap}
.cactions .btn{flex:1 1 150px;font-size:.9rem;padding:12px 16px}
.sede-map{width:100%;height:300px;border:0}
@media(max-width:920px){
  .nav{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;background:#fff;padding:14px 18px;gap:3px;box-shadow:var(--sh);transform:translateY(-140%);transition:.3s;z-index:90}
  .nav.open{transform:none} .nav a.pill{text-align:center;margin:8px 0 4px}
  .burger{display:block}
  .hgrid,.sgrid,.split.rev .sgrid{grid-template-columns:1fr;gap:36px;direction:ltr}
  .hmedia{order:-1}
  .srow{grid-template-columns:1fr 1fr}
  .acards{grid-template-columns:1fr 1fr}
  .vgrid{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr;gap:30px;text-align:center} .flock{justify-content:center} .ftr ul{justify-items:center}
  .ainner{flex-direction:column} .aphoto{width:100%;height:280px}
  .sede-info{grid-template-columns:1fr}
}
@media(max-width:560px){
  .acards{grid-template-columns:1fr} .svlist{grid-template-columns:1fr}
  .htext h1{font-size:2.3rem} .btn{width:100%} .hcta{flex-direction:column}
  .tabbar{flex-direction:column;border-radius:20px} .tabbtn{border-radius:14px}
}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}.marquee{animation:none}*{transition:none!important}}

/* pubblicazioni (Brighenti) */
.publist{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.pubcard{background:#fff;border-radius:16px;padding:24px 26px;box-shadow:0 2px 10px rgba(12,42,60,.05);border:1px solid #E5E1D8}
.pubcard h4{font-family:'Fraunces';font-size:1.08rem;color:var(--deep);margin-bottom:8px;line-height:1.4;font-weight:600}
.pubcard .desc{color:var(--muted);font-size:.96rem;line-height:1.6;margin-bottom:12px}
.pubmeta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pubtag{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:4px 11px;border-radius:999px;background:var(--sky);color:var(--blue)}
.pubyear,.pubsource{font-size:.86rem;color:var(--muted)}
.publink{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:.86rem;font-weight:700;color:var(--blue)}
.publink svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.publink:hover{color:var(--teal)}
.pubnote{font-size:.86rem;color:var(--muted);font-style:italic;background:var(--sky);border-radius:14px;padding:16px 20px;margin-top:6px}
.rolelist{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.roleitem{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:16px;padding:16px 22px;box-shadow:var(--sh-sm)}
.roleitem .dot2{width:6px;height:6px;border-radius:50%;background:#8FA9B8;flex-shrink:0;margin-top:10px}
.roleitem b{color:var(--deep);display:block;margin-bottom:3px;font-size:1rem}
.roleitem span{color:var(--muted);font-size:.94rem;line-height:1.55}
@media(max-width:640px){.attivita-grid{grid-template-columns:1fr!important}}

/* corsi page */
.livebox{max-width:900px;margin:0 auto;background:#fff;border-radius:32px;box-shadow:var(--sh);overflow:hidden;border:2px solid var(--mint)}
.livebox-top{background:linear-gradient(120deg,var(--blue),var(--deep));color:#fff;padding:10px 26px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.82rem;font-weight:800}
.livebox-top .ld{width:7px;height:7px;border-radius:50%;background:#fff;display:inline-block;margin-right:7px;animation:pulse2 2s ease-in-out infinite}
@keyframes pulse2{0%,100%{opacity:1}50%{opacity:.35}}
.livebox-body{padding:30px 30px 32px}
.livebox h3{font-family:'Fraunces';font-size:1.5rem;color:var(--deep);line-height:1.3;margin-bottom:4px}
.livebox .sub-it{font-size:.94rem;color:var(--muted);font-style:italic;margin-bottom:14px;line-height:1.5}
.livebox .cond{font-size:.9rem;font-weight:800;color:var(--blue);margin-bottom:16px}
.whenbox{background:var(--sky);border-radius:14px;padding:13px 18px;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.whenbox svg{width:18px;height:18px;stroke:var(--teal);fill:none;stroke-width:2.2;flex-shrink:0}
.whenbox b{color:var(--deep)}
.livebox p.lede2{color:var(--muted);font-size:1rem;line-height:1.7;margin-bottom:18px}
.livebox h4{font-size:.8rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--blue);margin:20px 0 10px}
.livebox ul.dl{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:6px}
.livebox ul.dl li{display:block;position:relative;padding-left:22px;font-size:.96rem;color:var(--muted);line-height:1.55}
.livebox ul.dl li b{color:var(--ink)}
.livebox ul.dl li::before{content:"";position:absolute;left:2px;top:.55em;width:6px;height:6px;border-radius:50%;background:#8FA9B8}
.livebox-cta{display:block;text-align:center;margin-top:22px}
.calstrip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-width:1000px;margin:26px auto 0}
.calchip{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:var(--sh-sm);border:2px solid transparent}
.calchip.active{border-color:var(--teal)}
.calchip .m{font-family:'Fraunces';font-size:1rem;color:var(--deep);display:block;margin-bottom:4px}
.calchip .t{font-size:.78rem;color:var(--muted);line-height:1.4}
.calchip .tag2{display:inline-block;margin-top:6px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;background:var(--green);color:#fff;padding:2px 8px;border-radius:6px}
.footnote2{text-align:center;color:var(--muted);font-size:.86rem;font-style:italic;margin-top:18px}

/* course catalog */
.ctags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ctag{font-size:.68rem;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--sky);color:var(--blue)}
.ctag.wait{background:var(--mint);color:var(--green-d)}
.chead{display:flex;align-items:center;gap:16px;padding:17px 22px;cursor:pointer}
.cico{width:48px;height:48px;border-radius:14px;background:var(--sky);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cico svg{width:23px;height:23px;stroke:var(--blue);fill:none;stroke-width:1.8}
.cinfo{flex:1;min-width:0}
.ctitle{font-family:'Fraunces';font-size:1.04rem;color:var(--deep);line-height:1.35}
.csub{font-size:.84rem;color:var(--blue);font-weight:700;margin-top:2px}
.cbody-inner{padding:2px 22px 26px 86px}
.cbody-inner h4{font-size:.76rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--blue);margin:16px 0 8px}
.cbody-inner h4:first-child{margin-top:0}
.cbody-inner p{color:var(--muted);font-size:.94rem;line-height:1.65;margin-bottom:8px}
.cbody-inner ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0 0 8px}
.cbody-inner ul li{display:block;position:relative;padding-left:20px;color:var(--muted);font-size:.93rem;line-height:1.55}
.cbody-inner ul li b{color:var(--ink)}
.cbody-inner ul li::before{content:"";position:absolute;left:2px;top:.55em;width:6px;height:6px;border-radius:50%;background:#8FA9B8}
.cdetail{background:var(--sky);border-radius:12px;padding:14px 16px;margin-top:12px}
.cdetail p{margin-bottom:5px;font-size:.88rem;color:var(--deep)}
.cdetail p:last-child{margin-bottom:0}
.creq{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 20px;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;font-weight:800;font-size:.88rem}
.creq svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2.2}
@media(max-width:640px){.cbody-inner{padding-left:22px}.cico{display:none}.chead{padding:15px 16px}}

/* cookie banner */
#cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:999;background:#fff;border-top:1px solid var(--line);box-shadow:0 -12px 40px -14px rgba(12,90,133,.25);padding:18px 22px;display:none}
#cookiebar.show{display:block}
.cb-wrap{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.cb-text{flex:1;min-width:240px;font-size:.88rem;color:var(--muted);line-height:1.55}
.cb-text a{color:var(--blue);font-weight:700}
.cb-btns{display:flex;gap:10px;flex-wrap:wrap}
.cb-btns button{border:none;cursor:pointer;font-family:'Nunito';font-weight:800;font-size:.86rem;padding:11px 20px;border-radius:999px}
.cb-accept{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff}
.cb-reject{background:var(--cream);color:var(--deep);border:2px solid var(--line)!important}
.mapgate{background:var(--sky);border-radius:16px;padding:26px;text-align:center}
.mapgate p{color:var(--muted);font-size:.9rem;margin-bottom:14px}
.mapgate button{border:none;cursor:pointer;font-family:'Nunito';font-weight:800;font-size:.88rem;padding:11px 22px;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff}
@media(max-width:640px){.cb-wrap{flex-direction:column;align-items:stretch}.cb-btns{justify-content:stretch}.cb-btns button{flex:1}}

/* blog cards + article page */
.blogcards .ph{aspect-ratio:3/2;overflow:hidden}
.blogcards .ph img{width:100%;height:100%;object-fit:cover}
.blogcards .pmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 26px 0}
.blogcards .pauth{font-size:.74rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--blue);background:var(--sky);padding:4px 11px;border-radius:999px}
.blogcards .pdate{font-size:.78rem;color:var(--muted)}
.blogcards h3{font-size:1.16rem;margin:10px 26px 8px;line-height:1.32}
.blogcards p{font-size:.95rem}
.artmeta{margin-bottom:6px;font-size:.9rem;color:var(--muted);font-weight:700}
.prose figure{margin:0 0 26px}
.arttags{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 0}
.artsign{margin-top:26px;padding:20px 24px;background:var(--sky);border-radius:18px;font-size:.94rem;color:var(--muted)}
.artsign b{display:block;font-family:'Fraunces';font-size:1.05rem;color:var(--deep);margin-bottom:4px}
.artsign span{display:block;font-style:italic;line-height:1.5}
.prose small{font-size:.82rem;color:var(--muted)}
.prose blockquote{border:1px solid #DCE9DD;background:var(--mint);border-radius:14px;padding:18px 24px;margin:24px 0;font-style:italic;color:var(--deep);font-size:1.04rem}

/* protezione: una sezione colorata deve sempre avere respiro in alto */
.sec.aree,.sec.gal,.sec.philo,.sec.cta,.sec.faq,.stats{padding-top:clamp(56px,8vw,100px)}
.sec.aree>.wrap>.head:first-child,.sec.gal>.wrap>.head:first-child{margin-top:0}

/* leggibilità mobile: etichette e aree tappabili */
.blogcards .pauth{font-size:.8rem}
.blogcards .pdate{font-size:.82rem}
.ctag{font-size:.74rem}
.calchip .tag2{font-size:.7rem}
.ftr ul a{display:inline-block;padding:4px 2px}
.ftr .con a{padding:2px 0}
@media(max-width:640px){
  .ftr ul{gap:6px}
  .ftr ul a{padding:8px 2px}
  .crumbs{padding:2px 0}
}

/* certificato INPS */
.certbox{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 10px rgba(12,42,60,.05);border:1px solid #E5E1D8}
.certbox p{color:var(--muted);font-size:1.02rem;line-height:1.7;margin-bottom:14px}
.certbox p b{color:var(--ink)}
.certcta{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.certcta p{color:var(--deep);margin-bottom:16px}
.certbtns{display:flex;gap:12px;flex-wrap:wrap}
.certbtns .btn{flex:1 1 210px;font-size:.95rem;padding:13px 20px}
@media(max-width:640px){.certbox{padding:24px 20px}.certbtns .btn{flex:1 1 100%}}

/* margini laterali coerenti per equipe (divider, indice, accordion) */
.rdiv,.acc,.tnav{padding-left:26px;padding-right:26px}
.tnav{padding:24px 28px}
@media(max-width:920px){
  .rdiv,.acc{padding-left:18px;padding-right:18px}
  .tnav{margin-left:18px;margin-right:18px;padding:20px 20px}
}

/* =====================================================================
   VARIANTE E — SPLIT ELEGANTE (override globale)
   ===================================================================== */

/* Tipografia: peso più deciso, meno "morbido" */
body { font-family: 'Nunito', system-ui, sans-serif; }
h1, h2, h3, h4, .brand b { font-family: 'Fraunces', Georgia, serif; letter-spacing: -0.01em; }
h1 { font-weight: 600; }
h2 { font-weight: 600; }
h3 { font-weight: 600; }

/* Angoli meno tondi, più professionali */
.btn, .btn-p, .btn-o { border-radius: 999px !important; }
.ac, .pubcard, .roleitem, .certbox, .cband,
.livebox, .aitem, .pcard, .servizi,
.hilite, .pubnote, .hbadge,
.acards .ac, .blogcards .ac { border-radius: 16px !important; }

/* Palette: mantengo quella del sito ma rafforzo il verde d'accento */
em { color: var(--green-d); font-style: italic; font-weight: 500; }

/* ==================== HEADER più pulito ==================== */
.hdr { background: rgba(251, 246, 239, 0.92); backdrop-filter: blur(10px); border-bottom: 1px solid #EFE6D8; }
.brand img { width: 46px; height: 46px; }
.brand b { font-size: 1.02rem; color: var(--deep); }
.brand span { font-size: 0.62rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.nav a { padding: 9px 13px; border-radius: 9px; font-weight: 600; }
.nav .btn-p { padding: 11px 22px !important; }

/* ==================== HERO variante E ==================== */
.e-hero { padding: 60px 0 80px; position: relative; overflow: hidden; background: var(--cream); }
.e-hero::before { content: ""; position: absolute; top: -120px; right: -120px; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(20, 155, 209, 0.07), transparent 65%); z-index: 0; }
.e-hero::after  { content: ""; position: absolute; bottom: -180px; left: -120px; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, rgba(108, 175, 69, 0.06), transparent 65%); z-index: 0; }
.e-hgrid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 64px; align-items: center; }
.e-htext { }
.e-kick { display: inline-flex; align-items: center; gap: 10px; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.22em; color: var(--teal); margin-bottom: 22px; }
.e-kick span { width: 32px; height: 2px; background: var(--green); display: inline-block; }
.e-hero h1 { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: clamp(2.1rem, 4vw, 3.2rem); color: var(--deep); line-height: 1.1; margin-bottom: 22px; }
.e-hero h1 em { color: var(--green-d); font-style: italic; font-weight: 500; }
.e-sub { font-size: 1.1rem; color: var(--ink); line-height: 1.65; margin-bottom: 32px; max-width: 500px; }
.e-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 34px; }
.e-b1, .e-b2 { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; border-radius: 999px; font-weight: 800; font-size: 0.95rem; text-decoration: none; }
.e-b1 { background: var(--deep); color: #fff; box-shadow: 0 14px 30px -14px rgba(12, 90, 133, 0.55); }
.e-b2 { background: #fff; color: var(--deep); border: 1.5px solid #EFE6D8; }
.e-b1 svg, .e-b2 svg { width: 18px; height: 18px; }
.e-trust { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 460px; }
.e-trust div { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid #EFE6D8; padding: 14px 18px; border-radius: 14px; }
.e-trust > div > b { width: 36px; height: 36px; border-radius: 10px; background: var(--mint); color: var(--green-d); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.e-trust > div > b svg { width: 18px; height: 18px; }
.e-trust span { font-size: 0.95rem; color: var(--ink); line-height: 1.4; }
.e-trust span b { color: var(--deep); font-weight: 800; }
.e-hfig { position: relative; aspect-ratio: 5/6; border-radius: 24px; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(12, 90, 133, 0.4); }
.e-hfig img { width: 100%; height: 100%; object-fit: cover; display: block; }
.e-hbadge { position: absolute; bottom: 20px; left: 20px; background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(10px); padding: 14px 20px; border-radius: 14px; box-shadow: 0 12px 26px -14px rgba(0, 0, 0, 0.3); }
.e-hbadge b { display: block; font-family: 'Fraunces', serif; color: var(--deep); font-size: 1rem; margin-bottom: 2px; }
.e-hbadge span { font-size: 0.76rem; color: var(--muted); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

/* nascondo la vecchia decorazione wave se presente */
.e-hero + .wave { display: none; }
.e-hero .blob1, .e-hero .blob2, .e-hero .hbadge { display: none; }

/* ==================== SEZIONI a due colonne (Brighenti in home) ==================== */
.e-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; max-width: 1180px; margin: 0 auto; }
.e-rev { direction: rtl; }
.e-rev > * { direction: ltr; }
.e-2col p { color: var(--muted); font-size: 1.02rem; line-height: 1.75; margin: 12px 0 18px; }
.e-2col h2 { color: var(--deep); font-size: clamp(1.7rem, 2.8vw, 2.35rem); margin-bottom: 14px; }
.e-lbl { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--teal); display: inline-block; margin-bottom: 12px; }
.e-brole { color: var(--green-d); font-weight: 800; font-size: 0.98rem; text-transform: uppercase; letter-spacing: 0.06em; margin: 10px 0 !important; }
.e-fig2 { aspect-ratio: 4/5; overflow: hidden; border-radius: 20px; }
.e-fig2 img { width: 100%; height: 100%; object-fit: cover; }
.e-link { color: var(--blue); font-weight: 800; font-size: 0.94rem; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.e-brighenti-home { padding: 80px 0; background: #fff; }
.e-bquote { border: 1px solid #E5E1D8; padding: 16px 22px; margin: 20px 0; font-family: 'Fraunces', serif; font-style: italic; font-size: 1.15rem; color: var(--deep); line-height: 1.45; background: var(--cream); border-radius: 14px; }

/* ==================== Card più professionali ==================== */
.ac { border: 1px solid #EFE6D8 !important; box-shadow: 0 4px 16px -8px rgba(12, 90, 133, 0.08) !important; transition: transform 0.22s, box-shadow 0.22s; }
.ac:hover { transform: translateY(-3px); box-shadow: 0 12px 30px -12px rgba(12, 90, 133, 0.2) !important; }
.ac .top { display: none; }
.ac .ico { border-radius: 12px !important; }

/* ==================== Marquee gallery: mantengo ma con angoli ridotti ==================== */
.gitem { border-radius: 16px !important; }

/* ==================== Footer più pulito ==================== */
.ftr { background: var(--deep); }

/* ==================== MOBILE ==================== */
@media (max-width: 900px) {
  .e-hgrid, .e-2col { grid-template-columns: 1fr !important; gap: 32px; direction: ltr; }
  .e-rev > * { direction: ltr; }
  .e-hero { padding: 40px 0 60px; }
  .e-hfig { aspect-ratio: 4/5; max-height: 500px; }
  .e-hero h1 { font-size: 1.9rem; }
  .e-btns .e-b1, .e-btns .e-b2 { flex: 1 1 auto; justify-content: center; }
  .e-trust { max-width: none; }
  .e-brighenti-home { padding: 50px 0; }
  .e-fig2 { aspect-ratio: 4/3; max-height: 380px; }
}

/* riga direzione scientifica in home (testo + link, senza foto) */
.e-dirline{margin-top:14px !important;padding-top:14px;border-top:1px solid rgba(12,90,133,.12);font-size:.98rem !important;color:var(--muted) !important}
.e-dirline a{color:var(--blue);font-weight:800;text-decoration:none}

/* resa immagini articolo: sempre orizzontali, mai deformate */
.prose figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px;display:block}
.e-dirline a:hover{text-decoration:underline}

.phero.withfig .in{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,4vw,52px);align-items:center}
.phero.withfig .pfig{margin:0;max-width:330px;justify-self:end;border-radius:24px;overflow:hidden;box-shadow:var(--sh)}
.phero.withfig .pfig img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
@media(max-width:860px){.phero.withfig .in{grid-template-columns:1fr;gap:22px}.phero.withfig .pfig{max-width:300px;justify-self:start;margin-top:2px}}
