/* DSA site skin. Neutral tokens and control states adapted from shadcn/ui
   new-york-v4 (MIT). Source snapshots: Брендбук/library-lab/src/adapters/shadcn-data.json.
   Native HTML controls keep the existing site behavior; this is not a React migration. */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('Брендбук/fonts/inter-0.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url('Брендбук/fonts/inter-1.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('Брендбук/fonts/inter-2.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('Брендбук/fonts/inter-3.ttf') format('truetype')}
:root{
  --background:oklch(1 0 0);--foreground:oklch(.145 0 0);
  --card:oklch(1 0 0);--card-foreground:oklch(.145 0 0);
  --primary:oklch(.205 0 0);--primary-foreground:oklch(.985 0 0);
  --secondary:oklch(.97 0 0);--secondary-foreground:oklch(.205 0 0);
  --muted:oklch(.97 0 0);--muted-foreground:oklch(.49 0 0);
  --border:oklch(.922 0 0);--input:oklch(.922 0 0);--ring:oklch(.708 0 0);
  --destructive:oklch(.577 .245 27.325);--radius:10px;
  --radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:14px;
  --ink:var(--foreground);--blue:var(--primary);--gutter:clamp(24px,5vw,88px);
  --page-width:1320px;--header-height:80px;
  --ease:cubic-bezier(.22,1,.36,1);--duration:180ms;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px;color-scheme:light}
body{margin:0;background:var(--background);color:var(--foreground);font:400 16px/1.6 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;line-height:1.12;letter-spacing:-.045em}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5;pointer-events:none}
img{display:block;max-width:100%}button,select{touch-action:manipulation}[hidden]{display:none!important}
::selection{background:var(--primary);color:var(--primary-foreground)}
:focus-visible{outline:2px solid var(--foreground);outline-offset:4px;border-radius:var(--radius-sm)}
.skip{position:fixed;z-index:100;left:20px;top:-100px;background:var(--primary);color:white;padding:12px 20px;border-radius:8px}.skip:focus{top:12px}
.header{height:var(--header-height);padding-inline:var(--gutter);display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;background:rgb(255 255 255 / 96%);backdrop-filter:blur(16px)}
.logo{display:block;width:212px;flex-shrink:0}.logo img{width:100%;height:auto}
.nav{display:flex;align-items:center;gap:28px;margin-left:auto}.nav a{font-size:13px;font-weight:500;color:#525252;position:relative;padding-block:14px;transition:color var(--duration)}
.nav a[aria-current=true]{color:var(--foreground)}.nav a[aria-current=true]:after{content:'';height:2px;background:var(--primary);position:absolute;bottom:7px;left:0;right:0}
.header-phone{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.header-cta{font-size:12px!important;min-height:40px!important;padding-inline:15px!important}.menu-button{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:11px 18px;font-size:14px;font-weight:500;line-height:1.4;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-md);transition:background var(--duration),box-shadow var(--duration),transform var(--duration),border-color var(--duration)}
.button>span{font-size:18px;line-height:1}.button-primary{background:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 2px #0000000d}.button-outline{background:var(--background);color:var(--foreground);border-color:var(--input);box-shadow:0 1px 2px #0000000d}
.button:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 50%,transparent)}.button:active{transform:translateY(1px)}
.eyebrow{font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.01em;color:var(--muted-foreground)}
.hero{max-width:calc(var(--page-width) + 2 * var(--gutter));margin:auto;padding:64px var(--gutter) 56px;display:grid;grid-template-columns:1.06fr 1fr;gap:56px;align-items:center}
.hero-content{padding:0}
.hero h1{font-size:clamp(46px,5.3vw,78px);line-height:1.025;letter-spacing:-.064em;font-weight:600;max-width:680px}
.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px}
.hero-media{min-width:0}.hero-image-wrap{aspect-ratio:1.06;max-height:540px;overflow:hidden;border-radius:var(--radius-xl);background:var(--muted)}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 60%;animation:photo-enter 900ms var(--ease) both}
.hero-media figcaption{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding-top:14px;font-size:10px;color:var(--muted-foreground)}.hero-media figcaption a{color:var(--foreground);font-weight:500;display:flex;gap:12px;align-items:center;min-height:28px}.hero-media figcaption a span{font-size:16px}

