/* Cerchio — Tab verticali */
.cerchio-section{
  --c-active-bg:#1A4544;
  --c-active-fg:#F4F7F5;
  --c-inactive-bg:#F3F6F5;
  --c-inactive-fg:#1A1F1E;
  --c-inactive-border:#D5DDD9;
  --c-inactive-border-w:1px;
  --c-hover-bg:#E8EEEC;
  --c-hover-fg:#1A1F1E;
  --c-hover-border:#B7C3BE;
  --c-indicator:#C9A46C;
  --c-indicator-size:7px;
  --c-indicator-opacity:1;
  --c-quote-bar:#C9A46C;
  --c-quote-bar-w:2px;
  --c-title:#1A4544;
  --c-body:#3D4A47;
  --c-eyebrow:#8A9693;
  --c-quote:#5C6764;
  --c-divider:#E3E8E5;
  --c-divider-w:1px;
  --c-circle-size:148px;
  --c-tab-gap:16px;
  --c-content-gap:64px;
  --c-heading-font:"Cormorant Garamond",ui-serif,Georgia,serif;
  --c-body-font:"Figtree",ui-sans-serif,system-ui,sans-serif;
  --c-shape:999px;
  --c-nav-width:180px;
  --c-pad-x:72px;
  --c-pad-y:64px;
  --c-content-max:560px;
  --c-canvas-bg:#F7F9F8;
  background:var(--c-canvas-bg);
  color:var(--c-inactive-fg);
  padding:var(--c-pad-y) var(--c-pad-x);
  font-family:var(--c-body-font);
}
.cerchio{display:flex;align-items:center;gap:var(--c-content-gap);width:100%;max-width:1120px;margin:0 auto}
.cerchio.is-right{flex-direction:row-reverse}
.cerchio-nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--c-tab-gap);width:var(--c-nav-width);flex-shrink:0;position:relative;z-index:1}
.cerchio-divider{width:var(--c-divider-w);align-self:stretch;background:var(--c-divider);flex-shrink:0;min-height:280px;}
.cerchio-panels{flex:1;min-width:0;max-width:var(--c-content-max)}
.cerchio-btn{position:relative;width:var(--c-btn-size,var(--c-circle-size));height:var(--c-btn-size,var(--c-circle-size));border-radius:var(--c-shape);border:var(--c-inactive-border-w) solid var(--c-inactive-border);background:var(--c-inactive-bg);color:var(--c-inactive-fg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;overflow:visible;flex-shrink:0;transition:background-color .25s cubic-bezier(.22,1,.36,1),color .25s,border-color .25s,box-shadow .25s,transform .15s;appearance:none;-webkit-appearance:none;cursor:pointer}
.cerchio-btn:hover:not(.is-active){background:var(--c-hover-bg);color:var(--c-hover-fg);border-color:var(--c-hover-border)}
.cerchio-btn:focus-visible{outline:2px solid var(--c-indicator);outline-offset:4px}
.cerchio-btn:active{transform:scale(.98)}
.cerchio-btn.is-active{background:var(--c-active-bg);color:var(--c-active-fg);border-color:transparent;box-shadow:0 18px 36px -14px color-mix(in oklab,var(--c-active-bg) 55%,transparent);}
.cerchio-btn.is-active::after{content:"";position:absolute;right:-4px;top:50%;width:var(--c-indicator-size);height:var(--c-indicator-size);background:var(--c-indicator);border-radius:999px;transform:translateY(-50%);opacity:var(--c-indicator-opacity);pointer-events:none;z-index:2}
.cerchio-btn-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35;pointer-events:none;border-radius:inherit;overflow:hidden}
.cerchio-btn.is-active .cerchio-btn-bg{opacity:.25}
.cerchio-btn-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;overflow:hidden;border-radius:inherit}
.cerchio-inner{margin:0;max-width:100%}
.cerchio-quote{display:block;border-left:var(--c-quote-bar-w) solid var(--c-quote-bar);padding-left:16px;margin:8px 0 0}
.cerchio-panel{display:flex;flex-direction:column;gap:14px}
.cerchio-panel.is-hidden,.cerchio-panels>.e-con:not(.is-active),.cerchio-panels>.elementor-element:not(.is-active){display:none!important}
.cerchio-panel.is-anim-fade{animation:cerchioFade .4s cubic-bezier(.22,1,.36,1)}
.cerchio-panel.is-anim-slide{animation:cerchioSlide .4s cubic-bezier(.22,1,.36,1)}
@keyframes cerchioFade{from{opacity:0;filter:blur(2px);transform:translateY(6px)}to{opacity:1;filter:none;transform:none}}
@keyframes cerchioSlide{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}

