/* Self-hosted fonts (SIL OFL): Space Grotesk, Hanken Grotesk, JetBrains Mono.
   No third-party CDN (GDPR / strict CSP font-src 'self'). latin + latin-ext split.
   Space/Hanken Grotesk shipped under /werz/fonts; JetBrains Mono reuses /fonts. */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('/werz/fonts/spacegrotesk-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('/werz/fonts/spacegrotesk-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/werz/fonts/spacegrotesk-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/werz/fonts/spacegrotesk-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('/werz/fonts/spacegrotesk-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('/werz/fonts/spacegrotesk-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/werz/fonts/spacegrotesk-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/werz/fonts/spacegrotesk-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('/werz/fonts/hankengrotesk-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('/werz/fonts/hankengrotesk-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/werz/fonts/hankengrotesk-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/werz/fonts/hankengrotesk-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('/werz/fonts/hankengrotesk-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('/werz/fonts/hankengrotesk-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/werz/fonts/hankengrotesk-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/werz/fonts/hankengrotesk-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/jetbrainsmono-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/jetbrainsmono-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/jetbrainsmono-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/jetbrainsmono-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ============================================================
   WERZ DIGITAL site styles
   Deep navy + tech-cyan. Space Grotesk / Hanken Grotesk / JetBrains Mono.
   ============================================================ */
:root{
  /* palette */
  --navy-900:#080c14;
  --navy-850:#0a0f1a;
  --navy-800:#0e1626;
  --navy-750:#121b2e;
  --navy-700:#19233a;
  --navy-600:#243150;
  --line:rgba(126,160,210,.14);
  --line-strong:rgba(126,160,210,.26);
  --cy:#46d2ff;
  --cy-soft:rgba(70,210,255,.14);
  --blue:#3b74ff;
  --blue-soft:rgba(59,116,255,.16);
  --cream:#f5f7fc;
  --paper:#eceff7;
  --txt:#eaf1fb;
  --txt-2:#b9c8e0;
  --mut:#8298ba;
  --mut-d:#5c6f8f;
  --ink:#0a0f1a;
  --grad:linear-gradient(120deg,#46d2ff,#3b74ff);
  --grad-soft:linear-gradient(120deg,rgba(70,210,255,.16),rgba(59,116,255,.16));

  /* type */
  --disp:'Space Grotesk',-apple-system,system-ui,sans-serif;
  --body:'Hanken Grotesk',-apple-system,system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;

  /* metrics */
  --maxw:1240px;
  --gut:clamp(20px,5vw,64px);
  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:32px;
  --sec:clamp(72px,10vw,150px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{
  margin:0;font-family:var(--body);background:var(--navy-850);color:var(--txt);
  font-size:clamp(1rem,1.05vw,1.0938rem);line-height:1.65;letter-spacing:.005em;
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden;}
h1,h2,h3,h4{font-family:var(--disp);font-weight:600;line-height:1.04;letter-spacing:-.02em;margin:0;text-wrap:balance;}
p{margin:0;text-wrap:pretty;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
::selection{background:var(--cy);color:var(--ink);}
:focus-visible{outline:2px solid var(--cy);outline-offset:3px;border-radius:4px;}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cy);display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--cy);opacity:.7;}
.eyebrow.center::before{display:none;}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* buttons */
.btn{
  --b:var(--blue);
  display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:600;
  font-size:1rem;letter-spacing:-.01em;padding:15px 26px;border-radius:var(--r-sm);
  cursor:pointer;border:1px solid transparent;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease),background .3s;
  position:relative;overflow:hidden;white-space:nowrap;
}
.btn .arr{transition:transform .4s var(--ease-out);}
.btn:hover .arr{transform:translateX(4px);}
.btn-primary{background:var(--grad);color:#04101f;box-shadow:0 10px 30px -10px rgba(59,116,255,.7);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 44px -12px rgba(70,210,255,.7);}
.btn-ghost{background:rgba(255,255,255,.03);color:var(--txt);border-color:var(--line-strong);}
.btn-ghost:hover{border-color:var(--cy);background:var(--cy-soft);transform:translateY(-2px);}
.btn-lg{padding:18px 32px;font-size:1.06rem;}

/* ===== NAV ===== */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .4s var(--ease),border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(10,15,26,.72);backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--line);}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:16px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:13px;}
.brand .bm{width:38px;height:auto;}
.brand .bt{font-family:var(--disp);font-weight:700;font-size:1.32rem;letter-spacing:-.03em;}
.brand .bt small{font-weight:500;font-size:.62rem;letter-spacing:.42em;color:var(--cy);display:block;margin-top:-3px;margin-left:2px;}
.nav-links{display:flex;align-items:center;gap:6px;}
.nav-links a{font-family:var(--disp);font-weight:500;font-size:.95rem;color:var(--txt-2);padding:9px 15px;border-radius:8px;transition:color .25s,background .25s;position:relative;}
.nav-links a:hover{color:var(--txt);background:rgba(255,255,255,.04);}
.nav-right{display:flex;align-items:center;gap:14px;}
.lang{display:flex;align-items:center;font-family:var(--mono);font-size:.8rem;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;}
.lang button,.lang a{background:none;border:none;color:var(--mut);padding:8px 11px;cursor:pointer;font-family:var(--mono);font-size:.78rem;line-height:1;text-decoration:none;transition:color .25s,background .25s;}
.lang button.active,.lang a.active{background:var(--cy-soft);color:var(--cy);}
.lang a:hover{color:var(--cy);}
.burger{display:none;background:none;border:1px solid var(--line-strong);border-radius:9px;width:44px;height:44px;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center;}
.burger span{width:18px;height:2px;background:var(--txt);transition:.3s var(--ease);}
.nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.open .burger span:nth-child(2){opacity:0;}
.nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding-top:104px;padding-bottom:64px;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(120% 90% at 70% 0%,#000 30%,transparent 78%);opacity:.55;}
.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;}
.glow.a{width:540px;height:540px;background:radial-gradient(circle,rgba(59,116,255,.5),transparent 65%);top:-180px;right:-60px;}
.glow.b{width:440px;height:440px;background:radial-gradient(circle,rgba(70,210,255,.32),transparent 65%);top:120px;left:-120px;}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr minmax(300px,.95fr);gap:clamp(32px,5vw,72px);align-items:center;width:100%;}
.hero h1{font-size:clamp(2.4rem,5.2vw,4.5rem);font-weight:700;line-height:1.0;margin:20px 0 0;}
.hero .lede{font-size:clamp(1.04rem,1.4vw,1.26rem);color:var(--txt-2);max-width:40ch;margin-top:26px;line-height:1.55;}
.hero-cta{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;}
.hero-scroll{position:absolute;left:var(--gut);bottom:30px;z-index:2;display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);}
.hero-scroll i{display:block;width:46px;height:1px;background:linear-gradient(90deg,var(--cy),transparent);position:relative;overflow:hidden;}
.hero-scroll i::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:var(--cy);animation:scrollDash 2.2s var(--ease) infinite;}
@keyframes scrollDash{0%{left:-40%;}60%,100%{left:120%;}}

