.gc-hero { padding-block: clamp(28px, 4vw, 52px); color: var(--store-ink); background: var(--store-soft); }
.gc-hero * { box-sizing: border-box; }
.gc-hero h1, .gc-hero p, .gc-hero dl, .gc-hero dd { margin-block: 0; }
.gc-hero__inner { display: grid; min-height: min(620px, 74vh); gap: clamp(36px, 6vw, 82px); grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr); align-items: center; }
.gc-hero__copy { padding-block: 30px; }
.gc-hero__eyebrow { color: var(--store-accent); font-size: 12px; font-weight: 700; letter-spacing: 0.17em; text-transform: uppercase; }
.gc-hero h1 { max-width: 640px; margin-block: 14px 20px; font-size: clamp(42px, 5vw, 68px); line-height: 1; letter-spacing: -0.045em; text-wrap: balance; }
.gc-hero__description { max-width: 560px; color: var(--store-muted); font-size: clamp(15px, 1.35vw, 18px); line-height: 1.65; }
.gc-hero__button { display: inline-flex; min-height: 48px; margin-block-start: 24px; padding: 12px 20px; align-items: center; gap: 18px; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; background: var(--store-accent); border-radius: 999px; transition: background-color 180ms ease, transform 180ms ease; }
.gc-hero__button:hover { color: #fff; background: var(--store-accent-hover); transform: translateY(-2px); }
.gc-hero__button:focus-visible { outline: 3px solid var(--store-accent); outline-offset: 4px; }
.gc-hero__notes { display: grid; margin-block-start: 30px; padding-block-start: 18px; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block-start: 1px solid var(--store-line); }
.gc-hero__notes div { min-width: 0; }
.gc-hero__notes dt { color: var(--store-ink); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.gc-hero__notes dd { margin-block-start: 7px; color: var(--store-muted); font-size: 13px; line-height: 1.5; }
.gc-hero__media { position: relative; min-height: 500px; max-height: 620px; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 220px 220px 18px 18px; background: var(--store-cream); }
.gc-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gc-hero__caption { position: absolute; inset-inline-end: 20px; inset-block-end: 20px; padding: 11px 16px; color: var(--store-ink); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; background: rgb(255 253 252 / 90%); border-radius: 999px; }
@media (max-width: 959px) {
  .gc-hero__inner { min-height: 0; grid-template-columns: 1fr; }
  .gc-hero__copy { max-width: 720px; padding-block: 24px 0; }
  .gc-hero__media { width: min(100%, 760px); min-height: 0; max-height: none; aspect-ratio: 5 / 4; border-radius: 160px 160px 16px 16px; }
}
@media (max-width: 599px) {
  .gc-hero { padding-block: 20px 34px; }
  .gc-hero h1 { font-size: clamp(38px, 11vw, 52px); }
  .gc-hero__notes { grid-template-columns: 1fr; }
  .gc-hero__media { aspect-ratio: 4 / 3; border-radius: 96px 96px 14px 14px; }
  .gc-hero__caption { inset-inline-end: 12px; inset-block-end: 12px; padding: 8px 12px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .gc-hero__button { transition-duration: 0.01ms !important; } }
