/* Tema CMXDS — base. Variabili, struttura e componenti comuni.
   Palette, font, forme e movimento si cambiano nelle variabili di :root (vedi cmxds-type-color e cmxds-shape-motion). */

/* Font locali (Fraunces e Manrope, licenza OFL) */
@font-face{font-family:"Fraunces";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/fraunces-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/fraunces-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-weight:600;font-style:italic;font-display:swap;src:url(../fonts/fraunces-latin-600-italic.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-700-normal.woff2) format("woff2")}

:root{
  --iso-bg:#fbf8f2; --iso-surface:#f2ece1; --iso-ink:#17231f; --iso-muted:#55625c;
  --iso-brand:#0e5a4a; --iso-brand-ink:#ffffff; --iso-accent:#a8460f;
  --iso-dark:#10241f; --iso-dark-ink:#f6f1e7; --iso-line:#e6dfd1;
  --iso-f-display:"Fraunces",Georgia,"Times New Roman",serif; --iso-f-body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif; --iso-f-mono:"Manrope",system-ui,sans-serif;
  --iso-r:12px; --iso-r-lg:22px; --iso-shadow:0 24px 50px -28px rgba(16,36,31,.45);
  --iso-w:1240px; --iso-gut:clamp(16px,4vw,40px);
  --iso-s1:8px; --iso-s2:16px; --iso-s3:24px; --iso-s4:32px; --iso-s5:48px; --iso-s6:64px; --iso-s7:96px;
  --iso-sec:clamp(56px,9vw,128px); --iso-hh:76px;
}
@media (min-width:1100px){:root{--iso-hh:88px}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--iso-hh) + 16px)}
body{margin:0;background:var(--iso-bg);color:var(--iso-ink);font:400 clamp(1rem,.96rem + .2vw,1.125rem)/1.65 var(--iso-f-body);-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--iso-f-display);line-height:1.12;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.4rem,6.4vw,5rem)} h2{font-size:clamp(1.8rem,3.8vw,3rem)} h3{font-size:clamp(1.2rem,2vw,1.6rem)}
p{margin:0 0 1em}
a{color:inherit}
.iso-skip{position:absolute;left:-999px;top:0;background:var(--iso-brand);color:var(--iso-brand-ink);padding:12px 16px;z-index:100}
.iso-skip:focus{left:8px;top:8px}
.iso-wrap{max-width:var(--iso-w);margin-inline:auto;padding-inline:var(--iso-gut)}
.iso-wrap--narrow{max-width:860px}
.iso-sec{padding-block:var(--iso-sec)}
.iso-sec--surface{background:var(--iso-surface)}
.iso-sec--dark{background:var(--iso-dark);color:var(--iso-dark-ink)}
.iso-sec--dark :is(h1,h2,h3,h4){color:var(--iso-dark-ink)}
.iso-sec--dark .iso-card{background:rgba(255,255,255,.07);color:var(--iso-dark-ink)}
.iso-sec--dark .iso-btn--ghost{color:var(--iso-dark-ink);border-color:var(--iso-dark-ink)}
.iso-sec--brand{background:var(--iso-brand);color:var(--iso-brand-ink)}
.iso-sec--brand :is(h1,h2,h3,h4){color:var(--iso-brand-ink)}
.iso-kicker{font:700 .78rem/1.2 var(--iso-f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--iso-accent);margin-bottom:var(--iso-s2)}
.iso-sechead{display:grid;gap:var(--iso-s1);margin-bottom:var(--iso-s5)}
.iso-sechead--center{text-align:center;justify-items:center}
.iso-lead{font-size:clamp(1.05rem,1rem + .4vw,1.3rem);color:var(--iso-muted)}
.iso-sec--dark .iso-lead,.iso-sec--brand .iso-lead{color:inherit;opacity:.85}

/* pulsanti */
.iso-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:.7em 1.5em;border:2px solid var(--iso-brand);border-radius:var(--iso-r);background:var(--iso-brand);color:var(--iso-brand-ink);font:600 1rem/1.1 var(--iso-f-body);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.iso-btn:hover{background:transparent;color:var(--iso-brand)}
.iso-btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--iso-accent);outline-offset:3px}
.iso-btn--ghost{background:transparent;color:var(--iso-brand)}
.iso-btn--ghost:hover{background:var(--iso-brand);color:var(--iso-brand-ink)}
.iso-btn--block{display:flex;width:100%}
.iso-sec--dark .iso-btn,.iso-sec--brand .iso-btn{background:var(--iso-dark-ink);border-color:var(--iso-dark-ink);color:var(--iso-dark)}
.iso-sec--dark .iso-btn:hover,.iso-sec--brand .iso-btn:hover{background:transparent;color:var(--iso-dark-ink)}
.iso-actions{display:flex;flex-wrap:wrap;gap:var(--iso-s2);margin-top:var(--iso-s4)}
.iso-linkbtn{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}

/* foto con rapporto fisso e segnaposto neutro */
.iso-media{position:relative;overflow:hidden;border-radius:var(--iso-r);background:var(--iso-surface);margin:0}
.iso-media>img,.iso-media>.iso-ph{width:100%;height:100%;object-fit:cover}
.iso-media--16x10{aspect-ratio:16/10}.iso-media--4x3{aspect-ratio:4/3}.iso-media--1x1{aspect-ratio:1}.iso-media--4x5{aspect-ratio:4/5}.iso-media--3x4{aspect-ratio:3/4}
.iso-ph{display:block;background:linear-gradient(135deg,var(--iso-surface),var(--iso-line))}

/* griglia a righe complete */
.iso-grid{display:grid;gap:var(--iso-s3);grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
/* !important: --cols è scritta inline dalle ricette e senza non cederebbe sui tablet e sui telefoni */
@media (max-width:1023px){.iso-grid{--cols:2!important}.iso-grid[data-n="3"]{--cols:1!important}}
@media (max-width:640px){.iso-grid{--cols:1!important}}
.iso-split{display:grid;gap:var(--iso-s5);align-items:center;grid-template-columns:var(--ratio,1fr 1fr)}
.iso-split.is-flip>:first-child{order:2}
@media (max-width:860px){.iso-split{grid-template-columns:minmax(0,1fr)}.iso-split.is-flip>:first-child{order:0}}

/* schede */
.iso-card{display:flex;flex-direction:column;background:var(--iso-surface);border-radius:var(--iso-r)}
.iso-card .iso-media{border-radius:var(--iso-r) var(--iso-r) 0 0}
.iso-card__body{display:flex;flex-direction:column;gap:var(--iso-s1);padding:var(--iso-s4);flex:1}
.iso-card__body .iso-btn{margin-top:auto;align-self:flex-start}
.iso-card__t{margin:0}.iso-card__t a{text-decoration:none}
.iso-card--contact svg{color:var(--iso-brand)}

/* elenco a righe, fisarmonica, fascia */
.iso-rows{list-style:none;margin:0;padding:0}
.iso-rows li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) auto;gap:var(--iso-s4);align-items:center;padding-block:var(--iso-s4);border-top:1px solid var(--iso-line)}
.iso-rows li:last-child{border-bottom:1px solid var(--iso-line)}
.iso-rows h3,.iso-rows p{margin:0}
@media (max-width:760px){.iso-rows li{grid-template-columns:1fr;gap:var(--iso-s2)}}
.iso-acc details{border-top:1px solid var(--iso-line);padding-block:var(--iso-s3)}
.iso-acc details:last-child{border-bottom:1px solid var(--iso-line)}
.iso-acc summary{display:flex;justify-content:space-between;align-items:center;gap:var(--iso-s3);cursor:pointer;list-style:none;min-height:48px}
.iso-acc summary::-webkit-details-marker{display:none}
.iso-acc summary h3{margin:0;font-size:clamp(1.1rem,1.8vw,1.35rem)}
.iso-acc details p{margin:var(--iso-s2) 0 0}
.iso-plus{position:relative;width:20px;height:20px;flex:none}
.iso-plus::before,.iso-plus::after{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:var(--iso-brand);transition:transform .25s}
.iso-plus::after{transform:rotate(90deg)}
details[open] .iso-plus::after{transform:rotate(0)}
.iso-cta{display:flex;flex-wrap:wrap;gap:var(--iso-s4);align-items:center;justify-content:space-between}
.iso-cta .iso-actions{margin:0}
.iso-hours{display:flex;align-items:center;gap:var(--iso-s1);margin-top:var(--iso-s4);color:var(--iso-muted)}

/* ===== TESTATA E MENU (varianti N01–N08, tendine D1–D4, menu mobile MM1–MM4 da content/site.php → 'layout') =====
   I blocchi marcati @L:xx (apertura) e @/L (chiusura) delle varianti non scelte vengono tolti da package_theme.py: il CSS consegnato contiene solo le varianti del sito. */
