/* === INDEX === шапка и навигация · бургер и полноэкранное меню · крошки и подменю · обложка (hero/cover) и перекрытие · карточка собаки
   · карточка щенка и бейдж · карточка статьи · галерея-грид · спецификации и титулы · cta-полоса · футер · лайтбокс · движение (keyframes, fade, параллакс) === END INDEX === */

/* шапка */
.hdr{position:sticky;top:0;z-index:20;background:var(--c-paper);transition:background-color 300ms var(--ease),box-shadow 300ms var(--ease)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s-6);min-height:72px;transition:min-height 300ms var(--ease)}
.hdr[data-compact]{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-raised)}
.hdr[data-compact] .hdr-in{min-height:60px}
@supports not (backdrop-filter:blur(1px)){.hdr[data-compact]{background:var(--c-paper)}}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--c-ink)}
.brand:hover{color:var(--c-ink)}
.brand-name{font:700 1.35rem/1 var(--f-display);letter-spacing:-.02em}
.brand-sub{font-size:var(--t-caption);color:var(--c-steel);letter-spacing:.04em;margin-top:var(--s-1)}
.nav{display:flex;align-items:center;gap:var(--s-1)}
.nav a{padding:.55em .8em;text-decoration:none;color:var(--c-ink);font-weight:500;font-size:var(--t-small);white-space:nowrap}
.nav a:hover{color:var(--c-steel);text-decoration:underline;text-decoration-color:var(--c-steel-soft)}
.nav-phone{margin-left:var(--s-3)}
.burger{display:none;width:48px;height:48px;border:0;background:transparent;padding:12px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px}
.burger span{display:block;height:2px;background:var(--c-ink);border-radius:var(--r-md);transition:transform 300ms var(--ease),opacity 300ms var(--ease)}
@media (max-width:1100px){.brand-sub{display:none}}
@media (max-width:900px){
  .burger{display:flex}
  .nav{position:fixed;inset:0;z-index:19;background:var(--c-paper);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:calc(72px + var(--s-8)) var(--gutter) var(--s-12);gap:0;overflow:auto;
    opacity:0;transform:translateY(-8px);visibility:hidden;transition:opacity 300ms var(--ease),transform 300ms var(--ease),visibility 0s 300ms}
  body.nav-open .nav{opacity:1;transform:none;visibility:visible;transition-delay:0s}
  body.nav-open{overflow:hidden}
  .nav a{font:600 1.5rem/1.2 var(--f-display);letter-spacing:-.01em;padding:.7em 0;border-bottom:1px solid var(--line)}
  .nav-phone{margin:var(--s-6) 0 0;border-bottom:0;font:500 1.15rem var(--f-text)}
  body.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .burger span:nth-child(2){opacity:0}
  body.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* крошки, подменю */
.crumbs{font-size:var(--t-small);color:var(--c-steel);margin-bottom:var(--s-4);display:flex;flex-wrap:wrap;gap:var(--s-2)}
.crumbs a{color:var(--c-steel);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs>*+*::before{content:"/";margin-right:var(--s-2);color:var(--c-steel-soft)}
.subnav{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-6)}
.subnav a{border:1px solid var(--c-steel-soft);border-radius:var(--r-sm);padding:.45em 1em;text-decoration:none;font-weight:500;font-size:var(--t-small);min-height:40px;display:inline-flex;align-items:center}
.subnav a:hover{border-color:var(--c-steel);color:var(--c-steel)}

/* обложка: hero главной и cover собаки — медиа на весь экран, градиенты только поверх фото */
.hero,.cover{position:relative;display:grid;align-items:end;overflow:hidden;color:var(--c-paper);border-radius:0}
.hero{min-height:min(92vh,880px)}
.cover{min-height:min(88vh,820px)}
.hero-media,.cover-media{position:absolute;inset:-6% 0;margin:0}
.hero-media img,.hero-media video,.cover-media img{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hero-media picture,.cover-media picture{height:100%}
.hero-media::after,.cover-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--overlay-0) 30%,var(--overlay-72) 100%),linear-gradient(90deg,var(--overlay-55),var(--overlay-0) 60%)}
.hero-media .ph,.cover-media .ph{background:var(--c-steel);color:var(--c-steel-soft);font-size:min(30vw,14rem)}
.hero-in,.cover-in{position:relative;z-index:1;width:100%;padding-block:var(--s-16) var(--s-12)}
.hero-title{font-size:var(--t-display);max-width:12ch;color:var(--c-paper);margin-bottom:var(--s-6)}
.hero-lead{max-width:44ch;font-size:1.15rem;color:var(--c-paper);opacity:.9;margin-bottom:var(--s-8)}
.hero-note{font-size:var(--t-small);color:var(--c-steel-soft);margin:var(--s-8) 0 0;max-width:60ch}
.cover-in h1{font-size:var(--t-display);max-width:14ch}
.cover-titles{font-size:var(--t-small);color:var(--c-steel-soft);margin-top:var(--s-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){
  .cover{min-height:70svh;border-radius:0}
  .cover-media::after{background:linear-gradient(180deg,var(--overlay-0) 20%,rgba(27,36,48,.85) 75%,var(--c-ink) 100%)}
  .cover-in{padding-block:var(--s-8) var(--s-8)}
}

/* карточка собаки: 4:5, градиент снизу, имя поверх */
.dog-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--s-1);aspect-ratio:4/5;overflow:hidden;contain:paint;isolation:isolate;border-radius:var(--r-md);background:var(--c-paper-deep);padding:var(--s-4);text-decoration:none;color:var(--c-paper)}
.dog-card:hover{color:var(--c-paper)}
.dog-card picture,.dog-card .ph{position:absolute;inset:0}
.dog-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-media) var(--ease)}
.dog-card:hover img{transform:scale(1.03)}
.dog-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--overlay-60));pointer-events:none}
.dog-card-name{position:relative;z-index:1;font:600 1.35rem/1.15 var(--f-display);letter-spacing:-.01em}
.dog-card-titles{position:relative;z-index:1;min-width:0;max-width:100%;font-size:var(--t-caption);color:var(--c-steel-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6)}
@media (max-width:1024px){.dog-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.dog-grid{grid-template-columns:repeat(2,1fr);gap:var(--s-3)}.dog-card{padding:var(--s-3)}.dog-card-name{font-size:1.1rem}}

