/* Signal Robotics 3.0 — shared tokens, responsive components and purposeful motion. */
:root,html[data-color-mode="dark"]{--bg:#060a0d;--surface:#0e151a;--surface-2:#152128;--ink:#edf5f5;--muted:#a6b9c0;--line:#2b3a42;--accent:#dcff1e;--accent-soft:#23351b;--accent-ink:#101700;--button-start:#dcff1e;--button-end:#4fffe0;--button-ink:#07130c;--dark-bg:#060a0d;--dark-ink:#edf5f5;--dark-muted:#a6b9c0;--dark-line:#2b3a42;--dark-accent:#dcff1e;--light:#f1f6f4;--light-ink:#102129;--light-muted:#485d64;--light-line:#c5d5d1;--light-accent:#365200;--signal-cyan:#4fffe0;--signal-glow:rgba(164,255,69,.17)}
html[data-color-mode="light"]{--bg:#f1f6f4;--surface:#fff;--surface-2:#e3efeb;--ink:#102129;--muted:#485d64;--line:#c5d5d1;--accent:#365200;--accent-soft:#e4f3cb;--accent-ink:#fff;--button-start:#dcff1e;--button-end:#4fffe0;--button-ink:#07130c;--signal-cyan:#006c61;--signal-glow:rgba(58,111,71,.13)}
html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--bg);color:var(--ink)}[hidden]{display:none!important}.tone-dark,.tone-light,.tone-panel{color:var(--ink);background:var(--bg)}.tone-panel{background:var(--surface)}
.signal-wordmark{font-size:36px;line-height:1;font-weight:600;letter-spacing:-2px;color:var(--ink)}.brand-icon-22{width:36px!important;height:36px!important;border-radius:8px}.brand-lockup{gap:10px}.site-header{background:var(--bg)}
#primary-nav>ul>li>a{font-size:15px;font-weight:600;padding-inline:10px}.header-inner{gap:16px}.header-actions{gap:8px}.header-actions .button{font-size:13px;padding:13px 17px}.header-inner .brand{flex-shrink:0}.sub-menu{background:var(--surface)!important;border-color:var(--line)!important}.sub-menu a:hover{background:var(--surface-2)!important;color:var(--accent)!important}
.button,.forminator-button-submit{background:linear-gradient(135deg,var(--button-start),var(--button-end))!important;color:var(--button-ink)!important;border:1px solid transparent!important;box-shadow:none;transition:transform .22s ease,box-shadow .22s ease,background-position .4s ease;background-size:160% 160%!important}.button:hover,.forminator-button-submit:hover{background-position:100% 100%!important;transform:translateY(-2px);box-shadow:0 8px 32px var(--signal-glow)!important}.button-outline,.portal-button{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}.button-outline:hover,.portal-button:hover{border-color:var(--accent)!important}.zg-no-glow .button:hover{box-shadow:none!important}
.zg-section{padding-block:clamp(56px,7vw,108px)}.zg-signal-hero{padding-top:clamp(64px,8vw,130px);background:radial-gradient(ellipse at 90% 20%,var(--signal-glow),transparent 52%),var(--bg);border-bottom:1px solid var(--line)}.signal-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(30px,6vw,90px)}.signal-hero-grid h1{font-size:clamp(42px,5.5vw,82px);line-height:1.03;letter-spacing:-.045em;max-width:13ch}.signal-hero-grid .section-heading{margin-bottom:28px}.signal-caption{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:30px}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.13em}.signal-hero-grid .intro{font-size:18px;line-height:1.7}
.signal-flow{position:relative;min-width:0;border:1px solid var(--line);border-radius:24px;padding:30px;background:linear-gradient(145deg,var(--surface),var(--bg));box-shadow:0 20px 80px var(--signal-glow);overflow:hidden}.signal-flow::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px}.signal-flow>*{position:relative}.signal-flow-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:36px}.signal-flow-top .eyebrow{margin:0}.motion-toggle{font:inherit;font-size:12px;color:var(--muted);background:transparent;border:1px solid var(--line);padding:9px 12px;border-radius:30px;cursor:pointer;min-height:44px}.signal-nodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.signal-node{display:flex;align-items:center;flex-direction:column;gap:14px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:18px 8px;font:inherit;font-size:13px;cursor:pointer;transition:border-color .2s,background .2s}.signal-node[aria-expanded=true]{color:var(--ink);border-color:var(--accent);background:var(--surface-2)}.signal-glyph{display:inline-grid;place-items:center;font-size:30px;color:var(--accent);width:48px;height:48px;border:1px solid var(--line);border-radius:14px}.signal-stream{height:2px;margin:30px 10%;background:var(--line);overflow:hidden}.signal-stream i{position:absolute;left:-12%;width:12%;height:2px;background:var(--signal-cyan);box-shadow:0 0 9px var(--signal-cyan);animation:signal-transmit 5s linear infinite}.signal-stream i:nth-child(2){animation-delay:1.6s}.signal-stream i:nth-child(3){animation-delay:3.2s}.signal-descriptions{min-height:90px}.signal-descriptions p{font-size:15px;line-height:1.7;margin:0;color:var(--muted)}.signal-flow.is-paused i,.signal-flow.is-offscreen i{animation-play-state:paused}@keyframes signal-transmit{to{left:110%}}
.signal-cards,.signal-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.signal-cards:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.signal-card,.signal-package{min-width:0;padding:32px;border:1px solid var(--line);border-radius:20px;background:var(--surface);transition:transform .25s,border-color .25s,box-shadow .25s}.signal-card:hover,.signal-package:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 16px 40px var(--signal-glow);background:linear-gradient(145deg,var(--surface),var(--surface-2))}.signal-card h3,.signal-package h3{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin-top:24px}.signal-card p,.signal-package p{color:var(--muted);font-size:16px;line-height:1.7}.signal-card .text-link{margin-top:24px;display:inline-flex}.package-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.package-filters button{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:14px;min-height:44px;padding:10px 22px;border-radius:30px;cursor:pointer}.package-filters button[aria-pressed=true]{background:var(--button-start);color:#102000;border-color:transparent}.signal-package{display:flex;flex-direction:column;align-items:flex-start;scroll-margin-top:120px}.signal-package h3{margin-top:10px}.signal-package .signal-price{color:var(--ink);font-size:24px;line-height:1.3;letter-spacing:-.02em}.signal-package details{width:100%;margin-block:16px 24px;border-block:1px solid var(--line);padding:16px 0}.signal-package summary{cursor:pointer;min-height:30px}.signal-package ul{padding-left:20px;font-size:15px;color:var(--muted)}.signal-package .button{margin-top:auto;font-size:14px}.signal-package:target{outline:2px solid var(--accent);outline-offset:6px}.zg-project-brief .zg-form-experience{max-width:920px;margin-inline:auto}
html[data-color-mode=light] .signal-card,html[data-color-mode=light] .signal-package{box-shadow:0 8px 24px rgba(30,55,45,.05)}.process-grid article{position:relative;padding:28px!important}.process-grid article>span:first-child{position:static!important;display:block!important;margin-bottom:20px!important}.process-grid h3{margin-top:12px}.blog-card,.insight-card{overflow:visible}.site-footer{background:var(--surface);border-top:1px solid var(--line)}.footer-grid a:hover{color:var(--accent)}
@media(min-width:1101px){#primary-nav>ul{gap:2px}.site-header .shell{width:calc(100% - 48px);max-width:1600px}}
@media(max-width:1100px){.signal-hero-grid{grid-template-columns:1fr}.signal-hero-grid h1{max-width:17ch}.signal-flow{max-width:100%}.signal-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#primary-nav>ul>li>a{font-size:22px;padding:16px 0}.signal-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.signal-wordmark{font-size:30px}.brand-icon-22{width:30px!important;height:30px!important}.signal-flow{padding:22px 16px;border-radius:18px}.signal-flow-top{margin-bottom:24px;gap:8px}.signal-flow-top .eyebrow{font-size:9px}.signal-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-node{padding:14px 8px;flex-direction:row;justify-content:center;font-size:12px;gap:8px}.signal-node .signal-glyph{width:30px;height:30px;font-size:21px;border:0}.signal-descriptions{min-height:100px}.signal-cards,.signal-package-grid,.signal-cards:has(> :nth-child(2):last-child){grid-template-columns:1fr}.signal-card,.signal-package{padding:26px}.signal-hero-grid h1{font-size:44px}.signal-caption{font-size:10px}.package-filters{gap:7px}.package-filters button{padding:10px 16px}.signal-hero-grid{gap:36px}.zg-section .shell{min-width:0}.header-inner{gap:8px}.signal-stream{margin-block:22px}.footer-email{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.signal-card:hover,.signal-package:hover,.button:hover{transform:none}.motion-toggle{display:none}}
.signal-menu-icon{display:inline-grid;place-items:center;width:42px;height:42px;color:var(--accent);font-size:27px;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.signal-menu-note{font-size:13px;line-height:1.6;color:var(--muted);margin:8px 0 0;max-width:38ch}
@media(min-width:1281px){html #primary-nav>.menu{gap:4px}html #primary-nav>.menu>li>a{font-size:15px;font-weight:600;padding-inline:7px}#primary-nav>.menu>.zg-services-menu>.sub-menu{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:1100px;margin-inline:auto}#primary-nav>.menu>.zg-services-menu>.sub-menu>li{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}#primary-nav>.menu>.zg-services-menu>.sub-menu>li:hover{background:linear-gradient(135deg,var(--surface),var(--surface-2))}#primary-nav>.menu>.zg-services-menu>.sub-menu>li>a{font-size:19px;display:block;border:0;padding:0;line-height:1.4}}
@media(max-width:1280px){.signal-menu-icon{float:left;margin:9px 12px 0 0;width:32px;height:32px;font-size:22px}.signal-menu-note{clear:both;margin-bottom:12px}.nav-dialog #primary-nav .sub-menu>li>a{padding-right:0}.site-header .header-inner{gap:12px}}
@media(min-width:1281px){html #primary-nav>.menu>.zg-services-menu>.sub-menu>li{padding:22px!important}html #primary-nav>.menu>.zg-services-menu>.sub-menu>li>a{padding:0!important;border:0!important;font-size:18px!important;line-height:1.4!important;margin:0!important}.signal-menu-note{margin-top:14px}}
