/* PLATONIK V27 | Quiet premium motion system.
   Deliberately no decorative lines, sweeping light beams or additional plinths.
   All motion is additive: no asset or layout redesign. */
:root { --v27-ease:cubic-bezier(.22,1,.36,1); --v27-quick:340ms; --v27-slow:780ms; }

/* Hero: an image-load-safe dissolve, with the original image as fallback. */
.site--platonik .hero-product-scene {isolation:isolate;}
.site--platonik .hero-product-scene .v27-scene-ghost {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  z-index:1000!important;
  opacity:1!important;
  object-position:center bottom;
  pointer-events:none;
  transform:translate3d(0,0,0) scale(1);
}
.site--platonik .hero-product-scene .v27-scene-ghost.v27-scene-exit {
  opacity:0!important;
  transform:translate3d(-14px,0,0) scale(.985);
  transition:opacity 730ms var(--v27-ease),transform 820ms var(--v27-ease);
}
.site--platonik .hero-product-scene .hero-scene-image.v27-scene-pending {opacity:0!important;}
.site--platonik .hero-product-scene .hero-scene-image.v27-scene-arrive {
  animation:v27-hero-photo 790ms var(--v27-ease) both!important;
}
@keyframes v27-hero-photo {
  from{opacity:0;transform:translate3d(16px,6px,0) scale(1.012)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
/* Editorial text, staggered, short and never distracting. */
.site--platonik .hero-copy.v27-copy-play .hero-eyebrow {animation:v27-copy-in 530ms var(--v27-ease) both;}
.site--platonik .hero-copy.v27-copy-play .hero-title-main {animation:v27-copy-in 680ms var(--v27-ease) 70ms both;}
.site--platonik .hero-copy.v27-copy-play h1 em {animation:v27-copy-in 650ms var(--v27-ease) 130ms both;}
.site--platonik .hero-copy.v27-copy-play .hero-subtitle {animation:v27-copy-in 690ms var(--v27-ease) 175ms both;}
.site--platonik .hero-copy.v27-copy-play .hero-actions {animation:v27-copy-in 660ms var(--v27-ease) 225ms both;}
@keyframes v27-copy-in {from{opacity:0;transform:translate3d(0,15px,0)}to{opacity:1;transform:translate3d(0,0,0)}}

/* No parallax drag, no orbit glint. Products remain the main focus. */
.site--platonik .hero-product-scene .hero-orbit {opacity:.17!important;border-color:rgba(255,255,255,.2)!important;}
.site--platonik .hero-product-scene .hero-orbit--two {opacity:.08!important;}
.site--platonik .hero-cta,
.site--platonik .hero-step,
.site--platonik .hero-dots button {
  transition:transform var(--v27-quick) var(--v27-ease), background-color 260ms ease,
     box-shadow var(--v27-quick) ease, border-color 260ms ease, opacity 260ms ease!important;
}
.site--platonik .hero-cta:hover {transform:translate3d(0,-3px,0)!important;box-shadow:0 18px 44px rgba(5,23,89,.19)!important;}
.site--platonik .hero-step:hover {transform:translate3d(0,-2px,0)!important;}
.site--platonik .hero-step:active {transform:translate3d(0,0,0) scale(.95)!important;}
.site--platonik .hero-dots button:not(.active):hover {opacity:1;transform:scaleY(1.2);}

/* Fade and lift into view: driven by existing IntersectionObserver. */
@media(prefers-reduced-motion:no-preference) {
  html.motion-ready .reveal-target {
    transform:translate3d(0,22px,0);
    transition:opacity .82s var(--v27-ease),transform .82s var(--v27-ease)!important;
  }
  html.motion-ready .reveal-target.is-visible {transform:translate3d(0,0,0);}
  html.v27-effects-ready .technology.v27-in-view .tech-card {
    animation:v27-card-in 640ms var(--v27-ease) both;
    animation-delay:calc(var(--v27-index,0)*85ms);
  }
  @keyframes v27-card-in {
    from{opacity:0;transform:translate3d(0,16px,0) scale(.988)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
  }
}

/* Product collection: subtle glass treatment and photo fidelity. */
.site--platonik .showcase-card {
  transition:transform 590ms var(--v27-ease), box-shadow 590ms var(--v27-ease),border-color 400ms ease!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:0 17px 48px rgba(5,19,92,.18),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.site--platonik .showcase-card:hover {
  transform:translate3d(0,-5px,0)!important;
  border-color:rgba(255,255,255,.64)!important;
  box-shadow:0 23px 56px rgba(5,17,88,.25),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.site--platonik .showcase-image {
  transition:transform 690ms var(--v27-ease),filter 620ms ease!important;
}
.site--platonik .showcase-card:hover .showcase-image {
  transform:translateX(-50%) translate3d(0,-5px,0) scale(1.016)!important;
}
.site--platonik .showcase-open {
  transition:transform 380ms var(--v27-ease),background 280ms ease,box-shadow 350ms ease!important;
}
.site--platonik .showcase-open:hover {transform:translate3d(2px,-2px,0)!important;box-shadow:0 9px 24px rgba(7,32,113,.20);}
.site--platonik .showcase-category {background:rgba(17,50,153,.13)!important;}
/* Do not add a stand or decoration to new product scenes. */
.site--platonik .showcase-card--editorial .showcase-orbit,
.site--platonik .showcase-card--editorial .showcase-plinth {display:none!important;}

/* Premium but quiet technology visuals. No fake shimmer sweep. */
.site--platonik .tech-visual::after {content:none!important;display:none!important;}
.site--platonik .tech-visual {
  transition:transform 600ms var(--v27-ease),box-shadow 600ms var(--v27-ease),border-color 360ms ease!important;
}
.site--platonik .tech-card button:hover .tech-visual,
.site--platonik .tech-card button:focus-visible .tech-visual {
  transform:translate3d(0,-4px,0) scale(1.025)!important;
  box-shadow:0 19px 48px rgba(7,33,113,.22),inset 0 1px 0 rgba(255,255,255,.3)!important;
  border-color:rgba(255,255,255,.7)!important;
}
.site--platonik .tech-card button:active .tech-visual {transform:translate3d(0,-1px,0) scale(1.005)!important;}

/* About: emphasis on the supplied animated mark. Preserve its real SVG fill. */
.site--platonik .brand-stat--v21 {
  transition:transform 770ms var(--v27-ease), filter 770ms ease!important;
}
.site--platonik .about-grid:hover .brand-stat--v21 {transform:translate3d(0,-3px,0)!important;}
.site--platonik .about-symbol-native {
  filter:drop-shadow(0 20px 29px rgba(7,28,112,.16));
}

/* Shop and navigation: consistent tactile responses. */
.site--platonik .shopping-scene img {
  animation:v27-shop-float 10s ease-in-out infinite alternate!important;
}
@keyframes v27-shop-float {
  from{transform:translate3d(0,3px,0) rotate(-.6deg)}
  to{transform:translate3d(0,-9px,0) rotate(.6deg)}
}
.site--platonik .store-logos a,
.site--platonik .shopping-links > *,
.site--platonik .footer-contact-button {
  transition:transform 420ms var(--v27-ease),background 300ms ease,opacity 300ms ease,box-shadow 420ms ease!important;
}
.site--platonik .store-logos a:hover,
.site--platonik .shopping-links > *:hover {
  transform:translate3d(0,-2px,0)!important;
}
/* Controlled full-screen menu entrance; vertical-scroll behavior stays V26. */
.site--platonik .menu-overlay:not([hidden]) .overlay-col {
  animation:v27-menu-in 540ms var(--v27-ease) both;
  animation-delay:calc(var(--v27-index,0)*65ms);
}
@keyframes v27-menu-in {from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.site--platonik .overlay-col a,.site--platonik .overlay-col button {
  transition:color 220ms ease,opacity 220ms ease,transform 360ms var(--v27-ease)!important;
}
/* Fixed overlays pop in calmly. */
.site--platonik .modal:not([hidden]) .modal-dialog,
.site--platonik .modal:not([hidden]) .catalogue-dialog,
.site--platonik .modal:not([hidden]) .contact-dialog {
  animation:v27-modal-in 370ms var(--v27-ease) both;
}
@keyframes v27-modal-in {from{opacity:0;transform:translate3d(0,14px,0) scale(.992)}to{opacity:1;transform:none}}

/* Mobile: avoid costly blur and oversized parallax. */
@media(max-width:700px) {
  .site--platonik .showcase-card:hover {transform:translate3d(0,-2px,0)!important;}
  .site--platonik .showcase-card:hover .showcase-image {transform:translateX(-50%) translate3d(0,-2px,0)!important;}
  .site--platonik .tech-card button:hover .tech-visual {transform:translate3d(0,-2px,0)!important;}
  .site--platonik .hero-product-scene .v27-scene-ghost.v27-scene-exit {transform:translate3d(-7px,0,0) scale(.99);}
}
@media (prefers-reduced-motion:reduce) {
  .site--platonik .hero-product-scene .v27-scene-ghost {display:none!important;}
  .site--platonik .hero-copy.v27-copy-play *,
  .site--platonik .tech-card,.site--platonik .showcase-card,
  .site--platonik .menu-overlay:not([hidden]) .overlay-col,
  .site--platonik .modal:not([hidden]) .modal-dialog,
  .site--platonik .modal:not([hidden]) .catalogue-dialog,
  .site--platonik .modal:not([hidden]) .contact-dialog,
  .site--platonik .shopping-scene img {animation:none!important;}
  .site--platonik .hero-cta,.site--platonik .hero-step,
  .site--platonik .showcase-card,.site--platonik .showcase-image,
  .site--platonik .tech-visual {transition:none!important;}
}

/* Keep mobile social glyphs clear of the foreground product photography. */
@media (max-width:700px) and (min-height:740px) {
  .site--platonik .hero-product-scene {
    bottom:clamp(118px,15.3svh,152px)!important;
  }
}
