/* ============================================================
   ЛУЖАЙКА — авторский дизайн «Совёнка»
   Живой градиентный фон, солнце, цветы, пружинные анимации.
   Единственный дизайн сайта: всё заскоплено под .view--meadow.
   ============================================================ */

.view--meadow{
  --m-ink:#14261a;
  --m-ink-2:#3d5445;
  --m-muted:#66796b;
  --m-cream:#fffdf6;
  --m-green:#58cc02;
  --m-green-d:#3f9a00;
  --m-teal:#12b886;
  --m-sky:#1cb0f6;
  --m-sun:#ffc93c;
  --m-coral:#ff7a66;
  --m-lilac:#b79bff;
  --m-line:rgba(20,38,26,.10);
  --m-line-2:rgba(20,38,26,.16);
  --m-shadow:0 2px 4px rgba(24,48,24,.04), 0 18px 40px -18px rgba(24,48,24,.18);
  --m-shadow-lg:0 4px 8px rgba(24,48,24,.05), 0 34px 70px -28px rgba(24,48,24,.28);
  --m-ease:cubic-bezier(.22,1,.36,1);
  --m-spring:cubic-bezier(.34,1.56,.64,1);

  position:relative;
  z-index:1;
  font-family:'Onest','Golos Text',system-ui,sans-serif;
  font-size:17px;
  line-height:1.6;
  color:var(--m-ink);
  background:transparent;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

html[data-theme="meadow"] body{
  background:#f6fbff;
  color:#14261a;
  overflow-x:clip;
}

.view--meadow *,
.view--meadow *::before,
.view--meadow *::after{box-sizing:border-box}

.view--meadow img{display:block;max-width:100%;height:auto}
.view--meadow a{color:inherit;text-decoration:none}
.view--meadow p{margin:0}
.view--meadow h1,
.view--meadow h2,
.view--meadow h3,
.view--meadow h4,
.view--meadow ul,
.view--meadow ol,
.view--meadow li,
.view--meadow figure,
.view--meadow figcaption,
.view--meadow blockquote,
.view--meadow cite{margin:0;padding:0}
.view--meadow ul,
.view--meadow ol{list-style:none}
.view--meadow button,
.view--meadow input,
.view--meadow select{font:inherit;color:inherit}
.view--meadow ::selection{background:#c9f2a6;color:#14261a}

.view--meadow :where(a,button,input,select,summary):focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(88,204,2,.38), 0 0 0 1px #4fb300;
  border-radius:14px;
}

.m-shell{
  width:min(1200px, calc(100% - clamp(36px,7vw,96px)));
  margin-inline:auto;
}

/* ============================================================
   ЖИВОЙ ФОН
   ============================================================ */
.m-bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  background:#f6fbff;
  contain:strict;
}

