
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{
  --ink:#09090b;--paper:#f4f2ed;--muted:#9b9a96;--line:rgba(255,255,255,.14);
  --lime:#007fff;--white:#fff;--card:#111114;--soft:#19191d;
  --max:1320px;
}

/* Preserve the original hero typography. */
.hero .hero-word{font-family:'Space Grotesk',sans-serif!important;font-weight:700}
.hero .hero-g{color:#fff;background:none;-webkit-text-stroke:0}
.portfolio-card--ariel{order:-1}
.contact-captcha{margin-top:4px;transform:scale(.94);transform-origin:left top}

/* Portfolio-only mobile canvas lock */
html.portfolio-page-root,body.portfolio-page{width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none}body.portfolio-page{position:relative;touch-action:pan-y}body.portfolio-page .site-loader,body.portfolio-page .nav,body.portfolio-page main,body.portfolio-page .footer{left:0;right:0;width:100%;max-width:100%}
@supports(overflow:clip){html.portfolio-page-root,body.portfolio-page{overflow-x:clip!important}}
@media(max-width:800px){body.portfolio-page .portfolio-filters{display:flex;width:100%;max-width:100%;margin:0;padding:0;flex-wrap:wrap;overflow:visible;gap:8px;touch-action:pan-y}body.portfolio-page .portfolio-filters button{flex:0 0 auto}body.portfolio-page .portfolio-section,body.portfolio-page .portfolio-section>.container,body.portfolio-page .portfolio-toolbar,body.portfolio-page .portfolio-grid{width:100%;max-width:100%;min-width:0}body.portfolio-page .portfolio-card,body.portfolio-page .portfolio-card *{max-width:100%}}

*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--white);font-family:'DM Sans',sans-serif;overflow-x:hidden}
.site-loader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#05070b;opacity:1;visibility:visible;overflow:hidden;transition:opacity .55s cubic-bezier(.76,0,.24,1),visibility .55s}.site-loader:before{content:"";position:absolute;width:32vw;height:1px;background:linear-gradient(90deg,transparent,#8ac8ff,var(--lime),transparent);box-shadow:0 0 25px var(--lime);transform:translateX(-120vw);animation:loaderSweep .85s cubic-bezier(.76,0,.24,1) .08s both}.site-loader:after{display:none}.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.site-loader img{width:82px;height:82px;object-fit:cover;object-position:left center;position:relative;z-index:1;animation:loaderReveal .8s cubic-bezier(.16,1,.3,1) both;filter:drop-shadow(0 0 18px rgba(0,127,255,.7))}@keyframes loaderSweep{0%{transform:translateX(-120vw)}55%,100%{transform:translateX(120vw)}}@keyframes loaderFrame{0%{transform:rotate(45deg) scale(.3);opacity:0}45%{opacity:1}100%{transform:rotate(45deg) scale(1);opacity:.18}}@keyframes loaderReveal{0%{transform:translateX(-20px);opacity:0;filter:blur(10px) drop-shadow(0 0 0 rgba(0,127,255,0))}55%{opacity:1;filter:blur(0) drop-shadow(0 0 28px rgba(0,127,255,1))}100%{transform:translateX(0);opacity:1;filter:blur(0) drop-shadow(0 0 16px rgba(0,127,255,.7))}}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:20px 0;mix-blend-mode:normal}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(9,9,11,.68);backdrop-filter:blur(18px)}
.logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.06em;font-size:20px}
.logo-image{width:148px;height:auto;display:block;object-fit:contain}
.logo-mark{width:30px;height:30px;border:2px solid var(--lime);border-radius:50%;position:relative}
.logo-mark:before,.logo-mark:after{content:"";position:absolute;background:var(--lime);height:2px;width:17px;left:5px;top:13px;transform:rotate(45deg)}
.logo-mark:after{transform:rotate(-45deg)}
.navlinks{display:flex;gap:30px;font:800 13px 'Space Grotesk',sans-serif;letter-spacing:.015em;color:#e1e1e4}
.navlinks a{transition:.25s}.navlinks a:hover{color:var(--lime)}
.navlinks a[href="/portfolio"]{font-size:14px;font-weight:900}
.menu{display:none;font-family:'Space Grotesk',sans-serif}
.btn{display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:14px 20px;font-weight:800;font-size:13px;background:var(--lime);color:#080808;border:1px solid var(--lime);transition:.3s;cursor:pointer}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,127,255,.25)}
.btn.dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.2)}
.hero{min-height:100vh;display:grid;align-items:end;position:relative;padding:150px 0 72px;overflow:hidden;background:radial-gradient(circle at 74% 28%,rgba(0,127,255,.16),transparent 30%),linear-gradient(135deg,#05070b 0%,#07111e 52%,#05070b 100%)}
.grid-bg{position:absolute;inset:-10%;background-image:linear-gradient(rgba(130,190,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(130,190,255,.075) 1px,transparent 1px),linear-gradient(135deg,transparent 48%,rgba(0,127,255,.08) 49%,transparent 50%);background-size:80px 80px,80px 80px,240px 240px;mask-image:linear-gradient(to bottom,black,transparent 90%);animation:gridDrift 22s linear infinite}
.grid-bg:after{content:"";position:absolute;left:0;right:0;top:18%;height:1px;background:linear-gradient(90deg,transparent,rgba(138,200,255,.8),transparent);box-shadow:0 0 28px rgba(0,127,255,.6);animation:scanLine 8s ease-in-out infinite}
@keyframes gridDrift{to{transform:translate3d(80px,40px,0)}}
@keyframes scanLine{0%,100%{transform:translateY(0);opacity:0}20%,75%{opacity:1}50%{transform:translateY(58vh)}}
.orb{position:absolute;width:38vw;height:38vw;right:0;top:13vh;background:conic-gradient(from 210deg,rgba(0,127,255,.05),rgba(86,177,255,.45),rgba(0,50,120,.08),rgba(0,127,255,.3));clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:blur(10px);opacity:.85;animation:float 8s ease-in-out infinite}
.hero:before{content:"";position:absolute;width:42vw;height:42vw;right:-9vw;top:11vh;border:1px solid rgba(0,127,255,.32);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:rotate(25deg) scaleY(.72);animation:prismFloat 14s ease-in-out infinite}
@keyframes float{50%{transform:translate3d(-30px,25px,0) scale(1.04)}}
@keyframes prismFloat{50%{transform:rotate(205deg) scaleY(.72) translate3d(-18px,14px,0)}100%{transform:rotate(385deg) scaleY(.72)}}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--lime);margin-bottom:20px}
.hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(58px,9vw,150px);line-height:.82;letter-spacing:-.075em;max-width:1150px;margin:0;font-weight:700;animation:headlineIn 1s cubic-bezier(.16,1,.3,1) both}
.hero h1 span{display:inline-block}.hero-word{font-family:Inter,Arial,sans-serif;font-weight:800;color:transparent;background:radial-gradient(circle at var(--water-x,50%) var(--water-y,50%),#9dd4ff 0 5%,#fff 12%,#fff 42%);background-size:180% 180%;background-position:var(--water-x,50%) var(--water-y,50%);background-clip:text;-webkit-background-clip:text;animation:wordRise .9s cubic-bezier(.16,1,.3,1) both;transition:background-position .18s ease-out;overflow:visible}.hero-word:last-of-type{animation-delay:.18s;line-height:1.05;padding:0 .18em .12em 0;margin-right:-.18em;vertical-align:baseline}.hero-outline{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55);background:radial-gradient(circle at var(--water-x,50%) var(--water-y,50%),#bce1ff 0 5%,#007fff 16%,transparent 34%),linear-gradient(110deg,transparent 20%,#007fff 45%,#8ac8ff 52%,transparent 75%);background-size:180% 180%,220% 100%;background-position:var(--water-x,50%) var(--water-y,50%),120% 0;background-clip:text;-webkit-background-clip:text;animation:blueSweep 2.8s ease-in-out 1s infinite;transition:background-position .18s ease-out}
@keyframes headlineIn{from{opacity:0;transform:translateY(45px);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}
@keyframes wordRise{from{opacity:0;transform:translateY(35px) skewY(3deg)}to{opacity:1;transform:none}}
@keyframes blueSweep{0%,55%{background-position:120% 0}80%,100%{background-position:-30% 0}}
.hero-stamp{position:absolute;right:4vw;top:38%;font:600 11px 'Space Grotesk',sans-serif;letter-spacing:.2em;color:#71716c;writing-mode:vertical-rl;transform:rotate(180deg)}
.hero-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:65px}
.hero-actions{display:flex;gap:12px;margin-top:42px}.hero-actions .btn{padding:15px 21px}.hero-actions .btn.dark{background:rgba(9,9,11,.22);border-color:rgba(255,255,255,.3)}
.hero-copy{max-width:460px;color:#b8b7b2;line-height:1.7;font-size:15px}
.scroll{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#777;display:flex;gap:12px;align-items:center}
.scroll i{width:55px;height:1px;background:#777;position:relative;overflow:hidden}.scroll i:after{content:"";position:absolute;inset:0;background:var(--lime);transform:translateX(-100%);animation:scrollLine 1.8s ease-in-out infinite}
@keyframes scrollLine{50%,100%{transform:translateX(100%)}}
.section{padding:130px 0}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:55px}
.eyebrow{color:var(--lime);font-size:11px;text-transform:uppercase;letter-spacing:.2em}
.section h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(42px,6vw,88px);line-height:.9;letter-spacing:-.06em;margin:12px 0 0;max-width:800px}
.muted{color:#8f8e8a;max-width:460px;line-height:1.7}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border-top:0}
.service{padding:25px 24px 28px;border:1px solid #d9d8d2;border-radius:18px;background:#fff;position:relative;min-height:360px;overflow:hidden;color:#09090b;transition:transform .45s,box-shadow .45s,border-color .45s}
.service:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--lime);transform:scaleX(.18);transform-origin:left;transition:transform .45s}.service:hover{transform:translateY(-10px);border-color:var(--lime);box-shadow:0 20px 45px rgba(0,127,255,.14)}.service:hover:before{transform:scaleX(1)}
.service-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e8f3ff;color:#0068d4;font:700 12px 'Space Grotesk',sans-serif}.service h3{font-family:'Space Grotesk',sans-serif;font-size:27px;line-height:1.02;letter-spacing:-.04em;margin:72px 0 14px;max-width:220px}.service p{color:#666;max-width:260px;line-height:1.65;font-size:14px}
.service-list{display:grid;gap:7px;margin:22px 0 0;padding:0;list-style:none;color:#666;font-size:12px;line-height:1.35}.service-list li:before{content:'+';color:var(--lime);font-weight:700;margin-right:8px}
.page-hero + .section .service{min-height:540px}
.services-page-section{background:#080d15}.services-page-section .service{background:#101923;border-color:rgba(138,200,255,.2);color:#fff}.services-page-section .service p,.services-page-section .service-list{color:#aeb8c5}.services-page-section .service-list{font-size:14px;gap:10px;line-height:1.45}.services-page-section .service-num{background:rgba(0,127,255,.16);color:#8ac8ff}.services-page-section .service h3{color:#fff}.services-page-section .service-arrow{background:#007fff;color:#fff}.services-page-section .service:hover{background:#122235;border-color:#007fff;box-shadow:0 20px 45px rgba(0,127,255,.18)}
.service-arrow{position:absolute;right:22px;bottom:22px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#09090b;color:var(--lime);font-size:20px;transition:.3s}.service:hover .service-arrow{transform:rotate(45deg);background:var(--lime);color:#09090b}
.service:after{position:absolute;top:25px;right:24px;width:42px;height:42px;border:1px solid rgba(0,127,255,.25);border-radius:50%;display:grid;place-items:center;color:var(--lime);font:22px 'Space Grotesk',sans-serif;transition:transform .45s,background .45s}.service:nth-child(1):after{content:'◉'}.service:nth-child(2):after{content:'⌘'}.service:nth-child(3):after{content:'✦'}.service:nth-child(4):after{content:'◌'}.service:hover:after{transform:rotate(18deg) scale(1.12);background:#e8f3ff}
.work-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.work-card{position:relative;min-height:520px;overflow:hidden;border-radius:24px;background:#17171a}.work-card.small{min-height:320px}.work-card img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:transform .8s,opacity .5s}.work-card:hover img{transform:scale(1.06);opacity:.9}.work-info{position:absolute;inset:auto 22px 22px;display:flex;justify-content:space-between;align-items:end;gap:18px}.work-info>div:first-child{min-width:0}.tag{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#ddd}.work-info h3{margin:7px 0 0;font-size:28px;letter-spacing:-.04em}.work-arrow{display:grid;flex:0 0 48px;width:48px;min-width:48px;max-width:48px;height:48px;min-height:48px;max-height:48px;aspect-ratio:1/1;align-self:flex-end;place-items:center;padding:0;border-radius:999px;background:var(--lime);color:#000;font-size:22px;line-height:1}
.service-image{height:100%;position:relative;overflow:hidden;background-color:#061426;transition:transform .8s,filter .5s}.service-visual-0{background:radial-gradient(circle at 35% 35%,#5eb1ff 0 2%,transparent 3%),linear-gradient(135deg,#007fff 0 9%,transparent 9% 18%,#0b2644 18% 22%,transparent 22% 31%,#007fff 31% 34%,transparent 34%),repeating-linear-gradient(135deg,rgba(138,200,255,.18) 0 1px,transparent 1px 18px)}.service-visual-1{background:linear-gradient(145deg,transparent 47%,#007fff 48% 50%,transparent 51%),repeating-linear-gradient(90deg,rgba(138,200,255,.28) 0 2px,transparent 2px 34px),linear-gradient(180deg,#061426,#0d3157)}.service-visual-2{background:linear-gradient(rgba(138,200,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(138,200,255,.2) 1px,transparent 1px),radial-gradient(circle at 70% 30%,#007fff,transparent 22%),#061426;background-size:28px 28px,28px 28px,100% 100%}.service-image:before{content:"";position:absolute;width:45%;height:45%;right:14%;top:18%;border:1px solid rgba(160,215,255,.75);transform:rotate(24deg);box-shadow:0 0 35px rgba(0,127,255,.35);animation:serviceFloat 5s ease-in-out infinite}.service-visual-1:before{width:55%;height:35%;right:10%;top:22%;transform:skewY(-18deg);border-color:#007fff}.service-visual-2:before{width:36%;height:36%;right:18%;top:20%;transform:rotate(45deg);border-color:#5eb1ff}.service-image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,127,255,.12),rgba(3,10,20,.32) 72%);z-index:1}.work-info{z-index:2}.work-card:hover .service-image{transform:scale(1.06);filter:brightness(1.15)}
@keyframes serviceFloat{50%{transform:rotate(24deg) translate3d(-12px,12px,0);opacity:.55}}
.stack{display:grid;gap:18px}
.marquee{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0 24px;white-space:nowrap}.marquee:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--lime),transparent);transform:translateX(-100%);animation:signalLine 4s ease-in-out infinite}.marquee-label{width:min(var(--max),calc(100% - 48px));margin:0 auto 16px;color:#6c6c70;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase}.marquee-track{width:min(var(--max),calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.signal-word{display:flex;align-items:baseline;gap:12px;animation:signalWord 3.6s ease-in-out infinite}.signal-word:nth-of-type(2){animation-delay:1.2s}.signal-word:nth-of-type(3){animation-delay:2.4s}.signal-word span{color:var(--lime);font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.15em}.signal-word b{font:600 clamp(34px,5vw,72px) 'Space Grotesk',sans-serif;letter-spacing:-.07em}.marquee-track>i{display:block;width:clamp(25px,10vw,150px);height:1px;background:linear-gradient(90deg,var(--lime),rgba(0,127,255,.08));position:relative}.marquee-track>i:after{content:"";position:absolute;top:-3px;left:0;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 15px var(--lime);animation:signalDot 3.6s ease-in-out infinite}.marquee-track>i:nth-of-type(2):after{animation-delay:1.2s}@keyframes signalWord{0%,100%{transform:translateY(0);opacity:.65}50%{transform:translateY(-7px);opacity:1;color:var(--lime)}}@keyframes signalDot{50%{left:100%}}@keyframes signalLine{50%,100%{transform:translateX(100%)}}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.person{background:var(--soft);border-radius:22px;overflow:hidden;transition:transform .5s}.person:hover{transform:translateY(-8px)}.person-img{aspect-ratio:1/1.15;background:linear-gradient(135deg,#28282c,#0d0d0f);overflow:hidden}.person-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s,transform .7s}.person:hover .person-img img{filter:grayscale(0);transform:scale(1.06)}.person-info{padding:18px}.person h3{margin:0;font-size:18px}.person p{margin:5px 0 0;color:#777;font-size:12px}
.testimonials{overflow:hidden}.testimonials-track{display:flex;width:200%;animation:testimonialSlide 18s ease-in-out infinite;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.testimonials:hover .testimonials-track{animation-play-state:paused}.quote{flex:0 0 25%;border-top:1px solid var(--line);padding:30px 50px 0 0}.quote p{font-size:clamp(20px,2.2vw,30px);line-height:1.2;letter-spacing:-.03em;margin:0 0 24px;max-width:850px}.quote small{color:#777}@keyframes testimonialSlide{0%,42%{transform:translateX(0)}50%,92%{transform:translateX(-50%)}100%{transform:translateX(0)}}.testimonial-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}.testimonial-controls button{width:44px;height:44px;border:1px solid #3b3b40;border-radius:50%;background:transparent;color:#fff;font:22px 'Space Grotesk',sans-serif;cursor:pointer;transition:background .25s,color .25s,transform .25s}.testimonial-controls button:hover{background:var(--lime);color:#09090b;transform:translateY(-3px)}
.testimonials-section{background:linear-gradient(135deg,#07111e,#08090b)}.testimonial-note{color:#7f8da0;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase}.quote{position:relative;padding:34px 70px 30px 0;min-height:255px}.quote-mark{display:block;color:var(--lime);font:700 76px/ .6 'Space Grotesk',sans-serif;height:32px}.quote p{max-width:720px}.quote small{display:block;color:#9da8b5;font-size:13px;line-height:1.5}.quote small strong{color:#fff;font:600 15px 'Space Grotesk',sans-serif}.quote-index{position:absolute;right:50px;bottom:28px;color:#667386;font:600 11px 'Space Grotesk',sans-serif;letter-spacing:.12em}
.cta{padding:95px 0;border-top:1px solid var(--line);position:relative;overflow:hidden}.cta h2{font-size:clamp(48px,7vw,100px);line-height:.92;letter-spacing:-.06em;margin:0;max-width:1000px}.cta h2 span{color:var(--lime)}
.footer{border-top:1px solid var(--line);padding:56px 0 28px;color:#777}.footer-top.footer-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.7fr) minmax(250px,1fr);align-items:start;gap:70px}.footer-brand{max-width:330px}.footer-brand p{margin:20px 0 22px;color:#85858a;font-size:13px;line-height:1.6}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 30px;font-size:13px;align-items:start;padding-top:4px}.footer-links-title{grid-column:1/-1;margin-bottom:2px}.footer-links a{transition:color .25s}.footer-links a:hover{color:var(--lime)}.social-links{display:flex;gap:10px}.social-icon{width:42px;height:42px;border:1px solid #4d4d55;border-radius:10px;display:grid;place-items:center;color:#d9e7f8;font-size:17px;line-height:1;transition:background .25s,color .25s,border-color .25s,transform .25s}.social-icon:hover{background:var(--lime);border-color:var(--lime);color:#09090b;transform:translateY(-3px)}.footer-contact-panel{display:grid;gap:13px;padding:5px 0 0;border-left:1px solid #303038;padding-left:34px}.footer-kicker{color:#777;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}.footer-contact-panel a{display:flex;align-items:center;gap:9px;color:#d7d7dc;font-size:16px;transition:color .25s}.footer-contact-panel a:hover{color:var(--lime)}.footer-contact-panel b{color:var(--lime);font-size:15px;font-weight:400}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-top:58px;padding-top:18px;border-top:1px solid #24242a;font-size:12px}
.page-hero{padding:190px 0 100px;border-bottom:1px solid var(--line)}.page-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(60px,10vw,140px);line-height:.83;letter-spacing:-.08em;margin:0}.page-hero p{max-width:580px;color:#999;line-height:1.7;margin-top:35px}
.about-hero{background:radial-gradient(circle at 82% 28%,rgba(0,127,255,.18),transparent 32%),linear-gradient(135deg,#05070b,#07111e)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-lead h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(40px,5vw,72px);line-height:.95;letter-spacing:-.06em;margin:14px 0 0}.about-copy{max-width:590px;color:#a8a8ad;line-height:1.75;font-size:16px}.about-copy p{margin:0 0 22px}.about-dark{background:#080d15}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.principle,.about-service{border:1px solid rgba(255,255,255,.12);padding:26px;border-radius:16px;min-height:210px}.principle span,.about-service span{color:var(--lime);font:600 11px 'Space Grotesk',sans-serif;letter-spacing:.15em}.principle h3,.about-service h3{font:600 25px 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin:48px 0 12px}.principle p,.about-service p{color:#8c8e94;line-height:1.6;margin:0;font-size:14px}.about-services{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.about-service{min-height:240px;border-color:#292b31;background:#101116}.about-points{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px}.about-points strong{font:500 14px 'Space Grotesk',sans-serif;color:#e1e1e5}.about-points strong:before{content:'+';color:var(--lime);margin-right:8px}.about-team{background:#f4f2ed;color:#09090b}.about-team .muted{color:#666}.about-cta-copy{max-width:570px;color:#999;line-height:1.7;margin:28px 0 0;font-size:16px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-list{display:grid;gap:25px}.contact-item span{display:block;color:#666;font-size:11px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:7px}.contact-item a{font-size:20px}.form{display:grid;gap:16px}.form input,.form textarea,.form select{width:100%;padding:18px 0;border:0;border-bottom:1px solid #333;background:transparent;color:#fff;font:inherit;outline:none}.form textarea{min-height:130px;resize:vertical}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--lime)}.form-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}

/* Contact page */
.contact-hero{position:relative;overflow:hidden;padding-bottom:82px;background:radial-gradient(circle at 84% 34%,rgba(0,127,255,.2),transparent 27%),linear-gradient(135deg,#05070b,#091420)}.contact-hero:after{content:"";position:absolute;width:420px;height:420px;right:-130px;bottom:-260px;border:1px solid rgba(138,200,255,.18);border-radius:50%;box-shadow:0 0 0 60px rgba(0,127,255,.025),0 0 0 120px rgba(0,127,255,.018);pointer-events:none}.contact-hero .container{position:relative;z-index:1}.contact-hero h1 span{color:var(--lime)}.contact-hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-top:34px}.contact-hero-bottom>p{max-width:590px;margin:0;color:#a6adb6;line-height:1.7}.contact-availability{display:flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid rgba(138,200,255,.2);border-radius:999px;background:rgba(7,17,30,.65);color:#c8d6e4;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.contact-availability i,.contact-response>i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 13px var(--lime)}
.contact-section{padding:95px 0 125px;background:#08090b}.contact-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.45fr);gap:18px;align-items:stretch}.contact-panel,.contact-form-card{border:1px solid rgba(255,255,255,.1);border-radius:24px}.contact-panel{position:relative;display:flex;min-height:665px;flex-direction:column;justify-content:space-between;padding:36px;overflow:hidden;background:radial-gradient(circle at 8% 100%,rgba(0,127,255,.18),transparent 34%),#0d1117}.contact-panel:after{content:"03";position:absolute;right:-8px;top:12px;color:rgba(255,255,255,.025);font:700 170px/1 'Space Grotesk',sans-serif;letter-spacing:-.1em;pointer-events:none}.contact-panel-kicker,.contact-form-heading>span{margin:0 0 18px;color:#78bfff;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.17em;text-transform:uppercase}.contact-panel h2,.contact-form-heading h2{margin:0;color:#fff;font:600 clamp(34px,4vw,54px)/.92 'Space Grotesk',sans-serif;letter-spacing:-.055em}.contact-panel-copy{max-width:330px;margin:22px 0 0;color:#89929d;font-size:14px;line-height:1.7}.contact-details{display:grid;margin:55px 0 35px}.contact-details>a,.contact-details>div{position:relative;display:grid;gap:7px;padding:19px 30px 19px 0;border-top:1px solid rgba(255,255,255,.1)}.contact-details>*:last-child{border-bottom:1px solid rgba(255,255,255,.1)}.contact-details span{color:#697481;font:600 9px 'Space Grotesk',sans-serif;letter-spacing:.15em;text-transform:uppercase}.contact-details strong{color:#e7edf4;font:500 15px 'Space Grotesk',sans-serif;overflow-wrap:anywhere}.contact-details a i{position:absolute;right:1px;top:50%;color:#78bfff;font:normal 18px/1 Inter,sans-serif;transform:translateY(-50%);transition:transform .3s,color .3s}.contact-details a:hover i{color:var(--lime);transform:translateY(-50%) rotate(45deg)}.contact-response{display:flex;align-items:center;gap:10px;margin:0;color:#77828e;font-size:11px;line-height:1.5}.contact-response>i{flex:0 0 6px;width:6px;height:6px}
.contact-form-card{padding:40px 44px 44px;background:#101116}.contact-form-heading{padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1)}.contact-form-heading>span{display:block}.contact-form-heading p{margin:17px 0 0;color:#858d96;font-size:14px;line-height:1.6}.contact-form{gap:24px;margin-top:29px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contact-form label{display:grid;gap:9px}.contact-form label>span{color:#98a2ae;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase}.contact-form input,.contact-form textarea,.contact-form select{padding:15px 16px;border:1px solid #292d34;border-radius:11px;background:#0b0d11;color:#fff;font-size:14px;transition:border-color .25s,background .25s,box-shadow .25s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#555e68}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#168cff;background:#0d1219;box-shadow:0 0 0 3px rgba(0,127,255,.12)}.contact-form select{min-height:50px;color:#b5bdc6}.contact-form textarea{min-height:145px;line-height:1.6}.form-submit{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:4px}.form-submit p{max-width:310px;margin:0;color:#626b75;font-size:10px;line-height:1.5}.form-submit .btn{flex:0 0 auto;border:0;cursor:pointer}.form-submit .btn span{font-size:17px;transition:transform .3s}.form-submit .btn:hover span{transform:rotate(45deg)}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-panel{min-height:auto}.contact-details{margin:42px 0 28px}.contact-panel-copy{max-width:520px}}
@media(max-width:620px){.contact-hero{padding-bottom:62px}.contact-hero-bottom{display:block}.contact-availability{width:max-content;max-width:100%;margin-top:25px;white-space:normal}.contact-section{padding:55px 0 80px}.contact-panel,.contact-form-card{padding:25px;border-radius:18px}.contact-panel h2,.contact-form-heading h2{font-size:34px}.form-row{grid-template-columns:1fr;gap:20px}.form-submit{display:block}.form-submit .btn{width:100%;justify-content:center;margin-top:20px}}

/* 404 page */
.error-page{min-height:100vh}.error-hero{position:relative;display:flex;min-height:850px;align-items:center;padding:170px 0 105px;overflow:hidden;background:radial-gradient(circle at 78% 42%,rgba(0,127,255,.19),transparent 28%),linear-gradient(135deg,#05070b,#081321 68%,#05070b)}.error-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(138,200,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(138,200,255,.055) 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(circle at 70% 45%,#000,transparent 68%)}.error-orbit{position:absolute;width:520px;height:520px;right:-80px;top:165px;border:1px solid rgba(138,200,255,.16);border-radius:50%;box-shadow:0 0 0 70px rgba(0,127,255,.025),0 0 0 140px rgba(0,127,255,.018);animation:errorOrbit 16s linear infinite}.error-orbit i{position:absolute;width:12px;height:12px;left:45px;top:75px;border-radius:50%;background:var(--lime);box-shadow:0 0 24px var(--lime)}.error-content{position:relative;z-index:1}.error-code{position:absolute;right:2%;top:-75px;display:flex;align-items:center;color:rgba(255,255,255,.035);font:700 clamp(180px,25vw,360px)/.75 'Space Grotesk',sans-serif;letter-spacing:-.13em;user-select:none}.error-code b{color:rgba(0,127,255,.13);font-weight:700}.error-hero h1{max-width:900px;margin:14px 0 0;font:600 clamp(58px,8vw,112px)/.86 'Space Grotesk',sans-serif;letter-spacing:-.075em}.error-hero h1 span{color:var(--lime)}.error-hero p{max-width:590px;margin:30px 0 0;color:#9ca6b1;font-size:16px;line-height:1.7}.error-actions{display:flex;gap:12px;margin-top:38px}.error-actions .dark{border-color:rgba(255,255,255,.15)}@keyframes errorOrbit{to{transform:rotate(360deg)}}
@media(max-width:800px){.error-hero{min-height:720px;padding:145px 0 85px}.error-code{top:-40px;right:7%;font-size:190px}.error-orbit{width:330px;height:330px;right:-180px;top:220px}.error-actions{align-items:flex-start;flex-direction:column}.error-hero p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.error-orbit{animation:none}}

/* Full-screen mobile navigation and back-to-top control */
.mobile-menu-footer{display:none}.back-to-top{position:fixed;right:24px;bottom:84px;z-index:59;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(8,13,21,.82);backdrop-filter:blur(12px);color:#fff;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(15px);transition:opacity .3s,visibility .3s,transform .3s,background .25s,border-color .25s}.back-to-top span{font:500 20px/1 'Space Grotesk',sans-serif}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{border-color:var(--lime);background:var(--lime);color:#07111e;transform:translateY(-3px)}
@media(max-width:800px){body.menu-open{overflow:hidden}.nav-inner{position:relative;z-index:2}.nav .logo,.nav .menu{position:relative;z-index:3}.menu{width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.18)!important;border-radius:50%!important;background:rgba(8,13,21,.65)!important;font-size:25px!important;line-height:1!important;cursor:pointer}.navlinks.open{position:fixed;z-index:1;inset:0;display:flex;min-height:100dvh;flex-direction:column;align-items:flex-start;gap:0;padding:128px 24px 30px;border:0;border-radius:0;background:radial-gradient(circle at 88% 18%,rgba(0,127,255,.2),transparent 30%),linear-gradient(145deg,#05070b,#081524 72%,#05070b);backdrop-filter:none;overflow-y:auto}.navlinks.open:before{content:"MENU / OCTOLINK";display:block;margin-bottom:23px;color:#5484ae;font:600 9px 'Space Grotesk',sans-serif;letter-spacing:.2em}.navlinks.open>a{position:relative;width:100%;padding:11px 0;border:0;color:#fff;font:600 clamp(36px,11vw,56px)/1 'Space Grotesk',sans-serif;letter-spacing:-.06em;opacity:0;transform:translateY(20px);animation:mobileLinkIn .48s cubic-bezier(.16,1,.3,1) forwards}.navlinks.open>a:after{content:"↗";position:absolute;right:2px;top:50%;color:#3d6487;font:400 18px/1 Inter,sans-serif;transform:translateY(-50%)}.navlinks.open>a:nth-child(2){animation-delay:.04s}.navlinks.open>a:nth-child(3){animation-delay:.08s}.navlinks.open>a:nth-child(4){animation-delay:.12s}.navlinks.open>a:nth-child(5){animation-delay:.16s}.mobile-menu-footer{display:none}.navlinks.open .mobile-menu-footer{display:flex;width:100%;align-items:end;justify-content:space-between;gap:22px;margin-top:auto;padding-top:28px;border-top:1px solid rgba(138,200,255,.18);animation:mobileLinkIn .55s cubic-bezier(.16,1,.3,1) .2s both}.mobile-menu-footer>div:first-child{display:grid;gap:7px}.mobile-menu-footer span{margin-bottom:3px;color:#637587;font:600 9px 'Space Grotesk',sans-serif;letter-spacing:.15em;text-transform:uppercase}.mobile-menu-footer a{color:#c9d6e2;font:500 13px 'Space Grotesk',sans-serif}.mobile-menu-socials{display:flex;gap:7px}.mobile-menu-socials a{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(138,200,255,.25);border-radius:50%;color:#fff;font-size:14px}.mobile-menu-socials a:hover{background:var(--lime);border-color:var(--lime);color:#07111e}.back-to-top{right:15px;bottom:70px;width:44px;height:44px}.menu-open .sound-toggle,.menu-open .back-to-top{opacity:0;visibility:hidden}@keyframes mobileLinkIn{to{opacity:1;transform:none}}}
@media(max-width:430px){.navlinks.open{padding-left:20px;padding-right:20px}.navlinks.open>a{font-size:39px}.navlinks.open .mobile-menu-footer{display:grid}.mobile-menu-socials{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}.navlinks.open>a,.navlinks.open .mobile-menu-footer{animation:none;opacity:1;transform:none}}

/* Portfolio mobile alignment */
@media(max-width:800px){
 .nav{left:0;right:auto;width:100%;max-width:100vw;padding:14px 15px}.nav>.container{width:100%;max-width:100%;margin:0}.nav-inner{width:100%;max-width:100%;min-width:0;padding:10px 12px}.nav .logo{min-width:0}.nav .logo-image{width:132px}.nav .menu{flex:0 0 42px;margin-left:auto}
 .portfolio-hero{padding:150px 0 66px}.portfolio-hero:after{width:280px;height:280px;right:-165px;bottom:-155px;box-shadow:0 0 0 38px rgba(0,127,255,.03),0 0 0 76px rgba(0,127,255,.02)}.portfolio-hero h1{font-size:clamp(54px,17vw,72px);line-height:.86;letter-spacing:-.07em}.portfolio-hero p{max-width:100%;margin-top:24px;font-size:15px;line-height:1.65}
 .portfolio-section{padding:52px 0 82px}.portfolio-toolbar{display:block;margin-bottom:25px}.portfolio-filters{display:flex;width:calc(100vw - 15px);margin-right:-15px;padding:2px 15px 10px 0;flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}.portfolio-filters::-webkit-scrollbar{display:none}.portfolio-filters button{flex:0 0 auto;padding:10px 15px;font-size:12px;white-space:nowrap;scroll-snap-align:start}.portfolio-count{margin-top:11px;font-size:12px}
 .portfolio-grid{gap:16px}.portfolio-card{border-radius:17px}.portfolio-card .portfolio-meta{padding:17px}.portfolio-card .portfolio-meta h2{font-size:25px}.portfolio-card .portfolio-meta span{font-size:9px;line-height:1.45}.portfolio-card .portfolio-link{width:38px;height:38px}.portfolio-card .portfolio-tags{gap:5px}.portfolio-card .portfolio-tags b{font-size:8px}
}
@media(max-width:380px){.portfolio-hero h1{font-size:51px}.portfolio-hero p{font-size:14px}.nav .logo-image{width:120px}}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.post{background:var(--soft);border-radius:22px;overflow:hidden}.post-img{height:280px;background:linear-gradient(135deg,#29292d,#101013);display:grid;place-items:center;color:#555;font-size:54px;font-weight:900}.post-body{padding:25px}.post-meta{color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.post h3{font-size:28px;letter-spacing:-.04em;margin:12px 0}.post p{color:#888;line-height:1.6}

/* Blog */
.blog-hero{background:radial-gradient(circle at 78% 30%,rgba(0,127,255,.2),transparent 28%),#09090b}.blog-hero h1 span{color:var(--lime)}.blog-section{padding-top:90px}.blog-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.blog-intro p{margin:0}.blog-intro>p:last-child{max-width:430px;color:#969da7;line-height:1.65}.post{border:1px solid rgba(255,255,255,.09);transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s}.post>a{display:block;height:100%}.post-img{overflow:hidden}.post-img img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.16,1,.3,1)}.post-img--contain{background:#fff}.post-img--contain img{object-fit:contain}.post-body{display:flex;min-height:265px;flex-direction:column}.post h2{margin:13px 0 12px;color:#fff;font:600 clamp(25px,2.6vw,34px)/1.06 'Space Grotesk',sans-serif;letter-spacing:-.045em}.post p{margin:0;color:#969da7;line-height:1.65}.post-link{display:inline-flex;align-items:center;margin-top:auto;padding-top:22px;color:#9dccf5;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.post:hover{transform:translateY(-7px);border-color:rgba(0,127,255,.7);box-shadow:0 22px 42px rgba(0,0,0,.24)}.post:hover .post-img img{transform:scale(1.045)}.post:hover .post-link{color:var(--lime)}.post>a:focus-visible{outline:2px solid #fff;outline-offset:-5px}.blog-cta{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:55px;padding:38px;border:1px solid rgba(138,200,255,.2);border-radius:22px;background:linear-gradient(130deg,#0b2035,#101116)}.blog-cta p{margin:0 0 10px}.blog-cta h2{margin:0;font:600 clamp(35px,5vw,62px)/.95 'Space Grotesk',sans-serif;letter-spacing:-.055em}
@media(max-width:800px){.blog-intro,.blog-cta{display:block}.blog-intro>p:last-child{margin-top:16px}.blog-cta .btn{margin-top:28px}.post-body{min-height:240px}}

/* Blog article pages */
.blog-article-hero{padding:190px 0 95px;background:radial-gradient(circle at 80% 25%,rgba(0,127,255,.2),transparent 28%),#09090b;border-bottom:1px solid var(--line)}.blog-back{display:inline-block;margin-bottom:55px;color:#91bfe8;font-size:13px}.blog-article-hero .eyebrow{margin:0 0 18px}.blog-article-hero h1{max-width:980px;margin:0;font:600 clamp(52px,8vw,106px)/.9 'Space Grotesk',sans-serif;letter-spacing:-.07em}.blog-article-hero .container>p:last-child{max-width:720px;margin:32px 0 0;color:#a9afb7;font-size:19px;line-height:1.7}.blog-article-body{max-width:900px;padding-top:90px;padding-bottom:120px}.blog-article-body>section{margin-bottom:62px}.blog-article-body h2{margin:0 0 18px;font:600 clamp(30px,4vw,45px)/1 'Space Grotesk',sans-serif;letter-spacing:-.045em}.blog-article-body p{margin:0;color:#a7abb1;font-size:18px;line-height:1.8}.blog-article-body aside{margin:15px 0 62px;padding:34px;border:1px solid rgba(138,200,255,.22);border-radius:20px;background:#101a26}.blog-article-body aside h2{font-size:28px}.blog-article-body ul{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 28px;margin:25px 0 0;padding:0;list-style:none}.blog-article-body li{color:#d9e4ee}.blog-article-body li:before{content:'+';margin-right:10px;color:var(--lime)}.blog-article-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:85px;padding-top:45px;border-top:1px solid var(--line)}.blog-article-cta h2{max-width:520px;margin:0}
@media(max-width:800px){.blog-article-hero{padding:145px 0 70px}.blog-back{margin-bottom:38px}.blog-article-hero .container>p:last-child,.blog-article-body p{font-size:16px}.blog-article-body{padding-top:65px;padding-bottom:85px}.blog-article-body ul{grid-template-columns:1fr}.blog-article-cta{display:block}.blog-article-cta .btn{margin-top:25px}}
.about-team .person-info h3{color:#fff}.about-team .person-info p{color:#7f8da0}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
.about-cta-copy + .btn{margin-top:24px}
.cursor{position:fixed;pointer-events:none;width:14px;height:14px;border-radius:50%;background:var(--lime);z-index:100;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:transform .08s}
.clients-section{position:relative;overflow:hidden;background:radial-gradient(circle at 86% 16%,rgba(0,127,255,.17),transparent 25%),#080d15}.clients-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(138,200,255,.055) 1px,transparent 1px),linear-gradient(rgba(138,200,255,.055) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,black 20%,black 80%,transparent);pointer-events:none}.clients-intro{position:relative;z-index:1;display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:46px}.clients-intro h2{font:600 clamp(47px,6vw,82px)/.88 'Space Grotesk',sans-serif;letter-spacing:-.065em;margin:12px 0 0}.clients-intro h2 span{color:var(--lime)}.clients-copy{display:flex;align-items:end;gap:42px;max-width:500px}.clients-copy p{max-width:278px;margin:0;color:#a8b4c2;font-size:14px;line-height:1.7}.client-count{display:flex;gap:10px;align-items:center;border-left:1px solid rgba(138,200,255,.25);padding-left:19px;white-space:nowrap}.client-count b{color:#fff;font:600 46px/.8 'Space Grotesk',sans-serif;letter-spacing:-.07em}.client-count span{color:#778799;font:600 10px/1.35 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase}.client-constellation{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:116px;gap:12px}.client-logo{position:relative;display:grid;place-items:center;min-width:0;padding:22px;border:1px solid rgba(138,200,255,.17);border-radius:16px;background:rgba(12,25,40,.8);overflow:hidden;isolation:isolate;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s,background .4s,box-shadow .4s}.client-logo:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(138,200,255,.09),transparent 42%);opacity:0;transition:opacity .4s;z-index:-1}.client-logo:hover{z-index:2;transform:translateY(-7px);border-color:var(--lime);background:#102238;box-shadow:0 18px 35px rgba(0,0,0,.25)}.client-logo:hover:before{opacity:1}.client-logo img{width:100%;height:49px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.82;transition:filter .4s,opacity .4s,transform .4s}.client-logo:hover img{filter:grayscale(0);opacity:1;transform:scale(1.06)}.client-logo--feature{grid-column:span 2;grid-row:span 2;align-content:center;gap:13px;background:linear-gradient(135deg,#10243c,#0b1624)}.client-logo--feature img{width:68%;height:69px;position:relative;z-index:1}.client-logo--feature small{position:relative;z-index:1;color:#8da5bd;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.17em;text-transform:uppercase}.client-orbit{position:absolute;width:235px;height:235px;border:1px solid rgba(138,200,255,.22);border-radius:50%;right:-75px;top:-73px;transition:transform .8s}.client-orbit:before,.client-orbit:after{content:"";position:absolute;border-radius:50%;background:var(--lime)}.client-orbit:before{width:7px;height:7px;left:11px;top:32px;box-shadow:0 0 15px var(--lime)}.client-orbit:after{width:4px;height:4px;right:15px;bottom:42px}.client-logo--feature:hover .client-orbit{transform:rotate(100deg)}.client-logo--statement{align-items:end;justify-items:start;padding:21px;background:var(--lime);color:#07111e;border-color:var(--lime)}.client-logo--statement span{font:600 18px/.98 'Space Grotesk',sans-serif;letter-spacing:-.055em}.client-logo--statement i{position:absolute;right:16px;top:13px;font:28px/1 Inter,sans-serif;transition:transform .35s}.client-logo--statement:hover{background:#c3ff32;border-color:#c3ff32}.client-logo--statement:hover i{transform:rotate(45deg)}.clients-footnote{position:relative;z-index:1;display:flex;gap:10px;align-items:center;margin:22px 0 0;color:#8090a1;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.13em;text-transform:uppercase}.clients-footnote span{width:34px;height:1px;background:var(--lime)}
@media(max-width:800px){
 .container{width:min(var(--max),calc(100% - 30px))}.navlinks,.nav>.container .btn{display:none}.menu{display:block;color:#fff;background:none;border:0;font-size:22px}
 .navlinks.open{display:flex;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;padding:8px 18px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(9,9,11,.94);backdrop-filter:blur(18px)}.navlinks.open a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08)}.navlinks.open a:last-child{border-bottom:0}
 .hero{padding-top:130px}.hero-bottom{display:block}.scroll{margin-top:35px}.section{padding:90px 0}.section-head{display:block}.muted{margin-top:25px}.hero-stamp{right:15px;top:30%}
 .marquee-label,.marquee-track{width:calc(100% - 30px)}.marquee-track{gap:10px}.signal-word{gap:6px}.signal-word span{font-size:8px}.marquee-track>i{width:18px}
 .services,.work-grid,.testimonials,.contact-grid,.blog-grid{grid-template-columns:1fr}.testimonials-track{width:400%;animation-name:testimonialSlideMobile;animation-duration:18s}.quote{flex-basis:25%;padding-right:0}.service:nth-child(odd),.service:nth-child(even){padding:25px 24px 28px}.page-hero + .section .service{min-height:0}
 .about-grid,.principles,.about-services{grid-template-columns:1fr}.about-grid{gap:35px}.about-points{grid-template-columns:1fr}
 .clients-intro{display:block;margin-bottom:30px}.clients-copy{margin-top:26px;align-items:center;gap:25px}.clients-copy p{font-size:13px}.client-constellation{grid-template-columns:repeat(2,1fr);grid-auto-rows:100px;gap:9px}.client-logo{padding:14px;border-radius:12px}.client-logo img{height:38px}.client-logo--feature{grid-column:span 2;grid-row:span 1;grid-template-columns:1fr auto;gap:4px;padding:15px 21px}.client-logo--feature img{width:100%;height:42px}.client-logo--feature small{white-space:nowrap}.client-orbit{width:160px;height:160px;right:-43px;top:-49px}.client-logo--statement{grid-row:span 1}.client-logo--statement span{font-size:16px}.clients-footnote{font-size:8px;letter-spacing:.11em}
 .team-grid{grid-template-columns:repeat(2,1fr)}.work-card,.work-card.small{min-height:390px}.footer{padding-top:42px}.footer-top.footer-layout,.footer-bottom{display:block}.footer-links{margin-top:34px;gap:14px 24px}.footer-contact-panel{margin-top:36px;border-left:0;border-top:1px solid #303038;padding:22px 0 0}.footer-bottom{margin-top:42px}.footer-bottom>*{margin:10px 0}
 .cursor{display:none}
 @keyframes testimonialSlideMobile{0%,18%{transform:translateX(0)}25%,43%{transform:translateX(-25%)}50%,68%{transform:translateX(-50%)}75%,93%{transform:translateX(-75%)}100%{transform:translateX(0)}}
}

/* Compact client constellation */
.clients-section{padding:78px 0}.clients-intro{margin-bottom:32px}.clients-intro h2{font-size:clamp(42px,5vw,64px)}.client-constellation{grid-auto-rows:94px;gap:10px}.client-logo{padding:17px;border-radius:13px}.client-logo img{height:42px}.client-logo--feature{gap:9px}.client-logo--feature img{height:55px}.clients-footnote{margin-top:16px}
@media(max-width:800px){.clients-section{padding:58px 0}.clients-intro{margin-bottom:26px}.client-constellation{grid-auto-rows:86px}.client-logo--feature img{height:38px}.clients-footnote{margin-top:14px}}

.service-image{background-size:cover;background-position:center}
.cursor{mix-blend-mode:normal}

/* Portfolio */
.portfolio-hero{background:radial-gradient(circle at 82% 25%,rgba(0,127,255,.22),transparent 27%),linear-gradient(135deg,#05070b 18%,#071729 62%,#05070b);overflow:hidden}.portfolio-hero:after{content:"";position:absolute;width:48vw;height:48vw;right:-12vw;bottom:-27vw;border:1px solid rgba(138,200,255,.2);border-radius:50%;box-shadow:0 0 0 55px rgba(0,127,255,.035),0 0 0 110px rgba(0,127,255,.025)}.portfolio-hero .container{position:relative;z-index:1}.portfolio-hero h1 span,.portfolio-cta h2 span{color:var(--lime)}.portfolio-proof{display:flex;gap:13px;align-items:center;margin-top:42px;color:#a9c4dc;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase}.portfolio-proof i{width:4px;height:4px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}.portfolio-section{padding:105px 0 140px}.portfolio-intro{display:flex;justify-content:space-between;gap:30px;align-items:start;margin:0 0 42px}.portfolio-intro>p:last-child{max-width:435px;margin:0;color:#a4a7ab;font-size:16px;line-height:1.65}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portfolio-card{min-width:0;background:#101116;border:1px solid rgba(255,255,255,.11);border-radius:22px;overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .45s,box-shadow .45s}.portfolio-card--wide{grid-column:span 2}.portfolio-card a{display:block}.portfolio-visual{height:330px;padding:24px;background:#15181d;overflow:hidden}.portfolio-card--wide .portfolio-visual{height:410px}.portfolio-visual img{width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:0 22px 38px rgba(0,0,0,.26);transition:transform .7s cubic-bezier(.16,1,.3,1)}.portfolio-meta{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:end;padding:23px 24px 24px}.portfolio-meta span{display:block;color:#7c8791;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase}.portfolio-meta h2{margin:8px 0 0;color:#fff;font:600 clamp(26px,3vw,43px)/.92 'Space Grotesk',sans-serif;letter-spacing:-.065em}.portfolio-tags{display:flex;flex-wrap:wrap;gap:6px;max-width:215px;justify-content:flex-end}.portfolio-tags b{padding:6px 8px;border:1px solid rgba(138,200,255,.2);border-radius:999px;color:#9fc9ed;font:600 9px 'Space Grotesk',sans-serif;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.portfolio-link{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#eaf6ff;color:#061426;font-size:21px;transition:transform .35s,background .35s}.portfolio-card:hover{transform:translateY(-8px);border-color:rgba(0,127,255,.8);box-shadow:0 25px 48px rgba(0,0,0,.25)}.portfolio-card:hover .portfolio-visual img{transform:none}.portfolio-card:hover .portfolio-link{transform:rotate(45deg);background:var(--lime)}.portfolio-cta{padding:125px 0;background:linear-gradient(120deg,#071625,#09090b 60%);border-top:1px solid var(--line)}.portfolio-cta h2{margin:13px 0 36px;font:600 clamp(52px,8vw,108px)/.84 'Space Grotesk',sans-serif;letter-spacing:-.075em}
@media(max-width:800px){.portfolio-proof{flex-wrap:wrap;line-height:1.6}.portfolio-section{padding:70px 0 90px}.portfolio-intro{display:block;margin-bottom:28px}.portfolio-intro>p:last-child{margin-top:18px}.portfolio-grid{grid-template-columns:1fr;gap:14px}.portfolio-card--wide{grid-column:auto}.portfolio-visual,.portfolio-card--wide .portfolio-visual{height:270px;padding:15px}.portfolio-meta{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px}.portfolio-tags{grid-column:1/-1;grid-row:2;justify-content:flex-start;max-width:none}.portfolio-link{grid-column:2;grid-row:1;width:40px;height:40px}.portfolio-cta{padding:90px 0}}

/* Website development projects */
.web-dev-section{padding:0 0 140px}.web-dev-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.web-dev-heading h2{margin:12px 0 0;font:600 clamp(46px,6vw,80px)/.88 'Space Grotesk',sans-serif;letter-spacing:-.07em}.web-dev-heading h2 span{color:var(--lime)}.web-dev-heading>p{max-width:380px;margin:0;color:#9ca4ad;line-height:1.7}.web-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.website-project{min-width:0;border:1px solid rgba(138,200,255,.16);border-radius:20px;overflow:hidden;background:#0d151f;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .4s}.website-project--wide{grid-column:span 2}.website-project a{display:block}.device-showcase{position:relative;height:385px;overflow:hidden;background:radial-gradient(circle at 80% 15%,rgba(36,118,183,.32),transparent 34%),linear-gradient(135deg,#111c29,#071018)}.website-project--wide .device-showcase{height:470px}.macbook{position:absolute;top:9%;left:8%;width:72%;height:75%;padding:18px 9px 9px;border:2px solid #677383;border-radius:11px 11px 2px 2px;background:#192430;box-shadow:0 28px 45px rgba(0,0,0,.48);overflow:hidden}.macbook:after{content:"";position:absolute;z-index:3;left:-6%;right:-6%;bottom:-12px;height:14px;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#8f9aa5,#38434f)}.macbook>i{position:absolute;z-index:4;top:6px;left:50%;width:6px;height:6px;border-radius:50%;background:#0b1015;transform:translateX(-50%)}.browser-chrome{position:absolute;z-index:3;top:0;left:0;right:0;height:18px;padding:4px 7px;background:#e7ebef;color:#6a727b;white-space:nowrap;overflow:hidden}.browser-chrome span{display:inline-block;width:5px;height:5px;margin-right:3px;border-radius:50%;background:#fa826b;vertical-align:middle}.browser-chrome span:nth-child(2){background:#f1c667}.browser-chrome span:nth-child(3){background:#72c575}.browser-chrome b{display:inline-block;max-width:75%;margin-left:9px;overflow:hidden;color:#66707b;font:600 6px/1 Arial,sans-serif;letter-spacing:.02em;text-overflow:ellipsis;vertical-align:middle}.macbook img{width:100%;height:100%;object-fit:cover;object-position:top}.iphone{position:absolute;z-index:5;right:7%;bottom:5%;width:19%;height:67%;padding:8px 5px;border:4px solid #d5d9de;border-radius:24px;background:#111820;box-shadow:0 22px 40px rgba(0,0,0,.55);overflow:hidden;transform:rotate(3deg);transition:transform .65s cubic-bezier(.16,1,.3,1)}.iphone:after{content:"";position:absolute;right:-7px;top:88px;width:4px;height:45px;border-radius:0 3px 3px 0;background:#7d8792}.iphone-island{position:absolute;z-index:2;top:12px;left:50%;width:38%;height:11px;border-radius:999px;background:#111820;transform:translateX(-50%)}.iphone img{width:100%;height:100%;object-fit:cover;object-position:top}.website-project-info{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;padding:22px 24px 24px;background:#0b121b}.website-project-info p{grid-column:1/-1;margin:0;color:#78a8d2;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.15em;text-transform:uppercase}.website-project-info h3{margin:0;color:#fff;font:600 clamp(25px,3vw,42px)/.94 'Space Grotesk',sans-serif;letter-spacing:-.055em}.website-project-info span{color:#bddeff;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:color .3s}.website-project:hover{transform:translateY(-9px);border-color:rgba(0,127,255,.8);box-shadow:0 26px 48px rgba(0,0,0,.28)}.website-project:hover .iphone{transform:rotate(-1deg) translateY(-9px)}.website-project:hover .website-project-info span{color:var(--lime)}
.website-project--identity .device-showcase{background:linear-gradient(135deg,#182838,#07111c)}.website-project--identity .macbook img,.website-project--identity .iphone img{object-fit:contain;background:#fff}.identity-rayan .device-showcase{background:radial-gradient(circle at 80% 18%,rgba(45,190,225,.28),transparent 34%),#102742}.identity-shawarma .device-showcase{background:radial-gradient(circle at 82% 18%,rgba(255,115,63,.42),transparent 38%),#40140d}.identity-shawarma .macbook img,.identity-shawarma .iphone img{background:#e3341f}.identity-wave .device-showcase{background:radial-gradient(circle at 80% 18%,rgba(25,195,232,.38),transparent 35%),#063b54}.identity-tml .device-showcase{background:radial-gradient(circle at 80% 18%,rgba(255,153,24,.38),transparent 38%),#242426}.identity-tml .macbook img,.identity-tml .iphone img{background:#f4f4f2}.identity-jishnu .device-showcase{background:radial-gradient(circle at 82% 18%,rgba(248,157,34,.25),transparent 37%),#201914}.identity-jishnu .macbook img,.identity-jishnu .iphone img{background:#fff}
@media(max-width:800px){.web-dev-section{padding:0 0 90px}.web-dev-heading{display:block;margin-bottom:30px}.web-dev-heading>p{margin-top:23px}.web-project-grid{grid-template-columns:1fr;gap:15px}.website-project--wide{grid-column:auto}.device-showcase,.website-project--wide .device-showcase{height:300px}.macbook{top:12%;left:5%;width:75%;height:71%;padding:14px 7px 7px}.iphone{right:5%;bottom:5%;width:25%;height:66%;border-radius:19px}.browser-chrome{height:14px;padding:3px 5px}.browser-chrome b{font-size:5px}.website-project-info{padding:18px}.website-project-info h3{font-size:29px}}

/* Unified portfolio listing */
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:36px}.portfolio-filters{display:flex;flex-wrap:wrap;gap:10px}.portfolio-filters[hidden],.portfolio-card[hidden],.portfolio-empty[hidden]{display:none}.portfolio-filters button{padding:12px 18px;border:1px solid #343941;border-radius:999px;background:transparent;color:#b8bdc5;font:500 13px Inter,sans-serif;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.portfolio-filters button:hover{border-color:var(--lime);color:#fff}.portfolio-filters button[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:#05101c}.portfolio-filters button:focus-visible,.portfolio-card a:focus-visible,.portfolio-empty button:focus-visible{outline:2px solid #fff;outline-offset:5px}.portfolio-count{flex-shrink:0;color:#929ba7;font-size:13px;margin:0}.portfolio-grid{gap:28px;align-items:stretch}.portfolio-card .portfolio-visual{height:auto;aspect-ratio:1916/945;padding:0;background:#17202b}.portfolio-card .portfolio-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:0;box-shadow:none}.portfolio-card .portfolio-meta{grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.portfolio-card .portfolio-meta h2{font-size:clamp(24px,2.4vw,34px);line-height:1.1;letter-spacing:-.04em}.portfolio-card .portfolio-tags{grid-column:1;grid-row:2;justify-content:flex-start;max-width:none}.portfolio-card .portfolio-link{grid-column:2;grid-row:1 / 3}.portfolio-empty{padding:80px 24px;text-align:center;border:1px solid var(--line);border-radius:22px;background:#101116}.portfolio-empty h2{font-size:32px;margin:0 0 14px}.portfolio-empty p{color:#a4a7ab;margin:0 0 28px}.portfolio-empty button{cursor:pointer}
@media(max-width:800px){.portfolio-toolbar{align-items:flex-start;flex-direction:column;gap:20px}.portfolio-filters{gap:8px}.portfolio-filters button{padding:10px 14px;font-size:12px}.portfolio-grid{gap:20px}.portfolio-card .portfolio-visual{height:auto}.portfolio-card .portfolio-meta{padding:20px}.portfolio-empty{padding:55px 20px}}
@media(prefers-reduced-motion:reduce){.portfolio-card,.portfolio-card .portfolio-visual img,.portfolio-link,.portfolio-filters button{transition:none}.portfolio-card:hover,.portfolio-card:hover .portfolio-visual img,.portfolio-card:hover .portfolio-link{transform:none}}

.portfolio-card .portfolio-visual video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#000}.portfolio-card .portfolio-visual video:fullscreen{object-fit:contain}

.portfolio-more{display:flex;margin:36px auto 0;cursor:pointer}.portfolio-more[hidden]{display:none}.portfolio-more:focus-visible{outline:2px solid #fff;outline-offset:5px}

.portfolio-card--character .portfolio-visual{background:#fff}.portfolio-card--character .portfolio-visual img{object-fit:contain;object-position:center}

/* Brand identity galleries */
.portfolio-card--brand .portfolio-visual{background:#fff}.portfolio-card--brand .brand-slide{position:relative;isolation:isolate;overflow:hidden;width:100%;height:100%}.portfolio-card--brand .brand-slide[hidden],.brand-controls[hidden]{display:none}.portfolio-card--brand .portfolio-visual img{position:relative;z-index:1;object-fit:contain;object-position:center}.portfolio-card--brand .portfolio-visual .brand-backdrop{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(24px) brightness(.85);transform:scale(1.15)}.portfolio-card--brand:hover .portfolio-visual .brand-backdrop{transform:scale(1.15)}.brand-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line)}.brand-controls button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #343941;border-radius:50%;background:transparent;color:#fff;font-size:20px;cursor:pointer}.brand-controls button:hover{background:var(--lime);border-color:var(--lime)}.brand-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px}.brand-controls span{color:#a4a7ab;font-size:13px}
.portfolio-card--brand[data-brand-wide] .portfolio-visual img{width:100%;height:100%;object-fit:cover}

/* Vertical motion reels */
.portfolio-card--reels .portfolio-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#050505}
.portfolio-card--reels .portfolio-visual video{min-width:0;object-fit:cover}
@media(max-width:600px){.portfolio-card--reels .portfolio-visual{gap:2px}}

/* Homepage selected work */
.home-works-more{display:flex;justify-content:center;margin-top:38px}
.home-works{background:#09090b}.home-works-intro{display:grid;justify-items:start;gap:22px;max-width:440px}.home-works-intro .muted{margin:0}.home-works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-work-card{position:relative;display:block;aspect-ratio:1916/945;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:#111}.home-work-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(3,7,12,.94))}.home-work-card>img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s cubic-bezier(.16,1,.3,1)}.home-work-info{position:absolute;z-index:1;left:24px;right:24px;bottom:22px;display:flex;align-items:end;justify-content:space-between;gap:18px}.home-work-info span{color:#b9c7d5;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.13em;text-transform:uppercase}.home-work-info h3{margin:7px 0 0;color:#fff;font:600 clamp(25px,3vw,38px)/1 'Space Grotesk',sans-serif;letter-spacing:-.05em}.home-work-info i{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--lime);color:#07111e;font:normal 21px/1 Inter,sans-serif;transition:transform .3s}.home-work-card:hover>img{transform:scale(1.045)}.home-work-card:hover .home-work-info i{transform:rotate(45deg)}.home-work-card:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:800px){.home-works-intro{margin-top:24px}.home-works-grid{grid-template-columns:1fr;gap:14px}.home-work-info{left:18px;right:18px;bottom:17px}.home-work-info i{width:40px;height:40px;flex-basis:40px}}

/* Homepage work motion */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .home-works{--section-shift-x:0px;--section-shift-y:0px}
 .home-works .section-head>div:first-child{transform:translate3d(var(--section-shift-x),var(--section-shift-y),0);transition:transform .35s ease-out}
 .home-works .home-works-intro{transform:translate3d(calc(var(--section-shift-x) * -.45),calc(var(--section-shift-y) * -.45),0);transition:transform .4s ease-out}
 .home-work-card{--image-x:0px;--image-y:0px;--card-light-x:50%;--card-light-y:50%}
 .home-work-card:before{content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;background:radial-gradient(circle 230px at var(--card-light-x) var(--card-light-y),rgba(138,200,255,.2),transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s}
 .home-work-card:hover:before{opacity:1}
 .home-work-card>img,.home-work-card:hover>img{transform:scale(1.055) translate3d(var(--image-x),var(--image-y),0);transition:transform .25s ease-out}
 .home-work-card:nth-child(1){transition-delay:0s}.home-work-card:nth-child(2){transition-delay:.09s}.home-work-card:nth-child(3){transition-delay:.18s}.home-work-card:nth-child(4){transition-delay:.27s}
 .home-work-info{transition:transform .3s ease-out}.home-work-card:hover .home-work-info{transform:translateZ(35px) translateY(-4px)}
}

/* Cursor-responsive work showcase */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .portfolio-section,.home-works{--cursor-x:50%;--cursor-y:50%;background-image:radial-gradient(circle 520px at var(--cursor-x) var(--cursor-y),rgba(0,127,255,.105),transparent 68%)}
 .portfolio-card,.home-work-card{--tilt-x:0deg;--tilt-y:0deg;--lift:0px;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--lift));transform-style:preserve-3d;will-change:transform;transition:transform .22s ease-out,border-color .4s,box-shadow .4s}
 .portfolio-card:hover,.home-work-card:hover{--lift:-7px}
 .portfolio-card .portfolio-meta,.home-work-info{transform:translateZ(24px)}
 .portfolio-card .portfolio-visual img,.portfolio-card .portfolio-visual video,.home-work-card>img{will-change:transform}
}

/* Final mobile viewport containment */
html,body{width:100%;max-width:100%;overflow-x:hidden}@supports(overflow:clip){html,body{overflow-x:clip}}.site-loader{width:100%;max-width:100vw}main,.nav,.footer{max-width:100%}
@media(max-width:800px){
 .portfolio-hero{padding:150px 0 66px}.portfolio-hero:after{width:280px;height:280px;right:-165px;bottom:-155px;box-shadow:0 0 0 38px rgba(0,127,255,.03),0 0 0 76px rgba(0,127,255,.02)}.portfolio-hero h1{font-size:clamp(54px,17vw,72px);line-height:.86;letter-spacing:-.07em}.portfolio-hero p{max-width:100%;margin-top:24px;font-size:15px;line-height:1.65}
 .portfolio-section{width:100%;max-width:100%;padding:52px 0 82px;overflow:hidden}.portfolio-section>.container{min-width:0}.portfolio-toolbar{display:block;width:100%;min-width:0;margin-bottom:25px}.portfolio-filters{display:flex;width:100%;max-width:100%;margin:0;padding:2px 0 10px;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}.portfolio-filters::-webkit-scrollbar{display:none}.portfolio-filters button{flex:0 0 auto;padding:10px 15px;font-size:12px;white-space:nowrap;scroll-snap-align:start}.portfolio-count{margin-top:11px;font-size:12px}
 .portfolio-grid,.portfolio-card,.portfolio-card .portfolio-visual,.portfolio-card .portfolio-meta{width:100%;max-width:100%;min-width:0}.portfolio-grid{grid-template-columns:minmax(0,1fr);gap:16px}.portfolio-card{grid-column:auto;border-radius:17px}.portfolio-card .portfolio-visual{height:auto;padding:0}.portfolio-card .portfolio-meta{padding:17px}.portfolio-card .portfolio-meta h2{font-size:25px}.portfolio-card .portfolio-meta span{font-size:9px;line-height:1.45}.portfolio-card .portfolio-link{width:38px;height:38px}.portfolio-card .portfolio-tags{gap:5px}.portfolio-card .portfolio-tags b{font-size:8px}.portfolio-card--reels .portfolio-visual{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Services page mobile parity */
.services-page-section .service:nth-child(1):after{content:'\25C9'}.services-page-section .service:nth-child(2):after{content:'\2318'}.services-page-section .service:nth-child(3):after{content:'\2726'}.services-page-section .service:nth-child(4):after{content:'\25CC'}
@media(max-width:800px){.services-page-section .services{grid-template-columns:1fr}.services-page-section .service{width:100%;min-height:430px;padding:25px 24px 28px}.services-page-section .service h3{margin-top:72px}.services-page-section .service-list{display:grid}}
/* Definitive full-screen mobile menu */
@media(max-width:800px){
 body.menu-open{overflow:hidden!important}
 .navlinks.open{position:fixed!important;z-index:1!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;min-height:100dvh!important;margin:0!important;padding:104px 24px 18px!important;border:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;overflow-y:auto!important;background:radial-gradient(circle at 88% 15%,rgba(0,127,255,.2),transparent 28%),linear-gradient(145deg,#05070b,#081524 72%,#05070b)!important;backdrop-filter:none!important}
 .navlinks.open:before{display:none!important;content:none!important}
 .navlinks.open>a{width:100%!important;padding:7px 0!important;border-bottom:1px solid rgba(255,255,255,.1)!important;font-size:clamp(30px,8vw,40px)!important;line-height:1!important}
 .navlinks.open .mobile-menu-footer{display:flex!important;width:100%!important;margin:18px 0 0!important;padding:12px 0 0!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;border-top:0!important}
 .mobile-menu-footer>div:first-child{gap:8px!important}.mobile-menu-socials{flex:0 0 auto!important;margin:0!important}
 .menu-open .sound-toggle,.menu-open .back-to-top{opacity:0!important;visibility:hidden!important}
 .audio-notice{display:none!important}
}
@media(max-width:430px){.navlinks.open{padding:96px 20px 14px!important}.navlinks.open>a{font-size:30px!important;padding:6px 0!important}.navlinks.open .mobile-menu-footer{display:grid!important;margin-top:14px!important;padding-top:10px!important;gap:10px!important}.mobile-menu-footer>div:first-child{gap:5px!important}.mobile-menu-socials{margin-top:4px!important}.mobile-menu-socials a{width:34px;height:34px}}

/* Stable full-viewport navigation on mobile browsers */
@media(max-width:800px){
 html.menu-open,body.menu-open{width:100%!important;height:100%!important;overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
 body.menu-open .nav-inner{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
 body.menu-open .nav .logo,body.menu-open .nav .menu{z-index:61!important}
 .navlinks.open{z-index:60!important;height:100vh!important;height:100dvh!important;min-height:0!important;padding:96px 24px max(18px,env(safe-area-inset-bottom))!important;overflow:hidden!important;overscroll-behavior:contain!important}
 .navlinks.open>a{flex:0 0 auto!important;padding:8px 0!important;font-size:clamp(29px,8vw,38px)!important;line-height:1!important}
 .navlinks.open .mobile-menu-footer{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;justify-items:start!important;width:100%!important;margin:16px 0 0!important;padding:12px 0 0!important;gap:12px!important}
 .mobile-menu-footer>div:first-child{display:grid!important;gap:5px!important;width:100%!important}
 .mobile-menu-footer span{margin:0 0 2px!important}
 .mobile-menu-footer a{line-height:1.25!important}
 .mobile-menu-socials{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:100%!important;margin:0!important}
 .mobile-menu-socials a{display:grid!important;flex:0 0 36px!important;width:36px!important;height:36px!important;padding:0!important;place-items:center!important;border:1px solid rgba(138,200,255,.3)!important;border-radius:50%!important;font-size:14px!important;line-height:1!important}
}
@media(max-width:430px){
 .navlinks.open{padding:88px 20px max(12px,env(safe-area-inset-bottom))!important}
 .navlinks.open>a{padding:6px 0!important;font-size:28px!important}
 .navlinks.open .mobile-menu-footer{margin-top:12px!important;padding-top:9px!important;gap:9px!important}
 .mobile-menu-socials a{flex-basis:34px!important;width:34px!important;height:34px!important}
}
@media(max-width:430px) and (max-height:650px){
 .navlinks.open{padding-top:78px!important}
 .navlinks.open>a{padding:4px 0!important;font-size:25px!important}
 .navlinks.open .mobile-menu-footer{margin-top:8px!important;padding-top:6px!important;gap:7px!important}
 .mobile-menu-footer>div:first-child{gap:3px!important}
}

/* Refined mobile navigation links */
@media(max-width:800px){
 .navlinks.open>a{position:relative!important;display:flex!important;align-items:center!important;min-height:48px!important;margin:4px 0!important;padding:7px 50px 7px 43px!important;border:1px solid rgba(138,200,255,.11)!important;border-radius:13px!important;background:linear-gradient(100deg,rgba(255,255,255,.035),rgba(0,127,255,.045))!important;letter-spacing:-.045em!important;transition:background .25s,border-color .25s,transform .25s!important}
 .navlinks.open>a:before{position:absolute;left:14px;top:50%;color:#5583aa;font:600 9px/1 'Space Grotesk',sans-serif;letter-spacing:.12em;transform:translateY(-50%)}
 .navlinks.open>a:nth-of-type(1):before{content:'01'}
 .navlinks.open>a:nth-of-type(2):before{content:'02'}
 .navlinks.open>a:nth-of-type(3):before{content:'03'}
 .navlinks.open>a:nth-of-type(4):before{content:'04'}
 .navlinks.open>a:nth-of-type(5):before{content:'05'}
 .navlinks.open>a:after{right:11px!important;display:grid!important;width:29px!important;height:29px!important;place-items:center!important;border:1px solid rgba(138,200,255,.22)!important;border-radius:50%!important;background:rgba(0,127,255,.07)!important;color:#79bfff!important;font-size:13px!important}
 .navlinks.open>a:hover,.navlinks.open>a:focus-visible{border-color:rgba(0,127,255,.65)!important;background:linear-gradient(100deg,rgba(0,127,255,.18),rgba(0,127,255,.06))!important;transform:translateX(3px)!important;outline:0!important}
}
@media(max-width:430px){
 .navlinks.open>a{min-height:43px!important;margin:3px 0!important;padding:5px 45px 5px 39px!important}
 .navlinks.open>a:before{left:12px!important}
 .navlinks.open>a:after{right:9px!important;width:27px!important;height:27px!important}
}
@media(max-width:430px) and (max-height:650px){.navlinks.open>a{min-height:38px!important;margin:1px 0!important}}

/* Portfolio mobile page gutters */
@media(max-width:800px){
 body.portfolio-page .portfolio-section>.container{width:calc(100% - 40px)!important;max-width:calc(100% - 40px)!important;margin-right:auto!important;margin-left:auto!important}
 body.portfolio-page .portfolio-toolbar,body.portfolio-page .portfolio-filters,body.portfolio-page .portfolio-grid{width:100%!important;max-width:100%!important}
}
@media(max-width:380px){body.portfolio-page .portfolio-section>.container{width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important}}

/* Use the full mobile-menu canvas without a dead lower area */
@media(max-width:800px){
 .navlinks.open:after{content:'OCTOLINK  /  OTTAWA  /  DIGITAL AGENCY';position:absolute;right:24px;bottom:max(20px,env(safe-area-inset-bottom));left:24px;padding-top:13px;border-top:1px solid rgba(138,200,255,.13);color:rgba(151,198,238,.46);font:600 8px/1 'Space Grotesk',sans-serif;letter-spacing:.2em;text-align:right;pointer-events:none}
 .navlinks.open .mobile-menu-footer{position:relative!important}
 .navlinks.open .mobile-menu-footer:after{content:'';position:absolute;right:-92px;top:88px;width:210px;height:210px;border:1px solid rgba(0,127,255,.09);border-radius:50%;box-shadow:0 0 0 38px rgba(0,127,255,.025),0 0 0 76px rgba(0,127,255,.015);pointer-events:none}
}
@media(max-width:430px) and (min-height:700px){
 .navlinks.open>a{min-height:47px!important;margin:5px 0!important}
 .navlinks.open .mobile-menu-footer{margin-top:22px!important;padding-top:14px!important;gap:16px!important}
 .mobile-menu-footer>div:first-child{gap:10px!important}
 .mobile-menu-socials{margin-top:4px!important}
 .mobile-menu-socials a{flex-basis:38px!important;width:38px!important;height:38px!important}
}

/* Open mobile-menu link layout */
@media(max-width:800px){
 .navlinks.open>a{border:0!important;border-bottom:1px solid rgba(138,200,255,.14)!important;border-radius:0!important;background:transparent!important}
 .navlinks.open>a:hover,.navlinks.open>a:focus-visible{border-color:rgba(0,127,255,.45)!important;background:linear-gradient(90deg,rgba(0,127,255,.09),transparent 72%)!important}
}

/* Use one compact vector arrow everywhere; iOS cannot substitute this for emoji. */
.btn span[aria-hidden="true"],
.work-arrow,
.service-arrow,
.portfolio-link,
.home-work-info i{font-size:0}

.btn span[aria-hidden="true"]::before,
.work-arrow::before,
.service-arrow::before,
.portfolio-link::before,
.home-work-info i::before{
 content:'';
 display:inline-block;
 width:15px;
 height:15px;
 background:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M9 5h10v10' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M9 5h10v10' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
}

.work-arrow::before,
.service-arrow::before,
.portfolio-link::before,
.home-work-info i::before{place-self:center;margin:0}

.work-arrow,.portfolio-link,.home-work-info i{position:relative}
.work-arrow::before,.service-arrow::before,.portfolio-link::before,.home-work-info i::before{
 position:absolute;
 top:50%;
 left:50%;
 transform:translate(-50%,-50%);
}

.btn span[aria-hidden="true"]::before{width:13px;height:13px}
.work-arrow::before{width:14px;height:14px}
.service-arrow::before{width:13px;height:13px}
.portfolio-link::before,.home-work-info i::before{width:13px;height:13px}

/* Original component colours, retained after replacing the character arrow. */
.btn span[aria-hidden="true"]::before{background:#080808}
.work-arrow::before{background:#000}
.btn.dark span[aria-hidden="true"]::before{background:#fff}
.service-arrow::before{background:var(--lime)}
.service:hover .service-arrow::before{background:#09090b}
.services-page-section .service-arrow::before{background:#fff}
.services .service > .service-arrow{
 position:absolute!important;
 top:auto!important;
 right:22px!important;
 bottom:22px!important;
 left:auto!important;
 display:grid!important;
 place-items:center!important;
}
.portfolio-link::before{background:#061426}
.home-work-info i::before{background:#07111e}

/* The client statement tile is injected by script; prevent its arrow becoming an iOS emoji. */
.client-logo--statement i{
 display:grid;
 width:22px;
 height:22px;
 place-items:center;
 color:#07111e;
 font-size:0;
}
.client-logo--statement i::before{
 content:'';
 display:block;
 width:18px;
 height:18px;
 background:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M9 5h10v10' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M9 5h10v10' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Center carousel arrows independently of the text glyph's mobile font baseline. */
.brand-controls button{position:relative;font-size:0}
.brand-controls button::before{
 content:'';
 position:absolute;
 top:50%;
 left:50%;
 width:19px;
 height:19px;
 background:currentColor;
 transform:translate(-50%,-50%);
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.brand-controls [data-brand-prev]::before{transform:translate(-50%,-50%) rotate(180deg)}

/* Keep the portfolio hero decoration inside the hero, above the footer. */
.portfolio-hero{position:relative}

/* Consistent envelope icon in every footer, including iOS. */
.footer-contact-panel b{
 display:grid;
 flex:0 0 20px;
 width:20px;
 height:20px;
 place-items:center;
 font-size:0;
}
.footer-contact-panel b::before{
 content:'';
 display:block;
 width:19px;
 height:19px;
 background:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Transparent Octolink mark with a short orbit reveal. */
.site-loader .loader-symbol{
 display:block;
 position:relative;
 z-index:1;
 width:82px;
 height:82px;
 background:url('/assets/Logos%20%26%20Favicon/octolinklogo.png') -34px center/336px 134px no-repeat;
 animation:loaderMarkIn .9s cubic-bezier(.16,1,.3,1) both;
 filter:drop-shadow(0 0 18px rgba(0,127,255,.7));
}
.site-loader::before{display:none}
.site-loader .loader-symbol::before{
 content:'';
 position:absolute;
 inset:-14px;
 border:1px solid rgba(138,200,255,.16);
 border-top-color:#007fff;
 border-right-color:#8ac8ff;
 border-radius:50%;
 animation:loaderOrbit .9s ease-out both;
}
.site-loader .loader-symbol::after{
 content:'';
 position:absolute;
 top:calc(50% - 3px);
 left:calc(50% - 3px);
 width:6px;
 height:6px;
 border-radius:50%;
 background:#8ac8ff;
 box-shadow:0 0 12px #007fff;
 animation:loaderDot .9s ease-out both;
}
@keyframes loaderMarkIn{
 0%{opacity:0;transform:scale(.76);filter:blur(5px) drop-shadow(0 0 0 transparent)}
 55%{opacity:1;transform:scale(1.06);filter:blur(0) drop-shadow(0 0 24px rgba(0,127,255,.9))}
 100%{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 16px rgba(0,127,255,.65))}
}
@keyframes loaderOrbit{
 0%{opacity:0;transform:rotate(-120deg) scale(.72)}
 35%{opacity:1}
  85%{opacity:.75}
  100%{opacity:0;transform:rotate(230deg) scale(1.05)}
}
@keyframes loaderDot{
 0%{opacity:0;transform:rotate(-120deg) translateY(-55px)}
  35%{opacity:1}
  100%{opacity:0;transform:rotate(230deg) translateY(-55px)}
}
@media(prefers-reduced-motion:reduce){
 .site-loader .loader-symbol{animation:none}
 .site-loader .loader-symbol::before,.site-loader .loader-symbol::after{display:none}
}


@media(max-width:800px){
 .navlinks.open>a:after{
  content:'';
  width:13px;
  height:13px;
  background:#3d6487;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M9 5h10v10' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M9 5h10v10' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
 }
}
