/* =============================================================
   Aleksma AI Inc. — light, premium, AI-native infrastructure
   Unified visual language: "the structured layer"
   White canvas · graphite hairlines · logo gradient as sole signature
   ============================================================= */

:root{
  --white:#FFFFFF;
  --paper:#FBFBFC;
  --paper-2:#F4F6FA;
  --paper-3:#EDF0F5;
  --ink:#0B0D12;
  --ink-2:#31363F;
  --muted:#606773;
  --faint:#98A0AD;
  --line:#E7E9EF;
  --line-2:#D7DBE3;
  --line-3:#C7CCD6;

  /* brand — derived from the logo mark */
  --teal:#1FB6C4;
  --blue:#3B5BF0;
  --violet:#7E37DE;
  --magenta:#C23AD0;
  --brand:#4B54E8;            /* solid primary accent */
  --brand-ink:#3A40C4;
  --live:#12A88F;             /* active status (teal-green) */
  --grad:linear-gradient(115deg,#1FB6C4 0%,#3B5BF0 42%,#7E37DE 74%,#C23AD0 100%);
  --grad-soft:linear-gradient(115deg,rgba(31,182,196,.14),rgba(75,84,232,.14),rgba(126,55,222,.14));
  --brand-glow:rgba(75,84,232,.16);

  --serif:"Newsreader",Georgia,serif;
  --display:"Schibsted Grotesk","Instrument Sans",system-ui,sans-serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;

  --maxw:1200px;
  --gutter:clamp(20px,5vw,60px);
  --sy:clamp(84px,11vw,168px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img,svg{display:block;}
button{font-family:inherit;}
::selection{background:var(--brand-glow);}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);position:relative;}
.wrap-wide{max-width:1340px;margin:0 auto;padding-inline:var(--gutter);position:relative;}

/* ---------- type ---------- */
.display{font-family:var(--display);font-weight:600;letter-spacing:-.028em;line-height:1.02;text-wrap:balance;}
.h-hero{font-size:clamp(46px,7.6vw,100px);font-weight:600;letter-spacing:-.034em;line-height:.99;}
.h-sec{font-size:clamp(30px,4.6vw,58px);font-weight:600;letter-spacing:-.03em;line-height:1.02;}
.h-sub{font-size:clamp(24px,3vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.05;}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--brand);}
.lede{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--ink-2);text-wrap:pretty;}
.body-lg{font-size:18px;line-height:1.62;color:var(--ink-2);text-wrap:pretty;}
.muted{color:var(--muted);}

.kicker{
  font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);display:inline-flex;align-items:center;gap:11px;
}
.kicker::before{content:"";width:20px;height:1px;background:var(--line-3);}
.kicker.g{color:var(--brand-ink);}
.kicker.g::before{background:var(--brand);}
.kicker.plain::before{display:none;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;height:52px;padding:0 24px;border-radius:100px;
  font-size:15px;font-weight:500;letter-spacing:-.005em;cursor:pointer;border:1px solid transparent;
  transition:background .3s var(--ease),color .3s,border-color .3s,transform .3s var(--ease),box-shadow .3s;
  white-space:nowrap;
}
.btn svg{width:16px;height:16px;transition:transform .3s var(--ease);}
.btn-primary{background:var(--ink);color:var(--white);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(11,13,18,.5);}
.btn-primary:hover svg{transform:translate(3px,-3px);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2);}
.btn-ghost:hover{border-color:var(--ink);background:var(--paper-2);}
.btn-sm{height:42px;padding:0 17px;font-size:14px;}
.btn-grad{position:relative;background:var(--ink);color:var(--white);}
.btn-grad::after{content:"";position:absolute;inset:0;border-radius:100px;padding:1.4px;background:var(--grad);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;}
.btn-grad:hover::after{opacity:1;}

.arrowlink{display:inline-flex;align-items:center;gap:9px;font-weight:500;font-size:16px;color:var(--ink);position:relative;cursor:pointer;}
.arrowlink .ic{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;transition:background .3s var(--ease),border-color .3s,transform .3s;}
.arrowlink .ic svg{width:13px;height:13px;transition:transform .3s var(--ease);}
.arrowlink:hover .ic{background:var(--ink);border-color:var(--ink);color:var(--white);}
.arrowlink:hover .ic svg{transform:translate(2px,-2px);}

/* ---------- reveal (transform-only; content always visible) ---------- */
.reveal{transform:translateY(20px);transition:transform 1s var(--ease-out);}
.js .reveal{transform:translateY(26px);}
.js .reveal.in{transform:none;}
.reveal-s{transform:translateY(14px);transition:transform .9s var(--ease-out);}
.js .reveal-s.in{transform:none;}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-s{transform:none!important;transition:none!important;}
  *{animation:none!important;}}