/* карточка щенка */
.puppy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6)}
@media (max-width:1024px){.puppy-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.puppy-grid{grid-template-columns:repeat(2,1fr);gap:var(--s-3)}}
.puppy-card{display:block;text-decoration:none;color:var(--c-ink)}
.puppy-card:hover{color:var(--c-ink)}
.puppy-card-media{position:relative;display:flex;align-items:flex-end;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-md);background:var(--c-paper-deep);padding:var(--s-4)}
.puppy-card-media picture,.puppy-card-media .ph{position:absolute;inset:0}
.puppy-card-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-media) var(--ease)}
.puppy-card:hover img{transform:scale(1.03)}
.puppy-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--overlay-60));pointer-events:none}
.puppy-card-name{position:relative;z-index:1;font:600 1.35rem/1.15 var(--f-display);letter-spacing:-.01em;color:var(--c-paper)}
.puppy-card-meta{display:block;font-size:var(--t-small);color:var(--c-steel);margin-top:var(--s-3)}
.puppy-card-meta span+span::before{content:", "}
.puppy-card-price{display:block;font:600 1.35rem/1.2 var(--f-display);color:var(--c-ink);margin-top:var(--s-1)}
.puppy-card.is-sold img{filter:grayscale(.6);opacity:.85}
.badge{position:absolute;top:var(--s-3);left:var(--s-3);z-index:1;padding:.3em .8em;border-radius:var(--r-pill);font-size:var(--t-caption);font-weight:600;color:var(--c-paper);background:var(--c-ok)}
.badge-reserved{background:var(--c-warn)}
.badge-sold{background:var(--c-sold)}
@media (max-width:640px){.puppy-card-media{padding:var(--s-3)}.puppy-card-name{font-size:1.1rem}}