/* hero visual: orbiting agent panel */
.hero-visual{position:relative;width:100%;aspect-ratio:1;max-width:460px;margin-inline:auto;}
.hv-ring{position:absolute;border:1px solid var(--line-strong);border-radius:50%;}
.hv-ring.r1{inset:4%;}
.hv-ring.r2{inset:19%;border-style:dashed;border-color:rgba(70,210,255,.22);animation:spin 60s linear infinite;}
.hv-ring.r3{inset:34%;}
.hv-orbit{position:absolute;inset:4%;animation:spin 14s linear infinite;}
.hv-sat{position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:var(--cy);box-shadow:0 0 0 5px var(--cy-soft),0 0 18px 2px rgba(70,210,255,.6);transform:translateX(-50%);}
.hv-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:40%;aspect-ratio:1;border-radius:26px;background:linear-gradient(160deg,var(--navy-750),var(--navy-850));border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);}
.hv-core svg{width:56%;}
.hv-chip{position:absolute;z-index:4;background:rgba(14,22,38,.9);backdrop-filter:blur(8px);border:1px solid var(--line-strong);border-radius:12px;padding:9px 13px;font-family:var(--mono);font-size:.72rem;color:var(--txt-2);display:flex;align-items:center;gap:8px;box-shadow:0 16px 40px -16px rgba(0,0,0,.8);white-space:nowrap;}
.hv-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--cy);box-shadow:0 0 0 4px var(--cy-soft);}
.hv-chip.c2{top:42%;right:-8%;animation:float2 7s ease-in-out infinite;}

/* core pulse */
.hv-pulse{position:absolute;inset:0;border-radius:26px;border:1px solid rgba(70,210,255,.5);animation:corePulse 3.2s ease-out infinite;}
@keyframes corePulse{0%{opacity:.6;transform:scale(1);}70%,100%{opacity:0;transform:scale(1.5);}}

/* constellation */
.constellation{position:absolute;inset:0;z-index:2;}
.con-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none;}
.con-line{stroke:rgba(70,210,255,.45);stroke-width:.3;opacity:0;transition:opacity .6s ease;stroke-dasharray:1.6 1.6;}
.sat{position:absolute;z-index:5;transform:translate(-50%,-50%);}
.sat-in{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:rgba(13,20,34,.94);backdrop-filter:blur(10px);border:1px solid var(--line-strong);font-family:var(--mono);font-size:.71rem;color:var(--txt-2);white-space:nowrap;box-shadow:0 16px 38px -16px rgba(0,0,0,.9);opacity:0;transform:scale(.55);transition:opacity .7s var(--ease),transform .7s cubic-bezier(.34,1.56,.64,1);}
.sat.show .sat-in{opacity:1;transform:scale(1);}
.sat-in .si{width:15px;height:15px;color:var(--cy);flex:none;}