.m-bg__wash{
  position:absolute;
  inset:-14%;
  background:
    radial-gradient(42% 40% at 10% 6%, rgba(88,204,2,.22), transparent 62%),
    radial-gradient(40% 38% at 92% 4%, rgba(28,176,246,.24), transparent 64%),
    radial-gradient(38% 40% at 84% 78%, rgba(255,201,60,.22), transparent 64%),
    radial-gradient(36% 38% at 10% 86%, rgba(255,122,102,.16), transparent 64%),
    linear-gradient(172deg,#f2faff 0%,#f7fff0 42%,#fffbf1 72%,#fff4f1 100%);
  animation:washShift 28s ease-in-out infinite alternate;
  will-change:transform;
}

.m-bg__blob{
  position:absolute;
  display:block;
  width:60vmax;
  height:60vmax;
  border-radius:50%;
  filter:blur(60px);
  opacity:.55;
  will-change:transform;
}
.m-bg__blob--1{
  top:-26vmax;left:-20vmax;
  background:radial-gradient(closest-side, rgba(140,230,80,.55), transparent 70%);
  animation:blob1 34s ease-in-out infinite alternate;
}
.m-bg__blob--2{
  top:-20vmax;right:-24vmax;
  background:radial-gradient(closest-side, rgba(90,200,255,.5), transparent 70%);
  animation:blob2 42s ease-in-out infinite alternate;
}
.m-bg__blob--3{
  bottom:-30vmax;left:30vmax;
  background:radial-gradient(closest-side, rgba(255,205,90,.42), transparent 72%);
  animation:blob3 38s ease-in-out infinite alternate;
}

.m-bg__grain{
  position:absolute;
  inset:0;
  opacity:.035;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* лепестки, падающие поверх фона */
.m-petals{position:absolute;inset:0}
.m-petal{
  position:absolute;
  top:-8vh;
  left:var(--x);
  width:calc(13px * var(--s,1));
  height:calc(13px * var(--s,1));
  border-radius:60% 0 60% 0;
  background:var(--tint,#ffb1c1);
  opacity:.5;
  animation:petalFall var(--dur,22s) linear infinite;
  animation-delay:var(--delay,0s);
  will-change:transform;
}

@keyframes washShift{
  from{transform:translate3d(-1.6%,-1.2%,0) scale(1.02) rotate(-.6deg)}
  to{transform:translate3d(1.6%,1.4%,0) scale(1.06) rotate(.6deg)}
}
@keyframes blob1{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(9vw,7vh,0) scale(1.16)}
}
@keyframes blob2{
  from{transform:translate3d(0,0,0) scale(1.08)}
  to{transform:translate3d(-8vw,10vh,0) scale(.94)}
}
@keyframes blob3{
  from{transform:translate3d(0,0,0) scale(.96)}
  to{transform:translate3d(-10vw,-8vh,0) scale(1.14)}
}
@keyframes petalFall{
  0%{transform:translate3d(0,-10vh,0) rotate(0deg)}
  45%{transform:translate3d(4vw,52vh,0) rotate(200deg)}
  100%{transform:translate3d(-3vw,116vh,0) rotate(420deg)}
}

/* ============================================================
   ШАПКА
   ============================================================ */
.m-nav{
  position:sticky;
  top:0;
  z-index:80;
  transition:background-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
.m-nav.is-stuck{
  background:rgba(252,255,248,.72);
  backdrop-filter:saturate(180%) blur(22px);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
  box-shadow:0 1px 0 rgba(20,38,26,.07), 0 18px 30px -26px rgba(20,38,26,.35);
}
.m-nav__in{
  display:flex;
  align-items:center;
  gap:clamp(16px,2.6vw,40px);
  height:78px;
}
.m-logo{display:inline-flex;align-items:center;gap:11px;flex:none}
.m-logo__badge{
  display:grid;
  place-items:center;
  width:44px;height:44px;
  border-radius:15px;
  background:linear-gradient(150deg,#ffffff,#eefaE2 60%,#dcf7ff);
  box-shadow:0 1px 0 #fff inset, 0 6px 16px -10px rgba(20,60,20,.5), 0 0 0 1px rgba(20,38,26,.07);
}
.m-logo__badge svg{width:27px;height:27px;fill:#2f3a2c}
.m-logo__badge .m-owl-eye{fill:#fffdf6}
.m-logo__badge .m-owl-beak{fill:var(--m-green)}
.m-logo__word{
  display:flex;flex-direction:column;
  font-family:'Nunito',sans-serif;
  font-weight:900;font-size:1rem;letter-spacing:.11em;text-transform:uppercase;line-height:1;
}
.m-logo__word small{
  font-family:'Onest',sans-serif;
  font-size:.55rem;font-weight:600;letter-spacing:.16em;
  color:var(--m-muted);margin-top:5px;
}

.m-nav__links{
  display:flex;
  gap:clamp(14px,1.8vw,28px);
  margin-left:auto;
  font-size:.9rem;
  font-weight:500;
  color:var(--m-ink-2);
}
.m-nav__links a{position:relative;padding:6px 0;transition:color .18s ease}
.m-nav__links a::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;
  height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--m-green),var(--m-sky));
  transform:scaleX(0);transform-origin:left;
  transition:transform .28s var(--m-ease);
}
.m-nav__links a:hover{color:var(--m-ink)}
.m-nav__links a:hover::after{transform:scaleX(1)}

.m-nav__end{display:flex;align-items:center;gap:clamp(10px,1.6vw,22px)}
.m-nav__tel{font-size:.88rem;font-weight:600;white-space:nowrap;color:var(--m-ink-2)}
.m-nav__tel:hover{color:var(--m-ink)}

.m-burger{display:none;width:44px;height:44px;border:1px solid var(--m-line);border-radius:14px;background:rgba(255,255,255,.7);cursor:pointer;padding:0;place-items:center;gap:5px}
.m-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--m-ink);transition:transform .2s ease,opacity .2s ease}
.m-burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.m-burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

.m-menu{
  padding:8px clamp(20px,6vw,40px) 24px;
  background:rgba(252,255,248,.94);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--m-line);
}
.m-menu a{display:block;padding:12px 0;font-weight:600;border-bottom:1px solid var(--m-line)}
.m-menu a[href="#m-book"]{margin-top:14px;border:0;text-align:center;color:#fff}
.m-menu__tel{color:var(--m-muted);font-weight:500!important}

/* ============================================================
   КНОПКИ
   ============================================================ */
.m-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:999px;
  padding:14px 26px;
  font-family:'Onest',sans-serif;
  font-size:15.5px;
  font-weight:650;
  letter-spacing:-.005em;
  line-height:1;
  color:#fff;
  cursor:pointer;
  background:linear-gradient(122deg,#5bd400 0%,#3fbf00 55%,#12b886 100%);
  background-size:150% 100%;
  box-shadow:0 1px 0 rgba(255,255,255,.45) inset, 0 10px 24px -12px rgba(63,154,0,.75);
  transition:transform .3s var(--m-spring), box-shadow .3s var(--m-ease), background-position .5s var(--m-ease);
  will-change:transform;
}
.m-btn:hover{
  transform:translateY(-2px);
  background-position:100% 0;
  box-shadow:0 1px 0 rgba(255,255,255,.45) inset, 0 18px 34px -14px rgba(63,154,0,.7);
}
.m-btn:active{transform:scale(.965);transition-duration:.1s}
.m-btn svg{width:19px;height:19px;flex:none;transition:transform .3s var(--m-spring)}
.m-btn:hover svg{transform:translateX(3px)}
.m-btn--lg{padding:17px 30px;font-size:16.5px}
.m-btn--sm{padding:11px 20px;font-size:14px}
.m-btn--full{width:100%}
.m-btn--ghost{
  color:var(--m-ink);
  background:rgba(255,255,255,.72);
  box-shadow:0 1px 0 #fff inset, 0 0 0 1px rgba(20,38,26,.11), 0 8px 20px -14px rgba(20,38,26,.4);
  backdrop-filter:blur(8px);
}
.m-btn--ghost:hover{background:#fff;box-shadow:0 1px 0 #fff inset, 0 0 0 1px rgba(20,38,26,.16), 0 14px 26px -16px rgba(20,38,26,.45)}

/* ============================================================
   HERO
   ============================================================ */
.m-hero{
  position:relative;
  padding:clamp(28px,4vw,56px) 0 clamp(80px,8vw,120px);
  min-height:calc(100svh - 78px);
  display:flex;
  align-items:center;
  overflow:hidden;
}
.m-hero__sky{position:absolute;inset:-10% -10% 0;pointer-events:none;overflow:hidden}

.m-sun{
  position:absolute;
  top:clamp(-90px,-4vw,-40px);
  right:clamp(-120px,-2vw,40px);
  width:clamp(300px,34vw,480px);
  aspect-ratio:1;
  color:rgba(255,201,60,.55);
  translate:0 calc(var(--sc,0) * -.06px);
}
.m-sun__rays{
  position:absolute;inset:0;width:100%;height:100%;
  animation:sunSpin 110s linear infinite;
  transform-origin:50% 50%;
}
.m-sun__disc{
  position:absolute;
  inset:22%;
  border-radius:50%;
  background:radial-gradient(circle at 50% 38%,#fff8d6 0%,#ffe27a 38%,#ffc02e 72%,#ffab1a 100%);
  box-shadow:0 0 90px 30px rgba(255,196,64,.45), 0 0 220px 90px rgba(255,205,90,.22);
  animation:sunPulse 7s ease-in-out infinite;
}
@keyframes sunSpin{to{transform:rotate(360deg)}}
@keyframes sunPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}

.m-cloud{
  position:absolute;
  height:clamp(40px,5vw,64px);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  filter:blur(1px);
  box-shadow:0 20px 40px -22px rgba(70,120,140,.4);
  translate:0 calc(var(--sc,0) * -.03px);
}
.m-cloud::before,
.m-cloud::after{
  content:"";position:absolute;background:inherit;border-radius:50%;
}
.m-cloud::before{width:52%;aspect-ratio:1;left:12%;top:-52%}
.m-cloud::after{width:38%;aspect-ratio:1;right:14%;top:-38%}
.m-cloud--1{width:clamp(140px,15vw,210px);top:16%;left:4%;animation:cloudDrift 26s ease-in-out infinite alternate}
.m-cloud--2{width:clamp(100px,11vw,160px);top:8%;left:56%;opacity:.7;animation:cloudDrift 34s ease-in-out infinite alternate-reverse}
.m-cloud--3{width:clamp(90px,9vw,130px);top:32%;right:2%;opacity:.6;animation:cloudDrift 30s ease-in-out infinite alternate}
@keyframes cloudDrift{
  from{transform:translateX(-14px)}
  to{transform:translateX(22px)}
}

.m-hero__in{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  align-items:center;
  gap:clamp(28px,4.5vw,72px);
}

.m-chip{
  display:inline-flex;align-items:center;gap:9px;
  padding:8px 15px 8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 0 0 1px rgba(20,38,26,.08), 0 8px 22px -16px rgba(20,38,26,.45);
  backdrop-filter:blur(10px);
  font-size:12px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--m-ink-2);
}
.m-chip__dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--m-green);
  box-shadow:0 0 0 4px rgba(88,204,2,.16);
  animation:dotPulse 2.4s ease-in-out infinite;
}
@keyframes dotPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(88,204,2,.16)}
  50%{box-shadow:0 0 0 7px rgba(88,204,2,.08)}
}

