
:root {
  --bg-0:#05070A; --bg-1:#080C10; --bg-2:#0B1116; --bg-green-tint:#06140F;
  --glass-1:rgba(255,255,255,0.035); --glass-2:rgba(255,255,255,0.055);
  --glass-3:rgba(255,255,255,0.085); --glass-green:rgba(31,224,150,0.06);
  --glass-stroke:rgba(255,255,255,0.085); --glass-stroke-strong:rgba(255,255,255,0.16);
  --green-400:#3CF0A6; --green-500:#1FE096; --green-600:#12B97B;
  --teal-500:#16D6C4; --lime-500:#9EF01A;
  --green-glow:rgba(31,224,150,0.45); --green-soft:rgba(31,224,150,0.14);
  --text-0:#F2F7F5; --text-1:#C3CDC9; --text-2:#8A9893; --text-3:#566460;
  --text-on-green:#04130D;
  --amber:#F5B544; --red:#FF6B6B; --info:#4DA6FF;
  --grad-brand:linear-gradient(120deg,var(--green-500),var(--teal-500));
  --grad-brand-3:linear-gradient(120deg,var(--lime-500),var(--green-500) 45%,var(--teal-500));
  --grad-text:linear-gradient(100deg,#EAFFF6,#7DF5C8 60%,#16D6C4);
  --maxw:min(1280px,92vw);
  --radius:22px; --radius-sm:14px; --radius-pill:999px;
  --ease-out:cubic-bezier(.2,.7,.2,1); --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --font-display:"Space Grotesk","Sora",system-ui,sans-serif;
  --font-body:"Sora",system-ui,-apple-system,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",monospace;
}

html { overflow-x:clip; }
body.fp-ent { margin:0; background:var(--bg-0); color:var(--text-1); font-family:var(--font-body);
  -webkit-font-smoothing:antialiased; overflow-x:clip; line-height:1.6; }
body.fp-ent *,body.fp-ent *::before,body.fp-ent *::after { box-sizing:border-box; }
body.fp-ent img { max-width:100%; display:block; }
body.fp-ent a { color:inherit; text-decoration:none; }
body.fp-ent button { font-family:inherit; cursor:pointer; }
body.fp-ent ::selection { background:var(--green-soft); color:#fff; }
.ent-wrap { width:var(--maxw); margin-inline:auto; }
.grad-ink { background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ent-mono { font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.24em; font-size:.7rem; color:var(--green-400); }

/* page ambient backdrop */
body.fp-ent::before { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(60% 50% at 80% -5%, rgba(22,214,196,.10), transparent 60%),
    radial-gradient(55% 45% at 12% 8%, rgba(31,224,150,.10), transparent 60%),
    var(--bg-0); }
body.fp-ent::after { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:64px 64px; -webkit-mask-image:radial-gradient(70% 60% at 50% 0%,#000,transparent 75%); mask-image:radial-gradient(70% 60% at 50% 0%,#000,transparent 75%); }

.ent-sec { position:relative; padding:96px 0; }
.ent-sec--alt { background:linear-gradient(180deg,transparent,var(--bg-1) 12%,var(--bg-1) 88%,transparent); }
.ent-sec--tint { background:radial-gradient(80% 90% at 50% 30%,var(--bg-green-tint),transparent 70%); }
.ent-head { max-width:760px; margin-bottom:48px; }
.ent-head.is-center { margin-inline:auto; text-align:center; }
.ent-h2 { font-family:var(--font-display); font-weight:700; font-size:clamp(1.7rem,3.4vw,2.7rem);
  letter-spacing:-.01em; line-height:1.1; color:var(--text-0); margin:14px 0 0; }
.ent-lead { color:var(--text-2); font-size:1.05rem; margin:16px 0 0; }

.glass { position:relative; background:var(--glass-2); border:1px solid var(--glass-stroke);
  border-radius:var(--radius); backdrop-filter:blur(16px) saturate(115%); -webkit-backdrop-filter:blur(16px) saturate(115%);
  box-shadow:0 24px 60px -28px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.06); }
.glass::before { content:""; position:absolute; inset:0 0 auto 0; height:1px; border-radius:inherit;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent); opacity:.5; }
.glass-grad { background:
    linear-gradient(var(--bg-2),var(--bg-2)) padding-box,
    var(--grad-brand) border-box; border:1.5px solid transparent; }
.glow-green { box-shadow:0 0 0 1px rgba(31,224,150,.2), 0 30px 70px -24px rgba(31,224,150,.32), inset 0 1px 0 rgba(255,255,255,.07); }

/* conic ring (animated) */
@property --ent-ang { syntax:"<angle>"; inherits:false; initial-value:0deg; }
.ring { position:relative; }
.ring::after { content:""; position:absolute; inset:-1.5px; border-radius:inherit; padding:1.5px; z-index:0;
  background:conic-gradient(from var(--ent-ang),transparent 0deg,var(--green-400) 70deg,var(--teal-500) 150deg,transparent 220deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude;
  animation:entSpinAng 6s linear infinite; pointer-events:none; }
@keyframes entSpinAng { to { --ent-ang:360deg; } }

.ent-btn { display:inline-flex; align-items:center; gap:9px; padding:13px 22px; border-radius:var(--radius-pill);
  font-weight:700; font-size:.93rem; border:1px solid transparent; transition:transform .18s var(--ease-spring),box-shadow .2s,background .2s,border-color .2s; position:relative; overflow:hidden; }
.ent-btn svg { width:17px; height:17px; }
.ent-btn--primary { background:var(--grad-brand); color:var(--text-on-green); box-shadow:0 14px 30px -12px var(--green-glow); }
body.fp-ent a.ent-btn--primary { color:var(--text-on-green); -webkit-text-fill-color:var(--text-on-green); }
.ent-btn--primary:hover { transform:translateY(-2px); box-shadow:0 20px 40px -12px var(--green-glow); }
.ent-btn--primary::after { content:""; position:absolute; top:0; left:-60%; width:42%; height:100%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-18deg); animation:entSweep 3.6s ease-in-out infinite; }
.ent-btn--ghost { background:var(--glass-1); color:var(--text-0); border-color:var(--glass-stroke-strong); }
.ent-btn--ghost:hover { transform:translateY(-2px); background:var(--glass-2); border-color:rgba(31,224,150,.4); }
@keyframes entSweep { 0%{left:-60%} 55%,100%{left:130%} }

.tag { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); text-transform:uppercase;
  letter-spacing:.16em; font-size:.62rem; font-weight:700; padding:4px 9px; border-radius:var(--radius-pill);
  border:1px solid var(--glass-stroke); color:var(--text-2); background:var(--glass-1); white-space:nowrap; }
.tag--live { color:var(--green-400); border-color:rgba(31,224,150,.35); background:var(--green-soft); }
.tag--design { color:var(--teal-500); border-color:rgba(22,214,196,.35); }
.tag--planned { color:var(--text-2); }
.tag--roadmap { color:var(--amber); border-color:rgba(245,181,68,.35); }
.tag--featured { color:var(--lime-500); border-color:rgba(158,240,26,.35); }

.reveal { opacity:0; transform:translateY(26px) scale(.985); transition:opacity .7s var(--ease-out),transform .7s var(--ease-out); }
.reveal.in { opacity:1; transform:none; }

.tilt { transform-style:preserve-3d; transition:transform .3s var(--ease-out); will-change:transform; }
.tilt .lift { transform:translateZ(26px); }

.orb { position:absolute; border-radius:50%; filter:blur(46px); pointer-events:none; z-index:0;
  background:radial-gradient(circle,var(--green-glow),transparent 68%); animation:entBob 9s ease-in-out infinite alternate; }
@keyframes entBob { from{transform:translate3d(0,0,0)} to{transform:translate3d(8px,-12px,0)} }

.ent-annc { position:relative; z-index:60; background:var(--bg-1); border-bottom:1px solid var(--glass-stroke); }
.ent-annc::before { content:""; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg,transparent,var(--green-400),transparent); opacity:.6; }
.ent-annc-row { width:var(--maxw); margin-inline:auto; display:flex; align-items:center; gap:14px; padding:9px 0; font-size:.8rem; }
.ent-annc-row .lbl { color:var(--text-2); flex:1; min-width:0; }
.ent-annc-row .lbl b { color:var(--text-0); font-weight:600; }
.ent-annc-pill { display:inline-flex; align-items:center; gap:7px; padding:5px 13px; border-radius:var(--radius-pill);
  border:1px solid rgba(31,224,150,.4); color:var(--green-400); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em;
  text-transform:uppercase; position:relative; overflow:hidden; flex:none; transition:background .2s; }
.ent-annc-pill:hover { background:var(--green-soft); }
.ent-annc-pill::after { content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(110deg,transparent,rgba(60,240,166,.45),transparent); transform:skewX(-18deg); animation:entSweep 4s ease-in-out infinite; }

.ent-nav { position:sticky; top:0; z-index:50; backdrop-filter:blur(20px) saturate(120%); -webkit-backdrop-filter:blur(20px) saturate(120%);
  background:rgba(5,7,10,.55); border-bottom:1px solid transparent; transition:border-color .25s,background .25s; }
.ent-nav.is-stuck { border-bottom-color:var(--glass-stroke-strong); background:rgba(5,7,10,.82); }
.ent-nav-row { width:var(--maxw); margin-inline:auto; display:flex; align-items:center; gap:18px; padding:14px 0; }
.ent-brand { display:flex; align-items:center; gap:10px; }
.ent-brand img { height:30px; width:auto; }
.ent-brand .bt { display:flex; flex-direction:column; line-height:1.05; }
.ent-brand .bt b { font-family:var(--font-display); font-weight:700; font-size:.92rem; color:var(--text-0); letter-spacing:-.01em; }
.ent-brand .bt small { font-family:var(--font-mono); font-size:.54rem; letter-spacing:.2em; color:var(--green-400); text-transform:uppercase; }
.ent-nav-links { display:flex; align-items:center; gap:6px; margin-left:auto; }
.ent-nav-links a.nl { padding:8px 13px; border-radius:10px; color:var(--text-2); font-size:.88rem; font-weight:500; transition:color .18s,background .18s; }
.ent-nav-links a.nl:hover { color:var(--text-0); background:var(--glass-1); }
.ent-nav-pill { font-family:var(--font-mono); font-size:.6rem; letter-spacing:.18em; color:var(--green-400); border:1px solid rgba(31,224,150,.3); padding:5px 10px; border-radius:var(--radius-pill); margin-left:6px; }
.ent-nav-cta { margin-left:8px; padding:10px 18px; font-size:.85rem; }
.ent-burger { display:none; margin-left:auto; width:42px; height:42px; border-radius:11px; background:var(--glass-1); border:1px solid var(--glass-stroke); color:var(--text-0); align-items:center; justify-content:center; }
.ent-burger svg { width:20px; height:20px; }

.ent-hero { position:relative; padding:74px 0 90px; overflow:hidden; }
.ent-hero-mesh { position:absolute; inset:-10% -10% auto -10%; height:120%; z-index:0; pointer-events:none; filter:blur(60px); opacity:.9; }
.ent-hero-mesh i { position:absolute; border-radius:50%; mix-blend-mode:screen; animation:entMesh 18s ease-in-out infinite alternate; }
.ent-hero-mesh i:nth-child(1){ width:46vw; height:46vw; left:-6%; top:-12%; background:radial-gradient(circle,rgba(31,224,150,.5),transparent 62%); }
.ent-hero-mesh i:nth-child(2){ width:42vw; height:42vw; right:-4%; top:-6%; background:radial-gradient(circle,rgba(22,214,196,.42),transparent 62%); animation-delay:-6s; }
.ent-hero-mesh i:nth-child(3){ width:34vw; height:34vw; left:34%; top:24%; background:radial-gradient(circle,rgba(158,240,26,.22),transparent 64%); animation-delay:-11s; }
@keyframes entMesh { from{transform:translate3d(0,0,0) scale(1)} to{transform:translate3d(5%,4%,0) scale(1.12)} }
#ent-net { position:absolute; inset:0; z-index:1; width:100%; height:100%; pointer-events:none; opacity:.55; }
.ent-hero-grid { position:relative; z-index:3; display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center; }
.ent-hero-eyebrow { display:inline-flex; align-items:center; gap:9px; }
.ent-hero-eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--green-400); box-shadow:0 0 0 0 var(--green-glow); animation:entPulse 2.4s ease-in-out infinite; }
@keyframes entPulse { 0%,100%{box-shadow:0 0 0 0 rgba(31,224,150,.5)} 50%{box-shadow:0 0 0 7px rgba(31,224,150,0)} }
.ent-h1 { font-family:var(--font-display); font-weight:800; font-size:clamp(2.4rem,6vw,4.6rem); line-height:1.02; letter-spacing:-.02em; color:var(--text-0); margin:20px 0 0; }
.ent-hero-sub { color:var(--text-2); font-size:1.12rem; max-width:42ch; margin:22px 0 0; }
.ent-hero-cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.ent-hero-status { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:22px; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); }
.ent-hero-status span { display:inline-flex; align-items:center; gap:6px; }
.ent-hero-status span::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--green-500); }

