:root{--orange:#c2410c;--orange2:#9a3412}
:focus-visible{outline:3px solid #0b4a7a;outline-offset:3px}
button,a,input,select,textarea{scroll-margin-top:110px}

.ifm-consent{position:fixed;left:50%;bottom:18px;z-index:9999;width:min(820px,calc(100% - 28px));display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:20px;background:#fff;border:1px solid #d9e1e8;border-radius:16px;box-shadow:0 18px 55px rgba(9,30,50,.24);transform:translate(-50%,20px);opacity:0;transition:opacity .18s ease,transform .18s ease}
.ifm-consent.is-visible{opacity:1;transform:translate(-50%,0)}
.ifm-consent[hidden]{display:none}
.ifm-consent h2{margin:0 0 5px;font:800 20px/1.25 Manrope,Arial,sans-serif;color:#112b3c}
.ifm-consent p{margin:0;font:400 14px/1.55 Inter,Arial,sans-serif;color:#395062}
.ifm-consent a{color:#075985;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ifm-consent__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ifm-consent__actions button,.ifm-cookie-settings{min-height:44px;border-radius:10px;padding:10px 16px;font:800 13px/1.2 Inter,Arial,sans-serif;cursor:pointer}
.ifm-consent__accept{color:#fff;background:#0b4a7a;border:2px solid #0b4a7a}
.ifm-consent__decline{color:#0b4a7a;background:#fff;border:2px solid #0b4a7a}
.ifm-cookie-settings{position:fixed;left:10px;bottom:8px;z-index:900;color:#0b4a7a;background:rgba(255,255,255,.96);border:1px solid #bac8d3;padding:7px 10px;min-height:36px;font-size:11px}

@media(max-width:720px){
  html,body{max-width:100%;overflow-x:clip}
  .ifm-consent{bottom:10px;grid-template-columns:1fr;gap:14px;padding:17px;width:calc(100% - 20px);max-height:calc(100dvh - 20px);overflow-y:auto}
  .ifm-consent__actions{justify-content:stretch}
  .ifm-consent__actions button{flex:1}
  .ifm-cookie-settings{bottom:82px}
  .header-inner{min-width:0;gap:8px!important}
  .mobile-lang-switcher{display:flex!important;margin-left:auto!important;flex-shrink:0;gap:1px!important;padding:3px!important}
  .mobile-lang-switcher a{width:28px!important;min-width:28px!important;height:34px!important;min-height:34px!important;display:inline-grid;place-items:center;font-size:10px!important;letter-spacing:0!important}
  .header-inner>div:last-child{gap:5px!important;flex-shrink:0}
  .mobile-phone-btn,.search-btn,.menu-btn{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;display:inline-grid!important;place-items:center!important;padding:0!important}
  .mobile-sticky{grid-template-columns:minmax(0,.85fr) minmax(0,.95fr) minmax(0,1.1fr) 42px!important;gap:7px!important;padding:8px!important}
  .mobile-sticky:not(:has(.btn-chat:not([hidden]))){grid-template-columns:minmax(0,.85fr) minmax(0,.95fr) minmax(0,1.1fr)!important}
  .mobile-sticky .btn{min-width:0!important;min-height:48px!important;padding:8px 5px!important;font-size:13px!important;gap:5px!important}
  .hero{padding-top:104px!important;padding-bottom:34px!important}
  .hero-inner,.hero-inner>*{min-width:0;max-width:100%}
  .hero h1,.hero-intro,.hero-copy-label,.hero-service-rotator,.rotating-service{width:100%;max-width:100%;overflow-wrap:break-word}
  .hero h1{font-size:clamp(30px,8.4vw,36px)!important;line-height:1.08}
  html[lang="uk"] .hero h1,html[lang="ru"] .hero h1{font-size:clamp(27px,7.5vw,32px)!important}
  .hero-intro{font-size:16px;line-height:1.62}
  .section-title,.about-card .section-title,html[lang="uk"] .section-title,html[lang="ru"] .section-title{font-size:clamp(25px,7vw,32px)!important;line-height:1.14}
  .final-cta h2,html[lang="uk"] .final-cta h2,html[lang="ru"] .final-cta h2{font-size:clamp(27px,7.4vw,34px)!important;line-height:1.14}
  .mobile-menu{gap:22px}
  .mobile-menu a{font-size:24px;line-height:1.15}
  .svc-chips{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;max-width:100%;overflow:visible!important;gap:10px!important;padding-bottom:0}
  .svc-chip{width:100%;min-width:0;min-height:48px;white-space:normal}
  .hero-actions{width:100%;max-width:100%;grid-template-columns:1fr!important}
  .hero-actions .btn{width:100%;min-width:0}
  .trust-strip{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;max-width:100%;overflow:visible!important;gap:10px!important}
  .trust-strip>*{width:100%;min-width:0}
  .owner-card{display:block!important;padding:20px!important}
  .owner-card .owner-photo-wrap{max-width:320px;margin:0 auto 16px!important;aspect-ratio:1/1.06}
  .owner-card .owner-name,.owner-card>p{margin-top:0}
  .svc-list{display:flex!important;flex-direction:column!important;width:100%;max-width:100%;overflow:visible!important;gap:12px!important;padding:0}
  .svc-list>*{flex:none!important;width:100%;min-width:0}
  .reviews-grid{display:grid!important;grid-template-columns:1fr!important;width:100%;max-width:100%;overflow:visible!important;gap:14px!important;padding:0}
  .reviews-grid>*{width:100%;min-width:0}
  .work-gallery,.real-work-grid{width:100%;max-width:100%;overflow:visible!important}
  .overlay{padding:8px}
  .modal{width:100%;max-height:calc(100dvh - 16px);border-radius:14px}
  .quiz-progress{padding:16px 18px 0}
  .quiz-step{padding:18px 18px 24px}
}

@media(max-width:480px){
  .header-inner{gap:6px!important}
  .brand img,.header-logo img,.header-inner>a[aria-label*="home"] img{height:62px!important}
  .mobile-lang-switcher a{width:27px!important;min-width:27px!important;height:32px!important;min-height:32px!important}
  .mobile-phone-btn,.search-btn,.menu-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  .hero-badge{width:100%;justify-content:center;text-align:center;border-radius:14px;padding:8px 10px}
  .owner-card .owner-photo-wrap{max-width:280px}
  .mobile-sticky{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr)!important}
  .mobile-sticky .btn-chat{display:none!important}
  .ifm-consent{padding:14px;gap:11px}
  .ifm-consent h2{font-size:18px}
  .ifm-consent p{font-size:13px;line-height:1.45}
  .ifm-consent__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:8px}
  .ifm-consent__actions button{width:100%;min-width:0;padding:9px 7px;white-space:normal}
  .svc-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .svc-pick-btn{min-width:0;padding:12px 6px}
  .step-title{font-size:21px}
}

@media(max-width:340px){
  .search-btn{display:none!important}
  .svc-pick-grid{grid-template-columns:1fr!important}
}

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