/* Prime Creation experiential application layer */
:root{
  --xp-primary:#69e6ff;
  --xp-secondary:#9486ff;
  --xp-ambient:rgba(105,230,255,.12);
  --xp-surface:#071019;
  --xp-speed:14s;
  --xp-intensity:.5;
  --xp-x:50%;
  --xp-y:50%;
}

body.prime-v2{transition:background-color .45s ease,color .3s ease}

/* Each page is its own application personality. */
body.prime-v2[data-prime-theme="home"]{--xp-primary:#86efff;--xp-secondary:#8d83ff;--xp-ambient:rgba(76,201,255,.13);--xp-surface:#030812;--xp-speed:18s;--xp-intensity:.48}
body.prime-v2[data-prime-theme="intro"]{--xp-primary:#8beaff;--xp-secondary:#77b7ff;--xp-ambient:rgba(81,189,255,.1);--xp-surface:#07111a;--xp-speed:16s;--xp-intensity:.34}
body.prime-v2[data-prime-theme="services"]{--xp-primary:#d6f7ff;--xp-secondary:#a387ff;--xp-ambient:rgba(177,133,255,.1);--xp-surface:#08101a;--xp-speed:13s;--xp-intensity:.42}
body.prime-v2[data-prime-theme="music"]{--xp-primary:#55f5d7;--xp-secondary:#7c6cff;--xp-ambient:rgba(68,245,204,.12);--xp-surface:#050b12;--xp-speed:4.4s;--xp-intensity:.62}
body.prime-v2[data-prime-theme="portfolio"]{--xp-primary:#f0f7ff;--xp-secondary:#59dfff;--xp-ambient:rgba(99,220,255,.11);--xp-surface:#07101a;--xp-speed:11s;--xp-intensity:.36}
body.prime-v2[data-prime-theme="video"]{--xp-primary:#ff657c;--xp-secondary:#767dff;--xp-ambient:rgba(255,76,105,.1);--xp-surface:#09080e;--xp-speed:8s;--xp-intensity:.46}
body.prime-v2[data-prime-theme="book"]{--xp-primary:#d7f2ff;--xp-secondary:#c5a66f;--xp-ambient:rgba(192,167,115,.09);--xp-surface:#090d12;--xp-speed:20s;--xp-intensity:.26}
body.prime-v2[data-prime-theme="sprite"]{--xp-primary:#63efff;--xp-secondary:#ff59d5;--xp-ambient:rgba(105,228,255,.14);--xp-surface:#040b12;--xp-speed:5.5s;--xp-intensity:.72}
body.prime-v2[data-prime-theme="process"]{--xp-primary:#a9f7ff;--xp-secondary:#8094ff;--xp-ambient:rgba(121,221,255,.1);--xp-surface:#061019;--xp-speed:6.8s;--xp-intensity:.42}
body.prime-v2[data-prime-theme="studio"]{--xp-primary:#64e4ff;--xp-secondary:#ffb763;--xp-ambient:rgba(255,177,89,.08);--xp-surface:#071019;--xp-speed:9s;--xp-intensity:.44}
body.prime-v2[data-prime-theme="contact"]{--xp-primary:#7dffd1;--xp-secondary:#61cfff;--xp-ambient:rgba(91,255,205,.1);--xp-surface:#04100d;--xp-speed:7s;--xp-intensity:.42}

body.prime-v2 .focus-panel-active,
body.prime-v2 #top:not([hidden]){isolation:isolate}

body.prime-v2 .focus-panel-active:before,
body.prime-v2 #top:not([hidden]):before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.36;
  background:
    radial-gradient(circle at var(--xp-x) var(--xp-y),color-mix(in srgb,var(--xp-primary) 14%,transparent),transparent 29rem),
    linear-gradient(125deg,transparent 20%,color-mix(in srgb,var(--xp-secondary) 5%,transparent),transparent 72%);
  transition:background .35s ease,opacity .35s ease;
}
body.prime-v2 .focus-panel-active>*{position:relative;z-index:1}

/* HOME: orbital drift */
body[data-prime-theme="home"] .hero .stars{opacity:.32!important;animation:xpStars var(--xp-speed) linear infinite!important}
body[data-prime-theme="home"] .hero-message:after{content:"";display:block;width:clamp(7rem,16vw,13rem);height:1px;margin-top:1.8rem;background:linear-gradient(90deg,var(--xp-primary),transparent);transform-origin:left;animation:xpSignal 4.5s ease-in-out infinite}
@keyframes xpStars{50%{transform:translate3d(.8rem,-.45rem,0)}}
@keyframes xpSignal{0%,100%{transform:scaleX(.34);opacity:.32}50%{transform:scaleX(1);opacity:.9}}

/* INTRO: drafting grid */
body[data-prime-theme="intro"] #intro:after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background-image:linear-gradient(rgba(104,222,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(104,222,255,.03) 1px,transparent 1px);background-size:2.6rem 2.6rem;mask-image:linear-gradient(90deg,rgba(0,0,0,.7),transparent 76%);animation:xpBlueprint var(--xp-speed) linear infinite}
@keyframes xpBlueprint{to{background-position:2.6rem 2.6rem}}

/* SERVICES */
body[data-prime-theme="services"] .service-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.09),transparent 58%);transform:translateX(-115%);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
body[data-prime-theme="services"] .service-card:hover:after,body[data-prime-theme="services"] .service-card:focus-visible:after{transform:translateX(115%)}

/* MUSIC */
body[data-prime-theme="music"] .music-core{animation:xpCore var(--xp-speed) ease-in-out infinite!important}
body[data-prime-theme="music"] .music-eq i{animation:xpEq 1.1s ease-in-out infinite alternate!important;transform-origin:bottom}
body[data-prime-theme="music"] .music-eq i:nth-child(3n){animation-duration:.72s!important}body[data-prime-theme="music"] .music-eq i:nth-child(4n){animation-duration:1.42s!important}
@keyframes xpCore{50%{transform:scale(1.035);box-shadow:0 0 48px color-mix(in srgb,var(--xp-primary) 24%,transparent)}}
@keyframes xpEq{from{transform:scaleY(.35);opacity:.38}to{transform:scaleY(1);opacity:.92}}

/* PORTFOLIO */
body[data-prime-theme="portfolio"] .gallery-item{transform-style:preserve-3d;transition:transform .22s ease,border-color .22s ease}
body[data-prime-theme="portfolio"] .gallery-item:hover{transform:perspective(900px) translateY(-3px)}
body[data-prime-theme="portfolio"] .gallery-item:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--card-x,50%) var(--card-y,50%),rgba(255,255,255,.13),transparent 30%);opacity:0;transition:opacity .2s}
body[data-prime-theme="portfolio"] .gallery-item:hover:after{opacity:1}

/* VIDEO */
body[data-prime-theme="video"] .pc-video-shell:before{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 22%,transparent 78%,rgba(0,0,0,.25));mix-blend-mode:screen}
body[data-prime-theme="video"] .pc-video-shell:hover{box-shadow:0 30px 100px rgba(0,0,0,.5),0 0 0 1px color-mix(in srgb,var(--xp-primary) 16%,transparent)!important}

/* BOOK */
body[data-prime-theme="book"] #book .pc-book-mark{transform:perspective(900px) rotateY(-4deg);transition:transform .45s ease,box-shadow .45s ease}
body[data-prime-theme="book"] #book .pc-book-mark:hover{transform:perspective(900px) rotateY(0deg) translateY(-3px);box-shadow:2.4rem 2.7rem 7rem rgba(0,0,0,.52),0 0 0 1px color-mix(in srgb,var(--xp-secondary) 22%,transparent)!important}
body[data-prime-theme="book"] #book:after{content:"ARCHIVE // ACTUATOR // VOLUME I";position:absolute;right:var(--pad);bottom:2rem;color:color-mix(in srgb,var(--xp-secondary) 65%,#8fa5b3);font:700 .5rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em;writing-mode:vertical-rl}

/* SPRIT3RUNN3R */
body[data-prime-theme="sprite"] #sprite:after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background-image:linear-gradient(rgba(103,231,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,81,210,.025) 1px,transparent 1px);background-size:1.35rem 1.35rem;mask-image:radial-gradient(circle at 70% 45%,#000,transparent 63%);animation:xpPixelDrift var(--xp-speed) linear infinite}
body[data-prime-theme="sprite"] #sprite .scan{animation:xpScanner 2.4s linear infinite!important}
@keyframes xpPixelDrift{to{background-position:1.35rem 1.35rem}}
@keyframes xpScanner{0%{transform:translateY(-120%);opacity:0}16%{opacity:.7}84%{opacity:.7}100%{transform:translateY(120%);opacity:0}}

.sprite-web-launch{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  width:100%;
  margin:1rem 0 .2rem;
  padding:1rem 1.05rem;
  border:1px solid rgba(98,236,255,.42);
  border-radius:.9rem;
  background:linear-gradient(120deg,rgba(61,221,255,.15),rgba(255,75,214,.08) 72%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 45px rgba(0,0,0,.25);
  color:white;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.sprite-web-launch:hover,.sprite-web-launch:focus-visible{transform:translateY(-2px);border-color:#8df4ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 20px 60px rgba(28,194,235,.12);outline:0}
.sprite-web-launch span{display:grid;gap:.24rem}.sprite-web-launch b{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.sprite-web-launch small{color:#8faeba;font:600 .56rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.sprite-web-launch i{width:2.45rem;height:2.45rem;display:grid;place-items:center;border:1px solid rgba(138,239,255,.3);border-radius:.72rem;background:#06121a;color:var(--xp-primary);font-style:normal;font-size:1rem}

/* PROCESS */
body[data-prime-theme="process"] .process-step{transition:transform .22s ease,border-color .22s ease}
body[data-prime-theme="process"] .process-step:hover{transform:translateX(.3rem)}
body[data-prime-theme="process"] .process-step:nth-child(1){--xp-delay:0s}body[data-prime-theme="process"] .process-step:nth-child(2){--xp-delay:.35s}body[data-prime-theme="process"] .process-step:nth-child(3){--xp-delay:.7s}body[data-prime-theme="process"] .process-step:nth-child(4){--xp-delay:1.05s}
body[data-prime-theme="process"] .process-step:before{animation:xpNode 3.3s ease-in-out var(--xp-delay,0s) infinite}
@keyframes xpNode{50%{box-shadow:0 0 18px color-mix(in srgb,var(--xp-primary) 32%,transparent)}}

/* STUDIO */
body[data-prime-theme="studio"] .studio-console:after{content:"";position:absolute;inset:.8rem;pointer-events:none;border:1px solid color-mix(in srgb,var(--xp-secondary) 14%,transparent);clip-path:polygon(0 0,28% 0,28% 1px,73% 1px,73% 0,100% 0,100% 100%,68% 100%,68% calc(100% - 1px),24% calc(100% - 1px),24% 100%,0 100%);opacity:.6}

/* CONTACT */
body[data-prime-theme="contact"] #contact form{position:relative;overflow:hidden}
body[data-prime-theme="contact"] #contact form:after{content:"";position:absolute;right:-20%;bottom:-60%;width:70%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--xp-primary) 12%,transparent);border-radius:50%;box-shadow:0 0 0 2rem color-mix(in srgb,var(--xp-primary) 2%,transparent),0 0 0 4rem color-mix(in srgb,var(--xp-primary) 1.4%,transparent);pointer-events:none}

/* Google rating portal */
.prime-rating{
  margin-top:1.1rem;
  padding:1rem;
  border:1px solid color-mix(in srgb,var(--xp-primary) 18%,transparent);
  border-radius:.9rem;
  background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.01));
}
.prime-rating-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}.prime-rating-head p{margin:0;color:#8199a7;font:700 .52rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase}.prime-rating-head strong{display:block;margin-top:.3rem;font-size:.95rem;color:#ecf9fd}.prime-rating-status{color:var(--xp-primary);font:800 .5rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}
.prime-stars{display:flex;gap:.32rem;margin-top:.85rem}.prime-stars button{width:2.5rem;height:2.5rem;border:1px solid rgba(172,228,247,.15);border-radius:.65rem;background:#071019;color:#617581;font-size:1.2rem;cursor:pointer;transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.prime-stars button:hover,.prime-stars button:focus-visible,.prime-stars button.is-on{transform:translateY(-1px);border-color:color-mix(in srgb,var(--xp-primary) 46%,transparent);background:color-mix(in srgb,var(--xp-primary) 8%,#071019);color:#ffd979;outline:0}
.prime-rating-publish{display:none;margin-top:.75rem;color:#d9f8ff;font:700 .63rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;text-decoration:none;letter-spacing:.05em}.prime-rating-publish.is-ready{display:inline-flex;gap:.45rem;align-items:center}.prime-rating-note{margin:.65rem 0 0!important;color:#728995!important;font-size:.68rem!important;line-height:1.45!important}

@media (max-width:780px){
  .sprite-web-launch{padding:.9rem}.sprite-web-launch i{width:2.15rem;height:2.15rem}
  body[data-prime-theme="book"] #book:after{display:none}
}

@media (prefers-reduced-motion:reduce){
  body.prime-v2 *,body.prime-v2 *:before,body.prime-v2 *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
