/* Home only: retain the existing site's palette, typography and controls. */
.page:has(.home-experience) > h1 {
  font-size: clamp(2.8rem, 8vw, 5rem);
  letter-spacing: -0.045em;
  margin: 0 0 0.2rem;
}
.home-experience { margin: 0 auto; }
.home-intro {
  padding: 0.15rem 0 2.15rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: 1.8rem;
}
.home-intro p { max-width: 36rem; margin: 0; }
.home-intro .home-role {
  margin: 0 0 0.65rem;
  color: var(--accent-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 3vw, 1.55rem);
  letter-spacing: 0.025em;
}
.home-doors { display: grid; gap: 1rem; }
.home-door {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.2rem;
  padding: clamp(1.2rem, 4vw, 2rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
}
.home-door-copy { min-width: 0; }
.home-door h2 { margin: 0 0 0.7rem; }
.home-door p { margin: 0 0 0.65rem; }
.home-door .home-index {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.88rem;
  letter-spacing: 0.15em;
}
.home-book { background: var(--bg); }
.home-mark {
  align-self: center;
  color: var(--accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(4rem, 12vw, 7rem);
  line-height: 1;
  letter-spacing: -0.06em;
}
.home-inlex .home-mark { font-size: clamp(2rem, 5vw, 3rem); }
.home-tennis { padding: 0; }
.home-tennis .home-door-copy { padding: clamp(1.2rem, 4vw, 2rem); }
.home-tennis img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: cover;
  border-radius: 0 0 var(--radius) var(--radius);
}
.home-door .btn { margin-top: 0.45rem; }
@media (min-width: 640px) {
  .home-door {
    grid-template-columns: minmax(0, 1fr) minmax(150px, 0.36fr);
    align-items: center;
  }
  .home-mark { justify-self: end; }
  .home-tennis { grid-template-columns: minmax(0, 1fr) minmax(220px, 0.75fr); }
  .home-tennis img {
    height: 100%;
    min-height: 250px;
    border-radius: 0 var(--radius) var(--radius) 0;
  }
}
@media (max-width: 380px) {
  .home-door .btn { max-width: 100%; white-space: normal; }
}