/* service card cursor spotlight */
.svc{--mx:50%;--my:0%;}
.svc::after{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx) var(--my),rgba(70,210,255,.12),transparent 62%);opacity:0;transition:opacity .45s ease;pointer-events:none;z-index:1;}
.svc:hover::after{opacity:1;}
.sec.light .svc::after{background:radial-gradient(240px circle at var(--mx) var(--my),rgba(47,95,224,.09),transparent 62%);}

/* product 3D tilt */
.prod-grid{perspective:1300px;}
.prod{transform-style:preserve-3d;will-change:transform;}

/* marquee strip */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;overflow:hidden;background:var(--navy-900);}
.marquee{display:flex;gap:56px;width:max-content;animation:scrollx 32s linear infinite;}
.marquee span{font-family:var(--disp);font-weight:500;font-size:1.05rem;color:var(--mut);display:flex;align-items:center;gap:56px;white-space:nowrap;}
.marquee span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--cy);opacity:.6;}
@keyframes scrollx{to{transform:translateX(-50%);}}

/* section header */
.sec{padding-block:var(--sec);position:relative;}
.sec-head{max-width:760px;margin-bottom:clamp(40px,5vw,68px);}
.sec-head h2{font-size:clamp(2rem,4.3vw,3.5rem);margin-top:18px;}
.sec-head p{color:var(--txt-2);font-size:clamp(1.05rem,1.4vw,1.2rem);margin-top:20px;max-width:60ch;}
.sec-head.center{margin-inline:auto;text-align:center;}
.sec-head.center .eyebrow{justify-content:center;}

/* ===== SERVICES ===== */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.svc{grid-column:span 1;background:linear-gradient(180deg,var(--navy-800),var(--navy-850));border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;position:relative;overflow:hidden;transition:transform .5s var(--ease-out),border-color .4s,box-shadow .5s;}
.svc.wide{grid-column:span 2;}
.svc::before{content:"";position:absolute;inset:0;background:var(--grad-soft);opacity:0;transition:opacity .5s;pointer-events:none;}
.svc:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);}
.svc:hover::before{opacity:1;}
.svc:hover .svc-ico{border-color:var(--cy);color:var(--cy);}
.svc-ico{width:54px;height:54px;border-radius:14px;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--txt-2);transition:.4s var(--ease);position:relative;z-index:2;}
.svc-ico svg{width:26px;height:26px;}
.svc h3{font-size:1.4rem;margin-top:24px;position:relative;z-index:2;}
.svc p{color:var(--txt-2);margin-top:12px;font-size:1rem;position:relative;z-index:2;}
.svc .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;position:relative;z-index:2;}
.svc .tags span{font-family:var(--mono);font-size:.72rem;color:var(--mut);border:1px solid var(--line);padding:5px 10px;border-radius:20px;}
.svc-num{position:absolute;top:28px;right:30px;font-family:var(--mono);font-size:.8rem;color:var(--mut-d);z-index:2;}

/* AI band */
.ai{background:radial-gradient(120% 130% at 80% 10%,#10203c 0%,var(--navy-900) 60%);border-block:1px solid var(--line);position:relative;overflow:hidden;}
.ai .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:center;}
.ai-list{display:flex;flex-direction:column;gap:14px;margin-top:34px;}
.ai-item{display:flex;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(255,255,255,.02);transition:border-color .35s,transform .35s var(--ease-out);}
.ai-item:hover{border-color:var(--cy);transform:translateX(4px);}
.ai-item .ai-dot{flex:none;width:38px;height:38px;border-radius:10px;background:var(--cy-soft);color:var(--cy);display:flex;align-items:center;justify-content:center;}
.ai-item .ai-dot svg{width:19px;height:19px;}
.ai-item h4{font-family:var(--disp);font-weight:600;font-size:1.08rem;}
.ai-item p{color:var(--mut);font-size:.95rem;margin-top:4px;}
/* agent diagram */
.agent-vis{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--navy-800),var(--navy-850));padding:30px;overflow:hidden;}
.agent-vis .term-bar{display:flex;gap:7px;margin-bottom:20px;}
.agent-vis .term-bar i{width:11px;height:11px;border-radius:50%;background:var(--navy-600);}
.agent-line{font-family:var(--mono);font-size:.86rem;line-height:1.9;color:var(--txt-2);}
.agent-line .c{color:var(--cy);}
.agent-line .b{color:var(--blue);}
.agent-line .g{color:var(--mut-d);}
.agent-line .pulse{display:inline-block;width:8px;height:15px;background:var(--cy);vertical-align:middle;margin-left:3px;animation:blink 1.1s step-end infinite;}
.agent-line .tl{display:block;opacity:0;transform:translateY(5px);transition:opacity .4s ease,transform .45s cubic-bezier(.16,1,.3,1);}
.agent-line .tl.on{opacity:1;transform:none;}
@keyframes blink{50%{opacity:0;}}