/* карточка статьи: без фото, линия сверху */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 var(--s-8)}
@media (max-width:900px){.article-grid{grid-template-columns:1fr}}
.article-card{display:flex;flex-direction:column;gap:var(--s-2);padding-block:var(--s-6);border-top:1px solid color-mix(in srgb,var(--c-steel-soft) 60%,transparent);text-decoration:none;color:var(--c-ink)}
.article-card h3{transition:color var(--dur-hover) var(--ease)}
.article-card:hover h3{color:var(--c-steel)}
.article-card p{color:var(--c-steel);font-size:var(--t-small);margin:0;flex:1}
.article-card-img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-md);margin-bottom:var(--s-2)}
.article-meta{font-size:var(--t-caption);color:var(--c-steel)}

/* галерея-грид: 6 колонок, ячейки 4/2/3/3 */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3)}
.gallery-grid a{display:block;overflow:hidden;border-radius:var(--r-md);background:var(--c-paper-deep);aspect-ratio:1}
.gallery-grid a:first-child{grid-column:span 2;grid-row:span 2}
.gallery-grid img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform var(--dur-media) var(--ease)}
.gallery-grid a:hover img{transform:scale(1.03)}
@media (max-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid a:first-child{grid-column:span 2;grid-row:auto}}

/* спецификации и титулы */
.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 var(--s-8);margin-block:var(--s-8)}
.specs div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-4);padding-block:var(--s-3);border-top:1px solid var(--line)}
.specs dt{color:var(--c-steel);font-size:var(--t-small)}
.specs dd{font:600 1.15rem/1.3 var(--f-display);text-align:right}
.specs dd small{display:block;font:400 var(--t-caption)/1.3 var(--f-text);color:var(--c-steel)}
@media (max-width:640px){.specs{grid-template-columns:1fr}}
.titles-list{list-style:none;padding:0;margin-block:var(--s-4)}
.titles-list li{padding-block:var(--s-2);border-top:1px solid var(--line);font-weight:500}
.titles-list li:last-child{border-bottom:1px solid var(--line)}
.media-lg{overflow:hidden;border-radius:var(--r-lg);background:var(--c-paper-deep)}
.media-lg img{width:100%;height:100%;object-fit:cover}

/* cta-полоса */
.cta-band{padding-block:calc(var(--section)/2)}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:var(--s-8);flex-wrap:wrap}
.cta-title{font-size:var(--t-h2);font-weight:700;max-width:20ch}
.cta-sub{color:var(--c-steel-soft);margin:var(--s-3) 0 0}
.cta-actions{display:flex;gap:var(--s-3);flex-wrap:wrap}
@media (max-width:520px){.cta-actions{width:100%}.cta-actions .btn{flex:1 1 100%}}

/* футер */
.ftr{background:var(--c-paper-deep);color:var(--c-ink);padding-block:var(--s-16) var(--s-6);font-size:var(--t-small)}
.ftr-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s-8)}
.ftr a{display:block;color:var(--c-steel);text-decoration:none;padding:.3em 0}
.ftr a:hover{color:var(--c-ink);text-decoration:underline}
.ftr-brand{font:700 1.35rem/1 var(--f-display);letter-spacing:-.02em;margin-bottom:var(--s-3)}
.ftr-muted{color:var(--c-steel);max-width:34ch}
.ftr-h{font-weight:600;margin-bottom:var(--s-2)}
.ftr-bottom{display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-12);padding-top:var(--s-4);border-top:1px solid var(--line);font-size:var(--t-caption);color:var(--c-steel)}
.ftr-bottom a{display:inline;padding:0;color:var(--c-steel-soft);font-size:var(--t-caption)}
@media (max-width:760px){.ftr-in{grid-template-columns:1fr}}

