/* ============================================================
   Rosso Ambra Venerabile Conte di Valore — v.ordale.ru
   Тема: выставочный каталог, британская сдержанность
   ============================================================ */

/* ---------- шрифты (self-hosted) ---------- */
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 600;font-display:swap;
  src:url(../fonts/garamond-cyr.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 600;font-display:swap;
  src:url(../fonts/garamond-lat.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;
  src:url(../fonts/garamond-italic-cyr.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;
  src:url(../fonts/garamond-italic-lat.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;
  src:url(../fonts/inter-cyr.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;
  src:url(../fonts/inter-lat.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --paper:#F7F3EA;
  --paper-2:#F1EBDF;
  --ink:#1C2A22;
  --ink-soft:#42544A;
  --mut:#7C8A80;
  --green:#22402F;
  --gold:#A0803F;
  --gold-soft:#C8A968;
  --line:rgba(28,42,34,.16);
  --line-soft:rgba(28,42,34,.09);
  --serif:'EB Garamond',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --wrap:1080px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
/* лёгкая фактура бумаги */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.55;
  background:
    radial-gradient(80% 60% at 50% 0%, rgba(160,128,63,.09) 0%, transparent 60%),
    radial-gradient(60% 50% at 100% 100%, rgba(34,64,47,.06) 0%, transparent 70%);
}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px;position:relative;z-index:1}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---------- шапка ---------- */
header{
  position:sticky;top:0;z-index:40;background:rgba(247,243,234,.9);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);
}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand .crest{width:30px;height:34px;flex:none}
.brand .txt{font-family:var(--serif);font-size:17px;letter-spacing:.06em;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.brand .txt i{font-style:normal;color:var(--gold)}
nav{display:flex;align-items:center;gap:26px;font-size:13.5px;color:var(--ink-soft)}
nav a{padding:4px 0;border-bottom:1px solid transparent;transition:.2s}
nav a:hover{color:var(--ink);border-color:var(--gold)}
.lang{display:flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.08em}
.lang button{
  font:inherit;letter-spacing:inherit;background:none;border:0;cursor:pointer;
  color:var(--mut);padding:4px 6px;border-radius:2px;transition:.2s;
}
.lang button:hover{color:var(--ink)}
.lang button[aria-pressed="true"]{color:var(--green);font-weight:600;box-shadow:inset 0 -1px 0 var(--gold)}
.lang .sep{color:var(--line)}
@media(max-width:820px){nav{display:none}.bar{height:64px}}

/* ---------- герой ---------- */
.hero{padding:72px 0 64px;text-align:center}
.hero .crest-big{width:104px;height:118px;margin:0 auto 26px}
.kicker{font-size:11.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
h1{
  font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:.005em;
  font-size:clamp(34px,5.6vw,60px);text-wrap:balance;
}
h1 .of{display:block;font-size:.62em;color:var(--gold);font-style:italic;margin-top:6px}
.motto{
  margin:22px auto 0;font-family:var(--serif);font-style:italic;font-size:clamp(17px,2.4vw,22px);
  color:var(--ink-soft);max-width:26em;
}
.hero-meta{
  margin-top:30px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);
}
.hero-meta span{display:inline-flex;align-items:center;gap:10px}
.hero-meta span+span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold-soft)}
.rule{width:78px;height:1px;background:var(--gold);margin:34px auto 0;opacity:.6}

/* ---------- секции ---------- */
section{padding:74px 0;border-top:1px solid var(--line-soft)}
.sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:38px}
.sec-num{font-family:var(--serif);font-size:14px;color:var(--gold);letter-spacing:.14em}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.6vw,36px);line-height:1.2}
.sec-lede{margin:-24px 0 34px;color:var(--mut);font-size:15px;max-width:44em}

/* профиль */
.profile{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}
.dl{border-top:1px solid var(--line-soft)}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  padding:14px 0;border-bottom:1px solid var(--line-soft)}
.row dt{color:var(--mut);font-size:13px;letter-spacing:.04em;flex:none}
.row dd{text-align:right;font-size:15.5px}
.row dd em{font-style:italic;font-family:var(--serif);font-size:17px}
@media(max-width:820px){.profile{grid-template-columns:1fr;gap:32px}}

/* заглушка под фото */
.frame{
  position:relative;background:var(--paper-2);border:1px solid var(--line-soft);
  aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;color:var(--mut);text-align:center;padding:24px;
}
.frame::after{content:'';position:absolute;inset:10px;border:1px solid var(--line-soft);pointer-events:none}
.frame svg{width:44px;height:50px;opacity:.5}
.frame .cap{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase}
.frame.wide{aspect-ratio:3/2}

/* происхождение */
.pedigree{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.parent{border:1px solid var(--line-soft);background:rgba(255,255,255,.4);padding:0 0 26px}
.parent .frame{border:0;border-bottom:1px solid var(--line-soft);aspect-ratio:3/2}
.parent .body{padding:22px 26px 0}
.parent .role{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.parent h3{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.25}
.parent .reg{margin-top:10px;color:var(--mut);font-size:13.5px;letter-spacing:.04em}
.kennel{
  margin-top:26px;padding:22px 26px;border:1px solid var(--line-soft);
  background:rgba(255,255,255,.4);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.kennel .k{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut)}
.kennel .v{font-family:var(--serif);font-size:19px}
@media(max-width:820px){.pedigree{grid-template-columns:1fr}}

/* выставки */
.shows{border-top:1px solid var(--line-soft)}
.show{
  display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:baseline;
  padding:22px 0;border-bottom:1px solid var(--line-soft);
}
.show .date{color:var(--mut);font-size:13.5px;letter-spacing:.06em}
.show .name{font-family:var(--serif);font-size:20px}
.show .place{display:block;color:var(--mut);font-size:13.5px;font-family:var(--sans);margin-top:4px}
.show .res{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);
  border:1px solid var(--line);padding:6px 12px;white-space:nowrap}
.show .note{grid-column:2/-1;color:var(--ink-soft);font-size:14.5px;margin-top:8px}
@media(max-width:820px){
  .show{grid-template-columns:1fr;gap:8px}
  .show .res{justify-self:start;margin-top:6px}
  .show .note{grid-column:1/-1}
}
.empty{
  border:1px dashed var(--line);padding:46px 30px;text-align:center;color:var(--mut);
  background:rgba(255,255,255,.35);
}
.empty .big{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--ink-soft);margin-bottom:10px}
.empty .small{font-size:14px;max-width:34em;margin:0 auto}

/* галерея */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:820px){.gallery{grid-template-columns:1fr 1fr;gap:14px}}

/* контакты */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact .note{color:var(--ink-soft);font-size:15.5px;max-width:30em}
.links{border-top:1px solid var(--line-soft)}
.link{display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding:16px 0;border-bottom:1px solid var(--line-soft);transition:.2s}
.link:hover{padding-left:8px}
.link .k{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.link .v{font-size:16px}
.link:hover .v{color:var(--gold)}
@media(max-width:820px){.contact{grid-template-columns:1fr;gap:28px}}

footer{
  border-top:1px solid var(--line-soft);padding:30px 0 38px;color:var(--mut);font-size:12.5px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
footer b{font-weight:500;color:var(--ink-soft)}

/* появление */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none;transition:none}
  *{transition:none!important}
}
