.home-hero {
  position:relative;
  min-height:min(620px, calc(100vh - 72px));
  display:grid;
  align-items:center;
  padding:clamp(58px, 8vw, 96px) 0 clamp(48px, 7vw, 72px);
  background-color:var(--bg);
  background-image:
    linear-gradient(90deg, rgba(255,230,153,.98) 0%, rgba(255,249,230,.96) 56%, rgba(255,249,230,.78) 100%),
    url("/assets/logo.png");
  background-position:center, right clamp(14px, 8vw, 120px) center;
  background-repeat:no-repeat;
  background-size:auto, min(30vw, 330px) auto;
  overflow:hidden;
}
.home-hero::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,249,230,.1), rgba(255,230,153,.22));
}
.home-hero .wrap {
  position:relative;
  z-index:1;
}
.home-hero-copy {
  max-width:760px;
}
.home-eyebrow {
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 16px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(26,26,26,.92);
  color:#fff;
  font-weight:800;
  letter-spacing:0;
}
.home-hero h1 {
  max-width:760px;
  margin:0;
  font-size:clamp(2.8rem, 7vw, 6.2rem);
  line-height:.98;
  letter-spacing:0;
}
.home-hero-lede {
  max-width:650px;
  margin:22px 0 0;
  font-size:clamp(1.08rem, 2.1vw, 1.55rem);
  line-height:1.35;
  font-weight:650;
  color:#333;
}
.home-hero-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}
.home-hero-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  border-radius:10px;
  border:2px solid var(--text);
  background:var(--text);
  color:#fff;
  text-decoration:none;
  font-weight:800;
}
.home-hero-link.alt {
  background:var(--accent);
  border-color:var(--accent);
  color:#000;
}
.home-hero-link.light {
  background:rgba(255,255,255,.45);
  color:var(--text);
}
.home-hero-link:hover { opacity:.9; text-decoration:none; }

.home-section-heading {
  max-width:720px;
}
.home-section-heading h2 {
  margin:.35rem 0 0;
  font-size:clamp(1.9rem, 4vw, 3rem);
  line-height:1.08;
}
.home-purpose-layout {
  display:grid;
  gap:24px;
}
.home-purpose-grid {
  display:grid;
  gap:16px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.home-purpose-card,
.home-latest-panel {
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:24px;
  min-width:0;
}
.home-purpose-card h3 {
  margin:0 0 8px;
  font-size:1.25rem;
  line-height:1.2;
}
.home-purpose-card p,
.home-latest-panel p {
  margin:0;
  color:var(--muted);
}
.home-latest-panel {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.home-latest-panel h2 {
  margin:.35rem 0 .5rem;
  font-size:clamp(1.7rem, 3vw, 2.35rem);
  line-height:1.12;
}
.home-latest-panel .cta {
  flex:0 0 auto;
}

@media (max-width: 860px) {
  .home-purpose-grid { grid-template-columns:1fr; }
  .home-latest-panel { align-items:flex-start; }
  .home-latest-panel .cta { width:100%; }
}

@media (max-width: 640px) {
  .home-hero {
    min-height:auto;
    padding:50px 0 42px;
    background-image:
      linear-gradient(180deg, rgba(255,249,230,.98) 0%, rgba(255,230,153,.95) 100%),
      url("/assets/logo.png");
    background-position:center, right -54px top 18px;
    background-size:auto, 156px auto;
  }
  .home-hero h1 { font-size:clamp(2.4rem, 11vw, 3.6rem); }
  .home-hero-actions .home-hero-link,
  .home-latest-panel .btn { width:100%; }
  .home-purpose-card,
  .home-latest-panel { padding:20px; }
}

@media (min-width: 1500px) {
  .home-hero { min-height:660px; }
}
