:root{--ink:#062b52;--muted:#4f7189;--paper:#fff;--brand:#18bdf7;--brand-soft:#e5f8ff;--line:#062b5229}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{color:var(--ink);background:var(--paper);margin:0;font-family:Segoe UI Variable,Aptos,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.portfolio-shell{width:100%;max-width:100%;overflow-x:hidden}.site-header{z-index:10;width:100%;color:var(--paper);justify-content:space-between;align-items:center;padding:1.5rem clamp(1.25rem,4vw,4.5rem);display:flex;position:absolute;top:0;left:0}.brand{letter-spacing:-.06em;align-items:center;gap:.55rem;font-size:.91rem;font-weight:700;display:inline-flex}.brand img{object-fit:contain;width:1.85rem;height:1.85rem}.brand span span{color:var(--brand)}.nav-links{align-items:center;gap:2.1rem;font-size:.96rem;font-weight:650;display:flex}.nav-links>a:not(.nav-contact){color:#f3f1ebbd;transition:color .25s}.nav-links>a:not(.nav-contact):hover{color:#fff}.nav-contact,.button{cursor:pointer;border:0;border-radius:999px;align-items:center;gap:1rem;padding:.8rem 1.1rem;font-size:.8rem;font-weight:700;transition:transform .25s,background-color .25s,color .25s,box-shadow .25s;display:inline-flex}.nav-contact{color:var(--ink);background:var(--paper);padding:.9rem 1.25rem;font-size:.9rem}.nav-contact:hover,.button:hover{transform:translateY(-3px);box-shadow:0 11px 26px #0000002e}.nav-contact svg,.button svg,.text-link svg,.service-copy a svg{width:1rem;height:1rem}.menu-toggle{color:var(--paper);cursor:pointer;background:0 0;border:0;display:none}.menu-toggle svg{width:1.65rem;height:1.65rem}.hero{min-height:min(55rem,100vh);color:var(--paper);isolation:isolate;background:#101923;grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr);align-items:end;gap:3rem;padding:9.5rem clamp(1.25rem,8vw,8.5rem) 3.3rem;display:grid;position:relative;overflow:hidden}.hero:before{z-index:-1;content:"";background:radial-gradient(circle at 17% 16%,#157eb5 0,#0000 29%),linear-gradient(120deg,#073968 0%,#021a36 70%);position:absolute;inset:0}.hero-grid{z-index:-1;opacity:.38;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:4.5rem 4.5rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 20%,#0000 84%);mask-image:linear-gradient(90deg,#000 20%,#0000 84%)}.hero-noise{z-index:0;opacity:.2;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-copy{z-index:2;max-width:65rem;position:relative}.availability,.chapter-kicker{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.55rem;margin:0;font-size:.64rem;font-weight:700;line-height:1.5;display:flex}.availability{color:#f3f1ebb3}.availability span{background:var(--brand);border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 0 .22rem #18bdf72e}.hero h1{letter-spacing:-.075em;max-width:72rem;margin:1.5rem 0 2.8rem;font-size:clamp(3rem,7.2vw,7.6rem);font-weight:500;line-height:.97}.hero-footer{justify-content:space-between;align-items:end;gap:2rem;max-width:59rem;display:flex}.hero-footer>p{color:#f3f1ebb3;max-width:31rem;margin:0;font-size:.95rem;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.button-light{color:var(--ink);background:var(--paper)}.text-link{color:var(--paper);cursor:pointer;align-items:center;gap:.55rem;font-size:.75rem;font-weight:700;transition:color .25s,transform .25s;display:inline-flex}.text-link:hover{color:var(--brand);transform:translateY(-2px)}.hero-image{z-index:1;aspect-ratio:.73;border-radius:16rem 16rem 1rem 1rem;place-self:center end;width:min(100%,28rem);margin-top:2.5rem;position:relative;overflow:hidden}.hero-image:after{content:"";background:linear-gradient(#040a1000 20%,#040a108f);position:absolute;inset:0}.hero-image img{object-fit:cover;width:100%;height:100%}.hero-orb{z-index:2;background:var(--brand);mix-blend-mode:screen;border-radius:50%;width:5.8rem;height:5.8rem;position:absolute;top:1.1rem;right:1.1rem}.hero-spline{z-index:1;background:linear-gradient(#ffffff17,#ffffff06);border:1px solid #ffffff42;border-radius:999px;place-self:center end;width:min(100%,31rem);height:min(68vh,38rem);margin-top:2.5rem;position:relative;overflow:hidden}.hero-spline-canvas{width:100%;height:100%}.spline-loading{width:100%;height:100%;color:var(--paper);place-items:center;display:grid}.spline-loading span{border:3px solid #ffffff59;border-top-color:var(--brand);border-radius:50%;width:2.3rem;height:2.3rem;animation:.75s linear infinite spin}.image-caption{z-index:3;max-width:9ch;font-size:.67rem;font-weight:600;line-height:1.3;position:absolute;bottom:1.3rem;left:1.3rem}.capability-strip{color:var(--brand);background:var(--ink);overflow:hidden}.capability-track{width:max-content;animation:32s linear infinite marquee;display:flex}.capability-track span{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-items:center;gap:2.7rem;padding:1.1rem 1.35rem;font-size:.68rem;font-weight:700;display:inline-flex}.capability-track svg{width:1rem;height:1rem}@keyframes marquee{to{transform:translate(-50%)}}.chapter{padding:clamp(7rem,14vw,13rem) clamp(1.25rem,8vw,8.5rem)}.intro-section{color:var(--paper);background:var(--ink)}.intro-section .chapter-kicker,.services-head .chapter-kicker,.contact-copy .chapter-kicker{color:var(--brand)}.word-reveal{letter-spacing:-.06em;max-width:77rem;margin:2rem 0 0;font-size:clamp(2.4rem,5.6vw,6.2rem);font-weight:500;line-height:1.08}.word-reveal span{display:inline}.client-stories{background:#f5fcff}.client-stories-head{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:clamp(4rem,8vw,7rem);display:grid}.client-stories-head h2{letter-spacing:-.075em;grid-column:1;max-width:12ch;margin:1.2rem 0 0;font-size:clamp(3rem,5.8vw,6.8rem);font-weight:500;line-height:.96}.client-stories-head>p:last-child{max-width:28rem;color:var(--muted);grid-column:2;align-self:end;margin:0;font-size:.94rem;line-height:1.7}.client-story-grid{gap:1.25rem;display:grid}.client-story{background:var(--paper);border:1px solid #062b5224;border-radius:1rem;grid-template-columns:minmax(16rem,.84fr) minmax(20rem,1.16fr);min-height:36rem;display:grid;overflow:hidden}.client-story-copy{flex-direction:column;align-items:flex-start;padding:clamp(1.5rem,3vw,3rem);display:flex}.client-index{color:#087abb;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.63rem;font-weight:700}.client-status{color:#715014;background:#fff4d7;border:1px solid #dfc078;border-radius:999px;margin-top:1.2rem;padding:.5rem .7rem;font-size:.63rem;font-weight:700;line-height:1.5;display:inline-flex}.client-status+h3{margin-top:.9rem}.client-story h3{max-width:12ch;color:var(--ink);letter-spacing:-.065em;margin:1.4rem 0 0;font-size:clamp(2rem,3.3vw,3.8rem);font-weight:500;line-height:1}.client-story-copy>p:not(.client-index){max-width:31rem;color:var(--muted);margin:1.4rem 0 0;font-size:.84rem;line-height:1.7}.client-story-tags{flex-wrap:wrap;gap:.45rem;margin-top:1.6rem;display:flex}.client-story-tags span{color:#075a90;text-transform:uppercase;letter-spacing:.04em;border:1px solid #062b522e;border-radius:999px;padding:.38rem .55rem;font-size:.56rem;font-weight:700}.client-link{color:#087abb;cursor:pointer;align-items:center;gap:.55rem;margin-top:auto;padding-top:1.8rem;font-size:.73rem;font-weight:700;transition:color .25s,transform .25s;display:inline-flex}.client-link:hover{color:var(--ink);transform:translate(.2rem)}.client-link svg{width:1rem;height:1rem}.project-slideshow{background:#e5f8ff;grid-template-rows:minmax(0,1fr) auto;gap:.55rem;min-width:0;min-height:36rem;padding:.55rem;display:grid}.slideshow-viewport{background:var(--paper);border-radius:.65rem;min-height:0;position:relative;overflow:hidden;box-shadow:0 .7rem 1.8rem #062b521f}.slideshow-image{object-fit:contain;object-position:center;background:var(--paper);animation:.38s ease-out slide-fade}.slideshow-counter{z-index:2;color:var(--paper);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);letter-spacing:.07em;background:#062b52d1;border:1px solid #ffffff59;border-radius:999px;padding:.42rem .58rem;font-size:.58rem;font-weight:750;position:absolute;top:.8rem;right:.8rem}.slideshow-arrows{z-index:2;gap:.4rem;display:flex;position:absolute;bottom:.8rem;right:.8rem}.slideshow-arrows button{width:2.65rem;height:2.65rem;color:var(--paper);cursor:pointer;background:#062b52db;border:1px solid #ffffff59;border-radius:50%;place-items:center;transition:transform .2s,background-color .2s;display:grid;box-shadow:0 .4rem 1rem #062b5233}.slideshow-arrows button:hover,.slideshow-arrows button:focus-visible{outline:2px solid var(--paper);outline-offset:2px;background:#087abb;transform:translateY(-2px)}.slideshow-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;min-height:1.35rem;padding:0 .15rem;display:flex}.slideshow-dots button{cursor:pointer;background:#062b523d;border:0;border-radius:999px;width:.48rem;height:.48rem;padding:0;transition:width .22s,background-color .22s}.slideshow-dots button.active{background:#087abb;width:1.45rem}.slideshow-dots button:focus-visible{outline-offset:3px;outline:2px solid #087abb}@keyframes slide-fade{0%{opacity:.25;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.work-section{background:var(--brand-soft)}.section-intro{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:clamp(4rem,9vw,8rem);display:grid}.chapter-kicker{color:var(--muted)}.section-intro h2,.services-head h2,.process-heading h2,.contact-copy h2{letter-spacing:-.075em;grid-column:1;margin:1.25rem 0 0;font-size:clamp(3rem,6vw,7rem);font-weight:500;line-height:.95}h2 em{font-family:inherit;font-style:normal;font-weight:500}.section-intro>p:last-child{max-width:28rem;color:var(--muted);grid-column:2;align-self:end;margin:0;font-size:.96rem;line-height:1.7}.case-list{gap:1.1rem;display:grid}.case-study{min-height:38rem;color:var(--paper);transform-origin:top;background:#063d70;border-radius:.85rem;grid-template-rows:auto 1fr;grid-template-columns:1.1fr .9fr;padding:clamp(1.3rem,3vw,2.7rem);display:grid;position:sticky;top:1.5rem;overflow:hidden}.case-study.orange{color:var(--ink);background:#d9f5ff}.case-study.blue{background:#087abb}.case-topline{text-transform:uppercase;letter-spacing:.08em;grid-column:1/-1;justify-content:space-between;padding-bottom:2.2rem;font-size:.62rem;font-weight:700;display:flex}.case-content{z-index:2;flex-direction:column;justify-content:space-between;padding-right:1.5rem;display:flex;position:relative}.case-content h3{letter-spacing:-.065em;max-width:11ch;margin:0;font-size:clamp(2rem,3.8vw,4.3rem);font-weight:500;line-height:.98}.case-content p{color:#ffffffad;max-width:31rem;margin:1.6rem 0 0;font-size:.84rem;line-height:1.65}.orange .case-content p{color:#0b1016ad}.case-content ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.case-content li{border-top:1px solid #ffffff47;padding:.55rem 0;font-size:.68rem;font-weight:600}.orange .case-content li{border-color:#0b10163d}.case-image{border-radius:9rem 9rem .45rem .45rem;grid-area:2/2;position:relative;overflow:hidden}.case-image:after{content:"";background:linear-gradient(145deg,#0000,#00000059);position:absolute;inset:0}.case-image img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.case-study:hover .case-image img{transform:scale(1.07)}.services-section{color:var(--paper);background:#062b52}.services-head{max-width:62rem}.services-head h2{margin-bottom:clamp(4rem,8vw,7rem)}.service-grid{grid-template-columns:1fr 1fr 1fr;grid-auto-flow:dense;gap:1rem;display:grid}.service-card{background:#0c6696;border-radius:.8rem;min-height:30rem;position:relative;overflow:hidden}.service-card:first-child{grid-column:span 2}.service-card img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.service-card:hover img{transform:scale(1.06)}.service-shade{background:linear-gradient(#070b0f1a,#070b0fe6);position:absolute;inset:0}.service-copy{z-index:1;flex-direction:column;justify-content:end;align-items:flex-start;height:100%;padding:1.6rem;display:flex;position:relative}.service-copy>span{color:var(--brand);margin-bottom:auto;font-size:.65rem;font-weight:700}.service-copy h3{letter-spacing:-.06em;max-width:17ch;margin:0;font-size:clamp(1.55rem,2.4vw,2.8rem);font-weight:500;line-height:1.02}.service-copy p{color:#ffffffad;opacity:0;max-width:32rem;max-height:0;margin:0;font-size:.78rem;line-height:1.6;transition:max-height .5s,margin .5s,opacity .35s;overflow:hidden}.service-card:hover .service-copy p,.service-card:focus-within .service-copy p{opacity:1;max-height:9rem;margin-top:.9rem}.service-copy a{color:var(--brand);opacity:0;align-items:center;gap:.5rem;margin-top:1rem;font-size:.7rem;font-weight:700;transition:opacity .35s,transform .35s;display:inline-flex;transform:translateY(.5rem)}.service-card:hover .service-copy a,.service-card:focus-within .service-copy a{opacity:1;transform:translateY(0)}.process-stage{background:#f5fcff;grid-template-columns:minmax(15rem,.78fr) minmax(18rem,1.22fr);align-items:start;gap:clamp(3rem,10vw,11rem);display:grid}.process-heading{align-self:start}.process-heading h2{font-size:clamp(2.65rem,4.4vw,5.3rem)}.process-list{display:grid}.process-item{border-top:1px solid var(--line);grid-template-columns:4rem 1fr;gap:1rem;padding:2.5rem 0;display:grid}.process-item:last-child{border-bottom:1px solid var(--line)}.process-item>span{color:var(--muted);font-size:.65rem;font-weight:700}.process-item h3{letter-spacing:-.05em;margin:0;font-size:clamp(1.5rem,2.4vw,2.6rem);font-weight:500}.process-item p{max-width:31rem;color:var(--muted);margin:.8rem 0 0;font-size:.83rem;line-height:1.65}.contact-section{min-height:44rem;color:var(--paper);background:#057fbd;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2rem,5vw,6rem);display:grid;position:relative;overflow:hidden}.contact-section:before{content:"";mix-blend-mode:screen;background:radial-gradient(circle at 10% 75%,#ffffff54,#0000 23%),radial-gradient(circle at 70% 0,#7de3ff 0,#0000 33%);position:absolute;inset:0}.contact-copy{z-index:2;min-width:0;max-width:45rem;position:relative}.contact-copy .chapter-kicker{color:#ffffffd9}.contact-copy h2{letter-spacing:-.055em;text-wrap:balance;max-width:16ch;margin-top:1.25rem;font-size:clamp(2.75rem,4.8vw,5.5rem);line-height:1.06}.contact-copy>p:not(.chapter-kicker){color:#ffffffbd;max-width:32rem;margin:2rem 0 0;font-size:.92rem;line-height:1.65}.contact-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem;display:flex}.facebook-link,.footer-facebook{cursor:pointer;align-items:center;gap:.45rem;font-size:.73rem;font-weight:700;transition:transform .25s,color .25s;display:inline-flex}.facebook-link{color:var(--paper)}.facebook-link:hover,.footer-facebook:hover{color:var(--brand);transform:translateY(-2px)}.facebook-link svg,.footer-facebook svg{width:1.05rem;height:1.05rem}.button-acid{color:var(--ink);background:var(--paper)}.copy-button{min-width:7.6rem;min-height:2.7rem;color:var(--paper);cursor:pointer;background:0 0;border:1px solid #ffffff8c;border-radius:999px;padding:.72rem 1rem;font-size:.73rem;font-weight:700;transition:color .25s,background-color .25s,transform .25s}.copy-button:hover{color:var(--ink);background:var(--paper);transform:translateY(-3px)}.copy-button:disabled{cursor:wait;opacity:.8}.mini-spinner{vertical-align:-.11rem;border:2px solid;border-right-color:#0000;border-radius:50%;width:.8rem;height:.8rem;margin-right:.4rem;animation:.65s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.contact-visual{aspect-ratio:1;border:1px solid #ffffff6b;border-radius:50%;justify-self:center;place-items:center;width:min(100%,26rem);display:grid;position:relative}.contact-visual:before,.contact-visual:after,.contact-visual>div{content:"";border:1px solid #ffffff4d;border-radius:50%;position:absolute}.contact-visual:before{inset:11%}.contact-visual:after{inset:23%}.contact-visual>div{background:var(--paper);inset:28%}.contact-visual img{z-index:1;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 .5rem 1.5rem #00000040);width:52%;height:auto;display:block;position:relative}.back-to-top{z-index:20;color:var(--paper);background:var(--ink);opacity:0;pointer-events:none;cursor:pointer;border:1px solid #062b5229;border-radius:999px;align-items:center;gap:.55rem;padding:.7rem .9rem;font-size:.7rem;font-weight:700;transition:opacity .25s,transform .25s,background-color .25s;display:inline-flex;position:fixed;bottom:1.35rem;right:1.35rem;transform:translateY(1rem);box-shadow:0 .7rem 1.7rem #062b5233}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:#087abb;transform:translateY(-.2rem)}.back-to-top svg{width:.95rem;height:.95rem;transform:rotate(180deg)}footer{color:#ffffffad;background:var(--ink);grid-template-columns:1fr 1.35fr auto auto;align-items:center;gap:2rem;padding:2.2rem clamp(1.25rem,4vw,4.5rem);font-size:.71rem;display:grid}footer .brand{color:var(--paper)}footer p{max-width:28rem;margin:0;line-height:1.5}footer>a:not(.brand){color:var(--brand);font-weight:700}footer>span{color:#ffffff6b;text-align:right;grid-column:4;font-size:.58rem;font-weight:600}@media (max-width:900px){.site-header{padding:1.3rem 1.25rem}.menu-toggle{z-index:12;display:block;position:relative}.nav-links{z-index:11;color:var(--paper);background:#111923;flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding:6rem 1.5rem 1.5rem;transition:transform .45s cubic-bezier(.77,0,.18,1);position:fixed;inset:0;transform:translateY(-100%)}.nav-links.open{transform:translateY(0)}.nav-links>a:not(.nav-contact){color:var(--paper);letter-spacing:-.06em;border-bottom:1px solid #ffffff24;padding:1rem 0;font-size:2.1rem}.nav-contact{justify-content:space-between;margin-top:2rem}.hero{grid-template-columns:1fr;min-height:50rem;padding:8.5rem 1.25rem 2rem}.hero h1{max-width:12ch}.hero-image,.hero-spline{aspect-ratio:.73;opacity:.5;width:39vw;min-width:12rem;height:auto;position:absolute;bottom:2rem;right:-5vw}.hero-footer{max-width:42rem}.hero-footer>p{max-width:27rem}.chapter{padding:6.5rem 1.25rem}.client-stories-head{grid-template-columns:1fr}.client-stories-head>p:last-child{grid-column:1;margin-top:.5rem}.client-story{grid-template-columns:1fr}.project-slideshow{min-height:25rem}.section-intro{grid-template-columns:1fr}.section-intro>p:last-child{grid-column:1;margin-top:.6rem}.case-study{min-height:34rem;position:relative;top:auto}.service-grid{grid-template-columns:1fr 1fr}.service-card:first-child{grid-column:span 2}.process-stage,.contact-section{grid-template-columns:1fr}.process-heading{position:static!important}.contact-visual{opacity:.4;width:19rem;position:absolute;bottom:-4rem;right:-5rem}footer{grid-template-columns:1fr auto}footer p{grid-column:1/-1}footer>span{grid-area:1/2}}@media (max-width:560px){.hero{min-height:46rem}.hero h1{font-size:clamp(3rem,13vw,4.7rem)}.hero-footer{flex-direction:column;align-items:start;gap:1.6rem}.hero-image,.hero-spline{opacity:.26}.client-story-copy{padding:1.4rem}.project-slideshow{min-height:18rem}.slideshow-arrows button{width:2.35rem;height:2.35rem}.case-study{grid-template-columns:1fr;min-height:39rem}.case-content{padding-right:0}.case-image{border-radius:6rem 6rem .4rem .4rem;grid-area:auto/1;min-height:12rem;margin-top:1.5rem}.case-content h3{max-width:13ch}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child{grid-column:auto;min-height:26rem}.service-copy p,.service-copy a{opacity:1;max-height:9rem;margin-top:.9rem;transform:none}.process-item{grid-template-columns:2.4rem 1fr}.contact-section{min-height:44rem}.contact-copy h2{font-size:clamp(2.65rem,11vw,3.7rem)}.button-acid{justify-content:space-between;width:100%}footer{grid-template-columns:1fr;gap:1.2rem}footer>span{text-align:left;grid-area:auto/1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
