.hero{background:var(--tint);padding-block:72px 96px;overflow:hidden}.hero__inner{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:56px;display:grid}.hero h1{font:var(--text-h1);letter-spacing:-.02em;margin-top:24px;font-size:clamp(2.5rem,4.2vw,3.5rem);line-height:1.1}.hero__lead{font:var(--text-lead);color:var(--muted);max-width:32ch;margin-top:20px}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.hero__visual{border-radius:var(--radius-lg);background:var(--accent);padding:clamp(20px,3vw,40px);position:relative}.hero__visual img{width:100%}.hero-chip{z-index:1;border:1px solid var(--border);background:var(--surface);color:var(--fg);font:var(--text-small);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:inline-flex;position:absolute}.hero-chip--allowed{bottom:-20px;left:clamp(20px,3vw,40px)}.hero-chip--deployed{top:-20px;right:clamp(20px,3vw,40px)}.hero-chip b{font-family:var(--font-mono);color:var(--ok);font-weight:500}.hero-chip__check{width:16px;height:16px;color:var(--ok)}.hero-chip__pulse{background:var(--ok);border-radius:50%;width:8px;height:8px;position:relative}.hero-chip__pulse:after{content:"";background:var(--ok);opacity:0;border-radius:50%;position:absolute;inset:0}@media (width<=960px){.hero__inner{grid-template-columns:minmax(0,1fr);gap:48px}}@media (width<=720px){.hero{padding-block:40px 64px}.hero h1{font-size:2.25rem;line-height:1.15}.hero__lead{font-size:1.125rem}.hero__actions .btn{flex:100%}.hero-chip{gap:6px;padding:5px 10px;font-size:.75rem;line-height:1.5}.hero-chip--allowed{bottom:-15px;left:14px}.hero-chip--deployed{top:-15px;right:14px}.hero-chip__check{width:13px;height:13px}}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;display:grid}.step{text-align:center;padding:8px 16px}.step__icon{background:var(--tint);width:64px;height:64px;color:var(--link);border-radius:50%;place-items:center;display:inline-grid}.step__icon svg{width:28px;height:28px}.step h3{font:var(--text-h3);margin-top:20px;font-size:1.25rem}.step p{color:var(--muted);margin-top:8px;max-width:28ch;margin-inline:auto}@media (width<=760px){.steps{grid-template-columns:minmax(0,1fr);gap:40px}}.rows{gap:112px;display:grid}.row{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:64px;display:grid}.row--flip .row__text{order:2}.row--flip .row__visual{order:1}.row__text h2{font:var(--text-h2);letter-spacing:-.01em}.row__text>p{font:var(--text-lead);color:var(--muted);max-width:44ch;margin-top:16px;font-size:1.125rem}.row__text .more-link{margin-top:24px;display:inline-block}.checks{gap:12px;margin-top:24px;list-style:none;display:grid}.checks li{padding-left:34px;font-weight:600;position:relative}.checks li:before{content:"";background:var(--ok);border-radius:50%;width:22px;height:22px;position:absolute;top:2px;left:0}.checks li:after{content:"";border-left:2px solid var(--page);border-bottom:2px solid var(--page);width:8px;height:5px;position:absolute;top:7px;left:7px;transform:rotate(-45deg)}.panel{border-radius:var(--radius-lg);place-items:center;min-height:380px;padding:48px;display:grid}.panel--sand{background:var(--surface-2)}.panel--accent{background:var(--accent)}@media (width<=960px){.rows{gap:80px}.row{grid-template-columns:minmax(0,1fr);gap:32px}.row .row__text{order:2}.row .row__visual{order:1}}@media (width<=720px){.panel{min-height:0;padding:24px}.row__text h2{font-size:1.625rem;line-height:1.25}}.mock{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);width:100%;max-width:460px;color:var(--fg);padding:24px;font-size:.9375rem}.mock__head{align-items:center;gap:10px;font-size:1.0625rem;font-weight:700;display:flex}.key{background:var(--surface-2);font:var(--text-mono);border-radius:6px;padding:2px 8px;font-size:.8125rem;font-weight:500}.mock__foot{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;display:flex}.mock__foot b{color:var(--fg);font-family:var(--font-mono);font-weight:500}.pipeline{gap:4px;margin-top:20px;list-style:none;display:grid}.pipeline li{grid-template-columns:20px 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid;position:relative}.pipeline li:not(:last-child):before,.pipeline li:not(:last-child):after{content:"";background:var(--border);width:2px;position:absolute;top:32px;bottom:-12px;left:9px}.pipeline li:not(:last-child):after{background:var(--ok);transform-origin:top}.pipeline .dot{background:var(--border);border-radius:50%;width:20px;height:20px;position:relative}.pipeline .dot:after{content:"";background:var(--ok);border-radius:50%;position:absolute;inset:0}.pipeline small{font-family:var(--font-mono);color:var(--muted)}.pipeline .is-prod b{color:var(--fg)}.chip{background:var(--surface-2);font:var(--text-small);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.chip--ok{background:var(--approved-light);color:var(--ink)}.cr{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.cr b{display:block}.cr small{color:var(--muted)}.avatar{background:var(--accent);width:40px;height:40px;color:var(--white);border-radius:50%;place-items:center;font-size:.875rem;font-weight:700;display:grid}.mock__label{font:var(--text-small);color:var(--muted);margin-top:24px}.states{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.state{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font-family:var(--font-mono);text-align:center;padding:12px 8px;font-weight:500}.cr-swap{display:grid}.cr-swap>.cr{grid-area:1/1}.cr--awaiting{opacity:0}.state{position:relative}.state__lit{border-radius:inherit;place-items:center;display:grid;position:absolute;inset:0}.state__lit--ok{background:var(--approved);color:var(--white)}.state__lit--wait{background:var(--fg);color:var(--surface);opacity:0}@media (width<=420px){.mock{padding:18px}.cr{grid-template-columns:auto 1fr}.cr .chip{grid-column:1/-1;justify-self:start}.states{grid-template-columns:minmax(0,1fr)}}.faq{gap:12px;max-width:760px;margin-inline:auto;display:grid}.faq details{border-radius:var(--radius-md);background:var(--tint)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:16px 24px;font-size:1.0625rem;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";background:var(--page);width:28px;height:28px;color:var(--link);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.25rem;line-height:1;display:grid}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);max-width:60ch;padding:0 24px 22px}.cta{padding-bottom:var(--section-y)}.cta__box{border-radius:var(--radius-lg);background:var(--accent);color:var(--white);text-align:center;justify-items:center;gap:16px;padding:64px 32px;display:grid}.cta__box h2{font:var(--text-h2);color:var(--white)}.cta__box p{font:var(--text-lead);font-size:1.125rem}.cta__box .btn{margin-top:8px}.cta__box .btn:focus-visible{outline-color:var(--white)}@media (width<=720px){.cta__box{padding:48px 20px}.cta__box h2{font-size:1.625rem;line-height:1.25}.cta__box .btn{width:100%}}@media (prefers-reduced-motion:no-preference){.hero__copy>*{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.hero__copy>:nth-child(2){animation-delay:80ms}.hero__copy>:nth-child(3){animation-delay:.16s}.hero__copy>:nth-child(4){animation-delay:.24s}.hero__visual{animation:.9s cubic-bezier(.2,.7,.2,1) .1s both slide-in-right}.hero-chip{animation:.5s cubic-bezier(.3,1.4,.5,1) 1s both chip-pop,6s ease-in-out 1.5s infinite chip-bob}.hero-chip--deployed{animation-delay:1.15s,3s}.hero-chip__pulse:after{animation:2s ease-out 1.6s infinite pulse}.step:hover .step__icon{animation:.5s ease-in-out wiggle}.reveal--in .step__icon--sync svg{animation:1s cubic-bezier(.5,0,.3,1) .35s both spin-once}.reveal--in .step__icon--panel svg{animation:.6s cubic-bezier(.3,1.5,.5,1) .45s both pop}.reveal--in .step__icon--gate svg{animation:.6s cubic-bezier(.3,1.5,.5,1) .55s both pop}.reveal--in .step__icon--gate .draw{stroke-dasharray:9;animation:.5s ease-out .85s both draw}.faq details[open] p{animation:.35s ease-out both faq-open}.pipeline .dot:after,.pipeline li:after,.pipeline small,.mock--pipeline .chip--ok{animation-duration:6.5s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-fill-mode:both}.pipeline li:first-child .dot:after{animation-name:pl-dot1}.pipeline li:nth-child(2) .dot:after{animation-name:pl-dot2}.pipeline li:nth-child(3) .dot:after{animation-name:pl-dot3}.pipeline li:first-child:after{animation-name:pl-line1}.pipeline li:nth-child(2):after{animation-name:pl-line2}.pipeline li:first-child small{animation-name:pl-time1}.pipeline li:nth-child(2) small{animation-name:pl-time2}.pipeline li:nth-child(3) small{animation-name:pl-time3}.mock--pipeline .chip--ok{animation-name:pl-chip}.cr--awaiting{animation:8s ease-in-out infinite both gate-awaiting}.cr--approved{animation:8s ease-in-out infinite both gate-approved}.state__lit--wait{animation:8s ease-in-out infinite both gate-wait}.state__lit--ok{animation:8s ease-out infinite both gate-ok}}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes slide-in-right{0%{opacity:0;transform:translate(64px)}to{opacity:1;transform:none}}@keyframes chip-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes chip-bob{0%,to{translate:0}50%{translate:0 -5px}}@keyframes pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}@keyframes wiggle{0%,to{transform:none}25%{transform:rotate(-10deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}@keyframes spin-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:none}}@keyframes draw{0%{stroke-dashoffset:9px}to{stroke-dashoffset:0}}@keyframes faq-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes pl-dot1{0%,2%{opacity:0;transform:scale(.3)}6%{opacity:1;transform:scale(1.2)}9%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:scale(.3)}}@keyframes pl-dot2{0%,20%{opacity:0;transform:scale(.3)}24%{opacity:1;transform:scale(1.2)}27%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:scale(.3)}}@keyframes pl-dot3{0%,38%{opacity:0;transform:scale(.3)}42%{opacity:1;transform:scale(1.2)}45%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:scale(.3)}}@keyframes pl-line1{0%,9%{transform:scaleY(0)}20%,90%{transform:none}96%,to{transform:scaleY(0)}}@keyframes pl-line2{0%,27%{transform:scaleY(0)}38%,90%{transform:none}96%,to{transform:scaleY(0)}}@keyframes pl-time1{0%,6%{opacity:0;transform:translate(-6px)}11%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:none}}@keyframes pl-time2{0%,24%{opacity:0;transform:translate(-6px)}29%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:none}}@keyframes pl-time3{0%,42%{opacity:0;transform:translate(-6px)}47%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:none}}@keyframes pl-chip{0%,48%{opacity:0;transform:scale(.6)}53%{opacity:1;transform:scale(1.1)}56%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:scale(.6)}}@keyframes gate-awaiting{0%,40%{opacity:1;transform:none}46%,92%{opacity:0;transform:translateY(-6px)}98%,to{opacity:1;transform:none}}@keyframes gate-approved{0%,40%{opacity:0;transform:translateY(6px)}46%,92%{opacity:1;transform:none}98%,to{opacity:0;transform:translateY(6px)}}@keyframes gate-wait{0%,40%{opacity:1}46%,92%{opacity:0}98%,to{opacity:1}}@keyframes gate-ok{0%,43%{opacity:0;transform:scale(.85)}49%{opacity:1;transform:scale(1.06)}53%,92%{opacity:1;transform:none}98%,to{opacity:0;transform:scale(.85)}}