/* лайтбокс */
.lightbox[hidden]{display:none}
.lightbox{position:fixed;inset:0;background:var(--overlay-92);z-index:50;display:grid;place-items:center;padding:var(--s-4)}
.lightbox img{max-width:100%;max-height:92vh;border-radius:var(--r-sm);box-shadow:var(--shadow-raised)}
.lb-close{position:absolute;top:var(--s-3);right:var(--s-4);background:transparent;border:0;color:var(--c-paper);font-size:2.4rem;line-height:1;cursor:pointer;width:48px;height:48px}

/* движение: hero-появление, fade медиа, параллакс */
@keyframes hero-zoom{from{transform:scale(1.04)}to{transform:scale(1)}}
@keyframes rise{from{transform:translateY(110%);opacity:0}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
body.is-ready .hero-media img,body.is-ready .hero-media video{animation:hero-zoom var(--dur-hero) var(--ease) both}
.hero-title .line{display:block;overflow:hidden}
body.is-ready .hero-title .line>span{display:block;animation:rise 600ms var(--ease) both;animation-delay:calc(200ms + var(--i,0)*80ms)}
body.is-ready [data-reveal]{animation:fade 400ms var(--ease) 600ms both}
[data-fade]{opacity:0;transition:opacity 400ms var(--ease)}
[data-fade].is-in,.no-js [data-fade]{opacity:1}
[data-parallax-layer]{transform:translate3d(0,var(--py,0%),0);will-change:transform}

/* тач-цели ≥40px на планшете и телефоне */
@media (max-width:1024px){.brand,.link-text,.crumbs a,.ftr a,.toc a,.siblings a,.prose a{min-height:40px;display:inline-flex;align-items:center}.ftr a{display:flex}.prose a{display:inline}}

/* === leads + polish: знак в шапке · кнопка заявки · формы · модалка · mobile-панель · стекло-подпись · карточка собаки (номер, печать, плашка) · hero (100svh, две строки, факты, плашка, линия) · faq · шаги · отзывы · табы === */
.brand{flex-direction:row;align-items:center;gap:var(--s-3)}
.brand-text{display:flex;flex-direction:column}
.brand-mark{width:28px;height:34px;color:var(--c-gold);flex:none}
.nav-lead{margin-left:var(--s-3)}
.nav a.nav-lead{padding:.4em 1.1em;color:var(--c-paper)}
.nav a.nav-lead:hover{color:var(--c-paper);text-decoration:none}
@media (max-width:900px){.nav-lead{order:-1;margin:0 0 var(--s-6);align-self:flex-start}.nav a.nav-lead{font:500 1rem var(--f-text);border-bottom:0}}

/* формы заявок: имя + телефон + когда звонить + согласие */
.lead-form{position:relative;background:var(--c-paper-deep);border-radius:var(--r-md);padding:var(--s-6);display:grid;gap:var(--s-4)}
.on-dark .lead-form{background:var(--glass-dark);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge)}
.lf-pair{display:grid;gap:var(--s-4)}
@media (min-width:640px){.lf-pair{grid-template-columns:1fr 1fr}}
.lf-field{display:flex;flex-direction:column;gap:var(--s-2);margin:0}
.lf-label{font-size:var(--t-small);font-weight:500}
.lead-form input:not([type=checkbox]):not([type=radio]){width:100%;font:inherit;font-size:1rem;padding:.65em .9em;border:1px solid var(--c-steel-soft);border-radius:var(--r-sm);background:var(--c-paper);color:var(--c-ink);min-height:48px;transition:border-color var(--dur-hover) var(--ease)}
.lead-form input:focus{outline:none;border-color:var(--c-steel)}
.on-dark .lead-form input:not([type=checkbox]):not([type=radio]){background:var(--glass-dark);color:var(--c-paper);border-color:var(--glass-edge)}
.on-dark .lead-form input::placeholder{color:var(--c-steel-soft)}
.seg{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.seg label{position:relative;flex:1 1 auto}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.4em .9em;border:1px solid var(--c-steel-soft);border-radius:var(--r-sm);font-size:var(--t-small);cursor:pointer;text-align:center;transition:background-color var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease)}
.seg-pill label span{border-radius:var(--r-pill);min-height:40px}
@media (max-width:640px){.seg-pill label{flex:1 1 calc(50% - var(--s-2))}}
.seg input:checked+span{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-paper)}
.seg input:focus-visible+span{outline:2px solid var(--c-steel);outline-offset:2px}
.on-dark .seg span{border-color:var(--glass-edge);color:var(--c-paper)}
.on-dark .seg input:checked+span{background:var(--c-paper);border-color:var(--c-paper);color:var(--c-ink)}
.consent{position:relative;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);align-items:center;font-size:var(--t-caption);color:var(--c-steel);margin:0;cursor:pointer}
.consent input{appearance:none;-webkit-appearance:none;position:absolute;opacity:0;width:1px;height:1px}
.consent .box{width:20px;height:20px;border:1px solid var(--c-steel-soft);border-radius:var(--r-sm);flex:none;display:grid;place-items:center;background:var(--c-paper);transition:background-color var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease)}
.consent input:checked+.box{background:var(--c-ink);border-color:var(--c-ink)}
.consent input:checked+.box::before{content:"";width:10px;height:6px;border:2px solid var(--c-paper);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.consent input:focus-visible+.box{outline:2px solid var(--c-steel);outline-offset:2px}
.consent .lf-err{flex-basis:100%}
.on-dark .consent{color:var(--c-steel-soft)}
.on-dark .consent .box{background:transparent;border-color:var(--glass-edge)}
.on-dark .consent input:checked+.box{background:var(--c-paper);border-color:var(--c-paper)}
.on-dark .consent input:checked+.box::before{border-color:var(--c-ink)}
.lf-err{font-size:var(--t-caption);color:var(--c-err)}
.lf-err[hidden]{display:none}
.on-dark .lf-err{color:var(--c-gold)}
.is-invalid input{border-color:var(--c-err)!important}
.on-dark .is-invalid input{border-color:var(--c-gold)!important}
.consent.is-invalid .box{border-color:var(--c-err)}
.on-dark .consent.is-invalid .box{border-color:var(--c-gold)}
.lf-hint{font-size:var(--t-caption);color:var(--c-steel)}
.on-dark .lf-hint{color:var(--c-steel-soft)}
.lf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);margin-top:var(--s-2)}
.lf-err-submit{flex-basis:100%}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lead-form.is-sending .btn{opacity:.6;cursor:wait}
.lead-form.is-done{display:block}
.lead-done{opacity:0;transition:opacity 300ms var(--ease)}
.lead-done.is-in{opacity:1}
.lead-done-title{font:600 var(--t-h3) var(--f-display);margin-bottom:var(--s-2)}

