/* =========================================================
   LHS global opening identity + micro page transitions
   Full brand intro: once per browsing session, with a 30-minute
   cross-tab cooldown. Internal navigation uses a brief identity
   transition only, so page and product names never clutter it.
   ========================================================= */

html.lhs-intro-show,
html.lhs-intro-show body{
  overflow:hidden !important;
}

.lhs-global-intro{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 46%,rgba(206,160,91,.14) 0%,rgba(77,53,26,.055) 29%,rgba(0,0,0,0) 57%),
    linear-gradient(145deg,#100d0a 0%,#060504 49%,#0b0806 100%);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  isolation:isolate;
}

html.lhs-intro-show .lhs-floating-cart,
html.lhs-intro-running .lhs-floating-cart,
html.lhs-intro-show .lhs-quick-actions,
html.lhs-intro-running .lhs-quick-actions,
html.lhs-intro-show .lhs-back-to-top,
html.lhs-intro-running .lhs-back-to-top{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

html.lhs-intro-skip .lhs-global-intro,
html:not(.lhs-intro-show):not(.lhs-intro-running) .lhs-global-intro{
  display:none !important;
}

.lhs-global-intro::before{
  content:"";
  position:absolute;
  left:50%;
  top:47%;
  width:min(570px,64vw);
  aspect-ratio:1;
  border:1px solid rgba(225,187,118,.055);
  border-radius:50%;
  background:radial-gradient(circle,rgba(203,157,84,.085) 0%,rgba(125,83,34,.025) 42%,transparent 69%);
  box-shadow:
    0 0 110px rgba(190,135,57,.045),
    inset 0 0 110px rgba(190,135,57,.025);
  transform:translate(-50%,-50%) scale(.88);
  opacity:0;
  pointer-events:none;
  animation:lhsLuxuryHaloArrive 2.4s cubic-bezier(.2,.75,.22,1) .15s forwards;
}

.lhs-global-intro::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(115deg,rgba(255,255,255,.006) 0,rgba(255,255,255,.006) 1px,transparent 1px,transparent 5px),
    radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.48) 100%);
  opacity:.88;
}

.lhs-global-intro__logo{
  position:relative;
  z-index:1;
  width:min(520px,54vw);
  aspect-ratio:865 / 412;
  opacity:0;
  transform:translateY(14px) scale(.975);
  filter:blur(4px);
  animation:lhsGlobalMarkArrive 1.3s cubic-bezier(.2,.78,.22,1) .22s forwards;
}

.lhs-global-intro__logo::after{
  content:"";
  position:absolute;
  z-index:5;
  left:32%;
  right:32%;
  bottom:19%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(185,132,57,.62) 18%,#e2bd78 50%,rgba(185,132,57,.62) 82%,transparent);
  box-shadow:0 0 13px rgba(218,174,99,.22);
  opacity:0;
  transform:scaleX(.12);
  animation:lhsLuxuryRuleReveal 1.45s cubic-bezier(.22,.78,.2,1) 1.25s forwards;
}

.lhs-global-intro__mark,
.lhs-global-intro__name-image{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}

.lhs-global-intro__mark{
  filter:drop-shadow(0 8px 30px rgba(205,154,70,.14));
  animation:lhsLuxuryGoldBreathe 3.6s ease-in-out 1.45s infinite alternate;
}

.lhs-global-intro__name{
  position:absolute;
  inset:0;
  z-index:3;
  clip-path:inset(0 93.6416% 0 6.3584%);
  animation:lhsGlobalNameType 1.85s cubic-bezier(.64,0,.2,1) .95s forwards;
  filter:drop-shadow(0 4px 16px rgba(220,176,94,.19));
}

.lhs-global-intro__caret{
  display:none;
}

.lhs-global-intro.is-finishing{
  animation:lhsGlobalIntroExit .95s cubic-bezier(.38,0,.2,1) forwards;
}

@keyframes lhsGlobalMarkArrive{
  0%{opacity:0;transform:translateY(14px) scale(.975);filter:blur(4px)}
  58%{opacity:1;filter:blur(.4px)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

@keyframes lhsGlobalNameType{
  from{clip-path:inset(0 93.6416% 0 6.3584%)}
  to{clip-path:inset(0 2.5434% 0 6.3584%)}
}

@keyframes lhsLuxuryHaloArrive{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.88)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1)}
}

@keyframes lhsLuxuryRuleReveal{
  0%{opacity:0;transform:scaleX(.12)}
  38%{opacity:.72}
  100%{opacity:.46;transform:scaleX(1)}
}

@keyframes lhsLuxuryGoldBreathe{
  from{filter:drop-shadow(0 8px 26px rgba(205,154,70,.1))}
  to{filter:drop-shadow(0 8px 36px rgba(221,176,98,.21))}
}

