
:root{
  --bg:#F3F4F1;--surface:#FFFFFF;--soft:#E8ECE9;--ink:#0F1416;--muted:#4C585C;--line:#D3D9D6;
  --accent:#0B7A6C;--accent-ink:#FFFFFF;--warn:#A85C08;--band:#0B7A6C;--obs:#0F1416;
  --display:'Source Serif 4',Georgia,'Times New Roman',serif;--sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
}
@font-face{font-family:Archivo;font-style:normal;font-weight:600 800;font-stretch:112% 125%;font-display:swap;src:url('/fonts/archivo-v25-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:Archivo;font-style:normal;font-weight:600 800;font-stretch:112% 125%;font-display:swap;src:url('/fonts/archivo-v25-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/inter-v20-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:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/inter-v20-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,dl,dd,blockquote,figure{margin:0}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1280px;margin:0 auto;padding-inline:clamp(16px,5vw,64px)}
.sec{padding-block:clamp(64px,9vw,120px)}
.sec + .sec{border-top:1px solid var(--line)}
.alt{background:var(--soft)}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.h1{font-family:var(--display);font-weight:500;font-size:clamp(42px,6.2vw,78px);line-height:1.02;letter-spacing:-.015em;text-wrap:balance}
.h2{font-family:var(--display);font-weight:500;font-size:clamp(32px,4.2vw,50px);line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
.h3{font-size:20px;font-weight:600;line-height:1.3}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:60ch}
.muted{color:var(--muted)}
.small{font-size:14px}
.stack{display:flex;flex-direction:column;gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px);align-items:start}
.center{align-items:center}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:6px;font:600 16px var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--ink)}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.logo{font-family:var(--mono);font-weight:500;font-size:21px;letter-spacing:.06em;color:var(--ink);text-decoration:none}
.nav{display:flex;align-items:center;gap:28px;font-size:15px}
.nav a{color:var(--ink);text-decoration:none;white-space:nowrap}
.nav a:hover,.nav a[aria-current="page"]{color:var(--accent)}
.tools{display:flex;align-items:center;gap:10px}
.theme{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font:13px var(--mono);cursor:pointer}
.menu-btn{display:none}
.nav a.cta{display:none}
@media (max-width:1200px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:0;padding:8px clamp(16px,5vw,64px) 16px;background:var(--bg);border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:12px 0;width:100%;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:12px;border-bottom:0;width:auto}
  .menu-btn{display:inline-flex;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font:13px var(--mono);align-items:center;cursor:pointer}
}

/* hero */
.hero{padding-block:clamp(48px,8vw,104px) clamp(56px,8vw,96px)}
.hero .grid2{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}
.hero-sub{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:34ch}
.live{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(16px,2.4vw,28px);display:flex;flex-direction:column;gap:14px}
.live-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pulse{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pulse i{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.25}}
.live-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-variant-numeric:tabular-nums}
.live-stats div{border-top:1px solid var(--line);padding-top:10px}
.live-stats dt{font-size:12.5px;color:var(--muted)}
.live-stats dd{font-family:var(--mono);font-size:clamp(17px,1.8vw,22px)}
.live-cap{font-size:13.5px;color:var(--muted)}
.pause{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font:12.5px var(--mono);cursor:pointer}

/* chart */
.chart{width:100%;height:auto;display:block}
.c-frame{fill:var(--bg);stroke:var(--line)}
.c-band{fill:var(--band);fill-opacity:.17}
.c-truth{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:2 4}
.c-obs{fill:var(--obs);fill-opacity:.8}
.c-est{fill:none;stroke:var(--accent);stroke-width:2.6}
.c-fut{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-dasharray:7 5}
.c-tol{stroke:var(--warn);stroke-width:1.5;stroke-dasharray:6 5}
.c-now{stroke:var(--muted);stroke-width:1}
.c-gap{fill:var(--warn);fill-opacity:.1}
.c-alert{fill:var(--warn)}
.c-txt{fill:var(--muted);font-family:var(--mono);font-size:11px}
.c-warn{fill:var(--warn);font-family:var(--mono);font-size:11px}

/* clients */
.clients{padding-block:32px;border-block:1px solid var(--line)}
.clients .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px}
.clients span{font-weight:600;font-size:18px;color:var(--muted);letter-spacing:.01em}
.clients .eyebrow{color:var(--muted);margin-right:8px}

/* principles + compare */
.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin-top:8px}
.chips li{list-style:none;display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1px solid var(--line)}
.chips b{font-weight:600}
.chips span{font-size:15px;color:var(--muted)}
ul.chips{padding:0}
.table-wrap{overflow-x:auto}
.compare{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45}
.compare th{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 16px 12px 0;border-bottom:1px solid var(--ink)}
.compare th.us{color:var(--accent)}
.compare td{padding:16px 16px 16px 0;border-bottom:1px solid var(--line);vertical-align:top}
.compare td:first-child{color:var(--muted);width:44%}

/* products */
.products{display:flex;flex-direction:column;gap:clamp(56px,8vw,96px);margin-top:clamp(40px,6vw,64px)}
.feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,72px);align-items:center}
.feature.flip .shot{order:-1}
.tag{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pname{font-family:var(--display);font-size:clamp(34px,3.6vw,44px);font-weight:500;line-height:1}
.pclaim{font-size:clamp(19px,1.8vw,22px);font-weight:500;line-height:1.35}
.ticks{padding:0;display:flex;flex-direction:column;gap:8px}
.ticks li{list-style:none;padding-left:22px;position:relative;font-size:15.5px;color:var(--muted)}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--accent)}
.shot{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.shot figcaption{font-size:13px;color:var(--muted);padding:10px 14px;border-top:1px solid var(--line)}
.cost{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:22px}
.cost-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px;font-variant-numeric:tabular-nums}
.cost-row b{font-family:var(--display);font-weight:500;font-size:clamp(28px,3vw,40px);white-space:nowrap}
.cost-row span{min-width:0}
.cost-row .strike{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--warn)}
.cost-row .win{color:var(--accent)}
.platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;padding:0}
.platforms li{list-style:none;font-size:15px}
.platforms b{display:block}

/* proof */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:clamp(32px,5vw,56px)}
.stat{background:var(--surface);padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:10px}
.stat .num{font-family:var(--display);font-size:clamp(40px,4.4vw,56px);line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.stat p{font-size:15.5px}
.stat .who{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:auto}
.quote-slot{margin-top:24px;padding:24px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:15px}

/* people */
.pullquote{font-family:var(--display);font-size:clamp(26px,2.8vw,36px);line-height:1.28;font-weight:400;text-wrap:balance}
.people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:clamp(40px,5vw,56px)}
.person .ph{aspect-ratio:4/5;border-radius:10px;border:1px dashed var(--line);background:var(--surface);display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:12.5px;color:var(--muted)}
.person b{display:block;margin-top:12px}
.person span{font-size:14px;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:clamp(40px,5vw,56px)}
.facts h3{font-size:17px;font-weight:600;margin-bottom:6px}
.facts p{font-size:15px;color:var(--muted)}
.numbers{display:flex;flex-wrap:wrap;gap:32px;font-variant-numeric:tabular-nums}
.numbers b{display:block;font-family:var(--display);font-weight:500;font-size:40px;line-height:1}
.numbers span{font-size:14px;color:var(--muted)}

/* offer + form */
.offer{background:var(--surface);border:1px solid var(--accent);border-radius:14px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:18px}
.offer .price{font-family:var(--mono);font-size:14px;color:var(--muted)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.two h3{font-size:14px;font-weight:600;margin-bottom:8px}
form{display:flex;flex-direction:column;gap:16px}
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0;padding:0;margin:0}
.paths legend{font-size:14px;font-weight:600;margin-bottom:10px}
.paths label{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:14.5px;cursor:pointer;background:var(--surface)}
.paths label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.field input,.field select,.field textarea{font:16px var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px 14px;min-height:48px}
.form-note{font-size:14px;color:var(--accent)}

footer{border-top:1px solid var(--line);padding-block:48px;font-size:14px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
footer nav{display:flex;gap:48px;flex-wrap:wrap}
footer nav div{display:flex;flex-direction:column;gap:8px}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--ink)}

/* twin page */
.demo{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(18px,3vw,44px);display:flex;flex-direction:column;gap:28px}
.demo-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.controls{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.lvls{display:flex;gap:8px}
.lvl{width:48px;height:48px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:500 16px var(--mono);cursor:pointer}
.lvl[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.outage{min-height:44px;padding:0 16px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:14px var(--sans);cursor:pointer}
.outage[aria-pressed="true"]{border-color:var(--warn);color:var(--warn);font-weight:600}
.demo-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:32px;align-items:start}
.readout{border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.readout div{padding:14px 0;border-bottom:1px solid var(--line)}
.readout dt{font-size:13px;color:var(--muted)}
.readout dd{font-family:var(--mono);font-size:22px}
.readout .alert dt{color:var(--warn)}
.readout .alert dd{font:16px/1.45 var(--sans)}
.legend{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13px;color:var(--muted);margin-top:12px}
.legend span{display:inline-flex;align-items:center;gap:8px}
.sw{display:inline-block;width:20px;height:3px;background:var(--accent)}
.sw.band{height:10px;opacity:.3}
.sw.dot{width:8px;height:8px;border-radius:50%;background:var(--obs)}
.sw.dash{height:0;border-top:2px dotted var(--muted);background:none}
.byline{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--muted)}
.byline i{width:40px;height:40px;border-radius:50%;border:1px dashed var(--line);display:inline-block}
.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
.principles h3{font-size:18px;font-weight:600;margin-bottom:4px}
.principles p{font-size:15.5px;color:var(--muted)}
.obst{display:flex;flex-direction:column;gap:12px}
.obst div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.obst b{display:block}
.obst span{font-size:15px;color:var(--muted)}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.card{border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:12px;background:var(--surface)}
.card .more{margin-top:auto;font-weight:600;text-decoration:none}
.stack-t{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5;min-width:560px}
.stack-t th,.stack-t td{text-align:left;padding:15px 16px 15px 0;border-bottom:1px solid var(--line);vertical-align:top}
.stack-t thead th{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom-color:var(--ink)}
.stack-t tbody th{width:190px;font-weight:600}
.stack-t tbody tr:first-child th{color:var(--accent)}
.faq details{border-bottom:1px solid var(--line)}
.faq{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 32px 20px 0;font-size:18px;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:16px;font:400 24px var(--mono);color:var(--accent)}
.faq details[open] summary::after{content:"–"}
.faq p{padding-bottom:20px;color:var(--muted);max-width:62ch}
.cta-band{background:var(--accent);color:var(--accent-ink);border-radius:14px;padding:clamp(28px,4vw,56px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.cta-band .h2{font-size:clamp(26px,3vw,38px);max-width:24ch}
.cta-band .btn{background:var(--ink);color:var(--bg)}

@media (max-width:900px){
  .grid2,.hero .grid2,.feature,.demo-body{grid-template-columns:1fr}
  .feature.flip .shot{order:0}
  .stats,.cards3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people,.facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .controls{align-items:flex-start}
}
@media (max-width:560px){
  body{font-size:16px}
  .stats,.cards3,.chips,.principles,.two,.paths,.platforms,.facts{grid-template-columns:1fr}
  .live-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .lvl{width:44px;height:44px}
}
.awards{padding-block:clamp(40px,5vw,56px);border-bottom:1px solid var(--line)}
.awards .wrap{display:flex;flex-direction:column;gap:20px}
.award-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:0;margin:0}
.award-list li{list-style:none;background:var(--surface);padding:20px;display:flex;flex-direction:column;gap:6px}
.award-list .rank{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.award-list .rank.fin{color:var(--muted)}
.award-list b{font-family:var(--display);font-weight:500;font-size:22px;line-height:1.15}
.award-list span{font-size:13.5px;color:var(--muted)}
@media (max-width:900px){.award-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.award-list{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pulse i{animation:none}}

/* multi-page additions */
.page-hero{padding-block:clamp(48px,7vw,96px) clamp(40px,5vw,64px)}
.page-hero .wrap{display:flex;flex-direction:column;gap:22px}
.crumbs{font-size:13.5px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.prose{max-width:68ch;display:flex;flex-direction:column;gap:18px}
.prose h2{font-family:var(--display);font-weight:500;font-size:clamp(26px,2.8vw,34px);line-height:1.15;margin-top:18px;text-wrap:balance}
.prose p,.prose li{color:var(--ink)}
.prose ul{padding-left:20px;display:flex;flex-direction:column;gap:8px}
.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,72px);align-items:start}
.case-meta{position:sticky;top:96px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px;display:flex;flex-direction:column;gap:14px;font-size:14.5px}
.case-meta dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.case-meta dd{margin:2px 0 0}
.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.results div{background:var(--surface);padding:22px;display:flex;flex-direction:column;gap:6px}
.results b{font-family:var(--display);font-weight:500;font-size:clamp(34px,3.6vw,46px);line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.results span{font-size:14.5px;color:var(--muted)}
.case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:40px}
.case-card{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:28px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink)}
.case-card:hover{border-color:var(--accent)}
.case-card .num{font-family:var(--display);font-size:40px;line-height:1;color:var(--accent)}
.case-card .more{margin-top:auto;color:var(--accent);font-weight:600}
.ind-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.ind-links a{border:1px solid var(--line);border-radius:12px;padding:22px;text-decoration:none;color:var(--ink);background:var(--surface);display:flex;flex-direction:column;gap:6px}
.ind-links a:hover{border-color:var(--accent)}
.ind-links span{font-size:14.5px;color:var(--muted)}
.group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}
.group .unit{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:28px;display:flex;flex-direction:column;gap:12px}
.group .unit.us{border-color:var(--accent)}
.group-top{margin-top:32px;border:1px solid var(--line);border-radius:12px;padding:20px 28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;background:var(--surface)}
.growth{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:end;margin-top:24px;max-width:560px}
.growth div{display:flex;flex-direction:column;gap:8px;font-variant-numeric:tabular-nums}
.growth i{display:block;background:var(--accent);border-radius:4px 4px 0 0}
.growth b{font-family:var(--mono);font-size:18px}
.growth span{font-size:13px;color:var(--muted)}
.define{font-size:14px;color:var(--muted);max-width:70ch}
@media (max-width:900px){.case-layout{grid-template-columns:minmax(0,1fr)}.case-meta{position:static}.results,.ind-links{grid-template-columns:1fr}.case-list,.group{grid-template-columns:1fr}}
.cards4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.cards4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cards4{grid-template-columns:1fr}}
.more-link{display:inline-block;margin-top:14px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.85rem;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.more-link:hover{opacity:.8}
/* v3.1 additions */
footer .fh{color:var(--ink);font-weight:600;font-size:13px;margin-bottom:4px}
.press-strip{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.press-strip span:not(.eyebrow){color:var(--muted);font-size:14px;font-weight:400}
.press-strip .more-link{margin-top:0}
.press-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.press-list li{border-bottom:1px solid var(--line)}
.press-list a{display:flex;flex-direction:column;gap:6px;padding:18px 0;text-decoration:none;color:var(--ink)}
.press-list a:hover b{color:var(--accent)}
.press-list b{font-weight:500;font-size:17px;line-height:1.4}
.values .card{gap:10px}
.steps .tag{color:var(--accent)}
.platforms a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.platforms a:hover{color:var(--accent)}
.faq details p{padding-bottom:10px}
.results.r4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.results.r4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* dropdown nav */
.dd{position:relative;display:flex;align-items:center}
.dd>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);opacity:.6}
.dd-menu{display:none;position:absolute;top:100%;left:-18px;padding-top:14px;min-width:300px;z-index:30}
.dd-menu::before{content:"";position:absolute;inset:14px 0 0 0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);z-index:-1}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:flex;flex-direction:column}
.dd-menu a{display:flex;flex-direction:column;gap:2px;padding:10px 18px;white-space:normal}
.dd-menu a:first-child{padding-top:16px}.dd-menu a:last-child{padding-bottom:16px}
.dd-menu b{font-weight:600;font-size:15px}
.dd-menu small{font-size:13px;color:var(--muted)}
.dd-menu a:hover b{color:var(--accent)}
@media (max-width:1200px){
  .dd{flex-direction:column;align-items:flex-start;width:100%}
  .dd>a::after{display:none}
  .dd-menu{display:flex;flex-direction:column;position:static;padding:0 0 6px 16px;min-width:0;width:100%}
  .dd-menu::before{display:none}
  .dd-menu a{padding:9px 0!important;border-bottom:0!important}
  .dd-menu small{display:none}
  .dd-menu b{font-weight:400;color:var(--muted)}
}
@media (max-width:1200px){.nav a.btn{width:auto;margin-top:14px;padding:12px 20px;border-bottom:0;justify-content:center}}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:6px}
.skip:focus{left:16px}
.paths{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.darkmedia{margin:40px 0 0;background:#0A0C0D;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.darkmedia video,.darkmedia img{display:block;width:100%;height:auto}
.darkmedia figcaption{padding:14px 20px;color:#A9B0AD;font-size:14px;background:#0A0C0D;border-top:1px solid #1d2326}
.darkmedia.diagram img{padding:clamp(12px,3vw,32px)}
@media (prefers-reduced-motion:reduce){.darkmedia video{display:none}.darkmedia:has(video){background:#0A0C0D url(img/twin-motor-poster.webp) center/cover;aspect-ratio:1280/820}}

/* diagrams */
.dgwrap{margin:40px 0 0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow-x:auto}
.dgwrap figcaption{padding:14px 22px;color:var(--muted);font-size:14px;border-top:1px solid var(--line)}
.dg{display:block;width:100%;height:auto;min-width:860px;padding:8px}
.dg text{font-family:var(--sans);fill:var(--ink)}
.dg .d-eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.14em;fill:var(--muted)}
.dg .d-acc{fill:var(--accent)}
.dg .d-h{font-family:var(--display);font-size:20px}
.dg .d-mono{font-family:var(--mono);font-size:17px}
.dg .d-small{font-size:15px;fill:var(--muted)}
.dg .d-tiny{font-size:13px;fill:var(--muted)}
.dg .d-ink{fill:var(--ink)}
.dg .d-muted{fill:var(--muted)}
.dg .d-warn{font:600 22px var(--mono);fill:var(--warn)}
.dg .d-box{fill:var(--bg);stroke:var(--line);stroke-width:1.5}
.dg .d-twin{stroke:var(--accent);stroke-width:2}
.dg .d-dot-w{fill:var(--ink);opacity:.8}
.dg .d-arrow{stroke:var(--ink);stroke-width:1.6;fill:none;opacity:.75}
.dg .d-dash{stroke-dasharray:6 5}
.dg .d-faint{stroke-dasharray:2 6;opacity:.5}
.dg .d-head{fill:var(--ink);opacity:.75}
.dg .d-noise{stroke:var(--warn);stroke-width:2;fill:none}
.dg .d-band{fill:var(--accent);opacity:.18}
.dg .d-est{stroke:var(--accent);stroke-width:2.5;fill:none}
.dg .d-obs{fill:var(--ink)}
.dg .d-axis{stroke:var(--accent);stroke-width:1.6}
.dg .d-line-a{stroke:var(--accent);stroke-width:1.6;fill:none}
.dg .d-api{fill:var(--surface);stroke:var(--accent);stroke-width:2.5}
.dg .d-out{fill:var(--bg);stroke:var(--line)}
.dg .d-pill{fill:none;stroke:var(--accent);stroke-width:1.2;opacity:.9}
.dg .d-chip{fill:var(--bg);stroke:var(--line);stroke-width:1.4}
.dg .d-t{font-size:15px;fill:var(--ink)}
.dg .d-bigarrow{fill:var(--accent);opacity:.85}
.dg .d-spoke{stroke:var(--accent);stroke-width:1.4;stroke-dasharray:4 5;opacity:.7}
.dg .d-hub{fill:var(--accent)}
.dg .d-hub-halo{fill:var(--accent);opacity:.14}
.dg .d-hubt{font:600 17px var(--sans);fill:var(--accent-ink)}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;background:var(--surface)}
.photo-wide{margin:0}
.photo-wide img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 40%;border-radius:14px}
.photo-wide figcaption{margin-top:10px;font-size:14px;color:var(--muted)}
.gallery{display:grid;gap:14px;margin-top:28px}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.gallery.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery.g2{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
@media (max-width:700px){.gallery.g3{grid-template-columns:1fr}.photo-wide img{aspect-ratio:3/2}}
.photo-half{max-width:640px}.photo-half img{aspect-ratio:4/3}
/* v4 photos */
.case-card{overflow:hidden}
.case-card .thumb{margin:-28px -28px 4px;width:calc(100% + 56px);max-width:none;aspect-ratio:2/1;object-fit:cover;transition:transform .4s ease}
.case-card:hover .thumb{transform:scale(1.03)}
.case-hero{margin:0}
.case-hero img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:14px}
.mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;gap:14px;margin-top:40px}
.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.mosaic .big{grid-column:span 2;grid-row:span 2}
@media (max-width:800px){.mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}.case-hero img{aspect-ratio:16/10}}
@media (prefers-reduced-motion:reduce){.case-card .thumb{transition:none}}
.ticks.x li::before{content:"✕";background:none;width:auto;height:auto;top:0;color:var(--warn);font-size:13px}
.dd-menu{min-width:320px}
.dd-menu .dd-h{padding:14px 18px 2px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.dd-menu a{padding:7px 18px}
@media (max-width:1200px){.dd-menu .dd-h{padding-left:0}}
.case-card .num+.unit{display:block;margin-top:-6px;font-size:14px;line-height:1.35;color:var(--muted)}
/* v5 design pass */
/* 1. one visual series for case images: teal duotone */
.case-card .thumb,.case-hero img{filter:grayscale(1) sepia(.45) contrast(1.02)}
.case-card:hover .thumb{filter:none}
/* 2. hero: bigger live twin */
@media (min-width:1001px){.hero .grid2{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr)}}
.live{box-shadow:0 24px 60px rgba(15,20,22,.10)}
@media (max-width:700px){.hero .btns{gap:6px}.hero .btn-ghost{border:0;background:none;padding-left:0;text-decoration:underline;text-underline-offset:4px;min-height:40px}}
/* 4. clients in one row */
.clients .wrap{flex-wrap:nowrap}
.clients .logos{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center}
.clients .logos span{font-size:16px;white-space:nowrap}
@media (max-width:900px){.clients .wrap{flex-wrap:wrap}}
/* 6. platforms as cards */
.platform-block{display:flex;flex-direction:column;gap:24px}
.plat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.plat{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 22px 44px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;transition:border-color .2s}
.plat:hover{border-color:var(--accent)}
.plat b{font-size:18px}
.plat span{font-size:14.5px;color:var(--muted)}
.plat em{font-style:normal;font-size:14px;color:var(--accent);font-weight:600;margin-top:6px}
.plat i{position:absolute;right:20px;bottom:16px;font-style:normal;color:var(--accent);font-size:18px}
@media (max-width:1000px){.plat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.plat-grid{grid-template-columns:1fr}}
/* 7. one number style */
.case-card .num,.stat .num,.results b{font-family:var(--display);font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}
.case-card .num{font-size:clamp(36px,3.4vw,44px)}
/* 8. dark band */
.sec.dark{--bg:#0F1416;--surface:#172024;--ink:#ECEAE3;--muted:#A3ACAF;--line:#2A3438;--accent:#5ED3C2;--accent-ink:#0D1012;background:var(--bg);color:var(--ink)}
.sec.dark .h2,.sec.dark h3{color:var(--ink)}
/* 3. alt paths in contact */
.alt-paths{display:grid;gap:10px;margin:22px 0 14px}
.alt-paths a{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px 40px 14px 16px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none}
.alt-paths a:hover{border-color:var(--accent)}
.alt-paths b{font-size:15px}.alt-paths span{font-size:14px;color:var(--muted)}
.alt-paths i{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--accent)}
/* 9. theme toggle as icon */
.darkfig img{background:#000;border-radius:14px;aspect-ratio:auto!important;object-fit:contain!important}
.hero-founders{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,5vw,72px);align-items:end}
.founders{display:flex;gap:clamp(18px,3vw,36px)}
.founders figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.founders img{width:clamp(120px,13vw,176px);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line),0 12px 32px rgba(15,20,22,.10)}
.founders figcaption{display:flex;flex-direction:column;gap:2px;font-size:14px}
.founders figcaption span{color:var(--muted);font-size:13px}
@media (max-width:800px){.hero-founders{grid-template-columns:1fr}.founders{justify-content:flex-start}}
.person p{font-size:14px;line-height:1.5;margin:8px 0 0;color:var(--ink,inherit)}
.life{margin-top:clamp(56px,7vw,88px);padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--line)}
.life+.gallery{margin-top:20px}
.feature .pname{font-size:clamp(28px,3vw,40px);line-height:1.08}
.pbrand{display:inline-flex;align-self:flex-start;font-family:var(--mono,monospace);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:4px 12px}
.plat span b{font-size:inherit}
.feature .pname,.platform-block .pname{color:var(--accent)}
.plat .pbrand{font-size:11.5px;padding:3px 10px;font-weight:500}

