:root{--ivory:#f7f4ed;--cream:#eee8dc;--ink:#252522;--muted:#706d65;--gold:#9a8155;--line:rgba(37,37,34,.14);--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
.hero>img{object-position:center 68%}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6}img{display:block;width:100%}button,a{font:inherit}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;z-index:100;top:-60px;left:16px;padding:10px 16px;background:#fff;color:#111}.skip-link:focus{top:12px}.site-header{height:76px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.brand{font-family:var(--serif);font-size:19px;color:inherit;text-decoration:none}.site-nav{display:flex;gap:clamp(15px,2.4vw,38px)}.site-nav a{color:inherit;text-decoration:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;border-bottom:1px solid;transition:right .25s}.site-nav a:hover:after,.site-nav a:focus-visible:after{right:0}.menu-button{display:none;background:none;border:0;padding:8px}.hero{height:min(900px,100svh);min-height:650px;position:relative;color:#fff}.hero>img{height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,19,15,.58),rgba(22,19,15,.08)),linear-gradient(0deg,rgba(22,19,15,.35),transparent 45%)}.hero-copy{position:absolute;left:clamp(24px,10vw,150px);bottom:clamp(65px,13vh,135px);max-width:780px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:500;color:var(--gold);margin:0 0 14px}.hero .eyebrow{color:#e7d7b9}.hero h1{font:400 clamp(52px,8.5vw,120px)/.95 var(--serif);letter-spacing:-.04em;margin:0 0 25px;max-width:900px}.hero-copy>p:last-of-type{font:300 clamp(17px,2vw,23px) var(--sans)}.round-link{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;text-decoration:none;margin-top:35px;transition:.25s}.round-link:hover{background:#fff;color:#222;transform:translateY(3px)}.section{padding:clamp(60px,7.5vw,105px) clamp(22px,6vw,100px)}.tinted{background:var(--cream)}.section-head{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:end;margin-bottom:55px}.section-head h2{font:400 clamp(40px,6vw,78px)/1 var(--serif);letter-spacing:-.03em;margin:0}.section-head>p{color:var(--muted);max-width:430px;margin:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filter{background:transparent;border:1px solid var(--line);border-radius:30px;padding:8px 16px;font-size:12px;cursor:pointer;transition:.2s}.filter:hover,.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:260px;gap:18px}.photo-card{grid-column:span 4;position:relative;border:0;padding:0;background:#ddd;overflow:hidden;cursor:zoom-in;text-align:left}.photo-card.tall{grid-row:span 2}.photo-card.wide{grid-column:span 8}.photo-card img{height:100%;object-fit:cover;transition:transform .6s}.photo-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(10,10,8,.65))}.photo-card span{position:absolute;z-index:1;left:24px;bottom:20px;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.photo-card b{display:block;font:400 23px var(--serif);text-transform:none;letter-spacing:0;margin-top:4px}.photo-card:hover img,.photo-card:focus-visible img{transform:scale(1.035)}.photo-card[hidden]{display:none}.comparisons{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.comparison-card h3{font:400 23px/1.2 var(--serif);min-height:56px}.compare{position:relative;aspect-ratio:4/5;overflow:hidden;background:#ccc}.compare img{position:absolute;inset:0;height:100%;object-fit:cover}.before{position:absolute;inset:0;overflow:hidden;width:var(--position)}.before img{width:calc(100% * 100 / var(--position));max-width:none}.compare input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4}.divider{position:absolute;z-index:3;left:var(--position);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.divider i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:#333;font-style:normal;box-shadow:0 2px 12px #0003}.tag{position:absolute;z-index:2;top:16px;padding:6px 10px;background:rgba(30,28,25,.66);color:white;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.tag-before{left:16px}.tag-after{right:16px}.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.archive-pair{display:grid;grid-template-columns:1fr 1fr;gap:5px}.archive-pair img{aspect-ratio:4/5;object-fit:cover}.archive-card p,.video-card p,.pet-card p{color:var(--gold);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin:18px 0 4px}.archive-card h3,.video-card h3{font:400 25px var(--serif);margin:0}.pets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.pet-card{background:var(--ivory)}.pet-card img{aspect-ratio:4/5;object-fit:cover}.pet-card div{padding:4px 24px 24px}.pet-card h3{font:400 34px var(--serif);margin:0 0 4px}.pet-card span{font-size:14px;color:var(--muted)}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:42px 22px}.video-card video{display:block;width:100%;aspect-ratio:16/10;background:#1d1c19;object-fit:cover}.video-note{margin:50px auto 0;text-align:center;color:var(--muted);font-size:13px}.video-note code{background:var(--cream);padding:3px 6px}footer{padding:42px clamp(22px,6vw,100px);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;margin:0;padding:40px;background:rgba(20,19,17,.96);color:#fff}.lightbox[open]{display:grid;grid-template-columns:60px 1fr 60px;align-items:center}.lightbox::backdrop{background:rgba(0,0,0,.75)}.lightbox figure{margin:0;display:grid;place-items:center;min-width:0}.lightbox img{max-width:min(1050px,80vw);max-height:82vh;object-fit:contain}.lightbox figcaption{text-align:center;margin-top:15px;font-family:var(--serif);font-size:18px}.lightbox button{border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.lightbox-close{position:absolute;right:25px;top:15px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media (max-width:900px){.section-head{grid-template-columns:1fr}.comparisons{grid-template-columns:1fr 1fr}.comparison-card:last-child{grid-column:1/-1;max-width:50%;margin:auto}.gallery{grid-auto-rows:230px}.photo-card{grid-column:span 6}.photo-card.wide{grid-column:span 6}.pets-grid{grid-template-columns:repeat(2,1fr)}.pet-card:last-child{grid-column:1/-1;max-width:50%}}
@media (max-width:680px){.site-header{position:absolute}.menu-button{display:flex;flex-direction:column;gap:4px}.menu-button span:not(.sr-only){display:block;width:25px;border-top:1px solid #fff}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:24px;background:rgba(28,27,24,.97);flex-direction:column}.site-nav.open{display:flex}.hero{min-height:620px}.hero h1{font-size:52px}.section{padding-block:85px}.section-head{margin-bottom:38px}.gallery{display:block}.photo-card:not([hidden]){display:block;width:100%;height:330px;margin-bottom:14px}.comparisons,.archive-grid,.pets-grid,.video-grid{grid-template-columns:1fr}.comparison-card:last-child,.pet-card:last-child{grid-column:auto;max-width:none}.comparison-card h3{min-height:auto}.archive-grid{gap:55px}.pet-card img{aspect-ratio:5/4}.lightbox{padding:18px}.lightbox[open]{grid-template-columns:38px 1fr 38px}.lightbox img{max-width:78vw}.lightbox figcaption{font-size:15px}footer{flex-direction:column;gap:6px;text-align:center}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}

/* Композиция hero для вертикальной семейной фотографии */
.hero>img{object-position:center 38%}
.hero-copy{top:clamp(125px,17vh,175px);bottom:auto;max-width:560px}
.hero h1{font-size:clamp(40px,6vw,84px);line-height:1}

@media (max-width:680px){
  .hero>img{object-position:80% 42%}
  .hero-copy{top:118px;bottom:auto;max-width:310px}
  .hero h1{font-size:40px;line-height:1.03}
  .hero-copy>p:last-of-type{max-width:270px;font-size:16px}
}

/* Полноэкранный фотоальбом */
.album-dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--ivory);color:var(--ink)}
.album-dialog::backdrop{background:rgba(20,19,17,.78)}
.album-header{position:sticky;z-index:5;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:24px clamp(22px,5vw,76px);background:rgba(247,244,237,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.album-header>div{text-align:center}.album-header .eyebrow{margin-bottom:2px}.album-header h2{margin:0;font:400 clamp(34px,4vw,58px)/1 var(--serif)}
.album-header div>p:last-child{margin:7px 0 0;color:var(--muted);font-size:12px;letter-spacing:.08em}
.album-back,.album-close{border:0;background:transparent;cursor:pointer}.album-back{justify-self:start;padding:10px 0;font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line)}
.album-close{justify-self:end;width:44px;height:44px;font-size:30px;font-weight:300}
.album-grid{columns:4 260px;column-gap:16px;padding:clamp(24px,4vw,60px) clamp(16px,5vw,76px) 70px}
.album-thumb{display:block;width:100%;margin:0 0 16px;padding:0;border:0;background:var(--cream);cursor:zoom-in;break-inside:avoid;overflow:hidden}
.album-thumb img{width:100%;height:auto;transition:transform .45s,opacity .45s}
.album-thumb:hover img,.album-thumb:focus-visible img{transform:scale(1.02);opacity:.92}

/* Навигация между несколькими парами «До / После» */
.comparison-nav{display:flex;align-items:center;justify-content:center;gap:18px;min-height:46px;margin-top:10px}
.comparison-nav[hidden]{display:none}.comparison-nav button{width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font:300 25px/1 var(--serif);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.comparison-nav button:hover,.comparison-nav button:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
.comparison-count{min-width:48px;text-align:center;color:var(--muted);font-size:11px;letter-spacing:.12em}

/* Карточки семейного архива строятся из конфигурации в JavaScript */
.archive-card{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.archive-cover{width:100%;aspect-ratio:5/4;object-fit:cover;background:var(--cream);transition:transform .45s,opacity .45s}
.archive-card:hover .archive-cover,.archive-card:focus-visible .archive-cover{transform:scale(1.012);opacity:.92}
.archive-meta{display:block}.archive-meta small{display:block;color:var(--gold);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin:18px 0 4px}
.archive-meta strong{display:block;font:400 25px var(--serif)}.archive-meta em{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-style:normal;letter-spacing:.06em}

/* Универсальная карусель питомцев */
.pets-viewport{overflow:hidden}.pets-track{display:flex;gap:24px;transition:transform .45s ease;will-change:transform}.pets-track .pet-card{flex:0 0 calc((100% - 48px)/3);min-width:0}.pets-track .pet-card:last-child{grid-column:auto;max-width:none}
.pets-nav{display:flex;align-items:center;justify-content:center;gap:18px;min-height:46px;margin-top:20px}.pets-nav[hidden]{display:none}.pets-nav button{width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font:300 27px/1 var(--serif);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.pets-nav button:hover,.pets-nav button:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--ivory)}.pets-count{min-width:64px;text-align:center;color:var(--muted);font-size:11px;letter-spacing:.1em}
.pet-card .pet-photo-sources{padding:0}.pet-photo{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}.pet-photo[hidden]{display:none}.pet-photo img{transition:transform .45s,opacity .45s}.pet-photo:hover img,.pet-photo:focus-visible img{transform:scale(1.02);opacity:.94}
@media (max-width:900px){.pets-track .pet-card{flex-basis:calc((100% - 24px)/2)}}
@media (max-width:680px){.pets-track .pet-card{flex-basis:100%}.pets-track .pet-card img{aspect-ratio:4/5}.pets-nav{margin-top:14px}.pets-nav button{width:44px;height:44px}}

/* Галерея оживших фотографий */
.living-photos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.living-photo-card .video-frame{position:relative;aspect-ratio:16/10;overflow:hidden;background:#25231f}.living-photo-card video{display:block;width:100%;height:100%;object-fit:cover}.living-photo-card p{margin:17px 0 4px;color:var(--gold);font-size:10px;letter-spacing:.16em}.living-photo-card h3{margin:0;font:400 24px var(--serif)}.open-video-gallery{position:absolute;z-index:2;top:14px;right:14px;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(20,19,17,.55);color:#fff;font-size:21px;line-height:1;cursor:pointer;backdrop-filter:blur(5px);transition:background .2s,transform .2s}.open-video-gallery:hover,.open-video-gallery:focus-visible{background:rgba(20,19,17,.85);transform:scale(1.04)}.open-video-gallery:disabled{opacity:0;pointer-events:none}
@media (max-width:900px){.living-photos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.living-photo-card:last-child{grid-column:1/-1;max-width:calc(50% - 11px);width:100%;margin:auto}}
@media (max-width:680px){.living-photos-grid{grid-template-columns:1fr}.living-photo-card:last-child{grid-column:auto;max-width:none}}

/* Fullscreen-видеогалерея внутри выбранной категории */
.video-lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:58px 5vw 24px;border:0;background:rgba(20,19,17,.97);color:#fff}.video-lightbox[open]{display:grid;grid-template-columns:minmax(0,1fr);place-items:center}.video-lightbox::backdrop{background:rgba(0,0,0,.78)}.video-lightbox figure{width:100%;height:calc(100vh - 82px);height:calc(100dvh - 82px);margin:0;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center}.video-lightbox video{display:block;width:min(90vw,1400px);height:min(80vh,900px);max-width:90vw;max-height:80vh;object-fit:contain;background:#000}.video-lightbox figcaption{display:flex;justify-content:center;gap:16px;margin-top:13px;font-size:13px}.video-lightbox figcaption strong{font:400 17px var(--serif)}.video-lightbox-count{color:rgba(255,255,255,.65);letter-spacing:.1em}.video-lightbox button{color:#fff;cursor:pointer}.video-lightbox-prev,.video-lightbox-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(20,19,17,.55);font-size:24px}.video-lightbox-prev{left:20px}.video-lightbox-next{right:20px}.video-lightbox-close{position:absolute;z-index:3;top:18px;right:24px;border:0;background:transparent;font-size:32px}.video-lightbox button[hidden]{display:none}
@media (max-width:680px){.video-lightbox{padding:52px 10px 16px}.video-lightbox figure{height:calc(100vh - 68px);height:calc(100dvh - 68px)}.video-lightbox video{width:96vw;height:72vh;max-width:96vw;max-height:72vh}.video-lightbox-prev,.video-lightbox-next{width:44px;height:44px;font-size:20px}.video-lightbox-prev{left:6px}.video-lightbox-next{right:6px}.video-lightbox figcaption{flex-direction:column;align-items:center;gap:3px;text-align:center}.video-lightbox-close{top:8px;right:14px}}

/* Центрированный полноэкранный режим для фотографий питомцев */
.lightbox.pet-lightbox[open]{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px}
.lightbox.pet-lightbox figure{width:100%;height:calc(100vh - 48px);height:calc(100dvh - 48px);display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;min-width:0;min-height:0}
.lightbox.pet-lightbox img{display:block;width:90vw;height:85vh;max-width:1400px;max-height:85vh;object-fit:contain;margin:auto}
.lightbox.pet-lightbox figcaption{align-self:end;margin:8px 0 0;text-align:center}
.lightbox.pet-lightbox .lightbox-prev,.lightbox.pet-lightbox .lightbox-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(20,19,17,.35)}
.lightbox.pet-lightbox .lightbox-prev{left:20px}.lightbox.pet-lightbox .lightbox-next{right:20px}
@media (max-width:680px){.lightbox.pet-lightbox[open]{padding:16px}.lightbox.pet-lightbox figure{height:calc(100vh - 32px);height:calc(100dvh - 32px)}.lightbox.pet-lightbox img{width:92vw;height:80vh;max-height:80vh}.lightbox.pet-lightbox .lightbox-prev,.lightbox.pet-lightbox .lightbox-next{width:44px;height:44px}.lightbox.pet-lightbox .lightbox-prev{left:8px}.lightbox.pet-lightbox .lightbox-next{right:8px}}

@media (max-width:680px){
  .album-header{grid-template-columns:1fr auto;padding:17px 18px}.album-header>div{grid-column:1/-1;grid-row:2;text-align:left;padding-top:15px}.album-header h2{font-size:36px}.album-back{font-size:10px}.album-close{grid-column:2;grid-row:1}.album-grid{columns:2 140px;column-gap:8px;padding:12px 8px 45px}.album-thumb{margin-bottom:8px}
}
