/* Mobile-first layout rules. Desktop enhancements start at 768px and 992px. */
:root{--page-gutter:clamp(1rem,4vw,1.75rem);--section-space:3.25rem;--body-copy:1rem}
html{scroll-padding-top:90px}body{font-size:var(--body-copy);line-height:1.75}img{max-width:100%}.container{width:100%;max-width:1240px;padding-inline:var(--page-gutter)}.row{--bs-gutter-x:1.5rem}.row.g-5{--bs-gutter-x:1.5rem;--bs-gutter-y:2rem}main,section,article,.row>*{min-width:0}h1,h2,h3,h4,p,a,label{overflow-wrap:break-word}h2,.section-heading h2{font-size:clamp(1.75rem,6.8vw,2.25rem);line-height:1.2;letter-spacing:-.055em}.section{padding-block:var(--section-space)}.section-heading{gap:1.25rem;margin-bottom:1.75rem}.section p:not(.eyebrow):not(.tech-label):not(.image-context):not(.sample-note):not(.article-meta),.lead-copy,.section-copy,.hero .lead-copy,.intro-copy .lead-copy,.page-intro .lead-copy{font-size:var(--body-copy);line-height:1.8}.eyebrow,.hero .eyebrow{font-size:.65rem;letter-spacing:.12em;line-height:1.7}.section-copy,.hero .lead-copy,.page-intro .lead-copy{max-width:62ch}.section-heading>p br{display:none}.section-heading h2{margin:0}.section-copy{margin-bottom:1.25rem}.text-link{font-size:.875rem;min-height:44px;line-height:1.5;gap:12px}.button,.hero-actions .button,.cta>.button,.contact-form .button{min-height:48px;font-size:.875rem;padding:12px 18px;gap:12px;white-space:normal;text-align:center}.button:focus-visible,.filter-button:focus-visible,.project-open:focus-visible{outline-offset:3px}
/* Header: full navigation starts only when it has enough room. */
.nav-wrap{height:76px;gap:8px}.brand{display:flex;align-items:center;min-height:44px;flex-shrink:0}.brand img{width:94px;height:auto}.nav-cta{font-size:.75rem;min-height:44px;padding:10px 12px;margin-left:auto;gap:7px;white-space:nowrap}.nav-cta i{font-size:14px}.menu-toggle{display:grid;place-items:center;flex-shrink:0;order:3;width:44px;height:44px;padding:0;margin:0;font-size:25px}.nav-wrap nav{display:flex;position:absolute;top:76px;left:0;right:0;margin:0;padding:12px var(--page-gutter) 18px;flex-direction:column;align-items:stretch;gap:0;background:#fffffff7;backdrop-filter:blur(20px);border-bottom:1px solid var(--line);box-shadow:0 15px 25px #15352310;max-height:calc(100dvh - 76px);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}.nav-wrap nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.nav-wrap nav>a{font-size:1rem;min-height:48px;padding:10px 15px}.nav-wrap nav>a.active:after{width:3px;height:16px;left:0;top:17px;bottom:auto}.nav-wrap nav>a.active{background:#eff7ee;border-radius:7px}.site-header{z-index:50}
/* Intentional, compact single-column hero on phones. */
.hero-row{padding-top:36px;padding-bottom:24px;min-height:0}.hero-copy{max-width:none}.hero h1{font-size:clamp(2rem,8.5vw,2.25rem);line-height:1.13;letter-spacing:-.055em;margin-bottom:24px}.hero h1 br:nth-of-type(3){display:block}.hero .lead-copy{margin-bottom:0}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px;max-width:440px}.hero-assurance{flex-wrap:wrap;font-size:.75rem;gap:8px 16px;margin-top:19px;line-height:1.6}.hero-assurance>span{display:flex;align-items:center;gap:5px}.hero-assurance i{margin:0}.hero-bottom{gap:16px;align-items:flex-start;margin-top:0;padding-block:18px}.hero-bottom>span{font-size:.625rem;line-height:1.8;max-width:50%}.hero-bottom a{font-size:.75rem;min-height:44px;align-items:center;line-height:1.5;max-width:50%;gap:8px}.hero-visual{width:100%;max-width:560px;aspect-ratio:560/660;height:auto;margin:26px auto 0;transform:none;translate:none;transition:none;--scene-scale:.49}.hero-scene{position:absolute;top:0;left:0;width:560px;height:660px;transform:scale(var(--scene-scale));transform-origin:top left}.hero-visual .hero-photo{left:25px;right:auto;top:30px;width:510px;height:340px;border:5px solid #ffffffc4}.hero-photo .editorial-image{object-fit:contain;object-position:center}.hero-visual .dashboard{top:238px;left:20px!important;right:auto!important;width:520px;transform:rotate(-3deg) scale(.88);transform-origin:top center;border:6px solid #28483e;border-bottom-width:12px}.hero-visual .dash-content{padding:17px 20px}.hero-visual .dash-sidebar{width:49px}.hero-visual .dash-stats strong{font-size:23px}.hero-visual .code-float{top:153px;right:5px;width:190px;padding:12px 14px}.hero-visual .code-float code{font-size:10px}.hero-visual .floating-label{left:55px;top:12px;font-size:10px;padding:8px 15px}.hero-visual .success-float{left:5px;top:575px;bottom:auto;padding:14px 21px}.hero-visual .visual-caption{top:640px;bottom:auto;right:25px;font-size:7px;letter-spacing:1.5px}.hero-visual .chip-code{left:4px;top:185px}.hero-visual .chip-cloud{right:15px;top:9px}.hero-visual .hero-tech-chip{width:42px;height:42px;font-size:20px}.hero-visual .orbit-one{width:490px;height:490px;left:35px;top:70px}.hero-visual .orbit-two{width:550px;height:550px;left:5px;top:40px}.hero-visual .dashboard:after{left:-14px;right:-14px}
/* Readable cards and consistent grids instead of miniaturized desktop content. */
.home-team-photo+.value-grid,.value-grid,.quality-grid,.technology-grid,.insights-grid,.timeline{grid-template-columns:1fr;gap:20px}.value-grid>div,.home-team-photo+.value-grid>div{padding:22px}.value-grid h3,.home-team-photo+.value-grid h3,.value-card h3{font-size:1.125rem}.value-grid p,.home-team-photo+.value-grid p,.value-card p,.quality-item p{font-size:var(--body-copy);max-width:none}.home-team-photo+.value-grid .icon-box{width:42px;height:42px;font-size:20px}.home-purpose{grid-template-columns:1fr;gap:18px}.home-purpose h3{font-size:1rem}.home-purpose p{font-size:var(--body-copy)}.about-preview h2{font-size:clamp(1.75rem,6.8vw,2.25rem)}.home-team-photo{aspect-ratio:1.5}.photo-card figcaption{font-size:.625rem;letter-spacing:.08em;bottom:16px;left:18px}.image-context{font-size:.75rem}.service-thumbnail{height:auto;aspect-ratio:1.9}.service-thumbnail>span{font-size:.625rem}#what-we-do .service-card h3{font-size:1.25rem;line-height:1.3}#what-we-do .service-card p,.service-card p{min-height:0;font-size:var(--body-copy)}.service-mini-features{font-size:.875rem;min-height:0;display:grid;gap:8px}.service-card .text-link{font-size:.875rem}#what-we-do .service-card>.text-link{font-size:.875rem}.stats-title{gap:16px}.stats-title small{font-size:.75rem;margin-left:0}.stats strong{font-size:clamp(2rem,8vw,2.75rem)}.stats p{font-size:.875rem}.stats{gap:22px}.quality-heading h2{font-size:1.75rem}.quality-item,.quality-item:nth-child(3){border:0;padding:0}.quality-item h3{font-size:1.125rem}.technology-label{display:flex}.technology-label h3{font-size:1.125rem;margin:0}.technology-label small{font-size:.75rem}.technology-badges{gap:10px}.technology-badges>span{padding:10px 12px;min-height:44px}.technology-badges b{font-size:.875rem}.technology-badges i{font-size:20px}.technology-foot{font-size:.8125rem;line-height:1.7}.technology-foot>span:last-child{font-size:.625rem}.process-five article{padding-left:45px}.process-five p{font-size:var(--body-copy);max-width:none}.process-five h3{font-size:1.25rem}.trust-heading{gap:16px}.trust-heading h2{font-size:1.25rem}.trust-heading .eyebrow{font-size:.625rem}.demo-label,.trust-heading>.demo-label{font-size:.6875rem}.motion-toggle{min-height:44px;min-width:44px;font-size:.75rem;padding:8px 12px}.motion-toggle i{font-size:18px}.client-logo{min-width:185px}
/* Portfolio artwork keeps its aspect ratio; actions never squeeze descriptions. */
.project-art{height:auto;aspect-ratio:1.55;min-height:235px}.commerce,.studio{padding:24px}.delivery{padding:20px;gap:15px}.platform{padding:25px}.project-info{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 0 26px}.project-info>div{width:100%}.project-info h3{font-size:1.375rem}.project-info p{font-size:var(--body-copy);max-width:none}.project-category{font-size:.75rem;white-space:normal}.project-category>span{font-size:.625rem}.project-open{font-size:.875rem;min-height:44px;min-width:44px;padding:10px 14px;gap:10px}.project-open i{font-size:17px}.project-hover-overlay{display:none}.filter-group{gap:8px}.filter-button{min-height:44px;font-size:.875rem;padding:9px 14px}.portfolio-toolbar{gap:18px}#project-count,.sample-note{font-size:.8125rem}.why-intro h2{font-size:2rem}.why-intro>p:not(.eyebrow){font-size:var(--body-copy);max-width:none}.why-intro{padding:0}.why-intro .system-visual{position:relative;inset:auto;margin:25px auto}.comparison-header{display:none}.comparison-row{grid-template-columns:1fr;gap:10px;padding:20px}.comparison-row>div:first-child{display:flex;gap:12px}.comparison-row h3{font-size:1rem;margin:0}.comparison-row strong{font-size:.9375rem}.comparison-row p{font-size:var(--body-copy)}.comparison-row .icon-box{width:40px;height:40px;font-size:20px}.testimonials .section-heading{flex-direction:column;align-items:flex-start}.testimonial-controls{max-width:none;flex-wrap:nowrap;gap:10px}.testimonial-controls button,.testimonial-controls .motion-toggle{min-width:44px;width:44px;height:44px}.testimonial-note{padding-left:40px}.testimonial-note h3{font-size:1.375rem}.testimonial-note p{font-size:.875rem!important;max-width:none}.review-card{min-height:0;padding:24px}.review-card blockquote{font-size:clamp(1.125rem,4.8vw,1.5rem);line-height:1.7;letter-spacing:-.025em}.review-author h3{font-size:.9375rem}.review-author p{font-size:.8125rem!important}.review-dots{gap:0;margin-top:12px}.review-dots button,.review-dots button[aria-pressed=true]{width:44px;height:44px;background:none;position:relative}.review-dots button:after{content:'';position:absolute;top:18px;left:18px;width:8px;height:8px;border-radius:8px;background:#c4d8bf}.review-dots button[aria-pressed=true]:after{width:24px;left:10px;background:var(--green)}.insight-copy{padding:24px}.insight-copy h3{font-size:1.375rem;min-height:0}.insight-copy>div,.insight-copy small{font-size:.75rem}.insight-copy .text-link{font-size:.875rem}.insights-grid{gap:24px}
/* Subpages and forms share the same reading and touch scale. */
.page-intro{padding-block:44px}.intro-layout{grid-template-columns:1fr;gap:28px}.intro-copy h1,.page-intro h1{font-size:clamp(2rem,8.5vw,2.25rem);letter-spacing:-.05em;line-height:1.18}.intro-photo{aspect-ratio:1.5;max-width:100%}.intro-photo figcaption{font-size:.625rem}.intro-visual{max-width:520px}.about-team-photo{aspect-ratio:1.25}.principle h3{font-size:1.25rem}.principle p{font-size:var(--body-copy)}.timeline>div,.timeline>div:nth-child(2n){padding-right:0}.timeline h3{font-size:1.25rem}.timeline p:not(.eyebrow){font-size:var(--body-copy)}.timeline .eyebrow{font-size:.6875rem}.service-jump{gap:8px;padding-top:22px}.service-jump a{min-height:44px;padding:10px 14px;font-size:.875rem;display:inline-flex;align-items:center}.service-detail,.service-detail:nth-child(even){grid-template-columns:1fr;gap:28px;margin-bottom:42px;padding-bottom:42px}.service-detail:nth-child(even) .service-banner{order:0}.service-banner{min-height:340px;padding:28px}.service-banner h2{font-size:1.875rem}.service-banner p{font-size:.9375rem!important}.service-number{font-size:.75rem}.service-description h3{font-size:1.5rem}.service-description>p:not(.eyebrow){font-size:var(--body-copy)}.feature-list{grid-template-columns:1fr;font-size:.9375rem;gap:12px}.service-description .tech-label{font-size:.6875rem!important}.cloud-section{grid-template-columns:1fr;gap:28px;padding-block:44px}.cloud-section h2{font-size:1.875rem}.cloud-section>div>p:not(.eyebrow){font-size:var(--body-copy)}.contact-section{padding-top:40px}.contact-form{padding:24px 20px}.contact-form>h3{font-size:1.5rem}.contact-form>p{font-size:var(--body-copy)}.contact-form label{font-size:.9375rem;line-height:1.6}.contact-form label>small{font-size:.8125rem}input,select,textarea{font-size:1rem;padding:12px;min-height:48px}.contact-form .form-note{font-size:.875rem!important}.contact-form textarea{min-height:150px}.contact-detail h3{font-size:1rem}.contact-detail div>span{font-size:1rem;overflow-wrap:anywhere}.contact-detail small{font-size:.8125rem}.contact-detail .icon-box{flex-shrink:0}.contact-social>span{font-size:.6875rem}.contact-social small{font-size:.8125rem}.contact-workspace{aspect-ratio:1.7}.map-label{margin:16px;padding:20px;align-items:flex-start;gap:12px}.map-label h3{font-size:1rem;line-height:1.4}.map-label p{font-size:.8125rem!important}.map-placeholder{min-height:240px;height:auto}.map-label .icon-box{width:35px;height:35px}#form-result{padding:16px}#form-result p{font-size:.9375rem!important}#form-result .button{font-size:.875rem}.socials a,.contact-social .socials a{width:44px;height:44px;font-size:18px}.contact-social .socials{gap:12px}
.cta-section{padding-top:44px;padding-bottom:44px}.cta{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:30px 24px}.cta h2{font-size:clamp(1.75rem,7.5vw,2.25rem);letter-spacing:-.05em}.cta .eyebrow{font-size:.625rem;letter-spacing:.1em}.cta p:last-child{font-size:1rem;max-width:45ch}.cta>.button{margin:0;width:100%;max-width:320px}.cta-visual{right:-35px;left:auto;top:110px;opacity:.22}.footer-main{grid-template-columns:1fr;gap:24px}.footer-main>div:last-child{display:block;grid-column:auto}.footer-brand{grid-column:auto}.footer-brand p,.footer-brand p+p{font-size:.875rem}.footer-main h3{font-size:1rem;margin:12px 0}.footer-main>div>a:not(.footer-brand a){font-size:.875rem;min-height:44px;margin:0;display:flex;align-items:center;padding-block:8px;line-height:1.5}.footer-note{font-size:.8125rem}.footer-main>div:last-child .socials{margin-top:15px}.footer-bottom{font-size:.75rem;line-height:1.8;display:flex;flex-direction:column;gap:8px;padding-block:20px}.footer-motion .motion-toggle{margin:0}dialog,.article-dialog{width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:48px 24px 28px;overflow-y:auto;overscroll-behavior:contain}dialog h2,.article-dialog h2{font-size:1.75rem;letter-spacing:-.04em}dialog h3,.article-dialog h3{font-size:1.25rem}dialog p,.article-dialog>p{font-size:1rem;line-height:1.8}.dialog-close{width:44px;height:44px;top:5px;right:6px;padding:0;display:grid;place-items:center}.article-dialog .article-meta{font-size:.8125rem}
@media(min-width:375px){.brand img{width:110px}.nav-cta{font-size:.8125rem;padding:10px 14px}.nav-wrap{gap:12px}.hero-visual{--scene-scale:.6}}
@media(min-width:480px){.hero-actions{grid-template-columns:1fr 1fr}.hero-visual{--scene-scale:.75}.hero-bottom{align-items:center}.footer-main{grid-template-columns:1fr 1fr}.footer-brand,.footer-main>div:last-child{grid-column:1/-1}.feature-list{grid-template-columns:1fr 1fr}}
@media(min-width:768px){:root{--section-space:4.5rem;--page-gutter:1.75rem}.nav-wrap{height:82px}.nav-wrap nav{top:82px;max-height:calc(100dvh - 82px)}.brand img{width:120px}.nav-cta{font-size:.875rem;padding:12px 18px}.hero-row{padding-top:44px;padding-bottom:32px}.hero-copy{max-width:660px}.hero h1,.intro-copy h1,.page-intro h1{font-size:clamp(2.625rem,4.6vw,3rem)}.hero-visual{margin-top:32px;--scene-scale:1}.hero-actions{max-width:460px}.hero-assurance{font-size:.8125rem}.hero-bottom>span{max-width:none}.hero-bottom a{max-width:none}.home-team-photo+.value-grid,.value-grid,.quality-grid,.technology-grid,.insights-grid,.timeline{grid-template-columns:1fr 1fr;gap:24px}.home-purpose{grid-template-columns:1fr 1fr}.home-team-photo{aspect-ratio:1.8}.section-heading{flex-direction:row;align-items:flex-end;gap:30px;margin-bottom:36px}h2,.section-heading h2,.about-preview h2{font-size:clamp(2rem,3.8vw,2.625rem)}.section-heading>p{max-width:340px}.quality-heading h2{font-size:2rem}.quality-item{padding-right:18px}.technology-grid{gap:20px}.technology-foot{flex-wrap:nowrap;font-size:.875rem}.technology-foot>span:last-child{margin-left:auto;width:auto}.process-five{grid-template-columns:repeat(3,1fr);gap:45px 0;margin-top:55px}.process-five article{border-top:1px solid #c8ddc6;border-left:0;padding:0 22px 0 0;margin:0;position:relative}.process-five article:last-child{border-top-color:#c8ddc6}.process-marker{position:relative;left:auto;top:auto;margin:-19px 0 25px;display:flex}.process-marker>i{display:block}.stats-title{display:block}.stats{grid-template-columns:repeat(4,1fr)}.stats p{font-size:.9375rem}.project-art{aspect-ratio:1.35;min-height:250px}.commerce,.studio{padding:25px}.delivery{gap:14px;padding:22px}.project-info{gap:14px}.project-info p{max-width:none}.portfolio-toolbar{flex-direction:row;align-items:center}.why-intro{padding-right:310px;min-height:240px;position:relative}.why-intro .system-visual{position:absolute;right:0;top:25px;margin:0}.comparison-header{display:grid;font-size:.6875rem;padding:20px;gap:20px}.comparison-row{grid-template-columns:1fr 1fr;gap:20px;padding:24px}.testimonials .section-heading{flex-direction:row;align-items:flex-end}.testimonial-layout{grid-template-columns:.7fr 1.3fr;gap:30px}.testimonial-note{padding-left:0}.quote-mark{position:static;font-size:90px}.testimonial-note h3{margin-top:15px}.review-card{padding:28px}.review-card blockquote{font-size:1.375rem}.testimonial-note p{font-size:.9375rem!important}.insight-copy h3{font-size:1.5rem}.page-intro{padding-block:60px}.intro-layout{grid-template-columns:1.2fr 1fr;gap:32px}.intro-photo{aspect-ratio:1.05}.intro-visual{max-width:none}.about-team-photo{aspect-ratio:1.5}.timeline>div{padding-right:24px}.service-banner{min-height:380px}.service-banner h2{font-size:2rem}.service-description h3{font-size:1.75rem}.contact-form{padding:32px}.contact-form>h3{font-size:1.75rem}.map-placeholder{min-height:260px}.map-label{align-items:center}.map-label h3{font-size:1.25rem}.map-label p{font-size:.9375rem!important}.cta{padding:40px;gap:28px}.cta h2{font-size:2.25rem}.cta-visual{right:25px;top:100px}.footer-main{grid-template-columns:1.1fr .9fr 1.2fr;gap:30px}.footer-brand{grid-column:auto}.footer-main>div:last-child{grid-column:1/-1;display:block}.footer-bottom{flex-direction:row;justify-content:space-between;gap:25px}dialog,.article-dialog{padding:50px 36px 36px;max-height:85dvh}.article-dialog h2{font-size:2rem}}
@media(min-width:992px){:root{--section-space:5.5rem;--body-copy:1.125rem}.nav-wrap{height:88px;gap:24px}.brand img{width:125px}.menu-toggle{display:none}.nav-wrap nav{position:static;visibility:visible;opacity:1;transform:none;pointer-events:auto;flex-direction:row;align-items:center;gap:22px;padding:0;background:none;backdrop-filter:none;border:0;box-shadow:none;overflow:visible;max-height:none;transition:none;margin-left:auto}.nav-wrap nav>a{font-size:.875rem;min-height:44px;padding:10px 0}.nav-wrap nav>a.active{background:none}.nav-wrap nav>a.active:after{height:2px;width:16px;left:calc(50% - 8px);top:auto;bottom:3px}.nav-cta{margin-left:0;min-height:46px}.hero-row{min-height:0;padding-top:52px;padding-bottom:48px}.hero-copy{max-width:none}.hero h1{font-size:clamp(3.5rem,4.4vw,4rem);line-height:1.12}.hero .lead-copy{max-width:43ch}.hero-visual{margin:0;width:100%;--scene-scale:.83}.hero-assurance{font-size:.75rem;gap:12px}.hero-actions .button{font-size:.875rem}.hero-bottom{padding-block:18px}.hero-bottom>span{font-size:.6875rem}.hero-bottom a{font-size:.8125rem}.section-heading h2,h2,.about-preview h2{font-size:clamp(2.25rem,3.1vw,2.875rem)}.section-heading>p{font-size:1.125rem}.about-people{order:-1}.about-story{order:0}.home-team-photo+.value-grid{gap:14px}.home-team-photo+.value-grid>div{padding:18px}.home-team-photo+.value-grid p{font-size:1rem}.home-purpose p{font-size:1rem!important}#what-we-do .service-card p{font-size:1rem}.service-mini-features{font-size:.875rem}.quality-grid{grid-template-columns:repeat(5,1fr);gap:20px}.quality-item p{font-size:1rem!important}.quality-heading h2{font-size:1.75rem}.stats-title small{font-size:.75rem}.technology-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:16px}.technology-group{padding:22px 18px}.technology-label h3{font-size:1rem}.technology-badges b{font-size:.8125rem}.technology-badges>span{padding:9px 10px}.process-five{grid-template-columns:repeat(5,1fr)}.process-five p{font-size:1rem!important}.project-art{aspect-ratio:1.55;min-height:300px}.commerce,.studio{padding:30px 40px}.delivery{padding:25px;gap:25px}.project-info{flex-direction:row;align-items:center;gap:18px}.project-info>div{width:auto;flex:1;min-width:0}.project-info p{font-size:1rem!important}.project-open{flex-shrink:0;font-size:.8125rem}.why-layout{grid-template-columns:.85fr 1.15fr;gap:45px}.why-intro{padding:0;min-height:0}.why-intro .system-visual{position:relative;inset:auto;margin:25px 0 0}.why-intro h2{font-size:2.5rem}.comparison-row h3{font-size:.9375rem}.comparison-row p{font-size:1rem!important}.comparison-row strong{font-size:1rem}.review-card{padding:36px}.review-card blockquote{font-size:1.5rem}.review-author p{font-size:.875rem!important}.insights-grid{grid-template-columns:repeat(3,1fr)}.insight-copy{padding:23px}.insight-copy h3{font-size:1.375rem}.page-intro{padding-block:72px}.intro-copy h1,.page-intro h1{font-size:clamp(3rem,4.1vw,3.5rem)}.intro-layout{gap:45px}.intro-photo{aspect-ratio:1.25}.timeline{grid-template-columns:repeat(4,1fr)}.timeline p:not(.eyebrow){font-size:1rem!important}.service-detail{grid-template-columns:.95fr 1.05fr;gap:45px;padding-bottom:60px;margin-bottom:60px}.service-detail:nth-child(even){grid-template-columns:1.05fr .95fr}.service-detail:nth-child(even) .service-banner{order:2}.service-banner{min-height:430px}.service-description h3{font-size:1.875rem}.feature-list{font-size:1rem}.service-description .tech-tags{font-size:1rem!important}.cloud-section{grid-template-columns:1fr 1fr;gap:50px;padding-block:60px}.cloud-section h2{font-size:2.25rem}.contact-section{padding-top:60px}.contact-workspace{aspect-ratio:1.6}.contact-form{padding:35px}.cta{flex-direction:row;align-items:center;justify-content:space-between;padding:50px}.cta h2{font-size:2.625rem}.cta>.button{width:auto;max-width:280px;flex-shrink:0}.cta-visual{left:51%;right:auto;top:28%}.footer-main{grid-template-columns:1.25fr .75fr 1.2fr 1fr;gap:28px}.footer-main>div:last-child{grid-column:auto}.footer-bottom{font-size:.8125rem}.footer-main h3{font-size:.9375rem}.footer-main>div>a:not(.footer-brand a){font-size:.875rem}.footer-note{font-size:.8125rem}}
@media(min-width:1200px){.hero-visual{--scene-scale:1}.nav-wrap nav{gap:30px;margin-left:70px}.nav-cta{margin-left:auto}.hero-row{padding-block:60px}.service-detail{gap:65px}.technology-group{padding:25px 22px}.technology-badges b{font-size:.875rem}.section-heading{margin-bottom:44px}.hero-assurance{font-size:.8125rem}.cta{padding:60px}}
@media(min-width:1600px){.container{max-width:1380px}:root{--section-space:6.25rem}.hero-visual{max-width:560px;margin:auto}.hero-row{padding-block:72px}.hero h1{font-size:4rem}.intro-copy h1,.page-intro h1{font-size:3.5rem}.project-art{aspect-ratio:1.7}.service-thumbnail{aspect-ratio:2}.service-detail{gap:80px}}
@media(hover:none),(pointer:coarse){.hero-visual .code-float,.hero-visual .floating-label,.hero-visual .success-float,.hero-tech-chip,.hero-atmosphere>span,.orbit,.system-node,.cta-visual{animation:none}.hero-atmosphere>span{filter:blur(18px)}.button:hover,.service-card:hover,#what-we-do .service-card:hover,.insight-card:hover,.value-card:hover{transform:none}.project-item:hover .mini-shop,.project-item:hover .platform-window{transform:rotate(-4deg)}.project-hover-overlay{display:none}.editorial-image,.service-thumbnail img{transition:none}}
@media(max-height:500px) and (max-width:991px){.nav-wrap{height:64px}.nav-wrap nav{top:64px;max-height:calc(100dvh - 64px)}.hero-row{padding-top:24px}.page-intro{padding-block:32px}dialog,.article-dialog{max-height:calc(100dvh - 16px);margin-block:8px}}
.hero-scene{isolation:isolate}.hero-visual .hero-photo{z-index:0}.project-art{width:100%;min-height:0;aspect-ratio:1.25}
@media(min-width:768px){.project-art{aspect-ratio:1.35}}
@media(min-width:992px){.project-art{aspect-ratio:1.55}}
@media(min-width:1600px){.project-art{aspect-ratio:1.7}}
@media(prefers-reduced-motion:reduce){.nav-wrap nav{transition:none}.hero-scene{transition:none}}

.service-description .sv-list-link{display:flex;width:fit-content;margin:20px 0 12px;}

.service-example-image{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:18px;box-shadow:0 18px 45px #183e3412}.sv-capabilities,.sv-steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.sv-related{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.service-view-intro h1{overflow-wrap:anywhere}
.dynamic-project-cover,.testimonial-photo{width:100%;height:100%;object-fit:cover}.project-letter{display:grid;place-items:center;min-height:300px;font-size:100px;font-weight:700;color:#209879;background:#e7f4ed}.testimonial-photo{width:52px;height:52px;border-radius:50%}.content-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.content-cover{width:100%;max-height:540px;object-fit:cover;border-radius:20px;box-shadow:0 22px 60px #183e3418}.content-body{max-width:900px}.content-body>div,.article-body{max-width:760px;margin:auto}.content-body p,.article-body p{font-size:16px;line-height:1.9}.article-body h3{margin-top:40px}.content-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}.content-gallery img{width:100%;border-radius:16px}.insight-open{display:block;color:inherit}.content-detail-hero{padding-bottom:80px}@media(max-width:767px){.content-hero-grid{grid-template-columns:1fr;gap:28px}.content-gallery{grid-template-columns:1fr}.content-detail-hero{padding-bottom:45px}}
.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-feedback{border-radius:12px;padding:22px;margin-bottom:24px}.contact-feedback.success{background:#e8f6ed;border:1px solid #b8dec6}.contact-feedback.error{background:#fff1ed;border:1px solid #efc1b6}.contact-feedback h4{margin:0 0 8px}.contact-feedback p,.contact-feedback ul{margin:0}

/* Equal technology category cards. Keep this after the desktop grid rules above. */
.technology-section .technology-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:1fr;
  align-items:stretch;
}
.technology-section .technology-group,
.technology-section .technology-group.motion-ready,
.technology-section .technology-group.motion-ready.is-visible{
  width:100%;
  min-width:0;
  height:100%;
  min-height:225px;
  box-sizing:border-box;
}
@media(max-width:991px){
  .technology-section .technology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .technology-section .technology-grid{grid-template-columns:1fr;grid-auto-rows:auto}
  .technology-section .technology-group,
  .technology-section .technology-group.motion-ready,
  .technology-section .technology-group.motion-ready.is-visible{height:auto;min-height:0}
}

/* Client Experiences carousel */
.testimonials .review-stage{
  position:relative;
  display:grid;
  overflow:hidden;
  border-radius:18px;
  isolation:isolate;
  outline:none;
  touch-action:pan-y;
}
.testimonials .review-stage:focus-visible{box-shadow:0 0 0 3px rgba(32,152,121,.22)}
.testimonials .review-card,
.testimonials .review-card[hidden]{
  display:flex;
  grid-area:1/1;
  width:100%;
  min-width:0;
  height:100%;
  flex-direction:column;
  justify-content:space-between;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateX(46px) scale(.985);
  transition:opacity .42s ease,transform .52s cubic-bezier(.22,1,.36,1),visibility .52s;
}
.testimonials .review-card.is-before{transform:translateX(-46px) scale(.985)}
.testimonials .review-card.is-active,
.testimonials .review-card.review-enter{
  z-index:2;
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateX(0) scale(1);
}
.testimonials .review-stage:not(.carousel-ready) .review-card:first-of-type,
.testimonials .review-stage:not(.carousel-ready) .review-card:first-of-type[hidden]{
  display:flex;
  z-index:2;
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.testimonials .review-card blockquote{flex:1}
.testimonials .review-dots{align-items:center;min-height:44px}
.testimonials .review-dots button{
  position:relative;
  width:34px;
  height:44px;
  border-radius:0;
  background:transparent;
}
.testimonials .review-dots button::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#bfd3ba;
  transform:translate(-50%,-50%);
  transition:width .25s ease,background-color .25s ease;
}
.testimonials .review-dots button[aria-pressed="true"]::after{width:26px;background:var(--green)}
.testimonials .testimonial-controls button:disabled{opacity:.4;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){
  .testimonials .review-card,.testimonials .review-card[hidden]{transition:none;transform:none}
}