/* hero visual stack */
.ent-hero-stage { position:relative; height:420px; perspective:1200px; }
.ent-prism { position:absolute; right:2%; top:50%; width:200px; height:200px; transform:translateY(-50%); transform-style:preserve-3d; animation:entSpin3d 22s linear infinite; z-index:1; }
.ent-prism .face { position:absolute; inset:0; border:1.5px solid rgba(60,240,166,.5); border-radius:18px; box-shadow:inset 0 0 40px rgba(31,224,150,.12); background:rgba(31,224,150,.03); }
.ent-prism .f1{transform:rotateY(0deg) translateZ(100px)} .ent-prism .f2{transform:rotateY(90deg) translateZ(100px)}
.ent-prism .f3{transform:rotateY(180deg) translateZ(100px)} .ent-prism .f4{transform:rotateY(270deg) translateZ(100px)}
.ent-prism .f5{transform:rotateX(90deg) translateZ(100px)} .ent-prism .f6{transform:rotateX(-90deg) translateZ(100px)}
@keyframes entSpin3d { from{transform:translateY(-50%) rotateX(-18deg) rotateY(0)} to{transform:translateY(-50%) rotateX(-18deg) rotateY(360deg)} }
.ent-badge { position:absolute; top:3%; left:0; z-index:4; display:inline-flex; align-items:center; gap:12px; padding:14px 18px; border-radius:18px;
  background:var(--bg-2); max-width:300px; }