/* маскированные контакты: цифры <b> в случайном порядке DOM, визуальный порядок — flex order */
.g{display:inline-flex;white-space:nowrap;vertical-align:baseline}
.g b{font-weight:inherit;display:inline}
.g-link{cursor:pointer}

/* модалка */
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--s-4);background:var(--modal-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity 250ms var(--ease);overflow:auto}
.modal.is-open{opacity:1}
.modal-box{position:relative;width:min(720px,100%);max-height:calc(100vh - 2*var(--s-4));overflow:auto;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);border-radius:var(--r-md);padding:var(--s-8);transform:scale(.96);transition:transform 250ms var(--ease)}
.modal.is-open .modal-box{transform:none}
.modal-box h2{margin-bottom:var(--s-6);padding-right:var(--s-12)}
.modal-box .lead-form{background:transparent;padding:0}
.modal-close{position:absolute;top:var(--s-3);right:var(--s-3);width:44px;height:44px;border:0;background:transparent;color:var(--c-ink);font-size:2rem;line-height:1;cursor:pointer;border-radius:var(--r-pill)}
body.modal-open{overflow:hidden}
@media (max-width:640px){.modal{padding:0;align-items:end}.modal-box{border-radius:var(--r-md) var(--r-md) 0 0;padding:var(--s-6) var(--s-4);max-height:96vh}}

