*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #FBFBFB;--color-bg-alt: #F0F0F2;--color-dark: #2A2A2A;--color-darker: #1A1A1A;--color-text: #1A1A1A;--color-text-secondary: #4A4A4A;--color-accent: #B31B1B;--color-accent-hover: #8A1515;--color-border: #E5E5E5;--color-light: #FBFBFB;--font: "Inter", system-ui, sans-serif;--container: 1200px;--nav-height: 64px}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}ul{list-style:none}button,input,textarea,select{font-family:inherit}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 32px}.section-label{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin-bottom:16px}.section-label--light{color:#fbfbfb80}.section-title{font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.15;color:var(--color-text);margin-bottom:16px}.section-sub{font-size:17px;color:var(--color-text-secondary);max-width:580px;margin-bottom:48px;line-height:1.6}.btn{display:inline-block;font-size:15px;font-weight:600;padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s;text-align:center;line-height:1}.btn--primary{background:var(--color-accent);color:#fbfbfb;border-color:var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--outline{background:transparent;color:#fbfbfb;border-color:#fbfbfb80}.btn--outline:hover{border-color:#fbfbfb;color:#fbfbfb}.btn--full{width:100%}.link-accent{font-size:15px;font-weight:600;color:var(--color-accent);transition:color .15s}.link-accent:hover{color:var(--color-accent-hover);text-decoration:underline}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);background:#2a2a2af7;border-bottom:1px solid rgba(255,255,255,.07);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container);margin:0 auto;padding:0 32px}.nav__logo{font-size:20px;font-weight:800;letter-spacing:.05em;color:#fbfbfb;transition:color .15s}.nav__logo:hover{color:var(--color-accent)}.nav__links{display:flex;gap:36px;align-items:center}.nav__links a{font-size:14px;font-weight:500;color:#fbfbfbbf;letter-spacing:.03em;transition:color .15s}.nav__links a:hover{color:#fbfbfb}.hero{position:relative;background:var(--color-dark);min-height:100vh;display:flex;align-items:center;padding:calc(var(--nav-height) + 80px) 0 80px;overflow:hidden}.hero__accent-line{position:absolute;top:0;left:0;width:100%;height:3px;background:var(--color-accent);z-index:3}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero__bg-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}.hero__bg-slide.is-active{opacity:1}.hero__bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#141212b8}.hero__inner{position:relative;z-index:1;max-width:780px}.hero__tag{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:24px}.hero__title{font-size:clamp(32px,5.5vw,62px);font-weight:800;line-height:1.1;color:#fbfbfb;margin-bottom:24px}.hero__title:after{content:"";display:block;width:64px;height:3px;background:var(--color-accent);margin-top:20px}.hero__sub{font-size:clamp(16px,2vw,19px);color:#fbfbfbb3;line-height:1.65;max-width:560px;margin-bottom:40px}.hero__actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.about{background:var(--color-bg);padding:96px 0;border-bottom:1px solid var(--color-border)}.about__inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about__text{max-width:520px}.about__title{font-size:clamp(28px,3.5vw,40px);font-weight:800;line-height:1.15;margin-bottom:20px}.about__text p{font-size:17px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:28px}.about__image{width:100%}.img-placeholder{width:100%;aspect-ratio:4/3;background:var(--color-bg-alt);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.img-placeholder img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.img-placeholder span{font-size:13px;font-weight:500;color:var(--color-text-secondary);letter-spacing:.05em;z-index:1}.services{background:var(--color-bg);padding:96px 0;border-bottom:1px solid var(--color-border)}.services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--color-border);margin-bottom:48px}.service-card{border-right:1px solid var(--color-border);transition:background .18s;overflow:hidden}.service-card:last-child{border-right:none}.service-card:hover{background:var(--color-bg-alt)}.service-card__icon{margin-bottom:16px}.service-card h3{font-size:17px;font-weight:700;margin-bottom:10px;color:var(--color-text)}.service-card p{font-size:14px;color:var(--color-text-secondary);line-height:1.65}.services__cta{text-align:center}.references{background:var(--color-bg-alt);padding:96px 0;border-bottom:1px solid var(--color-border)}.carousel{position:relative;display:flex;align-items:center;gap:16px}.carousel__track-wrap{overflow:hidden;flex:1}.carousel__track{display:flex;gap:24px;transition:transform .4s cubic-bezier(.25,.46,.45,.94);will-change:transform}.reference-item{flex:0 0 calc(33.333% - 16px);border:1px solid var(--color-border);background:var(--color-bg);display:flex;flex-direction:column}.reference-item__img{width:100%;aspect-ratio:16/9;background:#e8e8ea;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-bottom:1px solid var(--color-border)}.reference-item__img img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.reference-item__img span{font-size:12px;font-weight:500;color:var(--color-text-secondary);text-align:center;padding:8px;z-index:1}.reference-item__body{padding:24px;flex:1;display:flex;flex-direction:column;justify-content:space-between}.reference-item__quote{font-size:14px;line-height:1.65;color:var(--color-text-secondary);font-style:italic;margin-bottom:12px}.reference-item__client{font-size:13px;font-weight:600;color:var(--color-text);letter-spacing:.02em}.carousel__btn{width:44px;height:44px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.carousel__btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fbfbfb}.carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:24px}.carousel__dot{width:8px;height:8px;background:var(--color-border);cursor:pointer;border:none;transition:background .15s}.carousel__dot.is-active{background:var(--color-accent);width:24px}.process{background:var(--color-bg);padding:96px 0;border-bottom:1px solid var(--color-border)}.process__steps{display:flex;align-items:flex-start;gap:0;margin-top:48px}.process-step{flex:1;padding:0 40px 0 0}.process-step__num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:20px;font-weight:800;color:#fbfbfb;background:var(--color-accent);margin-bottom:20px;flex-shrink:0}.process-step h3{font-size:18px;font-weight:700;margin-bottom:12px;line-height:1.3}.process-step p{font-size:15px;color:var(--color-text-secondary);line-height:1.7}.process-step__divider{width:1px;align-self:stretch;background:var(--color-border);margin:0;flex-shrink:0}.contact{background:var(--color-dark);padding:96px 0}.contact__inner{display:grid;grid-template-columns:1fr 380px;gap:80px;align-items:start}.contact__title{font-size:clamp(26px,3.5vw,38px);font-weight:800;color:#fbfbfb;line-height:1.15;margin-bottom:14px}.contact__sub{font-size:16px;color:#fbfbfb99;line-height:1.65;margin-bottom:36px;max-width:460px}.form{display:flex;flex-direction:column;gap:20px}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form__field{display:flex;flex-direction:column;gap:8px}.form__field label{font-size:13px;font-weight:600;color:#fbfbfbb3;letter-spacing:.04em;text-transform:uppercase}.form__field input,.form__field textarea{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#fbfbfb;padding:12px 16px;font-size:15px;outline:none;transition:border-color .15s;resize:vertical;width:100%}.form__field input::placeholder,.form__field textarea::placeholder{color:#fbfbfb4d}.form__field input:focus,.form__field textarea:focus{border-color:var(--color-accent)}.form__field input.is-invalid,.form__field textarea.is-invalid{border-color:#e55}.form__fieldset{border:1px solid rgba(255,255,255,.15);padding:16px 20px 20px}.form__fieldset legend{font-size:13px;font-weight:600;color:#fbfbfbb3;letter-spacing:.04em;text-transform:uppercase;padding:0 8px}.form__checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#fbfbfbbf}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.form__error{font-size:13px;color:#f87171;font-weight:500;min-height:0}.form__success{font-size:14px;color:#6ee7b7;font-weight:500;min-height:0}.contact__info-block{display:flex;flex-direction:column;gap:28px;padding-top:84px}.contact__info-item{display:flex;align-items:flex-start;gap:16px}.contact__info-icon{width:40px;height:40px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact__info-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fbfbfb73;margin-bottom:4px}.contact__info-value{font-size:15px;font-weight:500;color:#fbfbfb;transition:color .15s}a.contact__info-value:hover{color:var(--color-accent)}.footer{background:var(--color-darker);padding:40px 0;border-top:1px solid rgba(255,255,255,.07)}.footer__inner{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.footer__logo{font-size:16px;font-weight:800;letter-spacing:.06em;color:#fbfbfb;margin-bottom:8px}.footer__company{font-size:13px;font-weight:600;color:#fbfbfb8c;margin-bottom:4px}.footer__detail{font-size:13px;color:#fbfbfb61;line-height:1.7}.footer__right{text-align:right}.footer__copy{font-size:13px;color:#fbfbfb61;margin-bottom:6px}.footer__link{font-size:12px;color:#fbfbfb73;transition:color .15s;text-decoration:underline}.footer__link:hover{color:#fbfbfb}.about__photo{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid var(--color-border)}.service-card__photo{width:100%;aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--color-border)}.service-card__photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.service-card:hover .service-card__photo img{transform:scale(1.04)}.service-card__body{padding:28px 32px 36px}.service-card__body .service-card__icon{margin-bottom:14px}.service-card__body h3{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--color-text)}.service-card__body p{font-size:14px;color:var(--color-text-secondary);line-height:1.65}.reference-item__img img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.photo-banner{position:relative;height:320px;overflow:hidden}.photo-banner img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}.photo-banner__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#141212a6}.photo-banner__text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.photo-banner__text span{font-size:clamp(22px,4vw,42px);font-weight:800;color:#fbfbfb;letter-spacing:.02em;text-align:center;padding:0 24px}.photo-banner__text span:after{content:"";display:block;width:48px;height:3px;background:var(--color-accent);margin:16px auto 0}@media (max-width: 1024px){.services__grid{grid-template-columns:1fr 1fr}.service-card{border-bottom:1px solid var(--color-border)}.service-card:nth-child(2){border-right:none}.service-card:nth-child(3){border-right:1px solid var(--color-border);border-bottom:none}.service-card:nth-child(4){border-right:none;border-bottom:none}.reference-item{flex:0 0 calc(50% - 12px)}.contact__inner{grid-template-columns:1fr;gap:48px}.contact__info-block{padding-top:0;display:grid;grid-template-columns:1fr 1fr}}@media (max-width: 768px){.container{padding:0 20px}.nav__links{gap:20px}.nav__links a{font-size:13px}.about__inner{grid-template-columns:1fr;gap:40px}.about__text{max-width:100%}.services__grid{grid-template-columns:1fr}.service-card{border-right:none!important;border-bottom:1px solid var(--color-border)!important}.service-card:last-child{border-bottom:none!important}.process__steps{flex-direction:column;gap:0}.process-step{padding:32px 0;border-bottom:1px solid var(--color-border)}.process-step:last-child{border-bottom:none}.process-step__divider{display:none}.reference-item{flex:0 0 calc(100% + -0px)}.form__row,.form__checkboxes,.contact__info-block{grid-template-columns:1fr}.footer__inner{flex-direction:column;align-items:flex-start;gap:20px}.footer__right{text-align:left}.about,.services,.references,.process,.contact{padding:64px 0}}@media (max-width: 480px){.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .btn{text-align:center}.nav__inner{padding:0 16px}.nav__links{gap:16px}}
