:root{
  /* Palette ricavata dagli ambienti reali dello Studio */
  --clw-ink:#221d1e;
  --clw-ink-soft:#302b2b;
  --clw-graphite:#4d4948;
  --clw-slate:#526a79;
  --clw-slate-deep:#3b505d;
  --clw-stone:#a7a19e;
  --clw-stone-light:#d7d3cf;
  --clw-parchment:#eee9e2;
  --clw-ivory:#f8f4ee;
  --clw-walnut:#925d30;
  --clw-walnut-deep:#4a3023;
  --clw-oxblood:#671520;
  --clw-oxblood-deep:#4c0f17;
  --clw-bronze:#ad8250;
  --clw-gold:#d3a354;
  --clw-text:#292526;
  --clw-muted:#6f6864;
  --clw-border-dark:rgba(34,29,30,.14);
  --clw-border-light:rgba(248,244,238,.16);

  /* Tipografia normalizzata */
  --clw-serif:"Iowan Old Style","Baskerville","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --clw-sans:"Avenir Next","Helvetica Neue",Helvetica,Arial,sans-serif;
  --clw-display:clamp(3.55rem,5.7vw,5.75rem);
  --clw-h1:clamp(3.1rem,5vw,5rem);
  --clw-h2:clamp(2.45rem,3.9vw,3.85rem);
  --clw-h3:clamp(1.55rem,2.05vw,2.2rem);
  --clw-lead-size:clamp(1.08rem,1.25vw,1.28rem);
  --clw-body-size:clamp(1rem,.95vw,1.075rem);
  --clw-small-size:.86rem;
  --clw-display-lh:.96;
  --clw-heading-lh:1.08;
  --clw-body-lh:1.72;
  --clw-display-track:-.026em;
  --clw-heading-track:-.018em;
  --clw-body-track:0;
  --clw-eyebrow-track:.17em;

  /* Ritmo e layout */
  --clw-max:1320px;
  --clw-reading:720px;
  --clw-gutter:clamp(22px,5vw,74px);
  --clw-section-y:clamp(86px,9.5vw,144px);
  --clw-section-y-sm:clamp(62px,7vw,104px);
  --clw-radius:8px;
  --clw-radius-lg:14px;
}

.elementor-widget-colucci-hero,
.elementor-widget-colucci-statement,
.elementor-widget-colucci-practices,
.elementor-widget-colucci-profile,
.elementor-widget-colucci-immersive,
.elementor-widget-colucci-professionals,
.elementor-widget-colucci-offices,
.elementor-widget-colucci-insights,
.elementor-widget-colucci-cta,
.elementor-widget-colucci-contact,
.elementor-widget-colucci-gallery,
.elementor-widget-colucci-editorial{
  font-family:var(--clw-sans);
  font-size:var(--clw-body-size);
  line-height:var(--clw-body-lh);
  letter-spacing:var(--clw-body-track);
  color:var(--clw-text);
  font-kerning:normal;
  -webkit-font-smoothing:antialiased;
}

.elementor-widget-colucci-hero h1,
.elementor-widget-colucci-editorial h1{
  font-family:var(--clw-serif);
  font-size:var(--clw-h1);
  line-height:var(--clw-display-lh);
  letter-spacing:var(--clw-display-track);
  font-weight:400;
  text-wrap:balance;
}

.elementor-widget-colucci-statement h2,
.elementor-widget-colucci-practices h2,
.elementor-widget-colucci-profile h2,
.elementor-widget-colucci-immersive h2,
.elementor-widget-colucci-professionals h2,
.elementor-widget-colucci-offices h2,
.elementor-widget-colucci-insights h2,
.elementor-widget-colucci-cta h2,
.elementor-widget-colucci-contact h2,
.elementor-widget-colucci-gallery h2,
.elementor-widget-colucci-editorial h2{
  font-family:var(--clw-serif);
  font-size:var(--clw-h2);
  line-height:var(--clw-heading-lh);
  letter-spacing:var(--clw-heading-track);
  font-weight:400;
  text-wrap:balance;
  margin:0;
}

.elementor-widget-colucci-insights h3,
.elementor-widget-colucci-editorial h3{
  font-family:var(--clw-serif);
  font-size:var(--clw-h3);
  line-height:1.16;
  letter-spacing:-.012em;
  font-weight:400;
  text-wrap:balance;
}

.elementor-widget-colucci-hero p,
.elementor-widget-colucci-statement p,
.elementor-widget-colucci-practices p,
.elementor-widget-colucci-profile p,
.elementor-widget-colucci-immersive p,
.elementor-widget-colucci-professionals p,
.elementor-widget-colucci-offices p,
.elementor-widget-colucci-insights p,
.elementor-widget-colucci-cta p,
.elementor-widget-colucci-contact p,
.elementor-widget-colucci-editorial p{
  line-height:var(--clw-body-lh);
  letter-spacing:var(--clw-body-track);
  margin-top:0;
  margin-bottom:1.15em;
  text-wrap:pretty;
}

.cl-reveal{opacity:1;transform:none}
/* Elegant per-element entrance system. The section itself never disappears: individual
   text, media and cards enter with a restrained stagger when the section is reached. */