/* mobile-панель */
.sticky-bar[hidden]{display:none}
.sticky-bar{display:none}
@media (max-width:900px){
  .sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2);padding:var(--s-2) var(--s-4) max(var(--s-2),env(safe-area-inset-bottom));background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--line);transform:translateY(100%);transition:transform 300ms var(--ease)}
  .sticky-bar.is-on{transform:none}
  body.has-bar{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  body.modal-open .sticky-bar{transform:translateY(100%)}
}

/* стекло-подпись на фото */
.glass-caption{background:var(--glass-caption);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-edge);border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);color:var(--c-paper)}
@supports not (backdrop-filter:blur(1px)){.glass-caption{background:var(--glass-caption-solid)}}
.glass-caption b{display:block;font:600 1.05rem/1.2 var(--f-display)}
.glass-caption span{display:block;font-size:var(--t-caption);color:var(--c-steel-soft);margin-top:2px}

/* карточка собаки: номер, печать, раскрывающаяся плашка титулов */
.dog-stamp{position:absolute;top:var(--s-3);right:var(--s-3);z-index:1;width:24px;height:29px;color:var(--c-gold)}
.dog-card .ph{font-size:8rem;color:var(--c-steel);background:var(--c-paper-deep)}
.dog-card .ph::before{content:"";position:absolute;inset:15% 10%;background:url(/assets/rosette.svg) no-repeat center/contain;opacity:.12}
.dog-card .ph span{position:relative}
.dog-card-cap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:0fr;transition:grid-template-rows 300ms var(--ease);margin:var(--s-2) calc(-1*var(--s-4)) calc(-1*var(--s-4));max-width:calc(100% + 2*var(--s-4))}
@media (max-width:640px){.dog-card-cap{margin:var(--s-2) calc(-1*var(--s-3)) calc(-1*var(--s-3))}}
.dog-card-cap .glass-caption{display:block;min-width:0;max-width:100%;box-sizing:border-box}
.dog-card-cap>div{overflow:hidden;min-width:0}
.dog-card-cap .glass-caption{border-radius:0 0 var(--r-md) var(--r-md);border-width:1px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--t-caption)}
.dog-card:hover .dog-card-cap,.dog-card:focus-visible .dog-card-cap{grid-template-rows:1fr}
.dog-card:hover .dog-card-cap .glass-caption{white-space:normal}
.dog-card-cap-min{position:relative;z-index:1}

