.value-section{position:relative;isolation:isolate;overflow:hidden;background:#f4f7fb}.value-section::before{content:"";position:absolute;z-index:-1;right:-170px;top:-180px;width:480px;height:480px;border:1px solid #d7e5ee;border-radius:50%;box-shadow:0 0 0 72px #cce8e519,0 0 0 145px #cce8e511;animation:zi-orbit 18s ease-in-out infinite alternate}.value-section .section-heading{max-width:750px}.value-section .section-heading h2{font-size:clamp(2.05rem,3.5vw,3rem);line-height:1.08}.value-section .section-heading p{font-size:1.04rem;line-height:1.6}.value-section .section-heading::after{content:"";display:block;width:58px;height:4px;margin-top:22px;border-radius:4px;background:#29c8ba;transform-origin:left;animation:zi-accent 1.1s ease both}.service-cards{gap:19px}.service-tile{min-height:0;overflow:hidden;padding:0;border:1px solid #dde5ee;border-radius:19px;background:#fff;box-shadow:0 9px 28px #0b15300d;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.service-tile:hover{transform:translateY(-5px);border-color:#a8dcd8;box-shadow:0 22px 42px #0b153020}.service-tile .service-card-media{position:relative;display:block;overflow:hidden;background:#c8d6df}.service-tile .service-card-media::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,#0b153028);pointer-events:none}.service-tile .service-card-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .55s ease}.service-tile:hover .service-card-media img{transform:scale(1.05)}.service-tile-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:20px 22px 22px}.service-tile .service-tile-body h3{margin:0 0 9px;font-size:1.23rem;line-height:1.22}.service-tile .service-tile-body p{margin:0 0 20px;color:#5a697f;font-size:.89rem;line-height:1.5}.service-tile .service-open{display:inline-flex;align-items:center;justify-content:center;gap:18px;width:auto;min-height:43px;margin-top:auto;padding:0 16px;border:1px solid #d4dfeb;border-radius:999px;background:#f5f9fb;color:#1c3161;font-size:.78rem;letter-spacing:.01em;transition:background .2s,border-color .2s,transform .2s}.service-tile .service-open span{font-size:1.15rem;transition:transform .2s}.service-tile .service-open:hover,.service-tile .service-open:focus-visible{border-color:#28c8bb;background:#dff8f5;color:#092d2b}.service-tile .service-open:hover span{transform:translate(2px,-2px)}.service-modal{width:min(990px,calc(100vw - 30px));max-height:calc(100dvh - 28px);overflow:auto;border-radius:22px}.service-modal-layout{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);min-height:490px}.service-modal-visual{position:relative;background:#0b1530}.service-modal-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-modal article{display:flex;flex-direction:column;padding:clamp(25px,3vw,39px)}.service-modal .modal-close{border-color:#d6dfe9}.service-modal-intro{margin:16px 0 23px;color:#46566d;font-size:1.03rem;line-height:1.5}.service-modal-grid{grid-template-columns:1fr;gap:11px;margin:0 0 26px}.service-modal-grid section{padding:15px 17px;border-left:3px solid #2ac8bb;background:#f6f8fb}.service-modal-grid h3{margin-bottom:5px;color:#53617a;font-size:.7rem}.service-modal-grid p{color:#35465e;font-size:.87rem}.service-modal-actions{margin-top:auto}.service-modal-actions .button{min-height:45px;padding-inline:19px;font-size:.81rem}.service-portfolio-link{min-height:44px;border:0;background:transparent;color:#27458b;font-weight:800;cursor:pointer}.service-portfolio-link span{margin-left:5px}.simple-cta{position:relative;isolation:isolate;overflow:hidden;gap:28px;background:linear-gradient(112deg,#101b38,#1d2d55)}.simple-cta::after{content:"";position:absolute;z-index:-1;width:390px;height:390px;right:14%;top:-280px;border:1px solid #ffffff2b;border-radius:50%;box-shadow:0 0 0 58px #ffffff0b,0 0 0 125px #ffffff09;animation:zi-orbit 20s ease-in-out infinite alternate}.simple-cta h2{font-size:clamp(1.8rem,2.6vw,2.45rem)}.simple-cta .cta-actions{display:flex;flex-wrap:wrap;gap:12px}.simple-cta .cta-actions .button.outline{border-color:#ffffff66}.pro-footer.site-footer{position:relative;display:block;overflow:hidden;padding:0;background:#080f20;color:#adbed3}.pro-footer::before{content:"";position:absolute;right:-180px;top:220px;width:420px;height:420px;border:1px solid #55cfc82a;border-radius:50%;box-shadow:0 0 0 70px #55cfc809,0 0 0 145px #55cfc807;pointer-events:none}.pro-footer .footer-lead{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:43px var(--gutter);border-bottom:1px solid #ffffff22;background:#101b37}.pro-footer .footer-lead .eyebrow{margin:0 0 7px;color:#74e1d8}.pro-footer .footer-lead h2{max-width:630px;margin:0;color:#fff;font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.13;letter-spacing:-.035em}.pro-footer .footer-main{position:relative;display:grid;grid-template-columns:minmax(250px,1.6fr) repeat(2,minmax(140px,.7fr)) minmax(190px,.95fr);gap:clamp(22px,3.5vw,58px);padding:52px var(--gutter) 45px}.pro-footer .footer-identity img{width:180px}.pro-footer .footer-identity p{max-width:300px;margin:18px 0 0;color:#aebbd0;font-size:.9rem;line-height:1.55}.pro-footer nav{display:grid;align-content:start;gap:11px}.pro-footer nav strong,.pro-footer .footer-contact strong{margin-bottom:6px;color:#fff;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.pro-footer nav a,.pro-footer nav button,.pro-footer .footer-contact a{padding:0;border:0;background:transparent;color:#aebbd0;font:500 .85rem Inter,"Segoe UI",sans-serif;text-align:left;text-decoration:none;cursor:pointer}.pro-footer nav :is(a,button):hover,.pro-footer .footer-contact a:hover{color:#72e0d6}.pro-footer .footer-contact{display:grid;align-content:start;gap:10px}.pro-footer .footer-contact p{margin:0;color:#aebbd0;font-size:.85rem}.pro-footer .footer-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px var(--gutter);border-top:1px solid #ffffff1b;color:#8798ae;font-size:.76rem}.pro-footer .footer-bottom a{color:#aebbd0;text-decoration:none}.pro-footer .footer-bottom a:hover{color:#fff}.pro-footer .footer-bottom small{grid-column:auto;padding:0;border:0}.about-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,80px)}.about-story-media,.about-gallery figure{margin:0;overflow:hidden;border-radius:18px;background:#d9e1e9}.about-story-media img,.about-gallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .45s}.about-story-media:hover img,.about-gallery figure:hover img{transform:scale(1.03)}.about-story-copy{max-width:530px}.about-story-copy h2{margin:0 0 15px;font-size:clamp(1.85rem,2.8vw,2.55rem);line-height:1.12}.about-story-copy p{color:#5c6a7e;font-size:1rem;line-height:1.64}.about-gallery{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:28px}.about-gallery figcaption{padding:13px 2px;color:#34445b;font-size:.82rem;font-weight:700}.about-story-band{position:relative;overflow:hidden}.about-story-band::before{content:"";position:absolute;left:-90px;bottom:-140px;width:270px;height:270px;border:1px solid #c1d7d9;border-radius:50%;box-shadow:0 0 0 45px #bee0de33}.about-story-band>.section-inner{position:relative}@keyframes zi-orbit{to{transform:translate3d(-20px,26px,0)}}@keyframes zi-accent{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:900px){.pro-footer .footer-main{grid-template-columns:1.2fr 1fr 1fr}.pro-footer .footer-contact{grid-column:1/-1}.service-modal-layout{grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr)}}@media(max-width:640px){.service-cards{gap:16px}.service-tile .service-card-media img{aspect-ratio:16/9}.service-modal-layout{display:block}.service-modal-visual{height:190px}.service-modal-visual img{position:static}.service-modal article{padding:22px}.service-modal-grid{gap:8px}.service-modal-actions{align-items:stretch;flex-direction:column}.service-modal-actions .button{text-align:center}.pro-footer .footer-lead{align-items:flex-start;flex-direction:column;padding:35px 20px}.pro-footer .footer-main{grid-template-columns:1fr 1fr;gap:28px;padding:39px 20px}.pro-footer .footer-identity,.pro-footer .footer-contact{grid-column:1/-1}.pro-footer .footer-bottom{align-items:flex-start;flex-direction:column;padding:20px}.about-story,.about-gallery{grid-template-columns:1fr}.about-story-copy{order:-1}}@media(prefers-reduced-motion:reduce){.value-section::before,.simple-cta::after,.value-section .section-heading::after{animation:none}.service-tile,.service-tile .service-card-media img,.about-gallery img,.about-story-media img{transition:none}}
html .service-tile .service-card-media img{height:205px;aspect-ratio:auto;object-fit:cover}@media(max-width:640px){html .service-tile .service-card-media img{height:190px}}
.service-cards>.service-tile:nth-child(7):last-child{grid-column:2}@media(max-width:900px){.service-cards>.service-tile:nth-child(7):last-child{grid-column:1/-1;width:calc(50% - 10px);justify-self:center}}@media(max-width:640px){.service-cards>.service-tile:nth-child(7):last-child{grid-column:auto;width:auto}}

/* 2026 mobile/accessibility finish: consistent keyboard affordances, touch
   targets and safe-area handling across every public page. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid #29c8ba;
  outline-offset:3px;
}
:where(.button,button,input,select,textarea){min-height:44px}
body{padding-bottom:env(safe-area-inset-bottom,0)}
@media(max-width:640px){
  :where(input,select,textarea){font-size:16px}
  .site-header{padding-top:env(safe-area-inset-top,0)}
  .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px}
  .service-modal{width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0));margin:auto 0 0;border-radius:24px 24px 0 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Story-led public experience */
.image-points{align-items:stretch}.image-point{display:flex;min-height:100%;flex-direction:column;overflow:hidden;padding:0;border:1px solid #dce5ed;border-radius:20px;background:#fff;box-shadow:0 14px 36px #10203c0e}.image-point .point-image{overflow:hidden;background:#d8e1e7}.image-point .point-image img{display:block;width:100%;height:210px;object-fit:cover;transition:transform .55s ease}.image-point>div:last-child{padding:23px 24px 27px}.image-point h3{margin:0 0 10px}.image-point p{margin:0;color:#5b6a7e;line-height:1.58}.image-point:hover .point-image img{transform:scale(1.045)}
.image-strategy .strategy-card{padding:0}.image-strategy .strategy-card::before{display:none}.strategy-card-image{position:relative;overflow:hidden;background:#d8e1e7}.strategy-card-image::after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,#07152f45)}.strategy-card-image img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .55s ease}.strategy-card:hover .strategy-card-image img{transform:scale(1.04)}.strategy-card-body{padding:25px 27px 29px}.solution-section{overflow:hidden}
.footer-v2 .footer-lead{padding-block:48px}.footer-v2 .footer-main{grid-template-columns:minmax(280px,1.65fr) repeat(2,minmax(135px,.65fr)) minmax(215px,.9fr)}.footer-v2 .footer-identity blockquote{max-width:440px;margin:24px 0 0;padding-left:18px;border-left:3px solid #35c9bc;color:#fff;font-size:1.02rem;font-weight:750;line-height:1.55}.footer-v2 .footer-identity p{max-width:430px;margin-top:15px}.footer-v2 .footer-contact address{color:#91a3ba;font-size:.8rem;font-style:normal;line-height:1.55}.footer-social{display:flex;gap:9px;margin-top:9px}.footer-social a{display:grid!important;width:42px;height:42px;padding:0!important;border:1px solid #ffffff29!important;border-radius:50%!important;place-items:center;transition:background .2s,border-color .2s,transform .2s}.footer-social a:hover{border-color:#64ded4!important;background:#64ded41e;transform:translateY(-2px)}.footer-social svg{width:19px;height:19px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-v2 .footer-bottom>div{display:flex;align-items:center;gap:18px}.footer-v2 .footer-bottom span{color:#70839d}
@media(max-width:960px){.footer-v2 .footer-main{grid-template-columns:1.25fr .75fr .75fr}.footer-v2 .footer-contact{grid-column:1/-1}}
@media(max-width:680px){.image-point .point-image img,.strategy-card-image img{height:190px}.footer-v2 .footer-main{grid-template-columns:1fr 1fr}.footer-v2 .footer-identity,.footer-v2 .footer-contact{grid-column:1/-1}.footer-v2 .footer-bottom>div{align-items:flex-start;flex-direction:column;gap:8px}.footer-v2 .footer-identity blockquote{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.image-point .point-image img,.strategy-card-image img,.footer-social a{transition:none}}
[data-typewriter]{display:inline-block;min-width:8.5em;font:inherit}[data-typewriter]::after{content:"";display:inline-block;width:2px;height:1em;margin-left:4px;background:currentColor;vertical-align:-.13em;animation:type-caret .8s steps(1) infinite}@keyframes type-caret{50%{opacity:0}}@media(prefers-reduced-motion:reduce){[data-typewriter]::after{animation:none}}
.simple-hero .hero-lede strong{color:#fff;font-weight:800}
