/* RCO Site Core 1.3.34 — shell globale estratta dai template approvati. */
.rco-gh{
      --ink: #171326;
      --ink-2: #201b33;
      --cream: #f5f2ec;
      --paper: #fff;
      --pink: #c52a82;
      --purple: #74267d;
      --blue: #2731b9;
      --teal: #00a69c;
      --red: #d64236;
      --line: #ddd8d0;
      --muted: #6a6674;
      --max: 1200px;
      --sans: Arial, Helvetica, sans-serif;
      --serif: Georgia, "Times New Roman", serif;
    }.rco-gh *{ box-sizing: border-box; }.rco-gh{ scroll-behavior: smooth; }.rco-gh{
      margin: 0;
      color: var(--ink);
      background: var(--cream);
      font-family: var(--sans);
      line-height: 1.55;
      -webkit-font-smoothing: antialiased;
    }body.rco-gh-menu-open{ overflow: hidden; }.rco-gh a{ color: inherit; }.rco-gh img{ display: block; max-width: 100%; }.rco-gh button,.rco-gh input{ font: inherit; }.rco-gh :focus-visible{ outline: 3px solid var(--teal); outline-offset: 3px; }.rco-gh .progress{
      position: fixed;
      z-index: 1000;
      inset: 0 auto auto 0;
      width: 0;
      height: 4px;
      background: var(--red);
    }.rco-gh .draft-flag{
      position: fixed;
      z-index: 999;
      right: 16px;
      bottom: 16px;
      padding: 8px 12px;
      color: #fff;
      background: var(--ink);
      border: 1px solid rgba(255,255,255,.3);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }.rco-gh .container{ width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }.rco-gh .eyebrow{
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin: 0 0 18px;
      color: var(--pink);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }.rco-gh .eyebrow::before{ content: ""; width: 28px; height: 3px; background: currentColor; }.rco-gh .section-title{
      max-width: 860px;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(42px, 5vw, 68px);
      font-weight: 400;
      line-height: .98;
      letter-spacing: -.045em;
    }.rco-gh .section-lead{
      max-width: 700px;
      margin: 24px 0 0;
      color: var(--muted);
      font-size: 18px;
    }.rco-gh .btn{
      display: inline-flex;
      min-height: 52px;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 13px 22px;
      border: 2px solid transparent;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .025em;
      text-decoration: none;
      transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
    }.rco-gh .btn:hover{ transform: translateY(-2px); }.rco-gh .btn-primary{ color: #fff; background: var(--red); }.rco-gh .btn-primary:hover{ background: #b92f26; }.rco-gh .btn-secondary{ color: var(--ink); background: #fff; border-color: var(--ink); }.rco-gh .btn-secondary:hover{ color: #fff; background: var(--ink); }.rco-gh .btn-light{ color: var(--ink); background: #fff; }.rco-gh .btn-dark{ color: #fff; background: var(--ink); }.rco-gh .btn-arrow::after{ content: "→"; font-size: 18px; line-height: 1; }.rco-gh .site-header{
      position: sticky;
      z-index: 900;
      top: 0;
      width: 100% !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      color: #fff;
      background: rgba(23,19,38,.97);
      border-bottom: 1px solid rgba(255,255,255,.12);
      font-family: var(--sans) !important;
      line-height: 1.55 !important;
    }.rco-gh .site-header > .container{
      width: min(calc(100% - 48px), var(--max)) !important;
      max-width: var(--max) !important;
      margin-inline: auto !important;
      padding: 0 !important;
    }.rco-gh .header-inner{
      display: flex;
      min-height: 78px;
      align-items: center;
      gap: 28px;
    }.rco-gh .brand{ flex: 0 0 auto; }.rco-gh .brand img{ width: 170px; height: auto; }.rco-gh .main-nav{ display: flex; margin-left: auto; align-items: stretch; gap: 21px; align-self: stretch; }.rco-gh .main-nav a,.rco-gh .nav-trigger{
      color: rgba(255,255,255,.86);
      font-family: var(--sans) !important;
      font-size: 13px !important;
      font-weight: 700 !important;
      line-height: 1.55 !important;
      text-decoration: none;
    }.rco-gh .main-nav > a{ display: inline-flex; align-items: center; }.rco-gh .main-nav a:hover,.rco-gh .nav-trigger:hover{ color: #fff; }.rco-gh .nav-item{ position: relative; display: flex; height: 100%; align-items: center; }.rco-gh .nav-trigger{
      display: inline-flex;
      height: 100%;
      align-items: center;
      gap: 6px;
      padding: 0 !important;
      background: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      cursor: pointer;
    }.rco-gh .nav-trigger::after{
      content: "";
      width: 6px;
      height: 6px;
      margin-top: -4px;
      border-right: 1.5px solid currentColor;
      border-bottom: 1.5px solid currentColor;
      transform: rotate(45deg);
      transition: transform .2s ease;
    }.rco-gh .nav-item:hover .nav-trigger::after,.rco-gh .nav-item:focus-within .nav-trigger::after,.rco-gh .nav-item.is-open .nav-trigger::after{ margin-top: 4px; transform: rotate(225deg); }.rco-gh .lab-link{
      min-height: 38px;
      align-self: center;
      padding: 9px 13px !important;
      color: #fff !important;
      background: var(--pink) !important;
      border-radius: 999px !important;
    }.rco-gh .nav-panel{
      position: absolute;
      z-index: 920;
      top: 100%;
      left: 50%;
      width: 350px;
      padding: 18px;
      color: var(--ink);
      background: #fff;
      border-top: 4px solid var(--pink);
      box-shadow: 0 24px 70px rgba(23,19,38,.25);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translate(-50%, 10px);
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }.rco-gh .nav-panel-wide{
      position: fixed;
      top: 78px;
      left: 50%;
      width: min(900px, calc(100vw - 48px));
    }.rco-gh .nav-item:hover > .nav-panel,.rco-gh .nav-item:focus-within > .nav-panel,.rco-gh .nav-item.is-open > .nav-panel{
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translate(-50%, 0);
    }.rco-gh .nav-panel-kicker{
      display: block;
      margin: 0 0 7px;
      color: var(--pink);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .13em;
      text-transform: uppercase;
    }.rco-gh .nav-panel-title{
      margin: 0 0 14px;
      font-family: var(--serif);
      font-size: 25px;
      font-weight: 400;
      line-height: 1.05;
    }.rco-gh .nav-panel-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }.rco-gh .nav-panel-grid.lab-grid{ grid-template-columns: 1.15fr 1fr 1fr; }.rco-gh .nav-card,.rco-gh .nav-simple-link{
      display: block;
      padding: 16px 17px;
      color: var(--ink) !important;
      background: #fff;
      transition: background .18s ease, color .18s ease;
    }.rco-gh .nav-card:hover,.rco-gh .nav-simple-link:hover{ color: var(--ink) !important; background: var(--cream); }.rco-gh .nav-card strong,.rco-gh .nav-simple-link strong{ display: block; margin-bottom: 4px; font-size: 14px; line-height: 1.25; }.rco-gh .nav-card span,.rco-gh .nav-simple-link span{ display: block; color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.45; }.rco-gh .nav-card .nav-number{ margin-bottom: 17px; color: var(--pink); font-size: 9px; font-weight: 800; letter-spacing: .12em; }.rco-gh .nav-simple-list{ display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }.rco-gh .lab-grid .nav-simple-list{ height: 100%; grid-template-rows: repeat(3, minmax(86px, 1fr)); }.rco-gh .lab-grid .nav-simple-link{ display: flex; min-height: 86px; flex-direction: column; justify-content: center; }.rco-gh .lab-grid .nav-lab-intro{ min-height: 262px; gap: 10px; justify-content: flex-start; text-decoration: none; }.rco-gh .lab-grid .nav-lab-intro .nav-lab-kicker{ display: block; color: #67d5ce; font-family: var(--sans); font-size: 9px; font-weight: 800; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; opacity: 1; }.rco-gh .lab-grid .nav-lab-intro strong{ max-width: 250px; font-size: 27px; line-height: 1.03; }.rco-gh .lab-grid .nav-lab-intro .nav-lab-description{ display: block; max-width: 250px; color: rgba(255,255,255,.82); font-size: 11px; font-weight: 400; line-height: 1.45; opacity: 1; }.rco-gh .lab-grid .nav-lab-intro .nav-lab-action{ display: flex; width: 100%; min-height: 42px; align-items: center; justify-content: space-between; margin-top: auto; padding: 10px 12px; color: var(--blue); background: #fff; font-size: 11px; font-weight: 800; letter-spacing: .015em; line-height: 1.35; opacity: 1; }.rco-gh .lab-grid .nav-lab-intro .nav-lab-action::after{ content: "→"; margin-left: 10px; font-size: 16px; line-height: 1; }.rco-gh .lab-grid .nav-lab-intro:hover .nav-lab-action,.rco-gh .lab-grid .nav-lab-intro:focus-visible .nav-lab-action{ background: var(--cream); }@media (max-width: 1080px){#rco-global-header .header-inner{ flex-wrap: nowrap !important; }body:not(.rco-reading) #rco-global-header .rco-compact-search,body:not(.rco-reading) #rco-global-header .rco-compact-label,body.rco-gh-menu-open #rco-global-header .rco-compact-search,body.rco-gh-menu-open #rco-global-header .rco-compact-label{ display: none !important; }body.rco-gh-menu-open #rco-global-header .menu-toggle{ margin-left: auto !important; }}.rco-gh .nav-lab-command{
      display: grid;
      grid-template-columns: 54% 46%;
      width: min(820px, calc(100vw - 48px));
      min-height: 246px;
      padding: 30px 38px 27px;
      overflow: hidden;
      color: #fff !important;
      background: linear-gradient(90deg, rgba(255,98,89,.08), transparent 32%), #090a15;
      border-top: 0;
      border-radius: 0 0 14px 14px;
      text-decoration: none;
    }.rco-gh .nav-lab-command::before{
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 3px;
      background: linear-gradient(90deg, #ff6259, #c52a82 34%, #2731b9 68%, #67d5ce);
      transform: scaleX(0);
      transform-origin: 0 50%;
      transition: transform .78s cubic-bezier(.16,.84,.23,1) .08s;
    }.rco-gh .nav-item-lab:hover .nav-lab-command::before,.rco-gh .nav-item-lab:focus-within .nav-lab-command::before,.rco-gh .nav-item-lab.is-open .nav-lab-command::before{ transform: scaleX(1); }.rco-gh .nav-lab-command-copy{
      position: relative;
      z-index: 5;
      display: flex;
      padding-right: 25px;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
    }.rco-gh .nav-lab-command-kicker{
      display: block;
      margin-bottom: 13px;
      color: #ff6259;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .16em;
      line-height: 1.3;
      text-transform: uppercase;
    }.rco-gh .nav-lab-command-copy strong{
      display: block;
      margin-bottom: 19px;
      color: #fff;
      font-family: var(--serif);
      font-size: clamp(29px, 3vw, 43px);
      font-weight: 700;
      line-height: .98;
      letter-spacing: -.04em;
    }.rco-gh .nav-lab-command-copy strong em{ color: #67d5ce; font-weight: 400; }.rco-gh .nav-lab-command-action{
      display: inline-flex;
      align-items: center;
      gap: 11px;
      color: rgba(255,255,255,.88);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .02em;
    }.rco-gh .nav-lab-command-action b{
      display: grid;
      width: 27px;
      height: 27px;
      border: 1px solid currentColor;
      border-radius: 50%;
      place-items: center;
      font-size: 14px;
      transition: transform .3s ease;
    }.rco-gh .nav-lab-command:hover .nav-lab-command-action b{ transform: translate(2px,-2px); }.rco-gh .nav-lab-command-stage{
      position: absolute;
      top: 3px;
      right: 0;
      bottom: 0;
      width: 46%;
      overflow: hidden;
      border-left: 1px solid rgba(255,255,255,.1);
      background: repeating-linear-gradient(90deg, transparent 0 38px, rgba(255,255,255,.035) 39px 40px), linear-gradient(145deg, rgba(39,49,185,.2), rgba(197,42,130,.05));
      font-style: normal;
    }.rco-gh .nav-lab-command-stage::before{
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(116deg, transparent 24%, rgba(255,255,255,.05) 43%, transparent 62%);
      transform: translateX(-120%);
    }.rco-gh .nav-item-lab:hover .nav-lab-command-stage::before,.rco-gh .nav-item-lab:focus-within .nav-lab-command-stage::before,.rco-gh .nav-item-lab.is-open .nav-lab-command-stage::before{ animation: rco-command-sheen 3.8s ease-in-out .65s infinite; }.rco-gh .rco-command-word{
      position: absolute;
      left: 26px;
      display: block;
      width: calc(100% - 38px);
      overflow: hidden;
      color: #fff;
      font-family: Arial Black, Arial, Helvetica, sans-serif;
      font-size: clamp(50px,5.4vw,76px);
      font-style: normal;
      font-weight: 900;
      line-height: .8;
      letter-spacing: -.075em;
      white-space: nowrap;
      opacity: 0;
      will-change: transform, clip-path, opacity;
    }.rco-gh .rco-command-read{
      top: 43px;
      color: #ff6259;
      clip-path: inset(0 100% 0 0);
      transform: translateX(34px);
    }.rco-gh .rco-command-decide{
      top: 122px;
      color: transparent;
      -webkit-text-stroke: 1.2px rgba(255,255,255,.92);
      clip-path: inset(0 0 0 100%);
      transform: translateX(-34px);
    }.rco-gh .nav-item-lab:hover .rco-command-read,.rco-gh .nav-item-lab:focus-within .rco-command-read,.rco-gh .nav-item-lab.is-open .rco-command-read{ animation: rco-command-read 5.8s cubic-bezier(.18,.82,.22,1) .18s infinite; }.rco-gh .nav-item-lab:hover .rco-command-decide,.rco-gh .nav-item-lab:focus-within .rco-command-decide,.rco-gh .nav-item-lab.is-open .rco-command-decide{ animation: rco-command-decide 5.8s cubic-bezier(.18,.82,.22,1) .3s infinite; }.rco-gh .rco-command-cut{
      position: absolute;
      top: 23px;
      bottom: 25px;
      left: -8%;
      width: 2px;
      background: #67d5ce;
      box-shadow: 0 0 9px rgba(99,213,206,.9), 0 0 28px rgba(99,213,206,.56);
      opacity: 0;
      transform: skewX(-11deg);
    }.rco-gh .nav-item-lab:hover .rco-command-cut,.rco-gh .nav-item-lab:focus-within .rco-command-cut,.rco-gh .nav-item-lab.is-open .rco-command-cut{ animation: rco-command-cut 2.9s cubic-bezier(.2,.75,.25,1) .72s infinite; }.rco-gh .rco-command-index{
      position: absolute;
      right: 18px;
      bottom: 14px;
      color: rgba(255,255,255,.38);
      font-size: 7px;
      font-style: normal;
      font-weight: 800;
      letter-spacing: .2em;
    }@keyframes rco-command-sheen{0%{transform:translateX(-120%);opacity:0}18%{opacity:1}68%{opacity:1}100%{transform:translateX(145%);opacity:0}}@keyframes rco-command-read{0%,100%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(34px)}10%,72%{opacity:1;clip-path:inset(0);transform:translateX(0)}82%{opacity:.88;clip-path:inset(0 0 0 74%);transform:translateX(-14px)}}@keyframes rco-command-decide{0%,7%,100%{opacity:0;clip-path:inset(0 0 0 100%);transform:translateX(-34px)}17%,78%{opacity:1;clip-path:inset(0);transform:translateX(0)}88%{opacity:.85;clip-path:inset(0 76% 0 0);transform:translateX(14px)}}@keyframes rco-command-cut{0%{left:-8%;opacity:0}14%{opacity:1}78%{opacity:1}100%{left:108%;opacity:0}}.rco-gh .nav-item-lab.is-escape-closed .nav-lab-command{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(10px)!important;}@media (max-width:1080px){.rco-gh .main-nav.open .nav-item-lab .nav-panel{ display: none !important; }.rco-gh .main-nav.open .nav-item-lab .lab-link{ width: 100%; margin: 8px 0; justify-content: flex-start; }.rco-gh .main-nav.open .nav-item-lab .lab-link::after{ display: none; }}@media (prefers-reduced-motion:reduce){.rco-gh .nav-lab-command .rco-command-word{ opacity:1; clip-path:inset(0); transform:none; }.rco-gh .nav-lab-command .rco-command-stage::before,.rco-gh .nav-lab-command .rco-command-cut{ display:none; }}.rco-gh .nav-lab-intro{
      display: flex;
      min-height: 190px;
      padding: 22px;
      color: #fff;
      background: var(--blue);
      flex-direction: column;
      justify-content: space-between;
    }.rco-gh .nav-lab-intro strong{ max-width: 230px; font-family: var(--serif); font-size: 27px; font-weight: 400; line-height: 1.03; }.rco-gh .nav-lab-intro span{ font-size: 11px; opacity: .75; }.rco-gh .nav-panel-note{ margin: 13px 2px 0; color: var(--muted); font-size: 10px; }.rco-gh .mobile-menu-cta{ display: none !important; }.rco-gh .header-cta{ min-height: 44px; padding: 10px 17px; white-space: nowrap; }.rco-gh .site-header .header-cta{ font-family: var(--sans) !important; line-height: 1.55 !important; }.rco-gh .menu-toggle{
      display: none;
      width: 46px;
      height: 46px;
      margin-left: auto;
      color: #fff;
      background: transparent;
      border: 1px solid rgba(255,255,255,.35);
      cursor: pointer;
    }.rco-gh .hero{
      position: relative;
      overflow: hidden;
      color: #fff;
      background: var(--ink);
      border-bottom: 12px solid var(--teal);
    }.rco-gh .hero::before{
      content: "";
      position: absolute;
      width: 520px;
      height: 520px;
      left: -300px;
      top: 70px;
      border: 135px solid var(--blue);
      border-radius: 50%;
      opacity: .75;
    }.rco-gh .hero::after{
      content: "";
      position: absolute;
      width: 190px;
      height: 190px;
      right: -70px;
      bottom: -50px;
      background: var(--red);
      border-radius: 50%;
    }.rco-gh .hero-grid{
      position: relative;
      z-index: 1;
      display: grid;
      min-height: 720px;
      grid-template-columns: 1.02fr .98fr;
      align-items: center;
      gap: 66px;
      padding-block: 76px 86px;
    }.rco-gh .hero .eyebrow{ color: #67d5ce; }.rco-gh .hero h1{
      max-width: 730px;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(54px, 6vw, 88px);
      font-weight: 400;
      line-height: .94;
      letter-spacing: -.055em;
    }.rco-gh .hero h1 em{ color: #ff665c; font-style: normal; }.rco-gh .hero-copy > p{
      max-width: 650px;
      margin: 27px 0 0;
      color: rgba(255,255,255,.76);
      font-size: 19px;
    }.rco-gh .hero-actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }.rco-gh .hero-note{
      display: flex;
      flex-wrap: wrap;
      gap: 18px;
      margin-top: 30px;
      color: rgba(255,255,255,.67);
      font-size: 12px;
    }.rco-gh .hero-note span::before{ content: "✓"; margin-right: 7px; color: #67d5ce; font-weight: 900; }.rco-gh .hero-visual{ position: relative; min-height: 540px; }.rco-gh .hero-photo{
      position: absolute;
      inset: 0 0 0 20px;
      width: calc(100% - 20px);
      height: 100%;
      object-fit: cover;
      border: 1px solid rgba(255,255,255,.25);
    }.rco-gh .hero-photo::after{ content: ""; }.rco-gh .proof-card{
      position: absolute;
      left: -32px;
      bottom: 36px;
      width: 245px;
      padding: 20px;
      color: var(--ink);
      background: #fff;
      border-top: 7px solid var(--red);
    }.rco-gh .proof-card span{ display: block; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.rco-gh .proof-card strong{ display: block; margin: 5px 0 2px; color: var(--red); font-family: var(--serif); font-size: 52px; line-height: 1; }.rco-gh .proof-card small{ color: var(--ink); font-weight: 700; }.rco-gh .hero-side-label{
      position: absolute;
      top: 24px;
      right: -16px;
      padding: 10px 13px;
      color: #fff;
      background: var(--purple);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
      writing-mode: vertical-rl;
    }.rco-gh .signal-strip{ background: #fff; border-bottom: 1px solid var(--line); }.rco-gh .signal-grid{ display: grid; grid-template-columns: 1.2fr repeat(3, .8fr); }.rco-gh .signal-grid > div{ min-height: 104px; padding: 24px 26px; border-left: 1px solid var(--line); }.rco-gh .signal-grid > div:last-child{ border-right: 1px solid var(--line); }.rco-gh .signal-grid strong{ display: block; font-family: var(--serif); font-size: 25px; font-weight: 400; line-height: 1.05; }.rco-gh .signal-grid span{ display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }.rco-gh .signal-grid .signal-intro{ color: #fff; background: var(--teal); }.rco-gh .signal-intro span{ color: rgba(255,255,255,.78); }.rco-gh .recognize{ padding: 120px 0; }.rco-gh .recognize-head{ display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; }.rco-gh .pain-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 64px; background: var(--line); border: 1px solid var(--line); }.rco-gh .pain-card{ min-height: 245px; padding: 34px; background: #fff; }.rco-gh .pain-card .num{ color: var(--pink); font-family: var(--serif); font-size: 24px; }.rco-gh .pain-card h3{ max-width: 480px; margin: 52px 0 10px; font-family: var(--serif); font-size: 31px; font-weight: 400; line-height: 1.08; }.rco-gh .pain-card p{ max-width: 500px; margin: 0; color: var(--muted); font-size: 14px; }.rco-gh .method{ padding: 120px 0; color: #fff; background: var(--ink); }.rco-gh .method .eyebrow{ color: #67d5ce; }.rco-gh .method .section-lead{ color: rgba(255,255,255,.65); }.rco-gh .method-steps{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 66px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); }.rco-gh .method-step{ position: relative; min-height: 300px; padding: 32px; background: var(--ink-2); }.rco-gh .method-step::before{ content: attr(data-step); position: absolute; right: 24px; top: 20px; color: rgba(255,255,255,.12); font-family: var(--serif); font-size: 72px; }.rco-gh .method-step b{ color: #67d5ce; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }.rco-gh .method-step h3{ margin: 85px 0 16px; font-family: var(--serif); font-size: 38px; font-weight: 400; }.rco-gh .method-step p{ margin: 0; color: rgba(255,255,255,.64); }.rco-gh .services{ padding: 120px 0; background: #fff; }.rco-gh .coordination-note{
      display: grid;
      grid-template-columns: .7fr 1.3fr;
      gap: 34px;
      margin-top: 38px;
      padding: 24px 0;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }.rco-gh .coordination-note strong{ font-family: var(--serif); font-size: 29px; font-weight: 400; line-height: 1.05; }.rco-gh .coordination-note p{ margin: 0; color: var(--muted); }.rco-gh .service-grid{ display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; margin-top: 46px; }.rco-gh .service-card{
      position: relative;
      min-height: 320px;
      padding: 30px;
      overflow: hidden;
      color: var(--ink);
      background: var(--cream);
      border: 1px solid var(--line);
      text-decoration: none;
      transition: transform .2s ease, border-color .2s ease;
    }.rco-gh .service-card:hover{ z-index: 1; transform: translateY(-5px); border-color: var(--pink); }.rco-gh .service-card.primary{ min-height: 470px; grid-column: 1 / span 7; grid-row: 1; color: #fff; background: var(--blue); border-color: var(--blue); }.rco-gh .service-card.temporary-card{ min-height: 470px; grid-column: 8 / span 5; grid-row: 1; }.rco-gh .service-card.management-card{ grid-column: 1 / span 6; grid-row: 2; }.rco-gh .service-card.sale-card{ grid-column: 7 / span 6; grid-row: 2; }.rco-gh .service-card.red{ color: #fff; background: var(--red); border-color: var(--red); }.rco-gh .service-card.teal{ color: #fff; background: var(--teal); border-color: var(--teal); }.rco-gh .service-card.purple{ color: #fff; background: var(--purple); border-color: var(--purple); }.rco-gh .service-index{ display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .72; }.rco-gh .service-card h3{ max-width: 470px; margin: 95px 0 13px; font-family: var(--serif); font-size: 37px; font-weight: 400; line-height: 1.02; }.rco-gh .service-card.primary h3,.rco-gh .service-card.temporary-card h3{ margin-top: 165px; font-size: 50px; }.rco-gh .service-card p{ max-width: 450px; margin: 0; opacity: .77; }.rco-gh .service-card .arrow{ position: absolute; right: 28px; bottom: 24px; font-size: 30px; }.rco-gh .temporary{ padding: 0 0 120px; background: #fff; }.rco-gh .temporary-shell{ display: grid; grid-template-columns: .82fr 1.18fr; min-height: 690px; color: #fff; background: var(--ink); }.rco-gh .temporary-photo{ position: relative; min-height: 690px; overflow: hidden; background: var(--purple); }.rco-gh .temporary-photo img{ width: 100%; height: 100%; object-fit: cover; object-position: center top; }.rco-gh .temporary-photo::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(23,19,38,.74)); }.rco-gh .temporary-badge{
      position: absolute;
      z-index: 2;
      right: 0;
      bottom: 0;
      max-width: 260px;
      padding: 20px 24px;
      color: #fff;
      background: var(--red);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .08em;
      line-height: 1.45;
      text-transform: uppercase;
    }.rco-gh .temporary-content{ display: flex; padding: 66px; flex-direction: column; justify-content: center; }.rco-gh .temporary-content .eyebrow{ color: #67d5ce; }.rco-gh .temporary-content h2{ max-width: 680px; margin: 0; font-family: var(--serif); font-size: clamp(48px, 5vw, 72px); font-weight: 400; line-height: .96; letter-spacing: -.04em; }.rco-gh .temporary-lead{ max-width: 690px; margin: 25px 0 0; color: rgba(255,255,255,.72); font-size: 17px; }.rco-gh .temporary-signature{ margin: 14px 0 0; color: #67d5ce; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.rco-gh .temporary-steps{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 38px 0 32px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); }.rco-gh .temporary-step{ min-height: 155px; padding: 18px; background: var(--ink-2); }.rco-gh .temporary-step b{ color: #67d5ce; font-size: 10px; letter-spacing: .12em; }.rco-gh .temporary-step strong{ display: block; margin: 29px 0 5px; font-family: var(--serif); font-size: 22px; font-weight: 400; line-height: 1.05; }.rco-gh .temporary-step span{ display: block; color: rgba(255,255,255,.58); font-size: 11px; }.rco-gh .temporary-content .btn{ align-self: flex-start; }.rco-gh .free-call{ padding: 96px 0; color: #fff; background: var(--purple); }.rco-gh .free-call-grid{ display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: center; }.rco-gh .free-call h2{ max-width: 810px; margin: 0; font-family: var(--serif); font-size: clamp(48px, 5.7vw, 78px); font-weight: 400; line-height: .96; letter-spacing: -.045em; }.rco-gh .free-call h2 span{ color: #ff8b82; }.rco-gh .free-call p{ max-width: 690px; color: rgba(255,255,255,.75); font-size: 17px; }.rco-gh .call-panel{ padding: 26px; color: var(--ink); background: #fff; border-top: 8px solid var(--red); }.rco-gh .call-panel > span{ color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.rco-gh .call-panel strong{ display: block; margin: 8px 0 18px; font-family: var(--serif); font-size: 31px; line-height: 1.05; }.rco-gh .call-list{ display: grid; gap: 9px; margin: 0 0 24px; padding: 0; list-style: none; color: var(--muted); font-size: 13px; }.rco-gh .call-list li::before{ content: "✓"; margin-right: 8px; color: var(--teal); font-weight: 900; }.rco-gh .call-panel .btn{ width: 100%; }.rco-gh .results{ padding: 120px 0; }.rco-gh .results-head{ display: flex; align-items: end; justify-content: space-between; gap: 30px; }.rco-gh .result-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 62px; }.rco-gh .result-card{ min-height: 390px; padding: 28px; background: #fff; border: 1px solid var(--line); }.rco-gh .result-top{ display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }.rco-gh .result-top span{ color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }.rco-gh .result-top strong{ color: var(--red); font-family: var(--serif); font-size: 58px; font-weight: 400; line-height: .9; }.rco-gh .result-card h3{ margin: 92px 0 13px; font-family: var(--serif); font-size: 30px; font-weight: 400; line-height: 1.05; }.rco-gh .result-card p{ color: var(--muted); }.rco-gh .result-foot{ margin-top: 25px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 800; }.rco-gh .lab{
      position: relative;
      overflow: hidden;
      padding: 120px 0;
      color: #fff;
      background: var(--ink);
    }.rco-gh .lab::after{ content: "LAB"; position: absolute; right: -30px; top: -80px; color: rgba(255,255,255,.035); font-family: var(--serif); font-size: 330px; line-height: 1; }.rco-gh .lab-top{ position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .75fr; gap: 80px; align-items: end; }.rco-gh .lab .eyebrow{ color: #67d5ce; }.rco-gh .lab .section-lead{ color: rgba(255,255,255,.68); }.rco-gh .lab-search{ padding: 24px; background: var(--teal); }.rco-gh .lab-search label{ display: block; margin-bottom: 10px; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.rco-gh .lab-search-row{ display: flex; background: #fff; border: 2px solid var(--ink); }.rco-gh .lab-search-row input{ width: 100%; min-height: 52px; padding: 12px 15px; border: 0; outline: 0; }.rco-gh .lab-search-row span{ display: grid; width: 54px; place-items: center; color: var(--ink); font-size: 21px; }.rco-gh .lab-categories{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }.rco-gh .lab-categories button{ padding: 7px 10px; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.6); cursor: pointer; font-size: 10px; font-weight: 700; }.rco-gh .lab-categories button.active,.rco-gh .lab-categories button:hover{ color: var(--ink); background: #fff; }.rco-gh .lab-results-meta{ position: relative; z-index: 1; display: flex; min-height: 24px; margin-top: 42px; align-items: center; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.72); font-size: 12px; }.rco-gh .lab-results-meta strong{ color: #fff; font-weight: 800; }.rco-gh .article-grid{ position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 16px; transition: opacity .2s ease; }.rco-gh .article-grid.is-loading{ opacity: .46; pointer-events: none; }.rco-gh .article-card{ display: flex; min-width: 0; color: var(--ink); background: #fff; border: 1px solid rgba(255,255,255,.2); flex-direction: column; }.rco-gh .article-card[hidden]{ display: none; }.rco-gh .article-card img{ width: 100%; height: 220px; object-fit: cover; }.rco-gh .article-image-placeholder{ display: grid; height: 220px; color: rgba(255,255,255,.7); background: var(--purple); place-items: center; font-family: var(--serif); font-size: 38px; }.rco-gh .article-body{ display: flex; height: 100%; padding: 24px; flex-direction: column; }.rco-gh .article-body span{ color: var(--pink); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.rco-gh .article-body h3{ margin: 12px 0 10px; font-family: var(--serif); font-size: 26px; font-weight: 400; line-height: 1.05; }.rco-gh .article-body p{ min-height: 84px; margin: 0; color: var(--muted); font-size: 13px; }.rco-gh .article-body a{ display: inline-block; margin-top: auto; padding-top: 16px; font-size: 12px; font-weight: 800; text-decoration: none; }.rco-gh .lab-empty{ grid-column: 1 / -1; padding: 42px; text-align: center; color: rgba(255,255,255,.78); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.2); }.rco-gh .lab-empty strong{ display: block; margin-bottom: 7px; color: #fff; font-family: var(--serif); font-size: 28px; font-weight: 400; }.rco-gh .lab-more{ display: none; margin: 28px auto 0; color: #fff; background: transparent; border-color: rgba(255,255,255,.55); }.rco-gh .lab-more.is-visible{ display: inline-flex; }.rco-gh .lab-footer{ display: flex; justify-content: center; margin-top: 38px; }.rco-gh .youtube{
      position: relative;
      overflow: hidden;
      padding: 108px 0;
      color: #fff;
      background: var(--red);
    }.rco-gh .youtube::before{ content: ""; position: absolute; width: 380px; height: 380px; right: -110px; top: -140px; border: 90px solid rgba(255,255,255,.12); border-radius: 50%; }.rco-gh .youtube-grid{ position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; gap: 76px; align-items: center; }.rco-gh .youtube .eyebrow{ color: #fff; }.rco-gh .youtube h2{ max-width: 780px; margin: 0 0 28px; font-family: var(--serif); font-size: clamp(50px, 6vw, 82px); font-weight: 400; line-height: .94; letter-spacing: -.05em; }.rco-gh .youtube p{ max-width: 720px; margin: 0; color: rgba(255,255,255,.79); font-size: 18px; }.rco-gh .video-stage{ display: grid; min-height: 330px; place-items: center; align-content: center; gap: 28px; background: var(--ink); border: 1px solid rgba(255,255,255,.4); }.rco-gh .play-mark{ display: grid; width: 105px; height: 105px; place-items: center; background: #fff; border-radius: 50%; color: var(--red); font-size: 42px; padding-left: 6px; }.rco-gh .video-stage span{ display: block; max-width: 270px; margin: 0; color: rgba(255,255,255,.7); font-size: 11px; font-weight: 800; letter-spacing: .1em; line-height: 1.5; text-align: center; text-transform: uppercase; }.rco-gh .subscribe-bar{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }.rco-gh .subscribe-bar .btn{ color: var(--red); }.rco-gh .yt-stat{ display: inline-flex; min-height: 52px; align-items: center; padding: 12px 17px; border: 1px solid rgba(255,255,255,.55); font-size: 12px; font-weight: 700; }.rco-gh .voices{ padding: 120px 0; background: #fff; }.rco-gh .voice-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 58px; }.rco-gh .voice-card{ min-height: 315px; padding: 30px; background: var(--cream); border: 1px solid var(--line); }.rco-gh .stars{ color: var(--red); letter-spacing: 4px; }.rco-gh .voice-card blockquote{ margin: 55px 0 28px; font-family: var(--serif); font-size: 24px; line-height: 1.25; }.rco-gh .voice-card cite{ color: var(--muted); font-size: 12px; font-style: normal; font-weight: 800; text-transform: uppercase; }.rco-gh .closing{ padding: 122px 0; color: #fff; background: var(--blue); text-align: center; }.rco-gh .closing h2{ max-width: 1000px; margin: 0 auto; font-family: var(--serif); font-size: clamp(52px, 6.4vw, 88px); font-weight: 400; line-height: .95; letter-spacing: -.05em; }.rco-gh .closing p{ max-width: 680px; margin: 25px auto 32px; color: rgba(255,255,255,.75); font-size: 18px; }.rco-gh .site-footer{ width: 100% !important; max-width: none !important; margin: 0 !important; padding: 64px 0 28px !important; color: #fff; background: var(--ink); }.rco-gh .site-footer > .container{ width: min(calc(100% - 48px), var(--max)) !important; max-width: var(--max) !important; margin-inline: auto !important; padding: 0 !important; }.rco-gh .footer-grid{ display: grid; grid-template-columns: 1.1fr .7fr .7fr .8fr; gap: 44px; }.rco-gh .footer-brand img{ width: 190px; }.rco-gh .footer-brand p{ max-width: 330px; color: rgba(255,255,255,.58); font-size: 13px; }.rco-gh .footer-col h3{ margin: 0 0 15px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }.rco-gh .footer-col a{ display: block; margin: 8px 0; color: rgba(255,255,255,.66); font-size: 13px; text-decoration: none; }.rco-gh .footer-col a:hover{ color: #fff; }.rco-gh .footer-bottom{ display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 20px; color: rgba(255,255,255,.42); border-top: 1px solid rgba(255,255,255,.13); font-size: 11px; }.rco-gh .reveal{ opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }.rco-gh .reveal.visible{ opacity: 1; transform: none; }.rco-gh .mobile-cta{ display: none; }@media (max-width: 1080px){.rco-gh .main-nav{ display: none; }.rco-gh .menu-toggle{ display: block; }.rco-gh .header-cta{ margin-left: 0; }.rco-gh .main-nav.open{
        position: fixed;
        inset: 78px 0 0;
        display: flex;
        padding: 34px 24px;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        overflow-y: auto;
        background: var(--ink);
      }.rco-gh .main-nav.open > a{ width: 100%; padding: 12px 0; font-size: 19px; }.rco-gh .main-nav.open .nav-item{ display: block; width: 100%; height: auto; }.rco-gh .main-nav.open .nav-trigger{ width: 100%; height: auto; min-height: 50px; justify-content: space-between; font-size: 19px; text-align: left; }.rco-gh .main-nav.open .nav-item:not(.is-open) > .nav-trigger::after{ margin-top: -4px; transform: rotate(45deg); }.rco-gh .main-nav.open .nav-item.is-open > .nav-trigger::after{ margin-top: 4px; transform: rotate(225deg); }.rco-gh .main-nav.open .lab-link{ width: auto; margin: 8px 0; padding: 9px 14px; }.rco-gh .main-nav.open .nav-panel,.rco-gh .main-nav.open .nav-panel-wide{
        position: static;
        width: 100%;
        max-height: 0;
        padding: 0;
        overflow: hidden;
        border-top-width: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: none;
        transform: none;
        transition: max-height .3s ease, padding .3s ease;
      }.rco-gh .main-nav.open .nav-item:hover > .nav-panel,.rco-gh .main-nav.open .nav-item:focus-within > .nav-panel{ max-height: 0; padding: 0; pointer-events: none; }.rco-gh .main-nav.open .nav-item.is-open > .nav-panel{
        max-height: 1300px;
        padding: 12px;
        border-top-width: 4px;
        pointer-events: auto;
      }.rco-gh .main-nav.open .nav-panel-grid,.rco-gh .main-nav.open .nav-panel-grid.lab-grid{ grid-template-columns: 1fr; }.rco-gh .main-nav.open .nav-lab-intro{ min-height: 262px; }.rco-gh .main-nav.open .nav-card,.rco-gh .main-nav.open .nav-simple-link{ font-size: 13px; }.rco-gh .main-nav.open .mobile-menu-cta{
        display: inline-flex !important;
        width: auto;
        min-height: 48px;
        margin-top: 18px;
        padding: 12px 20px;
        align-items: center;
        color: #fff;
        background: var(--red);
        border-radius: 999px;
        font-size: 13px;
      }.rco-gh .hero-grid,.rco-gh .recognize-head,.rco-gh .free-call-grid,.rco-gh .lab-top,.rco-gh .youtube-grid{ grid-template-columns: 1fr; }.rco-gh .hero-grid{ min-height: auto; }.rco-gh .hero-visual{ min-height: 520px; }.rco-gh .signal-grid{ grid-template-columns: repeat(2, 1fr); }.rco-gh .coordination-note{ grid-template-columns: 1fr; gap: 12px; }.rco-gh .service-grid{ grid-template-columns: 1fr 1fr; }.rco-gh .service-card.primary{ min-height: 420px; grid-row: auto; grid-column: span 2; }.rco-gh .service-card.temporary-card,.rco-gh .service-card.management-card{ min-height: 360px; grid-column: span 1; grid-row: auto; }.rco-gh .service-card.sale-card{ grid-column: span 2; grid-row: auto; }.rco-gh .service-card.primary h3,.rco-gh .service-card.temporary-card h3{ margin-top: 140px; }.rco-gh .temporary-shell{ grid-template-columns: 1fr; }.rco-gh .temporary-photo{ min-height: 540px; }.rco-gh .temporary-content{ padding: 58px; }.rco-gh .article-grid,.rco-gh .result-grid,.rco-gh .voice-grid{ grid-template-columns: 1fr 1fr; }.rco-gh .footer-grid{ grid-template-columns: 1fr 1fr; }
    }@media (max-width: 720px){.rco-gh .container{ width: min(100% - 28px, var(--max)); }.rco-gh .site-header .header-cta{ display: none; }.rco-gh .brand img{ width: 145px; }.rco-gh .header-inner{ min-height: 68px; }.rco-gh .main-nav.open{ inset-block-start: 68px; }.rco-gh .main-nav.open{ padding: 22px 18px 110px; }.rco-gh .hero-grid{ gap: 48px; padding-block: 60px 70px; }.rco-gh .hero h1{ font-size: 52px; }.rco-gh .hero-copy > p{ font-size: 17px; }.rco-gh .hero-actions .btn{ width: 100%; }.rco-gh .hero-visual{ min-height: 430px; }.rco-gh .hero-photo{ inset-left: 0; width: 100%; }.rco-gh .proof-card{ left: -5px; bottom: 20px; }.rco-gh .signal-grid,.rco-gh .pain-grid,.rco-gh .method-steps,.rco-gh .service-grid,.rco-gh .article-grid,.rco-gh .result-grid,.rco-gh .voice-grid,.rco-gh .footer-grid{ grid-template-columns: 1fr; }.rco-gh .signal-grid > div{ border-right: 1px solid var(--line); }.rco-gh .recognize,.rco-gh .method,.rco-gh .services,.rco-gh .results,.rco-gh .lab,.rco-gh .voices{ padding: 88px 0; }.rco-gh .section-title{ font-size: 43px; }.rco-gh .pain-card{ min-height: 230px; padding: 27px; }.rco-gh .pain-card h3{ margin-top: 42px; }.rco-gh .method-step{ min-height: 260px; }.rco-gh .service-card.primary,.rco-gh .service-card.temporary-card,.rco-gh .service-card.management-card,.rco-gh .service-card.sale-card{ min-height: 350px; grid-column: auto; grid-row: auto; }.rco-gh .service-card.primary h3,.rco-gh .service-card.temporary-card h3{ margin-top: 120px; font-size: 43px; }.rco-gh .temporary{ padding-bottom: 88px; }.rco-gh .temporary-photo{ min-height: 370px; }.rco-gh .temporary-badge{ max-width: 230px; padding: 16px 18px; }.rco-gh .temporary-content{ padding: 38px 26px; }.rco-gh .temporary-content h2{ font-size: 46px; }.rco-gh .temporary-steps{ grid-template-columns: 1fr; }.rco-gh .temporary-step{ min-height: 112px; }.rco-gh .temporary-step strong{ margin-top: 18px; }.rco-gh .results-head{ align-items: flex-start; flex-direction: column; }.rco-gh .result-grid,.rco-gh .article-grid{ grid-template-columns: 1fr; }.rco-gh .article-card img{ height: 210px; }.rco-gh .article-body p{ min-height: 0; }.rco-gh .youtube,.rco-gh .free-call,.rco-gh .closing{ padding: 88px 0; }.rco-gh .video-stage{ min-height: 270px; }.rco-gh .footer-bottom{ flex-direction: column; }.rco-gh .draft-flag{ display: none; }.rco-gh .mobile-cta{
        position: fixed;
        z-index: 950;
        right: 12px;
        bottom: 12px;
        left: 12px;
        display: flex;
        min-height: 50px;
        align-items: center;
        justify-content: center;
        color: #fff;
        background: var(--red);
        border-radius: 999px;
        font-size: 12px;
        font-weight: 800;
        text-decoration: none;
        box-shadow: 0 10px 30px rgba(23,19,38,.25);
      }.rco-gh .site-footer{ padding-bottom: 95px; }
    }@media (prefers-reduced-motion: reduce){.rco-gh *,.rco-gh *::before,.rco-gh *::after{ scroll-behavior: auto !important; transition: none !important; animation: none !important; }.rco-gh .reveal{ opacity: 1; transform: none; }
    }
  
