﻿/* ============================================================================
   MERIDIAN — landing experience
   Loaded only by index.html. Layered on top of assets/css/main.css.
   Everything here is transform/opacity driven and pauses when hidden.
   ==========================================================================*/

/* ---------------------------------------------------------------- tokens */
:root{
  --lp-hair: rgba(232,234,237,.10);
  --lp-hair-soft: rgba(232,234,237,.055);
  --lp-hair-hot: rgba(232,234,237,.30);
  --lp-ease: cubic-bezier(.22,.61,.36,1);
  --lp-ease-out: cubic-bezier(.16,1,.3,1);
  --lp-grad: linear-gradient(115deg, rgba(232,234,237,.22), rgba(232,234,237,.03) 38%, rgba(232,234,237,.13));
  --lp-shell: max(1280px);
}

/* ------------------------------------------------------- ambient layers */
.lp-grain{
  position:fixed;inset:-50%;z-index:1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='.55'/></svg>");
  mix-blend-mode:overlay;
  animation:lp-grain-drift 7s steps(6) infinite;
}
@keyframes lp-grain-drift{
  0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}
  60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,1%)}100%{transform:translate(0,0)}
}

.lp-aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.lp-aurora i{position:absolute;display:block;border-radius:50%;will-change:transform}
.lp-aurora i:nth-child(1){
  width:60vw;height:60vw;left:-18vw;top:-14vw;
  background:radial-gradient(closest-side, rgba(143,168,200,.10), rgba(143,168,200,.03) 55%, transparent 72%);
  animation:lp-drift-a 34s var(--lp-ease) infinite alternate;
}
.lp-aurora i:nth-child(2){
  width:52vw;height:52vw;right:-16vw;top:24vh;
  background:radial-gradient(closest-side, rgba(212,81,124,.075), rgba(212,81,124,.02) 55%, transparent 72%);
  animation:lp-drift-b 41s var(--lp-ease) infinite alternate;
}
.lp-aurora i:nth-child(3){
  width:46vw;height:46vw;left:26vw;bottom:-20vw;
  background:radial-gradient(closest-side, rgba(198,203,210,.06), transparent 68%);
  animation:lp-drift-c 47s var(--lp-ease) infinite alternate;
}
@keyframes lp-drift-a{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(6vw,4vh,0) scale(1.12)}}
@keyframes lp-drift-b{from{transform:translate3d(0,0,0) scale(1.06)}to{transform:translate3d(-5vw,-3vh,0) scale(.94)}}
@keyframes lp-drift-c{from{transform:translate3d(0,0,0) scale(.96)}to{transform:translate3d(4vw,-5vh,0) scale(1.1)}}

.lp-lattice{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:
    repeating-linear-gradient(90deg, var(--lp-hair-soft) 0 1px, transparent 1px 72px),
    repeating-linear-gradient(0deg, var(--lp-hair-soft) 0 1px, transparent 1px 72px);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%, #000 12%, transparent 72%);
  mask-image:radial-gradient(120% 90% at 50% 0%, #000 12%, transparent 72%);
}

/* --------------------------------------------------------- scroll chrome */
.lp-progress{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg, rgba(232,234,237,.15), rgba(232,234,237,.85) 55%, rgba(212,81,124,.6));
  box-shadow:0 0 14px rgba(232,234,237,.25);
}
.lp-railnav{
  position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:110;
  display:grid;gap:16px;pointer-events:auto;
  opacity:0;transition:opacity .6s var(--lp-ease-out);
}
body.lp-past-hero .lp-railnav{opacity:1}
.lp-railnav a{display:flex;align-items:center;gap:10px;justify-content:flex-end;text-decoration:none}
.lp-railnav .lp-tick{
  width:22px;height:1px;background:var(--lp-hair);transition:width .45s var(--lp-ease-out),background .45s
}
.lp-railnav .lp-lab{
  font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);
  opacity:0;transform:translateX(6px);transition:opacity .35s,transform .35s
}
.lp-railnav a:hover .lp-lab,.lp-railnav a.on .lp-lab{opacity:1;transform:none}
.lp-railnav a.on .lp-tick{width:40px;background:var(--lp-hair-hot)}
.lp-railnav a.on .lp-lab{color:var(--silver)}
@media (max-width:1180px){.lp-railnav{display:none}}