/* PRODUCTS */
.prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.prod{border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:var(--navy-800);transition:transform .5s var(--ease-out),box-shadow .5s,border-color .4s;display:flex;flex-direction:column;}
.prod:hover{transform:translateY(-6px);box-shadow:0 40px 80px -40px rgba(0,0,0,.85);border-color:var(--line-strong);}
.prod-shot{aspect-ratio:16/10;position:relative;overflow:hidden;background:
   repeating-linear-gradient(135deg,rgba(70,210,255,.05) 0 12px,transparent 12px 24px),
   linear-gradient(160deg,var(--navy-700),var(--navy-850));
   display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);}
.prod-shot .ph{font-family:var(--mono);font-size:.78rem;color:var(--mut-d);letter-spacing:.05em;text-align:center;padding:0 20px;}
.prod-shot .mock{position:absolute;inset:30px 30px -1px;border-radius:14px 14px 0 0;border:1px solid var(--line-strong);border-bottom:none;background:linear-gradient(180deg,rgba(20,30,50,.7),rgba(10,15,26,.4));backdrop-filter:blur(2px);display:flex;flex-direction:column;}
.prod-shot .mock .mb{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);}
.prod-shot .mock .mb i{width:9px;height:9px;border-radius:50%;background:var(--navy-600);}
.prod-shot .mock .ml{flex:1;padding:16px;display:flex;flex-direction:column;gap:9px;}
.prod-shot .mock .ml b{height:8px;border-radius:4px;background:var(--grad);width:40%;opacity:.8;}
.prod-shot .mock .ml u{height:6px;border-radius:4px;background:var(--line-strong);}
.prod-body{padding:28px 30px 32px;display:flex;flex-direction:column;flex:1;}
.badge{align-self:flex-start;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:20px;border:1px solid var(--cy);color:var(--cy);background:var(--cy-soft);display:inline-flex;align-items:center;gap:7px;}
.badge .bd{width:7px;height:7px;border-radius:50%;background:var(--cy);animation:blink 1.6s ease-in-out infinite;}
.prod-body h3{font-size:1.55rem;margin-top:16px;}
.prod-body .ptag{font-family:var(--mono);font-size:.8rem;color:var(--cy);margin-top:4px;}
.prod-body p{color:var(--txt-2);margin-top:14px;}
.prod-feat{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:22px;}
.prod-feat span{font-size:.85rem;color:var(--mut);border:1px solid var(--line);padding:6px 12px;border-radius:8px;}