.m-h1{
  margin-top:22px;
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:clamp(2.9rem,6.1vw,5.15rem);
  line-height:.98;
  letter-spacing:-.038em;
  color:var(--m-ink);
  text-wrap:balance;
}
.m-grad{
  background:linear-gradient(96deg,#4fbb00 0%,#1aa35e 48%,#0a92c9 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.m-grad-soft{
  background:linear-gradient(96deg,#4fbb00 0%,#0d9f8a 70%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.m-lead{
  margin-top:22px;
  max-width:47ch;
  font-size:clamp(1rem,1.25vw,1.15rem);
  line-height:1.62;
  color:var(--m-ink-2);
}
.m-micro{
  margin-top:16px;
  font-size:.83rem;
  color:var(--m-muted);
}
.m-micro::before{content:"✦";color:var(--m-green);margin-right:7px}

.m-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

.m-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.m-badges li{
  padding:7px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  box-shadow:0 0 0 1px rgba(20,38,26,.08);
  font-size:12.5px;
  font-weight:600;
  color:var(--m-ink-2);
}

/* сцена с фото */
.m-hero__scene{position:relative;display:flex;justify-content:flex-end}
.m-scene{
  position:relative;
  width:min(100%,520px);
  aspect-ratio:.9;
}
.m-scene__halo{
  position:absolute;
  inset:-12% -8% -6%;
  border-radius:50%;
  background:radial-gradient(closest-side,rgba(88,204,2,.22),rgba(28,176,246,.12) 60%,transparent 78%);
  filter:blur(18px);
  animation:haloPulse 8s ease-in-out infinite;
}
@keyframes haloPulse{
  0%,100%{transform:scale(1);opacity:.9}
  50%{transform:scale(1.05);opacity:.7}
}

.m-arch{
  position:absolute;
  inset:0;
  margin:0;
  border-radius:300px 300px 34px 34px;
  overflow:hidden;
  border:9px solid rgba(255,255,255,.92);
  box-shadow:0 2px 0 #fff inset, 0 40px 80px -40px rgba(20,60,30,.5), 0 0 0 1px rgba(20,38,26,.05);
  background:#dff3c8;
  transition:transform .5s var(--m-ease);
}
.m-arch img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--m-ease)}
.m-scene:hover .m-arch img{transform:scale(1.04)}

