@font-face{font-family:Inter;src:url(fonts/inter-cyrillic-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url(fonts/inter-latin-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;src:url(fonts/inter-cyrillic-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url(fonts/inter-latin-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;src:url(fonts/inter-cyrillic-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url(fonts/inter-cyrillic-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url(fonts/inter-latin-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;src:url(fonts/inter-latin-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;src:url(fonts/inter-cyrillic-800.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url(fonts/inter-latin-800.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#EBF3F6;
  --main:#3E606F;
  --beige:#C2B298;
  --white:#FFFFFF;
  --line:rgba(62,96,111,.15);
  --frame:rgba(62,96,111,.4);
  --green:#18AF1C;
  --orange:#C47A02;
}

/* 1rem = 10px на макете 1200; к 1440 плавно растёт до 11px */
html{font-size:clamp(10px,calc(5px + 100vw / 240),11px);-webkit-text-size-adjust:100%;scroll-padding-top:7rem;overflow-anchor:none}
/* браузер сам не подкручивает страницу при изменении высоты блоков (из-за этого «прыгал» экран в вопросах) — положение держит скрипт вопросов */
body{overflow-anchor:none}
*,*::before,*::after{box-sizing:border-box}
/* −1% считается от размера шрифта каждого элемента */
*{letter-spacing:-.01em}
body{margin:0;background:var(--bg);color:var(--main);font-family:Inter,Arial,sans-serif;font-size:1.6rem;line-height:1.3;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
body.no-scroll{overflow:hidden}
h1,h2,h3,p,ul{margin:0;padding:0}
ul{list-style:none}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
svg{display:block}
.nw{white-space:nowrap}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}

.wrap{max-width:none;padding-left:3.2rem;padding-right:3.2rem}

/* ---------- кнопки ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:1rem;height:4.9rem;padding:0 2.4rem; background:var(--main);color:var(--white);font-size:1.6rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .25s ease}
.btn:hover{background:#4C7486}
.btn:active{background:#34525F}
.btn--beige{background:var(--beige)}
.btn--beige:hover{background:#CDBFA8}
.btn--beige:active{background:#B3A285}
.btn>*{flex:none}
.btn .arr{width:1.4rem;height:1.1rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .25s ease}
.btn:hover .arr{transform:translateX(.3rem)}
.btn--sm{height:2.9rem;padding:0 1.6rem; font-size:1rem;font-weight:600}
.btn--wide{width:100%}
.btn:focus-visible,.nav a:focus-visible,.logo:focus-visible,.bcard__pic:focus-visible,.phone a:focus-visible{outline:2px solid var(--beige);outline-offset:2px}

/* ---------- шапка ---------- */
.hdr{position:sticky;top:0;z-index:50;background:var(--white)}
.hdr__in{display:flex;align-items:center;height:6.9rem;padding:0 3.2rem}
.logo{flex:none}
.logo img{height:2.9rem;width:auto}
.nav{display:flex;align-items:center;gap:2.6rem;margin:0 auto}
.nav__item{position:relative}
.nav__item>a{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:500;line-height:2.9rem;white-space:nowrap;transition:opacity .2s}
.nav__item>a:hover{opacity:.7}
.chev{width:.7rem;height:.4rem;fill:none;stroke:currentColor;stroke-width:1;transition:transform .25s}
.nav__item--dd:hover .chev{transform:rotate(180deg)}
.dd{position:absolute;left:-1.6rem;top:100%;min-width:16rem;padding:1rem 0;background:var(--white);box-shadow:0 1rem 3rem rgba(62,96,111,.12);opacity:0;visibility:hidden;transform:translateY(.6rem);transition:opacity .2s,transform .2s,visibility .2s}
.nav__item--dd:hover .dd,.nav__item--dd:focus-within .dd{opacity:1;visibility:visible;transform:none}
.dd a{display:block;padding:.7rem 1.6rem;font-size:1.1rem;font-weight:500;white-space:nowrap;transition:background-color .2s}
.dd a:hover{background:var(--bg)}
.nav__contacts{display:none}
.nav__logo{display:none}
.hdr__right .btn{font-size:1.2rem;font-weight:500;padding:0 2rem}
.hdr__right{display:flex;align-items:center;gap:1.2rem;flex:none}
.phone{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;text-align:right}
.phone a{font-size:1.2rem;font-weight:600;line-height:1.2}
.phone span{display:block;font-size:.95rem;line-height:1.2;white-space:nowrap;letter-spacing:-.02em}
.burger{display:none}

/* ---------- первый экран ---------- */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;padding-top:4.5rem}
.hero__text{display:flex;flex-direction:column}
.loc{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;line-height:1.3}
.loc svg{width:1.6rem;height:1.6rem;min-width:1.6rem;flex:none;overflow:visible}
h1{margin-top:.4rem;font-size:4rem;font-weight:800;line-height:1.1;letter-spacing:0;max-width:56rem;text-wrap:wrap}
.lead{margin-top:2.3rem;max-width:53rem;line-height:1.4}
.hero__btns{display:flex;gap:.8rem;margin-top:auto;padding-top:3.2rem}
.hero__btns .btn{width:22.8rem}
.hero__pics{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;align-self:start;align-content:start;gap:1.6rem;margin-top:2.7rem}
.hp{position:relative;overflow:hidden}
.hp img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.hp--1,.hp--2,.hp--3,.hp--4{padding-top:59.56%}
.hp--3{grid-column:2;grid-row:1}
.hp--4{grid-column:2;grid-row:2}
.hp--4 img{object-position:49% 50%}
.hp--3 img{object-position:51% 50%}
/* страница породы: первый экран */
.bh__act{margin-top:auto;padding-top:3.2rem}
.bh__act>.btn{width:22.8rem}
.bh__or{margin-top:2.4rem;font-size:1.4rem;font-weight:500}
.bh__msg{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.bh__msg .btn{height:4.4rem;padding:0 2.2rem;font-size:1.5rem}
.btn--line{background:none;color:var(--main);box-shadow:inset 0 0 0 1px rgba(62,96,111,.45)}
.btn--line:hover{background:var(--white);box-shadow:none;color:var(--main)}
.btn--line:active{background:var(--white);box-shadow:none}
.bh__pics{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-self:start;margin-top:2.7rem}
.bh__v{padding-top:125%}
.ph{background:#C9D8DE}
.ph>span:not(.badge){position:absolute;inset:0;display:grid;place-items:center;padding:1.6rem;color:var(--main);font-size:1.4rem;font-weight:500;text-align:center}
/* страница породы: свободные щенки */
.pups{padding-top:var(--first);padding-bottom:var(--sec)}
.pups__sub{margin-top:2rem;font-size:1.6rem;font-weight:500;line-height:1.4}
.pups__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin-top:3.6rem}
.pcard{display:flex;flex-direction:column}
.pcard__pic,.litter__pic{--frame:#B2BFC5}
.pcard__pic{position:relative;aspect-ratio:4/3;background:#C9D8DE;overflow:hidden}
.pcard__pic::after{content:"";position:absolute;inset:0;z-index:1;box-shadow:inset 0 0 0 1px var(--frame);pointer-events:none}
.pcard__slides>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}
.pcard__slides>.is-on,.pcard__pic.is-single .pcard__slides>*{opacity:1}
.pcard__pic.is-single .pcard__arr,.pcard__pic.is-single .pcard__cnt{display:none}
.pcard__ph{display:grid;place-items:center;background:#C9D8DE;color:var(--main);font-size:1.4rem;font-weight:500;padding:0 5.6rem;text-align:center;line-height:1.4}
.pcard__arr{position:absolute;top:50%;z-index:1;display:grid;place-items:center;width:3.6rem;height:3.6rem;margin-top:-1.8rem;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--main);cursor:pointer;transition:background-color .2s}
.pcard__arr:hover{background:var(--white)}
.pcard__arr svg{width:1.4rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.4}
.pcard__arr--prev{left:1.2rem}
.pcard__arr--next{right:1.2rem}
.pcard__cnt{position:absolute;left:0;bottom:0;z-index:2;display:flex;align-items:center;height:2.7rem;padding:0 1rem;background:var(--white);border-left:1px solid var(--frame);border-bottom:1px solid var(--frame);font-size:1.2rem;font-weight:500}
.pcard h3{margin-top:2rem;font-size:2rem}
.pcard__specs{margin:1.6rem 0 0;font-size:1.4rem;line-height:1.45}
.pcard__specs div{display:flex;justify-content:space-between;gap:1.6rem;padding:.8rem 0;border-top:1px solid var(--line)}
.pcard__specs dt{color:rgba(62,96,111,.75);font-weight:500}
.pcard__specs dd{margin:0;font-weight:600;text-align:right}
.pcard__char{padding-top:1.2rem;border-top:1px solid var(--line);font-size:1.4rem;font-weight:500;line-height:1.45}
.pcard__price{margin-top:auto;padding-top:2rem;font-size:2.8rem;font-weight:800;line-height:1.1;letter-spacing:0}
.pcard__ask{margin-top:2rem;font-size:1.4rem;font-weight:500}
.pcard__msg{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.2rem}
.pcard__msg .btn{height:4.4rem;padding:0 1.2rem;font-size:1.5rem}
/* страница породы: планируемые помёты */
/* «Ждём малышей» стоит вплотную к «Свободным щенкам» с тем же отступом, что и бронирование под ним */
.plans{padding-top:calc(var(--first) - var(--sec));padding-bottom:var(--sec)}
.plans__litters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;margin-top:3.6rem}
.litter{display:flex;flex-direction:column}
.litter__pic{position:relative;aspect-ratio:16/9}
.litter__pic::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--frame);pointer-events:none}
.litter h3{margin-top:2rem;font-size:2rem}
.litter__msg,.plans__msg{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.litter__msg .btn,.plans__msg .btn{flex:1 1 0;height:4.4rem;padding:0 1.2rem;font-size:1.5rem}
/* отступ до бронирования = --first и после «Свободных щенков», и после «Ждём малышей» */
.booking{padding-top:calc(var(--first) - var(--sec));padding-bottom:var(--sec)}
.bk{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.6rem;align-items:start}
.bk__side{grid-column:1 / span 4;position:sticky;top:10rem}
.plans__h3 .ln{display:block}
.plans__h3{margin:0;font-size:2.8rem;font-weight:800;line-height:1.2;letter-spacing:0}
.bk__cta{margin-top:2rem;font-size:1.5rem;font-weight:500;line-height:1.45}
.bk__side .plans__msg{display:grid;grid-template-columns:1fr 1fr;margin-top:2.4rem}
.bk__list{grid-column:5 / span 8;border-top:1px solid var(--line)}
.bk__row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1.6rem;padding:3.2rem 0;border-bottom:1px solid var(--line)}
.bk__n{grid-column:1;display:grid;place-items:center;width:4.4rem;height:4.4rem;border-radius:50%;background:var(--main);color:var(--white);font-size:1.8rem;font-weight:700;line-height:1;letter-spacing:0}
.bk__n i{position:relative;font-style:normal}
.bk__body{grid-column:2 / span 7;padding-top:.8rem;font-size:1.4rem;font-weight:500;line-height:1.45}
.bk__body h4{margin:0;font-size:2rem;font-weight:700;line-height:1.3}
.bk__body p{margin-top:1.2rem}
.dots{margin-top:1.2rem;list-style:none}
.dots li{position:relative;padding-left:1.1em}
.dots li+li{margin-top:1rem}
/* страница породы: как растут щенки */
.grow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.6rem;align-items:start;padding-top:var(--sec);padding-bottom:var(--sec)}
.grow__pic{grid-column:1 / span 5;position:relative;aspect-ratio:5/3;--frame:#B2BFC5}
/* видео «Щенки дома»: шириной 3 колонки, высота как у оригинала; под ним плашка, как у видео в блоке соцсетей (только уходит влево) */
.grow{position:relative;z-index:0}
/* у видео без обводки */
.grow__pic:has(.gif)::after{content:none}
.grow__pic:has(.gif)::before{content:"";position:absolute;top:4.8rem;bottom:4.8rem;right:-1.6rem;left:calc(-3.2rem - 50vw);z-index:-1;background:#D3E1E7}
.grow__pic:has(.gif){grid-column:1 / span 3;aspect-ratio:720/894}
.grow__pic::after{content:"";position:absolute;inset:0;z-index:1;box-shadow:inset 0 0 0 1px var(--frame);pointer-events:none}
.grow__main{grid-column:7 / span 6}
.grow__main .grow__lead{margin-top:2rem}
.grow__more{grid-column:1 / -1;margin-top:2.4rem}
.grow__lead,.grow__intro{margin-top:2rem;font-size:1.6rem;font-weight:500;line-height:1.45}
.grow h3{margin-top:0;font-size:2.4rem;font-weight:800;letter-spacing:0}
.grow__intro{margin-top:1.2rem}
.grow__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.6rem;margin-top:2.4rem}
.grow__it{display:grid;grid-template-columns:4.4rem minmax(0,1fr);gap:1.8rem;align-items:start;padding:2rem 0;border-top:1px solid var(--line);font-size:1.4rem;font-weight:500;line-height:1.45}
.grow__ic{width:4.4rem;height:4.4rem}
.grow__ic circle{fill:var(--main)}
.grow__ic g{fill:none;stroke:var(--white);stroke-width:1.44;stroke-linecap:round;stroke-linejoin:round}
.grow__it h4{margin:.9rem 0 0;font-size:1.8rem;font-weight:700;line-height:1.3}
.grow__it p{margin-top:.8rem;max-width:56rem}
/* страница породы: как щенок попадает домой */
.way{padding-top:var(--sec);padding-bottom:var(--sec)}
.way__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;align-items:start;margin-top:3.6rem;container-type:inline-size}
.way__grid--2{margin-top:1.6rem}
.way__t,.way__ph{position:relative;aspect-ratio:1/1}
/* на компьютере плитки ниже квадрата: на 20px, от 1440 на 40px */
.way{--cut:20px}
@media (min-width:1440px){.way{--cut:40px}}
@media (min-width:960px){.way__t,.way__ph{aspect-ratio:auto;min-height:calc((100cqw - 4.8rem) / 4 - var(--cut))}}
.way__t{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:2.6rem;box-shadow:inset 0 0 0 1px #B2BFC5}
.way__ph::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #B2BFC5;pointer-events:none}
.way__txt h4{margin:0;font-size:1.8rem;font-weight:700;line-height:1.3}
.way__txt p{margin-top:1.2rem;font-size:1.4rem;font-weight:500;line-height:1.45}
/* анимация при прокрутке (только компьютер): блок липкий, плитки сдвигаются скриптом */
.way.is-anim .way__stick{position:sticky}
.way.is-anim .way__grid>*{will-change:transform}
/* страница породы: мамы и папы */
.parents{padding-top:var(--sec);padding-bottom:var(--sec)}
.parents__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4.8rem 1.6rem;margin-top:3.6rem}
.parent{display:flex;flex-direction:column}
.parent__pic{aspect-ratio:4/5}
.parent__pic .pcard__arr{width:3.2rem;height:3.2rem;margin-top:-1.6rem}
.parent__pic .pcard__arr--prev{left:.8rem}
.parent__pic .pcard__arr--next{right:.8rem}
.parent h3{margin-top:2rem;font-size:2rem}
.parent .pcard__specs{font-size:1.3rem}
.parent .pcard__specs dd{max-width:65%}
/* страница породы: забота после покупки (как «Как растут щенки», без фото) */
.care__head{grid-column:1 / span 5}
.care .grow__main .grow__lead{margin-top:0}
.care .grow__main .grow__lead+.grow__lead{margin-top:1.6rem}
.care .grow__more{margin-top:3.2rem}
/* страница породы: честно о породе */
.fit{padding-top:var(--sec);padding-bottom:var(--sec)}
.fit h2{text-align:center}
.fit__lead{max-width:64rem;margin:2rem auto 0;font-size:1.6rem;font-weight:500;line-height:1.45;text-align:center}
.guar__sum{max-width:76rem;margin:4.8rem auto 0;padding-top:3.2rem;border-top:1px solid var(--line);font-size:1.8rem;font-weight:500;line-height:1.45;text-align:center}
.fit__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;margin-top:3.6rem}
.fit__pic{position:relative;aspect-ratio:16/10;--frame:#B2BFC5}
#about-breed .fit__pic,#guarantees .fit__pic{aspect-ratio:5/4}
.fit__pic::after{content:"";position:absolute;inset:0;z-index:1;box-shadow:inset 0 0 0 1px var(--frame);pointer-events:none}
.fit h3{margin-top:2.4rem;font-size:2rem}
.fit .dots{margin-top:1.6rem;font-size:1.4rem;font-weight:500;line-height:1.45}
.fit .dots li+li{margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.fit .dots li+li::before{top:calc(1.6rem + (1lh - .45em) / 2)}
.dots li::before{content:"";position:absolute;left:0;top:.5em;top:calc((1lh - .45em) / 2);width:.45em;height:.45em;border-radius:50%;background:var(--beige)}

/* ---------- преимущества ---------- */
.adv{display:flex;align-items:center;margin-top:3.3rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:11rem;padding:1.6rem 0}
.adv li{display:flex;align-items:center;gap:1.8rem;flex:0 0 20%;min-width:0;padding:0 1.6rem;font-size:1.2rem;line-height:1.3}
.adv li+li{border-left:1px solid var(--line);min-height:5rem}
.adv li:first-child{padding-left:0}
.adv li:last-child{padding-right:0}
.adv li span:last-child{min-width:0}
.adv__ic{display:block;flex:none;width:4.2rem;height:4.2rem}
.adv__ic img{width:100%;height:100%}

/* ---------- блок 2: породы ---------- */
/* отступ между блоками = отступ между блоками 1 и 2 (--sec); между цветными блоками он с каждой стороны */
/* --first: отступ блок 1 → блок 2; --sec: половина отступа между остальными блоками (124px на 1200) */
:root{--first:8.3rem;--sec:7rem}
.breeds{padding-top:var(--first);padding-bottom:var(--sec)}
.breeds__head{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
h2{font-size:4rem;font-weight:800;line-height:1.1;letter-spacing:0}
.breeds__intro{padding-top:.5rem;line-height:1.4}
.breeds__intro p+p{margin-top:2rem}

.breeds__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:3.6rem}
.bcard{display:flex;flex-direction:column}
.bcard__pic{position:relative;display:block;height:0;padding-top:57.143%;overflow:hidden}
.bcard__pic img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bcard__pic--top img{object-position:50% 0}
.bcard__pic:hover img{transform:scale(1.03)}
.bcard__pic::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--frame);pointer-events:none}
.badge{position:absolute;right:0;bottom:0;z-index:1;display:flex;align-items:center;gap:.6rem;height:2.7rem;padding:0 1rem;background:var(--white);border-right:1px solid var(--frame);border-bottom:1px solid var(--frame);font-size:1.2rem;font-weight:500;line-height:1.3;white-space:nowrap}
.dot{width:.5rem;height:.5rem;border-radius:50%;flex:none}
.dot--green{background:var(--green)}
.dot--orange{background:var(--orange)}
.dot--beige{background:var(--beige)}
/* плашка «Имя, город · кличка» на видео и фото отзывов — в левом верхнем углу */
.rv__badge{right:auto;bottom:auto;left:0;top:0;border:0;color:var(--main)}
h3{margin-top:2.4rem;font-size:2.4rem;font-weight:700;line-height:1.3}
.bcard__txt{--gap:1.6rem;margin-top:1.6rem;font-size:1.4rem;line-height:1.45}
/* разделительные линии во всю ширину карточки, текст при этом не шире 51rem */
.bcard__txt p,.warn{padding-right:max(0px,calc(100% - 51rem))}
.bcard__txt p+p{margin-top:var(--gap);padding-top:var(--gap);border-top:1px solid var(--line)}
.lead,.breeds__intro,.bcard__txt{font-weight:500}
.warn{--gap:1.6rem;display:flex;align-items:center;gap:1rem;margin-top:var(--gap);padding-top:var(--gap);border-top:1px solid var(--line);margin-bottom:3.6rem;font-size:1.4rem;font-weight:700;line-height:1.45}
.warn svg{width:2.4rem;height:2.4rem;min-width:2.4rem;flex:none;overflow:visible}
.bcard .btn{margin-top:auto}

/* ---------- блок 3: о питомнике (тёмная подложка, фото слева) ---------- */
.about{background:var(--bg);color:var(--main);padding:var(--sec) 0;overflow:hidden}
.about__in{display:grid;grid-template-columns:43rem 1fr;gap:4.8rem;align-items:center}
.about__pic{position:relative;aspect-ratio:4/5}
/* светлая подложка от левого края экрана за фото, как на референсе */
.about__pic::before{content:"";position:absolute;top:4.8rem;bottom:4.8rem;right:-1.6rem;left:calc(-3.2rem - 50vw);background:#D3E1E7}
.about__img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.ph-stub{position:absolute;inset:0;display:grid;place-items:center;padding:2.4rem;background:#C9D8DE;color:var(--main);font-size:1.4rem;font-weight:500;text-align:center}
.about__text{display:flex;flex-direction:column;justify-content:center;padding:0}
.about h2{margin-top:0;text-wrap:wrap}
.about__txt{margin-top:2.4rem;font-size:1.6rem;font-weight:500;line-height:1.4}
.about__txt p+p{margin-top:1.6rem}
/* по бокам ~в 1,75 раза больше, чем от надписи до верха/низа кнопки */
.about .btn{align-self:flex-start;width:auto;padding:0 2.9rem;margin-top:3.2rem}

/* ---------- блок 4: почему выбирают нас (белый фон, светло-голубая плашка со списком) ---------- */
.why{background:var(--bg);color:var(--main);padding:var(--sec) 0}
.why__head{text-align:center}
/* тонкая линия на всю ширину сетки под заголовком, как на референсе */
.why__line{display:block;width:100%;height:1px;margin-top:5.6rem;background:rgba(62,96,111,.2)}
.why__list{display:grid;grid-template-columns:repeat(3,1fr);gap:5.6rem 1.6rem;margin-top:4.8rem}
.why__item{--ic:4.4rem}
.why__ic{display:block;width:var(--ic);height:var(--ic)}
.why__ic img{display:block;width:100%;height:100%}
.why__t{margin:2rem 0 0;font-size:2rem;font-weight:700;line-height:1.3}
.why__item p{margin-top:.8rem;max-width:36rem;font-size:1.4rem;font-weight:500;line-height:1.45}

/* ---------- блок 5: выставки (заголовок вровень с верхом большого фото, фото меняются по кругу) ---------- */
.shows{position:relative;background:var(--bg);padding:var(--sec) 0;overflow:hidden}
.shows__in{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.shows__text{display:flex;flex-direction:column}
.shows__lead{margin-top:2.4rem;max-width:53rem;font-size:1.6rem;font-weight:500;line-height:1.4}
.shows__thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:auto;padding-top:4rem;overflow:hidden}
.shows__thumbs .shows__slot{aspect-ratio:176/196}
.shows__big{aspect-ratio:560/620}
.shows__slot{position:relative}
.shows__ph{position:absolute;inset:0;display:grid;place-items:center;padding:1.2rem;background:var(--ph,#C9D8DE);color:var(--main);font-size:1.3rem;font-weight:500;line-height:1.3;text-align:center;will-change:transform}
.shows__big .shows__ph{font-size:1.6rem}
.shows__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- блок 6: отзывы (синий фон, вертикальные видео 4:5, play справа снизу) ---------- */
.rv{background:var(--bg);color:var(--main);padding:var(--sec) 0}
.rv h2{text-align:center}
.rv__list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin:4.8rem 0 0;padding:0}
.rv__item{margin:0}
.rv__video{position:relative;aspect-ratio:4/5;overflow:hidden;background:#C9D8DE;display:grid;place-items:center}
.rv__stub{color:var(--main);font-size:1.4rem;font-weight:500}
.rv__play{position:absolute;right:1.6rem;bottom:1.6rem;display:grid;place-items:center;width:5.6rem;height:5.6rem;padding:0;border:0;border-radius:50%;background:var(--white);box-shadow:0 .4rem 1.6rem rgba(62,96,111,.18);cursor:pointer;transition:transform .25s ease}
.rv__play:hover{transform:scale(1.06)}
.rv__play:focus-visible{outline:2px solid var(--beige);outline-offset:3px}
.rv__play svg{width:2.8rem;height:2.8rem;transform:translateX(2px);fill:var(--main)}
.rv__item figcaption{margin-top:1.6rem;font-size:1.6rem;font-weight:600;line-height:1.4;text-align:center;text-wrap:balance}

/* текстовые отзывы под видео: лента, видно по три, листается стрелками */
.rvt{margin-top:8rem}
.rvt__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3.2rem) / 3);gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none}
.rvt__track::-webkit-scrollbar{display:none}
.rvt__item{scroll-snap-align:start}
.rvt__track.is-drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.rvt__track.is-drag *{pointer-events:none}
.rvt__ph{position:relative;aspect-ratio:4/3;display:grid;place-items:center;background:#C9D8DE;color:var(--main);font-size:1.4rem;font-weight:500}
.rvt__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rvt__ph .rv__badge{z-index:2}
.rvt__text{margin-top:2.4rem;font-size:1.4rem;font-weight:500;line-height:1.45}
.rvt__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;align-items:center;margin-top:4.8rem}
/* кнопка шириной в одну колонку, ровно по центру сетки */
.rvt__all{grid-column:2;width:100%;padding:0 2.4rem}
.rvt__arrows{grid-column:3;justify-self:end;display:flex;gap:1.2rem}
.rvt__arrow{display:grid;place-items:center;width:4.9rem;height:4.9rem;padding:0;border:1px solid rgba(62,96,111,.4);border-radius:50%;background:none;color:var(--main);cursor:pointer;transition:background-color .25s,border-color .25s,opacity .25s}
.rvt__arrow:hover{background:rgba(62,96,111,.08);border-color:var(--main)}
.rvt__arrow:disabled{opacity:.35;cursor:default;background:none}
.rvt__arrow svg{width:1.6rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.4}
.rvt__arrow:focus-visible,.rvt__track:focus-visible{outline:2px solid var(--beige);outline-offset:3px}

/* видео в отзывах */
.rv__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:pointer}
.rv__video.is-playing .rv__play,.rv__video.is-playing .rv__badge{opacity:0;pointer-events:none}
.rv__play,.rv__badge{transition:opacity .3s ease,transform .25s ease}
.rv__badge{z-index:2}

/* ---------- блок 7: соцсети (светлый фон, видео справа на подложке, играет само) ---------- */
.soc{background:var(--bg);padding:var(--sec) 0;overflow:hidden}
.soc__in{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:center}
.soc__text{padding-right:3.2rem}
.soc__lead{margin-top:2.4rem;max-width:53rem;font-size:1.6rem;font-weight:500;line-height:1.4}
.soc__btn{margin-top:3.2rem;padding:0 2.9rem}
.soc__extra{margin-top:2rem;font-size:1.4rem;font-weight:500}
.soc__extra a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.soc__extra a:hover{text-decoration-color:var(--beige)}
.soc__media{position:relative;aspect-ratio:1080/864}
/* подложка за видео: от видео до правого края экрана, как в блоке «О питомнике», только зеркально */
.soc__media::before{content:"";position:absolute;top:4.8rem;bottom:4.8rem;left:-1.6rem;right:calc(-3.2rem - 50vw);background:#D3E1E7}
.soc__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#C9D8DE}

/* ---------- блок 8: статьи (белый фон, три карточки без плашек) ---------- */
.art{background:var(--bg);padding:var(--sec) 0}
.art__head{display:flex;align-items:flex-end;justify-content:space-between;gap:3.2rem;padding-bottom:3.2rem;border-bottom:1px solid rgba(62,96,111,.2)}
.art__head h2{max-width:76rem}
.art__all{display:inline-flex;align-items:center;gap:1rem;flex:none;font-size:1.6rem;font-weight:600;white-space:nowrap;transition:opacity .2s}
.art__all .arr{width:1.4rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .25s}
.art__all:hover .arr{transform:translateX(.3rem)}
.art__list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:4rem}
.art__item{display:block}
.art__pic{aspect-ratio:368/294;display:grid;place-items:center;background:#C9D8DE;color:var(--main);font-size:1.4rem;font-weight:500;overflow:hidden;transition:filter .3s}
.art__pic img{width:100%;height:100%;object-fit:cover}
.art__item:hover .art__pic{filter:brightness(.95)}
.art__t{margin:2.4rem 0 0;font-size:2rem;font-weight:700;line-height:1.3;transition:opacity .2s}
.art__item:hover .art__t{opacity:.8}
.art__ex{margin-top:1.2rem;font-size:1.4rem;font-weight:500;line-height:1.45}
.art__item:focus-visible,.art__all:focus-visible{outline:2px solid var(--beige);outline-offset:4px}

/* ---------- блок 9: вопрос-ответ (заголовок и фото слева, вопросы справа от самого верха) ---------- */
/* между вопросами и контактами — как между блоками 1 и 2 */
.faq{background:var(--bg);padding:var(--sec) 0 0}
.faq__in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.6rem;align-items:start}
.faq__side{grid-column:span 4}
.faq__list{grid-column:span 8}
.faq__side{position:sticky;top:12rem}
/* видео под заголовком — ровно в ширину надписи «Частые вопросы» */
.faq__side{justify-self:start;width:max-content;max-width:100%}
.faq__ph{width:0;min-width:100%;margin-top:4rem;background:#C9D8DE}
.faq__ph .gif{position:static;height:auto}
.faq__item{border-bottom:1px solid rgba(62,96,111,.2);transition:background-color .3s ease,color .3s ease}
.faq__item:first-child{border-top:1px solid rgba(62,96,111,.2)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:2.4rem;width:100%;padding:2rem 2.4rem;border:0;background:none;color:inherit;font:inherit;font-size:1.8rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;text-align:left;cursor:pointer}
.faq__q:focus-visible{outline:2px solid var(--beige);outline-offset:-2px}
/* иконка: плюс в квадрате, у открытого — крестик на бежевом */
.faq__ic{position:relative;flex:none;width:3.2rem;height:3.2rem;background:var(--white);transition:background-color .3s ease,transform .3s ease}
.faq__ic::before,.faq__ic::after{content:"";position:absolute;left:50%;top:50%;width:1.4rem;height:1.5px;background:var(--main);transform:translate(-50%,-50%)}
.faq__ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item.is-open{background:var(--main);color:var(--white);border-color:var(--main)}
.faq__item.is-open .faq__ic{background:var(--beige);transform:rotate(45deg)}
.faq__item.is-open .faq__ic::before,.faq__item.is-open .faq__ic::after{background:var(--white)}
.faq__q:hover .faq__ic{transform:scale(1.06)}
.faq__item.is-open .faq__q:hover .faq__ic{transform:rotate(45deg) scale(1.06)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__item.no-anim,.faq__item.no-anim *{transition:none!important}
.faq__a-in{overflow:hidden;padding:0 8rem 0 2.4rem;font-size:1.4rem;font-weight:500;line-height:1.45;color:rgba(255,255,255,.9)}
.faq__item.is-open .faq__a-in{padding-bottom:2.4rem}
.faq__a-in p+p{margin-top:1.2rem}

/* ---------- блок 10: контакты (белый фон, большое фото слева, текст и маленькое фото справа — как nurini/yakupova) ---------- */
.cont{background:var(--bg);padding:var(--first) 0 var(--sec)}
.cont__in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.6rem;align-items:stretch}
/* фото на 4 колонки, но до текста отступ 33px — как от кнопок до линии на первом экране */
.cont__big{position:relative;overflow:hidden;grid-column:1 / span 4;margin-right:1.7rem;min-height:58rem;display:grid;place-items:center;padding:2rem;background:#C9D8DE;color:var(--main);font-size:1.4rem;font-weight:500;text-align:center}
.cont__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.cont__main{grid-column:5 / span 8;display:flex;flex-direction:column}
.cont__main h2{max-width:64rem}
.cont__row{display:grid;grid-template-columns:4fr 3fr;gap:3.2rem;margin-top:3.2rem}
.cont__row--bottom{margin-top:auto;padding-top:4rem;align-items:end}
.cont__lead,.cont__text{font-size:1.4rem;font-weight:500;line-height:1.45}
.cont__msg{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.4rem}
.cont__msg .btn{height:4.4rem;padding:0 2.2rem;font-size:1.5rem}
.cont__phone{display:block;font-size:2.8rem;font-weight:800;line-height:1.1;letter-spacing:0;white-space:nowrap;transition:opacity .2s}
.cont__phone:hover{opacity:.75}
.cont__hours{margin-top:.8rem;font-size:1.4rem;font-weight:500}
.cont__soc{display:flex;flex-wrap:wrap;gap:.8rem 2rem;margin-top:2rem;font-size:1.4rem;font-weight:600}
.cont__soc a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.cont__soc a:hover{text-decoration-color:var(--beige)}
.cont__soc span{opacity:.6}
.cont__small{position:relative;overflow:hidden;background:#D6E2E6}
.cont__small .gif{position:static;height:auto}

/* ---------- подвал (синий фон; на компьютере страница «уезжает» вверх и открывает подвал) ---------- */
.ftr{--ft:#C3D8E1;position:relative;background:var(--main);color:var(--ft);padding:8rem 0 2.4rem;overflow:hidden}
.ftr a{transition:opacity .2s}
.ftr a:hover{opacity:.7}
.ftr__top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.6rem;align-items:start}
.ftr__brand{grid-column:1 / span 2}
/* круглый логотип: высота = высоте текста о питомнике рядом */
.ftr__logo{display:block;width:var(--logo,18.6rem)}
.ftr__about{margin-left:1.6rem}
.ftr__logo img{display:block;width:100%;height:auto}
.ftr__about{grid-column:3 / span 2;display:grid;gap:1.2rem;font-size:1.4rem;font-weight:500;line-height:1.45;color:var(--ft);opacity:.85}
.ftr__nav{grid-column:5 / span 4;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.6rem;font-size:1.6rem;font-weight:500}
.ftr__contacts{grid-column:9 / span 4;justify-self:end;text-align:right}
.ftr__phone{display:block;font-size:2.8rem;font-weight:800;line-height:1.1;letter-spacing:0;white-space:nowrap}
.ftr__hours{margin-top:.8rem;font-size:1.4rem;font-weight:500;color:var(--ft);opacity:.85}
.ftr__msg{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.8rem;margin-top:2.4rem}
.ftr__msg a{display:inline-flex;align-items:center;height:4.4rem;padding:0 2rem;border:1px solid rgba(195,216,225,.5);font-size:1.5rem;font-weight:500}
.ftr__msg a:hover{opacity:1;background:var(--ft);color:var(--main)}
.ftr__soc{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.8rem 2rem;margin-top:2rem;font-size:1.4rem;font-weight:500}
.ftr__soc a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.ftr__soc span{opacity:.6}
/* большая надпись BULL BOND во всю ширину, как в референсах */
/* верхняя часть подвала (тексты, меню, контакты) — белым */
.ftr__about,.ftr__nav,.ftr__contacts{--ft:var(--white)}
.ftr__about,.ftr__nav,.ftr__contacts,.ftr__hours{color:var(--white)}
.ftr__msg a{border-color:rgba(255,255,255,.5)}
.ftr__word{margin-top:8rem}
.ftr__word img{display:block;width:100%;height:auto;opacity:.12}
.ftr__bottom{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;align-items:center;gap:1.6rem;margin-top:3.2rem;padding-top:2.4rem;border-top:1px solid rgba(195,216,225,.25);font-size:1.3rem;font-weight:500;color:var(--ft)}
.ftr__dev{color:var(--ft)}
@media (min-width:960px) and (min-height:720px){
  main{position:relative;z-index:1;background:var(--bg);box-shadow:0 3rem 6rem rgba(20,40,50,.35)}
  .ftr{position:sticky;bottom:0;z-index:0}
}

/* видео «как гифка»: играют сами, без звука и кнопок, заполняют свою рамку */
.gif{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.about__pic .gif{z-index:1;background:#C9D8DE}
@media (min-width:1600px){.why__item{--ic:4.65rem}}
/* бронирование: колонка слева шириной ровно с вопрос, вопрос и строки заголовка не переносятся */
@media (min-width:1200px){.bk__side{width:min-content}.bk__q,.plans__h3 .ln{white-space:nowrap}}

/* ---------- адаптив ---------- */
@media (max-width:1100px){
  .about h2 .br-pc{display:none}
  .about h2{text-wrap:balance}
  .nav{gap:1.8rem}
}
@media (max-width:959px){
  html{font-size:10px}
  .hdr__in{height:6rem;padding:0 1.6rem}
  .hdr__right .btn{display:none}
  .hdr__right{margin-left:auto;margin-right:1.6rem}
  .burger{display:flex;flex-direction:column;justify-content:center;gap:.6rem;width:4rem;height:4rem;margin-right:-.8rem;padding:0 .8rem;border:0;background:none;cursor:pointer}
  .burger span{display:block;height:1.5px;background:var(--main);transition:transform .25s}
  .hdr.is-open .burger span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .hdr.is-open .burger span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .nav{position:fixed;inset:6rem 0 0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:1.6rem;background:var(--white);overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
  .hdr.is-open .nav{opacity:1;visibility:visible}
  .nav__item{border-bottom:1px solid var(--line)}
  .nav__item>a{font-size:1.8rem;line-height:5.2rem;justify-content:space-between}
  .chev{width:1.2rem;height:.7rem}
  .dd{position:static;opacity:1;visibility:inherit;transform:none;box-shadow:none;padding:0 0 1.2rem;min-width:0}
  .dd a{font-size:1.5rem;padding:.6rem 1.6rem}
  .nav__item--dd:hover .chev{transform:none}
  .nav>*{flex-shrink:0}
  .nav{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}
  .nav__contacts{display:flex;margin-top:2.4rem;height:4.9rem;font-size:1.8rem;font-weight:500;line-height:1}
  .wrap{padding-left:1.6rem;padding-right:1.6rem}
  .hero{grid-template-columns:1fr;padding-top:3.2rem}
  h1{font-size:3.2rem}
  /* у заголовка под строкой ~6px пустоты, поэтому до кнопок на эти пиксели больше: на глаз отступы равны */
  .hero__btns{padding-top:2.9rem}
  .hero__btns .btn{width:auto;flex:1;padding:0 1.6rem}
  .hero__pics{margin-top:.8rem;gap:.8rem}
  .bh__act{margin-top:0;padding-top:2.9rem}
  .bh__pics{margin-top:.8rem;gap:.8rem}
  .bh__msg .btn{flex:1 1 calc(25% - .6rem);padding:0 1.2rem}
  .adv{flex-wrap:wrap;gap:1.6rem 0;padding:2.4rem 0}
  .br-pc{display:none}
  .adv li{flex:1 1 50%;padding:0 1.6rem 0 0;border:0!important;min-height:0;font-size:1.6rem;line-height:1.4}
  .bcard__txt,.warn{font-size:1.6rem;max-width:none}
  .lead,.breeds__intro,.bcard__txt,.warn,.adv li{line-height:1.55}
  .warn{gap:1.1rem}
  .bcard__txt,.warn{--gap:2rem}
  /* до 960: бежевая точка у каждого абзаца, как у плашек: диаметр 0.45em, отступ до текста 0.65em */
  .breeds__intro p{position:relative;padding-left:1.1em}
  .breeds__intro p::before{content:"";position:absolute;left:0;top:.5em;top:calc((1lh - .45em) / 2);width:.45em;height:.45em;border-radius:50%;background:var(--beige)}
  .warn svg{width:2.6rem;height:2.6rem;min-width:2.6rem}
  :root{--first:8.4rem;--sec:5.4rem}
  .why__line{margin-top:4rem}
  .rv__list{margin-top:3.2rem}
  /* синий отступ сверху подвала = голубому отступу под контактами */
  .ftr{padding-top:var(--sec)}
  .ftr__top{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.2rem 1.6rem}
  .ftr__brand,.ftr__about,.ftr__nav,.ftr__contacts{grid-column:auto}
  .ftr__about{margin-left:0}
  .ftr__logo{--logo:15rem}
  .ftr__nav{grid-column:1 / -1}
  .ftr__contacts{grid-column:1 / -1;justify-self:start;text-align:left}
  .ftr__msg,.ftr__soc{justify-content:flex-start}
  .ftr__word{margin-top:4.8rem}
  .ftr__bottom{grid-template-columns:1fr;justify-content:start;gap:.8rem}
  .cont__in{grid-template-columns:minmax(0,1fr);gap:4rem}
  .cont__big,.cont__main{grid-column:auto;margin-right:0}
  .cont__big{order:2;aspect-ratio:4/3;min-height:0}
  .cont__main{order:1;padding-left:0}
  .cont__row{grid-template-columns:minmax(0,1fr);gap:2.4rem}
  .cont__row--bottom{margin-top:0;padding-top:3.2rem}
  .cont__big{display:none}
  .cont__small{display:block;order:3;background:none}
  .cont__lead,.cont__text{font-size:1.6rem;line-height:1.55}
  .faq__in{grid-template-columns:1fr;gap:3.2rem}
  .faq__side,.faq__list{grid-column:auto}
  .faq__side{position:static}
  .faq__side{width:auto}
  .faq__ph{width:100%;margin-top:2.4rem}
  .faq__q{font-size:1.7rem;padding:1.8rem 1.6rem}
  .faq__a-in{padding:0 1.6rem;font-size:1.6rem;line-height:1.55}
  .art__head{flex-direction:column;align-items:flex-start;gap:2rem;padding-bottom:2.4rem}
  .art__list{grid-template-columns:repeat(2,1fr);gap:4rem 1.6rem;margin-top:3.2rem}
  .art__t{margin-top:2rem;font-size:1.8rem}
  .art__ex{font-size:1.6rem;line-height:1.55}
  .soc__in{grid-template-columns:1fr;gap:4.8rem}
  .soc__text{padding-right:0}
  .soc__lead{max-width:none;line-height:1.55}
  .soc__media::before{top:2.4rem;bottom:-2.4rem;left:2.4rem;right:-1.6rem}
  .grow__pic:has(.gif)::before{top:2.4rem;bottom:-2.4rem;left:-1.6rem;right:2.4rem}
  .grow__pic:has(.gif){margin-bottom:1.6rem} /* от плашки до заголовка как в блоке соцсетей */
  .faq__side{justify-self:stretch}
  .rvt{margin-top:5.6rem}
  .rvt__track{grid-auto-columns:calc((100% - 1.6rem) / 2)}
  .rvt__text{margin-top:2rem;font-size:1.6rem;line-height:1.55}
  .rv__play{right:1.2rem;bottom:1.2rem;width:4.8rem;height:4.8rem}
  .shows__in{grid-template-columns:1fr;gap:2.4rem}
  .shows__text{display:contents}
  .shows h2{order:1}
  .shows__lead{order:2;margin-top:0;max-width:none;line-height:1.55}
  .shows__big{order:3;aspect-ratio:4/3}
  .shows__thumbs{order:4;margin-top:-.8rem;padding-top:0;gap:.8rem}
  .why__list{grid-template-columns:repeat(2,1fr);gap:4.8rem 2.4rem;margin-top:4rem}
  .why__t{margin-top:1.6rem;font-size:1.8rem}
  .why__item p{max-width:none;font-size:1.6rem;line-height:1.55}
  .about__in{grid-template-columns:1fr;gap:4.8rem}
  .about__pic{aspect-ratio:4/5}
  .about__pic::before{top:2.4rem;bottom:-2.4rem;right:2.4rem;left:-1.6rem}
  .about__text{padding:0}
  .about__txt{line-height:1.55}
  .about__txt p+p{margin-top:2rem}
  .breeds__head{grid-template-columns:1fr;gap:2rem}
  h2{font-size:3.2rem}
  .breeds__grid{grid-template-columns:1fr;gap:5.6rem;margin-top:5rem}
  .pups__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4.8rem 1.6rem}
  .pcard__specs,.pcard__char{font-size:1.5rem}
  .plans__litters,.fit__grid{grid-template-columns:minmax(0,1fr)}
  .grow{grid-template-columns:minmax(0,1fr);gap:3.2rem}
  .parents__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .way__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .way__txt p{font-size:1.5rem;line-height:1.55}
  .parent .pcard__specs{font-size:1.4rem}
  .fit__lead{font-size:1.5rem}
  .guar__sum{font-size:1.6rem}
  .grow__pic,.grow__main,.grow__more,.care__head{grid-column:auto}
  .grow__more{margin-top:0}
  .grow__pic{aspect-ratio:4/3}
  .grow__pic:has(.gif){grid-column:auto;aspect-ratio:720/894}
  .grow__lead,.grow__intro,.grow__it{font-size:1.5rem;line-height:1.55}
  .fit__grid{gap:4.8rem}
  .fit .dots{font-size:1.5rem;line-height:1.55}
  .bk{grid-template-columns:minmax(0,1fr);gap:3.2rem}
  .bk__side,.bk__list{grid-column:auto;position:static}
  .bk__body{font-size:1.5rem;line-height:1.55}
  .plans__h3{font-size:2.4rem}
  .grow h3{font-size:2.4rem;line-height:1.2}
}
/* планшет 640–959: плитки «Как щенок попадает домой» по высоте текста, а не квадратом;
   фото «щенок едет домой» и пункт 4 меняются местами, чтобы фото шли в шахматном порядке */
@media (min-width:640px) and (max-width:959px){
  .way__t,.way__ph{aspect-ratio:auto}
  .way__t{justify-content:flex-start}
  .way__grid--2>:nth-child(1){order:2}
  .way__grid--2>:nth-child(2){order:1}
  .way__grid--2>:nth-child(3){order:3}
  .way__grid--2>:nth-child(4){order:4}
}
/* до 640 по одному текстовому отзыву на экран */
@media (max-width:639px){.rvt__track{grid-auto-columns:85%}.pups__grid,.parents__grid,.way__grid{grid-template-columns:minmax(0,1fr)}.way__t{aspect-ratio:auto;padding:2.2rem}.way__ph{aspect-ratio:4/3}.parent__pic{aspect-ratio:4/3}.grow__list{grid-template-columns:minmax(0,1fr)}.bk__row{grid-template-columns:4rem minmax(0,1fr);gap:1.2rem;padding:2.4rem 0}.bk__body{grid-column:2}.bk__n{width:3.6rem;height:3.6rem;font-size:1.6rem}.bk__body{padding-top:.4rem}.bk__body h4{font-size:1.8rem}.litter__msg .btn,.plans__msg .btn{flex:1 1 calc(50% - .4rem)}}
@media (max-width:560px){
  .phone span{display:none}
  .about__txt{font-size:1.5rem}
  .why__item p{font-size:1.5rem}
  .why__list{grid-template-columns:1fr;gap:4rem}
  /* на телефоне отзывы листаются вбок */
  :root{--sec:4.9rem}
  /* на телефоне видеоотзывы друг под другом, на всю ширину сетки */
  .rv__list{grid-template-columns:minmax(0,1fr);gap:3.2rem;margin-top:3.2rem}
  .rv__item figcaption{font-size:1.5rem}
  .rvt__track{grid-auto-columns:85%;gap:1.2rem;margin:0 -1.6rem;padding:0 1.6rem;scroll-padding:0 1.6rem}
  .rvt__text{font-size:1.5rem}
  .ftr__top{grid-template-columns:minmax(0,1fr)}
  .ftr__logo{--logo:12rem}
  .ftr__nav{font-size:1.5rem}
  .cont__lead,.cont__text{font-size:1.5rem}
  .cont__msg .btn{flex:1 1 calc(50% - .4rem)}
  .faq__list{margin:0 -1.6rem}
  .faq__q{font-size:1.6rem}
  .faq__a-in{font-size:1.5rem}
  .art__list{grid-template-columns:1fr}
  .art__ex{font-size:1.5rem}
  .soc__lead{font-size:1.5rem}
  .soc__btn{width:100%}
  .rvt__nav{margin-top:3.2rem}
  .rvt__nav{grid-template-columns:minmax(0,1fr) auto;gap:1.2rem}
  .rvt__all{grid-column:1;padding:0 1.2rem;font-size:1.5rem}
  .rvt__arrows{grid-column:2;gap:.8rem}
  .rvt__arrow{width:4.4rem;height:4.4rem}
  .shows__lead{font-size:1.5rem}
  .shows__thumbs .shows__ph{font-size:1.1rem;padding:.6rem}

  .about .btn{width:100%}
  /* логотип под кнопкой «Контакты» в меню — только на телефоне */
  .nav__logo{display:block;width:40%;height:auto;margin:3.6rem auto 0}
  .phone a{font-size:1.3rem}
  h1{font-size:2.8rem}
  .lead{font-size:1.5rem}
  .breeds__intro,.adv li,.bcard__txt,.warn{font-size:1.5rem}
  .hero__btns{flex-direction:column}
  .hero__btns .btn{flex:none;width:100%}
  .bh__act>.btn{width:100%}
  .bh__msg .btn{flex:1 1 calc(50% - .4rem)}
  .adv li{flex-basis:100%}
  .adv li span:last-child{max-width:none}
  h2{font-size:2.8rem}
  h3{font-size:2.2rem}
  .badge{font-size:1.1rem}
  .btn--wide{white-space:normal;text-align:center}
}

/* ---------- 404 ---------- */
.e404{min-height:calc(100vh - 6.9rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2.4rem;padding-top:6rem;padding-bottom:6rem}
.e404 p{max-width:50rem}

/* окно с крупными фото щенков и родителей */
.pcard__pic.is-zoom{cursor:zoom-in}
.pcard__pic.is-zoom .pcard__arr{cursor:pointer}
html.lb-on,html.lb-on body{overflow:hidden}
.lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:6.4rem 1.6rem;background:rgba(28,48,57,.86);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
.lb.is-open{opacity:1;visibility:visible;transition:opacity .35s ease}
.lb__box{position:relative;width:min(100%,120rem,calc((100vh - 12.8rem)*4/3));transform:scale(.96);transition:transform .35s ease}
.lb.is-open .lb__box{transform:none}
.lb__stage{position:relative;aspect-ratio:4/3;overflow:hidden;background:#C9D8DE;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.lb__track{display:flex;height:100%;transition:transform .4s ease}
.lb__slide{position:relative;flex:0 0 100%;height:100%}
.lb__slide>*{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.lb__slide>.pcard__ph{font-size:1.8rem}
.lb__arr{position:absolute;top:50%;display:grid;place-items:center;width:4.8rem;height:4.8rem;margin-top:-2.4rem;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--main);cursor:pointer;transition:background-color .2s}
.lb__arr:hover{background:var(--white)}
.lb__arr svg{width:1.6rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.4}
.lb__arr--prev{left:1.6rem}
.lb__arr--next{right:1.6rem}
.lb__cnt{position:absolute;left:0;bottom:0;display:flex;align-items:center;height:3.2rem;padding:0 1.2rem;background:var(--white);font-size:1.4rem;font-weight:500;color:var(--main)}
.lb.is-single .lb__arr,.lb.is-single .lb__cnt{display:none}
.lb__close{position:absolute;top:1.2rem;right:1.2rem;display:grid;place-items:center;width:4.4rem;height:4.4rem;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--main);cursor:pointer;transition:background-color .2s}
.lb__close:hover{background:var(--white)}
.lb__close svg{width:1.6rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:1.6}
@media (max-width:639px){.lb__arr{width:4rem;height:4rem;margin-top:-2rem}.lb__arr--prev{left:.8rem}.lb__arr--next{right:.8rem}}
@media (prefers-reduced-motion:reduce){.lb,.lb__box,.lb__track{transition:none}}

/* подпись под заголовком отзывов на странице чихуахуа */
.rv__sub{margin-top:2rem;text-align:center;font-size:1.6rem;font-weight:500;line-height:1.4}

.fit__pic>img,.way__ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:960px){.grow__pic--wide:has(.gif){grid-column:1 / span 5;align-self:start}.grow__pic--wide:has(.gif)::before{top:4.8rem;bottom:4.8rem}.grow__pic--wide~.grow__main{align-self:center}}
.lb__slide>img{object-position:50% 50%!important}
/* ---------- страница «О питомнике» ---------- */
.hero--about .lead+.lead{margin-top:1.6rem}
.ab-hero__pic{position:relative;aspect-ratio:676/440;margin-top:2.7rem;align-self:start}
.ab-story{padding-top:var(--first);padding-bottom:var(--sec)}
.ab-story>h2{text-align:center}
.ab-row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:stretch}
.ab-story>h2+.ab-row{margin-top:4rem}
.ab-row+.ab-row{margin-top:4.8rem}
.ab-row>.ab-row__text:first-child{padding-right:3.2rem}
.ab-row>.ab-row__text:last-child{padding-left:3.2rem}
.ab-row__text.about__txt{margin-top:0}
.ab-duo{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.ab-duo__it{position:relative;min-height:32rem}
.ab-how .art__list{row-gap:4.8rem}
.ab-how .art__item:hover .art__pic{filter:none}
.ab-how .art__item:hover .art__t{opacity:1}
.ab-psy{padding-top:var(--sec);padding-bottom:var(--sec)}
.ab-psy .ab-row{align-items:center}
.ab-psy__pic{position:relative;aspect-ratio:3/2}
.ab-who__pic{position:relative;width:calc(40% - .96rem);aspect-ratio:4/5;margin-top:3.2rem}
@media (min-width:960px){
  #stay .about__in{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.6rem}
  #stay .about__text{grid-column:1 / span 6;grid-row:1}
  #stay .about__pic{grid-column:9 / span 4;grid-row:1;margin-left:1.7rem}
  #stay .about__pic::before{left:-1.6rem;right:calc(-3.2rem - 50vw)}
}
@media (max-width:959px){
  .ab-hero__pic{margin-top:.8rem;aspect-ratio:4/3}
  .ab-row{grid-template-columns:minmax(0,1fr);gap:3.2rem}
  .ab-row>.ab-row__text:first-child,.ab-row>.ab-row__text:last-child{padding:0}
  .ab-duo{gap:.8rem}
  .ab-duo__it{min-height:0;aspect-ratio:4/5}
  .ab-psy .ab-row+.ab-row .ab-psy__pic{order:2}
  .ab-story .ab-row+.ab-row .ab-duo{order:-1}
  .ab-row+.ab-row{margin-top:3.2rem}
  .ab-who__pic{width:100%}
}
/* шапка: от 960 до 1199 меню с кнопкой не помещается, поэтому кнопку прячем, как и до 959; телефон остаётся */
@media (min-width:960px) and (max-width:1199px){.hdr__right .btn{display:none}}
@media (min-width:960px) and (max-width:1023px){.hdr__in{padding:0 1.6rem}.nav{gap:1rem}.adv .nw{white-space:normal}}
.litter__pic--sq{aspect-ratio:1/1}
.litter__pic--sq>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:640px){.pcard__slides img[style*="--z"]{transform:scale(var(--z));transform-origin:var(--o)}}
@media (max-width:959px){.plans__litters{row-gap:3.6rem}}
.ab-psy__pic>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* страница «Выпускники» */
.gr{padding-top:4.5rem;padding-bottom:var(--sec)}
.gr__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2.4rem 3.2rem}
.gr__note{margin-top:1.2rem}
.gr__filter{display:flex;flex-wrap:wrap;gap:.8rem}
.gr__filter .btn{height:4.4rem;border:0;font-size:1.5rem;cursor:pointer}
.gr__grid .pcard[hidden],.gr__empty[hidden]{display:none}
.gr__empty{position:relative;grid-column:1 / -1;height:32rem}
.gr__more{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;margin-top:4.8rem}
.gr-vid{padding-top:var(--sec);padding-bottom:var(--sec)}
.gr-vid .rvt__track{grid-auto-columns:calc((100% - 4.8rem) / 4);margin-top:3.6rem}
.gr-vid__it{position:relative;aspect-ratio:9/16;scroll-snap-align:start}
.gr-vid__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2.4rem}
.gr-vid__head .rvt__arrows{flex:none}
@media (max-width:959px){
  .gr{padding-top:2.4rem}
  .gr__top{flex-direction:column;align-items:stretch}
  .gr__more .btn{width:100%}
  .gr-vid .rvt__track{grid-auto-columns:calc((100% - 3.2rem) / 3)}
}
@media (max-width:639px){
  .gr-vid .rvt__track{grid-auto-columns:62%}
  .gr__filter{display:grid;grid-template-columns:1fr 1fr}
  .gr__filter .btn{padding:0 1.6rem}
  .gr__filter [data-f="bulldog"]{grid-column:1 / -1;order:1}
}
/* архив помётов и страница помёта */
@media (min-width:640px){.lit__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lit .pcard__specs{margin-bottom:2rem}
.lit__btn{width:100%;margin-top:auto}
.ltr__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2.4rem}
.ltr__top h1{max-width:none;margin-top:0}
.ltr__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin-top:3.6rem}
.ltr__it{position:relative;display:block;width:100%;aspect-ratio:3/2;padding:0;border:0;background:#C9D8DE;color:var(--main);font:inherit;cursor:zoom-in;overflow:hidden}
.ltr__it>*{position:absolute;inset:0}
.ltr__it>img{display:block;width:100%;height:100%;object-fit:cover}
.ltr__it:focus-visible{outline:2px solid var(--beige);outline-offset:2px}
@media (max-width:959px){.ltr__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.ltr__grid{gap:.8rem;margin-top:2.4rem}.ltr__top .btn{width:100%}.ltr__it .pcard__ph{padding:0 .8rem}}
/* страница отзывов */
.rvw__h{margin-top:6.4rem}
.rvw__h+.rv__list{margin-top:3.6rem}
.rvw{padding-top:var(--sec);padding-bottom:var(--sec)}
.rvw__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.6rem;margin-top:3.6rem}
.rvw__it{display:grid;grid-template-columns:20rem minmax(0,1fr);gap:2.4rem;align-items:start;padding:2.4rem 0;border-top:1px solid var(--line)}
.rvw__pic{position:relative;display:block;width:100%;aspect-ratio:1/1;padding:0;border:0;background:#C9D8DE;overflow:hidden}
button.rvw__pic{cursor:zoom-in}
button.rvw__pic:focus-visible{outline:2px solid var(--beige);outline-offset:2px}
.rvw__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rvw__name{margin-top:-.4rem;font-size:1.8rem;font-weight:700;line-height:1.3}
.rvw__text{margin-top:.8rem;font-size:1.4rem;font-weight:500;line-height:1.45}
@media (max-width:959px){
  .rvw__h{margin-top:4.8rem}
  .rvw__grid{grid-template-columns:minmax(0,1fr)}
  .rvw__it{grid-template-columns:24rem minmax(0,1fr)}
  .rvw__text{font-size:1.5rem;line-height:1.55}
}
@media (max-width:639px){
  .rvw__it{grid-template-columns:minmax(0,1fr);gap:1.6rem}
}
.rvw__it:first-child{padding-top:0;border-top:0}
@media (min-width:960px){.rvw__it:nth-child(2){padding-top:0;border-top:0}}
/* раздел статей */
.art__list--page{margin-top:3.6rem;row-gap:4.8rem}
.art__list--page .art__item[hidden],.art__list .gr__empty[hidden]{display:none}
.art__pic--cat{position:relative}
.gr__filter [data-f="all"]{order:0}
.atl__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.6rem;align-items:start;margin-top:3.6rem}
.atl__pic{grid-column:1 / span 5;position:sticky;top:9rem}
.atl__pic img{display:block;width:100%;height:auto;max-height:calc(100vh - 11rem);object-fit:cover}
.atl__pic--ph{aspect-ratio:4/3}
.atl__text{grid-column:7 / span 6;font-size:1.6rem;font-weight:500;line-height:1.5}
.atl__text>*+*{margin-top:1.6rem}
.atl__text h2{margin-top:3.2rem;font-size:2.4rem;font-weight:800;line-height:1.2}
.atl__text h3{margin-top:2.4rem;font-size:1.8rem;font-weight:700;line-height:1.3}
.atl__text h2+*,.atl__text h3+*{margin-top:.8rem}
.atl__text h2+h3{margin-top:1.6rem}
.atl__link{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.atl__stub{position:relative;height:24rem}
@media (max-width:959px){
  .art__list--page{row-gap:4rem}
  .atl__grid{display:block}
  .atl__pic{position:static}
  .atl__pic--ph{position:relative}
  .atl__pic img{max-height:none}
  .atl__text{margin-top:2.4rem}
}
.ab-hero__pic>img,.ab-duo__it>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ab-duo__it>.badge{z-index:2}
.ab-how .art__pic{position:relative}.ab-how .art__pic>img{position:absolute;inset:0}
.gr-vid__it.rv__video{aspect-ratio:9/16}
@media (max-width:959px){.way__ph--car>img{object-position:50% 45%!important}}
@media (max-width:639px){.way__ph.way__ph--sq{aspect-ratio:1/1}}
.gr__grid:not(.lit__grid) .pcard__pic{aspect-ratio:3/4}
@media (min-width:960px){.ab-who__pic{width:30.9rem;max-width:100%}}
@media (min-width:1700px){.ab-duo{align-self:center}.ab-duo__it{min-height:0;aspect-ratio:1/1}}
@media (min-width:1200px){.care .grow__main{align-self:center}}
.ab-duo__it>picture{display:contents}.ab-duo__it>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.art__pic img.pic-logo,.atl__pic img.pic-logo{object-fit:contain;background:#fff;padding:12%;box-sizing:border-box}
.art__pic--cat>.badge{z-index:2}.art__pic:has(.pic-logo)>.badge{box-shadow:0 0 0 1px #DCE4E8}
.art__pic img.pic-logo{position:absolute;inset:0;width:100%;height:100%}
.rvw__text+.rvw__text{margin-top:1.6rem}
@media (max-width:959px){.atl__pic--ph{top:auto}}
.atl__pic img.atl__img--whole{width:auto;max-width:100%;object-fit:contain}
.cms-off{display:none!important}

/* страница «Контакты» */

.loc__map iframe{display:block;width:100%;height:100%;border:0}
.socs{padding-bottom:var(--sec)}
.socs h2{max-width:90rem}
.socs__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;margin-top:3.6rem}
.socs__it{display:flex;flex-direction:column;gap:1.2rem;padding:2.4rem;background:var(--white)}
.socs__it h3{margin:0}
.socs__it p{flex:1;font-size:1.5rem;line-height:1.5}
.socs__it .btn{align-self:flex-start}
.socs__note{margin-top:2rem;font-size:1.3rem;opacity:.7}
@media (max-width:959px){.socs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.socs__grid{grid-template-columns:1fr}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ct-loc{padding-top:0}
.loc__map{position:relative;aspect-ratio:1080/864;background:#C9D8DE;overflow:hidden}
.socs .btn:hover,.socs .btn--line:hover{background:var(--beige);color:var(--white);box-shadow:none}

/* появление при прокрутке (anim.js) */
.anim-first:not(.anim-ready) main>*{visibility:hidden}
.a-t,.a-m{opacity:0;transform:translate3d(0,2.4rem,0);transition:opacity .9s cubic-bezier(.2,.65,.3,1),transform .9s cubic-bezier(.2,.65,.3,1)}
.a-m{transform:translate3d(0,4rem,0);transition-duration:1.1s}
.a-t.is-in,.a-m.is-in{opacity:1;transform:none}
.a-h{opacity:0;transform:translate3d(0,3rem,0);transition:opacity 1s cubic-bezier(.2,.65,.3,1),transform 1s cubic-bezier(.2,.65,.3,1)}
.a-h.is-in{opacity:1;transform:none}

/* прелоадер и шторка между страницами (pre.js) */
.bbp,.bbt{display:none}
html.pre .bbp{display:grid;place-items:center;position:fixed;inset:0;z-index:9999;background:var(--main);transition:transform .9s cubic-bezier(.76,0,.24,1)}
.bbp.is-out{transform:translateY(100%)}
.bbp__in{display:flex;flex-direction:column;align-items:center;text-align:center;color:#C3D8E1;padding:0 1.6rem}
.bbp__logo{position:relative;width:min(30rem,62vw);aspect-ratio:1}
.bbp__logo>i{position:absolute;inset:0;background:url(img/logo-pre.svg) center/contain no-repeat}
.bbp__dim{opacity:.18}
.bbp__fill{clip-path:inset(100% 0 0 0);transition:clip-path .8s cubic-bezier(.65,0,.35,1)}
.bbp__name{margin-top:2.8rem;font-size:4.2rem;font-weight:800;letter-spacing:.03em;line-height:1}
.bbp__sub{margin-top:1rem;font-size:1.2rem;font-weight:500;letter-spacing:.08em;line-height:1.3;text-transform:uppercase;opacity:.75}
.bbt{position:fixed;inset:0;z-index:9998;background:var(--main)}
html.tr-go .bbt{display:block;animation:bbt-in .45s cubic-bezier(.76,0,.24,1) both}
html.tr-in .bbt{display:block}
html.tr-in.tr-out .bbt{transform:translateY(100%);transition:transform .7s cubic-bezier(.76,0,.24,1)}
@keyframes bbt-in{from{transform:translateY(-100%)}to{transform:none}}

/* страницы пород: первый видимый блок после преимуществ получает обычный отступ блок 1 → блок 2 (--first),
   даже если «Свободные щенки» или «Ждём малышей» скрыты в админке */
.pups.cms-off+.plans{padding-top:var(--first)}
.pups.cms-off+.plans.cms-off+.booking{padding-top:var(--first)}
.atl--doc .atl__grid{margin-top:0}
.atl--doc .atl__text{grid-column:3 / 11}
.atl--doc .atl__text h2{font-size:2rem}
@media (max-width:959px){.atl--doc .atl__text{margin-top:0}}
.ck{position:fixed;right:2rem;bottom:2rem;z-index:90;display:flex;align-items:flex-start;gap:1.6rem;width:calc(100% - 4rem);max-width:46rem;padding:1.8rem 4rem 1.8rem 2.2rem;background:#fff;color:var(--main);box-shadow:0 .8rem 3.2rem rgba(20,40,50,.16);font-size:1.3rem;font-weight:500;line-height:1.45;opacity:0;transform:translateY(1rem);transition:opacity .3s ease,transform .3s ease}
.ck.is-on{opacity:1;transform:none}
.ck p{margin:0;flex:1}
.ck a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.ck__ok{flex:none;align-self:center;height:3.6rem;padding:0 2.2rem;border:0;background:var(--main);color:var(--white);font:inherit;font-size:1.4rem;cursor:pointer;transition:opacity .2s}
.ck__ok:hover{opacity:.85}
.ck__x{position:absolute;top:.4rem;right:.4rem;width:2.8rem;height:2.8rem;border:0;background:none;color:inherit;opacity:.5;cursor:pointer;font-size:2rem;line-height:1}
.ck__x:hover{opacity:1}
@media (max-width:599px){.ck{right:1.2rem;bottom:1.2rem;width:calc(100% - 2.4rem);flex-direction:column;gap:1.2rem;padding:1.6rem 4rem 1.6rem 1.6rem}.ck__ok{align-self:flex-start}}
.atl__ed{margin-top:1.2rem;font-size:1.4rem;opacity:.6}
.atl--doc .atl__text p+p{margin-top:.8rem}
.atl--doc .atl__text h3{font-size:1.7rem}
.atl--doc .atl__ed{margin-top:1.2rem}
.atl--doc .atl__ed+h2{margin-top:4rem}