.ent-badge .ic { width:38px; height:38px; border-radius:11px; flex:none; display:grid; place-items:center; background:var(--green-soft); color:var(--green-400); }
.ent-badge .ic svg { width:20px; height:20px; }
.ent-badge b { display:block; color:var(--text-0); font-size:.92rem; font-family:var(--font-display); font-weight:600; }
.ent-badge span { font-size:.78rem; color:var(--text-2); }
.ent-chip { position:absolute; z-index:5; display:inline-flex; align-items:center; gap:9px; padding:11px 15px; border-radius:14px; font-size:.82rem; color:var(--text-0); }
.ent-chip svg { width:18px; height:18px; color:var(--green-400); }
.ent-chip.c1 { top:43%; left:0; } .ent-chip.c2 { bottom:4%; left:0; }
.ent-float { animation:entBob 7s ease-in-out infinite alternate; }

/* off-screen animation pause — JS toggles .ent-anim-off on elements not in view */
body.fp-ent .ent-anim-off, body.fp-ent .ent-anim-off::before, body.fp-ent .ent-anim-off::after { animation-play-state:paused !important; }

.ent-marq { position:relative; overflow:hidden; padding:22px 0; border-block:1px solid var(--glass-stroke); background:var(--bg-1);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.ent-marq-track { display:flex; gap:14px; width:max-content; animation:entMarq 34s linear infinite; }
.ent-marq:hover .ent-marq-track { animation-play-state:paused; }
@keyframes entMarq { to { transform:translateX(-50%); } }
.ent-marq-chip { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:var(--radius-pill);
  border:1px solid var(--glass-stroke); background:var(--glass-1); color:var(--text-1); font-size:.85rem; white-space:nowrap; }
.ent-marq-chip svg { width:15px; height:15px; color:var(--green-400); flex:none; }

.ent-build { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.ent-build-tiles { display:grid; grid-template-columns:1fr 1fr; gap:16px; position:relative; }
.ent-build-photo { position:absolute; inset:-12% -8%; z-index:-1; border-radius:30px; background-size:cover; background-position:center; opacity:.16;
  -webkit-mask-image:radial-gradient(70% 70% at 60% 40%,#000,transparent 75%); mask-image:radial-gradient(70% 70% at 60% 40%,#000,transparent 75%); }
.ent-build-tile { padding:18px; }
.ent-build-tile .top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.ent-build-tile .dot { width:9px; height:9px; border-radius:50%; background:var(--green-500); box-shadow:0 0 12px var(--green-glow); animation:entDot 2.2s ease-in-out infinite; }
@keyframes entDot { 0%,100%{opacity:.4} 50%{opacity:1} }
.ent-build-tile b { display:block; color:var(--text-0); font-size:.96rem; font-family:var(--font-display); font-weight:600; line-height:1.25; }

.ent-pillars { display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:22px; }
.ent-pillar { padding:28px 26px; }
.ent-pillar .pic { width:54px; height:54px; border-radius:15px; display:grid; place-items:center; background:var(--green-soft); margin-bottom:20px; }
.ent-pillar .pic svg { width:28px; height:28px; color:var(--green-400); }
.ent-pillar .pic svg path,.ent-pillar .pic svg circle,.ent-pillar .pic svg rect { stroke-dasharray:200; stroke-dashoffset:200; }
.ent-pillar.in .pic svg path,.ent-pillar.in .pic svg circle,.ent-pillar.in .pic svg rect { animation:entDraw 1.1s var(--ease-out) forwards; }
@keyframes entDraw { to { stroke-dashoffset:0; } }
.ent-pillar h3 { font-family:var(--font-display); font-weight:600; font-size:1.18rem; color:var(--text-0); margin:0 0 10px; letter-spacing:-.01em; }
.ent-pillar p { color:var(--text-2); font-size:.92rem; margin:0; }
.ent-pillar.is-feat { grid-column:span 1; }

.ent-caps { display:grid; grid-template-columns:repeat(auto-fit,minmax(248px,1fr)); gap:16px; }
.ent-cap { padding:20px; transition:transform .2s var(--ease-out),background .2s,border-color .2s; }
.ent-cap:hover { transform:translateY(-3px); background:var(--glass-3); border-color:rgba(31,224,150,.28); }
.ent-cap .cic { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--glass-1); border:1px solid var(--glass-stroke); margin-bottom:14px; transition:box-shadow .2s; }
.ent-cap:hover .cic { box-shadow:0 0 22px -4px var(--green-glow); }
.ent-cap .cic svg { width:21px; height:21px; color:var(--green-400); }
.ent-cap h4 { font-family:var(--font-display); font-weight:600; font-size:1rem; color:var(--text-0); margin:0 0 8px; line-height:1.25; }
.ent-cap p { color:var(--text-2); font-size:.84rem; margin:0 0 14px; }
.ent-cap--wide { grid-column:span 2; min-height:200px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.ent-cap--wide .photo { position:absolute; inset:0; z-index:-1; background-size:cover; background-position:center; opacity:.4; }
.ent-cap--wide::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,7,10,.4),rgba(5,7,10,.92)); }

.ent-split { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.ent-pods { position:relative; min-height:360px; perspective:1100px; }
.ent-pod { position:absolute; width:248px; padding:18px; display:flex; align-items:center; gap:12px; }
.ent-pod .av { width:46px; height:46px; border-radius:50%; flex:none; background:var(--glass-1); border:1px solid var(--glass-stroke); display:grid; place-items:center; }
.ent-pod .av svg { width:26px; height:26px; color:var(--green-400); opacity:.85; }
.ent-pod b { display:block; color:var(--text-0); font-size:.9rem; font-family:var(--font-display); font-weight:600; }
.ent-pod span { font-size:.76rem; color:var(--text-2); }
.ent-pod.p1 { top:6%; left:2%; z-index:3; } .ent-pod.p2 { top:38%; right:0; z-index:2; } .ent-pod.p3 { bottom:4%; left:14%; z-index:1; }

/* ============================================================================
   9 · SECURITY
   ========================================================================== */
.ent-sec-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px; }
.ent-trust { padding:20px; display:flex; gap:14px; }
.ent-trust .sic { width:44px; height:44px; border-radius:12px; flex:none; display:grid; place-items:center; background:var(--green-soft); }
.ent-trust .sic svg { width:23px; height:23px; color:var(--green-400); }
.ent-trust h4 { font-family:var(--font-display); font-weight:600; font-size:1rem; color:var(--text-0); margin:0 0 7px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ent-trust p { color:var(--text-2); font-size:.85rem; margin:0; }

.ent-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; }
.ent-steps-rail { position:absolute; top:34px; left:7%; right:7%; height:2px; z-index:0; overflow:hidden; }
.ent-steps-rail i { display:block; height:100%; width:100%; background:var(--grad-brand-3); transform:scaleX(0); transform-origin:left; transition:transform 1.4s var(--ease-out); }
.ent-steps.in .ent-steps-rail i { transform:scaleX(1); }
.ent-step { position:relative; z-index:1; padding:26px 20px; }
.ent-step .num { font-family:var(--font-display); font-weight:800; font-size:1.9rem; line-height:1; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ent-step .st { font-family:var(--font-mono); font-size:.6rem; letter-spacing:.2em; color:var(--green-400); display:block; margin:10px 0 8px; }
.ent-step h4 { font-family:var(--font-display); font-weight:600; font-size:1.04rem; color:var(--text-0); margin:0 0 9px; }
.ent-step p { color:var(--text-2); font-size:.85rem; margin:0; }

.ent-orbit { position:relative; width:min(560px,84vw); aspect-ratio:1; margin:30px auto 0; --orbit-r:calc(min(560px,84vw) * 0.405); }
.ent-orbit-hub { position:absolute; inset:0; margin:auto; width:104px; height:104px; border-radius:50%; display:grid; place-items:center;
  background:var(--green-soft); border:1px solid rgba(31,224,150,.42); box-shadow:0 0 48px -10px var(--green-glow); z-index:3; animation:entHubPulse 4.6s ease-in-out infinite; }
.ent-orbit-hub::after { content:""; position:absolute; inset:-10px; border-radius:50%; border:1px solid rgba(31,224,150,.16); }
.ent-orbit-hub svg { width:44px; height:44px; color:var(--green-400); }
.ent-orbit-ring { position:absolute; inset:0; border:1px dashed var(--glass-stroke); border-radius:50%; animation:entRingSpin 90s linear infinite; }
.ent-orbit-ring.r2 { inset:15%; border-color:rgba(31,224,150,.14); animation:entRingSpin 64s linear infinite reverse; }
.ent-orbit-spin { position:absolute; inset:0; animation:entOrbit 70s linear infinite; }
.ent-int { position:absolute; top:50%; left:50%; width:0; height:0; transform:rotate(var(--a)) translateY(calc(-1 * var(--orbit-r))); }
.ent-int-card { position:absolute; left:50%; top:50%; width:172px; padding:10px 14px; display:flex; align-items:center; gap:10px;
  transform:translate(-50%,-50%) rotate(calc(-1 * var(--a))); animation:entOrbitCounter 70s linear infinite; }
.ent-int-card .iic { width:30px; height:30px; border-radius:8px; flex:none; display:grid; place-items:center; background:var(--glass-1); border:1px solid var(--glass-stroke); font-family:var(--font-mono); font-weight:700; font-size:.62rem; color:var(--green-400); }
.ent-int-card > span:last-child { display:block; min-width:0; }
.ent-int-card b { display:block; font-size:.78rem; color:var(--text-0); line-height:1.2; white-space:normal; word-break:break-word; }
.ent-int-card > span:last-child > span { display:block; font-family:var(--font-mono); font-size:.5rem; letter-spacing:.14em; color:var(--amber); margin-top:1px; }
@keyframes entOrbit { to { transform:rotate(360deg); } }
@keyframes entOrbitCounter {
  from { transform:translate(-50%,-50%) rotate(calc(-1 * var(--a))); }
  to   { transform:translate(-50%,-50%) rotate(calc(-1 * var(--a) - 360deg)); }
}
@keyframes entRingSpin { to { transform:rotate(360deg); } }
@keyframes entHubPulse { 0%,100% { box-shadow:0 0 46px -12px var(--green-glow); } 50% { box-shadow:0 0 78px 0 var(--green-glow); } }
@media (max-width:640px) {
  .ent-orbit { width:100%; aspect-ratio:auto; margin-top:14px; }
  .ent-orbit-ring { display:none; }
  .ent-orbit-hub { position:static; margin:0 auto 18px; width:84px; height:84px; animation:none; }
  .ent-orbit-hub svg { width:36px; height:36px; }
  .ent-orbit-spin { position:static; inset:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; animation:none; }
  .ent-int { position:static; width:auto; height:auto; transform:none; min-width:0; }
  .ent-int-card { position:static; width:auto; min-width:0; transform:none; animation:none; }
  .ent-int-card b { white-space:normal; }
}
.ent-int-cap { text-align:center; color:var(--text-3); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; margin-top:26px; }

.ent-cmp { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.ent-cmp-col { padding:26px 24px; }
.ent-cmp-col h3 { font-family:var(--font-display); font-weight:700; font-size:1.2rem; color:var(--text-0); margin:0 0 4px; }
.ent-cmp-col .sub { color:var(--text-2); font-size:.82rem; margin:0 0 18px; }
.ent-cmp-ribbon { display:inline-block; font-family:var(--font-mono); font-size:.58rem; letter-spacing:.16em; color:var(--green-400); border:1px solid rgba(31,224,150,.35); padding:3px 9px; border-radius:var(--radius-pill); margin-bottom:8px; }
.ent-cmp-row { display:flex; gap:11px; padding:12px 0; border-top:1px solid var(--glass-stroke); align-items:flex-start; }
.ent-cmp-row .ck { width:18px; height:18px; flex:none; margin-top:2px; color:var(--green-400); }
.ent-cmp-row .ck.dash { color:var(--text-3); }
.ent-cmp-row b { color:var(--text-0); font-size:.86rem; display:block; }
.ent-cmp-row span { color:var(--text-2); font-size:.82rem; }

.ent-quotes { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:20px; }
.ent-quote { padding:28px 26px; }
.ent-quote .qm { font-family:var(--font-display); font-weight:800; font-size:3rem; line-height:.6; color:var(--green-500); opacity:.5; }
.ent-quote p { color:var(--text-1); font-size:1rem; margin:14px 0 18px; }
.ent-quote .att { font-family:var(--font-mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--green-400); }

.ent-road { position:relative; max-width:880px; margin-inline:auto; display:grid; gap:18px; }
.ent-road-node { padding:24px 26px; display:grid; grid-template-columns:1fr; gap:14px; }
.ent-road-node .rh { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.ent-road-node h4 { font-family:var(--font-display); font-weight:600; font-size:1.1rem; color:var(--text-0); margin:0; }
.ent-road-node p { color:var(--text-2); font-size:.88rem; margin:0; }
.ent-prog { height:9px; border-radius:var(--radius-pill); background:var(--glass-1); border:1px solid var(--glass-stroke); overflow:hidden; position:relative; }
.ent-prog i { display:block; height:100%; width:0; border-radius:inherit; background:var(--grad-brand-3); transition:width 1.3s var(--ease-out); position:relative; }
.ent-prog i::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent,rgba(255,255,255,.45),transparent); transform:skewX(-18deg); animation:entSweep 2.6s ease-in-out infinite; }

.ent-faq { max-width:820px; margin-inline:auto; display:grid; gap:12px; }
.ent-faq-item { overflow:hidden; }
.ent-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; background:none; border:0; color:var(--text-0); font-size:1rem; font-weight:600; text-align:left; font-family:var(--font-display); }
.ent-faq-q .chev { width:20px; height:20px; flex:none; color:var(--green-400); transition:transform .3s var(--ease-out); }
.ent-faq-item.open .ent-faq-q .chev { transform:rotate(180deg); }
.ent-faq-a { max-height:0; opacity:0; overflow:hidden; transition:max-height .4s var(--ease-out),opacity .3s; }
.ent-faq-item.open .ent-faq-a { max-height:320px; opacity:1; }
.ent-faq-a p { padding:0 22px 22px; color:var(--text-2); font-size:.92rem; margin:0; }

.ent-cta { position:relative; }
.ent-cta-slab { position:relative; max-width:920px; margin-inline:auto; padding:54px 48px; text-align:center; border-radius:28px; overflow:hidden; }
.ent-cta-slab h2 { font-family:var(--font-display); font-weight:700; font-size:clamp(1.7rem,3.6vw,2.8rem); color:var(--text-0); margin:0 0 16px; letter-spacing:-.01em; }
.ent-cta-slab p { color:var(--text-2); max-width:56ch; margin:0 auto 26px; }
.ent-cta-form { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:560px; margin:0 auto; }
.ent-cta-form input { flex:1; min-width:220px; padding:14px 18px; border-radius:var(--radius-pill); background:var(--glass-1); border:1px solid var(--glass-stroke-strong); color:var(--text-0); font-family:inherit; font-size:.92rem; transition:border-color .2s,box-shadow .2s; }
.ent-cta-form input::placeholder { color:var(--text-3); }
.ent-cta-form input:focus { outline:none; border-color:var(--green-500); box-shadow:0 0 0 4px rgba(31,224,150,.15); }
.ent-cta-note { color:var(--text-3); font-size:.78rem; margin-top:16px; }
.ent-cta-ok { color:var(--green-400); font-size:.9rem; margin-top:16px; display:none; }
.ent-cta-ok.show { display:block; }

.ent-foot { border-top:1px solid var(--glass-stroke); background:var(--bg-1); padding:56px 0 28px; }
.ent-foot-top { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px; }
.ent-foot-top h5 { font-family:var(--font-mono); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text-3); margin:0 0 14px; }
.ent-foot-top a { display:block; color:var(--text-2); font-size:.88rem; padding:5px 0; transition:color .18s; }
.ent-foot-top a:hover { color:var(--green-400); }
.ent-foot-tag { color:var(--text-2); font-size:.9rem; margin:14px 0 0; max-width:38ch; }
.ent-foot-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:40px; padding-top:22px; border-top:1px solid var(--glass-stroke); }
.ent-foot-legal { font-family:var(--font-mono); font-size:.62rem; letter-spacing:.08em; color:var(--text-3); }
.ent-top-btn { display:inline-flex; align-items:center; gap:8px; font-size:.82rem; color:var(--text-2); border:1px solid var(--glass-stroke); padding:8px 14px; border-radius:var(--radius-pill); transition:color .18s,border-color .18s; }
.ent-top-btn:hover { color:var(--green-400); border-color:rgba(31,224,150,.4); }

