:root{--navy:#011a5c;--green:#7aa824;--lime:#b4df65;--blue:#38a2ff;--ink:#091a35;--muted:#536680}body{background:#f6f8fc;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif}header{max-width:none;padding:22px max(36px,calc((100vw - 1200px)/2 + 36px));background:#fff;border-bottom:1px solid #dbe3f0}.brand{color:var(--navy)}.brand small{color:#5d708b}.monogram{background:var(--navy);border:2px solid var(--green);box-shadow:0 0 0 5px #7aa82412;width:49px;height:49px}nav a{font-weight:600}nav a:hover{color:#50750e}.wrap{padding-top:80px;padding-bottom:80px}.hero{background:radial-gradient(ellipse at 90% 30%,#123a8255,transparent 60%),radial-gradient(ellipse at 20% 100%,#7aa82419,transparent 55%),linear-gradient(120deg,#060f21,#011a5c);isolation:isolate}.hero:after{inset:0;width:auto;height:auto;border:0;border-radius:0;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:56px 56px;z-index:-1}.hero .wrap{padding-top:78px;padding-bottom:50px}.hero-layout{display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:20px}.hero h1{font-size:clamp(48px,5.1vw,68px);letter-spacing:-3px;line-height:1.08}.hero h1 .accent{color:var(--lime)}.hero .lead{font-size:19px;color:#c4d4ec;max-width:600px}.eyebrow{color:#527b14;letter-spacing:2.3px}.hero .eyebrow{color:var(--lime);display:flex;align-items:center;gap:10px}.hero .eyebrow:before{content:'';height:7px;width:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 15px #a2d745}.button{background:var(--green);color:#08182d;border-radius:8px;box-shadow:0 5px 24px #7aa82422}.button:hover{background:var(--lime);box-shadow:0 8px 30px #7aa82433}.button.secondary{border-color:#526e9a;background:#ffffff04;box-shadow:none}.button.secondary:hover{background:#ffffff12}.hero-meta{border-color:#ffffff20;color:#a8bfdf;gap:24px}.hero-note{color:#a8bfdf}.hero-orbit{position:relative;width:100%;aspect-ratio:1;max-width:470px;justify-self:end;display:grid;place-items:center}.orbit-halo{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,#38a2ff20,#7aa8240a 55%,transparent 70%);animation:breathe 6s ease-in-out infinite}.orbit-ring{position:absolute;border:1px solid #38a2ff4d;border-radius:50%;inset:11%;animation:orbit 28s linear infinite}.orbit-ring:before{content:'';position:absolute;left:16%;top:12%;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 22px var(--blue)}.orbit-ring.r2{inset:21%;border-color:#b4df6545;animation-direction:reverse;animation-duration:21s}.orbit-ring.r2:before{background:var(--lime);box-shadow:0 0 22px var(--lime)}.orbit-ring.r3{inset:2%;border-style:dashed;border-color:#ffffff12;animation-duration:80s}.orbit-core{position:relative;width:156px;height:156px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(145deg,#123466,#07142f);border:1px solid #6cb9ff60;border-radius:50%;box-shadow:0 0 60px #38a2ff20,inset 0 0 25px #38a2ff15}.orbit-core b{font-size:46px;letter-spacing:-2px;color:#fff}.orbit-core span{font-size:9px;letter-spacing:2px;color:var(--lime)}.orbit-label{position:absolute;z-index:2;padding:12px 16px;background:#0c2143;border:1px solid #3b5d8a;border-radius:10px;box-shadow:0 12px 24px #0003;font-size:12px;color:#e1edff;animation:float 7s ease-in-out infinite}.orbit-label small{display:block;font-size:9px;color:var(--lime);letter-spacing:1.4px;margin-bottom:3px}.orbit-label.l1{top:4%;left:7%}.orbit-label.l2{top:35%;right:0;animation-delay:-2s}.orbit-label.l3{bottom:10%;left:0;animation-delay:-4s}.orbit-caption{position:absolute;bottom:-14px;font:10px/1.4 Arial;letter-spacing:2px;color:#819dbf;text-transform:uppercase}.motion-toggle{border:1px solid #607699;background:#ffffff08;color:#dbe9ff;border-radius:50px;font:11px Arial;padding:9px 14px;cursor:pointer;margin-top:20px}.motion-toggle:hover{background:#ffffff18}.hero-paused .hero-orbit *{animation-play-state:paused!important}.feature{gap:60px}.feature figure{position:relative;background:white;padding:12px;border:1px solid #d9e3f1;border-radius:16px;box-shadow:0 20px 55px #011a5c10;transform:rotate(-1deg)}.feature figure img{box-shadow:none;border-radius:8px}.feature figcaption{padding:0 6px}.text-link{color:#145fa1;border-color:#38a2ff60}.text-link:hover{color:#4f7516;border-color:var(--green)}.band{background:linear-gradient(140deg,#ecf2fb,#f3f7ec);border-color:#dce5ef}.work-grid{gap:30px}.work{display:flex;flex-direction:column;border:1px solid #d6e0ef;border-radius:16px;box-shadow:0 10px 28px #011a5c09;transition:transform .25s,box-shadow .25s,border-color .25s}.work:hover{transform:translateY(-5px);border-color:#83b83688;box-shadow:0 20px 40px #011a5c16}.work-image{position:relative;flex:none;aspect-ratio:16/10;width:100%;height:auto;padding:30px 12px 12px;background:#e3eaf4;border-bottom:1px solid #d5e0ee}.work-image:before{content:'● ● ●';position:absolute;left:15px;top:6px;font-size:9px;letter-spacing:3px;color:#8194b1}.work-image img{width:100%;height:100%;object-fit:contain;object-position:center;filter:none;background:#e3eaf4}.work-image:hover{background:#e3eaf4}.work-copy{display:flex;flex-direction:column;flex:1;padding:28px}.work-copy .text-link{align-self:flex-start;margin-top:auto}.work-copy h3{color:var(--navy)}.status{color:#4d647d}.results{gap:24px}.results article{border:1px solid #d9e4f1;border-top:3px solid var(--green);border-radius:12px;padding:28px;background:#fff;box-shadow:0 8px 25px #011a5c06}.metric{color:var(--navy);font-size:52px}.results article:nth-child(2){border-top-color:var(--blue)}.results article:nth-child(3){border-top-color:#7aa824}.speaking{background:radial-gradient(ellipse at 5% 100%,#38a2ff24,transparent 55%),linear-gradient(110deg,#06132d,#011a5c)}.speaking .eyebrow,.speaking h3{color:var(--lime)}.speaking p{color:#c6d7ee}.speaking .button{color:#08182d}.note{background:#eef4e5;border:1px solid #d6e4c3}.checks li:before,.steps span{color:#547d15}.steps li{border-color:#7aa82470}.next{background:#e9f2fa}.next .button{background:var(--green);color:#08182d}blockquote{border-color:var(--green)}footer{color:#526885}footer strong{color:var(--navy)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #38a2ff;outline-offset:5px}.portfolio-note{display:flex;gap:24px;align-items:center;border:1px solid #d5e4ef;border-left:4px solid var(--green);border-radius:10px;padding:24px 28px;margin-top:36px;background:#fff}.portfolio-note strong{display:block;color:var(--navy);font-size:17px}.portfolio-note p{margin:4px 0 0;font-size:14px;color:#536680}.portfolio-note .code-mark{font-size:26px;font-weight:700;color:#557d18}.compact .hero-orbit{display:none}.compact h1{max-width:900px}.compact .wrap{padding-top:65px}.evidence-image{min-width:0}.reveal{animation:appear .7s ease-out both}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:scale(1.12);opacity:.65}}@keyframes float{50%{transform:translateY(-9px)}}@keyframes appear{from{opacity:.3;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.hero-layout{grid-template-columns:1.15fr 1fr}.hero h1{font-size:52px}.orbit-core{width:125px;height:125px}.orbit-label{font-size:10px;padding:10px}.hero .actions{gap:10px}.hero .button{font-size:13px;padding:12px 14px}.feature{gap:30px}}@media(max-width:760px){header{padding:20px 22px}.wrap{padding-top:52px;padding-bottom:52px}.hero .wrap{padding-top:48px}.hero-layout{grid-template-columns:1fr}.hero h1{font-size:clamp(44px,8.5vw,62px);letter-spacing:-2px}.hero .lead{font-size:18px}.hero-orbit{width:320px;max-width:100%;justify-self:center;margin:22px 0 32px}.orbit-core{width:126px;height:126px}.hero-meta{margin-top:24px}.feature figure{transform:none}.work-image{padding:27px 10px 10px}.work-copy{padding:23px}.portfolio-note{padding:20px;gap:15px}.results article{padding:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-toggle{display:none}}
/* Shared motion language across the portfolio and workflow pages. */
.scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease var(--delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--delay,0ms)}.scroll-reveal.in-view{opacity:1;transform:translateY(0)}.feature figure.in-view{transform:rotate(-1deg)}.results article{position:relative;overflow:hidden}.results article:after{content:'';position:absolute;top:0;left:-35%;width:35%;height:2px;background:linear-gradient(90deg,transparent,#38a2ff,transparent);animation:trace 7s ease-in-out infinite}.results article:nth-child(2):after{animation-delay:-2s}.results article:nth-child(3):after{animation-delay:-4s}.speaking{position:relative;overflow:hidden;isolation:isolate}.speaking:before,.speaking:after{content:'';position:absolute;z-index:-1;width:420px;height:420px;border:1px solid #38a2ff25;border-radius:50%;left:-100px;top:20%;animation:breathe 9s ease-in-out infinite}.speaking:after{width:340px;height:340px;left:-60px;top:30%;border-color:#7aa82440;animation-delay:-4s}.steps li{position:relative}.steps li:before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#7aa824;box-shadow:0 0 0 5px #7aa82412;animation:breathe 4s ease-in-out infinite}.steps li:nth-child(2):before{animation-delay:-1s}.steps li:nth-child(3):before{animation-delay:-2s}.steps li:nth-child(4):before{animation-delay:-3s}.portfolio-note .code-mark{animation:float 6s ease-in-out infinite}.text-link span{display:inline-block;transition:transform .2s}.text-link:hover span{transform:translate(2px,-2px)}.hero-paused *, .hero-paused *:before,.hero-paused *:after{animation-play-state:paused!important}.hero-paused .scroll-reveal{opacity:1;transform:none;transition:none}.motion-toggle{position:relative;z-index:3}@keyframes trace{0%,15%{left:-35%}70%,100%{left:110%}}@media(max-width:760px){.feature figure.in-view{transform:none}}@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1!important;transform:none!important}.feature figure{transform:none!important}}
/* The image cannot dictate the frame height: all cards share one exact ratio. */
.work-image{display:block;aspect-ratio:16/10;padding:0;min-height:0;overflow:hidden}.work-image img{position:absolute;left:12px;top:30px;width:calc(100% - 24px);height:calc(100% - 42px);max-width:none;object-fit:contain}.work-image:before{z-index:1}@media(max-width:760px){.work-image{padding:0}.work-image img{left:10px;top:27px;width:calc(100% - 20px);height:calc(100% - 37px)}}
.screenshot-stage{position:absolute;inset:30px 12px 12px;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.work-image .screenshot-stage img{position:static;display:block;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:10px;border:1px solid #ffffff60;box-shadow:0 7px 18px #011a5c18;object-fit:contain;background:transparent;image-rendering:auto}@media(max-width:760px){.screenshot-stage{inset:27px 10px 10px}.work-image .screenshot-stage img{width:auto;height:auto;border-radius:7px}}
/* Final presentation refinements. */
.feature figure,.feature figure.in-view{transform:none!important}.feature figure img{cursor:default}.orbit-core{padding:20px;text-align:center;gap:5px}.orbit-core b{line-height:1.05}.orbit-core span{display:block;max-width:108px;font-size:9px;line-height:1.6;letter-spacing:1.35px;text-wrap:balance}.button,.speaking .button,.next .button{background:#42691a;color:#fff;border-color:#7aa824;box-shadow:0 6px 22px #7aa82422}.button:hover,.speaking .button:hover,.next .button:hover{background:#355815;color:#fff}.button.secondary{background:#ffffff06;border-color:#607da5;color:#fff}.button.secondary:hover{background:#ffffff14;color:#fff}.scroll-reveal{transition-duration:.35s;transition-delay:0ms}.hero .lead{color:#d8e4f5}@media(max-width:1000px){.orbit-core{padding:16px;gap:4px}.orbit-core b{font-size:38px}.orbit-core span{max-width:84px;font-size:8px;letter-spacing:1.1px;line-height:1.55}}
