.cap-page{position:relative;overflow:hidden}.cap-page__intro{position:relative;display:flow-root}.cap-page__intro>:not(.cap-page__grid-bg){position:relative;z-index:1}.cap-index{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.09em;line-height:1.3;text-transform:uppercase}.cap-line-index{grid-template-columns:1fr;border-top:1px solid var(--color-border)}.cap-line-index,.cap-line-index a{display:grid;border-bottom:1px solid var(--color-border)}.cap-line-index a{grid-template-columns:2.25rem minmax(0,1fr);gap:.75rem;padding:1.25rem 0;transition:color .18s ease,background-color .18s ease}.cap-line-index a:last-child{border-bottom:none}.cap-line-index span{color:var(--color-accent);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em}.cap-line-index strong{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;line-height:1.35}.cap-line-index a:focus-visible strong,.cap-line-index a:hover strong{color:var(--color-text-primary)}@media (min-width:640px){.cap-line-index{grid-template-columns:repeat(2,minmax(0,1fr))}.cap-line-index a{padding:1.35rem 1.25rem}.cap-line-index a:nth-child(odd){padding-inline-start:0;border-inline-end:1px solid var(--color-border)}.cap-line-index a:nth-child(n+3){border-bottom:none}}@media (min-width:1024px){.cap-line-index{grid-template-columns:repeat(4,minmax(0,1fr))}.cap-line-index a,.cap-line-index a:nth-child(n+3){padding-inline-start:1.25rem;border-inline-end:1px solid var(--color-border);border-bottom:none}.cap-line-index a:first-child{padding-inline-start:0}.cap-line-index a:last-child{padding-inline-end:0;border-inline-end:none}}.cap-product-line{scroll-margin-top:6.5rem;border-bottom:1px solid var(--color-border)}.cap-product-line:nth-child(2n){background:var(--color-bg-secondary)}.cap-product-line__inner{display:grid;gap:clamp(3rem,6vw,5rem);padding-top:clamp(5rem,9vw,8rem);padding-bottom:clamp(5.5rem,10vw,9rem)}.cap-product-line__header{align-self:start}.cap-product-line__number{color:var(--color-accent);font-family:var(--font-mono);font-size:clamp(2rem,4vw,3.5rem);font-weight:500;letter-spacing:-.035em;line-height:1}.cap-product-line__header h2{max-width:28rem;margin-top:1.25rem;color:var(--color-text-primary);font-family:var(--font-sans);font-size:clamp(1.75rem,3.2vw,2.75rem);font-weight:600;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}.cap-product-line__application{max-width:31rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.cap-product-line__application p:first-child{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase}.cap-product-line__application p:last-child{margin-top:.75rem;color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}@media (min-width:1024px){.cap-product-line__inner{grid-template-columns:minmax(17rem,.36fr) minmax(0,1fr);gap:clamp(4rem,7vw,7rem)}.cap-product-line__header{position:sticky;top:7rem}}.cap-product-grid{display:grid;gap:2.75rem 1rem}@media (min-width:640px){.cap-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cap-product-grid[data-count="3"] .cap-product:first-child{grid-column:1/-1}.cap-product-grid[data-count="3"] .cap-product:first-child .cap-product-visual{aspect-ratio:16/9}}.cap-product{min-width:0}.cap-product-visual{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--color-border);background:radial-gradient(circle at 50% 42%,rgba(139,147,155,.12),transparent 46%),#0c0f12}.cap-product-visual:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.cap-product-visual__placeholder{position:absolute;inset:0;display:grid;place-items:center}.cap-product-visual__placeholder svg{width:100%;height:100%}.cap-product-visual__placeholder>span{position:absolute;inset-inline-end:1rem;bottom:.85rem;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase}.cap-product-visual__grid{fill:none;stroke:rgba(255,255,255,.035);stroke-width:1}.cap-product-visual__drawing{fill:none;stroke:rgba(243,244,244,.32);stroke-width:2;vector-effect:non-scaling-stroke}.cap-product-visual__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cap-product-carousel,.cap-product-carousel__image{position:absolute;inset:0}.cap-product-carousel__image--enter-next{z-index:1;animation:cap-carousel-enter-next .62s cubic-bezier(.76,0,.24,1)}.cap-product-carousel__image--exit-next{animation:cap-carousel-exit-next .62s cubic-bezier(.76,0,.24,1)}.cap-product-carousel__image--enter-previous{z-index:1;animation:cap-carousel-enter-previous .62s cubic-bezier(.76,0,.24,1)}.cap-product-carousel__image--exit-previous{animation:cap-carousel-exit-previous .62s cubic-bezier(.76,0,.24,1)}.cap-product-carousel__arrow{position:absolute;top:50%;z-index:2;display:grid;width:2.75rem;height:3.5rem;place-items:center;border:0;color:var(--color-text-primary);background:transparent;filter:drop-shadow(0 1px 6px rgba(0,0,0,.72));opacity:.28;transform:translateY(-50%);transition:opacity .24s ease,color .18s ease,background-color .18s ease,transform .18s ease}.cap-product-carousel__arrow--previous{left:.75rem}.cap-product-carousel__arrow--next{right:.75rem}html[dir=rtl] .cap-product-carousel__arrow--previous{left:auto;right:.75rem}html[dir=rtl] .cap-product-carousel__arrow--next{right:auto;left:.75rem}html[dir=rtl] .cap-product-carousel__arrow svg{transform:scaleX(-1)}html[dir=rtl] .cap-product-carousel__image--enter-next{animation-name:cap-carousel-enter-previous}html[dir=rtl] .cap-product-carousel__image--exit-next{animation-name:cap-carousel-exit-previous}html[dir=rtl] .cap-product-carousel__image--enter-previous{animation-name:cap-carousel-enter-next}html[dir=rtl] .cap-product-carousel__image--exit-previous{animation-name:cap-carousel-exit-next}.cap-product-carousel:focus-within .cap-product-carousel__arrow,.cap-product-carousel:hover .cap-product-carousel__arrow{opacity:.78}.cap-product-carousel__arrow:hover{opacity:1;color:var(--color-accent)}.cap-product-carousel__arrow:active{transform:translateY(-50%) scale(.94)}.cap-product-carousel__arrow:focus-visible{opacity:1;outline:2px solid var(--color-accent);outline-offset:-2px}.cap-product-carousel__arrow svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75}.cap-product-carousel__status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}@keyframes cap-carousel-enter-next{0%{transform:translate3d(100%,0,0)}to{transform:translateZ(0)}}@keyframes cap-carousel-exit-next{0%{transform:translateZ(0)}to{transform:translate3d(-100%,0,0)}}@keyframes cap-carousel-enter-previous{0%{transform:translate3d(-100%,0,0)}to{transform:translateZ(0)}}@keyframes cap-carousel-exit-previous{0%{transform:translateZ(0)}to{transform:translate3d(100%,0,0)}}@media (hover:none){.cap-product-carousel__arrow{opacity:.72}}.cap-product__caption{display:grid;grid-template-columns:minmax(4.75rem,auto) minmax(0,1fr);gap:1rem;align-items:baseline;padding-top:1rem;border-top:1px solid var(--color-border)}.cap-product__caption p{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase}.cap-product__caption h3{color:var(--color-text-primary);font-family:var(--font-sans);font-size:clamp(1rem,1.6vw,1.25rem);font-weight:500;letter-spacing:-.01em;line-height:1.35}.cap-cta{background:var(--color-surface)}.cap-cta__inner{display:grid;gap:2.5rem;align-items:end;padding-top:clamp(5rem,9vw,8rem);padding-bottom:clamp(5rem,9vw,8rem)}.cap-cta h2{max-width:42rem;margin-top:.9rem;color:var(--color-text-primary);font-family:var(--font-sans);font-size:clamp(1.9rem,3.5vw,3rem);font-weight:600;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}.cap-cta h2+p{max-width:42rem;margin-top:1.25rem;color:var(--color-text-secondary);font-size:1rem;line-height:1.65}.cap-cta__actions{display:flex;flex-wrap:wrap;gap:.75rem}@media (min-width:768px){.cap-cta__inner{grid-template-columns:minmax(0,1fr) auto;gap:4rem}}