.cl-entrance{opacity:0;will-change:opacity,transform,filter,clip-path;transition-delay:var(--cl-delay,0ms)}
.cl-entrance-text{transform:translate3d(0,18px,0);filter:blur(1.6px);transition:opacity .72s ease,transform .82s cubic-bezier(.22,.72,.18,1),filter .82s ease}
.cl-entrance-card{transform:translate3d(0,24px,0) scale(.992);transition:opacity .72s ease,transform .9s cubic-bezier(.22,.72,.18,1)}
.cl-entrance-media{transform:scale(1.018);clip-path:inset(4% 0 0 0);transition:opacity .85s ease,transform 1.05s cubic-bezier(.22,.72,.18,1),clip-path 1.05s cubic-bezier(.22,.72,.18,1)}
.cl-entrance.is-in{opacity:1;transform:none;filter:none;clip-path:inset(0)}
/* Elementor editor: editable content must always remain visible and static. */
body.elementor-editor-active .cl-reveal,
body.elementor-editor-preview .cl-reveal,
.elementor-edit-area .cl-reveal,
.elementor-editor-active .cl-reveal,
body.elementor-editor-active .cl-entrance,
body.elementor-editor-preview .cl-entrance,
.elementor-edit-area .cl-entrance,
.elementor-editor-active .cl-entrance{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}
.cl-elementor-section{--e-con-container-default-flex-grow:0}
.clw-eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--clw-sans);font-size:.72rem;line-height:1.3;letter-spacing:var(--clw-eyebrow-track);text-transform:uppercase;margin:0 0 22px!important;font-weight:650}
.clw-eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.68;flex:0 0 auto}
.clw-arrow{font-size:1.15rem;line-height:1;color:currentColor;transition:transform .25s ease}

/* HERO — fotografia protagonista, overlay non invasivo */
.clw-hero{--clw-hero-bg:var(--clw-ink);--clw-hero-eyebrow:#f0e4d5;--clw-hero-title:#fff;--clw-hero-lead:rgba(255,255,255,.92);--clw-pill-bg:rgba(34,29,30,.36);--clw-pill-border:rgba(248,244,238,.56);--clw-pill-text:#fff;--clw-pill-accent:var(--clw-gold);--clw-pill-hover:var(--clw-oxblood);position:relative;width:100%;height:100vh;height:100dvh;min-height:100svh;color:var(--clw-ivory);overflow:hidden;background:var(--clw-hero-bg)}
.clw-hero-background{position:absolute;inset:0;z-index:0;background:var(--clw-hero-bg)}
.clw-hero-image,.clw-hero-video,.clw-hero-slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-position:var(--clw-media-position,50% 50%)}
.clw-hero-fit-cover .clw-hero-image,.clw-hero-fit-cover .clw-hero-slide{object-fit:cover!important}
.clw-hero-fit-contain .clw-hero-image,.clw-hero-fit-contain .clw-hero-slide{object-fit:contain!important}
.clw-hero-video{object-fit:cover!important}
.clw-hero-video{background:var(--clw-hero-bg)}
.clw-hero-slides{position:absolute;inset:0}
.clw-hero-slide{opacity:0;transform:scale(1.004);transition:opacity 1.25s ease,transform 8s ease}
.clw-hero-slide.is-active{opacity:1;transform:scale(1.035)}
.clw-hero[data-media-fit="contain"] .clw-hero-slide{transform:none}.clw-hero[data-media-fit="contain"] .clw-hero-slide.is-active{transform:none}
.clw-hero-empty{position:absolute;inset:0;background:linear-gradient(135deg,var(--clw-slate-deep),var(--clw-hero-bg))}
.clw-hero-overlay{position:absolute;inset:0;background:
  radial-gradient(circle at 78% 35%,rgba(211,163,84,.10),transparent 25%),
  linear-gradient(90deg,rgba(24,20,21,.34) 0%,rgba(24,20,21,.14) 48%,rgba(24,20,21,.04) 100%),
  linear-gradient(rgba(24,20,21,var(--clw-hero-overlay)),rgba(24,20,21,var(--clw-hero-overlay))),
  linear-gradient(0deg,rgba(20,17,18,.30) 0%,transparent 38%)}
.clw-hero-inner{position:absolute;inset:0;z-index:2;width:100%;height:100%;max-width:var(--clw-max);min-height:0;margin:auto;padding:clamp(118px,14vw,190px) var(--clw-gutter) clamp(74px,9vw,118px);display:flex;align-items:flex-end}
.clw-hero-copy{max-width:760px}
.clw-hero-center .clw-hero-inner{justify-content:center;text-align:center}.clw-hero-center .clw-hero-copy{margin-inline:auto}.clw-hero-center .clw-lead{margin-inline:auto}
.clw-hero-right .clw-hero-inner{justify-content:flex-end}.clw-hero-right .clw-hero-copy{max-width:690px}
.clw-hero .clw-eyebrow{color:var(--clw-hero-eyebrow);text-shadow:0 2px 14px rgba(0,0,0,.24)}
.clw-hero h1{font-size:var(--clw-display);margin:0 0 22px;color:var(--clw-hero-title);text-shadow:0 3px 30px rgba(0,0,0,.34)}
.clw-lead{font-size:var(--clw-lead-size);line-height:1.5;max-width:610px;color:var(--clw-hero-lead,rgba(255,255,255,.92));margin:0 0 34px!important;text-shadow:0 2px 16px rgba(0,0,0,.22)}

