/* JSA Group — jsagroup.ca */
:root{
  --paper:#f8f7f1; --white:#fffef9; --ink:#1c2b25; --muted:#5d675e;
  --green:#183e32; --green-2:#245441; --deep:#0f2a21; --mint:#c5e6cc; --sage:#e9eee4;
  --orange:#cf5530; --line:#d8ded3; --line-dark:#3a5f50;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
button{font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
::selection{background:var(--mint)}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.skip{position:absolute;left:20px;top:-100px;z-index:100;background:var(--white);padding:14px}
.skip:focus{top:15px}
.section-wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}

/* Header */
.header{position:sticky;top:0;z-index:50;padding:18px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{text-decoration:none;display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:1.8px;white-space:nowrap}
.brand-symbol{height:32px;width:32px;background:var(--green);color:var(--paper);font-family:var(--serif);font-size:32px;line-height:22px;padding-left:9px;position:relative}
.brand-symbol>span{font-family:var(--sans);font-style:normal;font-size:14px;position:absolute;right:2px;top:-1px;color:var(--mint)}
.header nav{display:flex;align-items:center;gap:30px;font-size:13px}
.header nav>a{text-decoration:none;position:relative}
.header nav>a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.header nav>a:hover:after{transform:scaleX(1)}
.nav-contact{background:var(--green);color:var(--white);padding:11px 16px;display:flex;gap:18px;transition:background .2s}
.nav-contact:hover{background:var(--green-2)}
.menu-toggle{display:none}

/* Type + buttons */
.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;margin:0 0 22px;display:flex;align-items:center;gap:10px;color:var(--green)}
.eyebrow.light{color:var(--mint)}
.status-dot{height:7px;width:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 #cf553066;animation:ping 2.4s infinite}
h1,h2,h3{font-weight:400;margin:0}
h1 em,h2 em{font-family:var(--serif);font-style:italic;color:var(--green);letter-spacing:-.5px;font-size:1.06em}
h2{font-size:clamp(34px,3.6vw,52px);letter-spacing:-1.8px;line-height:1.08}
.button{border:1px solid var(--green);padding:16px 20px;display:inline-flex;align-items:center;gap:28px;text-decoration:none;font-size:13px;font-weight:600;background:transparent;color:var(--green);transition:transform .2s var(--ease),background .2s}
.button:hover{transform:translateY(-2px)}
.button.dark{background:var(--green);color:var(--white)}
.button.dark:hover{background:var(--green-2)}
.button.mint{background:var(--mint);color:var(--green);border-color:var(--mint)}
.button.mint:hover{background:#d6efdb}
.button:disabled{opacity:.6;transform:none}
.text-link{font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding:6px 0;display:inline-flex;gap:12px}

/* Hero */
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;padding-block:72px 80px}
.hero h1{font-size:clamp(52px,6vw,92px);line-height:1;letter-spacing:-4px;margin-bottom:26px}
.hero-description{font-size:18px;line-height:1.6;max-width:440px;color:var(--muted);margin:0 0 32px}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}

/* Console */
.console{background:var(--deep);color:var(--paper);border-radius:14px;padding:18px 20px 16px;box-shadow:0 30px 60px -20px #0f2a2166,0 0 0 1px #ffffff0d inset;font-family:var(--mono);position:relative;overflow:hidden}
.console:before{content:'';position:absolute;inset:0;background:radial-gradient(600px 240px at 80% -10%,#c5e6cc22,transparent 60%);pointer-events:none}
.console-top{display:flex;align-items:center;gap:12px;font-size:11px;color:#9fb8a8;padding-bottom:14px;border-bottom:1px solid #ffffff14}
.dots{display:flex;gap:6px}.dots i{width:9px;height:9px;border-radius:50%;background:#ffffff26}
.console-title{flex:1}
.live{display:flex;align-items:center;gap:7px;color:var(--mint)}
.live-dot{width:7px;height:7px;border-radius:50%;background:#6fdc8c;animation:ping 1.8s infinite;box-shadow:0 0 0 0 #6fdc8c88}
.flowline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);padding:22px 0 18px}
.fl-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#9fb8a8}
.fl-node svg{width:38px;height:38px;padding:9px;border-radius:10px;background:#1c3d31;border:1px solid #ffffff1a;color:var(--mint);animation:node 5s infinite}
.fl-node:nth-child(3) svg{animation-delay:1s}.fl-node:nth-child(4) svg{animation-delay:2s}.fl-node:nth-child(5) svg{animation-delay:3s}.fl-node:nth-child(6) svg{animation-delay:4s}
.fl-track{position:absolute;left:10%;right:10%;top:41px;height:1px;background:#ffffff22;overflow:hidden}
.fl-pulse{position:absolute;top:-1px;left:-20%;width:20%;height:3px;background:linear-gradient(90deg,transparent,var(--mint));animation:pulse 5s linear infinite}
.counters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.counters div{background:#ffffff0a;border:1px solid #ffffff12;border-radius:8px;padding:10px 12px}
.counters b{display:block;font-size:24px;font-weight:500;color:var(--white);font-variant-numeric:tabular-nums}
.counters span{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#9fb8a8}
.counters .held b{color:#f3a37f}
.feed{list-style:none;margin:0;padding:0;height:196px;overflow:hidden;display:flex;flex-direction:column;gap:6px;mask-image:linear-gradient(#000 70%,transparent)}
.feed li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:11.5px;padding:8px 10px;border-radius:6px;background:#ffffff08;animation:feedIn .5s var(--ease) both}
.feed .id{color:#9fb8a8}
.feed .who{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e6efe8}
.feed .who small{color:#9fb8a8;font-size:10.5px;margin-left:6px}
.feed .st{font-size:10px;padding:3px 8px;border-radius:20px;white-space:nowrap}
.feed .ok .st{background:#6fdc8c22;color:#8fe6a6}
.feed .hold .st{background:#f3a37f22;color:#f3a37f}
.console-foot{margin:12px 0 0;font-size:9.5px;color:#7d9688;letter-spacing:.5px}

/* Marquee */
.marquee{border-block:1px solid var(--line);background:var(--sage);overflow:hidden;padding:20px 0}
.marquee-track{display:flex;gap:56px;width:max-content;animation:marquee 40s linear infinite;font-family:var(--serif);font-size:24px;color:var(--green)}
.marquee-track span{white-space:nowrap;display:flex;align-items:center;gap:56px}
.marquee-track span:after{content:'✳';font-size:12px;color:var(--orange)}

/* Section heads */
.block{padding-block:110px}
.block-head{display:grid;grid-template-columns:1fr 1fr;gap:0 80px;align-items:end;margin-bottom:54px}
.block-head .eyebrow{grid-column:1/-1}
.block-head>p:last-child:not(.eyebrow){font-size:16px;line-height:1.65;color:var(--muted);max-width:430px;margin:0 0 6px}

/* Playbook cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:12px;position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px #183e3255;border-color:#b9cbb9}
.card-icon{width:52px;height:52px;border-radius:12px;background:var(--sage);color:var(--green);display:grid;place-items:center;font-size:26px;transition:background .3s,color .3s}
.card:hover .card-icon{background:var(--green);color:var(--mint)}
.card-tag{position:absolute;top:26px;right:26px;font-size:10px;letter-spacing:.6px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:5px 10px}
.card h3{font-size:22px;letter-spacing:-.5px;font-weight:500;margin-top:6px}
.card p{margin:0;font-size:14px;line-height:1.6;color:var(--muted);flex:1}
.mini{display:flex;align-items:center;margin-top:10px;padding-top:16px;border-top:1px dashed var(--line)}
.mini span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:15px;color:var(--muted);background:var(--paper);border:1px solid var(--line);position:relative}
.mini span+span{margin-left:28px}
.mini span+span:before{content:'';position:absolute;right:100%;width:28px;height:1px;background:var(--line)}
.mini{padding-bottom:16px}
.mini em{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);font-style:normal;font-size:9.5px;letter-spacing:.3px;white-space:nowrap;color:var(--muted);transition:color .3s}
.mini span:before{transition:background .3s}
.card.active{border-color:#b9cbb9;box-shadow:0 24px 40px -28px #183e3255}
.card.active .card-icon{background:var(--green);color:var(--mint)}
.card.active .mini span{animation:lit .35s var(--ease) both}
.card.active .mini span:before{animation:wire .35s var(--ease) both}
.card.active .mini em{animation:litText .35s both}
.card.active .mini span:nth-child(2),.card.active .mini span:nth-child(2):before,.card.active .mini span:nth-child(2) em{animation-delay:.5s}
.card.active .mini span:nth-child(3),.card.active .mini span:nth-child(3):before,.card.active .mini span:nth-child(3) em{animation-delay:1s}
.card.active .mini span:nth-child(4),.card.active .mini span:nth-child(4):before,.card.active .mini span:nth-child(4) em{animation-delay:1.5s}

/* Before/after */
.difference{background:var(--green);color:var(--paper);padding-block:110px;position:relative;overflow:hidden}
.difference:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#ffffff14 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000)}
.diff-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;position:relative}
.difference h2 em{color:var(--mint)}
.diff-copy>p:not(.eyebrow){font-size:16px;line-height:1.6;color:#c8d6c9;max-width:380px;margin:22px 0 30px}
.switch{display:inline-flex;background:#ffffff14;border-radius:40px;padding:4px}
.switch button{border:0;background:transparent;color:var(--paper);padding:11px 22px;border-radius:40px;font-size:13px;font-weight:600;transition:background .3s,color .3s}
.switch button[aria-pressed=true]{background:var(--mint);color:var(--green)}
.diff-score{display:flex;align-items:baseline;gap:14px;margin-top:34px}
.diff-score b{font-family:var(--serif);font-weight:400;font-size:96px;line-height:1;color:var(--mint);transition:transform .4s var(--ease)}
.diff-score span{font-size:14px;color:#c8d6c9;max-width:140px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:s}
.steps li{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:10px;background:#ffffff0d;border:1px solid #ffffff14;font-size:15px;position:relative;transition:all .5s var(--ease)}
.steps li svg{font-size:20px;color:var(--mint)}
.steps li:after{content:'';margin-left:auto;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700;opacity:0;transition:opacity .4s}
.steps .a{display:none}
.steps[data-mode=after] li:not(.human){opacity:.42;background:transparent;border-color:#ffffff10;transform:scale(.97)}
.steps[data-mode=after] li:not(.human) span{text-decoration:line-through;text-decoration-color:#c5e6cc88}
.steps[data-mode=after] li:not(.human):after{content:'Automated';opacity:1;color:var(--mint)}
.steps[data-mode=after] li.human{background:var(--mint);color:var(--green);border-color:var(--mint);transform:scale(1.03);box-shadow:0 20px 40px -20px #000a}
.steps[data-mode=after] li.human svg{color:var(--green)}
.steps[data-mode=after] li.human:after{content:'You';opacity:1;color:var(--green)}
.steps[data-mode=after] .b{display:none}
.steps[data-mode=after] .a{display:inline}
.steps[data-mode=after] li:nth-child(2){transition-delay:.05s}.steps[data-mode=after] li:nth-child(3){transition-delay:.1s}.steps[data-mode=after] li:nth-child(4){transition-delay:.15s}.steps[data-mode=after] li:nth-child(5){transition-delay:.2s}.steps[data-mode=after] li:nth-child(7){transition-delay:.3s}.steps[data-mode=after] li:nth-child(8){transition-delay:.35s}

/* Timeline */
.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:30px}
.tl-bar{position:absolute;top:52px;left:24px;right:24px;height:2px;background:var(--line)}
.tl-bar span{position:absolute;inset:0;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease) .3s}
.timeline.in .tl-bar span{transform:scaleX(1)}
.tl-step{position:relative}
.tl-dot{width:48px;height:48px;border-radius:50%;background:var(--paper);border:2px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--orange);position:relative;z-index:1;margin-bottom:26px;transition:border-color .4s,background .4s,color .4s}
.timeline.in .tl-step:nth-child(2) .tl-dot{transition-delay:.3s}.timeline.in .tl-step:nth-child(3) .tl-dot{transition-delay:1s}.timeline.in .tl-step:nth-child(4) .tl-dot{transition-delay:1.7s}
.timeline.in .tl-dot{border-color:var(--green);background:var(--green);color:var(--mint)}
.tl-step h3{font-size:26px;letter-spacing:-.6px;margin-bottom:10px}
.tl-step p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 14px;max-width:320px}
.tl-step small{font-size:11px;font-weight:600;color:var(--green);letter-spacing:.3px}

/* Controls tiles */
.controls{background:var(--sage);border-block:1px solid var(--line);padding-block:100px}
.controls .block-head{margin-bottom:40px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{background:var(--white);border-radius:14px;padding:28px 24px;border:1px solid var(--line)}
.tile svg{font-size:30px;color:var(--orange);margin-bottom:22px}
.tile h3{font-size:19px;font-weight:500;letter-spacing:-.3px;margin-bottom:8px}
.tile p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}

/* FAQ */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.faq .block-head{display:block;margin:0}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{cursor:pointer;list-style:none;padding:22px 36px 22px 0;font-size:18px;letter-spacing:-.3px;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:0;top:16px;width:28px;height:28px;border-radius:50%;background:var(--sage);display:grid;place-items:center;color:var(--green);transition:transform .3s var(--ease),background .3s}
.faq-list details[open] summary:after{transform:rotate(45deg);background:var(--mint)}
.faq-list p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 24px;max-width:580px}

/* Contact */
.contact{background:var(--deep);color:var(--paper);padding-block:100px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact h2{font-size:clamp(40px,4.4vw,62px)}
.contact h2 em{color:var(--mint)}
.contact-grid>div>p:not(.eyebrow){font-size:16px;line-height:1.65;color:#c8d6c9;max-width:420px;margin:22px 0}
.contact-points{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:10px}
.contact-points li{display:flex;align-items:center;gap:8px;font-size:13px;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:30px;padding:8px 14px}
.contact-points svg{color:var(--mint)}
.contact-alt{font-size:14px!important}
.contact-alt a{color:var(--mint);font-weight:600}
.contact-form{background:#ffffff08;border:1px solid #ffffff17;border-radius:16px;padding:30px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:block;font-size:12px;font-weight:500;margin-bottom:18px;color:#c8d6c9}
.contact-form .opt{font-weight:400;color:#7d9688}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #ffffff22;border-radius:8px;padding:13px 14px;background:#0a1f18;color:var(--white);font:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--mint);box-shadow:0 0 0 3px #c5e6cc33}
.contact-form textarea{resize:vertical;min-height:120px}
.contact-form textarea::placeholder{color:#6d8678}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{font-size:14px;min-height:20px;margin:14px 0 0}
.form-status[data-kind=ok]{color:var(--mint);font-weight:600}
.form-status[data-kind=error]{color:#f3a37f}
.contact-form.is-sent>*:not(.form-status){display:none}
.contact-form.is-sent .form-status{font-family:var(--serif);font-size:28px;line-height:1.25;font-weight:400;margin:0;padding:30px 0}
.form-small{font-size:11px;line-height:1.6;color:#7d9688;margin:14px 0 0}

/* Chat intake (widget markup is in git history, commit 1d073ab) */
.chat{background:#ffffff08;border:1px solid #ffffff17;border-radius:16px;display:flex;flex-direction:column;height:560px;overflow:hidden}
.chat-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #ffffff14}
.chat-head b{display:block;font-size:14px;font-weight:600}
.chat-head small{display:flex;align-items:center;gap:7px;font-size:11px;color:#9fb8a8;margin-top:3px}
.chat-avatar{width:34px;height:34px;border-radius:9px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-family:var(--serif);font-size:22px;position:relative}
.chat-avatar span{position:absolute;top:2px;right:4px;font-family:var(--sans);font-size:9px}
.chat-log{list-style:none;margin:0;padding:20px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.chat-log li{max-width:85%;padding:11px 15px;border-radius:14px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;animation:feedIn .35s var(--ease)}
.chat-log .bot{background:#ffffff12;border-top-left-radius:4px;align-self:flex-start;color:#e8efe9}
.chat-log .me{background:var(--mint);color:var(--green);border-top-right-radius:4px;align-self:flex-end}
.chat-log .err{background:#cf55301f;color:#f3c1ab;align-self:flex-start}
.chat-log .err a{color:var(--mint)}
.chat-log .typing{display:flex;gap:5px;padding:15px}
.chat-log .typing i{width:6px;height:6px;border-radius:50%;background:#9fb8a8;animation:blink 1.2s infinite}
.chat-log .typing i:nth-child(2){animation-delay:.2s}.chat-log .typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.chat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 14px}
.chat-chips button{font:inherit;font-size:12.5px;color:var(--paper);background:transparent;border:1px solid #ffffff2a;border-radius:20px;padding:7px 12px;cursor:pointer;transition:background .2s,border-color .2s}
.chat-chips button:hover{background:#ffffff14;border-color:var(--mint)}
.chat-book{margin:0 20px 14px;justify-content:space-between}
.chat-form{display:flex;gap:10px;align-items:flex-end;padding:14px 16px;border-top:1px solid #ffffff14}
.chat-form textarea{flex:1;resize:none;border:1px solid #ffffff22;border-radius:10px;padding:12px 14px;background:#0a1f18;color:var(--white);font:inherit;font-size:15px;line-height:1.4;max-height:140px;transition:border-color .2s,box-shadow .2s}
.chat-form textarea:focus{outline:0;border-color:var(--mint);box-shadow:0 0 0 3px #c5e6cc33}
.chat-form textarea::placeholder{color:#6d8678}
.chat-form button{width:46px;height:46px;border:0;border-radius:10px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:20px;cursor:pointer;transition:transform .2s var(--ease)}
.chat-form button:hover{transform:translateX(2px)}
.chat-form button:disabled{opacity:.5;transform:none;cursor:default}
.contact-grid .chat .chat-small{font-size:11px;line-height:1.5;color:#7d9688;margin:0;padding:0 20px 14px;max-width:none}
[hidden]{display:none!important}
.chat-small a{color:#9fb8a8}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Footer */
.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px;flex-wrap:wrap}
.footer small{font-size:11px;color:var(--muted)}
.back-top{font-size:12px;text-decoration:none}

/* Privacy page */
.privacy-main{max-width:760px;margin:70px auto;padding:0 24px;min-height:60vh}
.privacy-main h1{font-size:48px;letter-spacing:-1.5px;margin-bottom:10px}
.privacy-main h2{font-size:24px;letter-spacing:-.5px;margin:34px 0 10px}
.privacy-main p{font-size:15px;line-height:1.8;color:var(--muted)}
.header .text-link{font-size:12px}

/* Reveal on scroll */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .cards .card:nth-child(3n+2){transition-delay:.08s}.js .cards .card:nth-child(3n){transition-delay:.16s}
.js .tiles .tile:nth-child(2){transition-delay:.08s}.js .tiles .tile:nth-child(3){transition-delay:.16s}.js .tiles .tile:nth-child(4){transition-delay:.24s}

/* Keyframes */
@keyframes ping{0%{box-shadow:0 0 0 0 currentColor}70%,100%{box-shadow:0 0 0 8px transparent}}
.status-dot{color:#cf553066}.live-dot{color:#6fdc8c88}
@keyframes pulse{0%{left:-20%}100%{left:100%}}
@keyframes node{0%,12%{background:#1c3d31;border-color:#ffffff1a}4%{background:#2c5c49;border-color:var(--mint)}}
@keyframes feedIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes lit{from{background:var(--paper);color:var(--muted);border-color:var(--line);transform:scale(1)}60%{transform:scale(1.12)}to{background:var(--green);color:var(--mint);border-color:var(--green);transform:scale(1)}}
@keyframes wire{to{background:var(--green)}}
@keyframes litText{to{color:var(--green)}}

/* Responsive */
@media(max-width:1080px){
  .section-wrap{width:calc(100% - 64px)}
  .header{padding:16px 32px}
  .hero{grid-template-columns:1fr;gap:48px}
  .console{max-width:640px}
  .cards{grid-template-columns:1fr 1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .diff-grid,.contact-grid{gap:50px}
}
@media(max-width:760px){
  html{scroll-padding-top:70px}
  .section-wrap{width:calc(100% - 40px)}
  .header{padding:14px 20px;flex-wrap:wrap;gap:0}
  .menu-toggle{display:flex;gap:12px;align-items:center;border:1px solid #b7c2b3;padding:8px 12px;background:transparent;font-size:12px}
  .header nav{display:none;width:100%;padding:20px 0 8px;gap:18px;flex-direction:column;align-items:flex-start}
  .header nav.is-open{display:flex}
  .hero{padding-block:40px 56px}
  .hero h1{font-size:clamp(46px,13vw,64px);letter-spacing:-2.5px}
  .hero-description{font-size:16px}
  .console{padding:14px 14px 12px;border-radius:12px}
  .fl-node svg{width:32px;height:32px;padding:7px}
  .fl-track{top:37px}
  .fl-node{font-size:8px}
  .counters b{font-size:20px}
  .feed li{font-size:10.5px;grid-template-columns:1fr auto}
  .feed .id{display:none}
  .feed .who small{display:none}
  .marquee-track{font-size:19px;gap:36px}.marquee-track span{gap:36px}
  .block{padding-block:70px}
  .block-head{grid-template-columns:1fr;gap:16px;margin-bottom:34px}
  .cards,.tiles{grid-template-columns:1fr}
  .difference,.controls,.contact{padding-block:70px}
  .diff-grid,.contact-grid,.faq{grid-template-columns:1fr;gap:36px}
  .diff-score b{font-size:72px}
  .steps li{font-size:14px;padding:12px 14px}
  .timeline{grid-template-columns:1fr;gap:28px;padding-top:0}
  .tl-bar{left:23px;right:auto;top:24px;bottom:24px;width:2px;height:auto}
  .tl-bar span{transform:scaleY(0);transform-origin:top}
  .timeline.in .tl-bar span{transform:scaleY(1)}
  .tl-step{padding-left:72px}
  .tl-dot{position:absolute;left:0;top:0;margin:0}
  .form-row{grid-template-columns:1fr;gap:0}
  .contact-form{padding:22px}
  .footer{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
  .marquee-track{flex-wrap:wrap;width:auto}
}