/* ------------------------------------------------------------- nav polish */
.site-nav .brand img{transition:transform .7s var(--lp-ease-out),filter .7s}
.site-nav .brand:hover img{transform:rotate(-18deg) scale(1.06)}
.site-nav .nav-links a{position:relative;padding-bottom:4px}
.site-nav .nav-links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:linear-gradient(90deg,var(--lp-hair-hot),transparent);
  transition:right .5s var(--lp-ease-out)
}
.site-nav .nav-links a:hover::after{right:0}
.site-nav .nav-cta .btn-ghost{
  border-radius:999px;padding:10px 20px;position:relative;overflow:hidden;
  transition:color .35s,border-color .35s
}
.site-nav .nav-cta .btn-ghost::after{
  content:"";position:absolute;inset:0;background:var(--ink);
  transform:translateY(101%);transition:transform .45s var(--lp-ease-out);z-index:-1
}
.site-nav .nav-cta .btn-ghost:hover{color:#070708;border-color:var(--ink)}
.site-nav .nav-cta .btn-ghost:hover::after{transform:translateY(0)}

/* ============================================================== HERO ==== */
.hero{
  min-height:100vh;
  padding:0;
  border-bottom:0;
  display:flex;align-items:stretch;
}
.hero .lp-shell{
  position:relative;z-index:3;width:100%;max-width:var(--lp-shell);margin:0 auto;
  padding:132px 40px 84px;
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:56px;align-items:center;
}
.hero .lp-shell::after{
  content:"";position:absolute;left:40px;right:40px;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--lp-hair) 12%,var(--lp-hair) 88%,transparent)
}

.lp-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:34px}
.lp-eyebrow .lp-beam{
  position:relative;height:1px;width:74px;overflow:hidden;
  background:var(--lp-hair-soft)
}
.lp-eyebrow .lp-beam::after{
  content:"";position:absolute;inset:0;width:40%;
  background:linear-gradient(90deg,transparent,var(--lp-hair-hot),transparent);
  animation:lp-beam 3.6s var(--lp-ease) infinite
}
@keyframes lp-beam{0%{transform:translateX(-100%)}60%,100%{transform:translateX(320%)}}
.lp-eyebrow span{font-size:10.5px;letter-spacing:.44em;text-transform:uppercase;color:var(--faint)}

.lp-display{
  font-size:clamp(2.5rem,7.4vw,7.4rem);
  line-height:.9;font-weight:500;letter-spacing:.055em;
  white-space:nowrap;color:var(--ink);margin:0 0 34px;
}
.lp-display .lp-ch{
  display:inline-block;transform:translateY(115%);opacity:0;
  transition:transform 1.05s var(--lp-ease-out),opacity .8s var(--lp-ease-out);
}
html[data-bg-core="ok"] .lp-display.in .lp-ch{transform:none;opacity:1}

.lp-statement{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  font-size:clamp(12px,1.15vw,15px);letter-spacing:.36em;text-transform:uppercase;
  color:var(--silver);margin:0 0 26px;
}
.lp-statement i{
  font-style:normal;color:var(--faint);font-size:10px;letter-spacing:.3em;
  border:1px solid var(--lp-hair);border-radius:999px;padding:6px 13px;
  transition:border-color .4s,color .4s
}
.lp-statement:hover i{border-color:var(--lp-hair-hot);color:var(--silver)}

.lp-lede{max-width:46ch;color:var(--dim);font-size:16px;margin:0 0 44px}
.lp-lede p{margin:0}
.lp-lede p+p{margin-top:12px}
.lp-lede b{color:var(--silver);font-weight:500}

/* ------------------------------------------------- bespoke button system */
.lp-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-bottom:56px}

