:root{--ink:#0b1f33;--ink-soft:#16324d;--slate:#3d556b;--muted:#6b8296;--line:#d7e1ea;--surface:#f4f7fa;--surface-elevated:#fff;--accent:#0f8f7a;--accent-strong:#0b7262;--accent-soft:#d8f3ed;--warm:#e8a54b;--danger:#b42318;--success:#067647;--shadow:0 18px 40px #0b1f3314;--radius:18px;--radius-sm:12px;--container:1120px;--nav-height:76px;--font-display:"Sora", sans-serif;--font-body:"Source Sans 3", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 8px)}body{font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(circle at 12% -10%,#0f8f7a1f,#0000 36%),radial-gradient(circle at 90% 8%,#e8a54b1a,#0000 28%),linear-gradient(#eef3f7 0%,#f7fafc 42%,#eef3f7 100%);margin:0;font-size:1.0625rem;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;line-height:1.15}p{margin:0}ul{margin:0;padding:0;list-style:none}.skip-link{z-index:1000;background:var(--ink);color:#fff;border-radius:999px;padding:.75rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:min(100% - 2rem, var(--container));margin-inline:auto}.section{padding:clamp(4.5rem,8vw,7rem) 0;position:relative}.section--alt{background:linear-gradient(#ffffff8c,#f4f7fae6)}.section__eyebrow{color:var(--accent-strong);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.55rem;margin-bottom:.9rem;font-size:.8rem;font-weight:600;display:inline-flex}.section__eyebrow:before{content:"";background:var(--accent);width:1.5rem;height:2px}.section__title{max-width:16ch;font-size:clamp(2rem,4vw,3rem)}.section__lead{max-width:58ch;color:var(--slate);margin-top:1rem;font-size:1.125rem}.section__header{margin-bottom:clamp(2rem,4vw,3rem)}.btn{min-height:3rem;font-family:var(--font-display);cursor:pointer;transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.8rem 1.35rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:focus-visible,.nav__link:focus-visible,.nav__toggle:focus-visible,.faq__trigger:focus-visible,.logo:focus-visible{outline-offset:3px;outline:3px solid #0f8f7a73}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px #0f8f7a47}.btn--primary:hover{background:var(--accent-strong);transform:translateY(-2px)}.btn--secondary{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border-color:#ffffff59}.btn--secondary:hover{background:#fff3;transform:translateY(-2px)}.btn--ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn--ghost:hover{border-color:var(--accent);color:var(--accent-strong);transform:translateY(-2px)}.btn--full{width:100%}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal,.hero h1,.hero__copy,.hero__actions{opacity:1!important;transform:none!important}.hero__media img{transform:none!important}}.nav{z-index:100;height:var(--nav-height);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);background:#f4f7fad1;border-bottom:1px solid #0000;align-items:center;display:flex;position:sticky;top:0}.nav.is-scrolled{background:#ffffffeb;border-bottom-color:#d7e1eae6;box-shadow:0 8px 24px #0b1f330d}.nav__inner{width:min(100% - 2rem, var(--container));justify-content:space-between;align-items:center;gap:1rem;margin-inline:auto;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.03em;align-items:center;gap:.7rem;font-size:1.05rem;font-weight:700;display:inline-flex}.logo__mark{background:var(--ink);color:#2dd4bf;border-radius:.7rem;flex-shrink:0;place-items:center;width:2.15rem;height:2.15rem;font-size:.95rem;display:grid}.logo__text span{color:var(--accent-strong)}.nav__links{align-items:center;gap:.15rem;display:none}.nav__link{color:var(--slate);transition:color .2s var(--ease), background .2s var(--ease);border-radius:999px;padding:.55rem .7rem;font-size:.92rem;font-weight:600}.nav__link:hover,.nav__link.is-active{color:var(--ink);background:#0f8f7a14}.nav__cta{display:none}.nav__toggle{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:.85rem;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:2.75rem;height:2.75rem;display:inline-flex}.nav__toggle span{background:var(--ink);width:1.15rem;height:2px;transition:transform .25s var(--ease), opacity .25s var(--ease);border-radius:999px}.nav__toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.nav__toggle.is-open span:nth-child(2){opacity:0}.nav__toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav__mobile{inset:var(--nav-height) 0 auto 0;border-bottom:1px solid var(--line);opacity:0;pointer-events:none;transition:transform .35s var(--ease), opacity .35s var(--ease);z-index:99;background:#fffffffa;gap:.35rem;padding:1rem 1rem 1.4rem;display:grid;position:fixed;transform:translateY(-120%)}.nav__mobile.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav__mobile .nav__link{padding:.9rem 1rem}.nav__mobile .btn{margin-top:.5rem}@media (width>=980px){.nav__links,.nav__cta{display:flex}.nav__toggle,.nav__mobile{display:none}}.hero{min-height:calc(100svh - var(--nav-height));color:#fff;isolation:isolate;align-items:center;display:grid;position:relative;overflow:hidden}.hero__media{z-index:-2;position:absolute;inset:0}.hero__media img{object-fit:cover;width:100%;height:100%;animation:18s ease-in-out infinite alternate heroDrift;transform:scale(1.04)}.hero__overlay{z-index:-1;background:linear-gradient(90deg,#081624e0 0%,#081624b8 42%,#08162461 100%),linear-gradient(#08162440 0%,#081624bf 100%);position:absolute;inset:0}.hero__content{width:min(100% - 2rem, var(--container));max-width:760px;margin-inline:auto;margin-left:max(1rem, calc((100% - var(--container)) / 2));justify-self:start;padding:clamp(3rem,8vw,5.5rem) 0}.hero h1{color:#fff;opacity:0;max-width:12ch;animation:fadeUp .85s var(--ease) .12s forwards;font-size:clamp(2.55rem,6.4vw,4.6rem)}.hero__copy{color:#f0f4f8e0;opacity:0;max-width:42ch;animation:fadeUp .85s var(--ease) .24s forwards;margin-top:1.25rem;font-size:clamp(1.05rem,2vw,1.2rem)}.hero__actions{opacity:0;animation:fadeUp .85s var(--ease) .36s forwards;flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes heroDrift{0%{transform:scale(1.04)translate(0,0)}to{transform:scale(1.08)translate(-1.5%,-1%)}}.about__grid{gap:2rem;display:grid}.about__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.stat{border-radius:var(--radius);background:var(--surface-elevated);transition:transform .3s var(--ease), border-color .3s var(--ease);border:1px solid #d7e1eae6;padding:1.35rem 1.2rem}.stat:hover{border-color:#0f8f7a59;transform:translateY(-4px)}.stat strong{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);font-size:clamp(1.8rem,3vw,2.3rem);display:block}.stat span{color:var(--muted);font-size:.95rem}.about__body{color:var(--slate);gap:1rem;font-size:1.08rem;display:grid}@media (width>=900px){.about__grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:3.5rem}}.services__grid{gap:1.1rem;display:grid}.service-card{border-radius:var(--radius);background:var(--surface-elevated);border:1px solid var(--line);transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);padding:1.5rem}.service-card:hover{box-shadow:var(--shadow);border-color:#0f8f7a59;transform:translateY(-6px)}.service-card h3{margin-bottom:.7rem;font-size:1.2rem}.service-card p{color:var(--slate);margin-bottom:1rem}.service-card li{color:var(--ink-soft);margin-bottom:.4rem;padding-left:1rem;font-size:.98rem;position:relative}.service-card li:before{content:"";background:var(--accent);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.55rem;left:0}@media (width>=760px){.services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.services__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.why__grid{gap:1rem;display:grid}.why-card{border-radius:var(--radius);color:#f0f4f8e6;min-height:100%;transition:transform .3s var(--ease);background:linear-gradient(160deg,#0b1f33,#16324d);padding:1.5rem 1.4rem}.why-card:hover{transform:translateY(-5px)}.why-card h3{color:#fff;margin-bottom:.65rem;font-size:1.2rem}.why-card p{color:#f0f4f8c7}@media (width>=800px){.why__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tech__principles{gap:1rem;margin-bottom:clamp(1.75rem,3.5vw,2.5rem);display:grid}.tech-principle{border-radius:var(--radius);color:#f0f4f8d6;min-height:100%;transition:transform .3s var(--ease);background:linear-gradient(155deg,#0b1f33 0%,#134056 100%);padding:1.35rem 1.3rem 1.4rem;position:relative;overflow:hidden}.tech-principle:hover{transform:translateY(-4px)}.tech-principle__index{font-family:var(--font-display);letter-spacing:.14em;color:#5eead4;margin-bottom:.7rem;font-size:.78rem;font-weight:700;display:block}.tech-principle h3{color:#fff;margin-bottom:.55rem;font-size:1.15rem}.tech-principle p{color:#f0f4f8c2;font-size:.98rem}.tech__grid{gap:1.1rem;display:grid}.tech-card{border-radius:var(--radius);border:1px solid var(--line);transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);background:linear-gradient(#fffffff5,#f7fafceb);flex-direction:column;gap:1rem;min-height:100%;padding:1.45rem 1.3rem 1.4rem;display:flex;box-shadow:inset 0 1px #fffc}.tech-card:hover{box-shadow:var(--shadow);border-color:#0f8f7a59;transform:translateY(-6px)}.tech-card__top{align-items:flex-start;gap:.95rem;display:flex}.tech-card__icon{width:2.7rem;height:2.7rem;color:var(--accent-strong);background:var(--accent-soft);border:1px solid #0f8f7a2e;border-radius:.85rem;flex-shrink:0;place-items:center;display:grid}.tech-card__icon svg{width:1.25rem;height:1.25rem}.tech-card h3{margin-bottom:.3rem;font-size:1.12rem}.tech-card__focus{color:var(--accent-strong);font-family:var(--font-display);letter-spacing:.02em;font-size:.78rem;font-weight:600;line-height:1.45}.tech-card__summary{color:var(--slate);font-size:.98rem}.tech-card__items{flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.15rem;display:flex}.tech-card__items li{border:1px solid var(--line);color:var(--ink-soft);transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);background:#fff;border-radius:999px;padding:.42rem .75rem;font-size:.88rem;font-weight:600}.tech-card:hover .tech-card__items li{border-color:#0f8f7a38}.tech-card__items li:hover{background:var(--accent-soft);color:var(--accent-strong);border-color:#0f8f7a59}.tech__footnote{max-width:68ch;color:var(--slate);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#ffffffb3;margin-top:clamp(1.6rem,3vw,2.2rem);padding:1.1rem 1.2rem;font-size:1.02rem}@media (width>=800px){.tech__principles{grid-template-columns:repeat(3,minmax(0,1fr))}.tech__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.tech__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.projects__grid{gap:1.1rem;display:grid}.project-card{border-radius:var(--radius);background:var(--surface-elevated);border:1px solid var(--line);transition:transform .3s var(--ease), box-shadow .3s var(--ease);padding:1.6rem 1.4rem;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(180deg, var(--accent), var(--warm));opacity:0;width:4px;transition:opacity .3s var(--ease);position:absolute;inset:0 auto 0 0}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}.project-card:hover:before{opacity:1}.project-card__industry{color:var(--accent-strong);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.7rem;font-size:.78rem;font-weight:600;display:inline-block}.project-card h3{margin-bottom:.7rem;font-size:1.25rem}.project-card p{color:var(--slate);margin-bottom:1.1rem}.project-card__outcome{font-family:var(--font-display);color:var(--ink);font-weight:600}@media (width>=800px){.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.process__grid{counter-reset:none;gap:1rem;display:grid}.process-step{border-radius:var(--radius);border:1px solid var(--line);transition:border-color .3s var(--ease);background:#fff;padding:1.5rem 1.35rem}.process-step:hover{border-color:#0f8f7a66}.process-step__number{font-family:var(--font-display);letter-spacing:.12em;color:var(--accent);margin-bottom:.8rem;font-size:.85rem;font-weight:700}.process-step h3{margin-bottom:.6rem;font-size:1.25rem}.process-step p{color:var(--slate)}@media (width>=900px){.process__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.testimonials__grid{gap:1.1rem;display:grid}.testimonial{border-radius:var(--radius);border:1px solid var(--line);min-height:100%;transition:transform .3s var(--ease), box-shadow .3s var(--ease);background:#fff;flex-direction:column;gap:1.4rem;padding:1.7rem 1.45rem;display:flex}.testimonial:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.testimonial blockquote{color:var(--ink-soft);margin:0;font-size:1.08rem;line-height:1.7}.testimonial figcaption{margin-top:auto}.testimonial strong{font-family:var(--font-display);font-size:1rem;display:block}.testimonial span{color:var(--muted);font-size:.95rem}@media (width>=900px){.testimonials__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.faq__list{gap:.8rem;max-width:820px;display:grid}.faq__item{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overflow:hidden}.faq__trigger{text-align:left;cursor:pointer;width:100%;font-family:var(--font-display);color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.2rem;font-size:1.02rem;font-weight:600;display:flex}.faq__icon{background:var(--accent-soft);width:1.6rem;height:1.6rem;color:var(--accent-strong);transition:transform .25s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.faq__item.is-open .faq__icon{transform:rotate(45deg)}.faq__panel{max-height:0;transition:max-height .35s var(--ease);overflow:hidden}.faq__item.is-open .faq__panel{max-height:420px}.faq__panel p{color:var(--slate);padding:0 1.2rem 1.2rem}.contact__grid{gap:1.5rem;display:grid}.contact__info{border-radius:var(--radius);color:#f0f4f8e0;background:linear-gradient(155deg,#0b1f33 0%,#134056 100%);padding:1.7rem 1.4rem}.contact__info h3{color:#fff;margin-bottom:.8rem;font-size:1.55rem}.contact__info>p{color:#f0f4f8c7;margin-bottom:1.5rem}.contact__detail{gap:.2rem;margin-bottom:1.1rem;display:grid}.contact__detail span{letter-spacing:.1em;text-transform:uppercase;color:#5eead4;font-size:.8rem;font-family:var(--font-display);font-weight:600}.contact__detail a:hover,.contact__detail a:focus-visible{color:#fff;text-decoration:underline}.contact__form{border-radius:var(--radius);border:1px solid var(--line);background:#fff;gap:1rem;padding:1.6rem 1.35rem;display:grid}.form-row{gap:1rem;display:grid}.field{gap:.4rem;display:grid}.field label{font-size:.95rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);transition:border-color .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease);border-radius:.85rem;padding:.85rem .95rem}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#0f8f7a8c;outline:none;box-shadow:0 0 0 4px #0f8f7a1f}.field textarea{resize:vertical;min-height:140px}.field__error{color:var(--danger);font-size:.88rem}.form-status{color:var(--success);background:#e8f8f1;border:1px solid #abe2c6;border-radius:.85rem;padding:.85rem 1rem;font-weight:600}@media (width>=700px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.contact__grid{grid-template-columns:.9fr 1.1fr;align-items:stretch}}.footer{color:#f0f4f8c7;background:#071624;padding:3.5rem 0 1.75rem}.footer__grid{border-bottom:1px solid #ffffff14;gap:2rem;padding-bottom:2.25rem;display:grid}.footer__brand .logo{color:#fff;margin-bottom:.9rem}.footer__brand p{max-width:36ch}.footer h4{color:#fff;margin-bottom:.9rem;font-size:.95rem}.footer__links{gap:.55rem;display:grid}.footer__links a{color:#f0f4f8b8;transition:color .2s var(--ease)}.footer__links a:hover{color:#5eead4}.footer__bottom{flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-top:1.4rem;font-size:.92rem;display:flex}.footer__bottom a{color:#5eead4}@media (width>=800px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr}}
