/* CERCA AZIENDA — stili della pagina (header e footer hanno i loro CSS) */


    /* =========================================================
       DESIGN SYSTEM
       ========================================================= */

    :root {

      --coral:#E85D4A;
      --coral-deep:#C6432F;
      --coral-light:#F17B69;

      --coral-soft:#FBE9E5;
      --coral-mist:#FFF5F2;

      --ink:#22252B;
      --ink-soft:#6B625F;
      --ink-muted:#958D88;

      --bg:#FFFDF9;

      --surface:#F7F1E9;
      --surface-strong:#EFE4D8;

      --line:#E8DED5;

      --gold:#D9A441;
      --gold-deep:#8A6420;
      --gold-soft:#FBF3DF;

      --positive:#34785A;
      --positive-soft:#EAF4EE;

      --placeholder:#B8B0AA;

      --site-width:1460px;

      --ease:
        cubic-bezier(.22,.8,.22,1);

      --ease-out:
        cubic-bezier(.16,1,.3,1);

    }

    /* =========================================================
       RESET
       ========================================================= */

    *,
    *::before,
    *::after {
      box-sizing:border-box;
    }

    html {
      scroll-behavior:smooth;
    }

    body {

      margin:0;

      overflow-x:hidden;

      background:
        var(--bg);

      color:
        var(--ink);

      font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

      -webkit-font-smoothing:
        antialiased;

      text-rendering:
        optimizeLegibility;

    }

    button,
    input {
      font:inherit;
    }

    button,
    a {
      -webkit-tap-highlight-color:
        transparent;
    }

    a {
      color:inherit;
    }

    /* =========================================================
       GLOBAL WIDTH
       ========================================================= */

    .site-container {

      width:
        min(
          var(--site-width),
          calc(100% - 48px)
        );

      margin-inline:
        auto;

    }

    /* =========================================================
       HERO
       ========================================================= */

    .search-hero {

      position:
        relative;

      overflow:
        hidden;

      padding:
        86px 0 78px;

      background:
        linear-gradient(
          180deg,
          #FFF4F0,
          #FFF9F6 58%,
          var(--bg)
        );

    }

    .search-hero::before {

      content:
        "";

      position:
        absolute;

      top:
        -600px;

      left:
        50%;

      width:
        1100px;

      height:
        1100px;

      border-radius:
        50%;

      background:
        radial-gradient(
          circle,
          rgba(232,93,74,.16),
          rgba(232,93,74,.035) 47%,
          transparent 70%
        );

      transform:
        translateX(-50%);

      pointer-events:
        none;

    }

    /*
      IMPORTANTE:
      NON limitiamo più tutto il contenuto hero a 1050px.

      Il titolo mantiene il suo max-width,
      ma i risultati possono arrivare ai 1460px
      del .site-container.
    */

    .search-hero-inner {

      position:
        relative;

      z-index:
        2;

      width:
        100%;

      max-width:
        none;

      margin-inline:
        auto;

      text-align:
        center;

    }

    .hero-eyebrow {

      margin-bottom:
        21px;

      display:
        inline-flex;

      align-items:
        center;

      gap:
        9px;

      padding:
        7px 11px;

      border:
        1px solid rgba(232,93,74,.17);

      border-radius:
        999px;

      background:
        rgba(255,255,255,.72);

      color:
        var(--coral-deep);

      font-size:
        11px;

      font-weight:
        790;

      letter-spacing:
        .075em;

      text-transform:
        uppercase;

    }

    .hero-dot {

      width:
        7px;

      height:
        7px;

      border-radius:
        50%;

      background:
        var(--coral);

      box-shadow:
        0 0 0 5px rgba(232,93,74,.09);

    }

    .hero-title {

      max-width:
        1050px;

      margin:
        0 auto;

      font-size:
        clamp(58px,6.3vw,98px);

      line-height:
        .97;

      font-weight:
        795;

      letter-spacing:
        -.07em;

    }

    .hero-title em {

      color:
        var(--coral);

      font-style:
        normal;

    }

    .hero-description {

      max-width:
        700px;

      margin:
        25px auto 0;

      color:
        var(--ink-soft);

      font-size:
        clamp(16px,1.4vw,19px);

      line-height:
        1.7;

    }

    /* =========================================================
       SEARCH AREA
       ========================================================= */

    .search-area {

      width:
        100%;

      max-width:
        none;

      margin:
        40px auto 0;

    }

    /*
      Solo la barra resta a 920px.
    */

    #companySearchForm {

      width:
        min(920px,100%);

      margin-inline:
        auto;

    }

    .main-search-shell {

      position:
        relative;

      padding:
        9px;

      display:
        flex;

      align-items:
        center;

      gap:
        7px;

      border:
        1px solid rgba(232,93,74,.30);

      border-radius:
        19px;

      background:
        #fff;

      box-shadow:
        0 22px 60px rgba(34,37,43,.10),
        0 0 0 6px rgba(232,93,74,.04);

      transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms var(--ease);

    }

    .main-search-shell:focus-within {

      transform:
        translateY(-2px);

      border-color:
        rgba(232,93,74,.65);

      box-shadow:
        0 27px 70px rgba(34,37,43,.12),
        0 0 0 6px rgba(232,93,74,.075);

    }

    .main-search-shell.is-loading {

      border-color:
        var(--coral);

    }

    .main-search-shell.is-loading::after {

      content:
        "";

      position:
        absolute;

      left:
        18px;

      right:
        18px;

      bottom:
        -1px;

      height:
        2px;

      border-radius:
        99px;

      background:
        linear-gradient(
          90deg,
          transparent,
          var(--coral),
          transparent
        );

      background-size:
        35% 100%;

      background-repeat:
        no-repeat;

      animation:
        searchProgress 700ms linear infinite;

    }

    @keyframes searchProgress {

      from {
        background-position:-55% 0;
      }

      to {
        background-position:155% 0;
      }

    }

    .main-search-icon {

      width:
        51px;

      height:
        51px;

      display:
        grid;

      place-items:
        center;

      flex:
        0 0 auto;

      color:
        var(--coral);

      font-size:
        18px;

    }

    .main-search-input {

      min-width:
        0;

      flex:
        1;

      height:
        55px;

      border:
        0;

      outline:
        0;

      background:
        transparent;

      color:
        var(--ink);

      font-size:
        16px;

    }

    .main-search-input::placeholder {

      color:
        var(--placeholder);

      opacity:
        1;

    }

    .main-search-submit {

      min-height:
        53px;

      padding:
        0 22px;

      display:
        inline-flex;

      align-items:
        center;

      justify-content:
        center;

      gap:
        9px;

      border:
        0;

      border-radius:
        13px;

      background:
        var(--coral);

      color:
        #fff;

      cursor:
        pointer;

      font-size:
        13px;

      font-weight:
        750;

      white-space:
        nowrap;

      box-shadow:
        0 8px 20px rgba(232,93,74,.20);

      transition:
        background 180ms ease,
        transform 180ms var(--ease);

    }

    .main-search-submit:hover {

      background:
        var(--coral-deep);

      transform:
        translateY(-1px);

    }

    .main-search-submit:disabled {

      opacity:
        .76;

      cursor:
        wait;

      transform:
        none;

    }

    /* =========================================================
       SEARCH TYPES
       ========================================================= */

    .search-types {

      width:
        min(920px,100%);

      margin:
        12px auto 0;

      display:
        flex;

      align-items:
        center;

      justify-content:
        center;

      flex-wrap:
        wrap;

      gap:
        8px;

    }

    .search-type {

      min-height:
        31px;

      padding:
        0 9px;

      display:
        inline-flex;

      align-items:
        center;

      gap:
        6px;

      border:
        1px solid var(--line);

      border-radius:
        8px;

      background:
        rgba(255,255,255,.75);

      color:
        var(--ink-soft);

      font-size:
        9px;

      font-weight:
        650;

    }

    .search-type i {

      color:
        var(--coral);

    }

    /* =========================================================
       RESULTS
       LARGHI COME HEADER
       ========================================================= */

    .search-results {

      width:
        100%;

      max-height:
        0;

      margin:
        0 auto;

      overflow:
        hidden;

      opacity:
        0;

      transform:
        translateY(-10px);

      transition:
        max-height 650ms var(--ease-out),
        margin-top 350ms var(--ease-out),
        opacity 250ms ease,
        transform 450ms var(--ease-out);

    }

    .search-results.show {

      max-height:
        1500px;

      margin-top:
        25px;

      opacity:
        1;

      transform:
        translateY(0);

    }

    /* =========================================================
       LOADING
       ========================================================= */

    .search-loading {

      display:
        none;

      min-height:
        105px;

      padding:
        19px 24px;

      align-items:
        center;

      gap:
        15px;

      border:
        1px solid rgba(232,93,74,.18);

      border-radius:
        20px;

      background:
        rgba(255,255,255,.96);

      box-shadow:
        0 18px 45px rgba(34,37,43,.06);

      text-align:
        left;

    }

    .search-results.loading
    .search-loading {

      display:
        flex;

    }

    .loading-icon {

      width:
        48px;

      height:
        48px;

      display:
        grid;

      place-items:
        center;

      flex:
        0 0 auto;

      border-radius:
        13px;

      background:
        var(--coral-soft);

      color:
        var(--coral);

      font-size:
        17px;

    }

    .search-loading strong {

      display:
        block;

      font-size:
        12px;

    }

    .search-loading span {

      display:
        block;

      margin-top:
        4px;

      color:
        var(--ink-soft);

      font-size:
        10px;

      line-height:
        1.5;

    }

    /* =========================================================
       RESULTS PANEL
       ========================================================= */

    .results-panel {

      display:
        none;

      width:
        100%;

      overflow:
        hidden;

      border:
        1px solid var(--line);

      border-radius:
        22px;

      background:
        #fff;

      box-shadow:
        0 20px 55px rgba(34,37,43,.075);

      text-align:
        left;

    }

    .search-results.loaded
    .results-panel {

      display:
        block;

    }

    /* =========================================================
       RESULTS HEADER
       ========================================================= */

    .results-head {

      min-height:
        96px;

      padding:
        21px 26px;

      display:
        flex;

      align-items:
        center;

      justify-content:
        space-between;

      gap:
        30px;

      border-bottom:
        1px solid var(--line);

      background:
        linear-gradient(
          180deg,
          #FFFDFC,
          #FFF9F6
        );

    }

    .results-eyebrow {

      display:
        block;

      margin-bottom:
        5px;

      color:
        var(--coral-deep);

      font-size:
        8px;

      font-weight:
        800;

      letter-spacing:
        .08em;

      text-transform:
        uppercase;

    }

    .results-head h2 {

      margin:
        0;

      font-size:
        21px;

      letter-spacing:
        -.035em;

    }

    .results-count {

      min-height:
        34px;

      padding:
        0 11px;

      display:
        inline-flex;

      align-items:
        center;

      flex:
        0 0 auto;

      border-radius:
        9px;

      background:
        var(--coral-soft);

      color:
        var(--coral-deep);

      font-size:
        9px;

      font-weight:
        760;

    }

    /* =========================================================
       RESULT LIST
       ========================================================= */

    .results-list {

      padding:
        10px 12px;

    }

    .company-result {

      min-height:
        98px;

      padding:
        16px 20px;

      display:
        grid;

      grid-template-columns:
        48px
        minmax(280px,1.65fr)
        minmax(180px,.75fr)
        minmax(180px,.75fr)
        110px;

      align-items:
        center;

      gap:
        clamp(18px,2.2vw,36px);

      border-radius:
        14px;

      opacity:
        0;

      transform:
        translateY(15px);

      transition:
        opacity 400ms var(--ease-out),
        transform 400ms var(--ease-out),
        background 180ms ease;

    }

    .company-result.visible {

      opacity:
        1;

      transform:
        translateY(0);

    }

    .company-result + .company-result {

      border-top:
        1px solid #F0E9E3;

    }

    .company-result:hover {

      background:
        #FFFAF7;

    }

    .result-icon {

      width:
        46px;

      height:
        46px;

      display:
        grid;

      place-items:
        center;

      border-radius:
        13px;

      background:
        var(--coral-soft);

      color:
        var(--coral-deep);

      font-size:
        15px;

    }

    .result-main {

      min-width:
        0;

    }

    .result-label {

      display:
        block;

      margin-bottom:
        6px;

      color:
        var(--ink-muted);

      font-size:
        8px;

      font-weight:
        740;

      letter-spacing:
        .06em;

      text-transform:
        uppercase;

    }

    .result-company-name {

      display:
        block;

      overflow:
        hidden;

      color:
        var(--ink);

      font-size:
        13px;

      font-weight:
        750;

      text-overflow:
        ellipsis;

      white-space:
        nowrap;

    }

    .result-location {

      display:
        flex;

      align-items:
        center;

      gap:
        5px;

      margin-top:
        6px;

      color:
        var(--ink-muted);

      font-size:
        9px;

    }

    .result-location i {

      color:
        var(--coral);

    }

    .result-data {

      min-width:
        0;

    }

    .result-data strong {

      display:
        block;

      overflow:
        hidden;

      color:
        var(--ink);

      font-size:
        11px;

      font-weight:
        670;

      font-variant-numeric:
        tabular-nums;

      text-overflow:
        ellipsis;

      white-space:
        nowrap;

    }

    /* =========================================================
       DETAILS BUTTON
       ========================================================= */

    .details-button {

      width:
        110px;

      min-height:
        42px;

      padding:
        0 15px;

      display:
        inline-flex;

      align-items:
        center;

      justify-content:
        center;

      gap:
        8px;

      border:
        1px solid rgba(232,93,74,.23);

      border-radius:
        11px;

      background:
        var(--coral-mist);

      color:
        var(--coral-deep);

      text-decoration:
        none;

      font-size:
        10px;

      font-weight:
        740;

      white-space:
        nowrap;

      transition:
        background 170ms ease,
        border-color 170ms ease,
        transform 170ms var(--ease);

    }

    .details-button:hover {

      background:
        var(--coral-soft);

      border-color:
        rgba(232,93,74,.38);

      transform:
        translateX(2px);

    }

    /* =========================================================
       RESULTS FOOT
       ========================================================= */

    .results-note {

      min-height:
        50px;

      padding:
        0 26px;

      display:
        flex;

      align-items:
        center;

      gap:
        7px;

      border-top:
        1px solid var(--line);

      background:
        #FBF8F5;

      color:
        var(--ink-muted);

      font-size:
        9px;

    }

    .results-note i {

      color:
        var(--coral);

    }

    /* =========================================================
       EMPTY RESULTS
       ========================================================= */

    .no-results {

      padding:
        48px 20px;

      text-align:
        center;

    }

    .no-results-icon {

      width:
        52px;

      height:
        52px;

      margin:
        0 auto 15px;

      display:
        grid;

      place-items:
        center;

      border-radius:
        14px;

      background:
        var(--surface);

      color:
        var(--ink-soft);

    }

    .no-results strong {

      display:
        block;

      font-size:
        13px;

    }

    .no-results p {

      max-width:
        430px;

      margin:
        7px auto 0;

      color:
        var(--ink-soft);

      font-size:
        10px;

      line-height:
        1.6;

    }
    .rank-bar,
