/* A shared motion and editorial layer for the agency portfolio. */
.about-grid .brand-portrait{width:100%;max-width:390px;justify-self:center;align-self:center;padding:28px;background:linear-gradient(150deg,#0a2032,#0d1420);border:1px solid #315066;border-radius:22px;box-shadow:0 24px 70px #0003}
.about-grid .brand-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;display:block;max-width:285px;margin:8px auto 25px}
.about-grid .portrait-label{border-top:1px solid #29404d;padding:19px 0 0;line-height:1.7;font-size:.65rem;gap:12px}
@media(max-width:760px){.about-grid .brand-portrait{max-width:320px;padding:22px}.about-grid .brand-portrait img{max-width:220px}}
html{scroll-behavior:smooth;scroll-padding-top:110px}body{overflow-x:clip}main,footer{position:relative}main{z-index:1}.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.ambient i{position:absolute;width:50vw;height:50vw;min-width:380px;min-height:380px;border-radius:50%;background:radial-gradient(circle,#09c4dd0e,transparent 65%);top:-20%;left:-10%;animation:drift 22s ease-in-out infinite alternate;will-change:transform}.ambient i:nth-child(2){background:radial-gradient(circle,#7851d817,transparent 65%);left:60%;top:25%;animation-delay:-8s;animation-duration:27s}.ambient i:nth-child(3){left:15%;top:70%;background:radial-gradient(circle,#27d2a10a,transparent 65%);animation-delay:-15s}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#04b9da,#4cd7f6,#bd94ff);box-shadow:0 0 14px #4cd7f660;z-index:100;pointer-events:none}.motion-toggle{position:fixed;bottom:15px;right:20px;z-index:20;border:1px solid #384856;background:#0c1423ee;color:#bfcbd9;border-radius:30px;padding:8px 13px;font: .7rem 'JetBrains Mono',monospace;box-shadow:0 8px 25px #0003}.motion-toggle:hover{color:var(--cyan);border-color:var(--cyan)}.hero{isolation:isolate}.hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#4cd7f605 1px,transparent 1px),linear-gradient(90deg,#4cd7f605 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(#0008,transparent 90%)}.gradient{background-size:220% 100%;animation:gradient-flow 9s ease-in-out infinite}.hero h1,.page-hero h1{animation:hero-enter 1s cubic-bezier(.2,.7,.2,1) both}.hero .badge,.page-hero .eyebrow{animation:hero-enter .8s .05s both}.hero-grid>div>p,.page-hero>.wrap>p{animation:hero-enter 1s .15s both}.hero .actions,.page-hero .actions{animation:hero-enter 1s .25s both}.terminal{animation:float-shell 8s ease-in-out infinite;position:relative}.terminal:after{content:'';position:absolute;left:0;right:0;top:0;height:70px;background:linear-gradient(transparent,#4cd7f604,transparent);pointer-events:none;animation:scan 10s linear infinite}.terminal .code-line{animation:code-enter .65s both}.terminal .code-line:nth-child(3){animation-delay:.1s}.terminal .code-line:nth-child(4){animation-delay:.2s}.terminal .code-line:nth-child(5){animation-delay:.3s}.terminal .code-line:nth-child(6){animation-delay:.4s}.terminal .code-line:nth-child(7){animation-delay:.5s}.terminal .code-line:nth-child(8){animation-delay:.6s}.terminal .code-line:nth-child(9){animation-delay:.7s}.terminal .code-line:nth-child(10){animation-delay:.8s}.hero-note .green{box-shadow:0 0 25px #4edea31a}.panel,.project{position:relative;isolation:isolate}.panel:after,.project:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(330px circle at var(--mouse-x,50%) var(--mouse-y,50%),#4cd7f60c,transparent 70%);opacity:0;transition:opacity .4s}.panel:hover:after,.project:hover:after{opacity:1}.panel{transition:transform .4s,border-color .4s,box-shadow .4s}.panel:hover{transform:translateY(-4px);border-color:#4cd7f634;box-shadow:0 12px 40px #0002}.project{transition:transform .45s,border-color .35s,box-shadow .35s;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.project:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-6px);box-shadow:0 20px 50px #0003}.btn{position:relative;overflow:hidden}.btn:after{content:'';position:absolute;width:45%;height:200%;top:-50%;left:-80%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#ffffff35,transparent);transition:left .6s;pointer-events:none}.btn:hover:after{left:150%}.btn span{transition:transform .3s}.btn:hover span{transform:translate(3px,-2px)}.brand img{transition:transform .6s}.brand:hover img{transform:rotate(-8deg) scale(1.08)}.nav a{position:relative}.nav a:after{content:'';position:absolute;bottom:-8px;left:0;right:0;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.reveal-pending{opacity:0;transform:translateY(28px);filter:blur(3px)}.reveal{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),filter .8s;transition-delay:var(--reveal-delay,0ms)}.reveal-visible{opacity:1;filter:blur(0)}.project-shot{display:block;border:1px solid #38444e;border-radius:7px;overflow:hidden;position:relative;background:#101926}.shot-chrome{display:flex;align-items:center;gap:9px;background:#15212c;padding:11px 13px;color:#c3cfdb;font: .65rem 'JetBrains Mono',monospace}.shot-chrome>.dot{color:var(--cyan)}.shot-chrome>:last-child{margin-left:auto}.project-shot img{display:block;width:100%;height:auto;aspect-ratio:1.95;object-fit:cover;object-position:left top;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s}.project-shot:hover img{transform:scale(1.045);filter:brightness(.8)}.shot-open{position:absolute;bottom:15px;right:12px;background:#091321ee;border:1px solid #4cd7f64d;color:var(--cyan);font-size:.7rem;padding:7px 10px;border-radius:5px;opacity:0;transform:translateY(6px);transition:.3s}.project-shot:hover .shot-open,.project-shot:focus-visible .shot-open{opacity:1;transform:translateY(0)}.project-body .eyebrow{font-size:.65rem;margin-bottom:10px}.project-links{display:flex;align-items:center;gap:15px;margin-top:auto;padding-top:25px}.project-links .text-link{margin:0;flex:1;padding:0;border:0;font-size:.8rem}.live-link{font-size:.75rem;color:var(--muted)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.trust-feature{grid-row:span 2;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#123039,#19222d 75%);padding:40px}.trust-feature h3{font-size:2rem}.trust-feature .tags{margin-top:30px}.trust-no{font: .8rem 'JetBrains Mono',monospace;color:var(--cyan);display:block;margin-bottom:25px}.trust-feature .trust-no{font-size:3rem;opacity:.65}.story-grid,.proof-band{display:grid;grid-template-columns:1fr 1fr;gap:65px}.story-copy p+p,.proof-band p+p{margin-top:22px}.proof-band .text-link{display:inline-block;margin-top:22px}.proof-band{padding:42px;border:1px solid #4cd7f628;background:linear-gradient(130deg,#13272e,#171e2a);border-radius:15px}.proof-band h2{margin-top:17px;font-size:2.3rem}.case-intro h1{font-size:clamp(2.4rem,4.3vw,4.2rem);max-width:1040px}.back-link{display:inline-block;font-size:.8rem;color:var(--muted);margin-bottom:32px}.case-meta{display:grid;grid-template-columns:.8fr 1.6fr 1fr;gap:35px;border-top:1px solid var(--line);margin-top:42px;padding-top:27px}.case-meta span{display:block;font:.65rem 'JetBrains Mono',monospace;color:var(--cyan);margin-bottom:8px}.case-meta strong{font-size:.85rem;font-weight:500}.case-showcase{padding:10px 0 60px}.case-browser{border:1px solid #344953;border-radius:12px;overflow:hidden;box-shadow:0 30px 90px #0003}.case-browser img{width:100%;height:auto;display:block}.case-browser .shot-chrome{padding:16px 20px;font-size:.75rem}.screenshot-note{font-size:.75rem;margin-top:17px;max-width:780px}.case-story{display:grid;grid-template-columns:.8fr 1.4fr;gap:65px}.case-story aside{position:sticky;top:120px;align-self:start}.case-story aside .text-link{display:block;margin-top:25px}.case-story h3{margin-bottom:16px;font-size:1.5rem}.case-story p+h3{margin-top:35px}.case-story p{line-height:1.9}.case-features{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-features .step-number{display:block;margin-bottom:25px}.case-features .panel{padding:32px}.journey{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:0;margin:0;counter-reset:steps}.journey li{border-top:1px solid #4cd7f64d;padding:24px 0}.journey li>span{display:block;color:var(--cyan);font:.8rem 'JetBrains Mono',monospace;margin-bottom:20px}.journey h3{line-height:1.45}.outcome{border-left:2px solid var(--cyan);background:linear-gradient(90deg,#102f3860,#161c26);padding:32px;margin-top:30px}.outcome h3{font-size:1.55rem;line-height:1.5;max-width:850px}.outcome p{font-size:.8rem;margin-top:18px}.next-case{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta{background-size:200% 200%;animation:gradient-flow 12s ease-in-out infinite}.project-body p{flex:1}.stat{animation:hero-enter .9s both}.stat:nth-child(2){animation-delay:.1s}.stat:nth-child(3){animation-delay:.2s}.stat:nth-child(4){animation-delay:.3s}@keyframes drift{to{transform:translate(12vw,15vh) scale(1.15)}}@keyframes hero-enter{from{opacity:0;transform:translateY(24px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes code-enter{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes float-shell{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-12px) rotate(-.5deg)}}@keyframes scan{from{transform:translateY(-70px)}to{transform:translateY(550px)}}@keyframes gradient-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(max-width:1000px){.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-feature{grid-row:auto;grid-column:span 2}.story-grid,.proof-band,.case-story{gap:35px}.project-links{flex-wrap:wrap}.shot-chrome{font-size:.6rem;padding:9px}.project-links .text-link{min-width:140px}}
@media(max-width:760px){.trust-grid,.story-grid,.proof-band,.case-story,.case-features,.journey{grid-template-columns:1fr}.trust-feature{grid-column:auto;padding:28px}.case-meta{grid-template-columns:1fr;gap:20px}.case-story aside{position:static}.proof-band{padding:27px}.case-browser .shot-chrome{padding:12px;font-size:.62rem}.case-intro h1{font-size:2.5rem}.case-showcase{padding-bottom:40px}.case-features .panel{padding:25px}.next-case{display:block}.next-case .btn{margin-top:25px}.motion-toggle{right:12px;bottom:10px;font-size:.65rem}.terminal{animation:none}.journey{gap:0}.project-shot img{aspect-ratio:2.15}.shot-open{opacity:1;transform:none}.reveal-pending{transform:translateY(16px);filter:none}.ambient i{animation-duration:30s}.case-story{gap:32px}}
html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.motion-paused .reveal-pending{opacity:1;transform:none;filter:none}html.motion-paused .project{transform:none!important}html.motion-paused .ambient{opacity:.4}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none;filter:none}.project{transform:none!important}}

/* Reusable project previews and access details. */
.product-preview{color:#dce8f2}.preview-screen{min-height:220px;display:grid;grid-template-columns:31% 1fr;background:#f5f7fa;color:#14223b}.preview-sidebar{background:#101c35;color:#9db6d7;padding:18px 14px;display:flex;flex-direction:column;gap:15px;font:600 .58rem/1.2 Arial,sans-serif}.preview-sidebar b{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#2677e8;color:#fff;font-size:.8rem}.preview-main{padding:25px 20px;display:flex;flex-direction:column;gap:13px}.preview-main small{color:#6580a5;font:700 .55rem Arial,sans-serif;letter-spacing:.08em}.preview-main strong{font:700 1.15rem Arial,sans-serif}.preview-metrics{display:flex;gap:8px}.preview-metrics i{font:700 .55rem Arial,sans-serif;font-style:normal;background:#e7edf6;border-radius:5px;padding:10px 7px;color:#24405f}.preview-lines{height:50px;border-radius:7px;background:repeating-linear-gradient(to bottom,#dce5ef 0 6px,transparent 6px 15px);margin-top:auto}.pos-preview .preview-main{background:linear-gradient(140deg,#f8fbff,#eaf3ff)}.portal-preview .preview-sidebar{background:#15152b}.portal-preview .preview-sidebar b{background:#8d5be8}.portal-preview .preview-main{background:linear-gradient(140deg,#faf9ff,#f1edff)}.portal-preview .preview-metrics i{background:#ebe7fa;color:#493478}.access-note{border:1px solid #43cdec61;background:linear-gradient(125deg,#0b3440,#131b2c 70%);padding:34px;border-radius:14px;box-shadow:0 18px 55px #0002}.access-note .eyebrow{margin-bottom:13px}.access-note h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 12px}.access-note>p{max-width:760px}.access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:25px}.access-item{border:1px solid #ffffff18;background:#07131ed0;padding:18px;border-radius:9px}.access-item span{display:block;color:var(--cyan);font:.64rem 'JetBrains Mono',monospace;margin-bottom:9px;text-transform:uppercase}.access-item strong{display:block;color:#fff;font:600 1rem 'JetBrains Mono',monospace;overflow-wrap:anywhere}.access-item em{display:block;font-style:normal;color:var(--muted);font-size:.73rem;margin-top:8px}.case-placeholder{border:1px solid #344953;border-radius:12px;overflow:hidden;box-shadow:0 30px 90px #0003}.case-placeholder .preview-screen{min-height:400px}.case-placeholder .preview-sidebar{font-size:.75rem;padding:27px 22px;gap:22px}.case-placeholder .preview-sidebar b{width:48px;height:48px}.case-placeholder .preview-main{padding:48px 42px;gap:22px}.case-placeholder .preview-main strong{font-size:2rem}.case-placeholder .preview-metrics i{font-size:.78rem;padding:17px 13px}
@media(max-width:760px){.access-note{padding:24px}.case-placeholder .preview-screen{min-height:260px}.case-placeholder .preview-sidebar{padding:16px 12px;font-size:.55rem}.case-placeholder .preview-main{padding:25px 18px}.case-placeholder .preview-main strong{font-size:1.25rem}.case-placeholder .preview-metrics{flex-wrap:wrap}.case-placeholder .preview-metrics i{font-size:.55rem;padding:10px}.preview-screen{min-height:190px}}
