
    @keyframes marqueeRun{from{transform:translateX(0)}to{transform:translateX(-50%)} }
    @keyframes pulseRing{0%,100%{box-shadow:0 0 0 2px rgba(233,77,42,.5),0 0 18px rgba(233,77,42,.22)}50%{box-shadow:0 0 0 3px rgba(233,77,42,.95),0 0 56px rgba(233,77,42,.55)} }
    @keyframes pulseUnknown{0%,100%{box-shadow:0 0 0 1px rgba(233,77,42,.3),0 0 10px rgba(233,77,42,.1)}50%{box-shadow:0 0 0 2px rgba(233,77,42,.7),0 0 28px rgba(233,77,42,.35)} }
    @keyframes bounceArrow{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(9px);opacity:1} }
    @keyframes riftShimmer{0%,100%{opacity:.3}50%{opacity:1} }
    @keyframes spinNode{from{transform:rotate(0deg)}to{transform:rotate(360deg)} }
    @keyframes glitchShift{0%,90%,100%{transform:translate(0)}30%{transform:translate(-2px,1px)}31%{transform:translate(2px,-1px)} }
    @keyframes wipeIn{from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(160% at 50% 50%)} }
    @keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)} }
    @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)} }
    @keyframes orbitSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)} }
    /* Progressive enhancement & AI Scraper Accessibility */
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border-width: 0;
    }
    html.no-js [data-rv] { opacity: 1 !important; transform: none !important; }
    html.no-js .s3d { opacity: 1 !important; transform: none !important; }
    html.no-js .sr { clip-path: none !important; }
    html.no-js .vis-expand { max-height: none !important; opacity: 1 !important; }
    html.no-js #ws-content-wrap-outer,
    html.no-js #ws-route-a,
    html.no-js #ws-route-b { display: block !important; position: relative !important; }
    html.no-js [data-node-panel] { display: none !important; }

    /* Scroll reveal — clip from bottom */
    html.js .sr{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s cubic-bezier(0.16,1,0.3,1);}
    .sr{clip-path:none;}
    .sr.sr-in{clip-path:inset(0 0 0% 0);}
    /* Parallax image containers */
    .par-img-wrap{overflow:hidden;position:relative;}
    .par-img-inner{transform:translateY(12%);transition:transform 0s linear;}
    /* Planet nodes in studio */
    .planet-node{cursor:pointer;transition:transform .5s cubic-bezier(0.16,1,0.3,1);}
    .planet-node:hover{transform:translateY(-12px) scale(1.06);}
    .planet-node.active{transform:translateY(-16px) scale(1.09);}
    .planet-node.active .planet-ring{opacity:1 !important;}
    .planet-ring{opacity:.3;transition:opacity .4s;}
    html{scroll-behavior:smooth;}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    body{overflow-x:hidden;}
    ::-webkit-scrollbar{width:3px;background:#0A0908;}
    ::-webkit-scrollbar-thumb{background:#E94D2A;border-radius:2px;}
    ::selection{background:#E94D2A;color:#0A0908;}
    .nav-link{transition:color .2s;}
    .nav-link:hover{color:#E94D2A !important;}
    .cta-p{transition:background .2s,box-shadow .2s,transform .15s;}
    .cta-p:hover{background:#F58F32 !important;box-shadow:0 0 32px rgba(233,77,42,.42);transform:translateY(-2px);}
    .slink{transition:color .2s,transform .2s;}
    .slink:hover{color:#E94D2A !important;transform:translateX(4px);}
    /* 3D sections */
    .s3d{transition:transform 1.05s cubic-bezier(0.16,1,0.3,1),opacity 1.05s cubic-bezier(0.16,1,0.3,1);will-change:transform,opacity;transform-origin:center 65%;}
    /* Map nodes */
    .anode{cursor:pointer;user-select:none;transition:transform .3s cubic-bezier(0.16,1,0.3,1);}
    .anode:hover .nring{border-color:rgba(233,77,42,.85) !important;box-shadow:0 0 0 2px rgba(233,77,42,.5),0 0 30px rgba(233,77,42,.3) !important;}
    /* Sphere */
    .sphere-col{cursor:pointer;transition:border-color .3s,box-shadow .3s;}
    .sphere-col:hover{box-shadow:0 0 40px rgba(233,77,42,.12);}
    .vis-img{transition:transform .9s cubic-bezier(0.16,1,0.3,1),filter .6s;}
    .vis-expand{transition:max-height .6s cubic-bezier(0.16,1,0.3,1),opacity .4s;}
    .vis-arrow{transition:transform .35s cubic-bezier(0.16,1,0.3,1);}
    .sphere-col:hover .vis-hint{color:rgba(233,77,42,.85) !important;}
    /* Artist card */
    .a-card{transition:transform .14s ease-out,box-shadow .14s ease-out;}
    .a-img{transition:transform .65s cubic-bezier(0.16,1,0.3,1);}
    .a-card:hover .a-img{transform:scale(1.06) !important;}
    /* World overlay */
    #world-overlay{position:fixed;inset:0;z-index:9500;display:none;background:#0A0908;overflow:hidden;}
    #world-overlay.open{display:flex;flex-direction:column;}
    .wovl-panel{animation:fadeUp .6s cubic-bezier(0.16,1,0.3,1) both;}
    .film-hole{width:7px;height:7px;background:#0A0908;border-radius:1px;flex-shrink:0;}
    .ext-card{transition:transform .2s cubic-bezier(0.16,1,0.3,1),box-shadow .2s;}
    .ext-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(233,77,42,.15) !important;}
    .ovl-link-btn{transition:background .2s,transform .15s,box-shadow .15s;}
    .ovl-link-btn:hover{background:#F58F32 !important;transform:translateY(-2px);box-shadow:0 0 24px rgba(233,77,42,.4);}

    /* ============ RESPONSIVE — TABLET ============ */
    @media (max-width: 900px) {
      nav[data-nav] { padding: 0 16px !important; }
      nav[data-nav] > div { gap: 2px !important; overflow-x: auto; scrollbar-width: none; max-width: 62vw; }
      nav[data-nav] > div::-webkit-scrollbar { display: none; }
      nav[data-nav] .nav-link { padding: 5px 7px !important; font-size: 8px !important; }
      nav[data-nav] img { height: 26px !important; }

      #artist-panels-grid { grid-template-columns: 1fr !important; }
      #artist-panels-grid > div { min-height: 300px !important; }

      #studio-planets-row { flex-wrap: wrap !important; gap: 36px !important; row-gap: 48px !important; justify-content: center !important; }
      #studio-planets-row > div { flex: 0 1 200px !important; }
      #studio-planets-row svg { width: 140px !important; height: 140px !important; }

      #journey-dash-grid { grid-template-columns: 1fr !important; grid-template-rows: auto auto auto !important; }
      #journey-dash-grid > div:nth-child(1),
      #journey-dash-grid > div:nth-child(3) { flex-direction: row !important; flex-wrap: wrap; border: none !important; padding: 8px 16px !important; gap: 16px !important; }
      #journey-dash-grid > div:nth-child(1) > div,
      #journey-dash-grid > div:nth-child(3) > div { flex: 1; min-width: 110px; }

      #ws-content-wrap { padding: 14px 20px !important; }

      #wovl-main { flex-direction: column !important; overflow-y: auto !important; overflow-x: hidden !important; -webkit-overflow-scrolling: touch; }
      #wovl-left { flex: 0 0 auto !important; border-right: none !important; border-bottom: 1px solid rgba(52,48,43,.4); padding: 28px clamp(20px,4vw,56px) !important; overflow-y: visible !important; }
      #wovl-right { flex: 0 0 auto !important; overflow-y: visible !important; }
    }

    /* ============ RESPONSIVE — MOBILE ============ */
    @media (max-width: 640px) {
      nav[data-nav] { height: 56px !important; }
      nav[data-nav] > div { max-width: 55vw; }
      nav[data-nav] .nav-link:nth-child(3),
      nav[data-nav] .nav-link:nth-child(4) { display: none !important; }

      [data-visione-grid] { grid-template-columns: 1fr !important; gap: 56px !important; max-width: 340px !important; }

      #astral-wrap-el { height: 560px !important; }
      .anode { transform: translate(-50%,-50%) scale(.68) !important; }
      .anode:hover .nring { box-shadow: none !important; }
      [data-nid="doc"] { top: 6% !important; }
      [data-nid="origini"] { top: 74% !important; }
      #astral-wrap-el [data-node-panel] { min-width: 190px !important; max-width: 240px !important; padding: 8px 14px !important; bottom: 6px !important; font-size: 11px !important; }
      /* Mobile — only show the right (info) box on hover; trama only appears once the world is opened */
      .astral-left-panel { display: none !important; }
      .astral-right-panel { width: 220px !important; left: 50% !important; right: auto !important; transform: translateY(-50%) translateX(-50%) !important; }

      /* Cockpit final section — stack into normal document flow so nothing gets clipped/overlapped */
      #journey-dash-grid { display: flex !important; flex-direction: column !important; overflow-y: auto !important; }
      #journey-dash-grid > div:nth-child(1),
      #journey-dash-grid > div:nth-child(3) { display: none !important; }
      #ws-content-wrap { bottom: auto !important; position: relative !important; padding: 12px 14px !important; }
      section#journey { height: auto !important; min-height: 100vh; overflow: visible !important; }
      #journey-hud { display: none !important; }
      #journey-dashboard { position: relative !important; bottom: auto !important; height: auto !important; margin-top: 24px; }
      #journey-canvas { height: 100% !important; }
    }
    @media (min-width: 641px) {
      .astral-left-panel { max-width: 260px; }

      #studio-planets-row > div { flex: 0 1 44% !important; }
      #studio-planets-row svg { width: 100px !important; height: 100px !important; }

      #tl-ieri > div, #tl-oggi > div { gap: 28px !important; }

      #ao-img { flex: 1 1 100% !important; min-height: 240px !important; border-radius: 16px 16px 0 0 !important; }
      #artist-panel { flex-direction: column !important; }
      #artist-panel > div:nth-child(3) { padding: 32px 24px !important; }

      #journey-dash-grid { display: flex !important; flex-direction: column !important; overflow-y: auto !important; }
      #journey-dash-grid > div:nth-child(1),
      #journey-dash-grid > div:nth-child(3) { display: none !important; }
      #ws-content-wrap { bottom: auto !important; position: relative !important; padding: 12px 14px !important; }
      section#journey { height: auto !important; min-height: 100vh; overflow: visible !important; }
      #journey-hud { display: none !important; }
      #journey-dashboard { position: relative !important; bottom: auto !important; height: auto !important; margin-top: 24px; }
      #journey-canvas { height: 100% !important; }

      footer div[style*="justify-content:space-between"] { gap: 28px !important; }
    }

    /* ============ TABLET — Faceless card centered ============ */
    @media (min-width: 641px) and (max-width: 1024px) {
      .ext-card[data-artist="faceless"] { grid-column: 1 / -1 !important; max-width: 340px; margin: 0 auto; width: 100%; }
      .ext-card[data-artist="faceless"] > div { flex-direction: column !important; }
      .ext-card[data-artist="faceless"] #faceless-img { flex: 0 0 180px !important; width: 100% !important; }
      .ext-card[data-artist="faceless"] #faceless-img img { min-height: 100% !important; }
      .ext-card[data-artist="faceless"] #faceless-info { align-items: center !important; text-align: center !important; }
      .ext-card[data-artist="faceless"] #faceless-info > div:first-child { width: 100%; }
      .ext-card[data-artist="faceless"] #faceless-info p { text-align: justify !important; text-align-last: center !important; }
    }
  