.section{padding:100px max(var(--gutter),calc((100% - var(--page-width))/2))}
.section-heading{display:grid;grid-template-columns:1fr 1.75fr 1fr;gap:32px;align-items:start;margin-bottom:48px}
.section-index{padding-top:7px}.section h2{font-size:clamp(32px,3.25vw,48px);letter-spacing:-.05em}.section-note{font-size:14px;line-height:1.65;color:var(--muted-foreground);max-width:300px;padding-top:4px}
.intro .section-heading{display:block}
.solution-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:48px;align-items:start}.solution-list{display:flex;flex-direction:column;gap:6px;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-xl);padding:6px}
.solution{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:22px 16px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);transition:background var(--duration),box-shadow var(--duration),border-color var(--duration)}
.solution.active{background:var(--background);border-color:var(--border);box-shadow:0 1px 3px #00000009}.solution-name{font-size:16px;font-weight:500;line-height:1.35;letter-spacing:-.02em}.solution-name small{display:block;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--muted-foreground);margin-top:8px}.solution-panel{min-width:0;border-radius:var(--radius-xl)}.solution-image-wrap{height:370px;background:var(--muted);border:1px solid var(--border);position:relative;overflow:hidden;border-radius:var(--radius-xl)}.solution-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.image-tag{position:absolute;left:16px;bottom:16px;font-size:10px;font-weight:500;padding:5px 9px;background:#ffffffed;color:var(--foreground);border:1px solid #e5e5e5;border-radius:6px;backdrop-filter:blur(8px)}
.solution-caption{display:flex;gap:30px;justify-content:space-between;padding-top:20px;align-items:start}.solution-caption p{font-size:13px;line-height:1.65;color:var(--muted-foreground);max-width:440px}.solution-caption a{font-size:12px;line-height:1.5;font-weight:500;white-space:nowrap;min-height:36px;display:flex;gap:12px;align-items:center}
.projects{border-block:1px solid var(--border)}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:56px}.process article{border-top:1px solid var(--border);padding:24px 28px 0 0;position:relative}.process article+article{padding-left:24px;border-left:1px solid var(--border)}.process-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:11px;line-height:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--muted);margin-bottom:26px;font-variant-numeric:tabular-nums}.process h3{font-size:19px;font-weight:500;letter-spacing:-.025em;margin-bottom:12px}.process p{font-size:13px;line-height:1.7;color:var(--muted-foreground);max-width:260px}
.engineering-photo{height:440px;position:relative;overflow:hidden;border-radius:var(--radius-xl);background:#171717;color:white}.engineering-photo img{width:100%;height:100%;object-fit:cover;object-position:center 51%;filter:grayscale(1)}.engineering-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000b,transparent 90%)}.engineering-photo>div{position:absolute;left:40px;bottom:40px;z-index:1}.engineering-photo .eyebrow{color:#e5e5e5;font-size:11px}.engineering-photo>div>p:nth-child(2){font-size:42px;line-height:1.14;letter-spacing:-.045em;font-weight:500;margin-top:20px}.engineering-photo>div>span{display:block;font-size:11px;color:#d4d4d4;margin-top:28px}
.contact{background:var(--muted);display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,10vw,150px);border-top:1px solid var(--border);align-items:start}.contact h2{font-size:clamp(42px,4.4vw,62px);margin-top:28px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:38px}.contact-links a{display:flex;align-items:center;gap:20px;min-height:36px}.contact-phone{font-size:22px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.contact-email{font-size:14px}.contact-links span{font-size:17px}
.brief-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px;box-shadow:0 1px 3px #00000008}.form-heading{margin-bottom:28px}.form-heading h3{font-size:20px;letter-spacing:-.025em}.brief-form label{font-size:12px;font-weight:500;display:block;margin-bottom:22px;line-height:1.5}.required-mark{color:var(--muted-foreground)}
.brief-form input,.brief-form textarea,.brief-form select{display:block;width:100%;min-width:0;margin-top:9px;min-height:42px;padding:9px 12px;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--background);font-size:13px;font-weight:400;line-height:1.5;box-shadow:0 1px 2px #00000005;outline:none;transition:border-color var(--duration),box-shadow var(--duration)}
.brief-form textarea{resize:vertical;min-height:96px}.brief-form select{padding-right:30px}.brief-form input::placeholder,.brief-form textarea::placeholder{color:var(--muted-foreground)}
.brief-form input:focus-visible,.brief-form textarea:focus-visible,.brief-form select:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 35%,transparent)}.brief-form input[aria-invalid=true]{border-color:var(--destructive)}.brief-form input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--destructive) 20%,transparent)}.field-error{display:block;font-weight:400;color:var(--destructive);font-size:11px;margin-top:7px}
.form-field{margin-bottom:22px}.form-field label{margin-bottom:0}.form-row{display:grid;grid-template-columns:1fr 1.45fr;gap:16px}.brief-form>.button{width:100%}.form-note{font-size:11px;line-height:1.6;color:var(--muted-foreground);margin-top:14px}.form-status{font-size:12px;color:var(--foreground);line-height:1.6}.form-status:not(:empty){padding-top:18px}.brief-result{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.brief-result textarea{font-size:12px;background:var(--muted);min-height:200px}.brief-result a{display:inline-flex;align-items:center;min-height:40px;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
footer{padding:44px max(var(--gutter),calc((100% - var(--page-width))/2)) 24px;background:var(--background);border-top:1px solid var(--border)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:center;padding-bottom:32px}.footer-brand{max-width:210px;display:block}.footer-brand img{height:auto;width:100%}.footer-top p{font-size:12px;color:var(--muted-foreground);line-height:1.65}.footer-top>a:last-child{font-size:11px;justify-self:end;color:var(--muted-foreground)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--border);padding-top:20px;font-size:10px;color:var(--muted-foreground)}
.hero-enter{animation:hero-enter .65s var(--ease) both}.hero-enter:nth-child(2){animation-delay:55ms}
.reveal-ready{opacity:0;transform:translateY(16px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.reveal-ready.is-visible{opacity:1;transform:none}
@keyframes hero-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes photo-enter{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(hover:hover) and (pointer:fine){.button-primary:hover{background:#303030}.button-outline:hover{background:var(--muted)}.nav a:hover{color:var(--foreground)}.solution:not(.active):hover{background:#eaeaea}.hero-media figcaption a:hover,.solution-caption a:hover,.contact-links a:hover{text-decoration:underline;text-underline-offset:5px}}
@media(min-width:1700px){.hero{min-height:740px}.hero-image-wrap{max-height:590px}}
@media(max-width:1200px){.header{gap:22px}.header-phone{display:none}.nav{gap:22px}.hero{gap:32px;padding-top:54px;padding-bottom:48px}.hero h1{font-size:clamp(46px,5.4vw,67px)}.section-heading{grid-template-columns:.85fr 1.7fr 1fr;gap:22px}.solution-layout{grid-template-columns:1fr 1.5fr;gap:28px}.solution{padding:19px 12px;gap:12px}.solution-name{font-size:15px}.solution-caption{gap:20px}.solution-caption p{font-size:12px}.contact{gap:60px}}
@media(max-width:900px){:root{--header-height:72px;--gutter:32px}.header{gap:20px}.logo{width:188px}.nav{gap:18px}.nav a{font-size:12px}.header-cta{display:none!important}.hero{gap:28px;padding-block:44px}.hero h1{font-size:46px}.hero-image-wrap{aspect-ratio:.85}.hero-media figcaption{font-size:9px;gap:8px;flex-wrap:wrap}.hero-actions .button{font-size:12px;padding-inline:14px}.section{padding-block:76px}.section-heading{grid-template-columns:1.6fr 1fr;gap:20px 36px;margin-bottom:36px}.section-index{grid-column:1/-1;padding:0}.section-note{font-size:13px}.section h2{font-size:36px}.solution-layout{grid-template-columns:1fr 1.35fr;gap:24px}.solution-image-wrap{height:320px}.solution-caption{flex-direction:column;gap:12px}.solution-caption p{font-size:13px}.solution-name small{font-size:10px}.solution{padding:22px 10px;gap:10px}.process{grid-template-columns:1fr 1fr;gap:32px 0}.process article:nth-child(3){padding-left:0;border-left:0}.engineering-photo{height:390px}.engineering-photo>div{left:30px;bottom:30px}.engineering-photo>div>p:nth-child(2){font-size:36px}.contact{gap:32px}.contact h2{font-size:44px}.contact-phone{font-size:20px}.brief-form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.footer-top{grid-template-columns:1fr 1fr}.footer-top>a:last-child{justify-self:start;grid-column:1/-1}.footer-bottom{font-size:9px}}
@media(max-width:680px){:root{--header-height:68px;--gutter:22px}html{scroll-padding-top:90px}.header{justify-content:space-between}.logo{width:188px}.menu-button{width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}.menu-button span{display:block;width:17px;height:1.5px;background:var(--primary);transition:transform var(--duration)}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
 .nav{display:none;position:absolute;left:16px;right:16px;top:calc(var(--header-height) + 8px);padding:8px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 10px 30px #00000014;margin:0}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0;animation:hero-enter .16s ease-out}.nav a{font-size:14px;padding:12px 14px;border-radius:var(--radius-sm)}.nav a[aria-current=true]{background:var(--muted)}.nav a[aria-current=true]:after{display:none}
 .hero{grid-template-columns:1fr;gap:32px;min-height:0;padding-top:44px;padding-bottom:24px}.hero-content{padding:0}.hero h1{font-size:clamp(40px,10.7vw,65px);line-height:1.06;letter-spacing:-.06em}.hero-actions{margin-top:24px;gap:8px}.hero-actions .button{font-size:12px;min-height:44px;padding-inline:16px}.hero-image-wrap{aspect-ratio:1.45;max-height:340px;border-radius:10px}.hero-image{object-position:50% 48%}.hero-media figcaption{font-size:9px;flex-wrap:nowrap;padding-top:10px}.section{padding-block:60px}.section-heading{display:block;margin-bottom:30px}.section-index{margin-bottom:18px;font-size:11px}.section h2{font-size:34px}.section-note{margin-top:18px;max-width:350px;font-size:14px}.solution-layout{display:flex;flex-direction:column;gap:24px}.solution-list{width:100%;gap:4px}.solution{padding:16px 12px;gap:14px;min-height:76px}.solution-name{font-size:16px}.solution-name small{font-size:11px;margin-top:5px}.solution-panel{width:100%}.solution-image-wrap{height:260px}.solution-caption{flex-direction:column;gap:10px;padding-top:16px}.solution-caption p{font-size:13px}.solution-caption a{font-size:12px}.process{gap:28px 0;margin-bottom:32px}.process article{padding:20px 16px 0 0}.process article+article{padding-left:20px}.process article:nth-child(3){padding-left:0}.process-num{margin-bottom:20px}.process h3{font-size:17px;line-height:1.25}.process p{font-size:12px;line-height:1.6}.engineering-photo{height:400px}.engineering-photo img{object-position:64% center}.engineering-photo:after{background:linear-gradient(0deg,#000c,transparent 95%)}.engineering-photo>div{left:22px;right:22px;bottom:26px}.engineering-photo .eyebrow{font-size:9px}.engineering-photo>div>p:nth-child(2){font-size:30px}.engineering-photo>div>span{margin-top:22px;font-size:10px}.contact{display:block}.contact h2{font-size:44px;margin-top:20px}.contact-links{margin-top:24px;gap:3px}.contact-phone{font-size:22px}.brief-form{margin-top:32px;padding:22px}.form-heading h3{font-size:19px}.brief-form input,.brief-form select,.brief-form textarea{font-size:16px;min-height:44px}.brief-form label{font-size:12px}.brief-form input::placeholder,.brief-form textarea::placeholder{font-size:13px}.form-note{font-size:11px}.form-row{grid-template-columns:1fr;gap:0}.footer-top{grid-template-columns:1fr;gap:24px}.footer-brand{max-width:190px}.footer-top p{font-size:12px}.footer-top>a:last-child{font-size:10px}.footer-bottom{flex-wrap:wrap;gap:12px 20px;font-size:9px}.footer-bottom>span:nth-child(2){order:3;width:100%;color:#737373}footer{padding-top:36px;padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}

/* Commerce entry points share the selected neutral component system. */
.header-cart{font-size:12px;gap:8px;padding:9px 12px;min-height:40px;flex-shrink:0}
.header-cart .cart-label{font-size:12px}.header-cart .cart-count{font-size:10px;background:var(--muted);border-radius:5px;min-width:20px;min-height:20px;display:grid;place-items:center;font-variant-numeric:tabular-nums}
@media(max-width:680px){.header{gap:12px}.header .logo{width:174px;margin-right:auto}.header .menu-button{order:3}.header-cart{padding:9px;min-height:40px}.header-cart .cart-label{display:none}.header-cart .cart-count{background:transparent;min-width:10px}.header-cart{order:2}.hero-actions .button{padding-inline:13px}.hero-image{object-position:50% 62%}}