/* Nested: first child is the left Elementor container */
.cerchio.is-container-mode{align-items:center}
.cerchio.is-container-mode>.e-con:first-child,
.cerchio.is-container-mode>.elementor-element:first-child{
  width:var(--c-nav-width);flex-shrink:0;position:relative;z-index:1;
  background:transparent;--display:flex;--flex-direction:column;--align-items:center;--justify-content:center;--gap:var(--c-tab-gap);
}
.cerchio.is-container-mode>.e-con:first-child,
.cerchio.is-container-mode>.e-con:first-child>.e-con-inner,
.cerchio.is-container-mode>.elementor-element:first-child>.e-con-inner{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--c-tab-gap);
}
.cerchio.is-container-mode>.e-con:first-child::after,
.cerchio.is-container-mode>.elementor-element:first-child::after{
  content:"";position:absolute;top:0;right:calc(var(--c-content-gap)/-2);width:var(--c-divider-w);height:100%;background:var(--c-divider);
}
.cerchio.is-container-mode>.e-con:first-child>.e-con,
.cerchio.is-container-mode>.e-con:first-child>.e-con-inner>.e-con,
.cerchio.is-container-mode>.elementor-element:first-child>.e-con,
.cerchio.is-container-mode>.elementor-element:first-child>.e-con-inner>.e-con,
.cerchio.is-container-mode>.e-con:first-child>.elementor-element,
.cerchio.is-container-mode>.e-con:first-child>.e-con-inner>.elementor-element{
  width:var(--c-circle-size)!important;min-width:var(--c-circle-size);max-width:var(--c-circle-size);
  height:var(--c-circle-size);min-height:var(--c-circle-size);
  border-radius:var(--c-shape)!important;overflow:visible;cursor:pointer;flex:0 0 var(--c-circle-size);
  background:var(--c-inactive-bg);color:var(--c-inactive-fg);
  border:var(--c-inactive-border-w) solid var(--c-inactive-border);
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  --padding-top:12px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;
  transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s;
}
.cerchio.is-container-mode>.e-con:first-child>.e-con:hover:not(.is-active),
.cerchio.is-container-mode>.e-con:first-child>.e-con-inner>.e-con:hover:not(.is-active){
  background:var(--c-hover-bg);color:var(--c-hover-fg);border-color:var(--c-hover-border);
}
.cerchio.is-container-mode>.e-con:first-child>.is-active,
.cerchio.is-container-mode>.e-con:first-child>.e-con-inner>.is-active,
.cerchio.is-container-mode>.elementor-element:first-child>.is-active,
.cerchio.is-container-mode>.elementor-element:first-child>.e-con-inner>.is-active{
  background:var(--c-active-bg);color:var(--c-active-fg);border-color:transparent;
  box-shadow:0 18px 36px -14px color-mix(in oklab,var(--c-active-bg) 55%,transparent);
}
.cerchio.is-container-mode>.e-con:first-child>.is-active::after,
.cerchio.is-container-mode>.e-con:first-child>.e-con-inner>.is-active::after,
.cerchio.is-container-mode>.elementor-element:first-child>.is-active::after,
.cerchio.is-container-mode>.elementor-element:first-child>.e-con-inner>.is-active::after{
  content:"";position:absolute;right:-4px;top:50%;width:var(--c-indicator-size);height:var(--c-indicator-size);
  background:var(--c-indicator);border-radius:999px;transform:translateY(-50%);opacity:var(--c-indicator-opacity);z-index:2;pointer-events:none;
}
.cerchio.is-container-mode>.e-con:first-child>.e-con>.e-con-inner,
.cerchio.is-container-mode>.e-con:first-child>.e-con-inner>.e-con>.e-con-inner{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;
}
.cerchio.is-container-mode>.e-con:first-child .elementor-heading-title,
.cerchio.is-container-mode>.e-con:first-child .elementor-widget-text-editor,
.cerchio.is-container-mode>.e-con:first-child .elementor-widget-heading,
.cerchio.is-container-mode>.e-con:first-child .cerchio-inner{color:inherit}
.cerchio.is-container-mode>.e-con:not(:first-child),
.cerchio.is-container-mode>.elementor-element:not(:first-child){
  flex:1;min-width:0;max-width:var(--c-content-max);
}
.cerchio.is-container-mode>.e-con:not(:first-child):not(.is-active),
.cerchio.is-container-mode>.elementor-element:not(:first-child):not(.is-active){display:none!important}

@media (prefers-reduced-motion:reduce){
  .cerchio-btn,.cerchio-panel.is-anim-fade,.cerchio-panel.is-anim-slide{animation:none;transition:none}
}
@media (max-width:768px){
  .cerchio-section{--c-pad-x:20px;--c-pad-y:36px;--c-content-gap:28px;--c-circle-size:96px;--c-nav-width:100%;--c-tab-gap:12px}
  .cerchio,.cerchio.is-right,.cerchio.is-container-mode{flex-direction:column;align-items:stretch}
  .cerchio-nav,.cerchio.is-container-mode>.e-con:first-child,.cerchio.is-container-mode>.elementor-element:first-child,
  .cerchio.is-container-mode>.e-con:first-child>.e-con-inner{flex-direction:row;flex-wrap:wrap;width:100%;justify-content:center}
  .cerchio-divider{width:100%;height:var(--c-divider-w);min-height:0}
  .cerchio-btn.is-active::after,
  .cerchio.is-container-mode>.e-con:first-child>.is-active::after,
  .cerchio.is-container-mode>.e-con:first-child>.e-con-inner>.is-active::after{right:auto;left:50%;top:auto;bottom:-4px;transform:translateX(-50%)}
  .cerchio.is-container-mode>.e-con:first-child::after,.cerchio.is-container-mode>.elementor-element:first-child::after{display:none}
  .cerchio-panels,.cerchio.is-container-mode>.e-con:not(:first-child),.cerchio.is-container-mode>.elementor-element:not(:first-child){max-width:none}
}