.cs-hero{min-height:88vh;border-bottom:1px solid var(--border);align-items:flex-end;min-height:88svh;display:flex;position:relative;overflow:hidden}.cs-hero-bg{object-fit:cover;object-position:center top;filter:grayscale(.4)brightness(.3)blur(2px);width:100%;height:100%;animation:cs-settle 1.6s var(--ease-out) forwards;position:absolute;inset:0;transform:scale(1.04)}.cs-hero:after{content:"";background:linear-gradient(to bottom, #080808eb 0%, #08080859 28%, #0808088c 62%, var(--bg) 97%);position:absolute;inset:0}@keyframes cs-settle{to{transform:none}}.cs-hero-inner{z-index:1;justify-content:space-between;align-items:flex-end;gap:40px;width:100%;padding:140px 48px 64px;display:flex;position:relative}.cs-eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:16px;margin-bottom:20px;font-size:12px;display:flex}.cs-eyebrow:before{content:"";background:var(--accent);width:32px;height:1px}.cs-title{font-family:var(--serif);letter-spacing:-.035em;font-size:clamp(72px,11vw,168px);font-style:italic;font-weight:400;line-height:.9}.cs-title .word{white-space:nowrap;opacity:0;animation:rise 1.1s var(--ease-out) .15s forwards;display:block;transform:translateY(.3em)}.cs-title .word+.word{animation-delay:.3s}.cs-meta{text-align:right;opacity:0;gap:14px;margin:0;animation:.8s .6s forwards dwg-fade;display:grid}.cs-meta dt,.cs-specs dt{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}.cs-meta dd{font-family:var(--mono);letter-spacing:.04em;color:var(--text);margin:2px 0 0;font-size:13px}.cs-meta a{color:var(--accent);border-bottom:1px solid rgba(var(--accent-rgb), .35);transition:border-color .2s}.cs-meta a:hover{border-color:var(--accent)}.cs-specs{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin:0;display:grid}.cs-specs>div{padding:26px 48px 28px}.cs-specs>div+div{border-left:1px solid var(--border)}.cs-specs dd{font-family:var(--display);letter-spacing:-.02em;margin:8px 0 0;font-size:clamp(18px,1.7vw,24px);font-weight:700;line-height:1.2}.cs-sec{max-width:1240px;margin:0 auto;padding:120px 48px 0}.cs-head{justify-content:space-between;align-items:baseline;display:flex}.cs-num{font-family:var(--mono);letter-spacing:.1em;color:var(--faint);font-size:12px}.cs-split{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:64px;display:grid}.cs-text{color:var(--muted);font-size:clamp(16px,1.2vw,18px);font-weight:300;line-height:1.75}.cs-wide{max-width:820px;margin-bottom:48px}.cs-text p+p,.cs-text p+ol,.cs-text ol+p{margin-top:22px}.cs-text strong{color:var(--text);font-weight:400}.cs-text code{font-family:var(--mono);color:var(--text);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:2px;padding:1px 6px;font-size:.85em}.cs-stats{border-top:1px solid var(--border);gap:40px;margin-top:36px;padding-top:24px;display:flex}.cs-stats b{font-family:var(--display);letter-spacing:-.03em;font-variant-numeric:lining-nums;color:var(--accent);font-size:34px;font-weight:700;line-height:1;display:block}.cs-stats span{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.cs-fig img,.cs-fig video{border:1px solid var(--border);background:var(--surface);border-radius:2px;width:100%;height:auto;display:block}.cs-fig figcaption{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:12px;font-size:11px;line-height:1.6}.cs-steps{counter-reset:step;flex-direction:column;gap:14px;padding:0;list-style:none;display:flex}.cs-steps li{counter-increment:step;padding-left:44px;position:relative}.cs-steps li:before{content:counter(step, decimal-leading-zero);font-family:var(--mono);letter-spacing:.06em;color:var(--accent);border:1px solid rgba(var(--accent-rgb), .35);padding:1px 5px;font-size:11px;line-height:1.5;position:absolute;top:.25em;left:0}.cs-arch-scroll{border:1px solid var(--border);background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/24px 24px,#0a0a0a;overflow-x:auto}.cs-arch svg{width:100%;min-width:640px;height:auto;padding:16px;display:block}.cs-arch rect{fill:var(--bg);stroke-width:1.2px}.cs-arch .svc rect{stroke:#edecead9}.cs-arch .ext rect{stroke:#edecea59;stroke-dasharray:4 4}.cs-arch .net{fill:rgba(var(--accent-rgb), .03);stroke:rgba(var(--accent-rgb), .55);stroke-dasharray:6 5}.cs-arch text{fill:var(--muted)}.cs-arch .a-title{font-family:var(--display);letter-spacing:-.01em;fill:var(--text);font-size:17px;font-weight:700}.cs-arch .ext .a-title{fill:#c8c7c0}.cs-arch .a-sub,.cs-arch .a-net,.cs-arch .a-edge{font-family:var(--mono);letter-spacing:.1em;font-size:9.5px}.cs-arch .a-net{fill:var(--accent)}.cs-arch .flow path{fill:none;stroke:var(--accent);stroke-width:1.3px;stroke-dasharray:5 5;animation:.9s linear infinite dwg-flow}.cs-arch marker path{fill:var(--accent)}.cs-table-wrap{overflow-x:auto}.cs-table{border-collapse:collapse;width:100%;font-family:var(--mono);letter-spacing:.04em;font-size:12px}.cs-table th,.cs-table td{text-align:left;vertical-align:top;border:1px solid #434342;padding:12px 16px}.cs-table th{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:10.5px;font-weight:400}.cs-table td{color:var(--muted)}.cs-table td:first-child{color:var(--text);white-space:nowrap}.cs-table tbody tr{transition:background .2s}.cs-table tbody tr:hover{background:var(--surface)}.cs-table tbody tr:hover td:first-child{color:var(--accent)}.cs-h3{font-family:var(--display);letter-spacing:-.02em;color:var(--text);margin-bottom:18px;font-size:20px;font-weight:700}.cs-next{flex-direction:column;gap:12px;list-style:none;display:flex}.cs-next li{padding-left:28px;position:relative}.cs-next li:before{content:"";border:1px solid rgba(var(--accent-rgb), .6);border-radius:2px;width:11px;height:11px;position:absolute;top:.55em;left:0}.cs-end{padding-bottom:120px}.cs-repo{border:1px solid rgba(var(--accent-rgb), .3);background:radial-gradient(120% 160% at 0% 0%, rgba(var(--accent-rgb), .14) 0%, transparent 55%), var(--surface);transition:border-color .25s, transform .3s var(--ease-out);border-radius:2px;align-items:center;gap:20px;padding:28px 30px;display:flex}.cs-repo:hover{border-color:rgba(var(--accent-rgb), .6);transform:translateY(-2px)}.cs-repo .contact-icon{color:var(--accent);border-color:rgba(var(--accent-rgb), .35)}.cs-repo-text{flex-direction:column;gap:4px;min-width:0;display:flex}.cs-repo-title{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(20px,2.4vw,32px);font-weight:700;line-height:1.15}.cs-repo:hover .contact-card-arrow{color:var(--accent);transform:translate(4px,-4px)}.cs-more{border-top:1px solid var(--border)}.cs-more-inner{justify-content:space-between;align-items:center;gap:40px;max-width:1240px;margin:0 auto;padding:96px 48px;display:flex}.cs-more-title{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(44px,5vw,72px);font-style:italic;line-height:.95}.cs-more-title span{color:var(--accent)}@property --cta-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.cs-cta{isolation:isolate;font-family:var(--mono);letter-spacing:.06em;color:var(--text);background:linear-gradient(#0d0d0d, #0d0d0d) padding-box, conic-gradient(from var(--cta-angle), transparent 0 62%, rgba(var(--accent-rgb), .35) 74%, var(--accent-hi) 86%, rgba(var(--accent-rgb), .35) 94%, transparent) border-box, linear-gradient(#2c2c2a, #2c2c2a) border-box;box-shadow:0 0 32px -12px rgba(var(--accent-rgb), .45);border:1px solid #0000;border-radius:999px;align-items:center;gap:12px;padding:22px 60px;font-size:15px;font-weight:500;transition:box-shadow .3s,translate .2s;animation:3.2s linear infinite cta-spin;display:inline-flex;position:relative;overflow:hidden}.cs-cta:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(70% 120% at 50% 130%, rgba(var(--accent-rgb), .35), transparent 70%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.cs-cta:hover{box-shadow:0 0 44px -10px rgba(var(--accent-rgb), .7)}.cs-cta:hover:before{opacity:1}.cs-cta:active{translate:0 1px}.cs-cta .arrow{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.cs-cta:hover .arrow{transform:translate(-4px)}@keyframes cta-spin{to{--cta-angle:360deg}}.cs-foot{border-top:1px solid var(--border);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:16px;padding:24px 48px;font-size:11px;display:flex}.cs-foot a{transition:color .2s}.cs-foot a:hover{color:var(--accent)}@media (max-width:900px){.cs-hero{min-height:78svh}.cs-hero-inner{flex-direction:column;align-items:flex-start;gap:28px;padding:120px 24px 40px}.cs-meta{text-align:left;grid-template-columns:repeat(3,auto);justify-content:start;gap:14px 28px}.cs-meta>div:last-child{grid-column:1/-1}.cs-specs{grid-template-columns:1fr 1fr}.cs-specs>div{padding:20px 24px}.cs-specs>div:nth-child(3){border-left:0}.cs-specs>div:nth-child(n+3){border-top:1px solid var(--border)}.cs-sec{padding:80px 24px 0}.cs-split{grid-template-columns:1fr;gap:40px}.cs-wide{margin-bottom:36px}.cs-stats{gap:28px}.cs-stats b{font-size:28px}.cs-repo{gap:14px;padding:20px}.cs-end{padding-bottom:80px}.cs-more-inner{flex-direction:column;align-items:flex-start;padding:64px 24px}.cs-cta{padding:18px 40px}.cs-foot{padding:20px 24px}}@media (max-width:600px){.cs-table thead{display:none}.cs-table,.cs-table tbody,.cs-table tr,.cs-table td{display:block}.cs-table tr{border:1px solid #434342;padding:12px 14px}.cs-table tr+tr{border-top:0}.cs-table td{border:0;padding:2px 0}.cs-table td:nth-child(2):before{content:"Fails: ";color:var(--faint)}.cs-table td:nth-child(3):before{content:"→ ";color:var(--accent)}}