/* ---------- ambient grid (part of the visual system) ---------- */
.gridfield{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 78%);
          mask:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 78%);
  opacity:.55;}
.dotfield{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(var(--line-2) 1px,transparent 1px);background-size:26px 26px;
  -webkit-mask:radial-gradient(90% 70% at 50% 50%,#000 20%,transparent 75%);mask:radial-gradient(90% 70% at 50% 50%,#000 20%,transparent 75%);
  opacity:.6;}
/* soft aurora wash — replaces the literal grid backdrop */
.aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.aurora::before,.aurora::after{content:"";position:absolute;border-radius:50%;filter:blur(74px);}
.aurora::before{width:560px;height:560px;background:radial-gradient(circle,rgba(75,84,232,.20),transparent 66%);top:-190px;right:-70px;}
.aurora::after{width:520px;height:520px;background:radial-gradient(circle,rgba(31,182,196,.16),transparent 66%);bottom:-210px;left:-130px;}

/* =============================================================
   HEADER
   ============================================================= */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid transparent;
  transition:background .4s var(--ease),border-color .4s,backdrop-filter .4s;}
.hdr.scr{background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom-color:var(--line);}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:inline-flex;align-items:center;gap:11px;}
.brand img{width:30px;height:30px;}
.brand .wm{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.02em;}
.nav{display:flex;align-items:center;gap:2px;}
.nav a{padding:9px 15px;font-size:14.5px;color:var(--ink-2);border-radius:8px;transition:color .2s,background .2s;}
.nav a:hover{color:var(--ink);background:var(--paper-2);}
.hdr-r{display:flex;align-items:center;gap:14px;}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line-2);border-radius:10px;background:transparent;cursor:pointer;align-items:center;justify-content:center;}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:18px;height:1.5px;background:var(--ink);position:relative;transition:transform .3s var(--ease);}
.burger span::before{position:absolute;top:-6px;left:0;}.burger span::after{position:absolute;top:6px;left:0;}
.burger.open span{background:transparent;}
.burger.open span::before{transform:translateY(6px) rotate(45deg);}
.burger.open span::after{transform:translateY(-6px) rotate(-45deg);}
.mnav{position:fixed;inset:74px 0 0;z-index:99;background:var(--white);padding:26px var(--gutter) 40px;display:flex;flex-direction:column;
  transform:translateY(-8px);visibility:hidden;transition:transform .35s var(--ease),visibility .35s;border-top:1px solid var(--line);}
.mnav.open{transform:none;visibility:visible;}
.mnav a{font-family:var(--display);font-size:30px;font-weight:500;letter-spacing:-.02em;padding:16px 0;border-bottom:1px solid var(--line);}
.mnav .btn{margin-top:28px;justify-content:center;}

/* =============================================================
   HERO
   ============================================================= */
.hero{position:relative;padding-top:150px;padding-bottom:var(--sy);overflow:hidden;}
.hero .gridfield{opacity:.5;}
.hero-glow{position:absolute;top:-120px;right:-5%;width:780px;height:780px;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,var(--brand-glow),transparent 62%);filter:blur(6px);}
.hero-in{position:relative;z-index:2;}
.hero-copy{max-width:1040px;}
.hero-lockup{display:inline-flex;align-items:center;gap:12px;margin-bottom:30px;}
.hero-lockup img{width:34px;height:34px;}
.hero-lockup .nm{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;}
.hero-lockup .pill{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  padding:5px 10px;border:1px solid var(--line-2);border-radius:100px;}
.hero h1{margin:0;}
.hero .lede{margin-top:30px;max-width:62ch;}
.hero-meta{margin-top:22px;display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:.01em;}
.hero-meta .dot{width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 0 4px rgba(18,168,143,.16);}
.hero-meta .sep{color:var(--line-3);}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px;}