.elementor-location-header:has(.rco-gh){position:sticky;top:0;z-index:900}
.elementor-location-header:has(.rco-gh)>.elementor-element,
.elementor-location-header:has(.rco-gh) .elementor-container,
.elementor-location-header:has(.rco-gh) .elementor-column,
.elementor-location-header:has(.rco-gh) .elementor-widget-wrap,
.elementor-location-header:has(.rco-gh) .elementor-widget,
.elementor-location-header:has(.rco-gh) .elementor-widget-container{width:100%;max-width:none!important;margin:0!important;padding:0!important}
.rco-gh .site-header{position:relative}
body.admin-bar .elementor-location-header:has(.rco-gh){top:32px}
body.rco-gh-menu-open{overflow:hidden}
@media(max-width:782px){body.admin-bar .elementor-location-header:has(.rco-gh){top:46px}}

/* Footer globale. */
.rco-global-footer-root,.rco-global-footer-root *{box-sizing:border-box}
.rco-global-footer-root{width:100%;max-width:none;margin:0;color:#fff;background:#171326;font-family:Arial,Helvetica,sans-serif}
.rco-global-footer{width:100%;padding:64px 0 28px;background:#171326}
.rco-gf-container{width:min(calc(100% - 48px),1200px);max-width:1200px;margin:0 auto;padding:0}
.rco-gf-grid{display:grid;grid-template-columns:1.1fr .7fr .7fr .8fr;gap:44px}
.rco-gf-brand img{display:block;width:190px;height:auto;max-width:100%}
.rco-gf-brand p{max-width:330px;margin:18px 0 0;color:rgba(255,255,255,.58);font-size:13px;line-height:1.65}
.rco-gf-col h2{margin:0 0 15px;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:.1em;text-transform:uppercase}
.rco-gf-col a{display:block;margin:8px 0;color:rgba(255,255,255,.66);font-size:13px;line-height:1.55;text-decoration:none}
.rco-gf-col a:hover,.rco-gf-col a:focus-visible{color:#fff}
.rco-gf-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding-top:20px;color:rgba(255,255,255,.42);border-top:1px solid rgba(255,255,255,.13);font-size:11px;line-height:1.5}
.rco-gf-bottom a{color:inherit;text-decoration:none}
.rco-gf-bottom a:hover,.rco-gf-bottom a:focus-visible{color:#fff}
.rco-global-footer-root :focus-visible{outline:3px solid #52d8cd;outline-offset:3px}
body .elementor-location-footer,body .elementor-location-footer>.elementor,body .elementor-location-footer .elementor-section.elementor-top-section,body .elementor-location-footer .elementor-section.elementor-top-section>.elementor-container,body .elementor-location-footer .elementor-column,body .elementor-location-footer .elementor-widget-wrap,body .elementor-location-footer .elementor-widget,body .elementor-location-footer .elementor-widget-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
@media(max-width:900px){.rco-gf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.rco-gf-container{width:min(calc(100% - 28px),1200px)}.rco-gf-grid{grid-template-columns:1fr;gap:34px}.rco-gf-bottom{flex-direction:column;margin-top:38px}}

/* Correzioni responsive e layout consolidate. */
.mobile-cta {
      display: none !important;
    }

    /* Le etichette della barra capitoli restano testuali, senza ovali. */
    .rco-readnav .rco-readnav__label {
      border: 0 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      outline: 0 !important;
    }

    /* Revenue Lab: intestazione della ricerca leggibile e senza fascia grigia. */
    body.page-id-620 .rlab .searchband {
      padding: 30px 24px 18px !important;
      background: #fff !important;
    }

    body.page-id-620 .rlab .searchband .wrap {
      width: min(1180px, calc(100% - 48px)) !important;
      margin-inline: auto !important;
    }

    body.page-id-620 .rlab .searchband .hint {
      width: 100% !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      color: #171326 !important;
      background: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      font-size: 18px !important;
      font-weight: 700 !important;
      line-height: 1.35 !important;
      letter-spacing: 0 !important;
      text-align: center !important;
    }

    @media (max-width: 1080px) {
      #rco-global-header .menu-toggle {
        position: relative !important;
        display: grid !important;
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        flex: 0 0 46px !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        place-items: center !important;
        overflow: visible !important;
        font-size: 0 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-indent: 0 !important;
        appearance: none !important;
        -webkit-appearance: none !important;
      }

      #rco-global-header .menu-toggle::before,
      #rco-global-header .menu-toggle::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 2px;
        background: currentColor;
        border-radius: 2px;
        transform-origin: center;
        transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
      }

      #rco-global-header .menu-toggle::before {
        box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
        transform: translate(-50%, -50%);
      }

      #rco-global-header .menu-toggle::after {
        opacity: 0;
        transform: translate(-50%, -50%);
      }

      #rco-global-header .menu-toggle[aria-expanded="true"]::before {
        box-shadow: none;
        transform: translate(-50%, -50%) rotate(45deg);
      }

      #rco-global-header .menu-toggle[aria-expanded="true"]::after {
        opacity: 1;
        transform: translate(-50%, -50%) rotate(-45deg);
      }

      /* La signal-grid passa da quattro a due colonne: separa anche le righe. */
      .signal-grid > div:nth-child(n + 3) {
        border-top: 1px solid var(--line);
      }
    }

    @media (max-width: 720px) {
      body.page-id-620 .rlab .searchband {
        padding: 24px 18px 14px !important;
      }

      body.page-id-620 .rlab .searchband .wrap {
        width: min(100% - 36px, 1180px) !important;
      }

      body.page-id-620 .rlab .searchband .hint {
        font-size: 16px !important;
        line-height: 1.4 !important;
      }

      /* In colonna ogni riquadro deve avere un confine orizzontale visibile. */
      .signal-grid > div + div {
        border-top: 1px solid var(--line);
      }

      .site-footer {
        padding-bottom: 28px !important;
      }
    }
