/* Launch site shell for the /experience/* product pages.
   GENERATED from the <style> blocks of site/experience.html (2026-09-26) so the header,
   menu and footer render exactly as on /experience. If the /experience shell styles
   change, regenerate this file from that page. */
:root{--ink:#150a2e;--body:#4a4160;--muted:#6f6785;--p1:#5b21b6;--p2:#6d28d9;--p3:#7c3aed;--p4:#a855f7;
  --head:'Oswald',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Lato',Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;
  -webkit-font-smoothing:antialiased}
img,video{max-width:100%}
h1,h2,h3{font-family:var(--head);letter-spacing:.3px;margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px;position:relative;z-index:2}
.pad{padding:clamp(64px,9vw,110px) 0}
.center{text-align:center}
.sec-head h2{font-size:clamp(2.1rem,4.6vw,3.1rem);line-height:1.08;margin-bottom:14px}
.sec-head p{max-width:46em;margin:0 auto;font-size:clamp(1rem,1.3vw,1.14rem)}
.g{background:linear-gradient(90deg,#b06bff,#e9d5ff 45%,#fbbf24);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* header: transparent over the galaxy hero, same presence as /custom */
.xhd{position:relative;z-index:90}
.xhd-in{max-width:1240px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.xhd-logo img{display:block;height:clamp(96px,11vw,150px);width:auto}
.xhd-right{display:flex;align-items:center;gap:10px}
.nav-ghost{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#EDE9FE;
  font-family:var(--head);font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  padding:8px 14px 8px 8px;border-radius:999px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);transition:background .2s}
.nav-ghost:hover{background:rgba(255,255,255,.16)}
.nav-ghost .gi{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;
  background:linear-gradient(150deg,#5b21b6,#7c3aed);color:#fff;box-shadow:0 4px 12px rgba(91,33,182,.45)}
@media(max-width:560px){.nav-ghost span:not(.gi){display:none}.nav-ghost{padding:8px}}
/* hero (DARK: galaxy video) */
.hero{position:relative;overflow:hidden;background:#120A24;margin-top:-176px;padding:196px 0 76px;text-align:center}
@media(max-width:600px){.hero{margin-top:-140px;padding-top:168px}}
/* Corey, 2026-09-07: the device stills came out and this clip took their place, so
   it is the subject now rather than ambient texture - carried brighter, with the veil
   pulled back everywhere except behind the copy, which still has to stay readable. */
.amb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.92}
.hero-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(46% 52% at 50% 44%,rgba(12,6,28,.82),rgba(12,6,28,.42) 62%,transparent 78%),
  linear-gradient(180deg,rgba(18,10,36,.78),rgba(18,10,36,.24) 42%,rgba(18,10,36,.55) 82%,#120A24 99%)}
.hero h1{color:#fff;font-size:clamp(2.5rem,5.6vw,4rem);line-height:1.1;max-width:15em;margin:0 auto 20px}
.hero .sub{color:#d8cef5;font-size:clamp(1.02rem,1.5vw,1.22rem);max-width:44em;margin:0 auto 34px}
/* aura buttons (always-on rainbow ring, same as sitewide) */
.gsw{position:relative;display:inline-flex}
.gsw-glow{position:absolute;inset:-5px;z-index:-1;border-radius:999px;pointer-events:none;
  background-image:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899,#f97316,#3b82f6);
  background-size:300% 300%;filter:blur(7px);opacity:.75;animation:gswSlide 6s linear infinite}
.gsw:hover .gsw-glow{opacity:1}
@keyframes gswSlide{to{background-position:300% 0%}}
.gsw-btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--head);font-weight:600;font-size:1rem;letter-spacing:.5px;text-transform:uppercase;
  text-decoration:none;padding:16px 30px;border-radius:999px;transition:transform .2s,box-shadow .2s}
.gsw-btn:hover{transform:translateY(-1px)}
.gsw-btn.primary{--fill:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 14px 34px rgba(124,58,237,.42)}
.gsw-btn.ghost{--fill:#fff;color:var(--ink);border:1px solid rgba(21,10,46,.12)}
.hero-ctas{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
/* demos (LIGHT: blueprint depth like the /custom wall) */
#demos{position:relative;background:#fff}
#demos::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(900px 520px at 12% 6%,rgba(124,58,237,.065),transparent 60%),
    radial-gradient(820px 540px at 88% 30%,rgba(245,158,11,.05),transparent 60%),
    repeating-linear-gradient(0deg,rgba(21,10,46,.04) 0 1px,transparent 1px 44px),
    repeating-linear-gradient(90deg,rgba(21,10,46,.04) 0 1px,transparent 1px 44px);
  -webkit-mask:radial-gradient(125% 92% at 50% 42%,#000 44%,transparent 100%);
  mask:radial-gradient(125% 92% at 50% 42%,#000 44%,transparent 100%)}
#demos .sec-head p{color:var(--muted)}
.apps-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,54px);max-width:1180px;margin:40px auto 0}
@media(max-width:900px){.apps-grid{grid-template-columns:1fr;max-width:580px}}
.app-demo{margin:0;min-width:0}
.app-tab{background:#222;border:4px solid #6C6C6C;border-radius:26px;padding:12px;
  box-shadow:0 18px 44px rgba(20,8,46,.28),inset 0 0 0 2px #000}
.app-screen{position:relative;border-radius:16px;overflow:hidden;background:#0b0716;
  -webkit-mask-image:-webkit-radial-gradient(white,black)}
.app-screen iframe{display:block;width:1024px;height:1180px;border:0;background:#fff;transform-origin:0 0}
.shot-screen{position:relative;width:100%;aspect-ratio:1280/860;overflow:hidden;border-radius:16px;background:#0b0716}
.shot-screen img{display:block;position:absolute;top:0;left:0;width:100%;height:auto;animation:shotScrollSM 17s ease-in-out infinite}
@keyframes shotScrollSM{0%,6%{transform:translateY(0)}50%,58%{transform:translateY(-78.85%)}100%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce-motion-off){.shot-screen img{animation:none}}
.snap-badge{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  background:rgba(11,7,22,.72);color:#e8dcff;font-size:.72rem;font-weight:700;letter-spacing:.06em;
  padding:5px 10px;border-radius:999px;text-transform:uppercase}
.app-demo figcaption{text-align:center;margin-top:18px;color:var(--body)}
.app-demo figcaption b{display:block;font-family:var(--head);font-size:1.22rem;letter-spacing:.4px;color:var(--ink);text-transform:none}
.app-demo figcaption .tag{display:block;font-size:.94rem;margin:4px 0 12px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 14px}
.chips span{font-size:.78rem;font-weight:700;letter-spacing:.04em;color:#5b21b6;
  background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.25);border-radius:999px;padding:6px 12px}
/* Filled purple pill with a white halo, so it reads the same on the white section and
   the dark front-desk section. The fill sits on ::after ABOVE the glow: a negative
   z-index child paints over its parent's own background, so a plain `background` here
   would end up under the blur. */
.app-open{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;border-radius:999px;border:0;background:transparent;color:#fff;text-decoration:none;
  font-weight:700;font-size:.9rem;letter-spacing:.01em;
  transition:transform .2s ease,filter .2s ease}
/* white core so it reads as a white glow on the dark section, violet outer ring so the
   halo is still visible where the same button sits on the white section */
.app-open::before{content:"";position:absolute;inset:-9px;z-index:-2;border-radius:999px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,255,255,.92),rgba(192,132,252,.78) 56%,rgba(147,51,234,0));
  filter:blur(11px);opacity:.9;transition:opacity .25s ease,filter .25s ease}
.app-open::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:999px;pointer-events:none;
  background:linear-gradient(135deg,#7c3aed,#a855f7)}
.app-open:hover{transform:translateY(-1px)}
.app-open:hover::before{opacity:1;filter:blur(12px)}
.hand-note{display:block;text-align:center;font-family:'Caveat',cursive;font-size:1.7rem;font-weight:700;
  color:#7c3aed;margin:26px 0 0;transform:rotate(-2deg)}
/* capabilities (DARK: stars video, glass cards) */
#build{position:relative;overflow:hidden;background:#120A24}
.stars-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.5;pointer-events:none}
.stars-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(70% 60% at 50% 28%,rgba(124,58,237,.14),transparent 65%),rgba(10,6,23,.45)}
#build .sec-head h2{color:#fff}
#build .sec-head p{color:#d8cef5}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1120px;margin:44px auto 0}
@media(max-width:1000px){.cap-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cap-grid{grid-template-columns:1fr;max-width:520px}}
.cap{position:relative;overflow:hidden;border-radius:18px;padding:26px 22px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03));
  border:1px solid rgba(168,85,247,.28);box-shadow:0 20px 50px -20px rgba(5,6,16,.6);
  transition:transform .28s cubic-bezier(.32,.72,0,1),border-color .28s,box-shadow .28s}
.cap::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1.5px;
  background:linear-gradient(90deg,transparent,rgba(196,181,253,.8),transparent)}
.cap:hover{transform:translateY(-5px);border-color:rgba(196,181,253,.55);
  box-shadow:0 30px 70px -24px rgba(124,58,237,.55)}
.cap .ic{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;margin-bottom:16px;
  background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-size:1.2rem;
  box-shadow:0 8px 18px -6px rgba(124,58,237,.6),inset 0 1px 0 rgba(255,255,255,.3)}
.cap h3{color:#fff;font-size:1.1rem;margin-bottom:8px}
.cap p{color:#cfc4ee;font-size:.93rem;line-height:1.6;margin:0}
#desks{position:relative;overflow:hidden;background:#120A24}
/* was near-white text for the dark section only, but the same class is reused on the
   white "Try the real apps" section, where it rendered invisible */
.desk-open{color:#fff}
/* capabilities stay DARK glass, matching /custom's features section */
#build .sec-head h2{color:#fff}
#build .cap{overflow:hidden}
/* laser lines shooting along the card edges, desynced per card */
#build .cap::before{content:"";position:absolute;top:0;left:-36%;height:2px;width:36%;z-index:3;border-radius:2px;
  background:linear-gradient(90deg,transparent,#a855f7,#e9d5ff,#a855f7,transparent);
  animation:capTraceTop 3.8s linear infinite;animation-delay:calc(var(--i,0) * -.63s)}
@keyframes capTraceTop{0%{left:-36%}100%{left:100%}}
#build .cap::after{content:"";position:absolute;bottom:0;right:-36%;height:2px;width:36%;z-index:3;border-radius:2px;
  background:linear-gradient(90deg,transparent,#a855f7,#e9d5ff,#a855f7,transparent);
  animation:capTraceBot 3.8s linear infinite;animation-delay:calc(var(--i,0) * -.63s - 1.9s)}
@keyframes capTraceBot{0%{right:-36%}100%{right:100%}}
#build .cap-beam{position:absolute;right:0;top:-36%;width:2px;height:36%;z-index:3;border-radius:2px;pointer-events:none;
  background:linear-gradient(180deg,transparent,#a855f7,#e9d5ff,#a855f7,transparent);
  animation:capTraceSide 3.8s linear infinite;animation-delay:calc(var(--i,0) * -.63s - .95s)}
@keyframes capTraceSide{0%{top:-36%}100%{top:100%}}
#build .build-cta{display:flex;justify-content:center;margin-top:44px}
/* final CTA back to LIGHT so the page keeps breathing */
#dream .sec-head p{color:var(--muted)!important}
#dream .dream-script{color:#7c3aed;text-shadow:none}
#dream .idea-chips span{color:#5b21b6;background:rgba(124,58,237,.07);border-color:rgba(124,58,237,.28)}
/* booking + faq */
#book{position:relative;overflow:hidden;background:#120A24;scroll-margin-top:16px}
.book-call{margin-top:18px}
.book-call-btn{display:inline-flex;align-items:center;gap:9px;padding:12px 24px;border-radius:999px;
  background:#fff;color:var(--ink);text-decoration:none;font-family:var(--head);font-weight:600;font-size:.92rem;
  letter-spacing:.4px;text-transform:uppercase;border:1px solid rgba(21,10,46,.12);transition:transform .2s}
.book-call-btn:hover{transform:translateY(-1px)}
.book-stage{max-width:1000px;margin:38px auto 0;background:#fff;border-radius:22px;padding:10px;
  border:1px solid rgba(168,85,247,.35);box-shadow:0 30px 70px -24px rgba(5,6,16,.7)}
.book-frame{display:block;width:100%;min-height:640px;border:0;border-radius:16px}
#faq{position:relative;background:#fff}
#faq::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(760px 480px at 86% 14%,rgba(124,58,237,.055),transparent 60%),
    repeating-linear-gradient(0deg,rgba(21,10,46,.03) 0 1px,transparent 1px 44px),
    repeating-linear-gradient(90deg,rgba(21,10,46,.03) 0 1px,transparent 1px 44px);
  -webkit-mask:radial-gradient(125% 92% at 50% 42%,#000 44%,transparent 100%);
  mask:radial-gradient(125% 92% at 50% 42%,#000 44%,transparent 100%)}
#faq .sec-head p{color:var(--muted)}
.faq-list{max-width:820px;margin:38px auto 0;position:relative;z-index:1}
.faq-list details{background:#fff;border:1px solid rgba(124,58,237,.18);border-radius:16px;
  padding:4px 22px;margin-bottom:12px;box-shadow:0 10px 26px -14px rgba(91,33,182,.25);
  transition:border-color .2s,box-shadow .2s}
.faq-list details:hover{border-color:rgba(124,58,237,.4)}
.faq-list details[open]{border-color:rgba(124,58,237,.45);box-shadow:0 16px 38px -16px rgba(91,33,182,.35)}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:16px 0;font-family:var(--head);font-weight:600;font-size:1.05rem;color:var(--ink)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{color:#7c3aed;transition:transform .3s}
.faq-list details[open] summary i{transform:rotate(180deg)}
.faq-list details p{color:var(--body);font-size:.95rem;line-height:1.65;margin:0;padding:0 0 18px}
/* idea-to-live strip */
#path{position:relative;background:#fff}
#path::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(760px 480px at 14% 12%,rgba(124,58,237,.06),transparent 60%),
    radial-gradient(720px 480px at 88% 80%,rgba(245,158,11,.05),transparent 60%),
    repeating-linear-gradient(0deg,rgba(21,10,46,.035) 0 1px,transparent 1px 44px),
    repeating-linear-gradient(90deg,rgba(21,10,46,.035) 0 1px,transparent 1px 44px);
  -webkit-mask:radial-gradient(125% 92% at 50% 42%,#000 44%,transparent 100%);
  mask:radial-gradient(125% 92% at 50% 42%,#000 44%,transparent 100%)}
#path .sec-head p{color:var(--muted)}
#path .flow{position:relative;max-width:1120px;margin:52px auto 0}
#path .flow-track{position:absolute;top:38px;left:12.5%;right:12.5%;height:3px;border-radius:99px;
  background:linear-gradient(90deg,rgba(147,51,234,.18),rgba(147,51,234,.32),rgba(245,158,11,.3));
  transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.7,.3,1) .2s}
#path .flow.in .flow-track{transform:scaleX(1)}
#path .flow-pulse{position:absolute;top:-4px;width:96px;height:11px;margin-left:-48px;border-radius:99px;opacity:0;
  background:linear-gradient(90deg,transparent,#b06bff,#fbbf24,transparent);
  filter:drop-shadow(0 0 10px rgba(176,107,255,.7))}
#path .flow.in .flow-pulse{animation:flowPulse 3.8s cubic-bezier(.45,0,.55,1) 1.3s infinite}
@keyframes flowPulse{0%{left:0;opacity:0}12%{opacity:1}82%{opacity:1}100%{left:100%;opacity:0}}
#path .flow-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;z-index:2;margin:0;padding:0}
#path .fstep{position:relative;text-align:center;opacity:0;transform:translateY(22px);
  transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--i) * .13s + .25s)}
#path .flow.in .fstep{opacity:1;transform:none}
#path .fnode{position:relative;z-index:2;width:78px;height:78px;margin:0 auto 24px;border-radius:22px;display:grid;place-items:center;
  background:linear-gradient(160deg,#fff,#f3ecff);border:1px solid rgba(176,107,255,.4);
  box-shadow:0 12px 30px rgba(124,58,237,.24),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
#path .fnode i{font-size:1.6rem;color:#7c3aed;display:inline-block}
#path .fnode::before{content:"";position:absolute;inset:-9px;border-radius:inherit;z-index:-1;
  background:radial-gradient(closest-side,rgba(167,110,255,.42),transparent 72%);
  animation:fnPulse 3.2s ease-in-out infinite}
@keyframes fnPulse{0%,100%{opacity:.35;transform:scale(.94)}50%{opacity:.85;transform:scale(1.06)}}
#path .fstep:nth-child(2) .fnode::before{animation-delay:.5s}
#path .fstep:nth-child(3) .fnode::before{animation-delay:1s}
#path .fstep:nth-child(4) .fnode::before{animation-delay:1.5s}
#path .fstep:hover .fnode{transform:translateY(-5px) scale(1.06);
  box-shadow:0 20px 44px rgba(124,58,237,.4),inset 0 1px 0 rgba(255,255,255,1)}
#path .fnum{position:absolute;top:-9px;right:-9px;width:27px;height:27px;border-radius:50%;border:2px solid #fff;
  background:linear-gradient(140deg,#6d28d9,#7c3aed);color:#fff;font-family:var(--head);font-weight:700;font-size:.8rem;
  display:grid;place-items:center;box-shadow:0 4px 12px rgba(124,58,237,.45)}
#path .fcard{position:relative;overflow:hidden;border-radius:18px;padding:22px 20px;
  background:linear-gradient(170deg,#fff,#fbf8ff);border:1px solid rgba(21,10,46,.09);
  box-shadow:0 10px 30px rgba(20,8,46,.07);
  transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .3s}
#path .fcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#6d28d9,#b06bff,#fbbf24);
  transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.16,1,.3,1)}
#path .flow.in .fcard::before{transform:scaleX(1)}
#path .fstep:nth-child(2) .fcard::before{transition-delay:.12s}
#path .fstep:nth-child(3) .fcard::before{transition-delay:.24s}
#path .fstep:nth-child(4) .fcard::before{transition-delay:.36s}
#path .fstep:hover .fcard{transform:translateY(-6px);border-color:#ddd0fb;box-shadow:0 22px 48px rgba(124,58,237,.2)}
#path .fcard h3{color:var(--ink);font-size:1.12rem;margin-bottom:8px}
#path .fcard p{color:var(--body);font-size:.93rem;line-height:1.6;margin:0}
/* icons pop as the pulse sweeps past each node, phase-matched to flowPulse 3.8s/1.3s */
@keyframes pathPop{0%,3%{transform:scale(1)}8%{transform:scale(1.45);color:#5b21b6;
  text-shadow:0 0 18px rgba(176,107,255,.85)}16%{transform:scale(1)}100%{transform:scale(1)}}
#path .flow.in .fstep:nth-child(1) .fnode i{animation:pathPop 3.8s infinite 2.21s}
#path .flow.in .fstep:nth-child(2) .fnode i{animation:pathPop 3.8s infinite 2.93s}
#path .flow.in .fstep:nth-child(3) .fnode i{animation:pathPop 3.8s infinite 3.47s}
#path .flow.in .fstep:nth-child(4) .fnode i{animation:pathPop 3.8s infinite 4.19s}
#path .flow-cta{display:flex;justify-content:center;margin-top:46px}
@media(max-width:900px){
  #path .flow-steps{grid-template-columns:1fr;gap:0}
  #path .flow-track{display:none}
  #path .fstep{display:grid;grid-template-columns:78px 1fr;gap:20px;text-align:left;padding-bottom:26px}
  #path .fnode{margin:0}
  #path .fcard{background:transparent;border:0;box-shadow:none;padding:6px 0 0}
  #path .fcard::before{display:none}
  #path .fstep:hover .fcard{transform:none;box-shadow:none}
}
/* polish pass */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--head);font-size:.74rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:#c4b5fd;margin-bottom:16px}
.eyebrow.dark-on-light{color:#7c3aed}
.hero .eyebrow{font-size:1.11rem;letter-spacing:.26em}
.trust{list-style:none;display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin:30px 0 0;padding:0}
.trust li{color:#b9a8e8;font-size:.9rem;display:inline-flex;align-items:center;gap:8px}
.trust li i{color:#4ade80}
.app-tab{position:relative;transition:transform .3s cubic-bezier(.32,.72,0,1),box-shadow .3s}
.app-demo:hover .app-tab{transform:translateY(-6px);box-shadow:0 30px 60px rgba(20,8,46,.38),inset 0 0 0 2px #000}
.app-demo{position:relative}
.live-badge{position:absolute;top:20px;right:22px;z-index:5;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--head);font-size:.66rem;font-weight:700;letter-spacing:.18em;color:#fff;
  background:rgba(10,6,23,.72);border:1px solid rgba(74,222,128,.5);border-radius:999px;padding:5px 11px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.live-badge i{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;
  animation:livePulse 1.6s ease-in-out infinite}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
#build{position:relative}
#build::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(820px 520px at 85% 10%,rgba(124,58,237,.06),transparent 60%),
    repeating-linear-gradient(0deg,rgba(21,10,46,.035) 0 1px,transparent 1px 44px),
    repeating-linear-gradient(90deg,rgba(21,10,46,.035) 0 1px,transparent 1px 44px);
  -webkit-mask:radial-gradient(120% 90% at 50% 40%,#000 45%,transparent 100%);
  mask:radial-gradient(120% 90% at 50% 40%,#000 45%,transparent 100%)}
#build .cap{border:1px solid rgba(124,58,237,.22)}
.dream-script{display:block;font-family:'Caveat',cursive;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;
  color:#d8b4fe;text-shadow:0 0 20px rgba(196,181,253,.5);transform:rotate(-2deg);margin-bottom:6px}
.idea-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:720px;margin:30px auto 0}
.idea-chips span{font-family:var(--head);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#EDE9FE;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));
  border:1px solid rgba(168,85,247,.4);border-radius:999px;padding:9px 16px;
  animation:chipFloat 5s ease-in-out infinite}
.idea-chips span:nth-child(2n){animation-delay:-1.6s}
.idea-chips span:nth-child(3n){animation-delay:-3.1s}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
/* final CTA (LIGHT) */
#dream .sec-head p{color:var(--muted)}
#dream .hero-ctas{margin-top:30px}
/* footer (cosmic, mirrors /custom) */
.xfoot{position:relative;overflow:hidden;background:#120A24;padding:56px 0 30px;color:#d8cef5}
.xfoot .stars-bg{opacity:.4}
.xfoot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px}
.xfoot img{height:92px;width:auto;display:block}
.xfoot nav{display:flex;gap:26px;flex-wrap:wrap}
.xfoot nav a{color:#EDE9FE;text-decoration:none;font-family:var(--head);font-size:.86rem;
  letter-spacing:.08em;text-transform:uppercase}
.xfoot nav a:hover{color:#fff}
.xfoot .copy{width:100%;text-align:center;border-top:1px solid rgba(255,255,255,.12);
  margin-top:30px;padding-top:22px;font-size:.85rem;color:#b9a8e8}
@media(prefers-reduced-motion:no-preference){.reveal{animation:rise .7s cubic-bezier(.16,1,.3,1) both}}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
/* headline keyword pop - shiny vibrant purple, matches the case study pages */
.pop,.gold-grad,.g{background:linear-gradient(90deg,#5b21b6,#7c3aed 26%,#b06bff 50%,#7c3aed 74%,#5b21b6);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:popShine 6s linear infinite}
.cosmic .pop,.hero-dark .pop,.dark .pop,.cosmic .g,.hero-dark .g,.dark .g{background-image:linear-gradient(90deg,#9333ea,#b06bff 26%,#e9d5ff 50%,#b06bff 74%,#9333ea)}
@keyframes popShine{to{background-position:300% 0}}
@media (prefers-reduced-motion:reduce-motion-off){.pop,.gold-grad{animation:none}}
/* animated aura behind the buttons - ported from launchautomation.ai/insurance */
.gsw-btn{position:relative;isolation:isolate}
.gsw-btn::before{content:"";position:absolute;inset:-5px;z-index:-2;border-radius:999px;pointer-events:none;background-image:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899,#f97316,#3b82f6);background-size:300% 300%;filter:blur(7px);opacity:.75;animation:ctaAura 6s linear infinite;transition:opacity .3s ease}
.gsw-btn::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:999px;pointer-events:none;background:var(--fill,transparent)}
.gsw-btn:hover::before{opacity:1}
@keyframes ctaAura{to{background-position:200% 0%}}
@media (prefers-reduced-motion:reduce-motion-off){.gsw-btn::before{animation:none;opacity:.55}}
/* footer */
footer.unifoot{overflow:hidden;padding:58px 0 26px;color:#e2e9f6;text-align:left;width:100%;position:relative;background:radial-gradient(820px 480px at 82% 2%,rgba(165,95,255,.32),transparent 60%),radial-gradient(680px 460px at 6% 98%,rgba(110,60,210,.26),transparent 60%),linear-gradient(160deg,#0a0617,#140a30 52%,#090514);border-top:1px solid rgba(150,90,255,.22)}
footer.unifoot>.wrap{position:relative;z-index:1}
.unifoot .fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px;align-items:start}
.unifoot .flogo-link{display:block;line-height:0;margin:-46px 0 -30px -10px}
/* the -46px bottom pulled the about text over the logo: the PNG only carries 43px of
   transparent padding at this size, so the paragraph landed on the glyphs */
.fbrand p{margin-top:0}
.unifoot .flogo{display:block;width:100%;max-width:300px;height:auto}
.unifoot .fbrand p{color:#cfd9ec;font-size:.92rem;max-width:300px;line-height:1.6;margin-top:-4px}
.unifoot .flbtn{display:inline-flex;align-items:center;justify-content:center;margin-top:0;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:1px;font-weight:700;font-size:.82rem;white-space:nowrap;background:linear-gradient(180deg,#8b3fe0,#6d28d9)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;padding:12px 24px;border-radius:999px;box-shadow:0 8px 22px rgba(147,51,234,.3);transition:transform .15s cubic-bezier(0.23,1,0.32,1);text-decoration:none}
.unifoot .flbtn:hover{transform:translateY(-2px)}
.unifoot .fsocial{display:flex;gap:12px;margin-top:12px}
.unifoot .fsocial a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;color:#e9e4ff;font-size:1.05rem;text-decoration:none;background:rgba(255,255,255,.04);transition:border-color .15s,color .15s,transform .15s}
.unifoot .fsocial a:hover{border-color:#c9b6ff;color:#fff;transform:translateY(-1px)}
.unifoot .fcol h2{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:1px;font-size:.8rem;margin:0 0 15px;background:linear-gradient(90deg,#c9b6ff 0%,#c9b6ff 36%,#ffffff 50%,#c9b6ff 64%,#c9b6ff 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:laFootShine 6s linear infinite}
.unifoot .fcol a{display:block;color:#e2e9f6;font-size:.92rem;padding:6px 0;text-decoration:none;transition:color .15s}
.unifoot .fcol a i{width:18px;margin-right:6px;color:#c9b6ff}
.unifoot .fcol a:hover{color:#fff}
.unifoot .fcta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.unifoot .fcta-row>div{flex:0 0 auto!important;width:250px!important;max-width:250px!important;overflow:hidden}
.unifoot .fcbtns{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px}
.unifoot .fcbtns a{display:inline-flex!important;align-items:center;gap:7px;width:auto;font-family:'Oswald',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.03em;color:#fff;background:linear-gradient(180deg,#b06bff,#9333ea);border:0;border-radius:999px;padding:7px 14px;text-decoration:none;box-shadow:0 6px 16px rgba(147,51,234,.28);transition:transform .15s cubic-bezier(0.23,1,0.32,1)}
.unifoot .fcbtns a.ghost{background:transparent;border:1.4px solid rgba(196,165,255,.5);box-shadow:none;color:#e9e4ff}
.unifoot .fcbtns a i{width:auto;margin:0;color:inherit}
.unifoot .fcbtns a:hover{transform:translateY(-2px)}
.unifoot .fcta-row>div iframe{width:250px!important;min-width:0!important;max-width:250px!important;display:block}
.unifoot .fbottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.unifoot .fbottom small{color:#aeb9d4;font-size:.8rem}
.unifoot .fbottom .mini{display:flex;gap:18px}
.unifoot .fbottom .mini a{color:#aeb9d4;font-size:.8rem;text-decoration:none}
.unifoot .fbottom .mini a:hover{color:#fff}
.unifoot .fnote{color:rgba(255,255,255,.62);font-size:.74rem;line-height:1.6;margin:18px 0 0}
.unifoot .fnote a{color:#c9b6ff;text-decoration:none}
@keyframes laFootShine{0%{background-position:150% 0}100%{background-position:-150% 0}}
@media(max-width:860px){.unifoot .fgrid{grid-template-columns:1fr 1fr}.unifoot .fbrand{grid-column:1 / -1;order:2}}
@media(max-width:520px){.unifoot .fgrid{grid-template-columns:1fr}.unifoot .fbottom{justify-content:center}}
@media(prefers-reduced-motion:reduce-motion-off){.unifoot .fcol h2{animation:none}}
.unifoot .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.fcta-row .gpref{display:inline-flex;align-items:center;gap:9px;background:#fff;color:#5f6368;font-family:'Roboto',system-ui,-apple-system,Arial,sans-serif;font-weight:600;font-size:14px;line-height:1;padding:11px 18px;border-radius:9999px;border:1px solid #dadce0;box-shadow:0 1px 2px rgba(0,0,0,.14);text-decoration:none;white-space:nowrap;transition:box-shadow .18s ease,transform .18s ease}.fcta-row .gpref:hover{box-shadow:0 3px 10px rgba(0,0,0,.22);transform:translateY(-1px)}.fcta-row .gpref svg{width:18px;height:18px;flex:0 0 auto;display:block}
/* Corey, 2026-09-07: THIS PAGE'S HEADER ONLY. Logo pulled in off the left edge, and the
   four links spread evenly across the space between it and the contact buttons instead
   of bunching in the middle. */
#lhd .lhd-in{padding-left:clamp(20px,4.2vw,64px)!important;padding-right:clamp(16px,2.4vw,32px)!important}
#lhd .lhd-links{flex:1 1 auto!important;display:flex!important;justify-content:space-evenly!important;
  gap:0!important;margin:0 clamp(16px,3vw,48px)!important}
#lhd .lhd-links a{white-space:nowrap}
@media (max-width:900px){#lhd .lhd-links{justify-content:center!important;gap:clamp(14px,2.4vw,26px)!important}}
.laq-sec{margin:0;padding:0;background:transparent;font-size:0;line-height:0}
/* the frame is sized from the form's reported height; a solid background here left a
   thin dark strip above the footer whenever the two differed by a few pixels */
.laq-frame{display:block;width:100%;border:0;height:420px;background:transparent;vertical-align:bottom}
footer.la-footer{padding:58px 0 26px;color:#e2e9f6;text-align:left;width:100%;position:relative;background:radial-gradient(820px 480px at 82% 2%,rgba(165,95,255,.32),transparent 60%),radial-gradient(680px 460px at 6% 98%,rgba(110,60,210,.26),transparent 60%),linear-gradient(160deg,var(--cos1),var(--cos2) 52%,#090514);border-top:1px solid rgba(150,90,255,.22)}
footer.la-footer .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px;position:relative;z-index:1}
footer.la-footer .fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px;align-items:start}
footer.la-footer .fbrand .logo-anim{height:80px;margin:0 0 24px}
footer.la-footer .fbrand p{font-size:.92rem;max-width:300px;line-height:1.6;margin:0;font-family:'Lato',Arial,sans-serif}
footer.la-footer .flbtn{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;font-family:'Oswald',Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;font-weight:700;font-size:.82rem;background:linear-gradient(180deg,#ffae2b,#f6a01f);color:#1a1206;padding:12px 26px;border-radius:999px;box-shadow:0 8px 22px rgba(255,160,31,.3);transition:transform .15s;text-decoration:none}
footer.la-footer .flbtn:hover{transform:translateY(-2px)}
footer.la-footer .fsocial{display:flex;gap:12px;margin-top:18px}
footer.la-footer .fsocial a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;color:#e9e4ff;font-size:1.05rem;text-decoration:none;transition:border-color .15s,color .15s,transform .15s}
footer.la-footer .fsocial a:hover{border-color:#ffae2b;color:#ffc257;transform:translateY(-2px)}
footer.la-footer .fcol h2{font-family:'Oswald',Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;font-size:.8rem;margin-bottom:15px;display:inline-block;background:linear-gradient(90deg,#d97a06,#ffae2b 30%,#ffd584 50%,#ffae2b 70%,#d97a06);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:laFootShine 6s linear infinite}
footer.la-footer .fcol a{display:flex;align-items:center;gap:9px;color:#e2e9f6;font-size:.92rem;padding:6px 0;font-family:'Lato',Arial,sans-serif;text-decoration:none;transition:color .15s}
footer.la-footer .fcol a:hover{color:#fff}
footer.la-footer .fcol a i{width:16px;text-align:center;font-size:.85rem;flex-shrink:0;background:linear-gradient(90deg,#d97a06,#ffae2b 30%,#ffd584 50%,#ffae2b 70%,#d97a06);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:laFootShine 6s linear infinite}
footer.la-footer .fbottom{border-top:1px solid rgba(255,255,255,.12);margin:42px auto 0;padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;max-width:1120px}
footer.la-footer .fbottom small{color:#aeb9d4;font-size:.8rem}
footer.la-footer .fbottom .mini{display:flex;gap:18px}
footer.la-footer .fbottom .mini a{color:#aeb9d4;font-size:.8rem;text-decoration:none}
footer.la-footer .fbottom .mini a:hover{color:#fff}
@media(max-width:860px){footer.la-footer .fgrid{grid-template-columns:1fr 1fr}
footer.la-footer .fbrand{grid-column:1 / -1}}
@media(max-width:520px){footer.la-footer .fgrid{grid-template-columns:1fr}
footer.la-footer .fbottom{justify-content:center}}
@keyframes laLogoShine{0%{background-position:0% 0}100%{background-position:-300% 0}}
footer.la-footer .logo-anim{background:linear-gradient(110deg,#c9b6ff 0 40%,#ffffff 50%,#c9b6ff 60% 100%)}
@keyframes galBob{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
.lhd{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.5) blur(12px);
  border-bottom:1px solid rgba(20,8,46,.07);transition:box-shadow .25s ease,background .25s ease}
.lhd.stuck{box-shadow:0 8px 28px rgba(20,8,46,.10);background:rgba(255,255,255,.95)}
.lhd-in{max-width:1240px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.lhd-logo{display:block;line-height:0;flex:none}
.lhd-logo img{display:block;height:clamp(38px,4.6vw,58px);width:auto}
.lhd-right{display:flex;align-items:center;gap:12px}
.lhd-cta{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:999px;text-decoration:none;
  font-weight:800;font-size:.9rem;letter-spacing:.01em;color:#241046;
  background:linear-gradient(180deg,var(--cta),#e79609);box-shadow:0 8px 22px rgba(245,158,11,.36);
  transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s}
.lhd-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(245,158,11,.46)}
.lhd-burger{width:46px;height:44px;border-radius:12px;border:1px solid rgba(20,8,46,.14);background:#fff;
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;
  transition:border-color .2s,box-shadow .2s}
.lhd-burger:hover{border-color:var(--p4);box-shadow:0 6px 16px rgba(124,58,237,.16)}
.lhd-burger span{display:block;width:22px;height:2.4px;border-radius:2px;background:var(--p2);
  transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s}
.lhd-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
.lhd-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.lhd-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}
.lhd-menu{border-top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
  overflow:hidden;max-height:0;transition:max-height .38s cubic-bezier(.16,1,.3,1)}
.lhd-menu[hidden]{display:block!important}
.lhd-menu.open{max-height:80vh;overflow-y:auto;border-top:1px solid rgba(20,8,46,.07)}
.lhd-menu-in{max-width:1240px;margin:0 auto;padding:14px 20px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px 22px}
.lhd-menu-in a{display:flex;align-items:center;gap:11px;padding:12px 12px;border-radius:11px;text-decoration:none;
  color:var(--ink);font-weight:600;font-size:.95rem;opacity:0;transform:translateY(6px);
  transition:background .18s,color .18s,opacity .34s ease,transform .34s cubic-bezier(.16,1,.3,1)}
.lhd-menu.open .lhd-menu-in a{opacity:1;transform:none}
.lhd-menu-in a:hover{background:rgba(147,51,234,.07);color:var(--p2)}
.lhd-menu-in a i{width:20px;text-align:center;color:var(--p3)}
.lhd-menu-cta{background:rgba(245,158,11,.12)}
.lhd-menu-cta i{color:var(--cta)!important}
@media(max-width:900px){.lhd-menu-in{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.lhd-menu-in{grid-template-columns:1fr}
.lhd-cta{padding:10px 14px;font-size:.82rem}
.lhd-cta span{display:none}
.lhd-cta::after{content:"Book Zoom"}}
@media (min-width:99999px){.lhd-menu-in a{opacity:1;transform:none;transition:none}}
body footer.la-footer .fbrand .logo{background-image:linear-gradient(110deg,#1e0a3c 0 40%,#c4a5ff 50%,#1e0a3c 60% 100%)!important}
body footer.la-footer .fcol h2{background:linear-gradient(90deg,#5b21b6 0%,#5b21b6 38%,#b06bff 50%,#5b21b6 62%,#5b21b6 100%)!important;background-size:300% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
body footer.la-footer .fcol a i{background:linear-gradient(90deg,#5b21b6 0%,#5b21b6 38%,#b06bff 50%,#5b21b6 62%,#5b21b6 100%)!important;background-size:300% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
body footer.la-footer .fcol a:hover{color:#7c3aed!important}
body footer.la-footer .fbottom .mini a:hover{color:#7c3aed!important}
body footer.la-footer .fsocial a:hover{border-color:#a855f7!important;color:#7c3aed!important}
body footer.la-footer .flbtn{background:linear-gradient(135deg,#5b21b6,#7c3aed 60%,#9333ea)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 8px 20px rgba(124,58,237,.4)!important}
body footer.la-footer:not(.la-cosmic):not(.la-icy) .fbrand .logo{background-color:transparent!important;background-image:linear-gradient(110deg,#5b21b6 0 40%,#b06bff 50%,#5b21b6 60% 100%)!important;background-size:300% 100%!important;background-repeat:no-repeat!important}
body footer.la-footer:not(.la-cosmic):not(.la-icy) .fcol h2,body footer.la-footer:not(.la-cosmic):not(.la-icy) .fcol a i{background:linear-gradient(90deg,#5b21b6 0%,#5b21b6 36%,#b06bff 50%,#5b21b6 64%,#5b21b6 100%)!important;background-size:300% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;animation:laFootShine 6s linear infinite!important}
body footer.la-footer:not(.la-cosmic):not(.la-icy) .fcol a:hover,body footer.la-footer:not(.la-cosmic):not(.la-icy) .fbottom .mini a:hover{color:#7c3aed!important;-webkit-text-fill-color:#7c3aed!important}
body footer.la-footer:not(.la-cosmic):not(.la-icy) .fsocial a:hover{border-color:#a855f7!important;color:#7c3aed!important}
body footer.la-footer.la-cosmic .fbrand .logo,body footer.la-footer.la-icy .fbrand .logo{background-color:transparent!important;background-image:linear-gradient(110deg,#c9b6ff 0 40%,#ffffff 50%,#c9b6ff 60% 100%)!important;background-size:300% 100%!important;background-repeat:no-repeat!important}
body footer.la-footer.la-cosmic .fcol h2,body footer.la-footer.la-icy .fcol h2,body footer.la-footer.la-cosmic .fcol a i,body footer.la-footer.la-icy .fcol a i{background:linear-gradient(90deg,#c9b6ff 0%,#c9b6ff 36%,#ffffff 50%,#c9b6ff 64%,#c9b6ff 100%)!important;background-size:300% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;animation:laFootShine 6s linear infinite!important}
body footer.la-footer.la-cosmic .fcol a:hover,body footer.la-footer.la-icy .fcol a:hover{color:#f3e8ff!important;-webkit-text-fill-color:#f3e8ff!important}
body footer.la-footer.la-cosmic .fsocial a:hover,body footer.la-footer.la-icy .fsocial a:hover{border-color:#c9b6ff!important;color:#f3e8ff!important}
body footer.la-footer .flbtn{background:linear-gradient(135deg,#5b21b6,#7c3aed 60%,#9333ea)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 8px 20px rgba(124,58,237,.4)!important}
body footer.la-footer{border-top:1px solid #e6e9f0;padding:58px 0 26px;background:#f5f7fb;color:#414b5e;text-align:left;width:100%;position:relative}
body footer.la-footer .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px;position:relative;z-index:1}
body footer.la-footer .fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px;align-items:start}
body footer.la-footer .fbrand .logo{height:80px;width:auto;aspect-ratio:1200/407;display:inline-block;margin:0 0 24px;background-color:transparent;background-image:linear-gradient(110deg,#7c3aed 0 40%,#e9d5ff 50%,#7c3aed 60% 100%);background-repeat:no-repeat;-webkit-mask:url(https://images.leadconnectorhq.com/image/f_webp/q_80/r_1200/u_https://assets.cdn.filesafe.space/YHqv8cIa4pgjbBZQuXR3/media/6984c68fe169f0853b470705.webp) left center/contain no-repeat;mask:url(https://images.leadconnectorhq.com/image/f_webp/q_80/r_1200/u_https://assets.cdn.filesafe.space/YHqv8cIa4pgjbBZQuXR3/media/6984c68fe169f0853b470705.webp) left center/contain no-repeat}
body footer.la-footer .fbrand p{color:#737d8f;font-size:.92rem;max-width:300px;line-height:1.6;margin:0;font-family:'Lato',Arial,sans-serif}
body footer.la-footer .flbtn{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;font-family:'Oswald',Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;font-weight:700;font-size:.82rem;background:linear-gradient(180deg,#8b3fe0,#6d28d9)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;padding:12px 26px;border-radius:999px;box-shadow:0 8px 22px rgba(147,51,234,.3);transition:transform .15s;text-decoration:none}
body footer.la-footer .flbtn:hover{transform:translateY(-2px)}
body footer.la-footer .fsocial{display:flex;gap:12px;margin-top:18px}
body footer.la-footer .fsocial a{width:38px;height:38px;border-radius:10px;border:1px solid #e6e9f0;display:inline-flex;align-items:center;justify-content:center;color:#101a2e;font-size:1.05rem;text-decoration:none;transition:border-color .15s,color .15s,transform .15s}
body footer.la-footer .fsocial a:hover{border-color:#b06bff;color:#7c3aed;transform:translateY(-2px)}
body footer.la-footer .fcol h2{font-family:'Oswald',Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;font-size:.8rem;margin-bottom:15px;display:inline-block;background:linear-gradient(90deg,#7c3aed,#b06bff 30%,#e9d5ff 50%,#b06bff 70%,#7c3aed);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:laFootShine 6s linear infinite}
body footer.la-footer .fcol a{display:flex;align-items:center;gap:9px;color:#737d8f;font-size:.92rem;padding:6px 0;font-family:'Lato',Arial,sans-serif;text-decoration:none}
body footer.la-footer .fcol a:hover{color:#7c3aed}
body footer.la-footer .fcol a i{width:16px;text-align:center;font-size:.85rem;flex-shrink:0;background:linear-gradient(90deg,#7c3aed,#b06bff 30%,#e9d5ff 50%,#b06bff 70%,#7c3aed);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:laFootShine 6s linear infinite}
body footer.la-footer .fbottom{border-top:1px solid #e6e9f0;margin:42px auto 0;padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;max-width:1120px;padding-left:24px;padding-right:24px}
body footer.la-footer .fbottom small{color:#737d8f;font-size:.8rem}
body footer.la-footer .fbottom .mini{display:flex;gap:18px}
body footer.la-footer .fbottom .mini a{color:#737d8f;font-size:.8rem;text-decoration:none}
body footer.la-footer .fbottom .mini a:hover{color:#7c3aed}
body footer.la-footer.la-cosmic{background:radial-gradient(820px 480px at 82% 2%,rgba(165,95,255,.32),transparent 60%),radial-gradient(680px 460px at 6% 98%,rgba(110,60,210,.26),transparent 60%),linear-gradient(160deg,#0a0617,#140a30 52%,#090514);border-top:1px solid rgba(150,90,255,.22)}
body footer.la-footer.la-cosmic .fbrand p{color:#cfd9ec}
body footer.la-footer.la-cosmic .fcol a{color:#e2e9f6}
body footer.la-footer.la-cosmic .fcol a:hover{color:#fff}
body footer.la-footer.la-cosmic .fsocial a{border-color:rgba(255,255,255,.22);color:#e9e4ff}
body footer.la-footer.la-cosmic .fbottom{border-top-color:rgba(255,255,255,.12)}
body footer.la-footer.la-cosmic .fbottom small,body footer.la-footer.la-cosmic .fbottom .mini a{color:#aeb9d4}
body footer.la-footer.la-icy{background:radial-gradient(700px 360px at 80% 0%,rgba(120,195,255,.22),transparent 60%),linear-gradient(160deg,#061322,#0b2238 60%,#05121f);border-top:1px solid rgba(120,190,255,.26)}
body footer.la-footer.la-icy .fbrand p{color:#cfe1f3}
body footer.la-footer.la-icy .fcol a{color:#cfe1f3}
body footer.la-footer.la-icy .fcol a:hover{color:#7ec8ff}
body footer.la-footer.la-icy .fsocial a{border-color:rgba(120,190,255,.3);color:#dbeeff}
body footer.la-footer.la-icy .fbottom{border-top-color:rgba(120,190,255,.18)}
body footer.la-footer.la-icy .fbottom small,body footer.la-footer.la-icy .fbottom .mini a{color:#9cc0e0}
body footer.la-footer .fbrand .flogo-link{display:block;line-height:0;margin:-40px 0 -26px -14px}
body footer.la-footer .fbrand .flogo{display:block;width:100%;max-width:290px;height:auto}
body footer.la-footer .fgrid{display:grid!important;grid-template-columns:1.6fr 1fr 1fr 1fr!important;gap:34px!important;align-items:start}
@media(max-width:900px){body footer.la-footer .fgrid{grid-template-columns:1fr 1fr!important}
body footer.la-footer .fbrand{grid-column:1 / -1}}
@media(max-width:640px){body footer.la-footer .fgrid{grid-template-columns:1fr!important}}
.lhd{position:relative!important;z-index:90!important}
.lhd-logo img{height:clamp(54px,6.2vw,82px)!important}
.lhd-logo{margin-left:clamp(18px,3.4vw,64px)}
@media(max-width:820px){body footer.la-footer .fbrand .flogo-link{margin:-14px 0 2px -10px}
body footer.la-footer .fbrand .flogo{max-width:240px}}
.lhd{border-bottom:none!important;position:relative;background:transparent!important;backdrop-filter:none!important}
.lhd.stuck{box-shadow:none}
body footer.la-footer .fbrand{display:flex;flex-direction:column;align-items:flex-start}
body footer.la-footer .fbrand p{margin:0 0 20px;max-width:320px;line-height:1.65}
body footer.la-footer .fbrand .flbtn{margin:0 0 20px}
body footer.la-footer .fbrand .fsocial{margin:0}
@media(max-width:820px){body footer.la-footer .fbrand .flogo-link{margin:-22px 0 -14px -10px}
body footer.la-footer .fbrand p{margin-bottom:18px}}
.lhd-call{display:inline-flex;align-items:center;gap:9px;padding:11px 19px;border-radius:999px;text-decoration:none;
  font-weight:800;font-size:.9rem;letter-spacing:.01em;color:var(--p2);background:#fff;
  border:2px solid var(--p2);white-space:nowrap;
  transition:background .24s ease,color .24s ease,transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s ease}
.lhd-call i{font-size:.86em}
.lhd-call:hover{background:var(--p2);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px rgba(124,58,237,.34)}
.lhd-call:active{transform:translateY(0)}
.lhd-cta{position:relative;overflow:hidden;color:#fff!important;
  background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 45%,#6023c9 100%)!important;
  border:2px solid rgba(255,255,255,.18);
  box-shadow:0 10px 26px rgba(124,58,237,.42),inset 0 1px 0 rgba(255,255,255,.28)!important}
.lhd-cta::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);opacity:0}
.lhd-cta:hover{transform:translateY(-2px);
  background:linear-gradient(135deg,#9d6dff 0%,#8b45f0 45%,#6d28d9 100%)!important;
  box-shadow:0 16px 34px rgba(124,58,237,.5),inset 0 1px 0 rgba(255,255,255,.35)!important}
.lhd-cta:hover::after{animation:lhdSheen .85s ease-out;opacity:1}
@media(max-width:900px){.lhd-call span{display:none}
.lhd-call{padding:11px 14px}}
@media(max-width:640px){.lhd-call{padding:10px 13px}
.lhd-cta{padding:10px 14px;font-size:.82rem}}
@media (min-width:99999px){.lhd-cta::after{animation:none}}
@media(max-width:820px){.lhd-in{padding:8px 14px!important}
.lhd-logo img{height:clamp(44px,12vw,54px)!important}
.lhd-logo{margin-left:10px!important}
.lhd-right{gap:8px!important}}
body footer.la-footer .fbrand .flbtn{display:inline-flex;align-items:center;gap:9px}
@media(max-width:820px){body footer.la-footer .fgrid{display:flex!important;flex-direction:column}
body footer.la-footer .fbrand{order:2;margin-top:26px}
body footer.la-footer .fcol{order:1}}
.hdr-contact{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.hdr-contact .nav-ghost{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#5B5670;font-size:12.5px;font-weight:640;letter-spacing:.05em;padding:7px 13px 7px 7px;border-radius:12px;border:1px solid rgba(20,10,40,.10);background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px -3px rgba(46,16,101,.10);transition:transform .22s cubic-bezier(.32,.72,0,1),box-shadow .25s ease,border-color .25s ease,color .25s ease;white-space:nowrap}
.hdr-contact .gi{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;background:rgba(124,58,237,.09);color:#7c3aed;transition:background .25s ease,color .25s ease,transform .25s cubic-bezier(.32,.72,0,1)}
.hdr-contact .rev{font-style:normal;font-weight:600;letter-spacing:0;color:#7c3aed;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .38s cubic-bezier(.32,.72,0,1),opacity .3s ease,margin .38s cubic-bezier(.32,.72,0,1);font-variant-numeric:tabular-nums}
.hdr-contact .nav-ghost:hover{color:#0C0A14;border-color:rgba(124,58,237,.42);background:#fff;transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(124,58,237,.35)}
.hdr-contact .nav-ghost:hover .gi{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;transform:scale(1.06)}
.hdr-contact .nav-ghost:hover .rev{max-width:120px;opacity:1;margin-left:2px}
@media (hover:none){.hdr-contact .rev{display:none}}
@media (max-width:860px){.hdr-contact .nav-ghost{padding:6px 10px 6px 6px;font-size:11.5px}
.hdr-contact{gap:6px}}
.lhd-right .hdr-contact{margin-right:6px}
.lam{position:fixed;inset:0;z-index:2147483000;opacity:0;transition:opacity .3s ease}
.lam.on{opacity:1}
.lam[hidden]{display:none}
.lam-bg{position:absolute;inset:0;cursor:pointer;
  background:radial-gradient(70% 60% at 50% 30%,rgba(124,58,237,.42),transparent 70%),
             radial-gradient(1.3px 1.3px at 18% 24%,rgba(255,255,255,.6),transparent),
             radial-gradient(1.2px 1.2px at 74% 16%,rgba(255,255,255,.45),transparent),
             radial-gradient(1.3px 1.3px at 40% 68%,rgba(255,255,255,.4),transparent),
             radial-gradient(1.2px 1.2px at 88% 56%,rgba(255,255,255,.42),transparent),
             linear-gradient(180deg,#2E1065,#120A24)}
.lam-panel{position:relative;height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:26px clamp(18px,5vw,56px) 48px;
  -webkit-overflow-scrolling:touch;display:flex;flex-direction:column;pointer-events:auto;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.lam-panel>*{pointer-events:auto}
.lam-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(20px,4vh,44px)}
.lam-tag{font:640 11px/-,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:11px;font-weight:640;
  letter-spacing:.22em;text-transform:uppercase;color:#c4b5fd}
.lam-x{width:44px;height:44px;border-radius:13px;border:1px solid rgba(255,255,255,.18);cursor:pointer;
  background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;
  transition:background .2s ease,transform .2s ease}
.lam-x:hover{background:rgba(255,255,255,.14);transform:rotate(90deg)}
.lam-x svg{width:17px;height:17px}
.lam-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,54px);
  max-width:1020px;margin:0 auto;width:100%}
.lam-col h2{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#a78bfa;
  margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(167,139,250,.25)}
.lam-i{display:flex;align-items:center;gap:12px;padding:9px 10px;margin:0 -10px;border-radius:12px;
  color:#EDE9FE;text-decoration:none;font-size:14.5px;font-weight:550;letter-spacing:-.01em;
  transition:background .18s ease,transform .18s ease,color .18s ease}
.lam-i:hover{background:rgba(255,255,255,.07);transform:translateX(5px);color:#fff}
.lam-ic{width:36px;height:36px;border-radius:11px;flex:0 0 auto;display:grid;place-items:center;
  background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;
  box-shadow:0 6px 14px -6px rgba(124,58,237,.65),inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .2s ease,box-shadow .2s ease}
.lam-ic svg{width:16px;height:16px}.lam-ic i{font-size:16px;line-height:1}
.lam-i:hover .lam-ic{transform:scale(1.1) rotate(-3deg);box-shadow:0 10px 22px -8px rgba(124,58,237,.9),inset 0 1px 0 rgba(255,255,255,.3)}
.lam.on .lam-col{animation:lamRise .55s cubic-bezier(.32,.72,0,1) both}
.lam.on .lam-col:nth-child(2){animation-delay:.08s}
.lam.on .lam-col:nth-child(3){animation-delay:.16s}
@keyframes lamRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (max-width:760px){.lam-grid{grid-template-columns:1fr;gap:26px;padding-bottom:30px}}
@media (min-width:99999px){.lam,.lam-i,.lam-ic,.lam.on .lam-col{transition:none;animation:none}}
.lhd-links{display:flex;align-items:center;justify-content:center;flex:1;gap:clamp(18px,2.6vw,34px);margin:0 18px;min-width:0}
.lhd-links a{font-family:'Oswald',Arial,sans-serif;text-transform:uppercase;font-weight:600;font-size:.95rem;
  letter-spacing:1px;color:#EDE9FE;text-decoration:none;white-space:nowrap;transition:color .18s ease}
.lhd-links a:hover{color:#fff}
@media(max-width:980px){.lhd-links{display:none}}
.lhd{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  box-shadow:none!important;border-bottom:0!important}
.lhd.stuck{background:transparent!important;box-shadow:none!important}
.lhd-in{padding:8px 20px!important}
.lhd-logo img{height:clamp(116px,12.5vw,160px)!important;width:auto}
.lhd-logo{margin-left:clamp(14px,2vw,36px)!important}
.lhd,.lhd-in{overflow:visible!important}
.hdr-contact .gi{background:linear-gradient(150deg,#5b21b6,#7c3aed)!important;color:#fff!important;
  box-shadow:0 4px 12px rgba(91,33,182,.45)}
@media(max-width:600px){.lhd-in{padding:6px 10px!important;gap:6px}
.lhd-logo img{height:106px!important}
.lhd-logo{margin-left:0!important}
.hdr-contact{gap:5px}
.hdr-contact .nav-ghost{padding:6px 9px 6px 6px!important;font-size:11px!important;letter-spacing:.02em!important;gap:5px!important}
.hdr-contact .gi{width:22px!important;height:22px!important}
.lhd-right{flex:0 1 auto;min-width:0}}
footer.la-footer .fbrand .flogo-link{margin:-26px 0 -36px -14px!important}
footer.la-footer .fbrand p{margin-top:0!important}
footer.la-footer .flbtn{margin-top:16px!important}
footer.la-footer .fbrand .fsocial,footer.la-footer .fbrand [class*=social]{margin-top:14px!important}
footer.la-footer .flbtn{position:relative;background:linear-gradient(135deg,#7c3aed,#a855f7)!important;color:#fff!important;
  box-shadow:0 10px 26px rgba(124,58,237,.45)!important;border-radius:999px}
footer.la-footer .flbtn::before{content:"";position:absolute;inset:-5px;z-index:-1;border-radius:999px;pointer-events:none;
  background-image:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899,#f97316,#3b82f6);
  background-size:300% 300%;filter:blur(7px);opacity:.8;animation:ctaAura 6s linear infinite}
footer.la-footer .flbtn:hover::before{opacity:1}
@keyframes ctaAura{to{background-position:300% 0%}}
@media (min-width:99999px){footer.la-footer .flbtn::before{animation:none;opacity:.5}}

/* ---- header: five nav items need more room than the 1240px bar allowed, and the
        logo had a stack of competing margin rules all resolving to 0 ---- */
.lhd-in{max-width:1400px!important;padding-left:8px!important;padding-right:16px!important}
.lhd-logo{margin-left:-26px!important}
.lhd-links{gap:clamp(14px,1.9vw,26px)!important;margin:0 14px!important}
.lhd-links a{white-space:nowrap}
@media (max-width:1180px){.lhd-links{gap:12px!important}.lhd-links a{font-size:.78rem}}

/* ---- hero: a mockup either side of the copy ---- */
/* The mockups are OUT OF FLOW on purpose. As grid columns they stole width from the
   middle column, so every size increase just squeezed the copy. Absolute, the copy
   keeps its own width and the three blocks are placed against each other directly. */
.hero-grid{position:relative;display:flex;align-items:center;justify-content:center;
  max-width:1560px;min-height:430px}
/* the copy rides a little above the mockups' centre line - the devices read as sitting
   under the text rather than beside it, and the buttons clear their bottom edge */
.hero-copy{position:relative;z-index:2;width:100%;max-width:560px;margin:0 auto;
  transform:translateY(-32px)}
.hero-mock{position:absolute;top:50%;transform:translateY(-50%);z-index:1;
  height:auto;display:block;
  /* the global img{max-width:100%} caps these at their container, so the width below
     does nothing without the override */
  /* Sized from the space actually left beside the copy. It must be a % of the GRID, not
     of the viewport: the grid caps at 1560px, so a vw formula drifted and the mockups ran
     back into the text past 1560. copy is 560 wide, so this holds a constant gutter. */
  width:clamp(263px,calc(45% - 196px),558px);max-width:none;
  filter:drop-shadow(0 26px 46px rgba(0,0,0,.55)) drop-shadow(0 10px 26px rgba(124,58,237,.32))}
/* pushed outward far enough that the inner edge clears the text on every width */
/* Anchored by the INNER edge rather than the outer one, so changing the size no
   longer drags that edge around: the copy is 560 wide and centred, its text sits
   ~23px inside that, so 50% +/- 264px puts each mockup a hair off the text. */
.hero-mock-l{right:calc(50% + 264px);left:auto}
.hero-mock-r{left:calc(50% + 264px);right:auto}
/* the paragraph ran far wider than the headline it sits under */
.hero .sub{max-width:27em}
@media (max-width:1340px){.hero-grid{min-height:340px}}
/* below this the mockups would have to shrink past ~300px to stay clear of the text,
   which reads as clutter rather than product - drop to the single-column hero instead */
@media (max-width:1140px){
  .hero-grid{display:block;min-height:0}
  .hero-copy{transform:none;max-width:none}
  .hero-mock{display:none}
}
/* Corey, 2026-09-07: the step cards and their icon nodes were white boxes on a white
   section - each now carries the starfield loop inside it with white text and icons.
   The video and veil are real elements at a negative z-index, so they paint above the
   card's own background but below its content and above the ::before accent bar. */
.fcard,.fnode{isolation:isolate}
#path .fcard{background:#0b0620;border-color:rgba(168,85,247,.42)}
#path .fnode{background:#0b0620;border-color:rgba(196,181,253,.55)}
.starbed,.starveil{position:absolute;inset:0;width:100%;height:100%;border:0;margin:0;
  padding:0;pointer-events:none;display:block;border-radius:inherit}
.starbed{z-index:-2;object-fit:cover}
.starveil{z-index:-1;background:linear-gradient(158deg,rgba(60,22,126,.40),rgba(10,5,30,.60))}
/* these have to carry the #path prefix: the section's own rules are written as
   `#path .fcard h3`, and an id beats any number of classes */
#path .fcard h3{color:#fff}
#path .fcard p{color:rgba(255,255,255,.85)}
#path .fnode i{color:#e9d5ff}
#path .fstep:hover .fcard{border-color:rgba(196,181,253,.75)}
/* Corey, 2026-09-07: the phone layout sets `padding:6px 0 0` because the card was meant
   to go transparent there - but the starfield video is a child element, and the rule
   below (`#path .fcard{background:#0b0620}`, same specificity, later in the file) wins,
   so it is still a dark rounded card. With no side padding the copy sat right on its
   edge. Give it real padding back at phone widths. */
@media(max-width:900px){
  #path .fcard{padding:16px 18px 18px!important}
}
/* the salon tile plays a walkthrough now instead of holding a still */
.app-vid{width:100%;height:100%;object-fit:cover;display:block;background:#0b0620}
/* FAQ rows carry the starfield too. The video is absolutely positioned inside the
   <details>, so it grows with the row when it opens; overflow:hidden clips it to the
   rounded corners without needing a wrapper. */
.faq-list details{position:relative;isolation:isolate;overflow:hidden;
  background:#0b0620;border-color:rgba(168,85,247,.42)}
.faq-list details:hover{border-color:rgba(196,181,253,.6)}
.faq-list details[open]{border-color:rgba(196,181,253,.75);
  box-shadow:0 18px 40px -14px rgba(124,58,237,.5)}
.faq-list summary{color:#fff}
.faq-list details p{color:rgba(255,255,255,.85)}
.faq-list summary i{color:#c4b5fd}
/* Corey, 2026-09-07: the hero names one kind of app experience at a time, with the
   line that explains it, and cycles. Both halves carry their own gradient/colour -
   inheriting a clipped gradient from a parent renders the text invisible. */
.xrot{margin:0 auto 30px;max-width:44em;display:flex;flex-direction:column;
  align-items:center;justify-content:center}
.xrot-h,.xrot-p{transition:opacity .38s cubic-bezier(.4,0,.2,1),
  transform .38s cubic-bezier(.4,0,.2,1),filter .38s ease;will-change:opacity,transform,filter}
.xrot.swap .xrot-h,.xrot.swap .xrot-p{opacity:0;transform:translateY(-11px);filter:blur(6px)}
.xrot-h{margin:0 0 16px;font-weight:800;
  font-size:clamp(1.34rem,2.5vw,1.95rem);line-height:1.24;letter-spacing:.2px;
  padding-bottom:.09em;
  background-image:linear-gradient(90deg,#b06bff,#e9d5ff 45%,#fbbf24);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
.xrot-p{margin:0;color:#d8cef5;font-size:clamp(.94rem,1.15vw,1.02rem);line-height:1.5;
  /* Corey, 2026-09-07: balance splits the sentence evenly instead of leaving a full
     line and one orphaned word. The narrower column keeps most of them on two. */
  max-width:33em;text-wrap:balance}
@media (max-width:640px){.xrot{margin-bottom:24px}.xrot-p{font-size:1rem}}
@media (prefers-reduced-motion:reduce-motion-off){.xrot-h,.xrot-p{transition:none}}

/* Corey, 2026-09-07: the rotating app type read as a stray second headline floating on a
   busy video - nothing said it belonged to a different idea than "we can build it", and
   the line ran wide enough to cross the mockups. It now sits in its own glass panel:
   contained width so it stays inside the copy column (the mockups' inner edge is
   50% +/- 264px, this stops at 250px), a violet rim glow to separate it from the main
   headline, and the buttons pushed clear underneath. */
/* No box any more - the galaxy shows straight through and a live electric arc is drawn
   around the words on a canvas (xzap-js). The padding is what sets how tightly the
   lightning hugs the text, so it is deliberately small. */
.hero .xrot{position:relative;max-width:min(400px,100%);margin:30px auto 34px;
  padding:9px 16px 11px}
.hero .xrot-h,.hero .xrot-p{position:relative;z-index:1}
.hero .xzap{position:absolute;pointer-events:none;z-index:0;
  mix-blend-mode:screen;opacity:.96}
.hero .xrot-p{max-width:none}
.hero .hero-ctas{margin-top:100px}
@media (max-width:640px){.hero .hero-ctas{margin-top:56px}}
/* squared off, matching the rectangular buttons the rest of the site moved to */
.hero .hero-ctas .gsw-btn,
.hero .hero-ctas .gsw-btn::after{border-radius:12px}
.hero .hero-ctas .gsw-glow,
.hero .hero-ctas .gsw-btn::before{border-radius:16px}
@media (max-width:640px){.hero .xrot{max-width:min(340px,100%);margin:24px auto 28px;padding:10px 14px 12px}}
/* Corey, 2026-09-07: animated Launch logo, sized so it reads at the SAME size as the
   logo it replaced. */
.lhd-logo img{width:clamp(213px,22.93vw,293px)!important;height:auto!important;max-width:100%}
@media(max-width:600px){.lhd-logo img{width:194px!important}}

/* Footer: 1.256x the old rendered width so the wordmark matches, and tight to the
   paragraph beneath it. The brand column is 373px, which is that width. */
/* Positioned from the frame the animation rests on, measured in the artwork itself:
   the L of LAUNCH starts at 25.2% across the canvas, the last ink (rocket) ends at
   93.8%, and the bottom 32.2% of the canvas height is empty. So the canvas is sized to
   108% of the column and pulled left 27.2%, which puts the L exactly on the column's
   left edge and the rocket's tail end about three quarters across - and the bottom
   margin cancels the empty band so the paragraph sits right under the wordmark. */
body footer.la-footer .fbrand a.flogo-link,
body footer.unifoot .fbrand a.flogo-link{display:block!important;width:108%!important;
  margin:0 0 calc(-15.8% + 14px) -27.2%!important}
body footer.la-footer .fbrand img.flogo,
body footer.unifoot .fbrand img.flogo{width:100%!important;max-width:none!important;height:auto!important}
/* Corey 2026-09-27: footer logo was too big - sized to match the other site footers (~300px visible). The canvas is 360px; its L starts 25.2% in and the bottom 32.2% is empty, hence the pulls. */
html body footer.la-footer .fbrand a.flogo-link,html body footer.unifoot .fbrand a.flogo-link{width:360px!important;max-width:calc(100% + 91px)!important;margin:0 0 -38px -91px!important}
/* the brand column was 373px, which capped how big the logo could get - widened so the
   logo has room to run. The link columns keep their longest label on one line. */
@media(min-width:861px){
  body footer.la-footer .fgrid,
  body footer.unifoot .fgrid{grid-template-columns:2.25fr 1fr 1fr 1fr!important}
}
/* Corey, 2026-09-07: on phones the inline menu was still rendering and running straight
   into the logo. Every one of these pages already has a working burger at this width,
   so the inline links come off and the burger is the menu. Desktop is untouched. */
@media (max-width:980px){
  header .navlinks,
  header .nav-links,
  header .lhd-links,
  #hdr .nav-links,
  #lhd .lhd-links{display:none!important}
}
/* Corey, 2026-09-08: every in-page link lands the section's top edge exactly at the top of
   the viewport. Pages whose header scrolls away get 0 - any offset shows a strip of the
   previous section, which reads as a black line above the section. Pages with a sticky
   header offset by exactly the header height so nothing hides behind it. */
[id]{scroll-margin-top:0!important}
html{scroll-padding-top:0px}
@media (max-width:900px){html{scroll-padding-top:0px}}
/* Corey, 2026-09-08: "Reduce Motion" on the phone was freezing every rotating headline,
   so the site read as broken and static. Reduced motion means calm the MOTION, not stop
   the message - the copy keeps cycling and simply swaps with no slide, blur or fade. */
html.rm-swap .swap,html.rm-swap .rot-out,
html.rm-swap .rot2,html.rm-swap .mp-rot,html.rm-swap .gpop,
html.rm-swap #heroAdj,html.rm-swap #heroNoun,html.rm-swap #heroPrice,html.rm-swap #heroArticle{
  opacity:1!important;transform:none!important;filter:none!important;
  transition:none!important;animation:none!important}

/* Keep mobile header contents within the layout width, with usable footer targets. */
footer.la-footer .mini a{display:inline-flex;align-items:center;min-height:24px}

footer.la-footer .fcol a{display:flex;align-items:center;min-height:24px}

footer.la-footer .fcol h2,.lam-col h2{text-transform:none!important;letter-spacing:normal!important}
