@charset "UTF-8";
:root{--yellow:#B6FF42;--ink:#161713;--cyan:#abe6ef;--pink:#ecabe5;--cream:#f5f2e9;--red:#fa4d32;--line:2px solid var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #4b39cf;outline-offset:5px}::selection{background:var(--ink);color:var(--yellow)}.skip{position:absolute;top:-80px;left:20px;padding:15px;background:white;z-index:20}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;padding:22px 4.5%;background:var(--yellow);border-bottom:var(--line);gap:20px}.brand{display:flex;align-items:center;font-size:58px;font-weight:900;letter-spacing:-7px;line-height:.8}.brand>span{font-size:40px;letter-spacing:-3px;align-self:flex-start;margin-left:5px}.brand small{font-size:10px;letter-spacing:0;line-height:1.15;margin-left:22px}nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:bold}nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border:var(--line);border-radius:30px;padding:13px 20px}.hero{background:var(--yellow);padding:38px 4.5% 38px;position:relative;overflow:hidden}.eyebrow,.section-label,.mini-label,.art-top,.art-note{font-family:monospace;font-size:12px;font-weight:600;letter-spacing:1px}.eyebrow{display:flex;align-items:center;gap:10px}.dot{width:8px;height:8px;border-radius:50%;background:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Impact,'Arial Narrow','Helvetica Neue',sans-serif;font-stretch:condensed;letter-spacing:-.035em;font-weight:900;line-height:.92}h1{font-size:clamp(80px,10.5vw,170px);margin-top:38px;max-width:1200px;position:relative;z-index:1}h1 .outline{color:transparent;-webkit-text-stroke:2px var(--ink)}.poss{position:relative;display:inline-block}.poss svg{position:absolute;width:100%;left:0;bottom:-18px;stroke:var(--red);stroke-width:5;fill:none}.hero-bottom{display:flex;justify-content:space-between;align-items:end;max-width:1200px;margin-top:44px}.hero-bottom p{font-size:18px;line-height:1.5;max-width:410px}.round-link{font-size:64px;border:var(--line);border-radius:50%;height:90px;width:90px;display:grid;place-items:center;transition:transform .2s,background .2s}.round-link:hover{transform:rotate(12deg);background:var(--cream)}.hero-sticker{position:absolute;right:8%;top:21%;background:var(--pink);border:var(--line);width:185px;height:185px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;transform:rotate(12deg);font-weight:900;font-size:22px;line-height:1.05;text-align:center;box-shadow:7px 8px 0 var(--ink)}.hero-sticker span{color:#783074}.ticker{background:var(--ink);color:var(--yellow);overflow:hidden;padding:18px 0;border-bottom:var(--line);font-weight:900;font-size:20px}.ticker>div{white-space:nowrap;width:max-content;animation:marquee 32s linear infinite}.ticker b{margin:0 32px;color:var(--pink)}@keyframes marquee{to{transform:translateX(-35%)}}section:not(.hero){padding:80px 4.5%}.section-label{margin-bottom:48px}h2{font-size:clamp(42px,5.5vw,90px)}h2 em{font-style:normal;color:var(--red)}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:7%}.intro-grid h2{font-size:clamp(38px,4.3vw,70px)}p{line-height:1.65}.lead{font-size:23px;line-height:1.35;margin-bottom:22px}.intro-grid p:not(.lead){margin-bottom:18px;font-size:15px}.text-link{display:inline-block;border-bottom:var(--line);font-size:14px;font-weight:bold;padding:8px 0}.facts{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:65px;border-top:var(--line)}.facts>div{display:flex;flex-direction:column;padding:28px 20px 0 0}.facts strong{font-size:52px;font-weight:900;letter-spacing:-2px}.facts span{font-size:13px;margin-top:8px}.work{background:var(--cyan);border-top:var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:8%;margin-bottom:48px}.section-heading p{max-width:340px;font-size:14px}.featured{border:var(--line);display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.agent-art{background:var(--ink);color:var(--cream);padding:25px 22px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.art-top{display:flex;justify-content:space-between;color:var(--yellow);font-size:11px}.network{width:100%;max-height:500px;overflow:visible;margin:24px 0}.network-line{stroke:#898d75;stroke-width:2;fill:none;stroke-dasharray:7 7;animation:dash 20s linear infinite}.agent-node>circle{stroke:var(--ink);stroke-width:2}.agent-node rect{fill:none;stroke:var(--ink);stroke-width:4}.agent-node path{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.agent-node text{fill:var(--cream);font:12px monospace;text-anchor:middle;letter-spacing:1px}.signal{fill:var(--yellow)}@keyframes dash{to{stroke-dashoffset:-200}}.art-note{font-size:10px}.feature-copy{padding:40px}.pill{display:inline-block;font:10px monospace;letter-spacing:.3px;border:1px solid;border-radius:20px;padding:8px 12px}.feature-copy h3{font-size:clamp(34px,4vw,65px);margin:30px 0 24px}.red{color:var(--red);display:inline-block;margin-left:8px}.feature-copy p:not(.lead){font-size:14px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0}.tags span{font:11px monospace;border:1px solid #74766d;padding:6px 9px;border-radius:3px}.detail-button{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:0;border-top:var(--line);padding:18px 0 0;font-size:14px;font-weight:bold;text-align:left}.detail-button span{font-size:26px;line-height:1;transition:transform .2s}.detail-button:hover span{transform:rotate(90deg)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.project{border:var(--line);background:var(--cream)}.project-art{height:320px;border-bottom:var(--line);overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center}.rag{background:var(--yellow);gap:35px}.paper{display:block;width:126px;height:172px;border:3px solid;background:var(--cream);padding:20px;font-size:24px;font-weight:900;box-shadow:7px 7px 0;transform:rotate(-12deg)}.paper i{display:block;font-size:22px;line-height:1.4;font-style:normal;margin-top:10px}.rag-arrow{position:absolute;font-size:90px;left:41%;top:28%;z-index:2;color:var(--red);transform:rotate(10deg)}.answer{background:var(--ink);color:var(--cream);padding:25px;font-size:25px;transform:rotate(8deg);line-height:1.05;border-radius:25px 25px 25px 0;margin-top:55px}.answer b{color:var(--yellow)}.answer>span{display:block;font-size:14px;letter-spacing:10px;margin-top:25px;color:var(--pink)}.planner{background:var(--pink);flex-direction:column;padding:22px 25px;gap:8px}.planner-row{display:flex;justify-content:space-between;width:100%;align-items:center;font:11px monospace;letter-spacing:1px}.planner-row span{border:1px solid;border-radius:20px;padding:7px 10px}.planner-row b{font-size:30px}.planner-center{font-family:Impact,'Arial Narrow',sans-serif;font-size:66px;font-weight:900;line-height:.9;transform:rotate(-8deg);text-align:center}.planner-center em{font-style:normal;color:var(--cream);-webkit-text-stroke:1px var(--ink)}.project-copy{padding:30px}.project-copy h3{font-size:38px;margin:18px 0}.project-copy p{font-size:14px;min-height:92px}.small-project{display:grid;grid-template-columns:auto 1fr 1.1fr;align-items:center;gap:25px;margin-top:50px;padding-top:35px;border-top:var(--line)}.small-project .asterisk{font-size:95px;color:var(--red)}.small-project h3{font-size:30px;margin-top:10px}.small-project p{font-size:14px}.small-project>.pill{grid-column:2/4;justify-self:start}.experience{background:var(--cream);border-top:var(--line)}.experience-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.timeline>div{border-top:var(--line);padding:22px 0 30px}.timeline>div>span{font:11px monospace;letter-spacing:.3px}.timeline h3{font-family:Arial,Helvetica,sans-serif;letter-spacing:-1px;font-size:26px;line-height:1.1;margin:18px 0}.timeline p{font-size:14px}.contact{background:var(--pink);border-top:var(--line);position:relative;overflow:hidden}.contact h2{font-size:clamp(54px,8vw,126px);position:relative;z-index:1}.contact h2 em{color:var(--ink);-webkit-text-stroke:1.5px var(--ink);color:transparent}.contact-star{position:absolute;right:8%;top:24%;font-size:250px;line-height:1;color:var(--red);transform:rotate(13deg)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:50px}.contact-bottom p{max-width:520px;font-size:17px}.contact-bottom strong{display:inline-block;margin-top:12px}.button{background:var(--ink);color:var(--cream);border-radius:40px;font-size:18px;font-weight:bold;padding:22px 28px;display:flex;align-items:center;gap:45px;white-space:nowrap}.button span{color:var(--yellow);font-size:28px}.button:hover{background:#36382e}.mail{display:inline-block;font-size:15px;margin-top:30px;border-bottom:1px solid;padding-bottom:5px}footer{padding:32px 4.5%;display:flex;align-items:center;gap:30px;font-size:11px;background:var(--ink);color:var(--cream)}footer .brand{font-size:44px;color:var(--yellow);margin-right:auto}footer .brand>span{font-size:28px}footer a:not(.brand):hover{text-decoration:underline}dialog{border:var(--line);padding:48px;max-width:740px;width:calc(100% - 36px);background:var(--cream);color:var(--ink);max-height:85vh;overflow:auto}dialog::backdrop{background:#161713b8;backdrop-filter:blur(5px)}dialog h2{font-size:50px;margin:24px 0}dialog h4{margin:25px 0 8px;font-size:17px}dialog p,dialog li{font-size:15px;line-height:1.6}dialog ul{padding-left:20px}.close{position:absolute;right:15px;top:12px;background:none;border:0;font-size:35px;line-height:1}.status-note{padding:16px;background:var(--yellow);margin-top:25px;font-size:13px!important}.dialog-open{overflow:hidden}
@media(min-width:1500px){header,.hero,section:not(.hero),footer{padding-left:max(4.5%,calc((100vw - 1400px)/2));padding-right:max(4.5%,calc((100vw - 1400px)/2))}.hero-sticker{right:14%}}
@media(max-width:850px){header{padding:20px 5%}.brand{font-size:45px}.brand>span{font-size:32px}.brand small{display:none}nav{gap:18px;font-size:12px}.nav-contact{padding:10px 13px}.hero{padding:30px 5%}.eyebrow{font-size:10px}h1{font-size:clamp(68px,11.9vw,105px)}.hero-sticker{width:125px;height:125px;font-size:16px;top:22%;right:6%;box-shadow:4px 5px 0}.hero-bottom p{font-size:15px;max-width:300px}.round-link{height:70px;width:70px;font-size:48px}section:not(.hero){padding:58px 5%}.section-label{margin-bottom:35px}.intro-grid,.experience-grid{grid-template-columns:1fr;gap:30px}.intro-grid h2{font-size:clamp(38px,7vw,58px)}.intro-grid>div{max-width:600px}.facts{margin-top:40px}.facts strong{font-size:37px}.facts span{font-size:11px}.section-heading{display:block}.section-heading p{margin-top:25px;max-width:550px}.featured{grid-template-columns:1fr}.agent-art{min-height:380px}.network{height:320px}.feature-copy{padding:30px}.feature-copy h3{font-size:49px}.project-art{height:250px}.project-copy{padding:22px}.project-copy h3{font-size:30px}.project-copy p{min-height:160px}.rag{gap:15px}.paper{width:95px;height:145px;padding:14px;font-size:22px}.paper i{font-size:18px}.answer{font-size:20px;padding:18px}.rag-arrow{font-size:60px}.planner-center{font-size:50px}.planner-row{font-size:9px}.planner-row span{padding:6px}.small-project{grid-template-columns:auto 1fr;gap:15px}.small-project p{grid-column:2}.small-project>.pill{grid-column:2}.small-project .asterisk{font-size:65px}.contact-star{font-size:170px;right:5%}.contact-bottom{align-items:start;flex-direction:column}.button{font-size:16px;padding:17px 25px}footer{flex-wrap:wrap;gap:20px}footer>span{order:4;width:100%}}
@media(max-width:480px){nav{gap:13px}nav a:first-child{display:none}h1{font-size:14.1vw;margin-top:42px}.hero-sticker{position:relative;top:auto;right:auto;margin:30px 0 -8px auto;width:110px;height:110px;font-size:14px}.hero-bottom{margin-top:25px;gap:20px}.hero-bottom p{font-size:14px;max-width:240px}.round-link{flex-shrink:0;width:55px;height:55px;font-size:40px}.ticker{padding:14px 0;font-size:15px}.section-label{font-size:10px}h2{font-size:42px}.intro-grid h2{font-size:36px}.lead{font-size:21px}.facts{gap:12px}.facts strong{font-size:30px}.facts>div{padding-right:0}.facts span{font-size:10px;line-height:1.4}.project-grid{grid-template-columns:1fr;gap:22px}.project-art{height:280px}.project-copy h3{font-size:36px}.project-copy p{min-height:0}.network{height:280px}.agent-art{padding:20px 14px;min-height:345px}.feature-copy{padding:25px 20px}.feature-copy h3{font-size:41px}.pill{font-size:9px}.small-project h3{font-size:26px}.small-project .asterisk{align-self:start}.contact h2{font-size:13vw}.contact-star{font-size:110px;top:70px;right:-18px;opacity:.5}.contact-bottom p{font-size:15px}dialog{padding:40px 24px}dialog h2{font-size:38px}}
.walking-cta{--walk-offset:370px;position:fixed;right:20px;bottom:32px;width:310px;height:235px;z-index:12;transform:translate3d(var(--walk-offset),0,0);visibility:hidden;pointer-events:none;will-change:transform;isolation:isolate}.walking-cta[data-side="left"]{right:auto;left:20px}.walking-cta.is-visible{visibility:visible;pointer-events:auto}.walking-bubble{position:absolute;left:0;top:7px;background:var(--yellow);border:3px solid var(--ink);border-radius:52% 48% 45% 55% / 47% 52% 48% 53%;padding:23px 26px 20px;font-family:Impact,'Arial Narrow',sans-serif;font-size:27px;line-height:1;letter-spacing:-.5px;transform:rotate(-9deg);box-shadow:4px 5px 0 var(--ink);transition:background .2s}.walking-bubble::after{content:"";position:absolute;right:12px;bottom:-12px;width:24px;height:24px;background:inherit;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:skewY(25deg) rotate(18deg);z-index:-1}.walking-bubble strong{font-weight:900;font-size:39px}.walking-bubble strong span{color:var(--red)}.walking-person{position:absolute;right:0;bottom:0;width:140px;height:219px;overflow:visible;filter:drop-shadow(2px 2px 0 #f5f2e9);transform-origin:50% 100%}.walking-shadow{fill:var(--ink);opacity:.16}.person-body{transform-origin:80px 235px}.person-leg>path:first-child{fill:none;stroke:var(--ink);stroke-width:21;stroke-linecap:round}.person-leg{transform-origin:83px 158px}.shoe{fill:var(--yellow);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.shirt,.sleeve{fill:var(--pink);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.neck,.head,.hand{fill:var(--cream);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.hair{fill:var(--ink)}.face-line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.arm-back{fill:none;stroke:var(--pink);stroke-width:17;stroke-linecap:round}.arm-front{fill:none;stroke:var(--cream);stroke-width:12;stroke-linejoin:round;stroke-linecap:round}.walking-cta[data-side="left"] .walking-person{left:0;right:auto;transform:scaleX(-1)}.walking-cta[data-side="left"] .walking-bubble{left:auto;right:0;transform:rotate(9deg)}.walking-cta[data-side="left"] .walking-bubble::after{left:12px;right:auto;transform:skewY(-25deg) rotate(72deg)}.walking-cta.is-walking .leg-front{animation:walk-front .5s ease-in-out infinite alternate}.walking-cta.is-walking .leg-back{animation:walk-back .5s ease-in-out infinite alternate}.walking-cta.is-walking .person-body{animation:walk-bob .25s ease-in-out infinite alternate}.walking-cta:hover .walking-bubble,.walking-cta:focus-visible .walking-bubble{background:var(--cyan)}.dialog-open .walking-cta{visibility:hidden;pointer-events:none}@keyframes walk-front{from{transform:rotate(-15deg)}to{transform:rotate(15deg)}}@keyframes walk-back{from{transform:rotate(15deg)}to{transform:rotate(-15deg)}}@keyframes walk-bob{to{transform:translateY(-3px) rotate(-1deg)}}
@media(max-width:600px){.walking-cta{width:240px;height:185px;bottom:18px;right:12px}.walking-cta[data-side="left"]{left:12px}.walking-person{width:110px;height:172px}.walking-bubble{padding:18px 20px 16px;font-size:21px;border-width:2px;box-shadow:3px 4px 0 var(--ink)}.walking-bubble strong{font-size:30px}.walking-bubble::after{width:18px;height:18px;border-width:2px;bottom:-9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.signal{display:none}.walking-cta{transform:none!important;opacity:var(--walk-opacity,0)}}

/* A small, original sticker family; motion stays local to each illustration. */
.motion-sticker{display:block;width:100%;height:auto;overflow:visible;fill:var(--ink);stroke:var(--ink);stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(3px 4px 0 #16171322)}.motion-sticker .draw{fill:none}.motion-sticker text{stroke:none}.motion-sticker *{transform-box:fill-box;transform-origin:center;animation-play-state:paused!important}.motion-sticker.is-onstage *{animation-play-state:running!important}.sticker-caption{display:block;font:600 10px/1.3 monospace;letter-spacing:.5px;text-align:center}.hero-sticker.brain-sticker{width:235px;height:265px;background:none;border:0;border-radius:0;box-shadow:none;transform:rotate(8deg);top:16%;right:7%;font-size:inherit}.brain-sticker .motion-sticker{width:230px}.brain-sticker .sticker-caption{color:var(--ink);transform:rotate(-5deg);margin-top:-10px;font-size:12px}.brain-core{animation:brain-glow 4.5s ease-in-out infinite}.brain-plug{animation:plug-click 4.5s ease-in-out infinite}.sparkle{animation:sticker-spark 4.5s ease-in-out infinite}.feature-copy{position:relative}.feature-copy>.sticker-snap{position:absolute;right:9px;top:-24px;width:120px;transform:rotate(12deg);pointer-events:none}.feature-copy>.pill{max-width:calc(100% - 65px)}.snap-hand{animation:finger-snap 4.5s ease-in-out infinite}.snap-spark{animation-delay:.15s}.small-project .cable-sticker{font-size:initial;width:140px}.wire{fill:none;stroke-width:12;stroke:var(--ink)}.wire-tangle{animation:untangle 5s ease-in-out infinite}.wire-clean{stroke:var(--red);animation:connect 5s ease-in-out infinite}.cable-check{animation:connected-check 5s ease-in-out infinite}.cable-left{animation:plug-left 5s ease-in-out infinite}.cable-right{animation:plug-right 5s ease-in-out infinite}.experience-grid{position:relative}.experience-grid>.timeline{grid-column:2;grid-row:1/3}.ab-sticker{max-width:235px;align-self:start;margin-top:35px;transform:rotate(-6deg)}.ab-b{animation:winner-hop 5s ease-in-out infinite}.ab-a{animation:contender-rock 5s ease-in-out infinite}.ab-crown{animation:crown-drop 5s ease-in-out infinite}.ab-twinkle{stroke:var(--red);animation:sticker-spark 5s ease-in-out infinite}.sticker-letter{font:900 46px Arial,sans-serif;text-anchor:middle;fill:var(--ink)}.contact-star.five-sticker{width:240px;font-size:initial;top:23%;right:7%;transform:rotate(7deg);opacity:1}.five-human{animation:human-five 4.5s ease-in-out infinite}.five-robot{animation:robot-five 4.5s ease-in-out infinite}.five-star{animation-delay:.1s}
@keyframes brain-glow{0%,25%,100%{transform:scale(1);filter:brightness(1)}35%,65%{transform:scale(1.035);filter:brightness(1.18)}}@keyframes plug-click{0%,15%,100%{transform:translateY(17px)}30%,75%{transform:translateY(0)}}@keyframes sticker-spark{0%,25%,65%,100%{opacity:0;transform:scale(.45) rotate(-15deg)}35%,52%{opacity:1;transform:scale(1) rotate(0)}}@keyframes finger-snap{0%,22%,65%,100%{transform:rotate(-8deg)}30%{transform:rotate(10deg) translateY(-7px)}40%,52%{transform:rotate(2deg)}}@keyframes untangle{0%,20%,100%{opacity:1;transform:scale(1)}42%,78%{opacity:0;transform:scale(.75)}}@keyframes connect{0%,20%,100%{opacity:0}42%,78%{opacity:1}}@keyframes connected-check{0%,35%,90%,100%{opacity:0;transform:scale(.4)}48%,78%{opacity:1;transform:scale(1)}}@keyframes plug-left{0%,20%,100%{transform:translateX(-3px)}45%,78%{transform:translateX(3px)}}@keyframes plug-right{0%,20%,100%{transform:translateX(3px)}45%,78%{transform:translateX(-3px)}}@keyframes winner-hop{0%,25%,65%,100%{transform:translateY(0)}35%,50%{transform:translateY(-8px)}}@keyframes contender-rock{0%,25%,65%,100%{transform:rotate(0)}35%,50%{transform:rotate(-5deg)}}@keyframes crown-drop{0%,15%,90%,100%{opacity:0;transform:translateY(-25px) rotate(-15deg)}35%,75%{opacity:1;transform:translateY(0) rotate(0)}}@keyframes human-five{0%,15%,85%,100%{transform:rotate(-10deg) translateX(-7px)}35%,60%{transform:rotate(0) translateX(0)}}@keyframes robot-five{0%,15%,85%,100%{transform:rotate(10deg) translateX(7px)}35%,60%{transform:rotate(0) translateX(0)}}
@media(max-width:850px){.hero-sticker.brain-sticker{width:165px;height:190px;top:18%;right:5%}.brain-sticker .motion-sticker{width:165px}.brain-sticker .sticker-caption{font-size:10px}.experience-grid>.timeline{grid-column:1;grid-row:auto}.ab-sticker{grid-row:2;margin:0;max-width:190px}.contact-star.five-sticker{width:170px;right:2%;top:20%}.small-project .cable-sticker{width:100px}}
@media(max-width:480px){.hero-sticker.brain-sticker{position:relative;top:auto;right:auto;width:145px;height:160px;margin:20px 6px -10px auto}.brain-sticker .motion-sticker{width:145px}.feature-copy>.sticker-snap{width:92px;right:0;top:-10px}.feature-copy>.pill{max-width:calc(100% - 50px)}.small-project .cable-sticker{width:75px}.contact-star.five-sticker{position:relative;top:auto;right:auto;width:145px;margin:0 0 28px auto;float:right}.contact h2{clear:both}.ab-sticker{max-width:170px}}
@media(prefers-reduced-motion:reduce){.motion-sticker *{animation:none!important;filter:none!important}.wire-tangle{opacity:0}.wire-clean,.cable-check,.ab-crown{opacity:1}.brain-plug{transform:none}}

/* Keep decorative anchors within the same 1400px content frame on ultrawide screens. */
@media(min-width:1500px){.hero-sticker.brain-sticker{right:max(7%,calc((100% - 1400px)/2))}.contact-star.five-sticker{right:max(7%,calc((100% - 1400px)/2))}}
.ticker>.ticker-window{width:min(91%,1400px);margin-inline:auto;overflow:hidden;animation:none}
.ticker-window>.ticker-track{white-space:nowrap;width:max-content;animation:marquee 32s linear infinite}
@media(prefers-reduced-motion:reduce){.ticker-window>.ticker-track{animation:none}}

/* Contact character: exchanged shirt and speech-bubble colors. */
.walking-cta .shirt,.walking-cta .sleeve{fill:var(--yellow)}
.walking-cta .walking-bubble{background:var(--pink)}
.walking-cta:hover .walking-bubble,.walking-cta:focus-visible .walking-bubble,.walking-cta:active .walking-bubble{background:var(--cyan)}

/* Hand-drawn mk monogram: fixed bounds, tiny eyes, and a single hover impulse. */
.brand.mk-brand{letter-spacing:0;gap:17px;line-height:1;color:var(--ink)}
.mk-brand .mk-mark{display:block;width:110px;height:63px;flex:none;overflow:visible}
.mk-brand small{margin-left:0;font-size:10px;line-height:1.2;letter-spacing:.1px}
.mk-shape{transform-origin:77px 76px}.mk-eye{fill:var(--cream)}.mk-pupils{fill:var(--ink);transition:transform .18s ease-out}
.mk-impulse{fill:none;stroke:var(--pink);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:17 100;stroke-dashoffset:20;opacity:0;pointer-events:none}
footer .brand.mk-brand{color:var(--yellow)}footer .mk-brand .mk-mark{width:82px;height:47px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.mk-brand.mk-react .mk-shape{animation:mk-spring .65s cubic-bezier(.22,.7,.3,1) both}.mk-brand.mk-react .mk-impulse{animation:mk-pulse .7s ease-out both}}
@keyframes mk-spring{0%,100%{transform:translateY(0) scale(1)}28%{transform:translateY(-1px) scale(1.018,.986)}54%{transform:translateY(.4px) scale(.994,1.006)}76%{transform:translateY(-.2px) scale(1.003,.998)}}
@keyframes mk-pulse{0%{opacity:0;stroke-dashoffset:20}15%,65%{opacity:1}90%,100%{opacity:0;stroke-dashoffset:-92}}
@media(max-width:850px){.mk-brand .mk-mark{width:91px;height:52px}header{padding-top:18px;padding-bottom:18px}}
@media(max-width:480px){.mk-brand .mk-mark{width:78px;height:45px}.brand.mk-brand{gap:0}}
@media(prefers-reduced-motion:reduce){.mk-shape,.mk-impulse{animation:none!important}.mk-pupils{transition:none;transform:none!important}}

/* Equal duplicate groups make the reset position visually identical. */
.ticker-window>.ticker-track{display:flex;align-items:center;animation:ticker-loop 64s linear infinite}
.ticker-cycle{display:flex;align-items:center;flex:0 0 auto;white-space:pre}
.ticker-cycle b{flex:none}
@keyframes ticker-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-window>.ticker-track{animation:none}}

/* An ascending handwritten word follows its own curve, keeping the heading semantic. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.poss.poss-script{width:5.5em;height:.95em;vertical-align:baseline}
.poss-script .script-word{position:absolute;width:5.2em;height:3.02em;left:-.2em;bottom:-.28em;stroke:none;fill:var(--ink);overflow:visible}
.script-word text{font-family:'Apple Chancery','Snell Roundhand','Brush Script MT','Segoe Script',cursive;font-size:130px;font-style:italic;font-weight:500;letter-spacing:-3px}
@media(max-width:850px){.poss.poss-script{width:4.9em}.poss-script .script-word{width:5.4em;height:3.14em;bottom:-.23em}}
@media(max-width:480px){.poss.poss-script{width:3.8em}.poss-script .script-word{width:4.4em;height:2.56em;left:-.12em;bottom:-.17em}}

/* Knowledge in, answers out: a single 8-second timeline. */
.knowledge-art{background:var(--yellow);padding:10px 16px;isolation:isolate}
.knowledge-bot{display:block;width:100%;height:100%;max-width:440px;overflow:hidden;flex:none}
.bot-lid{transform-origin:244px 194px;animation:knowledge-lid 8s cubic-bezier(.45,0,.2,1) infinite}
.bot-doc{opacity:0;animation:knowledge-paper 8s cubic-bezier(.35,.05,.55,1) infinite}
.doc-two{animation-delay:.54s}.doc-three{animation-delay:1.08s}
.bot-mouth{transform-box:fill-box;transform-origin:center;animation:knowledge-mouth 8s ease-in-out infinite}
.bot-voice-travel{opacity:0;animation:knowledge-voice 8s linear infinite}
.bot-voice-ripple{animation:knowledge-ripple 8s ease-in-out infinite}
@keyframes knowledge-lid{0%,4%,56%,100%{transform:rotate(0deg)}13%,47%{transform:rotate(100deg)}}
@keyframes knowledge-paper{0%,14%{opacity:0;transform:translate(0,-48px) rotate(-4deg)}15%{opacity:1;transform:translate(0,-48px) rotate(-4deg)}32%{opacity:1;transform:translate(0,204px) rotate(3deg)}33%,100%{opacity:0;transform:translate(0,220px) rotate(3deg)}}
@keyframes knowledge-mouth{0%,57%,92%,100%{transform:scaleY(1)}63%,88%{transform:scaleY(2.8)}}
@keyframes knowledge-voice{0%,62%{opacity:0;transform:translateX(-115px)}62.01%{opacity:1;transform:translateX(-115px)}88%{opacity:1;transform:translateX(230px)}88.01%,100%{opacity:0;transform:translateX(230px)}}
@keyframes knowledge-ripple{0%,62%,88%,100%{transform:translateY(0)}65%,71%,77%,83%{transform:translateY(-2px)}68%,74%,80%,86%{transform:translateY(2px)}}
@media(max-width:850px){.knowledge-art{padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.knowledge-bot *{animation:none!important}.bot-lid{transform:none}.bot-doc,.bot-voice-travel{display:none}.bot-mouth{transform:none}}

/* Papers originate at the implementation-plan node, including when the cards stack. */
.knowledge-art,.knowledge-bot{overflow:visible}
.bot-doc{animation-name:knowledge-paper-from-plan}
.bot-voice-ripple{stroke:#fff}
@keyframes knowledge-paper-from-plan{0%,14%{opacity:0;transform:translate(var(--paper-source-x,0px),var(--paper-source-y,-260px))}15%{opacity:1;transform:translate(var(--paper-source-x,0px),var(--paper-source-y,-260px))}32%{opacity:1;transform:translate(0,204px)}33%,100%{opacity:0;transform:translate(0,220px)}}

/* All three sheets share one absolute origin and one master clock. */
.bot-doc{animation-delay:0s;animation-timing-function:cubic-bezier(.35,.05,.55,1)}
.doc-one{animation-name:knowledge-plan-one}.doc-two{animation-name:knowledge-plan-two}.doc-three{animation-name:knowledge-plan-three}
@keyframes knowledge-plan-one{0%,14%{opacity:0;transform:translate(var(--paper-source-x),var(--paper-source-y))}15%{opacity:1;transform:translate(var(--paper-source-x),var(--paper-source-y))}32%{opacity:1;transform:translate(var(--paper-target-x),246px)}33%,100%{opacity:0;transform:translate(var(--paper-target-x),260px)}}
@keyframes knowledge-plan-two{0%,21%{opacity:0;transform:translate(var(--paper-source-x),var(--paper-source-y))}22%{opacity:1;transform:translate(var(--paper-source-x),var(--paper-source-y))}39%{opacity:1;transform:translate(var(--paper-target-x),246px)}40%,100%{opacity:0;transform:translate(var(--paper-target-x),260px)}}
@keyframes knowledge-plan-three{0%,28%{opacity:0;transform:translate(var(--paper-source-x),var(--paper-source-y))}29%{opacity:1;transform:translate(var(--paper-source-x),var(--paper-source-y))}46%{opacity:1;transform:translate(var(--paper-target-x),246px)}47%,100%{opacity:0;transform:translate(var(--paper-target-x),260px)}}

.bot-voice-ripple .wave-outline{stroke:var(--ink);stroke-width:8;fill:none}

/* Same pink family, deeper value for the contact headline. */
.contact h2 em{color:#87377f;-webkit-text-stroke:0}

.facts>div{align-items:center;text-align:center;padding-right:0;padding-left:0}

@font-face{font-family:'Caveat';src:url('fonts/Caveat-Variable.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
.poss.poss-script{width:5.25em;height:.95em}
.poss-script .script-word{width:5.2em;height:3.02em;left:0;bottom:-.05em}
.script-word text{font-family:'Caveat',cursive;font-size:150px;font-weight:600;font-style:normal;font-synthesis:none;letter-spacing:normal;font-stretch:normal}
@media(max-width:850px){.poss.poss-script{width:4.75em}.poss-script .script-word{width:4.8em;height:2.79em;left:0;bottom:0}}
@media(max-width:480px){.poss.poss-script{width:3.85em}.poss-script .script-word{width:4.05em;height:2.35em;left:0;bottom:.02em}}
@media(min-width:851px){.poss-script .script-word{left:.12em}}

/* Keep the continuation together instead of letting the SVG placeholder wrap. */
.hero-more-row{display:flex;align-items:baseline;flex-wrap:nowrap;gap:.18em;width:100%}
.hero-more{flex:none}
.hero-more-row .poss-script{flex:0 0 auto;min-width:0}
@media(max-width:480px){.hero-more-row{gap:.1em}.hero-more-row .poss-script{width:3.7em}}

/* Shared robot-to-workflow story: 20 seconds, one master clock. */
.workflow-art{padding:8px 10px;display:block;overflow:hidden}
.planner-workflow{display:block;width:100%;height:100%;overflow:hidden}
.workflow-wire{fill:none;stroke:var(--ink);stroke-width:4;stroke-linejoin:round;stroke-linecap:round}
.workflow-letter{fill:none;stroke:var(--ink);stroke-width:15;stroke-linecap:square;stroke-linejoin:round}
.node-shell{fill:var(--cream);stroke:var(--ink);stroke-width:4}
.node-icon{fill:none;stroke:var(--ink);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.processing-node,.planner-start-node,.planner-end-node{transform-box:fill-box;transform-origin:center}
.planner-start-node{animation:workflow-tinker 20s ease-in-out infinite}
.work-puffs{opacity:0;transform-box:fill-box;transform-origin:center;animation:workflow-puffs 20s ease-out infinite}
.flow-dot{fill:var(--yellow);stroke:var(--ink);stroke-width:1.5;opacity:0;offset-distance:0%;offset-rotate:0deg;offset-anchor:center}
.dot-plan{animation:flow-plan 20s linear infinite}.dot-main{animation:flow-main 20s linear infinite}.dot-branch{animation:flow-branch 20s linear infinite}
.node-gear .node-shell{animation:node-gear-pulse 20s ease-in-out infinite}.node-verify .node-shell{animation:node-verify-pulse 20s ease-in-out infinite}.node-branch .node-shell{animation:node-branch-pulse 20s ease-in-out infinite}.node-document .node-shell{animation:node-document-pulse 20s ease-in-out infinite}
.planner-end-node{animation:workflow-end 20s ease-out infinite}.planner-end-node .node-shell{animation:workflow-success 20s ease-out infinite}.end-check{fill:none;stroke:var(--ink);stroke-width:5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:45;stroke-dashoffset:45;animation:workflow-check 20s ease-out infinite}
.cat-hole,.cat-mask{fill:var(--ink)}.cat-body,.cat-paw{fill:#ff653e;stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.cat-detail{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}.party-hat{fill:var(--yellow);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.party-cat{transform:translateY(135px);animation:workflow-cat 20s cubic-bezier(.3,0,.2,1) infinite}.party-trumpet{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;paint-order:stroke;transform-box:fill-box}.trumpet-left{transform-origin:right;animation:trumpet-roll 20s ease-in-out infinite}.trumpet-right{transform-origin:left;animation:trumpet-roll 20s ease-in-out infinite}.workflow-confetti rect{opacity:0;transform-box:fill-box;transform-origin:center;animation:workflow-burst 20s ease-out infinite}
.bot-lid,.bot-doc,.bot-mouth,.bot-voice-travel,.bot-voice-ripple{animation-duration:20s}
.bot-lid{animation-name:workflow-robot-lid}.bot-mouth{animation-name:workflow-robot-mouth}.bot-voice-travel{animation-name:workflow-robot-voice}.bot-voice-ripple{animation-name:workflow-robot-ripple}
.doc-one{animation-name:workflow-doc-one}.doc-two{animation-name:workflow-doc-two}.doc-three{animation-name:workflow-doc-three}
@keyframes workflow-robot-lid{0%,1%,22%,100%{transform:rotate(0)}5%,19%{transform:rotate(100deg)}}
@keyframes workflow-doc-one{0%,5%{opacity:0;transform:translate(var(--paper-source-x),var(--paper-source-y))}6%{opacity:1;transform:translate(var(--paper-source-x),var(--paper-source-y))}13%{opacity:1;transform:translate(var(--paper-target-x),246px)}14%,100%{opacity:0;transform:translate(var(--paper-target-x),260px)}}
@keyframes workflow-doc-two{0%,8%{opacity:0;transform:translate(var(--paper-source-x),var(--paper-source-y))}9%{opacity:1;transform:translate(var(--paper-source-x),var(--paper-source-y))}16%{opacity:1;transform:translate(var(--paper-target-x),246px)}17%,100%{opacity:0;transform:translate(var(--paper-target-x),260px)}}
@keyframes workflow-doc-three{0%,11%{opacity:0;transform:translate(var(--paper-source-x),var(--paper-source-y))}12%{opacity:1;transform:translate(var(--paper-source-x),var(--paper-source-y))}19%{opacity:1;transform:translate(var(--paper-target-x),246px)}20%,100%{opacity:0;transform:translate(var(--paper-target-x),260px)}}
@keyframes workflow-robot-mouth{0%,22%,37%,100%{transform:scaleY(1)}25%,35%{transform:scaleY(2.8)}}
@keyframes workflow-robot-voice{0%,25%{opacity:0;transform:translate(-115px,0)}25.01%{opacity:1;transform:translate(-115px,0)}35%{opacity:1;transform:translate(var(--voice-destination-x,230px),var(--voice-destination-y,0px))}35.01%,100%{opacity:0;transform:translate(var(--voice-destination-x,230px),var(--voice-destination-y,0px))}}
@keyframes workflow-robot-ripple{0%,25%,35%,100%{transform:translateY(0)}27%,31%{transform:translateY(-2px)}29%,33%{transform:translateY(2px)}}
@keyframes workflow-tinker{0%,35%,38%,100%{transform:translate(0,0)}35.5%,36.5%,37.5%{transform:translate(-1px,1px)}36%,37%{transform:translate(1px,-1px)}}
@keyframes workflow-puffs{0%,35%,38%,100%{opacity:0;transform:scale(.8)}35.5%{opacity:1;transform:scale(.85)}37.7%{opacity:0;transform:scale(1.2)}}
@keyframes flow-plan{0%,38%{opacity:0;offset-distance:0%}38.01%{opacity:1;offset-distance:0%}47%{opacity:1;offset-distance:100%}49%,100%{opacity:0;offset-distance:100%}}
@keyframes flow-main{0%,48%{opacity:0;offset-distance:0%}48.01%{opacity:1;offset-distance:0%}76%{opacity:1;offset-distance:100%}76.1%,100%{opacity:0;offset-distance:100%}}
@keyframes flow-branch{0%,50%{opacity:0;offset-distance:0%}50.01%{opacity:1;offset-distance:0%}76%{opacity:1;offset-distance:100%}76.1%,100%{opacity:0;offset-distance:100%}}
@keyframes node-gear-pulse{0%,48%,53%,100%{fill:var(--cream)}50%{fill:var(--yellow)}}
@keyframes node-verify-pulse{0%,64%,69%,100%{fill:var(--cream)}66%{fill:var(--yellow)}}
@keyframes node-branch-pulse{0%,51%,56%,100%{fill:var(--cream)}53%{fill:var(--yellow)}}
@keyframes node-document-pulse{0%,55%,60%,100%{fill:var(--cream)}57%{fill:var(--yellow)}}
@keyframes workflow-end{0%,76%,82%,100%{transform:scale(1)}78%{transform:scale(1.1)}}
@keyframes workflow-success{0%,76%,95%,100%{fill:var(--cream)}78%,92%{fill:var(--yellow)}}
@keyframes workflow-check{0%,76%,96%,100%{stroke-dashoffset:45}79%,94%{stroke-dashoffset:0}}
@keyframes workflow-cat{0%,77%,96%,100%{transform:translateY(135px)}82%{transform:translateY(0)}84%{transform:translateY(-5px)}86%,91%{transform:translateY(0)}}
@keyframes trumpet-roll{0%,82%,89%,100%{transform:scaleX(.3)}85%,87%{transform:scaleX(1)}}
@keyframes workflow-burst{0%,77%,91%,100%{opacity:0;transform:translate(0,0) rotate(0)}77.1%{opacity:1;transform:translate(0,0) rotate(0)}83%{opacity:1;transform:translate(var(--burst-x),var(--burst-y)) rotate(var(--burst-turn))}90%{opacity:0;transform:translate(var(--burst-x),calc(var(--burst-y) + 20px)) rotate(var(--burst-turn))}}
@media(prefers-reduced-motion:reduce){.planner-workflow *,.knowledge-bot *{animation:none!important}.flow-dot,.work-puffs,.workflow-confetti{display:none}.party-cat{transform:translateY(0)}.party-trumpet{transform:scaleX(.3)}.end-check{stroke-dashoffset:0}.planner-end-node .node-shell{fill:var(--yellow)}.bot-doc,.bot-voice-travel{display:none}.bot-lid{transform:none}.bot-mouth{transform:none}}
/* SVG motion paths use the same drawing coordinates as the letters. */
.flow-dot{offset-path:none!important}

/* A packet emerges from the mouth and follows a curved route into the start-node inlet. */
.bot-voice-travel{animation-name:workflow-robot-wave-packet;transform:none!important}
@keyframes workflow-robot-wave-packet{0%,25%{opacity:0}25.01%,35%{opacity:1}35.01%,100%{opacity:0}}

/* Two distinct little puffs during the start node's thinking phase. */
@keyframes workflow-puffs{
  0%,35%,36.45%,36.5%,38%,100%{opacity:0;transform:scale(.72)}
  35.15%,36.65%{opacity:1;transform:scale(.82)}
  35.6%,37.1%{opacity:.85;transform:scale(1.05)}
  36.35%,37.9%{opacity:0;transform:scale(1.3)}
}

.trumpet-confetti rect{opacity:0;transform-box:fill-box;transform-origin:center;animation:trumpet-confetti-burst 20s ease-out infinite}
@keyframes trumpet-confetti-burst{
  0%,84.5%,94%,100%{opacity:0;transform:translate(0,0) rotate(0)}
  84.6%{opacity:1;transform:translate(0,0) rotate(0)}
  88%{opacity:1;transform:translate(var(--trumpet-x),var(--trumpet-y)) rotate(var(--trumpet-turn))}
  93%{opacity:0;transform:translate(var(--trumpet-x),calc(var(--trumpet-y) + 16px)) rotate(var(--trumpet-turn))}
}
@media(prefers-reduced-motion:reduce){.trumpet-confetti{display:none}}

/* The robot's outgoing packet must paint over the receiving card's background. */
.project-grid>.project.cyan{position:relative;z-index:2}
.project-grid>.project.pink{position:relative;z-index:1}

.work-puffs{transform-box:view-box;transform-origin:44px 86px}
@keyframes workflow-puffs{
  0%,35%{opacity:0;transform:rotate(-18deg) scale(.7)}
  35.15%{opacity:1;transform:rotate(-18deg) scale(.82)}
  36.35%{opacity:0;transform:rotate(-18deg) scale(1.35)}
  36.5%{opacity:0;transform:rotate(22deg) scale(.7)}
  36.65%{opacity:1;transform:rotate(22deg) scale(.82)}
  37.9%{opacity:0;transform:rotate(22deg) scale(1.35)}
  38%{opacity:0;transform:rotate(-45deg) scale(.7)}
  38.15%{opacity:1;transform:rotate(-45deg) scale(.82)}
  39.5%,100%{opacity:0;transform:rotate(-45deg) scale(1.35)}
}
@keyframes flow-plan{0%,36.65%{opacity:0}36.66%,47%{opacity:1}49%,100%{opacity:0}}
@keyframes workflow-tinker{0%,35%,39.5%,100%{transform:translate(0,0)}35.5%,36.5%,37.5%,38.5%{transform:translate(-1px,1px)}36%,37%,38%,39%{transform:translate(1px,-1px)}}

.sleeping-robots{opacity:.48;pointer-events:none}

.sleep-signs{fill:var(--ink);font-family:monospace;font-weight:900;pointer-events:none}
.sleep-z{opacity:0;animation-duration:9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.sleep-z-1{animation-name:sleep-round-one}.sleep-z-2{animation-name:sleep-round-two}.sleep-z-3{animation-name:sleep-round-three}
@keyframes sleep-round-one{0%{opacity:0;transform:translate(0,3px)}7%,19%{opacity:.72;transform:translate(2px,-3px)}30%{opacity:0;transform:translate(6px,-12px)}30.1%,100%{opacity:0;transform:translate(0,3px)}}
@keyframes sleep-round-two{0%,33%{opacity:0;transform:translate(0,3px)}40%,52%{opacity:.72;transform:translate(2px,-3px)}63%{opacity:0;transform:translate(6px,-12px)}63.1%,100%{opacity:0;transform:translate(0,3px)}}
@keyframes sleep-round-three{0%,66%{opacity:0;transform:translate(0,3px)}73%,85%{opacity:.72;transform:translate(2px,-3px)}96%{opacity:0;transform:translate(6px,-12px)}96.1%,100%{opacity:0;transform:translate(0,3px)}}
@media(prefers-reduced-motion:reduce){.sleep-signs{display:none}}

/* Same ink intensity as dormant heads; each Z follows the identical ascending route. */
.sleep-signs{opacity:.48}
.sleep-letter{opacity:0;transform-origin:0 0;animation:sleep-letter-rise 14.4s linear infinite;animation-fill-mode:both}
@keyframes sleep-letter-rise{
  0%{opacity:0;transform:translate(0,0) scale(.4)}
  2%{opacity:1;transform:translate(2px,-3px) scale(.48)}
  9%{opacity:1;transform:translate(8px,-14px) scale(.8)}
  15%{opacity:1;transform:translate(14px,-25px) scale(1.1)}
  18%{opacity:0;transform:translate(17px,-31px) scale(1.25)}
  18.01%,100%{opacity:0;transform:translate(0,0) scale(.4)}
}
@media(prefers-reduced-motion:reduce){.sleep-signs{display:none}}

header .mk-brand{gap:20px}
header .mk-brand small{display:block;font-size:17px;font-weight:800;line-height:1.18;letter-spacing:.25px}
@media(max-width:850px){header .mk-brand{gap:14px}header .mk-brand small{font-size:14px}}
@media(max-width:480px){header{flex-wrap:wrap;gap:12px}header .mk-brand{gap:10px}header .mk-brand small{font-size:13px}header nav{margin-left:auto}}

.sleep-signs>g>.sleep-letter:nth-child(2){animation-name:sleep-letter-rise-left}
@keyframes sleep-letter-rise-left{
  0%{opacity:0;transform:translate(0,0) scale(.4)}
  2%{opacity:1;transform:translate(-2px,-3px) scale(.48)}
  9%{opacity:1;transform:translate(-7px,-14px) scale(.8)}
  15%{opacity:1;transform:translate(-12px,-25px) scale(1.1)}
  18%{opacity:0;transform:translate(-15px,-31px) scale(1.25)}
  18.01%,100%{opacity:0;transform:translate(0,0) scale(.4)}
}

.round-link{font-size:14px;font-weight:700;letter-spacing:0}
@media(max-width:480px){.round-link{font-size:10px}}

.contact-bottom{flex-direction:column;align-items:flex-start;gap:24px}
.contact-bottom .button{align-self:flex-start}

.sticker-brain .brain-core,.sticker-brain .brain-plug,.sticker-brain .brain-spark{animation-duration:1.125s}
.sticker-brain .brain-spark-1{animation-delay:.04s}
.sticker-brain .brain-spark-2{animation-delay:.08s}
.sticker-brain .brain-spark-3{animation-delay:.12s}

.contact-cta-scene{position:relative;width:400px;max-width:100%;aspect-ratio:5/3;align-self:flex-start}
.cta-hands{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:visible}
.contact-cta-scene .button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}
.cta-pointing-motion{animation:cta-pointing-nudge .42s ease-in-out infinite alternate}
@keyframes cta-pointing-nudge{from{transform:translateX(-4px)}to{transform:translateX(7px)}}
@media(max-width:480px){.contact-cta-scene{width:350px}.contact-cta-scene .button{padding:16px 22px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.cta-pointing-motion{animation:none}}

/* Palm-up pointing hands inspired by the reference; attention comes from color alone. */
.cta-pointing-motion{animation:none;transform:none}
.cta-hand-skin{fill:var(--cream);animation:cta-hand-color-flash 2.4s linear infinite}
.cta-hands>g:nth-of-type(2) .cta-hand-skin{animation-delay:.2s}
.cta-hands>g:nth-of-type(3) .cta-hand-skin{animation-delay:.4s}
.cta-hands>g:nth-of-type(4) .cta-hand-skin{animation-delay:.6s}
@keyframes cta-hand-color-flash{0%,10%,29%,40%,59%,70%,89%,100%{fill:var(--cream)}12%,26%{fill:var(--yellow)}42%,56%{fill:var(--pink)}72%,86%{fill:var(--cyan)}}
@media(prefers-reduced-motion:reduce){.cta-hand-skin{animation:none}}
.cta-hand-skin{animation-delay:var(--hand-delay,0s)}
.cta-hands>g:nth-of-type(2){--hand-delay:.2s}
.cta-hands>g:nth-of-type(3){--hand-delay:.4s}
.cta-hands>g:nth-of-type(4){--hand-delay:.6s}

/* Tiny vibration only during the plug's connected interval. */
@keyframes brain-glow{
  0%,29%,80%,100%{transform:translate(0,0) scale(1);filter:brightness(1)}
  30%,75%{transform:translate(0,0) scale(1.035);filter:brightness(1.18)}
  34%,42%,50%,58%,66%,74%{transform:translate(.9px,-.4px) scale(1.035);filter:brightness(1.18)}
  38%,46%,54%,62%,70%{transform:translate(-.9px,.4px) scale(1.035);filter:brightness(1.18)}
}

/* Actual photographic cutouts: close fingertips, no physical motion. */
.cta-photo-hand{filter:grayscale(1);animation:cta-photo-color-flash 2.4s linear infinite;animation-delay:var(--photo-delay,0s)}
@keyframes cta-photo-color-flash{0%,10%,29%,40%,59%,70%,89%,100%{filter:grayscale(1)}12%,26%{filter:sepia(1) saturate(6) hue-rotate(32deg) brightness(1.25)}42%,56%{filter:sepia(1) saturate(4) hue-rotate(265deg) brightness(1.2)}72%,86%{filter:sepia(1) saturate(4) hue-rotate(145deg) brightness(1.2)}}
@media(prefers-reduced-motion:reduce){.cta-photo-hand{animation:none;filter:grayscale(1)}}

/* Compact CTA: swapped hand angles leave room above the button. */
.contact-cta-scene{aspect-ratio:20/7;margin-top:-8px}

/* Larger A/B pair with a fast, shared winner-and-crown celebration. */
.ab-sticker{width:320px;max-width:100%}
.ab-b{animation:winner-celebrate 2.5s ease-in-out infinite}
.ab-a{animation-duration:2.5s}
.ab-crown{animation:crown-award 2.5s ease-out infinite}
@keyframes winner-celebrate{0%,22%,40%,58%,76%,94%,100%{transform:translateY(0)}31%{transform:translateY(-15px)}49%{transform:translateY(-19px)}67%{transform:translateY(-16px)}85%{transform:translateY(-12px)}}
@keyframes crown-award{0%{opacity:0;transform:translateY(-18px) rotate(-12deg)}18%,100%{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:850px){.ab-sticker{width:270px;max-width:100%}}
@media(max-width:480px){.ab-sticker{width:235px}}
@media(prefers-reduced-motion:reduce){.ab-crown{opacity:1}}

/* A shared typographic ground directly beneath both A/B figures. */
.ab-sticker{transform:rotate(-6deg)}
.ab-sticker .sticker-caption{font-family:Impact,'Arial Narrow',sans-serif;font-size:22px;font-weight:900;line-height:1.05;letter-spacing:.3px;text-align:center;white-space:nowrap;margin-top:2px}
@media(max-width:850px){.ab-sticker .sticker-caption{font-size:19px}}
@media(max-width:480px){.ab-sticker .sticker-caption{font-size:17px}}

/* A thought becomes a working process, beside the unchanged introduction. */
.intro-grid>.intro-story{max-width:none;min-width:0}
.thought-run{width:100%;max-width:580px;margin-top:28px;aspect-ratio:530/355}
.thought-run svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--ink);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:850px){.thought-run{max-width:530px;margin:26px auto 0}.intro-grid{gap:32px}}
@media(max-width:480px){.thought-run{width:calc(100% + 12px);margin-left:-6px}.thought-run svg{stroke-width:4}}

/* One continuous, gently waving underline feeds the brain from the left. */
.hero-brain-cable{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible;fill:none;stroke:var(--ink);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.hero-cable-line{fill:none;stroke-width:3.5}
@media(max-width:480px){.hero-cable-line{stroke-width:2.5}}

@media(min-width:481px) and (max-width:850px){.hero-sticker.brain-sticker{position:relative;top:auto;right:auto;margin:24px 6px 0 auto}}

/* Photographic heart hands replace the contact link's outline. */
.nav-contact.nav-heart-contact{position:relative;border:0;border-radius:0;padding:0;width:230px;height:98px;display:grid;place-items:center;flex:none;text-align:center;text-decoration:none}
.nav-heart-hands{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;animation:none;filter:none}
.nav-heart-contact>span{position:relative;z-index:1;font-size:12px;line-height:1.1;margin-top:4px}


@media(max-width:850px){.nav-contact.nav-heart-contact{width:190px;height:80px}.nav-heart-contact>span{font-size:11px}}
@media(max-width:480px){.nav-contact.nav-heart-contact{width:150px;height:64px}.nav-heart-contact>span{font-size:10px;margin-top:2px}header nav{gap:8px}}
@media(prefers-reduced-motion:reduce){.nav-heart-hands{animation:none;filter:none}}

/* Hands travel outside their button but remain clipped by the header boundary. */
header{overflow:hidden}

/* Hand-drawn flag as a compact navigation item beside Projects. */
.header-language{display:flex;align-items:center;flex:none}
.language-flag{display:block;width:36px;height:30px;padding:0;border:0;background:none;color:var(--ink);opacity:1;cursor:default;transform:rotate(-6deg)}
.language-flag svg{display:block;width:100%;height:100%;overflow:visible}
@media(max-width:850px){header nav{gap:14px}.language-flag{width:32px;height:28px}}
@media(max-width:480px){header nav{gap:10px}.language-flag{width:30px;height:26px}}

.language-flag:enabled{cursor:pointer}.language-flag:enabled:hover{transform:rotate(-3deg) scale(1.06)}
html[lang="en"] .agent-node text{font-size:10px}

/* Wind catches the free edge; the flag remains anchored on its left. */
.language-flag svg{transform-origin:8% 50%;animation:language-flag-wind 3.1s ease-in-out infinite;will-change:transform}
@keyframes language-flag-wind{0%,100%{transform:perspective(150px) rotateY(0deg) skewY(0deg) scaleX(1)}25%{transform:perspective(150px) rotateY(12deg) skewY(-3deg) scaleX(.96)}60%{transform:perspective(150px) rotateY(-7deg) skewY(2deg) scaleX(.985)}82%{transform:perspective(150px) rotateY(5deg) skewY(-1deg) scaleX(.975)}}
@media(max-width:480px){header nav>a[href="#projekte"]{display:none}}
@media(prefers-reduced-motion:reduce){.language-flag svg{animation:none;transform:none;will-change:auto}}

/* Cloth deformation replaces the former whole-icon sway. */
.language-flag svg{animation:none;transform:none;will-change:auto}