.iso-hd{--hd-bg:var(--iso-bg);--hd-ink:var(--iso-ink);--hd-line:var(--iso-line);position:fixed;inset:0 0 auto 0;z-index:50;height:var(--iso-hh);background:var(--hd-bg);color:var(--hd-ink);box-shadow:0 1px 0 var(--hd-line);transition:background-color .35s,color .35s,box-shadow .35s,transform .45s var(--mo-ease);view-transition-name:iso-hd}
.iso-hd.is-over:not(.is-solid){--hd-bg:transparent;--hd-ink:#fff;--hd-line:transparent}
body.is-mm-open .iso-hd{transform:none}
body.is-mm-open .iso-hd.is-over:not(.is-solid){--hd-bg:var(--iso-bg);--hd-ink:var(--iso-ink);--hd-line:var(--iso-line)}
body.is-mm-open .iso-hd.is-over .iso-hd__tel{background:var(--iso-brand);border-color:var(--iso-brand);color:var(--iso-brand-ink)}
.iso-hd__in{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--iso-s4)}
.iso-logo{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font:600 1.3rem var(--iso-f-display);color:inherit;transition:transform .35s var(--mo-ease)}
.iso-logo img,.iso-logo svg{max-height:46px;width:auto}
.iso-nav{justify-self:center}
.iso-menu{display:flex;gap:clamp(14px,2vw,30px);list-style:none;margin:0;padding:0;align-items:center}
.iso-menu>li{position:relative;display:flex;align-items:center;gap:2px}
.iso-menu>li>a{position:relative;display:inline-flex;align-items:center;min-height:48px;color:inherit;text-decoration:none;font:600 .95rem var(--iso-f-body);letter-spacing:.01em}
.iso-menu>li>a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;border-radius:2px;background:var(--iso-accent);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--mo-ease)}
.iso-menu>li>a:hover::after,.iso-menu>li.is-open>a::after,.iso-menu>li.current-menu-item>a::after,.iso-menu>li.current-menu-ancestor>a::after{transform:scaleX(1);transform-origin:left}
.iso-sub-toggle{display:inline-grid;place-items:center;width:28px;height:40px;margin-left:-2px;padding:0;border:0;background:none;color:inherit;cursor:pointer;border-radius:8px}
.iso-sub-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .35s var(--mo-ease)}
.is-open>.iso-sub-toggle svg{transform:rotate(180deg)}
.iso-sub-toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}
/* tendina: sempre nel DOM, si apre con dissolvenza e discesa; ponte invisibile per non perderla passando col mouse */
.iso-menu .sub-menu{position:absolute;top:calc(100% + 10px);left:50%;z-index:5;min-width:250px;margin:0;padding:10px;list-style:none;background:var(--iso-bg);color:var(--iso-ink);border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);box-shadow:0 28px 60px -26px rgba(0,0,0,.38),0 2px 6px -2px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translate3d(-50%,10px,0) scale(.98);transform-origin:50% 0;transition:opacity .25s ease,transform .35s var(--mo-ease),visibility 0s linear .35s}
.iso-menu .sub-menu::before{content:"";position:absolute;inset:-14px 0 auto;height:14px}
.iso-menu li.is-open>.sub-menu,html:not(.js) .iso-menu li:hover>.sub-menu,html:not(.js) .iso-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate3d(-50%,0,0);transition:opacity .25s ease,transform .4s var(--mo-ease),visibility 0s}
.iso-menu .sub-menu li{opacity:0;transform:translate3d(0,6px,0);transition:opacity .3s,transform .4s var(--mo-ease)}
.iso-menu li.is-open>.sub-menu li,html:not(.js) .iso-menu li:focus-within>.sub-menu li{opacity:1;transform:none;transition-delay:calc(var(--j,0)*35ms + 60ms)}
.iso-menu .sub-menu li:nth-child(2){--j:1}.iso-menu .sub-menu li:nth-child(3){--j:2}.iso-menu .sub-menu li:nth-child(4){--j:3}.iso-menu .sub-menu li:nth-child(5){--j:4}.iso-menu .sub-menu li:nth-child(6){--j:5}.iso-menu .sub-menu li:nth-child(n+7){--j:6}
.iso-menu .sub-menu a{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:46px;padding:10px 14px;border-radius:calc(var(--iso-r-lg) - 6px);color:inherit;text-decoration:none;font:500 .95rem/1.3 var(--iso-f-body);transition:background-color .2s,transform .3s var(--mo-ease),color .2s}
.iso-menu .sub-menu a:hover,.iso-menu .sub-menu a:focus-visible,.iso-menu .sub-menu .current-menu-item>a{background:color-mix(in srgb,var(--iso-brand) 9%,transparent);color:var(--iso-brand);transform:translate3d(4px,0,0)}
.iso-menu__desc{display:block;font:400 .82rem/1.35 var(--iso-f-body);color:var(--iso-muted)}
.iso-menu li.is-mega>.sub-menu{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:2px 8px;min-width:min(560px,80vw)}
.iso-menu li.is-mega:has(>.sub-menu>li:nth-child(13))>.sub-menu{grid-template-columns:repeat(3,minmax(200px,1fr));min-width:min(760px,86vw)}
.iso-hd__cta{display:flex;align-items:center;gap:var(--iso-s2)}
.iso-hd__tel{min-height:46px;padding:.45em 1.05em;gap:.5em}
.iso-hd.is-over:not(.is-solid) .iso-hd__tel{background:transparent;border-color:rgba(255,255,255,.85);color:#fff}
/* pulsante del menu: tre linee che diventano una X */
.iso-burger{display:none;position:relative;width:48px;height:48px;padding:0;border:0;border-radius:12px;background:none;color:inherit;cursor:pointer}
.iso-burger__bars{position:absolute;left:12px;right:12px;top:50%;height:14px;margin-top:-7px}
.iso-burger__bars i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .45s var(--mo-ease),opacity .25s,top .3s var(--mo-ease) .15s}
.iso-burger__bars i:nth-child(1){top:0}.iso-burger__bars i:nth-child(2){top:6px;right:5px}.iso-burger__bars i:nth-child(3){top:12px}
.iso-burger[aria-expanded="true"] .iso-burger__bars i{transition:top .25s var(--mo-ease),transform .45s var(--mo-ease) .2s,opacity .2s}
.iso-burger[aria-expanded="true"] .iso-burger__bars i:nth-child(1){top:6px;transform:rotate(45deg)}
.iso-burger[aria-expanded="true"] .iso-burger__bars i:nth-child(2){opacity:0}
.iso-burger[aria-expanded="true"] .iso-burger__bars i:nth-child(3){top:6px;transform:rotate(-45deg)}
.iso-burger:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media (max-width:1023px){.iso-nav,.iso-hd__tel span{display:none}.iso-burger{display:inline-block}.iso-hd__in{grid-template-columns:1fr auto}.iso-hd__tel{width:46px;padding:0;justify-content:center}}
/* menu mobile (base MM1: pannello che scende sotto la testata, voci che entrano una dopo l'altra) */
.iso-mm{position:fixed;inset:var(--iso-hh) 0 0 0;z-index:49;background:var(--iso-bg);color:var(--iso-ink);overflow:auto;overscroll-behavior:contain;opacity:0;transform:translate3d(0,-14px,0);transition:opacity .35s ease,transform .45s var(--mo-ease)}
.iso-mm.is-open{opacity:1;transform:none}
.iso-mm[hidden]{display:none}
.iso-mm__in{min-height:100%;display:flex;flex-direction:column;padding:var(--iso-s3) var(--iso-gut) calc(var(--iso-s5) + env(safe-area-inset-bottom))}
.iso-mm__list,.iso-mm__list .sub-menu{list-style:none;margin:0;padding:0}
.iso-mm__list>li{position:relative;display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--iso-line);opacity:0;transform:translate3d(0,14px,0);transition:opacity .35s,transform .5s var(--mo-ease)}
.iso-mm.is-open .iso-mm__list>li{opacity:1;transform:none;transition-delay:calc(var(--i,0)*45ms + 80ms)}
.iso-mm__list>li>a{flex:1;display:flex;align-items:center;min-height:58px;font:500 clamp(1.25rem,5vw,1.6rem)/1.2 var(--iso-f-display);color:inherit;text-decoration:none}
.iso-mm__list>li.current-menu-item>a,.iso-mm__list>li.current-menu-ancestor>a{color:var(--iso-brand)}
.iso-mm__list .iso-sub-toggle{width:48px;height:48px}
.iso-mm__list .sub-menu{flex-basis:100%;padding:0 0 var(--iso-s2) var(--iso-s2)}
.iso-mm__list .sub-menu a{display:flex;flex-direction:column;justify-content:center;min-height:46px;color:var(--iso-muted);text-decoration:none;font:500 1.05rem var(--iso-f-body)}
.iso-mm__list .sub-menu a:hover,.iso-mm__list .sub-menu .current-menu-item>a{color:var(--iso-brand)}
.iso-mm__list .iso-menu__desc{display:none}
.iso-mm:not(.is-acc) .iso-mm__list .iso-sub-toggle{display:none}
.iso-mm.is-acc .iso-mm__list .sub-menu{height:0;overflow:hidden;padding-bottom:0;visibility:hidden;transition:height .45s var(--mo-ease),padding .45s var(--mo-ease),visibility 0s .45s}
.iso-mm.is-acc .iso-mm__list li.is-open>.sub-menu{height:auto;padding-bottom:var(--iso-s2);visibility:visible;transition:height .45s var(--mo-ease),padding .45s var(--mo-ease),visibility 0s}
.iso-mm__foot{margin-top:auto;padding-top:var(--iso-s4);display:grid;gap:var(--iso-s3);opacity:0;transform:translate3d(0,14px,0);transition:opacity .4s .3s,transform .5s var(--mo-ease) .3s}
.iso-mm.is-open .iso-mm__foot{opacity:1;transform:none}
.iso-mm__btns{display:grid;grid-template-columns:1fr 1fr;gap:var(--iso-s2)}
.iso-mm__btns .iso-btn{justify-content:center;width:100%}
.iso-mm__btns .iso-btn:only-child{grid-column:1/-1}
.iso-mm__info{display:grid;gap:var(--iso-s1);margin:0;font-size:.95rem;color:var(--iso-muted)}
.iso-mm__info>*{display:inline-flex;align-items:center;gap:.5em;min-height:44px;color:inherit;text-decoration:none}
.iso-mm__info svg{flex:none;width:16px;height:16px}
body.is-mm-open{overflow:hidden}
@media (min-width:1024px){.iso-mm{display:none!important}}
 .iso-hd--N02{--hd-bg:color-mix(in srgb,var(--iso-bg) 62%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5)}