/* hero visual: the structured layer */
.scene{position:relative;width:100%;aspect-ratio:1/1;max-width:560px;margin-left:auto;}
.scene svg{width:100%;height:100%;overflow:visible;}
.ln{stroke:var(--line-2);stroke-width:1;fill:none;}
.ln-soft{stroke:var(--line);stroke-width:1;fill:none;}
.flow{stroke:url(#gradStroke);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-dasharray:5 9;animation:dash 3.4s linear infinite;}
@keyframes dash{to{stroke-dashoffset:-56;}}
.node{fill:var(--white);stroke:var(--line-3);stroke-width:1.2;}
.node-g{fill:url(#gradFill);stroke:none;}
.halo{fill:var(--brand);opacity:.14;transform-box:fill-box;transform-origin:center;animation:halo 3.6s var(--ease) infinite;}
@keyframes halo{0%,100%{transform:scale(1);opacity:.16;}50%{transform:scale(1.9);opacity:0;}}
.halo.d2{animation-delay:1.2s;}.halo.d3{animation-delay:2.2s;}
.doc{fill:var(--white);stroke:var(--line-2);stroke-width:1.1;}
.doc-row{stroke:var(--line-3);stroke-width:2.4;stroke-linecap:round;}
.doc-row.a{stroke:url(#gradStroke);}
.scan{fill:url(#scanGrad);opacity:.9;animation:scan 4.2s var(--ease) infinite;}
@keyframes scan{0%{transform:translateY(0);opacity:0;}12%{opacity:.9;}50%{transform:translateY(150px);opacity:.9;}62%,100%{opacity:0;}}
.tagchip{font-family:var(--mono);font-size:9px;fill:var(--brand-ink);letter-spacing:.06em;}
.tagchip.m{fill:var(--muted);}
.raw{stroke:var(--line-3);stroke-width:2.4;stroke-linecap:round;opacity:.7;}
.floaty{animation:floaty 7s var(--ease) infinite;transform-box:fill-box;}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.floaty.d{animation-delay:1.6s;}

/* =============================================================
   SECTION scaffold
   ============================================================= */
.sec{position:relative;padding-block:var(--sy);}
.sec-tag{display:flex;align-items:center;gap:16px;margin-bottom:clamp(34px,5vw,60px);}
.sec-tag .idx{font-family:var(--mono);font-size:13px;color:var(--brand-ink);letter-spacing:.06em;}
.sec-tag .ln{flex:1;height:1px;background:var(--line);}
.sec-tag .lbl{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}

/* =============================================================
   BRAND NARRATIVE — one company, two directions (diagram)
   ============================================================= */
.narr{position:relative;}
.narr-head{max-width:900px;margin:0 auto clamp(48px,6vw,84px);text-align:center;}
.diagram{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);}
.diagram-top{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:8px;}
.parent-node{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border:1px solid var(--line-2);border-radius:100px;background:var(--white);
  box-shadow:0 1px 2px rgba(11,13,18,.04),0 20px 50px -34px rgba(11,13,18,.3);}
.parent-node img{width:26px;height:26px;}
.parent-node .t{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;}
.parent-node .s{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.connector{width:100%;height:74px;position:relative;grid-column:1/-1;margin-top:-8px;}
.branch{position:relative;border:1px solid var(--line);border-radius:20px;background:var(--paper);overflow:hidden;padding:clamp(28px,3vw,40px);
  transition:border-color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease);}
.branch:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:0 40px 80px -50px rgba(11,13,18,.4);}
.branch .dotfield{opacity:.5;}
.branch-h{display:flex;align-items:baseline;justify-content:space-between;gap:14px;position:relative;z-index:1;}
.branch-name{font-family:var(--display);font-size:clamp(24px,2.6vw,32px);font-weight:600;letter-spacing:-.02em;}
.branch-status{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.branch-role{position:relative;z-index:1;font-family:var(--display);font-size:clamp(18px,1.7vw,21px);font-weight:500;letter-spacing:-.01em;margin:20px 0 0;color:var(--ink);}
.branch-desc{position:relative;z-index:1;color:var(--muted);font-size:15.5px;margin:12px 0 0;max-width:34ch;}
.branch-foot{position:relative;z-index:1;margin-top:26px;}
.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dot.live{background:var(--live);box-shadow:0 0 0 4px rgba(18,168,143,.15);}
.dot.next{background:var(--faint);}

/* =============================================================
   LYRENTH — flagship feature
   ============================================================= */
.feature{position:relative;}
.feature-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(32px,5vw,72px);align-items:center;}
.feature-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--live);padding:6px 12px 6px 10px;border:1px solid rgba(18,168,143,.35);border-radius:100px;background:rgba(18,168,143,.06);}
.feature h2{margin:22px 0 0;}
.feature .body-lg{margin-top:24px;max-width:46ch;}
.feature-cta{margin-top:34px;}

/* stats — woven, not boxed */
.stats{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);}
.stat{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);}
.stat .n{font-family:var(--display);font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.03em;line-height:1;min-width:2.8em;}
.stat .n .u{font-size:.5em;color:var(--muted);font-weight:500;margin-left:2px;}
.stat .d{font-size:16px;color:var(--ink-2);line-height:1.4;}
.stat .d b{font-weight:600;color:var(--ink);}

/* lyrenth visual: structured document stack */
.doc-visual{position:relative;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,var(--white),var(--paper));overflow:hidden;
  padding:clamp(24px,3vw,38px);box-shadow:0 1px 2px rgba(11,13,18,.03),0 50px 90px -60px rgba(11,13,18,.35);}
.doc-visual .dotfield{opacity:.5;}
.transform-row{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;}
.mini{border:1px solid var(--line-2);border-radius:12px;background:var(--white);padding:16px;}
.mini .cap{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:12px;display:flex;justify-content:space-between;}
.bar{height:5px;border-radius:3px;background:var(--line-2);margin-bottom:8px;}
.bar.raw{background:var(--line-2);}
.bar.s{background:var(--ink-2);}
.bar.g{background:var(--grad);}
.xform{width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.xform svg{width:16px;height:16px;}
.doc-foot{position:relative;z-index:1;margin-top:20px;display:flex;flex-wrap:wrap;gap:7px;}
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--ink-2);padding:6px 10px;border:1px solid var(--line-2);border-radius:7px;background:var(--white);}
.tag .b{color:var(--brand-ink);}

