/* Ligeronex V5 — refined bee-hive / hexagonal intelligence visual language. Existing base styles remain intact. */
html { scroll-behavior: smooth; scroll-padding-top: 82px; }
body { overscroll-behavior-y: none; }
.site-header { transition: background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease; }
.hero { min-height: 78vh; }
.hero-copy, .hero-visual { will-change: transform, opacity; }
.reveal { opacity: 0; transform: translateY(34px); transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay { transition-delay: .14s; }
.intent-card.reveal:nth-child(2), .product-card.reveal:nth-child(2), .impact-card.reveal:nth-child(2) { transition-delay: .08s; }
.intent-card.reveal:nth-child(3), .product-card.reveal:nth-child(3), .impact-card.reveal:nth-child(3) { transition-delay: .16s; }
.intent-card.reveal:nth-child(4), .impact-card.reveal:nth-child(4) { transition-delay: .24s; }
.intent-card.reveal:nth-child(5) { transition-delay: .32s; }
.intent-card.reveal:nth-child(6) { transition-delay: .40s; }

/* Launch / countdown */
.launch-spotlight { padding: 46px 0; background: linear-gradient(180deg,#020e23,#061f3e); color:#fff; text-align:center; position:relative; overflow:hidden; }
.launch-spotlight:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 20%,rgba(47,184,255,.22),transparent 52%); pointer-events:none; }
.launch-inner { position:relative; z-index:1; }
.launch-kicker { color:#54d5ff; font-size:11px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.launch-date { margin:10px 0 4px; font:800 clamp(34px,5vw,64px)/1 Manrope,sans-serif; letter-spacing:-.045em; }
.launch-sub { margin:0; color:#c8d9ed; font-size:15px; }
.launch-countdown { display:flex; justify-content:center; gap:12px; margin-top:22px; flex-wrap:wrap; }
.countdown-unit { min-width:72px; padding:11px 12px; border:1px solid rgba(111,205,255,.25); border-radius:12px; background:rgba(255,255,255,.045); backdrop-filter:blur(12px); }
.countdown-number { display:block; font:800 24px/1 Manrope,sans-serif; color:#fff; }
.countdown-label { display:block; margin-top:5px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#8fb9e8; }
.product-band { padding:82px 0; }
.product-band .eyebrow { color:#55d7ff; }
.product-band h2 { font-size:clamp(38px,4.2vw,58px); }
.launch-date-display { font:800 clamp(42px,6vw,76px)/.95 Manrope,sans-serif; letter-spacing:-.055em; margin:12px 0 18px; background:linear-gradient(90deg,#fff,#71dcff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.launch-date-display span { display:block; font-size:.48em; letter-spacing:.16em; text-transform:uppercase; margin-bottom:12px; color:#58d5ff; background:none; -webkit-text-fill-color:#58d5ff; }
.launch-pill { display:inline-flex; align-items:center; gap:8px; margin-top:20px; padding:9px 13px; border:1px solid rgba(87,211,255,.3); border-radius:999px; background:rgba(255,255,255,.04); color:#dff6ff; font-size:11px; font-weight:700; }
.launch-pill:before { content:""; width:7px; height:7px; border-radius:50%; background:#4bd7ff; box-shadow:0 0 16px rgba(75,215,255,.8); }

/* FUTURE SYSTEM — complete visual redesign for the "Ahead of the launch" section. */
.matching {
  position:relative;
  isolation:isolate;
  min-height:760px;
  padding:120px 0;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(ellipse at 78% 50%,rgba(23,145,255,.16),transparent 28%),
    radial-gradient(ellipse at 55% 10%,rgba(61,213,255,.08),transparent 34%),
    linear-gradient(135deg,#020917 0%,#04162d 52%,#020b1b 100%);
}
.matching:before {
  content:"";
  position:absolute;
  inset:-20%;
  pointer-events:none;
  opacity:.32;
  background-image:
    linear-gradient(rgba(75,185,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(75,185,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  transform:perspective(700px) rotateX(62deg) translateY(22%);
  transform-origin:center bottom;
  mask-image:radial-gradient(ellipse at 72% 50%,#000 0%,transparent 68%);
  animation:gridDrift 18s linear infinite;
  z-index:-3;
}
.matching:after {
  content:"";
  position:absolute;
  width:720px;
  height:720px;
  right:3%;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 12%,rgba(70,210,255,.09) 17%,transparent 25% 42%,rgba(26,135,255,.08) 48%,transparent 55% 75%,rgba(81,218,255,.07) 82%,transparent 90%);
  filter:blur(2px);
  animation:energyWheel 22s linear infinite;
  pointer-events:none;
  z-index:-2;
}
.matching-grid {
  position:relative;
  z-index:2;
  grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr);
  gap:55px;
  align-items:center;
}
.matching-copy { position:relative; max-width:590px; }
.matching-copy:before {
  content:"01 / 04";
  display:block;
  margin-bottom:20px;
  color:rgba(93,216,255,.55);
  font:700 10px/1 Manrope,sans-serif;
  letter-spacing:.28em;
}
.matching-copy .eyebrow { color:#55dcff; }
.matching-copy h2 {
  color:#fff;
  font-size:clamp(40px,4.4vw,64px);
  line-height:1.01;
  letter-spacing:-.055em;
  margin:15px 0 22px;
}
.matching-copy>p {
  color:#a8bfd9;
  font-size:16px;
  line-height:1.8;
  max-width:540px;
}
.criteria-grid { grid-template-columns:repeat(3,1fr); gap:8px; margin-top:32px; }
.criteria-grid span {
  position:relative;
  overflow:hidden;
  padding:12px 11px;
  border:1px solid rgba(95,201,255,.16);
  border-radius:7px;
  color:#bcd5ec;
  background:rgba(255,255,255,.025);
  font-size:10px;
  letter-spacing:.02em;
  transition:border-color .3s ease,background .3s ease,transform .3s ease;
}
.criteria-grid span:before { content:""; position:absolute; left:0; top:0; width:2px; height:100%; background:#52d8ff; transform:scaleY(0); transform-origin:bottom; transition:transform .3s ease; }
.criteria-grid span:hover { transform:translateY(-3px); border-color:rgba(95,216,255,.45); background:rgba(41,164,255,.08); }
.criteria-grid span:hover:before { transform:scaleY(1); }

.matching-visual {
  height:560px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:visible;
  perspective:1000px;
}
.matching-visual:before {
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(37,174,255,.18) 0%,rgba(27,111,255,.08) 34%,transparent 70%);
  filter:blur(7px);
  animation:coreBreath 4.8s ease-in-out infinite;
}
.matching-visual:after {
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  border:1px solid rgba(75,202,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(62,189,255,.025),0 0 0 82px rgba(62,189,255,.018),inset 0 0 70px rgba(42,173,255,.04);
  animation:outerPulse 7s ease-in-out infinite;
  pointer-events:none;
}
.match-ring { position:absolute; left:50%; top:50%; border:1px solid rgba(71,202,255,.18); transform:translate(-50%,-50%); }
.match-ring:before,.match-ring:after { content:""; position:absolute; width:5px; height:5px; border-radius:50%; background:#65e2ff; box-shadow:0 0 16px 4px rgba(73,211,255,.65); }
.match-ring:before { top:-3px; left:50%; }
.match-ring:after { bottom:-3px; right:16%; }
.ring-a { width:210px; height:210px; border-radius:50%; border-color:rgba(88,220,255,.48); animation:orbitA 10s linear infinite; box-shadow:0 0 35px rgba(32,167,255,.08); }
.ring-b { width:350px; height:350px; border-radius:50%; border-style:dashed; border-color:rgba(66,173,255,.2); animation:orbitB 18s linear infinite; }
.ring-c { width:500px; height:500px; border-radius:50%; border-color:rgba(67,164,255,.11); animation:orbitC 28s linear infinite; }
.ring-a:after,.ring-b:after,.ring-c:after { width:7px; height:7px; }

/* Central Ligeronex identity remains fixed — the system moves around it. */
.match-core.brand-core {
  position:relative;
  width:172px;
  height:172px;
  border-radius:30px;
  transform:none;
  display:grid;
  place-items:center;
  padding:18px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(9,43,79,.94),rgba(2,17,37,.96));
  border:1px solid rgba(100,222,255,.75);
  box-shadow:0 0 0 1px rgba(62,191,255,.12),0 0 55px rgba(25,156,255,.35),inset 0 0 35px rgba(82,209,255,.08);
  z-index:5;
  animation:identityPulse 4s ease-in-out infinite;
}
.match-core.brand-core:before {
  content:"";
  position:absolute;
  inset:-45%;
  background:conic-gradient(from 0deg,transparent,rgba(86,222,255,.18),transparent 24%,rgba(35,137,255,.12),transparent 50%);
  animation:coreSweep 6s linear infinite;
}
.brand-core img {
  position:relative;
  z-index:2;
  width:135px;
  height:auto;
  max-width:100%;
  object-fit:contain;
  border-radius:12px;
  transform:none;
  filter:drop-shadow(0 0 10px rgba(92,220,255,.8)) drop-shadow(0 0 26px rgba(24,135,255,.48));
  mix-blend-mode:screen;
  opacity:.98;
}
.brand-core:after {
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(120,225,255,.18);
  border-radius:22px;
  pointer-events:none;
}

/* The four ideas behave like intelligent nodes rather than static labels. */
.match-node {
  position:absolute;
  min-width:94px;
  text-align:center;
  padding:12px 16px;
  border:1px solid rgba(82,207,255,.28);
  background:rgba(3,22,44,.72);
  backdrop-filter:blur(14px);
  color:#e2f5ff;
  font:700 11px/1 Manrope,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:999px;
  box-shadow:0 10px 35px rgba(0,0,0,.2),inset 0 0 20px rgba(56,179,255,.035);
  will-change:transform,opacity;
  animation:nodeFloat 5s ease-in-out infinite;
  z-index:7;
}
.match-node:after {
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:inherit;
  border:1px solid rgba(79,207,255,.12);
  animation:nodeHalo 2.8s ease-in-out infinite;
}
.match-node:before {
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#63e0ff;
  box-shadow:0 0 13px 3px rgba(83,215,255,.6);
  transform:none;
}
.node-a { top:5%; left:50%; transform:translateX(-50%); animation-delay:0s; }
.node-a:before { left:50%; bottom:-15px; }
.node-b { right:0; top:50%; transform:translateY(-50%); animation-delay:1.2s; }
.node-b:before { left:-15px; top:50%; }
.node-c { bottom:5%; left:50%; transform:translateX(-50%); animation-delay:2.4s; }
.node-c:before { left:50%; top:-15px; }
.node-d { left:0; top:50%; transform:translateY(-50%); animation-delay:3.6s; }
.node-d:before { right:-15px; top:50%; }

/* Animated energy paths created entirely with CSS. */
.matching-visual .ring-a,
.matching-visual .ring-b,
.matching-visual .ring-c { will-change:transform; }

@keyframes gridDrift { from { background-position:0 0,0 0; } to { background-position:0 64px,64px 0; } }
@keyframes energyWheel { from { transform:translateY(-50%) rotate(0deg); } to { transform:translateY(-50%) rotate(360deg); } }
@keyframes coreBreath { 0%,100% { transform:scale(.88); opacity:.62; } 50% { transform:scale(1.08); opacity:1; } }
@keyframes outerPulse { 0%,100% { transform:scale(.96); opacity:.45; } 50% { transform:scale(1.025); opacity:.85; } }
@keyframes orbitA { from { transform:translate(-50%,-50%) rotate(0deg); } to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes orbitB { from { transform:translate(-50%,-50%) rotate(360deg); } to { transform:translate(-50%,-50%) rotate(0deg); } }
@keyframes orbitC { from { transform:translate(-50%,-50%) rotate(0deg); } to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes coreSweep { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes identityPulse { 0%,100% { box-shadow:0 0 0 1px rgba(62,191,255,.12),0 0 45px rgba(25,156,255,.28),inset 0 0 35px rgba(82,209,255,.08); } 50% { box-shadow:0 0 0 1px rgba(62,191,255,.25),0 0 80px rgba(25,174,255,.48),inset 0 0 45px rgba(82,209,255,.13); } }
@keyframes nodeFloat { 0%,100% { translate:0 0; opacity:.72; } 50% { translate:0 -10px; opacity:1; } }
@keyframes nodeHalo { 0%,100% { opacity:.2; transform:scale(.96); } 50% { opacity:.75; transform:scale(1.06); } }

.intent-card,.product-card,.impact-card { position:relative; overflow:hidden; }
.intent-card:after,.product-card:after,.impact-card:after { content:""; position:absolute; width:90px; height:78px; right:-28px; bottom:-28px; opacity:.035; border:1px solid currentColor; clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%); pointer-events:none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .hero-glow,.network-lines,.floating-chip,.floating-orb,.match-ring,.match-core,.matching-visual:before,.matching:before,.matching:after,.match-node,.match-node:after,.match-core.brand-core:before { animation:none !important; }
}
@media (max-width:900px) {
  .matching { padding:90px 0; }
  .matching-grid { grid-template-columns:1fr; gap:20px; }
  .matching-copy { max-width:760px; }
  .matching-visual { height:540px; }
}
@media (max-width:760px) {
  html { scroll-padding-top:70px; }
  .launch-date { font-size:38px; }
  .countdown-unit { min-width:64px; }
  .product-band { padding:64px 0; }
  .matching { min-height:0; padding:76px 0; }
  .matching-copy h2 { font-size:42px; }
  .criteria-grid { grid-template-columns:repeat(2,1fr); }
  .matching-visual { height:440px; }
  .ring-c { width:350px; height:350px; }
  .ring-b { width:250px; height:250px; }
  .ring-a { width:155px; height:155px; }
  .match-core.brand-core { width:126px; height:126px; padding:13px; border-radius:23px; }
  .brand-core img { width:98px; }
  .match-node { min-width:78px; padding:10px 12px; font-size:9px; }
  .node-a { top:4%; }
  .node-c { bottom:4%; }
  .node-b { right:1%; }
  .node-d { left:1%; }
}
