.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* services */
.svc{position:relative;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);
  padding:30px 28px 28px;box-shadow:4px 4px 0 var(--line-2);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.svc:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 rgba(0,6,255,.28);border-color:var(--blue-lite)}
.svc .num{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--blue-lite);letter-spacing:.12em}
.svc h3{font-family:"IBM Plex Mono",monospace;font-size:clamp(14px,1.4vw,18px);font-weight:600;margin:14px 0 8px;letter-spacing:-.02em;line-height:1.25;hyphens:auto;overflow-wrap:break-word}
.svc p{color:var(--muted);font-size:15px;margin:0}
.svc .more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--blue-lite);letter-spacing:.03em}
.svc .more .arw{transition:transform .14s ease}
.svc:hover .more .arw{transform:translateX(3px)}

.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:50px}

/* ---- faq ---- */
.faq{margin-top:50px;border-top:1px solid var(--line-2)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{cursor:pointer;list-style:none;padding:22px 0;font-family:"IBM Plex Mono",monospace;font-size:clamp(15px,2vw,19px);font-weight:600;color:var(--text);display:flex;justify-content:space-between;gap:18px;align-items:center;transition:color .15s}
.faq summary:hover{color:var(--blue-lite)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue-lite);font-size:24px;line-height:1;transition:transform .2s ease;flex:0 0 auto}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 0 24px;color:var(--muted);max-width:72ch;font-size:15.5px;line-height:1.65}

/* ---- AI section ---- */
.ia-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:34px}
.ia-point{background:var(--ink-2);border:1px solid var(--line);border-top:2px solid var(--blue);border-radius:var(--r);padding:20px 18px}
.ia-point h3{font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:600;color:var(--text);margin:0 0 8px;display:flex;align-items:flex-start;gap:8px;line-height:1.3}
.ia-point h3::before{content:"";width:7px;height:7px;margin-top:4px;background:var(--blue-lite);border-radius:1px;flex:0 0 auto}
.ia-point p{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0}
.ia-ic{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:14px;border:1px solid rgba(0,6,255,.28);border-radius:2px;color:var(--blue-bright);background:rgba(0,6,255,.05)}
.ia-ic svg{width:24px;height:24px}

/* ---- sub-pages ---- */
.page-hero{padding:clamp(112px,13vh,158px) 0 clamp(34px,5vw,56px)}
.page-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(28px,5vw,60px);align-items:center}
.page-hero h1{font-family:"IBM Plex Mono",monospace;font-weight:700;font-size:clamp(30px,4.6vw,50px);line-height:1.06;letter-spacing:-.01em;margin:14px 0 0}
.page-hero h1 .hl{color:var(--blue-bright)}
.page-hero .lede{margin-top:18px}
.illus{background:var(--ink-2);border:1px solid var(--line);border-radius:14px;padding:clamp(16px,2.6vw,28px);box-shadow:6px 6px 0 var(--line-2)}
.illus svg{display:block;width:100%;height:auto}
.illus-cap{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin:14px 2px 0}

/* sv-spheres */
.illus--part{position:relative;height:clamp(300px,30vw,400px);border:0;background:transparent;box-shadow:none;border-radius:0;padding:0}
.illus--part canvas{width:100%;height:100%;display:block;cursor:crosshair;touch-action:pan-y}

@media (max-width:860px){
  .page-hero-grid{grid-template-columns:1fr;gap:30px}
  .illus--part{height:clamp(240px,58vw,300px)}
}

/* density-c */
.svc{padding-right:clamp(46px,7vw,62px)}
.svc .svc-ic{position:absolute;right:16px;top:16px;width:30px;height:30px;border:1px solid rgba(0,6,255,.28);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--blue-bright);background:rgba(0,6,255,.04)}
.svc .svc-ic svg{width:15px;height:15px}
.faq details{padding:0 14px;margin:0 -14px}
.faq details:nth-of-type(even){background:rgba(10,12,30,.025)}