.iso-hd--N02.is-over:not(.is-solid){--hd-bg:rgba(10,10,10,.18);--hd-ink:#fff;--hd-line:rgba(255,255,255,.18)}
@supports not (backdrop-filter:blur(1px)){.iso-hd--N02{--hd-bg:var(--iso-bg)}} 






/* tendine */
 .iso-dd--D2 .iso-menu .sub-menu{min-width:320px;padding:14px;border:0;border-top:3px solid var(--iso-brand);background:linear-gradient(180deg,color-mix(in srgb,var(--iso-brand) 6%,var(--iso-bg)),var(--iso-bg) 60%)}
.iso-dd--D2 .iso-menu .sub-menu a{flex-direction:row;align-items:center;justify-content:space-between}
.iso-dd--D2 .iso-menu .sub-menu a::after{content:"→";opacity:0;transform:translate3d(-6px,0,0);transition:opacity .25s,transform .3s var(--mo-ease)}
.iso-dd--D2 .iso-menu .sub-menu a:hover::after{opacity:1;transform:none} 


/* menu mobile */


 .iso-mm--MM4{inset:0;z-index:51;background:var(--iso-brand);color:var(--iso-brand-ink);clip-path:circle(0 at calc(100% - 44px) 38px);opacity:1;transform:none;transition:clip-path .6s var(--mo-ease)}
.iso-mm--MM4.is-open{clip-path:circle(150% at calc(100% - 44px) 38px)}
.iso-L-MM4.is-mm-open .iso-hd,.iso-L-MM4.is-mm-open .iso-hd.is-over:not(.is-solid){--hd-bg:transparent;--hd-ink:var(--iso-brand-ink);--hd-line:transparent;z-index:52}
.iso-mm--MM4 .iso-mm__in{padding-top:calc(var(--iso-hh) + var(--iso-s3))}
.iso-mm--MM4 .iso-mm__list>li{border-color:color-mix(in srgb,var(--iso-brand-ink) 22%,transparent)}
.iso-mm--MM4 .iso-mm__list>li>a{font-size:clamp(1.5rem,6.5vw,2.1rem)}
.iso-mm--MM4 .iso-mm__list .sub-menu a,.iso-mm--MM4 .iso-mm__info,.iso-mm--MM4 .iso-mm__list>li.current-menu-item>a{color:var(--iso-brand-ink)}
.iso-mm--MM4 .iso-btn{background:var(--iso-brand-ink);color:var(--iso-brand);border-color:var(--iso-brand-ink)}
.iso-mm--MM4 .iso-btn--ghost{background:transparent;color:var(--iso-brand-ink)}
.iso-L-MM4.is-mm-open .iso-hd .iso-hd__tel{background:transparent;border-color:var(--iso-brand-ink);color:var(--iso-brand-ink)} 
.iso-main{display:block}
body:not(.home) .iso-main{padding-top:0}

/* hero della home (H01) */
.iso-hero{position:relative;min-height:100vh;min-height:100svh;display:grid;align-items:center;color:#fff;isolation:isolate;overflow:clip}
.iso-hero__media{position:absolute;inset:0;z-index:-1}
.iso-hero__media img,.iso-hero__media .iso-ph,.iso-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.iso-hero__media::after{content:"";position:absolute;inset:0;background:rgba(10,10,10,.45)}
.iso-hero__in{text-align:center;display:grid;justify-items:center;gap:var(--iso-s3);padding-block:calc(var(--iso-hh) + var(--iso-s5)) var(--iso-s6)}
.iso-hero h1{color:#fff;max-width:18ch;margin:0}
.iso-hero__eyebrow{font:600 .8rem var(--iso-f-body);letter-spacing:.2em;text-transform:uppercase;margin:0}
.iso-hero__sub{font-size:clamp(1.05rem,1rem + .5vw,1.4rem);max-width:60ch;margin:0}
.iso-hero .iso-actions{justify-content:center;margin-top:var(--iso-s2)}
.iso-hero .iso-btn--ghost{color:#fff;border-color:#fff}
.iso-hero .iso-btn--ghost:hover{background:#fff;color:#111}
.iso-hero__video{opacity:0;transition:opacity .6s}.iso-hero__video.is-on{opacity:1}
@media (max-width:899px),(prefers-reduced-motion:reduce){.iso-hero__video{display:none}}
@media (max-width:640px){.iso-hero{min-height:100vh;min-height:100svh}.iso-hero h1{max-width:none}}

/* hero: varianti H02–H10 (sempre foto o video a tutto sfondo; cambiano velo, posizione del testo e dettagli) */
.iso-hero h1 em{font-style:italic;color:inherit}
.iso-hero h1 em{color:color-mix(in srgb,var(--iso-accent) 70%,#fff)}
.iso-hero__scroll{position:absolute;left:50%;bottom:clamp(18px,4vh,40px);z-index:2;width:30px;height:48px;margin-left:-15px;border:2px solid rgba(255,255,255,.8);border-radius:20px}
.iso-hero__scroll span{position:absolute;left:50%;top:9px;width:4px;height:9px;margin-left:-2px;border-radius:2px;background:#fff;animation:iso-scrollcue 1.8s var(--mo-ease) infinite}
@keyframes iso-scrollcue{0%{transform:translate3d(0,0,0);opacity:0}30%{opacity:1}80%{transform:translate3d(0,14px,0);opacity:0}100%{opacity:0}}

 .iso-hero--H03 .iso-hero__media::after{background:rgba(10,10,10,.38)}
.iso-hero--H03::before{content:"";position:absolute;inset:clamp(12px,2vw,28px);top:calc(var(--iso-hh) + 8px);z-index:1;border:1px solid rgba(255,255,255,.65);pointer-events:none}
.iso-hero--H03 .iso-hero__eyebrow{display:inline-flex;align-items:center;gap:14px}
.iso-hero--H03 .iso-hero__eyebrow::before,.iso-hero--H03 .iso-hero__eyebrow::after{content:"";width:40px;height:1px;background:currentColor} 








/* intestazione delle pagine interne (I01): foto a tutta larghezza, nessun pulsante */
header.iso-phead{position:relative;display:grid;align-items:center;min-height:clamp(260px,42vh,460px);color:#fff;isolation:isolate;padding-top:var(--iso-hh);text-align:center}
.iso-phead__media{position:absolute;inset:0;z-index:-1}
.iso-phead__media img,.iso-phead__media .iso-ph{width:100%;height:100%;object-fit:cover}
.iso-phead__media::after{content:"";position:absolute;inset:0;background:rgba(10,10,10,.45)}
header.iso-phead h1{color:#fff;font-size:clamp(2rem,5vw,3.6rem);margin:0}
header.iso-phead .iso-kicker{color:#fff;opacity:.9}
header.iso-phead--plain{background:var(--iso-surface);color:var(--iso-ink);min-height:0;padding-block:calc(var(--iso-hh) + var(--iso-s5)) var(--iso-s5)}
header.iso-phead--plain h1,header.iso-phead--plain .iso-kicker{color:var(--iso-ink)}
header.iso-phead.no-img:not(.iso-phead--plain){background:var(--iso-dark)}

/* intestazioni interne: varianti I02–I06 (sempre senza pulsanti) */


 .iso-phead__rule{display:block;width:56px;height:3px;margin:var(--iso-s3) auto 0;background:var(--iso-accent);transform-origin:center;animation:iso-rule .9s var(--mo-ease) .35s both}
@keyframes iso-rule{from{transform:scaleX(0)}} 



/* mappa sempre visibile: prima sezione di Contatti, 50vh */
.iso-map{position:relative;height:50vh;min-height:320px;background:var(--iso-surface)}
.iso-map__frame{display:block;width:100%;height:100%;border:0}
.iso-map__open{position:absolute;right:var(--iso-s2);bottom:var(--iso-s2);box-shadow:var(--iso-shadow)}

/* testi lunghi */
.iso-prose :is(h2,h3){margin-top:1.6em}
.iso-prose ul{padding-left:1.2em}

/* ===== FOOTER (varianti F01–F08) ===== */
.iso-ft{--ft-bg:var(--iso-dark);--ft-ink:var(--iso-dark-ink);--ft-mut:color-mix(in srgb,var(--ft-ink) 70%,transparent);--ft-line:color-mix(in srgb,var(--ft-ink) 14%,transparent);position:relative;overflow:clip;background:var(--ft-bg);color:var(--ft-ink);padding-top:clamp(56px,7vw,96px)}
.iso-ft a{color:inherit;text-decoration:none}
.iso-ft__in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) auto;gap:clamp(32px,5vw,72px);padding-bottom:clamp(40px,5vw,64px)}
.iso-ft__card{display:grid;gap:var(--iso-s2);align-content:start}
.iso-ft__brand{display:inline-flex;font:500 1.7rem/1.1 var(--iso-f-display)}
.iso-ft__brand img{max-height:52px;width:auto}
.iso-ft__claim{margin:0;color:var(--ft-mut);max-width:42ch}
.iso-ft__contacts{list-style:none;margin:var(--iso-s1) 0 0;padding:0;display:grid;gap:4px}
.iso-ft__contacts li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:center;min-height:44px}
.iso-ft__contacts svg{width:18px;height:18px;color:var(--iso-accent);stroke:currentColor}
.iso-ft__contacts address{font-style:normal}
.iso-ft__contacts a{display:inline-flex;align-items:center;min-height:44px;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/0 1px no-repeat;transition:background-size .4s var(--mo-ease)}
.iso-ft__contacts a:hover{background-size:100% 1px}
.iso-ft__links{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--iso-s4)}
.iso-ft__h{margin:0 0 var(--iso-s2);font:600 .76rem/1 var(--iso-f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--iso-accent)}
.iso-ft__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.iso-ft__list a{display:inline-flex;align-items:center;min-height:40px;color:var(--ft-mut);transition:color .25s,transform .35s var(--mo-ease)}
.iso-ft__list a:hover{color:var(--ft-ink);transform:translate3d(4px,0,0)}
.iso-ft__social{display:flex;gap:var(--iso-s1);align-items:start}
.iso-ft__social a{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--ft-line);border-radius:50%;transition:background-color .3s,color .3s,transform .4s var(--mo-ease)}
.iso-ft__social a:hover{background:var(--iso-accent);border-color:var(--iso-accent);color:#fff;transform:translate3d(0,-3px,0)}
.iso-ft__social svg{width:19px;height:19px}
.iso-ft__bar{position:relative;z-index:1;border-top:1px solid var(--ft-line);padding-block:var(--iso-s3);text-align:center;font-size:.88rem}
.iso-ft__legal{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 0;margin:0}
.iso-ft__legal>span+span::before{content:"·";margin-inline:.6em;opacity:.6}
.iso-ft__legal a{text-decoration:underline;text-underline-offset:3px}
.iso-ft__policies{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--iso-s3);margin:var(--iso-s1) 0 0;color:var(--ft-mut)}
.iso-ft__policies a,.iso-ft__policies button{display:inline-flex;align-items:center;min-height:44px;color:inherit;font:inherit;background:none;border:0;cursor:pointer;padding:0}
.iso-ft__policies a:hover,.iso-ft__policies button:hover{color:var(--ft-ink)}
@media (max-width:960px){.iso-ft__in{grid-template-columns:1fr 1fr}.iso-ft__card{grid-column:1/-1}}
@media (max-width:600px){.iso-ft__in{grid-template-columns:1fr}}




 .iso-ft--F06 .iso-ft__giant{position:absolute;left:0;right:0;bottom:-.18em;z-index:0;margin:0;text-align:center;white-space:nowrap;font:600 clamp(5rem,22vw,20rem)/1 var(--iso-f-display);color:var(--ft-ink);opacity:.06;pointer-events:none}
.iso-ft--F06 .iso-ft__bar{border-top-color:transparent} 



/* ===== RICETTE S47–S62 (costruzione delle pagine ispirata ai temi di riferimento, scritta da zero) ===== */
.iso-center{display:flex;justify-content:center;margin-top:var(--iso-s5)}
.iso-center .iso-actions{justify-content:center;margin:0}
.iso-sec--tight{padding-block:calc(var(--iso-sec)*.45)}
.iso-btn--sm{min-height:42px;padding:.45em 1em;font-size:.9rem}
.iso-qbar__ic,.iso-float__ic,.iso-facts__ic,.iso-std__ic{flex:none;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--iso-brand) 11%,transparent);color:var(--iso-brand)}
.iso-qbar__ic svg,.iso-float__ic svg,.iso-facts__ic svg,.iso-std__ic svg{width:22px;height:22px}
.iso-qbar small,.iso-float__badge small{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--iso-muted)}
.iso-qbar strong,.iso-float__badge strong{display:block;font:600 1rem/1.3 var(--iso-f-body)}

/* S47 barra rapida sovrapposta alla hero */
.iso-qbar{position:relative;z-index:3;margin-top:clamp(-72px,-6vw,-48px)}
.iso-qbar__in{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr)) auto;align-items:center;gap:var(--iso-s3);padding:var(--iso-s3) var(--iso-s4);background:var(--iso-bg);border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.iso-qbar__it{display:flex;align-items:center;gap:14px;min-width:0}
.iso-qbar__it+.iso-qbar__it{padding-left:var(--iso-s3);border-left:1px solid var(--iso-line)}
.iso-qbar .iso-actions{margin:0;flex-wrap:nowrap}
@media (max-width:1023px){.iso-qbar__in{grid-template-columns:repeat(2,minmax(0,1fr))}.iso-qbar__it:nth-child(odd){padding-left:0;border-left:0}.iso-qbar .iso-actions{grid-column:1/-1}}
@media (max-width:600px){.iso-qbar{margin-top:-32px}.iso-qbar__in{grid-template-columns:1fr;padding:var(--iso-s3)}.iso-qbar__it{padding-left:0!important;border-left:0!important}.iso-qbar .iso-btn{flex:1;justify-content:center}}


/* S48 foto con riquadri flottanti */
.iso-float{overflow-x:clip}
.iso-float__media{position:relative;padding:28px 0 28px 28px}
.iso-float__path{position:absolute;inset:auto -14% -10% auto;width:70%;color:var(--iso-accent);opacity:.55;z-index:0}
.iso-float__media .iso-media{position:relative;z-index:1;border-radius:var(--iso-r-lg);box-shadow:0 40px 70px -40px rgba(0,0,0,.45)}
.iso-float__badge{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--iso-bg);border-radius:var(--iso-r);box-shadow:0 24px 50px -24px rgba(0,0,0,.4)}
.iso-float__badge--1{top:12%;right:-6%}
.iso-float__badge--2{bottom:8%;left:0}
@media (prefers-reduced-motion:no-preference){.iso-float__badge{animation:iso-bob 6s ease-in-out infinite alternate}.iso-float__badge--2{animation-delay:-3s}}
@keyframes iso-bob{to{transform:translate3d(0,-10px,0)}}
@media (max-width:860px){.iso-float__badge--1{right:8px}.iso-float__media{padding:20px 0 20px 12px}}




/* S51 FAQ con foto */
.iso-faqimg__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:start}
.iso-faqimg__media{position:sticky;top:calc(var(--iso-hh) + 24px)}
.iso-faqimg__media .iso-media{border-radius:var(--iso-r-lg)}
@media (max-width:860px){.iso-faqimg__grid{grid-template-columns:1fr}.iso-faqimg__media{position:static}.iso-faqimg__media .iso-media{aspect-ratio:16/10}}




