@font-face {
  font-family:Manrope;
  src:url('assets/fonts/manrope-400.ttf') format('truetype');
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:Manrope;
  src:url('assets/fonts/manrope-600.ttf') format('truetype');
  font-weight:500 700;
  font-display:swap;
}
@font-face {
  font-family:Manrope;
  src:url('assets/fonts/manrope-800.ttf') format('truetype');
  font-weight:800;
  font-display:swap;
}

:root {
  --ink:#20261f;
  --green:#3b5f32;
  --lime:#cde02f;
  --cream:#f6f5ef;
  --gutter:clamp(28px,6.1vw,112px);
  --header-height:88px;
  --cta-width:clamp(370px,31.4vw,490px);
}
* { box-sizing:border-box; }
body {
  margin:0;
  color:var(--ink);
  font-family:Manrope,Arial,sans-serif;
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; border:0; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button:focus-visible,a:focus-visible { outline:3px solid #82a65f; outline-offset:5px; }
.icon-definitions { position:absolute; width:0; height:0; overflow:hidden; }
.icon,.benefit-icon {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
}

.first-screen {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  height:100svh;
  min-height:620px;
  overflow:hidden;
}
.header {
  position:absolute;
  z-index:5;
  inset:0 0 auto;
  height:var(--header-height);
  display:flex;
  align-items:center;
  gap:clamp(15px,1.55vw,30px);
  padding:0 var(--gutter);
  background:transparent;
}
.brand { display:flex; flex-shrink:0; }
.brand img { display:block; width:clamp(124px,10.4vw,178px); height:auto; }
.navigation {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(11px,1.2vw,23px);
  flex:1;
  white-space:nowrap;
}
.navigation a,.nav-reviews {
  position:relative;
  padding:10px 0;
  font-size:clamp(10px,.83vw,13px);
  font-weight:600;
  background:none;
}
.navigation a::after,.nav-reviews::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:4px;
  height:1px;
  background:var(--green);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s;
}
.navigation a:hover::after,.nav-reviews:hover::after { transform:scaleX(1); }
.header-contact { display:flex; flex-direction:column; align-items:flex-end; gap:3px; white-space:nowrap; }
.phone { display:flex; align-items:center; gap:7px; font-size:clamp(12px,1.04vw,17px); font-weight:800; letter-spacing:-.3px; }
.phone .icon { width:21px; height:21px; }
.hours { font-size:clamp(9px,.7vw,11px); color:#59604f; }
.tour-button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-shrink:0;
  padding:12px 19px;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  font-size:clamp(10px,.8vw,13px);
  font-weight:600;
  white-space:nowrap;
  box-shadow:0 4px 16px #24421a0d;
  transition:background .25s,transform .25s,box-shadow .25s;
}
.tour-button .icon { width:18px; height:18px; }
.tour-button:hover { background:#2c4c26; transform:translateY(-2px); box-shadow:0 7px 20px #24421a24; }
.menu-toggle { display:none; }

.hero { position:relative; isolation:isolate; display:flex; flex:1; flex-direction:column; min-height:0; overflow:hidden; }
.hero-image {
  position:absolute;
  z-index:-3;
  inset:0 -10% 0 38%;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent 0%,#0000000a 4%,#00000033 10%,#00000099 19%,#000 30%);
}
.hero-image img {
  --house-scale:1.1;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% 52%;
  transform:scale(var(--house-scale));
  transform-origin:72% 78%;
  animation:landscape-in 1.6s cubic-bezier(.2,.7,.3,1) both;
}
.hero-wash {
  position:absolute;
  z-index:-2;
  inset:0;
  background:linear-gradient(90deg,#f6f5ef 0%,#f6f5ef 9%,#f7f3eaf5 16%,#f8f1e1d4 24%,#f9eed571 33%,#fff0ce12 47%,transparent 61%);
}
.hero-main {
  position:relative;
  display:flex;
  align-items:center;
  flex:1;
  min-height:0;
  padding:calc(var(--header-height) + 16px) var(--gutter) 32px;
}
.hero-copy { position:relative; width:760px; max-width:65%; animation:content-in .85s .12s both; }
h1 {
  margin:0;
  font-size:clamp(43px,4.65vw,90px);
  font-weight:800;
  line-height:.98;
  letter-spacing:-.035em;
  white-space:nowrap;
}
h1 span { display:block; color:var(--green); }
.hero-region {
  margin:9px 0 clamp(24px,3.7vh,38px);
  font-size:clamp(16px,1.72vw,28px);
  line-height:1.3;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.offer-card {
  display:table;
  min-width:clamp(280px,22.65vw,370px);
  padding:16px 23px 17px;
  margin:0 0 18px;
  border:1px solid #efdfbf70;
  border-radius:12px;
  background:linear-gradient(115deg,rgba(238,225,196,.91),rgba(235,216,180,.7));
  box-shadow:inset 0 1px 0 #fff6;
  backdrop-filter:blur(4px);
}
.offer-description { margin:0 0 7px; font-size:clamp(14px,1.17vw,19px); line-height:1.4; font-weight:500; }
.offer-time { margin:0; color:#75ad60; font-size:clamp(34px,3.02vw,52px); line-height:1.14; font-weight:800; letter-spacing:-.035em; }
.hero-actions { display:flex; align-items:center; }
.primary-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:58px;
  padding:15px 25px;
  border-radius:999px;
  background:linear-gradient(115deg,#426638,#34572d);
  color:#fff;
  font-size:clamp(13px,1.1vw,18px);
  font-weight:600;
  line-height:1.25;
  box-shadow:0 7px 22px #304b3212,inset 0 1px 0 #ffffff18;
  transition:box-shadow .25s;
}
.hero-actions .primary-button { width:var(--cta-width); max-width:100%; text-transform:uppercase; letter-spacing:.015em; }
.button-arrow { display:grid; place-items:center; flex-shrink:0; }
.primary-button .icon { width:21px; height:21px; transition:transform .25s; }
.primary-button:hover { box-shadow:0 10px 26px #304b3229,inset 0 1px 0 #ffffff18; }
.primary-button:hover .button-arrow .icon { transform:translateX(4px); }
.gift-note {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:var(--cta-width);
  max-width:100%;
  margin:11px 0 0;
  color:#33392e;
  font-size:clamp(11px,1.03vw,16px);
  line-height:1.35;
}
.gift-note .icon { width:25px; height:25px; }

.rating {
  position:absolute;
  top:calc(var(--header-height) + 20px);
  right:var(--gutter);
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 15px;
  border:1px solid #ffffff9c;
  border-radius:16px;
  background:#ffffffe0;
  backdrop-filter:blur(12px);
  text-align:left;
  box-shadow:0 5px 25px #1822110b;
  transition:transform .25s,box-shadow .25s;
  animation:content-in .9s .35s both;
}
.rating:hover { transform:translateY(-3px); box-shadow:0 10px 28px #18221124; }
.yandex-letter { display:grid; place-items:center; padding-right:12px; border-right:1px solid #dddcd5; font-family:Arial,sans-serif; font-size:29px; color:#f04030; font-weight:400; }
.rating-content { display:flex; flex-direction:column; gap:4px; }
.rating-top { display:flex; align-items:center; gap:8px; }
.rating-top strong { font-size:22px; line-height:1; font-weight:800; }
.stars { color:#daa234; letter-spacing:1px; font-size:12px; }
.rating-label { font-size:10px; color:#6e7267; }
.rating-chevron { width:13px; height:13px; margin-left:2px; color:#737a6c; }

.benefits {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:.95fr 1.2fr 1fr 1fr;
  gap:clamp(24px,3.2vw,58px);
  flex-shrink:0;
  min-height:clamp(114px,14.7vh,146px);
  padding:23px var(--gutter);
  color:#fff;
  background:linear-gradient(115deg,rgba(28,54,17,.72),rgba(28,54,17,.53) 52%,rgba(18,43,10,.61));
  backdrop-filter:blur(5px) brightness(.68) saturate(120%);
  -webkit-backdrop-filter:blur(5px) brightness(.68) saturate(120%);
  animation:content-in .9s .25s both;
}
.benefit { position:relative; display:flex; align-items:center; gap:clamp(14px,1.7vw,28px); min-width:0; text-shadow:0 1px 4px #14260c42; }
.benefit+.benefit::before { content:''; position:absolute; left:calc(clamp(24px,3.2vw,58px) / -2); top:1px; bottom:1px; width:1px; background:linear-gradient(180deg,transparent,#e3ecbd40 20%,#e3ecbd40 80%,transparent); }
.benefit-icon { width:clamp(35px,3.2vw,51px); height:clamp(35px,3.2vw,51px); color:#f4f5e9; stroke-width:1.35; }
.benefit>div { display:flex; flex-direction:column; gap:5px; }
.benefit strong { font-size:clamp(13px,1.08vw,18px); line-height:1.2; font-weight:600; }
.benefit span { font-size:clamp(11px,.88vw,14px); line-height:1.35; color:#edf0e5; }
.benefit-link { padding:0; background:none; text-align:left; }
.benefit-link strong,.benefit-link .benefit-icon { transition:color .25s,transform .25s; }
.benefit-link:hover strong { color:#d8e8b7; }
.benefit-link:hover .benefit-icon { transform:translateY(-3px); }

.foliage-frame {
  position:absolute;
  z-index:6;
  inset:0;
  pointer-events:none;
  user-select:none;
  overflow:hidden;
  mask-image:linear-gradient(90deg,#000 0%,#000 1.3%,#0009 3%,transparent 4.5%,transparent 95.5%,#000b 98%,#000 100%),linear-gradient(180deg,transparent calc(100% - 45px),#000a calc(100% - 15px),#000 100%);
}
.foliage-frame img {
  display:block;
  width:100%;
  height:100%;
  object-fit:fill;
  opacity:.72;
  filter:blur(2.3px);
  transform:scale(1.035);
  transform-origin:center;
  translate:var(--foliage-x,0px) var(--foliage-y,0px);
  transition:translate .7s cubic-bezier(.2,.7,.25,1);
  animation:foliage-breeze 16s ease-in-out infinite alternate;
}

.dialog {
  border:0;
  border-radius:18px;
  box-shadow:0 30px 100px #0c231a40;
  padding:28px;
  max-height:calc(100svh - 36px);
  color:var(--ink);
  background:#fafbf7;
  width:min(520px,calc(100vw - 32px));
  overflow:auto
}

.dialog[open] {
  animation:dialog-in .25s ease-out
}

.dialog::backdrop {
  background:#13231680;
  backdrop-filter:blur(7px)
}

.dialog-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:20px
}

.dialog-eyebrow {
  font-size:9px;
  letter-spacing:1.7px;
  color:#74806b;
  margin:0 0 9px
}

.dialog h2 {
  font-size:27px;
  letter-spacing:-1px;
  margin:0;
  line-height:1.2
}

.inline-yandex {
  color:#f04030;
  font-weight:400;
  font-family:Arial,sans-serif
}

.close-button {
  width:37px;
  height:37px;
  flex-shrink:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e9eddf;
  transition:background .2s
}

.close-button:hover {
  background:#dbe2ce
}

.close-button .icon {
  width:19px;
  height:19px
}

.widget-wrap {
  position:relative;
  min-height:300px;
  height:min(550px,calc(100svh - 218px));
  background:white;
  border:1px solid #e4e8dc;
  border-radius:12px;
  overflow:hidden
}

.widget-wrap iframe {
  border:0;
  position:relative;
  width:100%;
  height:100%;
  display:block;
  background:transparent
}

.widget-loading {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:13px;
  color:#6c7763;
  text-align:center;
  padding:25px
}

.widget-loading.is-hidden {
  display:none
}

.widget-fallback {
  font-size:13px;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:20px
}

.widget-fallback .icon {
  width:17px;
  height:17px
}

.visit-dialog {
  width:min(580px,calc(100vw - 32px))
}

.dialog-description {
  font-size:14px;
  line-height:1.7;
  color:#66705e;
  margin:0 0 20px
}

.locations {
  display:grid;
  gap:10px
}

.location {
  display:flex;
  align-items:center;
  gap:13px;
  border:1px solid #e1e6d7;
  padding:15px;
  border-radius:9px;
  transition:background .2s
}

.location:hover {
  background:#edf1e3
}

.location>.icon {
  width:20px;
  height:20px;
  color:#61704d
}

.location>.icon:last-child {
  width:15px;
  height:15px;
  margin-left:auto
}

.location div {
  display:flex;
  flex-direction:column;
  gap:4px
}

.location strong {
  font-size:14px
}

.location span {
  font-size:11px;
  color:#6b7462;
  line-height:1.7
}

.visit-call {
  width:100%;
  margin-top:22px;
  padding:15px;
  gap:12px
}

.visit-hours {
  text-align:center;
  font-size:10px;
  color:#78816e;
  margin:12px 0 0
}

body.dialog-open {
  overflow:hidden
}



@keyframes content-in {
  from { opacity:0; translate:0 15px; }
  to { opacity:1; translate:0 0; }
}
@keyframes landscape-in {
  from { opacity:.4; transform:scale(calc(var(--house-scale) + .025)); }
  to { opacity:1; transform:scale(var(--house-scale)); }
}
@keyframes foliage-breeze {
  from { transform:scale(1.035) translate3d(-2px,0,0) rotate(-.15deg); }
  to { transform:scale(1.045) translate3d(2px,3px,0) rotate(.15deg); }
}
@keyframes dialog-in {
  from { opacity:0; transform:translateY(12px) scale(.98); }
  to { opacity:1; transform:translateY(0) scale(1); }
}

@media(min-width:1700px) {
  :root { --header-height:102px; }
  .tour-button { padding:15px 24px; }
  .primary-button { min-height:68px; }
  .offer-card { padding:21px 29px 23px; margin-bottom:22px; border-radius:14px; }
  .offer-description { margin-bottom:10px; }
  .gift-note { margin-top:14px; }
  .benefits { padding-block:29px; }
  .rating { padding:16px 20px; }
}
@media(max-width:1250px) {
  :root { --gutter:clamp(30px,4.5vw,56px); --header-height:80px; }
  .header { gap:14px; }
  .brand img { width:124px; }
  .navigation { gap:10px; }
  .navigation a,.nav-reviews { font-size:10px; }
  .tour-button { font-size:10px; padding:11px 14px; }
  .phone { font-size:12px; }
  .phone .icon { width:18px; height:18px; }
  .hero-copy { max-width:68%; }
  .benefits { gap:26px; }
  .benefit { gap:14px; }
  .benefit+.benefit::before { left:-13px; }
}
@media(max-width:1050px) {
  .header-contact { margin-left:auto; }
  .phone { font-size:14px; }
  .tour-button { font-size:11px; }
  .navigation {
    display:none;
    position:absolute;
    right:var(--gutter);
    top:calc(100% - 3px);
    width:290px;
    max-width:calc(100vw - 32px);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:14px;
    border:1px solid #e2e7d9;
    border-radius:14px;
    background:#fafaf6;
    box-shadow:0 15px 35px #1f35251f;
  }
  .navigation.is-open { display:flex; animation:dialog-in .2s; }
  .navigation a,.nav-reviews { padding:12px; font-size:14px; text-align:left; border-radius:7px; }
  .navigation a:hover,.nav-reviews:hover { background:#edf0e4; }
  .navigation a::after,.nav-reviews::after { display:none; }
  .menu-toggle { display:flex; width:38px; height:38px; flex-direction:column; justify-content:center; gap:6px; padding:8px; background:none; }
  .menu-toggle span { display:block; width:22px; height:1.5px; background:var(--green); transition:transform .25s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.75px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.75px) rotate(-45deg); }
  .hero-image { left:33%; }
  .hero-wash { background:linear-gradient(90deg,#f6f5ef 0%,#f6f5effa 9%,#f6f5efdb 25%,#f6f5ef69 44%,transparent 69%); }
  h1 { font-size:clamp(37px,4.6vw,48px); }
  .hero-region { font-size:clamp(14px,1.8vw,18px); }
  .hero-copy { max-width:72%; }
  .offer-card { padding:15px 19px; }
  .offer-time { font-size:35px; }
  .rating { padding:10px 12px; gap:10px; }
  .rating-chevron { display:none; }
  .rating-top strong { font-size:20px; }
  .yandex-letter { font-size:25px; }
  .stars { font-size:10px; }
  .benefits { gap:22px; padding-block:22px; }
  .benefit { align-items:flex-start; gap:10px; }
  .benefit-icon { width:30px; height:30px; }
  .benefit+.benefit::before { left:-11px; }
  .benefit strong { font-size:11px; }
  .benefit span { font-size:9px; }
  .foliage-frame img { opacity:.56; }
}
@media(min-width:761px) and (max-height:760px) {
  :root { --header-height:76px; }
  .first-screen { min-height:600px; }
  .hero-main { padding-top:calc(var(--header-height) + 14px); padding-bottom:25px; }
  h1 { font-size:clamp(37px,4.65vw,76px); }
  .hero-region { margin-top:7px; margin-bottom:24px; }
  .offer-card { padding:14px 20px; margin-bottom:16px; }
  .offer-description { font-size:16px; margin-bottom:6px; }
  .offer-time { font-size:38px; }
  .primary-button { min-height:54px; }
  .gift-note { margin-top:10px; }
  .benefits { min-height:108px; padding-block:21px; }
}
@media(min-width:761px) and (max-height:650px) {
  h1 { font-size:clamp(35px,4.3vw,66px); }
  .hero-region { margin-bottom:18px; }
  .offer-card { padding:11px 20px; }
  .offer-description { font-size:14px; }
  .offer-time { font-size:34px; }
  .primary-button { min-height:50px; }
}
@media(min-width:761px) and (max-width:1050px) and (max-aspect-ratio:1/1) {
  :root { --cta-width:400px; }
  .first-screen { min-height:940px; }
  .header { background:linear-gradient(180deg,#faf9f4e6,#faf9f459); }
  .hero-main { align-items:flex-start; padding-top:calc(var(--header-height) + 40px); padding-bottom:270px; }
  .hero-copy { width:100%; max-width:100%; }
  h1 { font-size:clamp(46px,6.4vw,65px); line-height:1.02; }
  .hero-region { font-size:clamp(19px,2.5vw,25px); margin:10px 0 26px; }
  .offer-card { min-width:310px; padding:17px 23px; }
  .offer-description { font-size:16px; }
  .offer-time { font-size:40px; }
  .primary-button { min-height:58px; font-size:14px; }
  .gift-note { width:max-content; padding:5px 10px; border-radius:7px; background:#f6f5efe0; font-size:12px; }
  .hero-image { inset:275px -4% 0; mask-image:linear-gradient(180deg,transparent 0%,#000 25%); }
  .hero-image img { --house-scale:1.04; object-position:53% 65%; transform-origin:53% 78%; }
  .hero-wash { background:linear-gradient(180deg,#f6f5ef 0%,#f6f5ef 23%,#f6f5eff2 32%,#f6f5ef70 45%,transparent 59%); }
  .rating { top:auto; bottom:24px; }
  .benefits { grid-template-columns:1fr 1fr; min-height:190px; gap:24px 40px; padding-block:25px; }
  .benefit { align-items:center; gap:17px; }
  .benefit-icon { width:36px; height:36px; }
  .benefit strong { font-size:14px; line-height:1.25; }
  .benefit span { font-size:11px; line-height:1.4; }
  .benefit+.benefit::before { display:none; }
  .benefit:nth-child(2n)::before { display:block; left:-20px; }
}
@media(max-width:760px) {
  :root { --gutter:24px; --header-height:76px; --cta-width:400px; }
  .first-screen { height:100svh; min-height:840px; }
  .header { gap:14px; background:linear-gradient(180deg,#faf9f4e6,#faf9f459); }
  .brand img { width:112px; }
  .phone { font-size:12px; }
  .phone .icon { display:none; }
  .hours { font-size:8px; }
  .tour-button { display:none; }
  .menu-toggle { width:32px; height:36px; padding:5px; }
  .hero-main { align-items:flex-start; padding:calc(var(--header-height) + 24px) var(--gutter) 225px; }
  .hero-copy { width:100%; max-width:100%; }
  h1 { font-size:clamp(30px,7.55vw,55px); line-height:1.04; letter-spacing:-.045em; }
  .hero-region { font-size:clamp(11px,2.82vw,19px); letter-spacing:-.025em; margin:8px 0 23px; }
  .offer-card { min-width:0; padding:12px 19px 14px; margin-bottom:16px; border-radius:10px; }
  .offer-description { font-size:13px; margin-bottom:6px; }
  .offer-time { font-size:33px; }
  .primary-button { min-height:52px; padding:13px 18px; font-size:12px; gap:10px; }
  .gift-note { margin-top:11px; font-size:10px; gap:8px; }
  .gift-note .icon { width:21px; height:21px; }
  .hero-image { inset:260px 0 0; mask-image:linear-gradient(180deg,transparent 0%,#000 25%); }
  .hero-image img { object-position:53% 55%; transform-origin:53% 78%; }
  .hero-wash { background:linear-gradient(180deg,#f6f5ef 0%,#f6f5ef 32%,#f6f5eff2 40%,#f6f5ef60 53%,transparent 65%); }
  .rating { top:auto; right:var(--gutter); bottom:24px; padding:10px 13px; border-radius:12px; gap:10px; }
  .rating-top strong { font-size:21px; }
  .stars { font-size:11px; }
  .rating-label { font-size:9px; }
  .benefits { grid-template-columns:1fr 1fr; min-height:174px; gap:22px 22px; padding:23px var(--gutter); }
  .benefit { gap:11px; align-items:center; }
  .benefit strong { font-size:11px; line-height:1.25; }
  .benefit span { font-size:9px; line-height:1.4; }
  .benefit-icon { width:29px; height:29px; }
  .benefit>div { gap:4px; }
  .benefit+.benefit::before { display:none; }
  .benefit:nth-child(2n)::before { display:block; left:-11px; }
  .foliage-frame { mask-image:linear-gradient(90deg,#000b 0%,transparent 4.5%,transparent 95.5%,#000 100%),linear-gradient(180deg,transparent calc(100% - 22px),#000 100%); }
  .foliage-frame img { height:auto; opacity:.52; filter:blur(1.4px); animation:none; transform:none; }
  .foliage-frame::after {
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    aspect-ratio:1672 / 941;
    background:url('media/hero/foliage-frame.webp') center / 100% 100% no-repeat;
    opacity:.4;
    filter:blur(1.4px);
    translate:calc(var(--foliage-x,0px) * -.6) calc(var(--foliage-y,0px) * -.6);
    transition:translate .9s cubic-bezier(.2,.7,.25,1);
  }
  .dialog { padding:22px; max-height:calc(100svh - 24px); }
  .dialog h2 { font-size:24px; }
  .dialog-eyebrow { font-size:8px; }
  .dialog-description { font-size:13px; }
  .location { padding:12px; gap:9px; }
  .location span { font-size:10px; }
  .visit-call { font-size:11px; gap:8px; }
}
@media(max-width:390px) {
  :root { --gutter:20px; }
  .header { gap:11px; }
  .brand img { width:102px; }
  .phone { font-size:11px; }
  .hero-main { padding-top:calc(var(--header-height) + 21px); }
  .benefits { column-gap:20px; }
  .benefit { gap:8px; }
  .benefit-icon { width:25px; height:25px; }
  .benefit strong { font-size:10px; }
  .benefit span { font-size:8px; }
  .gift-note { font-size:9px; }
}
@media(max-width:760px) and (min-height:950px) {
  .hero-main { padding-top:calc(var(--header-height) + 45px); }
  .offer-card { margin-bottom:20px; }
  .hero-image { top:300px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .foliage-frame img,.foliage-frame::after { translate:none!important; }
}
