@font-face{font-family:Montserrat;src:url('assets/brand/montserrat.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}

/* Shared reading scale. Smaller screens reflow; they never shrink the content. */
:root{--navy:#07182d;--navy-soft:#0e2643;--blue:#075dcc;--cyan:#72d7ed;--paper:#07182d;--ink:#11283e;--muted:#b6c7db;--line:#29415c;--ease:cubic-bezier(.2,.7,.2,1);font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--navy);font-synthesis:none;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:28px;-webkit-text-size-adjust:100%;--accent:#94ccff}
*,*::before,*::after{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.8;color:#eef4fc}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.65}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650;line-height:1.2;text-wrap:balance}ul,ol{margin:0;padding:0;list-style:none}fieldset{min-width:0;margin:0;padding:0;border:0}legend{padding:0}textarea{resize:vertical}strong{font-weight:650}[hidden]{display:none!important}::selection{background:#b3eaff;color:var(--navy)}:focus-visible{outline:3px solid #009ad5;outline-offset:4px}
.container{width:min(1320px,calc(100% - 96px));margin-inline:auto}.section{padding-block:clamp(80px,8.5vw,128px)}.section h2{font-size:clamp(34px,3.8vw,56px);letter-spacing:-.04em;line-height:1.16}.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:650;letter-spacing:.08em;line-height:1.7}.section-number{color:var(--accent)}.muted{color:#91abc6}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px}.section-top>*,.section-side,.hero-inner>*,.services-layout>*,.contact-layout>*,.faq-layout>*{min-width:0}.section-top h2{margin-top:18px}.section-intro{max-width:350px;color:var(--muted);font-size:16px;line-height:1.9}.section-side{max-width:370px}.section-side .text-link{margin-top:16px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:7px 0;background:transparent;color:inherit;font-size:15px;font-weight:650;line-height:1.7;text-align:left}.text-link>span{flex-shrink:0;font-size:24px;font-weight:400;transition:transform .2s}.text-link:hover>span{transform:translate(3px,-3px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:15px 24px;border:1px solid transparent;border-radius:10px;font-size:16px;font-weight:650;line-height:1.5;text-align:center;transition:background .25s,transform .25s,box-shadow .25s}.button>span:last-child{flex-shrink:0;font-size:24px;font-weight:400;line-height:1}.button-primary{color:#fff;background:#0860cf;box-shadow:inset 0 1px 0 #ffffff20,0 8px 26px #020d2433}.button-primary:hover{background:#0758bd;transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff30,0 12px 30px #020d2450}.icon-button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #59738e;border-radius:50%;background:transparent;color:inherit;line-height:1}.status-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px #72d7ed14}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-100px;z-index:200;padding:12px 20px;color:#fff;background:var(--blue)}.skip-link:focus{top:16px}

/* Navigation uses a mobile layout before its labels become cramped. */
.site-header{position:relative;z-index:20;color:#fff;background:var(--navy)}.header-inner{display:flex;align-items:center;gap:32px;min-height:100px;padding-block:20px;border-bottom:1px solid #adc9e521}.brand{display:inline-flex;align-items:center;gap:10px;min-height:48px;flex-shrink:0}.brand img{width:46px;height:46px}.brand>span{font-size:29px;font-weight:800;line-height:1;letter-spacing:-.035em}.brand>span>span{color:#56aeff}.brand small{display:block;margin-top:8px;font-size:9px;font-weight:500;letter-spacing:.09em;color:#ccdbec}.desktop-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px 32px;margin-inline:auto}.desktop-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding-block:8px;color:#c3d3e5;font-size:15px;font-weight:500}.desktop-nav a::after{content:'';position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--cyan);transition:right .2s}.desktop-nav a:hover{color:#fff}.desktop-nav a:hover::after{right:0}.header-contact{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;font-size:15px;font-weight:600;line-height:1.5}.header-contact>span{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #637d98;border-radius:50%;font-size:24px;border-color:#6988aa;transition:background .25s,border-color .25s,transform .25s}.header-contact:hover>span{background:var(--blue);border-color:#6ab9ff}.menu-toggle{display:none}.mobile-menu{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 88px);overflow:auto;padding:8px 24px 24px;border-bottom:1px solid #526b88;background:var(--navy);box-shadow:0 24px 36px #0004}.mobile-menu>a{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding-block:14px;border-bottom:1px solid #ffffff24;font-size:16px}.mobile-menu>a>span{font-size:13px;color:#c0d3e8}

/* Portrait-led introduction. No overlapping screenshot decorations. */
.hero{position:relative;color:#fff;background:var(--navy)}.hero-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#8eafd506 1px,transparent 1px),linear-gradient(90deg,#8eafd506 1px,transparent 1px);background-size:112px 112px;opacity:.45;mask-image:linear-gradient(90deg,transparent,#000 45%,transparent)}.hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 85% 32%,#245f9b30,transparent 55%)}.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(36px,6vw,88px);min-height:680px;padding-block:56px 64px}.hero-copy{position:relative;z-index:1}.hero-eyebrow{margin-bottom:28px;color:#cbdded;font-size:12px;letter-spacing:.055em;display:inline-flex;max-width:100%;padding:7px 12px;border:1px solid #99bfe82b;border-radius:6px;background:#12345540}.hero h1{max-width:720px;font-size:clamp(44px,5.7vw,82px);line-height:1.1;letter-spacing:-.05em;font-weight:650;overflow-wrap:anywhere}.blue-word{color:#92caff}.hero-description{max-width:560px;margin-top:30px;color:#b7c9df;font-size:18px;line-height:1.9}.hero-description strong{font-weight:500;color:#e9f2fc}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 28px;margin-top:34px}.hero-actions .text-link{color:#e0eaf5}.hero-disciplines{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;margin-top:30px;color:#a7bdd5;font-size:14px;line-height:1.7}.hero-disciplines>i{font-style:normal;color:#7694b3}.hero-portrait{position:relative;width:min(100%,400px);margin:0 0 0 auto;justify-self:end}.portrait-frame{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid #8db9e345;border-radius:100px 20px 20px 20px;background:#0d2845;box-shadow:0 32px 80px #020b1f66}.portrait-photo{width:100%;height:100%;object-fit:cover;object-position:center}.portrait-brand{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:60px;height:60px;border:1px solid #7eadd77a;border-radius:12px;background:#071a30e8;border-color:#8cb3dc66}.portrait-brand>img{width:38px;height:38px}.hero-portrait figcaption{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-top:16px;color:#c0d4e8;font-size:13px;line-height:1.7}.hero-portrait figcaption>span:first-child{color:#e9f3ff;font-weight:650;letter-spacing:.08em}.hero-portrait figcaption>span:last-child{margin-left:auto;font-size:24px;color:#72c6fb;line-height:1}.hero-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 28px;min-height:76px;padding-block:16px;border-top:1px solid #adc9e521;color:#c0d0e3;font-size:13px}.scroll-hint,.hero-telegram{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:14px}.scroll-hint>span,.hero-telegram>span{font-size:23px;color:#e7f3ff}.hero-bottom-note{font-size:13px}.expertise-strip{border-top:1px solid #adc9e521;background:#0b2039;color:#fff;border-bottom:1px solid #adc9e521}.expertise-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:30px}.expertise-inner>p{font-size:16px;line-height:1.8;color:#c3d3e6}.expertise-inner>p strong{font-weight:600;color:#fff}.expertise-inner>div{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px 24px;max-width:68%;font-size:14px;font-weight:550;color:#d9e7f7}.expertise-inner i{font-size:24px;line-height:1;font-style:normal;color:#7ac8f3}

/* Portfolio cards retain useful information and a predictable visual rhythm. */
.portfolio-section{background:#081b31}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 24px;padding-bottom:26px;margin-bottom:36px;border-bottom:1px solid #29405a}.filter-list{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.filter-button{min-height:44px;padding:10px 17px;border:1px solid #c9d4dc;border-radius:8px;background:transparent;color:#c1d2e5;font-size:14px;font-weight:550;line-height:1.6;border-color:#405977;transition:background .2s,color .2s,border-color .2s}.filter-button:hover{background:#173756;border-color:#7da6cd}.filter-button.active{background:#e3f0ff;color:#102a46;border-color:#e3f0ff}.filter-button>span{margin-left:6px;font-size:12px}.project-count{font-size:14px;color:#adbed2}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:32px}.project-card{min-width:0;border:1px solid #2b4561;border-radius:16px;overflow:hidden;background:#0d243e;transition:border-color .3s,box-shadow .3s}.project-card.featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:0;border-radius:16px;overflow:hidden;border:1px solid #d2ddcf;background:#102b48;border-color:#365673}.project-image-button{display:block;position:relative;width:100%;aspect-ratio:1.5;overflow:hidden;padding:0;border-radius:0;background:var(--project-bg,#e3eaf1);text-align:left}.project-image-stage{position:absolute;inset:0;display:flex;align-items:start;padding:72px 32px 0;background:var(--project-bg,#e3eaf1);overflow:hidden}.project-image-stage img{width:100%;border:1px solid #25435b18;border-radius:8px 8px 0 0;box-shadow:0 20px 48px #0a284c35;object-fit:cover;object-position:top;transition:transform .65s var(--ease)}.project-image-button:hover img{transform:translateY(-8px) scale(1.015)}.project-overlay-top{position:absolute;left:20px;right:20px;top:18px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}.project-number{color:#375064;font-size:12px;font-weight:550}.project-status{padding:5px 10px;border:1px solid #ffffffb3;border-radius:18px;background:#fffffff2;color:#2e4c61;font-size:12px;line-height:1.7}.project-view{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:48px;height:48px;border:1px solid #d3e0e8;border-radius:50%;background:#0b2139;color:#fff;font-size:27px;transition:background .25s,transform .25s;border-color:#56738d}.project-image-button:hover .project-view{background:var(--blue);color:#fff}.project-summary{padding-top:24px;padding:28px 28px 30px}.project-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px}.project-meta h3{font-size:30px;letter-spacing:-.035em}.project-title-button{min-height:44px;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;line-height:1.4}.project-title-button:hover{color:var(--blue)}.project-category{color:#adc6df;font-size:13px;font-weight:550}.project-description{margin-top:12px;max-width:58ch;color:#c0d0e2;font-size:16px;line-height:1.85}.project-short-scope{margin-top:16px;color:#a8c3dd;font-size:14px;line-height:1.8}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.project-tech>span{padding:5px 10px;border:1px solid #bdcbd4;border-radius:5px;background:#0b203800;color:#bbd0e5;font-size:12px;line-height:1.7;border-color:#48627b}.project-case-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;margin-top:20px;padding:7px 0;background:transparent;color:#a2d2ff;font-size:15px;font-weight:650;text-align:left;line-height:1.7}.project-case-link>span{flex-shrink:0;font-size:23px;font-weight:400}.featured .project-image-button{align-self:stretch;min-height:390px;height:100%;border-radius:0}.featured .project-image-stage{align-items:center;padding:72px 36px 36px}.featured .project-image-stage img{border-radius:8px}.featured .project-summary{padding:40px}.featured .project-meta{display:flex;flex-direction:column-reverse;align-items:start;gap:10px}.featured .project-meta h3{font-size:44px}.projects-grid.is-filtered .project-card.featured{grid-column:auto;display:block;border:1px solid #2b4561;border-radius:16px;background:#0d243e}.projects-grid.is-filtered .featured .project-image-button{height:auto;min-height:0;aspect-ratio:1.5;border-radius:0}.projects-grid.is-filtered .featured .project-image-stage{align-items:start;padding:72px 32px 0}.projects-grid.is-filtered .featured .project-summary{padding:28px 28px 30px}.projects-grid.is-filtered .featured .project-meta{flex-direction:row;align-items:center}.projects-grid.is-filtered .featured .project-meta h3{font-size:29px}.portfolio-footnote{display:flex;align-items:start;flex-wrap:wrap;gap:12px 16px;margin-top:40px;padding-top:24px;border-top:1px solid #29405a;color:#b3c6d9}.info-icon{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;margin-top:2px;border:1px solid #8ba1b3;border-radius:50%;font-size:13px}.portfolio-footnote p{flex:1;min-width:0;max-width:720px;font-size:14px;line-height:1.85}.portfolio-sign{margin-left:auto;font-size:13px;color:#a4c8ec}

/* Service tabs keep full-size labels and clear selected states. */
.services-section{background:#07182d}.services-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px)}.service-selector{align-self:start}.service-tab{position:relative;display:flex;align-items:center;gap:18px;width:100%;min-height:92px;padding:22px 18px;border-bottom:1px solid #2b425e;background:transparent;color:#b7cae0;font-size:18px;font-weight:550;line-height:1.6;text-align:left;transition:background .3s,color .3s}.service-tab>span:nth-child(2){min-width:0}.service-no{flex-shrink:0;font-size:12px;color:#91acc8}.service-arrow{flex-shrink:0;margin-left:auto;color:#9fbedc;font-size:28px;font-weight:400;transition:transform .3s,color .3s}.service-tab.active{color:#edf6ff;background:#112e4e}.service-tab.active::before{content:'';position:absolute;left:0;top:24px;bottom:24px;width:3px;border-radius:2px;background:#94ccff}.service-tab.active .service-arrow{color:#94ccff;transform:rotate(45deg)}.service-panel{align-self:start;overflow:hidden;border:1px solid #d5dfe7;border-radius:16px;background:#0e2642;border-color:#335170}.service-visual{position:relative;height:300px;padding:32px 32px 0;overflow:hidden;background:#132f4e}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(#8dbce00a 1px,transparent 1px),linear-gradient(90deg,#8dbce00a 1px,transparent 1px);background-size:40px 40px}.mini-browser{position:relative;width:min(100%,430px);margin:0 auto;overflow:hidden;border:1px solid #bccfe0;border-radius:9px;background:#0b2038;box-shadow:0 18px 40px #020e2a50;border-color:#6586a7;transition:width .4s var(--ease),border-radius .4s var(--ease)}.mini-browser-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:40px;padding:8px 14px;border-bottom:1px solid #35516e;color:#b6cbe0;font-size:12px}.mini-browser-top>div{display:flex;gap:4px}.mini-browser-top i{width:6px;height:6px;background:#7b9bba;border-radius:50%}.mini-browser-content{position:relative;min-height:220px;padding:24px}.mini-eyebrow{display:block;position:relative;z-index:1;max-width:100%;color:#b6cfe7;font-size:12px;font-weight:550}.mini-title{position:relative;z-index:1;max-width:75%;margin-top:10px;color:#f3f7fe;font-size:30px;font-weight:650;line-height:1.2;letter-spacing:-.025em}.mini-title>span{color:#97ceff}.mini-browser-lines{display:flex;flex-direction:column;gap:5px;margin-top:15px}.mini-browser-lines>i{width:100px;height:4px;border-radius:2px;background:#3f6080}.mini-browser-lines>i+i{width:68px}.mini-browser-button{display:inline-block;position:relative;z-index:1;margin-top:14px;padding:7px 10px;border-radius:4px;background:var(--blue);color:#fff;font-size:12px}.mini-browser-content>img{position:absolute;right:22px;bottom:35px;width:82px;opacity:.75}.visual-tag{position:absolute;right:20px;bottom:14px;max-width:calc(100% - 40px);padding:5px 10px;border:1px solid #c0d4e5;border-radius:6px;background:#0a223ceb;color:#c9e4ff;font-size:12px;border-color:#6c8bab}.service-content{padding:36px}.service-content .eyebrow{color:#98cbff;font-size:12px;letter-spacing:.04em}.service-content h3{margin-top:14px;font-size:32px;letter-spacing:-.03em}.service-content>p{margin-top:18px;color:#bfcee1;font-size:16px;line-height:1.85}.service-features{display:grid;gap:12px;margin-top:24px}.service-features>li{position:relative;padding-left:24px;color:#c8d9eb;font-size:16px;line-height:1.8}.service-features>li::before{content:'↗';position:absolute;left:0;color:#9fceff}.service-panel-bottom{display:flex;align-items:start;flex-direction:column;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid #36516d}.service-order{color:#a1d1ff;font-size:16px}.service-delivery{color:#b0c7dd;font-size:13px}.service-promise{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-top:44px;padding-top:28px;border-top:1px solid #2b435e}.service-promise>span{flex-shrink:0;color:#a2d4ff;font-size:48px;line-height:1}.service-promise>p{flex:1;min-width:220px;max-width:720px;color:var(--muted);font-size:16px;line-height:1.85}.service-promise strong{color:#edf5ff}.service-promise .text-link{color:#a2d4ff}

/* Process and answers. */
.approach-section{color:#fff;background:#0c223b;border-block:1px solid #29415c}.approach-section .muted{color:#b5cce2}.approach-section .section-number{color:#76cfff}.approach-section .eyebrow{color:#d0e0ef}.approach-section .section-intro{color:#c0d1e3}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:52px}.process-step{min-width:0;padding-top:22px;border-top:1px solid #557490;padding:26px 22px;border-radius:0 0 12px 12px;background:#0f2a47;transition:background .3s,border-color .3s}.step-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;color:#8bc9ff}.step-top>span:first-child{font-size:28px;font-weight:500;letter-spacing:-.04em;color:#9ecbfa}.step-top>span:last-child{font-size:28px;color:#86a8cb;line-height:1}.process-step h3{font-size:20px;line-height:1.5}.process-step p{margin-top:16px;color:#becfe2;font-size:16px;line-height:1.85}.step-result{display:block;margin-top:24px;color:#99c4ed;font-size:12px;font-weight:550;letter-spacing:.025em;line-height:1.8;padding-top:20px;border-top:1px solid #35516c}.tech-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px 32px;margin-top:48px;padding-top:28px;border-top:1px solid #3b5774}.tech-row>span{max-width:210px;color:#b5cce4;font-size:12px;font-weight:550;letter-spacing:.06em}.tech-row>div{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px}.tech-row>div>span{color:#e0ebf7;font-size:17px;font-weight:600}.faq-section{background:#081b31}.faq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,100px)}.faq-section h2{margin-top:18px}.faq-intro{max-width:310px;margin-top:24px;color:var(--muted);font-size:16px}.faq-section .text-link{margin-top:18px;color:#a2d4ff}.faq-list{border-top:1px solid #3c5672}.faq-list details{border-bottom:1px solid #3c5672}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px;padding-block:26px;font-size:18px;font-weight:600;line-height:1.7;list-style:none;cursor:pointer;color:#e4eefa}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{flex-shrink:0;color:#9fcdff;font-size:30px;font-weight:400;line-height:1;transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{max-width:62ch;padding:0 32px 24px 0;color:#bacce0;font-size:16px;line-height:1.85}

/* Project brief: same legible controls on phones, tablets and desktop. */
.contact-section{border-bottom:1px solid #29415c;background:#07182d;color:#fff;border-top:1px solid #29415c}.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(36px,6vw,80px)}.contact-copy .eyebrow{color:#c1d6eb}.contact-section h2{margin-top:24px;font-size:clamp(38px,4.8vw,68px);letter-spacing:-.04em;line-height:1.2}.contact-section h2>span:first-of-type{color:#a4d2ff}.contact-star{display:inline-block;margin-left:22px;color:#6ed9f1;font-size:48px;vertical-align:middle;line-height:1}.contact-copy>p{margin-top:24px;color:#c1d3e6;font-size:17px;line-height:1.85}.brief-explainer{display:grid;grid-template-columns:28px minmax(0,1fr);gap:22px 16px;max-width:450px;margin-top:32px}.brief-explainer>span{padding-top:4px;color:#8bc6fa;font-size:12px;font-weight:550}.brief-explainer strong{font-size:16px;font-weight:600}.brief-explainer p{margin-top:3px;color:#b3c9e1;font-size:16px;line-height:1.8}.contact-links{display:flex;flex-direction:column;align-items:start;gap:14px;margin-top:36px}.contact-links>a{min-height:44px}.contact-links>a>span:first-child{display:block;margin-bottom:7px;color:#bed4e9;font-size:12px;letter-spacing:.035em}.contact-links strong{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;font-size:25px;font-weight:550;line-height:1.6;letter-spacing:-.02em}.contact-links strong>i{font-style:normal;color:#83c7ff}.contact-links .secondary-phone{display:inline-flex;align-items:center;gap:20px;min-height:44px;color:#d3e3f3;font-size:18px}.contact-links .secondary-phone>span{margin:0;color:#83c7ff;font-size:23px}.telegram-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px 24px}.telegram-links a{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#d3e3f3;font-size:16px}.telegram-links a>span{color:#83c7ff}
.inquiry-form{position:relative;padding:clamp(24px,3vw,40px);border:1px solid #d9e2e8;border-radius:18px;background:#f7faff;color:var(--ink);box-shadow:0 28px 80px #010b1e50;color-scheme:light;scroll-margin-top:24px;border-color:#a5bcd4}.form-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.form-heading>div{min-width:0}.form-heading .eyebrow{color:#476c89;font-size:12px;letter-spacing:.05em}.form-heading h3{margin-top:12px;font-size:27px;letter-spacing:-.025em;line-height:1.4;font-weight:650}.form-heading>span{flex-shrink:0;color:var(--blue);font-size:32px;line-height:1}.form-intro{margin-top:16px;color:#536c80;font-size:16px;line-height:1.8}.form-intro>span{display:block;margin-top:4px;font-size:12px}.wizard-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:26px;padding-block:20px;border-top:1px solid #d2dee7;border-bottom:1px solid #d2dee7}.wizard-progress>li{display:flex;align-items:center;gap:9px;min-width:0;color:#526c80;font-size:14px;line-height:1.7}.wizard-progress>li>span{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:1px solid #abc0d0;border-radius:50%;font-size:12px;font-weight:600}.wizard-progress>li.current{color:#0756b6;font-weight:650}.wizard-progress>li.current>span{border-color:var(--blue);background:var(--blue);color:#fff}.wizard-progress>li.complete>span{border-color:#97bde5;background:#e7f1fd;color:#0756b6}.wizard-step{min-width:0}.wizard-step>legend{width:100%;margin-bottom:24px;font-size:17px;font-weight:650;line-height:1.7}.form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.form-field{min-width:0;margin-bottom:22px}.form-field>label{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-bottom:9px;color:#2d4c65;font-size:15px;font-weight:550;line-height:1.7}.form-field>label>span:not(.optional){color:var(--blue)}.optional{color:#526c80;font-size:12px;font-weight:400}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:54px;padding:13px 14px;border:1px solid #aabbc9;border-radius:7px;background:#fcfdfe;color:#173b56;font-size:16px;line-height:1.6;transition:border-color .2s,box-shadow .2s}.form-field select{padding-right:32px;cursor:pointer}.form-field select:invalid{color:#536b80}.form-field input::placeholder,.form-field textarea::placeholder{color:#60768a;opacity:1}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:0;border-color:#075dcc;box-shadow:0 0 0 3px #075dcc22}.form-field textarea{min-height:180px;line-height:1.8}.form-field .invalid{border-color:#ae2444;box-shadow:0 0 0 2px #ae244417}.form-field .field-error,.wizard-step>.field-error{display:block;margin-top:7px;color:#981b37;font-size:14px;line-height:1.8}.field-note{margin-top:2px;padding:14px 16px;border-left:3px solid #7faee0;border-radius:0 5px 5px 0;background:#edf4fa;color:#47667e;font-size:14px;line-height:1.8}.input-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 14px;margin-top:8px;color:#526c80;font-size:12px;line-height:1.8}.input-caption>span:last-child{margin-left:auto;white-space:nowrap}.reference-project{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:10px 14px;border-radius:6px;background:#edf5fc;color:#315d80;font-size:14px;line-height:1.8}.reference-project>span{min-width:0;overflow-wrap:anywhere}.reference-project>button{flex-shrink:0;width:44px;height:44px;padding:0;background:transparent;color:#315d80;font-size:26px;line-height:1}.brief-review{margin-bottom:24px;padding:20px;border:1px solid #d5e1e9;border-radius:8px;background:#f2f6f9}.brief-review>div{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;font-size:16px}.brief-review .inline-button{color:var(--blue);font-size:14px}.brief-review dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px 16px;margin:16px 0 0;font-size:14px;line-height:1.8}.brief-review dt{color:#526b80}.brief-review dd{margin:0;color:#284960;white-space:pre-wrap;overflow-wrap:anywhere}.brief-review dd.review-message{max-height:240px;overflow:auto}.consent-label{display:flex;align-items:start;gap:14px;color:#405e75;font-size:14px;line-height:1.85;cursor:pointer}.consent-label>input{flex-shrink:0;width:22px;height:22px;margin:3px 0 0;accent-color:var(--blue)}.consent-label>span{min-width:0}.consent-label.invalid{outline:2px solid #ae2444;outline-offset:5px}.inline-button{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 0;border:0;background:transparent;color:inherit;font-size:inherit;line-height:1.7;text-align:left;text-decoration:underline;text-decoration-color:#879fb2;text-underline-offset:4px}.inline-button:hover{color:var(--blue)}.wizard-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 18px;margin-top:26px}.wizard-actions .button{min-width:0;margin-left:auto}.wizard-back{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:8px 0;background:transparent;color:#405f78;font-size:15px;font-weight:550}.wizard-back>span{font-size:23px;font-weight:400}.form-assurance{display:flex;align-items:start;gap:10px;margin-top:20px;color:#526b80;font-size:12px;line-height:1.9}.form-assurance>span{flex-shrink:0;color:var(--blue);font-size:18px}.form-status{margin-top:24px;font-size:15px;line-height:1.85;overflow-wrap:anywhere}.form-status:empty{display:none}.form-status.error{padding:16px;border:1px solid #e7aebb;border-radius:8px;background:#fff0f3;color:#8a1931}.form-status.success{margin-top:0;padding-top:16px;text-align:center}.receipt-check{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border-radius:50%;background:#e3f4eb;color:#176943;font-size:30px}.form-status.success h3{margin-bottom:16px;color:#145238;font-size:27px;letter-spacing:-.02em;line-height:1.4}.form-status.success p{max-width:44ch;margin:0 auto;color:#456578;font-size:16px;line-height:1.8}.receipt-box{margin-block:24px;padding:20px;border:1px solid #d1e0e9;border-radius:8px;background:#f1f6f9;text-align:left}.receipt-box>span{display:block;color:#476a83;font-size:12px;font-weight:550;letter-spacing:.05em}.receipt-id{display:block;margin-block:10px;color:#164263;font-size:18px;font-weight:650;line-height:1.7;overflow-wrap:anywhere}.receipt-box>button{color:var(--blue);font-size:14px}.receipt-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}.receipt-actions>.inline-button{color:#44657e;font-size:15px}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.inquiry-form.is-success .form-intro,.inquiry-form.is-success .wizard-progress,.inquiry-form.is-success .wizard-step,.inquiry-form.is-success .wizard-actions,.inquiry-form.is-success .form-assurance{display:none}.inquiry-form.is-success .form-heading{padding-bottom:24px;margin-bottom:16px;border-bottom:1px solid #d2dee7}

.consent-label label{display:block;font:inherit;cursor:pointer}
/* Footer, project details and privacy. */
.site-footer{background:#061426;color:#dce9f7}.footer-top{display:flex;align-items:center;flex-wrap:wrap;gap:24px 56px;padding-block:48px}.footer-top>p{font-size:16px;line-height:1.8;color:#bad0e6}.footer-top>p>strong{color:#e2edf7;font-weight:500}.back-top{display:inline-flex;align-items:center;gap:14px;min-height:48px;margin-left:auto;color:#d2e4f6;font-size:15px}.back-top>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #577796;border-radius:50%;font-size:25px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 28px;padding-block:22px;border-top:1px solid #29415c;color:#c1d4e8;font-size:14px;line-height:1.7}.footer-bottom>a{display:inline-flex;align-items:center;min-height:44px}.owner-link:hover{color:#fff}.footer-location{display:inline-flex;align-items:center;gap:12px}.mobile-order{display:none}
.project-dialog,.privacy-dialog{position:fixed;width:min(960px,calc(100% - 48px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);padding:0;overflow:auto;border:1px solid #c2d1de;border-radius:16px;color:var(--ink);background:#f7f8f4;box-shadow:0 35px 120px #0008;overscroll-behavior:contain;color-scheme:light}.project-dialog::backdrop,.privacy-dialog::backdrop{background:#031324cf;backdrop-filter:blur(6px)}.dialog-close{position:sticky;z-index:10;top:12px;float:right;right:12px;margin:12px 12px -60px 0;border:1px solid #a3bedb;background:#0c2846f2;color:#fff;font-size:30px}.dialog-project-image{height:350px;padding:56px 48px 0;overflow:hidden;background:var(--project-bg)}.dialog-project-image img{width:100%;border-radius:8px;box-shadow:0 16px 40px #0002}.dialog-project-body{padding:36px 40px 40px}.dialog-project-eyebrow{margin-bottom:16px;color:#0a5bb5;font-size:12px;font-weight:600;letter-spacing:.06em}.dialog-project-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px}.dialog-project-heading h2{font-size:42px;letter-spacing:-.035em}.dialog-project-heading>span{padding:6px 12px;border:1px solid #aec3d3;border-radius:22px;color:#3f6079;font-size:13px;line-height:1.7}.dialog-project-body>p{margin-top:24px;color:#47657a;font-size:16px;line-height:1.9}.case-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px;padding-block:28px;border-block:1px solid #cbd9e2}.case-story h3{margin-bottom:12px;color:#25465f;font-size:18px}.case-story p{color:#47657a;font-size:16px;line-height:1.9}.dialog-project-body>h3{margin:30px 0 18px;font-size:19px}.dialog-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dialog-features>li{padding:16px;border:1px solid #cedde6;border-radius:7px;background:#fff;color:#3b5b73;font-size:15px;line-height:1.8}.dialog-project-body>.button{margin-top:28px}.dialog-project-body .case-note{padding:18px;border-radius:7px;background:#eaf0eb;color:#405e52;font-size:14px}.privacy-dialog{width:min(720px,calc(100% - 48px));padding:40px}.privacy-dialog .eyebrow{max-width:calc(100% - 48px);color:#075bbd;font-size:12px}.privacy-dialog h2{margin-top:24px;font-size:32px;letter-spacing:-.03em}.privacy-dialog p{margin-top:22px;color:#47657a;font-size:16px;line-height:1.9}.privacy-dialog p a{color:#075bbd;text-decoration:underline;text-underline-offset:3px}.privacy-dialog .privacy-note{padding:16px;border-radius:7px;background:#e8eff6;color:#305b7b;font-size:14px}.privacy-dialog>.button{margin-top:28px}.privacy-dialog .dialog-close{margin:-24px -24px -24px 0;top:12px}.toast{position:fixed;z-index:100;left:50%;bottom:24px;width:max-content;max-width:calc(100% - 32px);padding:14px 20px;border:1px solid #769fc2;border-radius:8px;background:#153b5e;color:#fff;box-shadow:0 14px 32px #0004;font-size:15px;line-height:1.8;transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{transform:translate(-50%,0);opacity:1}.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.revealed){opacity:0;transform:translateY(22px)}.motion-ready .reveal{transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--reveal-delay,0ms)}


/* Premium details are decorative; the content remains readable without motion. */
.portrait-frame::after{content:'';position:absolute;inset:10px;pointer-events:none;border:1px solid #a5cdf326;border-radius:90px 12px 12px 12px}
.project-card:hover{border-color:#739abe;box-shadow:0 20px 50px #020d2226}
.project-card:focus-within{border-color:#9acbfa}
.project-case-link:hover{color:#fff}
.project-case-link>span{transition:transform .25s}
.project-case-link:hover>span{transform:translate(3px,-3px)}
.process-step:hover{background:#143251;border-color:#9ecbfa}
.footer-bottom .inline-button:hover{color:#b8ddff}
.dialog-project-body .project-tech>span{border-color:#aabed0;background:#edf3f8;color:#3a5971}
.hero-copy{animation:hero-enter .8s var(--ease) both}
.hero-portrait{animation:hero-enter 1s var(--ease) .12s both}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* A distinct product silhouette for each service, controlled by the active tab. */
.service-panel[data-service=mobile] .mini-browser{width:225px;border-radius:24px 24px 0 0}
.service-panel[data-service=mobile] .mini-browser-top{justify-content:center;min-height:30px}
.service-panel[data-service=mobile] .mini-browser-top>div,.service-panel[data-service=mobile] .mini-browser-top>span:last-child{display:none}
.service-panel[data-service=mobile] .mini-browser-content{min-height:260px;padding:22px}
.service-panel[data-service=mobile] .mini-title{max-width:100%;font-size:27px}
.service-panel[data-service=mobile] .mini-browser-content>img{width:46px;bottom:28px;right:18px;opacity:.3}
.service-panel[data-service=automation] .mini-browser-content{padding-left:48px;background:linear-gradient(90deg,#25486b 22px,transparent 22px)}
.service-panel[data-service=automation] .mini-browser-lines{flex-direction:row;gap:7px}
.service-panel[data-service=automation] .mini-browser-lines>i{width:55px;height:26px;background:#2c506f;border:1px solid #5980a1}
.service-panel[data-service=design] .mini-browser-content{background:radial-gradient(circle at 87% 32%,#8dbbff 0 18px,transparent 19px),radial-gradient(circle at 78% 48%,#68bace 0 18px,transparent 19px),radial-gradient(circle at 91% 64%,#dfc7a7 0 18px,transparent 19px)}
.service-panel[data-service=design] .mini-browser-content>img{opacity:.12}
.service-panel[data-service=support] .mini-browser-lines{flex-direction:row;gap:7px;align-items:end;height:30px}
.service-panel[data-service=support] .mini-browser-lines>i{width:40px;height:18px;background:#72b8d6}
.service-panel[data-service=support] .mini-browser-lines>i+i{height:30px;background:#99ceff}

@media(max-width:1199px){
 .container{width:calc(100% - 64px)}.header-inner{gap:24px}.desktop-nav{gap:20px}.hero-inner{gap:36px;min-height:610px}.hero-description{font-size:17px}.hero-actions{gap:10px 20px}.expertise-inner{align-items:start}.expertise-inner>div{max-width:65%;gap:12px 20px}.featured .project-summary{padding:28px}.featured .project-meta h3{font-size:34px}.featured .project-image-stage{padding-inline:26px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.contact-layout{gap:36px}.contact-links strong{font-size:22px}.wizard-progress>li{flex-direction:column;text-align:center;gap:8px}
}
@media(max-width:950px){
 .container{width:calc(100% - 48px)}.header-inner{min-height:88px;padding-block:16px;gap:20px}.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;gap:6px;width:48px;height:48px;border-color:#506c89;border-radius:10px}.menu-toggle>span{width:22px;height:2px;background:#e2edfa;transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;min-height:560px;padding-block:48px}.hero h1{font-size:clamp(40px,5.4vw,52px)}.hero-description{font-size:16px;margin-top:24px}.hero-eyebrow{margin-bottom:20px;letter-spacing:.04em}.hero-actions .button{padding-inline:20px}.hero-bottom-note{flex-basis:100%;order:3}.hero-portrait figcaption{gap:6px 12px;font-size:12px}.expertise-inner{flex-direction:column;gap:18px}.expertise-inner>div{max-width:100%;justify-content:start}.section-top{align-items:start;gap:32px}.section-side,.section-intro{max-width:310px}.project-card.featured{grid-template-columns:minmax(0,1fr)}.featured .project-image-button{height:auto;min-height:0;aspect-ratio:1.75}.featured .project-image-stage{align-items:start;padding:76px 48px 0}.featured .project-summary{padding:28px 32px 32px}.featured .project-meta{flex-direction:row;align-items:center}.featured .project-description{max-width:65ch}.projects-grid{gap:40px 26px}.project-image-stage{padding-inline:24px}.services-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px}.service-tab{gap:12px;padding-inline:12px;font-size:16px;min-height:88px}.service-content{padding:26px}.service-content h3{font-size:27px}.service-visual{height:260px;padding:24px 22px 0}.mini-browser-content{padding:22px}.mini-title{max-width:100%;font-size:26px}.mini-browser-content>img{width:64px;right:18px;opacity:.2}.mini-browser-top>div{display:none}.faq-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:36px}.contact-layout{grid-template-columns:minmax(0,1fr);gap:40px}.contact-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:36px}.contact-copy>.eyebrow,.contact-copy>h2,.contact-copy>p{grid-column:1}.brief-explainer{grid-column:2;grid-row:2/5;align-self:start;margin-top:24px}.contact-links{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:16px 32px;align-items:center;margin-top:28px}.telegram-links{flex-basis:100%}.inquiry-form{padding:32px}.wizard-progress>li{flex-direction:row;text-align:left}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portfolio-sign{margin-left:40px}.footer-top{gap:24px 40px}.footer-top>p{font-size:16px}.dialog-features{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 .hero-inner{grid-template-columns:minmax(0,1fr);gap:36px;min-height:0;padding-block:44px 40px}.hero-copy{max-width:650px}.hero h1{max-width:650px;font-size:clamp(40px,8vw,60px)}.hero-description{max-width:560px}.hero-portrait{width:min(100%,390px);margin:0 auto;justify-self:center}.hero-portrait figcaption{font-size:13px}.hero-bottom{justify-content:start;column-gap:32px}.hero-bottom-note{flex-basis:auto;order:initial}.section-top{display:block;margin-bottom:32px}.section-side{max-width:100%;margin-top:24px}.section-intro{max-width:56ch}.section-top>.section-intro{margin-top:24px}.section-intro br{display:none}.projects-grid{grid-template-columns:minmax(0,1fr);gap:36px}.project-card.featured{grid-column:auto}.project-image-button,.featured .project-image-button,.projects-grid.is-filtered .featured .project-image-button{aspect-ratio:1.5;min-height:0;height:auto}.project-image-stage,.featured .project-image-stage,.projects-grid.is-filtered .featured .project-image-stage{align-items:start;padding:72px 32px 0}.featured .project-summary{padding:26px 26px 30px}.featured .project-meta h3{font-size:31px}.projects-grid.is-filtered .featured .project-summary{padding:26px}.portfolio-sign{margin-left:40px}.services-layout{grid-template-columns:minmax(0,1fr);gap:28px}.service-tab{min-height:70px;padding:16px;font-size:17px;gap:16px}.service-tab.active::before{top:18px;bottom:18px}.service-visual{height:280px;padding:28px 32px 0}.mini-title{max-width:80%;font-size:29px}.mini-browser-content>img{width:82px;opacity:.5}.mini-browser-top>div{display:flex}.service-promise{align-items:start;gap:18px 22px}.service-promise .text-link{margin-left:64px}.faq-layout{grid-template-columns:minmax(0,1fr);gap:36px}.faq-intro{max-width:100%}.contact-copy{display:block}.contact-section h2{font-size:clamp(36px,7vw,48px)}.brief-explainer{margin-top:28px}.contact-links{flex-direction:column;align-items:start;gap:12px}.form-row{grid-template-columns:minmax(0,1fr);gap:0}.inquiry-form{padding:28px}.wizard-progress>li{flex-direction:column;text-align:center;gap:8px}.footer-top{align-items:start}.footer-top>p{order:3;flex-basis:100%}.back-top{margin-left:auto}.site-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.mobile-order{position:fixed;z-index:30;left:20px;right:20px;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px;padding:13px 18px;border:1px solid #78b1f1;border-radius:9px;background:var(--blue);color:#fff;box-shadow:0 10px 30px #031b4b55;font-size:16px;font-weight:600;line-height:1.5;transition:opacity .2s,transform .2s}.mobile-order>span{flex-shrink:0;font-size:24px;line-height:1}.mobile-order.is-hidden{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(16px)}.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.project-dialog,.privacy-dialog{width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.dialog-project-image{height:260px;padding:56px 26px 0}.dialog-project-body{padding:28px}.dialog-project-heading h2{font-size:34px}.case-story{grid-template-columns:minmax(0,1fr);gap:26px}.privacy-dialog{padding:32px 28px}.privacy-dialog h2{font-size:29px}.privacy-dialog .dialog-close{margin:-16px -12px -32px 0}
}
@media(max-width:600px){.header-contact{display:none}}
@media(max-width:480px){
 .container{width:calc(100% - 40px)}.section{padding-block:64px}.section h2{font-size:clamp(30px,8vw,36px);line-height:1.25}.section-top h2{margin-top:16px}.eyebrow{gap:9px;font-size:12px;letter-spacing:.035em}.header-inner{min-height:84px;gap:14px}.brand{gap:8px}.brand img{width:38px;height:38px}.brand>span{font-size:25px}.brand small{font-size:9px;letter-spacing:.015em;margin-top:7px}.header-contact{display:none}.menu-toggle{margin-left:auto}.hero-inner{padding-block:40px 36px;gap:32px}.hero h1{font-size:clamp(38px,10.2vw,48px);letter-spacing:-.04em}.hero-eyebrow{max-width:100%;margin-bottom:22px;padding:7px 10px;line-height:1.8;font-size:12px}.hero-description{margin-top:24px;font-size:16px;line-height:1.85}.hero-actions{gap:10px;align-items:stretch;flex-direction:column}.hero-actions .button{justify-content:space-between;width:100%}.hero-actions .text-link{align-self:start;padding-block:10px}.hero-disciplines{gap:6px 10px;margin-top:24px;font-size:14px}.hero-portrait{width:min(100%,290px)}.portrait-frame{border-radius:72px 16px 16px 16px}.portrait-frame::after{border-radius:64px 9px 9px 9px;inset:8px}.portrait-brand{width:54px;height:54px;right:16px;bottom:16px}.portrait-brand>img{width:34px;height:34px}.hero-portrait figcaption{gap:5px 12px;font-size:12px}.hero-portrait figcaption>span:last-child{font-size:22px}.hero-bottom{align-items:start;flex-direction:column;gap:4px;min-height:64px;padding-block:10px}.hero-bottom-note,.hero-telegram{display:none}.scroll-hint,.hero-telegram{font-size:14px}.expertise-inner{padding-block:24px;gap:20px}.expertise-inner>p{font-size:16px}.expertise-inner>div{justify-content:start;gap:8px 14px;font-size:14px;line-height:1.8}.expertise-inner i{font-size:21px}.filter-list{gap:8px}.filter-button{padding-inline:13px;font-size:14px}.portfolio-toolbar{padding-bottom:22px;margin-bottom:28px;gap:16px}.project-meta,.featured .project-meta{align-items:start;flex-direction:column;gap:4px}.project-meta h3,.featured .project-meta h3{font-size:29px}.project-category{font-size:13px}.project-image-button,.featured .project-image-button,.projects-grid.is-filtered .featured .project-image-button{aspect-ratio:1.25}.project-image-stage,.featured .project-image-stage,.projects-grid.is-filtered .featured .project-image-stage{padding:76px 20px 0}.project-overlay-top{left:14px;right:14px;top:14px;gap:8px}.project-number{font-size:12px}.project-status{padding:4px 8px;font-size:12px}.project-summary{padding:22px 20px 26px}.featured .project-summary{padding:22px 20px 26px}.projects-grid.is-filtered .featured .project-summary{padding:22px 20px 26px}.projects-grid.is-filtered .featured .project-meta{align-items:start;flex-direction:column}.project-short-scope{font-size:14px}.project-view{width:44px;height:44px;right:14px;bottom:14px;font-size:25px}.portfolio-footnote{gap:12px}.portfolio-sign{margin-left:36px}.service-tab{padding-inline:12px;font-size:16px;gap:12px}.service-no{font-size:12px}.service-visual{height:280px;padding:24px 20px 0}.mini-browser-top{padding-inline:12px}.mini-browser-top>div{display:none}.mini-browser-content{padding:22px 18px}.mini-title{max-width:100%;font-size:27px}.mini-browser-content>img{opacity:.15;width:70px;right:16px}.visual-tag{right:14px;bottom:12px}.service-content{padding:26px 22px}.service-content h3{font-size:28px}.service-content .eyebrow{letter-spacing:.015em}.service-promise{gap:16px}.service-promise>span{font-size:36px}.service-promise>p{min-width:0;flex-basis:calc(100% - 52px)}.service-promise .text-link{margin-left:52px}.process-grid{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:36px}.process-step h3{font-size:22px}.step-top{margin-bottom:18px}.step-result{margin-top:20px}.tech-row{gap:20px;margin-top:36px}.tech-row>span{max-width:100%}.tech-row>div{gap:14px 22px}.faq-list summary{padding-block:20px;gap:18px;font-size:16px}.faq-list details p{padding-right:0}.contact-section h2{font-size:39px;line-height:1.25}.contact-star{font-size:37px;margin-left:16px}.contact-copy>p{font-size:16px}.brief-explainer{grid-template-columns:24px minmax(0,1fr);gap:20px 14px}.contact-links strong{font-size:clamp(20px,6vw,25px);gap:8px 14px}.contact-links .secondary-phone{font-size:18px}.telegram-links{gap:4px 22px}.inquiry-form{padding:24px 20px;border-radius:12px}.form-heading{gap:12px}.form-heading h3{font-size:25px}.form-heading>span{font-size:28px}.form-heading .eyebrow{font-size:12px;letter-spacing:.025em}.wizard-progress{gap:8px;margin-block:24px}.wizard-progress>li{font-size:14px}.wizard-step>legend{margin-bottom:22px;font-size:17px}.form-field>label{font-size:15px}.form-field input,.form-field select,.form-field textarea{padding-inline:12px}.form-field select{padding-right:28px}.form-field textarea{min-height:190px}.brief-review{padding:16px}.brief-review dl{grid-template-columns:minmax(0,1fr);gap:3px}.brief-review dd{margin-bottom:12px}.brief-review dd:last-child{margin-bottom:0}.brief-review dt{font-size:12px;font-weight:600}.consent-label{gap:12px;font-size:14px}.wizard-actions{gap:12px}.wizard-actions .button{flex-basis:100%;min-height:54px;justify-content:space-between;margin-left:0;padding-inline:18px}.wizard-back{order:2}.form-status.success h3{font-size:25px}.receipt-box{padding:16px}.receipt-id{font-size:17px;letter-spacing:0}.receipt-actions .button{width:100%;padding-inline:18px;font-size:15px}.footer-top{padding-block:32px;gap:24px}.back-top{font-size:14px;gap:10px}.footer-top>p{font-size:16px}.footer-bottom{align-items:start;flex-direction:column;gap:8px;padding-block:24px;font-size:14px}.footer-location{margin-top:8px}.dialog-close{top:12px;right:12px;width:46px;height:46px;margin-bottom:-58px}.dialog-project-image{height:230px;padding:64px 20px 0}.dialog-project-body{padding:26px 20px}.dialog-project-heading h2{font-size:32px}.dialog-project-body>.button{width:100%;padding-inline:16px;font-size:15px;gap:12px}.case-story{padding-block:24px}.privacy-dialog{padding:28px 22px}.privacy-dialog h2{font-size:27px}.privacy-dialog .dialog-close{margin:-16px -10px -30px 0}.toast{font-size:14px;padding:12px 16px}
}
/* Narrow windows and browser zoom reflow instead of scaling the interface. */
@media(max-width:360px){
 .container{width:calc(100% - 32px)}.hero h1{font-size:38px}.hero-portrait figcaption{gap:4px 10px}.hero-portrait figcaption>span:nth-child(2){flex-basis:100%;order:3}.project-overlay-top{flex-direction:column;align-items:start}.project-image-stage,.featured .project-image-stage,.projects-grid.is-filtered .featured .project-image-stage{padding-top:94px;padding-inline:16px}.project-image-button,.featured .project-image-button,.projects-grid.is-filtered .featured .project-image-button{aspect-ratio:1.1}.mini-title{font-size:25px}.service-content{padding-inline:20px}.service-promise{display:block}.service-promise>span{display:block;margin-bottom:18px}.service-promise .text-link{margin:16px 0 0}.inquiry-form{padding-inline:16px}.form-heading>span{display:none}.wizard-progress{gap:4px}.wizard-progress>li{font-size:14px}.filter-button{padding-inline:12px}.footer-top .back-top{margin-left:0}.contact-section h2{font-size:35px}
}
@media(max-height:550px) and (min-width:761px){.hero-inner{min-height:0;padding-block:36px}.hero-portrait{max-width:300px}}
@media(min-width:761px){.hero-portrait figcaption{padding-inline:4px}.hero-copy{padding-bottom:8px}}
@media(max-width:480px){.hero-disciplines{margin-top:22px}.process-step{padding:24px 20px}.expertise-inner>p br{display:none}.expertise-inner>p strong{display:block}.section-top{margin-bottom:32px}}
/* Business goals lead to a useful brief, rather than a technical choice. */
.needs-section{position:relative;background:#07182d}
.needs-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.need-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:32px 36px;border:1px solid #35516e;border-radius:18px;background:#0d2540;overflow:hidden;isolation:isolate;transition:border-color .35s,background .35s}
.need-card::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 100% 0%,#4a83b41c,transparent 65%);opacity:.4;transition:opacity .4s}
.need-card:hover,.need-card:focus-within{border-color:#82acd2;background:#102e4d}
.need-card:hover::before,.need-card:focus-within::before{opacity:1}
.need-card-featured{grid-row:span 2;padding:40px;background:#102e4d;border-color:#52789b}
.need-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.need-index{color:#b0cee9;font-size:12px;font-weight:600;letter-spacing:.065em;line-height:1.8}
.need-symbol{display:grid;place-items:center;width:36px;height:36px;border:1px solid #4d7296;border-radius:50%;color:#b8dbfc;font-size:23px;line-height:1}
.need-card h3{font-size:30px;line-height:1.22;letter-spacing:-.035em}
.need-card-featured h3{font-size:clamp(34px,3.4vw,48px);line-height:1.18}
.need-card>p{max-width:45ch;margin-top:18px;color:#c0d1e4;font-size:16px;line-height:1.85}
.lead-flow{margin-block:32px;padding:26px 22px;border:1px solid #5c84a84d;border-radius:12px;background:#071a2e80}
.flow-label{color:#a2c4e3;font-size:12px;letter-spacing:.055em;line-height:1.8}
.flow-path{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:#e7f1ff;font-size:14px;line-height:1.7}
.flow-path>span{min-width:0}
.flow-path>i{font-size:20px;color:#90bfe7;font-style:normal;line-height:1}
.flow-message{display:flex;align-items:center;gap:12px;margin-top:22px;padding:16px;border:1px solid #507693;border-radius:8px;background:#163b5b;transition:transform .35s var(--ease),border-color .35s}
.need-card-featured:hover .flow-message{transform:translateY(-3px);border-color:#a5d0f3}
.flow-check{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:1px solid #7dc7db;border-radius:50%;color:#b0e5f1;font-size:17px;line-height:1}
.flow-message>div{min-width:0}
.flow-message strong{display:block;font-size:14px;font-weight:600;line-height:1.7}
.flow-message>div>span{display:block;margin-top:3px;color:#bad4eb;font-size:12px;line-height:1.8}
.flow-message-arrow{margin-left:auto;color:#aed3f6;font-size:24px;line-height:1}
.need-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-block:0 26px}
.need-tags li{color:#bdd3e8;font-size:13px;line-height:1.8}
.need-tags li+li::before{content:'/';margin-right:12px;color:#7a9dbc}
.need-card-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin-top:22px}
.need-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;max-width:100%;padding:10px 0;border-top:1px solid #527290;background:transparent;color:#c2e2ff;font-size:15px;font-weight:600;line-height:1.7;text-align:left}
.need-card-featured>.need-action{margin-top:auto;width:100%;padding-top:16px}
.need-action>span{flex-shrink:0;font-size:24px;font-weight:400;transition:transform .25s var(--ease)}
.need-action:hover{color:#fff}
.need-action:hover>span{transform:translate(3px,-3px)}
.need-example{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#b1c9e0;font-size:14px;line-height:1.7;text-decoration:underline;text-decoration-color:#6c8aa5;text-underline-offset:4px}
.need-example:hover{color:#fff}
.needs-assurance{display:flex;align-items:center;gap:18px 28px;margin-top:28px;padding:22px 0;border-bottom:1px solid #304a65}
.needs-assurance>span{flex-shrink:0;color:#9fcfff;font-size:32px;line-height:1}
.needs-assurance p{max-width:720px;color:#b6c9de;font-size:16px;line-height:1.85}
.needs-assurance strong{font-weight:500;color:#edf4fd}
.needs-assurance>.text-link{flex-shrink:0;margin-left:auto;color:#acd5fc}
.hero-portrait figcaption>a{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-left:auto;color:#c4def6;font-size:13px;line-height:1.7}
.hero-portrait figcaption>a:hover{color:#fff}
.hero-portrait figcaption>a>span{color:#9accfa;font-size:22px;line-height:1}
.message-help{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin-top:10px;color:#526c80;font-size:13px;line-height:1.8}
.message-help .inline-button{min-height:44px;color:#0756b6;font-size:14px;font-weight:550}
.dialog-case-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:28px;padding-top:24px;border-top:1px solid #cbd9e2}
.dialog-case-actions .button-secondary{min-height:52px;padding:12px 18px;border:1px solid #9db4c9;background:#fff;color:#154570;font-size:15px}
.dialog-case-actions .button-secondary:hover{background:#e9f2fa}
.dialog-case-actions .inline-button{color:#214f74;font-size:14px}
.dialog-copy-status{min-height:25px;margin-top:8px;color:#315b75;font-size:14px;line-height:1.8}

@media(max-width:1024px){
 .need-card{padding:28px}.need-card-featured{padding:32px}.need-card h3{font-size:28px}.need-card-featured h3{font-size:36px}.lead-flow{padding:20px 18px}.flow-message{padding:12px}.flow-message-arrow{display:none}.need-card-bottom{align-items:start;flex-direction:column;gap:8px}.need-card-bottom .need-action{width:100%}.needs-assurance{flex-wrap:wrap}.needs-assurance p{flex:1;min-width:0}.needs-assurance>.text-link{margin-left:60px}
}
@media(max-width:760px){
 .needs-grid{grid-template-columns:minmax(0,1fr);gap:20px}.need-card-featured{grid-row:auto}.need-card{padding:28px}.need-card-featured h3{font-size:36px}.need-card h3 br{display:none}.lead-flow{margin-block:24px}.need-card-bottom{flex-direction:row;align-items:center;gap:12px 20px}.need-card-bottom .need-action{width:auto}.needs-assurance{gap:16px}.needs-assurance>.text-link{margin-left:48px}.hero-portrait figcaption>a{font-size:13px}
}
@media(max-width:480px){
 .need-card,.need-card-featured{padding:26px 22px;border-radius:14px}.need-card h3,.need-card-featured h3{font-size:29px;line-height:1.25}.need-card-top{margin-bottom:16px}.need-index{font-size:12px;letter-spacing:.025em}.need-card>p{margin-top:16px}.lead-flow{padding:18px 14px}.flow-path{gap:8px;font-size:13px}.flow-message{gap:10px;padding:12px}.flow-check{width:28px;height:28px}.flow-message strong{font-size:14px}.flow-message>div>span{font-size:12px}.need-tags{gap:8px;margin-bottom:20px}.need-tags li+li::before{margin-right:8px}.need-card-bottom{align-items:start;flex-direction:column;gap:8px}.need-card-bottom .need-action{width:100%}.needs-assurance{align-items:start;padding-top:18px}.needs-assurance p{font-size:16px}.needs-assurance>.text-link{margin-left:48px}.hero-portrait figcaption{gap:6px}.hero-portrait figcaption>a{gap:8px;font-size:12px}.message-help{align-items:start;flex-direction:column;gap:0}.dialog-case-actions{gap:10px}.dialog-case-actions .button-secondary{width:100%;justify-content:space-between}.dialog-copy-status{font-size:14px}
}

@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.revealed){opacity:1;transform:none}}