.nav-panel[aria-label="Cosa facciamo"] .nav-panel-grid > br{display:none}.nav-panel[aria-label="Cosa facciamo"] .nav-panel-grid > .nav-card:last-child:nth-child(odd){grid-column:1/-1}

/* NAV-RESTYLE-001 / STD-NAV-STYLE-001 v2026-09-03.3.
   Append only to the verified live global-shell.css; no template/JS changes. */
.rco-gh .lab-link,
.rco-gh .lab-link:hover,
.rco-gh .lab-link:focus,
.rco-gh .lab-link:active {
  color: #E05AA4 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.rco-gh .site-header .header-cta,
.rco-gh .site-header .header-cta:hover,
.rco-gh .site-header .header-cta:focus,
.rco-gh .site-header .header-cta:active,
.rco-gh .main-nav.open .mobile-menu-cta,
.rco-gh .main-nav.open .mobile-menu-cta:hover,
.rco-gh .main-nav.open .mobile-menu-cta:focus,
.rco-gh .main-nav.open .mobile-menu-cta:active {
  color: #FFFFFF;
  background: #D13D32;
  border-color: #D13D32;
  border-radius: 0;
}

/* NAV-RESTYLE-002 / STD-NAV-STYLE-001 v2026-09-03.4.
   Local candidate, additive to the verified NAV-RESTYLE-001 live CSS.
   Text decoration follows the glyph run, not the full dropdown/touch target.
   community-link is a dormant future hook; no element or tab stop is added. */
#rco-global-header .lab-link,
#rco-global-header .lab-link:hover,
#rco-global-header .lab-link:focus,
#rco-global-header .lab-link:active,
#rco-global-header .main-nav .community-link {
  color: #FFFFFF !important;
  background: transparent !important;
  border-radius: 0 !important;
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-color: #C5297B !important;
  text-decoration-thickness: 3px !important;
  text-underline-offset: 8px;
  text-decoration-skip-ink: none;
}
#rco-global-header .main-nav .community-link {
  text-decoration-color: #00A69D !important;
}
#rco-global-header .site-header .header-cta,
#rco-global-header .main-nav.open .mobile-menu-cta {
  min-height: 54px;
  padding: 14px 18px;
  color: #FFFFFF;
  background: #D13D32;
  border-color: #D13D32;
  border-radius: 0;
}
#rco-global-header .lab-link:focus-visible,
#rco-global-header .main-nav .community-link:focus-visible,
#rco-global-header .header-cta:focus-visible,
#rco-global-header .mobile-menu-cta:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 4px;
}