@keyframes lhsGlobalIntroExit{
  from{opacity:1;visibility:visible;pointer-events:auto;filter:brightness(1)}
  to{opacity:0;visibility:hidden;pointer-events:none;filter:brightness(1.08)}
}

/* Internal navigation: compact premium brand transition. */
.lhs-micro-transition{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 49%,rgba(190,136,52,.115) 0%,rgba(12,10,8,.035) 34%,rgba(0,0,0,0) 58%),
    rgba(2,2,2,.985);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,visibility .2s linear;
}

.lhs-micro-transition::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 36%,rgba(0,0,0,.34) 100%);
}

.lhs-micro-transition.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.lhs-micro-transition__inner{
  position:relative;
  z-index:1;
  width:min(310px,48vw);
  aspect-ratio:865 / 412;
  opacity:0;
  transform:translateY(5px) scale(.965);
}

.lhs-micro-transition.is-active .lhs-micro-transition__inner{
  animation:lhsMicroBrandArrive .82s cubic-bezier(.2,.78,.25,1) forwards;
}

.lhs-micro-transition__mark,
.lhs-micro-transition__name{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}

.lhs-micro-transition__mark{
  filter:drop-shadow(0 0 18px rgba(205,154,70,.2));
}

.lhs-micro-transition__name-wrap{
  position:absolute;
  inset:0;
  z-index:3;
  clip-path:inset(0 93.6416% 0 6.3584%);
}

.lhs-micro-transition.is-active .lhs-micro-transition__name-wrap{
  animation:lhsMicroNameReveal .52s steps(12,end) .18s forwards;
}

.lhs-micro-transition__caret{
  position:absolute;
  z-index:4;
  left:6.3584%;
  top:52.65%;
  width:1px;
  height:7.9%;
  min-height:5px;
  background:#e6c274;
  box-shadow:0 0 8px rgba(230,194,116,.72);
  opacity:0;
}

.lhs-micro-transition.is-active .lhs-micro-transition__caret{
  animation:
    lhsMicroCaretMove .52s steps(12,end) .18s forwards,
    lhsMicroCaretBlink .28s steps(1,end) .18s 3;
}

.lhs-micro-transition__line{
  position:absolute;
  z-index:2;
  left:5.8%;
  right:2.1%;
  top:52.4%;
  height:1px;
  overflow:hidden;
  opacity:.56;
}

.lhs-micro-transition__line::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,#b78332 24%,#f0d38a 50%,#b78332 76%,transparent);
  transform:translateX(-108%);
}

.lhs-micro-transition.is-active .lhs-micro-transition__line::before{
  animation:lhsMicroLineSweep .66s cubic-bezier(.2,.8,.2,1) .08s forwards;
}

@keyframes lhsMicroBrandArrive{
  0%{opacity:0;transform:translateY(5px) scale(.965);filter:blur(1.5px)}
  25%{opacity:1;filter:blur(0)}
  72%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

@keyframes lhsMicroNameReveal{
  from{clip-path:inset(0 93.6416% 0 6.3584%)}
  to{clip-path:inset(0 2.5434% 0 6.3584%)}
}

@keyframes lhsMicroCaretMove{
  0%{left:6.3584%;opacity:1}
  100%{left:97.4566%;opacity:1}
}

@keyframes lhsMicroCaretBlink{
  0%,48%{opacity:1}
  49%,100%{opacity:.15}
}

@keyframes lhsMicroLineSweep{
  to{transform:translateX(108%)}
}

@media(max-width:700px){
  .lhs-global-intro::before{width:min(480px,94vw)}
  .lhs-global-intro__logo{width:min(76vw,410px)}
  .lhs-global-intro__logo::after{left:28%;right:28%}
  .lhs-micro-transition__inner{width:min(250px,68vw)}
}

@media(prefers-reduced-motion:reduce){
  .lhs-global-intro::before{opacity:1;transform:translate(-50%,-50%);animation:none}
  .lhs-global-intro__logo{
    opacity:1;
    transform:none;
    filter:none;
    animation:none;
  }
  .lhs-global-intro__logo::after{opacity:.46;transform:scaleX(1);animation:none}
  .lhs-global-intro__mark{animation:none}
  .lhs-global-intro__name{
    clip-path:inset(0 2.5434% 0 6.3584%);
    animation:none;
  }
  .lhs-global-intro__caret{display:none}
  .lhs-micro-transition{transition-duration:.01ms}
  .lhs-micro-transition__inner{opacity:1;transform:none;animation:none !important}
  .lhs-micro-transition__name-wrap{clip-path:inset(0 2.5434% 0 6.3584%);animation:none !important}
  .lhs-micro-transition__caret,
  .lhs-micro-transition__line{display:none}
}
