:root{scrollbar-gutter:stable;--ink:#1b1622;--ink-soft:#56505f;--paper:#ffffff;--paper-alt:#f6f4f8;--ink-deep:#161320;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-light:#a78bfa;--accent-soft:#f3f0ff;--line:#e6e3ec;--line-field:#8a8395;--line-dark:rgba(255, 255, 255, .12);--font-display:'Poppins','Segoe UI',system-ui,sans-serif;--font-sans:'Poppins',ui-sans-serif,system-ui,-apple-system,sans-serif;--container:1200px;--radius:4px;--radius-sm:4px}*,::after,::before{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}body,html{overflow-x:hidden}body{font-family:var(--font-sans);font-size:17px;line-height:1.6;color:var(--ink-soft);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-weight:600;line-height:1.1}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0}img,picture,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:var(--font-sans)}svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}::selection{background:var(--accent);color:#fff}.hidden{display:none!important}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.section{padding:104px 0}.section--alt{background:var(--paper-alt)}.section-head{margin-bottom:64px}.section-title{font-family:var(--font-display);font-size:clamp(2rem, 1.4rem + 2.6vw, 3.05rem);font-weight:600;line-height:1.08;letter-spacing:-.022em;color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:500;font-size:.97rem;line-height:1;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn--sm{padding:8px 16px;font-size:.9rem}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:#fff;color:var(--accent);border-color:var(--accent)}.btn--light{background:#fff;color:var(--accent)}.btn--light:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}.nav__inner{max-width:var(--container);margin:0 auto;padding:0 24px;height:76px;display:flex;align-items:center;justify-content:space-between}.nav__logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:-.01em;color:#fff}.nav__logo-mark{display:block;width:36px;height:36px}.nav__links{display:flex;align-items:center;gap:32px}.nav__link{font-size:.95rem;font-weight:500;color:rgba(255,255,255,.78);transition:color .2s}.nav__link:hover{color:#fff}.nav.scrolled,.nav:has(.nav__mobile:not(.hidden)){background:rgba(20,17,28,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--line-dark)}.nav--light,.nav--light.scrolled{background:#fff;border-bottom-color:var(--line)}.nav--light:has(.nav__mobile:not(.hidden)){background:#fff;border-bottom-color:var(--line)}.nav--light .nav__logo{color:var(--ink)}.nav--light .nav__link{color:var(--ink-soft)}.nav--light .nav__link:hover{color:var(--accent-hover)}.nav--light .nav__burger span{background:var(--ink)}.nav--light .nav__mobile-link{color:var(--ink);border-bottom-color:var(--line)}.nav--light .nav__mobile-link--accent{color:var(--accent-hover)}.nav__burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;background:0 0;border:0}.nav__burger span{width:24px;height:2px;background:#fff;border-radius:var(--radius);transition:transform .25s,opacity .2s}.nav:has(.nav__mobile:not(.hidden)) .nav__burger span:first-child{transform:translateY(7px) rotate(45deg)}.nav:has(.nav__mobile:not(.hidden)) .nav__burger span:nth-child(2){opacity:0}.nav:has(.nav__mobile:not(.hidden)) .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav__mobile{display:none;flex-direction:column;padding:8px 24px 24px}.nav__mobile-link{padding:16px 0;font-weight:500;color:rgba(255,255,255,.82);border-bottom:1px solid var(--line-dark)}.nav__mobile-link--accent{color:var(--accent-light);border-bottom:0}@media (max-width:980px){.nav__links{display:none}.nav__burger,.nav__mobile:not(.hidden){display:flex}}.hero{padding:128px 0 80px}.hero__title{font-family:var(--font-display);font-size:clamp(2.4rem, 5vw, 4rem);font-weight:600;line-height:1.08;letter-spacing:-.022em;color:var(--ink);max-width:20ch}.hero__lead{margin-top:24px;max-width:56ch;font-size:1.25rem;line-height:1.6;color:var(--ink-soft);text-wrap:pretty}.hero__actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}.hero .btn--light{border-color:var(--accent)}.hero__inner{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}.hero__phones{position:relative;width:min(340px,100%);aspect-ratio:340/560;margin:0 auto}.hero__phone{position:absolute;display:block;width:240px;padding:7px;background:var(--ink-deep);border-radius:33px;box-shadow:0 0 0 1px var(--line),0 24px 48px -24px rgba(27,22,34,.35);transition:box-shadow .2s}.hero__phone--front{right:0;bottom:0;transform:rotate(6deg)}.hero__phone--back{left:0;top:0;width:200px;transform:rotate(-4deg)}.hero__phone img{display:block;width:100%;height:auto;border-radius:26px}.hero__phone:hover{box-shadow:0 0 0 2px var(--accent),0 24px 48px -24px rgba(27,22,34,.35)}.works{display:grid;grid-template-columns:1fr 1fr;gap:32px}.work{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}.work:has(.work__link):hover{border-color:var(--accent)}.work__link{display:block}.work__img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--line)}.work__body{padding:24px}.work__name{font-family:var(--font-display);font-size:1.125rem;color:var(--ink)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.facts li{position:relative;padding:16px 0 16px 24px;border-top:1px solid var(--line);font-size:.97rem}.facts strong{display:block;font-weight:600;color:var(--ink)}.facts li::before{content:"";position:absolute;left:0;top:24px;width:8px;height:8px;background:var(--accent)}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:center}.about-photo{margin:0}.about-photo picture{display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--radius)}.about-photo img{display:block;width:100%;height:100%;object-fit:cover}.about-text__p{margin-top:16px;line-height:1.7}.about-text .section-title{margin-bottom:4px}.about-text a{color:var(--accent);font-weight:600}.about-text a:hover{text-decoration:underline}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item summary{list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-trigger{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-family:var(--font-display);font-size:1.08rem;font-weight:600;color:var(--ink);cursor:pointer;transition:color .2s}.faq-item[open]>.faq-trigger,.faq-trigger:hover{color:var(--accent)}.faq-icon{width:22px;height:22px;flex:none;transition:transform .3s}.faq-item[open]>.faq-trigger .faq-icon{transform:rotate(180deg)}.faq-content{padding:0 0 24px;line-height:1.65}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}.contact-direct{display:flex;flex-direction:column;gap:16px}.ico{width:1em;height:1em;flex:none;vertical-align:-.15em}.nav__mobile-link .ico{margin-right:8px}.contact-direct a{align-self:flex-start;display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-display);font-size:1.05rem;font-weight:500;color:var(--ink);border-bottom:1px solid var(--accent);transition:color .2s;overflow-wrap:anywhere}.contact-direct a:hover{color:var(--accent-hover)}.field{margin-bottom:16px}.field label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600;color:var(--ink)}.field input,.field textarea{width:100%;padding:12px 16px;font-size:.97rem;font-family:inherit;color:var(--ink);background:#fff;border:1px solid var(--line-field);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:112px}.field input:focus,.field textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.consent{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;font-size:.95rem;line-height:1.5}.consent input{flex:none;width:18px;height:18px;margin-top:4px;accent-color:var(--accent)}.consent a{color:var(--accent);text-decoration:underline}.hp{position:absolute;left:-9999px}.form-status{margin-top:16px;text-align:center;font-weight:600;font-size:.95rem}.form-status:empty{margin-top:0}.form-status--ok{color:#15803d}.form-status--error{color:#dc2626}.footer{background:var(--paper);color:var(--ink-soft);padding:56px 0 40px;border-top:1px solid var(--line)}.footer__top{display:grid;grid-template-columns:1.6fr 1fr;align-items:start;gap:32px 40px;padding-bottom:32px;border-bottom:1px solid var(--line)}.footer__col{display:flex;flex-direction:column;gap:12px}.footer__col-title{font-family:var(--font-display);font-size:.82rem;font-weight:600;line-height:1.1;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin:0 0 4px}.footer__col a{font-size:.9rem;transition:color .2s}.footer__col a:hover{color:var(--accent-hover)}.footer__name{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--ink)}.footer__tagline{margin-top:4px;font-size:.9rem}.footer__phone{display:inline-block;margin-top:12px;font-size:.94rem;transition:color .2s}.footer__phone:hover{color:var(--accent-hover)}.footer__area{margin-top:4px;font-size:.85rem}.footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:24px;font-size:.87rem}.footer__legal{display:flex;flex-wrap:wrap;gap:24px}.footer__legal a{transition:color .2s}.footer__legal a:hover{color:var(--accent-hover)}.sticky-cta{display:none}@media (max-width:767px){.sticky-cta{display:flex;align-items:center;justify-content:center;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:16px;background:var(--accent);color:#fff;font-family:var(--font-display);font-weight:600;font-size:1rem;border-top:1px solid rgba(255,255,255,.15);box-shadow:0 -6px 18px rgba(0,0,0,.14);transform:translateY(110%);transition:transform .35s cubic-bezier(.4, 0, .2, 1);will-change:transform}.sticky-cta.is-visible{transform:translateY(0)}body:has(.sticky-cta){padding-bottom:64px}}.skip-link{position:absolute;top:-120%;left:50%;transform:translateX(-50%);z-index:9999;padding:16px 24px;background:var(--accent);color:#fff;font-weight:600;border-radius:0 0 var(--radius-sm) var(--radius-sm);transition:top .25s}.skip-link:focus{top:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}@media (prefers-reduced-motion:reduce){*{animation-duration:NaNs!important;transition-duration:NaNs!important;scroll-behavior:auto!important}}@media (max-width:1024px){.about-grid{gap:48px}}@media (max-width:980px){.about-grid,.contact-grid{grid-template-columns:1fr}.about-grid{gap:56px}.about-photo{max-width:480px}.hero__inner{grid-template-columns:1fr;gap:40px}.hero__phones{width:300px;aspect-ratio:300/500}.hero__phone{width:210px}.hero__phone--back{width:175px}}@media (max-width:767px){.container,.nav__inner{padding:0 16px}.section{padding:72px 0}.section-head{margin-bottom:40px}.hero{padding:120px 0 72px}.works{grid-template-columns:1fr;gap:24px}.facts{grid-template-columns:1fr;gap:0}.footer__top{grid-template-columns:1fr;gap:24px}}@media (max-width:600px){.container,.nav__inner{padding-left:4.071vw;padding-right:4.071vw}.section{padding:18.321vw 0}.section-head{margin-bottom:10.178vw}.section-title{font-size:8.142vw}.nav__inner{height:19.338vw}.nav__logo{font-size:4.682vw;gap:2.036vw}.nav__logo-mark{width:9.16vw;height:9.16vw}.nav__burger{width:11.196vw;height:11.196vw;gap:1.018vw}.nav__burger span{width:6.107vw}.nav__mobile{padding:2.036vw 6.107vw 6.107vw}.nav__mobile-link{padding:4.071vw 0}.nav__mobile-link .ico{margin-right:2.036vw}.btn{padding:3.053vw 4.071vw;font-size:3.949vw;gap:2.036vw}.hero{padding:30.534vw 0 18.321vw}.hero__inner{gap:10.178vw}.hero__title{font-size:8.142vw}.hero__lead{font-size:4.478vw;margin-top:6.107vw}.hero__actions{margin-top:10.178vw;gap:4.071vw}.hero__phones{width:76.336vw;aspect-ratio:300/500}.hero__phone{width:53.435vw;padding:1.781vw;border-radius:8.397vw}.hero__phone--back{width:44.529vw}.hero__phone img{border-radius:6.616vw}.works{gap:6.107vw}.work__body{padding:6.107vw}.work__name{font-size:4.581vw}.facts li{padding:4.071vw 0 4.071vw 6.107vw;font-size:3.949vw}.facts li::before{top:6.107vw;width:2.036vw;height:2.036vw}.about-grid{gap:14.249vw}.about-text__p{margin-top:4.071vw}.about-text .section-title{margin-bottom:1.018vw}.faq-trigger{gap:6.107vw;padding:6.107vw 0;font-size:4.275vw}.faq-icon{width:5.598vw;height:5.598vw}.faq-content{padding-bottom:6.107vw}.contact-grid{gap:12.214vw}.contact-direct{gap:4.071vw}.contact-direct a{font-size:4.275vw}.field{margin-bottom:4.071vw}.field label{font-size:3.664vw;margin-bottom:2.036vw}.field input,.field textarea{font-size:3.949vw;padding:3.053vw 4.071vw}.field textarea{min-height:28.499vw}.consent{gap:3.053vw;margin-bottom:6.107vw;font-size:3.868vw}.consent input{width:4.581vw;height:4.581vw;margin-top:1.018vw}.form-status{margin-top:4.071vw;font-size:3.868vw}.footer{padding:14.249vw 0 10.178vw}.footer__top{gap:6.107vw;padding-bottom:8.142vw}.footer__col{gap:3.053vw}.footer__col-title{font-size:3.339vw;margin-bottom:1.018vw}.footer__col a{font-size:3.664vw}.footer__name{font-size:4.886vw}.footer__tagline{margin-top:1.018vw;font-size:3.664vw}.footer__phone{margin-top:3.053vw;font-size:3.827vw}.footer__area{margin-top:1.018vw;font-size:3.461vw}.footer__bottom{gap:4.071vw;padding-top:6.107vw;font-size:3.542vw}.footer__legal{gap:6.107vw}.skip-link{padding:4.071vw 6.107vw}.sticky-cta{padding:4.071vw;font-size:4.071vw}body:has(.sticky-cta){padding-bottom:16.285vw}.cc-modal__panel{padding:6.107vw}.cc-modal__title{font-size:5.089vw;margin:0 0 3.053vw}.cc-modal__lead{font-size:3.868vw;margin:0 0 6.107vw}.cc-modal__actions{gap:3.053vw}.cc-btn{padding:3.053vw 6.107vw;font-size:3.745vw}}@media (max-width:560px){.hero__actions .btn{flex:1 1 auto}}.cc-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .35s}.cc-modal--visible{opacity:1;pointer-events:auto}.cc-modal--closing{opacity:0;pointer-events:none}.cc-modal__backdrop{position:absolute;inset:0;background:rgba(22,19,32,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cc-modal__panel{position:relative;z-index:1;max-width:560px;width:100%;max-height:calc(100vh - 40px);overflow-y:auto;background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.35);transform:translateY(8px);transition:transform .35s}.cc-modal--visible .cc-modal__panel{transform:translateY(0)}.cc-modal__view{display:none}.cc-modal[data-cc-view=compact] .cc-modal__view--compact,.cc-modal[data-cc-view=prefs] .cc-modal__view--prefs{display:block}.cc-modal[data-cc-view=compact] .cc-modal__panel{max-width:480px}.cc-modal__lead a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.cc-modal__lead a:hover{color:var(--accent-hover)}.cc-modal__actions--compact{margin-top:24px;justify-content:flex-end}.cc-modal__title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--ink);margin:0 0 12px}.cc-modal__lead{font-size:.95rem;line-height:1.55;color:var(--ink-soft);margin:0 0 24px}.cc-categories{list-style:none;padding:0;margin:0 0 16px;border-top:1px solid var(--line)}.cc-category{padding:16px 0;border-bottom:1px solid var(--line)}.cc-category__label{display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none}.cc-category--locked .cc-category__label{cursor:default}.cc-category__label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none;cursor:pointer}.cc-category--locked input[type=checkbox]{cursor:not-allowed;opacity:.7}.cc-category__name{font-weight:600;color:var(--ink);font-size:1rem;display:flex;align-items:center;gap:12px}.cc-category__badge{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius)}.cc-category__desc{margin:8px 0 0 32px;font-size:.88rem;line-height:1.5;color:var(--ink-soft)}.cc-modal__link{margin:0 0 24px;font-size:.88rem}.cc-modal__link a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.cc-modal__link a:hover{color:var(--accent-hover)}.cc-modal__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.cc-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--radius-sm);font-family:inherit;font-weight:600;font-size:.92rem;line-height:1;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.cc-btn--ghost{background:0 0;color:var(--ink);border-color:var(--line)}.cc-btn--ghost:hover{border-color:var(--ink)}.cc-btn--primary{background:var(--accent);color:#fff}.cc-btn--primary:hover{background:var(--accent-hover)}@media (min-width:768px){.cc-modal__view--prefs .cc-modal__actions{flex-wrap:nowrap}.cc-modal__view--prefs .cc-btn{padding-left:16px;padding-right:16px;white-space:nowrap}}.cc-modal-open{overflow:hidden}#cc-reopen{cursor:pointer}.prose{max-width:72ch}.prose h1{font-family:var(--font-display);font-size:clamp(2rem, 1.4rem + 2.6vw, 3.05rem);font-weight:600;line-height:1.08;letter-spacing:-.022em;color:var(--ink);margin-bottom:24px}.prose h2{font-family:var(--font-display);font-size:1.5rem;color:var(--ink);margin-top:48px;margin-bottom:16px}.prose p,.prose table,.prose ul{margin-bottom:16px}.prose ul{list-style:disc;padding-left:24px}.prose li{margin-bottom:8px}.prose a:not(.btn){color:var(--accent);text-decoration:underline}.prose a:not(.btn):hover{color:var(--accent-hover)}.prose table{width:100%;border-collapse:collapse;font-size:.95rem}.prose td,.prose th{padding:8px 12px;border:1px solid var(--line);text-align:left}.prose th{font-weight:600;color:var(--ink)}