/* S54 elenco con foto al passaggio */
.iso-hov__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:start}
.iso-hov__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--iso-line)}
.iso-hov__list li{border-bottom:1px solid var(--iso-line)}
.iso-hov__list a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--iso-s3);min-height:92px;padding-block:var(--iso-s2);color:inherit;text-decoration:none}
.iso-hov__n{font:500 .9rem var(--iso-f-body);color:var(--iso-accent);letter-spacing:.1em}
.iso-hov__txt strong{display:block;font:500 clamp(1.3rem,2.6vw,2.2rem)/1.1 var(--iso-f-display);transition:color .3s,transform .45s var(--mo-ease)}
.iso-hov__txt small{display:block;margin-top:4px;color:var(--iso-muted);font-size:.95rem}
.iso-hov__go{display:inline-grid;place-items:center;width:52px;height:52px;border:1px solid var(--iso-line);border-radius:50%;transition:background-color .3s,color .3s,transform .45s var(--mo-ease)}
.iso-hov__list a:hover .iso-hov__txt strong,.iso-hov__list a:focus-visible .iso-hov__txt strong{color:var(--iso-brand);transform:translate3d(10px,0,0)}
.iso-hov__list a:hover .iso-hov__go{background:var(--iso-brand);border-color:var(--iso-brand);color:var(--iso-brand-ink);transform:rotate(-45deg)}
.iso-hov__thumb{display:none}
.iso-hov__stage{position:sticky;top:calc(var(--iso-hh) + 24px);aspect-ratio:4/5;border-radius:var(--iso-r-lg);overflow:hidden;background:var(--iso-surface)}
.iso-hov__ph{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity .5s ease,transform .9s var(--mo-ease)}
.iso-hov__ph:first-child{opacity:1;transform:none}
.iso-hov:has(.iso-hov__list li:is(:hover,:focus-within)) .iso-hov__ph:first-child{opacity:0}
.iso-hov__ph img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.iso-hov__grid{grid-template-columns:1fr}.iso-hov__stage{display:none}.iso-hov__list a{grid-template-columns:auto 72px 1fr auto}.iso-hov__thumb{display:block;width:72px;aspect-ratio:1;border-radius:var(--iso-r);overflow:hidden}.iso-hov__thumb img{width:100%;height:100%;object-fit:cover}.iso-hov__go{width:44px;height:44px}}