/* CTA / bottoni — niente pill “alla Legance” */
.clw-pill{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;min-width:210px;padding:14px 16px 14px 18px;border:1px solid var(--clw-pill-border,rgba(248,244,238,.56));border-radius:2px;background:var(--clw-pill-bg,rgba(34,29,30,.36));color:var(--clw-pill-text,#fff);font-size:.83rem;line-height:1.1;letter-spacing:.04em;font-weight:650;backdrop-filter:blur(4px);transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}
.clw-pill span{font-size:1rem;width:auto;height:auto;background:none;display:block;color:var(--clw-pill-accent,var(--clw-gold))}
.clw-pill:hover{background:var(--clw-pill-hover,var(--clw-oxblood));border-color:var(--clw-pill-hover,var(--clw-oxblood));transform:translateY(-1px)}
.clw-pill-dark{background:var(--clw-pill-dark-bg,var(--clw-ink));border-color:var(--clw-pill-dark-bg,var(--clw-ink));color:var(--clw-pill-dark-text,var(--clw-ivory))}
.clw-pill-dark:hover{background:var(--clw-pill-dark-hover,var(--clw-oxblood-deep));border-color:var(--clw-pill-dark-hover,var(--clw-oxblood-deep))}

/* STATEMENT — blu ardesia preso dalle pareti */
.clw-statement{--clw-statement-bg-1:var(--clw-slate);--clw-statement-bg-2:var(--clw-slate-deep);--clw-statement-title:#fff;--clw-statement-text:rgba(248,244,238,.82);background:linear-gradient(125deg,var(--clw-statement-bg-1),var(--clw-statement-bg-2));color:var(--clw-ivory);padding:var(--clw-section-y-sm) max(var(--clw-gutter),calc((100vw - var(--clw-max))/2 + var(--clw-gutter)));display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:clamp(42px,6vw,82px);align-items:end;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.clw-statement h2{max-width:820px;color:var(--clw-statement-title)}
.clw-statement p{max-width:510px;margin-bottom:.15em;color:var(--clw-statement-text)}

/* ATTIVITÀ — pausa chiara con bordeaux e legno */
.clw-practices{--clw-practices-bg:var(--clw-parchment);--clw-practices-title:var(--clw-text);--clw-practices-text:var(--clw-muted);--clw-practices-accent:var(--clw-oxblood);--clw-practices-arrow:var(--clw-walnut);--clw-practices-hover:var(--clw-oxblood-deep);--clw-practices-border:var(--clw-border-dark);max-width:none;margin:0;background:var(--clw-practices-bg);color:var(--clw-practices-title);padding:var(--clw-section-y) max(var(--clw-gutter),calc((100vw - var(--clw-max))/2 + var(--clw-gutter)))}
.clw-practices-head{display:grid;grid-template-columns:.55fr 1.45fr;gap:36px;align-items:end;margin-bottom:clamp(44px,5vw,68px)}
.clw-practices-head .clw-eyebrow{color:var(--clw-practices-accent)}
.clw-practices-head h2{max-width:850px;color:var(--clw-practices-title)}
.clw-practices-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(34px,4vw,58px)}
.clw-practice-list{border-top:1px solid var(--clw-practices-border)}
.clw-practice-item{display:grid;grid-template-columns:42px 1fr 26px;gap:18px;align-items:start;padding:25px 0;border-bottom:1px solid var(--clw-practices-border);color:var(--clw-practices-title);transition:padding-left .25s ease,color .25s ease}
.clw-practice-num{font-size:.72rem;padding-top:8px;color:var(--clw-practices-accent);font-weight:700;letter-spacing:.08em}
.clw-practice-main{display:flex;flex-direction:column;gap:8px}
.clw-practice-main strong{font-family:var(--clw-serif);font-size:clamp(1.55rem,2vw,2.05rem);line-height:1.12;letter-spacing:-.012em;font-weight:400;text-wrap:balance}
.clw-practice-main small{font-size:.9rem;line-height:1.62;color:var(--clw-practices-text);max-width:640px}
.clw-practice-item .clw-arrow{color:var(--clw-practices-arrow)}
.clw-practice-item:hover{padding-left:8px;color:var(--clw-practices-hover)}.clw-practice-item:hover .clw-arrow{transform:translate(3px,3px)}
.clw-practice-preview{overflow:hidden;background:var(--clw-ink-soft);min-height:540px;display:grid;place-items:center;color:rgba(248,244,238,.7);padding:0;border:1px solid rgba(34,29,30,.08);border-radius:var(--clw-radius-lg);box-shadow:0 24px 60px rgba(70,51,36,.12)}
.clw-practice-preview img{width:100%;height:100%;object-fit:cover;min-height:540px;transition:opacity .28s ease,transform .5s ease}
.clw-practice-preview:hover img{transform:scale(1.015)}
.clw-practice-preview.is-empty{background:linear-gradient(135deg,var(--clw-walnut-deep),var(--clw-ink));padding:28px}

/* PROFILO — no monocromia: legno, carbone, ottone */
.clw-profile{--clw-profile-bg-1:var(--clw-walnut-deep);--clw-profile-bg-2:#342820;--clw-profile-bg-3:var(--clw-ink);--clw-profile-eyebrow:#dec09a;--clw-profile-title:#fff;--clw-profile-text:rgba(248,244,238,.84);--clw-profile-highlights:rgba(248,244,238,.9);--clw-profile-border:rgba(248,244,238,.16);--clw-profile-link:#fff;--clw-profile-accent:var(--clw-gold);background:linear-gradient(125deg,var(--clw-profile-bg-1) 0%,var(--clw-profile-bg-2) 44%,var(--clw-profile-bg-3) 100%);color:var(--clw-ivory);padding:var(--clw-section-y) max(var(--clw-gutter),calc((100vw - var(--clw-max))/2 + var(--clw-gutter)));display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.88fr);gap:clamp(52px,7vw,104px);align-items:center}
.clw-profile-copy{max-width:650px}
.clw-profile .clw-eyebrow{color:var(--clw-profile-eyebrow)}
.clw-profile h2{color:var(--clw-profile-title);margin-bottom:26px}
.clw-profile .clw-richtext{color:var(--clw-profile-text);max-width:620px}
.clw-profile .clw-richtext p{max-width:64ch}
.clw-profile ul{list-style:none;padding:0;margin:30px 0 28px;border-top:1px solid var(--clw-profile-border)}
.clw-profile li{padding:13px 0;border-bottom:1px solid var(--clw-profile-border);font-size:.88rem;line-height:1.5;color:var(--clw-profile-highlights);letter-spacing:.01em}
.clw-line-link{display:flex;justify-content:space-between;align-items:center;max-width:350px;padding:14px 0;border-bottom:1px solid var(--clw-profile-border);font-size:.84rem;letter-spacing:.035em;font-weight:650;color:var(--clw-profile-link)}
.clw-line-link span{color:var(--clw-profile-accent);transition:transform .25s ease}.clw-line-link:hover span{transform:translate(3px,3px)}
.clw-profile-media{aspect-ratio:.9/1;max-width:600px}
.clw-profile-media img{width:100%;height:100%;object-fit:cover;border-radius:var(--clw-radius);box-shadow:0 30px 75px rgba(0,0,0,.26)}

/* BLOCCO IMMERSIVO */
.clw-immersive{--clw-immersive-bg:var(--clw-ink);--clw-immersive-panel:rgba(34,29,30,.72);--clw-immersive-accent:var(--clw-bronze);--clw-immersive-title:#fff;--clw-immersive-text:rgba(248,244,238,.84);--clw-immersive-tag-text:#f0dfc8;--clw-immersive-tag-bg:rgba(173,130,80,.10);--clw-immersive-tag-border:rgba(211,163,84,.42);max-width:none;margin:0;min-height:650px;background-color:var(--clw-immersive-bg);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:flex-start;color:var(--clw-ivory);padding:var(--clw-section-y) max(var(--clw-gutter),calc((100vw - var(--clw-max))/2 + var(--clw-gutter)));overflow:hidden;position:relative}
.clw-immersive::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(24,20,20,.6),rgba(24,20,20,.2) 55%,rgba(24,20,20,.08))}
.clw-immersive-copy{position:relative;z-index:1;width:min(600px,100%);background:var(--clw-immersive-panel);border-left:3px solid var(--clw-immersive-accent);padding:clamp(28px,4vw,48px);box-shadow:0 28px 70px rgba(0,0,0,.22);backdrop-filter:blur(7px)}
.clw-immersive h2{color:var(--clw-immersive-title);margin-bottom:22px}
.clw-immersive p{color:var(--clw-immersive-text);max-width:58ch}
.clw-values{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.clw-values span{border:1px solid var(--clw-immersive-tag-border);background:var(--clw-immersive-tag-bg);padding:8px 12px;font-size:.73rem;line-height:1.2;letter-spacing:.06em;color:var(--clw-immersive-tag-text)}

/* PROFESSIONISTI — graphite caldo, immagini non desaturate */
.clw-professionals{--clw-prof-bg:var(--clw-graphite);--clw-prof-title:#fff;--clw-prof-intro:rgba(248,244,238,.76);--clw-prof-card-bg:var(--clw-ink-soft);--clw-prof-name:#fff;--clw-prof-role:#d9bd98;--clw-prof-border:rgba(248,244,238,.08);background:var(--clw-prof-bg);color:var(--clw-ivory);padding:var(--clw-section-y) max(var(--clw-gutter),calc((100vw - var(--clw-max))/2 + var(--clw-gutter)))}
.clw-prof-head{max-width:var(--clw-max);margin:auto;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(38px,5vw,70px);align-items:end;margin-bottom:48px}
.clw-prof-head h2{color:var(--clw-prof-title)}.clw-prof-head p{max-width:520px;color:var(--clw-prof-intro);margin-bottom:.2em}
.clw-people-grid{max-width:var(--clw-max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.clw-person{background:var(--clw-prof-card-bg);border:1px solid var(--clw-prof-border);overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,.14);border-radius:var(--clw-radius)}
.clw-person-media{position:relative;aspect-ratio:.92/1;overflow:hidden;background:#2b2929}.clw-person-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.clw-person:hover .clw-person-media img{transform:scale(1.018)}
.clw-person-plus{position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid rgba(255,255,255,.52);background:rgba(34,29,30,.35);color:#fff;display:grid;place-items:center;font-size:1.2rem;border-radius:50%}
.clw-person-meta{padding:18px 18px 20px;display:flex;justify-content:space-between;gap:18px;align-items:end}.clw-person-meta strong{font-family:var(--clw-serif);font-size:1.45rem;line-height:1.12;letter-spacing:-.01em;font-weight:400;color:var(--clw-prof-name)}.clw-person-meta span{font-size:.78rem;line-height:1.4;letter-spacing:.03em;color:var(--clw-prof-role);text-align:right}
.clw-people-grid.is-single{grid-template-columns:1fr}.clw-people-grid.is-single .clw-person{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);align-items:stretch}.clw-people-grid.is-single .clw-person-media{aspect-ratio:1.8/1}.clw-people-grid.is-single .clw-person-plus{display:none}.clw-people-grid.is-single .clw-person-meta{padding:clamp(28px,4vw,52px);flex-direction:column;justify-content:flex-end;align-items:flex-start}.clw-people-grid.is-single .clw-person-meta strong{font-size:clamp(1.7rem,2.3vw,2.35rem)}.clw-people-grid.is-single .clw-person-meta span{text-align:left;color:var(--clw-prof-role)}
/* Quando richiesto, la proporzione viene bloccata a tutti i breakpoint.
   Le altezze responsive di Elementor non possono quindi alterare la forma della foto. */
.clw-professionals.clw-prof-preserve-ratio .clw-person-media{height:auto!important;aspect-ratio:var(--clw-prof-desktop-ratio,.82/1)!important}
.clw-professionals.clw-prof-preserve-ratio .clw-people-grid.is-single .clw-person-media{height:auto!important;aspect-ratio:var(--clw-prof-desktop-ratio,1.7/1)!important}

/* SEDI — pietra chiara + accenti diversi */
.clw-offices{--clw-offices-bg-1:var(--clw-ivory);--clw-offices-bg-2:var(--clw-parchment);--clw-offices-title:var(--clw-text);--clw-offices-text:var(--clw-muted);--clw-offices-card-bg:rgba(255,255,255,.52);--clw-offices-border:rgba(34,29,30,.10);--clw-offices-accent-1:var(--clw-oxblood);--clw-offices-accent-2:var(--clw-slate);--clw-offices-accent-3:var(--clw-bronze);max-width:none;margin:0;background:linear-gradient(180deg,var(--clw-offices-bg-1),var(--clw-offices-bg-2));color:var(--clw-offices-title);padding:var(--clw-section-y) max(var(--clw-gutter),calc((100vw - var(--clw-max))/2 + var(--clw-gutter)))}
.clw-offices>h2{max-width:800px;margin-bottom:50px}.clw-offices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.clw-office{--office-accent:var(--clw-offices-accent-1);min-height:320px;padding:0;border:1px solid var(--clw-offices-border);background:var(--clw-offices-card-bg);position:relative;display:flex;flex-direction:column;align-items:stretch;box-shadow:0 15px 34px rgba(71,56,45,.06);border-radius:var(--clw-radius);overflow:hidden}
.clw-office::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--office-accent);z-index:3}
.clw-office:nth-child(2){--office-accent:var(--clw-offices-accent-2)}.clw-office:nth-child(3){--office-accent:var(--clw-offices-accent-3)}
.clw-office-map{width:100%;height:230px;overflow:hidden;background:#d8d0c5}.clw-office-map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.82) contrast(.96);transition:filter .35s ease,transform .5s ease}.clw-office:hover .clw-office-map iframe{filter:saturate(1) contrast(1);transform:scale(1.008)}
.clw-office-content{padding:24px 28px 28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.clw-office-num{font-size:.72rem;color:var(--office-accent);margin-bottom:22px;font-weight:700;letter-spacing:.08em}.clw-office small{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;line-height:1.35;color:var(--clw-offices-text);font-weight:650}.clw-office strong{font-family:var(--clw-serif);font-size:clamp(1.9rem,2.6vw,2.65rem);line-height:1.05;font-weight:400;margin:11px 0 17px;letter-spacing:-.015em;color:var(--clw-offices-title)}.clw-office p{margin:0 0 22px;color:var(--clw-offices-text);font-size:.92rem;line-height:1.6}.clw-office-directions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding-top:14px;border-top:1px solid var(--clw-offices-border);font-size:.78rem;font-weight:700;letter-spacing:.03em;color:var(--office-accent)}.clw-office-directions span{font-size:1rem;transition:transform .2s ease}.clw-office-directions:hover span{transform:translate(2px,-2px)}

/* NEWS — tavolozza ricca ma controllata */
.clw-insights{--clw-insights-bg:var(--clw-ink);--clw-insights-title:#fff;--clw-insights-tone-1:var(--clw-oxblood);--clw-insights-tone-2:var(--clw-slate-deep);--clw-insights-tone-3:var(--clw-walnut);--clw-insights-tone-4:#8e7d67;--clw-insights-card-text:#fff;--clw-insights-border:rgba(248,244,238,.12);background:var(--clw-insights-bg);color:var(--clw-ivory);padding:var(--clw-section-y) 0 clamp(76px,8vw,116px);border-top:1px solid rgba(248,244,238,.08)}
.clw-insights-head{max-width:var(--clw-max);margin:auto;padding:0 var(--clw-gutter) 46px;display:flex;justify-content:space-between;align-items:end;gap:28px}.clw-insights-head h2{color:var(--clw-insights-title)}.clw-slider-nav{display:flex;gap:8px}.clw-slider-nav button{width:42px;height:42px;border:1px solid rgba(248,244,238,.28);background:transparent;color:#fff;border-radius:50%;cursor:pointer;transition:background .25s ease,border-color .25s ease}.clw-slider-nav button:hover{background:rgba(173,130,80,.14);border-color:var(--clw-bronze)}
.clw-insights-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--clw-gutter) 10px;scrollbar-width:none}.clw-insights-track::-webkit-scrollbar{display:none}
.clw-insight-card{flex:0 0 min(350px,84vw);min-height:420px;scroll-snap-align:start;border:1px solid var(--clw-insights-border);box-shadow:0 18px 44px rgba(0,0,0,.14);border-radius:var(--clw-radius);transition:transform .3s ease;overflow:hidden}.clw-insight-card:hover{transform:translateY(-4px)}
.clw-insight-card a{height:100%;display:flex;flex-direction:column;color:inherit}.clw-insight-media{width:100%;height:210px;overflow:hidden;background:rgba(0,0,0,.12);flex:0 0 auto}.clw-insight-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% var(--clw-insight-pos-y,50%);transition:transform .65s cubic-bezier(.2,.7,.2,1)}.clw-insight-card:hover .clw-insight-media img{transform:scale(1.025)}.clw-insight-content{display:flex;flex:1;flex-direction:column;padding:24px 26px 26px}.clw-insight-card.has-no-image .clw-insight-content{padding-top:26px}.clw-insight-card time,.clw-insight-card small{font-size:.7rem;line-height:1.35;font-weight:700;letter-spacing:.095em;text-transform:uppercase}.clw-insight-card small{margin:4px 0 22px}.clw-insight-card h3{margin:0}.clw-insight-card p{margin-top:auto;margin-bottom:0;padding-top:28px;font-size:.9rem;line-height:1.62;opacity:.88}
.tone-1{background:var(--clw-insights-tone-1);color:var(--clw-insights-card-text)}.tone-2{background:var(--clw-insights-tone-2);color:var(--clw-insights-card-text)}.tone-3{background:var(--clw-insights-tone-3);color:var(--clw-insights-card-text)}.tone-4{background:var(--clw-insights-tone-4);color:var(--clw-insights-card-text)}

/* CTA — ardesia, separazione cromatica forte */
.clw-cta{--clw-cta-bg-1:var(--clw-slate-deep);--clw-cta-bg-2:#475e6b;--clw-cta-eyebrow:#f0d7b6;--clw-cta-title:#fff;--clw-cta-text:rgba(248,244,238,.82);--clw-pill-dark-bg:var(--clw-ink);--clw-pill-dark-text:var(--clw-ivory);--clw-pill-accent:var(--clw-gold);--clw-pill-dark-hover:var(--clw-oxblood-deep);background:linear-gradient(120deg,var(--clw-cta-bg-1),var(--clw-cta-bg-2));color:var(--clw-ivory);padding:var(--clw-section-y-sm) max(var(--clw-gutter),calc((100vw - var(--clw-max))/2 + var(--clw-gutter)));display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,76px);align-items:end;border-top:1px solid rgba(255,255,255,.08)}
.clw-cta>div:first-child{max-width:790px}.clw-cta>div:last-child{max-width:490px}.clw-cta h2{color:var(--clw-cta-title)}.clw-cta .clw-eyebrow{color:var(--clw-cta-eyebrow)}.clw-cta>div:last-child>p{color:var(--clw-cta-text);margin-bottom:28px}

/* CONTATTI — carta calda per leggibilità */
.clw-contact{--clw-contact-bg:var(--clw-parchment);--clw-contact-title:var(--clw-text);--clw-contact-text:var(--clw-text);--clw-contact-muted:var(--clw-muted);--clw-contact-field-bg:rgba(255,255,255,.6);--clw-contact-field-border:rgba(34,29,30,.16);--clw-contact-button:var(--clw-oxblood);--clw-contact-button-text:#fff;--clw-contact-button-hover:var(--clw-oxblood-deep);--clw-contact-accent-1:var(--clw-oxblood);--clw-contact-accent-2:var(--clw-slate);--clw-contact-accent-3:var(--clw-bronze);--clw-contact-accent-4:var(--clw-walnut);max-width:none;margin:0;background:var(--clw-contact-bg);color:var(--clw-contact-text);padding:var(--clw-section-y) max(var(--clw-gutter),calc((100vw - 1040px)/2 + var(--clw-gutter)))}
.clw-contact h2{margin:0 0 42px;color:var(--clw-contact-title)}
.clw-contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:0 0 48px}.clw-contact-details>div{--detail-accent:var(--clw-oxblood);background:rgba(255,255,255,.5);border:1px solid rgba(34,29,30,.10);border-top:3px solid var(--detail-accent);padding:20px 20px 22px;display:flex;flex-direction:column;gap:7px;border-radius:var(--clw-radius)}.clw-contact-details>div:nth-child(2){--detail-accent:var(--clw-contact-accent-2)}.clw-contact-details>div:nth-child(3){--detail-accent:var(--clw-contact-accent-3)}
.clw-contact-details small{text-transform:uppercase;letter-spacing:.11em;color:var(--clw-contact-muted);font-size:.69rem;line-height:1.35;font-weight:650}.clw-contact-details a{font-family:var(--clw-serif);font-size:1.15rem;line-height:1.4}.clw-contact-details a+a{font-family:var(--clw-sans);font-size:.8rem;line-height:1.5;color:var(--clw-contact-muted);overflow-wrap:anywhere}
.clw-contact-form label{display:block;margin-bottom:18px}.clw-contact-form label>span:first-child{font-size:.7rem;line-height:1.35;text-transform:uppercase;letter-spacing:.10em;color:var(--clw-contact-muted);font-weight:650}.clw-contact-form input[type=text],.clw-contact-form input[type=email],.clw-contact-form input[type=tel],.clw-contact-form textarea{width:100%;border:1px solid var(--clw-contact-field-border);background:var(--clw-contact-field-bg);border-radius:2px;padding:14px 15px;font:inherit;line-height:1.5;color:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.clw-contact-form input:focus,.clw-contact-form textarea:focus{border-color:var(--clw-contact-accent-2);box-shadow:0 0 0 3px rgba(82,106,121,.08)}.clw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.clw-privacy{display:flex!important;gap:12px;align-items:flex-start;font-size:.78rem;line-height:1.55;text-transform:none;letter-spacing:0;color:var(--clw-contact-muted)}.clw-privacy input{margin-top:4px}.clw-privacy a{text-decoration:underline}.clw-hp{position:absolute!important;left:-9999px!important}.clw-form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:10px}.clw-form-actions button{background:var(--clw-contact-button);color:var(--clw-contact-button-text);border:1px solid var(--clw-contact-button);border-radius:2px;padding:14px 17px 14px 19px;min-width:190px;display:flex;justify-content:space-between;gap:20px;font:inherit;font-size:.82rem;line-height:1.1;letter-spacing:.04em;font-weight:650;cursor:pointer;transition:background .2s ease,border-color .2s ease}.clw-form-actions button:hover{background:var(--clw-contact-button-hover);border-color:var(--clw-contact-button-hover)}.clw-form-actions button:disabled{opacity:.5;cursor:wait}.clw-form-status{font-size:.85rem;line-height:1.5}.clw-form-status.is-error{color:var(--clw-contact-accent-1)}

/* GALLERIA — full color, ritmo editoriale */
.clw-gallery{--clw-gallery-bg:var(--clw-graphite);--clw-gallery-title:#fff;max-width:none;margin:0;background:var(--clw-gallery-bg);color:var(--clw-ivory);padding:var(--clw-section-y) max(var(--clw-gutter),calc((100vw - var(--clw-max))/2 + var(--clw-gutter)))}
.clw-gallery h2{color:var(--clw-gallery-title);margin-bottom:42px}
.clw-gallery-grid{--clw-gallery-row:8px;--clw-gallery-gap:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:var(--clw-gallery-row);grid-auto-flow:row dense;gap:var(--clw-gallery-gap);align-items:start}
.clw-gallery-item{--clw-gallery-radius:12px;appearance:none;-webkit-appearance:none;border:0;padding:0;margin:0;background:transparent;color:inherit;display:block;width:100%;height:auto;overflow:hidden;cursor:zoom-in;border-radius:var(--clw-gallery-radius);box-shadow:0 14px 34px rgba(0,0,0,.13);grid-column:span 1;grid-row-end:span var(--clw-gallery-span,1);aspect-ratio:var(--clw-gallery-ratio,auto);align-self:start}
.clw-gallery-item img{width:100%;height:auto;display:block;object-fit:contain;object-position:center center;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.clw-gallery-item:hover img{transform:scale(1.018)}
.clw-gallery-item:focus-visible{outline:2px solid var(--clw-brass);outline-offset:4px}
body.clw-lightbox-open{overflow:hidden}
.clw-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(12,12,13,.96);display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.clw-lightbox.is-open{opacity:1;visibility:visible}
.clw-lightbox-image{display:block;max-width:min(92vw,1500px);max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 70px rgba(0,0,0,.34);transform:scale(.992);transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .18s ease}
.clw-lightbox.is-open .clw-lightbox-image{transform:scale(1)}
.clw-lightbox.is-changing .clw-lightbox-image{opacity:.35}
.clw-lightbox-close,.clw-lightbox-nav{position:fixed;z-index:2;appearance:none;-webkit-appearance:none;border:1px solid rgba(255,255,255,.28);background:rgba(20,20,21,.28);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.clw-lightbox-close:hover,.clw-lightbox-nav:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55)}
.clw-lightbox-close{top:24px;right:24px;width:48px;height:48px;border-radius:50%;font:300 34px/1 Arial,sans-serif;padding:0 0 4px}
.clw-lightbox-nav{top:50%;width:52px;height:52px;margin-top:-26px;border-radius:50%;font:300 31px/1 Arial,sans-serif}
.clw-lightbox-prev{left:24px}.clw-lightbox-next{right:24px}
.clw-lightbox-nav[hidden]{display:none}
.clw-lightbox button:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* PAGINE EDITORIALI — hero interna scura, corpo chiaro */
.clw-editorial{--clw-editorial-body-bg:var(--clw-parchment);--clw-editorial-body-text:#514b47;--clw-editorial-hero-bg-1:var(--clw-slate-deep);--clw-editorial-hero-bg-2:var(--clw-ink);--clw-editorial-eyebrow:#e4c7a1;--clw-editorial-title:#fff;--clw-editorial-intro:#473f3c;--clw-editorial-section-title:var(--clw-text);--clw-editorial-border:var(--clw-border-dark);background:var(--clw-editorial-body-bg);color:var(--clw-text);padding:0}
.clw-editorial-hero{max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(42px,6vw,86px);align-items:end;padding:clamp(94px,10vw,146px) max(var(--clw-gutter),calc((100vw - var(--clw-max))/2 + var(--clw-gutter))) clamp(68px,8vw,108px);background:linear-gradient(125deg,var(--clw-editorial-hero-bg-1),var(--clw-editorial-hero-bg-2));color:var(--clw-ivory)}
.clw-editorial-title .clw-eyebrow{color:var(--clw-editorial-eyebrow)}.clw-editorial-title h1{color:var(--clw-editorial-title);margin:0;max-width:720px}
.clw-editorial-media{aspect-ratio:1.45/1;overflow:hidden;border-radius:var(--clw-radius)}.clw-editorial-media img{width:100%;height:100%;object-fit:cover;box-shadow:0 24px 58px rgba(0,0,0,.22)}
.clw-editorial-body{max-width:1120px;margin:auto;padding:var(--clw-section-y-sm) var(--clw-gutter) var(--clw-section-y);display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(48px,7vw,90px)}
.clw-editorial-intro{font-family:var(--clw-serif);font-size:clamp(1.28rem,1.7vw,1.65rem);line-height:1.5;letter-spacing:-.006em;color:var(--clw-editorial-intro)}.clw-editorial-intro p{line-height:1.5;margin-bottom:1em}.clw-editorial-sections section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--clw-editorial-border)}.clw-editorial-sections section:last-child{margin-bottom:0}.clw-editorial-sections h2{font-size:clamp(1.85rem,2.4vw,2.5rem);margin:0 0 17px;color:var(--clw-editorial-section-title)}.clw-editorial-sections p{max-width:68ch;color:var(--clw-editorial-body-text)}

@media(max-width:980px){
  .clw-statement,.clw-practices-head,.clw-practices-grid,.clw-profile,.clw-prof-head,.clw-cta,.clw-editorial-hero,.clw-editorial-body{grid-template-columns:1fr}
  .clw-hero-copy,.clw-profile-copy{margin:0}
  .clw-practice-preview{min-height:420px}.clw-practice-preview img{min-height:420px}
  .clw-people-grid{grid-template-columns:repeat(2,1fr)}
  .clw-people-grid.is-single .clw-person{grid-template-columns:1fr}.clw-people-grid.is-single .clw-person-media{aspect-ratio:1.55/1}
  .clw-professionals.clw-prof-preserve-ratio .clw-person-media{height:auto!important;aspect-ratio:var(--clw-prof-desktop-ratio,.82/1)!important}
  .clw-professionals.clw-prof-preserve-ratio .clw-people-grid.is-single .clw-person-media{height:auto!important;aspect-ratio:var(--clw-prof-desktop-ratio,1.7/1)!important}
  .clw-offices-grid{grid-template-columns:1fr}
  .clw-contact-details{grid-template-columns:1fr}
  .clw-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));--clw-gallery-row:8px}.clw-gallery-item,.clw-gallery-item:nth-child(n){grid-column:span 1}
  .clw-editorial-title h1{max-width:900px}.clw-editorial-media{aspect-ratio:1.7/1}
}

@media(max-width:640px){
  :root{--clw-section-y:72px;--clw-section-y-sm:56px;--clw-gutter:20px}
  .clw-hero-inner{padding-top:112px;padding-bottom:54px;align-items:flex-end}.clw-hero h1{font-size:clamp(3rem,14vw,4.25rem)}.clw-lead{font-size:1.05rem}
  .clw-statement{gap:24px}.clw-practice-item{grid-template-columns:34px 1fr 22px}.clw-practice-preview{display:none}
  .clw-profile{grid-template-columns:1fr}.clw-profile-media{aspect-ratio:.9/1}
  .clw-immersive{min-height:560px}.clw-immersive-copy{padding:26px 22px}
  .clw-people-grid{grid-template-columns:1fr}.clw-people-grid.is-single .clw-person-media{aspect-ratio:1.15/1}
  .clw-professionals.clw-prof-preserve-ratio .clw-person-media,.clw-professionals.clw-prof-preserve-ratio .clw-people-grid.is-single .clw-person-media{height:auto!important;aspect-ratio:var(--clw-prof-desktop-ratio,.82/1)!important}
  .clw-form-grid{grid-template-columns:1fr}.clw-gallery-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:8px}.clw-gallery-item,.clw-gallery-item:nth-child(n){grid-column:span 1}.clw-lightbox-close{top:14px;right:14px}.clw-lightbox-nav{width:44px;height:44px;margin-top:-22px}.clw-lightbox-prev{left:10px}.clw-lightbox-next{right:10px}.clw-lightbox-image{max-width:94vw;max-height:82vh}
  .clw-editorial-hero{padding-top:92px}.clw-editorial-media{aspect-ratio:1.25/1}
}

@media(prefers-reduced-motion:reduce){.cl-reveal,.cl-entrance{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}.clw-hero-slide,.clw-person-media img,.clw-gallery-grid img{transition:none}.clw-insight-card{transition:none}}

/* H1 semantici per pagine che usano un widget come intestazione principale */
.clw-practices-head h1,.clw-offices>h1,.clw-insights-head h1,.clw-gallery>h1,.clw-contact>h1{
  font-family:var(--clw-serif);font-size:var(--clw-h1);line-height:.98;letter-spacing:var(--clw-display-track);font-weight:400;text-wrap:balance;margin:0;
}
.clw-offices>h1{max-width:900px;margin-bottom:50px;color:var(--clw-offices-title)}.clw-gallery>h1{color:var(--clw-gallery-title);margin-bottom:42px}.clw-contact>h1{color:var(--clw-contact-title);margin-bottom:42px}.clw-insights-head h1{color:var(--clw-insights-title)}.clw-practices-head h1{max-width:900px;color:var(--clw-practices-title)}

/* viewport heroes + compact contact section */
.clw-hero{height:100vh;height:100dvh;min-height:100svh}
.clw-hero-inner{height:100%;min-height:0}

/* Internal editorial heroes occupy the visible page below the non-overlay header. */
.clw-editorial-hero{
  min-height:calc(100vh - 88px);
  min-height:calc(100svh - 88px);
  align-items:center;
}

/* Compact two-column contact block: contacts at left, form at right. */
.clw-contact{
  padding:clamp(56px,6.5vw,86px) max(var(--clw-gutter),calc((100vw - 1180px)/2 + var(--clw-gutter)));
}
.clw-contact-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  gap:clamp(36px,6vw,72px);
  align-items:start;
}
.clw-contact-intro h1,.clw-contact-intro h2{
  margin:0 0 30px;
  color:var(--clw-contact-title);
}
.clw-contact-details{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin:0;
  border-top:1px solid var(--clw-border-dark);
}
.clw-contact-details>div{
  --detail-accent:var(--clw-contact-accent-1);
  background:transparent;
  border:0;
  border-bottom:1px solid var(--clw-border-dark);
  border-left:2px solid var(--detail-accent);
  padding:12px 0 12px 14px;
  display:flex;
  flex-direction:column;
  gap:3px;
  border-radius:0;
}
.clw-contact-details>div:nth-child(2){--detail-accent:var(--clw-contact-accent-2)}
.clw-contact-details>div:nth-child(3){--detail-accent:var(--clw-contact-accent-3)}
.clw-contact-details>div:nth-child(4){--detail-accent:var(--clw-contact-accent-4)}
.clw-contact-details small{font-size:.65rem;letter-spacing:.105em}
.clw-contact-details a{font-family:var(--clw-sans);font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}
.clw-contact-form{padding-top:2px}
.clw-contact-form label{margin-bottom:13px}
.clw-contact-form input[type=text],.clw-contact-form input[type=email],.clw-contact-form input[type=tel],.clw-contact-form textarea{
  padding:11px 13px;
}
.clw-contact-form textarea{min-height:112px;resize:vertical}
.clw-form-grid{gap:14px}
.clw-privacy{margin-top:2px!important;margin-bottom:10px!important}
.clw-form-actions{padding-top:2px}

@media(max-width:980px){
  .clw-contact-inner{grid-template-columns:1fr;gap:34px}
  .clw-contact-details{grid-template-columns:repeat(2,1fr)}
  .clw-contact-details>div:nth-child(odd){border-right:1px solid var(--clw-border-dark)}
}
@media(max-width:640px){
  .clw-hero{height:100dvh;min-height:100svh}.clw-hero-inner{height:100%;min-height:0}
  .clw-editorial-hero{min-height:calc(100svh - 78px)}
  .clw-contact{padding-top:48px;padding-bottom:52px}
  .clw-contact-details{grid-template-columns:1fr}
  .clw-contact-details>div:nth-child(odd){border-right:0}
  .clw-form-grid{grid-template-columns:1fr}
}

.clw-person-static{cursor:default}

/* v1.23 — Cloudflare Turnstile */
.clw-turnstile-wrap{margin:2px 0 18px;max-width:100%;overflow:hidden}.clw-turnstile{max-width:100%}@media(max-width:360px){.clw-turnstile-wrap{overflow:visible}}
