/* V9.6.2 – full-screen luxury intro. Loaded first so it paints before anything else. */
html.boot-lock,html.boot-lock body{overflow:hidden}
.splash{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;min-height:-webkit-fill-available;z-index:2147483000;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:env(safe-area-inset-top) 24px env(safe-area-inset-bottom);
  box-sizing:border-box;margin:0;background:#030303;
  background-image:radial-gradient(ellipse 70% 55% at 50% 48%,rgba(213,180,119,.075) 0%,rgba(20,16,10,.35) 38%,rgba(0,0,0,0) 70%),
                   radial-gradient(ellipse at center,rgba(0,0,0,0) 45%,rgba(0,0,0,.85) 100%);
  cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;
  opacity:1;transition:opacity .75s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s}
.splash.splash-out{opacity:0;visibility:hidden;transition:opacity .75s cubic-bezier(.4,0,.2,1),visibility 0s linear .75s;pointer-events:none}
.splash.hidden{display:none}
.splash-inner{display:flex;flex-direction:column;align-items:center;text-align:center;animation:splashIn 1.1s cubic-bezier(.2,.7,.2,1) both}
.splash-tag{font:500 clamp(9px,1.05vw,12px)/1.2 var(--font,"Inter","Segoe UI",system-ui,sans-serif);letter-spacing:.48em;text-indent:.48em;
  color:rgba(213,180,119,.72);text-transform:uppercase;margin:0 0 clamp(14px,2.2vh,22px)}
.splash-word{margin:0;font:300 clamp(26px,6.4vw,76px)/1.05 var(--font,"Inter","Segoe UI",system-ui,sans-serif);letter-spacing:.2em;text-indent:.2em;
  white-space:nowrap;color:#d5b477;
  background:linear-gradient(100deg,#8a6d3b 0%,#c9a868 30%,#d5b477 40%,#fff3d6 50%,#d5b477 60%,#c9a868 70%,#8a6d3b 100%);
  background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:splashSweep 2.5s cubic-bezier(.45,.05,.35,1) .35s infinite}
.splash-word b{font-weight:500}
.splash-rule{width:min(240px,46vw);height:1px;margin:clamp(18px,3vh,30px) 0 0;background:rgba(213,180,119,.16);position:relative;overflow:hidden}
.splash-rule i{position:absolute;inset:0;transform-origin:left center;transform:scaleX(0);
  background:linear-gradient(90deg,rgba(213,180,119,.1),#d5b477 70%,#fff3d6);animation:splashProgress 2.6s cubic-bezier(.4,0,.2,1) .2s forwards}
.splash.loaded .splash-rule i{animation-duration:.5s}
.splash-skip{position:absolute;bottom:calc(22px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;
  font:400 10px/1 var(--font,system-ui,sans-serif);letter-spacing:.3em;text-indent:.3em;color:rgba(242,238,230,.28);text-transform:uppercase;
  opacity:0;animation:splashFade 1s ease 1.4s forwards}
@keyframes splashIn{from{opacity:0;transform:translateY(6px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes splashSweep{0%{background-position:100% 0}60%,100%{background-position:0% 0}}
@keyframes splashProgress{to{transform:scaleX(1)}}
@keyframes splashFade{to{opacity:1}}
@media (max-width:520px){.splash-word{letter-spacing:.22em;text-indent:.22em;font-size:clamp(24px,8.6vw,36px);line-height:1.25;white-space:normal}.splash-word b{display:block;letter-spacing:.14em;text-indent:.14em}.splash-tag{letter-spacing:.34em;text-indent:.34em;font-size:9px}}
@media (prefers-reduced-motion:reduce){
  .splash-inner,.splash-skip{animation:none;opacity:1}
  .splash-word{animation:none;background-position:50% 0}
  .splash-rule i{animation:none;transform:scaleX(1)}
  .splash,.splash.splash-out{transition:opacity .25s linear,visibility 0s linear .25s}
}
/* hide showroom placeholders until real data has rendered */
html.app-loading #main{visibility:hidden}
img:not([src]),img[src=""]{visibility:hidden}