/* S55 schede numerate con freccia */
.iso-ncard{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:var(--iso-s2);min-height:340px;padding:var(--iso-s4);border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);color:inherit;text-decoration:none;overflow:hidden;transition:color .45s,border-color .45s}
.iso-ncard__bg{position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .6s ease}
.iso-ncard__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 1.2s var(--mo-ease)}
.iso-ncard__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.78))}
.iso-ncard__n{font:500 clamp(2.4rem,4vw,3.4rem)/1 var(--iso-f-display);color:var(--iso-accent)}
.iso-ncard__line{display:block;width:44px;height:2px;background:currentColor;opacity:.4;transform-origin:left;transition:transform .5s var(--mo-ease)}
.iso-ncard h3{margin:0;color:inherit}.iso-ncard p{margin:0;color:var(--iso-muted);transition:color .45s}
.iso-ncard__go{margin-top:auto;display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--iso-brand);color:var(--iso-brand-ink);transition:transform .5s var(--mo-ease),background-color .3s}
.iso-ncard:hover,.iso-ncard:focus-visible{color:#fff;border-color:transparent}
.iso-ncard:hover .iso-ncard__bg,.iso-ncard:focus-visible .iso-ncard__bg{opacity:1}
.iso-ncard:hover .iso-ncard__bg img{transform:scale(1)}
.iso-ncard:hover p,.iso-ncard:focus-visible p{color:rgba(255,255,255,.85)}
.iso-ncard:hover .iso-ncard__line{transform:scaleX(2.2)}
.iso-ncard:hover .iso-ncard__go{transform:rotate(-45deg);background:var(--iso-accent)}


/* S56 fatti chiave in riga */
.iso-facts{padding-block:var(--iso-s5);border-bottom:1px solid var(--iso-line)}
.iso-facts__row{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:var(--iso-s3);margin:0}
.iso-facts__it{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center}
.iso-facts__it+.iso-facts__it{padding-left:var(--iso-s3);border-left:1px solid var(--iso-line)}
.iso-facts__ic{grid-row:1/3}
.iso-facts dt{font:600 .78rem var(--iso-f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--iso-muted)}
.iso-facts dd{margin:0;font:600 1.02rem/1.35 var(--iso-f-body)}
@media (max-width:900px){.iso-facts__row{grid-template-columns:repeat(2,minmax(0,1fr))}.iso-facts__it:nth-child(odd){padding-left:0;border-left:0}}
@media (max-width:560px){.iso-facts__row{grid-template-columns:1fr}.iso-facts__it{padding-left:0!important;border-left:0!important}}






/* S61 galleria a mosaico */
.iso-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--iso-s2);aspect-ratio:21/9}
.iso-mosaic__ph{position:relative;overflow:hidden;border-radius:var(--iso-r);background:var(--iso-surface)}
.iso-mosaic__ph:first-child{grid-row:1/3}.iso-mosaic__ph:nth-child(2){grid-column:2/4}
.iso-mosaic__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--mo-ease)}
.iso-mosaic__ph:hover img{transform:scale(1.06)}
@media (max-width:760px){.iso-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto;aspect-ratio:auto}.iso-mosaic__ph{aspect-ratio:1}.iso-mosaic__ph:first-child{grid-column:1/3;grid-row:auto;aspect-ratio:16/10}.iso-mosaic__ph:nth-child(2){grid-column:auto}.iso-mosaic__ph:nth-child(4){display:none}}


/* S62 numeri in cornici tratteggiate */
.iso-frames__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:center}
.iso-frames__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--iso-s3);margin:0}
.iso-frame{position:relative;display:flex;flex-direction:column-reverse;gap:6px;padding:var(--iso-s4) var(--iso-s3);border:2px dashed color-mix(in srgb,currentColor 30%,transparent)}
.iso-frame dd{margin:0;font:500 clamp(2rem,4vw,3rem)/1 var(--iso-f-display);color:var(--iso-accent)}
.iso-frame dt{font-size:.98rem;opacity:.85}
.iso-frame::before{content:"";position:absolute;inset:6px;border:1px solid color-mix(in srgb,currentColor 12%,transparent);pointer-events:none}
@media (max-width:860px){.iso-frames__grid{grid-template-columns:1fr}}



/* voci dell'offerta: scheda, dati in sintesi, elenchi */
.iso-ent{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--iso-s6);align-items:start}
.iso-ent__side{position:sticky;top:calc(var(--iso-hh) + 24px);display:grid;gap:var(--iso-s3);padding:var(--iso-s4);background:var(--iso-surface);border-radius:var(--iso-r)}
.iso-ent__sidet{font:600 .78rem/1 var(--iso-f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--iso-accent)}
.iso-specs{display:grid;gap:0;margin:0}
.iso-specs>div{display:flex;justify-content:space-between;gap:var(--iso-s2);padding-block:var(--iso-s2);border-top:1px solid var(--iso-line)}
.iso-specs dt{color:var(--iso-muted)}.iso-specs dd{margin:0;font-weight:600;text-align:right}
.iso-checks{list-style:none;margin:0 0 var(--iso-s3);padding:0;display:grid;gap:var(--iso-s1)}
.iso-checks li{display:grid;grid-template-columns:24px 1fr;gap:var(--iso-s1);align-items:start}
.iso-checks svg{stroke:var(--iso-brand);fill:none;stroke-width:1.6;margin-top:.15em}
.iso-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--iso-s1) var(--iso-s2);font-size:.95rem}
.iso-chips li{padding:.2em .7em;border:1px solid var(--iso-line);border-radius:999px}
.iso-chips__k{color:var(--iso-muted)}
.iso-ent-row{margin-bottom:var(--iso-s6)}.iso-ent-row:last-child{margin-bottom:0}
@media (max-width:860px){.iso-ent{grid-template-columns:minmax(0,1fr);gap:var(--iso-s4)}.iso-ent__side{position:static}}

/* ===== MOVIMENTO · motore CMXDS (vedi la skill cmxds-motion-engine) =====
   Regole: solo transform e opacity; mai animare larghezze, altezze o posizioni; nessun effetto sopra la piega che nasconda il testo (LCP);
   tutto visibile senza JavaScript e con «riduci movimento». La personalità (durata, distanza, curva) si cambia nelle variabili. */
:root{--mo-ease:cubic-bezier(.2,.7,.2,1);--mo-spring:cubic-bezier(.34,1.45,.64,1);--mo-dur:.7s;--mo-dist:28px;--mo-stag:80ms;--mo-scale:.96;interpolate-size:allow-keywords}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* comparsa */
.js [data-reveal]:not(.is-in){opacity:0;transform:translate3d(0,var(--mo-dist),0)}
.js [data-reveal="left"]:not(.is-in){transform:translate3d(calc(var(--mo-dist)*-1.6),0,0)}
.js [data-reveal="right"]:not(.is-in){transform:translate3d(calc(var(--mo-dist)*1.6),0,0)}
.js [data-reveal="zoom"]:not(.is-in){transform:scale(var(--mo-scale))}
.js [data-reveal="fade"]:not(.is-in){transform:none}
.js [data-reveal="mask"]:not(.is-in){opacity:1;transform:none;clip-path:inset(0 0 100% 0)}
.js [data-reveal="mask"]:not(.is-in) :is(img,video,.iso-ph){transform:scale(1.22)}
.js [data-reveal].is-in{opacity:1;transform:none;transition:opacity var(--mo-dur) var(--mo-ease) var(--d,0ms),transform var(--mo-dur) var(--mo-ease) var(--d,0ms),clip-path 1s var(--mo-ease) var(--d,0ms)}
.js [data-reveal="mask"].is-in{clip-path:inset(0)}
.js [data-reveal="mask"] :is(img,video,.iso-ph){transition:transform 1.4s var(--mo-ease) var(--d,0ms)}
.js [data-reveal].is-done{transition:none}
.js [data-count]:not(.is-counted){opacity:0}
[data-count].is-counted{opacity:1;transition:opacity .4s}
/* ingresso sopra la piega: solo spostamento, il testo non si nasconde mai */
@keyframes iso-rise{from{transform:translate3d(0,22px,0)}to{transform:none}}
@keyframes iso-fadeup{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}
.is-enter{animation:iso-rise .8s var(--mo-ease) both;animation-delay:var(--d,0ms)}

/* titoli spezzati in parole (le parole salgono da una maschera) */
.iso-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.iso-w>i{display:inline-block;font-style:inherit;transform:translate3d(0,112%,0);transition:transform .95s var(--mo-ease) calc(var(--i,0)*55ms + var(--d,0ms))}
.is-in>.iso-w>i,.is-in .iso-w>i,.iso-w.is-in>i{transform:none}

