/* 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}
@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}

/* Rotating 4K video footers (Corey, 2026-09-27).
   Each page carries a fixed data-ffx variant (codefall | circuit-horizon | digital-weave), baked in by
   tools/apply-footer-fx.js. The footer's words, links and logos stay real HTML above the art:
   links sit on a dark reading zone, the art lives in a stage underneath them, and the legal line
   sits on its own dark strip. */
footer[data-ffx]{--ffx-stage:300px;--ffx-fade:240px;position:relative;overflow:hidden;isolation:isolate;
  background:#100719!important;border-top:1px solid rgba(150,90,255,.22)}
footer[data-ffx]>*:not(.ffx){position:relative;z-index:1}
footer[data-ffx] .ffx{position:absolute;left:0;right:0;bottom:0;height:calc(var(--ffx-stage) + var(--ffx-fade) + 70px);z-index:0;pointer-events:none;
  background:#100719 var(--ffx-poster) 50% 100%/cover no-repeat;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ffx-fade));mask-image:linear-gradient(180deg,transparent 0,#000 var(--ffx-fade))}
footer[data-ffx] .ffx video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;opacity:0;transition:opacity .9s ease}
footer[data-ffx] .ffx video.on{opacity:1}
/* keep the upper edge of the art calm under the last row of links */
footer[data-ffx] .ffx::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#100719 0,rgba(16,7,25,.72) calc(var(--ffx-fade) * .75),rgba(16,7,25,0) calc(var(--ffx-fade) + 40px))}
footer[data-ffx="codefall"]{--ffx-poster:url(https://launchautomation.ai/img/footer-fx/codefall-poster.webp)}
footer[data-ffx="circuit-horizon"]{--ffx-poster:url(https://launchautomation.ai/img/footer-fx/circuit-horizon-poster.webp)}
footer[data-ffx="digital-weave"]{--ffx-poster:url(https://launchautomation.ai/img/footer-fx/digital-weave-poster.webp)}

/* the stage: open space under the links; the legal line floats over the art (no strip) */
footer[data-ffx] .fbottom,footer[data-ffx] .foot-bottom{margin-top:calc(34px + var(--ffx-stage))!important;border-top:0!important;position:relative}
footer[data-ffx] .fbottom *,footer[data-ffx] .foot-bottom *{text-shadow:0 1px 3px rgba(8,2,16,.95),0 0 14px rgba(8,2,16,.85)}
footer[data-ffx] .fbottom small,footer[data-ffx] .fbottom a,footer[data-ffx] .foot-bottom,footer[data-ffx] .foot-bottom a{color:#EDE6FA!important}
/* footers without a legal row (home, link page): the stage simply sits below their content */
footer[data-ffx]:not(:has(.fbottom)):not(:has(.foot-bottom)){padding-bottom:calc(var(--ffx-stage) + 24px)!important}

@media (max-width:760px){
  footer[data-ffx]{--ffx-stage:230px;--ffx-fade:160px}
  footer[data-ffx] .ffx{background-position:50% 100%}
}

/* Corey 2026-09-27: footer logo 23% smaller, social icons 25% larger (zoom keeps each footer's own proportions) */
footer.unifoot[data-ffx] .flogo-link,footer[data-ffx] .footlogo{zoom:.77}
html body footer.la-footer[data-ffx] .fbrand img.flogo,html body footer.la-footer[data-ffx] img.flogo{width:77%!important;max-width:77%!important}
footer[data-ffx] .fsocial a,footer[data-ffx] .foot-social a{zoom:1.25}
/* Corey 2026-09-27 (products handoff): footer logo bigger and aligned with the copy under it, every page.
   Desktop only: ~255px of visible artwork whatever the logo file, its visible left edge on the paragraph's
   left edge (each file carries different transparent padding). Phones keep the flogo-fix sizes. */
@media (min-width:861px){
  html body footer[data-ffx] .fbrand a.flogo-link:not(#_){zoom:1!important;width:auto!important;display:block!important}
  html body footer[data-ffx] .fbrand img.flogo:not(#_){max-width:none!important}
  html body footer[data-ffx] .fbrand img.flogo:not(#_)[src*="launch-logo"]{width:339px!important}
  html body footer[data-ffx] .fbrand a.flogo-link:not(#_):has(img[src*="launch-logo"]){margin-left:-65px!important}
  html body footer[data-ffx] .fbrand img.flogo:not(#_)[src*="logo-ins-light"]{width:260px!important}
  html body footer[data-ffx] .fbrand a.flogo-link:not(#_):has(img[src*="logo-ins-light"]){margin-left:-2px!important;margin-top:-15px!important}
  html body footer[data-ffx] .fbrand img.flogo:not(#_)[src*="logo-footer."]{width:291px!important}
  html body footer[data-ffx] .fbrand a.flogo-link:not(#_):has(img[src*="logo-footer."]){margin-left:-26px!important}
}
/* One footer grid on every page (desktop): some pages carried this in page CSS, others didn't, so the brand
   column started 22px further right on /products, /ai, /free and /ai-command-center. */
@media (min-width:861px){html body footer.unifoot .fgrid:not(#_){grid-template-columns:2.25fr 1fr 1fr 1fr!important;max-width:none!important;padding-left:0!important;padding-right:0!important}}

/* 2026-11-09: the approved logo fills its canvas, unlike the retired artwork that
   carried large transparent side margins. Keep it aligned with the brand copy and
   close to half the oversized rendered width that the old padding rules produced. */
@media (min-width:861px){
  html body footer[data-ffx] .fbrand a.flogo-link:not(#_):has(img[src*="home-logo"]){width:270px!important;max-width:100%!important;margin:0 0 24px!important}
  html body footer[data-ffx] .fbrand img.flogo:not(#_)[src*="home-logo"]{width:270px!important;max-width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
}
@media (max-width:860px){
  html body footer[data-ffx] .fbrand a.flogo-link:not(#_):has(img[src*="home-logo"]){width:190px!important;max-width:100%!important;margin:0 0 18px!important;zoom:1!important}
  html body footer[data-ffx] .fbrand img.flogo:not(#_)[src*="home-logo"]{width:190px!important;max-width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
}

/* Command center: preserve the full sleeping-Einstein composition at every width. */
footer[data-ffx="einstein-dream"]{--ffx-stage:clamp(220px,30vw,576px);--ffx-poster:url(https://launchautomation.ai/img/footer-fx/einstein-dream-poster.jpg);background:#000!important}
footer[data-ffx="einstein-dream"] .ffx{height:clamp(220px,56.37vw,1080px);background-color:#000;background-size:contain;-webkit-mask-image:none;mask-image:none}
footer[data-ffx="einstein-dream"] .ffx video{object-fit:contain}
footer[data-ffx="einstein-dream"] .ffx::after{display:none}
@media(max-width:760px){
  footer[data-ffx="einstein-dream"]{--ffx-stage:292px}
  footer[data-ffx="einstein-dream"] .ffx{bottom:72px}
}

/* Shared footer column headings, Corey 2026-10-04. */
html body footer :is(.fcol,.foot-col,.footer-col)>:is(h2,h3,h4):not(#_):not(#__){font-family:Oswald,Arial,sans-serif!important;font-size:18px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:normal!important;text-transform:none!important;color:#c9b6ff!important;-webkit-text-fill-color:#c9b6ff!important;background:none!important;animation:none!important;margin:0 0 15px!important}

/* Corey 2026-10-23: SEO location links sit in the footer base beside the copyright line. */
html body footer .fbottom .fseo{font-size:.82rem;line-height:24px;display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 6px;max-width:100%}
html body footer .fbottom .fseo a{display:inline-block;min-height:24px;line-height:24px;color:#F4EFFF;font-weight:600;text-decoration:none;text-shadow:0 0 3px rgba(5,0,15,.95),0 1px 8px rgba(5,0,15,.9)}
html body footer .fbottom .fseo a:hover{text-decoration:underline}

footer.unifoot{font-family:Lato,Arial,sans-serif;line-height:1.5;margin-top:64px}footer.unifoot h2,footer.unifoot h4{letter-spacing:normal}footer.unifoot .brand-logo-picture{display:block}footer.unifoot .gpref{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:white;text-decoration:none;padding:9px 12px;border:1px solid #79638f;border-radius:8px}footer.unifoot .gpref svg{width:20px;height:20px;flex-shrink:0}footer.unifoot .fbrand p{font-size:14.72px}footer.unifoot .flogo-link{line-height:0}footer.unifoot .fcol a:focus-visible,footer.unifoot .fsocial a:focus-visible{outline:2px solid white;outline-offset:4px}
@media(prefers-reduced-motion:reduce){footer.unifoot *,footer.unifoot *::before,footer.unifoot *::after{animation:none!important;transition:none!important}}
