/* Home (Sei) — editorial hero, scoped to body.is-home */

@keyframes seiScroll {
  0%, 100% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(8px); opacity: 0.4; }
}

.is-home {
  background: #fdfaf8;
  font-family: "Noto Serif JP", "Noto Sans JP", serif;
  color: #2a1f1f;
}

/* Header / nav editorial styles are handled globally in sei.css */

/* HERO (Sei) */
.hero-sei {
  position: relative;
  min-height: calc(100vh - var(--header-h));
  overflow: hidden;
  background: #fdfaf8;
}

.hero-sei__orb {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(760px, 78vw, 78vh);
  height: min(760px, 78vw, 78vh);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle at 35% 35%, #f7d9d2, #d98f85 55%, #f4c9c1 100%);
  filter: blur(0.4px);
  opacity: 0.9;
  pointer-events: none;
  will-change: transform;
}

.hero-sei__orb-small {
  position: absolute;
  top: 12%;
  right: 8%;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: #fbe9e4;
  opacity: 0.7;
  filter: blur(14px);
  pointer-events: none;
  will-change: transform;
}

.hero-sei__rail {
  position: absolute;
  top: 50%;
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 10px;
  letter-spacing: 0.3em;
  color: #2a1f1f;
  opacity: 0.55;
  white-space: nowrap;
}
.hero-sei__rail--left {
  left: 56px;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: left center;
}
.hero-sei__rail--right {
  right: 56px;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: right center;
}
.hero-sei__rail-line {
  width: 48px;
  height: 1px;
  background: currentColor;
  opacity: 0.5;
}

.hero-sei__headline-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}

.hero-sei__headline {
  writing-mode: vertical-rl;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(34px, 5vw, 48px);
  line-height: 1.8;
  letter-spacing: 0.2em;
  color: #2a1f1f;
  margin: 0;
  display: flex;
  gap: 8px;
  pointer-events: auto;
  will-change: transform, opacity;
}
.hero-sei__headline-line { display: block; }
.hero-sei__headline-accent { display: block; color: #5a7a4a; }

.hero-sei__bottom {
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  padding: 0 56px;
  gap: 40px;
}
.hero-sei__meta-left,
.hero-sei__meta-right {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.hero-sei__meta-right {
  text-align: right;
  align-items: flex-end;
}
.hero-sei__meta-key {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 10px;
  letter-spacing: 0.3em;
  opacity: 0.55;
}
.hero-sei__meta-value {
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  letter-spacing: 0.05em;
}
.hero-sei__scroll {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 10px;
  letter-spacing: 0.3em;
  opacity: 0.55;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.18s, transform 0.18s;
}
.hero-sei__scroll:hover { opacity: 1; }
.hero-sei__scroll:hover .hero-sei__scroll-line { transform: translateY(4px); }
.hero-sei__scroll-line {
  display: block;
  width: 1px;
  height: 36px;
  background: currentColor;
  animation: seiScroll 2.2s ease-in-out infinite;
}

/* INTRO 桃の強調のみ残置（ABOUTセクションは標準 .section パターンに統合済） */
#about { scroll-margin-top: var(--header-h); }
.sei-intro__em {
  color: #d98f85;
  font-weight: 500;
}
/* Subtle restyle for editorial flow on the home page */
.is-home .section h2 { font-family: "Noto Serif JP", serif; font-weight: 500; letter-spacing: 0.04em; }
.is-home .eyebrow { font-family: "Plus Jakarta Sans", "Inter", sans-serif; }

/* Responsive */
@media (max-width: 860px) {
  .hero-sei__rail { display: none; }
  .hero-sei__bottom {
    padding: 0 24px;
    bottom: 24px;
    grid-template-columns: 1fr;
    gap: 16px;
    text-align: left;
  }
  .hero-sei__meta-right { text-align: left; align-items: flex-start; }
  .hero-sei__scroll { align-items: flex-start; }
  .hero-sei__orb {
    width: min(78vw, 70vh);
    height: min(78vw, 70vh);
    top: 34%;
  }
  .hero-sei__headline-wrap {
    inset: auto;
    top: 34%;
    left: 50%;
    transform: translate(-50%, -50%);
    align-items: center;
    padding-top: 0;
  }
  .hero-sei__headline {
    font-size: clamp(20px, 5.6vw, 30px);
    letter-spacing: 0.14em;
    line-height: 1.7;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-sei__scroll-line { animation: none; }
}
