body[data-nav=ecosystem] header.hero.dark{border-radius:0}.toc-label{margin:30px 0 12px;font-size:var(--fs-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7dd8ff}.toc{margin-top:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.toc a{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-label);font-weight:700;color:#eaf6ff;background:#04b2f429;border:1px solid rgba(95,208,255,.4);border-radius:999px;padding:8px 13px;white-space:nowrap;text-decoration:none;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.toc a:hover{background:#04b2f447;border-color:#5fd0ffb3;transform:translateY(-1px)}.toc a .toc-n{font-size:var(--fs-label);font-weight:800;color:#7dd8ff}.layer-no{display:inline-flex;align-items:center;gap:8px}.layer-no b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--cyan-wash);color:var(--cyan-deep);font-size:var(--fs-label);font-weight:800}.dark .layer-no b{background:#04b2f42e;color:#7dd8ff}.sub-h{font-size:clamp(17px,2vw,20px);font-weight:700;letter-spacing:-.01em;margin:0 0 6px}.dark .sub-h{color:#fff}#software .sub-h{margin-top:clamp(22px,3vw,34px)}.hwflow{margin-top:clamp(40px,5vw,64px);display:flex;flex-direction:column;align-items:center;gap:2px}.hwnode{width:100%;max-width:540px;background:var(--soft);border:1px solid var(--line);border-radius:var(--r);padding:16px 22px;display:flex;align-items:center;gap:15px;justify-content:center;text-align:left}.hwnode.accent{background:linear-gradient(135deg,#3cbaf324,#0a93d80d);border-color:#04b2f466}.hwnode .hn-ic{width:44px;height:44px;flex:none;border-radius:12px;background:var(--cyan-wash);color:var(--cyan-deep);display:grid;place-items:center}.hwnode.accent .hn-ic{background:var(--g-cyan);color:#062338}.hwnode .hn-ic svg{width:78%;height:78%;stroke-width:1.5}.hwnode b{font-size:16px;color:var(--ink);display:block;margin-bottom:2px}.hwnode .hn-s{font-size:var(--fs-note);color:var(--ink-2);line-height:1.45}.hwconn-lab{position:relative;font-size:var(--fs-label);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--cyan-deep);text-align:center;padding:14px 0 12px;display:flex;flex-direction:column;align-items:center;gap:6px}.hwconn-lab:before,.hwconn-lab:after{content:"";width:0;border-left:3px dotted var(--cyan-deep);opacity:.6}.hwconn-lab:before{height:12px}.hwconn-lab:after{height:12px}@media(max-width:560px){.hwconn-lab{font-size:var(--fs-label)}}.hwboxes{width:100%;max-width:780px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:2px 0}@media(max-width:680px){.hwboxes{grid-template-columns:1fr 1fr}}.hwbox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0;text-align:center;overflow:hidden;display:flex;flex-direction:column}.hwbox .hb-img{display:block;width:100%;aspect-ratio:4/3;background:var(--soft);overflow:hidden}.hwbox .hb-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}.hwbox:hover .hb-img img{transform:scale(1.05)}.hwbox .hb-img .hb-ph{width:100%;height:100%;border-radius:0;display:grid;place-items:center}.hwbox .hb-img .hb-ph .ph-label{font-size:var(--fs-label);padding:0 10px;text-align:center;line-height:1.35}.hwbox .hb-body{padding:16px 14px}.hwbox .hb-ic{width:42px;height:42px;margin:0 auto 10px;border-radius:11px;background:var(--cyan-wash);color:var(--cyan-deep);display:grid;place-items:center}.hwbox .hb-ic svg{width:78%;height:78%;stroke-width:1.5}.hwbox h3{font-size:14.5px;letter-spacing:-.01em;margin-bottom:5px}.hwbox p{font-size:var(--fs-note);color:var(--ink-2);line-height:1.45;margin:0}.hwnode,.hwbox{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.hwnode:hover{transform:translateY(-2px);box-shadow:var(--sh-card);border-color:#04b2f466}.hwbox:hover{transform:translateY(-3px);box-shadow:var(--sh-card);border-color:#04b2f44d}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}@media(max-width:820px){.tiers{grid-template-columns:1fr}}.tier{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh-card)}.tier .t-ic{width:48px;height:48px;border-radius:12px;background:var(--cyan-wash);color:var(--cyan-deep);display:grid;place-items:center;margin-bottom:14px}.tier .t-ic svg{width:80%;height:80%;stroke-width:1.5}.tier h3{font-size:18px;letter-spacing:-.01em;margin-bottom:8px}.tier p{font-size:14.5px;color:var(--ink-2);line-height:1.55;margin:0 0 12px}.tier ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.tier ul li{position:relative;padding-left:18px;font-size:var(--fs-note);color:var(--ink-2);line-height:1.45}.tier ul li:before{content:"";position:absolute;left:2px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--cyan)}body[data-nav=ecosystem] #security .vgrid{grid-template-columns:repeat(3,1fr)}@media(max-width:820px){body[data-nav=ecosystem] #security .vgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){body[data-nav=ecosystem] #security .vgrid{grid-template-columns:1fr}}body[data-nav=ecosystem] #security .vcard .ic-wrap{width:56px;height:56px}body[data-nav=ecosystem] #security .vcard .ic-wrap svg{width:45px;height:45px;stroke-width:1.4}.certs{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:26px;padding:22px 24px;background:#ffffff0a;border:1px solid var(--line-d);border-radius:var(--r)}.certs .cert-lab{font-size:var(--fs-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7dd8ff;margin-right:6px}.certs img{height:93px;width:auto;background:#fff;border-radius:10px;padding:14px 18px;display:block}@media(max-width:560px){.certs img{height:70px}}.cx-col{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--sh-card);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:14px;max-width:820px}.cx-col .cx-ic{width:48px;height:48px;border-radius:12px;background:var(--cyan-wash);color:var(--cyan-deep);display:grid;place-items:center}.cx-col .cx-ic svg{width:80%;height:80%;stroke-width:1.5}.cx-col h3{font-size:19px;letter-spacing:-.01em;margin:0}.cx-col p{font-size:14.5px;color:var(--ink-2);line-height:1.58;margin:0}.cx-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.cx-col ul li{position:relative;padding-left:20px;font-size:14px;color:var(--ink-2);line-height:1.45}.cx-col ul li:before{content:"";position:absolute;left:2px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--cyan)}.branded{background:var(--cyan-wash);border:1px solid rgba(4,178,244,.3);border-radius:var(--r-lg);padding:24px 26px;margin-top:30px;display:flex;gap:18px;align-items:flex-start;max-width:820px}.branded .br-ic{width:46px;height:46px;flex:none;border-radius:12px;background:var(--g-cyan);color:#062338;display:grid;place-items:center}.branded .br-ic svg{width:80%;height:80%;stroke-width:1.6}.branded h3{font-size:18px;letter-spacing:-.01em;margin:0 0 6px}.branded p{font-size:14.5px;color:var(--ink-2);line-height:1.58;margin:0}#experience .cx-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;align-items:start}@media(max-width:760px){#experience .cx-two{grid-template-columns:1fr}#experience .branded.in-card{flex-direction:column}}#experience .cx-two .cx-col{max-width:none}#experience .cx-tag{align-self:flex-start;font-size:var(--fs-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep);background:var(--cyan-wash);border:1px solid rgba(4,178,244,.22);border-radius:999px;padding:4px 12px}#experience .branded.in-card{margin-top:4px;max-width:none;padding:16px 18px;gap:13px}#experience .branded.in-card .br-ic{width:40px;height:40px}#experience .branded.in-card h3{font-size:15.5px}#experience .branded.in-card p{font-size:14px}.eco-tile .et-sub{font-size:var(--fs-label);color:var(--cyan-deep);font-weight:700;margin:2px 0 10px;padding:0 18px}.eco-tile .et-list{list-style:none;margin:0 0 4px;padding:0 18px 18px;display:grid;gap:7px}.eco-tile .et-list li{position:relative;padding-left:18px;font-size:var(--fs-note);color:var(--ink-2);line-height:1.45;text-align:left}.eco-tile .et-list li:before{content:"";position:absolute;left:2px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--cyan)}.eco-tile h3{margin-top:16px}body[data-nav=ecosystem] #software .eco-flow{width:100%;max-width:none;margin-top:clamp(58px,7vw,92px)}body[data-nav=ecosystem] #software .eco{grid-template-columns:repeat(5,1fr)}body[data-nav=ecosystem] #software .eco-links span{left:calc(10% - 1px);right:calc(10% - 1px)}body[data-nav=ecosystem] #software .eco-links i:nth-of-type(1){left:calc(10% - 1px)}body[data-nav=ecosystem] #software .eco-links i:nth-of-type(2){left:calc(30% - 1px)}body[data-nav=ecosystem] #software .eco-links i:nth-of-type(3){left:calc(50% - 1px)}body[data-nav=ecosystem] #software .eco-links i:nth-of-type(4){left:calc(70% - 1px)}body[data-nav=ecosystem] #software .eco-links i:nth-of-type(5){left:calc(90% - 1px)}@media(max-width:900px){body[data-nav=ecosystem] #software .eco{grid-template-columns:1fr 1fr}}@media(max-width:760px){body[data-nav=ecosystem] #software .eco{display:grid;grid-template-columns:1fr 1fr;overflow:visible;gap:12px}body[data-nav=ecosystem] #software .eco-tile{flex:initial;max-width:none;scroll-snap-align:none}}.api-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}@media(max-width:820px){.api-tiles{grid-template-columns:1fr 1fr}}@media(max-width:480px){.api-tiles{grid-template-columns:1fr}}.api-tile{background:#ffffff0d;border:1px solid var(--line-d);border-radius:var(--r);padding:22px;transition:transform .25s var(--ease),border-color .25s var(--ease)}.api-tile:hover{transform:translateY(-3px);border-color:#5fd0ff73}.api-tile .at-ic{width:46px;height:46px;border-radius:12px;background:#04b2f429;color:#7dd8ff;display:grid;place-items:center;margin-bottom:14px}.api-tile .at-ic svg{width:80%;height:80%;stroke-width:1.5}.api-tile h3{font-size:16px;color:#fff;letter-spacing:-.01em;margin:0 0 5px}.api-tile p{font-size:var(--fs-note);color:#e9eff8b3;line-height:1.5;margin:0}.api-note{font-size:14.5px;color:#e9eff8d1;line-height:1.6;margin-top:24px;max-width:64ch}.layer-cta{margin-top:0;padding:clamp(28px,3.6vw,42px) 0;text-align:center;display:flex;justify-content:center}.layer-cta .btn{display:inline-flex;align-items:center;gap:9px}.layer-cta .btn svg{width:18px;height:18px}.btn-navy{background:var(--navy);color:#fff;border:0;padding:13px 26px;border-radius:999px}.btn-navy:hover{background:var(--navy-2);transform:translateY(-2px);box-shadow:0 10px 26px -10px #0e16268c}.dark .btn-navy{background:var(--navy);color:#fff;border:1px solid rgba(255,255,255,.16)}.dark .btn-navy:hover{background:var(--navy-2)}.api-connect{display:flex;justify-content:center;padding:8px 0 0}.api-connect span{display:block;width:0;height:34px;border-left:3px dotted var(--cyan-deep);opacity:.6}.api-layer{margin-top:10px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:var(--r);padding:26px clamp(20px,3vw,30px)}.api-layer .al-eyebrow{font-size:var(--fs-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep);margin:0 0 8px}.api-layer h3{font-size:19px;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink)}.api-layer .al-lead{font-size:14.5px;color:var(--ink-2);line-height:1.58;margin:0 0 18px;max-width:64ch}.api-layer .al-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:820px){.api-layer .al-tiles{grid-template-columns:1fr 1fr}}@media(max-width:480px){.api-layer .al-tiles{grid-template-columns:1fr}}.al-tile{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 16px 18px}.al-tile .alt-ic{width:40px;height:40px;border-radius:11px;background:var(--cyan-wash);color:var(--cyan-deep);display:grid;place-items:center;margin-bottom:10px}.al-tile .alt-ic svg{width:78%;height:78%;stroke-width:1.6}.al-tile h4{font-size:14.5px;letter-spacing:-.01em;margin:0 0 4px;color:var(--ink)}.al-tile p{font-size:var(--fs-note);color:var(--ink-2);line-height:1.45;margin:0}.tier,.cx-col{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.tier:hover{transform:translateY(-3px);box-shadow:var(--sh-card);border-color:#04b2f44d}
