/* V3: immersive kinetic art direction, inspired by OneTab Digital. */
:root{--ink:#090e1b;--paper:#f6f7fb;--blue:#174eff;--accent:#36f5b9;--soft:#e4fff5;--deep:#095b43}.tone-teal{--accent:#36f5b9;--soft:#e4fff5;--deep:#095b43}.tone-coral{--accent:#ff6852;--soft:#ffede9;--deep:#962d1f}.tone-violet{--accent:#b083ff;--soft:#f2eaff;--deep:#6539a6}.tone-cyan{--accent:#28cbff;--soft:#e2f8ff;--deep:#075f79}.tone-amber{--accent:#ffb627;--soft:#fff4d8;--deep:#805200}.tone-pink{--accent:#ff68b4;--soft:#ffe8f3;--deep:#943162}
.header{height:100px;background:#090e1b;border-bottom:1px solid #ffffff1c;padding-inline:var(--pad);position:relative;z-index:30}.header nav{align-items:center;gap:28px}.nav-group{position:relative;font-size:14px}.nav-group summary{list-style:none;cursor:pointer;padding:16px 0;display:flex;gap:12px;align-items:center}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary span{color:#36f5b9;font-size:18px}.nav-group[open] summary span{transform:rotate(45deg)}.nav-panel{position:absolute;top:50px;left:-25px;width:330px;background:#10192b;color:#fff;border:1px solid #384257;box-shadow:0 22px 45px #0005;border-radius:8px;padding:16px;display:grid;gap:4px}.header nav .nav-panel a{padding:12px;border-radius:4px;display:flex;align-items:center;gap:16px;font-size:14px}.header nav .nav-panel a:after{display:none}.nav-panel a:hover{background:#223250}.nav-panel .icon{color:#36f5b9;width:21px;height:21px}.header nav .nav-panel .panel-heading{font-size:13px;color:#b8c4dd;border-bottom:1px solid #384257;margin-bottom:5px}.header nav .nav-panel .panel-assistance{border-top:1px solid #384257;margin-top:5px;color:#b8c4dd}.header .nav-contact{color:#090e1b;background:#36f5b9;border:0;font-size:14px}.nav-contact:hover{background:#a4ffdf}.header nav>a{font-size:14px}.wordmark .brand-name{font-size:32px}.header .brand-symbol{width:34px;height:42px}.header a:focus-visible,.nav-group summary:focus-visible{outline:2px solid #36f5b9;outline-offset:4px}
.immersive-hero{background:#090e1b;padding-top:25px;position:relative}.immersive-hero .hero-content{height:calc(100svh - 214px);max-height:900px;min-height:650px;display:block;isolation:isolate}.hero-copy{padding:94px 0 95px;width:64%;position:relative;z-index:2}.hero-overline{color:#bcc9df;font-size:17px;margin-bottom:28px}.immersive-hero h1{font-size:clamp(76px,8.9vw,145px);font-weight:600;line-height:.99;letter-spacing:-.065em;margin-bottom:34px}.immersive-hero h1>span{color:#36f5b9}.immersive-hero .hero-copy p{color:#c3cee2;line-height:1.65;font-size:19px;margin-bottom:32px}.immersive-hero .hero-copy .blue{background:#36f5b9;color:#071c20}.hero-top .eyebrow{font-size:12px;letter-spacing:.13em;color:#b3c2dc}.hero-location{font-size:12px;color:#97a9c6}.hero-bottom{height:76px;min-height:76px;position:relative;z-index:3;gap:24px}.hero-bottom>a{font-size:14px}.hero-bottom>span{font-size:11px;letter-spacing:.07em}.hero-motion{border:0;border-bottom:1px solid #60708c;color:#b8c6dd;background:none;font-size:12px;padding:7px 0;z-index:5;position:relative}.kinetic-stage{position:absolute;width:57%;right:-5%;top:0;bottom:0;z-index:0;overflow:visible;contain:layout}.kinetic-canvas{width:100%;height:100%;display:block}.stage-words{position:absolute;inset:0;pointer-events:none;color:#d5e5f5;font-size:11px;letter-spacing:.15em}.stage-words span{position:absolute;padding:10px 0;border-top:1px solid #7793b180}.stage-words span:nth-child(1){left:24%;top:14%}.stage-words span:nth-child(2){right:2%;top:50%}.stage-words span:nth-child(3){left:32%;bottom:11%}.kinetic-band{overflow:hidden;background:#36f5b9;color:#06241c;transform:rotate(-1deg);margin:0 -1%;padding:23px 0;position:relative;z-index:4}.kinetic-band>div{display:flex;align-items:center;width:max-content;gap:50px;animation:band 38s linear infinite}.kinetic-band span{font-size:24px;letter-spacing:-.02em;font-weight:600}.kinetic-band i{font-size:30px;font-style:normal}.intro{padding-top:130px}.intro-grid h2{font-size:clamp(36px,3.8vw,66px)}.intro-grid h2 span{color:#174eff}.intro>.eyebrow{color:#174eff}.expertises{background:#090e1b;color:white}.expertises .section-heading h2{font-size:clamp(46px,5.7vw,92px)}.expertises .section-heading .eyebrow,.expertises .section-heading>p{color:#acbcd6}.service-list{gap:24px}.service-row{border:0;border-radius:5px;background:#152038;color:#fff;padding:0 25px 30px;position:relative;box-shadow:inset 0 -4px 0 var(--accent)}.card-image{aspect-ratio:1.45;margin:0 -25px 10px;position:relative}.card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#152038 0%,transparent 48%)}.card-image img{transition:transform .9s cubic-bezier(.2,.7,.2,1);filter:saturate(1.15)}.service-num{background:var(--accent);color:#0b1829;border-radius:50%;width:50px;height:50px}.service-row h3{font-size:26px}.service-row p{color:#c2cee2;font-size:16px;line-height:1.55}.service-row:hover{background:#1b2b46;color:white;padding:0 25px 30px;box-shadow:inset 0 -4px 0 var(--accent),0 22px 50px #0004}.service-row:hover .service-num{color:#0b1829}.service-row:hover p{color:#e3edff}.service-row:hover .row-arrow{color:var(--accent)}.service-row:hover .card-image img{transform:scale(1.1)}.row-arrow{color:var(--accent)}.approach{background:#174eff}.approach .section-heading h2{font-size:clamp(36px,4.2vw,67px)}.approach .eyebrow,.approach-lead>span{color:#d9e3ff}.steps p{color:#e2eaff}.big-quote{color:#36f5b9}.steps article{border-top-color:#ffffff55}.steps article>.step-icon{background:#36f5b9;border-radius:50%;color:#062c37}.steps article:nth-child(2)>.step-icon{background:#ffb627}.steps article:nth-child(3)>.step-icon{background:#ff91c6}.references{background:#fcfcff}.references .section-heading h2{font-size:clamp(40px,4.7vw,76px)}.contact{background:#101a30}.contact h2{font-size:clamp(48px,6.2vw,100px)}.contact h2 em{color:#36f5b9;font-family:inherit;font-style:normal}.contact>.eyebrow{color:#36f5b9}.contact-grid p{color:#cbd8ed}.contact-bottom{color:#b6c5dd}.contact-note{color:#b6c5dd}.assistance-bridge{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;background:#deeaff;color:#10264d}.assistance-bridge .eyebrow{color:#2f5597;font-size:12px}.assistance-bridge h2{font-size:clamp(30px,3.1vw,48px);margin-top:24px}.assistance-bridge p{font-size:17px;line-height:1.7;color:#334d75}.assistance-bridge .button{font-size:14px;gap:18px}.assistance-bridge .light{background:#174eff;color:white}footer{background:#070c17;border-top:1px solid #26334b}footer .brand-name{font-size:32px}footer>div{font-size:13px;line-height:2}.logos{border-radius:0}.client-logo{height:140px}.reference-note{font-size:13px}
.immersive-detail,.about-page .detail-hero{background:#090e1b;color:white;padding-top:30px;padding-bottom:80px;min-height:720px;isolation:isolate}.immersive-detail .kinetic-copy{width:60%;position:relative;z-index:2;padding-bottom:15px}.immersive-detail .kinetic-stage{width:52%;right:-1%;top:30px;bottom:35px}.immersive-detail .eyebrow{color:var(--accent);font-size:13px;letter-spacing:.1em;margin-bottom:28px}.immersive-detail .kinetic-copy h1,.service-page .immersive-detail h1{font-size:clamp(48px,5.5vw,88px);line-height:1.06;max-width:100%;letter-spacing:-.055em;font-weight:550}.immersive-detail .kinetic-copy p,.service-page .immersive-detail p{max-width:550px;color:#c3cfe3;font-size:19px;line-height:1.65}.immersive-detail .breadcrumb{margin-bottom:68px;color:#aebed7;font-size:14px}.immersive-detail .blue{background:var(--accent);color:#10172a}.immersive-detail>.hero-motion{position:absolute;bottom:25px;right:var(--pad)}.immersive-detail .stage-words span:nth-child(1){top:17%;left:27%}.immersive-detail .stage-words span:nth-child(2){right:9%}.immersive-detail .stage-words span:nth-child(3){bottom:12%;left:36%}.service-eyebrow .icon{width:27px;height:27px}.detail-body{background:#f7f8fc}.detail-body .intro-grid{align-items:start}.expertise-image{height:340px;position:relative;margin-top:60px;overflow:hidden;border-radius:4px;background:#111c36}.expertise-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block;animation:photo-drift 25s ease-in-out infinite alternate}.expertise-image span{position:absolute;bottom:24px;left:24px;padding:13px 20px;background:var(--accent);color:#142038;font-size:14px;border-radius:2px}.detail-blocks article{background:white;border-radius:4px;border-top:4px solid var(--accent);padding:32px}.feature-icon{background:var(--accent);color:#182033;border-radius:50%}.detail-blocks h3{font-size:27px}.detail-blocks p{font-size:17px;line-height:1.75}.detail-blocks{margin-top:30px}.scope-note a{color:#174eff;text-decoration:underline}.related{background:#0e1729;color:white}.related .eyebrow{color:var(--accent)}.related .text-link{border-color:#43516a;color:#dce6f7;font-size:16px}.related .text-link:hover{color:var(--accent)}.about-page .detail-hero h1{font-size:clamp(48px,5.5vw,88px)}.about-page .detail-hero .eyebrow{color:#36f5b9}.about-page .detail-hero p{color:#c3cfe3}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:60px}.hub-link{display:block;background:#fff;border:1px solid #dce2ef;padding:34px;box-shadow:inset 0 4px 0 var(--accent);transition:transform .25s}.hub-link:first-child{grid-column:1/-1;background:#101e35;color:white;display:grid;grid-template-columns:80px 1fr 1fr;gap:20px;align-items:center}.hub-link:first-child p{color:#c9d5e9}.hub-link:first-child .text-link{grid-column:2/-1;border-color:#9aafce;color:#36f5b9}.hub-link h3{font-size:32px}.hub-link p{font-size:17px;color:#52617a}.hub-link:hover{transform:translateY(-5px)}.hub-link .feature-icon{margin-bottom:20px}.hub-link .text-link{max-width:none}.routing-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.routing-grid>div{padding:36px;background:#fff;border-top:4px solid #36f5b9}.routing-grid>div+div{border-top-color:#174eff}.routing-grid .eyebrow{font-size:12px;color:#4e668a}.routing-grid h2{margin-top:25px;font-size:40px}.contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.contact-options>a,.contact-options>div{display:block;border-top:3px solid #174eff;padding-top:25px}.contact-options .icon{width:36px;height:36px;color:#174eff;margin-bottom:25px}.contact-options span{font-size:12px;letter-spacing:.12em;color:#405678}.contact-options h2{font-size:clamp(24px,2.3vw,38px);margin-top:25px;overflow-wrap:anywhere}.contact-options p{font-size:16px;color:#405678}.form-link{background:#deeaff}.form-link h2{font-size:42px}.project-filters{display:flex;gap:12px;flex-wrap:wrap;margin:45px 0}.project-filters button{background:transparent;border:1px solid #b1bed3;color:#172c4b;border-radius:100px;padding:13px 24px;font-size:14px}.project-filters button[aria-pressed=true]{background:#174eff;border-color:#174eff;color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px}.project-card{display:block}.project-card[hidden]{display:none}.project-image{aspect-ratio:1.45;background:#fff;overflow:hidden;margin-bottom:22px;border:1px solid #dae1ec}.project-image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .6s}.project-card:hover img{transform:scale(1.06)}.project-category{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#536580}.project-card h3{font-size:26px;line-height:1.2;margin-top:12px;margin-bottom:16px}.project-link{color:#174eff;font-size:14px}.project-monogram{font-size:65px;display:grid;place-items:center;height:100%;color:#174eff}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.revealed{opacity:1;transform:translateY(0)}body.paused .reveal{opacity:1;transform:none}
@keyframes band{to{transform:translateX(-50%)}}@keyframes photo-drift{from{transform:scale(1)}to{transform:scale(1.06)}}
@media(min-width:1800px){.immersive-detail{min-height:820px}.immersive-detail .kinetic-copy h1{font-size:100px}.kinetic-stage{right:-2%}}
@media(max-width:1150px){.header nav{gap:18px}.header nav>a,.nav-group{font-size:13px}.header .nav-contact{font-size:12px;padding:13px}.header .brand-symbol{width:28px;height:35px}.wordmark .brand-name{font-size:28px}.header{gap:20px}.immersive-hero h1{font-size:9.1vw}.hero-copy{width:65%}.immersive-hero .hero-copy p{font-size:17px}.hero-overline{font-size:15px}.immersive-detail .kinetic-copy h1,.service-page .immersive-detail h1{font-size:5.7vw}.immersive-detail{min-height:670px}.immersive-detail .kinetic-copy{width:62%}.service-row h3{font-size:25px}.service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-options{grid-template-columns:1fr 1fr}.contact-options>div{grid-column:1/-1}}
@media(max-width:900px){.header nav{gap:14px}.header .nav-contact{font-size:11px}.wordmark .brand-name{font-size:25px}.header .brand-symbol{width:24px;height:30px}.header{gap:12px}.stage-words{font-size:10px;letter-spacing:.07em}.hero-bottom>span{display:none}}
@media(max-width:800px){.header{height:84px}.header nav{align-items:stretch;top:84px;max-height:calc(100svh - 84px);overflow:auto;gap:8px;background:#090e1b}.header nav>a{font-size:17px}.nav-group{font-size:17px}.nav-group summary{justify-content:space-between}.nav-panel{position:static;width:100%;margin-bottom:10px;box-shadow:none;padding:10px;border-color:#344057}.header nav .nav-panel a{font-size:14px}.header .nav-contact{font-size:12px;padding:12px 16px}.wordmark .brand-name{font-size:29px}.header .brand-symbol{width:28px;height:35px}.menu{font-size:14px}.immersive-hero .hero-content{height:auto;max-height:none;min-height:0;display:block;padding-bottom:0}.hero-copy{width:100%;padding:55px 0 5px}.immersive-hero h1{font-size:clamp(64px,11.5vw,92px);line-height:1.01}.hero-overline{font-size:15px;margin-bottom:23px}.immersive-hero .hero-copy p{font-size:17px}.kinetic-stage,.immersive-detail .kinetic-stage{position:relative;inset:auto;width:100%;height:410px;margin:0;z-index:0}.immersive-hero .kinetic-stage{margin-top:-5px}.hero-top .eyebrow{font-size:11px}.stage-words{font-size:11px}.stage-words span:nth-child(1){left:15%;top:12%}.stage-words span:nth-child(2){right:0;top:52%}.stage-words span:nth-child(3){left:22%;bottom:10%}.hero-bottom{height:72px;min-height:72px}.hero-bottom>a{max-width:none;font-size:13px}.hero-motion{font-size:12px}.kinetic-band{padding:17px 0}.kinetic-band span{font-size:20px}.kinetic-band>div{gap:32px}.section{padding:75px var(--pad)}.intro{padding-top:88px}.expertises .section-heading h2{font-size:56px}.service-row,.service-row:hover{padding:0 22px 25px}.card-image{margin:0 -22px 10px}.service-row h3{font-size:23px}.service-row p{font-size:16px}.assistance-bridge{grid-template-columns:1fr;gap:20px}.assistance-bridge h2{font-size:36px}.contact h2{font-size:clamp(46px,8vw,70px)}.immersive-detail,.about-page .detail-hero{min-height:0;padding-top:30px;padding-bottom:50px}.immersive-detail .kinetic-copy{width:100%;padding-bottom:0}.immersive-detail .kinetic-copy h1,.service-page .immersive-detail h1,.about-page .detail-hero h1{font-size:clamp(45px,8.2vw,68px)}.immersive-detail .kinetic-copy p,.service-page .immersive-detail p{font-size:18px;max-width:100%}.immersive-detail .breadcrumb{margin-bottom:38px}.immersive-detail .eyebrow{margin-bottom:22px}.immersive-detail .kinetic-stage{height:365px;margin-top:5px}.immersive-detail .stage-words span:nth-child(1){left:16%;top:12%}.immersive-detail .stage-words span:nth-child(2){right:0}.immersive-detail .stage-words span:nth-child(3){left:24%;bottom:10%}.immersive-detail>.hero-motion{bottom:20px}.expertise-image{height:300px;margin-top:40px}.detail-blocks{margin-top:25px}.detail-blocks article{padding:30px}.hub-grid{grid-template-columns:1fr}.hub-link:first-child{grid-column:auto;display:block}.hub-link h3{font-size:30px}.routing-grid{grid-template-columns:1fr;gap:25px}.routing-grid h2{font-size:36px}.project-grid{gap:35px 20px}.project-card h3{font-size:23px}.project-category{font-size:11px}.form-link h2{font-size:36px}.contact-options{grid-template-columns:1fr}.contact-options>div{grid-column:auto}.contact-options h2{font-size:34px}.references .section-heading h2{font-size:44px}}
@media(max-width:540px){.service-list,.project-grid{grid-template-columns:1fr}.card-image{aspect-ratio:1.6}.service-row h3{font-size:27px}.service-row p{font-size:16px}.immersive-hero h1{font-size:clamp(55px,12.8vw,69px)}.hero-copy{padding-top:43px}.immersive-hero .hero-copy p{font-size:16px}.hero-copy .button{font-size:13px;gap:15px;padding:18px 20px}.kinetic-stage{height:335px}.immersive-detail .kinetic-stage{height:315px}.immersive-detail .kinetic-copy h1,.service-page .immersive-detail h1,.about-page .detail-hero h1{font-size:clamp(41px,10vw,52px)}.immersive-detail .kinetic-copy p{font-size:17px}.header{gap:10px}.header .nav-contact{font-size:11px;padding:11px 13px}.header .brand-symbol{width:23px;height:29px}.wordmark .brand-name{font-size:25px}.menu{font-size:12px;gap:6px}.hero-bottom{gap:20px}.hero-motion{font-size:11px}.hero-bottom>a{font-size:12px}.hero-top .eyebrow{font-size:10px}.stage-words{font-size:10px}.expertises .section-heading h2{font-size:47px}.intro-grid h2{font-size:37px}.assistance-bridge .button{font-size:13px;padding:18px 20px}.routing-grid>div{padding:26px}.project-image{aspect-ratio:1.55}.project-card h3{font-size:28px}.project-category{font-size:12px}.contact-options h2{font-size:30px}.detail-blocks h3{font-size:26px}.contact h2{font-size:47px}.expertise-image{height:250px}.project-filters button{padding:11px 17px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.kinetic-band>div,.expertise-image img{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.project-image img{transition:none}}