/* primary — cut-corner plate with light sweep */
.lp-btn{
  position:relative;display:inline-flex;align-items:center;gap:16px;overflow:hidden;
  padding:19px 30px 19px 32px;isolation:isolate;
  font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  background:linear-gradient(180deg,#23262C,#0E0F12);
  border:0;
  transition:transform .5s var(--lp-ease-out),color .3s;
  will-change:transform;
}
.lp-btn::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:linear-gradient(115deg,rgba(232,234,237,.16),rgba(232,234,237,.02) 42%,rgba(232,234,237,.10));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  padding:1px;
  opacity:.85;transition:opacity .4s
}
.lp-btn::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,transparent 32%,rgba(232,234,237,.20) 48%,transparent 62%);
  transform:translateX(-115%);
  transition:transform .85s var(--lp-ease-out)
}
.lp-btn:hover{color:#fff}
.lp-btn:hover::before{opacity:1}
.lp-btn:hover::after{transform:translateX(115%)}
.lp-btn:active{transform:translateY(1px)}
.lp-btn .lp-arrow{
  width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;
  border:1px solid rgba(232,234,237,.22);border-radius:50%;
  transition:transform .5s var(--lp-ease-out),border-color .4s,background .4s
}
.lp-btn .lp-arrow svg{width:11px;height:11px;transition:transform .5s var(--lp-ease-out)}
.lp-btn:hover .lp-arrow{transform:translateX(4px);border-color:rgba(232,234,237,.55);background:rgba(232,234,237,.10)}
.lp-btn:hover .lp-arrow svg{transform:translateX(1px)}

/* ghost — hairline text action with drawn underline */
.lp-btn--ghost{
  background:none;color:var(--silver);padding:19px 4px;
  clip-path:none;
}
.lp-btn--ghost::before{display:none}
.lp-btn--ghost::after{
  background:linear-gradient(90deg,transparent,rgba(232,234,237,.22),transparent);
  transform:translateY(-101%);transition:transform .6s var(--lp-ease-out)
}
.lp-btn--ghost:hover::after{transform:translateY(0)}
.lp-btn--ghost .lp-arrow{
  border-color:var(--lp-hair);position:relative
}
.lp-btn--ghost .lp-arrow::before{
  content:"";position:absolute;left:-9px;right:-9px;top:50%;height:1px;
  background:linear-gradient(90deg,transparent,var(--lp-hair-hot),transparent);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--lp-ease-out)
}
.lp-btn--ghost:hover .lp-arrow::before{transform:scaleX(1)}

.lp-btn:focus-visible,.site-nav a:focus-visible,.lp-marquee a:focus-visible{
  outline:1px solid var(--lp-hair-hot);outline-offset:6px
}

/* hero foot rail */
.lp-herofoot{
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--faint)
}
.lp-herofoot .lp-sig{display:flex;align-items:center;gap:11px}
.lp-herofoot .lp-sig b{color:var(--silver);font-weight:500}
.lp-herofoot .lp-dot{width:4px;height:4px;border-radius:50%;background:var(--faint)}
.lp-pulse{
  width:6px;height:6px;border-radius:50%;background:var(--ok);position:relative;flex:0 0 auto
}
.lp-pulse::after{
  content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(143,208,172,.45);
  animation:lp-pulse 2.8s var(--lp-ease) infinite
}
@keyframes lp-pulse{0%{transform:scale(.7);opacity:.9}70%,100%{transform:scale(1.5);opacity:0}}

