.home-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: #111 url("wowcardsGROKNEW/gift%20cards%201.jpeg") center / cover no-repeat;
}
.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(7,7,8,.95) 0%, rgba(7,7,8,.83) 43%, rgba(7,7,8,.2) 100%);
}
.home-copy { max-width: 760px; padding-block: 70px; }
.home-copy h1 { max-width: 750px; font-size: clamp(48px,6.6vw,82px); }
.home-copy .hero-lead { max-width: 680px; }
.category-band { padding-block: 64px; background: #f5f5f6; }
.category-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:26px; }
.category-head p:last-child { max-width:450px; margin:0; color:var(--muted); }
.category-grid { display:grid; grid-template-columns:repeat(10,1fr); gap:12px; }
.category-card {
  position:relative; min-height:280px; grid-column:span 2; overflow:hidden;
  border-radius:8px; color:#fff; background:#222;
}
.category-card img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.category-card:hover img { transform:scale(1.03); }
.category-card::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.94)); }
.category-copy { position:absolute; z-index:1; left:18px; right:18px; bottom:17px; }
.category-copy h3 { margin-bottom:4px; font-size:20px; }
.category-copy span { display:flex; align-items:center; gap:6px; font-size:12px; font-weight:800; }
.category-copy svg { width:16px; }
.merch-band { background:#111; color:#fff; }
.merch-layout { display:grid; grid-template-columns:1.05fr .95fr; min-height:560px; }
.merch-image { min-height:460px; background:#fff url("images/bannerright-img.png") center / contain no-repeat; }
.merch-copy { display:flex; flex-direction:column; justify-content:center; padding:64px max(38px,calc((100vw - 1180px)/2)); padding-left:58px; }
.merch-copy .section-intro { color:#c7c8cb; }
.merch-links { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:24px; background:#3c3c3f; border:1px solid #3c3c3f; }
.merch-links a { display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:12px 14px; background:#1d1d1f; color:#fff; font-size:13px; font-weight:800; }
.merch-links a:hover { background:var(--pink); }
.merch-links svg { width:16px; }
.reason-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.reason { min-height:170px; padding:26px; background:#fff; }
.reason svg { width:26px; margin-bottom:22px; color:var(--teal); }
.reason strong { display:block; margin-bottom:6px; font-size:18px; }
.reason p { margin:0; color:var(--muted); font-size:13px; }
.home-cta { padding-block:58px; background:var(--yellow); }
.home-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.home-cta h2 { max-width:720px; margin:0; font-size:clamp(30px,4vw,48px); line-height:1.05; font-weight:900; }
.contact-dialog {
  width:min(620px,calc(100% - 28px)); max-height:calc(100dvh - 28px); padding:0;
  border:0; border-radius:8px; color:var(--ink); box-shadow:0 28px 90px rgba(0,0,0,.42);
}
.contact-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(3px); }
.contact-dialog[open] { animation:dialog-in .18s ease-out; }
.contact-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:25px 25px 0; }
.contact-dialog-head h2 { margin:2px 0 0; font-size:32px; line-height:1.05; }
.contact-dialog-intro { margin:10px 25px 20px; color:var(--muted); }
.contact-form { padding:0 25px 25px; }
.dialog-close {
  display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; padding:0;
  border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); cursor:pointer;
}
.dialog-close:hover { color:var(--pink); border-color:var(--pink); }
.dialog-close svg { width:20px; }
body:has(.contact-dialog[open]) { overflow:hidden; }
@keyframes dialog-in { from { opacity:0; transform:translateY(12px) scale(.98); } }
@media(max-width:980px){
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .category-card { grid-column:span 1; }
  .category-card:first-child { grid-column:span 2; }
  .merch-layout { grid-template-columns:1fr; }
  .merch-image { min-height:420px; }
  .merch-copy { padding:52px 28px; }
  .reason-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:700px){
  .home-hero { min-height:620px; align-items:end; background-position:62% center; }
  .home-hero::before { background:linear-gradient(180deg,rgba(7,7,8,.12),rgba(7,7,8,.72) 42%,rgba(7,7,8,.98)); }
  .home-copy { padding-block:80px 40px; }
  .home-copy h1 { font-size:44px; }
  .category-band { padding-block:46px; }
  .category-head { display:block; }
  .category-head p:last-child { margin-top:10px; }
  .category-grid { gap:8px; }
  .category-card { min-height:210px; }
  .category-copy { left:13px; right:13px; bottom:13px; }
  .merch-image { min-height:300px; }
  .merch-copy { padding:44px 14px; }
  .merch-links { grid-template-columns:1fr; }
  .reason { min-height:150px; padding:18px; }
  .home-cta-inner { display:grid; }
  .home-cta .button { width:100%; }
  .contact-dialog-head { padding:20px 18px 0; }
  .contact-dialog-head h2 { font-size:28px; }
  .contact-dialog-intro { margin:9px 18px 18px; }
  .contact-form { padding:0 18px 20px; }
}
@media(max-width:380px){
  .category-grid { grid-template-columns:1fr; }
  .category-card,.category-card:first-child { grid-column:span 1; }
  .reason-grid { grid-template-columns:1fr; }
}