.region-bar { display: block; }
    /* =========================================================
       STATS
       ========================================================= */

    .stats-strip {

      border-top:
        1px solid var(--line);

      border-bottom:
        1px solid var(--line);

      background:
        #fff;

    }

    .stats-grid {

      display:
        grid;

      grid-template-columns:
        repeat(4,1fr);

    }

    .stat-item {

      position:
        relative;

      padding:
        30px 35px;

      display:
        flex;

      align-items:
        center;

      gap:
        14px;

    }

    .stat-item:first-child {

      padding-left:
        0;

    }

    .stat-item:not(:last-child)::after {

      content:
        "";

      position:
        absolute;

      top:
        25px;

      right:
        0;

      bottom:
        25px;

      width:
        1px;

      background:
        var(--line);

    }

    .stat-icon {

      width:
        43px;

      height:
        43px;

      display:
        grid;

      place-items:
        center;

      flex:
        0 0 auto;

      border-radius:
        12px;

      background:
        var(--coral-soft);

      color:
        var(--coral-deep);

    }

    .stat-value {

      display:
        block;

      font-size:
        22px;

      font-weight:
        790;

      letter-spacing:
        -.04em;

    }

    .stat-label {

      display:
        block;

      margin-top:
        3px;

      color:
        var(--ink-soft);

      font-size:
        10px;

      line-height:
        1.4;

    }

    /* =========================================================
       COMMON SECTIONS
       ========================================================= */

    .section {

      padding:
        120px 0;

    }

    .section-head {

      margin-bottom:
        50px;

    }

    .section-kicker {

      margin-bottom:
        14px;

      display:
        inline-flex;

      align-items:
        center;

      gap:
        8px;

      color:
        var(--coral-deep);

      font-size:
        10px;

      font-weight:
        800;

      letter-spacing:
        .08em;

      text-transform:
        uppercase;

    }

    .section-kicker i {

      font-size:
        6px;

    }

    .section-title {

      max-width:
        900px;

      margin:
        0;

      font-size:
        clamp(39px,4.4vw,67px);

      line-height:
        1.04;

      letter-spacing:
        -.057em;

    }

    .section-title em {

      color:
        var(--coral);

      font-style:
        normal;

    }

    .section-description {

      max-width:
        710px;

      margin:
        20px 0 0;

      color:
        var(--ink-soft);

      font-size:
        15px;

      line-height:
        1.7;

    }

    /* =========================================================
       ITALY DATA
       ========================================================= */

    .italy-layout {

      display:
        grid;

      grid-template-columns:
        minmax(430px,.88fr)
        minmax(0,1.12fr);

      gap:
        18px;

    }

    .data-panel {

      overflow:
        hidden;

      border:
        1px solid var(--line);

      border-radius:
        24px;

      background:
        #fff;

      box-shadow:
        0 14px 40px rgba(34,37,43,.045);

    }

    .data-panel-head {

      min-height:
        83px;

      padding:
        20px 23px;

      display:
        flex;

      align-items:
        center;

      justify-content:
        space-between;

      gap:
        20px;

      border-bottom:
        1px solid var(--line);

    }

    .data-panel-title {

      margin:
        0;

      font-size:
        17px;

      letter-spacing:
        -.025em;

    }

    .data-panel-subtitle {

      margin-top:
        4px;

      color:
        var(--ink-soft);

      font-size:
        9px;

    }

    .data-panel-badge {

      padding:
        6px 8px;

      border-radius:
        7px;

      background:
        var(--coral-soft);

      color:
        var(--coral-deep);

      font-size:
        8px;

      font-weight:
        800;

      text-transform:
        uppercase;

    }

    /* =========================================================
       REGION LIST
       ========================================================= */

    .region-list {

      max-height:
        590px;

      padding:
        14px 19px 19px;

      overflow-y:
        auto;

    }

    .region-list::-webkit-scrollbar {

      width:
        6px;

    }

    .region-list::-webkit-scrollbar-thumb {

      border-radius:
        99px;

      background:
        #DDD3CB;

    }

    .region-row {

      min-height:
        48px;

      display:
        grid;

      grid-template-columns:
        150px 1fr 76px;

      align-items:
        center;

      gap:
        13px;

      border-bottom:
        1px solid #F0E9E3;

    }

    .region-row:last-child {

      border-bottom:
        0;

    }

    .region-name {

      font-size:
        10px;

      font-weight:
        650;

    }

    .region-bar-track {

      height:
        7px;

      overflow:
        hidden;

      border-radius:
        99px;

      background:
        var(--surface);

    }

    .region-bar {

      width:
        0;

      height:
        100%;

      border-radius:
        99px;

      background:
        linear-gradient(
          90deg,
          var(--coral-soft),
          var(--coral)
        );

      transition:
        width 900ms var(--ease-out);

    }

    .region-value {

      text-align:
        right;

      color:
        var(--ink-soft);

      font-size:
        9px;

    }

    /* =========================================================
       TREND
       ========================================================= */

    .trend-body {

      padding:
        25px 24px 21px;

    }

    .trend-big {

      display:
        flex;

      align-items:
        flex-end;

      flex-wrap:
        wrap;

      gap:
        10px;

    }

    .trend-big strong {

      font-size:
        clamp(37px,4vw,56px);

      line-height:
        1;

      letter-spacing:
        -.055em;

    }

    .trend-big span {

      margin-bottom:
        5px;

      color:
        var(--ink-soft);

      font-size:
        10px;

    }

    .chart-wrap {

      width:
        100%;

      height:
        330px;

      margin-top:
        25px;

    }

    .trend-svg {

      width:
        100%;

      height:
        100%;

    }

    .chart-grid-line {

      stroke:
        #EFE6DE;

      stroke-width:
        1;

    }

    .chart-area {

      fill:
        url(#areaGradient);

    }

    .chart-line {

      fill:
        none;

      stroke:
        var(--coral);

      stroke-width:
        4;

      stroke-linecap:
        round;

      stroke-linejoin:
        round;

    }

    .chart-point {

      fill:
        #fff;

      stroke:
        var(--coral);

      stroke-width:
        4;

    }

    .chart-year {

      fill:
        #938984;

      font-size:
        11px;

      text-anchor:
        middle;

    }

    .trend-foot {

      padding:
        16px 24px;

      border-top:
        1px solid var(--line);

      color:
        var(--ink-muted);

      font-size:
        9px;

    }

    /* =========================================================
       RANKINGS
       ========================================================= */

    .rankings-section {

      position:
        relative;

      overflow:
        hidden;

      background:
        var(--ink);

      color:
        #fff;

    }

    .rankings-section::before {

      content:
        "";

      position:
        absolute;

      top:
        -350px;

      right:
        -280px;

      width:
        750px;

      height:
        750px;

      border-radius:
        50%;

      background:
        radial-gradient(
          circle,
          rgba(232,93,74,.22),
          transparent 70%
        );

    }

    .rankings-head {

      position:
        relative;

      z-index:
        2;

      display:
        flex;

      align-items:
        flex-end;

      justify-content:
        space-between;

      gap:
        50px;

      margin-bottom:
        42px;

    }

    .rankings-section
    .section-title {

      color:
        #fff;

    }

    .rankings-section
    .section-description {

      color:
        rgba(255,255,255,.56);

    }

    .rankings-section
    .section-kicker {

      color:
        #F28B79;

    }

    .region-tabs {

      position:
        relative;

      z-index:
        2;

      display:
        flex;

      flex-wrap:
        wrap;

      gap:
        7px;

      margin-bottom:
        18px;

    }

    .region-tab {

      min-height:
        42px;

      padding:
        0 15px;

      border:
        1px solid rgba(255,255,255,.10);

      border-radius:
        11px;

      background:
        rgba(255,255,255,.04);

      color:
        rgba(255,255,255,.58);

      cursor:
        pointer;

      font-size:
        10px;

      font-weight:
        700;

      transition:
        background 180ms ease,
        border-color 180ms ease,
        color 180ms ease;

    }

    .region-tab:hover {

      color:
        #fff;

      background:
        rgba(255,255,255,.07);

    }

    .region-tab.active {

      border-color:
        rgba(232,93,74,.45);

      background:
        rgba(232,93,74,.14);

      color:
        #fff;

    }

    .ranking-card {

      position:
        relative;

      z-index:
        2;

      overflow:
        hidden;

      border:
        1px solid rgba(255,255,255,.09);

      border-radius:
        22px;

      background:
        rgba(255,255,255,.045);

    }

    .ranking-header,
    .ranking-row {

      display:
        grid;

      grid-template-columns:
        52px
        minmax(230px,1.4fr)
        minmax(150px,.7fr)
        minmax(200px,1fr)
        38px;

      align-items:
        center;

      gap:
        17px;

    }

    .ranking-header {

      min-height:
        47px;

      padding:
        0 21px;

      border-bottom:
        1px solid rgba(255,255,255,.08);

      color:
        rgba(255,255,255,.36);

      font-size:
        8px;

      font-weight:
        750;

      text-transform:
        uppercase;

    }

    .ranking-row {

      min-height:
        90px;

      padding:
        14px 21px;

      border-bottom:
        1px solid rgba(255,255,255,.07);

      text-decoration:
        none;

      transition:
        background 180ms ease;

    }

    .ranking-row:last-child {

      border-bottom:
        0;

    }

    .ranking-row:hover {

      background:
        rgba(255,255,255,.045);

    }

    .rank-number {

      color:
        rgba(255,255,255,.28);

      font-size:
        17px;

      font-weight:
        760;

    }

    .rank-company strong {

      display:
        block;

      font-size:
        13px;

    }

    .rank-company span {

      display:
        block;

      margin-top:
        4px;

      color:
        rgba(255,255,255,.39);

      font-size:
        9px;

    }

    .rank-revenue strong {

      display:
        block;

      font-size:
        15px;

    }

    .rank-revenue span {

      display:
        block;

      margin-top:
        3px;

      color:
        rgba(255,255,255,.36);

      font-size:
        8px;

    }

    .rank-bar-track {

      width:
        100%;

      height:
        6px;

      overflow:
        hidden;

      border-radius:
        99px;

      background:
        rgba(255,255,255,.07);

    }

    .rank-bar {

      height:
        100%;

      border-radius:
        99px;

      background:
        linear-gradient(
          90deg,
          #F28C7B,
          var(--coral)
        );

    }

    .rank-arrow {

      width:
        34px;

      height:
        34px;

      display:
        grid;

      place-items:
        center;

      border-radius:
        9px;

      background:
        rgba(255,255,255,.055);

      color:
        rgba(255,255,255,.48);

    }

    .ranking-note {

      position:
        relative;

      z-index:
        2;

      margin-top:
        16px;

      color:
        rgba(255,255,255,.36);

      font-size:
        9px;

    }

    /* =========================================================
       ADVANCED
       ========================================================= */

    .advanced-section {

      padding:
        115px 0;

      background:
        #FFF9F6;

    }

    .advanced-box {

      display:
        grid;

      grid-template-columns:
        minmax(0,1.05fr)
        minmax(400px,.95fr);

      align-items:
        center;

      gap:
        clamp(60px,8vw,130px);

    }

    .advanced-action {

      margin-top:
        27px;

      min-height:
        51px;

      padding:
        0 20px;

      display:
        inline-flex;

      align-items:
        center;

      gap:
        9px;

      border-radius:
        12px;

      background:
        var(--coral);

      color:
        #fff;

      text-decoration:
        none;

      font-size:
        12px;

      font-weight:
        740;

      box-shadow:
        0 8px 21px rgba(232,93,74,.18);

    }

    .advanced-demo {

      padding:
        21px;

      border:
        1px solid var(--line);

      border-radius:
        23px;

      background:
        #fff;

      box-shadow:
        0 20px 55px rgba(34,37,43,.07);

    }

    .advanced-demo-head {

      display:
        flex;

      align-items:
        center;

      justify-content:
        space-between;

      padding-bottom:
        17px;

      border-bottom:
        1px solid var(--line);

      font-size:
        11px;

    }

    .advanced-demo-head span {

      color:
        var(--ink-soft);

      font-size:
        9px;

    }

    .filter-chips {

      margin-top:
        18px;

      display:
        flex;

      flex-wrap:
        wrap;

      gap:
        7px;

    }

    .filter-chip {

      min-height:
        37px;

      padding:
        0 11px;

      display:
        inline-flex;

      align-items:
        center;

      gap:
        7px;

      border:
        1px solid var(--line);

      border-radius:
        9px;

      color:
        var(--ink-soft);

      font-size:
        9px;

    }

    .filter-chip i {

      color:
        var(--coral);

    }

    .advanced-results {

      margin-top:
        17px;

      display:
        grid;

      gap:
        7px;

    }

    .advanced-result {

      min-height:
        52px;

      padding:
        0 13px;

      display:
        flex;

      align-items:
        center;

      gap:
        11px;

      border-radius:
        10px;

      background:
        var(--surface);

    }

    .advanced-result-icon {

      width:
        30px;

      height:
        30px;

      display:
        grid;

      place-items:
        center;

      border-radius:
        8px;

      background:
        #fff;

      color:
        var(--coral);

    }

    .advanced-result strong {

      display:
        block;

      font-size:
        9px;

    }

    .advanced-result span {

      display:
        block;

      margin-top:
        2px;

      color:
        var(--ink-soft);

      font-size:
        8px;

    }

    /* =========================================================
       REVEAL
       ========================================================= */

    .reveal {

      opacity:
        0;

      transform:
        translateY(35px);

      transition:
        opacity 850ms var(--ease-out),
        transform 850ms var(--ease-out);

    }

    .reveal.visible {

      opacity:
        1;

      transform:
        none;

    }

    /* =========================================================
       TABLET
       ========================================================= */

    @media(max-width:1000px) {

      .stats-grid {

        grid-template-columns:
          1fr 1fr;

      }

      .italy-layout,
      .advanced-box {

        grid-template-columns:
          1fr;

      }

      .region-list {

        max-height:
          none;

      }

      .rankings-head {

        display:
          block;

      }

    }

    /* =========================================================
       RESULTS TABLET
       ========================================================= */

    @media(max-width:900px) {

      .company-result {

        grid-template-columns:
          46px
          minmax(0,1fr)
          minmax(130px,.65fr)
          auto;

        gap:
          15px;

      }

      .result-data:nth-of-type(3) {

        display:
          none;

      }

    }

    /* =========================================================
       MOBILE
       ========================================================= */

    @media(max-width:700px) {

      .site-container {

        width:
          calc(100% - 28px);

      }

      

      

      

      .search-hero {

        padding:
          52px 0 62px;

      }

      .hero-title {

        font-size:
          clamp(48px,13vw,68px);

      }

      .hero-description {

        font-size:
          15px;

      }

      .main-search-shell {

        display:
          grid;

        grid-template-columns:
          42px 1fr;

      }

      .main-search-icon {

        width:
          42px;

      }

      .main-search-submit {

        grid-column:
          1 / -1;

        width:
          100%;

      }

      .results-head {

        min-height:
          auto;

        padding:
          18px;

        align-items:
          flex-start;

        flex-direction:
          column;

        gap:
          10px;

      }

      .results-list {

        padding:
          6px;

      }

      .company-result {

        grid-template-columns:
          42px 1fr;

        padding:
          15px 12px;

        gap:
          11px;

      }

      .result-icon {

        width:
          42px;

        height:
          42px;

      }

      .result-main {

        grid-column:
          2;

      }

      .result-data {

        grid-column:
          1 / -1;

        display:
          grid !important;

        grid-template-columns:
          120px 1fr;

        align-items:
          center;

        gap:
          8px;

        padding-left:
          53px;

      }

      .result-data
      .result-label {

        margin:
          0;

      }

      .details-button {

        grid-column:
          1 / -1;

        width:
          calc(100% - 53px);

        margin-left:
          53px;

      }

      .results-note {

        padding:
          13px 18px;

      }

      .stats-grid {

        grid-template-columns:
          1fr;

      }

      .stat-item {

        padding:
          19px 0;

      }

      .stat-item::after {

        top:
          auto !important;

        left:
          0;

        right:
          0 !important;

        bottom:
          0 !important;

        width:
          auto !important;

        height:
          1px;

      }

      .section {

        padding:
          82px 0;

      }

      .region-row {

        grid-template-columns:
          112px 1fr 64px;

        gap:
          9px;

      }

      .region-name {

        font-size:
          9px;

      }

      .chart-wrap {

        height:
          250px;

      }

      .region-tabs {

        display:
          grid;

        grid-template-columns:
          1fr;

      }

      .ranking-card {

        overflow-x:
          auto;

      }

      .ranking-header,
      .ranking-row {

        min-width:
          720px;

      }

      

    }

    /* =========================================================
       ACCESSIBILITY
       ========================================================= */

    a:focus-visible,
    button:focus-visible,
    input:focus-visible {

      outline:
        3px solid rgba(232,93,74,.22);

      outline-offset:
        3px;

    }

    @media(prefers-reduced-motion:reduce) {

      *,
      *::before,
      *::after {

        scroll-behavior:
          auto !important;

        animation-duration:
          .01ms !important;

        transition-duration:
          .01ms !important;

      }

      .reveal {

        opacity:
          1;

        transform:
          none;

      }

    }

  

    /* ===== aggiunte integrazione ===== */
    @media(max-width:1220px) {
      .site-container { width: calc(100% - 32px); }
    }
    /* 20 regioni: le tab scorrono in orizzontale invece di andare a capo */
    .region-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding-bottom: 6px; }
    .region-tabs { display: flex !important; }
    .region-tab { flex: 0 0 auto; }
    /* avviso per chi arriva dalla ricerca avanzata senza PRO */
    .pro-notice {
      max-width: 760px; margin: 0 auto 26px; padding: 14px 18px;
      display: flex; align-items: center; gap: 12px; text-align: left;
      border: 1px solid rgba(217,164,65,.45); border-radius: 14px;
      background: var(--gold-soft, #FBF3DF); color: var(--ink); font-size: 14px; line-height: 1.5;
    }
    .pro-notice i { color: var(--gold-deep, #8A6420); font-size: 18px; }
    .pro-notice a { color: var(--coral-deep, #C6432F); font-weight: 700; white-space: nowrap; }
    .search-error { color: var(--coral-deep, #C6432F); }