/* hero: ingresso, zoom lento della foto, uscita legata allo scorrimento */
.iso-hero__in>*{animation:iso-rise .95s var(--mo-ease) both;animation-delay:calc(var(--k,0)*120ms + 120ms)}
.iso-hero__in>:nth-child(2){--k:1}.iso-hero__in>:nth-child(3){--k:2}.iso-hero__in>:nth-child(4){--k:3}.iso-hero__in>:nth-child(5){--k:4}
.iso-hero__sub,.iso-hero .iso-actions{animation-name:iso-fadeup}
@media (min-width:900px) and (prefers-reduced-motion:no-preference){
.iso-fx-kb .iso-hero__media>img{animation:iso-kb 26s ease-out both}
}
@keyframes iso-kb{from{transform:scale(1)}to{transform:scale(1.1)}}
@supports (animation-timeline:view()){
@media (prefers-reduced-motion:no-preference){
.iso-hero__in{animation:iso-hero-out linear both;animation-timeline:view();animation-range:exit 5% exit 70%}
.iso-hero__media{animation:iso-hero-media linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
}}
@keyframes iso-hero-out{to{opacity:0;transform:translate3d(0,-48px,0) scale(.98)}}
@keyframes iso-hero-media{to{transform:translate3d(0,14%,0)}}
/* testate interne: la foto respira appena */
header.iso-phead .iso-phead__media img{animation:iso-kb2 18s ease-out both}
@keyframes iso-kb2{from{transform:scale(1.07)}to{transform:scale(1)}}
header.iso-phead h1,header.iso-phead .iso-kicker{animation:iso-rise .9s var(--mo-ease) both}
header.iso-phead h1{animation-delay:.1s}

/* testata: nasconde scendendo, torna salendo; barra di avanzamento */
.iso-hd.is-hidden{transform:translate3d(0,-101%,0)}
.iso-progress{display:none}
@supports (animation-timeline:scroll()){
@media (prefers-reduced-motion:no-preference){
.iso-progress{display:block;position:fixed;inset:0 0 auto 0;height:3px;z-index:60;background:var(--iso-accent);transform-origin:0 50%;transform:scaleX(0);animation:iso-prog linear both;animation-timeline:scroll(root);pointer-events:none}
}}
@keyframes iso-prog{to{transform:scaleX(1)}}

/* passaggio fra pagine (browser recenti; gli altri navigano normalmente) */
@media (prefers-reduced-motion:no-preference){
@view-transition{navigation:auto}
::view-transition-old(root){animation:.22s ease both iso-vt-out}
::view-transition-new(root){animation:.34s var(--mo-ease) both iso-vt-in}
}
@keyframes iso-vt-out{to{opacity:0}}
@keyframes iso-vt-in{from{opacity:0;transform:translate3d(0,10px,0)}}

/* micro-interazioni: pulsanti, schede, foto, menu, link */
.iso-btn{position:relative;overflow:hidden;isolation:isolate}
.iso-btn::after{content:"";position:absolute;inset:-2px auto -2px -70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);transition:transform .75s var(--mo-ease);pointer-events:none;z-index:-1}
.iso-btn svg{transition:transform .3s var(--mo-ease)}
.iso-btn:active{transform:scale(.97)}
@media (hover:hover){
.iso-btn{transition:background-color .2s,color .2s,border-color .2s,transform .3s var(--mo-ease),box-shadow .3s}
.iso-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(0,0,0,.45)}
.iso-btn:hover::after{transform:translateX(520%) skewX(-20deg)}
.iso-btn:hover svg{transform:translateX(3px)}
.iso-card{transition:transform .5s var(--mo-ease),box-shadow .5s}
.iso-card:not([data-tilt]):hover,.js .iso-card[data-reveal].is-done:not([data-tilt]):hover{transform:translate3d(0,-6px,0);box-shadow:var(--iso-shadow)}
.js .iso-card[data-reveal].is-done{transition:transform .5s var(--mo-ease),box-shadow .5s}
.iso-card .iso-media>img{transition:transform 1s var(--mo-ease)}
.iso-card:hover .iso-media>img,.iso-media:hover>img{transform:scale(1.07)}
.iso-media>img{transition:transform 1s var(--mo-ease)}
.iso-ft__list a,.iso-prose a{background:linear-gradient(currentColor,currentColor) 0 calc(100% - .55em)/0 1px no-repeat;transition:background-size .4s var(--mo-ease)}
.iso-ft__list a:hover,.iso-prose a:hover{background-size:100% 1px}
.iso-rows li{transition:background-color .3s,transform .45s var(--mo-ease)}
.iso-rows li:hover{transform:translate3d(10px,0,0);background:color-mix(in srgb,var(--iso-brand) 6%,transparent)}
}
[data-tilt].is-done{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s var(--mo-ease)}
[data-tilt].is-tilting{transition:transform .08s linear!important}
[data-magnetic]{transition:transform .35s var(--mo-spring)}

/* fisarmonica che si apre in morbidezza */
.iso-acc details::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--mo-ease),content-visibility .45s allow-discrete}
.iso-acc details[open]::details-content{block-size:auto}

/* nastro scorrevole (parole, servizi, marchi) */
.iso-marquee{overflow:hidden;--gap:var(--iso-s5);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.iso-marquee__track{display:flex;width:max-content}
.iso-marquee__set{display:flex;flex:none;align-items:center;gap:var(--gap);padding-inline-end:var(--gap);margin:0;list-style:none}
.iso-marquee__set>*{flex:none;white-space:nowrap}
.iso-marquee__txt{font:500 clamp(1.6rem,4vw,3.4rem)/1.2 var(--iso-f-display)}
.iso-clone::before{content:attr(data-t)}
.iso-marquee__txt::after{content:"✦";margin-inline-start:var(--gap);color:var(--iso-accent);font-size:.5em;vertical-align:middle}
.js .iso-marquee.is-ready .iso-marquee__track{animation:iso-marq var(--speed,40s) linear infinite}
.js .iso-marquee--rev.is-ready .iso-marquee__track{animation-direction:reverse}
@media (hover:hover){.iso-marquee:hover .iso-marquee__track{animation-play-state:paused}}
@keyframes iso-marq{to{transform:translate3d(-50%,0,0)}}

/* slider a scorrimento con aggancio (testimonianze, foto, schede) */
.iso-slider{position:relative}
.iso-slider__track{display:grid;grid-auto-flow:column;grid-auto-columns:min(88%,430px);gap:var(--iso-s3);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding-block:var(--iso-s2)}
.iso-slider__track::-webkit-scrollbar{display:none}
.iso-slider__track>*{scroll-snap-align:start}
.iso-slider__nav{display:flex;gap:var(--iso-s1);justify-content:flex-end;margin-top:var(--iso-s3)}
.iso-slider__btn{width:48px;height:48px;border-radius:50%;border:2px solid currentColor;background:transparent;color:inherit;cursor:pointer;display:inline-grid;place-items:center;transition:background-color .25s,color .25s,transform .3s var(--mo-ease)}
.iso-slider__btn:hover{background:var(--iso-brand);border-color:var(--iso-brand);color:var(--iso-brand-ink)}
.iso-slider__btn[aria-disabled="true"]{opacity:.35;pointer-events:none}

/* prima / dopo con cursore */
.iso-compare{position:relative;overflow:hidden;border-radius:var(--iso-r);aspect-ratio:16/10;--pos:50%;touch-action:pan-y}
.iso-compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.iso-compare__after{clip-path:inset(0 0 0 var(--pos))}
.iso-compare__bar{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);pointer-events:none}
.iso-compare__bar::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.iso-compare input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.iso-compare:focus-within{outline:3px solid var(--iso-accent);outline-offset:3px}
.iso-compare__tag{position:absolute;bottom:var(--iso-s2);padding:.25em .7em;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font:600 .8rem var(--iso-f-body);pointer-events:none}

/* griglia bento, schede impilate, sfondo vivo */
.iso-bento{display:grid;gap:var(--iso-s3);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(200px,auto)}
.iso-bento>*{position:relative;overflow:hidden;border-radius:var(--iso-r-lg);background:var(--iso-surface);padding:var(--iso-s4)}
.iso-sec--surface .iso-bento>*{background:var(--iso-bg)}
.iso-bento>*:has(>.iso-media){display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.iso-bento>*:has(>.iso-media)::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 62%)}
.iso-bento>*:has(>.iso-media) :is(h3,p){position:relative;z-index:1;color:#fff}
.iso-bento .is-w2{grid-column:span 2}.iso-bento .is-h2{grid-row:span 2}
.iso-bento>*>.iso-media{position:absolute;inset:0;border-radius:0}
@media (max-width:1023px){.iso-bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.iso-bento{grid-template-columns:1fr}.iso-bento .is-w2{grid-column:auto}}
.iso-stack>*{position:sticky;top:calc(var(--iso-hh) + 20px + var(--n,0)*16px);margin-bottom:var(--iso-s4)}
.iso-aurora{position:relative;isolation:isolate;overflow:clip}
.iso-aurora::before,.iso-aurora::after{content:"";position:absolute;z-index:-1;width:60vmax;height:60vmax;border-radius:50%;opacity:.35;pointer-events:none;will-change:transform}
.iso-aurora::before{top:-30vmax;left:-15vmax;background:radial-gradient(closest-side,var(--iso-brand),transparent);animation:iso-float 22s ease-in-out infinite alternate}
.iso-aurora::after{bottom:-35vmax;right:-20vmax;background:radial-gradient(closest-side,var(--iso-accent),transparent);animation:iso-float 28s ease-in-out infinite alternate-reverse}
@keyframes iso-float{to{transform:translate3d(8vmax,5vmax,0) scale(1.15)}}

/* numeri animati, torna su, barra azioni su telefono */
.iso-num{font:500 clamp(2.6rem,6vw,5rem)/1 var(--iso-f-display);font-variant-numeric:tabular-nums}
.iso-top{position:fixed;right:var(--iso-gut);bottom:calc(var(--iso-s3) + var(--iso-bar,0px));z-index:40;width:48px;height:48px;border-radius:50%;border:0;background:var(--iso-brand);color:var(--iso-brand-ink);cursor:pointer;display:grid;place-items:center;box-shadow:var(--iso-shadow);opacity:0;transform:translate3d(0,16px,0);pointer-events:none;transition:opacity .35s,transform .45s var(--mo-ease)}
.iso-top.is-on{opacity:1;transform:none;pointer-events:auto}
.iso-bar{display:none}
@media (max-width:767px){
:root{--iso-bar:64px}
body{padding-bottom:calc(var(--iso-bar) + env(safe-area-inset-bottom))}
.iso-bar{position:fixed;inset:auto 0 0 0;z-index:45;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px;background:var(--iso-line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 30px -18px rgba(0,0,0,.4);transform:translate3d(0,0,0);transition:transform .4s var(--mo-ease)}
.iso-bar a{display:flex;align-items:center;justify-content:center;gap:.5em;min-height:var(--iso-bar);background:var(--iso-bg);color:var(--iso-ink);font:600 .95rem var(--iso-f-body);text-decoration:none}
.iso-bar a:first-child{background:var(--iso-brand);color:var(--iso-brand-ink)}
.iso-bar svg{width:20px;height:20px}
body.is-mm-open .iso-bar{transform:translate3d(0,110%,0)}
}

/* personalità del movimento (una per sito: classe iso-mo-MOxx sul body) */
.iso-mo-MO01{--mo-dur:.7s;--mo-dist:28px}
.iso-mo-MO02{--mo-dur:.9s;--mo-dist:14px}
.iso-mo-MO03{--mo-dur:.8s;--mo-dist:30px}
.iso-mo-MO03 .iso-split>:first-child[data-reveal=""]:not(.is-in),.iso-mo-MO03 .iso-rows li[data-reveal=""]:not(.is-in){transform:translate3d(calc(var(--mo-dist)*-1.6),0,0)}
.iso-mo-MO03 .iso-split>:last-child[data-reveal=""]:not(.is-in){transform:translate3d(calc(var(--mo-dist)*1.6),0,0)}
.iso-mo-MO04{--mo-dur:.85s;--mo-scale:.93}
.iso-mo-MO04 [data-reveal=""]:not(.is-in){transform:scale(var(--mo-scale))}
.iso-mo-MO05{--mo-dur:.75s;--mo-dist:20px}
.iso-mo-MO06{--mo-dur:.9s;--mo-dist:0px}
.iso-mo-MO07{--mo-dur:1.15s;--mo-dist:52px;--mo-stag:120ms}
.iso-mo-MO08{--mo-dur:.5s;--mo-dist:22px;--mo-stag:55ms;--mo-ease:var(--mo-spring)}
.iso-draw{stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400);transition:stroke-dashoffset 1.4s var(--mo-ease)}
.is-in .iso-draw,.iso-draw.is-in{stroke-dashoffset:0}
hr[data-reveal]:not(.is-in){transform:scaleX(0);transform-origin:left}

@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.js [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}
.js [data-reveal] :is(img,video){transform:none!important}
.iso-w>i{transform:none!important}
.iso-marquee__set[aria-hidden="true"]{display:none}
.iso-marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto}
.iso-hd.is-hidden{transform:none}
}