.m-float{
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px) saturate(150%);
  box-shadow:0 1px 0 #fff inset, 0 0 0 1px rgba(20,38,26,.07), 0 18px 34px -22px rgba(20,38,26,.6);
  animation:floatY 6s ease-in-out infinite;
}
.m-float b{
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:1.22rem;
  letter-spacing:-.02em;
  line-height:1;
  color:var(--m-ink);
}
.m-float span{display:block;font-size:.72rem;line-height:1.2;color:var(--m-muted);max-width:9ch}
.m-float--a{left:-5%;top:16%;animation-delay:-1.6s}
.m-float--b{right:-4%;bottom:19%;animation-delay:-3.4s;color:var(--m-green-d)}
.m-float--b svg{width:20px;height:20px;flex:none}
.m-float--b b{font-size:1.05rem}
@keyframes floatY{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-9px)}
}

.m-flowers{
  position:absolute;
  z-index:4;
  left:-9%;
  bottom:-8%;
  width:64%;
  pointer-events:none;
  filter:drop-shadow(0 14px 16px rgba(20,60,20,.12));
}
.m-stem{
  transform-origin:50% 100%;
  animation:sway var(--sway,4.6s) ease-in-out infinite alternate;
  animation-delay:var(--sway-d,0s);
}
.m-flower-head{transform-origin:0 10px;animation:headSway 5.2s ease-in-out infinite alternate}
@keyframes sway{
  from{transform:rotate(-1.6deg)}
  to{transform:rotate(2deg)}
}
@keyframes headSway{
  from{transform:rotate(-3deg)}
  to{transform:rotate(3.5deg)}
}

.m-hills{
  position:absolute;
  left:0;right:0;bottom:-2px;
  height:clamp(90px,11vw,170px);
  z-index:1;
  pointer-events:none;
}
.m-hills svg{width:100%;height:100%}

.m-scroll{
  position:absolute;
  left:50%;
  bottom:22px;
  translate:-50% 0;
  z-index:3;
  display:grid;
  place-items:center;
  width:34px;height:52px;
  border-radius:999px;
  box-shadow:inset 0 0 0 1.5px rgba(20,38,26,.22);
}
.m-scroll span{
  width:4px;height:9px;border-radius:3px;background:var(--m-green);
  animation:scrollDot 2s ease-in-out infinite;
}
@keyframes scrollDot{
  0%,100%{transform:translateY(-7px);opacity:.35}
  50%{transform:translateY(7px);opacity:1}
}

/* ============================================================
   БЕГУЩАЯ СТРОКА
   ============================================================ */