/* ===== PROCESS (animated timeline) ===== */
.proc{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding-top:38px;}
.proc-line{position:absolute;top:calc(38px + 28px);left:6%;right:6%;height:2px;background:var(--line);overflow:hidden;border-radius:2px;}
.proc-line-fill{position:absolute;inset:0;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform 1.5s cubic-bezier(.16,1,.3,1);}
.proc.in .proc-line-fill{transform:scaleX(1);}
.proc-step{position:relative;}
.proc-node{width:56px;height:56px;border-radius:15px;border:1px solid var(--line-strong);background:var(--navy-850);display:flex;align-items:center;justify-content:center;color:var(--cy);position:relative;z-index:2;transition:transform .4s var(--ease-out),border-color .4s,box-shadow .4s,background .4s;}
.proc-node svg{width:25px;height:25px;}
.proc-step:hover .proc-node{transform:translateY(-5px);border-color:var(--cy);background:var(--cy-soft);box-shadow:0 16px 32px -14px rgba(70,210,255,.45);}
.proc-step .pn{font-family:var(--mono);font-size:.78rem;color:var(--cy);margin-top:22px;}
.proc-step h3{font-size:1.28rem;margin-top:8px;}
.proc-step p{color:var(--mut);font-size:.95rem;margin-top:12px;}
.sec.light .proc-node{background:#fff;}
.sec.light .proc-line{background:#e0e6f2;}

/* why / values */
.why .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,90px);align-items:start;}
.val{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);transition:transform .4s var(--ease-out);}
.val:last-child{border-bottom:none;}
.val:hover{transform:translateX(8px);}
.val .vico{width:44px;height:44px;flex:none;border-radius:12px;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--cy);transition:.4s var(--ease);}
.val .vico svg{width:21px;height:21px;}
.val:hover .vico{background:var(--cy-soft);border-color:var(--cy);transform:rotate(-6deg);}
.val h4{font-family:var(--disp);font-weight:600;font-size:1.2rem;}
.val p{color:var(--txt-2);margin-top:8px;}
.sec.light .val .vico{border-color:#dbe2ef;}
.sec.light .val:hover .vico{background:rgba(47,95,224,.08);border-color:#2f5fe0;color:#2f5fe0;}

/* FAQ */
.faq-list{border-top:1px solid var(--line);max-width:880px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;background:none;border:none;text-align:left;color:var(--txt);font-family:var(--disp);font-weight:600;font-size:clamp(1.08rem,1.6vw,1.3rem);padding:26px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;letter-spacing:-.01em;}
.faq-q .pm{flex:none;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:50%;position:relative;transition:.4s var(--ease);}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:var(--cy);left:50%;top:50%;transform:translate(-50%,-50%);transition:.4s var(--ease);}
.faq-q .pm::before{width:12px;height:2px;}
.faq-q .pm::after{width:2px;height:12px;}
.faq-item.open .faq-q .pm{border-color:var(--cy);transform:rotate(180deg);}
.faq-item.open .faq-q .pm::after{transform:translate(-50%,-50%) scaleY(0);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
.faq-a p{color:var(--txt-2);padding-bottom:26px;max-width:70ch;}

/* CTA + contact */
.cta-band{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(44px,6vw,80px);background:radial-gradient(130% 160% at 15% 10%,#143a6e 0%,#0c1830 55%,var(--navy-900) 100%);border:1px solid var(--line-strong);text-align:center;}
.cta-band h2{font-size:clamp(2rem,4.6vw,3.6rem);}
.cta-band p{color:var(--txt-2);margin:20px auto 0;max-width:52ch;font-size:1.12rem;}
.cta-band .hero-cta{justify-content:center;margin-top:36px;}

.contact .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,90px);}
.contact-info .ci{display:flex;flex-direction:column;gap:6px;margin-top:28px;}
.contact-info .ci span{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);}
.contact-info .ci a,.contact-info .ci b{font-family:var(--disp);font-size:1.25rem;font-weight:500;transition:color .25s;}
.contact-info .ci a:hover{color:var(--cy);}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:9px;}
.field.full{grid-column:1/-1;}
.field label{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);}
.field input,.field textarea,.field select{
  background:var(--navy-800);border:1px solid var(--line-strong);border-radius:var(--r-sm);
  color:var(--txt);font-family:var(--body);font-size:1rem;padding:14px 16px;transition:border-color .3s,box-shadow .3s;width:100%;
}
.field textarea{resize:vertical;min-height:130px;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--cy);box-shadow:0 0 0 4px var(--cy-soft);}
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{font-family:var(--disp);font-size:.92rem;padding:10px 16px;border:1px solid var(--line-strong);border-radius:30px;cursor:pointer;color:var(--txt-2);transition:.25s;user-select:none;}
.chip:hover{border-color:var(--cy);color:var(--txt);}
.chip.on{background:var(--cy-soft);border-color:var(--cy);color:var(--cy);}
.form-note{grid-column:1/-1;font-size:.85rem;color:var(--mut);}
.form-ok{grid-column:1/-1;display:none;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--cy);background:var(--cy-soft);border-radius:var(--r-sm);color:var(--cy);font-family:var(--disp);font-weight:500;}
.form-ok.show{display:flex;}

/* ===== FOOTER ===== */
.footer{background:var(--navy-900);border-top:1px solid var(--line);padding-top:clamp(56px,7vw,90px);}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid var(--line);}
.footer-brand p{color:var(--mut);margin-top:18px;max-width:32ch;font-size:.96rem;}
.footer h5{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:0 0 18px;}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.footer ul a{color:var(--txt-2);font-size:.98rem;transition:color .25s;}
.footer ul a:hover{color:var(--cy);}
.footer-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0 40px;flex-wrap:wrap;}
.footer-bot p{color:var(--mut-d);font-size:.86rem;}
.footer-bot .soc{display:flex;gap:10px;}
.footer-bot .soc a{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--mut);transition:.3s;}
.footer-bot .soc a:hover{border-color:var(--cy);color:var(--cy);transform:translateY(-2px);}
.footer-bot-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.linklike{background:none;border:none;padding:0;cursor:pointer;color:var(--mut-d);font:inherit;font-size:.86rem;transition:color .25s;}
.linklike:hover{color:var(--cy);}

/* COOKIE CONSENT.
   Scoped to the #cookie-consent id. Must NOT use the bare .consent class, which the contact
   form's privacy-consent label already uses (collision pinned that label over the submit button). */
#cookie-consent{position:fixed;left:0;right:0;bottom:0;z-index:200;padding:0 var(--gut) max(18px,env(safe-area-inset-bottom));pointer-events:none;}
#cookie-consent[hidden]{display:none;}
.consent-card{pointer-events:auto;max-width:var(--maxw);margin:0 auto 16px;background:rgba(12,18,30,.94);backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:0 24px 60px -18px rgba(0,0,0,.7);padding:22px clamp(20px,3vw,30px);display:flex;align-items:center;gap:26px;flex-wrap:wrap;animation:consent-up .5s var(--ease-out);}
@keyframes consent-up{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.consent-body{flex:1 1 340px;min-width:280px;}
.consent-body h3{font-family:var(--disp);font-size:1.12rem;letter-spacing:-.02em;margin:0 0 6px;}
.consent-body p{color:var(--txt-2);font-size:.92rem;line-height:1.55;margin:0;}
.consent-body p a{color:var(--cy);text-decoration:underline;text-underline-offset:2px;}
.consent-cats{display:grid;gap:12px;margin-top:16px;}
.consent-cat{display:flex;gap:12px;align-items:flex-start;cursor:pointer;}
.consent-cat input{margin-top:3px;width:18px;height:18px;accent-color:var(--cy);flex:0 0 auto;}
.consent-cat strong{display:block;font-size:.92rem;font-weight:600;}
.consent-cat small{display:block;color:var(--mut);font-size:.82rem;line-height:1.45;margin-top:2px;}
.consent-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:0 0 auto;}
.consent-actions .btn{padding:11px 20px;font-size:.92rem;}
@media (max-width:640px){
  .consent-card{flex-direction:column;align-items:stretch;}
  .consent-actions{justify-content:flex-end;}
}

