@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('assets/ibm-plex-mono-medium.ttf') format('truetype')}
:root{--tech:'IBM Plex Mono',Consolas,monospace;--label-trace:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 22'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop stop-color='%231673ff'/%3E%3Cstop offset='.5' stop-color='%2302bdea'/%3E%3Cstop offset='1' stop-color='%2305d59b'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 16H15L25 6H42L48 12H52M5 21H20L27 14H35' fill='none' stroke='url(%23g)' stroke-width='1.4' stroke-linejoin='round'/%3E%3Ccircle cx='41' cy='6' r='2' fill='%23051019' stroke='%2305d59b' stroke-width='1.2'/%3E%3C/svg%3E")}
.page .eyebrow,.service-dialog .eyebrow,.page .micro-label,.page .principle-grid article>span,.page .card-bottom small{font-family:var(--tech);font-size:var(--fs-sm);font-weight:500;line-height:1.65;letter-spacing:0;text-transform:none;color:#9eddd5}
.page .eyebrow,.service-dialog .eyebrow{display:flex;gap:12px;align-items:center;max-width:100%}
.page .eyebrow:before,.service-dialog .eyebrow:before{content:'';display:block;width:52px;height:22px;flex:0 0 52px;background:var(--label-trace) center/contain no-repeat}
.eyebrow>.signal{display:none}
.page .micro-label,.page .principle-grid article>span{display:inline-flex;align-items:center;gap:10px}
.page .micro-label:before,.page .principle-grid article>span:before{content:'';width:23px;height:15px;flex:0 0 23px;background:var(--label-trace) center/36px 15px no-repeat}
.page .card-bottom small{color:#a3c8d1;line-height:1.6}
.story-chapter .micro-label:before{display:none}
.story-chapter .micro-label{color:#82dac5}
.home-hero>.eyebrow{display:none}
.home-circuit{grid-row:1/4}
.home-capabilities{grid-row:4}
/* Each full unit is at least viewport-wide, with no gap at the duplicate seam. */
.ticker{padding:0;background:linear-gradient(180deg,#0a1b2780,#06141eaa);border-color:#224854}
.ticker:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px}
.ticker-track{gap:0;animation:marquee 58s linear infinite}
.ticker-group{width:max(1120px,100vw);height:96px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex-shrink:0;position:relative;align-items:start}
.ticker-group>span{font:500 var(--fs-base)/1.4 var(--display);letter-spacing:.01em;color:#c3dce7;text-align:center;padding-top:15px;position:relative;z-index:1}
.ticker-circuit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.ticker-wire{stroke-width:1.3;opacity:.65}
.ticker-node{fill:#07151f;stroke-width:1.3}
.ticker-pulse{stroke-width:2.7;stroke-dasharray:58 942;animation:ticker-current 11s linear infinite}
.ticker-pulse-halo{stroke-width:7;opacity:.55}
.ticker-pulse-head{stroke:#c8fff1;stroke-width:2.8;stroke-dasharray:3 997;stroke-dashoffset:-55;animation-name:ticker-current-head}
.ticker:hover .ticker-pulse,.ticker:focus-within .ticker-pulse{animation-play-state:paused}
@keyframes ticker-current{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes ticker-current-head{from{stroke-dashoffset:945}to{stroke-dashoffset:-55}}
.reduced-motion .ticker{overflow-x:auto}
.reduced-motion .ticker-track{animation:none!important}
.reduced-motion .ticker-group--clone{display:none}
.reduced-motion .ticker-pulse{animation:none!important;opacity:0}
@media(max-width:900px){.home-circuit{grid-row:4}.home-capabilities{grid-row:5}}
@media(max-width:540px){.page .eyebrow,.service-dialog .eyebrow{font-size:var(--fs-sm);gap:10px;align-items:flex-start}.page .eyebrow:before,.service-dialog .eyebrow:before{width:40px;flex-basis:40px;margin-top:1px}.ticker-group>span{font-size:var(--fs-base)}.ticker-group{height:90px}.page .micro-label,.page .principle-grid article>span,.page .card-bottom small{font-size:var(--fs-sm)}}
@media(prefers-reduced-motion:reduce){.ticker{overflow-x:auto}.ticker-track{animation:none!important}.ticker-group--clone{display:none}.ticker-pulse{animation:none!important;opacity:0}}