/* ------------------------------------------------------------ hero visual */
.lp-visual{position:relative;aspect-ratio:1/1;max-height:78vh;margin-inline:auto;width:100%}
.lp-visual.is-live .lp-orbit,.lp-visual.is-live .lp-halo{display:none}
.lp-visual.is-live{contain:layout style paint}
.lp-visual .lp-halo{
  position:absolute;inset:6%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(232,234,237,.085),rgba(232,234,237,.02) 48%,transparent 70%)
}
.lp-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lp-orbit .lp-spin-slow{transform-box:fill-box;transform-origin:center;animation:lp-rot 68s linear infinite}
.lp-orbit .lp-spin-rev{transform-box:fill-box;transform-origin:center;animation:lp-rot 96s linear infinite reverse}
.lp-orbit .lp-spin-fast{transform-box:fill-box;transform-origin:center;animation:lp-rot 44s linear infinite}
@keyframes lp-rot{to{transform:rotate(360deg)}}
.lp-orbit .lp-tick{stroke:rgba(232,234,237,.22)}
.lp-orbit .lp-core{fill:url(#lpCoreGrad)}
.lp-orbit .lp-crescent{fill:url(#lpCresGrad);stroke:rgba(232,234,237,.85);stroke-width:1.1}
.lp-orbit .lp-ghost{fill:none;stroke:rgba(232,234,237,.16);stroke-width:.9;stroke-dasharray:3 7}
.lp-parallax-a{transition:transform 1.1s var(--lp-ease-out)}
.lp-parallax-b{transition:transform 1.6s var(--lp-ease-out)}

.lp-telemetry{
  position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);
  display:flex;align-items:center;gap:30px;pointer-events:none;white-space:nowrap;
  padding:12px 26px;border:1px solid var(--lp-hair-soft);border-radius:999px;
  background:rgba(8,8,10,.86);
}
.lp-telemetry div{
  display:flex;align-items:center;gap:9px;
  font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--faint)
}
.lp-telemetry div::before{content:"";width:4px;height:4px;border-radius:50%;background:rgba(232,234,237,.28)}
@media (max-width:1080px){.lp-telemetry{display:none}}

/* ============================================================ MARQUEE ==== */
.lp-marquee{
  position:relative;z-index:3;
  border-top:1px solid var(--lp-hair-soft);border-bottom:1px solid var(--lp-hair-soft);
  overflow:hidden;padding:22px 0;background:rgba(8,8,9,.55);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.lp-marquee .lp-track{display:flex;width:max-content;animation:lp-slide 46s linear infinite}
.lp-marquee:hover .lp-track{animation-play-state:paused}
.lp-marquee .lp-track span{
  display:inline-flex;align-items:center;gap:26px;padding:0 26px;
  font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--faint);white-space:nowrap
}
.lp-marquee .lp-track span::after{content:"○";color:rgba(232,234,237,.22);font-size:9px}
@keyframes lp-slide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* ========================================================== SECTIONS ==== */
.lp-sec{position:relative;z-index:3;padding:132px 0;max-width:var(--lp-shell);margin:0 auto;padding-inline:40px}
.lp-sec + .lp-sec{border-top:1px solid var(--lp-hair-soft)}

.lp-rule{height:1px;background:var(--lp-grad);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.4s var(--lp-ease-out)}
html[data-bg-core="ok"] .lp-rule.in{transform:scaleX(1)}

.lp-sechead{
  display:grid;grid-template-columns:210px minmax(0,1fr);gap:52px;
  margin:56px 0 68px;align-items:start
}
.lp-sechead .lp-idx{display:grid;gap:12px}
.lp-sechead .lp-num{
  font-size:11px;letter-spacing:.42em;color:var(--silver);
  font-variant-numeric:tabular-nums
}
.lp-sechead .lp-num i{font-style:normal;color:var(--faint);margin-right:10px}
.lp-sechead .lp-meta{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--faint)}
.lp-sechead h2{
  font-size:clamp(1.9rem,3.6vw,3.4rem);font-weight:400;line-height:1.16;letter-spacing:.005em;
  max-width:24ch;color:var(--ink)
}
.lp-sechead h2 em{font-style:normal;color:var(--faint)}
.lp-lede2{margin-top:26px;max-width:60ch;color:var(--dim);font-size:15.5px}
.lp-lede2 p + p{margin-top:13px}

/* feature plates */
.lp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--lp-hair-soft);border:1px solid var(--lp-hair-soft)}
.lp-card{
  position:relative;padding:38px 34px 40px;background:#08080A;
  transition:background .5s var(--lp-ease-out);
  isolation:isolate;overflow:hidden
}
.lp-card::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:0;
  background:radial-gradient(90% 120% at 50% 0%,rgba(232,234,237,.07),transparent 62%);
  transition:opacity .55s var(--lp-ease-out)
}
.lp-card:hover::before{opacity:1}
.lp-card .lp-tag{
  display:inline-flex;align-items:center;gap:9px;
  font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--faint);
  border:1px solid var(--lp-hair-soft);border-radius:999px;padding:6px 13px;margin-bottom:26px;
  transition:color .4s,border-color .4s
}
.lp-card:hover .lp-tag{color:var(--silver);border-color:var(--lp-hair)}
.lp-card h3{font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);margin-bottom:14px;font-weight:500}
.lp-card p{color:var(--dim);font-size:14px;line-height:1.72}
.lp-card .lp-hairline{height:1px;background:var(--lp-grad);margin-bottom:26px;transform-origin:0 50%;transform:scaleX(.25);transition:transform .8s var(--lp-ease-out)}
.lp-card:hover .lp-hairline{transform:scaleX(1)}

