:root{
  --ink:        #14110f;
  --ink-2:      #241f1c;
  --ink-3:      #4a4340;
  --muted:      #7d746e;
  --cream:      #faf7f2;
  --sand:       #f2ebe1;
  --line:       #e3d9cb;
  --gold:       #b9793f;
  --gold-soft:  #e6c39b;
  --gold-deep:  #8f5a2b;

  --shell:      1240px;
  --gap:        clamp(1rem, 2.2vw, 2rem);

  --r-sm: 10px;
  --r-md: 18px;
  --r-lg: 28px;

  --shadow-s: 0 2px 10px rgba(30,22,16,.05);
  --shadow-m: 0 14px 40px -18px rgba(30,22,16,.28);
  --shadow-l: 0 40px 90px -40px rgba(30,22,16,.45);

  --ff-display: "Playfair Display", "Georgia", "Times New Roman", serif;
  --ff-body:    "Inter", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:96px; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--ff-body);
  font-size:clamp(15px,.55vw + 13.6px,17px);
  line-height:1.7;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
ul,ol{ margin:0; padding:0; list-style:none; }
figure{ margin:0; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }

::selection{ background:var(--gold-soft); color:var(--ink); }

html{ -webkit-tap-highlight-color:rgba(0,0,0,0); }

:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:4px;
}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--ink); color:var(--cream);
  padding:.75rem 1.25rem; border-radius:0 0 var(--r-sm) 0;
}
.skip-link:focus{ left:0; }

.shell{
  width:min(100% - 2.5rem, var(--shell));
  margin-inline:auto;
}

html{
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:var(--gold) var(--sand);
}

*::-webkit-scrollbar{ width:13px; height:13px; }

*::-webkit-scrollbar-track{
  background:var(--sand);
  border-left:1px solid var(--line);
}

*::-webkit-scrollbar-thumb{
  border-radius:100px;
  border:3px solid transparent;
  background:linear-gradient(180deg, var(--gold-soft), var(--gold));
  background-clip:padding-box;
  transition:background-color .3s var(--ease);
}
*::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, var(--gold), var(--gold-deep));
  background-clip:padding-box;
}
*::-webkit-scrollbar-thumb:active{
  background:var(--gold-deep);
  background-clip:padding-box;
}

*::-webkit-scrollbar-corner{ background:var(--sand); }

.section--dark::-webkit-scrollbar-track,
.footer::-webkit-scrollbar-track{ background:var(--ink-2); border-left-color:rgba(255,255,255,.1); }

.h2{
  font-family:var(--ff-display);
  font-weight:500;
  font-size:clamp(2rem,3.6vw,3.4rem);
  line-height:1.12;
  letter-spacing:-.015em;
  margin:.35em 0 .5em;
}
.h2 em{ font-style:italic; color:var(--gold-deep); }

.h3{
  font-family:var(--ff-display);
  font-weight:500;
  font-size:clamp(1.25rem,1.5vw,1.6rem);
  line-height:1.25;
  margin:.2em 0 .6em;
}

.eyebrow{
  margin:0;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold-deep);
}

.lead{
  font-size:clamp(1rem,.5vw + .92rem,1.15rem);
  color:var(--ink-3);
  max-width:62ch;
  margin:0 0 1.6rem;
}
.lead--center{ margin-inline:auto; text-align:center; }

.section{ padding:clamp(4.5rem,8vw,8.5rem) 0; position:relative; }

.section__head{
  text-align:center;
  max-width:74ch;
  margin:0 auto clamp(2.5rem,5vw,4.5rem);
}
.section__head .h2{ margin-top:.3em; }

.section--sand{ background:var(--sand); }

.section--dark{
  background:var(--ink);
  color:#efe8de;
}
.section--dark .h2{ color:#fbf7f1; }
.section--dark .h2 em{ color:var(--gold-soft); }
.section--dark .eyebrow{ color:var(--gold-soft); }
.section--dark .lead{ color:#bdb2a6; }

.btn{
  --btn-bg:transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.95rem 1.9rem;
  border:1px solid transparent;
  border-radius:100px;
  font-size:.92rem; font-weight:500; letter-spacing:.01em;
  cursor:pointer;
  transition:transform .3s var(--ease), background-color .3s var(--ease),
             color .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }

.btn--solid{
  background:var(--ink); color:var(--cream);
  box-shadow:var(--shadow-m);
}
.btn--solid:hover{ background:var(--gold-deep); }

.btn--ghost{
  border-color:var(--line);
  background:transparent; color:var(--ink);
}
.btn--ghost:hover{ border-color:var(--ink); background:rgba(20,17,15,.04); }

.btn--sm{ padding:.68rem 1.35rem; font-size:.85rem; }
.btn--full{ width:100%; }
.btn__ico{ width:1.05em; height:1.05em; display:block; }
.btn__ico svg{ width:100%; height:100%; display:block; }

.section--dark .btn--solid{ background:var(--cream); color:var(--ink); }
.section--dark .btn--solid:hover{ background:var(--gold-soft); }

.header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  border-bottom:1px solid transparent;
  transition:border-color .4s var(--ease);
}

.header::before{
  content:"";
  position:absolute; inset:0; z-index:-1;
  background:rgba(250,247,242,0);
  transition:background-color .4s var(--ease);
}
.header.is-stuck::before{
  background:rgba(250,247,242,.86);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
}
.header.is-stuck{ border-bottom-color:var(--line); }

.header__inner{
  display:flex; align-items:center; gap:1.25rem;
  min-height:78px;
  transition:min-height .4s var(--ease);
}
.header.is-stuck .header__inner{ min-height:66px; }

.header__left{ display:flex; align-items:center; gap:1.4rem; margin-right:auto; }

.creds{ display:flex; gap:.4rem; }
.creds__item{
  padding:.22rem .65rem; border-radius:100px;
  border:1px solid var(--line); background:rgba(255,255,255,.55);
  font-size:.66rem; font-weight:600; letter-spacing:.14em;
  color:var(--gold-deep); white-space:nowrap;
}

.brand{ display:flex; align-items:center; gap:.7rem; }
.brand__mark{ width:40px; height:40px; color:var(--ink); flex:none; }
.brand__mark svg{ width:100%; height:100%; }
.brand__text{ display:flex; flex-direction:column; line-height:1.15; }
.brand__name{
  font-family:var(--ff-display); font-size:1.15rem; font-weight:600; letter-spacing:.01em;
  white-space:nowrap;
}
.brand__sub{
  font-size:.62rem; letter-spacing:.19em; text-transform:uppercase; color:var(--muted);
  white-space:nowrap;
}

.nav__list{ display:flex; align-items:center; gap:clamp(.5rem,1.3vw,1.5rem); }
.nav__link{
  position:relative;
  font-size:.86rem; font-weight:450;
  padding:.4rem .1rem;
  color:var(--ink-3);
  white-space:nowrap;
  transition:color .25s var(--ease);
}
.nav__link::after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  height:1px; background:var(--gold-deep);
  transform:scaleX(0); transform-origin:right;
  transition:transform .35s var(--ease);
}
.nav__link:hover{ color:var(--ink); }
.nav__link:hover::after,
.nav__link.is-active::after{ transform:scaleX(1); transform-origin:left; }
.nav__link.is-active{ color:var(--ink); font-weight:550; }

