:root{--primary:#1b3b36;--primary-dark:#102923;--accent:#aa7130;--ink:#17221f;--muted:#5b6863;--paper:#faf8f3;--white:#fff;--line:#dce5de;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.75 Heebo,Arial,sans-serif}button,input,textarea{font:inherit}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}img{max-width:100%;height:auto}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;inset-block-start:0;inset-inline-start:0;transform:translateY(-150%);background:#fff;padding:10px 16px;z-index:99999}.skip-link:focus{transform:none}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{min-height:96px;display:flex;align-items:center;gap:24px;justify-content:space-between}.logo-link{display:block;width:140px;flex:none}.logo-link img{display:block;width:100%;height:auto}.main-nav,.header-actions,.language-links{display:flex;align-items:center;gap:22px}.main-nav a,.language-links a{text-decoration:none;font-weight:600}.main-nav a:hover,.language-links a:hover{text-decoration:underline}.phone-link{white-space:nowrap;color:var(--primary);font-weight:800;text-decoration:none}.language-links{gap:8px;color:var(--muted);font-size:14px}.language-links a+a{border-inline-start:1px solid var(--line);padding-inline-start:8px}.hero{background:linear-gradient(135deg,#f4f0e6,#e3eee8)}.hero-grid{min-height:540px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-block:60px}.hero-copy{max-width:560px}.eyebrow{font-size:14px;letter-spacing:.03em;text-transform:uppercase;font-weight:800;color:#81521e}.hero h1{font-size:clamp(44px,6vw,82px);line-height:1.1;margin:10px 0 20px;color:var(--primary-dark)}h2{font-size:clamp(30px,4vw,47px);line-height:1.2;color:var(--primary-dark);margin:12px 0 18px}h3{font-size:21px;line-height:1.35;margin:0 0 10px}.hero-intro{font-size:22px;line-height:1.6;margin:0 0 28px}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:10px 25px;border-radius:999px;border:2px solid var(--primary);background:var(--primary);color:#fff;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.button:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.button-outline{background:transparent;color:var(--primary)}.button-outline:hover{color:#fff}.service-area{color:var(--muted);font-size:15px;margin-top:24px}.hero-image{border-radius:36px 120px 36px 36px;overflow:hidden;box-shadow:0 28px 60px #1b3b3624;aspect-ratio:4/4.3}.hero-image img{width:100%;height:100%;object-fit:cover}.section{padding-block:85px}.section-intro{font-size:19px;color:var(--muted);margin:0 0 28px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 26px #173a3010}.service-card img{display:block;width:100%;height:195px;object-fit:cover}.service-card>div{padding:24px}.service-card p{margin:0;color:var(--muted);font-size:16px}.reviews{background:#ecf1eb}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.review-card{background:#fff;margin:0;border:1px solid var(--line);border-radius:var(--radius);padding:26px}.review-card p{font-size:16px;margin:0 0 16px}.review-card footer{color:var(--accent);font-weight:800}.contact{background:var(--primary);color:#fff}.contact h2{color:#fff}.contact .eyebrow{color:#e9ba77}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.contact-grid p{font-size:19px}.contact .service-area{color:#d7e7df}.contact-phone{display:inline-block;color:#fff;font-size:32px;font-weight:800;text-decoration:none}.contact-form{background:#fff;color:var(--ink);border-radius:var(--radius);padding:30px;display:grid;gap:14px}.contact-form label{display:grid;gap:5px;font-size:15px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;padding:12px 14px;border:1px solid #abbab2;border-radius:9px;background:#fff;color:var(--ink)}.contact-form button{width:100%}.form-privacy{font-size:13px!important;margin:0;color:var(--muted)}.site-footer{background:#102923;color:#edf5f0;padding-block:48px 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.site-footer strong{font-size:19px}.site-footer p{margin:8px 0 0;color:#cadbd1}.site-footer a:hover{text-decoration:none}.footer-bottom{border-top:1px solid #ffffff2b;margin-top:35px;padding-top:18px;color:#b6c9be;font-size:13px}.fab-container{position:fixed;bottom:24px;left:24px;z-index:2147483000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.fab{pointer-events:auto;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-weight:800;box-shadow:0 4px 12px #0004;transition:transform .2s,box-shadow .2s}.fab:hover{transform:scale(1.1);box-shadow:0 6px 18px #0005}.fab:focus-visible{outline:3px solid #fff;outline-offset:2px}.fab.wa{background:#16883f}.fab.call{background:var(--primary)}.simple-page{min-height:55vh}.narrow{max-width:800px}.simple-page h1{font-size:clamp(36px,5vw,58px);line-height:1.2;color:var(--primary-dark)}.simple-page h2{font-size:26px;margin-top:35px}.simple-page .button{margin-top:20px}
@media(max-width:1050px){.header-inner{flex-wrap:wrap;padding-block:12px}.main-nav{order:3;width:100%;justify-content:center;padding-bottom:9px}.hero-grid{gap:32px}.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){body{font-size:16px}.container{width:min(100% - 28px,1180px)}.header-inner{min-height:72px;gap:10px}.logo-link{width:104px}.header-actions{gap:8px;flex-wrap:wrap;justify-content:end}.phone-link{font-size:14px}.main-nav{gap:14px;font-size:14px;white-space:nowrap;overflow:auto;justify-content:start}.hero-grid{display:flex;flex-direction:column;padding-block:36px}.hero-copy{width:100%}.hero h1{font-size:48px}.hero-intro{font-size:19px}.hero-image{width:100%;max-height:400px;border-radius:20px 80px 20px 20px}.section{padding-block:58px}.service-grid,.review-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.service-card img{height:210px}.contact-grid{gap:30px}.contact-form{padding:22px}.footer-grid{gap:22px}.fab{width:46px;height:46px}.fab-container{bottom:18px;left:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fab{transition:none}}

/* Retrofit B.0.5: keep long RTL/LTR text and the mobile navigation within the viewport. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.header-inner > *, .hero-grid > *, .service-grid > *, .review-grid > *, .contact-grid > * { min-width: 0; }
.main-nav { -webkit-overflow-scrolling: touch; }
.service-card p, .review-card p, .site-footer a { overflow-wrap: anywhere; }
.review-card p { font-size: 16px; }
.logo-link { background: #fff; }
.concern-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; padding-inline-start: 22px; margin: 0 0 28px; font-size: 16px; }
@media (max-width: 700px) { .concern-list { grid-template-columns: 1fr; } }

/* Responsive gate fixes: readable mobile copy and long Russian/legal strings. */
.hero h1 { line-height: 1.2; }
.service-area { font-size: 16px; }
.form-privacy { font-size: 16px !important; }
.legal-container, .legal-container p, .legal-container a { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  html[lang="ru"] .hero h1 { font-size: clamp(34px, 9vw, 48px); line-height: 1.2; overflow-wrap: anywhere; }
}
.contact-standalone { min-height: 60vh; }
.contact-standalone h1 { color: #fff; font-size: clamp(36px, 5vw, 58px); line-height: 1.2; }

/* Match the source site's opening: tall light header and edge-to-edge dog video. */
.site-header { background: repeating-linear-gradient(135deg, #fff 0, #fff 67px, #f8f8f8 69px, #fff 72px); border: 0; }
.header-inner { min-height: 240px; position: relative; justify-content: space-between; align-items: center; }
.logo-link { width: 220px; background: transparent; }
.header-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.phone-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 4px 24px; border-radius: 11px; color: #fff; background: #080808; font-size: 19px; }
.header-social { display: flex; gap: 8px; }
.header-social a { width: 43px; height: 43px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #080808; background: #c7a36f; font-weight: 800; text-decoration: none; }
.language-links { position: absolute; top: 18px; left: 0; font-size: 13px; gap: 4px; }
.hero-media { height: min(660px, 46vw); background: #253e24; overflow: hidden; }
.hero-media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero { background: repeating-linear-gradient(135deg, #fff 0, #fff 67px, #f8f8f8 69px, #fff 72px); }
.hero-grid { display: block; min-height: 0; padding-block: 75px; }
.hero-copy { max-width: 900px; margin-inline: auto; text-align: center; }
.hero .eyebrow { display: block; color: #111; font-size: clamp(28px, 4vw, 42px); font-style: italic; font-weight: 800; text-transform: none; }
.hero h1 { color: #111; font-size: clamp(24px, 3vw, 34px); margin: 6px 0 28px; }
.hero h2 { color: #111; font-size: clamp(28px, 3.2vw, 44px); }
.hero-buttons { justify-content: center; }
.video-gallery { background: #f3f0eb; }
.video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.video-grid video { width: 100%; background: #111; border-radius: 14px; }
@media (max-width: 700px) {
  .header-inner { height: 372px; min-height: 372px; padding-block: 0; flex-direction: column; justify-content: flex-start; gap: 0; }
  .logo-link { width: 235px; margin-top: 62px; }
  .header-actions { align-items: center; margin-top: 20px; gap: 18px; }
  .phone-link { font-size: 19px; min-height: 46px; }
  .language-links { top: 17px; left: 0; width: auto; padding: 0; }
  .hero-media { height: 230px; }
  .hero-grid { padding-block: 14px 45px; }
  .hero .eyebrow { font-size: 35px; }
  .hero h1 { font-size: 27px; line-height: 1.2; margin: 4px 0 26px; }
  .hero h2 { font-size: 28px; line-height: 1.2; }
  .video-grid { grid-template-columns: 1fr; }
}
@media (min-width: 701px) and (max-width: 1000px) {
  .header-inner { min-height: 174px; }
  .hero-media { height: 67vw; }
  .hero-grid { padding-block: 30px 75px; }
  .hero .eyebrow { font-size: 20px; }
  .hero h1 { font-size: 64px; }
  .hero h2 { font-size: 20px; }
  html[lang="ru"] .hero h1 { text-transform: uppercase; font-weight: 400; font-size: 68px; line-height: .9; }
  html[lang="ru"] .hero h2 { font-size: 28px; }
}
