.s-hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-block:calc(var(--header-h, 72px) + 48px) 96px;
  padding-inline:24px;
  background:var(--c-bg);
  color:var(--c-text);
  overflow:hidden;
  isolation:isolate;
}

/* Background texture — very faint architectural image */
.s-hero__bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:url("../img/hero.jpg");
  background-size:cover;
  background-position:center;
  opacity:.08;
  filter:saturate(.85) contrast(1.05);
  pointer-events:none;
}

/* Warm radial glow behind the title */
.s-hero__glow{
  position:absolute;
  inset-inline-start:50%;
  top:50%;
  width:min(1100px, 130vw);
  aspect-ratio:1 / 1;
  transform:translate(-50%, -50%);
  z-index:-1;
  background:radial-gradient(circle at center,
    color-mix(in srgb, var(--c-accent) 22%, transparent) 0%,
    color-mix(in srgb, var(--c-accent) 8%, transparent) 32%,
    transparent 62%);
  opacity:.55;
  pointer-events:none;
}

.s-hero__inner{
  width:100%;
  max-width:720px;
  margin-inline:auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.s-hero__eyebrow{
  margin:0;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--c-secondary);
  line-height:1.6;
}

.s-hero__rule{
  display:block;
  width:48px;
  height:1px;
  margin-block:32px;
  background:color-mix(in srgb, var(--c-secondary) 45%, transparent);
}

.s-hero__title{
  margin:0;
  font-family:var(--font-head);
  font-weight:300;
  font-size:clamp(56px, 11vw, 128px);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--c-text);
  text-wrap:balance;
}

.s-hero__lede{
  margin:32px 0 0;
  max-width:520px;
  font-family:var(--font-body);
  font-size:18px;
  line-height:1.75;
  color:var(--c-secondary);
  text-wrap:pretty;
}

.s-hero__note{
  margin:40px 0 0;
  font-family:var(--font-body);
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:color-mix(in srgb, var(--c-secondary) 78%, transparent);
}

/* Entrance motion — fade + 16px rise, once */
.s-hero .reveal{
  opacity:0;
  transform:translateY(16px);
  animation:hero-rise .9s cubic-bezier(.22,.61,.36,1) forwards;
}
.s-hero .reveal:nth-child(1){animation-delay:.05s}
.s-hero .reveal:nth-child(2){animation-delay:.18s}
.s-hero .reveal:nth-child(3){animation-delay:.30s}
.s-hero .reveal:nth-child(4){animation-delay:.44s}
.s-hero .reveal:nth-child(5){animation-delay:.56s}

@keyframes hero-rise{
  to{opacity:1; transform:translateY(0)}
}

@media (prefers-reduced-motion: reduce){
  .s-hero .reveal{
    opacity:1;
    transform:none;
    animation:none;
  }
}

@media (max-width:900px){
  .s-hero{padding-block:calc(var(--header-h, 72px) + 40px) 80px}
  .s-hero__rule{margin-block:28px}
  .s-hero__lede{font-size:17px; margin-top:28px}
  .s-hero__note{margin-top:32px}
}

@media (max-width:600px){
  .s-hero{padding-inline:20px}
  .s-hero__eyebrow{font-size:11px; letter-spacing:.22em}
  .s-hero__title{font-size:clamp(48px, 15vw, 72px)}
  .s-hero__lede{font-size:16px; line-height:1.7}
  .s-hero__glow{opacity:.4}
}