/* hero: полный экран, две строки, факты, плашка, золотая линия */
.hero{height:100svh;min-height:640px;max-height:1100px;border-radius:0;display:grid;grid-template-rows:1fr auto;overflow:hidden}
.hero-media,.cover-media{position:absolute;inset:0;z-index:0;margin:0}
.hero-media{inset:-18% 0 0}.cover-media{inset:-12% 0 0}   /* запас под параллакс вниз (k=.15/.10), чтобы не открывался фон */
.hero-media picture,.hero-media img,.hero-media video{display:block;width:100%;height:100%;object-fit:cover}
.hero-media img,.hero-media video{object-position:var(--hero-focus,60% 35%)}
.hero-media::after{background:linear-gradient(180deg,var(--overlay-0) 30%,var(--overlay-55) 66%,rgba(27,36,48,.8) 100%),linear-gradient(90deg,var(--overlay-55),var(--overlay-0) 60%)}
.hero-vignette .hero-media::before,.cover-vignette .cover-media::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 55%,var(--c-ink) 100%);opacity:.6;z-index:1}
.hero-media::after{z-index:1}
.hero-in{grid-row:2;display:grid;gap:var(--s-6);padding-block:var(--s-8) var(--s-8);align-content:end}
.hero-title{font-size:clamp(3rem,7.2vw,8.5rem);line-height:.95;max-width:none;margin:0;max-height:40vh}
.hero-title>span{display:block}
@media (min-width:1024px){.hero-title .l2{padding-left:calc(3*(100%/12))}}
.hero-bottom{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s-8);align-items:end}
.hero-aside{justify-self:end;align-self:end;display:flex;flex-direction:column;gap:var(--s-3);align-items:flex-end}
.hero-aside .glass-caption{max-width:36ch}
.hero-lead{margin-bottom:var(--s-6)}
.trust{list-style:none;padding:0;margin:var(--s-6) 0 0;display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);font-size:var(--t-small);color:var(--c-steel-soft)}
.trust li{display:flex;gap:var(--s-2);align-items:flex-start;max-width:30ch}
.trust li::before{content:"";flex:none;width:12px;height:14px;margin-top:.3em;background:url(/assets/rosette.svg) no-repeat center/contain}
.hero-flag{display:inline-flex;align-items:center;gap:var(--s-2);justify-self:start;text-decoration:none;font-weight:600;font-size:var(--t-body);color:var(--c-ink);background:var(--c-gold);border:0;border-radius:var(--r-md);padding:var(--s-3) var(--s-6);box-shadow:var(--shadow-raised);transition:background-color var(--dur-hover) var(--ease)}
.hero-flag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c-ink)}
.hero-flag:hover{background:var(--c-gold-soft);color:var(--c-ink)}
.hero-light .hero-flag{background:var(--c-gold);color:var(--c-ink);border:0}
.hero-light .hero-flag:hover{background:var(--c-gold-soft)}
.hero-edge{position:relative;z-index:2}
/* светлая обложка собаки (студийные фото на белом) */
.cover-light{background:var(--c-paper);color:var(--c-ink)}
.cover-light .cover-media img{object-position:var(--hero-focus,60% 40%)}
.cover-light .cover-media::after{background:linear-gradient(90deg,var(--paper-92) 0%,var(--paper-55) 38%,var(--paper-0) 60%),linear-gradient(180deg,var(--paper-0) 60%,var(--c-paper) 100%)}
.cover-light .cover-media::before{display:none}
.cover-light h1{color:var(--c-ink)}
.cover-light .glass-caption{background:var(--glass-bg);color:var(--c-ink);border-color:var(--c-steel-soft)}
.cover-light .glass-caption span{color:var(--c-steel)}
.cover-light :focus-visible{outline-color:var(--c-steel)}
@media (max-width:900px){.cover-light .cover-media img{object-position:50% 15%}.cover-light .cover-media::after{background:linear-gradient(180deg,var(--paper-0) 35%,var(--c-paper) 78%)}}
/* светлая схема hero (фото на белом) */
.hero-light{background:var(--c-paper);color:var(--c-ink)}
.hero-light .hero-media img{object-position:var(--hero-focus,72% 50%)}
.hero-light .hero-media::after{background:linear-gradient(90deg,var(--paper-92) 0%,var(--paper-55) 38%,var(--paper-0) 60%),linear-gradient(180deg,var(--paper-0) 60%,var(--c-paper) 100%)}
.hero-light .hero-media::before{display:none}
.hero-light .hero-title,.hero-light .hero-lead{color:var(--c-ink)}
.hero-light .hero-lead{opacity:1;color:var(--c-steel)}
.hero-light .trust{color:var(--c-steel)}
.hero-light .glass-caption{background:var(--glass-bg);color:var(--c-ink);border-color:var(--c-steel-soft)}
.hero-light .glass-caption span{color:var(--c-steel)}
.hero-light .btn-secondary{background:var(--c-paper);border-color:var(--c-steel-soft);color:var(--c-ink)}.hero-light .btn-secondary::before{background:var(--c-gold-soft)}.hero-light .btn-secondary:hover{border-color:var(--c-steel-soft)}
.hero-light :focus-visible{outline-color:var(--c-steel)}
@media (max-width:900px){.hero-light .hero-media img{object-position:50% 12%}.hero-flag{order:3;width:100%;justify-content:center}.hero-light .hero-media::after{background:linear-gradient(180deg,var(--paper-0) 35%,var(--c-paper) 78%)}.hero-light .trust{display:none}}
@media (max-width:900px){
  .hero{height:100svh;min-height:560px;max-height:900px}
  .hero-in{padding-block:var(--s-6) var(--s-6);gap:var(--s-4)}
  .hero-bottom{grid-template-columns:1fr;gap:var(--s-4)}
  .hero-aside{justify-self:start;align-items:flex-start}
  .hero-title{font-size:clamp(2.4rem,10vw,3.6rem)}
  .hero-lead{font-size:1rem;margin-bottom:var(--s-4)}
  .trust{display:none}
  .hero-media::after{background:linear-gradient(180deg,var(--overlay-0) 20%,rgba(27,36,48,.85) 75%,var(--c-ink) 100%)}
}