/* ===================== LIVE DNAi DESIGN SKIN (dnai.ai, Webflow) ===================== */
/* Layout concept: black aurora heroes with extended uppercase headlines, white/grey content bands, hairline rules, square buttons. */
:root{
  --bg:#FFFFFF;--surface:#FFFFFF;--soft:#F2F2F2;--ink:#0A0A0A;--muted:#5C5F60;--line:#E2E2E2;
  --accent:#076F72;--accent-ink:#FFFFFF;--warn:#B5651D;--band:#08AEB2;--obs:#0A0A0A;
  --black:#000000;--on-dark:#FFFFFF;--on-dark-muted:#9AA0A0;--dark-line:#262626;
  --pa:#08AEB2;
  --display:"Gt America Extended","Archivo",Arial,sans-serif;
  --sans:"Inter","Inter Variable",Arial,Helvetica,sans-serif;
  --mono:"Inter","Inter Variable",Arial,sans-serif;
  color-scheme:light;
}
.pg-myio{--pa:#8FD3CF}.pg-computer-vision{--pa:#8EA3BF}.pg-floxgen{--pa:#4A8CFF}.pg-digital-assistant{--pa:#E0E03A}
.pg-cogs{--pa:#F0A640}.pg-legacy-modernization{--pa:#A99BFF}.pg-digital-twin,.pg-readiness-check{--pa:#2FC6C0}.pg-ai-assessment{--pa:#C9D1D1}
.pg-healthcare-pharma{--pa:#3F86EE}.pg-manufacturing-energy{--pa:#6F8FC9}.pg-supply-chain-logistics{--pa:#2FC6C0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}
a{color:var(--ink)}
.wrap{max-width:1440px;padding-inline:clamp(16px,2.4vw,40px)}
.sec{padding-block:clamp(72px,9vw,140px)}
.sec + .sec{border-top:0}
.alt{background:var(--soft)}
.eyebrow{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
.eyebrow::before{content:"↳ "}
.h1{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(38px,6vw,92px);line-height:.95;letter-spacing:-.015em}
.h2{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(28px,3.6vw,54px);line-height:1;letter-spacing:-.01em}
.h3{font-family:var(--sans);font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.005em}
.lead{font-size:clamp(18px,1.7vw,24px);line-height:1.4;color:#333;max-width:52ch}
.muted{color:var(--muted)}
.tag{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--muted)}
.btn{border-radius:0;min-height:44px;padding:0 20px;font:500 13px/1 var(--sans);text-transform:uppercase;letter-spacing:.02em}
.btn-primary{background:var(--black);color:#fff;border-color:var(--black)}
.btn-primary:hover{background:#262626}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-light{background:#fff;color:#000;border-color:#fff}
.btn-light:hover{background:#e9e9e9}
.btn-outline-light{border:1px solid rgba(255,255,255,.7);color:#fff;background:transparent}
.btn-outline-light:hover{background:rgba(255,255,255,.1)}
.more,.more-link{font-family:var(--sans);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.ticks li{color:#333}
.ticks li::before{background:var(--ink);width:8px;height:1px;top:.75em}
/* header */
.top{background:#000;border-bottom:1px solid #161616;backdrop-filter:none}
.top .wrap{min-height:72px}
.logo{color:#fff;display:inline-flex;align-items:center}
.logo svg{width:85px;height:16px;display:block}
.nav{gap:26px;font-size:12.5px;text-transform:uppercase;letter-spacing:.01em}
.nav a{color:#fff}
.nav a:hover,.nav a[aria-current="page"]{color:var(--band)}
.nav .pod{color:#fff;opacity:.9;margin-left:14px}
.nav .btn-contact{background:#fff;color:#000;min-height:40px;padding:0 18px;font-size:12.5px;border-radius:0}
.nav .btn-contact:hover{background:#e9e9e9;color:#000}
.menu-btn{color:#fff;border-color:#3a3a3a!important;border-radius:0!important;font-family:var(--sans)!important;text-transform:uppercase}
.dd-menu::before{background:#0B0B0B;border:1px solid #262626;border-radius:0;box-shadow:0 18px 40px rgba(0,0,0,.4)}
.dd-menu b{color:#fff;font-size:14px;font-weight:500;text-transform:none;letter-spacing:0}
.dd-menu small{color:#8E9393;text-transform:none;letter-spacing:0}
.dd-menu a:hover b{color:var(--band)}
.dd-menu .dd-h{color:#8E9393;font-family:var(--sans);font-size:11px;letter-spacing:.04em}
@media (max-width:1200px){
  .nav{background:#000;border-bottom:1px solid #262626}
  .nav a{border-bottom-color:#1d1d1d}
  .dd-menu b{color:#BFC4C4}
  .nav .pod{margin-left:0}
}
/* hero (all pages) */
.page-hero,.hero-live{position:relative;background:#000;color:#fff;overflow:hidden;isolation:isolate}
.page-hero::before,.hero-live::before{content:"";position:absolute;inset:-20%;z-index:-1;
  background:radial-gradient(38% 55% at 18% 70%,color-mix(in srgb,var(--pa) 70%,transparent),transparent 70%),
             radial-gradient(30% 60% at 62% 10%,color-mix(in srgb,var(--pa) 45%,transparent),transparent 72%),
             radial-gradient(40% 50% at 88% 85%,color-mix(in srgb,var(--pa) 38%,transparent),transparent 70%);
  filter:blur(40px);opacity:.75}
.page-hero{padding-block:clamp(96px,11vw,170px) clamp(56px,7vw,110px)}
.page-hero .wrap{gap:26px;position:relative}
.page-hero .h1{color:#fff;max-width:none!important}
.page-hero .lead{color:#E6E6E6;max-width:58ch}
.page-hero .eyebrow{color:#fff}
.page-hero .crumbs,.page-hero .crumbs a{color:#A9AEAE}
.page-hero .crumbs a:hover{color:#fff}
.page-hero .muted{color:#BFC4C4}
.ticksq{position:absolute;inset:28px clamp(16px,2.4vw,40px);pointer-events:none}
.ticksq i{position:absolute;width:5px;height:5px;background:#fff}
.ticksq i:nth-child(1){left:0;top:0}.ticksq i:nth-child(2){right:0;top:0}.ticksq i:nth-child(3){left:0;bottom:0}.ticksq i:nth-child(4){right:0;bottom:0}
.hero-founders .founders img{box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.founders figcaption span{color:#BFC4C4}
/* cards, numbers, lists */
.card,.case-card,.plat,.ind-links a,.alt-paths a,.offer,.obst div,.group .unit,.group-top,.case-meta,.results,.stats,.award-list,.dgwrap,.shot,.demo,.live{border-radius:0}
.card{border-color:var(--line);padding:26px}
.card .more{color:var(--ink)}
.results b,.stat .num,.case-card .num,.cost-row b,.numbers b,.award-list b{font-family:var(--display);font-stretch:125%;font-weight:800;color:var(--ink)}
.results b{font-size:clamp(30px,3.2vw,44px)}
.case-card{padding:0 0 22px;border:0;background:transparent;gap:10px}
.case-card .thumb{margin:0 0 6px;width:100%;aspect-ratio:4/3}
.case-card .tag::before{content:"";display:inline-block;width:7px;height:7px;background:var(--band);margin-right:8px;vertical-align:1px}
.case-card:hover{border-color:transparent}.case-card:hover b{text-decoration:underline;text-underline-offset:3px}
.case-card .more{color:var(--ink)}
.case-card .thumb,.case-hero img{filter:none}
.case-hero img,.photo-wide img,.gallery img,.person img,.mosaic img{border-radius:0}
.faq summary::after{color:var(--ink)}
.cost-row .win{color:var(--accent)}
.pbrand{border-radius:0;color:var(--ink);border-color:var(--ink);font-family:var(--sans);font-size:11.5px;letter-spacing:.04em}
.plat .pbrand{font-size:11px}
.feature .pname,.platform-block .pname{color:var(--ink)}
.plat{border-radius:0}
.plat em{color:var(--accent)}
.plat i{color:var(--ink)}
.dg .d-acc,.dg .d-hub{fill:var(--accent)}
.cta-band{border-radius:0;background:#000;color:#fff}
.cta-band .btn{background:#fff;color:#000}
.sec.dark{--bg:#000;--surface:#0D0D0D;--ink:#FFFFFF;--muted:#A7ACAC;--line:#262626;--accent:#2FC6C0;background:#000}
.sec.dark .ticks li{color:#D8D8D8}.sec.dark .ticks li::before{background:#fff}
.sec.dark a{color:#fff}
.offer{border-color:var(--ink)}
.paths label{border-radius:0}
.field input,.field select,.field textarea{border-radius:0;border-color:#CFCFCF}
.paths label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.form-note{color:var(--ink)}
.crumbs{font-size:12px;text-transform:uppercase;letter-spacing:.02em}
/* connect band (CON- -NECT) */
.connect{background:#000;color:#fff;padding-block:clamp(72px,9vw,130px);position:relative;overflow:hidden}
.connect .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:end}
.con-mark{display:flex;flex-direction:column;font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(56px,10vw,170px);line-height:.86;color:#1F1F1F;letter-spacing:-.02em}
.con-mark span:first-child{align-self:flex-end}
.connect .h2{color:#fff;font-size:clamp(24px,2.8vw,40px)}
@media (max-width:800px){.connect .wrap{grid-template-columns:1fr}}
/* footer */
footer{border-top:0;background:#fff;color:var(--ink);padding-block:72px 0;font-size:14px}
footer .wrap{display:block}
.f-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.f-col{display:flex;flex-direction:column;gap:7px}
.f-col p{margin:0 0 10px;color:#333}
footer a{color:#333;text-decoration:none}
footer a:hover{color:#000;text-decoration:underline}
footer .fh{color:#000;font-weight:600;font-size:14px;margin-bottom:6px}
.f-member,footer .define{margin-top:22px;color:var(--muted);font-size:13px;max-width:80ch}
.f-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:26px;margin-top:22px;border-top:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:#333}
.f-mark{color:#000;padding-bottom:clamp(12px,2vw,24px)}
.f-mark svg{width:100%;height:auto;display:block}
@media (max-width:800px){.f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.f-grid{grid-template-columns:1fr}}
/* ---------- live layout blocks ---------- */
.label-row{display:flex;justify-content:space-between;gap:16px;font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:#fff}
.statement{font-size:clamp(22px,2.6vw,38px);line-height:1.25;color:#333;letter-spacing:-.01em;max-width:30ch;text-wrap:balance}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,64px)}
@media (max-width:900px){.split{grid-template-columns:1fr}}
/* home hero */
.hero-live{padding-block:clamp(110px,14vw,210px) clamp(70px,9vw,130px)}
.hero-live .wrap{display:flex;flex-direction:column;gap:34px;position:relative}
.hero-live .h1{font-size:clamp(40px,7.4vw,118px);line-height:.93}
.hero-live .h1 span{display:block}
.hero-live .h1 .r{text-align:right}.hero-live .h1 .c{padding-left:18%}
.hero-live .hero-sub{color:#E6E6E6;font-size:clamp(15px,1.3vw,18px);text-transform:uppercase;letter-spacing:.01em;max-width:52ch;line-height:1.4}
@media (max-width:700px){.hero-live .h1 .r{text-align:left}.hero-live .h1 .c{padding-left:0}}
/* numbered row list (segments) */
.rows{border-top:1px solid var(--line);margin-top:28px}
.rows a{display:grid;grid-template-columns:80px minmax(0,1.3fr) minmax(0,1fr) 40px;align-items:center;gap:16px;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.rows .n{font-size:12px;color:var(--muted)}
.rows b{font-family:var(--sans);font-weight:600;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.01em}
.rows small{font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted)}
.rows i{font-style:normal;text-align:right;font-size:20px}
.rows a:hover b{text-decoration:underline;text-underline-offset:5px}
@media (max-width:700px){.rows a{grid-template-columns:40px minmax(0,1fr) 24px}.rows small{display:none}}
/* platform rows (Solutions) */
.solutions{background:#000;color:#fff}
.solutions .h2{color:#fff}
.sol-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding-bottom:56px;border-bottom:1px solid #262626}
.sol-head .eyebrow{color:#fff}
.sol-head p{color:#D0D0D0;max-width:44ch;margin-top:14px}
.prow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);padding-block:clamp(28px,3vw,40px);border-bottom:1px solid #262626}
.prow .vis{aspect-ratio:1;max-height:520px;width:100%;object-fit:cover}
.prow .txt{display:flex;flex-direction:column;gap:16px;justify-content:center;padding-left:clamp(0px,4vw,60px)}
.prow .idx{font-size:12px;color:#8E9393}
.prow .tag{color:#D0D0D0}
.prow h3{font-family:var(--sans);font-weight:600;font-size:clamp(26px,2.6vw,38px);line-height:1.12;letter-spacing:-.015em;color:#fff}
.prow h3 em{font-style:normal;color:var(--c,#08AEB2);display:block}
.prow p{color:#C9CDCD;max-width:44ch}
.prow .proof{font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:#8E9393}
@media (max-width:800px){.sol-head,.prow{grid-template-columns:1fr}.prow .txt{padding-left:0}}
.gen{aspect-ratio:1;width:100%;max-height:520px;position:relative;overflow:hidden;background:#050505;isolation:isolate}
.gen::before{content:"";position:absolute;inset:-10%;background:radial-gradient(45% 45% at 55% 50%,color-mix(in srgb,var(--c) 85%,#fff 15%),transparent 70%),radial-gradient(60% 40% at 20% 90%,color-mix(in srgb,var(--c) 45%,transparent),transparent 70%);filter:blur(30px);opacity:.8;z-index:-1}
.gen .chip{position:absolute;right:14%;bottom:22%;background:#fff;color:#000;font-size:11px;padding:6px 8px;letter-spacing:.02em}
.gen .lbl{position:absolute;left:14%;top:16%;font-size:11px;color:#fff;letter-spacing:.02em;line-height:1.35}
.gen .lbl::before{content:"";display:inline-block;width:5px;height:5px;background:#fff;margin-right:8px;vertical-align:2px}
.gen svg{position:absolute;inset:0;width:100%;height:100%}
/* where-to-start tiles */
.start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#262626;border:1px solid #262626;margin-top:40px}
.start-grid a{background:#000;color:#fff;text-decoration:none;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:12px}
.start-grid b{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(20px,2vw,28px);line-height:1.05}
.start-grid span{color:#C9CDCD;max-width:48ch}
.start-grid i{font-style:normal;font-size:12px;text-transform:uppercase;letter-spacing:.02em;margin-top:auto}
.start-grid a:hover{background:#0D0D0D}
@media (max-width:700px){.start-grid{grid-template-columns:1fr}}
/* case strip */
.cases3{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(16px,2vw,28px);margin-top:48px;align-items:start}
.cases3 .case-card:first-child .thumb{aspect-ratio:1}
@media (max-width:800px){.cases3{grid-template-columns:1fr}}
/* industry band (segment) */
.seg{background:var(--segbg,#15366E);color:#fff;padding-block:clamp(72px,8vw,120px)}
.seg .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px)}
.seg .big{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(80px,12vw,190px);line-height:.8;color:var(--pa)}
.seg h2{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(32px,4.6vw,68px);line-height:.95;letter-spacing:-.01em}
.seg h2 span{display:block;color:var(--pa)}
.seg p{color:#E4E9F2;max-width:52ch}
.seg .plats{display:flex;flex-wrap:wrap;gap:10px}
.seg .plats a{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#000;text-decoration:none;padding:9px 14px;font-size:13px;font-weight:600}
.seg .vis{width:100%;aspect-ratio:1;object-fit:cover;max-height:560px}
.caps{border-top:1px solid rgba(255,255,255,.18)}
.caps div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 20px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.caps div::before{content:"↳";grid-row:span 2}
.caps b{font-size:17px}
.caps span{color:#D6DCE6;font-size:15px}
@media (max-width:800px){.seg .wrap{grid-template-columns:1fr}}
.seg.light{--segbg:#F2F2F2;color:var(--ink)}
/* platform hero image */
.phero-img{margin-top:8px}
.phero-img img{width:100%;max-height:560px;object-fit:cover}
/* KPI band like live MyIO */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin-top:40px}
.kpis div{padding:26px 20px 26px 0;border-right:1px solid var(--line)}
.kpis div:last-child{border-right:0}
.kpis b{display:block;font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(34px,4vw,60px);line-height:1}
.kpis span{display:block;margin-top:10px;font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);max-width:22ch}
@media (max-width:800px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis div:nth-child(2){border-right:0}}
.podcast{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.podcast img{width:100%;aspect-ratio:1;object-fit:cover;max-height:520px}
@media (max-width:800px){.podcast{grid-template-columns:1fr}}
.logos-strip{display:flex;flex-wrap:wrap;gap:12px 36px;align-items:center;margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.logos-strip span{font-family:var(--display);font-stretch:112%;font-weight:700;font-size:15px;letter-spacing:.02em;color:#6b6f70;text-transform:uppercase}
.hero-img{background:linear-gradient(#000 0 45%,var(--bg) 45%)}
.hero-img img{width:100%;max-height:640px;object-fit:cover}
.sec.dark .btn-light,.seg .btn-light,.solutions .btn-light{color:#000}
.statement{font-size:clamp(20px,2.2vw,32px)}
.seg h1.segh{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(32px,4.6vw,68px);line-height:.95;letter-spacing:-.01em}
.seg h1.segh span{display:block;color:var(--pa)}
.seg-top{padding-top:clamp(40px,5vw,72px)}
.seg-crumbs{margin-bottom:clamp(32px,4vw,56px);display:block!important}
.seg-crumbs .crumbs,.seg-crumbs .crumbs a{color:#B9C3D3}
.page-hero .byline{color:#BFC4C4}.page-hero .byline a,.page-hero .byline b{color:#fff}
.page-hero .darkmedia{border-color:#262626}
.hero-live .h1{font-size:clamp(36px,6.1vw,100px)}
/* v4.1 */
.top .wrap{justify-content:flex-start;gap:clamp(24px,3vw,48px)}
.nav{flex:1}
.nav .pod{margin-left:auto}
@media (max-width:1200px){.top .wrap{justify-content:space-between}.nav{flex:none}.nav .pod{margin-left:0}}
.dd-menu .dd-h.ws{color:var(--band)}
.connect{background:#08494A}
.con-mark{color:#83BDB8}
.connect .btn-light{color:#000}
.dg text{font-family:var(--sans)}
.dg .d-h{font-family:var(--sans);font-weight:600;font-size:19px}
/* twin hero */
.twin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);align-items:center}
.twin-h1{font-size:clamp(44px,6.4vw,104px)!important}
.twin-def{font-size:clamp(22px,2.3vw,34px);line-height:1.2;font-weight:500;letter-spacing:-.015em;color:#fff;max-width:22ch;text-wrap:balance}
.twin-grid .darkmedia{margin:0;border:0;background:transparent}
.twin-grid .darkmedia figcaption{background:transparent;border-top:1px solid #262626;color:#A9AEAE}
.twin-grid .byline b{color:#fff}
@media (max-width:900px){.twin-grid{grid-template-columns:1fr}}
/* logo marquee */
.marquee{overflow:hidden;border-bottom:1px solid var(--line);padding-block:34px;background:#fff}
.mq-track{display:flex;width:max-content;animation:mq 60s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-set{display:flex;align-items:center;gap:clamp(40px,5vw,80px);padding-right:clamp(40px,5vw,80px)}
.mq-set img{height:34px;width:auto;max-width:none;opacity:.55;filter:grayscale(1)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none;flex-wrap:wrap}.mq-set[aria-hidden]{display:none}}
.pg-index .hero-live .h1{font-size:clamp(34px,5.4vw,90px)}
.pg-index .hero-live .h1 .c{padding-left:10%}
.nav .pod{display:inline-flex;align-items:center;gap:10px;opacity:1}
.pod-play{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #fff;border-radius:50%;font-size:8px;padding-left:2px}
.pod-win{display:inline-block;width:170px;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.pod-run{display:inline-block;animation:podrun 9s linear infinite}
@keyframes podrun{to{transform:translateX(-50%)}}
.soc{display:inline-flex;align-items:center;gap:16px;color:#fff}
.soc a{display:inline-flex;color:#fff}
.soc a:hover{color:var(--band)}
@media (prefers-reduced-motion:reduce){.pod-run{animation:none}}
@media (max-width:1200px){.pod-win{width:auto}.pod-run{animation:none}.soc{padding:14px 0}}
.hero-live{padding-block:clamp(44px,5vw,80px) clamp(48px,5vw,80px)}
.hero-live .wrap{gap:24px}
.pg-index .hero-live .h1{font-size:clamp(32px,4.6vw,76px)}
.hero-live .btn{white-space:nowrap}
/* industry band v2 */
.seg .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,72px);align-items:start}
.seg-l{display:flex;flex-direction:column;gap:clamp(28px,3vw,48px);position:sticky;top:96px}
.seg-r{display:flex;flex-direction:column;gap:clamp(32px,3vw,48px)}
.seg .vis{max-height:none}
.seg .plats a{font-size:12.5px}
@media (max-width:800px){.seg .wrap{grid-template-columns:1fr}.seg-l{position:static}.seg .big{font-size:72px}}
.cases3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.cases3 .case-card:first-child .thumb{aspect-ratio:4/3}
.cases3 .case-card .num{font-size:clamp(28px,2.6vw,40px)}
/* v4.2 */
.hero-live .h1 span,.hero-live .h1 .r,.hero-live .h1 .c{text-align:left!important;padding-left:0!important}
.marquee{padding-block:26px}
.mq-set{gap:clamp(36px,4vw,64px);padding-right:clamp(36px,4vw,64px)}
.mq-set img{height:22px;opacity:1;filter:none}
.sol-head{grid-template-columns:1fr;gap:18px}
.sol-head p{max-width:52ch}
.con-mark span:first-child{align-self:flex-start}
.con-mark span:last-child{align-self:flex-end}
.mq-set img{height:auto;max-height:30px;max-width:104px;width:auto}
.seg h2,.seg h1.segh{font-size:clamp(26px,3.3vw,52px);overflow-wrap:break-word;hyphens:manual}
.seg-r{min-width:0}
.lightfig{margin:0 auto;max-width:880px}
.lightfig img{width:100%;height:auto;background:#fff}
.lightfig figcaption{margin-top:10px;font-size:13px;color:var(--muted)}
.cases3 .case-card .tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cases3 .case-card .num+.unit{min-height:2.7em;margin-top:0}
.cases3 .case-card .h3{min-height:2.6em}
.seg-top{padding-top:clamp(20px,2.4vw,32px)}
.seg-crumbs{margin-bottom:clamp(20px,2.4vw,32px)}
.seg .big{font-size:clamp(56px,7vw,112px)}
.seg-l{gap:clamp(18px,2vw,28px)}
.seg-r{gap:clamp(24px,2.4vw,36px)}
.seg .wrap{row-gap:24px}
/* compact page heroes */
.page-hero{padding-block:clamp(48px,5vw,80px) clamp(40px,4vw,64px)}
.page-hero .wrap{gap:18px}
.page-hero .h1{font-size:clamp(30px,4vw,64px);line-height:1;max-width:22ch!important;text-wrap:balance}
.page-hero .lead{font-size:clamp(17px,1.4vw,20px)}
.page-hero .twin-h1{font-size:clamp(40px,5.4vw,88px)!important;max-width:none!important}
.page-hero{padding-block:clamp(36px,3.6vw,56px) clamp(32px,3vw,48px)}
.page-hero .h1{font-size:clamp(28px,3.3vw,54px);max-width:28ch!important}
.page-hero .ticksq{inset:14px clamp(16px,2.4vw,40px)}
/* full-screen heroes: white content starts at the bottom edge */
.hero-live{min-height:calc(100svh - 72px - 86px);display:flex;flex-direction:column;justify-content:center}
.hero-live .wrap{width:100%}
.page-hero{min-height:calc(100svh - 72px - 110px);display:flex;flex-direction:column;justify-content:center}
.page-hero>.wrap{width:100%}
/* bigger, transparent motor */
.twin-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr)}
.twin-grid .darkmedia{background:transparent!important;border:0!important;overflow:visible}
.twin-grid .darkmedia video{mix-blend-mode:screen;transform:scale(1.18);transform-origin:center}
.twin-grid .darkmedia figcaption{border-top:0;text-align:right;padding-top:6px}
.twin-grid .darkmedia video{filter:contrast(1.45) brightness(.95);-webkit-mask-image:radial-gradient(ellipse 60% 62% at 58% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 60% 62% at 58% 50%,#000 55%,transparent 100%)}
.twin-grid .darkmedia video{transform:scale(1.35)}
/* full-width grid like live dnai.ai */
.wrap{max-width:none;padding-inline:clamp(16px,1.7vw,34px)}
.ticksq{inset:28px clamp(16px,1.7vw,34px)}
.page-hero .ticksq{inset:18px clamp(16px,1.7vw,34px)}
/* platform rows: image as tall as the text block */
.prow{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch}
.prow .vis,.prow .gen{aspect-ratio:auto;width:100%;height:100%;min-height:340px;max-height:460px;object-fit:cover}
.prow .txt{padding-block:8px;padding-left:clamp(0px,3vw,48px)}
@media (max-width:800px){.prow .vis,.prow .gen{height:auto;aspect-ratio:1;min-height:0}}
.pg-digital-twin .dgwrap{max-width:1080px;margin-inline:auto}
.pg-digital-twin .dg{min-width:760px}
.wrap{padding-inline:clamp(20px,4.5vw,88px)}
.ticksq{inset:28px clamp(20px,4.5vw,88px)}
.page-hero .ticksq{inset:18px clamp(20px,4.5vw,88px)}
.byline{display:flex;align-items:center;gap:14px}
.by-ph{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.seg .tvid{mix-blend-mode:screen;object-fit:cover;background:transparent;filter:contrast(1.25);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 60%,transparent 100%)}
.energy-vid{background:#000;overflow:hidden}
.energy-vid video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
@media (prefers-reduced-motion:reduce){.seg .tvid,.energy-vid video{animation:none}}
.seg-l{position:static}
/* platform heroes: match live MyIO H1 (4.5vw, 700, lh .9, -0.8px) */
.pg-cogs .page-hero h1.h1,.pg-legacy-modernization .page-hero h1.h1,.pg-ai-assessment .page-hero h1.h1,.pg-readiness-check .page-hero h1.h1{font-size:clamp(40px,4.5vw,96px);font-weight:700;line-height:.9;letter-spacing:-.8px;text-transform:uppercase;max-width:none}
.seg .vis2{margin:0;position:relative}
.seg .vis2 video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 75% 75% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 75% 75% at 50% 50%,#000 60%,transparent 100%)}
.seg .vis2 figcaption{position:absolute;left:0;top:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
/* platform heroes: product UI on the right */
.page-hero.has-vis .wrap{position:relative}
.page-hero.has-vis .wrap>*:not(.ph-vis){max-width:44%}
.page-hero.has-vis h1.h1{font-size:clamp(32px,3.2vw,68px)!important}
.page-hero .ph-vis{position:absolute;right:clamp(20px,4.5vw,88px);top:50%;transform:translateY(-50%);width:44%;height:auto;max-height:78vh;object-fit:contain;object-position:right center;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}
@media (max-width:900px){.page-hero.has-vis .wrap>*:not(.ph-vis){max-width:none}.page-hero .ph-vis{position:static;transform:none;width:100%;max-height:none;margin-top:32px}}
.prow img.vis[src*="img/ui-"]{object-fit:contain;background:transparent;aspect-ratio:auto;height:auto}
/* hero product UI as background layer behind larger text */
.page-hero.has-vis .wrap>*:not(.ph-vis){max-width:68%;position:relative;z-index:2}
.page-hero.has-vis h1.h1{font-size:clamp(40px,4.5vw,96px)!important}
.page-hero.has-vis .lead{font-size:clamp(18px,1.45vw,26px);max-width:40ch}
.page-hero .ph-vis{z-index:1;width:56%;right:0;opacity:.55;filter:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%)}
@media (max-width:900px){.page-hero.has-vis .wrap>*:not(.ph-vis){max-width:none}.page-hero .ph-vis{position:absolute;top:auto;bottom:0;transform:none;width:100%;opacity:.25;margin:0}}
.page-hero .ph-vis{opacity:.32}
.page-hero.has-vis .wrap>p.lead{max-width:42ch}
.page-hero.has-vis h1.h1,.page-hero.has-vis .lead{text-shadow:0 2px 24px rgba(0,0,0,.6)}
/* healthcare heart: nudge left/up, navy stage with soft glow */
#healthcare-pharma{background:radial-gradient(ellipse 45% 55% at 22% 45%,#16305F 0%,rgba(10,26,58,0) 70%),#0A1A3A}
#healthcare-pharma .seg-l .tvid{transform:translate(-12%,-9%)}
/* industries: text column aligned with "Career" in the menu (--cx set by site.js), fallback half */
@media (min-width:901px){.seg > .wrap{--g:clamp(32px,4vw,72px);column-gap:var(--g);grid-template-columns:calc(var(--cx,50%) - var(--g)) minmax(0,1fr)}}
/* twin page: second (360°) schema larger */
.pg-digital-twin .dgwrap.dg-big{max-width:none}
.pg-digital-twin .dg-big .d-tiny{font-size:13px}
/* twin CTA band in DNAi teal instead of black */
.pg-digital-twin .cta-band{background:#08494A;color:#fff}
/* readiness facts: plain on white, no half frames */
.kpis.kpis-plain{border:0!important;gap:clamp(24px,3vw,48px)}
.kpis.kpis-plain>div{border:0!important;padding:0!important}
.kpis.kpis-plain b{display:block}
.kpis.kpis-plain span{display:block;margin-top:8px}
.pg-readiness-check .btn-primary{background:#08494A;border-color:#08494A;color:#fff}.pg-readiness-check .btn-primary:hover{background:#0B5E60;border-color:#0B5E60}
.cta-band{background:#08494A!important;color:#fff}
/* twin examples */
.tx-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:0}
.tx-tabs button{font:600 15px var(--sans);color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;padding:12px 18px;margin-bottom:-1px;cursor:pointer}
.tx-tabs button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent)}
.tx-tabs button:hover{color:var(--ink)}
.tx-panel{display:flex;flex-direction:column;gap:28px}
.tx-panel[hidden]{display:none}
.tx-head{max-width:70ch;display:flex;flex-direction:column;gap:10px}
.dg .d-hubv{font:600 13px var(--mono);letter-spacing:.14em;fill:var(--accent-ink);opacity:.9}
.dg .d-chip-o{stroke:var(--accent);stroke-opacity:.55}
.tx-sc{display:flex;flex-direction:column;gap:14px}
.tx-steps{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.tx-steps li{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px;position:relative}
.tx-steps li:not(:last-child)::after{content:"";position:absolute;right:-13px;top:30px;width:10px;height:2px;background:var(--accent)}
.tx-steps li:nth-child(2),.tx-steps li:nth-child(3){border-color:var(--accent)}
.tx-steps .n{font:500 12.5px var(--mono);letter-spacing:.14em;color:var(--accent)}
.tx-steps b{font-size:17px}
.tx-steps p{margin:0;font-size:15px;color:var(--muted);line-height:1.5}
@media (max-width:900px){.tx-steps{grid-template-columns:1fr 1fr}.tx-steps li::after{display:none}}
@media (max-width:560px){.tx-steps{grid-template-columns:1fr}.tx-fig{overflow-x:auto}.tx-fig .dgx{min-width:760px}}
.dg path.d-spoke{fill:none}
.tx-fig{margin-top:0;width:100%}
.tx-fig .dgx{width:100%;height:auto;display:block;max-width:none}
.dg .d-hubv{font-size:14px}
.tx-sc{gap:8px}.tx-sc .tx-steps{margin-top:14px}
/* twin schema v2 */
.dg.sx{min-width:0;padding:0}
.sx .sx-card{fill:var(--surface);stroke:var(--line);stroke-width:1.2}
.sx .sx-bd{fill:var(--accent);fill-opacity:.1}
.sx .sx-bi{color:var(--accent)}
.sx .sx-cl{font:500 15px var(--sans);fill:var(--ink)}
.sx .sx-cl-h{font-weight:600;fill:var(--accent)}
.sx .sx-a{stroke:var(--ink);stroke-opacity:.55;stroke-width:1.5;fill:none}
.sx .sx-hd{fill:var(--ink);fill-opacity:.6}
.sx .sx-hd-a{fill:var(--accent)}
.sx .sx-in{stroke:var(--accent);stroke-width:2;fill:none;stroke-opacity:.35}
.sx .sx-flow{stroke:var(--accent);stroke-width:2.4;fill:none;stroke-dasharray:3 14;stroke-linecap:round;animation:sxflow 1.6s linear infinite}
@keyframes sxflow{to{stroke-dashoffset:-34}}
.sx .sx-dot{stroke:var(--ink);stroke-opacity:.45;stroke-width:1.4;stroke-dasharray:1 5;stroke-linecap:round;fill:none}
.sx .sx-vline{stroke:var(--accent);stroke-opacity:.4;stroke-width:1.5}
.sx .sx-pl{fill:var(--surface);stroke:var(--line)}
.sx .sx-pl-t{font:13px var(--sans);fill:var(--muted)}
.sx .sx-nm{font:600 19px var(--sans);fill:#fff}
.sx .sx-360{font:500 15px var(--mono);fill:#9EF0E4}
.sx .sx-main{color:#9EF0E4}
.sx .sx-gi{color:#fff;opacity:.72}
.sx .sx-tm{font:13px var(--sans);fill:#CFEFEA}
.sx .sx-tm-now{font-weight:600;fill:#fff}
.sx .sx-orbit{animation:sxspin 40s linear infinite}
@keyframes sxspin{to{transform:rotate(360deg)}}
.sx .sx-vb{fill:var(--surface);stroke:var(--accent);stroke-width:1.5}
.sx .sx-vb-t{font:600 14px var(--sans);fill:var(--accent);letter-spacing:.02em}
.sx .sx-eco{fill:#08494A}
.sx .sx-ecot{font:600 17px var(--sans);fill:#fff}
.sx .sx-tile{fill:#fff;fill-opacity:.09;stroke:#fff;stroke-opacity:.14}
.sx .sx-ti{color:#9EF0E4}
.sx .sx-tt{font:14px var(--sans);fill:#fff}
.sx .sx-conc{fill:#F2B45A}
.sx .sx-conc-t{font:600 14.5px var(--sans);fill:#3A2405}
.sx .sx-bdg{fill:var(--accent);stroke:var(--surface);stroke-width:3}
.sx .sx-bdg-i{color:#fff}
.tx-fig .dgx.sx{max-width:1120px;margin:0 auto;padding:28px 12px}
@media (max-width:560px){.tx-fig .dgx.sx{min-width:760px}}
@media (prefers-reduced-motion:reduce){.sx .sx-flow,.sx .sx-orbit{animation:none}}
/* twin examples v2: tabs + scenario timeline */
.tx-tabs{display:inline-flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--surface);align-self:flex-start;flex-wrap:wrap}
.tx-tabs button{display:inline-flex;align-items:center;gap:8px;font:500 15px var(--sans);color:var(--muted);background:none;border:0;border-radius:999px;padding:10px 18px;margin:0;cursor:pointer;transition:background .2s,color .2s}
.tx-tabs button .tx-ic{width:20px;height:20px;color:currentColor}
.tx-tabs button:hover{color:var(--ink);background:var(--soft)}
.tx-tabs button[aria-selected="true"]{background:var(--accent);color:#fff;border-bottom-color:transparent}
.tx-head{max-width:68ch}
.tx-head .h3{font-size:clamp(24px,2.4vw,30px);line-height:1.2}
.tx-fig{border-radius:20px}
.tx-kicker{margin:0;font-size:15px;color:var(--accent);font-weight:500}
.tx-sc .h3{margin:0 0 6px}
.tx-steps{position:relative;gap:0;margin-top:22px;grid-template-columns:repeat(4,1fr)}
.tx-steps::before{content:"";position:absolute;left:18px;right:18px;top:17px;height:2px;background:linear-gradient(90deg,var(--line),var(--accent) 35%,var(--accent) 65%,var(--line))}
.tx-steps li{background:none;border:0;border-radius:0;padding:0 22px 0 0;gap:6px}
.tx-steps li::after{display:none}
.tx-steps li:nth-child(2),.tx-steps li:nth-child(3){border:0}
.tx-steps .n{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface);border:2px solid var(--line);font:600 14px var(--sans);letter-spacing:0;color:var(--muted);margin-bottom:12px}
.tx-steps li:nth-child(2) .n,.tx-steps li:nth-child(3) .n{border-color:var(--accent);color:var(--accent)}
.tx-steps li:nth-child(4) .n{background:var(--accent);border-color:var(--accent);color:#fff}
.tx-steps b{font-size:18px}
@media (max-width:900px){.tx-steps{grid-template-columns:1fr 1fr;row-gap:28px}.tx-steps::before{display:none}}
@media (max-width:560px){.tx-steps{grid-template-columns:1fr}.tx-tabs{border-radius:16px}}
/* hologram subjects */
.hl .hl-fill{fill:#9EF0E4;fill-opacity:.1}
.hl .hl-line{fill:none;stroke:#9EF0E4;stroke-width:1.5;stroke-linejoin:round}
.hl .hl-mesh path,.hl .hl-mesh1{fill:none;stroke:#9EF0E4;stroke-opacity:.28;stroke-width:.8}
.hl .hl-skel{fill:none;stroke:#fff;stroke-opacity:.55;stroke-width:1;stroke-linecap:round}
.hl .hl-node{fill:#fff}
.hl .hl-win{fill:#9EF0E4;fill-opacity:.55}
.hl .hl-card{fill:#0B7A6C;stroke:#fff;stroke-width:1.4}
.hl .hl-arm{fill:none;stroke:#9EF0E4;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.9}
.hl .hl-sig{fill:none;stroke:#fff;stroke-opacity:.7;stroke-width:1.4;stroke-linecap:round}
.hl .hl-heart{fill:#F2B45A}
.hl .hl-heart-r{fill:none;stroke:#F2B45A;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:hlping 2.4s ease-out infinite}
@keyframes hlping{from{transform:scale(1);opacity:.9}to{transform:scale(4);opacity:0}}
.hl .hl-scan{fill:url(#none);fill:#fff;fill-opacity:.0;animation:hlscan 4.5s ease-in-out infinite}
.hl .hl-scan{fill:#9EF0E4;fill-opacity:.22}
@keyframes hlscan{0%{transform:translateY(0)}50%{transform:translateY(var(--h))}100%{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.hl .hl-heart-r,.hl .hl-scan{animation:none}.hl .hl-scan{display:none}}
/* hologram video */
.tx-fig .dgx.sx{padding:0;max-width:none;margin:0}
.tx-stage{position:relative;max-width:1100px;margin:0 auto;padding:0}
.tx-fig{padding:28px 14px}
.tx-holo{position:absolute;aspect-ratio:1;height:auto;mix-blend-mode:screen;pointer-events:none;opacity:0;transition:opacity .4s;
 -webkit-mask-image:radial-gradient(circle,#000 58%,transparent 71%);mask-image:radial-gradient(circle,#000 58%,transparent 71%)}
.tx-stage.vid-on .tx-holo{opacity:1}
.tx-stage.vid-on .sx-poster{opacity:0;transition:opacity .4s}
@media (max-width:560px){.tx-fig .dgx.sx{min-width:0}.tx-stage{min-width:760px}}
@media (prefers-reduced-motion:reduce){.tx-holo{display:none}}
/* simplification pass */
.ptiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.ptile{position:relative;display:flex;flex-direction:column;gap:8px;padding:26px 26px 24px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;transition:border-color .2s,background .2s}
.ptile::before{content:"";position:absolute;left:26px;top:0;width:44px;height:3px;background:var(--c)}
.ptile .tag{font-size:13px;color:rgba(255,255,255,.55)}
.ptile b{font-size:clamp(22px,2vw,28px);font-weight:700;line-height:1.1}
.ptile span:not(.tag){color:rgba(255,255,255,.75);font-size:15.5px}
.ptile i{font-style:normal;margin-top:auto;padding-top:10px;color:var(--c)}
.ptile:hover{border-color:var(--c);background:rgba(255,255,255,.07)}
@media (max-width:900px){.ptiles{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ptiles{grid-template-columns:1fr}}
.ready{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.ready-lists{display:grid;gap:18px}
.ready-lists>div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px 26px}
.ready-lists .h3{margin:0 0 10px;font-size:19px}
@media (max-width:900px){.ready{grid-template-columns:1fr}}
.seg-extra{padding-top:clamp(32px,4vw,56px);padding-bottom:0}
.seg-obst{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:start}
.seg-obst .h3{margin:0}
@media (max-width:900px){.seg-obst{grid-template-columns:1fr}}
.seg-proof{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px)}
.seg-proof .cases3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
/* platform tiles: icons instead of colour bars */
.ptile::before{display:none}
.ptile .pt-ic{width:34px;height:34px;color:#7FE3D6;margin-bottom:10px}
.ptile i{color:#7FE3D6}
.ptile:hover{border-color:rgba(127,227,214,.6)}
/* readiness: aligned layout */
.ready{grid-template-columns:1fr 1fr;align-items:start}
.ready .h2{font-size:clamp(40px,4.6vw,72px)}
.ready-lists{margin-top:40px}
.ready .kpis.kpis-plain{grid-template-columns:repeat(4,auto);justify-content:start;gap:clamp(20px,3vw,44px);margin-top:18px}
.ready .kpis b{font-size:clamp(30px,3vw,44px)}
.ready .kpis span{max-width:14ch}
@media (max-width:900px){.ready-lists{margin-top:0}.ready .kpis.kpis-plain{grid-template-columns:repeat(2,auto)}}
.ready-head{max-width:72ch}
.ready-head .h2{font-size:clamp(40px,4.6vw,72px)}
.ready-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;margin-top:40px;align-items:stretch}
.ready-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px 28px 30px;display:flex;flex-direction:column;gap:14px}
.ready-card .h3{margin:0;font-size:20px}
.ready-kpi .kpis.kpis-plain{grid-template-columns:1fr 1fr;gap:22px 28px;margin:0}
.ready-kpi .kpis b{font-size:clamp(30px,2.8vw,42px)}
.ready-kpi .btn{margin-top:auto;align-self:flex-start}
@media (max-width:1000px){.ready-grid{grid-template-columns:1fr}}
.ready-head{max-width:none}.ready-head .h2{max-width:none}.ready-head .lead{max-width:60ch}
/* home: twin principle diagram (dark, twin-schema style) */
.tp-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.tp-wrap>.stack{max-width:62ch}
.tp-fig{background:#070B0B;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:clamp(16px,3vw,40px);overflow-x:auto}
.tp{display:block;width:100%;height:auto;min-width:760px;font-family:var(--sans)}
.tp .tp-card{fill:#0E1617;stroke:rgba(255,255,255,.14);stroke-width:1.2}
.tp .tp-pill{fill:#fff}
.tp .tp-pill-t{font:600 16px var(--sans);fill:#0B1414}
.tp .tp-h{font:600 16px var(--sans);fill:#E8F2F0}
.tp .tp-w{fill:#fff}
.tp .tp-st{font:500 17px var(--mono);fill:#CFE9E5}
.tp .tp-mint{fill:#9EF0E4}
.tp .tp-bd{fill:#7FE3D6;fill-opacity:.1}
.tp .tp-i{color:#7FE3D6}
.tp .tp-big{color:#CFE9E5}
.tp .tp-cube{color:#9EF0E4}
.tp .tp-line{stroke:rgba(255,255,255,.4);stroke-width:1.5;fill:none}
.tp .tp-a{stroke:#CFE9E5;stroke-width:2;fill:none}
.tp .tp-hid{stroke-dasharray:3 6;opacity:.55}
.tp .tp-l{font:14.5px var(--sans);fill:#CFE9E5}
.tp .tp-c{font-family:var(--mono)}
.tp .tp-tag{font:600 16px var(--mono);fill:#F2B45A}
.tp .tp-s{font:13.5px var(--sans);fill:#8FA5A2}
.tp .tp-up{stroke:#7FE3D6;stroke-width:1.6;stroke-dasharray:4 6;fill:none}
.tp .tp-noise{stroke:#F2B45A;stroke-width:2;fill:none;stroke-linejoin:round}
.tp .tp-dash{stroke:#7FE3D6;stroke-opacity:.45;stroke-dasharray:4 6;fill:none}
.tp .tp-dash2{stroke:rgba(255,255,255,.35);stroke-dasharray:2 4}
.tp .tp-ax{stroke:#7FE3D6;stroke-width:1.6;fill:none}
.tp .tp-cb{fill:#7FE3D6;fill-opacity:.12;stroke:#9EF0E4;stroke-width:1.6;stroke-linejoin:round}
.tp .tp-api{fill:#0E1617;stroke:#7FE3D6;stroke-width:2}
.tp .tp-api-t{font:700 17px var(--sans);fill:#fff}
.tp .tp-dist{stroke:#9EF0E4;stroke-width:2.4;fill:none}
.tp .tp-o{font:13.5px var(--sans);fill:#E8F2F0}
.tp .tp-chip{fill:none;stroke:rgba(255,255,255,.22)}
.tp .tp-chip-a{stroke:rgba(127,227,214,.45)}
.tp .tp-chip-t{font:13.5px var(--sans);fill:#CFE9E5}
/* tp v2 */
.tp{min-width:900px}
.tp .tp-n{font:500 13px var(--mono);fill:#7FE3D6;letter-spacing:.06em}
.tp .tp-st2{font:600 15px var(--sans);fill:#E8F2F0}
.tp .tp-cn{stroke:#7FE3D6;stroke-width:2;fill:none}
.tp .tp-cap{font:13px var(--sans);fill:#B9CCC9}
.tp .tp-cap2{font:12.5px var(--sans);fill:#7F9693}
.tp .tp-cap3{font:12px var(--sans);fill:#CFEFEA;opacity:.8}
.tp .tp-div{stroke:rgba(255,255,255,.1)}
.tp .tp-k{font:600 16px var(--sans);fill:#E8F2F0}
.tp .tp-k2{font:500 14.5px var(--sans);fill:#E8F2F0}
.tp .tp-mono{font:500 16px var(--mono);fill:#CFE9E5}
.tp .tp-mono2{font:13px var(--mono);fill:#8FA5A2}
.tp .tp-wv{stroke:#7FE3D6;stroke-width:2;fill:none;stroke-linecap:round}
.tp .tp-wv2{stroke-dasharray:5 4}
.tp .tp-hidl{stroke:#7FE3D6;stroke-width:2;stroke-dasharray:1 7;stroke-linecap:round;opacity:.6}
.tp .tp-bd-w{fill:#F2B45A;fill-opacity:.12}
.tp .tp-tw{font:600 19px var(--sans);fill:#fff}
.tp .tp-o{font:14.5px var(--sans);fill:#E8F2F0}
.tp .tp-o2{font:13px var(--sans);fill:#B9CCC9}
/* tp v3 */
.tp{min-width:920px}
.tp .tp-card{fill:#0D1516;stroke:rgba(255,255,255,.12);stroke-width:1}
.tp .tp-num{fill:none;stroke:#7FE3D6;stroke-opacity:.6;stroke-width:1.2}
.tp .tp-num-w{stroke:#fff;stroke-opacity:.7}
.tp .tp-numt{font:600 12px var(--mono);fill:#CFF5EF}
.tp .tp-t{font:600 17px var(--sans);fill:#F2F7F6}
.tp .tp-c{font:13px var(--sans);fill:#7F9693}
.tp .tp-cw{fill:#BFE9E2}
.tp .tp-w{fill:#fff}
.tp .tp-div{stroke:rgba(255,255,255,.09)}
.tp .tp-div-w{stroke:rgba(255,255,255,.16)}
.tp .tp-cn{stroke:#7FE3D6;stroke-opacity:.5;stroke-width:1.5;fill:none}
.tp .tp-pk{fill:#9EF0E4}
.tp .tp-amb{fill:#F2B45A}
.tp .tp-live{fill:#9EF0E4;animation:tplive 1.6s ease-in-out infinite}
@keyframes tplive{50%{opacity:.25}}
.tp .tp-hidl{stroke-dasharray:1 7}

/* 360 data cube */
.tp .tp-edge{stroke:#9EF0E4;stroke-opacity:.28;stroke-width:1}
.tp .tp-axis{stroke:#fff;stroke-opacity:.75;stroke-width:1.4}
.tp .tp-axl{font:600 11.5px var(--sans);fill:#fff;letter-spacing:.01em}
.tp .tp-pt{fill:#9EF0E4}
.tp .tp-pt-a{fill:#F2B45A}
.tp .tp-pt-c{fill:#fff}
.tp .tp-axl{paint-order:stroke;stroke:#05302F;stroke-width:3.5px;stroke-linejoin:round}
/* data cube v2: time series per interacting system */
.tp .tq-g{stroke:#9EF0E4;stroke-opacity:.14;stroke-width:1;fill:none}
.tp .tq-f{stroke:#9EF0E4;stroke-opacity:.22;stroke-width:1;fill:none}
.tp .tq-now{fill:#fff;fill-opacity:.06;stroke:#fff;stroke-opacity:.45;stroke-dasharray:3 4;stroke-width:1}
.tp .tq-s{stroke:#9EF0E4;stroke-width:2;fill:none;stroke-linejoin:round}
.tp .tq-fc{stroke:#9EF0E4;stroke-width:1.6;fill:none;stroke-dasharray:3 3}
.tp .tq-b{fill:#9EF0E4;fill-opacity:.12}
.tp .tq-d{fill:#CFF7F0}
.tp .tq-a{fill:#F2B45A}
.tp .tq-c{fill:#fff;stroke:#0A5E58;stroke-width:1.2}
.tp .tq-nl{font:600 10.5px var(--sans);fill:#fff;opacity:.8}
.tp .tq-s{stroke-width:2.4}
.tp .tp-axl{font-size:11px}
.tp .tq-in{fill:#fff}
.tp-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,64px);align-items:center}
.tp-hero{margin:0}
.tp-hero img{display:block;width:100%;height:auto;mix-blend-mode:screen}
@media (max-width:900px){.tp-head{grid-template-columns:1fr}}
/* align hero image with heading */
.tp-head{align-items:end}
.tp-hero{align-self:center}
/* platforms bento */
.pbento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:12px}
.pb{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px 26px 26px;border-radius:18px;text-decoration:none;color:#fff;
 background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:border-color .25s,transform .25s,background .25s}
.pb-2{grid-column:span 2}
.pb::after{content:"";position:absolute;inset:auto -20% -60% auto;width:70%;height:90%;background:radial-gradient(closest-side,rgba(127,227,214,.16),transparent);opacity:0;transition:opacity .3s;pointer-events:none}
.pb:hover{border-color:rgba(127,227,214,.55);transform:translateY(-3px)}
.pb:hover::after{opacity:1}
.pb-top{display:flex;align-items:center;justify-content:space-between}
.pb .pt-ic{width:28px;height:28px;color:#7FE3D6;margin:0}
.pb .tag{font-size:12.5px;color:rgba(255,255,255,.5)}
.pb-vis{height:120px;margin:4px -6px 6px;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center}
.pb-vis svg{height:100%;width:auto;max-width:100%;font-family:var(--sans)}
.pb-2 .pb-vis{height:150px}
.pb b{font-size:clamp(21px,1.8vw,26px);font-weight:700;line-height:1.1}
.pb p{margin:0;color:rgba(255,255,255,.7);font-size:15px;line-height:1.5;max-width:46ch}
.pb-proof{margin-top:auto;padding-top:12px;font:500 13px var(--mono);color:#7FE3D6;letter-spacing:.01em}
.pb i{position:absolute;right:24px;bottom:22px;font-style:normal;color:#7FE3D6;transition:transform .25s}
.pb:hover i{transform:translateX(4px)}
.pb-start{background:linear-gradient(135deg,#0E8C7C,#07393A);border-color:rgba(158,240,228,.35);justify-content:center}
.pb-start .tag{color:rgba(255,255,255,.7)}
.pb-start p{color:rgba(255,255,255,.85)}
.pb-start .pb-proof{color:#fff}
@media (max-width:1000px){.pbento{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-2{grid-column:span 2}}
@media (max-width:620px){.pbento{grid-template-columns:1fr}.pb-2,.pb-1{grid-column:auto}}
/* tighter gap twin -> platforms */
section[aria-labelledby="twin-teaser"]{padding-bottom:clamp(32px,4vw,56px)}
#platforms{padding-top:clamp(32px,4vw,56px)}
/* platform cards in teal frames */
.pb{background:linear-gradient(160deg,rgba(15,143,127,.22),rgba(7,57,58,.35) 60%,rgba(7,57,58,.18));border:1px solid rgba(127,227,214,.55)}
.pb:hover{border-color:#9EF0E4;background:linear-gradient(160deg,rgba(15,143,127,.32),rgba(7,57,58,.45) 60%,rgba(7,57,58,.25))}
.pb-vis{background:rgba(0,0,0,.28);border-color:rgba(127,227,214,.18)}
.pb .tag{color:rgba(207,247,240,.7)}
.pb-start{background:linear-gradient(135deg,#0F8F7F,#07393A);border-color:#9EF0E4}
section[aria-labelledby="twin-teaser"]{padding-bottom:28px}#platforms{padding-top:28px}
#finance-banking .vis{mix-blend-mode:screen;object-fit:contain;background:transparent}

.tp .tq-as{fill:none;stroke:#F2B45A;stroke-width:3.2;stroke-linecap:round;filter:drop-shadow(0 0 4px #F2B45A)}
.tp .tq-ah{fill:#F2B45A;filter:blur(4px)}
.tp .tq-ar{fill:none;stroke:#F2B45A;stroke-width:2}
.tp .tq-al{font:700 10.5px var(--sans);fill:#2A1A00;letter-spacing:.02em}
.tp .tq-alb{fill:#F2B45A;filter:drop-shadow(0 0 6px rgba(242,180,90,.7))}
.tp .tq-is{fill:#BFE9FF}
.tp .tp-isbox{fill:#9EF0E4;fill-opacity:.07;stroke:#9EF0E4;stroke-opacity:.45}
.tp .tp-chip{fill:#9EF0E4;fill-opacity:.14}
.tp .tp-chipt{font:600 10px var(--mono,ui-monospace,monospace);fill:#CFF7F0;letter-spacing:.03em}
/* twin-style heroes: case studies, about, career */
.hx-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hx-st{display:flex;flex-direction:column;gap:8px;padding:22px 22px 20px;border-radius:14px;border:1px solid rgba(158,240,228,.32);background:linear-gradient(160deg,rgba(18,120,112,.28),rgba(2,30,30,.55));min-height:150px}
.hx-st .tag{color:#9EF0E4!important;font-size:11px}
.hx-st b{font-size:clamp(30px,3.2vw,46px);line-height:1;font-weight:700;letter-spacing:-.02em;color:#fff;margin-top:auto}
.hx-st span:last-child{color:#B9CFCB;font-size:14px;line-height:1.35}
.hx-foot{grid-column:1/-1;display:flex;align-items:center;gap:10px;color:#9EF0E4;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:4px 4px 0}
.hx-foot .tq-dot{width:8px;height:8px;border-radius:50%;background:#2FC6C0;box-shadow:0 0 0 0 rgba(47,198,192,.6);animation:hxp 2s infinite}
@keyframes hxp{70%{box-shadow:0 0 0 10px rgba(47,198,192,0)}100%{box-shadow:0 0 0 0 rgba(47,198,192,0)}}
.hx-founders{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end;padding-top:40px}
.hx-founders .hx-vid{position:absolute;inset:-10% 10% auto;width:80%;opacity:.55;mix-blend-mode:screen;pointer-events:none;z-index:0}
.hx-founders figure{position:relative;z-index:1;margin:0;border-radius:14px;overflow:hidden;border:1px solid rgba(158,240,228,.32);background:rgba(2,30,30,.6)}
.hx-founders img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(.2)}
.hx-founders figcaption{display:flex;flex-direction:column;gap:2px;padding:12px 16px;color:#fff}
.hx-founders figcaption span{color:#9EF0E4;font-size:13px}
.hx-facts{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,auto);gap:10px 28px;justify-content:start}
.hx-facts li{display:flex;flex-direction:column;border-left:2px solid #2FC6C0;padding-left:12px}
.hx-facts b{font-size:24px;color:#fff;line-height:1.1}
.hx-facts span{font-size:13px;color:#A9B0AD}
.hx-media video{mix-blend-mode:screen}
.page-hero .hx-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
@media (max-width:900px){.hx-facts{grid-template-columns:1fr 1fr}.hx-founders{padding-top:0}}
@media (max-width:520px){.hx-stats{grid-template-columns:1fr}}
.hx-founders{max-width:520px;margin-left:auto;padding-top:0}
.hx-founders img{border-radius:0!important;filter:grayscale(1) contrast(1.05)}
.hx-facts span{white-space:nowrap}
.hx-facts{gap:12px 24px}
.hx-founders figure{background:radial-gradient(120% 80% at 50% 35%,rgba(47,198,192,.35),rgba(2,30,30,.9) 70%)}
.hx-founders img{background:transparent;object-fit:cover;object-position:50% 100%}
.hx-founders figure{border:0;border-radius:0;background:none;overflow:visible}
.hx-founders img{filter:grayscale(1) contrast(1.05) drop-shadow(0 18px 30px rgba(0,0,0,.45));-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}
.hx-founders figcaption{padding:10px 0 0}
.hx-founders{align-items:start}
.hx-founders figcaption{align-items:center;text-align:center}
.hx-founders{gap:clamp(40px,5vw,80px);max-width:600px}
.hx-founders figure:first-child img{width:125%;max-width:none;margin-left:-12.5%;aspect-ratio:1/1}
/* ===== case studies: animated ===== */
.hx-st{position:relative;overflow:hidden}
.hx-st::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(158,240,228,.10) 50%,transparent 70%);transform:translateX(-100%);animation:hxs 5s ease-in-out infinite}
.hx-st:nth-child(2)::after{animation-delay:1.2s}.hx-st:nth-child(3)::after{animation-delay:2.4s}.hx-st:nth-child(4)::after{animation-delay:3.6s}
@keyframes hxs{0%,55%{transform:translateX(-100%)}85%,100%{transform:translateX(100%)}}
.cs-ticker{background:#021A1A;border-top:1px solid rgba(158,240,228,.18);border-bottom:1px solid rgba(158,240,228,.18);overflow:hidden;white-space:nowrap;padding:14px 0}
.cs-track{display:inline-flex;gap:28px;align-items:center;animation:cst 60s linear infinite;color:#B9CFCB;font-size:14px}
.cs-track b{color:#fff;font-weight:700;margin-right:4px}.cs-track i{color:#2FC6C0;font-style:normal;font-size:9px}
.cs-ticker:hover .cs-track{animation-play-state:paused}
@keyframes cst{to{transform:translateX(-50%)}}
.cs-sec{background:#050808;color:#fff}
.cs-sec .eyebrow{color:#9EF0E4}
.cs-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.cs-chips{display:flex;flex-wrap:wrap;gap:8px}
.cs-chip{font:500 14px var(--sans);color:#CFE2DF;background:transparent;border:1px solid rgba(158,240,228,.28);border-radius:999px;padding:9px 16px;cursor:pointer;transition:.25s}
.cs-chip sup{font-size:10px;margin-left:5px;color:#7FB5AE}
.cs-chip:hover{border-color:#9EF0E4;color:#fff}
.cs-chip[aria-pressed="true"]{background:#2FC6C0;border-color:#2FC6C0;color:#021A1A}.cs-chip[aria-pressed="true"] sup{color:#063}
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:16px}
.cs-card{position:relative;overflow:hidden;border-radius:16px;background:#0A1212;border:1px solid rgba(158,240,228,.16);color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;padding:22px;isolation:isolate;
  opacity:0;transform:translateY(28px);transition:opacity .7s var(--d),transform .7s cubic-bezier(.2,.7,.2,1) var(--d),border-color .3s}
.cs-card.in{opacity:1;transform:none}
.cs-card.out{display:none}
.cs-feat{grid-column:span 2;grid-row:span 2}
.cs-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.55) brightness(.62);transform:scale(1.04);transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s}
.cs-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,20,20,.15) 0%,rgba(2,20,20,.35) 40%,rgba(2,16,16,.94) 100%)}
.cs-glow{position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(47,198,192,.28),transparent 60%)}
.cs-card:hover{border-color:rgba(158,240,228,.6)}
.cs-card:hover img{transform:scale(1.12);filter:saturate(.8) brightness(.7)}
.cs-card:hover .cs-glow{opacity:1}
.cs-top{display:flex;justify-content:space-between;align-items:center}
.cs-tag{font:600 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#9EF0E4;background:rgba(2,26,26,.7);border:1px solid rgba(158,240,228,.3);padding:6px 10px;border-radius:999px;backdrop-filter:blur(6px)}
.cs-ix{font:600 12px var(--sans);color:rgba(255,255,255,.5);letter-spacing:.1em}
.cs-body{display:flex;flex-direction:column;gap:6px}
.cs-n{font:800 clamp(36px,3.6vw,54px)/1 var(--display,var(--sans));letter-spacing:-.02em;color:#fff}
.cs-feat .cs-n{font-size:clamp(56px,6.5vw,104px)}
.cs-u{font-size:13px;color:#9EC9C3;max-width:40ch}
.cs-t{font-size:17px;line-height:1.3;font-weight:600;margin-top:8px;max-width:36ch}
.cs-feat .cs-t{font-size:clamp(20px,1.8vw,26px)}
.cs-more{margin-top:10px;font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#9EF0E4;display:inline-flex;gap:8px;align-items:center}
.cs-more i{font-style:normal;transition:transform .3s}
.cs-card:hover .cs-more i{transform:translateX(6px)}
@media (max-width:980px){.cs-grid{grid-template-columns:1fr 1fr}.cs-feat{grid-row:span 1}}
@media (max-width:620px){.cs-grid{grid-template-columns:1fr;grid-auto-rows:320px}.cs-feat{grid-column:auto}}
@media (prefers-reduced-motion:reduce){.cs-track,.hx-st::after{animation:none}.cs-card{opacity:1;transform:none;transition:none}}
.cs-grid .cs-card:last-child:nth-child(3n+2){grid-column:span 2}
@media (max-width:980px){.cs-grid .cs-card:last-child:nth-child(3n+2){grid-column:auto}}
.twin-grid .hx-media{align-self:center;justify-self:end;width:100%;max-width:640px}
.hx-media video{aspect-ratio:4/3;height:auto;max-height:480px;object-fit:cover}
.hx-media figcaption{background:transparent;border:0;padding:8px 0 0;text-align:right}
.cs-first{padding-top:clamp(40px,5vw,72px)}
.cs-h1{color:#fff;margin:0}
/* ===== career: original content, new layout ===== */
.cr-offer{background:#fff;color:#0B0D0E}
.cr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}
.cr-pics{position:relative}
.cr-stick{position:sticky;top:72px;height:calc(100vh - 72px);overflow:hidden;padding:24px}
.cr-stick img{position:absolute;inset:24px;width:calc(100% - 48px);height:calc(100% - 48px);object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .8s ease,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.cr-stick img.on{opacity:1;transform:none}
.cr-txt{padding:0 clamp(24px,5vw,88px)}
.cr-intro{min-height:calc(100vh - 72px);display:flex;flex-direction:column;justify-content:center;position:relative}
.cr-big{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(48px,6vw,104px);line-height:.95;letter-spacing:-.01em;margin:16px 0 0}
.cr-big span{display:block;background:linear-gradient(90deg,#2C9FA3 0%,#6CC24A 45%,#D4D02A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:crg 6s ease-in-out infinite alternate}
@keyframes crg{to{background-position:100% 0}}
.cr-meta{display:flex;justify-content:space-between;margin-top:48px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:#5A6062}
.cr-meta a{color:#0B0D0E;text-decoration:none}
.cr-item{min-height:72vh;display:flex;flex-direction:column;justify-content:center;max-width:560px;opacity:.25;transition:opacity .5s}
.cr-item.act{opacity:1}
.cr-c{font-size:13px;letter-spacing:.12em;color:#5A6062}
.cr-item h3{font-size:clamp(24px,2.2vw,34px);line-height:1.15;margin:14px 0 14px;font-weight:700}
.cr-item p{font-size:17px;line-height:1.6;color:#33383A;margin:0}
.cr-next{margin-top:22px;font:600 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#0A7E78;text-decoration:none}
.cr-hire{background:#F2F3F2}
.cr-hh{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:48px}
.cr-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.cr-step{position:relative;background:#fff;border:1px solid #E1E4E3;border-radius:14px;padding:26px 24px 22px;display:flex;flex-direction:column;gap:10px;transition:transform .35s,box-shadow .35s}
.cr-step:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,60,58,.12)}
.cr-step:not(:last-child)::after{content:"";position:absolute;top:50px;right:-17px;width:18px;height:1px;background:#2FC6C0}
.cr-ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#E6F6F5;color:#0A7E78}
.cr-sn{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#5A6062;margin-top:6px}
.cr-step h3{font-size:20px;margin:0}
.cr-step p{font-size:15px;line-height:1.55;color:#33383A;margin:0;flex:1}
.cr-dur{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#0A7E78;background:#E6F6F5;border-radius:999px;padding:6px 12px}
.cr-join .h2{font-size:clamp(24px,2.6vw,40px)}
@media (max-width:900px){.cr-grid{grid-template-columns:1fr}.cr-pics{display:none}.cr-intro{min-height:auto;padding:64px 0 24px}.cr-item{min-height:auto;padding:28px 0;opacity:1}.cr-hh{grid-template-columns:1fr}.cr-steps{grid-template-columns:1fr 1fr}.cr-step::after{display:none}}
@media (max-width:560px){.cr-steps{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cr-big span{animation:none}.cr-stick img{transition:none}}
/* industries hero: 4 live twin tiles */
.hx-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hx-tile{position:relative;aspect-ratio:1/1;border-radius:14px;overflow:hidden;border:1px solid rgba(158,240,228,.25);background:radial-gradient(90% 90% at 50% 40%,rgba(18,120,112,.35),rgba(2,20,20,.95));text-decoration:none;color:#fff;transition:border-color .3s,transform .4s}
.hx-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;transition:transform 1s}
.hx-tile span{position:absolute;left:14px;right:14px;bottom:12px;font:600 13px var(--sans);letter-spacing:.04em;display:flex;justify-content:space-between}
.hx-tile span i{font-style:normal;color:#9EF0E4;transition:transform .3s}
.hx-tile:hover{border-color:#9EF0E4;transform:translateY(-3px)}.hx-tile:hover video{transform:scale(1.06)}.hx-tile:hover span i{transform:translateX(4px)}
/* platforms hero: floating product collage */
.hx-plats{position:relative;aspect-ratio:1.15/1;max-width:640px;margin-left:auto;width:100%}
.hx-plats figure{position:absolute;margin:0;border-radius:12px;overflow:hidden;border:1px solid rgba(158,240,228,.35);background:#0A1212;box-shadow:0 24px 50px rgba(0,0,0,.5);animation:hpf 7s ease-in-out infinite}
.hx-plats img{display:block;width:100%;height:100%;object-fit:cover}
.hx-plats figcaption{position:absolute;left:10px;bottom:10px;font:600 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#9EF0E4;background:rgba(2,26,26,.8);border:1px solid rgba(158,240,228,.3);border-radius:999px;padding:5px 9px}
.hp-0{left:0;top:6%;width:40%;aspect-ratio:1/1}
.hp-1{left:33%;top:0;width:52%;aspect-ratio:1.27/1;z-index:2;animation-delay:-1.2s!important}
.hp-2{right:0;top:30%;width:34%;aspect-ratio:1/1;animation-delay:-2.4s!important}
.hp-3{left:6%;top:50%;width:32%;aspect-ratio:1/1;z-index:3;animation-delay:-3.6s!important}
.hp-4{left:38%;top:48%;width:30%;aspect-ratio:1/1;z-index:2;animation-delay:-4.8s!important}
.hp-5{right:2%;bottom:0;width:44%;aspect-ratio:1.82/1;z-index:4;animation-delay:-6s!important}
@keyframes hpf{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:900px){.hx-plats{max-width:520px;margin:0 auto}}
@media (prefers-reduced-motion:reduce){.hx-plats figure{animation:none}}
.hx-tiles{max-width:560px;margin-left:auto;width:100%}
.hx-tile{aspect-ratio:5/4}
.hx-plats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;aspect-ratio:auto;max-width:600px}
.hx-plats figure{position:relative;inset:auto!important;width:auto!important;aspect-ratio:1/1!important;box-shadow:0 14px 30px rgba(0,0,0,.4)}
.hx-plats figure:nth-child(2),.hx-plats figure:nth-child(5){transform:translateY(22px)}
.hx-plats figure:nth-child(2){animation-name:hpf2}.hx-plats figure:nth-child(5){animation-name:hpf2}
@keyframes hpf2{0%,100%{transform:translateY(22px)}50%{transform:translateY(12px)}}
.hx-plats img{object-position:center}
.hx-plats figcaption{font-size:10px;left:8px;bottom:8px;right:8px;text-align:center}
.hx-tile::after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(transparent,rgba(2,18,18,.92))}
.hx-tile span{z-index:1}
/* ===== about: original content ===== */
.ab-intro{background:#fff}
.ab-big{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(40px,5.6vw,96px);line-height:.98;letter-spacing:-.01em;margin:18px 0 0;max-width:16ch}
.ab-big span{background:linear-gradient(90deg,#2C9FA3,#6CC24A 55%,#D4D02A);-webkit-background-clip:text;background-clip:text;color:transparent}
.ab-big2{font-size:clamp(34px,4.4vw,72px)}
.ab-introg{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:64px}
.ab-lead{font-size:clamp(19px,1.6vw,24px);line-height:1.45;color:#1E2324;margin:0}
.ab-mv{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}
.ab-mv b{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#0A7E78}
.ab-mv p{margin:8px 0 0;color:#33383A;line-height:1.55}
.ab-why{background:#F2F3F2}
.ab-cover{margin:0 0 56px;border-radius:16px;overflow:hidden;aspect-ratio:21/8}
.ab-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ab-whyg{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;align-items:start}
.ab-bens{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ab-ben{background:#fff;border:1px solid #E1E4E3;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .35s,box-shadow .35s}
.ab-ben:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,60,58,.12)}
.ab-ben h3{font-size:20px;margin:6px 0 0}.ab-ben p{margin:0;color:#33383A;line-height:1.55;font-size:15px}
.ab-team{background:#fff}
.ab-teamh{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;margin-bottom:48px}
.ab-teams{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ab-tm{display:flex;flex-direction:column;gap:16px}
.ab-tm img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;display:block;transition:transform .8s}
.ab-tm:hover img{transform:scale(1.03)}
.ab-tm h3{font-size:20px;margin:0 0 8px}.ab-tm p{margin:0;color:#33383A;line-height:1.55;font-size:15px}
@media (max-width:900px){.ab-introg,.ab-whyg,.ab-teamh{grid-template-columns:1fr}.ab-introg>div:first-child{display:none}.ab-teams{grid-template-columns:1fr 1fr}.ab-cover{aspect-ratio:16/9}}
@media (max-width:560px){.ab-bens,.ab-teams,.ab-mv{grid-template-columns:1fr}}
/* process in pieces -> 360 twin */
.dgwrap:has(.p3){border:0;background:transparent;overflow:visible}
.p3{display:block;width:100%;height:auto;min-width:900px}
.p3 text{font-family:var(--sans)}
.p3-lc{fill:#F3F5F4;stroke:#E1E5E3}
.p3-n{fill:none;stroke:#0A7E78;stroke-width:1.5}.p3-nt{font:600 12px var(--sans);fill:#0A7E78}
.p3-nw{stroke:#9EF0E4}.p3-ntw{fill:#9EF0E4}
.p3-h{font:700 20px var(--sans);fill:#0B0D0E}.p3-hw{fill:#fff}
.p3-c{font:400 14px var(--sans);fill:#6A7072}.p3-cw{fill:#BFE6E0}
.p3-silo{fill:#fff;fill-opacity:.55;stroke:#B8C2BF;stroke-dasharray:5 5;stroke-width:1.3}
.p3-st{font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;fill:#3E4547}
.p3-sys{font:600 10.5px var(--mono,ui-monospace,monospace);fill:#8A9395;letter-spacing:.04em}
.p3-chip rect{fill:#fff;stroke:#DCE2E0}.p3-ic{fill:#E6F3F1}.p3-i{color:#0A7E78}.p3-ct{font:500 15px var(--sans);fill:#1A1F20}
.p3-w rect{stroke:#F2B45A;stroke-width:1.5}.p3-w .p3-ic{fill:#FFF1DC}.p3-w .p3-i{color:#C77B12}
.p3-br,.p3-br2{fill:none;stroke:#9AA4A2;stroke-width:1.6;stroke-dasharray:4 4}
.p3-x circle{fill:#fff;stroke:#E07A5F;stroke-width:1.5}.p3-x path{stroke:#E07A5F;stroke-width:1.8;stroke-linecap:round}
.p3-warn rect{fill:#FFF6E8;stroke:#F2B45A}.p3-wi{color:#C77B12}.p3-wt{font:600 14px var(--sans);fill:#7A4A06}.p3-ws{font:400 12px var(--sans);fill:#8C6A3A}
.p3-foot{font:400 14px var(--sans);fill:#4A5153}
.p3-mid{fill:#0A7E78}.p3-ma{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.p3-orb{fill:none;stroke:#9EF0E4;stroke-opacity:.28;stroke-dasharray:3 6}
.p3-orb2{stroke-opacity:.18}
.p3-sp{fill:none;stroke:#9EF0E4;stroke-opacity:.35;stroke-width:1.2}
.p3-pk{fill:#fff}
.p3-nd{fill:#042E2C;fill-opacity:.65;stroke:#9EF0E4;stroke-opacity:.6;stroke-width:1.3}
.p3-ni{color:#CFF7F0}.p3-nl{font:500 13.5px var(--sans);fill:#fff}
.p3-al{stroke:#F2B45A;stroke-opacity:1}.p3-ni.p3-al{color:#F2B45A}
.p3-hub{fill:#fff}.p3-ht{font:700 17px var(--sans);fill:#0A5E58}
.p3-glow{animation:p3p 3s ease-in-out infinite;transform-origin:915px 292px}
@keyframes p3p{0%,100%{opacity:.6;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}
.p3-src{font:400 11.5px var(--sans)}
@media (prefers-reduced-motion:reduce){.p3-glow{animation:none}.p3-pk{display:none}}
/* COGS animated model */
.dgwrap:has(.cg){border:0;background:transparent;overflow:visible}
.cg{display:block;width:100%;height:auto;min-width:900px}
.cg text{font-family:var(--sans)}
.cg-lc{fill:#F3F5F4;stroke:#E1E5E3}
.cg-k{font:700 20px var(--sans);fill:#0B0D0E}.cg-w{fill:#fff}
.cg-c{font:400 14px var(--sans);fill:#6A7072}.cg-cw{fill:#BFE6E0}
.cg-in rect{fill:#fff;stroke:#DCE2E0;transition:stroke .4s,fill .4s}.cg-ic{fill:#E6F3F1}.cg-i{color:#0A7E78}.cg-t{font:500 14.5px var(--sans);fill:#1A1F20}
.cg-in.on rect{stroke:#0A7E78;fill:#F2FBFA}
.cg-ln{fill:none;stroke:#0A7E78;stroke-opacity:.28;stroke-width:1.4}.cg-pk{fill:#0A7E78}
.cg-live{fill:#9EF0E4;animation:cgl 1.6s infinite}@keyframes cgl{50%{opacity:.25}}
.cg-big{font:800 40px var(--sans);fill:#fff;letter-spacing:-.01em}
.cg-dl{font:700 15px var(--sans)}.cg-dl.dn{fill:#9EF0E4}.cg-dl.up{fill:#F2B45A}
.cg-sc{font:500 13px var(--sans);fill:#CFF7F0}
.cg-b{fill:#9EF0E4;fill-opacity:.85;transition:y .9s cubic-bezier(.2,.7,.2,1),height .9s cubic-bezier(.2,.7,.2,1)}
.cg-bt{fill:#fff;transition:y .9s cubic-bezier(.2,.7,.2,1),height .9s cubic-bezier(.2,.7,.2,1)}
.cg-con{stroke:#9EF0E4;stroke-opacity:.5;stroke-dasharray:2 3;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.cg-bl{font:500 11px var(--sans);fill:#BFE6E0}
.cg-axis{stroke:#9EF0E4;stroke-opacity:.35}
.cg-foot{font:600 14px var(--sans);fill:#9EF0E4}
.cg-ey{font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;fill:#0A7E78}
.cg-uc rect{fill:#fff;stroke:#E1E5E3;transition:stroke .4s,fill .4s}.cg-uc .cg-bar{fill:#D5DEDC;stroke:none}
.cg-un{font:700 14px var(--sans);fill:#0A7E78}.cg-ut{font:600 15.5px var(--sans);fill:#0B0D0E}.cg-ud{font:400 12.5px var(--sans);fill:#5A6062}
.cg-uc.on rect{stroke:#0A7E78;fill:#F2FBFA}.cg-uc.on .cg-bar{fill:#0A7E78;stroke:none}
.p3-tr{fill:none;stroke-width:14;stroke-linecap:round}
.p3-tpast{stroke:#9EF0E4;stroke-opacity:.22}.p3-tnow{stroke:#fff;stroke-opacity:.9}.p3-tfut{stroke:#9EF0E4;stroke-opacity:.22;stroke-dasharray:3 4;stroke-linecap:butt}
.p3-tl{font:600 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;fill:#E6FFFB;dominant-baseline:central}
.p3-itl{font:500 12px var(--sans);fill:#BFE6E0}
.p3-seg{fill:#9EF0E4;fill-opacity:.2;animation:p3s 2.8s ease-in-out infinite}
@keyframes p3s{0%,15%{fill-opacity:.2}30%,85%{fill-opacity:.95}100%{fill-opacity:.2}}
@media (prefers-reduced-motion:reduce){.p3-seg{animation:none;fill-opacity:.8}}
.p3-tln{fill:#0A5E58}
/* Legacy modernization animated */
.dgwrap:has(.lg){border:0;background:transparent;overflow:visible}
.lg{display:block;width:100%;height:auto;min-width:900px}
.lg text{font-family:var(--sans)}
.lg-lc{fill:#F3F5F4;stroke:#E1E5E3}
.lg-n{fill:none;stroke:#0A7E78;stroke-width:1.5}.lg-nt{font:600 12px var(--sans);fill:#0A7E78}.lg-nw{stroke:#9EF0E4}.lg-ntw{fill:#9EF0E4}
.lg-h{font:700 19px var(--sans);fill:#0B0D0E}.lg-w{fill:#fff}
.lg-c{font:400 13.5px var(--sans);fill:#6A7072}.lg-cw{fill:#BFE6E0}
.lg-tags rect{fill:#fff;stroke:#DCE2E0}.lg-tags text{font:600 10.5px var(--mono,ui-monospace,monospace);fill:#3E4547}
.lg-code{fill:#0E1617}
.lg-mono{font:500 11.5px var(--mono,ui-monospace,monospace);fill:#9EF0E4}
.lg-scroll{animation:lgs 14s linear infinite}
@keyframes lgs{to{transform:translateY(-323px)}}
.lg-s{font:400 13.5px var(--sans);fill:#4A5153}
.lg-flow{stroke:#0A7E78;stroke-width:2;stroke-dasharray:3 4}.lg-pk{fill:#0A7E78}
.lg-st rect{fill:#042E2C;fill-opacity:.5;stroke:#9EF0E4;stroke-opacity:.35;transition:fill .4s,stroke-opacity .4s}
.lg-st text{font:600 12px var(--sans);fill:#CFF7F0}
.lg-st.on rect{fill:#9EF0E4;fill-opacity:1;stroke-opacity:1}.lg-st.on text{fill:#063C39}
.lg-st.done rect{fill:#9EF0E4;fill-opacity:.25}
.lg-ag rect{fill:#042E2C;fill-opacity:.55;stroke:#9EF0E4;stroke-opacity:.5}
.lg-ai{color:#9EF0E4}.lg-at{font:700 15px var(--sans);fill:#fff}.lg-ad{font:400 12px var(--sans);fill:#BFE6E0}
.lg-ad2{font:500 11px var(--mono,ui-monospace,monospace);fill:#F2B45A}
.lg-ln{fill:none;stroke:#9EF0E4;stroke-opacity:.45;stroke-width:1.4}.lg-lt{font:500 11.5px var(--sans);fill:#BFE6E0}
.lg-pkw{fill:#fff}.lg-pka{fill:#F2B45A}
.lg-k{font:500 12px var(--sans);fill:#BFE6E0;letter-spacing:.04em}
.lg-big{font:800 30px var(--sans);fill:#fff}
.lg-bg{fill:#9EF0E4;fill-opacity:.18}.lg-bar{fill:#9EF0E4;transition:width .9s cubic-bezier(.2,.7,.2,1)}
.lg-b{font:400 13px var(--sans);fill:#E6FFFB}
.lg-ty{opacity:0;animation:lgt 6s infinite}
@keyframes lgt{0%,2%{opacity:0}8%,88%{opacity:1}96%,100%{opacity:0}}
.lg-k2{font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;fill:#0A7E78}
.lg-tc circle{fill:#E1E5E3;transition:fill .3s}.lg-ck{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lg-tc.ok circle{fill:#0A7E78}.lg-tt{font:400 13px var(--sans);fill:#2A3032}
.lg-pass{font:700 13.5px var(--sans);fill:#0A7E78}
@media (prefers-reduced-motion:reduce){.lg-scroll,.lg-ty{animation:none;opacity:1}}
.lg-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:11.5px;white-space:pre}
/* AI assessment animated */
.dgwrap:has(.aa){border:0;background:transparent;overflow:visible}
.aa{display:block;width:100%;height:auto;min-width:900px}
.aa text{font-family:var(--sans)}
.aa-rail{stroke:#0A7E78;stroke-opacity:.25;stroke-width:2;stroke-dasharray:3 5}
.aa-st rect,.aa-dl rect{fill:#fff;stroke:#DCE2E0;transition:stroke .4s,fill .4s}
.aa-st.on rect,.aa-dl.on rect{stroke:#0A7E78;fill:#F2FBFA}
.aa-dl.done rect{stroke:#9ED9D3}
.aa-ic{fill:#E6F3F1}.aa-i{color:#0A7E78}
.aa-t{font:600 15px var(--sans);fill:#0B0D0E}.aa-d{font:400 12.5px var(--sans);fill:#5A6062}
.aa-axes rect{fill:#0A7E78;transform-box:fill-box;transform-origin:bottom;animation:aab 1.6s ease-in-out infinite alternate}
@keyframes aab{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
.aa-pk{fill:#0A7E78}
.aa-frame{fill:none;stroke:#9EF0E4;stroke-opacity:.35}
.aa-th{stroke:#9EF0E4;stroke-opacity:.45;stroke-dasharray:4 5}
.aa-hy{fill:#9EF0E4;fill-opacity:.12}
.aa-q{font:700 15px var(--sans);fill:#fff}.aa-qh{fill:#9EF0E4}.aa-qs{font:400 12px var(--sans);fill:#BFE6E0}
.aa-ax{font:500 12px var(--sans);fill:#BFE6E0}
.aa-dot{fill:#CFF7F0;fill-opacity:.7;animation:aad 9s cubic-bezier(.2,.7,.2,1) infinite both}
.aa-star{fill:#F2B45A;fill-opacity:1;stroke:#fff;stroke-width:1.2}
@keyframes aad{0%{transform:translate(var(--dx),var(--dy));opacity:0}6%{opacity:1}18%,88%{transform:none;opacity:1}100%{transform:none;opacity:0}}
.aa-n2{font:400 13.5px var(--sans);fill:#4A5153}
@media (prefers-reduced-motion:reduce){.aa-dot,.aa-axes rect{animation:none}}
/* AI assessment v2 */
.aa-ey{font:600 12.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;fill:#5A6062}
.aa-st rect,.aa-dl rect{fill:#fff;stroke:#DCE2E0;stroke-width:1.2;transition:stroke .4s,fill .4s}
.aa-last rect{stroke:#0A7E78;stroke-width:2}
.aa-st.on rect,.aa-dl.on rect{stroke:#0A7E78;stroke-width:2;fill:#F2FBFA}
.aa-lab{font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;fill:#0A7E78}
.aa-t{font:700 17px var(--sans);fill:#0B0D0E}.aa-d{font:400 13.5px var(--sans);fill:#4A5153}
.aa-ar{fill:none;stroke:#0A7E78;stroke-opacity:.5;stroke-width:1.6;stroke-dasharray:3 3}
.aa-pt{font:700 15.5px var(--sans);fill:#0B0D0E}.aa-pd{font:400 12px var(--sans);fill:#5A6062}
.aa-p{font:400 16px var(--sans);fill:#3E4547}
.aa-hy{fill:#9EF0E4;fill-opacity:.16}
.aa-frame{fill:none;stroke:#9EF0E4;stroke-opacity:.45}
.aa-q{font:700 17px var(--sans);fill:#fff;paint-order:stroke;stroke:#0A4F4B;stroke-width:4px;stroke-linejoin:round}
.aa-qs{font:500 13px var(--sans);fill:#E6FFFB;paint-order:stroke;stroke:#0A4F4B;stroke-width:4px;stroke-linejoin:round}
.aa-qlh .aa-q{fill:#9EF0E4}
.aa-dot{fill-opacity:.45}
.aa-ax{font:600 12.5px var(--sans);fill:#CFF7F0}
/* AI assessment v3 */
.aa3 .aa-tl{stroke:#DCE2E0;stroke-width:3;stroke-linecap:round}
.aa3 .aa-tlp{stroke:#0A7E78;stroke-width:3;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:aatl 8.5s ease-in-out infinite}
.aa3 .aa-tlp2{animation-duration:6.8s}
@keyframes aatl{0%{stroke-dashoffset:1000}80%,100%{stroke-dashoffset:0}}
.aa3 .aa-node{fill:#fff;stroke:#0A7E78;stroke-width:2;transition:fill .4s}
.aa3 .aa-node-end{fill:#0A7E78}.aa3 .aa-node-end+.aa-ni{color:#fff}
.aa3 .aa-ni{color:#0A7E78;transition:color .4s}
.aa3 .aa-st.on .aa-node,.aa3 .aa-dl.on .aa-node{fill:#0A7E78}.aa3 .aa-st.on .aa-ni,.aa3 .aa-dl.on .aa-ni{color:#fff}
.aa3 .aa-lab{font:600 11.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;fill:#0A7E78}
.aa3 .aa-card{fill:#fff;stroke:#E1E5E3;transition:stroke .4s,fill .4s}
.aa3 .aa-st.on .aa-card{stroke:#0A7E78;fill:#F2FBFA}
.aa3 .aa-t{font:700 17px var(--sans);fill:#0B0D0E}.aa3 .aa-d{font:400 13.5px var(--sans);fill:#4A5153}
.aa3 .aa-pt{font:700 16px var(--sans);fill:#0B0D0E}.aa3 .aa-pd{font:400 13px var(--sans);fill:#5A6062}
.aa3 .aa-note{fill:#F3F5F4}.aa3 .aa-noteb{fill:#0A7E78}.aa3 .aa-p{font:400 16px var(--sans);fill:#2A3032}
.aa3 .aa-ph{font:700 18px var(--sans);fill:#fff}.aa3 .aa-phs{font:400 14px var(--sans);fill:#BFE6E0}
.aa3 .aa-qd rect{fill:#042E2C;fill-opacity:.45;stroke:#9EF0E4;stroke-opacity:.3}
.aa3 .aa-qdh rect{fill:#9EF0E4;fill-opacity:1;stroke:none;animation:aaq 3s ease-in-out infinite}
@keyframes aaq{50%{fill-opacity:.82}}
.aa3 .aa-q{font:700 17px var(--sans);fill:#fff;stroke:none}.aa3 .aa-qs{font:400 13px var(--sans);fill:#CFF7F0;stroke:none}
.aa3 .aa-qdh .aa-q{fill:#063C39}.aa3 .aa-qdh .aa-qs{fill:#0A4F4B}
.aa3 .aa-star-i{color:#063C39}
.aa3 .aa-axl{fill:none;stroke:#9EF0E4;stroke-opacity:.7;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.aa3 .aa-ax{font:600 12px var(--sans);letter-spacing:.06em;fill:#CFF7F0}
@media (prefers-reduced-motion:reduce){.aa3 .aa-tlp,.aa3 .aa-qdh rect{animation:none;stroke-dashoffset:0}}
/* legacy v2 (reuses aa3 timeline styles) */
.lg2 .aa-tl{stroke:#DCE2E0;stroke-width:3;stroke-linecap:round}
.lg2 .aa-tlp{stroke:#0A7E78;stroke-width:3;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:aatl 7s ease-in-out infinite}
.lg2 .aa-node{fill:#fff;stroke:#0A7E78;stroke-width:2;transition:fill .4s}.lg2 .aa-ni{color:#0A7E78;transition:color .4s}
.lg2 .aa-st.on .aa-node{fill:#0A7E78}.lg2 .aa-st.on .aa-ni{color:#fff}
.lg2 .aa-lab{font:600 11.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;fill:#0A7E78}
.lg2 .aa-card{fill:#fff;stroke:#E1E5E3;transition:stroke .4s,fill .4s}
.lg2 .lg-hl .aa-card{stroke:#0A7E78;stroke-width:2}
.lg2 .aa-st.on .aa-card{fill:#F2FBFA;stroke:#0A7E78}
.lg2 .aa-t{font:700 18px var(--sans);fill:#0B0D0E}.lg2 .aa-d{font:400 14px var(--sans);fill:#4A5153}
.lg2 .aa-ar{fill:none;stroke:#0A7E78;stroke-opacity:.6;stroke-width:1.6;stroke-dasharray:3 3}.lg2 .aa-pk{fill:#0A7E78}
.lg2-ey{font:600 12.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;fill:#9EF0E4}.lg2-eyd{fill:#0A7E78}
.lg2 .lg-b{font:400 13.5px var(--sans);fill:#E6FFFB}
.lg2-tc{fill:#F3F5F4;stroke:#E1E5E3}
.lg2 .lg-tt{font:400 13px var(--sans);fill:#2A3032}
.lg2-res{font:400 16px var(--sans);fill:#3E4547}.lg2-resb{font-weight:700;fill:#0A7E78}
.lg2 .lg-mono{font-size:11px}
.lg2-scroll{animation:lg2s 12s linear infinite}
@keyframes lg2s{to{transform:translateY(-192px)}}
.lg2-d1{fill:#E07A5F}.lg2-d2{fill:#F2B45A}.lg2-d3{fill:#2FC6C0}
.lg2-cap{font:600 10px var(--sans);letter-spacing:.1em;fill:#6E8C88}.lg2-capj{fill:#9EF0E4}
.lg2-sep{stroke:#9EF0E4;stroke-opacity:.2;stroke-dasharray:3 3}
.lg2-jv{fill:#FFFFFF}
.lg2-ill{font:400 11px var(--sans);fill:#8A9395}
.lg2 .lg2-row{fill:#fff;stroke:#E1E5E3}
.lg2 .lg2-fill{fill:#0A7E78;fill-opacity:.1;transform-box:fill-box;transform-origin:left;transform:scaleX(0)}
.lg2 .lg-tc.run .lg2-fill{animation:lg2f .9s linear forwards}
.lg2 .lg-tc.ok .lg2-fill{transform:scaleX(1);fill-opacity:.08}
@keyframes lg2f{to{transform:scaleX(1)}}
.lg2 .lg-tc circle{fill:#E1E5E3}
.lg2 .lg-tc.ok circle{fill:#0A7E78}
.lg2 .lg2-spin{fill:none!important;stroke:#0A7E78;stroke-width:2.2;stroke-dasharray:14 44;opacity:0;transform-box:fill-box;transform-origin:center}
.lg2 .lg-tc.run .lg2-spin{opacity:1;animation:lg2r .8s linear infinite}
.lg2 .lg-tc.run .lg-ck{opacity:0}
@keyframes lg2r{to{transform:rotate(360deg)}}
.lg2 .lg-tc.ok .lg-tt{fill:#0B0D0E}
.lg2-runl{font:600 11.5px var(--sans);fill:#0A7E78;letter-spacing:.04em}
/* diagrams: scroll inside the figure on small screens, never the page */
.dgwrap:has(.p3),.dgwrap:has(.cg),.dgwrap:has(.lg),.dgwrap:has(.aa){overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;max-width:100%}
@media (max-width:900px){.p3,.cg,.lg,.aa{min-width:820px}}
/* AI assessment hero visual */
.aah-wrap{max-width:600px;margin-left:auto;width:100%}
.aah{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.aah text{font-family:var(--sans)}
.aah-k{font:700 20px var(--sans);fill:#fff}.aah-c{font:400 13px var(--sans);fill:#BFE6E0}
.aah-t rect:first-child{fill:#042E2C;fill-opacity:.55;stroke:#9EF0E4;stroke-opacity:.45}
.aah-t{animation:aaht 3.2s ease-in-out infinite}
@keyframes aaht{50%{opacity:.75}}
.aah-tt{font:600 13px var(--sans);fill:#fff}
.aah-bg{fill:#9EF0E4;fill-opacity:.18}.aah-bar{fill:#9EF0E4}
.aah-d{fill:#CFF7F0}
.aah-stay{fill-opacity:.35;animation:aahs 3s ease-in-out infinite}
@keyframes aahs{50%{fill-opacity:.12}}
.aah-go{fill:#F2B45A;animation:aahg 6.5s cubic-bezier(.5,0,.3,1) infinite both}
@keyframes aahg{0%,20%{transform:none;opacity:1}60%,85%{transform:translate(var(--tx),var(--ty));opacity:1}95%{transform:translate(var(--tx),var(--ty));opacity:0}100%{transform:none;opacity:0}}
.aah-ar{fill:none;stroke:#9EF0E4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){.aah-go,.aah-stay,.aah-t{animation:none}}
.page-hero .ph-vis.aah-bgv{height:auto}
.aah-bgv .aah{box-shadow:none;border-radius:20px}
/* home twin: heading→schema spacing like other sections */
.tp-wrap{gap:72px}
/* home twin: outputs light up when the anomaly fires */
.tp .tp-ob{fill:#9EF0E4;fill-opacity:0;stroke:#9EF0E4;stroke-opacity:0;transition:fill-opacity .35s,stroke-opacity .35s}
.tp .tp-os{font:500 10.5px var(--sans);fill:#9EF0E4;opacity:0;transition:opacity .35s}
.tp .tp-out .tp-o{transition:fill .35s}
.tp .tp-out.on .tp-ob{fill-opacity:.1;stroke-opacity:.55}
.tp .tp-out.on .tp-os{opacity:1}
.tp .tp-out.on .tp-o{fill:#fff}
.tp .tp-out.al .tp-ob{fill:#F2B45A;fill-opacity:.14;stroke:#F2B45A;stroke-opacity:.8}
.tp .tp-out.al .tp-os{fill:#F2B45A}
.tp .tp-out.al .tp-i{color:#F2B45A}
.tp .tq-ch rect{fill:#042E2C;fill-opacity:.88;stroke:#9EF0E4;stroke-opacity:.7}
.tp .tq-ch text{font:600 10px var(--sans);fill:#E6FFFB}
.tp .tq-cha rect,.tp .tq-chr rect{stroke:#F2B45A}.tp .tq-cha text{fill:#F2B45A}
.tp .tq-chf rect{stroke:#9EF0E4;stroke-dasharray:3 2}
.tp .tq-fcp{fill:none;stroke:#9EF0E4;stroke-width:1.6}
.tp .tq-rcr{fill:none;stroke:#F2B45A;stroke-width:1.6;stroke-dasharray:2 2}
.tp .tq-ld{fill:none;stroke:#9EF0E4;stroke-width:1;stroke-dasharray:2 3}.tp .tq-ldr{stroke:#F2B45A}
.cases3:has(>.case-card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.cases3:has(>.case-card:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cases3:has(>.case-card:nth-child(4)){grid-template-columns:1fr}}
/* platforms hero: squarer labels */
.hx-plats figcaption{border-radius:3px}
.p3-spo{stroke:#F2B45A;stroke-opacity:.8;stroke-width:1.6}
.p3-pko{fill:#F2B45A}
.p3-nlo{fill:#F2B45A;font-weight:600}
.hx-plats figure{border-radius:4px}
/* demo controls: explained steps */
.dm-ctl{display:flex;flex-direction:column;gap:18px;align-items:stretch;min-width:300px}
.dm-step{display:flex;gap:12px;align-items:flex-start}
.dm-step>div{display:flex;flex-direction:column;gap:6px}
.dm-n{flex:0 0 26px;height:26px;border-radius:50%;border:1.5px solid #0A7E78;color:#0A7E78;font:700 12px var(--sans);display:grid;place-items:center}
.dm-step b{font-size:15px}
.dm-h{font-size:13px;color:var(--muted);line-height:1.4;max-width:34ch}
.dm-sw{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;border-radius:6px!important}
.dm-sw i{width:34px;height:18px;border-radius:9px;background:#0A7E78;position:relative;transition:background .25s;flex:0 0 auto}
.dm-sw i::after{content:"";position:absolute;top:2px;left:18px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .25s}
.dm-sw[aria-pressed="true"] i{background:#B4BCBA}.dm-sw[aria-pressed="true"] i::after{left:2px}
.c-gapt{font:700 11px var(--sans);letter-spacing:.1em;fill:#6A7072}
.pb-vis:has(image[href*="legacy-scrap"]){background:#030505;padding:0;overflow:hidden}.pb-vis:has(image[href*="legacy-scrap"]) svg{width:100%;height:100%}
/* ===== home: platforms showcase ===== */
.ps{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);gap:0;border:1px solid rgba(158,240,228,.22);background:#050909;margin-top:36px}
.ps-list{display:flex;flex-direction:column;border-right:1px solid rgba(158,240,228,.18)}
.ps-it{position:relative;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;align-items:center;text-align:left;padding:18px 22px;border:0;border-bottom:1px solid rgba(158,240,228,.12);background:transparent;color:#C7D6D3;cursor:pointer;font:inherit;transition:background .3s,color .3s;overflow:hidden}
.ps-it:last-child{border-bottom:0}
.ps-n{grid-row:1/3;font:600 12px var(--sans);letter-spacing:.1em;color:#5E8C86}
.ps-nm{font:700 20px var(--sans);letter-spacing:-.01em}
.ps-cat{font:500 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#6E8A86;margin-top:3px}
.ps-bar{position:absolute;left:0;bottom:0;height:2px;width:0;background:#2FC6C0}
.ps-it:hover{background:rgba(158,240,228,.04);color:#fff}
.ps-it[aria-selected="true"]{background:linear-gradient(90deg,rgba(17,128,122,.35),rgba(17,128,122,0));color:#fff}
.ps-it[aria-selected="true"]::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#2FC6C0}
.ps-it[aria-selected="true"] .ps-n{color:#9EF0E4}
.ps-it[aria-selected="true"] .ps-bar{width:100%}
.ps-list:hover .ps-it .ps-bar{animation-play-state:paused}
.ps-stage{position:relative;min-height:470px}
.ps-pane{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto;text-decoration:none;color:#fff;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.ps-pane[hidden]{display:none}
.ps-pane.on{opacity:1;visibility:visible}
.ps-link{display:grid;grid-template-rows:1fr auto;min-width:0;min-height:0;text-decoration:none;color:#fff}
.ps-img{position:relative;overflow:hidden;background:#000}
.ps-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 6s linear}
.ps-pane.on .ps-img img{transform:scale(1.1)}
.ps-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,9,0) 40%,rgba(5,9,9,.95))}
.ps-txt{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"cat st" "h st" "d st" "more st";gap:6px 32px;padding:0 32px 28px;margin-top:-90px;z-index:1}
.ps-cat2{grid-area:cat;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#9EF0E4}
.ps-h{grid-area:h;font:800 clamp(26px,2.6vw,38px)/1.05 var(--sans);letter-spacing:-.01em}
.ps-d{grid-area:d;font-size:15.5px;line-height:1.5;color:#C7D6D3;max-width:52ch}
.ps-more{grid-area:more;margin-top:8px;font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#9EF0E4}
.ps-st{grid-area:st;align-self:end;text-align:right;border-left:1px solid rgba(158,240,228,.3);padding-left:24px;max-width:220px}
.ps-st b{display:block;font:800 clamp(34px,3.4vw,52px)/1 var(--sans);color:#fff}
.ps-st span{display:block;font-size:12.5px;color:#9EC9C3;margin-top:6px;line-height:1.35}
.ps-pane:hover .ps-more{color:#fff}
.ps-foot{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin-top:18px;font-size:14px;color:#8FA9A5}
.ps-foot a{color:#9EF0E4;text-decoration:none;font-weight:600}.ps-foot a:hover{color:#fff}
@media (max-width:900px){.ps{grid-template-columns:1fr}.ps-list{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(158,240,228,.18)}.ps-it{flex:0 0 auto;border-bottom:0;border-right:1px solid rgba(158,240,228,.12)}.ps-stage{min-height:520px}.ps-txt{grid-template-columns:1fr;grid-template-areas:"cat" "h" "d" "st" "more"}.ps-st{text-align:left;border-left:0;padding-left:0}}
@media (prefers-reduced-motion:reduce){.ps-img img{transition:none}.ps-it .ps-bar{animation:none!important}}
.ps-img img[src*="ui-"]{filter:brightness(.5) saturate(.7) contrast(1.05)}
.ps-img img[src*="legacy-scrap"]{object-fit:contain;object-position:center 30%;transform:none!important}
/* platforms hero: typographic index instead of collage */
.hx-pidx{width:100%;max-width:560px;margin-left:auto;border-top:1px solid rgba(158,240,228,.35)}
.hx-pidx-h{display:flex;justify-content:space-between;padding:10px 0;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#7FB5AE;border-bottom:1px solid rgba(158,240,228,.18)}
.hx-pr{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid rgba(158,240,228,.14);color:#fff;text-decoration:none;opacity:0;transform:translateX(16px);animation:hxpr .6s cubic-bezier(.2,.7,.2,1) var(--d) forwards;transition:background .25s}
@keyframes hxpr{to{opacity:1;transform:none}}
.hx-pr:hover{background:linear-gradient(90deg,rgba(47,198,192,.14),transparent)}
.hx-pn{font:600 12px var(--sans);letter-spacing:.1em;color:#5E9C95}
.hx-pt b{display:block;font:700 19px var(--sans);letter-spacing:-.01em}
.hx-pt small,.hx-ps small{display:block;font-size:11.5px;color:#8FB3AE;letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.hx-ps{text-align:right}.hx-ps b{display:block;font:800 22px var(--sans);color:#9EF0E4}
.hx-ps small{text-transform:none;letter-spacing:0}
.hx-pr:hover .hx-pt b{color:#9EF0E4}
@media (max-width:1180px){.twin-grid:has(.hx-pidx){grid-template-columns:1fr}.hx-pidx{margin:0;max-width:none}}
@media (prefers-reduced-motion:reduce){.hx-pr{animation:none;opacity:1;transform:none}}
.ps-st{max-width:none;min-width:180px}
.ps-st b{white-space:nowrap;font-size:clamp(30px,3vw,46px)}
.ps-st span{max-width:200px;margin-left:auto}
.ps-img:has(img[src*="legacy-scrap"]){background:#030505}

.tq-chalo{fill:none;stroke:#F2B45A;stroke-width:2}
.tq-cha rect{fill:#F2B45A!important;stroke:#F2B45A!important}.tq-cha text{fill:#1a1300!important;font-weight:700}
@keyframes p3g{0%{opacity:.55;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
.p3-nd.p3-al{animation:p3b 1.6s ease-in-out infinite}
@keyframes p3b{0%,100%{fill:rgba(242,180,90,.12)}50%{fill:rgba(242,180,90,.55)}}
@media (prefers-reduced-motion:reduce){.p3-nd.p3-al{animation:none}}
.tq-cha{filter:drop-shadow(0 0 6px rgba(242,180,90,.9))}

.p3-glw{fill:#F2B45A;opacity:0}

.cases3{align-items:stretch}.cases3 .case-card .unit{min-height:2.9em}.cases3 .case-card .h3{min-height:3.9em}
.btn.btn-az{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.5)!important;opacity:1!important}
.btn.btn-az{display:inline-flex;align-items:center;gap:9px}.btn-az .ms-ic{flex:none}
.prow .vis,.prow img.vis[src*="img/ui-"]{width:100%;height:auto!important;aspect-ratio:508/460!important;max-height:none;min-height:0}.prow img.vis[src*="img/ui-"]{object-fit:contain;background:#0B1716;padding:22px;box-sizing:border-box;border:1px solid rgba(158,240,228,.12)}
.prow img.vis[src*="img/ui-"]{object-fit:cover!important;object-position:left top;padding:0!important;border:0!important;background:#0B1716}
.ex-anchor{position:absolute;width:0;height:0;overflow:hidden}
.pg-case-honda .case-hero,.pg-case-honeywell .case-hero{margin-top:clamp(40px,6vw,88px)}
.pg-case-honda .case-hero img,.pg-case-honeywell .case-hero img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important}
/* industries hero: 6 tiles */
.hx-tiles{grid-template-columns:repeat(3,1fr);max-width:620px;gap:12px}
.hx-tile{aspect-ratio:1/1.08}
.hx-tile span{font-size:12px;line-height:1.3;gap:6px;align-items:flex-end}
@media (max-width:560px){.hx-tiles{grid-template-columns:1fr 1fr}}
.seg h2 span.lng,.seg h1.segh span.lng{font-size:.78em}
.hx-tiles{grid-template-columns:repeat(6,1fr)}.hx-tiles .hx-tile{grid-column:span 2}.hx-tiles .hx-tile:nth-child(4){grid-column:2/4}.hx-tiles .hx-tile:nth-child(5){grid-column:4/6}
@media (max-width:560px){.hx-tiles{grid-template-columns:1fr 1fr}.hx-tiles .hx-tile,.hx-tiles .hx-tile:nth-child(4),.hx-tiles .hx-tile:nth-child(5){grid-column:auto}}

/* Contact form */
.contact-page .page-hero{padding-block:clamp(64px,9vw,120px);background:#000;color:#fff}
.contact-page .page-hero .wrap{display:grid;gap:24px}
.contact-page .page-hero .lead{color:#C7D6D3;max-width:58ch}
.contact-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.35fr);gap:clamp(36px,7vw,100px);align-items:start}
.contact-intro{display:grid;gap:20px;max-width:44ch}
.contact-intro .h2{font-size:clamp(30px,3.5vw,42px)}
.contact-intro p{color:var(--muted)}
.contact-card{background:var(--surface);border:1px solid var(--line);padding:clamp(20px,4vw,40px)}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
.contact-field{display:grid;gap:8px}
.contact-field-wide{grid-column:1/-1}
.contact-field label{font-size:14px;font-weight:600}
.contact-field label span{color:var(--accent)}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:2px;background:var(--bg);color:var(--ink);font:inherit}
.contact-field textarea{min-height:150px;resize:vertical}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--accent)}
.contact-consent{display:flex;align-items:flex-start;gap:12px;margin-top:24px;font-size:14px;color:var(--muted)}
.contact-consent input{width:18px;height:18px;flex:0 0 auto;margin:3px 0 0;accent-color:var(--accent)}
.contact-actions{display:flex;align-items:center;gap:18px;margin-top:24px}
.contact-required{font-size:13px;color:var(--muted)}
.contact-status{min-height:1.5em;margin-top:14px;font-size:14px}
.contact-status[data-state="success"]{color:var(--accent)}
.contact-status[data-state="error"]{color:#a32d20}
.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-footer{padding-block:28px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr}.contact-fields{grid-template-columns:1fr}.contact-field-wide{grid-column:auto}}

/* Privacy policy from v6. */
.pp h2{font-size:22px;margin:36px 0 10px}
.pp p{line-height:1.65}
.pp-t{width:100%;border-collapse:collapse;font-size:14.5px;margin:10px 0}
.pp-t th,.pp-t td{border-bottom:1px solid var(--line);padding:10px 12px 10px 0;text-align:left;vertical-align:top}
.pp-t th{font-weight:600}
.wrap.pp{margin-left:auto;margin-right:auto;max-width:none}.pp>*{max-width:900px}
@media (max-width:760px){.pp-t thead{display:none}.pp-t tr{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.pp-t td{display:block;border:0;padding:3px 0}.pp-t td:first-child{font-weight:600}}