@media (max-width:980px) {
  .ent-hero-grid,.ent-build,.ent-split,.ent-cmp { grid-template-columns:1fr; }
  .ent-hero-stage { height:320px; margin-top:18px; }
  .ent-steps { grid-template-columns:1fr 1fr; }
  .ent-steps-rail { display:none; }
  .ent-foot-top { grid-template-columns:1fr 1fr; }
  .ent-cap--wide { grid-column:span 1; }
}
@media (max-width:720px) {
  .ent-sec { padding:64px 0; }
  .ent-annc-row .lbl { display:none; }
  .ent-annc-row { justify-content:space-between; }
  .ent-nav-links { display:none; }
  .ent-burger { display:inline-flex; }
  .ent-nav.show-menu .ent-nav-links { display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:4px; padding:14px var(--maxw,16px); margin:0; background:rgba(5,7,10,.96); border-bottom:1px solid var(--glass-stroke); }
  .ent-nav.show-menu .ent-nav-links { padding:14px max(16px,calc((100vw - var(--maxw))/2)); }
  .ent-prism { display:none; }
  .ent-steps,.ent-foot-top { grid-template-columns:1fr; }
  .ent-pods { min-height:300px; }
  .ent-cta-slab { padding:38px 22px; }
}

@media (prefers-reduced-motion:reduce) {
  body.fp-ent *,body.fp-ent *::before,body.fp-ent *::after {
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; }
  body.fp-ent .reveal { opacity:1 !important; transform:none !important; }
  body.fp-ent #ent-net { opacity:.3; }
  body.fp-ent .ent-marq-track { animation:none; transform:none; flex-wrap:wrap; }
  body.fp-ent .ent-steps-rail i { transform:scaleX(1); }
}


