/* Static migration layer: replaces WordPress/Gravity Forms/slider dependencies. */
html { scroll-padding-top: 110px; }
body { overflow-x: hidden; }
.h1, .h2, .h3, .h4, .h5, .h6 { line-height: 1.1; }
.site-logo img { display: block; width: min(400px, 62vw); height: auto; }
.header.fixed-header { position: fixed; padding-block: 16px; background: rgba(255,255,255,.94); box-shadow: 0 8px 30px rgba(0,0,0,.08); backdrop-filter: blur(12px); }
.header.fixed-header .site-logo img { width: min(320px, 58vw); }
.button_container { border: 0; background: transparent; padding: 0; }
.hero-cta { display: inline-block; margin-top: 30px; padding: 13px 28px; color: #fff; background: var(--pri-200); border: 2px solid var(--pri-200); font-weight: 600; }
.hero-cta:hover { background: #fff; color: var(--pri-100); text-decoration: none; }
.service-icon { width: 150px; height: 122px; color: var(--pri-100); }

.mobile-menu { position: fixed; inset: 0; z-index: 500; display: grid; place-content: center; gap: 32px; visibility: hidden; opacity: 0; background: rgba(255,255,255,.98); transition: opacity .25s ease, visibility .25s ease; }
.mobile-menu.open { visibility: visible; opacity: 1; }
.mobile-menu nav { display: grid; gap: 20px; text-align: center; }
.mobile-menu nav a { color: #111; font-family: var(--font-primary); font-size: clamp(28px, 7vw, 48px); font-weight: 700; text-transform: uppercase; }
.mobile-menu-phone { color: var(--pri-100); font-weight: 700; text-align: center; }

.rating-summary { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 24px; }
.stars { color: #f4b400; letter-spacing: 2px; }
.review-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding-block: 40px 28px; }
.review-card { display: flex; flex-direction: column; gap: 18px; min-height: 240px; padding: 30px; text-align: left; background: #f5f5f5; border-top: 4px solid var(--pri-200); }
.review-card p { flex: 1; }
.review-link { color: var(--pri-100); text-decoration: underline; }

.why { background-image: url('/assets/images/modern-interior-apartment-with-air-conditioning-3d-rendering-illustration.webp') !important; }
footer { background-image: url('/assets/images/modern-interior-apartment-with-air-conditioning-3d-rendering-illustration.webp') !important; }

.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.contact-form .form-row { min-width: 0; }
.contact-form .form-row-full, .contact-form .form-actions { grid-column: 1 / -1; }
.contact-form label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.contact-form input, .contact-form select, .contact-form textarea { border: 2px solid transparent; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: none; border-color: var(--pri-100); box-shadow: 0 0 0 3px rgba(52,118,140,.18); }
.contact-form [aria-invalid="true"] { border-color: #b42318; }
.contact-form select { background: #fff url('/assets/images/drop-down.svg') no-repeat calc(100% - 12px) center; background-size: 12px; }
.contact-form button { appearance: none; border: 2px solid #fff; padding: 10px 34px; background: #fff; color: var(--pri-100); font: 600 16px var(--font-secondary); cursor: pointer; }
.contact-form button:hover { background: var(--pri-100); color: #fff; text-decoration: none; }
.contact-form button:disabled { opacity: .65; cursor: wait; }
.form-honeypot { position: absolute !important; left: -9999px !important; }
.form-actions { display: flex; justify-content: flex-end; align-items: center; gap: 18px; }
.form-status { min-height: 1.4em; color: #fff; text-align: right; }
.form-status.error { color: #fff0ef; font-weight: 700; }
.footer-logo .site-logo img { width: min(470px, 75vw); filter: brightness(0) invert(1); }
.contact-line > span { min-width: 42px; color: #fff; font-size: 38px; line-height: 1; }
.social-media a { display: grid; place-items: center; width: 42px; height: 42px; border: 2px solid #fff; border-radius: 50%; color: #fff; font-weight: 700; text-decoration: none; }
.social-media a:hover { background: #fff; color: var(--pri-100); }
.copyright { position: relative; z-index: 2; }

@media (max-width: 1023px) {
  .review-track { grid-template-columns: 1fr; }
  .review-card { min-height: 0; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form .form-row { grid-column: 1; }
}

@media (max-width: 767px) {
  .hero .inner { left: 8px; right: 8px; }
  .hero .inner h1 { max-width: 95%; }
  .hero .inner p { max-width: 88%; }
  .home-page .services .services-list { column-count: initial; display: grid; grid-template-columns: 1fr 1fr; }
  .service-icon { width: 100px; height: 82px; }
  .home-page .projects .container .project-slider .bottom-slider { column-count: initial; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .form-status { text-align: left; }
  .form-actions button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
