/* Resinart Marble — stili globali */
* { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; overflow-x: hidden; max-width: 100%; }
  body { font-family: 'Montserrat', system-ui, sans-serif; -webkit-font-smoothing: antialiased; background: #fff; color: #121212; overflow-x: hidden; max-width: 100%; }
  p, span, a { overflow-wrap: break-word; }
  h1, h2, h3 { overflow-wrap: normal; word-break: normal; hyphens: none; white-space: normal; text-wrap: balance; }
  nav#site-nav a, nav#site-nav span { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
  ::selection { background: #00B65E; color: #fff; }
  img { display: block; }
  [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity 1.1s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1); }
  [data-reveal].in { opacity: 1; transform: none; }
  .zoomwrap img { transition: transform 1.2s cubic-bezier(.16,1,.3,1); }
  .zoomwrap:hover img { transform: scale(1.05); }
  .nav-burger { display: none; }
  @media (max-width: 980px) {
    .two-col { grid-template-columns: 1fr !important; gap: 40px !important; }
    .grid-4 { grid-template-columns: repeat(2,1fr) !important; }
    .nav-desktop { display: none !important; }
    .nav-burger { display: flex !important; }
    #top { align-items: flex-start !important; }
    .hero-inner { padding-top: 132px !important; padding-bottom: 56px !important; }
  }
  @media (max-width: 600px) {
    .grid-4 { grid-template-columns: 1fr !important; }
    .grid-3 { grid-template-columns: 1fr !important; }
    nav#site-nav { padding-left: 22px !important; padding-right: 22px !important; padding-top: 18px !important; padding-bottom: 18px !important; }
    .hero-inner { padding-top: 124px !important; }
    section, header, .pad-x { padding-left: 22px !important; padding-right: 22px !important; }
    .studio-stats { grid-template-columns: 1fr !important; width: 100% !important; max-width: 100% !important; gap: 22px 0 !important; }
    .studio-title { font-size: 30px !important; letter-spacing: 0 !important; }
    .sec-text { font-size: 15px !important; letter-spacing: 0 !important; max-width: 100% !important; }
    .cookie-inner { padding-left: 22px !important; padding-right: 22px !important; padding-top: 18px !important; padding-bottom: 18px !important; gap: 16px !important; }
    #cookie-banner button { flex: 1 1 0 !important; }
  }