body.fp-ent .ent-h1 {
  font-weight:700;
  font-size:clamp(2.5rem,5.7vw,4.5rem);
  line-height:1.03;
  letter-spacing:-.022em;
  text-wrap:balance;
}
body.fp-ent .ent-h2 {
  font-weight:600;
  font-size:clamp(1.72rem,3.3vw,2.6rem);
  line-height:1.12;
  letter-spacing:-.018em;
  text-wrap:balance;
}
body.fp-ent .ent-cta-slab h2 {
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.1;
  text-wrap:balance;
}
body.fp-ent .ent-pillar h3,
body.fp-ent .ent-cmp-col h3 { font-weight:600; letter-spacing:-.012em; }
body.fp-ent .ent-cmp-col h3 { font-weight:700; }
body.fp-ent .ent-cap h4,
body.fp-ent .ent-trust h4,
body.fp-ent .ent-step h4,
body.fp-ent .ent-road-node h4,
body.fp-ent .ent-faq-q { font-weight:600; letter-spacing:-.008em; }
body.fp-ent .ent-badge b,
body.fp-ent .ent-pod b,
body.fp-ent .ent-build-tile b { font-weight:600; letter-spacing:-.006em; }
body.fp-ent .ent-step .num {
  font-weight:700; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1;
}
body.fp-ent .ent-quote .qm { font-weight:700; line-height:.55; opacity:.45; }
body.fp-ent .ent-brand .bt b { font-weight:600; letter-spacing:-.01em; }
/* keep the green clip riding the new letterforms */
body.fp-ent .grad-ink { letter-spacing:inherit; }

