/* ============================================================
   Accent Event Group — Service page shared styles
   ============================================================ */
.subhero { position: relative; overflow: hidden; padding: calc(var(--nav-h) + 76px) 0 92px; }
.subhero__grid { position: absolute; inset: 0; opacity: 0.3; background-image: linear-gradient(rgba(232,204,81,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(232,204,81,0.05) 1px, transparent 1px); background-size: 60px 60px; mask-image: radial-gradient(ellipse 70% 80% at 70% 20%, #000, transparent 75%); }
.subhero .container { position: relative; z-index: 2; }
.crumb { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-family: var(--f-display); font-weight: 600; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--text-dim); }
.crumb a:hover { color: var(--gold); } .crumb span { color: var(--gold); }
.subhero h1 { font-size: clamp(2.4rem, 6vw, 5rem); margin: 22px 0 0; max-width: 16ch; }
.subhero .lead { max-width: 600px; margin: 24px 0 0; color: var(--text-muted); font-size: 1.12rem; line-height: 1.65; }
.subhero__cta { display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap; }

/* intro split */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.split.rev .split__media { order: 2; }
.split__media { position: relative; border-radius: 22px; overflow: hidden; aspect-ratio: 4/3; border: 1px solid var(--line); }
.split__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.split__media .grad { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,11,24,0.1), rgba(18,11,24,0.62)); }
.split__media .script-tl { position: absolute; left: 26px; bottom: 22px; font-size: 2.2rem; z-index: 2; }
.prose p { color: var(--text-muted); font-size: 1.06rem; line-height: 1.8; margin: 0 0 16px; }

/* feature / type cards */
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 52px; }
.cards.c2 { grid-template-columns: repeat(2, 1fr); }
.fcard { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 30px 26px; transition: transform 0.4s var(--ease), border-color 0.4s; }
.fcard:hover { transform: translateY(-6px); border-color: var(--gold-line); }
.fcard__ic { width: 52px; height: 52px; border-radius: 14px; background: rgba(232,204,81,0.1); border: 1px solid var(--gold-line); display: grid; place-items: center; margin-bottom: 18px; }
.fcard__ic img { width: 26px; height: 26px; object-fit: contain; }
.fcard h3 { font-family: var(--f-display); font-weight: 700; font-size: 1.12rem; text-transform: uppercase; letter-spacing: 0.01em; margin: 0 0 8px; }
.fcard p { margin: 0; color: var(--text-muted); font-size: 0.94rem; line-height: 1.6; }

/* photo cards (image + caption) */
.pcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 52px; }
.pcard { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; transition: transform 0.4s var(--ease), border-color 0.4s, box-shadow 0.4s; display: flex; flex-direction: column; }
.pcard:hover { transform: translateY(-7px); border-color: var(--gold-line); box-shadow: var(--shadow); }
.pcard__media { aspect-ratio: 4/3; overflow: hidden; position: relative; background: var(--purple-deep); }
.pcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s var(--ease); }
.pcard:hover .pcard__media img { transform: scale(1.06); }
.pcard__body { padding: 22px 24px 26px; flex: 1; }
.pcard__media { position: relative; }
.pcard__flag { position: absolute; top: 12px; left: 12px; z-index: 2; font-family: var(--f-display); font-weight: 600; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.12em; color: #1a0f24; background: var(--gold-grad); padding: 5px 12px; border-radius: 999px; }
.fcard__tag { display: inline-block; vertical-align: middle; margin-left: 6px; font-family: var(--f-display); font-weight: 600; font-size: 0.56rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gold); border: 1px solid var(--gold-line); padding: 3px 8px; border-radius: 999px; }
.pcard__body h3 { font-family: var(--f-display); font-weight: 700; font-size: 1.2rem; text-transform: uppercase; margin: 0 0 8px; }
.pcard__body p { margin: 0; color: var(--text-muted); font-size: 0.94rem; line-height: 1.6; }

/* backdrop / tile grid */
.tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 48px; }
.tile { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 3/4; border: 1px solid var(--line); transition: transform 0.35s var(--ease), border-color 0.35s; }
#backdrops .tile { aspect-ratio: 1 / 1; }
.tile:hover { transform: translateY(-5px) scale(1.01); border-color: var(--gold-line); }
.tile img { width: 100%; height: 100%; object-fit: cover; }
.tile span { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 14px 12px; font-family: var(--f-display); font-weight: 600; font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.08em; color: #fff; background: linear-gradient(180deg, transparent, rgba(10,8,14,0.86)); }

/* gallery strip */
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 48px; }
.gallery a, .gallery div { border-radius: 16px; overflow: hidden; border: 1px solid var(--line); aspect-ratio: 4/3; }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s var(--ease); }
.gallery a:hover img, .gallery div:hover img { transform: scale(1.06); }

/* video grid */
.vidgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 48px; }
.vidgrid .v { border-radius: 16px; overflow: hidden; border: 1px solid var(--line); background: var(--surface); transition: transform 0.4s var(--ease), border-color 0.4s; }
.vidgrid .v:hover { transform: translateY(-6px); border-color: var(--gold-line); }
.vidgrid .vf { aspect-ratio: 16/9; background: #000; }
.vidgrid .vf iframe { width: 100%; height: 100%; border: 0; display: block; }
.vidgrid .vc { padding: 14px 18px; display: flex; align-items: center; gap: 10px; }
.vidgrid .vc .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 8px var(--gold); flex-shrink: 0; }
.vidgrid .vc span.t { font-family: var(--f-display); font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); }

/* CTA band */
.cta-band { position: relative; text-align: center; border-radius: 28px; overflow: hidden; padding: clamp(54px, 8vw, 90px) 28px; background: radial-gradient(120% 140% at 50% 0%, #4a2e5b 0%, #271730 55%, #120b18 100%); border: 1px solid var(--gold-line); }
.cta-band .glow-blob { width: 420px; height: 420px; left: 50%; top: -200px; transform: translateX(-50%); background: radial-gradient(circle, rgba(232,204,81,0.2), transparent 65%); }

.coming { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-display); font-weight: 700; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.16em; color: #1a0f24; background: var(--gold-grad); padding: 8px 18px; border-radius: 999px; }

@media (max-width: 1024px) { .cards, .pcards { grid-template-columns: repeat(2, 1fr); } .tiles { grid-template-columns: repeat(3, 1fr); } .gallery { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .split { grid-template-columns: 1fr; gap: 34px; } .split.rev .split__media { order: 0; } .cards, .pcards, .cards.c2 { grid-template-columns: 1fr; } .tiles { grid-template-columns: repeat(2, 1fr); } .gallery { grid-template-columns: 1fr 1fr; } }
