:root { --ink:#132A2D; --ink-2:#263D40; --muted:#617275; --line:#D9E0DE; --paper:#F7F9F7; --white:#fff; --accent:#F1B52A; --accent-dark:#C7830C; --soft:#EEF2EF; --red:#AE3D32; --radius:18px; --content:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 15px/1.6 Manrope,Arial,sans-serif; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
img { display:block; max-width:100%; }
.skip-link { position:absolute; z-index:20; top:-80px; left:18px; background:var(--accent); padding:9px 13px; border-radius:8px; color:var(--ink); font-weight:800; } .skip-link:focus { top:12px; }
.container { width:min(calc(100% - 48px),var(--content)); margin:0 auto; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--accent-dark); font-weight:800; letter-spacing:.09em; text-transform:uppercase; font-size:11px; }
.eyebrow::before { content:""; width:22px; height:2px; background:currentColor; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { text-wrap:balance; }
h1 { font:600 clamp(37px,5.2vw,72px)/1.08 Unbounded,Manrope,sans-serif; letter-spacing:-.055em; margin-bottom:24px; }
h2 { font:600 clamp(28px,3.6vw,47px)/1.13 Unbounded,Manrope,sans-serif; letter-spacing:-.052em; margin-bottom:18px; }
h3 { font:700 19px/1.25 Manrope,sans-serif; letter-spacing:-.025em; margin-bottom:10px; }
.lead { color:#405255; font-size:18px; line-height:1.65; max-width:650px; }
.section { padding:112px 0; }
.section--soft { background:var(--soft); }
.section--ink { background:var(--ink); color:#F6F8F4; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:45px; }
.section-heading .lead { margin:0; max-width:500px; }
.topbar { background:var(--ink); color:#DFE7E5; font-size:12px; }
.topbar__inner { min-height:40px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.topbar__inner div { display:flex; gap:24px; align-items:center; }
.topbar a:hover { color:var(--accent); }
.site-header { position:sticky; top:0; z-index:10; background:rgba(247,249,247,.95); border-bottom:1px solid rgba(19,42,45,.1); backdrop-filter:blur(12px); }
.header__inner { display:flex; min-height:81px; align-items:center; justify-content:space-between; gap:26px; }
.brand { display:flex; align-items:center; gap:11px; flex-shrink:0; }
.brand-mark { position:relative; display:flex; align-items:flex-end; height:45px; color:var(--ink); font:700 25px/1 Unbounded,sans-serif; letter-spacing:-.16em; padding-right:5px; }
.brand-mark::before { content:""; position:absolute; height:6px; width:49px; left:1px; bottom:-8px; background:var(--accent); clip-path:polygon(0 0,100% 0,87% 100%,0 100%); }
.brand-copy { display:flex; flex-direction:column; font-weight:800; line-height:1.1; letter-spacing:-.04em; font-size:15px; }
.brand-copy small { font-size:9px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin-top:4px; }
.nav { display:flex; align-items:center; gap:23px; margin-left:auto; font-weight:700; font-size:13px; white-space:nowrap; }
.nav a { position:relative; padding:8px 0; } .nav a::after { content:""; position:absolute; height:2px; width:0; bottom:2px; left:0; background:var(--accent-dark); transition:width .2s; } .nav a:hover::after,.nav a[aria-current="page"]::after { width:100%; }
.header-contact { padding-left:22px; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:1px; font-size:11px; color:var(--muted); white-space:nowrap; }
.header-contact a { font-weight:800; font-size:14px; color:var(--ink); letter-spacing:-.03em; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--white); cursor:pointer; }
.menu-toggle span,.menu-toggle::after,.menu-toggle::before { content:""; display:block; height:2px; width:19px; margin:4px auto; background:currentColor; transition:.2s; }
.button { display:inline-flex; min-height:49px; align-items:center; justify-content:center; gap:10px; padding:12px 20px; border-radius:8px; border:1px solid transparent; font-weight:800; font-size:14px; cursor:pointer; transition:transform .2s,background .2s,border .2s; }
.button:hover { transform:translateY(-2px); } .button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid #F2B92E; outline-offset:3px; }
.button--accent { background:var(--accent); color:var(--ink); } .button--accent:hover { background:#FFD15B; }
.button--dark { background:var(--ink); color:#fff; } .button--dark:hover { background:#244549; }
.button--ghost { border-color:rgba(255,255,255,.35); color:#fff; } .button--ghost:hover { background:rgba(255,255,255,.1); }
.button--line { border-color:var(--line); background:transparent; color:var(--ink); } .button--line:hover { background:var(--soft); }
.button svg { width:17px; height:17px; }
.hero { background:var(--ink); min-height:665px; color:#fff; overflow:hidden; }
.hero .container { min-height:665px; display:grid; grid-template-columns:1.04fr .96fr; align-items:center; position:relative; }
.hero__content { position:relative; z-index:1; padding:80px 20px 85px 0; }
.hero .eyebrow { color:#F3C449; }
.hero h1 { max-width:760px; }
.hero .lead { color:#D1DEDA; max-width:590px; margin-bottom:32px; }
.hero__buttons { display:flex; flex-wrap:wrap; gap:12px; }
.hero__art { position:absolute; inset:0 calc((100vw - var(--content))/ -2) 0 49%; background:linear-gradient(90deg,var(--ink) 0%,rgba(19,42,45,.1) 36%),url('assets/work-09.jpg') center/cover no-repeat; mix-blend-mode:normal; }
.hero__note { position:absolute; bottom:30px; right:0; z-index:2; color:#CCD6D3; font-size:11px; background:rgba(19,42,45,.75); padding:7px 10px; border-radius:5px; }
.hero__index { position:absolute; bottom:0; left:0; height:5px; width:34%; background:var(--accent); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card { border:1px solid var(--line); background:var(--white); padding:26px; min-height:248px; border-radius:var(--radius); display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s,border .2s; }
.service-card:hover { transform:translateY(-4px); border-color:#B4C2BE; box-shadow:0 15px 30px rgba(19,42,45,.07); }
.service-icon { display:grid; place-items:center; width:42px; height:42px; color:var(--ink); background:#FAE6A7; border-radius:8px; margin-bottom:30px; }
.service-icon svg { width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; }
.service-card p { color:var(--muted); font-size:14px; margin-bottom:20px; }
.text-link { display:inline-flex; gap:7px; align-items:center; color:var(--ink); font-weight:800; margin-top:auto; font-size:13px; }
.text-link span { transition:transform .2s; }.text-link:hover span { transform:translateX(4px); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:start; }
.about-grid .copy > p { color:#425356; font-size:16px; }
.checks { list-style:none; padding:0; margin:29px 0 0; display:grid; gap:12px; }
.checks li { display:flex; gap:13px; align-items:flex-start; color:#37494C; }.checks li::before { content:""; margin-top:7px; width:9px; height:9px; flex:0 0 auto; border:2px solid var(--accent-dark); border-radius:50%; }
.fact-panel { border:1px solid rgba(255,255,255,.17); padding:32px; background:#1C373A; border-radius:var(--radius); }
.fact-panel__line { display:flex; align-items:flex-start; gap:17px; padding:21px 0; border-bottom:1px solid rgba(255,255,255,.14); }.fact-panel__line:last-child { border-bottom:0; padding-bottom:0; }.fact-panel__line:first-child { padding-top:0; }
.fact-panel__index { color:var(--accent); font:600 16px/1 Unbounded,sans-serif; }.fact-panel h3 { margin:0 0 3px; font-size:16px; }.fact-panel p { color:#BDCDCA; margin:0; font-size:13px; }
.price-teasers { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.price-teaser { background:var(--white); padding:27px 23px; min-height:200px; display:flex; flex-direction:column; }.price-teaser .category { font-size:11px; color:var(--muted); font-weight:800; text-transform:uppercase; letter-spacing:.06em; }.price-teaser strong { font:600 29px/1.15 Unbounded,sans-serif; letter-spacing:-.07em; margin:20px 0 5px; }.price-teaser p { color:#516366; font-size:13px; margin:0; }
.portfolio-panel { display:grid; grid-template-columns:1.1fr .9fr; align-items:stretch; border-radius:var(--radius); overflow:hidden; background:var(--ink); color:#fff; }.portfolio-panel__copy { padding:48px; }.portfolio-panel__copy p { color:#C5D1CF; max-width:520px; }.portfolio-panel__visual { min-height:315px; position:relative; background:linear-gradient(140deg,#406066,#182F32); overflow:hidden; }.portfolio-panel__visual::before,.portfolio-panel__visual::after { content:""; position:absolute; inset:auto -20% 25% -20%; height:80px; transform:rotate(-12deg); border-top:1px solid rgba(255,255,255,.35); border-bottom:1px solid rgba(255,255,255,.16); }.portfolio-panel__visual::after { bottom:-8%; transform:rotate(-12deg); height:120px; }.portfolio-placeholder { position:absolute; inset:65px 34px; padding:20px; border:1px dashed rgba(255,255,255,.5); color:#D9E5E2; font-weight:700; font-size:13px; display:flex; align-items:end; }.portfolio-placeholder::before { content:""; position:absolute; inset:20px 20px 65px; background:linear-gradient(135deg,rgba(255,255,255,.15),transparent); }
.recommend { border:1px dashed #AEBEBA; border-radius:var(--radius); padding:30px; display:flex; align-items:center; gap:25px; background:var(--white); }.recommend__icon { width:50px; height:50px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#E3EAE6; }.recommend__icon svg { width:24px; }.recommend h3 { margin:0 0 5px; }.recommend p { margin:0; color:var(--muted); font-size:14px; }
.form-shell { display:grid; grid-template-columns:.8fr 1.2fr; border-radius:var(--radius); overflow:hidden; background:var(--ink); color:#fff; }.form-intro { padding:47px; background:#1C393D; }.form-intro p { color:#C3D0CE; }.form-intro .contact-list { margin-top:33px; }.form-intro .contact-list a { display:block; margin-top:9px; font-size:17px; font-weight:800; }.request-form { padding:39px 43px; display:grid; grid-template-columns:1fr 1fr; gap:15px; }.field { display:flex; flex-direction:column; gap:7px; }.field--full { grid-column:1/-1; }.field label { font-size:12px; color:#C1D0CD; font-weight:700; }.field input,.field textarea,.field select { min-width:0; width:100%; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.27); border-radius:6px; padding:12px 13px; outline:0; }.field select { color:#DFE7E5; }.field select option { color:var(--ink); }.field textarea { min-height:87px; resize:vertical; }.field input::placeholder,.field textarea::placeholder { color:#9EB0AD; }.form-consent { grid-column:1/-1; display:flex; gap:9px; color:#C1D0CD; font-size:11px; align-items:flex-start; }.form-consent input { margin:4px 0 0; accent-color:var(--accent); }.form-message { grid-column:1/-1; display:none; font-size:13px; padding:10px 12px; border-radius:5px; }.form-message.is-error { display:block; background:rgba(174,61,50,.22); color:#FFD3CE; }.form-message.is-info { display:block; background:rgba(241,181,42,.17); color:#FFDF84; }
.crumbs { padding:24px 0 0; font-size:12px; color:var(--muted); }.crumbs a { text-decoration:underline; text-underline-offset:3px; }.page-hero { padding:59px 0 67px; border-bottom:1px solid var(--line); }.page-hero .lead { margin-bottom:0; }.page-hero__tag { padding:4px 9px; color:var(--accent-dark); background:#FFF2C8; border-radius:4px; font-weight:800; font-size:11px; text-transform:uppercase; letter-spacing:.06em; display:inline-block; margin-bottom:19px; }
.anchor-nav { position:sticky; top:81px; z-index:6; background:#fff; border-bottom:1px solid var(--line); }.anchor-nav__inner { min-height:55px; display:flex; align-items:center; gap:25px; overflow:auto; }.anchor-nav a { color:#4B5E61; font-size:12px; font-weight:800; white-space:nowrap; }.anchor-nav a:hover { color:var(--accent-dark); }
.catalog { display:grid; grid-template-columns:280px 1fr; gap:50px; }.catalog__aside { position:sticky; top:153px; align-self:start; border-left:2px solid var(--line); }.catalog__aside a { display:block; padding:7px 0 7px 18px; font-size:13px; font-weight:700; color:var(--muted); }.catalog__aside a:hover { color:var(--ink); border-left:2px solid var(--accent); margin-left:-2px; }.catalog__body { display:grid; gap:60px; }.category-block { scroll-margin-top:145px; }.category-block__head { display:flex; align-items:baseline; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:13px; margin-bottom:18px; }.category-block__head h2 { font:600 25px/1.2 Unbounded,sans-serif; margin:0; }.category-block__head span { color:var(--muted); font-size:12px; }.catalog-list { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.catalog-item { display:flex; gap:15px; padding:19px; border:1px solid var(--line); border-radius:10px; background:var(--white); }.catalog-item__number { display:grid; flex:0 0 29px; height:29px; place-items:center; background:#FBE7A7; border-radius:5px; font-size:12px; font-weight:800; }.catalog-item h3 { font-size:15px; margin-bottom:5px; }.catalog-item p { color:var(--muted); font-size:13px; margin:0 0 9px; }.catalog-meta { display:flex; align-items:center; gap:9px; color:#4C5E60; font-size:11px; font-weight:800; }.catalog-meta strong { color:var(--ink); }.catalog-item .text-link { margin-top:10px; }
.pricing-section { scroll-margin-top:138px; margin-bottom:59px; }.pricing-section:last-child { margin-bottom:0; }.pricing-section__head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:16px; }.pricing-section h2 { font:600 28px/1.2 Unbounded,sans-serif; margin:0; }.pricing-section__head p { margin:0; color:var(--muted); font-size:13px; }.price-table { overflow:auto; border:1px solid var(--line); border-radius:10px; background:#fff; }.price-table table { width:100%; min-width:620px; border-collapse:collapse; }.price-table th { padding:13px 19px; background:#EAF0ED; text-align:left; color:#526265; font-size:11px; text-transform:uppercase; letter-spacing:.06em; }.price-table td { padding:16px 19px; border-top:1px solid var(--line); font-size:13px; }.price-table td:first-child { width:66px; color:var(--muted); }.price-table td:nth-child(3) { color:var(--muted); white-space:nowrap; }.price-table td:nth-child(4) { font-weight:800; white-space:nowrap; }.price-table .calc-link { color:var(--accent-dark); text-decoration:underline; text-underline-offset:3px; font-weight:800; white-space:nowrap; }.price-note { margin-top:22px; padding:19px 21px; border-left:4px solid var(--accent); background:#FFF7E0; color:#5A4B26; font-size:13px; }.price-note p { margin:0; }.info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }.info-card { padding:28px; border:1px solid var(--line); background:#fff; border-radius:var(--radius); }.info-card h3 { margin-bottom:12px; }.info-card p { color:var(--muted); margin:0; font-size:14px; }.info-card ul { padding-left:18px; color:var(--muted); font-size:14px; margin:11px 0 0; }.about-deep { display:grid; grid-template-columns:1.1fr .9fr; gap:7%; }.about-deep p { color:#45575A; font-size:16px; }.statement { background:#FCE7AB; border-radius:var(--radius); padding:31px; align-self:start; }.statement p { color:#3A3A28; font:600 19px/1.5 Manrope,sans-serif; margin:0; }.statement small { margin-top:18px; display:block; color:#6D6037; font-weight:700; }
.portfolio-template { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.future-project { border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; }.future-project__image { aspect-ratio:1.38; display:flex; align-items:center; justify-content:center; padding:25px; background:repeating-linear-gradient(-45deg,#EEF2EF 0,#EEF2EF 12px,#E4EBE7 12px,#E4EBE7 24px); color:#617275; text-align:center; font-weight:800; font-size:13px; }.future-project__image svg { width:30px; margin-right:9px; }.future-project__body { padding:21px; }.future-project__body h3 { color:#889694; }.future-project__body p { color:#9CA8A6; font-size:13px; margin:0; }.future-project__meta { margin-top:13px; padding-top:13px; border-top:1px solid #EDF0EE; color:#A1ABAA; font-size:11px; }.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.15); }.process-step { padding:28px; background:var(--ink); }.process-step strong { display:block; color:var(--accent); font:600 23px/1 Unbounded,sans-serif; margin-bottom:27px; }.process-step h3 { font-size:16px; }.process-step p { margin:0; color:#B7C6C3; font-size:13px; }
.recommend-page { max-width:780px; margin:0 auto; text-align:center; }.recommend-page .recommend__icon { margin:0 auto 19px; width:62px; height:62px; }.recommend-page p { color:var(--muted); font-size:16px; }.placeholder-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-top:36px; }.logo-placeholder { padding:30px 17px; min-height:110px; border:1px dashed #B8C5C1; color:#9AA8A5; border-radius:9px; display:flex; justify-content:center; align-items:center; text-align:center; font-size:12px; font-weight:800; background:#fff; }
.contacts-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:16px; }.contact-card { padding:28px; border-radius:var(--radius); background:#fff; border:1px solid var(--line); }.contact-card h2 { font:600 25px/1.2 Unbounded,sans-serif; }.contact-stack { display:grid; gap:20px; }.contact-row { display:flex; gap:14px; align-items:flex-start; }.contact-row__icon { flex:0 0 auto; width:34px; height:34px; display:grid; place-items:center; background:#FAE6A7; border-radius:6px; }.contact-row__icon svg { width:17px; }.contact-row small { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.06em; font-weight:800; color:var(--muted); margin-bottom:3px; }.contact-row a,.contact-row strong { font-size:15px; font-weight:800; }.contact-row p { color:#4F6163; margin:0; font-size:14px; }.requisites { margin-top:16px; padding:28px; border-radius:var(--radius); background:var(--ink); color:#fff; }.requisites h2 { font:600 25px/1.2 Unbounded,sans-serif; }.requisites dl { margin:22px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.13); }.requisites div { padding:13px; background:#193337; }.requisites dt { color:#AFC0BD; font-size:10px; text-transform:uppercase; font-weight:800; letter-spacing:.06em; }.requisites dd { margin:3px 0 0; font-weight:700; font-size:13px; }.requisites .copy-all { margin-top:20px; }.map-note { padding:26px; min-height:196px; border-radius:var(--radius); background:linear-gradient(135deg,#CFDAD6,#8EA5A1); position:relative; overflow:hidden; }.map-note::after { content:""; position:absolute; width:140%; height:40px; background:rgba(255,255,255,.66); transform:rotate(-25deg); top:42%; left:-20%; }.map-note > div { position:relative; z-index:1; max-width:320px; padding:16px; color:#253B3E; background:#fff; border-radius:8px; font-size:13px; box-shadow:0 9px 30px rgba(15,40,42,.13); }.map-note strong { display:block; margin-bottom:5px; }
.site-footer { background:#0E2022; color:#D9E4E1; padding:60px 0 25px; }.footer-grid { display:grid; grid-template-columns:1.35fr .8fr .9fr .9fr; gap:35px; }.site-footer .brand { color:#fff; }.site-footer .brand-copy small { color:#9DB0AC; }.footer-about { color:#9DB0AC; font-size:13px; max-width:260px; margin:22px 0; }.footer-heading { color:#F7F9F7; font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin:4px 0 16px; }.footer-links { list-style:none; padding:0; margin:0; display:grid; gap:8px; }.footer-links a { color:#B7C7C4; font-size:13px; }.footer-links a:hover { color:var(--accent); }.footer-contacts a { display:block; font-size:14px; font-weight:800; color:#fff; margin-bottom:8px; }.footer-contacts p { color:#AFC0BD; font-size:12px; }.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:47px; padding-top:20px; display:flex; gap:15px; justify-content:space-between; color:#8DA09D; font-size:11px; }.footer-bottom a { color:#B7C7C4; }
.reveal { opacity:0; transform:translateY(16px); transition:opacity .55s ease,transform .55s ease; }.reveal.is-visible { opacity:1; transform:translateY(0); }
@media (max-width:1080px) { .nav { gap:14px; font-size:12px; }.header-contact { padding-left:14px; }.service-grid { grid-template-columns:repeat(2,1fr); }.price-teasers { grid-template-columns:repeat(2,1fr); }.footer-grid { grid-template-columns:1.2fr 1fr 1fr; }.footer-grid > :first-child { grid-column:1/-1; }.catalog { grid-template-columns:210px 1fr; gap:28px; } }
@media (max-width:820px) { .container { width:min(calc(100% - 34px),var(--content)); }.topbar__inner { min-height:36px; }.topbar__inner span:last-child { display:none; }.header__inner { min-height:69px; }.nav,.header-contact { display:none; }.menu-toggle { display:block; margin-left:auto; }.nav.is-open { position:absolute; display:flex; flex-direction:column; align-items:stretch; gap:0; top:69px; left:0; right:0; padding:13px 17px 19px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 15px 25px rgba(19,42,45,.09); }.nav.is-open a { font-size:15px; padding:13px 0; border-bottom:1px solid var(--line); }.nav.is-open a:last-child { border-bottom:none; }.hero,.hero .container { min-height:660px; }.hero .container { display:block; }.hero__content { padding:60px 0 245px; }.hero__art { inset:auto -17px 0 -17px; height:300px; background:linear-gradient(0deg,var(--ink) 0%,rgba(19,42,45,.05) 80%),url('assets/work-07.jpg') center/cover no-repeat; }.hero__note { bottom:12px; right:0; font-size:10px; }.section { padding:76px 0; }.section-heading { display:block; margin-bottom:30px; }.section-heading .lead { margin-top:14px; }.about-grid,.about-deep,.portfolio-panel,.form-shell,.contacts-grid { grid-template-columns:1fr; }.fact-panel { margin-top:35px; }.portfolio-panel__copy { padding:34px; }.portfolio-panel__visual { min-height:235px; }.form-intro { padding:34px; }.request-form { padding:27px 24px; }.catalog { display:block; }.catalog__aside { display:none; }.catalog__body { gap:50px; }.anchor-nav { top:69px; }.catalog-list { grid-template-columns:1fr; }.portfolio-template { grid-template-columns:1fr 1fr; }.process-grid { grid-template-columns:1fr 1fr; }.recommend-page { text-align:left; }.recommend-page .recommend__icon { margin-left:0; }.placeholder-grid { grid-template-columns:1fr 1fr; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-grid > :first-child { grid-column:1/-1; } }
@media (max-width:540px) { h1 { font-size:35px; }.lead { font-size:16px; }.topbar__inner { font-size:11px; }.topbar__inner div { gap:13px; }.brand-mark { font-size:21px; height:38px; }.brand-copy { font-size:13px; }.brand-copy small { font-size:8px; }.section { padding:61px 0; }.service-grid,.price-teasers,.info-grid,.portfolio-template,.process-grid,.placeholder-grid { grid-template-columns:1fr; }.service-card { min-height:0; }.price-teaser { min-height:156px; }.price-teaser strong { margin:12px 0 5px; }.hero,.hero .container { min-height:655px; }.hero__content { padding-top:47px; }.hero__buttons .button { width:100%; }.about-grid { gap:30px; }.form-intro { padding:29px 23px; }.request-form { grid-template-columns:1fr; padding:25px 20px; }.field--full { grid-column:auto; }.form-consent,.form-message { grid-column:auto; }.page-hero { padding:43px 0 51px; }.page-hero h1 { font-size:34px; }.pricing-section h2 { font-size:24px; }.pricing-section__head { display:block; }.pricing-section__head p { margin-top:9px; }.requisites dl { grid-template-columns:1fr; }.footer-grid { grid-template-columns:1fr; }.footer-bottom { display:block; }.footer-bottom p + p { margin-top:7px; } }

.creator-credit { color:#70817E; font-size:10px; }.creator-credit a { color:inherit; text-decoration:none; }.creator-credit a:hover { color:#B7C7C4; }

/* Строгая корпоративная палитра и медиа-система */
:root { --ink:#15262A; --ink-2:#2A3A3D; --muted:#5A696C; --line:#D2DAD8; --paper:#F5F6F5; --accent:#B88935; --accent-dark:#7D5A1E; --soft:#ECEFEE; --radius:9px; }
body { overflow-x:hidden; }
h1,h2 { font-family:Manrope,Arial,sans-serif; font-weight:800; letter-spacing:-.055em; }
h3,.brand-mark,.fact-panel__index,.price-teaser strong,.category-block__head h2,.pricing-section h2,.contact-card h2,.requisites h2,.process-step strong { font-family:Manrope,Arial,sans-serif; }
.site-header { background:rgba(245,246,245,.97); border-bottom-color:#CDD5D3; }
.brand-mark { font-weight:800; letter-spacing:-.17em; }
.brand-mark::before { height:4px; background:var(--accent); }
.nav { gap:18px; font-size:12px; letter-spacing:.01em; }
.button { border-radius:4px; font-weight:800; }
.button--accent { background:var(--accent); color:#fff; }.button--accent:hover { background:#9B7127; }
.hero .button--ghost { background:#F5F6F5; color:#15262A; border-color:#F5F6F5; }
.hero .button--ghost:hover { background:#DDE2E0; border-color:#DDE2E0; }
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline-color:#B88935; }
.hero__art { background:linear-gradient(90deg,#15262A 0%,rgba(21,38,42,.94) 18%,rgba(21,38,42,.18) 69%,rgba(21,38,42,.2) 100%),url('assets/work-09.jpg') center/cover no-repeat; }
.hero .eyebrow { color:#D1AD68; }
.hero__index { height:4px; }
.service-card { padding:0; min-height:0; overflow:hidden; border-radius:6px; }
.service-card__media { display:block; width:100%; height:172px; object-fit:cover; filter:saturate(.82) contrast(1.04); }
.service-card .service-icon { margin:22px 24px 16px; border-radius:4px; background:#E6DBC0; }
.service-card h3,.service-card p,.service-card .text-link { margin-left:24px; margin-right:24px; }.service-card p { margin-bottom:22px; }.service-card .text-link { margin-bottom:23px; }
.service-card:hover { border-color:#AEBBB8; box-shadow:0 12px 27px rgba(19,38,42,.09); }
.price-teasers,.portfolio-panel,.fact-panel,.form-shell,.info-card,.contact-card,.requisites,.future-project { border-radius:6px; }
.fact-panel { background:#1B3034; }.form-intro { background:#213A3E; }
.price-note { border-left-color:#B88935; background:#F3ECE0; color:#503D1B; }
.page-hero__tag,.statement { background:#E8DFC9; color:#66501F; }
.catalog-item__number,.contact-row__icon { background:#E6DBC0; }.catalog-item,.price-table { border-radius:6px; }
.anchor-nav { top:81px; background:#F8F9F8; box-shadow:0 1px 0 rgba(21,38,42,.07); }
.anchor-nav__inner { min-height:0; min-width:0; padding:13px 0; gap:11px 27px; flex-wrap:wrap; overflow:visible; }
.anchor-nav a { min-width:0; color:#435457; font-size:12px; line-height:1.35; }
.category-media { width:100%; height:190px; margin:0 0 22px; overflow:hidden; border-radius:6px; background:#D7DEDC; }.category-media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.8) contrast(1.04); }
.recommend-logo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:38px; }.recommend-logo { display:block; background:#17272A; border:1px solid #263B3F; border-radius:5px; overflow:hidden; aspect-ratio:1; }.recommend-logo img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }.recommend-logo:hover img { transform:scale(1.035); }
.portfolio-panel__visual { background:linear-gradient(90deg,rgba(19,38,42,.05),rgba(19,38,42,.35)),url('assets/work-04.jpg') center/cover; }.portfolio-placeholder { display:none; }
.map-note,.requisites .copy-all { display:none; }
@media (max-width:900px) { .nav { gap:11px; font-size:11px; }.header-contact { display:none; }.anchor-nav { position:static; }.category-media { height:160px; }.recommend-logo-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:820px) { .hero__art { background:linear-gradient(0deg,#15262A 0%,rgba(21,38,42,.04) 78%),url('assets/work-09.jpg') center/cover no-repeat; }.anchor-nav__inner { align-items:flex-start; gap:10px 19px; }.service-card__media { height:160px; } }
@media (max-width:540px) { .anchor-nav__inner { gap:9px 15px; padding:12px 0; }.anchor-nav a { font-size:11px; }.category-media { height:128px; }.recommend-logo-grid { grid-template-columns:repeat(2,1fr); }.service-card__media { height:178px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } .reveal { opacity:1; transform:none; } }

/* Дополнительная адаптация и фотографии разделов */
.about-photo { width:100%; height:100%; min-height:360px; object-fit:cover; border-radius:6px; filter:saturate(.82) contrast(1.04); }
.works-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.works-gallery img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:6px; filter:saturate(.9) contrast(1.03); }
.recommend-logos-mini { display:flex; align-items:center; gap:9px; margin-top:14px; }
.recommend-logos-mini img { width:56px; height:42px; object-fit:cover; border:1px solid var(--line); border-radius:3px; }
.anchor-nav { position:static; }
@media (max-width:1024px) {
  .header__inner { gap:16px; }
  .nav { display:none; }
  .menu-toggle { display:block; margin-left:auto; }
  .nav.is-open { position:absolute; display:flex; flex-direction:column; align-items:stretch; gap:0; top:69px; left:0; right:0; padding:13px 24px 19px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 15px 25px rgba(19,42,45,.09); }
  .nav.is-open a { padding:13px 0; border-bottom:1px solid var(--line); }
  .nav.is-open a:last-child { border-bottom:0; }
}
@media (max-width:820px) { .about-photo { min-height:260px; max-height:380px; }.works-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:540px) { .about-photo { min-height:210px; }.works-gallery { gap:10px; }.recommend-logos-mini img { width:48px; height:36px; } }

/* Локальная системная типографика без обращения к внешнему провайдеру шрифтов. */
body { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
h1,h2,h3,.brand-mark,.fact-panel__index,.price-teaser strong,.category-block__head h2,.pricing-section h2,.contact-card h2,.requisites h2,.process-step strong { font-family:inherit; }
.form-policy { grid-column:1/-1; margin:-7px 0 0; font-size:11px; }
.form-policy a { color:#D7E2DF; text-decoration:underline; text-underline-offset:2px; }
.legal-copy { max-width:850px; }
.legal-copy h2 { margin-top:34px; font-size:clamp(22px,2.7vw,32px); }
.legal-copy h2:first-child { margin-top:0; }
.legal-copy p { max-width:780px; color:#405255; font-size:16px; line-height:1.75; }
.legal-copy a { text-decoration:underline; text-underline-offset:3px; }