.burger{
  display:none;
  width:44px; height:44px;
  background:none; border:1px solid var(--line); border-radius:50%;
  position:relative; cursor:pointer; flex:none;
}
.burger span{
  position:absolute; left:12px; right:12px; height:1.5px;
  background:var(--ink); border-radius:2px;
  transition:transform .35s var(--ease), opacity .2s var(--ease);
}
.burger span:nth-child(1){ top:16px; }
.burger span:nth-child(2){ top:21px; }
.burger span:nth-child(3){ top:26px; }
.burger.is-open span:nth-child(1){ transform:translateY(5px) rotate(45deg); }
.burger.is-open span:nth-child(2){ opacity:0; }
.burger.is-open span:nth-child(3){ transform:translateY(-5px) rotate(-45deg); }

.media{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(120% 90% at 25% 15%, #efe4d6 0%, #e3d6c4 45%, #d8c8b3 100%);
  box-shadow:var(--shadow-m);
  isolation:isolate;
}
.media::before{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23b9793f' fill-opacity='.16'%3E%3Cellipse cx='60' cy='70' rx='15' ry='13'/%3E%3Cellipse cx='40' cy='50' rx='6.5' ry='9' transform='rotate(-20 40 50)'/%3E%3Cellipse cx='54' cy='42' rx='6' ry='9.5'/%3E%3Cellipse cx='70' cy='43' rx='6' ry='9.5'/%3E%3Cellipse cx='83' cy='52' rx='6.5' ry='9' transform='rotate(20 83 52)'/%3E%3C/g%3E%3C/svg%3E");
  background-size:120px 120px;
  opacity:.55;
}

.media::after{
  content:attr(data-label);
  position:absolute; inset:0;
  display:grid; place-items:center;
  padding:1.2rem;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; line-height:1.6;
  color:var(--gold-deep);
  text-align:center;
  text-shadow:0 1px 0 rgba(250,247,242,.6);
}

.media picture{ display:contents; }

.gallery-slider{
  position:absolute; inset:0; z-index:2;
  display:flex;
  border-radius:inherit;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none;
  overscroll-behavior-x:contain;
}
.gallery-slider::-webkit-scrollbar{ display:none; }
.media .gallery-slider picture{
  display:block; flex:0 0 100%; height:100%;
  overflow:hidden;
  scroll-snap-align:start; scroll-snap-stop:always;
}

.gallery-arrow{
  position:absolute; top:50%; z-index:4;
  transform:translateY(-50%);
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(250,247,242,.88);
  border:1px solid rgba(20,17,15,.1);
  color:var(--ink); font-size:1.25rem; line-height:1;
  cursor:pointer; opacity:.75;
  transition:opacity .3s var(--ease), background-color .3s var(--ease), transform .3s var(--ease);
}
.media:hover .gallery-arrow:not([disabled]){ opacity:1; }
.gallery-arrow:hover:not([disabled]){ background:var(--cream); transform:translateY(-50%) scale(1.08); }
.gallery-arrow--prev{ left:.7rem; }
.gallery-arrow--next{ right:.7rem; }
.gallery-arrow[disabled]{ opacity:0; pointer-events:none; }

.gallery-arrow, .gallery-dot{ cursor:pointer; }

.gallery-dots{
  position:absolute; left:0; right:0; bottom:.9rem; z-index:4;
  display:flex; justify-content:center; gap:.4rem;
}
.gallery-dot{
  width:7px; height:7px; padding:0; border:none; border-radius:50%;
  background:rgba(250,247,242,.55);
  box-shadow:0 1px 3px rgba(20,17,15,.35);
  cursor:pointer;
  transition:background-color .3s var(--ease), transform .3s var(--ease);
}
.gallery-dot.is-active{ background:var(--cream); transform:scale(1.4); }

.gallery-count{
  position:absolute; top:.7rem; right:.7rem; z-index:4;
  padding:.15rem .55rem; border-radius:100px;
  background:rgba(20,17,15,.6); color:#fff;
  font-size:.7rem; letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
}

@media (max-width:620px){
  .gallery-arrow{ width:34px; height:34px; font-size:1.1rem; }
  .gallery-arrow--prev{ left:.4rem; }
  .gallery-arrow--next{ right:.4rem; }
}

.media img{
  position:relative; z-index:2;
  width:100%; height:100%; object-fit:cover;
  transition:transform .8s var(--ease), filter .8s var(--ease);
  user-select:none; -webkit-user-select:none;
  -webkit-user-drag:none; -webkit-touch-callout:none;
}

.media:not(.is-empty){ cursor:pointer; }

.media.is-empty img{ display:none; }

.media--arch{
  border-radius:50% 50% var(--r-md) var(--r-md) / 34% 34% var(--r-md) var(--r-md);
  aspect-ratio:4/5;
}
.media--tall{ border-radius:var(--r-lg); aspect-ratio:4/5; }
.media--wide{ border-radius:var(--r-lg); aspect-ratio:4/3; }

.hero{
  position:relative;
  padding:calc(78px + clamp(2.5rem,6vw,5.5rem)) 0 0;
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0; z-index:0;
  --hero-photo:image-set(
    url("../img/hero-1600.webp") type("image/webp"),
    url("../img/hero.jpg") type("image/jpeg"));
  background-image:
    linear-gradient(100deg,
      rgba(250,247,242,.9) 0%,
      rgba(250,247,242,.78) 30%,
      rgba(250,247,242,.3) 55%,
      rgba(250,247,242,.06) 100%),
    var(--hero-photo);
  background-size:auto, cover;
  background-position:center, center 32%;
  background-repeat:no-repeat;
  filter:saturate(1.02);
  transform:scale(1.02);
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 68%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 0%, #000 68%, transparent 100%);
}

.hero__glow{
  position:absolute; z-index:0;
  top:-22%; right:-12%;
  width:min(78vw,900px); aspect-ratio:1;
  background:radial-gradient(circle at 50% 50%, rgba(230,195,155,.55), rgba(230,195,155,0) 68%);
  pointer-events:none;
}
.hero__inner{
  position:relative; z-index:1;
  display:grid;
  align-items:center;
  min-height:clamp(28rem, 60vh, 40rem);
  padding-bottom:clamp(3rem,6vw,5.5rem);
}
.hero__content{ max-width:min(100%, 40rem); }

.hero__title{
  font-family:var(--ff-display);
  font-weight:400;
  font-size:clamp(2.7rem,7vw,5.6rem);
  line-height:1.02;
  letter-spacing:-.025em;
  margin:.28em 0 .3em;
}
.hero__title em{ font-style:italic; color:var(--gold-deep); }

.hero__title-sub{
  display:block;
  margin-top:.5em;
  font-family:var(--ff-body);
  font-size:clamp(.95rem,1.1vw + .7rem,1.3rem);
  font-weight:400;
  line-height:1.4;
  letter-spacing:.005em;
  color:var(--ink-3);
}

.hero__latin{ letter-spacing:.06em; text-transform:uppercase; font-size:.92em; }

.hero__lead{
  font-size:clamp(1.05rem,.8vw + .9rem,1.3rem);
  color:var(--ink-3);
  margin:0 0 1.6rem;
}
.hero__lead strong{ color:var(--ink); font-weight:600; }

.hero__motto{
  position:relative;
  margin:0 0 2.2rem;
  padding-left:1.4rem;
  border-left:2px solid var(--gold);
  font-family:var(--ff-display);
  font-style:italic;
  font-size:clamp(1.05rem,1.1vw + .8rem,1.35rem);
  line-height:1.45;
  color:var(--ink-2);
  max-width:34ch;
}

.hero__actions{ display:flex; flex-wrap:wrap; gap:.8rem; margin-bottom:2.6rem; }

.hero__owner{
  display:flex; align-items:center; gap:1rem;
  font-size:.88rem; color:var(--muted);
}
.hero__owner b{ color:var(--ink); font-weight:600; }
.hero__owner-line{ width:56px; height:1px; background:var(--line); flex:none; }

.ticker{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;
  padding:.9rem 0;
  background:rgba(242,235,225,.5);
}
.ticker__track{
  display:flex; align-items:center; gap:1.6rem;
  width:max-content;
  animation:ticker 46s linear infinite;
  font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3);
}
.ticker__track i{ color:var(--gold); font-style:normal; }
@keyframes ticker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