/* =============================================================
   ALEKSMA CAD AI — reserved / coming next
   ============================================================= */
.cad{position:relative;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cad-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.cad-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);padding:6px 12px 6px 10px;border:1px solid var(--line-2);border-radius:100px;background:var(--white);}
.cad h2{margin:22px 0 0;}
.cad .body-lg{margin-top:24px;max-width:44ch;}
.cad-line{margin-top:26px;font-family:var(--display);font-weight:500;font-size:clamp(18px,1.7vw,22px);letter-spacing:-.015em;color:var(--ink);max-width:24ch;}
/* blueprint visual */
.blueprint{position:relative;aspect-ratio:5/4;border:1px solid var(--line-2);border-radius:18px;background:var(--white);overflow:hidden;}
.blueprint svg{width:100%;height:100%;}
.bp-line{stroke:var(--line-2);stroke-width:1;fill:none;}
.bp-dash{stroke:var(--line-3);stroke-width:1;stroke-dasharray:4 5;fill:none;}
.bp-accent{stroke:url(#gradStroke2);stroke-width:1.6;fill:none;stroke-linecap:round;}
.bp-node{fill:var(--white);stroke:var(--line-3);stroke-width:1.2;}
.bp-node-g{fill:url(#gradFill2);}
.bp-label{font-family:var(--mono);font-size:9px;fill:var(--faint);letter-spacing:.08em;}
.bp-wm{position:absolute;top:16px;left:18px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);z-index:2;}
.bp-wm .st{color:var(--muted);}

/* =============================================================
   THESIS
   ============================================================= */
.thesis{position:relative;text-align:center;overflow:hidden;}
.thesis .dotfield{opacity:.55;}
.thesis-in{position:relative;z-index:1;max-width:780px;margin:0 auto;}
.thesis h2{margin:26px auto 0;}
.thesis .body-lg{margin:28px auto 0;max-width:60ch;color:var(--ink-2);}

/* =============================================================
   VISION / CLOSING
   ============================================================= */
.vision{position:relative;overflow:hidden;}
.vision-card{position:relative;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,var(--white),var(--paper-2));overflow:hidden;
  padding:clamp(48px,7vw,110px) clamp(28px,5vw,80px);text-align:center;box-shadow:0 60px 120px -80px rgba(11,13,18,.4);}
.vision-card .gridfield{opacity:.5;-webkit-mask:radial-gradient(120% 100% at 50% 0,#000 40%,transparent 82%);mask:radial-gradient(120% 100% at 50% 0,#000 40%,transparent 82%);}
.vision-glow{position:absolute;bottom:-40%;left:50%;transform:translateX(-50%);width:120%;height:80%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 100%,var(--brand-glow),transparent 60%);}
.vision-in{position:relative;z-index:1;}
.vision h2{max-width:18ch;margin:24px auto 0;}
.vision .body-lg{max-width:56ch;margin:26px auto 0;}
.vision-cta{margin-top:40px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}

/* =============================================================
   FOOTER
   ============================================================= */
.footer{border-top:1px solid var(--line);padding-block:clamp(48px,6vw,72px) 34px;}
.foot-top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.foot-brand{max-width:30ch;}
.foot-brand .brand{margin-bottom:16px;}
.foot-brand p{color:var(--muted);font-size:14.5px;margin:0;}
.foot-links{display:flex;gap:clamp(40px,6vw,90px);flex-wrap:wrap;}
.fcol h5{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 15px;font-weight:500;}
.fcol a{display:block;color:var(--ink-2);font-size:14.5px;padding:6px 0;transition:color .2s;}
.fcol a:hover{color:var(--brand-ink);}
.foot-bot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:clamp(44px,6vw,72px);padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap;}
.foot-bot .legal{font-size:13px;color:var(--faint);}
.foot-bot .mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}

/* =============================================================
   INVESTOR RELATIONS page
   ============================================================= */
.ir-hero{position:relative;padding-top:152px;padding-bottom:clamp(28px,4vw,48px);overflow:hidden;}
.ir-hero .lede{max-width:54ch;margin-top:24px;}
.ir-head{max-width:20ch;}
.ir-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:clamp(34px,5vw,54px);}
.ir-card{position:relative;border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:clamp(28px,3vw,40px);overflow:hidden;
  transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
.ir-card:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:0 40px 80px -55px rgba(11,13,18,.4);}
.ir-ic{width:46px;height:46px;border-radius:12px;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:center;}
.ir-card.accent .ir-ic{background:var(--grad);}
.ir-card h3{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.02em;margin:20px 0 8px;}
.ir-card>p{color:var(--muted);font-size:15px;margin:0 0 22px;}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.field label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.field input{font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--white);border:1px solid var(--line-2);border-radius:10px;padding:13px 15px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;}
.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);}
.ir-card .btn{width:100%;justify-content:center;margin-top:6px;}
.ir-note{margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--faint);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ir-note a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px;cursor:pointer;}
.form-ok{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--ink-2);line-height:1.5;}
.form-ok .ck{color:var(--live);flex-shrink:0;margin-top:2px;}
.ir-inside{border-top:1px solid var(--line);margin-top:8px;}
.ir-row{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);}
.ir-row .rk{font-family:var(--mono);font-size:12px;color:var(--brand-ink);}
.ir-row .rt{font-size:17px;color:var(--ink);font-weight:500;}
.ir-row .rs{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
@media(max-width:760px){.ir-grid{grid-template-columns:1fr;}.ir-row{grid-template-columns:auto 1fr;}.ir-row .rs{display:none;}}

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media(max-width:940px){
  body{font-size:16px;}
  .hero-in{grid-template-columns:1fr;gap:48px;}
  .scene{max-width:440px;margin:0 auto;}
  .hero-glow{right:-30%;}
  .diagram{grid-template-columns:1fr;}
  .connector{display:none;}
  .feature-grid,.cad-grid{grid-template-columns:1fr;}
  .feature-grid .doc-visual{order:-1;}
}
@media(max-width:640px){
  .nav{display:none;}
  .hdr-r .btn{display:none;}
  .burger{display:flex;}
  .hero{padding-top:116px;}
  .hero-cta .btn{flex:1;justify-content:center;}
  .stat{grid-template-columns:1fr;gap:6px;}
  .stat .n{min-width:0;}
  .transform-row{grid-template-columns:1fr;gap:14px;}
  .transform-row .xform{transform:rotate(90deg);margin:0 auto;}
  .foot-top{flex-direction:column;gap:32px;}
}

/* =============================================================
   CONTACT page + wired form controls (extends the .field system)
   ============================================================= */
.contact-wrap{max-width:720px;}
.contact-card{position:relative;border:1px solid var(--line);border-radius:22px;background:var(--paper);
  padding:clamp(28px,3.4vw,44px);overflow:hidden;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field textarea,.field select{font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--white);
  border:1px solid var(--line-2);border-radius:10px;padding:13px 15px;outline:none;width:100%;
  transition:border-color .2s,box-shadow .2s;}
.field textarea{min-height:140px;resize:vertical;line-height:1.5;}
.field textarea:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);}
.consent{display:flex;align-items:flex-start;gap:10px;margin:4px 0 18px;font-size:14px;color:var(--muted);line-height:1.5;}
.consent input{width:17px;height:17px;margin-top:2px;accent-color:var(--brand);flex-shrink:0;}
.consent a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px;}
.honeypot{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}
.form-err{margin:10px 0 0;font-size:14px;color:#C0392B;min-height:1px;}
.form-err:empty{margin:0;}
.contact-card .btn,.contact-card form>.btn{width:100%;justify-content:center;margin-top:4px;}
@media(max-width:560px){.field-row{grid-template-columns:1fr;}}
