    :root {
      --page: #eee6dc;
      --surface: rgba(255, 255, 255, 0.82);
      --surface-solid: #fbfaf8;
      --index-panel-surface: #f7f3ed;
      --ink: #171613;
      --muted: #6d655d;
      --line: rgba(36, 31, 26, 0.12);
      --green: #446253;
      --red: #d9282f;
      --shadow: 0 22px 60px rgba(72, 55, 42, 0.13);
      --shadow-soft: 0 12px 30px rgba(72, 55, 42, 0.09);
      --radius: 18px;
      --max-width: 1460px;
      --gutter: clamp(14px, 2vw, 28px);
      --panel-height: clamp(540px, calc(100svh - 74px - (var(--gutter) * 3)), 820px);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html {
      scroll-behavior: smooth;
      scroll-padding-top: calc(74px + (var(--gutter) * 2));
      background: var(--page);
    }
    body {
      margin: 0;
      min-width: 320px;
      overflow-x: hidden;
      color: var(--ink);
      background: var(--page);
      font-family: "Manrope", Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    body.menu-open { overflow: hidden; }
    body.contact-panel-open { overflow: hidden; }
    button, a { font: inherit; }
    button { color: inherit; }
    a { color: inherit; text-decoration: none; }
    img, video, svg { display: block; max-width: 100%; }
    figure { margin: 0; }
    button:focus-visible, a:focus-visible {
      outline: 3px solid rgba(68, 98, 83, 0.42);
      outline-offset: 3px;
    }

    .page-shell {
      width: min(100%, var(--max-width));
      margin-inline: auto;
      padding: var(--gutter);
    }

    .topbar {
      position: sticky;
      z-index: 50;
      top: var(--gutter);
      height: 74px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      padding: 11px 18px 11px clamp(18px, 2.4vw, 34px);
      border: 1px solid rgba(255, 255, 255, 0.94);
      border-radius: var(--radius);
      background: rgba(251, 250, 248, 0.9);
      box-shadow: var(--shadow-soft);
      backdrop-filter: blur(18px);
    }
    .brand { display: inline-flex; align-items: center; min-width: 0; }
    .brand img { width: clamp(154px, 16vw, 220px); height: auto; }
    .topbar-right { display: flex; align-items: center; gap: 8px; }
    .desktop-nav { display: flex; align-items: center; gap: 4px; }
    .nav-link, .language-current, .menu-toggle {
      min-height: 46px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 0 16px;
      border: 1px solid var(--ink);
      border-radius: var(--radius);
      background: var(--ink);
      color: #fff;
      font-size: 0.84rem;
      font-weight: 800;
      cursor: pointer;
      transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
    }
    .nav-link:hover, .language-current:hover, .menu-toggle:hover {
      transform: translateY(-1px);
      box-shadow: var(--shadow-soft);
    }
    .nav-link.is-contact { background: var(--ink); border-color: var(--ink); }
    .language-switcher { position: relative; }
    .language-current { min-width: 78px; padding-inline: 11px; }
    .language-current img, .language-option img {
      width: 24px;
      height: 16px;
      border: 1px solid rgba(255, 255, 255, 0.72);
      border-radius: 2px;
      object-fit: cover;
    }
    .language-current svg { width: 15px; transition: transform 180ms ease; }
    .language-current[aria-expanded="true"] svg { transform: rotate(180deg); }
    .language-menu {
      position: absolute;
      z-index: 70;
      top: calc(100% + 8px);
      right: 0;
      width: 166px;
      display: grid;
      gap: 4px;
      padding: 6px;
      border: 1px solid var(--ink);
      border-radius: var(--radius);
      background: var(--ink);
      box-shadow: var(--shadow);
    }
    .language-menu[hidden] { display: none; }
    .language-option {
      min-height: 42px;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 0 10px;
      border: 1px solid transparent;
      border-radius: 12px;
      background: transparent;
      color: #fff;
      font-size: 0.82rem;
      font-weight: 700;
      cursor: pointer;
    }
    .language-option:hover, .language-option[aria-selected="true"] {
      border-color: rgba(255,255,255,.26);
      background: rgba(255,255,255,.12);
    }
    .menu-toggle { display: none; width: 46px; padding: 0; }
    .menu-toggle svg { width: 20px; }

    .mobile-menu {
      position: fixed;
      z-index: 80;
      inset: 0;
      display: grid;
      place-items: center;
      padding: 16px;
      background: rgba(23, 22, 19, 0.42);
      -webkit-backdrop-filter: blur(12px);
      backdrop-filter: blur(12px);
    }
    .mobile-menu[hidden] { display: none; }
    .mobile-menu-panel {
      width: min(100%, 350px);
      display: grid;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.92);
      border-radius: var(--radius);
      background: #fff;
      box-shadow: var(--shadow);
    }
    .mobile-menu-head {
      position: relative;
      min-height: 60px;
      display: grid;
      place-items: center;
      padding: 0 64px;
      border-bottom: 1px solid var(--line);
    }
    .mobile-menu-head strong {
      font-size: 1rem;
      font-weight: 800;
    }
    .mobile-menu-close {
      position: absolute;
      top: 10px;
      right: 10px;
      width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      padding: 0;
      border: 1px solid var(--ink);
      border-radius: 50%;
      background: var(--ink);
      color: #fff;
      box-shadow: 0 0 0 3px rgba(68, 98, 83, 0.18);
      cursor: pointer;
    }
    .mobile-menu-close svg { width: 18px; height: 18px; }
    .mobile-menu-body {
      display: grid;
      gap: 12px;
      padding: 26px 16px 24px;
    }
    .mobile-menu-intro {
      margin-bottom: 8px;
      text-align: center;
    }
    .mobile-menu-intro h2 {
      margin: 0;
      font-size: clamp(1.28rem, 6vw, 1.5rem);
      line-height: 1.14;
      letter-spacing: 0;
    }
    .mobile-menu-intro p {
      margin: 7px 0 0;
      color: var(--muted);
      font-size: 0.8rem;
      line-height: 1.45;
    }
    .mobile-menu-link {
      width: 100%;
      min-height: 102px;
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      align-items: center;
      gap: 13px;
      padding: 15px 16px;
      border: 1px solid rgba(109, 101, 93, 0.2);
      border-radius: var(--radius);
      background: #f4efe8;
      color: var(--ink);
      text-align: left;
      cursor: pointer;
      transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
    }
    .mobile-menu-link:hover {
      transform: translateY(-1px);
      border-color: rgba(23, 22, 19, 0.32);
      box-shadow: var(--shadow-soft);
    }
    .mobile-menu-icon {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--ink);
      color: #fff;
    }
    .mobile-menu-icon svg { width: 20px; height: 20px; }
    .mobile-menu-copy {
      min-width: 0;
      display: grid;
      gap: 5px;
    }
    .mobile-menu-copy strong {
      font-size: 0.94rem;
      line-height: 1.2;
    }
    .mobile-menu-copy small {
      color: var(--muted);
      font-size: 0.75rem;
      line-height: 1.45;
    }

    .contact-nudge {
      position: fixed;
      z-index: 220;
      inset: 0;
      display: grid;
      place-items: center;
      padding: 18px;
      box-sizing: border-box;
      background: rgba(23, 22, 19, 0.38);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
    }
    .contact-nudge[hidden] { display: none; }
    .contact-nudge-card {
      width: min(520px, calc(100vw - 36px));
      overflow: hidden;
      border: 1px solid rgba(109, 101, 93, 0.2);
      border-radius: var(--radius);
      background: #fff;
      box-shadow: 0 28px 80px rgba(23, 22, 19, 0.24);
    }
    .contact-nudge-head {
      min-height: 62px;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      padding: 0 14px;
      border-bottom: 1px solid rgba(109, 101, 93, 0.16);
    }
    .contact-nudge-close {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 0;
      border-radius: 50%;
      background: var(--ink);
      color: #fff;
      cursor: pointer;
    }
    .contact-nudge-close svg { width: 20px; height: 20px; }
    .contact-nudge-body {
      display: grid;
      justify-items: center;
      gap: 14px;
      padding: clamp(32px, 6vw, 52px);
      text-align: center;
    }
    .contact-nudge-body h2 {
      margin: 0;
      max-width: 390px;
      font-size: clamp(1.7rem, 4vw, 2.35rem);
      line-height: 1.08;
      letter-spacing: 0;
    }
    .contact-nudge-body p {
      max-width: 390px;
      margin: 0 0 8px;
      color: var(--muted);
      line-height: 1.55;
    }
    .contact-nudge-action {
      min-height: 50px;
      padding: 0 24px;
      border: 0;
      border-radius: var(--radius);
      background: var(--ink);
      color: #fff;
      font: inherit;
      font-weight: 700;
      cursor: pointer;
    }
    body.is-contact-nudge-open { overflow: hidden; }

    .shared-contact-layer {
      position: fixed;
      z-index: 200;
      inset: 0;
      display: grid;
      place-items: center;
      padding: 16px;
      box-sizing: border-box;
      background: rgba(23, 22, 19, 0.42);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
    }

    .shared-contact-layer[hidden] {
      display: none;
    }

    .shared-contact-frame {
      width: min(860px, calc(100vw - 32px));
      height: min(820px, calc(100dvh - 32px));
      max-width: 100%;
      max-height: 100%;
      display: block;
      border: 0;
      background: transparent;
    }

    main { display: grid; gap: var(--gutter); padding-top: var(--gutter); }
    .section-frame {
      position: relative;
      min-width: 0;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.9);
      border-radius: var(--radius);
      background: var(--surface);
      box-shadow: var(--shadow-soft);
    }

    .hero {
      height: var(--panel-height);
      min-height: 0;
      display: grid;
      grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
      align-items: center;
      gap: clamp(24px, 5vw, 84px);
      padding: clamp(30px, 4.8vh, 58px) clamp(38px, 6vw, 94px);
      isolation: isolate;
    }
    .hero-copy { position: relative; z-index: 2; min-width: 0; max-width: 650px; }
    .event-lockup { display: flex; align-items: center; gap: 18px; margin-bottom: 34px; }
    .event-lockup img:first-child { width: clamp(140px, 14vw, 210px); }
    .event-lockup .divider { width: 1px; height: 38px; background: var(--line); }
    .event-lockup img:last-child { width: clamp(112px, 11vw, 170px); }
    .hero-tagline {
      max-width: 590px;
      margin: 0;
      color: var(--muted);
      font-size: clamp(1rem, 1.35vw, 1.24rem);
      line-height: 1.7;
    }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 36px; }
    .action {
      min-height: 52px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 0 20px;
      border: 1px solid var(--ink);
      border-radius: var(--radius);
      background: var(--ink);
      color: #fff;
      font-size: .9rem;
      font-weight: 800;
      cursor: pointer;
      transition: transform 180ms ease, box-shadow 180ms ease;
    }
    .action:hover { transform: translateY(-2px); box-shadow: var(--shadow-soft); }
    .action.secondary { background: transparent; color: var(--ink); }
    .hero-actions .action.secondary { background: var(--ink); color: #fff; }
    .action svg,
    .action .action-brand-icon {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      object-fit: contain;
    }
    .hero-art {
      position: relative;
      width: 100%;
      height: 100%;
      min-height: 0;
      max-height: 620px;
      align-self: center;
    }
    .hero-wire {
      position: absolute;
      inset: 3% -8% 3% 2%;
      width: 106%;
      height: 94%;
      object-fit: contain;
      opacity: .82;
      transform: rotate(-10deg);
    }
    .scroll-cue {
      position: absolute;
      left: clamp(38px, 6vw, 94px);
      bottom: 22px;
      display: flex;
      align-items: center;
      gap: 9px;
      color: var(--muted);
      font-size: .76rem;
      font-weight: 700;
    }
    .scroll-cue svg { width: 17px; }

    .about {
      height: var(--panel-height);
      min-height: 0;
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
      align-items: stretch;
    }
    .about-copy {
      min-height: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(28px, 4vw, 58px);
      overflow: visible;
    }
    .about-copy .section-title { font-size: clamp(2.35rem, 4.3vw, 4.8rem); }
    .section-number { display: block; margin-bottom: 30px; color: var(--green); font-size: .74rem; font-weight: 800; }
    .section-title {
      margin: 0;
      max-width: 850px;
      font-size: clamp(2.5rem, 5.2vw, 5.6rem);
      line-height: .98;
      font-weight: 500;
      letter-spacing: 0;
    }
    .section-body {
      max-width: 720px;
      margin: 30px 0 0;
      color: var(--muted);
      font-size: clamp(.96rem, 1.2vw, 1.1rem);
      line-height: 1.8;
    }
    .quote {
      max-width: 720px;
      margin: 38px 0 0;
      padding-left: 22px;
      border-left: 3px solid var(--red);
      font-size: clamp(1.1rem, 1.6vw, 1.45rem);
      line-height: 1.5;
      font-weight: 700;
    }
    .about-copy .section-body { margin-top: 20px; line-height: 1.65; }
    .about-copy .quote { margin-top: 22px; line-height: 1.4; }
    .mentioned { margin-top: 28px; }
    .mentioned span { display: block; margin-bottom: 14px; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
    .mentioned img { width: 100%; height: 120px; object-fit: contain; object-position: left center; }
    .about-media { min-height: 0; height: 100%; }
    .about-media img { width: 100%; height: 100%; object-fit: cover; }

    .services-index {
      height: var(--panel-height);
      min-height: 0;
      display: flex;
      flex-direction: column;
      padding: clamp(36px, 5vw, 72px);
    }
    .services-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 42px;
    }
    .services-head .section-body { max-width: 440px; margin: 0; }
    .service-list {
      flex: 1 1 auto;
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      min-width: 0;
      min-height: 0;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .service-link {
      min-width: 0;
      min-height: 0;
      display: grid;
      grid-template-rows: auto 1fr auto;
      gap: 18px;
      padding: 22px;
      border-right: 1px solid var(--line);
      transition: background-color 180ms ease;
    }
    .service-link:last-child { border-right: 0; }
    @media (hover: hover) and (pointer: fine) {
      .service-link:hover { background: rgba(255,255,255,.66); }
    }
    .service-link small { color: var(--green); font-size: .7rem; font-weight: 800; }
    .service-link img {
      width: 100%;
      height: 100%;
      min-height: 0;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border-radius: 12px;
    }
    .service-link strong { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 1rem; }
    .service-link svg { width: 17px; flex: 0 0 auto; }

    .service-section {
      height: var(--panel-height);
      min-height: 0;
      display: grid;
      grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr);
      align-items: stretch;
    }
    .service-copy {
      min-width: 0;
      min-height: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(34px, 5vw, 76px);
      overflow: hidden;
    }
    .service-copy .section-title {
      max-width: 100%;
      font-size: clamp(3rem, 4.1vw, 4.75rem);
      line-height: .94;
    }
    .service-media {
      min-width: 0;
      min-height: 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-template-rows: repeat(2, minmax(0, 1fr));
      gap: 8px;
      padding: 8px;
      overflow: hidden;
      background: var(--index-panel-surface);
    }
    .media-item {
      position: relative;
      min-width: 0;
      min-height: 0;
      overflow: hidden;
      border-radius: 12px;
      background: #e5e0da;
    }
    .media-item.wide { grid-column: span 2; }
    .media-item.tall { grid-row: span 2; }
    .service-media.layout-essentia {
      grid-template-columns: .72fr 1.28fr;
      grid-template-rows: .82fr 1.18fr;
    }
    .layout-essentia .media-item:nth-child(1) { grid-area: 1 / 1; }
    .layout-essentia .media-item:nth-child(2) { grid-area: 1 / 2; }
    .layout-essentia .media-item:nth-child(3) { grid-area: 2 / 1 / 3 / 3; }
    .service-media.layout-kinema {
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: repeat(2, minmax(0, 1fr));
    }
    .layout-kinema .media-item:nth-child(1) { grid-area: 1 / 1; }
    .layout-kinema .media-item:nth-child(2) { grid-area: 2 / 1; }
    .service-media.layout-spatia {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-template-rows: 1.08fr 1.2fr .92fr;
    }
    .layout-spatia .media-item:nth-child(1) { grid-area: 1 / 1 / 3 / 2; }
    .layout-spatia .media-item:nth-child(2) { grid-area: 1 / 2 / 2 / 3; }
    .layout-spatia .media-item:nth-child(3) { grid-area: 3 / 1 / 4 / 2; }
    .layout-spatia .media-item:nth-child(4) { grid-area: 2 / 2 / 4 / 3; }
    .service-media.layout-plasma {
      grid-template-columns: 1.25fr .75fr;
      grid-template-rows: repeat(2, minmax(0, 1fr));
    }
    .layout-plasma .media-item:nth-child(1) { grid-area: 1 / 1; }
    .layout-plasma .media-item:nth-child(2) { grid-area: 2 / 1; }
    .layout-plasma .media-item:nth-child(3) { grid-area: 1 / 2 / 3 / 3; }
    .service-media.layout-immersia {
      grid-template-columns: 1.16fr repeat(2, minmax(0, 1fr));
      grid-template-rows: 1.05fr .42fr 1fr;
    }
    .layout-immersia .media-item:nth-child(1) { grid-area: 1 / 1 / 3 / 2; }
    .layout-immersia .media-item:nth-child(2) { grid-area: 1 / 2 / 2 / 3; }
    .layout-immersia .media-item:nth-child(3) { grid-area: 1 / 3 / 2 / 4; }
    .layout-immersia .media-item:nth-child(4) { grid-area: 3 / 1 / 4 / 2; }
    .layout-immersia .media-item:nth-child(5) { grid-area: 2 / 2 / 4 / 4; }
    .media-item img, .media-item video {
      width: 100%;
      height: 100%;
      min-width: 0;
      min-height: 0;
      object-fit: cover;
    }
    .media-item.contain img { object-fit: contain; background: #fff; padding: 20px; }
    .story-video {
      display: block;
      object-fit: cover;
      object-position: center;
      background: #e5e0da;
      transform: scale(1.01);
    }
    .video-state {
      position: absolute;
      z-index: 2;
      top: 12px;
      right: 12px;
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,.35);
      border-radius: 50%;
      background: rgba(23,22,19,.82);
      color: #fff;
      cursor: pointer;
      backdrop-filter: blur(10px);
    }
    .video-state svg { width: 18px; height: 18px; }

    .contact-section {
      height: var(--panel-height);
      min-height: 0;
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
      background: #fff;
      color: var(--ink);
    }
    .contact-copy {
      min-height: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(30px, 4vw, 58px);
      overflow: visible;
    }
    .contact-copy .section-number { color: var(--green); }
    .contact-copy .section-title { max-width: 760px; font-size: clamp(2.35rem, 4.3vw, 4.8rem); }
    .contact-copy .section-body { margin-top: 20px; color: var(--muted); line-height: 1.65; }
    .contact-details { display: grid; gap: 9px; margin-top: 26px; }
    .contact-details a, .contact-details span { width: fit-content; font-size: clamp(.94rem, 1.2vw, 1.08rem); }
    .contact-details a:hover { text-decoration: underline; }
    .contact-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
    .contact-actions .action { border-color: var(--ink); background: var(--ink); color: #fff; }
    .contact-actions .action.secondary { background: var(--ink); color: #fff; }
    html[data-language="zh"] [data-contact-entry="whatsapp"] { display: none !important; }
    .contact-art {
      min-width: 0;
      min-height: 0;
      display: grid;
      place-items: center;
      padding: clamp(28px, 4vw, 64px);
      overflow: hidden;
    }
    .contact-wire {
      display: block;
      width: 100%;
      height: 100%;
      max-width: 760px;
      max-height: 620px;
      object-fit: contain;
      opacity: .82;
      transform: rotate(-10deg);
    }
    .page-footer {
      /* Temporaneamente nascosto; ripristinare display: flex per riattivarlo. */
      display: none;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-top: var(--gutter);
      padding: 24px clamp(18px, 3vw, 42px);
      border-radius: var(--radius);
      background: var(--surface);
      box-shadow: var(--shadow-soft);
      font-size: .72rem;
      color: var(--muted);
    }
    .page-footer img { width: 150px; }

    .section-rail {
      position: fixed;
      z-index: 30;
      top: 50%;
      right: max(12px, calc((100vw - var(--max-width)) / 2 + 9px));
      display: grid;
      gap: 8px;
      transform: translateY(-50%);
    }
    .rail-link {
      width: 10px;
      height: 10px;
      padding: 0;
      border: 1px solid rgba(23,22,19,.32);
      border-radius: 50%;
      background: rgba(255,255,255,.74);
      cursor: pointer;
      transition: transform 180ms ease, background-color 180ms ease;
    }
    .rail-link:hover { transform: scale(1.45); background: var(--ink); }
    .rail-link.is-active { transform: scale(1.45); background: var(--ink); }

    body.deck-mode {
      height: 100svh;
      overflow: hidden;
      overscroll-behavior: none;
    }
    body.deck-mode .page-shell { height: 100svh; }
    body.deck-mode main {
      position: relative;
      display: block;
      height: calc(var(--panel-height) + var(--gutter));
      padding-top: var(--gutter);
    }
    body.deck-mode main > .section-frame {
      position: absolute;
      z-index: 1;
      top: var(--gutter);
      right: 0;
      left: 0;
      width: 100%;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateY(16px) scale(.996);
      transition: opacity 380ms ease, transform 380ms ease, visibility 0s linear 380ms;
    }
    body.deck-mode main > .section-frame.is-deck-active {
      z-index: 2;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: none;
      transition-delay: 0s;
    }

    .reveal { opacity: 0; transform: translateY(22px); transition: opacity 650ms ease, transform 650ms ease; }
    .reveal.is-visible { opacity: 1; transform: none; }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0,0,0,0);
      white-space: nowrap;
      border: 0;
    }

    @media (max-width: 1060px) {
      .desktop-nav { display: none; }
      .menu-toggle { display: inline-grid; place-items: center; }
      .hero { grid-template-columns: 1fr 1fr; padding: 40px 42px; }
      .hero-art { min-height: 0; max-height: 520px; }
      .service-list { grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: visible; }
      .section-rail {
        right: 8px;
        gap: 7px;
      }
      .rail-link { width: 8px; height: 8px; }
      .service-section { grid-template-columns: 360px minmax(0, 1fr); }
      .service-copy .section-title { font-size: clamp(2.7rem, 5.4vw, 3.55rem); }
    }

    @media (min-width: 761px) and (max-height: 780px) {
      .about-copy { padding: 24px clamp(26px, 3vw, 42px); }
      .about-copy .section-number { margin-bottom: 14px; }
      .about-copy .section-title { font-size: clamp(2.2rem, 3.8vw, 3.8rem); }
      .about-copy .section-body { margin-top: 14px; font-size: .9rem; line-height: 1.55; }
      .about-copy .quote { margin-top: 16px; padding-left: 14px; font-size: 1rem; line-height: 1.35; }
      .mentioned { margin-top: 18px; }
      .mentioned span { margin-bottom: 8px; }
      .mentioned img { height: 82px; }

      .services-index { padding: 24px clamp(26px, 3vw, 42px); }
      .services-head { margin-bottom: 20px; }
      .services-index .section-number { margin-bottom: 14px; }
      .services-index .section-title { font-size: clamp(2.2rem, 3.8vw, 3.8rem); }
      .services-head .section-body { font-size: .9rem; line-height: 1.55; }
      .service-link { gap: 10px; padding: 14px; }

      .service-copy { padding: 30px clamp(28px, 4vw, 54px); }
      .service-copy .section-number { margin-bottom: 16px; }
      .service-copy .section-title { font-size: clamp(2.7rem, 4vw, 4.2rem); }
      .service-copy .section-body { margin-top: 16px; font-size: .9rem; line-height: 1.55; }
      .contact-copy { padding: 24px clamp(26px, 3vw, 42px); }
      .contact-copy .section-number { margin-bottom: 14px; }
      .contact-copy .section-title { font-size: clamp(2.2rem, 3.8vw, 3.8rem); }
      .contact-copy .section-body { margin-top: 14px; font-size: .9rem; line-height: 1.55; }
      .contact-details { gap: 6px; margin-top: 18px; }
      .contact-details a, .contact-details span { font-size: .86rem; }
      .contact-actions { margin-top: 18px; }
      .contact-actions .action { min-height: 46px; }
    }

    @media (max-width: 760px) {
      :root {
        --gutter: 11px;
        --radius: 16px;
        --panel-height: calc(100svh - 95px);
      }
      html { scroll-padding-top: 84px; }
      .topbar { top: 11px; height: 62px; padding: 8px 10px 8px 14px; }
      .topbar { gap: 8px; }
      .topbar-right { gap: 6px; }
      .brand img { width: 124px; }
      .language-current { min-width: 66px; min-height: 42px; padding-inline: 9px; }
      .language-current img { width: 22px; height: 15px; }
      .menu-toggle { width: 42px; min-height: 42px; }
      main { padding-top: 11px; gap: 11px; }
      body.deck-mode main > .section-frame {
        height: var(--panel-height);
        min-height: 0;
        overflow: hidden;
        transform: translateY(22px) scale(.992);
      }
      body.deck-mode main > .section-frame.is-deck-active { transform: none; }
      .section-rail {
        top: calc(50% + 36px);
        right: 5px;
        z-index: 45;
        display: grid;
        gap: 7px;
        padding: 7px 4px;
        border-radius: 999px;
        background: rgba(251, 250, 248, .54);
        box-shadow: 0 5px 16px rgba(23, 22, 19, .09);
        backdrop-filter: blur(8px);
      }
      .rail-link {
        width: 7px;
        height: 7px;
        background: rgba(255, 255, 255, .9);
      }
      .hero {
        height: auto;
        min-height: calc(100svh - 95px);
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(0, 1fr);
        align-content: stretch;
        gap: 20px;
        padding: 34px 22px 176px;
      }
      .hero-copy { position: static; }
      .hero-copy.reveal,
      .hero-copy.reveal.is-visible { transform: none; }
      .event-lockup { margin-bottom: 26px; gap: 12px; }
      .event-lockup img:first-child { width: 150px; }
      .event-lockup img:last-child { width: 112px; }
      .event-lockup .divider { height: 28px; }
      .hero-tagline { line-height: 1.6; }
      .hero-actions {
        position: absolute;
        z-index: 4;
        right: 20px;
        bottom: 52px;
        left: 20px;
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin: 0;
      }
      .hero-actions .action:first-child { order: 2; }
      .hero-actions .action.secondary { order: 1; }
      .action { min-height: 48px; width: 100%; }
      .hero-art { height: 100%; min-height: 0; max-height: none; }
      .hero-wire {
        inset: 0;
        width: 100%;
        height: 100%;
        object-position: center;
        transform-origin: center;
      }
      .scroll-cue { left: 22px; bottom: 17px; }
      .about {
        height: var(--panel-height);
        grid-template-columns: 1fr;
        grid-template-rows: clamp(430px, 56svh, 475px) minmax(0, 1fr);
        min-height: 0;
      }
      .about-copy {
        justify-content: flex-start;
        padding: 20px 20px 12px;
        overflow: hidden;
      }
      .about-copy.reveal,
      .about-copy.reveal.is-visible { transform: none; }
      .about-copy .section-title { font-size: clamp(1.9rem, 8.2vw, 2.4rem); }
      .about-copy .section-body { margin-top: 10px; font-size: .75rem; line-height: 1.45; }
      .about-copy .quote { margin-top: 11px; padding-left: 11px; font-size: .84rem; line-height: 1.28; }
      .about-media { height: auto; min-height: 0; }
      .section-number { margin-bottom: 12px; }
      .section-title { font-size: clamp(2.2rem, 11vw, 3.2rem); }
      .section-body { margin-top: 14px; line-height: 1.55; }
      .mentioned { margin-top: 16px; }
      .mentioned span { margin-bottom: 8px; font-size: .58rem; }
      .mentioned img { width: 100%; height: 125px; }
      .services-index { height: var(--panel-height); padding: 25px 18px 20px; }
      .services-head {
        display: block;
        flex: 0 0 clamp(158px, 20.5svh, 174px);
        margin-bottom: 12px;
        overflow: hidden;
      }
      .services-index .section-number { margin-bottom: 10px; }
      .services-index .section-title { font-size: clamp(2rem, 9.4vw, 2.55rem); }
      .services-head .section-body { margin-top: 10px; font-size: .78rem; line-height: 1.45; }
      .service-list {
        margin-inline: 0;
        padding-inline: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(3, minmax(0, 1fr));
      }
      .service-link {
        position: relative;
        isolation: isolate;
        grid-template-rows: 16px minmax(0, 1fr) 20px;
        gap: 5px;
        padding: 8px;
        overflow: hidden;
        -webkit-tap-highlight-color: transparent;
        transition: none;
      }
      .service-link:nth-child(2n) { border-right: 0; }
      .service-link img {
        grid-row: 2;
        width: calc(100% - 6px);
        height: auto;
        min-width: 0;
        min-height: 0;
        max-height: none;
        align-self: stretch;
        justify-self: center;
        aspect-ratio: auto;
        object-fit: cover;
        border-radius: 8px;
        transform: translateZ(0);
      }
      .service-link small {
        position: relative;
        z-index: 1;
        grid-row: 1;
        align-self: center;
        line-height: 1;
        background: var(--index-panel-surface);
        font-size: .56rem;
      }
      .service-link strong {
        position: relative;
        z-index: 1;
        grid-row: 3;
        min-height: 20px;
        align-self: end;
        background: var(--index-panel-surface);
        font-size: .7rem;
      }
      .service-link:hover,
      .service-link:active,
      .service-link:focus,
      .service-link:focus-visible,
      .service-link:hover small,
      .service-link:hover strong,
      .service-link:active small,
      .service-link:active strong,
      .service-link:focus small,
      .service-link:focus strong,
      .service-link:focus-visible small,
      .service-link:focus-visible strong {
        background: #fff;
      }
      .service-section {
        height: var(--panel-height);
        min-height: 0;
        grid-template-columns: 1fr;
        grid-template-rows: clamp(190px, 28svh, 218px) minmax(0, 1fr);
      }
      .service-copy {
        order: 1;
        padding: 23px 20px 16px;
        overflow: hidden;
      }
      .service-copy .section-number { margin-bottom: 9px; }
      .service-copy .section-title { font-size: clamp(2.25rem, 10.8vw, 3rem); }
      .service-copy .section-body { margin-top: 10px; font-size: .8rem; line-height: 1.5; }
      .service-media { order: 2; min-height: 0; padding: 6px; gap: 6px; }
      .service-media.layout-essentia {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .service-media.layout-kinema {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: repeat(2, minmax(0, 1fr));
      }
      .layout-kinema .media-item:nth-child(1) { grid-area: 1 / 1; }
      .layout-kinema .media-item:nth-child(2) { grid-area: 2 / 1; }
      .service-media.layout-plasma {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: minmax(0, 1.25fr) minmax(0, .75fr);
      }
      .layout-plasma .media-item:nth-child(1) { grid-area: 2 / 1; }
      .layout-plasma .media-item:nth-child(2) { grid-area: 2 / 2; }
      .layout-plasma .media-item:nth-child(3) { grid-area: 1 / 1 / 2 / 3; }
      .service-media.layout-spatia {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: minmax(0, 1fr) minmax(0, .72fr) minmax(0, 1fr);
      }
      .layout-spatia .media-item:nth-child(1) { grid-area: 1 / 1 / 2 / 3; }
      .layout-spatia .media-item:nth-child(2) { grid-area: 2 / 1; }
      .layout-spatia .media-item:nth-child(3) { grid-area: 2 / 2; }
      .layout-spatia .media-item:nth-child(4) { grid-area: 3 / 1 / 4 / 3; }
      .service-media.layout-immersia {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: minmax(0, 1fr) minmax(0, .72fr) minmax(0, 1fr);
      }
      .layout-immersia .media-item:nth-child(1) { grid-area: 1 / 1 / 2 / 3; }
      .layout-immersia .media-item:nth-child(2) { grid-area: 2 / 1; }
      .layout-immersia .media-item:nth-child(3) { display: none; }
      .layout-immersia .media-item:nth-child(4) { grid-area: 2 / 2; }
      .layout-immersia .media-item:nth-child(5) { grid-area: 3 / 1 / 4 / 3; }
      .media-item { min-height: 0; border-radius: 9px; }
      .media-item.tall { grid-row: auto; }
      .contact-section {
        height: var(--panel-height);
        grid-template-columns: 1fr;
        grid-template-rows: clamp(315px, 36svh, 340px) minmax(0, 1fr);
        padding-bottom: 76px;
      }
      .contact-copy {
        justify-content: flex-start;
        padding: 22px 20px 0;
        overflow: hidden;
      }
      .contact-copy.reveal,
      .contact-copy.reveal.is-visible { transform: none; }
      .contact-copy .section-title { font-size: clamp(1.85rem, 8.2vw, 2.4rem); }
      .contact-copy .section-body { margin-top: 9px; font-size: .76rem; }
      .contact-details { gap: 4px; margin-top: 12px; }
      .contact-details a, .contact-details span { font-size: .74rem; }
      .contact-actions {
        position: absolute;
        z-index: 4;
        right: 20px;
        bottom: 20px;
        left: 20px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
        margin: 0;
      }
      .contact-actions .action {
        width: 100%;
        min-width: 0;
        min-height: 42px;
        padding-inline: 8px;
        font-size: .7rem;
      }
      .contact-art { min-height: 0; padding: 10px 20px 12px; }
      .contact-wire {
        width: 100%;
        height: 100%;
        max-width: none;
        object-position: center center;
        transform: none;
      }
      .page-footer { align-items: flex-start; flex-direction: column; }
    }

    @media (max-width: 460px) {
      body:not(.deck-mode) .service-list { grid-template-columns: 1fr; }
      body:not(.deck-mode) .service-media { grid-template-columns: 1fr; grid-template-rows: none; min-height: 0; }
      body:not(.deck-mode) .service-media.layout-spatia > .media-item,
      body:not(.deck-mode) .service-media.layout-immersia > .media-item,
      body:not(.deck-mode) .service-media > .media-item,
      body:not(.deck-mode) .media-item.wide,
      body:not(.deck-mode) .media-item.tall { grid-area: auto; grid-column: auto; grid-row: auto; min-height: 290px; }
      .page-footer img { width: 130px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
      .reveal { opacity: 1; transform: none; }
    }

    /* Index page surface */
    .topbar,
    .page-shell > main > section {
      background-color: var(--index-panel-surface);
    }

    /* Mobile service refinements */
    @media (max-width: 767px) {
      #services .service-list > .service-link:nth-child(n + 3) {
        border-top: 1px solid rgba(18, 17, 15, 0.14);
      }

      #services .service-list > .service-link:nth-child(4) {
        border-bottom: 0;
        box-shadow: 0 1px 0 rgba(20, 19, 17, 0.14);
      }

      #services .service-list > .service-link:nth-child(5) {
        border-right: 1px solid rgba(20, 19, 17, 0.14);
      }

      #plasma .service-media.layout-plasma > .media-item:nth-of-type(1) img,
      #plasma .service-media.layout-plasma > .media-item:nth-of-type(2) img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
      }
    }
  