.grid-2{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:clamp(1.5rem,3.5vw,3.5rem);
  align-items:start;
}
.grid-2--wide{ grid-template-columns:1.1fr .9fr; align-items:center; }

.ticks{ display:grid; gap:1.1rem; margin-top:1.8rem; }
.ticks li{
  position:relative; padding-left:2.4rem;
  color:var(--ink-3); font-size:.97rem;
}
.ticks li b{ color:var(--ink); font-weight:600; }
.ticks li::before{
  content:""; position:absolute; left:0; top:.35em;
  width:1.35rem; height:1.35rem; border-radius:50%;
  background:var(--gold-soft);
  box-shadow:inset 0 0 0 1px rgba(143,90,43,.35);
}
.ticks li::after{
  content:""; position:absolute; left:.42rem; top:.72em;
  width:.5rem; height:.28rem;
  border-left:1.6px solid var(--gold-deep);
  border-bottom:1.6px solid var(--gold-deep);
  transform:rotate(-45deg);
}

.about__gallery{
  display:grid; gap:1.1rem;
  grid-template-columns:repeat(2,1fr);
}
.about__gallery .media--tall{ grid-column:1 / -1; }
.about__gallery .media--wide{ grid-column:1 / -1; }

.stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:clamp(3rem,6vw,5.5rem);
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  overflow:hidden;
}
.stat{
  background:var(--cream);
  padding:clamp(1.4rem,2.6vw,2.2rem);
  text-align:center;
}
.stat b{
  display:block;
  font-family:var(--ff-display);
  font-size:clamp(1.8rem,2.6vw,2.6rem);
  font-weight:500; line-height:1;
  color:var(--gold-deep);
  margin-bottom:.5rem;
}
.stat b span{ font-size:.42em; letter-spacing:.04em; margin-left:.2em; color:var(--ink-3); }
.stat > span{ font-size:.82rem; color:var(--muted); }