/* Lingue: selettore e pop-up */
.iso-lang{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.iso-lang a{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0 .4em;font:600 .85rem var(--iso-f-body);letter-spacing:.06em;text-decoration:none;border-radius:var(--iso-r1,8px);color:inherit;opacity:.7}
.iso-lang a[aria-current]{opacity:1;box-shadow:inset 0 -2px 0 currentColor}
.iso-lang a:hover{opacity:1}
.iso-mm__lang{margin-top:var(--iso-s3)}
@media (max-width:1023px){.iso-hd__cta>.iso-lang{display:none}}
.iso-lock{overflow:hidden}
.iso-langpop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:var(--iso-gut);background:rgba(10,10,10,.72);backdrop-filter:blur(6px)}
.iso-langpop[hidden]{display:none}
.iso-langpop__box{width:min(100%,520px);background:var(--iso-bg);color:var(--iso-ink);border-radius:var(--iso-r2,16px);padding:var(--iso-s5) var(--iso-s4);text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.iso-langpop__logo{display:flex;justify-content:center;margin-bottom:var(--iso-s3);min-height:44px}
.iso-langpop__box h2{font:500 1.4rem var(--iso-f-display);margin:0 0 var(--iso-s3)}
.iso-langpop__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--iso-s2)}
.iso-langpop__list .iso-btn{width:100%;justify-content:center}
.iso-langpop__list .is-suggested{background:var(--iso-accent);color:var(--iso-on-accent,#fff);border-color:var(--iso-accent)}

/* tabelle tecniche */
.iso-tablewrap{overflow-x:auto;margin:var(--iso-s4) 0;border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);background:#fff}
.iso-table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:520px}
.iso-table caption{caption-side:top;text-align:left;padding:var(--iso-s2) var(--iso-s3);font:500 .8rem/1.3 var(--iso-f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--iso-accent);border-bottom:1px solid var(--iso-line)}
.iso-table th,.iso-table td{padding:14px var(--iso-s3);text-align:left;vertical-align:top;border-bottom:1px solid var(--iso-line)}
.iso-table thead th{font:600 .85rem/1.2 var(--iso-f-body);background:var(--iso-dark);color:var(--iso-dark-ink)}
.iso-table tbody th{font-weight:600;color:var(--iso-ink)}
.iso-table tbody tr:last-child>*{border-bottom:0}
.iso-table td,.iso-table tbody td{font-family:var(--iso-f-mono);font-weight:500;font-size:.92rem}
.iso-table--cmp tbody td:last-child{background:rgba(43,114,171,.08);color:var(--iso-ink)}
.iso-table--cmp thead th:last-child{background:var(--iso-accent)}
.iso-prose .iso-table td:last-child{font-family:var(--iso-f-body)}

/* schede con icona, articoli, citazione */
.iso-iconbox{display:inline-grid;place-items:center;width:64px;height:64px;border:1.5px dashed var(--iso-brand);border-radius:var(--iso-r);color:var(--iso-brand);margin-bottom:var(--iso-s2)}
.iso-card--icon,.iso-card--post,.iso-howto{border:1px solid var(--iso-line);background:#fff}
.iso-card--icon h3,.iso-card--post h3{margin-bottom:.3em}
.iso-card--post .iso-btn{margin-top:auto;align-self:flex-start}
.iso-quote blockquote{margin:0;text-align:center}
.iso-quote blockquote p{font:700 clamp(1.5rem,3.2vw,2.4rem)/1.2 var(--iso-f-display);color:var(--iso-ink);text-wrap:balance}
.iso-quote footer{font:500 .8rem/1 var(--iso-f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--iso-accent)}

/* modulo contatti */
.iso-formgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.iso-form{display:grid;gap:var(--iso-s2)}
.iso-form p{margin:0}
.iso-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--iso-s2)}
.iso-form label{display:block;font:600 .9rem/1.3 var(--iso-f-body);margin-bottom:6px}
.iso-form input[type=text],.iso-form input[type=email],.iso-form input[type=tel],.iso-form textarea{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid #b9b2ab;border-radius:var(--iso-r);background:#fff;color:var(--iso-ink);font:400 1rem/1.4 var(--iso-f-body);-webkit-user-select:text;user-select:text}
.iso-form textarea{resize:vertical}
.iso-form input:focus-visible,.iso-form textarea:focus-visible{outline:3px solid var(--iso-accent);outline-offset:2px;border-color:var(--iso-accent)}
.iso-form__consent{display:flex;gap:12px;align-items:flex-start}
.iso-form__consent input{width:24px;height:24px;flex:none;margin-top:2px;accent-color:var(--iso-brand)}
.iso-form__consent label{font-weight:400;margin:0}
.iso-form__consent a{color:var(--iso-brand)}
.iso-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.iso-formmsg{padding:14px 16px;border-radius:var(--iso-r);margin:var(--iso-s2) 0;font-weight:500}
.iso-formmsg--ok{background:#e4efe4;color:#1f4a22}.iso-formmsg--err{background:#f6e3e0;color:#7a2318}
@media (max-width:860px){.iso-formgrid{grid-template-columns:1fr}.iso-form__row{grid-template-columns:1fr}}

/* blog */
.iso-blogtop{display:flex;flex-wrap:wrap;gap:var(--iso-s1);margin-bottom:var(--iso-s4)}
.iso-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1.5px solid var(--iso-line);border-radius:var(--iso-r);background:#fff;font:500 .9rem/1 var(--iso-f-body);text-decoration:none;color:var(--iso-ink);transition:background-color .2s,color .2s,border-color .2s}
.iso-chip:hover,.iso-chip[aria-current=true]{background:var(--iso-brand);border-color:var(--iso-brand);color:#fff}
.iso-featured{display:grid;gap:var(--iso-s2);padding:clamp(24px,4vw,56px);margin-bottom:var(--iso-s5);background:var(--iso-dark);color:var(--iso-dark-ink);border-radius:var(--iso-r-lg)}
.iso-featured h2{color:var(--iso-dark-ink)}
.iso-featured p{margin:0;opacity:.88}
.iso-featured .iso-kicker{color:#9cc6e6}
.iso-featured .iso-btn{background:var(--iso-dark-ink);border-color:var(--iso-dark-ink);color:var(--iso-dark);justify-self:start;margin-top:var(--iso-s1)}
.iso-featured .iso-btn:hover{background:transparent;color:var(--iso-dark-ink)}
.iso-card--blog .iso-card__body{gap:var(--iso-s1)}
.iso-card--blog .iso-btn{margin-top:auto;align-self:flex-start}
.iso-post{max-width:760px;margin-inline:auto}
.iso-post .iso-prose h2{margin-top:1.6em}
.iso-post .iso-prose{font-size:1.08rem;line-height:1.7}
.iso-post .iso-prose ul,.iso-post .iso-prose ol{padding-left:1.3em}
.iso-post .iso-prose li{margin-bottom:.4em}
.iso-toc{margin:var(--iso-s4) 0;padding:var(--iso-s3);border:1px solid var(--iso-line);border-left:4px solid var(--iso-accent);background:#fff;border-radius:var(--iso-r)}
.iso-toc ol{margin:0;padding-left:1.2em;display:grid;gap:6px}
.iso-toc a{display:inline-block;padding:6px 0;text-decoration:none;color:var(--iso-ink)}
.iso-toc a:hover{color:var(--iso-brand);text-decoration:underline}
.iso-postcta{margin-top:var(--iso-s6);padding:clamp(24px,4vw,48px);background:var(--iso-dark);color:var(--iso-dark-ink);border-radius:var(--iso-r-lg)}
.iso-postcta h2{color:var(--iso-dark-ink);margin-top:0}
.iso-postcta .iso-kicker{color:#9cc6e6}
.iso-postcta .iso-btn{background:var(--iso-dark-ink);border-color:var(--iso-dark-ink);color:var(--iso-dark)}
.iso-postcta .iso-btn--ghost{background:transparent;color:var(--iso-dark-ink)}
.iso-postcta .iso-btn:hover{background:transparent;color:var(--iso-dark-ink)}
.iso-postcta .iso-btn--ghost:hover{background:var(--iso-dark-ink);color:var(--iso-dark)}
.iso-prose h3{margin-top:1.4em;font-size:1.2rem}


/* ===== Restyling v1.2: forme morbide, ombre, pulsanti a pillola ===== */
.iso-btn{border-radius:999px;padding:.8em 1.8em;font-weight:700;box-shadow:0 10px 24px -14px rgba(14,90,74,.7)}
.iso-btn:hover{box-shadow:none}
.iso-hero .iso-btn,.iso-sec--dark .iso-btn,.iso-sec--brand .iso-btn{box-shadow:none}
.iso-kicker{display:inline-flex;align-items:center;gap:.7em}
.iso-kicker::before{content:"";width:28px;height:2px;border-radius:2px;background:currentColor;opacity:.7}
.iso-sechead--center .iso-kicker{justify-content:center}
header.iso-phead .iso-kicker::before{display:none}
.iso-media{border-radius:var(--iso-r-lg)}
.iso-card{border-radius:var(--iso-r-lg);background:#fff;border:1px solid var(--iso-line);box-shadow:var(--iso-shadow);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.iso-card:hover{transform:translate3d(0,-6px,0)}
.iso-card .iso-media{border-radius:var(--iso-r-lg) var(--iso-r-lg) 0 0}
.iso-sec--surface .iso-card{background:#fff}
.iso-sec--dark .iso-card{border-color:rgba(255,255,255,.12);box-shadow:none}
.iso-sec--surface{background:linear-gradient(180deg,var(--iso-surface),#f7f1e6)}
.iso-sec--brand{background:radial-gradient(120% 140% at 85% 0%,#14705c 0,var(--iso-brand) 55%,#0a4438 100%)}
.iso-sec--dark{background:radial-gradient(100% 120% at 10% 0%,#1a3a33 0,var(--iso-dark) 60%)}
.iso-tile,.iso-compare,.iso-bento>*{border-radius:var(--iso-r-lg)}
h1 em,h2 em{font-style:italic;font-weight:600;color:var(--iso-accent)}
.iso-hero h1 em{color:#ffc99e}
.iso-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:var(--iso-bg);clip-path:ellipse(75% 100% at 50% 100%);z-index:1;pointer-events:none}
.iso-hero__scroll{z-index:2}
.iso-rows li{border-color:var(--iso-line)}
details,.iso-faq details{border-radius:var(--iso-r)}
input,select,textarea{border-radius:var(--iso-r)}
table{border-radius:var(--iso-r);overflow:hidden}

/* port: portfolio e ingrandimento foto */
.iso-port{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:var(--iso-s2)}
.iso-port__i{position:relative;margin:0;border-radius:var(--iso-r-lg);overflow:hidden;background:var(--iso-surface);aspect-ratio:4/3}
.iso-port__i.is-wide{grid-column:span 2;aspect-ratio:auto}
.iso-port__i a{display:block;position:absolute;inset:0}
.iso-port__i img,.iso-port__i .iso-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--mo-ease,ease)}
.iso-port__i:hover img{transform:scale(1.06)}
.iso-port__zoom{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--iso-brand);color:#fff;opacity:0;transform:translate3d(0,8px,0);transition:opacity .3s,transform .3s}
.iso-port__i:hover .iso-port__zoom,.iso-port__i a:focus-visible .iso-port__zoom{opacity:1;transform:none}
.iso-port__cap{position:absolute;left:0;right:0;bottom:0;margin:0;padding:2.2em 1em .9em;color:#fff;font-size:.9rem;font-weight:600;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent);pointer-events:none}
@media (max-width:900px){.iso-port{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.iso-port{grid-template-columns:1fr}.iso-port__i.is-wide{grid-column:auto;aspect-ratio:4/3}}
.iso-lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#fff}
.iso-lb::backdrop{background:rgba(10,20,17,.92)}
.iso-lb[open]{display:grid;place-items:center}
.iso-lb figure{margin:0;max-width:min(92vw,1200px);display:grid;gap:12px;justify-items:center}
.iso-lb img{max-height:82vh;width:auto;max-width:100%;object-fit:contain;border-radius:var(--iso-r)}
.iso-lb figcaption{font-size:.95rem;text-align:center;opacity:.9}
.iso-lb button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.iso-lb button:hover{background:var(--iso-accent)}
.iso-lb__x{top:16px;right:16px}.iso-lb__n--p{left:16px;top:50%}.iso-lb__n--n{right:16px;top:50%}
.iso-sec--dark .iso-kicker,.iso-sec--brand .iso-kicker,.iso-sec--dark h2 em,.iso-sec--brand h2 em{color:#ffb27a}

/* ===== Mobile: menu, icona Contatti, schede dei servizi ===== */
.iso-hd .iso-btn{box-shadow:none}
.iso-hd__tel{padding:.45em 1.15em;min-height:46px}
.iso-logo-lt{display:none}
.iso-hd.is-over:not(.is-solid) .iso-logo-dk,body.is-mm-open .iso-L-MM2 .iso-logo-dk{display:none}
.iso-hd.is-over:not(.is-solid) .iso-logo-lt{display:block}
.iso-L-MM2.is-mm-open .iso-logo-dk,.iso-L-MM4.is-mm-open .iso-logo-dk{display:none!important}
.iso-L-MM2.is-mm-open .iso-logo-lt,.iso-L-MM4.is-mm-open .iso-logo-lt{display:block!important}
.iso-hd--N03.is-over:not(.is-solid) .iso-logo-dk{display:block}.iso-hd--N03.is-over:not(.is-solid) .iso-logo-lt{display:none}
@media (max-width:1023px){
  .iso-hd__tel{width:48px;height:48px;min-height:48px;padding:0;gap:0;flex:none}
  .iso-hd__tel svg{width:20px;height:20px;flex:none}
  .iso-hd:not(.is-over),.iso-hd--N02:not(.is-over){--hd-bg:color-mix(in srgb,var(--iso-bg) 94%,transparent);--hd-ink:var(--iso-ink)}
  .iso-hd.is-over:not(.is-solid) .iso-hd__tel{border-color:rgba(255,255,255,.9)}
  .iso-hd__in{gap:var(--iso-s2)}
  .iso-hd__cta{gap:var(--iso-s1)}
  .iso-logo img,.iso-logo svg{max-height:40px;max-width:min(58vw,220px)}
  .iso-burger{width:48px;height:48px;flex:none}
  .iso-mm{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .iso-mm__in{padding-bottom:calc(var(--iso-s5) + env(safe-area-inset-bottom))}
  .iso-mm__list>li>a{font-size:clamp(1.3rem,5.4vw,1.7rem)}
  .iso-mm--MM4 .iso-mm__list>li>a{color:var(--iso-brand-ink)}
}
@media (max-width:380px){.iso-mm__btns{grid-template-columns:1fr}}
.iso-prose,.iso-ent__main,.iso-ent__side{min-width:0;overflow-wrap:break-word;hyphens:auto}
.iso-prose :is(h2,h3,p,li,dd,dt){overflow-wrap:break-word}
.iso-specs>div{flex-wrap:wrap}
.iso-specs dd{min-width:0}
.iso-checks li{min-width:0}
.iso-tablewrap{max-width:100%;-webkit-overflow-scrolling:touch}
.iso-table{border-radius:0;overflow:visible}
.iso-grid>*,.iso-card,.iso-card__body{min-width:0}
.iso-card__body :is(h3,p){overflow-wrap:break-word}
body.is-mm-open:not(.iso-L-MM2):not(.iso-L-MM4) .iso-hd.is-over .iso-logo-dk{display:block}
body.is-mm-open:not(.iso-L-MM2):not(.iso-L-MM4) .iso-hd.is-over .iso-logo-lt{display:none}
@media (max-width:359px){.iso-logo img,.iso-logo svg{max-width:46vw}.iso-hd__tel,.iso-burger{width:44px;height:44px;min-height:44px}}
.iso-checks li>span{flex:1 1 0;min-width:0}
@media (max-width:560px){.iso-table{min-width:0;font-size:.9rem}.iso-table th,.iso-table td{padding:12px 12px}.iso-table td,.iso-table tbody td{font-size:.86rem}}
