/* Generated from design/Main.dc.html by tools/build_from_design.py. Do not edit. */
body{margin:0;background:#ffffff;color:#161616;font-family:'Cossette Texte','IBM Plex Sans','Helvetica Neue',Arial,sans-serif}
.d{font-family:'Cossette Texte','IBM Plex Sans','Helvetica Neue',Arial,sans-serif;font-weight:400;letter-spacing:-0.02em}
.m{font-family:'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.32px}
.wm{font-family:'Cossette Texte','Inter Tight','Helvetica Neue',Arial,sans-serif;letter-spacing:-0.07em}
.wrap{max-width:1312px;margin:0 auto;padding:0 32px;box-sizing:border-box}
.g16{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));column-gap:32px}
.c1-4{grid-column:1 / 5}.c5-12{grid-column:5 / 13}.c5-16{grid-column:5 / 17}.c1-10{grid-column:1 / 11}.c1-6{grid-column:1 / 7}.c1-16{grid-column:1 / -1}.c13-16{grid-column:13 / 17}.c5-8{grid-column:5 / 9}.c8-16{grid-column:8 / 17}.c2-10{grid-column:2 / 11}.c12-16{grid-column:12 / 17}.card{overflow:hidden}.c9-16{grid-column:9 / 17}
.tiles{display:grid;gap:1px;background:#e0e0e0;border:1px solid #e0e0e0}
.t3{grid-template-columns:repeat(3,minmax(0,1fr))}.t4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile{background:#f4f4f4;box-sizing:border-box}
.sec{padding:96px 0 0}
.sh{border-top:1px solid #e0e0e0;padding-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:48px;padding:0 16px;font-size:14px;letter-spacing:.16px;border:0;border-radius:0;box-sizing:border-box;cursor:pointer;text-decoration:none}
.btn-p{background:#d8180b;color:#ffffff}.btn-p:hover{background:#b01409;color:#ffffff}
.btn-t{background:transparent;color:#161616;box-shadow:inset 0 0 0 1px #161616}.btn-t:hover{background:#f4f4f4}
.nl{color:#525252;text-decoration:none;min-height:48px;display:flex;align-items:center;font-size:14px;letter-spacing:.16px}.nl:hover{color:#161616;box-shadow:inset 0 -2px 0 #d8180b}
.lk{color:#d8180b;text-decoration:none}.lk:hover{text-decoration:underline}
a{color:inherit}
h1,h2,h3{text-wrap:balance}
p,figcaption{text-wrap:pretty}
.tw0{animation:ud-led 2.6s steps(1,end) infinite}.tw1{animation:ud-led 3.4s steps(1,end) .8s infinite}.tw2{animation:ud-led 4.2s steps(1,end) 1.6s infinite}
@keyframes ud-riseup{from{transform:translateY(160px)}to{transform:translateY(0)}}
@keyframes ud-led{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes ud-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ud-scanin{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes ud-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes ud-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes ud-show{from{opacity:0}to{opacity:1}}
@keyframes ud-hide{from{opacity:1}to{opacity:0}}
@keyframes ud-flow{to{stroke-dashoffset:-200}}
@keyframes ud-wv{0%{opacity:0;transform:translateY(4px)}40%{opacity:1}100%{opacity:0;transform:translateY(-4px)}}
@keyframes ud-scan{from{transform:translateY(0)}to{transform:translateY(22px)}}
@keyframes ud-dl{0%{stroke-dashoffset:1}60%,100%{stroke-dashoffset:0}}
@keyframes ud-scanv{from{transform:translateY(0)}to{transform:translateY(400px)}}
@keyframes ud-sweep{from{transform:translateX(0)}to{transform:translateX(var(--sw))}}
@keyframes ud-breathe{from{transform:translateY(0)}to{transform:translateY(6px)}}
.fl{animation:ud-flow 2s linear infinite}
@keyframes ud-pf{0%,100%{opacity:.15}20%{opacity:1}}
.pf{animation:ud-pf .96s steps(3,end) infinite}
.wv{opacity:0;animation:ud-wv 1.8s ease-out infinite}
.scan{animation:ud-scan 1.6s ease-in-out infinite alternate}
.drawloop{stroke-dasharray:1;animation:ud-dl 4s ease-in-out infinite}
.scanv{animation:ud-scanv 6s linear infinite}
.sweep{animation:ud-sweep 10s linear infinite}
.breathe{animation:ud-breathe 3s ease-in-out infinite alternate}
.ld{animation:ud-in .8s cubic-bezier(.2,0,.38,.9) both}
@keyframes ud-draw{to{stroke-dashoffset:0}}
@keyframes ud-pulse{from{stroke-dashoffset:.05}to{stroke-dashoffset:-.95}}
@keyframes ud-nd{from{transform:translateY(0)}to{transform:translateY(8px)}}
@keyframes ud-growy{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.rb{stroke-dasharray:1;stroke-dashoffset:1;animation:ud-draw 1.8s cubic-bezier(.3,0,.2,1) forwards}
.rbt{opacity:0;animation:ud-show .5s ease forwards}
.rbp{stroke-dasharray:.05 .95;stroke-dashoffset:.05;animation:ud-pulse 3.4s linear infinite}
.nd{animation:ud-nd 3.6s ease-in-out infinite alternate}
.grow{transform-box:fill-box;transform-origin:50% 100%}
@keyframes ud-pxl{from{opacity:0;transform:translateX(-96px)}to{opacity:1;transform:none}}
@keyframes ud-pxr{from{opacity:0;transform:translateX(96px)}to{opacity:1;transform:none}}
@keyframes ud-ndm{to{transform:translateX(var(--nw))}}
@keyframes ud-gal{0%{opacity:.35;transform:translateY(24px) scale(.95)}30%,70%{opacity:1;transform:none}100%{opacity:.35;transform:translateY(24px) scale(.95)}}
@keyframes ud-bar{from{transform:scaleX(.2)}to{transform:scaleX(1)}}
.pxl{animation:ud-pxl 1.3s steps(8,end) both}
.pxr{animation:ud-pxr 1.3s steps(8,end) both}
.ndm{animation:ud-ndm 28s linear infinite}
.galwrap{position:relative}
.gal-native .galsticky{position:static;height:auto;min-height:0}
.gal-native .gal{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;transform:none!important}
.gal-native .gal::-webkit-scrollbar{display:none}
.gal-native .gcard{scroll-snap-align:start}
.galsticky{position:sticky;top:48px;height:calc(100svh - 48px);min-height:640px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.gal{display:flex;gap:16px;width:max-content;padding:8px max(32px, calc((100vw - 1312px) / 2 + 32px)) 24px;will-change:transform}
.gal::-webkit-scrollbar{display:none}
.gcard{flex:0 0 min(82vw, 400px);height:min(560px, calc(100svh - 190px));min-height:460px;transition:opacity .2s linear;position:relative;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.galbar{position:absolute;inset:0;background:#161616;transform-origin:0 50%;transform:scaleX(.2)}

@keyframes ud-shim{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes ud-rise8{from{transform:translateY(10px)}to{transform:translateY(0)}}
@keyframes ud-tf{0%,15%{opacity:1}35%,85%{opacity:.12}100%{opacity:1}}
@keyframes ud-logs{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes ud-stair{0%,4%{opacity:0}12%,88%{opacity:1}100%{opacity:0}}
.shim{animation:ud-shim 2.8s steps(2,end) infinite}
.rise8{animation:ud-rise8 3s steps(3,end) infinite alternate}
.blinkc{animation:ud-led 1s steps(1,end) infinite}
.tf{animation:ud-tf 6s ease-in-out infinite}
@keyframes ud-tl{0%,8%{opacity:1}22%,78%{opacity:0}92%,100%{opacity:1}}
.tl{animation:ud-tl 8s steps(4,end) infinite}
.logs{animation:ud-logs 26s linear infinite}
.stair{animation:ud-stair 6s steps(1,end) infinite}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent}
section,[id]{scroll-margin-top:64px}
.btn{transition:background-color .11s cubic-bezier(.2,0,.38,.9),box-shadow .11s,transform .11s}
.btn:active{transform:translateY(1px)}
.btn-p:active{background:#8f0f07}
.btn-t:active{background:#e0e0e0}
.btn:focus-visible,.nl:focus-visible,.gal:focus-visible{outline:2px solid #161616;outline-offset:2px}
.arr{display:inline-block;transition:transform .18s cubic-bezier(.2,0,.38,.9)}
.btn:hover .arr,.btn:focus-visible .arr,.nl:hover .arr{transform:translateX(4px)}
.btn:hover .arr.dn,.btn:focus-visible .arr.dn{transform:translateY(3px)}
.nl:hover .arr.up{transform:translateY(-3px)}
.nb:hover{background:#161616!important;color:#ffffff!important}
.nl{position:relative;transition:color .11s}
.prog{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#d8180b;transform-origin:0 50%;transform:scaleX(0)}
@keyframes ud-prog{to{transform:scaleX(1)}}
@keyframes ud-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.sh{position:relative;border-top:0!important}
.sh::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#c6c6c6;transform-origin:0 50%}
.tile{transition:background-color .15s cubic-bezier(.2,0,.38,.9)}
.tile.sr:hover{background:#e8e8e8}
.tile.sr:hover .wv{animation-duration:.9s}
.tile.sr:hover .scan{animation-duration:.6s}
.tile.sr:hover .drawloop{animation-duration:1.6s}
.fr{transition:background-color .11s}
.fr:hover,.fr:active{background:#f4f4f4!important}
.lk{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .2s cubic-bezier(.2,0,.38,.9)}
.lk:hover{background-size:100% 1px;text-decoration:none}
.gcard a.btn:hover{background:#161616!important;color:#ffffff!important}
@supports (animation-timeline: scroll()){.prog{animation:ud-prog linear both;animation-timeline:scroll(nearest)}.sh::before{animation:ud-rule cubic-bezier(.2,0,.38,.9) both;animation-timeline:view();animation-range:entry 10% cover 30%}}
.hero{--hp:clamp(16px,4vw,72px);position:relative;overflow:hidden;min-height:max(680px,calc(100svh - 48px));padding:0 var(--hp);box-sizing:border-box}
.hero-lines{position:absolute;inset:0 0 38% 0;background:repeating-linear-gradient(to bottom,transparent 0 47px,#ececec 47px 48px);-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent);animation:ud-lines 14s linear infinite}
@keyframes ud-lines{to{background-position:0 48px}}
.hero-rib{position:absolute;left:0;right:0;bottom:0;height:48%}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding-top:clamp(48px,9vh,112px)}
.hero-eye{grid-column:1 / -1;margin-bottom:clamp(16px,3vh,32px)!important}
.hero-h{grid-column:1 / 9;grid-row:2;margin:0;font-size:clamp(44px,6.4vw,108px);line-height:1.02;letter-spacing:-.01em}
.hero-h .w{display:inline-block;animation:ud-word .9s cubic-bezier(.2,0,.38,.9) both}
@keyframes ud-word{from{opacity:0;transform:translateY(.35em);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.hero-side{grid-column:9 / 13;grid-row:2;align-self:end;display:flex;flex-direction:column;gap:24px;background:rgba(255,255,255,.9);padding:16px;margin:0 -16px -16px 0}
.hero-tiles{position:absolute;inset:0;z-index:1;pointer-events:none}
.htile{animation:ud-tpop .6s steps(4,end) both}
@keyframes ud-tpop{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}
.hfloat{animation:ud-float 6s ease-in-out infinite alternate}
@keyframes ud-float{from{transform:translateY(-6px)}to{transform:translateY(6px)}}
@keyframes ud-par1{to{transform:translateY(-90px)}}
@keyframes ud-par2{to{transform:translateY(-40px)}}
@supports (animation-timeline: scroll()){.hero-tiles{animation:ud-par1 linear both;animation-timeline:scroll(nearest);animation-range:0 700px}.hero-h{animation:ud-par2 linear both;animation-timeline:scroll(nearest);animation-range:0 700px}}
@media (max-width: 1055px){.hero-h{grid-column:1 / -1}.hero-side{grid-column:1 / 9;grid-row:3;margin:24px 0 0;background:none;padding:0}.hero-tiles{display:none}}
.cmp{border-top:1px solid #161616}
.cmp-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.4fr);column-gap:32px;padding:12px 0;font-size:12px;color:#525252;border-bottom:1px solid #e0e0e0}
.cmp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.4fr);column-gap:32px;padding:24px 0;border-bottom:1px solid #e0e0e0;align-items:start;transition:background-color .15s}
.cmp-k{display:flex;flex-direction:column;gap:6px}
.cmp-old,.cmp-new{display:flex;gap:12px;font-size:16px;line-height:1.5}
.cmp-old{color:#8d8d8d}
.cmp-new{color:#161616;position:relative;padding-left:16px}
.cmp-new::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;background:#d8180b;transform-origin:50% 0;transform:scaleY(.35);transition:transform .25s cubic-bezier(.2,0,.38,.9)}
.cmp-row:hover .cmp-new::before{transform:scaleY(1)}
.cmp-row:hover{background:#f4f4f4}
.cmp-mark{flex-shrink:0;width:12px;font-size:14px}
.cmp-old .cmp-mark{color:#c6c6c6}
.cmp-new .cmp-mark{color:#d8180b}
@supports (animation-timeline: view()){.cmp-new::before{animation:ud-bar2 linear both;animation-timeline:view();animation-range:entry 30% cover 45%}}
@keyframes ud-bar2{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.flowzone{position:relative}
.flowzone>section,.flowzone>div:not(.flowlines),.flowzone>figure{position:relative;z-index:1}
.fpulse{stroke-dasharray:.006 .994;stroke-dashoffset:.006;animation:ud-fpulse 48s linear infinite}
@keyframes ud-fpulse{from{stroke-dashoffset:.006}to{stroke-dashoffset:-.994}}
@keyframes ud-fdraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@supports (animation-timeline: scroll()){.fdraw{stroke-dasharray:1;stroke-dashoffset:1;animation:ud-fdraw linear both;animation-timeline:scroll(nearest);animation-range:0% 85%}}
.dep{padding:24px;display:flex;flex-direction:column;gap:24px}
.dep-row{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-top:1px solid #e0e0e0}
.dep-row dt{font-size:12px;color:#525252}
.dep-row dd{margin:0;font-size:15px;line-height:1.45}
.ctls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e0e0e0;border:1px solid #e0e0e0}
.ctl{background:#ffffff;padding:20px;display:flex;flex-direction:column;gap:8px;transition:background-color .15s}
.ctl:hover{background:#f4f4f4}
.stds{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#e0e0e0;border:1px solid #e0e0e0}
.std{background:#f4f4f4;padding:16px;display:flex;flex-direction:column;gap:6px}
@media (max-width: 1055px){.ctls{grid-template-columns:repeat(2,minmax(0,1fr))}.stds{grid-template-columns:repeat(3,minmax(0,1fr))}}
.flowzone>.cband:first-child{margin-top:0!important}
.cband{position:relative;height:clamp(160px,19vw,280px);overflow:hidden;view-timeline-name:--cb;margin-top:48px}
@keyframes ud-cbl{from{opacity:0;transform:translateX(-120px)}to{opacity:1;transform:none}}
@keyframes ud-cbr{from{opacity:0;transform:translateX(120px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){
.cbl0,.cbl1,.cbl2,.cbl3{animation:ud-cbl steps(6,end) both;animation-timeline:--cb}
.cbr0,.cbr1,.cbr2,.cbr3{animation:ud-cbr steps(6,end) both;animation-timeline:--cb}
.cbl0,.cbr0{animation-range:entry 0% cover 30%}.cbl1,.cbr1{animation-range:entry 20% cover 38%}.cbl2,.cbr2{animation-range:entry 40% cover 46%}.cbl3,.cbr3{animation-range:entry 60% cover 54%}
}
.dith{display:block;width:100%;height:100%;image-rendering:pixelated}
.pill{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:14px;background:#f4f4f4;color:#161616;font-size:13px;line-height:1;white-space:nowrap}
.dcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.dcard{background:#ffffff;border-radius:16px;padding:10px;box-shadow:0 12px 40px rgba(22,22,22,.07),0 0 0 1px rgba(22,22,22,.04);display:flex;flex-direction:column;gap:8px}
.dcard-vis{position:relative;height:120px;border-radius:10px;overflow:hidden}
.dcard-vis .pill{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.92)}
.dcard-body{padding:14px 14px 10px;display:flex;flex-direction:column;gap:8px}
.xcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.xcard{background:#ffffff;border-radius:16px;box-shadow:0 12px 40px rgba(22,22,22,.07),0 0 0 1px rgba(22,22,22,.04);transition:box-shadow .2s cubic-bezier(.2,0,.38,.9),transform .2s cubic-bezier(.2,0,.38,.9)}
.xcard:hover{box-shadow:0 18px 48px rgba(22,22,22,.11),0 0 0 1px rgba(22,22,22,.05);transform:translateY(-2px)}
.xcard summary{list-style:none;display:flex;gap:18px;padding:10px;cursor:pointer}
.xcard summary::-webkit-details-marker{display:none}
.xcard summary:focus-visible{outline:2px solid #161616;outline-offset:2px;border-radius:16px}
.xcard-vis{flex:0 0 36%;aspect-ratio:3 / 4;border-radius:10px;overflow:hidden;align-self:stretch}
.xcard-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:8px 8px 4px 0}
.xcard-foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center}
.plus{width:36px;height:36px;border-radius:18px;background:#161616;color:#ffffff;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;transition:transform .2s cubic-bezier(.2,0,.38,.9),background-color .15s}
.xcard[open] .plus{transform:rotate(45deg);background:#d8180b}
.xcard-more{margin:0;padding:0 20px 18px;font-size:15px;line-height:1.5;color:#393939;animation:ud-in .3s cubic-bezier(.2,0,.38,.9) both}
.stds{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.std{background:#ffffff;border-radius:12px;box-shadow:0 0 0 1px #e0e0e0;padding:0 14px 14px;display:flex;flex-direction:column;gap:6px;overflow:hidden}
.std .bar{height:6px;margin:0 -14px 8px;width:calc(100% + 28px)}
@media (max-width: 1055px){.stds{grid-template-columns:repeat(3,minmax(0,1fr))}.xcards{grid-template-columns:minmax(0,1fr)}}
.deps2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dep2{background:#f4f4f4;padding:10px 10px 24px;display:flex;flex-direction:column;gap:10px;transition:background-color .15s}
.dep2>*:not(.dep2-vis){margin-left:14px!important;margin-right:14px!important}
.dep2-vis{height:112px;overflow:hidden;margin-bottom:10px}
.dep2-hi{background:#ffffff;box-shadow:0 0 0 2px #d8180b,0 16px 40px rgba(216,24,11,.12)}
.dep2.dep2-hi:hover{background:#ffffff}
.dep2-hi .dep2-vis{height:168px}
.deps2{align-items:start}
.soon{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:11px;background:#161616;color:#ffffff;font-size:11px;letter-spacing:.32px;text-transform:uppercase}
.dep2:hover{background:#ececec}
.dark{background:#161616;color:#f4f4f4;padding-bottom:96px}
.dark .sh-dark::before{background:#393939}
.scgrid{margin-top:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:12px}
.sc{border-radius:4px;padding:24px;display:flex;flex-direction:column;gap:10px;min-height:220px;overflow:hidden;position:relative;transition:transform .2s cubic-bezier(.2,0,.38,.9)}
.sc:hover{transform:translateY(-3px)}
.sc.r2{grid-row:span 2}
.sc-wide{grid-column:1 / -1;min-height:0}
.sc .art{margin-top:auto;width:100%;height:auto;display:block;opacity:.9;padding-top:16px}
.sc:hover .art{opacity:1}
.sc-red{background:#d8180b;color:#ffffff}
.sc-orange{background:#f25a12;color:#161616}
.sc-dark{background:#262626;color:#f4f4f4}
.sc-light{background:#f4f4f4;color:#161616}
.stds2{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.std2{border:1px solid #393939;border-radius:4px;padding:14px;display:flex;flex-direction:column;gap:6px;color:#f4f4f4}
@media (max-width: 1055px){.deps2{grid-template-columns:minmax(0,1fr)}.dep2-hi{order:-1}.scgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.stds2{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ft{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid #e0e0e0}
.ft li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #e0e0e0;font-size:15px;line-height:1.4}
.ft-mk{flex-shrink:0;width:12px;font-size:14px;line-height:1.4}
.ft-tx{display:flex;flex-direction:column;gap:2px}
.ft-note{font-size:12px;color:#525252}
.ft-y .ft-mk{color:#161616}.dep2-hi .ft-y .ft-mk{color:#d8180b}
.ft-p .ft-mk{color:#8d8d8d}
.ft-n{color:#a8a8a8}.ft-n .ft-mk{color:#c6c6c6}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.faqs{border-top:1px solid #161616}
.faq{border-bottom:1px solid #e0e0e0}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;cursor:pointer;font-size:18px;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary:focus-visible{outline:2px solid #161616;outline-offset:2px}
.faq-i{position:relative;flex-shrink:0;width:14px;height:14px}
.faq-i::before,.faq-i::after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:#161616;transition:transform .2s cubic-bezier(.2,0,.38,.9),background-color .15s}
.faq-i::after{transform:rotate(90deg)}
.faq[open] .faq-i::after{transform:rotate(0)}
.faq[open] .faq-i::before,.faq[open] .faq-i::after{background:#d8180b}
.faq summary:hover span:first-child{color:#b01409}
.faq p{margin:0;padding:0 40px 22px 0;font-size:16px;line-height:1.6;color:#393939;animation:ud-in .3s cubic-bezier(.2,0,.38,.9) both}
.pform{background:#ffffff;padding:28px;display:flex;flex-direction:column;gap:18px}
.pf-row{display:flex;flex-direction:column;gap:6px;min-width:0}
.pf-row label{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.32px;color:#525252}
.pf-row input,.pf-row select{height:48px;border:0;border-bottom:1px solid #8d8d8d;background:#f4f4f4;padding:0 14px;font:inherit;font-size:16px;color:#161616;border-radius:0;outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.pf-row select{background-image:linear-gradient(45deg,transparent 50%,#161616 50%),linear-gradient(135deg,#161616 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.pf-row input:focus,.pf-row select:focus{box-shadow:inset 0 0 0 2px #161616;border-bottom-color:transparent}
.pf-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pf-err:empty{display:none}
@media (hover: none){.tile.sr:active{background:#e8e8e8}.nb:active{background:#161616!important;color:#ffffff!important}}
@keyframes ud-note{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.note{animation:ud-note .35s cubic-bezier(.2,0,.38,.9) both;transition:background-color .15s}
.note:hover{background:#f4f4f4!important}
.rise{animation:ud-riseup 1.1s cubic-bezier(.2,0,.38,.9) both}
.led{animation:ud-led 2s ease-in-out infinite}
.fan{animation:ud-spin 2s steps(8,end) infinite}
.emN0,.emN1,.emN2,.emN3{opacity:0}
@supports (animation-timeline: view()){.grow{animation:ud-growy cubic-bezier(.2,0,.38,.9) both;animation-timeline:view();animation-range:entry 20% cover 40%}}
.lineup{view-timeline-name:--lu}
@supports (animation-timeline: view()){
.sr{animation:ud-in linear both;animation-timeline:view();animation-range:entry 0% cover 20%}
.sr-scan{animation:ud-scanin steps(31,end) both;animation-timeline:view();animation-range:entry 25% cover 50%}
.sr-wipe{animation:ud-wipe steps(40,end) both;animation-timeline:view();animation-range:entry 20% cover 50%}
.emA0{animation:ud-show steps(2,end) both;animation-timeline:--lu;animation-range:entry 40% cover 28%}
.emA1{animation:ud-show steps(2,end) both;animation-timeline:--lu;animation-range:cover 22% cover 32%}
.emA2{animation:ud-show steps(2,end) both;animation-timeline:--lu;animation-range:cover 27% cover 37%}
.emA3{animation:ud-show steps(2,end) both;animation-timeline:--lu;animation-range:cover 32% cover 42%}
.emN0{animation:ud-hide steps(2,end) both;animation-timeline:--lu;animation-range:cover 20% cover 30%}
.emN1{animation:ud-hide steps(2,end) both;animation-timeline:--lu;animation-range:cover 26% cover 36%}
.emN2{animation:ud-hide steps(2,end) both;animation-timeline:--lu;animation-range:cover 32% cover 42%}
.emN3{animation:ud-hide steps(2,end) both;animation-timeline:--lu;animation-range:cover 38% cover 48%}
}
.cv{content-visibility:auto;contain-intrinsic-size:auto 1000px}
.m-only{display:none}
@media (max-width: 1055px){
.g16>*{grid-column:1 / -1!important}
.t4{grid-template-columns:repeat(2,minmax(0,1fr))}
.fr{grid-template-columns:104px 1fr!important}
.fr-face{grid-row:1 / span 3;align-self:start}
.fr-c2{grid-column:2}
.fr-head{display:none!important}
.cards>*{margin-top:0!important}
.nav{display:none!important}
}
@media (max-width: 671px){
.wrap{padding:0 16px}
.pf-2{grid-template-columns:minmax(0,1fr)}
.pform{padding:20px}
.faq summary{font-size:17px}
.scgrid{grid-template-columns:minmax(0,1fr)}
.sc.r2{grid-row:auto}
.sc{min-height:0}
.stds2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dark{padding-bottom:64px}

.dcards{grid-template-columns:minmax(0,1fr);gap:16px}
.xcards{gap:14px}
.xcard summary{gap:14px}
.xcard-vis{flex-basis:32%}
.stds{grid-template-columns:repeat(2,minmax(0,1fr))}

.cband{height:200px;margin-top:32px}
.ctls{grid-template-columns:minmax(0,1fr)}
.stds{grid-template-columns:repeat(2,minmax(0,1fr))}
.dep{padding:16px}

.cmp-head{display:none}
.cmp-row{grid-template-columns:minmax(0,1fr);row-gap:12px;padding:20px 0}
.cmp-old,.cmp-new{font-size:15px}

.hero{min-height:0;padding:0 16px;display:flex;flex-direction:column}
.hero-in{grid-template-columns:minmax(0,1fr);padding-top:32px}
.hero-h,.hero-side{grid-column:1 / -1}
.hero-side{margin:24px 0 0}
.hero-h{font-size:clamp(40px,11vw,56px)}
.hero-rib{position:relative;height:360px;margin:24px -16px 0}
.hero-lines{inset:0 0 360px 0}
.hero-tiles{display:none}

.lede{font-size:17px!important}
.herobtns{flex-wrap:nowrap!important;gap:8px!important}
.herobtns a{flex:1 1 0;min-width:0;padding:0 12px;gap:8px}
.g16 h2.c1-4{font-size:28px!important}
.m[style*="font-size: 12px"]{font-size:13px!important;letter-spacing:.16px}
.tile h3,.sr h3{font-size:18px!important}
.fr span[style*="font-size: 16px"]{font-size:15px!important}
#pilot .btn{flex:1 1 auto}
.hdr-btn{padding:0 14px!important;gap:10px!important}
.m-only{display:block!important}

.demo-tile{padding:12px!important;margin-top:24px!important}
.g16 p.c5-12{font-size:17px!important}
.g16 h2.c1-4{margin-bottom:12px!important}
.gal{padding:8px 16px 24px}
.galsticky{min-height:560px}
.gcard{height:min(520px, calc(100svh - 170px))}
.band{height:240px!important}
.sec{padding-top:64px}
.t3,.t4{grid-template-columns:minmax(0,1fr)}
.d-only{display:none!important}.m-only{display:block!important}
.mnav{display:flex!important}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.hero-h .w{opacity:1}*{animation:none!important;transition:none!important}.sh::before{transform:none}.gal{scroll-behavior:auto}.rb{stroke-dasharray:none}.rbt{opacity:1}}