.m-ticker{
  position:relative;
  z-index:3;
  overflow:hidden;
  padding:15px 0;
  margin:-6px 0 0;
  background:linear-gradient(90deg,#e9ffd2,#e2f7ff 42%,#fff6d9 74%,#ffe9e3);
  border-top:1px solid rgba(20,38,26,.07);
  border-bottom:1px solid rgba(20,38,26,.07);
  transform:rotate(-1.4deg) scale(1.03);
}
.m-ticker__track{
  display:flex;
  align-items:center;
  gap:clamp(18px,2.4vw,34px);
  width:max-content;
  animation:marquee 32s linear infinite;
}
.m-ticker span{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:.95rem;
  letter-spacing:.02em;
  color:#2c4a1d;
  white-space:nowrap;
}
.m-ticker i{font-style:normal;color:var(--m-green);font-size:1.05rem}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ============================================================
   СЕКЦИИ
   ============================================================ */
.m-sec{
  position:relative;
  z-index:2;
  padding-block:clamp(64px,8vw,124px);
}
.m-head{max-width:820px}
.m-head--row{
  max-width:none;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:clamp(20px,4vw,64px);
  align-items:end;
}
.m-kicker{
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--m-green-d);
}
.m-kicker--light{color:rgba(255,255,255,.82)}
.m-h2{
  margin-top:14px;
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:clamp(2.05rem,4.1vw,3.5rem);
  line-height:1.02;
  letter-spacing:-.032em;
  color:var(--m-ink);
  text-wrap:balance;
}
.m-h2--light{color:#fff}
.m-head__lead{margin-top:18px}
.m-head--row .m-lead{margin-top:0;max-width:40ch;justify-self:end;padding-bottom:6px}

/* ============================================================
   БЕНТО
   ============================================================ */
.m-bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:minmax(158px,auto);
  gap:clamp(12px,1.4vw,18px);
  margin-top:clamp(30px,4vw,54px);
}
.m-card{
  position:relative;
  border-radius:26px;
  background:rgba(255,255,255,.78);
  box-shadow:0 1px 0 #fff inset, 0 0 0 1px rgba(20,38,26,.07), var(--m-shadow);
  backdrop-filter:blur(10px);
  padding:26px;
  overflow:hidden;
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));
  transform-style:preserve-3d;
  transition:transform .35s var(--m-ease), box-shadow .35s var(--m-ease);
}
.m-card:hover{box-shadow:0 1px 0 #fff inset, 0 0 0 1px rgba(20,38,26,.1), var(--m-shadow-lg)}
.m-card h3{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:1.18rem;
  letter-spacing:-.015em;
  line-height:1.2;
  color:var(--m-ink);
}
.m-card p{margin-top:9px;font-size:.93rem;line-height:1.55;color:var(--m-muted);max-width:34ch}
.m-card--photo{
  grid-column:1 / 7;
  grid-row:1 / 3;
  padding:0;
  min-height:340px;
}
.m-card--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m-card--photo::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,30,10,0) 34%,rgba(10,30,10,.72) 100%);
}
.m-card__caption{
  position:absolute;
  z-index:2;
  left:0;right:0;bottom:0;
  padding:26px;
  color:#fff;
}
.m-card__tag{
  display:inline-block;
  margin-bottom:10px;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.2);
  backdrop-filter:blur(8px);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.m-card__caption h3{color:#fff;font-size:1.5rem}
.m-card__caption p{color:rgba(255,255,255,.86);max-width:36ch}

.m-card--stat{grid-column:7 / 13;grid-row:1 / 2;display:flex;flex-direction:column;justify-content:center}
.m-card__num{
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:clamp(3rem,4.4vw,4.2rem);
  line-height:.95;
  letter-spacing:-.04em;
  background:linear-gradient(120deg,#3f9a00,#0a92c9);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.m-card--stat p{margin-top:12px;max-width:42ch}
.m-card__spark{
  position:absolute;top:22px;right:26px;
  font-size:1.5rem;color:var(--m-sun);
  animation:sparkle 3.4s ease-in-out infinite;
}
@keyframes sparkle{
  0%,100%{transform:scale(.8) rotate(0deg);opacity:.5}
  50%{transform:scale(1.15) rotate(20deg);opacity:1}
}

.m-card--icon h3{margin-top:16px}
.m-bento .m-card--icon:nth-of-type(3){grid-column:7 / 10;grid-row:2 / 3}
.m-bento .m-card--icon:nth-of-type(4){grid-column:10 / 13;grid-row:2 / 3}
.m-ico{
  display:grid;place-items:center;
  width:48px;height:48px;
  border-radius:16px;
}
.m-ico svg{width:26px;height:26px}
.m-ico--green{background:#e6ffcc;color:#3f9a00}
.m-ico--sky{background:#ddf2ff;color:#0b86bd}
.m-ico--sun{background:#fff3cc;color:#c88a00}

.m-card--grad{
  grid-column:1 / 6;
  grid-row:3 / 4;
  color:#fff;
  background:linear-gradient(128deg,#58cc02 0%,#1aa35e 52%,#0b9fd6 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 20px 40px -18px rgba(24,120,60,.6);
  display:flex;flex-direction:column;justify-content:flex-end;
}
.m-card--grad b{
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:clamp(2rem,3.2vw,2.9rem);
  line-height:1;
  letter-spacing:-.035em;
}
.m-card--grad p{color:rgba(255,255,255,.9);max-width:30ch}
.m-card__sun{
  position:absolute;
  top:-40px;right:-30px;
  width:150px;height:150px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 40%,rgba(255,240,170,.95),rgba(255,214,90,.35) 60%,transparent 70%);
  filter:blur(2px);
}
.m-bento .m-card--icon:nth-of-type(6){grid-column:6 / 13;grid-row:3 / 4}
/* карточка «площадка» — широкая, с иконкой слева */
.m-bento .m-card--icon:last-child{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:18px;
  align-content:center;
}
.m-bento .m-card--icon:last-child .m-ico{grid-row:1 / 3;align-self:center;width:56px;height:56px;border-radius:18px}
.m-bento .m-card--icon:last-child h3{margin-top:0}

/* ============================================================
   ДЕНЬ
   ============================================================ */
.m-sec--day{overflow:hidden}
.m-day{position:relative;margin-top:clamp(34px,4.5vw,60px)}
.m-day__rail{
  position:absolute;
  left:8px;right:calc(100% / 7 - 8px);top:7px;
  height:3px;
  border-radius:3px;
  background:linear-gradient(90deg,#ffc93c,#8fdc4a 30%,#58cc02 55%,#12b886 80%,#1cb0f6);
  opacity:.9;
}
.m-day__glow{
  position:absolute;
  top:-9px;left:calc(var(--day-p,0) * 100%);
  width:60px;height:20px;
  translate:-50% 0;
  border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,201,60,.85),transparent);
  filter:blur(6px);
  transition:left .6s var(--m-ease);
}
.m-day__list{
  position:relative;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:clamp(10px,1.5vw,22px);
}
.m-stop{
  position:relative;
  padding-top:34px;
}
.m-stop__dot{
  position:absolute;
  top:0;left:0;
  width:17px;height:17px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 4px var(--m-green), 0 0 0 4px rgba(88,204,2,.14);
  transition:transform .3s var(--m-spring);
}
.m-stop:hover .m-stop__dot{transform:scale(1.18)}
.m-stop b{
  display:block;
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:1.42rem;
  letter-spacing:-.02em;
  line-height:1;
  color:var(--m-ink);
}
.m-stop p{margin-top:8px;font-size:.86rem;line-height:1.45;color:var(--m-muted);max-width:20ch}
.m-stop:nth-child(2n) .m-stop__dot{box-shadow:inset 0 0 0 4px #12b886,0 0 0 4px rgba(18,184,134,.14)}
.m-stop:nth-child(3n) .m-stop__dot{box-shadow:inset 0 0 0 4px #1cb0f6,0 0 0 4px rgba(28,176,246,.14)}

/* галерея */
.m-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(12px,1.6vw,20px);
  margin-top:clamp(34px,4.5vw,58px);
}
.m-shot{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  aspect-ratio:4/3;
  box-shadow:0 0 0 1px rgba(20,38,26,.07), var(--m-shadow);
  background:#e8f4dc;
}
.m-shot img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--m-ease)}
.m-shot:hover img{transform:scale(1.05)}
.m-shot figcaption{
  position:absolute;
  left:14px;bottom:14px;
  padding:7px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(10px);
  font-size:12px;
  font-weight:650;
  color:var(--m-ink);
  box-shadow:0 6px 16px -10px rgba(20,38,26,.6);
}

/* ============================================================
   ЦЕНЫ
   ============================================================ */
.m-plans{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.8vw,22px);
  margin-top:clamp(30px,4vw,54px);
  align-items:stretch;
}
.m-plan{
  position:relative;
  display:flex;
  flex-direction:column;
  padding:clamp(22px,2.6vw,30px);
  border-radius:26px;
  background:rgba(255,255,255,.8);
  box-shadow:0 1px 0 #fff inset, 0 0 0 1px rgba(20,38,26,.08), var(--m-shadow);
  backdrop-filter:blur(10px);
  transition:transform .35s var(--m-ease), box-shadow .35s var(--m-ease);
}
.m-plan:hover{transform:translateY(-5px);box-shadow:0 1px 0 #fff inset, 0 0 0 1px rgba(20,38,26,.1), var(--m-shadow-lg)}
.m-plan header h3{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:1.3rem;
  letter-spacing:-.02em;
}
.m-plan header p{margin-top:5px;font-size:.85rem;color:var(--m-muted)}
.m-price{display:flex;align-items:baseline;gap:8px;margin-top:20px}
.m-price b{
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:clamp(2.3rem,3.4vw,2.9rem);
  line-height:1;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}
.m-price span{font-size:.82rem;color:var(--m-muted)}
.m-plan ul{margin-top:18px;display:grid;gap:9px}
.m-plan li{
  position:relative;
  padding-left:26px;
  font-size:.9rem;
  line-height:1.45;
  color:var(--m-ink-2);
}
.m-plan li::before{
  content:"";
  position:absolute;left:0;top:2px;
  width:17px;height:17px;
  border-radius:50%;
  background:#e6ffcc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%233f9a00' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat;
}
.m-plan .m-btn{margin-top:auto}
.m-plan > .m-btn{margin-top:24px}
.m-plan--hero{
  border:2px solid transparent;
  background:
    linear-gradient(150deg,#ffffff,#f5ffe9 58%,#e9fbff) padding-box,
    linear-gradient(140deg,#58cc02,#12b886 42%,#1cb0f6 74%,#ffc93c) border-box;
  box-shadow:var(--m-shadow-lg);
}
.m-plan--hero:hover{transform:translateY(-7px)}
.m-plan__flag{
  position:absolute;
  top:-13px;left:50%;
  translate:-50% 0;
  padding:6px 14px;
  border-radius:999px;
  background:linear-gradient(120deg,#4fbb00,#12b886);
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 8px 18px -10px rgba(63,154,0,.9);
}

.m-perks{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.8vw,22px);
  margin-top:clamp(24px,3vw,38px);
  padding-top:clamp(22px,3vw,34px);
  border-top:1px solid var(--m-line);
}
.m-perks b{
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:1.2rem;
  letter-spacing:-.02em;
}
.m-perks p{margin-top:6px;font-size:.86rem;color:var(--m-muted)}

/* ============================================================
   КОМАНДА
   ============================================================ */
.m-team{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.8vw,22px);
  margin-top:clamp(30px,4vw,52px);
}
.m-person{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:22px;
  border-radius:24px;
  background:rgba(255,255,255,.74);
  box-shadow:0 1px 0 #fff inset, 0 0 0 1px rgba(20,38,26,.07), var(--m-shadow);
  transition:transform .35s var(--m-ease), box-shadow .35s var(--m-ease);
}
.m-person:hover{transform:translateY(-4px);box-shadow:0 1px 0 #fff inset,0 0 0 1px rgba(20,38,26,.09),var(--m-shadow-lg)}
.m-ava{
  display:grid;place-items:center;
  width:62px;height:62px;
  flex:none;
  border-radius:50%;
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:1.1rem;
  color:#fff;
  letter-spacing:.02em;
  box-shadow:0 8px 18px -10px rgba(20,60,30,.7), inset 0 1px 0 rgba(255,255,255,.4);
}
.m-ava--1{background:linear-gradient(140deg,#8fdc4a,#3f9a00)}
.m-ava--2{background:linear-gradient(140deg,#6fd0ff,#0b86bd)}
.m-ava--3{background:linear-gradient(140deg,#ffd166,#f08a00)}
.m-person h3{font-family:'Nunito',sans-serif;font-weight:800;font-size:1.02rem;letter-spacing:-.01em;line-height:1.25}
.m-role{margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--m-green-d)}
.m-person p:last-child{margin-top:8px;font-size:.86rem;line-height:1.45;color:var(--m-muted)}

.m-quotes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.8vw,22px);
  margin-top:clamp(14px,1.8vw,22px);
}
.m-quote{
  padding:24px;
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,255,.88),rgba(240,255,224,.7));
  box-shadow:0 0 0 1px rgba(20,38,26,.07), var(--m-shadow);
}
.m-stars{font-size:.9rem;letter-spacing:.18em;color:#f0a500}
.m-quote p{margin-top:12px;font-size:.93rem;line-height:1.55;color:var(--m-ink-2)}
.m-quote cite{display:block;margin-top:14px;font-style:normal;font-size:.8rem;color:var(--m-muted)}

/* ============================================================
   ЗАПИСЬ
   ============================================================ */
.m-book{padding-top:clamp(20px,3vw,40px)}
.m-book__panel{
  position:relative;
  overflow:hidden;
  border-radius:clamp(28px,3.4vw,44px);
  padding:clamp(28px,4.6vw,64px);
  background:
    radial-gradient(60% 80% at 88% 10%,rgba(255,214,90,.35),transparent 60%),
    radial-gradient(50% 70% at 6% 90%,rgba(88,204,2,.22),transparent 60%),
    linear-gradient(135deg,#f2ffdd 0%,#e4f8ff 46%,#fff4da 100%);
  box-shadow:0 0 0 1px rgba(20,38,26,.07), 0 40px 80px -40px rgba(24,80,40,.4);
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:clamp(26px,4vw,56px);
  align-items:center;
}
.m-book__sun{
  position:absolute;
  top:-90px;right:-60px;
  width:280px;height:280px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 42%,rgba(255,246,190,.95),rgba(255,206,70,.5) 52%,transparent 68%);
  filter:blur(6px);
  pointer-events:none;
}
.m-book__flower{
  position:absolute;
  font-family:'Segoe UI Symbol','Noto Sans Symbols 2',sans-serif;
  color:rgba(255,255,255,.9);
  pointer-events:none;
  animation:floatY 9s ease-in-out infinite;
}
.m-book__flower--1{left:46%;top:8%;font-size:34px;color:rgba(255,155,180,.75);animation-delay:-2s}
.m-book__flower--2{left:6%;bottom:6%;font-size:26px;color:rgba(88,204,2,.45);animation-delay:-5s}
.m-book__flower--3{right:8%;bottom:12%;font-size:30px;color:rgba(255,201,60,.7);animation-delay:-7s}
.m-book__text{position:relative;z-index:2}
.m-book .m-h2{max-width:16ch}
.m-lead--light{color:rgba(20,38,26,.78);max-width:44ch}
.m-book__tel{margin-top:30px;display:flex;flex-direction:column;gap:4px}
.m-book__tel a{
  font-family:'Nunito',sans-serif;
  font-weight:900;
  font-size:clamp(1.45rem,2.4vw,1.9rem);
  letter-spacing:-.02em;
}
.m-book__tel span{font-size:.84rem;color:rgba(20,38,26,.6)}

.m-form{
  position:relative;
  z-index:2;
  padding:clamp(20px,2.4vw,28px);
  border-radius:26px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px);
  box-shadow:0 1px 0 #fff inset, 0 0 0 1px rgba(20,38,26,.07), 0 30px 60px -34px rgba(20,60,30,.55);
}
.m-field + .m-field,
.m-field-row{margin-top:14px}
.m-field label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--m-ink-2);margin-bottom:7px}
.m-field input,
.m-field select{
  width:100%;
  height:46px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(20,38,26,.14);
  background:rgba(255,255,255,.92);
  font-size:.94rem;
  transition:border-color .2s ease, box-shadow .2s ease;
  appearance:none;
}
.m-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%233d5445' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:18px;
  padding-right:38px;
}
.m-field input:focus,
.m-field select:focus{
  outline:none;
  border-color:#58cc02;
  box-shadow:0 0 0 4px rgba(88,204,2,.16);
}
.m-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.m-form .m-btn{margin-top:18px}
.m-form__legal{margin-top:12px;font-size:11.5px;line-height:1.45;color:var(--m-muted);text-align:center}
.m-form__legal a{text-decoration:underline;text-underline-offset:2px}
.m-form__err,
.m-form__ok{margin-top:10px;font-size:.82rem;line-height:1.4;text-align:center}
.m-form__err{color:#c0392b}
.m-form__ok{color:#2c7a00}

/* ============================================================
   FAQ
   ============================================================ */
.m-faq__in{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(26px,5vw,80px);
  align-items:start;
}
.m-faq__aside .m-btn{margin-top:24px}
.m-faq{display:grid;gap:0}
.m-faq details{border-bottom:1px solid var(--m-line)}
.m-faq details:first-child{border-top:1px solid var(--m-line)}
.m-faq summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:21px 0;
  cursor:pointer;
  list-style:none;
  font-weight:650;
  font-size:1.02rem;
  transition:color .18s ease;
}
.m-faq summary::-webkit-details-marker{display:none}
.m-faq summary::after{
  content:"+";
  flex:none;
  display:grid;place-items:center;
  width:30px;height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.8);
  box-shadow:0 0 0 1px rgba(20,38,26,.1);
  font-weight:400;
  font-size:1.25rem;
  color:var(--m-green-d);
  transition:transform .3s var(--m-spring), background-color .2s;
}
.m-faq details[open] summary{color:var(--m-green-d)}
.m-faq details[open] summary::after{transform:rotate(45deg);background:#e6ffcc}
.m-faq details p{padding:0 0 22px;max-width:62ch;color:var(--m-muted);font-size:.93rem;line-height:1.6}
.m-faq details p a{text-decoration:underline;text-underline-offset:2px;color:var(--m-green-d)}

/* ============================================================
   ПОДВАЛ
   ============================================================ */
.m-ftr{
  position:relative;
  z-index:2;
  padding:clamp(48px,6vw,84px) 0 40px;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(236,250,224,.75));
  border-top:1px solid rgba(20,38,26,.08);
}
.m-ftr__top{
  display:grid;
  grid-template-columns:1.3fr .85fr .85fr;
  gap:clamp(24px,4vw,64px);
}
.m-ftr__brand p{margin-top:16px;font-size:.9rem;line-height:1.55;color:var(--m-muted)}
.m-logo--ftr .m-logo__badge{width:40px;height:40px;border-radius:13px}
.m-logo--ftr .m-logo__badge svg{width:25px;height:25px}
.m-ftr__col h4{
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--m-muted);
}
.m-ftr__col a,
.m-ftr__col p{display:block;margin-top:12px;font-size:.93rem;color:var(--m-ink-2)}
.m-ftr__col a:hover{color:var(--m-green-d)}
.m-ftr__legal{
  margin-top:clamp(34px,4vw,56px);
  padding-top:24px;
  border-top:1px solid var(--m-line);
  font-size:.75rem;
  line-height:1.55;
  color:var(--m-muted);
}
.m-ftr__legal a{text-decoration:underline;text-underline-offset:2px}

/* ============================================================
   ПОЯВЛЕНИЕ ПРИ СКРОЛЛЕ
   ============================================================ */
.view--meadow [data-reveal]{
  opacity:0;
  translate:0 26px;
  filter:blur(6px);
  transition:opacity .85s var(--m-ease) var(--d,0s),
             translate .85s var(--m-ease) var(--d,0s),
             filter .85s var(--m-ease) var(--d,0s);
}
.view--meadow [data-reveal].is-in{opacity:1;translate:0 0;filter:blur(0)}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width:1120px){
  .m-nav__links{display:none}
  .m-nav__end{margin-left:auto}
  .m-burger{display:grid}
  .m-bento{grid-auto-rows:minmax(150px,auto)}
  .m-card--icon{padding:22px}
}

@media (max-width:960px){
  .m-hero{min-height:0;padding-bottom:64px}
  .m-hero__in{grid-template-columns:1fr;gap:40px}
  .m-hero__copy{order:1}
  .m-hero__scene{order:2;justify-content:center}
  .m-scene{width:min(100%,470px);margin-inline:auto}
  .m-sun{top:-120px;right:-120px;width:380px}
  .m-cloud--1{top:6%}
  .m-cloud--2{display:none}
  .m-head--row{grid-template-columns:1fr;align-items:start}
  .m-head--row .m-lead{justify-self:start;max-width:52ch;margin-top:16px}
  .m-plans{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .m-plan--hero{order:-1}
  .m-team{grid-template-columns:1fr 1fr}
  .m-quotes{grid-template-columns:1fr 1fr}
  .m-quotes .m-quote:last-child{grid-column:1 / -1}
  .m-book__panel{grid-template-columns:1fr}
  .m-faq__in{grid-template-columns:1fr}
  .m-bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(150px,auto)}
  .m-card--photo{grid-column:1 / -1;grid-row:auto;min-height:360px}
  .m-card--stat{grid-column:1 / -1;grid-row:auto;min-height:190px}
  .m-bento .m-card--icon:nth-of-type(3),
  .m-bento .m-card--icon:nth-of-type(4),
  .m-bento .m-card--icon:nth-of-type(6){grid-column:auto;grid-row:auto}
  .m-card--grad{grid-column:1 / -1;grid-row:auto}
  .m-bento .m-card--icon:last-child{grid-column:1 / -1;grid-row:auto}
}

@media (max-width:760px){
  .m-nav__end .m-nav__tel{display:none}
  .m-nav__end .m-btn{display:none}
  .m-burger{display:grid;margin-left:auto}
  .m-nav__in{height:66px}
  .m-h1{font-size:clamp(2.35rem,10.4vw,3.4rem)}
  .m-hero__actions .m-btn{flex:1 1 auto}
  .m-scene{aspect-ratio:.95}
  .m-float{padding:9px 12px;border-radius:15px}
  .m-float b{font-size:1.02rem}
  .m-float span{font-size:.66rem}
  .m-float--a{left:-2%;top:10%}
  .m-float--b{right:-2%;bottom:14%}
  .m-flowers{width:72%;left:-8%;bottom:-6%}

  .m-bento{display:flex;flex-direction:column}
  .m-card--photo{min-height:320px;order:1}
  .m-card--stat{order:2}
  .m-card--grad{order:5}
  .m-bento .m-card--icon:last-child{grid-template-columns:auto 1fr}
  .m-gallery{grid-template-columns:1fr 1fr}
  .m-gallery .m-shot:last-child{grid-column:1 / -1;aspect-ratio:16/9}
  .m-perks{grid-template-columns:1fr;gap:18px}
  .m-team{grid-template-columns:1fr}
  .m-quotes{grid-template-columns:1fr}
  .m-quotes .m-quote:last-child{grid-column:auto}
  .m-field-row{grid-template-columns:1fr}
  .m-ftr__top{grid-template-columns:1fr 1fr}
  .m-ftr__brand{grid-column:1 / -1}

  .m-day__list{grid-template-columns:1fr;gap:0}
  .m-day__rail{top:0;bottom:0;left:7px;right:auto;width:3px;height:auto;background:linear-gradient(180deg,#ffc93c,#58cc02 40%,#12b886 75%,#1cb0f6)}
  .m-day__glow{display:none}
  .m-stop{padding:0 0 26px 34px}
  .m-stop__dot{top:3px;left:0}
  .m-stop p{max-width:38ch}
  .m-stop:last-child{padding-bottom:0}

  .m-hills{height:80px}
  .m-scroll{display:none}
}

@media (max-width:480px){
  .m-shell{width:calc(100% - 36px)}
  .m-chip{font-size:10.5px;letter-spacing:.03em;padding:7px 12px 7px 10px}
  .m-badges li{font-size:11.5px;padding:6px 11px}
  .m-ticker span{font-size:.85rem}
  .m-card{padding:20px;border-radius:22px}
  .m-card__caption{padding:20px}
  .m-card__caption h3{font-size:1.25rem}
  .m-plan{border-radius:22px}
  .m-book__panel{border-radius:26px;padding:22px}
  .m-form{padding:18px;border-radius:22px}
  .m-ftr__top{grid-template-columns:1fr}
}

/* уважаем «уменьшить движение» */
@media (prefers-reduced-motion:reduce){
  .view--meadow *,
  .view--meadow *::before,
  .view--meadow *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .view--meadow [data-reveal]{opacity:1;translate:none;filter:none}
  .m-bg__wash,.m-bg__blob,.m-petal{animation:none!important}
}
