/*! Devices.css v0.2.0 | MIT License | github.com/picturepan2/devices.css
   Extrait : iPhone 14 Pro, Google Pixel 6 Pro, MacBook Pro. */.device,.device *,.device :after,.device :before,.device:after,.device:before{box-sizing:border-box;display:block}.device{position:relative;transform:scale(1)}.device,.device .device-frame{z-index:1}.device .device-screen{background-color:#000;background-position:50%;background-size:cover;-o-object-fit:cover;object-fit:cover;position:relative}.device-iphone-14-pro{height:868px;width:428px}.device-iphone-14-pro .device-frame{background:#010101;border:1px solid #1b1721;border-radius:68px;box-shadow:inset 0 0 4px 2px #c0b7cd,inset 0 0 0 6px #342c3f;height:868px;padding:19px;width:428px}.device-iphone-14-pro .device-screen{border-radius:49px;height:830px;width:390px}.device-iphone-14-pro .device-stripe:after,.device-iphone-14-pro .device-stripe:before{border:solid rgba(1,1,1,.25);border-width:0 7px;content:"";height:7px;left:0;position:absolute;width:100%;z-index:9}.device-iphone-14-pro .device-stripe:after{top:85px}.device-iphone-14-pro .device-stripe:before{bottom:85px}.device-iphone-14-pro .device-header{background:#010101;border-radius:20px;height:35px;left:50%;margin-left:-60px;position:absolute;top:29px;width:120px}.device-iphone-14-pro .device-sensors:after,.device-iphone-14-pro .device-sensors:before{content:"";position:absolute}.device-iphone-14-pro .device-sensors:after{background:#010101;border-radius:17px;height:33px;left:50%;margin-left:-60px;top:30px;width:74px}.device-iphone-14-pro .device-sensors:before{background:radial-gradient(farthest-corner at 20% 20%,#6074bf 0,transparent 40%),radial-gradient(farthest-corner at 80% 80%,#513785 0,#24555e 20%,transparent 50%);border-radius:50%;box-shadow:0 0 1px 1px hsla(0,0%,100%,.05);height:9px;left:50%;margin-left:36px;top:42px;width:9px}.device-iphone-14-pro .device-btns{background:#1b1721;border-radius:2px;height:32px;left:-2px;position:absolute;top:115px;width:3px}.device-iphone-14-pro .device-btns:after,.device-iphone-14-pro .device-btns:before{background:#1b1721;border-radius:2px;content:"";height:62px;left:0;position:absolute;width:3px}.device-iphone-14-pro .device-btns:after{top:60px}.device-iphone-14-pro .device-btns:before{top:140px}.device-iphone-14-pro .device-power{background:#1b1721;border-radius:2px;height:100px;position:absolute;right:-2px;top:200px;width:3px}.device-iphone-14-pro .device-home:after,.device-iphone-14-pro .device-home:before{border:solid rgba(1,1,1,.25);border-width:6px 0;content:"";height:6px;position:absolute;width:6px;z-index:9}.device-iphone-14-pro .device-home:after{right:86px;top:0}.device-iphone-14-pro .device-home:before{bottom:0;left:86px}.device-iphone-14-pro.device-silver .device-frame{border-color:#c8cacb;box-shadow:inset 0 0 4px 2px #fff,inset 0 0 0 6px #e2e3e4}.device-iphone-14-pro.device-silver .device-btns,.device-iphone-14-pro.device-silver .device-btns:after,.device-iphone-14-pro.device-silver .device-btns:before,.device-iphone-14-pro.device-silver .device-power{background:#c8cacb}.device-iphone-14-pro.device-black .device-frame{border-color:#5c5956;box-shadow:inset 0 0 4px 2px #fff,inset 0 0 0 6px #76726f}.device-iphone-14-pro.device-black .device-btns,.device-iphone-14-pro.device-black .device-btns:after,.device-iphone-14-pro.device-black .device-btns:before,.device-iphone-14-pro.device-black .device-power{background:#5c5956}.device-iphone-14-pro.device-gold .device-frame{border-color:#e7d19e;box-shadow:inset 0 0 4px 2px #fff,inset 0 0 0 6px #d2ab4c}.device-iphone-14-pro.device-gold .device-btns,.device-iphone-14-pro.device-gold .device-btns:after,.device-iphone-14-pro.device-gold .device-btns:before,.device-iphone-14-pro.device-gold .device-power{background:#e7d19e}.device-google-pixel-6-pro{height:862px;width:404px}.device-google-pixel-6-pro .device-frame{background:#121212;border-radius:28px;box-shadow:inset 0 0 12px #8d8d86,inset 0 7px 0 3px #fdfdfc,inset 0 -6px 0 3px #fdfdfc;height:862px;margin:0 2px;padding:20px 12px 26px;width:400px}.device-google-pixel-6-pro .device-screen{border-radius:27px;height:816px;width:376px}.device-google-pixel-6-pro .device-header{background:linear-gradient(180deg,#8d8d86 0,#cbcbc8 30%,#cbcbc8);height:10px;left:50%;margin-left:-147px;position:absolute;top:0;width:294px}.device-google-pixel-6-pro .device-stripe:after{background:linear-gradient(0deg,#121212,#666661);border-radius:50px 50px 0 0;bottom:0;content:"";height:2px;left:50%;margin-left:-22px;position:absolute;width:44px}.device-google-pixel-6-pro .device-stripe:before{background:#cbcbc8;bottom:0;content:"";height:9px;left:50%;margin-left:40px;position:absolute;width:11px}.device-google-pixel-6-pro .device-sensors{background:#121212;border-radius:50%;height:22px;left:50%;margin-left:-11px;margin-top:-11px;position:absolute;top:39px;width:22px}.device-google-pixel-6-pro .device-sensors:after,.device-google-pixel-6-pro .device-sensors:before{content:"";position:absolute}.device-google-pixel-6-pro .device-sensors:after{background:linear-gradient(180deg,#121212,#666661);border-radius:0 0 50px 50px;height:4px;left:50%;margin-left:-103px;top:-18px;width:206px}.device-google-pixel-6-pro .device-sensors:before{background:radial-gradient(farthest-corner at 20% 20%,#6074bf 0,transparent 40%),radial-gradient(farthest-corner at 80% 80%,#513785 0,#24555e 20%,transparent 50%);border-radius:50%;box-shadow:0 0 1px 1px hsla(0,0%,100%,.05);height:8px;left:7px;top:7px;width:8px}.device-google-pixel-6-pro .device-btns{background:#b2b2ae;height:102px;position:absolute;right:0;top:306px;width:3px}.device-google-pixel-6-pro .device-power{background:#b2b2ae;height:58px;position:absolute;right:0;top:194px;width:3px}.device-google-pixel-6-pro.device-gold .device-frame{box-shadow:inset 0 0 12px #ff962e,inset 0 7px 0 3px #fff,inset 0 -6px 0 3px #fff}.device-google-pixel-6-pro.device-gold .device-header{background:linear-gradient(180deg,#ff962e 0,#ffd6ad 30%,#ffd6ad)}.device-google-pixel-6-pro.device-gold .device-stripe:after{background:linear-gradient(0deg,#121212,#e07000)}.device-google-pixel-6-pro.device-gold .device-stripe:before{background:#ffd6ad}.device-google-pixel-6-pro.device-gold .device-btns,.device-google-pixel-6-pro.device-gold .device-power{background:#ffbd7a}.device-google-pixel-6-pro.device-black .device-frame{box-shadow:inset 0 0 12px #000,inset 0 7px 0 3px #646668,inset 0 -6px 0 3px #646668}.device-google-pixel-6-pro.device-black .device-header{background:linear-gradient(180deg,#000 0,#323334 30%,#323334)}.device-google-pixel-6-pro.device-black .device-stripe:after{background:linear-gradient(0deg,#121212,#000)}.device-google-pixel-6-pro.device-black .device-stripe:before{background:#323334}.device-google-pixel-6-pro.device-black .device-btns,.device-google-pixel-6-pro.device-black .device-power{background:#191a1a}.device-macbook-pro{height:434px;width:740px}.device-macbook-pro .device-frame{background:#0d0d0d;border-radius:20px;box-shadow:inset 0 0 0 2px #c8cacb;height:418px;margin:0 auto;padding:9px 9px 23px;position:relative;width:618px}.device-macbook-pro .device-frame:after{background:linear-gradient(180deg,#272727,#0d0d0d);border-radius:0 0 20px 20px;bottom:2px;content:"";height:24px;left:2px;position:absolute;width:614px}.device-macbook-pro .device-header{background:#0d0d0d;border-bottom-left-radius:4px;border-bottom-right-radius:4px;height:12px;left:50%;margin-left:-32px;position:absolute;top:11px;width:64px;z-index:2}.device-macbook-pro .device-header:after,.device-macbook-pro .device-header:before{content:"";height:4px;position:absolute;top:0;width:4px}.device-macbook-pro .device-header:after{background:radial-gradient(circle at bottom left,transparent 0,transparent 75%,#0d0d0d 0,#0d0d0d 100%);left:-4px}.device-macbook-pro .device-header:before{background:radial-gradient(circle at bottom right,transparent 0,transparent 75%,#0d0d0d 0,#0d0d0d 100%);right:-4px}.device-macbook-pro .device-screen{border:2px solid #121212;border-radius:10px 10px 0 0;height:375px;width:600px}.device-macbook-pro .device-power{background:radial-gradient(circle at center,#e2e3e4 85%,#c8cacb 100%);border-radius:2px 2px 12px 12px;border:solid #a0a3a7;border-width:1px 2px 0;box-shadow:inset 0 -2px 8px 0 #6c7074;height:24px;margin-top:-10px;position:relative;width:740px;z-index:9}.device-macbook-pro .device-power:after{background:#e2e3e4;border-radius:0 0 10px 10px;box-shadow:inset 0 0 4px 2px #babdbf;content:"";height:10px;left:50%;margin-left:-60px;position:absolute;top:0;width:120px}.device-macbook-pro .device-power:before{background:transparent;border-radius:0 0 3px 3px;bottom:-2px;box-shadow:-300px 0 #272727,300px 0 #272727;content:"";height:2px;left:50%;margin-left:-20px;position:absolute;width:40px}.device-macbook-pro.device-spacegray .device-frame{box-shadow:inset 0 0 0 2px #767a7d}.device-macbook-pro.device-spacegray .device-power{background:radial-gradient(circle at center,#83878a 85%,#767a7d 100%);border-color:#454749;box-shadow:inset 0 -2px 8px 0 #202121}.device-macbook-pro.device-spacegray .device-power:after{background:#b7babc;box-shadow:inset 0 0 4px 2px #6a6d70}@keyframes csPageIn{0%{opacity:0}to{opacity:1}}@keyframes csSectionIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cs-odisei{--cs-fg:#44403c;--cs-fg-muted:#79716b;--cs-surface-cream:#faf3e5;--cs-surface-card:#fdf8ee;--cs-line:rgba(68,64,60,.16);--cs-line-strong:rgba(68,64,60,.3);--cs-brand-400:#3729ff;--cs-green-400:#3ccb7f;--cs-pink-400:#f670c7;--cs-orange-400:#f38744;--cs-yellow-400:#fac515;--cs-gray-neutral-700:#384250;--cs-gray-warm-700:#44403c;--cs-ease:cubic-bezier(0.22,1,0.36,1);--cs-font-display:Futura,"Futura PT",Jost,"Century Gothic",sans-serif;--cs-font-display-weight:600;--cs-font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--cs-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--cs-surface-cream);color:var(--cs-fg);font-family:var(--cs-font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;width:100%;overflow-x:clip}.cs-odisei *,.cs-odisei :after,.cs-odisei :before{box-sizing:border-box}.cs-odisei a{color:inherit}.cs-odisei .page{max-width:1016px;margin:0 auto;padding:40px 48px 120px;animation:csPageIn .5s var(--cs-ease) both}.cs-odisei .nav-back{animation:csSectionIn .5s var(--cs-ease) 80ms both}.cs-odisei .hero{animation:csSectionIn .6s var(--cs-ease) .14s both}.cs-odisei [data-in]:not([data-stagger]){transition:opacity .64s var(--cs-ease),transform .64s var(--cs-ease)}html[data-js="1"] .cs-odisei [data-in=false]:not([data-stagger]){opacity:0;transform:translateY(20px)}@media (prefers-reduced-motion:reduce){.cs-odisei .cs-footer,.cs-odisei .hero,.cs-odisei .nav-back,.cs-odisei .page{animation:none}html[data-js="1"] .cs-odisei [data-in=false]:not([data-stagger]){opacity:1;transform:none}html[data-js="1"] .cs-odisei .words .w>span,html[data-js="1"] .cs-odisei :is(.cs-section>*,.sec-head>*,.subsec>*),html[data-js="1"] .cs-odisei [data-stagger]>*{opacity:1!important;translate:none!important;filter:none!important}.cs-odisei *,.cs-odisei :after,.cs-odisei :before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.cs-odisei .nav-back{padding:0 0 12px;display:flex;align-items:center;justify-content:space-between;gap:16px}.cs-odisei .lang-switch{display:inline-flex;padding:3px;gap:2px;border-radius:999px;border:1.5px solid rgba(68,64,60,.18)}.cs-odisei .lang-switch button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;min-width:40px;padding:7px 12px;border-radius:999px;background:transparent;color:var(--cs-fg-muted);font-family:var(--cs-font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;transition:background .2s ease,color .2s ease}.cs-odisei .lang-switch button:hover{color:var(--cs-fg)}.cs-odisei .lang-switch button[aria-pressed=true]{background:var(--cs-fg);color:var(--cs-surface-cream)}.cs-odisei .lang-switch button:focus-visible{outline:2px solid var(--cs-brand-400);outline-offset:2px}.cs-odisei .book-call{position:fixed;z-index:50;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;background:var(--cs-brand-400);color:#fff;font-family:var(--cs-font-mono);font-size:14px;letter-spacing:.01em;text-decoration:none;box-shadow:0 14px 30px -12px rgba(55,41,255,.6),inset 0 0 0 1.5px hsla(0,0%,100%,.16);transition:transform .26s var(--cs-ease),opacity .26s var(--cs-ease),box-shadow .2s ease}.cs-odisei .book-call[data-shown=false]{opacity:0;transform:translateY(16px);pointer-events:none}.cs-odisei .book-call:hover{transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(55,41,255,.7),inset 0 0 0 1.5px hsla(0,0%,100%,.22)}.cs-odisei .book-call:focus-visible{outline:2px solid var(--cs-fg);outline-offset:3px}.cs-odisei .book-call-dot{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px hsla(0,0%,100%,.28)}@media (max-width:520px){.cs-odisei .book-call{padding:12px 16px;font-size:13px}}.cs-odisei .btn-back{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 14px;border-radius:999px;background:transparent;color:var(--cs-fg);border:1.5px solid rgba(68,64,60,.18);font-family:var(--cs-font-mono);font-size:13px;letter-spacing:.02em;text-decoration:none;transition:transform .2s cubic-bezier(.22,1.8,.36,1),border-color .2s ease,color .2s ease}.cs-odisei .btn-back .arrow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--cs-fg);color:var(--cs-surface-cream);font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:14px;line-height:1;transition:background .2s ease,color .2s ease,transform .2s ease}.cs-odisei .btn-back:hover{transform:translateY(-2px);border-color:var(--cs-brand-400);color:var(--cs-brand-400)}.cs-odisei .btn-back:hover .arrow{background:var(--cs-brand-400);color:#fff;transform:translateX(-2px)}.cs-odisei .hero{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end;padding:72px 0 80px}.cs-odisei .hero>*{min-width:0}.cs-odisei .hero h1{font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:83px;line-height:.92;letter-spacing:-4.5px;margin:0 0 28px;color:var(--cs-fg);text-wrap:balance;white-space:pre-line}.cs-odisei .hero .lede{font-size:19px;line-height:1.55;color:var(--cs-fg);max-width:34ch;margin:0}.cs-odisei .meta{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:32px 0;border-top:1px solid var(--cs-line);border-bottom:1px solid var(--cs-line)}.cs-odisei .meta .col{display:flex;flex-direction:column;gap:6px}.cs-odisei .meta .k{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--cs-fg-muted)}.cs-odisei .meta .v{font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:22px;line-height:1.05;letter-spacing:-.5px;color:var(--cs-fg)}.cs-odisei .meta .sub{font-size:12px;color:var(--cs-fg-muted)}.cs-odisei .flow{display:grid;gap:20px}.cs-odisei .flow-lane{border:1.5px solid var(--cs-line);border-radius:24px;padding:22px 26px 26px;background:var(--cs-surface-card)}.cs-odisei .flow-lane[data-when=after]{border-color:rgba(55,41,255,.28);background:rgba(55,41,255,.045)}.cs-odisei .lane-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.cs-odisei .lane-tag{font-size:11px;text-transform:uppercase;letter-spacing:.16em;padding:5px 13px;border-radius:999px;background:var(--cs-orange-400);color:#fff}.cs-odisei .lane-tag[data-accent=true]{background:var(--cs-brand-400)}.cs-odisei .lane-cost{font-size:12.5px;color:var(--cs-fg-muted);letter-spacing:.03em}.cs-odisei .lane-track{display:flex;align-items:stretch}.cs-odisei .fnode{flex:1;position:relative;display:flex;align-items:center;min-height:68px;padding:16px 20px;border-radius:16px;background:#fff;border:1.5px solid var(--cs-line)}.cs-odisei .fnode b{font-weight:600;font-size:15px;line-height:1.35}.cs-odisei .fnode[data-kind=dup]{border-color:var(--cs-orange-400)}.cs-odisei .fnode[data-kind=drift]{border-style:dashed}.cs-odisei .fnode[data-kind=merged]{border-color:var(--cs-brand-400)}.cs-odisei .fnode[data-kind=merged] b{color:var(--cs-brand-400)}.cs-odisei .dup-badge{position:absolute;top:-11px;right:16px;font-style:normal;font-size:11px;letter-spacing:.06em;padding:3px 9px;border-radius:999px;background:var(--cs-orange-400);color:#fff}.cs-odisei .fedge{flex:0 0 96px;position:relative;display:grid;place-items:center}.cs-odisei .fedge-line{position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:var(--cs-line-strong);border-radius:2px}.cs-odisei .fedge[data-accent=true] .fedge-line{background:var(--cs-brand-400)}.cs-odisei .pulse{position:absolute;top:50%;left:0;width:28px;height:3px;margin-top:-1.5px;border-radius:3px;background:linear-gradient(90deg,transparent,hsla(26,6%,45%,.45) 70%,transparent);opacity:0}.cs-odisei .fedge[data-accent=true] .pulse{background:linear-gradient(90deg,transparent,var(--cs-brand-400) 60%,#fff 85%,transparent);height:4px;margin-top:-2px;filter:drop-shadow(0 0 4px rgba(55,41,255,.6))}.cs-odisei [data-in=true] .pulse{animation:flowPulse 2.6s var(--pulse-delay,0s) cubic-bezier(.45,0,.2,1) infinite}@keyframes flowPulse{0%{left:-8px;opacity:0}15%{opacity:1}80%{opacity:1}to{left:calc(100% - 20px);opacity:0}}.cs-odisei .fedge-chip{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;border:1.5px solid var(--cs-line-strong);color:var(--cs-fg-muted);box-shadow:0 4px 10px -4px rgba(68,64,60,.25)}.cs-odisei .fedge-chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cs-odisei .fedge[data-accent=true] .fedge-chip{background:var(--cs-brand-400);border-color:var(--cs-brand-400);color:#fff;box-shadow:0 6px 16px -6px rgba(55,41,255,.7),0 0 0 4px rgba(55,41,255,.12)}.cs-odisei [data-in=true] .fedge-chip{animation:chipNudge 2.6s var(--pulse-delay,0s) ease-in-out infinite}.cs-odisei [data-in=true] .fedge-chip svg{animation:arrowNudge 2.6s var(--pulse-delay,0s) ease-in-out infinite}@keyframes chipNudge{0%,35%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes arrowNudge{0%,35%,to{transform:translateX(0)}50%{transform:translateX(2px)}}.cs-odisei .lane-loop{position:relative;height:42px;margin:14px 10% 0;border:1.5px dashed var(--cs-orange-400);border-top:none;border-radius:0 0 18px 18px;opacity:.85}.cs-odisei .lane-loop:before{content:"";position:absolute;left:-6px;top:-3px;width:10px;height:10px;border-left:1.5px solid var(--cs-orange-400);border-top:1.5px solid var(--cs-orange-400);transform:rotate(45deg)}.cs-odisei .loop-label{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);background:var(--cs-surface-card);padding:0 12px;font-size:11.5px;letter-spacing:.06em;color:var(--cs-orange-400);white-space:nowrap}.cs-odisei .band{margin:0 0 52px}.cs-odisei .band-track{display:flex;align-items:stretch;height:72px;border-radius:16px;overflow:hidden}.cs-odisei [data-in=true] .band-track{animation:bandIn 1s var(--cs-ease) .12s both}@keyframes bandIn{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.cs-odisei .band-seg{display:flex;align-items:center;padding:0 24px;min-width:0}.cs-odisei .band-seg[data-phase=design]{flex:0 0 70%;background-color:#efe5d0;background-image:repeating-linear-gradient(135deg,rgba(68,64,60,.1) 0 6px,transparent 6px 13px);color:var(--cs-fg-muted)}.cs-odisei .band-seg[data-phase=code]{flex:1;background-color:var(--cs-brand-400);background-image:repeating-linear-gradient(90deg,hsla(0,0%,100%,.26) 0 1.5px,transparent 1.5px 9px);color:#fff}.cs-odisei .band-seg-label{font-size:13px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-odisei .band-switch{flex:0 0 3px;background:var(--cs-fg);position:relative}.cs-odisei .band-switch-dot{position:absolute;top:50%;left:50%;width:15px;height:15px;margin:-7.5px 0 0 -7.5px;border-radius:50%;background:var(--cs-fg);box-shadow:0 0 0 4px var(--cs-surface-cream)}.cs-odisei .band-axis{position:relative;display:flex;justify-content:space-between;padding-top:12px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--cs-fg-muted)}.cs-odisei .band-axis-mark{position:absolute;left:70%;top:12px;transform:translateX(-50%);color:var(--cs-brand-400);white-space:nowrap}.cs-odisei .bento-wrap{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:12px;align-items:stretch}.cs-odisei .bento-wrap .stats{height:100%}.cs-odisei .bento-photo{position:relative;border-radius:28px;overflow:hidden;background:#44403c;min-height:100%;margin:0}.cs-odisei .bento-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 50%;object-position:50% 50%;display:block}.cs-odisei .stats{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.cs-odisei .stat{position:relative;padding:32px;border-radius:28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;gap:16px}.cs-odisei .stat:after{content:"";position:absolute;inset:0;border:6px solid hsla(0,0%,100%,.2);border-radius:inherit;pointer-events:none}.cs-odisei .stat[data-color=dark]:after{border-color:hsla(0,0%,100%,.1)}.cs-odisei .stat .num{font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);line-height:.9;letter-spacing:-2.5px}.cs-odisei .stat .num .unit{font-size:.5em;margin-left:4px;letter-spacing:-.02em}.cs-odisei .stat .label{font-size:14px;line-height:1.45}.cs-odisei .stat .qualifier{display:block;margin-top:8px;font-size:12px;line-height:1.4;opacity:.78}.cs-odisei .stat[data-tier=hero]{grid-column:span 7;min-height:250px}.cs-odisei .stat[data-tier=hero] .num{font-size:112px;letter-spacing:-4px;white-space:nowrap}.cs-odisei .stat[data-tier=outcome]{grid-column:span 5;min-height:250px}.cs-odisei .stat[data-tier=outcome] .num{font-size:96px;letter-spacing:-3.5px}.cs-odisei .stat[data-tier=process]{grid-column:span 12;min-height:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:28px;padding:24px 32px}.cs-odisei .stat[data-tier=process] .num{font-size:64px;letter-spacing:-2px}.cs-odisei .stat[data-color=blue]{background:var(--cs-brand-400);color:#fff}.cs-odisei .stat[data-color=pink]{background:var(--cs-pink-400);color:#fff}.cs-odisei .stat[data-color=green]{background:var(--cs-green-400);color:#fff}.cs-odisei .stat[data-color=dark]{background:var(--cs-gray-neutral-700);color:#fff}.cs-odisei .found{margin:0}.cs-odisei .found-screens{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.cs-odisei .fscreen{border:1.5px solid var(--cs-line);border-radius:14px;padding:14px 13px 11px;background:var(--cs-surface-card);display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(-8px)}.cs-odisei [data-in=true] .fscreen{animation:fadeUp .5s var(--cs-ease) both;animation-delay:calc(var(--i) * 60ms + .48s)}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.cs-odisei .fscreen-bars{display:flex;flex-direction:column;gap:5px}.cs-odisei .fscreen-bars i{display:block;height:5px;border-radius:3px;background:rgba(55,41,255,.22)}.cs-odisei .fscreen>span{font-family:var(--cs-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--cs-fg-muted)}.cs-odisei .found-feeds{display:grid;grid-template-columns:repeat(6,1fr);height:36px}.cs-odisei .found-feeds span{position:relative;opacity:0}.cs-odisei [data-in=true] .found-feeds span{animation:fadeIn .42s var(--cs-ease) both;animation-delay:calc(var(--i) * 60ms + .34s)}@keyframes fadeIn{to{opacity:1}}.cs-odisei .found-feeds span:before{content:"";position:absolute;left:50%;top:2px;bottom:0;width:1.5px;margin-left:-.75px;background:linear-gradient(0deg,rgba(55,41,255,.5),rgba(55,41,255,0))}.cs-odisei .found-feeds span:after{content:"";position:absolute;left:50%;top:0;width:8px;height:8px;margin-left:-4px;border-left:1.5px solid var(--cs-brand-400);border-top:1.5px solid var(--cs-brand-400);transform:rotate(45deg)}.cs-odisei .found-slab{display:flex;align-items:stretch;border-radius:22px;overflow:hidden;min-height:118px}.cs-odisei .found-part{display:flex;flex-direction:column;justify-content:center;padding:22px 26px;gap:6px;min-width:0}.cs-odisei .found-part[data-part=ds]{flex:0 0 70%;background:var(--cs-brand-400);color:#fff}.cs-odisei [data-in=true] .found-part[data-part=ds]{animation:slabIn .95s var(--cs-ease) .18s both}@keyframes slabIn{0%{flex-basis:0%}to{flex-basis:70%}}.cs-odisei .found-part[data-part=app]{flex:1;background:var(--cs-gray-neutral-700);color:hsla(0,0%,100%,.9)}.cs-odisei .found-part em{font-style:normal;font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:40px;line-height:1;letter-spacing:-1.6px}.cs-odisei .found-part b{font-weight:500;font-size:14px;line-height:1.35}.cs-odisei .found-part span{font-family:var(--cs-font-mono);font-size:11.5px;opacity:.8;line-height:1.4}.cs-odisei .found-caption{font-family:var(--cs-font-mono);margin-top:14px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--cs-fg-muted)}.cs-odisei .work{display:flex;flex-direction:column}.cs-odisei .row{display:grid;grid-template-columns:64px 1fr;gap:32px;padding:32px 0;border-top:1px solid var(--cs-line);align-items:baseline;transition:background .2s ease}.cs-odisei .row:hover{background:rgba(55,41,255,.03)}.cs-odisei .row.row-last{border-bottom:1px solid var(--cs-line)}.cs-odisei .row .n{font-size:36px;line-height:1;color:var(--cs-brand-400);letter-spacing:-1.5px}.cs-odisei .row .n,.cs-odisei .row .title{font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight)}.cs-odisei .row .title{font-size:30px;line-height:1.05;letter-spacing:-1.1px;color:var(--cs-fg);margin:0 0 10px}.cs-odisei .row .desc{font-size:15px;line-height:1.6;color:var(--cs-fg-muted);max-width:60ch;margin:0}.cs-odisei .cs-footer{display:flex;justify-content:space-between;align-items:center;padding-top:32px;margin-top:24px;border-top:1px solid var(--cs-line);font-size:12px;color:var(--cs-fg-muted);flex-wrap:wrap;gap:12px}.cs-odisei .band-axis,.cs-odisei .band-seg-label,.cs-odisei .btn,.cs-odisei .btn-back,.cs-odisei .cs-footer,.cs-odisei .dup-badge,.cs-odisei .lane-cost,.cs-odisei .lane-tag,.cs-odisei .loop-label,.cs-odisei .meta .k,.cs-odisei .meta .sub,.cs-odisei .stat .label,.cs-odisei .stat .qualifier{font-family:var(--cs-font-mono)}.cs-odisei .rd{margin:0;padding:28px;border-radius:28px;background:var(--cs-surface-card);border:1.5px solid var(--cs-line)}.cs-odisei .rd-stage{display:grid;grid-template-columns:minmax(0,1.15fr) 80px minmax(0,1fr);align-items:center;min-height:440px}.cs-odisei .rd-sb{border-radius:16px;overflow:hidden;background:#fff;border:1.5px solid var(--cs-line);box-shadow:0 18px 40px -24px rgba(68,64,60,.35)}.cs-odisei .rd-sb-bar,.cs-odisei .rd-sb-foot{display:flex;align-items:center;gap:8px;padding:9px 14px;font-family:var(--cs-font-mono);font-size:11px;letter-spacing:.04em;color:var(--cs-fg-muted)}.cs-odisei .rd-sb-bar{justify-content:space-between;border-bottom:1px solid var(--cs-line)}.cs-odisei .rd-sb-foot{border-top:1px solid var(--cs-line)}.cs-odisei .rd-sb-foot span:last-child{color:var(--cs-fg)}.cs-odisei .rd-sb-logo{display:inline-flex;align-items:center;gap:7px;color:var(--cs-fg);font-weight:600}.cs-odisei .rd-sb-logo:before{content:"";width:12px;height:14px;border-radius:3px;background:#ff4785}.cs-odisei .rd-sb-vp{padding:3px 9px;border-radius:999px;background:rgba(55,41,255,.08);color:var(--cs-brand-400)}.cs-odisei .rd-sb-body{display:grid;grid-template-columns:140px 1fr;min-height:300px}.cs-odisei .rd-sb-tree{list-style:none;margin:0;padding:12px 8px;border-right:1px solid var(--cs-line);font-family:var(--cs-font-mono);font-size:10.5px;line-height:1.3;color:var(--cs-fg-muted)}.cs-odisei .rd-sb-tree li{padding:5px 8px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-odisei .rd-sb-group{text-transform:uppercase;letter-spacing:.14em;font-size:9.5px}.cs-odisei .rd-sb-folder{padding-left:12px!important}.cs-odisei .rd-sb-comp{padding-left:20px!important;color:var(--cs-fg)}.cs-odisei .rd-sb-story{padding-left:28px!important;transition:background .3s ease,color .3s ease}.cs-odisei .rd-sb-story[data-on=true]{background:#ff4785;color:#fff}.cs-odisei .rd-sb-canvas{display:grid;place-items:center;padding:14px;background-color:#f6f6f8;background-image:radial-gradient(rgba(68,64,60,.12) 1px,transparent 0);background-size:14px 14px}.cs-odisei .rd-screen{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#4d5761,#111927);transition:width .52s var(--cs-ease),height .52s var(--cs-ease),border-radius .52s var(--cs-ease)}.cs-odisei .rd-sb-canvas .rd-screen{border-radius:10px;aspect-ratio:var(--ar);width:min(100%,240px,calc(250px * var(--ar)));transition:width .52s var(--cs-ease)}.cs-odisei .rd-shot{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;animation:shotIn .42s var(--cs-ease) both}@keyframes shotIn{0%{opacity:0;filter:blur(6px);transform:scale(1.02)}to{opacity:1;filter:none;transform:none}}.cs-odisei .rd-arrow{display:grid;place-items:center}.cs-odisei .rd-eq{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--cs-brand-400);color:#fff;box-shadow:0 10px 24px -10px rgba(55,41,255,.7)}.cs-odisei .rd-eq svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.cs-odisei .rd-eq:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(55,41,255,.35);animation:eqRing 2.8s ease-out infinite}@keyframes eqRing{0%{transform:scale(.85);opacity:.9}70%{transform:scale(1.35);opacity:0}to{transform:scale(1.35);opacity:0}}.cs-odisei .rd-device-wrap{display:grid;place-items:center;min-height:440px}.cs-odisei .rd-device-box{position:relative;transition:width .7s var(--cs-ease),height .7s var(--cs-ease)}.cs-odisei .rd-device-box .device{position:absolute;left:50%;top:50%;width:var(--dw);height:var(--dh);transform:translate(-50%,-50%) rotate(0deg) scale(calc(var(--k) * var(--kf, 1)));transition:transform .8s cubic-bezier(.65,0,.25,1);filter:drop-shadow(0 30px 40px rgba(17,25,39,.28)) drop-shadow(0 8px 14px rgba(17,25,39,.18));animation:deviceSwap .52s var(--cs-ease) both}.cs-odisei .rd-device-box .device[data-rot=true]{transform:translate(-50%,-50%) rotate(-90deg) scale(calc(var(--k) * var(--kf, 1)))}@keyframes deviceSwap{0%{opacity:0}to{opacity:1}}.cs-odisei .rd-device-screen{overflow:hidden}.cs-odisei .rd-device-screen .rd-shot{animation:shotInRot .38s var(--cs-ease) .52s both}.cs-odisei .rd-shot-rot{position:absolute;left:50%;top:50%;max-width:none;transform:translate(-50%,-50%) rotate(90deg);animation:shotInRot .38s var(--cs-ease) .62s both!important}.cs-odisei .device-iphone-14-pro .rd-shot-rot{width:830px;height:390px}.cs-odisei .device-google-pixel-6-pro .rd-shot-rot{width:816px;height:376px}@keyframes shotInRot{0%{opacity:0}to{opacity:1}}.cs-odisei .sk{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:12px;width:100%;max-width:220px;color:#fff;font-family:var(--cs-font-body)}.cs-odisei .rd-stage[data-orient=landscape] .sk{flex-direction:row;flex-wrap:wrap;justify-content:center;text-align:left;max-width:320px;-moz-column-gap:14px;column-gap:14px}.cs-odisei .sk-ring{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:conic-gradient(#3ccb7f 0 71%,hsla(0,0%,100%,.12) 71% 100%);box-shadow:0 0 18px rgba(60,203,127,.45);flex:0 0 auto}.cs-odisei .sk-ring span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#1f2a37;font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:22px;text-shadow:0 -1px 0 rgba(0,0,0,.6),0 1px 0 hsla(0,0%,100%,.18)}.cs-odisei .sk-text{display:flex;flex-direction:column;gap:3px;min-width:0}.cs-odisei .sk-text b{font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:16px;letter-spacing:-.3px}.cs-odisei .sk-text>span{font-size:10.5px;color:hsla(0,0%,100%,.65)}.cs-odisei .sk-week{display:flex;gap:3px;margin-top:5px;justify-content:center;font-style:normal}.cs-odisei .rd-stage[data-orient=landscape] .sk-week{justify-content:flex-start}.cs-odisei .sk-week em{display:grid;place-items:center;width:15px;height:15px;border-radius:4px;font-style:normal;font-size:8px;font-family:var(--cs-font-mono);background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.5)}.cs-odisei .sk-week em[data-on=true]{background:#3ccb7f;color:#0b3b22}.cs-odisei .sk-btn{padding:7px 18px;border-radius:999px;background:#fac515;color:#4a3500;font-size:11px;font-weight:600;box-shadow:inset 0 1.5px 0 hsla(0,0%,100%,.55),0 3px 0 #b8860b}.cs-odisei .rd-stage[data-orient=landscape] .sk-btn{flex-basis:100%;max-width:140px;margin-top:2px;text-align:center}.cs-odisei .rd-sb-canvas .sk{transform:scale(.72)}.cs-odisei .rd-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--cs-line)}.cs-odisei .rd-seg{display:inline-flex;padding:4px;gap:2px;border-radius:999px;background:rgba(68,64,60,.07)}.cs-odisei .rd-seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;padding:8px 14px;border-radius:999px;background:transparent;color:var(--cs-fg-muted);font-family:var(--cs-font-mono);font-size:12px;letter-spacing:.02em;transition:background .2s ease,color .2s ease}.cs-odisei .rd-seg button:hover{color:var(--cs-fg)}.cs-odisei .rd-seg button:disabled{cursor:default;color:var(--cs-fg-muted);opacity:.45}.cs-odisei .rd-seg[data-disabled]{opacity:.7}.cs-odisei .rd-seg button[aria-pressed=true]{background:var(--cs-brand-400);color:#fff}.cs-odisei .rd-seg button:focus-visible{outline:2px solid var(--cs-brand-400);outline-offset:2px}.cs-odisei .rrules{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cs-odisei .rrules li{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:stretch}.cs-odisei .rr-caught,.cs-odisei .rr-rule{display:flex;flex-direction:column;gap:6px;padding:16px 20px;border-radius:16px;font-size:14.5px;line-height:1.45}.cs-odisei .rr-caught{border:1.5px dashed var(--cs-line-strong);color:var(--cs-fg-muted)}.cs-odisei .rr-rule{background:rgba(55,41,255,.06);border:1.5px solid rgba(55,41,255,.28);color:var(--cs-fg)}.cs-odisei .rr-k{font-family:var(--cs-font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.cs-odisei .rr-caught .rr-k{color:var(--cs-fg-muted)}.cs-odisei .rr-rule .rr-k{color:var(--cs-brand-400)}.cs-odisei .rr-arrow{position:relative}.cs-odisei .rr-arrow:before{left:10px;right:14px}.cs-odisei .rr-arrow:after,.cs-odisei .rr-arrow:before{content:"";position:absolute;top:50%;border-top:1.5px solid var(--cs-line-strong)}.cs-odisei .rr-arrow:after{right:12px;width:7px;height:7px;margin-top:-3.5px;border-right:1.5px solid var(--cs-line-strong);transform:rotate(45deg)}html[data-js="1"] .cs-odisei [data-in=false] .rrules li{opacity:0}.cs-odisei [data-in=true] .rrules li{animation:ruleIn .48s var(--cs-ease) both;animation-delay:calc(var(--i) * .12s + .15s)}@media (max-width:900px){.cs-odisei .rd{padding:18px;border-radius:22px}.cs-odisei .rd-count{margin-left:0;width:100%}.cs-odisei .rd-stage{gap:18px}.cs-odisei .rd-sb-body,.cs-odisei .rd-stage{grid-template-columns:1fr;min-height:0}.cs-odisei .rd-sb-tree{display:none}.cs-odisei .rd-sb-canvas{min-height:280px}.cs-odisei .rd-device-wrap{min-height:430px}.cs-odisei .rd-device-box{--kf:0.82}.cs-odisei .rrules li{grid-template-columns:1fr}.cs-odisei .rr-arrow{height:22px}.cs-odisei .rr-arrow:before{left:50%;right:auto;top:3px;bottom:7px;border-top:0;border-left:1.5px solid var(--cs-line-strong)}.cs-odisei .rr-arrow:after{right:auto;left:50%;top:auto;bottom:5px;margin:0 0 0 -3px;transform:rotate(135deg)}}@media (max-width:520px){.cs-odisei .rd-sb-canvas{padding:12px}}.cs-odisei .layout{display:block}.cs-odisei .layout-main{min-width:0}.cs-odisei .layout-toc{position:fixed;z-index:30;left:40px;top:50%;width:176px;transform:translateY(-50%)}.cs-odisei .toc{transition:opacity .4s var(--cs-ease),translate .5s var(--cs-ease)}.cs-odisei .toc[data-shown=false]{opacity:0;translate:-16px 0;pointer-events:none}.cs-odisei .toc-k{display:block;margin-bottom:16px;font-family:var(--cs-font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--cs-fg-muted)}.cs-odisei .toc ol{list-style:none;margin:0;padding:0;border-left:1.5px solid var(--cs-line)}.cs-odisei .toc a{position:relative;display:flex;align-items:baseline;gap:12px;padding:8px 0 8px 16px;text-decoration:none;color:var(--cs-fg-muted);font-size:14px;line-height:1.3;transition:color .2s ease}.cs-odisei .toc a:before{content:"";position:absolute;left:-1.5px;top:6px;bottom:6px;width:1.5px;background:var(--cs-brand-400);transform:scaleY(0);transition:transform .24s var(--cs-ease)}.cs-odisei .toc a:hover{color:var(--cs-fg)}.cs-odisei .toc a[aria-current=true]{color:var(--cs-fg);font-weight:500}.cs-odisei .toc a[aria-current=true]:before{transform:scaleY(1)}.cs-odisei .toc a:focus-visible{outline:2px solid var(--cs-brand-400);outline-offset:2px;border-radius:4px}.cs-odisei .toc-n{font-family:var(--cs-font-mono);font-size:11px;color:var(--cs-fg-muted)}.cs-odisei .toc a[aria-current=true] .toc-n{color:var(--cs-brand-400)}.cs-odisei .cs-section{padding:144px 0 0;scroll-margin-top:24px}.cs-odisei .cs-section+.cs-section{margin-top:0}.cs-odisei .sec-head{margin-bottom:64px;max-width:720px}.cs-odisei .eyebrow{display:block;margin-bottom:24px;font-family:var(--cs-font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--cs-brand-400)}.cs-odisei .sec-head h2{font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:52px;line-height:1.02;letter-spacing:-2px;margin:0;color:var(--cs-fg);text-wrap:balance}.cs-odisei .sec-head h2 em{font-style:normal;color:var(--cs-brand-400)}.cs-odisei .lead{margin:24px 0 0;max-width:52ch;font-size:19px;line-height:1.55;color:var(--cs-fg-muted)}.cs-odisei .subsec{margin-top:104px}.cs-odisei .subsec h3{font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:30px;line-height:1.1;letter-spacing:-1px;margin:0;max-width:24ch}.cs-odisei .sub-lead{margin:16px 0 0;max-width:52ch;font-size:16px;line-height:1.6;color:var(--cs-fg-muted)}.cs-odisei .subsec>.sub-lead+*,.cs-odisei .subsec>h3+:not(.sub-lead){margin-top:40px}.cs-odisei .points{list-style:none;margin:0 0 64px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:pt}.cs-odisei .points li{counter-increment:pt;display:flex;flex-direction:column;padding:24px 24px 28px;border-radius:20px;background:var(--cs-surface-card);border:1.5px solid var(--cs-line)}.cs-odisei .points li:before{content:counter(pt,decimal-leading-zero);display:block;margin-bottom:40px;font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:40px;line-height:1;letter-spacing:-1.5px;color:var(--cs-brand-400)}.cs-odisei .points b{display:block;font-weight:600;font-size:17px;line-height:1.3;margin-bottom:8px}.cs-odisei .points p{margin:0;font-size:15px;line-height:1.55;color:var(--cs-fg-muted)}.cs-odisei .band{margin:0}.cs-odisei .skills{list-style:none;margin:0;padding:0}.cs-odisei .skills li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,.8fr);gap:24px;align-items:baseline;padding:24px 0;border-top:1px solid var(--cs-line)}.cs-odisei .skills li:last-child{border-bottom:1px solid var(--cs-line)}.cs-odisei .skills b{font-weight:600;font-size:16px;line-height:1.35}.cs-odisei .skills p{margin:0;font-size:15px;line-height:1.55;color:var(--cs-fg-muted)}.cs-odisei .skills em{justify-self:end;text-align:right;font-family:var(--cs-font-mono);font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--cs-brand-400)}.cs-odisei .rule-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin:0 0 24px;font-size:22px;line-height:1.35;font-weight:600;letter-spacing:-.3px;color:var(--cs-fg)}.cs-odisei .rule-line-k{padding:4px 10px;border-radius:999px;background:var(--cs-brand-400);color:#fff;font-family:var(--cs-font-mono);font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:.14em;transform:translateY(-3px)}@keyframes ruleIn{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}.cs-odisei .rd-count{margin-left:auto;font-family:var(--cs-font-mono);font-size:12px;letter-spacing:.02em;color:var(--cs-fg-muted)}.cs-odisei .rd-count b{color:var(--cs-brand-400);font-weight:500}.cs-odisei .row .desc{max-width:52ch}.cs-odisei .rules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cs-odisei .rules li{padding:24px;border-radius:20px;background:var(--cs-surface-card);border:1.5px solid var(--cs-line)}.cs-odisei .rule-n{display:block;margin-bottom:16px;font-family:var(--cs-font-mono);font-size:11px;letter-spacing:.14em;color:var(--cs-brand-400)}.cs-odisei .rules b{display:block;font-weight:600;font-size:16px;line-height:1.3;margin-bottom:8px}.cs-odisei .rules p{margin:0;font-size:14.5px;line-height:1.55;color:var(--cs-fg-muted)}.cs-odisei .cta{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;margin-top:104px;padding:56px;border-radius:32px;background:var(--cs-brand-400);color:#fff;position:relative;overflow:hidden}.cs-odisei .cta:after{content:"";position:absolute;inset:0;border:6px solid hsla(0,0%,100%,.16);border-radius:inherit;pointer-events:none}.cs-odisei .cta h3{font-family:var(--cs-font-display);text-transform:uppercase;font-weight:var(--cs-font-display-weight);font-size:40px;line-height:1.05;letter-spacing:-1.4px;margin:0 0 8px}.cs-odisei .cta p{margin:0;font-size:16px;color:hsla(0,0%,100%,.85)}.cs-odisei .cta .actions{display:flex;gap:16px;flex-wrap:wrap;position:relative;z-index:1}.cs-odisei .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:999px;font-size:14px;text-decoration:none;transition:transform .2s ease}.cs-odisei .btn:hover{transform:translateY(-2px)}.cs-odisei .btn.primary{background:#fff;color:var(--cs-brand-400)}.cs-odisei .btn.ghost{background:transparent;color:#fff;border:1.5px solid hsla(0,0%,100%,.5)}.cs-odisei .cs-footer{margin-top:64px}@media (max-width:1319px){.cs-odisei .layout{display:block}.cs-odisei .toc[data-shown]{opacity:1;translate:none;pointer-events:auto}.cs-odisei .layout-toc{left:auto;width:auto;transform:none;position:sticky;top:0;z-index:40;padding:0;margin:0 calc(50% - 50vw);background:hsla(40,68%,94%,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--cs-line)}.cs-odisei .toc-k{display:none}.cs-odisei .toc ol{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-left:0;padding:10px max(48px,calc(50vw - 460px))}.cs-odisei .toc ol::-webkit-scrollbar{display:none}.cs-odisei .toc a{white-space:nowrap;padding:8px 14px;border-radius:999px;font-size:13px}.cs-odisei .toc a:before{display:none}.cs-odisei .toc a[aria-current=true]{background:var(--cs-fg);color:var(--cs-surface-cream)}.cs-odisei .toc a[aria-current=true] .toc-n{color:hsla(40,68%,94%,.6)}.cs-odisei .cs-section{scroll-margin-top:72px}}@media (max-width:900px){.cs-odisei .page{padding:24px 24px 96px}.cs-odisei .toc ol{padding:10px 24px}.cs-odisei .layout-toc{margin:0 calc(50% - 50vw)}.cs-odisei .hero{grid-template-columns:1fr;gap:40px;padding:40px 0 64px}.cs-odisei .hero h1{font-size:64px;letter-spacing:-3px}.cs-odisei .hero .lede{font-size:17px}.cs-odisei .meta{grid-template-columns:repeat(2,1fr);gap:24px}.cs-odisei .cs-section{padding-top:104px}.cs-odisei .sec-head{margin-bottom:40px}.cs-odisei .sec-head h2{font-size:38px;letter-spacing:-1.4px}.cs-odisei .lead{font-size:17px}.cs-odisei .subsec{margin-top:64px}.cs-odisei .subsec h3{font-size:25px}.cs-odisei .points{grid-template-columns:1fr;gap:12px;margin-bottom:40px}.cs-odisei .points li:before{margin-bottom:20px;font-size:32px}.cs-odisei .skills li{grid-template-columns:1fr;gap:8px;padding:20px 0}.cs-odisei .skills em{justify-self:start;text-align:left}.cs-odisei .rules{grid-template-columns:1fr;gap:12px}.cs-odisei .rules li{padding:20px}.cs-odisei .cta{grid-template-columns:1fr;padding:40px 32px}.cs-odisei .cta h3{font-size:32px}.cs-odisei .rule-line{font-size:19px}.cs-odisei .lane-track{flex-direction:column}.cs-odisei .fnode{min-height:0}.cs-odisei .fedge{flex:0 0 52px}.cs-odisei .fedge-line{left:50%;right:auto;top:0;bottom:0;width:1.5px;height:auto;margin:0 0 0 -.75px}.cs-odisei .pulse{left:50%;top:0;width:3px;height:22px;margin:0 0 0 -1.5px;background:linear-gradient(180deg,transparent,hsla(26,6%,45%,.45) 70%,transparent)}.cs-odisei .fedge[data-accent=true] .pulse{width:4px;margin-left:-2px;height:22px;background:linear-gradient(180deg,transparent,var(--cs-brand-400) 60%,#fff 85%,transparent)}.cs-odisei [data-in=true] .pulse{animation-name:flowPulseV}@keyframes flowPulseV{0%{top:-6px;opacity:0}15%{opacity:1}80%{opacity:1}to{top:calc(100% - 16px);opacity:0}}.cs-odisei .fedge-chip svg{transform:rotate(90deg)}.cs-odisei [data-in=true] .fedge-chip svg{animation:none}.cs-odisei .lane-loop{margin:16px 6% 0;height:34px}.cs-odisei .loop-label{font-size:10.5px;padding:0 8px}.cs-odisei .band-track{height:auto;flex-direction:column}.cs-odisei .band-seg{padding:18px 20px}.cs-odisei .band-seg[data-phase=design]{flex:0 0 auto}.cs-odisei .band-switch{flex:0 0 3px;height:3px;width:100%}.cs-odisei .band-switch-dot{left:26px}.cs-odisei [data-in=true] .band-track{animation:none}.cs-odisei .band-axis{flex-direction:column;gap:6px}.cs-odisei .band-axis-mark{position:static;transform:none}.cs-odisei .stats{grid-template-columns:1fr}.cs-odisei .stat,.cs-odisei .stat[data-tier=hero],.cs-odisei .stat[data-tier=outcome],.cs-odisei .stat[data-tier=process]{grid-column:span 1}.cs-odisei .stat[data-tier=hero],.cs-odisei .stat[data-tier=outcome]{min-height:0}.cs-odisei .stat[data-tier=hero] .num{font-size:84px;letter-spacing:-3px}.cs-odisei .stat[data-tier=outcome] .num{font-size:76px;letter-spacing:-2.5px}.cs-odisei .stat[data-tier=process]{flex-direction:row}.cs-odisei .bento-wrap{grid-template-columns:1fr}.cs-odisei .bento-photo{min-height:320px}.cs-odisei .row{grid-template-columns:48px 1fr;gap:16px;padding:24px 0}.cs-odisei .row .title{font-size:25px}.cs-odisei .found-feeds,.cs-odisei .found-screens{grid-template-columns:repeat(3,1fr)}.cs-odisei .found-feeds{height:28px}.cs-odisei .found-slab{flex-direction:column}.cs-odisei .found-part[data-part=ds]{flex:0 0 auto}.cs-odisei [data-in=true] .found-part[data-part=ds]{animation:none}}@media (max-width:520px){.cs-odisei .hero h1{font-size:48px;letter-spacing:-2.2px}.cs-odisei .meta{grid-template-columns:1fr}.cs-odisei .sec-head h2{font-size:32px;letter-spacing:-1.1px}.cs-odisei .stat[data-tier=process]{flex-direction:column;align-items:flex-start;gap:12px}.cs-odisei .found-feeds,.cs-odisei .found-screens{grid-template-columns:repeat(2,1fr)}}.cs-odisei{--cs-spring:cubic-bezier(0.34,1.56,0.64,1);--cs-enter:900ms}.cs-odisei .words .w{display:inline-block}.cs-odisei .words .w>span{display:inline-block;transition:opacity .7s var(--cs-ease) calc(var(--wi) * 55ms),translate var(--cs-enter) var(--cs-ease) calc(var(--wi) * 55ms),filter .8s var(--cs-ease) calc(var(--wi) * 55ms)}html[data-js="1"] .cs-odisei .words[data-words=out] .w>span{opacity:0;translate:0 .35em;filter:blur(10px)}.cs-odisei .w-accent{color:var(--cs-brand-400)}.cs-odisei .hero h1.words .w>span{transition-delay:calc(.18s + var(--wi) * 90ms),calc(.18s + var(--wi) * 90ms),calc(.18s + var(--wi) * 90ms)}.cs-odisei .hero .lede{animation:csSectionIn .8s var(--cs-ease) .62s both}.cs-odisei :is(.cs-section>*,.sec-head>*,.subsec>*):not(.sec-head,.subsec,.words,[data-stagger]){transition:opacity .8s var(--cs-ease),translate 1s var(--cs-ease),filter .8s var(--cs-ease)}html[data-js="1"] .cs-odisei :is(.cs-section>*,.sec-head>*,.subsec>*):not(.sec-head,.subsec,.words,[data-stagger],[data-in=true]){opacity:0;translate:0 36px;filter:blur(8px)}.cs-odisei .sec-head>.lead{transition-delay:.22s}.cs-odisei [data-stagger]>*{transition:opacity .7s var(--cs-ease) calc(var(--si, 0) * 90ms + var(--sd, 0ms)),translate .9s var(--cs-ease) calc(var(--si, 0) * 90ms + var(--sd, 0ms)),filter .7s var(--cs-ease) calc(var(--si, 0) * 90ms + var(--sd, 0ms)),transform .38s var(--cs-spring),box-shadow .3s ease,border-color .25s ease,background .25s ease}html[data-js="1"] .cs-odisei [data-stagger][data-in=false]>*{opacity:0;translate:0 22px;filter:blur(6px)}.cs-odisei [data-stagger]>:nth-child(2){--si:1}.cs-odisei [data-stagger]>:nth-child(3){--si:2}.cs-odisei [data-stagger]>:nth-child(4){--si:3}.cs-odisei [data-stagger]>:nth-child(5){--si:4}.cs-odisei [data-stagger]>:nth-child(6){--si:5}.cs-odisei [data-stagger]>:nth-child(7){--si:6}.cs-odisei .meta[data-stagger]{--sd:760ms}.cs-odisei .hero-device{width:100%;max-width:460px;justify-self:end;perspective:1200px;animation:deviceIn 1.3s var(--cs-ease) .24s both}.cs-odisei .hero-device-float{transform:translateY(var(--sy,0)) rotate(var(--sr,0deg)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform}.cs-odisei .hero-device img{width:100%;height:auto;display:block;filter:drop-shadow(0 24px 40px rgba(0,0,0,.18)) drop-shadow(0 8px 16px rgba(0,0,0,.12));animation:deviceFloat 7s ease-in-out 1.6s infinite}@keyframes deviceIn{0%{opacity:0;transform:translateY(60px) rotate(8deg) scale(.9);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}@keyframes deviceFloat{0%,to{translate:0 0}50%{translate:0 -12px}}.cs-odisei .countup,.cs-odisei .eyebrow{font-variant-numeric:tabular-nums}.cs-odisei .typewriter{position:relative;display:inline-block}.cs-odisei .typewriter-ghost{visibility:hidden}.cs-odisei .typewriter-live{position:absolute;inset:0}.cs-odisei .typewriter-caret{display:inline-block;width:2px;height:1.05em;margin-left:3px;vertical-align:-.15em;background:var(--cs-brand-400);opacity:0}.cs-odisei .typewriter[data-typing=true] .typewriter-caret{animation:caret .9s steps(1) infinite}@keyframes caret{0%,49%{opacity:1}50%,to{opacity:0}}@media (min-width:1320px){.cs-odisei .toc a[aria-current=true]:before{transform-origin:top;transform:scaleY(max(.08,var(--p,0)));transition:transform .12s linear}}html[data-lang-switch] .cs-odisei :is(.nav-back,.hero,.meta,.layout-main){filter:blur(8px);opacity:.35}.cs-odisei :is(.nav-back,.hero,.meta,.layout-main){transition:filter .17s ease,opacity .17s ease}@media (hover:hover){.cs-odisei .row .n,.cs-odisei .row .title{transition:transform .38s var(--cs-spring),color .2s ease}.cs-odisei .row:hover .n{transform:translateX(8px) rotate(-4deg)}.cs-odisei .row:hover .title{transform:translateX(6px);color:var(--cs-brand-400)}.cs-odisei .rules li:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 18px 36px -22px rgba(68,64,60,.45);border-color:rgba(55,41,255,.3)}.cs-odisei .rules li:nth-child(2):hover{transform:translateY(-6px) rotate(.6deg)}.cs-odisei .points li:hover{transform:translateY(-6px);box-shadow:0 18px 36px -22px rgba(68,64,60,.45)}.cs-odisei .skills li:hover{background:rgba(55,41,255,.035)}.cs-odisei .skills b,.cs-odisei .skills em{transition:transform .38s var(--cs-spring),color .2s ease}.cs-odisei .skills li:hover b{transform:translateX(6px);color:var(--cs-brand-400)}.cs-odisei .skills li:hover em{transform:translateX(-6px)}.cs-odisei .stat{transition:transform .42s var(--cs-spring)}.cs-odisei .stat:hover{transform:scale(1.02) rotate(-.6deg)}.cs-odisei .stat[data-color=pink]:hover{transform:scale(1.02) rotate(.8deg)}.cs-odisei .bento-photo img{transition:transform .9s var(--cs-ease)}.cs-odisei .bento-photo:hover img{transform:scale(1.05)}.cs-odisei .rr-rule{transition:background .25s ease}.cs-odisei .rrules li:hover .rr-rule{background:rgba(55,41,255,.1)}}.cs-odisei .book-call{translate:var(--mx,0) var(--my,0);transition:transform .26s var(--cs-ease),opacity .26s var(--cs-ease),box-shadow .2s ease,translate .42s var(--cs-spring)}.cs-odisei .book-call-dot{animation:callPulse 2.4s ease-out infinite}@keyframes callPulse{0%{box-shadow:0 0 0 0 hsla(0,0%,100%,.55)}70%{box-shadow:0 0 0 8px hsla(0,0%,100%,0)}to{box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}@media (max-width:900px){.cs-odisei .hero-device{justify-self:center;max-width:340px}}