.cards-4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(1rem,1.8vw,1.6rem);
}
.card{
  position:relative;
  padding:clamp(1.6rem,2.4vw,2.2rem);
  border-radius:var(--r-md);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  transition:transform .45s var(--ease), background-color .45s var(--ease), border-color .45s var(--ease);
}
.card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.09);
  border-color:rgba(230,195,155,.4);
}
.card__num{
  position:absolute; top:1.2rem; right:1.4rem;
  font-family:var(--ff-display); font-size:2.4rem; font-style:italic;
  color:rgba(230,195,155,.18); line-height:1;
}
.card__ico{
  display:grid; place-items:center;
  width:48px; height:48px; margin-bottom:1.2rem;
  border-radius:50%;
  background:rgba(230,195,155,.12);
  color:var(--gold-soft);
}
.card__ico svg{ width:22px; height:22px; }
.card h3{
  font-family:var(--ff-display); font-weight:500;
  font-size:1.28rem; margin:0 0 .55rem; color:#fbf7f1;
}
.card p{ margin:0; font-size:.92rem; color:#b6aa9c; }

.puppies{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:clamp(1.4rem,2.6vw,2.4rem);
}
.puppy{ display:flex; flex-direction:column; }
.puppy .media{ margin-bottom:1.2rem; }
.puppy:hover .media img{ transform:scale(1.045); }

.puppy__row{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.puppy__name{
  font-family:var(--ff-display); font-weight:500;
  font-size:1.3rem; margin:0;
}
.puppy__meta{ margin:.15rem 0 .9rem; font-size:.86rem; color:var(--muted); }
.puppy__facts{ display:grid; gap:.4rem; margin-bottom:1rem; }
.puppy__facts li{
  position:relative; padding-left:1.05rem;
  font-size:.88rem; color:var(--ink-3);
}
.puppy__facts li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:6px; height:6px; border-radius:50%; background:var(--gold-soft);
}
.puppy__price{
  margin:0 0 1rem;
  font-size:1.05rem; font-weight:600; color:var(--gold-deep);
}
.puppy .btn{ margin-top:auto; }

.puppies__wait{
  max-width:640px; margin-inline:auto; text-align:center;
  padding:clamp(1.8rem,3.6vw,3rem);
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:linear-gradient(160deg, #fffaf3, var(--sand));
  box-shadow:var(--shadow-s);
}
.puppies__wait-title{
  margin:0 0 .5rem;
  font-family:var(--ff-display); font-weight:500;
  font-size:clamp(1.3rem,2.2vw,1.75rem);
}
.puppies__wait-text{
  margin:0 0 1.5rem;
  color:var(--ink-3); font-size:1rem;
}
#puppies{ padding-top:0; }
.has-puppies .puppies__wait{ display:none; }
.no-puppies .puppies{ display:none; }

#puppies:not(.has-puppies):not(.no-puppies):has(.puppy) .puppies__wait{ display:none; }
#puppies:not(.has-puppies):not(.no-puppies):not(:has(.puppy)) .puppies{ display:none; }

.dogs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.5rem,3vw,2.8rem);
}
.dog{ display:flex; flex-direction:column; }
.dog .media{ margin-bottom:1.5rem; }
.dog:hover .media img{ transform:scale(1.045); }