body.fp-ent .ent-mono { font-weight:500; letter-spacing:.2em; font-size:.685rem; }
body.fp-ent .tag,
body.fp-ent .ent-annc-pill,
body.fp-ent .ent-nav-pill { font-weight:500; }
body.fp-ent .ent-step .st,
body.fp-ent .ent-cmp-ribbon,
body.fp-ent .ent-int-card > span:last-child > span { letter-spacing:.18em; }
body.fp-ent .ent-foot h5,
body.fp-ent .ent-foot-legal { font-weight:500; letter-spacing:.16em; }
/* hero eyebrow upgraded to a composed glass pill (base is plain inline-flex;
   the .dot pulse is preserved — this only adds padding/border/blur) */
body.fp-ent .ent-hero-eyebrow {
  padding:6px 13px 6px 11px;
  border:1px solid var(--glass-stroke);
  border-radius:var(--radius-pill);
  background:linear-gradient(90deg,var(--green-soft),transparent 80%);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}

body.fp-ent .ent-head { margin-bottom:54px; }
body.fp-ent .ent-head .ent-mono { display:inline-block; margin-bottom:4px; }
body.fp-ent .ent-h2 { margin-top:12px; }
body.fp-ent .ent-lead { font-size:1.06rem; line-height:1.62; margin-top:18px; max-width:60ch; }
body.fp-ent .ent-head.is-center .ent-lead { margin-inline:auto; }
body.fp-ent .ent-head .ent-mono::after {
  content:""; display:block; width:26px; height:2px; margin-top:9px; border-radius:2px;
  background:linear-gradient(90deg,var(--green-400),transparent);
}
body.fp-ent .ent-head.is-center .ent-mono::after { margin-inline:auto; }

