:root {
  --coal: #0E0C0A;
  --panel: #17130F;
  --bone: #EDE6D8;
  --faded: #A79C8C;
  --brass: #B98A3E;
  --blue: #3D74D6;
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
  background: var(--coal);
  color: var(--bone);
  font-family: "Archivo", system-ui, sans-serif;
  font-size: 1.08rem;
  line-height: 1.7;
}
.display, h1, h2 {
  font-family: "Bebas Neue", "Arial Narrow", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 0.95;
}
a { color: var(--bone); text-decoration-color: var(--brass); text-decoration-thickness: 2px; text-underline-offset: 4px; }
a:hover { color: var(--brass); }
a:focus-visible { outline: 3px solid var(--brass); outline-offset: 3px; }
.blue-page a { text-decoration-color: var(--blue); }
.blue-page a:hover { color: var(--blue); }

nav {
  display:flex; justify-content:space-between; align-items:center;
  padding: 1.3rem clamp(1.2rem, 5vw, 3rem);
  border-bottom: 1px solid #2A241D;
}
nav .home { font-family:"Bebas Neue",sans-serif; font-size:1.5rem; letter-spacing:0.12em; text-decoration:none; }
nav .other { font-size:0.95rem; color: var(--faded); }

header.hero { text-align:center; padding: clamp(3rem,8vw,5.5rem) 1.4rem 3rem; }
.dr-mark { width: clamp(140px, 26vw, 190px); height:auto; }
.tkv-logo { width: clamp(250px, 64vw, 380px); height:auto; }
header.hero h1 {
  font-size: clamp(4rem, 14vw, 8.5rem);
  margin-top: 1.8rem;
  color: var(--bone);
}
.rule-line {
  display:flex; align-items:center; gap:1rem; justify-content:center;
  font-family:"Bebas Neue",sans-serif; letter-spacing:0.35em; font-size:1.25rem;
  margin-top: 1rem; color: var(--brass);
}
.rule-line::before, .rule-line::after { content:""; height:2px; background: var(--brass); width: clamp(2.5rem,8vw,5rem); }
.rule-line.blue { color: var(--blue); }
.rule-line.blue::before, .rule-line.blue::after { background: var(--blue); }

.hideband {
  height: clamp(160px, 30vw, 260px);
  background: url("hide.jpg") center 38% / cover no-repeat;
  border-top: 1px solid #2A241D;
  border-bottom: 1px solid #2A241D;
}

.wrap { max-width: 720px; margin: 0 auto; padding: 0 1.4rem; }
section { padding: clamp(2.6rem,7vw,4.5rem) 0; }
section h2 { font-size: clamp(2.4rem,7vw,3.6rem); color: var(--bone); margin-bottom: 1.2rem; }
section p + p { margin-top: 1rem; }
.lead { font-size: 1.18rem; }

.feature { text-align:center; }
.feature .kicker { font-family:"Bebas Neue",sans-serif; font-size:1.6rem; letter-spacing:0.3em; color: var(--faded); }
.feature .name { font-size: clamp(3.2rem,10vw,5.5rem); margin: 0.3rem 0 1rem; color: var(--bone); }
.feature .facts { color: var(--faded); }
.btn {
  display:inline-block; margin-top:1.6rem;
  font-family:"Bebas Neue",sans-serif; font-size:1.45rem; letter-spacing:0.14em;
  background: var(--brass); color: var(--coal);
  padding: 0.75rem 2.2rem; text-decoration:none;
}
.btn:hover { background: var(--bone); color: var(--coal); }
.btn.blue { background: var(--blue); color: #fff; }
.btn.blue:hover { background: var(--bone); color: var(--coal); }

.pedigree { border-collapse:collapse; width:100%; margin:1.6rem 0; }
.pedigree td { border:1px solid #3A322A; padding: 1rem 1.1rem; }
.pedigree .role { color: var(--blue); font-size:0.78rem; letter-spacing:0.22em; text-transform:uppercase; display:block; margin-bottom:0.25rem; }
.pedigree .horse { font-family:"Bebas Neue",sans-serif; font-size:1.7rem; letter-spacing:0.06em; }

.contact { text-align:center; border-top:1px solid #2A241D; }
.contact .bigphone {
  font-family:"Bebas Neue",sans-serif;
  font-size: clamp(2.6rem,9vw,4.5rem);
  letter-spacing:0.06em; text-decoration:none; display:inline-block; margin: 0.4rem 0 1rem;
}
.contact address { font-style:normal; color: var(--faded); line-height:2; }

footer {
  border-top:1px solid #2A241D;
  padding: 2.6rem 1.4rem 3rem; text-align:center;
  color: var(--faded); font-size:0.9rem;
}
footer .dr-mark { width:58px; margin-bottom:1rem; }

/* photo hero */
.photo-hero {
  position: relative;
  min-height: clamp(480px, 88vh, 820px);
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center; padding: 3rem 1.4rem;
  background:
    linear-gradient(180deg, rgba(14,12,10,0.82) 0%, rgba(14,12,10,0.48) 45%, rgba(14,12,10,0.88) 100%),
    url("img/hero.jpg") center 30% / cover no-repeat;
}
.photo-hero h1 { font-size: clamp(4rem,14vw,8.5rem); color: var(--bone); margin-top: 1.4rem; text-shadow: 0 2px 18px rgba(0,0,0,0.5); }
.photo-hero .dr-mark { filter: drop-shadow(0 2px 10px rgba(0,0,0,0.55)); }

.featurephoto { width:100%; display:block; }
.featurephoto img { width:100%; height:auto; display:block; }

.gallery {
  display:grid; grid-template-columns: repeat(auto-fill, minmax(270px,1fr));
  gap: 10px; margin-top: 1.4rem;
}
.gallery a { display:block; }
.gallery img {
  width:100%; aspect-ratio: 4/3; object-fit: cover; display:block;
  filter: saturate(0.98);
}
.gallery a:hover img { outline: 3px solid var(--blue); outline-offset:-3px; }
.wrap.wide { max-width: 1040px; }

.dr-lockup { width: clamp(240px, 52vw, 400px); height:auto; filter: drop-shadow(0 3px 14px rgba(0,0,0,0.55)); }
