/* The opening is available immediately, without a reveal or scroll lock. */
.yoruya-home .js-fadein { opacity: 1; visibility: visible; }
.yoruya-hero { position: relative; isolation: isolate; box-sizing: border-box; min-height: calc(100vh - var(--yoruya-header-height) - var(--yoruya-admin-offset)); min-height: calc(100svh - var(--yoruya-header-height) - var(--yoruya-admin-offset)); display: flex; align-items: flex-end; padding: clamp(32px, 6vw, 88px); color: #fffaf5; background: #302b27; }
.yoruya-hero-photo { position: absolute; inset: 0; z-index: -2; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 53%; }
.yoruya-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #16130fd1 0%, #16130f7a 43%, #16130f12 100%), linear-gradient(0deg, #16130f66, transparent 80%); }
.yoruya-hero-copy { max-width: 680px; }
.yoruya-hero h1 { font: inherit; font-size: clamp(30px, 3.3vw, 48px); line-height: 1.55; letter-spacing: .035em; text-wrap: balance; margin: 0 0 24px; }
.yoruya-hero h1 span { display: block; }
.yoruya-hero-copy > p { max-width: 580px; font-size: 16px; line-height: 2; margin-bottom: 28px; }
.yoruya-hero .yoruya-outline-link { color: #fffaf5; border-color: #fffaf5; background: #19150f30; }
.yoruya-hero .yoruya-outline-link:hover { color: #302b27; background: #fffaf5; }
.yoruya-hero .yoruya-outline-link:focus-visible { outline-color: #fffaf5; }
@media (max-width: 812px) {
  .yoruya-hero { padding: 36px 24px 48px; }
  .yoruya-hero-photo { object-position: 57% 50%; }
  .yoruya-hero::before { background: linear-gradient(0deg, #16130fe0, #16130f70 65%, #16130f20); }
  .yoruya-hero h1 { font-size: clamp(25px, 5.6vw, 38px); line-height: 1.6; margin-bottom: 18px; }
  .yoruya-hero-copy > p { font-size: 15px; line-height: 1.85; margin-bottom: 24px; }
}
@media (max-width: 360px) { .yoruya-hero { padding-inline: 20px; } .yoruya-hero h1 { font-size: 24px; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .yoruya-site-header *, .yoruya-hero *, .js-fadein { animation: none !important; transition: none !important; }
  .js-fadein { opacity: 1 !important; visibility: visible !important; }
}
