:root{color-scheme:dark;--ft-signal: #5ecf20;--ft-signal-ink: #0a1605;--ft-signal-soft: #e9f8df;--ft-signal-dim: #2d6510;--ft-bg: #0b0d0c;--ft-bg-1: #121413;--ft-bg-2: #1a1d1b;--ft-bg-3: #232725;--ft-line: #2a2e2c;--ft-line-strong: #3a3f3c;--ft-ink: #f4f5f3;--ft-ink-2: #c9ccc7;--ft-ink-3: #8a8e89;--ft-ink-4: #5c605c;--ft-warn: #ffb020;--ft-danger: #ff5a4b;--ft-ok: var(--ft-signal);--ft-font-sans: "Inter Tight", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--ft-font-serif: "Instrument Serif", "Source Serif Pro", ui-serif, Georgia, serif;--ft-font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ft-t-xs: 11px;--ft-t-sm: 13px;--ft-t-base: 15px;--ft-t-md: 17px;--ft-t-lg: 21px;--ft-t-xl: 28px;--ft-t-2xl: 40px;--ft-t-3xl: 56px;--ft-t-4xl: 80px;--ft-t-5xl: clamp(64px, 10vw, 144px);--ft-lh-tight: 1.02;--ft-lh-snug: 1.15;--ft-lh-base: 1.45;--ft-lh-loose: 1.6;--ft-track-tight: -.02em;--ft-track-snug: -.01em;--ft-track-wide: .08em;--ft-track-caps: .14em;--ft-s-1: 4px;--ft-s-2: 8px;--ft-s-3: 12px;--ft-s-4: 16px;--ft-s-5: 24px;--ft-s-6: 32px;--ft-s-7: 48px;--ft-s-8: 64px;--ft-s-9: 96px;--ft-s-10: 128px;--ft-s-11: 192px;--ft-r-xs: 4px;--ft-r-sm: 6px;--ft-r-md: 10px;--ft-r-lg: 16px;--ft-r-xl: 24px;--ft-r-pill: 999px;--ft-shadow-sm: 0 1px 2px rgba(0,0,0,.4);--ft-shadow-md: 0 6px 20px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.5);--ft-shadow-lg: 0 24px 60px rgba(0,0,0,.5);--ft-glow: 0 0 0 1px rgba(94,207,32,.35), 0 10px 40px -10px rgba(94,207,32,.45);--ft-container: 1240px;--ft-container-wide: 1440px;--ft-gutter: 24px;--ft-ease-out: cubic-bezier(.2, .8, .2, 1);--ft-ease-in-out: cubic-bezier(.65, 0, .35, 1);--ft-dur-fast: .12s;--ft-dur: .22s;--ft-dur-slow: .48s}[data-theme=light]{color-scheme:light;--ft-bg: #f7f6f2;--ft-bg-1: #ffffff;--ft-bg-2: #ffffff;--ft-bg-3: #efede6;--ft-line: #e4e2da;--ft-line-strong: #c9c6bb;--ft-ink: #0b0d0c;--ft-ink-2: #35383a;--ft-ink-3: #6b6e6b;--ft-ink-4: #9a9d98;--ft-shadow-sm: 0 1px 2px rgba(20,22,18,.06);--ft-shadow-md: 0 6px 20px rgba(20,22,18,.08), 0 1px 2px rgba(20,22,18,.04);--ft-shadow-lg: 0 24px 60px rgba(20,22,18,.12)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--ft-bg);color:var(--ft-ink);font-family:var(--ft-font-sans);font-size:var(--ft-t-base);line-height:var(--ft-lh-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit}::selection{background:var(--ft-signal);color:var(--ft-signal-ink)}.ft-container{max-width:var(--ft-container);margin:0 auto;padding:0 var(--ft-gutter)}.ft-container-wide{max-width:var(--ft-container-wide);margin:0 auto;padding:0 var(--ft-gutter)}.ft-mono{font-family:var(--ft-font-mono);font-size:var(--ft-t-xs);letter-spacing:var(--ft-track-wide);text-transform:uppercase}.ft-eyebrow{font-family:var(--ft-font-mono);font-size:var(--ft-t-xs);letter-spacing:var(--ft-track-caps);text-transform:uppercase;color:var(--ft-ink-3)}.ft-serif{font-family:var(--ft-font-serif);font-style:italic;font-weight:400}.ft-hairline{height:1px;background:var(--ft-line);width:100%}.ft-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--ft-r-pill);font-weight:500;font-size:var(--ft-t-sm);letter-spacing:-.005em;transition:background var(--ft-dur) var(--ft-ease-out),color var(--ft-dur),transform var(--ft-dur);white-space:nowrap;border:1px solid transparent}.ft-btn:hover{transform:translateY(-1px)}.ft-btn--primary{background:var(--ft-signal);color:var(--ft-signal-ink)}.ft-btn--primary:hover{background:#6ee42c}.ft-btn--ghost{background:transparent;color:var(--ft-ink);border-color:var(--ft-line-strong)}.ft-btn--ghost:hover{background:var(--ft-bg-3)}.ft-btn--solid{background:var(--ft-ink);color:var(--ft-bg)}.ft-btn--solid:hover{background:var(--ft-ink-2)}.ft-btn--lg{padding:14px 22px;font-size:var(--ft-t-base)}.ft-btn--sm{padding:7px 12px;font-size:var(--ft-t-xs)}.ft-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--ft-r-pill);background:var(--ft-bg-3);color:var(--ft-ink-2);font-family:var(--ft-font-mono);font-size:var(--ft-t-xs);letter-spacing:var(--ft-track-wide);text-transform:uppercase;border:1px solid var(--ft-line)}.ft-chip--signal{background:color-mix(in oklab,var(--ft-signal) 14%,transparent);color:var(--ft-signal);border-color:color-mix(in oklab,var(--ft-signal) 35%,transparent)}.ft-chip--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ft-signal);box-shadow:0 0 10px var(--ft-signal)}.ft-card{background:var(--ft-bg-2);border:1px solid var(--ft-line);border-radius:var(--ft-r-lg);padding:var(--ft-s-6)}.ft-img-placeholder{position:relative;background:repeating-linear-gradient(135deg,#ffffff05 0 12px,#ffffff0d 12px 24px),linear-gradient(180deg,#1e211f,#121413);border:1px solid var(--ft-line);border-radius:var(--ft-r-md);color:var(--ft-ink-3);font-family:var(--ft-font-mono);font-size:var(--ft-t-xs);letter-spacing:var(--ft-track-wide);text-transform:uppercase;display:flex;align-items:center;justify-content:center;overflow:hidden}[data-theme=light] .ft-img-placeholder{background:repeating-linear-gradient(135deg,#00000008 0 12px,#0000000f 12px 24px),linear-gradient(180deg,#efede6,#e0ded6)}.ft-img-placeholder>span{background:var(--ft-bg);padding:6px 10px;border-radius:var(--ft-r-pill);border:1px solid var(--ft-line);color:var(--ft-ink-2)}.ft-link{display:inline-flex;align-items:center;gap:6px;color:var(--ft-ink);border-bottom:1px solid var(--ft-line-strong);padding-bottom:2px;transition:color var(--ft-dur),border-color var(--ft-dur)}.ft-link:hover{color:var(--ft-signal);border-color:var(--ft-signal)}:focus-visible{outline:2px solid var(--ft-signal);outline-offset:2px;border-radius:4px}.hnav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .35s var(--ft-ease-out),border-color .35s,box-shadow .35s,padding .35s var(--ft-ease-out);background:transparent;border-bottom:1px solid transparent}.hnav.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#040c088c,#040c0847 55%,#040c0800);opacity:1;transition:opacity .35s var(--ft-ease-out)}.hnav.hero.affixed:before{opacity:0}.hnav-inner{max-width:var(--ft-container-wide);margin:0 auto;padding:22px var(--ft-gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;transition:padding .35s var(--ft-ease-out)}.hnav-top{border-bottom:1px solid rgba(255,255,255,.14);transition:max-height .35s var(--ft-ease-out),opacity .3s,border-color .35s;max-height:52px;overflow:hidden}.hnav-top-inner{max-width:var(--ft-container-wide);margin:0 auto;padding:10px var(--ft-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:var(--ft-font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3}.hnav-top-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hnav-top-left a{color:#ffffffc7;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:color .2s}.hnav-top-left a:hover{color:#fff}.hnav-top-left svg{opacity:.8}.hnav-social{display:flex;align-items:center;gap:6px}.hnav-social a{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#ffffffc7;transition:color .2s,border-color .2s,background .2s}.hnav-social a:hover{color:var(--ft-signal-ink);background:var(--ft-signal);border-color:var(--ft-signal)}.hnav.affixed .hnav-top{max-height:0;opacity:0;border-color:transparent}.hnav.affixed .hnav-top-inner{padding-top:0;padding-bottom:0}.hnav.affixed .hnav-top-inner,.hnav.affixed .hnav-top-left a,.hnav.affixed .hnav-social a{color:var(--ft-ink-2)}.hnav .hnav-links{display:flex;gap:6px;align-items:center}.hnav .hnav-links.left{justify-content:flex-end}.hnav .hnav-links a{position:relative;padding:8px 14px;font-size:14px;text-decoration:none;color:#ffffffc7;transition:color .2s;white-space:nowrap}.hnav .hnav-links a:after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;background:currentColor;border-radius:2px;transform:scaleX(0);transform-origin:center;transition:transform .25s var(--ft-ease-out),background .2s}.hnav .hnav-links a:hover{color:#fff}.hnav .hnav-links a:hover:after{transform:scaleX(1)}.hnav .hnav-links a.on{color:#fff;font-weight:500}.hnav .hnav-links a.on:after{background:var(--ft-signal);transform:scaleX(1)}.hnav .hnav-logo{display:inline-flex;align-items:center;justify-self:center}.hnav .hnav-logo img{display:block;height:150px;width:auto;transition:height .35s var(--ft-ease-out)}.hnav-phone-wrap{display:none}.hnav-phone{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:14px;color:var(--ft-ink-2);text-decoration:none;transition:color .2s}.hnav-phone:hover{color:var(--ft-ink)}.hnav-phone svg{opacity:.85;flex-shrink:0}.hnav-phone-pop{position:absolute;top:100%;right:0;padding-top:11px;z-index:5;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s var(--ft-ease-out),transform .2s var(--ft-ease-out),visibility .2s}.hnav-phone-wrap:hover .hnav-phone-pop,.hnav-phone-wrap:focus-within .hnav-phone-pop{opacity:1;visibility:visible;transform:none}.hnav-phone-card{position:relative;background:#fff;border:1px solid var(--ft-line);border-radius:12px;box-shadow:0 14px 34px #00000021;padding:11px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.hnav-phone-card:before{content:"";position:absolute;top:-6px;right:16px;width:10px;height:10px;background:#fff;border-left:1px solid var(--ft-line);border-top:1px solid var(--ft-line);transform:rotate(45deg)}.hnav-phone-pop-label{font-family:var(--ft-font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ft-ink-3)}.hnav-phone-card .hnav-social{display:flex;gap:7px}.hnav-phone-card .hnav-social a{width:30px;height:30px;color:var(--ft-ink-2);border-color:var(--ft-line-strong)}.hnav-phone-card .hnav-social a:hover{color:var(--ft-signal-ink);background:var(--ft-signal);border-color:var(--ft-signal)}.hnav.affixed{background:#fff;border-bottom-color:var(--ft-line);box-shadow:0 1px #00000005}.hnav.affixed .hnav-inner{padding:10px var(--ft-gutter)}.hnav.affixed .hnav-links a{color:var(--ft-ink-3)}.hnav.affixed .hnav-links a:hover,.hnav.affixed .hnav-links a.on{color:var(--ft-ink)}.hnav.affixed .hnav-logo img{height:40px}.hnav.affixed .hnav-links a:after{bottom:-9px}.hnav.solid{position:sticky;background:#fff;border-bottom-color:var(--ft-line)}.hnav.solid .hnav-top{border-bottom-color:var(--ft-line)}.hnav.solid .hnav-top-inner,.hnav.solid .hnav-top-left a,.hnav.solid .hnav-social a{color:var(--ft-ink-2)}.hnav.solid .hnav-social a{border-color:var(--ft-line-strong)}.hnav.solid .hnav-links a{color:var(--ft-ink-3)}.hnav.solid .hnav-links a:hover,.hnav.solid .hnav-links a.on{color:var(--ft-ink)}.hnav.solid .hnav-logo img{height:64px}.hnav.solid.affixed .hnav-logo img{height:40px}@media(min-width:861px){.hnav.affixed .hnav-inner{display:flex;align-items:center;gap:6px;padding:7px var(--ft-gutter)}.hnav.affixed .hnav-logo{order:0;justify-self:start;margin-right:auto}.hnav.affixed .hnav-logo img,.hnav.solid.affixed .hnav-logo img{height:30px}.hnav.affixed .hnav-links.left{order:1}.hnav.affixed .hnav-links:not(.left){order:2}.hnav.affixed .hnav-phone-wrap{order:3;position:relative;display:flex;align-items:center;margin-left:12px;padding-left:16px;border-left:1px solid var(--ft-line-strong)}}.hnav-inner{position:relative;z-index:3}.hnav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;margin:-10px -10px -10px 0;background:none;border:0;cursor:pointer;border-radius:10px;-webkit-tap-highlight-color:transparent}.hnav-burger span{display:block;width:24px;height:2px;border-radius:2px;background:#fff;transition:transform .3s var(--ft-ease-out),opacity .2s,background .3s}.hnav.solid .hnav-burger span,.hnav.affixed .hnav-burger span,.hnav.open .hnav-burger span{background:var(--ft-ink)}.hnav.open .hnav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hnav.open .hnav-burger span:nth-child(2){opacity:0}.hnav.open .hnav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hnav-overlay{position:fixed;inset:0;height:100dvh;z-index:1;background:var(--ft-bg);display:flex;flex-direction:column;overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 84px) var(--ft-gutter) calc(env(safe-area-inset-bottom,0px) + 28px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ft-ease-out),transform .35s var(--ft-ease-out),visibility .3s}.hnav.open .hnav-overlay{opacity:1;visibility:visible;transform:none}.hnav-overlay-links{display:flex;flex-direction:column}.hnav-overlay-links a{font-size:28px;font-weight:500;letter-spacing:-.02em;line-height:1.1;color:var(--ft-ink);text-decoration:none;padding:16px 0;border-bottom:1px solid var(--ft-line);transition:color .2s}.hnav-overlay-links a:hover,.hnav-overlay-links a.on{color:var(--ft-signal)}.hnav-overlay-foot{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:16px}.hnav-overlay-contact{display:flex;flex-direction:column;gap:10px;font-family:var(--ft-font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.hnav-overlay-contact a{color:var(--ft-ink-2);text-decoration:none;display:inline-flex;align-items:center;gap:8px}.hnav-overlay-contact a:hover{color:var(--ft-ink)}.hnav-overlay-contact svg{opacity:.8;flex-shrink:0}.hnav-overlay-foot .hnav-social a{color:var(--ft-ink-2);border-color:var(--ft-line-strong)}body.hnav-menu-open{overflow:hidden}@media(min-width:861px){.hnav-overlay{display:none}}@media(max-width:860px){.hnav-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--ft-gutter)}.hnav.affixed .hnav-inner,.hnav.solid.affixed .hnav-inner{padding:12px var(--ft-gutter)}.hnav .hnav-links,.hnav-top{display:none}.hnav-burger{display:flex}.hnav .hnav-logo img,.hnav.solid .hnav-logo img,.hnav.affixed .hnav-logo img,.hnav.solid.affixed .hnav-logo img{height:46px}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}main>:last-child{padding-bottom:0!important}.ft-footer{border-top:1px solid var(--ft-line);margin-top:64px;background:var(--ft-bg)}.ft-footer-inner{padding:64px var(--ft-gutter) 32px}.ft-footer-cols{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:48px}.ft-footer-logo img{height:56px;width:auto;display:block}.ft-footer-blurb{color:var(--ft-ink-3);font-size:14px;max-width:280px;margin-top:20px;line-height:1.55}.ft-footer-badge{display:flex;gap:10px;margin-top:24px}.ft-footer h4{font-family:var(--ft-font-mono);font-size:var(--ft-t-xs);letter-spacing:var(--ft-track-caps);text-transform:uppercase;color:var(--ft-ink-3);margin:0 0 14px;font-weight:400}.ft-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.ft-footer ul a{color:var(--ft-ink-2);font-size:14px;transition:color var(--ft-dur)}.ft-footer ul a:hover{color:var(--ft-signal)}.ft-footer-addr{color:var(--ft-ink-3);font-size:14px;line-height:1.55;margin-top:4px}.ft-footer-email{overflow-wrap:anywhere}.ft-footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:64px;padding-top:24px;border-top:1px solid var(--ft-line);color:var(--ft-ink-3);font-size:12px;font-family:var(--ft-font-mono);letter-spacing:.08em;text-transform:uppercase}@media(max-width:860px){.ft-footer-cols{grid-template-columns:1fr 1fr}.ft-footer-bottom{flex-direction:column;gap:12px;align-items:flex-start}}@media(max-width:720px){.ft-footer-cols{grid-template-columns:1fr;gap:32px}}.ft-div{width:100%;border:0;margin:0}.ft-div--line{height:1px;background:var(--ft-line)}.ft-div--strong{height:1px;background:var(--ft-line-strong)}.ft-div--fade{height:1px;background:linear-gradient(90deg,transparent,var(--ft-line-strong) 16%,var(--ft-line-strong) 84%,transparent)}.ft-div--dashed{height:0;border-top:1px dashed var(--ft-line-strong)}.ft-div--double{height:5px;border-top:1px solid var(--ft-line);border-bottom:1px solid var(--ft-line)}.ft-div--dot{height:1px;background:var(--ft-line);position:relative}.ft-div--dot:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:var(--ft-signal);box-shadow:0 0 0 6px var(--ft-bg),0 0 14px color-mix(in oklab,var(--ft-signal) 70%,transparent)}.ft-div--diamond{height:1px;background:var(--ft-line);position:relative}.ft-div--diamond:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:8px;height:8px;background:var(--ft-signal);box-shadow:0 0 0 7px var(--ft-bg)}.ft-div--label{display:flex;align-items:center;gap:18px;font-family:var(--ft-font-mono);font-size:11px;letter-spacing:var(--ft-track-caps);text-transform:uppercase;color:var(--ft-ink-3)}.ft-div--label:before,.ft-div--label:after{content:"";flex:1;height:1px;background:var(--ft-line)}.ft-div--kicker{display:flex;align-items:center;gap:14px}.ft-div--kicker .bar{width:30px;height:3px;border-radius:2px;background:var(--ft-signal);flex-shrink:0}.ft-div--kicker span{font-family:var(--ft-font-mono);font-size:11px;letter-spacing:var(--ft-track-caps);text-transform:uppercase;color:var(--ft-ink-3);flex-shrink:0}.ft-div--kicker .rule{flex:1;height:1px;background:var(--ft-line)}.ft-div--index{display:flex;align-items:center;gap:18px}.ft-div--index span{font-family:var(--ft-font-mono);font-size:11px;letter-spacing:var(--ft-track-caps);color:var(--ft-signal);flex-shrink:0}.ft-div--index .rule{flex:1;height:1px;background:var(--ft-line)}.ft-div--ticks{display:flex;align-items:center;gap:10px}.ft-div--ticks i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ft-line-strong);transition:background var(--ft-dur),width var(--ft-dur)}.ft-div--ticks i.on{background:var(--ft-signal);width:16px}.ft-div--route{display:flex;align-items:center;gap:14px;color:var(--ft-ink-3);font-family:var(--ft-font-mono);font-size:13px}.ft-div--route .node{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ft-signal);flex-shrink:0}.ft-div--route .node.fill{background:var(--ft-signal)}.ft-div--route .leg{flex:1;height:0;border-top:1.5px dashed var(--ft-line-strong)}.ft-div--ruler{height:13px;border-bottom:1px solid var(--ft-line);background-image:repeating-linear-gradient(90deg,var(--ft-line-strong) 0 1px,transparent 1px 26px)}.ft-div--road{height:4px;border-radius:2px;background-image:repeating-linear-gradient(90deg,var(--ft-signal) 0 30px,transparent 30px 54px)}.ft-div--hatch{height:14px;background-image:repeating-linear-gradient(135deg,var(--ft-line-strong) 0 1.5px,transparent 1.5px 11px)}.ft-divimg{background:repeating-linear-gradient(135deg,#1416120d 0 10px,#14161216 10px 20px),linear-gradient(180deg,#efede6,#e2e0d8)}.ft-divlbl{font-family:var(--ft-font-mono);font-size:10px;letter-spacing:var(--ft-track-caps);text-transform:uppercase;color:var(--ft-ink-3);background:var(--ft-bg);padding:5px 10px;border-radius:var(--ft-r-pill);border:1px solid var(--ft-line)}.ft-div--photo{height:96px;border-radius:var(--ft-r-md);overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--ft-line)}.ft-div--split{height:76px;border-radius:var(--ft-r-md);overflow:hidden;display:grid;grid-template-columns:1fr 220px;border:1px solid var(--ft-line)}.ft-div--split .sig{background:var(--ft-signal);color:var(--ft-signal-ink);display:flex;align-items:center;justify-content:center;text-align:center;padding:0 16px;font-family:var(--ft-font-mono);font-size:11px;letter-spacing:var(--ft-track-wide);text-transform:uppercase}.ft-div--tiles{display:flex;align-items:center;gap:18px}.ft-div--tiles .tile{width:64px;height:44px;border-radius:var(--ft-r-sm);border:1px solid var(--ft-line);flex-shrink:0}.ft-div--tiles .rule{flex:1;height:1px;background:var(--ft-line)}.ft-div--trio{display:flex;align-items:center;gap:16px}.ft-div--trio .rule{flex:1;height:1px;background:var(--ft-line)}.ft-div--trio .set{display:flex;gap:8px}.ft-div--trio .tile{width:54px;height:38px;border-radius:var(--ft-r-sm);border:1px solid var(--ft-line)}.ft-div--dotgrid{height:56px;background-image:radial-gradient(var(--ft-line-strong) 1.5px,transparent 1.6px);background-size:18px 18px;background-position:center;-webkit-mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}.ft-div--band-diamond{height:64px;position:relative;background-image:repeating-linear-gradient(135deg,var(--ft-line-strong) 0 1.5px,transparent 1.5px 12px);-webkit-mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}.ft-div--band-diamond:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:10px;height:10px;background:var(--ft-signal);box-shadow:0 0 0 10px var(--ft-bg)}.ft-div--coord{display:flex;align-items:center;gap:16px;font-family:var(--ft-font-mono);font-size:11px;letter-spacing:var(--ft-track-wide);text-transform:uppercase;color:var(--ft-ink-4)}.ft-div--coord .rule{flex:1;height:1px;background:var(--ft-line)}.ft-div--coord .node{width:8px;height:8px;border-radius:50%;background:var(--ft-signal);flex-shrink:0}.ft-div--block{display:flex;align-items:center}.ft-div--block .blk{width:132px;height:10px;background:var(--ft-signal);border-radius:3px;flex-shrink:0}.ft-div--block .rule{flex:1;height:1px;background:var(--ft-line)}.ft-div--rings{height:1px;background:var(--ft-line);position:relative}.ft-div--rings:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:var(--ft-signal);box-shadow:0 0 0 6px var(--ft-bg),0 0 0 7px var(--ft-line),0 0 0 13px var(--ft-bg),0 0 0 14px var(--ft-line-strong)}.ft-div--stamps{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.ft-div--stamps span{font-family:var(--ft-font-mono);font-size:10px;letter-spacing:var(--ft-track-wide);text-transform:uppercase;color:var(--ft-ink-3);border:1px solid var(--ft-line);border-radius:var(--ft-r-pill);padding:5px 11px;white-space:nowrap}.ft-diva--flow{height:2px;background-image:repeating-linear-gradient(90deg,var(--ft-line-strong) 0 14px,transparent 14px 28px);background-size:28px 2px;animation:ftFlow 1.1s linear infinite}@keyframes ftFlow{to{background-position:28px 0}}.ft-diva--lane{height:4px;border-radius:2px;background-image:repeating-linear-gradient(90deg,var(--ft-signal) 0 30px,transparent 30px 54px);background-size:54px 4px;animation:ftLane 1.4s linear infinite}@keyframes ftLane{to{background-position:-54px 0}}.ft-diva--travel{height:1px;background:var(--ft-line);position:relative}.ft-diva--travel:after{content:"";position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%;background:var(--ft-signal);box-shadow:0 0 12px color-mix(in oklab,var(--ft-signal) 80%,transparent);animation:ftTravel 2.8s var(--ft-ease-in-out) infinite}@keyframes ftTravel{0%{left:0}50%{left:100%}to{left:0}}.ft-diva--pulse{height:1px;background:var(--ft-line);position:relative}.ft-diva--pulse:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:var(--ft-signal);transform:translate(-50%,-50%);animation:ftPulse 1.9s ease-in-out infinite}@keyframes ftPulse{0%,to{box-shadow:0 0 0 6px var(--ft-bg),0 0 0 7px transparent}50%{box-shadow:0 0 0 6px var(--ft-bg),0 0 0 14px color-mix(in oklab,var(--ft-signal) 22%,transparent)}}.ft-diva--ping{height:1px;background:var(--ft-line);position:relative}.ft-diva--ping:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;width:9px;height:9px;border-radius:50%;background:var(--ft-signal);box-shadow:0 0 0 6px var(--ft-bg)}.ft-diva--ping:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ft-signal);animation:ftPing 2s ease-out infinite}@keyframes ftPing{0%{width:9px;height:9px;opacity:.9}to{width:70px;height:70px;opacity:0}}.ft-diva--shimmer{height:2px;background:var(--ft-line);position:relative;overflow:hidden}.ft-diva--shimmer:after{content:"";position:absolute;top:0;bottom:0;left:0;width:38%;background:linear-gradient(90deg,transparent,var(--ft-signal),transparent);transform:translate(-120%);animation:ftShimmer 2.4s var(--ft-ease-in-out) infinite}@keyframes ftShimmer{to{transform:translate(360%)}}.ft-diva--scan{height:4px;border-radius:2px;background:var(--ft-bg-3);position:relative;overflow:hidden}.ft-diva--scan:after{content:"";position:absolute;top:0;bottom:0;left:-32%;width:32%;border-radius:2px;background:var(--ft-signal);animation:ftScan 1.9s var(--ft-ease-in-out) infinite}@keyframes ftScan{0%{left:-32%}to{left:100%}}.ft-diva--marquee{height:26px;overflow:hidden;position:relative;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ft-diva--marquee .track{display:inline-flex;align-items:center;gap:30px;white-space:nowrap;font-family:var(--ft-font-mono);font-size:11px;letter-spacing:var(--ft-track-caps);text-transform:uppercase;color:var(--ft-ink-3);animation:ftMarquee 16s linear infinite}.ft-diva--marquee .track span.sig{color:var(--ft-signal)}@keyframes ftMarquee{to{transform:translate(-50%)}}.ft-diva--draw{height:2px;background:var(--ft-line);position:relative}.ft-diva--draw:after{content:"";position:absolute;inset:0;background:var(--ft-signal);transform:scaleX(0);transform-origin:center;animation:ftDraw 2.8s var(--ft-ease-in-out) infinite}@keyframes ftDraw{0%{transform:scaleX(0)}45%,55%{transform:scaleX(1)}to{transform:scaleX(0)}}.ft-diva--spin{height:1px;background:var(--ft-line);position:relative}.ft-diva--spin:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;background:var(--ft-signal);box-shadow:0 0 0 6px var(--ft-bg);animation:ftSpin 4.5s linear infinite}@keyframes ftSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media(prefers-reduced-motion:reduce){[class*=ft-diva--],[class*=ft-diva--]:before,[class*=ft-diva--]:after,.ft-diva--marquee .track{animation:none!important}}
