/* Original BUILT intro presentation, scoped to the marketing homepage. */
.built-intro{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,90,0,.13),transparent 28rem),
    linear-gradient(180deg,#060606 0%,#080808 58%,#060606 100%);
  opacity:1;
  visibility:visible;
  transition:opacity .5s ease,visibility .5s ease;
}

.built-intro.is-leaving{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

/* BUILT V3.4.7 — licensed Car Logo Reveal intro */
.built-intro-v345{position:fixed;inset:0;z-index:999999;background:#030303;overflow:hidden;isolation:isolate;color:#fff}
.built-intro-v345 .built-reveal-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:contrast(1.08) saturate(.86) brightness(.92);transform:scale(1.01);opacity:1}
.built-intro-v345 .built-reveal-grade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 52%,transparent 30%,rgba(0,0,0,.18) 68%,rgba(0,0,0,.58) 100%);z-index:2}
.built-intro-v345 .built-reveal-smoke,.built-intro-v345 .built-reveal-streaks{display:none!important}
.built-intro-v345 .built-reveal-logo{position:absolute;left:50%;top:67%;width:min(520px,42vw);z-index:5;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%) scale(.82);opacity:0;filter:blur(10px);pointer-events:none}
.built-intro-v345 .built-reveal-logo img{width:100%;height:auto;filter:drop-shadow(0 0 26px rgba(255,255,255,.12)) drop-shadow(0 0 42px rgba(255,82,0,.12))}
.built-intro-v345 .built-reveal-eyebrow{font:800 9px/1 Inter,sans-serif;letter-spacing:.48em;color:#ff5a14;margin:0 0 14px;text-shadow:0 0 18px rgba(255,82,0,.45)}
.built-intro-v345 .built-reveal-rule{width:0;height:2px;margin-top:14px;background:linear-gradient(90deg,transparent,#ff5a14,#fff,#ff5a14,transparent);box-shadow:0 0 16px rgba(255,82,0,.6)}
.built-intro-v345.is-logo .built-reveal-logo{animation:b345Logo .7s cubic-bezier(.16,.9,.2,1) forwards}
.built-intro-v345.is-logo .built-reveal-rule{animation:b345Rule .55s .18s ease-out forwards}
.built-intro-v345 .built-reveal-flare{position:absolute;z-index:4;left:50%;top:55%;width:0;height:2px;background:#fff;box-shadow:0 0 18px 7px #fff,0 0 65px 20px rgba(255,89,20,.55);opacity:0;transform:translate(-50%,-50%)}
.built-intro-v345.is-impact .built-reveal-flare{animation:b345Flare .55s ease-out both}
.built-intro-v345 .built-reveal-blackout{position:absolute;inset:0;background:#000;z-index:8;opacity:0;pointer-events:none}
.built-intro-v345.is-launch .built-reveal-blackout{animation:b345Black .55s .22s ease-in forwards}
.built-intro-v345.is-launch .built-reveal-logo{animation:b345LogoOut .58s ease-in forwards}
.built-intro-v345.is-leaving{animation:b345Exit .38s ease forwards}
@keyframes b345Logo{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.82)}55%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1.035)}100%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}}
@keyframes b345Rule{to{width:72%}}
@keyframes b345Flare{0%{opacity:0;width:0}25%{opacity:1;width:8vw}100%{opacity:0;width:88vw}}
@keyframes b345LogoOut{to{opacity:0;filter:blur(5px);transform:translate(-50%,-50%) scale(1.14)}}
@keyframes b345Black{to{opacity:1}}
@keyframes b345Exit{to{opacity:0;visibility:hidden}}
@media(max-width:760px){.built-intro-v345 .built-reveal-video{object-fit:cover;object-position:center center;transform:scale(1.03)}.built-intro-v345 .built-reveal-logo{top:69%;width:min(330px,76vw)}.built-intro-v345 .built-reveal-eyebrow{font-size:7px;letter-spacing:.38em}}
@media(prefers-reduced-motion:reduce){.built-intro-v345 .built-reveal-logo{opacity:1;filter:none;transform:translate(-50%,-50%)}}



/* =====================================================================
   BUILT V1.1.12 — CANONICAL iOS INTRO
   One path for every supported iPhone/iPad size.
   No older Apple intro override should be added after this block.
   ===================================================================== */

.built-intro-v345 .built-reveal-mobile-fallback{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  z-index:0;
  display:none;
  background:#000;
}