/* faq */
.faq{max-width:var(--measure)}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:var(--s-4) 0;font:600 var(--t-h3)/1.3 var(--f-text);letter-spacing:-.01em;display:flex;justify-content:space-between;gap:var(--s-4);align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-weight:400;font-size:1.4rem;color:var(--c-steel);transition:transform 200ms var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--c-steel);padding-bottom:var(--s-4);max-width:60ch}

/* шаги с нумерацией */
.steps{list-style:none;padding:0;margin:0}
.steps li{display:flex;flex-direction:column;gap:var(--s-2);padding-block:var(--s-5);border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps h3,.steps p{margin:0}
.steps p{color:var(--c-steel)}

/* pillars с розеткой-маркером */
.lines.rosettes>*{display:grid;grid-template-columns:20px 1fr;gap:var(--s-4)}
.lines.rosettes>*::before{content:"";width:20px;height:24px;margin-top:.15em;background:url(/assets/rosette.svg) no-repeat center/contain}
.lines.rosettes h3,.lines.rosettes p{grid-column:2}

/* отзывы */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}
@media (max-width:1024px){.reviews{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.reviews{grid-template-columns:1fr}}
.review{display:flex;flex-direction:column;gap:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--line)}
.review img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-md)}
.review-who{font-weight:600}
.review-who span{display:block;font-weight:400;font-size:var(--t-caption);color:var(--c-steel)}
.review p{color:var(--c-steel);margin:0}

/* табы-фильтр */
.tabs-filter{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-8)}
.tabs-filter button{font:500 var(--t-small) var(--f-text);min-height:40px;padding:.4em 1em;border:1px solid var(--c-steel-soft);border-radius:var(--r-sm);background:transparent;color:var(--c-ink);cursor:pointer}
.tabs-filter button[aria-pressed=true]{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-paper)}
.is-filtered-out{display:none!important}

/* карточка щенка: подробности, родители, кнопка */
.puppy-card-more{display:block;font-size:var(--t-caption);color:var(--c-steel);margin-top:var(--s-1)}
.puppy-card-more a{color:var(--c-steel)}
.puppy-card .btn{margin-top:var(--s-3)}
.puppy-card-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;position:absolute;inset:0}
.puppy-card-strip::-webkit-scrollbar{display:none}
.puppy-card-strip img{flex:0 0 100%;scroll-snap-align:start;height:100%;object-fit:cover}