/* NAV-RESTYLE-002 .2 / STD-NAV-STYLE-001 v2026-09-04.1.
   Only top-level labels: submenu and kinetic-panel typography is untouched.
   A 12.5px inline-padding compensation preserves the .1 desktop CTA box
   after its text loses 24.84px in width; it also preserves existing icons.
   The mobile CTA keeps its .1 box through a minimum width and centering. */
#rco-global-header .main-nav > a:not(.lab-link):not(.community-link),
#rco-global-header .main-nav > .nav-item > .nav-trigger:not(.lab-link):not(.community-link),
#rco-global-header .site-header .header-cta {
  font-weight: 400 !important;
}
#rco-global-header .main-nav .lab-link,
#rco-global-header .main-nav .community-link {
  font-weight: 700 !important;
}
#rco-global-header .site-header .header-cta {
  padding-inline: 30.5px;
}
#rco-global-header .main-nav.open .mobile-menu-cta {
  min-inline-size: 167px;
  justify-content: center;
}

/* NAV-RESTYLE-002 .3 / B1: retain the approved CTA in the reading menu.
   The anchor type gives this state-only rule precedence over the legacy
   article-cta-rail rule without changing that sheet or menu behaviour. */
body.rco-reading #rco-global-header .main-nav.open > a.mobile-menu-cta {
  min-height: 54px !important;
  padding: 14px 18px !important;
  color: #FFFFFF !important;
  background: #D13D32 !important;
  border-color: #D13D32 !important;
  border-radius: 0 !important;
}

/* NAV-RESTYLE-002 B2: enhanced panels follow the same state as ARIA.
   The marker is set only by the coordinated controller; no-JS is unchanged. */
#rco-global-header[data-panels-ready="1"] .main-nav > .nav-item:not(.is-open) > .nav-panel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none;
}
#rco-global-header[data-panels-ready="1"] .nav-item:not(.is-open) > .nav-trigger::after {
  margin-top: -4px;
  transform: rotate(45deg);
}

/* NAV-RESTYLE-002 B3: a closed Lab panel must not occupy reading-drawer space. */
body.rco-reading #rco-global-header[data-panels-ready="1"] .main-nav.open > .nav-item-lab:not(.is-open) > .nav-panel {
  display: none !important;
}