body.fp-ent .glass {
  border-radius:var(--radius);
  box-shadow:
    0 22px 56px -30px rgba(0,0,0,.78),
    0 2px 10px -6px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .26s var(--ease-out), border-color .26s var(--ease-out), box-shadow .26s var(--ease-out);
}
body.fp-ent .glass::before { opacity:.45; }
/* one quiet lift + 1px green ring on interactive glass cards */
body.fp-ent .ent-pillar.glass:hover,
body.fp-ent .ent-trust.glass:hover,
body.fp-ent .ent-road-node.glass:hover,
body.fp-ent .ent-cmp-col.glass:hover {
  transform:translateY(-3px);
  border-color:rgba(31,224,150,.26);
  box-shadow:
    0 28px 60px -30px rgba(0,0,0,.8),
    0 0 0 1px rgba(31,224,150,.10),
    inset 0 1px 0 rgba(255,255,255,.07);
}

body.fp-ent .ent-cap { transition:transform .2s var(--ease-out),background .2s,border-color .2s,box-shadow .2s; }
body.fp-ent .ent-cap:hover { transform:translateY(-3px); }
body.fp-ent .ent-cap .cic,
body.fp-ent .ent-pillar .pic,
body.fp-ent .ent-trust .sic { border-radius:13px; }
body.fp-ent .ent-cap:hover .cic { box-shadow:0 0 18px -6px var(--green-glow); border-color:rgba(31,224,150,.4); }
/* button: crisper non-rubberband settle to match the grotesk register */
body.fp-ent .ent-btn { transition:transform .16s var(--ease-out),box-shadow .2s,background .2s,border-color .2s; }
body.fp-ent .ent-btn--primary:hover,
body.fp-ent .ent-btn--ghost:hover { transform:translateY(-2px); }

