:root{
  --bg:#0F0F0F; --bg-2:#141414; --card:#2A2A2A; --line:#2A2A2A;
  --teal:#1CCFD6; --white:#FFFFFF; --gray:#B3B3B3;
  --font:Calibri,"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:124px}
section,h2{scroll-margin-top:124px}
body{overflow-x:hidden;background:var(--bg);color:var(--white);font-family:var(--font);font-size:1.125rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video,iframe{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:var(--teal);color:#0F0F0F;padding:8px 14px;z-index:99}

/* Buttons */
.btn{display:inline-block;font:inherit;font-weight:700;font-size:1rem;text-decoration:none;padding:14px 26px;border-radius:6px;border:2px solid var(--teal);cursor:pointer}
.btn-primary{background:var(--teal);color:#0F0F0F}
.btn-primary:hover{background:#4FDDE2;border-color:#4FDDE2}
.btn-ghost{background:transparent;color:var(--white)}
.btn-ghost:hover{background:rgba(28,207,214,.12)}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(15,15,15,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:108px}
.logo{text-decoration:none;line-height:1.1}
.logo{display:block}
.logo img{height:88px;width:auto}
footer .logo img{height:80px}
.nav ul{display:flex;gap:32px;list-style:none;align-items:center}
.nav ul a{text-decoration:none;font-size:1rem;color:var(--gray)}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--white)}
.nav .btn{padding:10px 18px;color:#0F0F0F}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--white);font:inherit;padding:8px 14px;border-radius:6px}

/* Hero */
.hero{padding:88px 0 72px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.75rem,6.4vw,5.25rem);line-height:.98;letter-spacing:-.025em;font-weight:700;max-width:10ch}
.hero p{color:var(--gray);font-size:1.3rem;margin:26px 0 36px;max-width:34ch}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-media{position:relative;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:var(--card)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--gray);font-size:.95rem;padding:24px}

/* Clock band: the signature element */
.hours{padding:96px 0;background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hours h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;letter-spacing:-.015em;max-width:20ch}
.hours .lede{color:var(--gray);margin-top:18px;max-width:58ch}
.band{margin:56px 0 18px;display:grid;grid-template-columns:repeat(24,1fr);gap:3px}
.band i{height:64px;border-radius:3px;background:var(--card)}
.band i.on{background:var(--teal)}
.band-labels{display:grid;grid-template-columns:repeat(4,1fr);color:var(--gray);font-size:.9rem}
.band-labels span:nth-child(2){text-align:center}
.band-labels span:nth-child(3){text-align:center}
.band-labels span:last-child{text-align:right}
.band-key{display:flex;gap:28px;flex-wrap:wrap;margin-top:22px;font-size:.95rem;color:var(--gray)}
.band-key b{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:8px}
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px}
.pains h3{font-size:1.2rem;margin-bottom:8px}
.pains p{color:var(--gray);font-size:1.02rem}

/* Generic section */
.section{padding:104px 0}
.section-head{max-width:640px;margin-bottom:52px}
.section-head h2{font-size:clamp(2rem,4vw,2.9rem);line-height:1.1;letter-spacing:-.015em}
.section-head p{color:var(--gray);margin-top:14px}
.section-head.wide{max-width:none}
.nb{white-space:nowrap}

/* Industries */
.industries{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.ind{background:var(--card);border-radius:10px;padding:26px 22px;text-decoration:none;display:flex;flex-direction:column;gap:10px;border:1px solid transparent}
.ind:hover{border-color:var(--teal)}
.ind svg{width:30px;height:30px;stroke:var(--teal)}
.ind h3{font-size:1.1rem;line-height:1.25}
.ind p{color:var(--gray);font-size:.95rem;line-height:1.5}

/* Solutions */
.solutions{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}
.sol{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:36px;display:flex;flex-direction:column}
.sol.big{grid-row:span 2;background:var(--card);border-color:var(--card)}
.sol h3{font-size:1.6rem;margin-bottom:10px}
.sol.big h3{font-size:2.1rem}
.sol p{color:var(--gray)}
.sol a{margin-top:auto;padding-top:24px;color:var(--teal);font-weight:700;text-decoration:none}
.sol a:hover{text-decoration:underline}

/* How it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.step{padding:36px 32px 0 0}
.step + .step{padding-left:32px;border-left:1px solid var(--line)}
.step .n{color:var(--teal);font-weight:700;font-size:1rem}
.step h3{font-size:2.4rem;letter-spacing:-.02em;margin:6px 0 10px}
.step p{color:var(--gray)}

/* Economics */
.econ{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.econ-col{border-radius:14px;padding:36px}
.econ-col.old{background:var(--bg-2);border:1px solid var(--line)}
.econ-col.new{background:var(--card);border:1px solid var(--teal)}
.econ-col h3{font-size:1.35rem;margin-bottom:18px}
.econ-col ul{list-style:none;display:grid;gap:12px}
.econ-col li{padding-left:22px;position:relative;color:var(--gray)}
.econ-col li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:#555}
.econ-col.new li{color:var(--white)}
.econ-col.new li::before{background:var(--teal)}

/* Logo banner: continuous scroll */
.marquee{margin:0 calc(50% - 50vw);overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;width:max-content;animation:scroll 40s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.logos{display:flex;align-items:center;flex-shrink:0}
.logo-slot{height:120px;padding:0 44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-slot img{max-height:52px;max-width:170px;width:auto;object-fit:contain;opacity:.8}
.logo-slot img:hover{opacity:1}
.logo-name{color:#d9d9d9;font-weight:700;font-size:1.5rem;letter-spacing:-.01em;white-space:nowrap;opacity:.8}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap;width:auto}.marquee-track .logos[aria-hidden]{display:none}.marquee-track .logos{flex-wrap:wrap;justify-content:center}}
@media (max-width:860px){.logo-slot{height:96px;padding:0 28px}.logo-slot img{max-height:40px;max-width:130px}.marquee-track{animation-duration:30s}}

/* Video */
.demo-video{width:100%;aspect-ratio:16/9;border-radius:14px;background:var(--card);object-fit:cover}
.video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--card);border:0;width:100%;cursor:pointer;color:var(--white);font:inherit}
.video .play{position:absolute;inset:0;display:grid;place-items:center}
.video .play b{width:88px;height:88px;border-radius:50%;background:var(--teal);display:grid;place-items:center}
.video .play b::after{content:"";margin-left:6px;border-left:26px solid #0F0F0F;border-top:16px solid transparent;border-bottom:16px solid transparent}
.video .cap{position:absolute;left:24px;bottom:20px;color:var(--gray);font-size:.95rem}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-foot{margin-top:20px}
.video-foot a{color:var(--teal);font-weight:700;text-decoration:none}

/* CTA */
.cta{padding:124px 0;background:var(--bg-2);border-top:1px solid var(--line);text-align:center}
.cta h2{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.04;letter-spacing:-.02em;max-width:16ch;margin:0 auto}
.cta p{color:var(--gray);margin:18px auto 34px;max-width:48ch}

/* Footer */
footer{border-top:1px solid var(--line);padding:64px 0 40px;font-size:1rem}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:48px}
footer h3{font-size:1rem;margin-bottom:14px}
footer ul{list-style:none;display:grid;gap:8px}
footer a{color:var(--gray);text-decoration:none}
footer a:hover{color:var(--white)}
footer p{color:var(--gray)}
.news{display:flex;gap:10px;margin-top:12px}
.news label{position:absolute;left:-9999px}
.news input[type=email]{flex:1;min-width:0;background:var(--bg-2);border:1px solid var(--card);border-radius:6px;padding:12px 14px;color:var(--white);font:inherit}
.news .btn{padding:12px 18px}
.legal{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--gray);font-size:.9rem}

/* Responsive */
@media (max-width:1024px){
  .industries{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav ul{display:none;position:absolute;top:108px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 24px;border-bottom:1px solid var(--line)}
  .nav ul.open{display:flex}
  .nav ul li{width:100%}
  .nav ul a{display:block;padding:12px 0}
  .hero{padding:48px 0 56px}
  .hero-grid,.solutions,.econ,.foot-grid{grid-template-columns:1fr}
  .hero-media{aspect-ratio:16/10}
  .sol.big{grid-row:auto}
  .pains,.steps{grid-template-columns:1fr}
  .step,.step + .step{padding:28px 0 0;border-left:0}
  .step + .step{border-top:1px solid var(--line);margin-top:28px}
  .band i{height:44px}
  .section{padding:76px 0}
}
@media (max-width:520px){
  .industries{grid-template-columns:1fr}
  .band{gap:2px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (max-width:860px){.logo img{height:64px}.nav{height:84px}.nav ul{top:84px}}

/* Inner pages */
.page-hero{padding:88px 0 64px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.5rem,5.5vw,4.25rem);line-height:1.02;letter-spacing:-.025em;max-width:16ch}
.page-hero p{color:var(--gray);font-size:1.25rem;margin-top:22px;max-width:52ch}
.jump{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.jump a{border:1px solid var(--card);border-radius:999px;padding:8px 16px;text-decoration:none;color:var(--gray);font-size:.95rem}
.jump a:hover{border-color:var(--teal);color:var(--white)}
.block{padding:96px 0;border-bottom:1px solid var(--line)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.split h2{font-size:clamp(2rem,4vw,2.8rem);line-height:1.08;letter-spacing:-.015em}
.split .intro{color:var(--gray);margin-top:16px}
.checks{list-style:none;display:grid;gap:16px}
.checks li{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.checks b{display:block;margin-bottom:4px}
.checks span{color:var(--gray);font-size:1rem}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.trio div{background:var(--card);border-radius:10px;padding:24px}
.trio h3{font-size:1.15rem;margin-bottom:6px}
.trio p{color:var(--gray);font-size:1rem}
.pso{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid var(--line)}
.pso div{padding:24px 24px 0 0}
.pso div+div{padding-left:24px;border-left:1px solid var(--line)}
.pso h3{font-size:1rem;color:var(--teal);margin-bottom:8px}
.pso p{color:var(--gray)}
.models{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.model{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:36px}
.model.feature{background:var(--card);border-color:var(--teal)}
.model h3{font-size:1.5rem;margin-bottom:10px}
.model p{color:var(--gray)}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.vslot{aspect-ratio:16/9;border:1px dashed #444;border-radius:14px;display:grid;place-items:center;color:#6b6b6b;text-align:center;padding:20px}
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
.person{background:var(--card);border-radius:14px;padding:32px}
.person h3{font-size:1.4rem}
.person .role{color:var(--teal);font-weight:700;margin:4px 0 12px}
.person p{color:var(--gray)}
.rfid-img{width:100%;height:auto;border-radius:14px;display:block}
.vgrid{align-items:start}
.market-logo{height:34px;width:auto;margin-top:28px;opacity:.9}
.form{display:grid;gap:18px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form label{display:block;font-size:.95rem;color:var(--gray);margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;background:var(--bg-2);border:1px solid var(--card);border-radius:6px;padding:13px 14px;color:var(--white);font:inherit}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--teal);outline:none}
.side{background:var(--card);border-radius:14px;padding:32px}
.side h3{font-size:1.25rem;margin-bottom:10px}
.side p{color:var(--gray);margin-bottom:18px}
.side a.plain{color:var(--teal);text-decoration:none;font-weight:700}
.prose{max-width:72ch}
.prose h2{font-size:1.5rem;margin:40px 0 10px}
.prose p,.prose li{color:var(--gray);margin-bottom:12px}
.prose ul{padding-left:22px}
.center-msg{min-height:60vh;display:grid;place-items:center;text-align:center}
.center-msg h1{font-size:clamp(2.5rem,6vw,4rem);letter-spacing:-.02em}
.center-msg p{color:var(--gray);margin:14px 0 30px}
@media (max-width:1024px){.vgrid{grid-template-columns:1fr 1fr}}
@media (max-width:860px){
  .split,.models,.vgrid,.team,.trio,.form .row{grid-template-columns:1fr}
  .split{gap:32px}
  .pso{grid-template-columns:1fr}
  .pso div,.pso div+div{padding:20px 0 0;border-left:0}
  .block{padding:64px 0}
  .page-hero{padding:56px 0 48px}
}
