@font-face{font-family:Manrope;src:url("assets/fonts/manrope-cyrillic.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url("assets/fonts/bodoni-moda-regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url("assets/fonts/bodoni-moda-medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
:root{--ink:#102e38;--deep:#0b2530;--muted:#60767d;--line:#cbdadd;--paper:#f4f7f7;--ice:#d9edf0;--cyan:#75e8f0;--white:#fff;--serif:"Bodoni Moda",Didot,serif;--sans:Manrope,Arial,sans-serif;--shell:1420px;--pad:clamp(24px,4vw,64px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.shell{width:min(calc(100% - var(--pad)*2),var(--shell));margin-inline:auto}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:10px 14px;background:#fff;color:#102e38;border-radius:6px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.section{position:relative;padding:clamp(84px,9vw,144px) 0}
.section-index,.section-note,.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:700}
.section-note{max-width:420px;color:var(--muted);line-height:1.65;letter-spacing:.08em}
.section-top{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:30px;border-bottom:1px solid var(--line)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:.96}
h1 em,h2 em{font-weight:400;color:#337b86}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:120;height:104px;color:#102e38;transition:height .35s ease,background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}
.site-header.is-scrolled{height:82px;background:rgba(242,247,248,.84);box-shadow:0 1px 0 rgba(12,43,52,.12);backdrop-filter:blur(18px) saturate(1.25)}
.header-shell{height:100%;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:42px}
.wordmark{display:inline-flex;flex-direction:column;width:max-content;line-height:1;color:inherit}
.wordmark-main{font-family:var(--serif);font-size:39px;letter-spacing:.115em;white-space:nowrap;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.wordmark-main i{font-family:var(--sans);font-size:.65em;font-style:normal;vertical-align:.13em;margin-inline:.03em}
.wordmark-sub{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px;font-family:var(--serif);font-size:15px;letter-spacing:.33em;text-transform:uppercase}
.wordmark-sub b{display:block;width:32px;height:1px;background:currentColor;opacity:.7}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(24px,3vw,52px)}
.desktop-nav a,.header-action{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.085em}
.desktop-nav a{position:relative;padding:12px 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:currentColor;transition:right .25s ease}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}
.header-action,.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:0 24px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;transition:color .25s ease,background .25s ease,border .25s ease,transform .25s ease,box-shadow .25s ease}
.header-action svg,.button svg,.inline-link svg,.contact-copy>a svg{width:18px;height:18px;transition:transform .25s ease}
.header-action:hover,.button:hover{transform:translateY(-2px)}
.header-action:hover svg,.button:hover svg,.inline-link:hover svg,.contact-copy>a:hover svg{transform:translateX(4px)}
.menu-button{display:none;position:relative;width:48px;height:48px;padding:0;border:1px solid rgba(16,46,56,.42);border-radius:50%;background:transparent;cursor:pointer}
.menu-button i{position:absolute;left:14px;width:18px;height:1px;background:currentColor;transition:transform .3s ease,top .3s ease,opacity .2s ease}
.menu-button i:nth-child(1){top:16px}.menu-button i:nth-child(2){top:23px}.menu-button i:nth-child(3){top:30px}
.menu-button[aria-expanded="true"] i:nth-child(1){top:23px;transform:rotate(45deg)}.menu-button[aria-expanded="true"] i:nth-child(2){opacity:0}.menu-button[aria-expanded="true"] i:nth-child(3){top:23px;transform:rotate(-45deg)}

/* Mobile overlay */
.mobile-menu{position:fixed;inset:0;z-index:110;display:none;visibility:hidden;opacity:0;pointer-events:none;color:#eaf8f9;background:#0c2a35;transition:opacity .3s ease,visibility 0s linear .3s;overflow-y:auto;overscroll-behavior:contain}
.mobile-menu:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 83% 2%,rgba(136,243,249,.28),transparent 31%),linear-gradient(135deg,rgba(120,229,235,.08),transparent 42%);pointer-events:none}
.mobile-menu-glow{position:absolute;right:-160px;top:-280px;width:430px;height:760px;transform:rotate(25deg);background:linear-gradient(90deg,transparent,rgba(220,255,255,.15),transparent);filter:blur(10px);pointer-events:none}
.mobile-menu.is-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}
.mobile-menu-inner{position:relative;min-height:100dvh;padding-top:max(116px,calc(env(safe-area-inset-top) + 100px));padding-bottom:max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column}
.mobile-menu-heading{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid rgba(224,251,252,.2);font-size:10px;text-transform:uppercase;letter-spacing:.17em;opacity:.7}
.mobile-nav{margin-top:28px}
.mobile-nav a{display:grid;grid-template-columns:38px 1fr 28px;align-items:center;min-height:66px;border-bottom:1px solid rgba(224,251,252,.16);opacity:0;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease}
.mobile-menu.is-open .mobile-nav a{opacity:1;transform:none;transition-delay:calc(.08s + var(--nav-i,0)*.04s)}
.mobile-nav a:nth-child(1){--nav-i:1}.mobile-nav a:nth-child(2){--nav-i:2}.mobile-nav a:nth-child(3){--nav-i:3}.mobile-nav a:nth-child(4){--nav-i:4}.mobile-nav a:nth-child(5){--nav-i:5}
.mobile-nav small{font-size:10px;opacity:.55}.mobile-nav span{font-family:var(--serif);font-size:32px;letter-spacing:-.02em}.mobile-nav svg{width:22px}
.mobile-menu-bottom{margin-top:auto;padding-top:40px;display:flex;flex-direction:column;gap:22px}.mobile-menu-bottom>a:first-child{font-size:15px}.button-ice{background:#dcf4f5;color:#0d3540;border-color:#dcf4f5;box-shadow:0 10px 30px rgba(105,224,233,.14)}

/* Hero */
.hero{position:relative;min-height:800px;height:100svh;max-height:1020px;overflow:hidden;background:#d9eef0;color:#102f39;isolation:isolate}
.hero-media,.hero-noise{position:absolute;inset:0;pointer-events:none}
.hero-media{z-index:-3;background:radial-gradient(ellipse 36% 26% at 50% 61%,rgba(255,255,255,.96) 0%,rgba(232,253,255,.68) 43%,transparent 75%),radial-gradient(ellipse 45% 55% at 77% 4%,rgba(255,255,255,.78),transparent 68%),linear-gradient(180deg,#bcdde1 0%,#dff2f3 57%,#d4eaed 100%);transform:none;animation:none}
.hero:before{content:"";position:absolute;z-index:-2;top:-25%;right:15%;width:24%;height:94%;transform:rotate(24deg);transform-origin:top;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58) 44%,rgba(255,255,255,.14) 60%,transparent);filter:blur(6px);pointer-events:none}.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(255,255,255,.17),transparent 38%,rgba(97,164,173,.08));pointer-events:none}
.hero-noise{z-index:-1;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
.hero-shell{position:relative;height:100%}
.hero-copy{position:absolute;left:0;top:clamp(170px,19vh,218px);width:min(525px,42vw);z-index:2}
.eyebrow{margin-bottom:24px;font-size:10px;letter-spacing:.32em;color:#315a63}
.hero h1{margin:0;font-size:clamp(58px,5.45vw,88px);color:#102e38;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.65),0 8px 30px rgba(12,40,48,.08)}
.hero h1 em{display:inline-block;color:#235e69;text-shadow:-1px -1px 0 rgba(255,255,255,.55),1px 2px 2px rgba(18,63,74,.18)}
.hero-lead{max-width:435px;margin:28px 0 30px;font-size:17px;line-height:1.65;color:#284d56}
.button-ghost{color:#113a44;background:rgba(231,246,247,.18);border-color:rgba(17,58,68,.62);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 12px 35px rgba(18,56,66,.08);backdrop-filter:blur(8px)}
.button-ghost:hover{color:#ecffff;background:#173f49;border-color:#173f49;box-shadow:0 12px 35px rgba(12,45,54,.22)}
.code-fragment,.hero-circuit{display:none}.code-left{left:10.2vw;top:27%}.code-right{right:8.5vw;top:29%}
.hero-circuit{position:absolute;z-index:0;top:17%;bottom:15%;width:92px;opacity:.48;pointer-events:none}.circuit-left{left:1.4vw}.circuit-right{right:1.4vw;transform:scaleX(-1)}
.hero-circuit i,.hero-circuit b{position:absolute;left:18px;width:1px;background:linear-gradient(transparent,#abfbff 20%,#abfbff 80%,transparent);box-shadow:0 0 9px #57e9f0}.hero-circuit i:nth-child(1){top:0;height:34%}.hero-circuit i:nth-child(2){top:28%;left:39px;height:42%}.hero-circuit i:nth-child(3){bottom:0;left:62px;height:32%}.hero-circuit b{top:56%;left:17px;width:48px;height:1px}.hero-circuit i:after{content:"";position:absolute;left:-3px;bottom:0;width:7px;height:7px;border-radius:50%;background:#d8ffff;box-shadow:0 0 13px 3px #42e1ea}

/* Key logo */
.key-brand{position:absolute;z-index:3;left:50%;top:53%;width:min(29vw,390px);aspect-ratio:2.16/1;padding:0;border:0;background:transparent;filter:drop-shadow(0 11px 12px rgba(51,128,139,.16));transform:translateX(-50%);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:filter .28s ease}
.key-row{position:absolute;display:grid;align-items:stretch;justify-items:stretch;gap:clamp(4px,.42vw,7px);pointer-events:none}.key-row-top{top:8%;left:11%;right:11%;height:37%;grid-template-columns:repeat(4,1fr)}.key-row-bottom{top:49%;left:0;right:0;height:37%;grid-template-columns:repeat(5,1fr)}
.keycap{position:relative;display:grid;place-items:center;width:100%;height:100%;border:1px solid rgba(59,123,134,.31);border-radius:clamp(8px,.85vw,12px);background:linear-gradient(145deg,#fff 0%,#fbffff 48%,#e2f0f2 100%);box-shadow:inset 1px 1px 1px rgba(255,255,255,.98),inset -1px -2px 3px rgba(84,148,158,.14),0 2px 0 #a7c8cd,0 4px 0 #82aeb6,0 7px 8px rgba(45,110,121,.18),0 0 14px rgba(195,255,255,.62);color:#123842;font:800 clamp(16px,1.62vw,23px)/1 var(--sans);font-style:normal;text-shadow:0 1px 0 rgba(255,255,255,.95);opacity:1;transform:translateY(0);pointer-events:auto;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,filter .18s ease}
.keycap:before{content:"";position:absolute;inset:3px 4px auto;height:30%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.78),transparent);pointer-events:none}.keycap:after{display:none}
.keycap:hover{transform:translateY(-3px);filter:brightness(1.025);box-shadow:inset 1px 1px 1px #fff,inset -1px -2px 3px rgba(84,148,158,.12),0 3px 0 #a7c8cd,0 6px 0 #82aeb6,0 11px 14px rgba(45,110,121,.21),0 0 19px rgba(195,255,255,.8)}
.keycap.is-pressed{transform:translateY(3px)!important;box-shadow:inset 1px 2px 5px rgba(66,125,135,.22),0 1px 0 #8aaeb4,0 2px 3px rgba(45,110,121,.16),0 0 17px rgba(195,255,255,.85)!important}
.key-brand.is-ready .keycap,.key-brand.has-entered .keycap,.no-js .keycap{opacity:1;transform:none;animation:none!important}
.key-brand.is-waving .keycap{animation:key-press .47s cubic-bezier(.2,.8,.2,1) calc(var(--i) * 48ms) both!important}
.key-brand:hover{filter:drop-shadow(0 13px 16px rgba(81,187,197,.24))}
.key-brand:active{filter:drop-shadow(0 8px 10px rgba(81,187,197,.16))}
.key-brand:focus-visible{outline:2px solid #0b6370;outline-offset:5px;border-radius:12px}
.hero-links{position:absolute;z-index:3;right:0;bottom:22px;display:flex;align-items:flex-end;gap:34px}
.hero-links a{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:76px;padding:8px 3px;color:#17414b;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;transition:transform .25s ease,color .25s ease}.hero-links svg{width:26px;height:26px;stroke-width:1.2}.hero-links a:hover{transform:translateY(-4px);color:#007786}
@keyframes key-arrive{0%{opacity:0;transform:translateY(14px) scale(.94)}65%{opacity:1;transform:translateY(-3px) scale(1.015)}100%{opacity:1;transform:none}}
@keyframes key-press{0%,100%{opacity:1;transform:none}45%{opacity:1;transform:translateY(5px);box-shadow:inset 1px 2px 4px rgba(91,127,135,.2),-1px 1px 0 #dce8ea,-2px 3px 0 #bed2d5,0 4px 0 #9ebbc0,0 7px 8px rgba(19,66,76,.16),0 0 18px rgba(209,255,255,.68)}}
@keyframes hero-breathe{to{transform:scale(1.035) translate3d(-.3%,0,0)}}

/* About */
.about{background:#f4f7f7}
.about-grid{display:grid;grid-template-columns:minmax(500px,1.25fr) minmax(280px,.75fr);gap:clamp(60px,10vw,170px);align-items:end;padding:clamp(58px,7vw,100px) 0}
.about h2,.services h2,.work h2,.process-title,.contact h2{margin:0;font-family:var(--sans);font-size:clamp(48px,5.7vw,86px);font-weight:560;line-height:1.02;letter-spacing:-.058em}
.about h2 em,.services h2 em,.work h2 em,.process-title em,.contact h2 em{font-family:var(--sans);font-style:normal;font-weight:270;letter-spacing:-.055em}
.about-copy{max-width:530px;padding-bottom:7px}.about-copy p{margin-bottom:22px;font-size:18px;line-height:1.7;color:#466069}.about-copy p:first-child{font-size:22px;color:var(--ink)}
.inline-link,.contact-copy>a{display:inline-flex;align-items:center;gap:14px;margin-top:10px;padding-bottom:7px;border-bottom:1px solid currentColor;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:2px;background:#eef3f4}
.value-card{position:relative;min-height:440px;padding:26px 28px 32px;border-right:1px solid var(--line);overflow:hidden;transition:background .3s ease,transform .3s ease}.value-card:last-child{border-right:0}.value-card:hover{z-index:1;background:#e6f2f3;transform:translateY(-5px)}
.value-card>span{font-size:10px;letter-spacing:.15em;color:#698087}.value-card h3{margin:23px 0 10px;font-family:var(--sans);font-size:27px;font-weight:560;line-height:1.15;letter-spacing:-.035em}.value-card>p{max-width:310px;margin:0;color:#5c7279}
.module-art{position:relative;height:220px;margin:-5px -5px 15px;perspective:600px}.module-art i,.module-art b{position:absolute;display:block;background:linear-gradient(145deg,#fff,#dce8ea);border:1px solid #c9dadd;box-shadow:0 8px 14px rgba(20,63,72,.12),inset 0 1px #fff}
.module-structure i{width:34%;height:54px;border-radius:6px}.module-structure i:nth-child(1){left:9%;top:25px}.module-structure i:nth-child(2){right:11%;top:84px}.module-structure i:nth-child(3){left:27%;bottom:18px}.module-structure b{left:42%;top:76px;width:1px;height:88px;background:#69d7df;box-shadow:0 0 8px #65dfe7}.module-structure:before,.module-structure:after{content:"";position:absolute;height:1px;background:#7edee5;transform-origin:left}.module-structure:before{left:39%;top:72px;width:40%;transform:rotate(18deg)}.module-structure:after{left:39%;top:145px;width:36%;transform:rotate(-24deg)}
.module-interface i:nth-child(1){inset:22px 10% 18px;border-radius:12px}.module-interface i:nth-child(2){left:16%;top:42px;width:18%;height:126px;border-radius:7px;background:#d7eef0}.module-interface i:nth-child(3){left:39%;right:16%;top:42px;height:34px;border-radius:6px}.module-interface b{left:39%;right:16%;top:88px;height:80px;border-radius:6px;background:linear-gradient(135deg,#e6fafb,#bedee2)}
.module-connect i{width:56px;height:56px;border-radius:11px;top:80px}.module-connect i:nth-child(1){left:8%}.module-connect i:nth-child(2){left:calc(50% - 28px);background:linear-gradient(145deg,#d9f8fa,#8ddce3)}.module-connect i:nth-child(3){right:8%}.module-connect b{left:25%;right:25%;top:108px;height:1px;background:#71d8e0;border:0;box-shadow:0 0 8px #55d7df}

/* Services */
.services{overflow:hidden;background:#d9e9ec}.services:before{content:"";position:absolute;inset:0;background:linear-gradient(118deg,rgba(255,255,255,.78),transparent 45%),radial-gradient(circle at 90% 10%,rgba(158,239,243,.38),transparent 28%);pointer-events:none}.service-light{position:absolute;right:-5%;top:-35%;width:32%;height:130%;transform:rotate(17deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);filter:blur(8px);pointer-events:none}
.services-grid{position:relative;display:grid;grid-template-columns:minmax(320px,.75fr) minmax(500px,1.25fr);gap:clamp(60px,10vw,160px)}
.services-intro>p:last-child{max-width:390px;margin-top:35px;font-size:17px;color:#4b6870}.accordion{border-top:1px solid rgba(50,85,94,.26)}
.accordion details{border-bottom:1px solid rgba(50,85,94,.26)}.accordion summary{display:grid;grid-template-columns:54px 1fr 32px;align-items:center;min-height:92px;cursor:pointer;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:10px;letter-spacing:.14em;color:#5e777d}.accordion summary b{font-family:var(--sans);font-size:24px;font-weight:570;letter-spacing:-.03em}.accordion summary i{position:relative;width:24px;height:24px}.accordion summary i:before,.accordion summary i:after{content:"";position:absolute;left:4px;right:4px;top:11px;height:1px;background:currentColor;transition:transform .25s}.accordion summary i:after{transform:rotate(90deg)}.accordion details[open] summary i:after{transform:rotate(0)}
.accordion-body{padding:0 30px 28px 54px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.accordion-body p{margin:0;font-size:13px;line-height:1.65;color:#537078}.accordion-body strong{display:block;margin-bottom:4px;color:#123842;font-size:10px;text-transform:uppercase;letter-spacing:.07em}

/* Work */
.work{background:#d5e7e9;color:var(--ink);overflow:hidden}.work:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 3%,rgba(255,255,255,.58),transparent 27%),linear-gradient(125deg,rgba(255,255,255,.14),transparent 63%);pointer-events:none}.work .section-index{color:#50747c}.work-head{position:relative;display:grid;grid-template-columns:1fr 370px;gap:60px;align-items:end;margin-bottom:70px}.work-head>p{margin:0 0 10px;color:#536e75;font-size:16px;line-height:1.7}.work h2 em{color:#347b85}
.empty-case-grid{position:relative}.empty-case{position:relative;min-height:570px;aspect-ratio:16/7.2;border:1px solid rgba(72,112,120,.34);background:linear-gradient(142deg,rgba(255,255,255,.52),rgba(221,239,241,.3));box-shadow:inset 0 1px rgba(255,255,255,.8),0 20px 45px rgba(32,82,91,.07);overflow:hidden}.empty-case:after{content:"";position:absolute;width:30%;height:180%;top:-40%;right:4%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);opacity:.7;pointer-events:none}
.project-list{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3.5vw,54px)}
.project-card{display:block;min-width:0;color:inherit}.project-card:nth-child(even){margin-top:74px}.project-visual{position:relative;display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;border:1px solid rgba(204,240,242,.18);border-radius:2px;background:linear-gradient(145deg,#eaf2f1,#bfd6d8);box-shadow:0 25px 55px rgba(0,12,17,.22);transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease}.project-card:hover .project-visual{transform:translateY(-10px);box-shadow:0 35px 70px rgba(0,12,17,.34)}
.project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.28),transparent 36%);pointer-events:none}.project-visual img{width:100%;height:100%;object-fit:contain;padding:clamp(30px,5vw,78px);filter:saturate(.84);transition:transform .6s ease,filter .4s ease}.project-card:hover img{transform:scale(1.035);filter:saturate(1)}
.project-card-body{position:relative;padding:20px 2px 8px}.project-card-body small{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#8fb6ba}.project-card-body h3{margin:8px 0 7px;font-family:var(--sans);font-size:32px;font-weight:560;line-height:1.1;letter-spacing:-.035em}.project-card-body p{max-width:520px;margin:0;color:#a9c1c4;font-size:14px}.project-card[href] .project-card-body:after{content:"↗";position:absolute;right:4px;top:27px;font-size:19px;color:#96e3e8}.project-card:not([href]) .project-card-body:before{content:"В портфолио";position:absolute;right:4px;top:29px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#78999d}
.project-airport .project-visual{background:#e9f1f4}.project-neiro .project-visual{background:#f4f2ed}.project-gromko .project-visual{background:#eff5f5}.project-apple .project-visual{background:#f2f4f5}.project-aktiv .project-visual{background:#f4efe3}.project-scoutly .project-visual{background:#edf2f7}.project-dal .project-visual{background:#f2ecdf}.project-fitin .project-visual{background:#eaf5f2}
.project-gromko .project-visual img,.project-apple .project-visual img,.project-neiro .project-visual img{padding:clamp(58px,8vw,120px)}

/* Process */
.approach{background:#f4f7f7}.process-title{margin:70px 0 50px}.steps{position:relative;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.steps:before{content:"";position:absolute;left:27px;top:0;bottom:0;width:1px;background:linear-gradient(#58ced6,transparent)}.steps li{position:relative;display:grid;grid-template-columns:90px 1fr 220px;gap:28px;align-items:start;padding:32px 0 34px;border-bottom:1px solid var(--line)}.steps li>span{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;border:1px solid #9bcbd0;border-radius:50%;background:#f4f7f7;color:#277985;font-size:10px;letter-spacing:.12em;box-shadow:0 0 0 7px #f4f7f7}.steps h3{margin:0 0 6px;font-family:var(--sans);font-size:28px;font-weight:570;letter-spacing:-.035em}.steps p{max-width:620px;margin:0;color:#61777e}.steps small{padding-top:12px;color:#698087;font-size:10px;text-transform:uppercase;letter-spacing:.15em}

/* Contact */
.contact{overflow:hidden;background:#c9e0e3;color:#12333d}.contact:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 8%,rgba(255,255,255,.72),transparent 27%),linear-gradient(130deg,rgba(255,255,255,.2),transparent 40%);pointer-events:none}.contact-beam{position:absolute;right:4%;top:-25%;width:22%;height:100%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);filter:blur(5px)}.contact-shell{position:relative;display:grid;grid-template-columns:minmax(320px,.72fr) minmax(520px,1.28fr);gap:clamp(60px,10vw,160px)}.contact .section-index{color:#55777e}.contact h2{margin:35px 0 30px}.contact h2 em{color:#337c86}.contact-copy>p:not(.section-index){max-width:430px;color:#506d74}.contact-copy>a{color:#174752}
.contact-form{padding-top:36px}.contact-form label{display:block}.contact-form label>span{display:block;margin-bottom:9px;color:#4e6a71;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.form-line{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;min-height:52px;padding:11px 0;border:0;border-bottom:1px solid rgba(38,82,91,.34);border-radius:0;outline:0;background:transparent;color:#12333d;transition:border .2s,box-shadow .2s}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#247886;box-shadow:0 1px 0 #247886}.contact-form [aria-invalid="true"]{border-color:#a93f3a}.form-line+.form-line,.form-line+label{margin-top:28px}.form-end{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:34px}.consent{display:grid!important;grid-template-columns:20px 1fr;align-items:start;gap:10px;max-width:400px}.consent input{width:18px;height:18px;min-height:0;margin:1px 0;accent-color:#247886}.consent span{margin:0!important;text-transform:none!important;letter-spacing:0!important;line-height:1.5}.contact .button-ice{background:#123c47;color:#efffff;border-color:#123c47}.form-status{min-height:24px;margin:18px 0 0;color:#215d68;font-size:13px}

/* Footer */
.site-footer{padding:55px 0;background:#b9d1d5;color:#173b45;border-top:1px solid rgba(32,74,82,.18)}.footer-shell{display:grid;grid-template-columns:1fr auto auto auto;align-items:end;gap:45px}.site-footer .wordmark{color:#173b45}.site-footer .wordmark-main{font-size:31px}.site-footer .wordmark-sub{font-size:11px}.site-footer p,.site-footer>a{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.12em}

/* Reveal */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.js .reveal.is-visible{opacity:1;transform:none}

@media (max-width:1120px){
  .header-shell{grid-template-columns:190px 1fr auto;gap:24px}.desktop-nav{gap:20px}.desktop-nav a,.header-action{font-size:10px}.wordmark-main{font-size:34px}
  .about-grid{grid-template-columns:1fr 1fr;gap:60px}.services-grid{gap:60px}.accordion-body{grid-template-columns:1fr;gap:12px}.contact-shell{gap:70px}
}
@media (max-width:920px){
  :root{--pad:28px}.site-header{height:84px}.site-header.is-scrolled{height:72px}.header-shell{display:flex;justify-content:space-between}.desktop-nav,.header-action{display:none}.menu-button{display:block}.mobile-menu{display:block}.wordmark-main{font-size:31px}.wordmark-sub{font-size:11px;margin-top:4px}.wordmark-sub b{width:24px}
  .hero-copy{top:150px;width:54vw}.hero h1{font-size:clamp(52px,7vw,68px)}.code-right{display:none}.hero-links{right:0}.key-brand{left:50%}
  .about-grid,.services-grid,.contact-shell{grid-template-columns:1fr}.about-grid{gap:45px}.about-copy{max-width:640px}.services-grid,.contact-shell{gap:60px}.services-intro h2{font-size:72px}.services-intro>p:last-child{margin-bottom:20px}.contact-copy{max-width:620px}
  .value-card{min-height:390px;padding-inline:20px}.module-art{height:190px}.steps li{grid-template-columns:80px 1fr 160px}.work-head{grid-template-columns:1fr 300px}
}
@media (max-width:700px){
  :root{--pad:20px}.section{padding:72px 0}.section-top{display:block;padding-bottom:20px}.section-note{margin-top:16px}.site-header{height:82px;color:#153640}.site-header.is-scrolled{height:70px;color:#153640;background:rgba(241,247,248,.9)}.site-header .wordmark-main{font-size:29px;letter-spacing:.105em}.site-header .wordmark-sub{font-size:10px;letter-spacing:.28em}.site-header .wordmark-sub b{width:21px}.menu-button{border-color:currentColor;width:46px;height:46px}.menu-button i{left:14px;width:16px}.menu-button i:nth-child(1){top:15px}.menu-button i:nth-child(2){top:22px}.menu-button i:nth-child(3){top:29px}.menu-button[aria-expanded="true"]{color:#eaf8f9;border-color:rgba(234,248,249,.55)}.menu-open .site-header .wordmark{color:#eaf8f9;pointer-events:none}
  .hero{min-height:780px;height:100svh;max-height:920px;color:#153640;background:#d9eef0}.hero-media{background:radial-gradient(ellipse 58% 24% at 50% 63%,rgba(255,255,255,.94),rgba(228,252,254,.48) 43%,transparent 75%),radial-gradient(ellipse 75% 50% at 83% 2%,rgba(255,255,255,.74),transparent 70%),linear-gradient(180deg,#bedfe2,#e0f3f4 59%,#d2eaed);animation:none;transform:none}.hero:before{right:-1%;width:45%;height:92%;top:-19%;filter:blur(5px)}.hero:after{background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 48%,rgba(112,176,184,.06))}.hero-noise{opacity:.045}.hero-circuit,.code-fragment{display:none}
  .hero-copy{top:116px;left:0;width:100%;max-width:420px}.eyebrow{margin-bottom:17px;color:#c2e4e7;font-size:8px;letter-spacing:.3em}.hero h1{font-size:clamp(42px,12vw,52px);line-height:.98;color:#f2fbfc;text-shadow:0 2px 16px rgba(1,19,27,.35)}.hero h1 em{color:#eafcfd;text-shadow:-1px -1px 0 rgba(255,255,255,.2),1px 2px 2px rgba(0,15,23,.35)}.hero-lead{max-width:335px;margin:19px 0 22px;color:#d7e9eb;font-size:15px;line-height:1.55}.button-ghost{width:100%;max-width:340px;min-height:50px;color:#f3ffff;background:rgba(17,55,65,.18);border-color:rgba(226,252,253,.76);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 22px rgba(166,249,252,.09)}
  .key-brand{left:50%;top:54%;bottom:auto;width:min(84vw,350px);padding:0}.key-row{gap:4px}.keycap{width:100%;height:100%;font-size:clamp(16px,5.2vw,20px)}
  .about h2,.services h2,.work h2,.process-title,.contact h2{font-size:clamp(43px,13vw,60px)}.about-grid{display:block;padding:46px 0 56px}.about-copy{padding-top:32px}.about-copy p,.about-copy p:first-child{font-size:16px}.value-grid{grid-template-columns:1fr}.value-card{min-height:0;padding:22px 22px 28px;border-right:0;border-bottom:1px solid var(--line)}.value-card:last-child{border-bottom:0}.module-art{height:170px}.value-card h3{font-size:27px}
  .services-grid{gap:42px}.services-intro h2{font-size:clamp(48px,14vw,62px)}.services-intro>p:last-child{margin-top:25px}.accordion summary{grid-template-columns:40px 1fr 28px;min-height:78px}.accordion summary b{font-size:22px}.accordion-body{padding:0 6px 24px 40px}.accordion-body p{font-size:13px}
  .work-head{display:block;margin-bottom:45px}.work-head>p{margin-top:24px}.empty-case{min-height:260px;aspect-ratio:4/3}.project-list{grid-template-columns:1fr;gap:44px}.project-card:nth-child(even){margin-top:0}.project-card-body h3{font-size:30px}.project-card-body p{padding-right:58px}.project-card:not([href]) .project-card-body:before{display:none}.project-visual img{padding:40px}.project-gromko .project-visual img,.project-apple .project-visual img,.project-neiro .project-visual img{padding:62px}.work h2{font-size:clamp(43px,12.5vw,58px)}
  .process-title{margin:46px 0 34px}.steps:before{left:22px}.steps li{grid-template-columns:56px 1fr;gap:16px;padding:26px 0}.steps li>span{width:44px;height:44px;box-shadow:0 0 0 5px #f4f7f7}.steps h3{font-size:26px}.steps small{grid-column:2;padding-top:0}.steps p{font-size:14px}
  .contact-shell{gap:48px}.contact-form{padding-top:0}.form-line{grid-template-columns:1fr;gap:26px}.form-line+.form-line,.form-line+label{margin-top:26px}.form-end{align-items:stretch;flex-direction:column}.form-end .button{width:100%}.contact h2{margin-top:25px}.contact-beam{right:-15%;width:50%}
  .footer-shell{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.site-footer .wordmark{margin-bottom:10px}
}
@media (max-width:360px){
  :root{--pad:16px}.hero-copy{top:106px}.hero h1{font-size:40px}.hero-lead{font-size:14px;max-width:290px}.keycap{font-size:16px}.key-row{gap:3px}.key-brand{top:54%;bottom:auto}.mobile-nav span{font-size:29px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.hero-media{animation:none}.js .reveal{opacity:1;transform:none;transition:none}.keycap,.key-brand.is-ready .keycap,.key-brand.is-waving .keycap{opacity:1;transform:none;animation:none!important;transition:none}.mobile-menu,.mobile-nav a{transition:none}
}