body.fp-ent .ent-hero-sub { font-size:1.1rem; line-height:1.58; max-width:44ch; margin-top:24px; }
body.fp-ent .ent-hero-status { gap:10px 18px; margin-top:26px; letter-spacing:.12em; }
body.fp-ent .ent-hero-status span::before { box-shadow:0 0 8px var(--green-glow); }
body.fp-ent .ent-hero-cta { margin-top:34px; }
body.fp-ent .ent-prism .face { border-width:1px; }

body.fp-ent .ent-faq-q { font-size:1.02rem; }
body.fp-ent .ent-nav-links a.nl { font-weight:500; letter-spacing:-.003em; }

@media (max-width:720px) {
  body.fp-ent .ent-h1 { letter-spacing:-.018em; line-height:1.06; }
  body.fp-ent .ent-cta-slab h2,
  body.fp-ent .ent-h2 { letter-spacing:-.014em; }
}

@media (prefers-reduced-motion:reduce) {
  body.fp-ent .glass,
  body.fp-ent .ent-cap,
  body.fp-ent .ent-btn { transition-duration:.001ms !important; }
  body.fp-ent .ent-pillar.glass:hover,
  body.fp-ent .ent-trust.glass:hover,
  body.fp-ent .ent-road-node.glass:hover,
  body.fp-ent .ent-cmp-col.glass:hover,
  body.fp-ent .ent-cap:hover,
  body.fp-ent .ent-btn--primary:hover,
  body.fp-ent .ent-btn--ghost:hover { transform:none !important; }
}

body.fp-ent .ent-hero-stage { height: 448px; }
/* prism: smaller cube (faces pulled in from 100px → 78px) + parked clearly on the right */
body.fp-ent .ent-hero-stage .ent-prism { right: 1%; width: 156px; height: 156px; }
body.fp-ent .ent-hero-stage .ent-prism .f1 { transform: rotateY(0deg)   translateZ(78px); }
body.fp-ent .ent-hero-stage .ent-prism .f2 { transform: rotateY(90deg)  translateZ(78px); }
body.fp-ent .ent-hero-stage .ent-prism .f3 { transform: rotateY(180deg) translateZ(78px); }
body.fp-ent .ent-hero-stage .ent-prism .f4 { transform: rotateY(270deg) translateZ(78px); }
body.fp-ent .ent-hero-stage .ent-prism .f5 { transform: rotateX(90deg)  translateZ(78px); }
body.fp-ent .ent-hero-stage .ent-prism .f6 { transform: rotateX(-90deg) translateZ(78px); }
/* 3 glass cards: aligned left column, even vertical gaps, widths capped so they clear the prism */
body.fp-ent .ent-hero-stage .ent-badge { top: 5%; left: 0; max-width: 288px; }
body.fp-ent .ent-hero-stage .ent-chip  { left: 0; bottom: auto; max-width: 264px; white-space: nowrap; }
body.fp-ent .ent-hero-stage .ent-chip.c1 { top: 45%; }
body.fp-ent .ent-hero-stage .ent-chip.c2 { top: 76%; }
/* a touch more opacity on hero cards so the animated prism never bleeds through if they ever overlap */
body.fp-ent .ent-hero-stage .glass { background: color-mix(in srgb, var(--bg-1, #080c10) 78%, transparent); }
@media (max-width: 980px) {
  body.fp-ent .ent-hero-stage { height: 360px; }
  body.fp-ent .ent-hero-stage .ent-prism { right: 2%; }
}
