/* Independent intro concepts; the homepage below stays shared. */
.preview-intro{animation:none!important;perspective:1200px}
.preview-intro::before{display:none!important}
.preview-intro.is-curtain{background:transparent!important}

/* V2: warm copper engraving, circular motifs, folding side doors. */
.preload-v2 .preview-intro{background:#0f171c}
.v2-curtain{position:absolute;z-index:1;top:0;bottom:0;width:50.1%;background:radial-gradient(ellipse at 85% 50%,#49565d,#253039 43%,#0c1318 88%);background-size:130% 130%;animation:v2Breathe 3s ease-in-out infinite alternate;will-change:transform}
.v2-curtain.left{left:0;transform-origin:left center;border-right:1px solid #79878d}
.v2-curtain.right{right:0;transform-origin:right center;border-left:1px solid #79878d;background:radial-gradient(ellipse at 15% 50%,#49565d,#253039 43%,#0c1318 88%)}
.v2-orbit{position:absolute;z-index:2;left:50%;top:50%;aspect-ratio:1;border:1px solid rgba(190,216,222,.35);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.v2-orbit-outer{width:min(78vw,650px);border-style:dashed;animation:v2Orbit 16s linear infinite}
.v2-orbit-inner{width:min(59vw,485px);box-shadow:0 0 55px rgba(66,149,164,.15),inset 0 0 65px rgba(66,149,164,.1);animation:v2OrbitReverse 12s linear infinite}
.v2-crosshair{position:absolute;z-index:3;left:50%;top:50%;width:min(89vw,740px);height:min(89vw,740px);transform:translate(-50%,-50%)}
.v2-crosshair span{position:absolute;width:22px;height:1px;background:#aab6ba;opacity:.65}
.v2-crosshair span:nth-child(1){top:50%;left:0}.v2-crosshair span:nth-child(2){top:50%;right:0}.v2-crosshair span:nth-child(3){top:0;left:50%;transform:rotate(90deg)}.v2-crosshair span:nth-child(4){bottom:0;left:50%;transform:rotate(90deg)}
.v2-mark-wrap{position:absolute;z-index:4;left:50%;top:50%;width:min(32vw,330px);transform:translate(-50%,-50%);filter:drop-shadow(0 18px 27px rgba(0,0,0,.35))}
.v2-mark{display:block;width:100%;overflow:visible;transform:rotate(-7deg)}
.v2-mark path{fill:none;stroke:url(#v2-copper);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:1000;filter:drop-shadow(2px 2px 0 rgba(37,8,3,.8));animation:v2Engrave 1.35s cubic-bezier(.25,.65,.33,1) .15s forwards}
.v2-mark .v2-tooth-right{animation-delay:.35s}
.v2-caption{position:absolute;z-index:4;left:50%;color:#e0e8e8;text-align:center;white-space:nowrap;font:500 13px/1.3 Arial,sans-serif;letter-spacing:.25em;transform:translateX(-50%);opacity:0;animation:v2Caption .6s ease .6s forwards}
.v2-caption-top{top:8%}.v2-caption-bottom{bottom:8%;color:#a4b1b6}
.v2-caption b{font-weight:400;color:#80969e}.v2-caption i{display:inline-block;width:22px;height:1px;margin:0 10px 4px;background:currentColor}
.preview-intro-v2.is-lit .v2-mark{filter:drop-shadow(0 0 12px rgba(219,248,250,.95)) drop-shadow(0 0 45px rgba(93,179,190,.5))}
.preview-intro-v2.is-splitting .v2-mark-wrap{animation:v2MarkExit 1.1s ease-in forwards}
.preview-intro-v2.is-splitting .v2-orbit,.preview-intro-v2.is-splitting .v2-crosshair,.preview-intro-v2.is-splitting .v2-caption{animation:v2DetailsExit .55s ease forwards}
.preview-intro-v2.is-curtain .v2-curtain.left{animation:v2FoldLeft 1.31s cubic-bezier(.47,.01,.25,1) forwards}
.preview-intro-v2.is-curtain .v2-curtain.right{animation:v2FoldRight 1.31s cubic-bezier(.47,.01,.25,1) forwards}
@keyframes v2Breathe{to{background-position:100% 70%}}@keyframes v2Orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes v2OrbitReverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}@keyframes v2Engrave{to{stroke-dashoffset:0}}@keyframes v2Caption{to{opacity:1}}@keyframes v2DetailsExit{to{opacity:0;filter:blur(6px)}}@keyframes v2MarkExit{to{transform:translate(-50%,-50%) scale(1.5) rotate(9deg);opacity:0;filter:blur(9px)}}@keyframes v2FoldLeft{to{transform:translateX(-105%) rotateY(-24deg)}}@keyframes v2FoldRight{to{transform:translateX(105%) rotateY(24deg)}}

/* V3: graphite imaging scan and vertical shutters. */
.preload-v3 .preview-intro{background:#080d10}
.v3-curtain{position:absolute;z-index:1;left:0;right:0;height:50.1%;background:radial-gradient(ellipse at 52% 100%,#263238,#151e23 43%,#080d10 100%);will-change:transform}
.v3-curtain.top{top:0;border-bottom:1px solid rgba(178,191,195,.33)}
.v3-curtain.bottom{bottom:0;transform:rotate(180deg);border-bottom:1px solid rgba(178,191,195,.33)}
.v3-grid{position:absolute;z-index:2;inset:0;background-image:linear-gradient(rgba(170,183,187,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(170,183,187,.04) 1px,transparent 1px);background-size:54px 54px;transform:perspective(600px) rotateX(13deg) scale(1.3)}
.v3-reticle{position:absolute;z-index:3;top:50%;left:50%;width:min(60vw,500px);aspect-ratio:1;border:1px solid rgba(185,199,202,.32);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 24px rgba(130,147,153,.025),0 0 0 48px rgba(130,147,153,.04);animation:v3Reticle 2s ease-in-out infinite alternate}
.v3-scan{position:absolute;z-index:5;left:17%;right:17%;top:10%;height:2px;background:linear-gradient(90deg,transparent,#c8d5d7 18%,#fff 50%,#c8d5d7 82%,transparent);box-shadow:0 0 20px 5px rgba(173,193,198,.45);opacity:0;animation:v3Scan 1.45s ease-in-out .14s forwards}
.v3-mark{position:absolute;z-index:4;left:50%;top:50%;width:min(33vw,315px);overflow:visible;transform:translate(-50%,-50%);filter:drop-shadow(0 0 15px rgba(190,209,212,.28))}
.v3-mark path{fill:none;stroke-linejoin:round;stroke-linecap:round}
.v3-ghost path{stroke:rgba(177,195,199,.28);stroke-width:5;stroke-dasharray:3 11}
.v3-wire{clip-path:inset(0 0 100% 0);animation:v3WireReveal 1.35s linear .2s forwards}
.v3-wire path{stroke:#e2ebeb;stroke-width:1.5;filter:drop-shadow(0 0 6px #9aadb1)}
.v3-data{position:absolute;z-index:4;color:#b7c5c8;font:500 12px/1.7 monospace;letter-spacing:.19em;opacity:0;animation:v3DataIn .6s ease .35s forwards}
.v3-data-left{top:10%;left:8%}.v3-data-right{bottom:10%;right:8%;text-align:right}
.v3-progress{position:absolute;z-index:4;left:50%;bottom:9%;width:min(30vw,240px);height:2px;background:rgba(180,198,201,.2);transform:translateX(-50%)}
.v3-progress span{display:block;width:0;height:100%;background:#dbe6e7;box-shadow:0 0 14px #adbec1;animation:v3Progress 1.55s linear .2s forwards}
.preview-intro-v3.is-lit .v3-mark{filter:drop-shadow(0 0 16px #e0e9e9) drop-shadow(0 0 38px #8ea4ab)}
.preview-intro-v3.is-splitting .v3-mark,.preview-intro-v3.is-splitting .v3-reticle,.preview-intro-v3.is-splitting .v3-grid,.preview-intro-v3.is-splitting .v3-data,.preview-intro-v3.is-splitting .v3-progress{animation:v3Dissolve .65s ease forwards}
.preview-intro-v3.is-curtain .v3-curtain.top{animation:v3LiftTop 1.3s cubic-bezier(.35,0,.25,1) forwards}
.preview-intro-v3.is-curtain .v3-curtain.bottom{animation:v3LiftBottom 1.3s cubic-bezier(.35,0,.25,1) forwards}
@keyframes v3Reticle{to{transform:translate(-50%,-50%) rotate(52deg) scale(1.07)}}@keyframes v3Scan{15%{opacity:1}85%{opacity:1}100%{top:90%;opacity:0}}@keyframes v3WireReveal{to{clip-path:inset(0 0 0 0)}}@keyframes v3DataIn{to{opacity:1}}@keyframes v3Progress{to{width:100%}}@keyframes v3Dissolve{to{opacity:0;filter:blur(12px)}}@keyframes v3LiftTop{to{transform:translateY(-105%) skewY(-3deg)}}@keyframes v3LiftBottom{to{transform:translateY(105%) rotate(180deg) skewY(-3deg)}}
/* V4: the supplied logo assembles on a clean white field. */
.preload-v4 .preview-intro{background:#fff}
.v4-door{position:absolute;z-index:1;top:0;bottom:0;width:50.1%;background:#fff;will-change:transform}
.v4-door.left{left:0}.v4-door.right{right:0}
.v4-logo{position:absolute;z-index:2;left:50%;top:50%;width:min(72vw,690px);display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);will-change:opacity,transform}
.v4-logo img{display:block;max-width:100%;object-fit:contain}
.v4-tooth{height:min(30vh,235px);width:auto;opacity:0;transform:translateY(22px) scale(.9);animation:v4ToothIn .9s cubic-bezier(.16,1,.3,1) .12s forwards}
.v4-wordmark{width:100%;height:auto;margin-top:20px;opacity:0;transform:translateY(14px);animation:v4PartIn .65s ease .55s forwards}
.v4-divider{width:100%;height:auto;margin-top:16px;opacity:0;clip-path:inset(0 50% 0 50%);animation:v4LineIn .75s ease .9s forwards}
.v4-descriptor{width:85%;height:auto;margin-top:10px;opacity:0;transform:translateY(12px);animation:v4PartIn .7s ease 1.25s forwards}
.preview-intro-v4.is-lit .v4-logo{filter:drop-shadow(0 0 14px rgba(78,89,94,.2))}
.preview-intro-v4.is-splitting .v4-logo{animation:v4LogoExit .75s ease forwards}
.preview-intro-v4.is-curtain .v4-door.left{animation:v4DoorLeft 1.28s cubic-bezier(.4,0,.28,1) forwards}
.preview-intro-v4.is-curtain .v4-door.right{animation:v4DoorRight 1.28s cubic-bezier(.4,0,.28,1) forwards}
.preload-v4-main .preview-intro-v4.is-splitting .v4-logo{animation:none}
.preload-v4-main .preview-intro-v4.is-curtain{background:#fff!important;animation:v4BackdropFade 1.28s ease-in-out forwards!important}
@keyframes v4BackdropFade{to{opacity:0}}
@keyframes v4ToothIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes v4PartIn{to{opacity:1;transform:translateY(0)}}
@keyframes v4LineIn{to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes v4LogoExit{to{opacity:0;transform:translate(-50%,-50%) scale(1.08);filter:blur(5px)}}
@keyframes v4DoorLeft{to{transform:translateX(-105%)}}
@keyframes v4DoorRight{to{transform:translateX(105%)}}
@media(max-width:700px){.v2-mark-wrap,.v3-mark{width:min(58vw,300px)}.v2-orbit-outer{width:85vw}.v2-orbit-inner{width:65vw}.v2-caption{font-size:10px;letter-spacing:.16em}.v3-reticle{width:75vw}.v3-data{font-size:9px;letter-spacing:.09em}.v3-data-left{left:5%}.v3-data-right{right:5%}.v4-logo{width:88vw}.v4-tooth{height:min(27vh,195px)}.v4-wordmark{margin-top:18px}.v4-divider{margin-top:12px}.v4-descriptor{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.preview-intro{display:none!important}}