.dog__row{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.dog__name{
  font-family:var(--ff-display); font-weight:500;
  font-size:1.4rem; margin:0;
}
.dog__meta{ margin:.15rem 0 1rem; font-size:.86rem; color:var(--muted); }

.chip{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.3rem .75rem; border-radius:100px;
  font-size:.74rem; font-weight:500; letter-spacing:.03em;
  border:1px solid var(--line);
  background:#fff;
  white-space:nowrap;
}
.chip::before{
  content:""; width:.6rem; height:.6rem; border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);
  background:var(--dot, #b9793f);
}
.chip--red{ --dot:#b8552d; }
.chip--black{ --dot:#1d1a20; }
.chip--brown{ --dot:#5f3b23; }

.dog__titles{ display:grid; gap:.45rem; padding-top:1rem; border-top:1px solid var(--line); }
.dog__titles:empty{ display:none; }
.dog__titles li{
  position:relative; padding-left:1.05rem;
  font-size:.9rem; color:var(--ink-3);
}
.dog__titles li::before{
  content:""; position:absolute; left:0; top:.65em;
  width:5px; height:5px; border-radius:50%; background:var(--gold);
}

.dog__test{
  display:flex; align-items:center; gap:.5rem;
  margin:1.1rem 0 0;
  font-size:.85rem; font-weight:500; color:var(--gold-deep);
}
.dot{
  width:.5rem; height:.5rem; border-radius:50%; flex:none;
  background:#4c9a5c;
  box-shadow:0 0 0 3px rgba(76,154,92,.18);
}

.note{
  margin:clamp(2.5rem,5vw,4rem) auto 0;
  max-width:78ch;
  padding:1.4rem 1.7rem;
  border-radius:var(--r-md);
  background:var(--sand);
  border:1px solid var(--line);
  font-size:.93rem; color:var(--ink-3);
}
.note b{ color:var(--ink); }

.palette{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:clamp(.8rem,1.6vw,1.5rem);
}
.swatch{ text-align:center; }
.swatch--black{   --c1:#26232a; --c2:#0b0a0c; }
.swatch--brown{   --c1:#6b432a; --c2:#3d2415; }
.swatch--apricot{ --c1:#f0c79c; --c2:#d9a373; }
.swatch--red{     --c1:#c2683c; --c2:#9a4425; }
.swatch--grey{    --c1:#d7d9da; --c2:#a9adb0; }
.swatch__blob{
  display:block;
  aspect-ratio:1;
  border-radius:50% 50% 48% 52% / 55% 52% 48% 45%;
  background:radial-gradient(circle at 32% 28%, var(--c1), var(--c2));
  box-shadow:var(--shadow-m), inset 0 -12px 26px rgba(0,0,0,.16);
  margin-bottom:1rem;
  transition:transform .5s var(--ease), border-radius .8s var(--ease);
}
.swatch:hover .swatch__blob{
  transform:translateY(-6px) rotate(-4deg);
  border-radius:52% 48% 55% 45% / 45% 55% 45% 55%;
}
.swatch figcaption{ display:flex; flex-direction:column; gap:.15rem; }
.swatch b{ font-size:.95rem; font-weight:600; }
.swatch span{ font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.swatch em{
  margin-top:.3rem;
  font-size:.8rem; font-style:normal; line-height:1.35;
  color:var(--gold-deep);
}
.swatch em:empty{ display:none; }

.coat{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:clamp(1.5rem,3vw,3rem);
  align-items:center;
  margin-top:clamp(3rem,6vw,5rem);
  padding:clamp(1.8rem,3.4vw,3rem);
  border-radius:var(--r-lg);
  background:var(--cream);
  border:1px solid var(--line);
  box-shadow:var(--shadow-s);
}
.coat p{ margin:0; color:var(--ink-3); }
.coat__badges{ display:flex; flex-wrap:wrap; gap:.6rem; }

.pill{
  display:inline-block;
  padding:.42rem 1rem;
  border-radius:100px;
  background:var(--sand);
  border:1px solid var(--line);
  font-size:.8rem; color:var(--ink-3);
}
.section--sand .pill{ background:#fff; }

.why{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.why__item{
  background:var(--cream);
  padding:clamp(1.8rem,3.2vw,3rem);
  transition:background-color .4s var(--ease);
}
.why__item:hover{ background:#fff; }
.why__idx{
  display:block;
  font-family:var(--ff-display); font-style:italic;
  font-size:1.1rem; color:var(--gold);
  margin-bottom:1rem;
}
.why__item h3{
  font-family:var(--ff-display); font-weight:500;
  font-size:clamp(1.25rem,1.6vw,1.6rem); margin:0 0 .7rem;
}
.why__item p{ margin:0; color:var(--ink-3); font-size:.97rem; }
.why__item b{ color:var(--ink); font-weight:600; }

.steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:clamp(1rem,1.8vw,1.6rem);
  counter-reset:step;
}
.step{
  position:relative;
  padding-top:2.6rem;
  border-top:1px solid rgba(255,255,255,.16);
}
.step__n{
  position:absolute; top:-.9rem; left:0;
  display:flex; align-items:center; justify-content:center;
  width:2.6rem; height:2.6rem; border-radius:50%;
  background:var(--ink); border:1px solid rgba(230,195,155,.45);
  font-family:var(--ff-display); font-size:1.1rem; line-height:1;
  font-variant-numeric:lining-nums; color:var(--gold-soft);
}
.step h3{
  font-family:var(--ff-display); font-weight:500;
  font-size:1.15rem; margin:0 0 .5rem; color:#fbf7f1;
}
.step p{ margin:0; font-size:.9rem; color:#b6aa9c; }

.cta-inline{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:1.2rem;
  margin-top:clamp(3rem,5vw,4.5rem);
  padding:clamp(1.6rem,3vw,2.4rem);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
}
.cta-inline p{
  margin:0;
  font-family:var(--ff-display); font-style:italic;
  font-size:clamp(1.1rem,1.6vw,1.5rem); color:#fbf7f1;
}

.panel{
  padding:clamp(1.8rem,3.2vw,3rem);
  border-radius:var(--r-lg);
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-s);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
.panel:hover{ transform:translateY(-5px); box-shadow:var(--shadow-m); }
.panel__ico{
  display:grid; place-items:center;
  width:54px; height:54px; margin-bottom:1.4rem;
  border-radius:50%;
  background:var(--sand); color:var(--gold-deep);
}
.panel__ico svg{ width:24px; height:24px; }
.panel p{ color:var(--ink-3); }
.panel__tags{ display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.5rem; }

.gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(.7rem,1.4vw,1.2rem);
  align-items:start;
}
.media--g{
  width:100%;
  aspect-ratio:3/4;
  border-radius:var(--r-md);
  box-shadow:var(--shadow-s);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.media--g:hover{ transform:translateY(-4px); box-shadow:var(--shadow-m); }
.media--g img{ object-position:center 28%; }
.media--g:hover img{ transform:scale(1.06); }
.media--g::after{ display:none; }

.media__cap{
  position:absolute; inset:auto 0 0 0; z-index:3;
  margin:0;
  padding:1.6rem .8rem .65rem;
  font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; line-height:1.6;
  text-align:center;
  color:#fff;
  text-shadow:0 1px 3px rgba(20,17,15,.65);
  background:linear-gradient(to top, rgba(20,17,15,.82), rgba(20,17,15,.32) 55%, rgba(20,17,15,0));
}
.media__cap:empty{ display:none; }
.media--g.is-empty .media__cap{ display:none; }
.media--g.is-empty::after{
  display:grid;
  inset:0;
  z-index:auto;
  display:grid; place-items:center;
  padding:.7rem;
  color:var(--gold-deep);
  text-shadow:0 1px 0 rgba(250,247,242,.6);
  background:none;
}
.media--g .gallery-dots{
  top:.85rem; bottom:auto; left:.8rem; right:auto;
  justify-content:flex-start;
}
.media--g[data-label=""]::after{ display:none; }


.section--contacts{
  background:linear-gradient(180deg, var(--cream) 0%, var(--sand) 100%);
}
.contacts{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:clamp(1.5rem,3vw,3rem);
  align-items:start;
}

.contacts__card{
  padding:clamp(1.8rem,3.2vw,2.8rem);
  border-radius:var(--r-lg);
  background:var(--ink);
  color:#efe8de;
  box-shadow:var(--shadow-l);
  position:sticky; top:100px;
}
.contacts__role{
  margin:0; font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold-soft);
}
.contacts__name{
  font-family:var(--ff-display); font-weight:500;
  font-size:clamp(1.5rem,2.2vw,2rem); line-height:1.2;
  margin:.6rem 0 1.1rem; color:#fbf7f1;
}
.contacts__city{
  display:flex; align-items:center; gap:.6rem;
  margin:0 0 1.8rem; font-size:.9rem; color:#b6aa9c;
}
.contacts__city .dot{ background:var(--gold-soft); box-shadow:0 0 0 3px rgba(230,195,155,.18); }

.phone{
  display:block;
  font-family:var(--ff-display);
  font-size:clamp(1.5rem,2.4vw,2.1rem);
  letter-spacing:.01em;
  color:#fbf7f1;
  margin-bottom:1.5rem;
  transition:color .3s var(--ease);
}
.phone:hover{ color:var(--gold-soft); }

.contacts__prefer{
  margin:1.6rem 0 0;
  padding:clamp(1.1rem,2vw,1.5rem) clamp(1.1rem,2vw,1.4rem);
  border-radius:var(--r-md);
  border:1px solid rgba(230,195,155,.5);
  background:linear-gradient(135deg, rgba(230,195,155,.2), rgba(230,195,155,.1));
  box-shadow:0 0 0 4px rgba(230,195,155,.07);
  font-size:clamp(1.02rem,.45vw + .95rem,1.2rem);
  line-height:1.45;
  font-weight:500;
  letter-spacing:.005em;
  color:#f6e7d4;
}
.contacts__prefer:empty{ display:none; }

.contacts__hint{
  margin:1.4rem 0 0; padding-top:1.4rem;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:.82rem; color:#9c9186;
}

.contacts__group-title{
  margin:0 0 .9rem;
  font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
}
.contacts__links > .links{ margin-bottom:2.2rem; }
.contacts__links > .links:last-child{ margin-bottom:0; }

.links{ display:grid; gap:.7rem; }

.link-card{
  display:flex; align-items:center; gap:1rem;
  padding:1.05rem 1.3rem;
  border-radius:var(--r-md);
  background:#fff;
  border:1px solid var(--line);
  transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
}
a.link-card:hover{
  transform:translateX(4px);
  border-color:var(--gold);
  box-shadow:var(--shadow-m);
}
.link-card--static{ background:rgba(255,255,255,.55); }
.link-card__ico{
  display:grid; place-items:center;
  width:42px; height:42px; flex:none;
  border-radius:50%;
  background:var(--sand); color:var(--gold-deep);
}
.link-card__ico svg{ width:20px; height:20px; }
.link-card__ico--brand svg,
.link-card__ico--brand img{ width:28px; height:28px; border-radius:7px; display:block; }
.link-card__body{ display:flex; flex-direction:column; line-height:1.35; min-width:0; }
.link-card__body b{ font-size:.98rem; font-weight:600; }
.link-card__body span{ font-size:.83rem; color:var(--muted); }
.link-card__arrow{
  margin-left:auto; color:var(--gold-deep); font-size:1.1rem;
  transition:transform .35s var(--ease);
}
a.link-card:hover .link-card__arrow{ transform:translateX(4px); }

.faq{ max-width:900px; margin-inline:auto; display:grid; gap:.8rem; }
.faq__item{
  border:1px solid var(--line);
  border-radius:var(--r-md);
  background:#fff;
  overflow:hidden;
  transition:border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.faq__item[open]{ border-color:var(--gold); box-shadow:var(--shadow-s); }
.faq__q{
  display:flex; align-items:center; gap:1rem;
  padding:1.15rem 1.4rem;
  cursor:pointer; list-style:none;
  font-family:var(--ff-display);
  font-size:clamp(1rem,1.2vw,1.18rem);
  font-weight:500;
  transition:color .3s var(--ease);
}
.faq__q:hover{ color:var(--gold-deep); }
.faq__q::-webkit-details-marker{ display:none; }
.faq__q h3{ margin:0; font:inherit; }
.faq__q::after{
  content:"+";
  margin-left:auto; flex:none;
  font-family:var(--ff-body); font-size:1.4rem; font-weight:400; line-height:1;
  color:var(--gold-deep);
  transition:transform .45s var(--ease);
}
.faq__item[open] .faq__q::after{ transform:rotate(135deg); }
.faq__item.is-closing .faq__q::after{ transform:rotate(0deg); }
.faq__a{ padding:0 1.4rem 1.3rem; margin:0; color:var(--ink-3); font-size:.95rem; }

.faq__item[open] .faq__a{ animation:faqIn .45s var(--ease) both; }
@keyframes faqIn{
  from{ opacity:0; transform:translateY(-8px); }
  to  { opacity:1; transform:none; }
}

.faq__item.is-closing .faq__a{ animation:faqOut .28s var(--ease) both; }
@keyframes faqOut{
  from{ opacity:1; transform:none; }
  to  { opacity:0; transform:translateY(-6px); }
}
.faq__link{ color:var(--gold-deep); font-weight:600; border-bottom:1px solid var(--gold-soft); }
.faq__link:hover{ border-bottom-color:var(--gold-deep); }

.seo-text{
  max-width:80ch;
  margin:clamp(2.5rem,5vw,4rem) auto 0;
  padding-top:clamp(1.5rem,3vw,2.2rem);
  border-top:1px solid var(--line);
  font-size:.88rem;
  line-height:1.75;
  color:var(--muted);
  text-align:center;
}
.seo-text b{ color:var(--ink-3); font-weight:600; }

.footer{
  background:var(--ink);
  color:#9c9186;
  padding:clamp(2.5rem,5vw,4rem) 0;
}
.footer__inner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1.5rem;
}
.footer__brand{ display:flex; flex-direction:column; gap:.25rem; color:#efe8de; }
.footer__sub{ font-size:.78rem; letter-spacing:.1em; color:#8b8177; }
.footer__nav{ display:flex; flex-wrap:wrap; gap:1.3rem; font-size:.86rem; }
.footer__nav a{ transition:color .25s var(--ease); }
.footer__nav a:hover{ color:var(--gold-soft); }
.footer__copy{ width:100%; margin:0; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.1); font-size:.78rem; }

.lightbox{
  position:fixed; inset:0; z-index:200;
  display:block;
  padding:0;

  background:rgba(12,10,8,.94);
  backdrop-filter:blur(10px) saturate(.85);
  -webkit-backdrop-filter:blur(10px) saturate(.85);
  opacity:0;
  transition:opacity .32s var(--ease);
}
.lightbox[hidden]{ display:none; }
.lightbox.is-open{ opacity:1; }

.lightbox__stage{
  position:absolute; inset:0;
  display:grid; place-items:center;
  padding:clamp(.75rem,2.5vw,2rem);
  padding-bottom:clamp(5.5rem,12vh,7.5rem);
  overflow:hidden;
  touch-action:none;
}

.lightbox__nav{
  position:absolute; top:50%; z-index:4;
  transform:translateY(-50%);
  width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(16,13,11,.72);
  border:1.5px solid rgba(255,255,255,.55);
  box-shadow:0 4px 18px rgba(0,0,0,.45);
  color:#fff; font-size:1.9rem; line-height:1;
  cursor:pointer;
  transition:background-color .25s var(--ease), transform .25s var(--ease),
             border-color .25s var(--ease);
}
.lightbox__nav:hover{
  background:var(--gold-deep);
  border-color:#fff;
  transform:translateY(-50%) scale(1.08);
}
.lightbox__nav:active{ transform:translateY(-50%) scale(.94); }
.lightbox__nav--prev{ left:clamp(.5rem,2vw,1.6rem); }
.lightbox__nav--next{ right:clamp(.5rem,2vw,1.6rem); }

.lightbox__counter{
  position:absolute; top:1.4rem; left:50%; z-index:4;
  transform:translateX(-50%);
  padding:.3rem .9rem; border-radius:100px;
  background:rgba(16,13,11,.72);
  border:1px solid rgba(255,255,255,.3);
  color:#fff; font-size:.8rem; letter-spacing:.06em;
  font-variant-numeric:tabular-nums;
}

.lightbox__panel{
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  padding:2.5rem 1rem calc(1rem + env(safe-area-inset-bottom));
  background:linear-gradient(to top, rgba(12,10,8,.92) 40%, rgba(12,10,8,0));
  pointer-events:none;
}
.lightbox__panel > *{ pointer-events:auto; }

.lightbox__img{
  max-width:100%; max-height:100%;
  border-radius:var(--r-md);
  box-shadow:var(--shadow-l);
  transform:scale(.92);
  opacity:0;
  transform-origin:center center;
  transition:transform .38s var(--ease), opacity .38s var(--ease);
  cursor:zoom-in;
  user-select:none; -webkit-user-drag:none;
}
.lightbox.is-open .lightbox__img{ opacity:1; }

.lightbox__img.is-instant{ transition:none; }
.lightbox__img.is-zoomed{ cursor:grab; }
.lightbox__img.is-dragging{ cursor:grabbing; }

body.lightbox-open{ overflow:hidden; }

.lightbox__close{
  position:absolute; top:1.2rem; right:1.5rem; z-index:2;
  width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25);
  color:#fff; font-size:1.7rem; line-height:1; cursor:pointer;
  transition:background-color .3s var(--ease), transform .3s var(--ease);
}
.lightbox__close:hover{ background:rgba(255,255,255,.2); transform:rotate(90deg); }

.lightbox__bar{
  flex:none;
  display:flex; align-items:center; gap:.5rem;
  padding:.35rem .45rem;
  border-radius:100px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
}
.lightbox__zoom{
  width:36px; height:36px; border-radius:50%;
  background:transparent; border:none;
  color:#fff; font-size:1.25rem; line-height:1; cursor:pointer;
  transition:background-color .25s var(--ease);
}
.lightbox__zoom:hover{ background:rgba(255,255,255,.15); }
.lightbox__zoom:disabled{ opacity:.35; cursor:default; }
.lightbox__level{
  min-width:4ch; text-align:center;
  font-size:.8rem; letter-spacing:.06em; color:#cfc5b8;
  font-variant-numeric:tabular-nums;
}

.lightbox__caption{
  flex:none; margin:0; max-width:70ch; text-align:center;
  font-size:.9rem; color:#cfc5b8;
}
.lightbox__caption:empty{ display:none; }

.lightbox__hint{
  flex:none; margin:0;
  font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#7d7268;
  text-align:center;
}
@media (max-width:620px){
  .lightbox__hint{ display:none; }
  .lightbox__close{ top:.7rem; right:.7rem; }
  .lightbox__stage{ padding-bottom:5rem; }
  .lightbox__panel{ padding-top:2rem; }
  .lightbox__nav{ width:46px; height:46px; font-size:1.5rem; }
  .lightbox__counter{ top:.8rem; font-size:.75rem; }
}

.to-top{
  position:fixed; right:clamp(1rem,2.5vw,2rem); bottom:clamp(1rem,2.5vw,2rem);
  z-index:90;
  display:grid; place-items:center;
  width:50px; height:50px; border-radius:50%;
  background:var(--ink); color:var(--cream);
  font-size:1.1rem; line-height:1;
  box-shadow:var(--shadow-m);
  opacity:0; visibility:hidden;
  transform:translateY(14px) scale(.92);
  -webkit-tap-highlight-color:transparent;
  transition:
    opacity .35s var(--ease),
    visibility .35s,
    background-color .3s var(--ease),
    box-shadow .35s var(--ease),

    transform .42s cubic-bezier(.34,1.5,.5,1);
}
.to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.to-top.is-visible:hover{
  background:var(--gold-deep);
  box-shadow:var(--shadow-l);
  transform:translateY(-4px) scale(1.06);
}

.to-top.is-visible:active{
  transform:translateY(0) scale(.84);
  transition-duration:.1s;
}

.to-top__arrow{ display:block; transition:transform .4s var(--ease); }
.to-top.is-visible:hover .to-top__arrow{ transform:translateY(-2px); }
.to-top.is-pressed .to-top__arrow{ animation:toTopArrow .6s var(--ease); }
@keyframes toTopArrow{
  0%  { transform:translateY(0);     opacity:1; }
  38% { transform:translateY(-14px); opacity:0; }
  39% { transform:translateY(14px);  opacity:0; }
  100%{ transform:translateY(0);     opacity:1; }
}

.to-top::after{
  content:""; position:absolute; inset:-2px;
  border-radius:50%;
  border:1.5px solid var(--gold);
  opacity:0; pointer-events:none;
}
.to-top.is-pressed::after{ animation:toTopRing .6s var(--ease); }
@keyframes toTopRing{
  0%  { opacity:.9; transform:scale(.86); }
  100%{ opacity:0;  transform:scale(1.6); }
}

.reveal{
  opacity:1;
  transform:none;
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.js .reveal{ opacity:0; transform:translateY(26px); }
.js .reveal.is-in{ opacity:1; transform:none; }

.notfound{
  min-height:70vh;
  display:grid;
  place-items:center;
  text-align:center;
}
.notfound .btn{ margin:.35rem .3rem 0; }

@media (min-width:1180px){
  .header__inner{ gap:.85rem; }
  .nav__list{ gap:.6rem; }
  .nav__link{ font-size:.82rem; }
  .header__left{ gap:.9rem; }
  .header__cta.btn--sm{ padding:.68rem 1.1rem; }
}

@media (min-width:1180px) and (max-width:1300px){
  .creds{ display:none; }
  .header__left{ gap:0; }
}

@media (max-width:1179.98px){
  .nav{
    position:fixed; inset:0 0 0 auto;
    width:min(88vw,360px);
    background:var(--cream);
    border-left:1px solid var(--line);
    box-shadow:var(--shadow-l);
    padding:6rem 2rem 2rem;
    transform:translateX(100%);
    visibility:hidden;
    transition:transform .45s var(--ease), visibility 0s linear .45s;
    overflow-y:auto;
  }
  .nav.is-open{
    transform:none;
    visibility:visible;
    transition:transform .45s var(--ease), visibility 0s;
  }
  .nav__list{ flex-direction:column; align-items:flex-start; gap:.35rem; }
  .nav__link{ font-size:1.1rem; padding:.7rem 0; display:block; }
  .burger{ display:block; }
  body.nav-open{ overflow:hidden; }
}

@media (max-width:1100px){
  .cards-4{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(3,1fr); row-gap:2.6rem; }
  .palette{ grid-template-columns:repeat(3,1fr); }
  .stats{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:860px){
  .hero{ padding-top:78px; }
  .hero__bg{
    inset:78px 0 auto 0;
    height:60vw; min-height:200px;
    background-image:var(--hero-photo);
    background-size:cover;
    background-position:center 45%;
    filter:none;
    transform:none;
    -webkit-mask-image:linear-gradient(to bottom, #000 76%, transparent 100%);
    mask-image:linear-gradient(to bottom, #000 76%, transparent 100%);
  }
  .hero__inner{
    min-height:0;
    padding-top:calc(60vw - 1.5rem);
    padding-bottom:2.5rem;
  }
  .hero__glow{ display:none; }
}

@media (max-width:960px){
  html{ scroll-padding-top:80px; }

  .btn.header__cta{
    display:inline-flex;
    flex:none;
    width:auto;
    padding:.55rem .95rem;
    font-size:.82rem;
    gap:.4rem;
    white-space:nowrap;
  }
  .header__cta .btn__ico{ width:1.1em; height:1.1em; flex:none; }

  .hero__inner{ grid-template-columns:1fr; text-align:center; }
  .hero__motto{
    margin-inline:auto; text-align:left;
    border-left:none; border-top:2px solid var(--gold);
    padding:1.1rem 0 0;
  }
  .hero__actions, .hero__owner{ justify-content:center; }
  .hero__owner{ justify-content:center; }

  .grid-2, .grid-2--wide, .coat, .contacts{ grid-template-columns:1fr; }
  .contacts__card{ position:static; }
  .dogs{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; }
  .why{ grid-template-columns:1fr; }
  .gallery{ grid-template-columns:repeat(3,1fr); }
}

@media (max-width:620px){
  .header__inner{ gap:.7rem; }
  .header__left{ gap:.8rem; }
  .creds{ display:none; }

  .btn.header__cta{
    flex:none;
    width:44px; height:44px; padding:0;
    border-radius:50%;
    font-size:0; gap:0;
  }
  .header__cta .btn__ico{ width:19px; height:19px; flex:none; }

  .cards-4, .steps, .stats{ grid-template-columns:1fr; }
  .steps{ row-gap:2.4rem; }
  .palette{ grid-template-columns:repeat(2,1fr); }
  .about__gallery{ grid-template-columns:1fr; }
  .footer__inner{ flex-direction:column; align-items:flex-start; }
  .btn{ width:100%; }
  .hero__actions{ flex-direction:column; }
  .gallery{ grid-template-columns:repeat(2,1fr); }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal{ opacity:1; transform:none; }
}

@media print{
  .header,.to-top,.lightbox,.ticker,.burger{ display:none !important; }
  body{ background:#fff; color:#000; }
  .reveal{ opacity:1; transform:none; }
  .section{ padding:1.5rem 0; break-inside:avoid; }
}