/* process with drawing connector */
.lp-process{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative}
.lp-process .lp-wire{
  position:absolute;left:0;right:0;top:19px;height:1px;
  background:var(--lp-hair-soft);overflow:hidden
}
.lp-process .lp-wire::after{
  content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--lp-hair-hot),transparent);
  transform:translateX(-100%);transform-origin:0 50%;
  transition:transform 1.6s var(--lp-ease-out)
}
html[data-bg-core="ok"] .lp-process.in .lp-wire::after{transform:translateX(100%)}
.lp-step{position:relative;padding-top:52px}
.lp-step .lp-node{
  position:absolute;top:8px;left:0;width:22px;height:22px;border-radius:50%;
  border:1px solid var(--lp-hair);background:#08080A;
  display:grid;place-items:center;
  transition:border-color .5s,box-shadow .5s
}
.lp-step .lp-node::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--faint);transition:background .5s,box-shadow .5s}
.lp-step:hover .lp-node{border-color:var(--lp-hair-hot);box-shadow:0 0 0 6px rgba(232,234,237,.03)}
.lp-step:hover .lp-node::after{background:var(--ink);box-shadow:0 0 10px rgba(232,234,237,.6)}
.lp-step .lp-n{font-size:10px;letter-spacing:.36em;color:var(--faint);margin-bottom:14px}
.lp-step h3{font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--silver);margin-bottom:11px;font-weight:500}
.lp-step p{color:var(--dim);font-size:13.5px;line-height:1.7;max-width:34ch}

/* quote plates */
.lp-quote{position:relative;z-index:3;padding:150px 0;max-width:var(--lp-shell);margin:0 auto;padding-inline:40px}
.lp-quote blockquote{
  margin:0;max-width:38ch;
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(1.6rem,3.3vw,2.9rem);line-height:1.42;color:var(--silver);
  opacity:.92;transition:opacity .8s var(--lp-ease-out)
}
.lp-quote:hover blockquote{opacity:1}
.lp-quote .lp-attr{
  display:flex;align-items:center;gap:16px;margin-top:34px;
  font-size:10px;letter-spacing:.36em;text-transform:uppercase;color:var(--faint)
}
.lp-quote .lp-attr::before{content:"";width:56px;height:1px;background:var(--lp-hair)}
.lp-quote .lp-glyph{
  position:absolute;top:40px;left:40px;font-family:var(--serif);font-size:120px;line-height:1;
  color:rgba(232,234,237,.045);pointer-events:none;user-select:none
}