/* light sections (mixed rhythm) */
.sec.light{background:var(--cream);color:var(--ink);}
.sec.light h2,.sec.light h3,.sec.light h4{color:#0c1320;}
.sec.light .sec-head p,.sec.light .lede,.sec.light p{color:#47566f;}
.sec.light .eyebrow{color:#2f5fe0;}
.sec.light .eyebrow::before{background:#2f5fe0;}
.sec.light .svc{background:#fff;border-color:#e4e9f3;box-shadow:0 1px 2px rgba(20,40,80,.04);}
.sec.light .svc::before{background:linear-gradient(120deg,rgba(47,95,224,.05),rgba(70,210,255,.05));}
.sec.light .svc:hover{border-color:#cdd6e8;box-shadow:0 30px 60px -30px rgba(20,40,80,.28);}
.sec.light .svc-ico{border-color:#dbe2ef;color:#2f5fe0;}
.sec.light .svc:hover .svc-ico{border-color:#2f5fe0;color:#2f5fe0;background:rgba(47,95,224,.06);}
.sec.light .svc .tags span{color:#6b7a96;border-color:#e4e9f3;}
.sec.light .svc-num{color:#b9c2d6;}
.sec.light .prod{background:#fff;border-color:#e4e9f3;}
.sec.light .prod:hover{border-color:#cdd6e8;box-shadow:0 40px 80px -40px rgba(20,40,80,.32);}
.sec.light .prod-feat span{color:#6b7a96;border-color:#e4e9f3;}
.sec.light .prod-shot{border-bottom-color:#e4e9f3;}
.sec.light .faq-list,.sec.light .faq-item{border-color:#e4e9f3;}
.sec.light .faq-q{color:#0c1320;}
.sec.light .faq-q .pm{border-color:#cdd6e8;}
.sec.light .proc{border-top-color:#e4e9f3;}
.sec.light .proc-step{border-right-color:#e4e9f3;border-bottom-color:#e4e9f3;}
.sec.light .proc-step p,.sec.light .val p{color:#47566f;}
.sec.light .val{border-bottom-color:#e4e9f3;}

/* ===== TEXT WORD-MASK REVEAL ===== */
.anim-title{}
.anim-title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.04em;}
.anim-title .wi{display:inline-block;transform:translateY(115%);transition:transform .9s cubic-bezier(.19,1,.22,1);will-change:transform;}
.anim-title.in .wi{transform:translateY(0) !important;}

/* shimmer on gradient highlight */
.shimmer{background:linear-gradient(100deg,#3b74ff 20%,#7fd4ff 40%,#46d2ff 55%,#3b74ff 75%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmerMove 6s linear infinite;}
@keyframes shimmerMove{to{background-position:-220% 0;}}

/* hero load fades */
.hero-eyebrow,.hero-lede,.hero-fade{opacity:0;transform:translateY(16px);filter:blur(6px);animation:heroIn 1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--fd,.15s);}
.hero-eyebrow{--fd:.05s;}
.hero-lede{--fd:.45s;}
@keyframes heroIn{to{opacity:1;transform:none;filter:blur(0);}}

/* reveal animation */
.reveal{opacity:0;transform:translateY(30px);filter:blur(8px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s ease;}
.reveal.in{opacity:1 !important;transform:none !important;filter:blur(0) !important;}

/* page transitions + active nav */
body{transition:opacity .42s ease,transform .42s ease;}
body.page-leaving{opacity:0;transform:translateY(10px);}
.nav-links a.current{color:var(--txt);}
.nav-links a.current::after{content:"";position:absolute;left:15px;right:15px;bottom:3px;height:2px;border-radius:2px;background:var(--grad);}
.reveal[data-d="1"]{transition-delay:.08s;}
.reveal[data-d="2"]{transition-delay:.16s;}
.reveal[data-d="3"]{transition-delay:.24s;}
.reveal[data-d="4"]{transition-delay:.32s;}
.reveal[data-d="5"]{transition-delay:.40s;}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .reveal{opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}

/* float anim for hero chips */
@keyframes float1{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@keyframes float2{0%,100%{transform:translateY(0);}50%{transform:translateY(10px);}}
@keyframes spin{to{transform:rotate(360deg);}}
.hv-chip.c1{animation:float1 6s ease-in-out infinite;}
.hv-chip.c2{animation:float2 7s ease-in-out infinite;}
.hv-chip.c3{animation:float1 5.5s ease-in-out infinite .6s;}
.hv-ring.r2{animation:spin 60s linear infinite;}

/* ===== SUBPAGE COMPONENTS ===== */
.page-hero{position:relative;padding-top:clamp(132px,16vh,184px);padding-bottom:clamp(40px,6vw,78px);overflow:hidden;}
.page-hero .hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.page-hero .wrap{position:relative;z-index:2;}
.breadcrumb{font-family:var(--mono);font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:22px;display:flex;gap:9px;align-items:center;}
.breadcrumb a{transition:color .25s;}
.breadcrumb a:hover{color:var(--cy);}
.breadcrumb .sep{opacity:.5;}
.page-hero h1{font-size:clamp(2.3rem,5vw,4rem);font-weight:700;max-width:20ch;margin-top:6px;}
.page-hero .lede{font-size:clamp(1.05rem,1.4vw,1.24rem);color:var(--txt-2);max-width:54ch;margin-top:22px;line-height:1.55;}
.svc-list{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;position:relative;z-index:2;}
.svc-list li{display:flex;gap:11px;align-items:flex-start;font-size:.96rem;color:var(--txt-2);}
.svc-list li::before{content:"✓";flex:none;color:var(--cy);font-weight:700;font-family:var(--disp);line-height:1.5;}
.sec.light .svc-list li{color:#47566f;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:center;}
.split + .split{margin-top:clamp(48px,6vw,90px);}
.cta-inline{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}

/* Roadmap (momentum) */
.roadmap{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:50px;text-align:left;}
.roadmap .rline{position:absolute;top:11px;left:3%;right:3%;height:2px;background:var(--line);border-radius:2px;overflow:hidden;}
.roadmap .rline span{position:absolute;top:0;left:0;bottom:0;width:34%;background:var(--grad);}
.rstep{position:relative;}
.rdot{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong);background:var(--navy-850);position:relative;z-index:2;display:flex;align-items:center;justify-content:center;}
.rstep.done .rdot{border-color:var(--cy);background:var(--cy);}
.rstep.done .rdot::after{content:"✓";font-size:.72rem;font-weight:700;color:#04101f;font-family:var(--disp);}
.rstep.active .rdot{border-color:var(--cy);box-shadow:0 0 0 5px var(--cy-soft);}
.rstep.active .rdot::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--cy);animation:blink 1.6s ease-in-out infinite;}
.rphase{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cy);margin-top:18px;}
.rstep.upcoming .rphase{color:var(--mut);}
.rstep h4{font-family:var(--disp);font-weight:600;font-size:1.06rem;margin-top:7px;color:var(--txt);}
.rstep p{color:var(--mut);font-size:.9rem;margin-top:6px;max-width:22ch;}

/* ===== Early-access capture ===== */
.early-form{display:flex;gap:12px;max-width:540px;margin:32px auto 0;flex-wrap:wrap;}
.early-form input{flex:1;min-width:240px;background:rgba(255,255,255,.04);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--txt);font-family:var(--body);font-size:1rem;padding:16px 18px;transition:border-color .3s,box-shadow .3s;}
.early-form input::placeholder{color:var(--mut-d);}
.early-form input:focus{outline:none;border-color:var(--cy);box-shadow:0 0 0 4px var(--cy-soft);}
.early-perks{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:24px;}
.early-perks span{font-family:var(--mono);font-size:.74rem;color:var(--txt-2);border:1px solid var(--line);padding:7px 13px;border-radius:20px;display:inline-flex;align-items:center;gap:8px;}
.early-perks span::before{content:"✓";color:var(--cy);font-family:var(--disp);font-weight:700;}
.early-ok{max-width:540px;margin:20px auto 0;}
.prod-more{margin-top:clamp(40px,5vw,60px);display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;}
.prod-more p{color:var(--txt-2);font-size:1.1rem;max-width:46ch;}
.sec.light .prod-more p{color:#47566f;}

/* About / Trust */
.about .wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,6vw,80px);align-items:center;}
.about-portrait{aspect-ratio:4/5;border-radius:var(--r-xl);border:1px solid var(--line);position:relative;overflow:hidden;background:
   repeating-linear-gradient(135deg,rgba(70,210,255,.05) 0 12px,transparent 12px 24px),
   linear-gradient(160deg,var(--navy-700),var(--navy-850));
   display:flex;align-items:center;justify-content:center;}
.about-portrait .ph{font-family:var(--mono);font-size:.8rem;color:var(--mut-d);letter-spacing:.05em;text-align:center;padding:0 24px;}
.about-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.about-body p{color:var(--txt-2);font-size:1.1rem;margin-top:20px;max-width:54ch;}
.about-body p.placeholder{font-family:var(--mono);font-size:.92rem;color:var(--mut-d);border:1px dashed var(--line-strong);border-radius:var(--r-sm);padding:14px 16px;}
.trust-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.trust-row .tf{font-family:var(--mono);font-size:.78rem;color:var(--txt-2);border:1px solid var(--line);border-radius:30px;padding:9px 15px;display:inline-flex;align-items:center;gap:9px;}
.trust-row .tf::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cy);box-shadow:0 0 0 4px var(--cy-soft);}
.quote-card{margin-top:clamp(40px,5vw,64px);border:1px solid var(--line);border-radius:var(--r-xl);background:linear-gradient(180deg,var(--navy-800),var(--navy-850));padding:clamp(30px,4vw,48px);position:relative;max-width:760px;}
.quote-card::before{content:"\201C";position:absolute;top:6px;left:26px;font-family:var(--disp);font-size:5rem;line-height:1;color:var(--cy);opacity:.35;}
.quote-card blockquote{margin:0;font-family:var(--disp);font-weight:500;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.4;color:var(--txt);letter-spacing:-.01em;}
.quote-card blockquote.placeholder{color:var(--mut-d);font-style:italic;font-weight:400;}
.quote-attr{display:flex;align-items:center;gap:14px;margin-top:24px;}
.quote-attr .qa-av{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);background:repeating-linear-gradient(135deg,rgba(70,210,255,.06) 0 8px,transparent 8px 16px),var(--navy-700);flex:none;}
.quote-attr .qa-meta{font-family:var(--mono);font-size:.82rem;color:var(--mut);}
@media (max-width:1000px){.about .wrap{grid-template-columns:1fr;}.about-portrait{max-width:360px;}}
@media (max-width:680px){.roadmap{grid-template-columns:1fr 1fr;row-gap:30px;}.roadmap .rline{display:none;}}

/* ===== RESPONSIVE ===== */
@media (max-width:1000px){
  .hero-in{grid-template-columns:1fr;}
  .hero-visual{max-width:440px;margin-top:20px;}
  .ai .wrap,.why .wrap,.contact .wrap{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;gap:40px;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .svc.wide{grid-column:span 2;}
  .proc{grid-template-columns:repeat(2,1fr);row-gap:40px;}
  .proc-line{display:none;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .footer-brand{grid-column:1/-1;}
}
@media (max-width:680px){
  .nav-links{position:fixed;inset:72px 0 auto 0;flex-direction:column;background:rgba(10,15,26,.97);backdrop-filter:blur(20px);padding:20px var(--gut) 32px;gap:4px;border-bottom:1px solid var(--line);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.35s var(--ease);align-items:stretch;}
  .nav.open .nav-links{transform:none;opacity:1;pointer-events:auto;}
  .nav-links a{padding:14px 16px;font-size:1.05rem;}
  .burger{display:flex;}
  .nav .btn{display:none;}
  .svc-grid,.prod-grid,.proc{grid-template-columns:1fr;}
  .svc.wide{grid-column:span 1;}
  form{grid-template-columns:1fr;}
  .hero-meta{gap:22px;}
  .footer-top{grid-template-columns:1fr;}
  .footer-bot{flex-direction:column;align-items:flex-start;}
}

/* Umbrella server-wired forms: chips as checkboxes, error callout, honeypot */
.chip input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.chip:focus-within{border-color:var(--cy);color:var(--txt);}
.form-err{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid #ff6b6b;background:rgba(255,107,107,.1);border-radius:var(--r-sm);color:#ffb3b3;font-size:.92rem;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--txt-2);}
.consent input{margin-top:3px;flex:none;}
.consent a{color:var(--cy);text-decoration:underline;}
.early-form .consent{max-width:540px;margin:14px auto 0;justify-content:center;}

/* Legal prose (Impressum / Datenschutz on the umbrella) */
.legal-sec{padding-top:clamp(110px,14vh,150px);padding-bottom:clamp(60px,8vw,100px);}
.legal-wrap{max-width:860px;margin-inline:auto;}
.legal-wrap h1{font-size:clamp(1.9rem,4vw,2.7rem);}
.legal-wrap h2{font-size:1.35rem;margin-top:34px;color:var(--txt);}
.legal-wrap p{color:var(--txt-2);margin-top:14px;line-height:1.75;}
.legal-wrap ul{color:var(--txt-2);margin:14px 0 0 1.2em;line-height:1.9;}
.legal-wrap a{color:var(--cy);text-decoration:underline;}
.legal-meta{font-family:var(--mono);font-size:.76rem;color:var(--mut);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;}
.legal-muted{color:var(--mut);font-size:.86rem;}
.legal-note{border:1px solid var(--line-strong);background:rgba(70,210,255,.05);border-radius:var(--r-md);padding:14px 16px;color:var(--txt-2);font-size:.9rem;margin:18px 0 28px;display:flex;gap:10px;align-items:flex-start;}
.legal-wrap details{margin-top:10px;border-bottom:1px solid var(--line);padding-bottom:10px;}
.legal-wrap summary{cursor:pointer;color:var(--txt);font-family:var(--disp);font-weight:600;padding:8px 0;}
.legal-wrap details p{margin:.4em 0 .6em 1em;}
