@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap&subset=cyrillic");

:root{
  --paper:#f7f8fa;
  --paper-2:#eef1f5;
  --ink:#0b0d10;
  --muted:#69717c;
  --line:#d9dee6;
  --accent:#2457ff;
  --white:#fff;
  --max:1380px;
  --pad:clamp(20px,4vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Manrope","Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
button{font:inherit}
::selection{background:var(--accent);color:#fff}

.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:18px var(--pad);border-bottom:1px solid var(--line);background:rgba(247,248,250,.95);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:baseline;gap:14px;min-width:0}
.brand strong{font-size:13px;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}
.brand span{font:500 11px/1.2 "IBM Plex Mono","SFMono-Regular",Consolas,monospace;color:var(--muted);white-space:nowrap}
.nav{display:flex;gap:28px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.nav a{padding:4px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-color:var(--ink)}
.menu{display:none;border:0;background:none;padding:8px 0;text-transform:uppercase;letter-spacing:.08em;font-size:12px}

.kicker{margin:0 0 16px;font:500 11px/1.4 "IBM Plex Mono","SFMono-Regular",Consolas,monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
.kicker.accent{color:var(--accent)}
.display{font-size:clamp(54px,8vw,124px);line-height:.88;letter-spacing:-.045em;font-weight:800;margin:0}
.display span{display:block}
.h2{font-size:clamp(34px,4.6vw,68px);line-height:.97;letter-spacing:-.04em;margin:0;font-weight:700}
.body-lg{font-size:clamp(18px,1.6vw,24px);line-height:1.48;letter-spacing:-.015em}
.body{font-size:16px;line-height:1.68;color:#303640}
.mono{font-family:"IBM Plex Mono","SFMono-Regular",Consolas,monospace}
.text-link{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.text-link::after{content:'↗';font-size:13px}

.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,500px);gap:clamp(40px,6vw,90px);align-items:center;padding:clamp(56px,8vw,110px) var(--pad);border-bottom:1px solid var(--line)}
.hero-copy{max-width:800px}
.hero-copy .display{font-size:clamp(58px,8.3vw,126px)}
.hero-subtitle{margin:24px 0 0;font-size:clamp(24px,2.8vw,42px);line-height:1.08;letter-spacing:-.035em;font-weight:600;max-width:760px}
.hero-intro{max-width:690px;margin-top:42px}
.hero-intro p{margin:0 0 24px}
.hero-media{display:flex;justify-content:center;align-items:center;background:#0c0f14;padding:18px;min-height:0;position:relative}
.hero-media video{width:auto;height:auto;max-width:100%;max-height:min(72vh,760px);object-fit:contain}
.media-tag{position:absolute;left:16px;bottom:14px;color:#fff;background:rgba(0,0,0,.72);padding:8px 10px;font:500 10px/1.2 "IBM Plex Mono","SFMono-Regular",Consolas,monospace;text-transform:uppercase;letter-spacing:.07em}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.stat{padding:28px var(--pad);border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font-size:clamp(32px,3.6vw,56px);line-height:.95;letter-spacing:-.04em}
.stat span{display:block;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.45;text-transform:uppercase;letter-spacing:.07em}

.section{padding:clamp(70px,8vw,125px) var(--pad)}
.section-grid{display:grid;grid-template-columns:minmax(190px,.28fr) minmax(0,1fr);gap:clamp(36px,6vw,100px)}
.section-side .kicker{position:sticky;top:100px}
.section-main{min-width:0}
.lead{max-width:960px;margin:0 0 50px}
.prose{max-width:860px;font-size:18px;line-height:1.75;color:#2d333c}
.prose p{margin:0 0 22px}
.prose strong{color:var(--ink)}

.practice-photo{margin:42px 0 0;border-top:1px solid var(--line);padding-top:24px}
.practice-photo img{width:min(100%,980px);height:auto}
.practice-photo figcaption{margin-top:10px;font:500 10px/1.45 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}

.training-strip{display:grid;grid-template-columns:minmax(250px,.7fr) 1fr;border-top:1px solid var(--line);align-items:start}
.training-main{padding:24px 24px 24px 0;display:flex;justify-content:center;background:#10141a;min-height:0}
.training-main img{width:auto;height:auto;max-width:100%;max-height:68vh;object-fit:contain}
.training-list{border-left:1px solid var(--line)}
.training-item{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:27px 28px;border-bottom:1px solid var(--line)}
.training-item .num{font:500 11px/1.2 "IBM Plex Mono",monospace;color:var(--accent)}
.training-item h3{font-size:21px;letter-spacing:-.025em;margin:0 0 8px}
.training-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.training-item a{display:inline-block;margin-top:12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--ink)}

.dogs-home{background:var(--ink);color:var(--white)}
.dogs-home .kicker{color:#a6aebb}
.dog-row{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:30px;padding:30px 0;border-top:1px solid #2a3039}
.dog-row:last-child{border-bottom:1px solid #2a3039}
.dog-row h3{font-size:clamp(36px,5vw,68px);letter-spacing:-.04em;margin:0 0 22px}
.dog-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;max-width:780px}
.dog-data dt{font:500 10px/1.3 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:#929aa6}
.dog-data dd{margin:6px 0 0;font-size:15px}
.doc-thumb{display:flex;justify-content:center;align-items:flex-start;background:#1a1f26;padding:10px}
.doc-thumb img{width:auto;height:auto;max-width:100%;max-height:360px;object-fit:contain}

.results-list{border-top:1px solid var(--line)}
.result{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(150px,.3fr);gap:28px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start}
.result time{font:500 11px/1.3 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.result h3{font-size:clamp(23px,2.1vw,34px);letter-spacing:-.03em;margin:0 0 8px}
.result p{margin:0;color:var(--muted);line-height:1.62}
.result strong{font-size:clamp(28px,3vw,46px);letter-spacing:-.045em;text-align:right}

.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0 var(--pad) clamp(70px,8vw,120px)}
.media-card{border-top:1px solid var(--line);padding-top:14px}
.media-card .thumb{display:flex;align-items:center;justify-content:center;background:#0c0f14;overflow:hidden;padding:10px}
.media-card.portrait .thumb{height:min(58vh,560px)}
.media-card.landscape .thumb{height:auto;aspect-ratio:16/9}
.media-card img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transition:transform .35s ease}
.media-card:hover img{transform:scale(1.015)}
.media-card span{display:block;margin-top:10px;font:500 10px/1.45 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}

.page-hero{padding:clamp(68px,8vw,120px) var(--pad) 46px;border-bottom:1px solid var(--line)}
.page-hero .display{max-width:1150px}
.page-hero .body-lg{max-width:880px;margin:38px 0 0}
.page-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(36px,6vw,90px);padding:64px var(--pad) 110px}
.page-nav{font:500 11px/1.6 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.page-nav div{position:sticky;top:100px}
.page-nav a{display:block;padding:6px 0}
.page-nav a:hover{color:var(--ink)}
.content{max-width:1080px}
.content-section{padding:0 0 78px}
.content-section+.content-section{padding-top:64px;border-top:1px solid var(--line)}
.content-section .h2{margin-bottom:30px}
.content-section .body-lg{max-width:860px}

.video-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.38fr);gap:28px;padding:30px 0;border-top:1px solid var(--line);align-items:start}
.video-entry:last-child{border-bottom:1px solid var(--line)}
.video-frame{display:flex;align-items:center;justify-content:center;background:#0c0f14;padding:12px;min-height:0}
.video-frame.portrait{max-width:430px;justify-self:start}
.video-frame.landscape{width:100%;max-width:820px}
.video-frame video,.video-frame img{width:auto;height:auto;max-width:100%;max-height:min(70vh,720px);object-fit:contain}
.video-info{display:flex;flex-direction:column;justify-content:space-between;min-height:180px;padding:2px 0}
.video-info h3{font-size:27px;letter-spacing:-.03em;margin:0 0 11px}
.video-info p{margin:0;color:var(--muted);font-size:14px;line-height:1.62}
.video-info .mono{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:16px}

.dog-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.4fr);gap:48px;padding:48px 0;border-top:1px solid var(--line)}
.dog-profile:last-child{border-bottom:1px solid var(--line)}
.dog-profile h2{font-size:clamp(46px,6.5vw,92px);letter-spacing:-.045em;line-height:.9;margin:0 0 34px}
.profile-data{display:grid;grid-template-columns:170px 1fr;gap:0}
.profile-data dt,.profile-data dd{padding:13px 0;border-top:1px solid var(--line)}
.profile-data dt{font:500 10px/1.3 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.profile-data dd{margin:0;font-size:14px}
.profile-doc{margin:0;text-align:center}
.profile-doc img{width:auto;height:auto;max-width:100%;max-height:720px;border:1px solid var(--line);background:#fff;object-fit:contain}
.profile-doc a{display:inline-block;margin-top:10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--ink)}

.docs{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.document{margin:0;text-align:center}
.document img{width:auto;height:auto;max-width:100%;max-height:760px;border:1px solid var(--line);background:#fff;object-fit:contain}
.document figcaption{display:grid;grid-template-columns:1fr auto;gap:20px;padding:12px 0 0;text-align:left;font:500 10px/1.45 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.document figcaption a{color:var(--ink);border-bottom:1px solid var(--ink)}

.site-footer{padding:34px var(--pad) 46px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.site-footer strong{font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.site-footer p{margin:7px 0 0;color:var(--muted);font-size:12px}
.site-footer nav{display:flex;gap:22px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}

@media(max-width:980px){
  .site-header{grid-template-columns:1fr auto}.nav{display:none;position:absolute;left:0;right:0;top:57px;background:var(--paper);border-bottom:1px solid var(--line);padding:18px var(--pad) 28px;flex-direction:column;align-items:flex-start;gap:14px}.nav.open{display:flex}.menu{display:block}.brand span{display:none}
  .hero{grid-template-columns:1fr;align-items:start}.hero-media{width:min(100%,480px);justify-self:start}.hero-media video{max-height:68vh}
  .stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section-grid,.page-grid{grid-template-columns:1fr}.section-side .kicker,.page-nav div{position:static}.page-nav{display:none}
  .training-strip{grid-template-columns:1fr}.training-main{padding:18px 0}.training-main img{max-height:62vh}.training-list{border-left:0;border-top:1px solid var(--line)}
  .dog-row{grid-template-columns:1fr 180px}.dog-data{grid-template-columns:1fr 1fr}
  .result{grid-template-columns:120px 1fr}.result strong{grid-column:2;text-align:left}
  .media-grid{grid-template-columns:1fr 1fr}.video-entry,.dog-profile{grid-template-columns:1fr}.video-info{min-height:0}.profile-doc{max-width:520px}.video-frame.portrait{max-width:390px}
}
@media(max-width:680px){
  .display{font-size:clamp(48px,16vw,80px)}.hero-copy .display{font-size:clamp(50px,16vw,82px)}
  .hero{padding-left:20px;padding-right:20px}.hero-media{width:min(100%,390px);padding:10px}.hero-media video{max-height:64vh}
  .stats{grid-template-columns:1fr}.stat{border-right:0!important;border-bottom:1px solid var(--line)!important}.stat:last-child{border-bottom:0!important}
  .section,.page-hero,.page-grid{padding-left:20px;padding-right:20px}
  .training-item{padding:24px 20px}.dog-row{grid-template-columns:1fr}.doc-thumb{max-width:230px}.dog-data{grid-template-columns:1fr}
  .result{grid-template-columns:1fr;gap:10px}.result strong{grid-column:auto;text-align:left}
  .media-grid{grid-template-columns:1fr;padding-left:20px;padding-right:20px}.media-card.portrait .thumb{height:min(60vh,520px)}
  .docs{grid-template-columns:1fr}.document figcaption{grid-template-columns:1fr}.profile-data{grid-template-columns:1fr}.profile-data dt{padding-bottom:4px}.profile-data dd{padding-top:0}
  .video-frame.portrait{max-width:min(100%,360px)}.video-frame video,.video-frame img{max-height:64vh}
  .site-footer{grid-template-columns:1fr}.site-footer nav{flex-wrap:wrap}.brand strong{font-size:12px}
}