/* model spotlight */
.lp-models{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.lp-model{
  position:relative;padding:34px 34px 30px;border:1px solid var(--lp-hair-soft);
  background:linear-gradient(180deg,rgba(14,15,18,.9),rgba(8,8,10,.9));
  transform-style:preserve-3d;will-change:transform;
  transition:border-color .5s var(--lp-ease-out),box-shadow .5s var(--lp-ease-out)
}
.lp-model:hover{border-color:var(--lp-hair);box-shadow:0 24px 70px rgba(0,0,0,.55)}
.lp-model .lp-mtop{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.lp-model h3{font-size:17px;letter-spacing:.22em;color:var(--ink);font-weight:500;margin:0}
.lp-model .lp-ver{font-size:10px;letter-spacing:.2em;color:var(--faint);white-space:nowrap}
.lp-model .lp-purpose{font-size:12.5px;color:var(--silver);margin:8px 0 18px}
.lp-model .lp-desc{font-size:13.5px;color:var(--dim);line-height:1.72;min-height:66px}
.lp-model .lp-mfoot{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:24px;padding-top:18px;border-top:1px solid var(--lp-hair-soft);
  font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--faint)
}
.lp-model .lp-ids{display:flex;gap:14px}
.lp-model .lp-id{opacity:.6;transition:opacity .4s,color .4s}
.lp-model:hover .lp-id{opacity:1;color:var(--silver)}
.lp-note{margin-top:26px;font-size:12.5px;color:var(--faint);max-width:70ch}

/* status chips (spotlight) */
.lp-state{display:inline-flex;align-items:center;gap:9px;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;
  border:1px solid var(--lp-hair);border-radius:999px;padding:6px 13px;color:var(--dim);white-space:nowrap}
.lp-state i{width:5px;height:5px;border-radius:50%;background:currentColor;flex:0 0 auto}
.lp-state.is-ok{color:var(--ok);border-color:rgba(143,208,172,.3)}
.lp-state.is-warn{color:var(--warn);border-color:rgba(216,184,120,.3)}
.lp-state.is-rose{color:#E0859F;border-color:rgba(224,133,159,.3)}
.lp-state.is-steel{color:var(--steel);border-color:rgba(143,168,200,.3)}
.lp-state.is-dim{color:var(--faint)}
.lp-state.is-dim i{animation:lp-blink 3.2s var(--lp-ease) infinite}
@keyframes lp-blink{0%,100%{opacity:.45}50%{opacity:1}}

/* footer */
.lp-foot{position:relative;z-index:3;border-top:1px solid var(--lp-hair-soft);padding-top:76px;overflow:hidden}
.lp-foot .lp-shell{max-width:var(--lp-shell);margin:0 auto;padding:0 40px}
.lp-foot .lp-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:46px;padding-bottom:70px}
.lp-foot .lp-brand{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.lp-foot .lp-brand img{width:26px;height:26px;transition:transform .8s var(--lp-ease-out)}
.lp-foot .lp-brand:hover img{transform:rotate(-20deg)}
.lp-foot .lp-brand b{font-size:12px;letter-spacing:.34em;font-weight:600;color:var(--ink)}
.lp-foot p{color:var(--faint);font-size:13.5px;max-width:40ch;line-height:1.75}
.lp-foot h4{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--faint);margin:0 0 18px}
.lp-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.lp-foot li a{position:relative;color:var(--dim);font-size:13.5px;transition:color .35s,letter-spacing .35s}
.lp-foot li a:hover{color:var(--ink);letter-spacing:.05em}
.lp-foot .lp-huge{
  font-size:clamp(3rem,15.5vw,15rem);line-height:.8;font-weight:600;letter-spacing:.06em;
  color:transparent;-webkit-text-stroke:1px rgba(232,234,237,.10);
  white-space:nowrap;user-select:none;pointer-events:none;
  transform:translateY(24px);opacity:.85;
  transition:transform 1.2s var(--lp-ease-out),opacity 1.2s
}
.lp-foot:hover .lp-huge{transform:translateY(12px);opacity:1}
.lp-foot .lp-base{
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  border-top:1px solid var(--lp-hair-soft);padding:26px 0 40px;
  font-size:12px;color:var(--faint)
}
.lp-foot .lp-base .lp-greister{display:flex;align-items:center;gap:10px}
.lp-foot .lp-base .lp-greister img{height:19px;width:auto;opacity:.75}

/* ------------------------------------------------- responsive + a11y */
@media (max-width:1080px){
  .hero .lp-shell{grid-template-columns:1fr;gap:34px;padding-top:118px}
  .lp-visual{max-height:none;max-width:520px}
  .lp-sechead{grid-template-columns:1fr;gap:20px;margin:38px 0 44px}
  .lp-cards{grid-template-columns:1fr}
  .lp-process{grid-template-columns:1fr;gap:34px}
  .lp-process .lp-wire{display:none}
  .lp-step{padding-top:44px}
  .lp-models{grid-template-columns:1fr}
  .lp-foot .lp-cols{grid-template-columns:1fr;gap:34px}
  .lp-sec,.lp-quote{padding-inline:24px;padding-block:92px}
  .lp-quote .lp-glyph{display:none}
}
@media (max-width:620px){
  .hero .lp-shell{padding-inline:22px;padding-top:104px}
  .lp-display{font-size:clamp(2.6rem,15vw,4.6rem);letter-spacing:.06em}
  .lp-actions{gap:12px}
  .lp-btn{width:100%;justify-content:space-between}
  .lp-btn--ghost{width:100%;justify-content:space-between}
  .lp-marquee .lp-track span{font-size:10px;letter-spacing:.24em;padding:0 16px;gap:16px}
}

@media (prefers-reduced-motion:reduce){
  .lp-grain,.lp-aurora i,.lp-orbit .lp-spin-slow,.lp-orbit .lp-spin-rev,.lp-orbit .lp-spin-fast,
  .lp-eyebrow .lp-beam::after,.lp-pulse::after,.lp-marquee .lp-track{animation:none !important}
  .lp-display .lp-ch{transform:none;opacity:1}
  .lp-rule{transform:scaleX(1)}
  .lp-foot .lp-huge{transform:none}
}