@media (max-width:1366px) and (pointer:coarse){
  .built-intro-v345{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-width:100vw!important;
    min-height:100dvh!important;
    max-width:100vw!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#000!important;
    box-sizing:border-box!important;
  }

  .built-intro-v345 .built-reveal-video,
  .built-intro-v345 .built-reveal-mobile-fallback{
    position:absolute!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-width:100vw!important;
    min-height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    box-sizing:border-box!important;
  }

  .built-intro-v345 .built-reveal-mobile-fallback{
    display:block!important;
    z-index:0!important;
  }

  .built-intro-v345 .built-reveal-video{
    display:block!important;
    z-index:1!important;
  }

  .built-intro-v345.video-fallback .built-reveal-video{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  .built-intro-v345 .built-reveal-logo{
    left:50%!important;
    transform-origin:center center!important;
  }
}

/* ---------- iPhone: reliable animated image, no native video controls ---------- */
@media (max-width:760px) and (pointer:coarse){
  .built-intro-v345.is-apple-iphone .built-reveal-video,
  .built-intro-v345.is-apple-iphone.use-ios-fallback .built-reveal-video{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  .built-intro-v345.is-apple-iphone .built-reveal-mobile-fallback,
  .built-intro-v345.is-apple-iphone.use-ios-fallback .built-reveal-mobile-fallback{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    width:100vw!important;
    height:100dvh!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
    transform:none!important;
  }

  .built-intro-v345.is-apple-iphone .built-reveal-logo{
    top:69%!important;
    width:min(340px,78vw)!important;
    max-width:78vw!important;
  }
}

/* Small/standard/Plus/Pro Max iPhones all stay full-screen; only focal point
   changes slightly so the GT-R remains centered after cover cropping. */
@media (max-width:390px) and (orientation:portrait) and (pointer:coarse){
  .built-intro-v345.is-apple-iphone .built-reveal-mobile-fallback{
    object-position:50% 48%!important;
  }
}
@media (min-width:391px) and (max-width:430px) and (orientation:portrait) and (pointer:coarse){
  .built-intro-v345.is-apple-iphone .built-reveal-mobile-fallback{
    object-position:50% 49%!important;
  }
}
@media (min-width:431px) and (max-width:760px) and (orientation:portrait) and (pointer:coarse){
  .built-intro-v345.is-apple-iphone .built-reveal-mobile-fallback{
    object-position:50% 50%!important;
  }
}
@media (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .built-intro-v345.is-apple-iphone .built-reveal-mobile-fallback{
    object-position:50% 50%!important;
  }
  .built-intro-v345.is-apple-iphone .built-reveal-logo{
    top:66%!important;
    width:min(300px,42vw)!important;
  }
}

/* ---------- iPad mini / iPad / Air / Pro: packaged video full-screen ---------- */
@media (min-width:761px) and (max-width:1366px) and (pointer:coarse){
  .built-intro-v345.is-apple-ipad .built-reveal-video{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    width:100vw!important;
    height:100dvh!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
    transform:none!important;
  }

  .built-intro-v345.is-apple-ipad .built-reveal-mobile-fallback{
    display:block!important;
    width:100vw!important;
    height:100dvh!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
  }

  .built-intro-v345.is-apple-ipad.video-fallback .built-reveal-video{
    opacity:0!important;
    visibility:hidden!important;
  }

  .built-intro-v345.is-apple-ipad .built-reveal-logo{
    top:68%!important;
    width:min(460px,48vw)!important;
  }
}

@media (min-width:761px) and (max-width:1024px) and (orientation:portrait) and (pointer:coarse){
  .built-intro-v345.is-apple-ipad .built-reveal-video,
  .built-intro-v345.is-apple-ipad .built-reveal-mobile-fallback{
    object-position:50% 50%!important;
  }
}
@media (min-width:1025px) and (max-width:1366px) and (orientation:portrait) and (pointer:coarse){
  .built-intro-v345.is-apple-ipad .built-reveal-video,
  .built-intro-v345.is-apple-ipad .built-reveal-mobile-fallback{
    object-position:50% 50%!important;
  }
}
@media (min-width:761px) and (max-width:1366px) and (orientation:landscape) and (pointer:coarse){
  .built-intro-v345.is-apple-ipad .built-reveal-video,
  .built-intro-v345.is-apple-ipad .built-reveal-mobile-fallback{
    object-position:50% 50%!important;
  }
  .built-intro-v345.is-apple-ipad .built-reveal-logo{
    top:66%!important;
    width:min(440px,40vw)!important;
  }
}



/* Default to usable content if JavaScript is unavailable. */
#builtIntro[hidden]{display:none!important}
html.built-marketing-intro-pending{overflow:hidden;overscroll-behavior:none}
html.built-marketing-intro-pending body{overflow:hidden}
html.built-marketing-intro-pending body>:not(#builtIntro){visibility:hidden}
html.built-marketing-intro-pending #builtIntro[hidden]{display:block!important}
