/*
 * Dallas Media Company — Events group.
 * Covers: Events Hub (.evt-*), Event Detail (.ev-*), Past Event Recap (.pe-*),
 * and the Join (apply) forms (.apply-* / .ap-*). Ported from the legacy
 * hand-built pages and adapted to native-block wrappers. Decorative inline
 * SVGs from the originals are replaced with CSS marks or dropped.
 */

/* ════════════════════════════════════════════
   EVENTS HUB  (.evt-*)
════════════════════════════════════════════ */
.evt-hero { padding: 100px 60px 80px; background: radial-gradient(ellipse 60% 80% at 80% 30%, rgba(30,95,191,0.18) 0%, transparent 60%), var(--navy); position: relative; overflow: hidden; }
.evt-hero-head { position: relative; z-index: 1; max-width: 900px; margin: 0 auto 44px; text-align: center; }
.evt-hero-head > * { margin-top: 0 !important; }
.evt-hero-eyebrow { font-size: 11px; letter-spacing: 4px; text-transform: uppercase; color: var(--cyan); margin: 0 0 24px; display: inline-flex; align-items: center; gap: 12px; }
.evt-hero-eyebrow::before, .evt-hero-eyebrow::after { content: ''; display: block; width: 40px; height: 1px; background: var(--cyan); }
.evt-hero h1 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(56px, 7vw, 100px) !important; line-height: 0.92 !important; letter-spacing: 2px; color: var(--white); margin: 0 0 28px; }
.evt-hero h1 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.evt-hero-sub { font-size: 16px; line-height: 1.7; color: var(--gray); max-width: 600px; margin: 0 auto 36px; }
.evt-hero-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin: 0 0 72px !important; }
.evt-hero-btns .wp-block-button { margin: 0; }
/* Hero "past coverage" strip = Query Loop of past events */
.evt-hero-loop { position: relative; z-index: 1; max-width: 1320px; margin: 0 auto; }
.evt-hero-gallery { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.evt-hero-gallery > li { position: relative; overflow: hidden; aspect-ratio: 4/3; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px; margin: 0; background: linear-gradient(135deg,#071428,#1d4ea3); }
.evt-hero-gallery > li > * { position: relative; z-index: 1; margin-top: 0 !important; }
.evt-hero-gallery > li:nth-child(5n+2) { background: linear-gradient(135deg,#0d1f3c,#1e5fbf); }
.evt-hero-gallery > li:nth-child(5n+3) { background: linear-gradient(135deg,#040d1a,#2e7de6); }
.evt-hero-gallery > li:nth-child(5n+4) { background: linear-gradient(135deg,#0a1a30,#0d3a70); }
.evt-hero-gallery > li:nth-child(5n+5) { background: linear-gradient(135deg,#071428,#183d7a); }
.evt-hero-gallery > li::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(4,13,26,0.97) 0%, rgba(4,13,26,0.35) 55%, transparent 100%); z-index: 0; }
.evt-hero-gallery .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; z-index: 0; }
.evt-hero-gallery .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.evt-gal-tag { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); margin: 0 0 4px; }
.evt-hero-gallery .wp-block-post-title { font-family: 'Bebas Neue', sans-serif; font-size: 20px; color: var(--white); line-height: 1.1; margin: 0; letter-spacing: 0.5px; }
.evt-hero-gallery .wp-block-post-title a { color: var(--white); text-decoration: none; }
.evt-hero-gallery .wp-block-post-title a:hover { color: var(--cyan); }

/* Shared section shells */
.evt-attending, .evt-hosted, .evt-workshops { padding: 100px 60px; }
/* On the standalone "We're Attending" page this section follows the breadcrumb,
   so keep its top tight (matches the ev-hero-after-crumb pattern). */
.evt-attending { background: var(--navy2); padding-top: 48px; }
.evt-hosted { background: var(--navy); }
.evt-workshops { background: var(--navy2); }
.evt-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin: 0 auto 56px; max-width: 1280px; }
.evt-head > * { margin-top: 0 !important; }
.evt-head .evt-head-text { max-width: 560px; }
.evt-head .evt-head-text > * { margin-top: 0 !important; }
.evt-head .right { font-size: 13px; color: var(--gray); margin: 0; white-space: nowrap; }
.evt-head .section-desc { margin-top: 16px !important; }

/* Attending rows */
.evt-rows { max-width: 1280px; margin: 0 auto; }
.evt-row { display: grid; grid-template-columns: 110px 1fr 1fr 1fr auto; gap: 24px; align-items: center; padding: 24px 0; border-top: 1px solid rgba(0,212,255,0.08); margin: 0; }
.evt-row > * { margin-top: 0 !important; }
.evt-row:last-child { border-bottom: 1px solid rgba(0,212,255,0.08); }
.evt-row-date { display: flex; flex-direction: column; align-items: flex-start; }
.evt-row-date > * { margin: 0 !important; }
.evt-row-date .day { font-family: 'Bebas Neue', sans-serif; font-size: 44px; line-height: 1; color: var(--cyan); }
.evt-row-date .month { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gray); margin-top: 4px !important; }
.evt-row-name { font-family: 'Bebas Neue', sans-serif; font-size: 22px; color: var(--white); letter-spacing: 0.5px; margin: 0; }
.evt-row-name .city { display: block; font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--gray); letter-spacing: 1.5px; text-transform: uppercase; margin-top: 4px; font-weight: 400; }
.evt-row-role { font-size: 13px; color: var(--gray); margin: 0; }
.evt-row-role b { color: var(--white); font-weight: 500; display: block; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 4px; }
.evt-row-tag { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin: 0; }
.evt-row-link { margin: 0; }
.evt-row-link a { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); text-decoration: none; border: 1px solid rgba(0,212,255,0.3); padding: 12px 20px; transition: all 0.2s; white-space: nowrap; }
.evt-row-link a:hover { background: var(--cyan); color: var(--navy); }

/* Hosted cards */
.evt-hosted-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; max-width: 1280px; margin: 0 auto; }
.evt-card { background: linear-gradient(180deg,rgba(13,38,80,0.4),rgba(7,20,40,0.6)); border: 1px solid rgba(0,212,255,0.12); display: flex; flex-direction: column; transition: border-color 0.25s, transform 0.25s; margin: 0; }
.evt-card > * { margin-top: 0 !important; }
.evt-card:hover { border-color: rgba(0,212,255,0.4); transform: translateY(-4px); }
.evt-card-img { aspect-ratio: 16/9; position: relative; overflow: hidden; }
.evt-card:nth-child(1) .evt-card-img { background: linear-gradient(135deg,#071428,#1d4ea3); }
.evt-card:nth-child(2) .evt-card-img { background: linear-gradient(135deg,#0a1a30,#1e5fbf); }
.evt-card:nth-child(3) .evt-card-img { background: linear-gradient(135deg,#040d1a,#235ec9); }
.evt-card-img .pill { position: absolute; top: 16px; left: 16px; background: rgba(4,13,26,0.85); border: 1px solid rgba(0,212,255,0.4); color: var(--cyan); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; padding: 6px 12px; margin: 0; }
.evt-card-img .badge { position: absolute; top: 16px; right: 16px; background: var(--cyan); color: var(--navy); font-weight: 600; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; padding: 6px 12px; margin: 0; }
/* Event card featured image fills the 16:9 area (gradient shows as fallback when none). */
.evt-card-img .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; height: 100%; }
.evt-card-img .wp-block-post-featured-image a { display: block; height: 100%; }
.evt-card-img .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.evt-card-body { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.evt-card-body > * { margin-top: 0 !important; }
.evt-card-meta { display: flex; gap: 16px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin: 0 0 14px; }
.evt-card-body h4 { font-family: 'Bebas Neue', sans-serif !important; font-size: 26px !important; line-height: 1.1; color: var(--white); margin: 0 0 12px; letter-spacing: 0.5px; }
.evt-card-body p { font-size: 14px; line-height: 1.65; color: var(--gray); margin: 0 0 24px; flex: 1; }
.evt-card-foot { display: flex; justify-content: space-between; align-items: center; padding-top: 20px; border-top: 1px solid rgba(0,212,255,0.08); margin-top: auto !important; }
.evt-card-foot > * { margin: 0 !important; }
.evt-card-price { font-family: 'Bebas Neue', sans-serif; font-size: 24px; color: var(--white); letter-spacing: 1px; }
.evt-card-price small { font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); display: block; font-weight: 400; }
.evt-card-cta a { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); text-decoration: none; border: 1px solid rgba(0,212,255,0.3); padding: 12px 20px; transition: all 0.2s; }
.evt-card-cta a:hover { background: var(--cyan); color: var(--navy); }

/* Workshops grid */
.evt-ws-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(0,212,255,0.08); max-width: 1280px; margin: 0 auto; border: 1px solid rgba(0,212,255,0.08); }
.evt-ws { background: var(--navy2); padding: 36px 28px; display: flex; flex-direction: column; transition: background 0.25s; margin: 0; }
.evt-ws > * { margin-top: 0 !important; }
.evt-ws:hover { background: rgba(13,38,80,0.3); }
.evt-ws-meta { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin: 0 0 8px; }
.evt-ws h4 { font-family: 'Bebas Neue', sans-serif !important; font-size: 24px !important; line-height: 1.1; color: var(--white); margin: 0 0 12px; letter-spacing: 0.5px; }
.evt-ws p { font-size: 14px; line-height: 1.65; color: var(--gray); margin: 0 0 20px; flex: 1; }
.evt-ws-foot { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; border-top: 1px solid rgba(0,212,255,0.08); margin-top: auto !important; }
.evt-ws-foot > * { margin: 0 !important; }
.evt-ws-price { font-family: 'Bebas Neue', sans-serif; font-size: 22px; color: var(--cyan); letter-spacing: 1px; }
.evt-ws-arrow a { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); transition: color 0.2s; text-decoration: none; }
.evt-ws:hover .evt-ws-arrow a { color: var(--cyan); }

/* Hub CTA (interest form) */
.evt-cta { background: linear-gradient(135deg, #071428 0%, #0d2650 100%); position: relative; overflow: hidden; padding: 100px 60px; }
.evt-cta-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; max-width: 1280px; margin: 0 auto; align-items: start; }
.evt-cta-left > * { margin-top: 0 !important; }
.evt-cta-left p.lead { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 12px 0 0; }
.evt-cta-bullets { margin-top: 32px; display: flex; flex-direction: column; gap: 16px; }
.evt-cta-bullets > * { margin-top: 0 !important; }
.evt-cta-bullets p { font-size: 14px; color: var(--gray); line-height: 1.6; margin: 0; padding-left: 38px; position: relative; }
.evt-cta-bullets p::before { content: '✓'; position: absolute; left: 0; top: 0; width: 24px; height: 24px; border: 1px solid var(--cyan); display: flex; align-items: center; justify-content: center; color: var(--cyan); font-size: 12px; }
.evt-cta-bullets p b { color: var(--white); font-weight: 500; display: block; margin-bottom: 2px; }
.evt-cta-formwrap { background: rgba(4,13,26,0.4); border: 1px solid rgba(0,212,255,0.15); padding: 32px; }

/* ── HUB: Query Loop event cards (post-template <li>) ── */
.evt-loop { margin: 0 auto; max-width: 1280px; }
.evt-hosted-grid { list-style: none; padding: 0; }
.evt-hosted-grid > li { background: linear-gradient(180deg,rgba(13,38,80,0.4),rgba(7,20,40,0.6)); border: 1px solid rgba(0,212,255,0.12); display: flex; flex-direction: column; transition: border-color 0.25s, transform 0.25s; margin: 0; overflow: hidden; }
.evt-hosted-grid > li:hover { border-color: rgba(0,212,255,0.4); transform: translateY(-4px); }
.evt-hosted-grid > li > * { margin-top: 0 !important; }
.evt-hosted-grid > li:nth-child(3n+1) .evt-card-img { background: linear-gradient(135deg,#071428,#1d4ea3); }
.evt-hosted-grid > li:nth-child(3n+2) .evt-card-img { background: linear-gradient(135deg,#0a1a30,#1e5fbf); }
.evt-hosted-grid > li:nth-child(3n) .evt-card-img { background: linear-gradient(135deg,#040d1a,#235ec9); }
.evt-card-img .wp-block-post-terms.pill { position: absolute; top: 16px; left: 16px; background: rgba(4,13,26,0.85); border: 1px solid rgba(0,212,255,0.4); color: var(--cyan); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; padding: 6px 12px; margin: 0; }
.evt-card-img .wp-block-post-terms.pill a { color: var(--cyan); text-decoration: none; }
.evt-card-body .wp-block-post-title { font-family: 'Bebas Neue', sans-serif; font-size: 26px; line-height: 1.1; color: var(--white); margin: 0 0 12px; letter-spacing: 0.5px; }
.evt-card-body .wp-block-post-title a { color: var(--white); text-decoration: none; }
.evt-card-body .wp-block-post-title a:hover { color: var(--cyan); }
.evt-card-body .wp-block-post-excerpt { margin: 0 0 24px; flex: 1; }
.evt-card-body .wp-block-post-excerpt p { font-size: 14px; line-height: 1.65; color: var(--gray); margin: 0; }
.evt-card-body .wp-block-post-excerpt__more-text, .evt-card-body .wp-block-post-excerpt__more-link { display: none; }
a.evt-card-cta { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); text-decoration: none; border: 1px solid rgba(0,212,255,0.3); padding: 12px 20px; transition: all 0.2s; }
a.evt-card-cta:hover { background: var(--cyan); color: var(--navy); }

.evt-ws-grid { list-style: none; }
.evt-ws-grid > li { background: var(--navy2); padding: 36px 28px; display: flex; flex-direction: column; transition: background 0.25s; margin: 0; }
.evt-ws-grid > li:hover { background: rgba(13,38,80,0.3); }
.evt-ws-grid > li > * { margin-top: 0 !important; }
.evt-ws-grid .wp-block-post-title { font-family: 'Bebas Neue', sans-serif; font-size: 24px; line-height: 1.1; color: var(--white); margin: 0 0 12px; letter-spacing: 0.5px; }
.evt-ws-grid .wp-block-post-title a { color: var(--white); text-decoration: none; }
.evt-ws-grid .wp-block-post-title a:hover { color: var(--cyan); }
.evt-ws-grid .wp-block-post-excerpt { margin: 0 0 20px; flex: 1; }
.evt-ws-grid .wp-block-post-excerpt p { font-size: 14px; line-height: 1.65; color: var(--gray); margin: 0; }
.evt-ws-grid .wp-block-post-excerpt__more-text, .evt-ws-grid .wp-block-post-excerpt__more-link { display: none; }
a.evt-ws-arrow { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); transition: color 0.2s; text-decoration: none; }
.evt-ws-grid > li:hover a.evt-ws-arrow { color: var(--cyan); }

/* Single-event hero bits */
.ev-hero-tags.wp-block-post-terms { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 24px; }
.ev-hero-tags.wp-block-post-terms a { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; padding: 6px 14px; border: 1px solid rgba(0,212,255,0.3); color: var(--cyan); text-decoration: none; }
.ev-hero .wp-block-post-title { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(52px, 7vw, 96px) !important; line-height: 0.95 !important; letter-spacing: 2px; color: var(--white); margin: 0 0 16px; max-width: 1000px; }
.ev-hero-metaline { font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--cyan); margin: 0 0 20px; }
.ev-hero .wp-block-post-excerpt { margin: 0; }
.ev-hero .wp-block-post-excerpt p { font-size: 17px; line-height: 1.65; color: var(--gray); max-width: 760px; margin: 0; }
.ev-reserve-pricenote { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin: 4px 0 0 !important; }
.ev-details.wp-block-post-content > * { margin-top: 0 !important; }

/* Past event single: gallery first, no reserve sidebar */
.event-past .ev-reserve { display: none; }
.event-past .ev-grid { grid-template-columns: 1fr; }
.event-past .ev-hero-metaline { color: var(--gray); }
.ev-details .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 0 32px; }
.ev-details .gallery .gallery-item { margin: 0 !important; width: auto !important; }
.ev-details .gallery .gallery-item img { width: 100%; height: 100%; object-fit: cover; border: 1px solid rgba(0,212,255,0.12); }
.ev-details .gallery .gallery-icon { margin: 0; }
.ev-details .wp-block-gallery { margin: 0 0 32px; }
.ev-details .wp-block-gallery img { border: 1px solid rgba(0,212,255,0.12); }

/* ════════════════════════════════════════════
   BREADCRUMB (shared by detail + recap + join)
════════════════════════════════════════════ */
.ev-crumb { padding: 88px 60px 0; background: var(--navy); }
.ev-crumb p { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin: 0; }
.ev-crumb a { color: var(--gray); text-decoration: none; transition: color 0.2s; }
.ev-crumb a:hover { color: var(--cyan); }
.ev-crumb .sep { margin: 0 12px; color: rgba(136,153,187,0.5); }
.ev-crumb .current { color: var(--cyan); }

/* ════════════════════════════════════════════
   EVENT DETAIL  (.ev-*)
════════════════════════════════════════════ */
.ev-hero { padding: 36px 60px 72px; background: var(--navy); position: relative; overflow: hidden; border-bottom: 1px solid rgba(0,212,255,0.08); }
.ev-hero-inner { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; }
.ev-hero-inner > * { margin-top: 0 !important; }
.ev-hero-tags { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 24px; }
.ev-hero-tags > * { margin: 0 !important; }
.ev-tag { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; padding: 6px 14px; border: 1px solid rgba(0,212,255,0.3); color: var(--cyan); }
.ev-tag.solid { background: var(--cyan); color: var(--navy); border-color: var(--cyan); font-weight: 600; }
.ev-tag.muted { color: var(--gray); border-color: rgba(136,153,187,0.3); }
.ev-hero h1 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(52px, 7vw, 96px) !important; line-height: 0.95 !important; letter-spacing: 2px; color: var(--white); margin: 0 0 24px; max-width: 1000px; }
.ev-hero h1 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.ev-hero-lede { font-size: 17px; line-height: 1.65; color: var(--gray); max-width: 760px; margin: 0 0 36px; }
.ev-hero-meta { display: flex; gap: 40px; flex-wrap: wrap; padding-top: 28px; border-top: 1px solid rgba(0,212,255,0.1); margin: 0; }
.ev-hero-meta > * { margin: 0 !important; }
.ev-meta-lbl { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin: 0; }
.ev-meta-val { font-size: 14px; color: var(--white); font-weight: 500; margin: 2px 0 0; }

/* ════════════════════════════════════════════
   EVENT DETAIL — FEATURED IMAGE BANNER  (.ev-featured)
════════════════════════════════════════════ */
.ev-featured { margin: 0; background: var(--navy); padding: 44px 60px; display: flex; justify-content: center; align-items: center; }
.ev-featured .wp-block-post-featured-image { margin: 0; max-width: 100%; }
.ev-featured img { width: auto !important; max-width: 100%; height: clamp(300px, 60vh, 520px) !important; object-fit: contain; display: block; border: 1px solid rgba(0,212,255,0.12); }

.ev-body { padding: 80px 60px; background: var(--navy); }
.ev-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 60px; max-width: 1280px; margin: 0 auto; align-items: start; }
/* Grid handles spacing via gap; cancel block-gap top margin so the reserve box aligns to the top. */
.ev-grid > * { margin-block-start: 0 !important; }
.ev-details > * { margin-top: 0 !important; }
.ev-details h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: 38px !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 24px; }
.ev-details > p { font-size: 15px; line-height: 1.75; color: var(--gray); margin: 0 0 24px; }
.ev-fact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.08); margin: 12px 0 40px; }
.ev-fact { background: var(--navy2); padding: 20px 22px; margin: 0; }
.ev-fact > * { margin: 0 !important; }
.ev-fact-lbl { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gray); margin: 0 0 6px; }
.ev-fact-val { font-family: 'Bebas Neue', sans-serif; font-size: 22px; color: var(--white); letter-spacing: 0.5px; line-height: 1.1; }
.ev-fact-val small { font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--gray); letter-spacing: 1.5px; text-transform: uppercase; display: block; font-weight: 400; margin-top: 4px; }
.ev-includes { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; margin: 8px 0 40px !important; padding: 0; }
.ev-includes li { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; color: var(--gray); line-height: 1.5; padding-left: 28px; position: relative; }
.ev-includes li::before { content: '✓'; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border: 1px solid var(--cyan); display: flex; align-items: center; justify-content: center; color: var(--cyan); font-size: 9px; }
.ev-address { background: var(--navy2); border: 1px solid rgba(0,212,255,0.1); padding: 28px; display: block; margin: 0; }
.ev-address > * { margin: 0 !important; }
.ev-address-map { aspect-ratio: 1; background: linear-gradient(135deg,#071428,#1d4ea3); border: 1px solid rgba(0,212,255,0.2); position: relative; overflow: hidden; }
.ev-address-map::before { content:''; position:absolute; inset:0; background-image: repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(0,212,255,0.08) 20px), repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(0,212,255,0.08) 20px); }
.ev-address-info > * { margin: 0 !important; }
.ev-address-info .lbl { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--cyan); margin: 0 0 8px; }
.ev-address-info .venue { font-family: 'Bebas Neue', sans-serif; font-size: 26px; color: var(--white); letter-spacing: 0.5px; margin: 0 0 8px; }
.ev-address-info .street { font-size: 14px; color: var(--gray); line-height: 1.5; margin: 0 0 14px; }
.ev-address-info a { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); text-decoration: none; }
.ev-address-info a:hover { color: var(--white); }
.ev-address-note { font-size: 13px; color: var(--gray); margin: 12px 0 0 !important; }
/* Address card in the left column, above the description (single event). */
.ev-left { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.ev-address-info .lbl { margin: 0 0 8px !important; }
.ev-address-info .venue { margin: 0 0 6px !important; }
.ev-address-info .street { margin: 0 0 14px !important; }

/* Reserve card */
.ev-reserve { position: sticky; top: 88px; background: linear-gradient(180deg,rgba(13,38,80,0.5),rgba(7,20,40,0.7)); border: 1px solid rgba(0,212,255,0.2); padding: 32px; }
.ev-reserve > * { margin-top: 0 !important; }
.ev-reserve-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid rgba(0,212,255,0.1); margin: 0 0 24px; }
.ev-reserve-head > * { margin: 0 !important; }
.ev-reserve-price { font-family: 'Bebas Neue', sans-serif; font-size: 56px; line-height: 1; color: var(--white); letter-spacing: 1px; }
.ev-reserve-price small { display: block; font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); font-weight: 400; margin-top: 6px; }
.ev-spots { text-align: right; }
.ev-spots-num { font-family: 'Bebas Neue', sans-serif; font-size: 32px; color: var(--cyan); line-height: 1; }
.ev-spots-lbl { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin-top: 4px; }
.ev-reserve-foot { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(0,212,255,0.1); }
.ev-reserve-foot p { margin: 0; font-size: 12px; color: var(--gray); line-height: 1.5; }
.ev-reserve-foot a { color: var(--cyan); text-decoration: none; }

/* Organizers / models / past — shared between detail (ev-) and recap (pe-) */
.ev-organizers, .pe-organizers { background: var(--navy2); padding: 100px 60px; }
.ev-org-head, .pe-org-head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.ev-org-head > *, .pe-org-head > * { margin-top: 0 !important; }
.ev-org-head .section-label, .pe-org-head .section-label { justify-content: center; }
.ev-org-head .section-label::after, .pe-org-head .section-label::after { content:''; width: 32px; height: 1px; background: var(--cyan); }
.ev-org-head p, .pe-org-head p { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 20px 0 0; }
.ev-org-grid, .pe-org-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 340px)); justify-content: center; gap: 24px; max-width: 1100px; margin: 0 auto; }
.ev-org-card, .pe-org-card { background: var(--navy); border: 1px solid rgba(0,212,255,0.1); padding: 36px 28px; text-align: center; transition: border-color 0.25s, transform 0.25s; margin: 0; }
.ev-org-card > *, .pe-org-card > * { margin-top: 0 !important; }
.ev-org-card:hover, .pe-org-card:hover { border-color: rgba(0,212,255,0.4); transform: translateY(-4px); }
.ev-org-avatar, .pe-org-avatar { width: 96px; height: 96px; border-radius: 50%; margin: 0 auto 20px !important; display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue', sans-serif; font-size: 36px; color: var(--white); letter-spacing: 1px; border: 2px solid rgba(0,212,255,0.3); background: linear-gradient(135deg,#1d4ea3,#2e7de6); }
.ev-org-card:nth-child(2) .ev-org-avatar, .pe-org-card:nth-child(2) .pe-org-avatar { background: linear-gradient(135deg,#0d2650,#1e5fbf); }
.ev-org-card:nth-child(3) .ev-org-avatar, .pe-org-card:nth-child(3) .pe-org-avatar { background: linear-gradient(135deg,#071428,#1a4b8c); }
.ev-org-role, .pe-org-role { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--cyan); margin: 0 0 8px; }
.ev-org-name, .pe-org-name { font-family: 'Bebas Neue', sans-serif; font-size: 26px; color: var(--white); letter-spacing: 0.5px; margin: 0 0 4px; }
.ev-org-title, .pe-org-title { font-size: 13px; color: var(--gray); margin: 0 0 16px; }
.ev-org-bio, .pe-org-bio { font-size: 13px; line-height: 1.65; color: var(--gray); margin: 0; }

.ev-models, .pe-models { background: var(--navy); padding: 100px 60px; }
.ev-models-head, .pe-models-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin: 0 auto 48px; max-width: 1280px; }
.ev-models-head > *, .pe-models-head > * { margin-top: 0 !important; }
.ev-models-head .mh-text, .pe-models-head .mh-text { max-width: 520px; }
.ev-models-head .mh-text > *, .pe-models-head .mh-text > * { margin-top: 0 !important; }
.ev-models-head h2, .pe-models-head h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(38px, 4.5vw, 60px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 16px; }
.ev-models-head p, .pe-models-head p { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 0; }
.ev-models-head .meta, .pe-models-head .meta { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); white-space: nowrap; margin: 0; }
.ev-models-grid, .pe-models-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 300px)); justify-content: center; gap: 16px; max-width: 1280px; margin: 0 auto; }
.ev-model-card, .pe-model-card { position: relative; aspect-ratio: 3/4; overflow: hidden; background: var(--navy2); border: 1px solid rgba(0,212,255,0.1); transition: border-color 0.25s; padding: 20px; display: flex; flex-direction: column; justify-content: flex-end; margin: 0; }
.ev-model-card > *, .pe-model-card > * { position: relative; z-index: 1; margin-top: 0 !important; }
.ev-model-card:hover, .pe-model-card:hover { border-color: rgba(0,212,255,0.4); }
.ev-model-card:nth-child(1), .pe-model-card:nth-child(1) { background: linear-gradient(135deg,#0d2650,#2e7de6); }
.ev-model-card:nth-child(2), .pe-model-card:nth-child(2) { background: linear-gradient(135deg,#071428,#1d4ea3); }
.ev-model-card:nth-child(3), .pe-model-card:nth-child(3) { background: linear-gradient(135deg,#1a4b8c,#1e5fbf); }
.ev-model-card:nth-child(4), .pe-model-card:nth-child(4) { background: linear-gradient(135deg,#040d1a,#235ec9); }
.ev-model-card::after, .pe-model-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(4,13,26,0.97) 0%, rgba(4,13,26,0.4) 55%, transparent 100%); z-index: 0; }
.ev-model-tag, .pe-model-tag { position: absolute; top: 14px; left: 14px; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); background: rgba(4,13,26,0.8); border: 1px solid rgba(0,212,255,0.3); padding: 5px 10px; z-index: 2; margin: 0; }
.ev-model-name, .pe-model-name { font-family: 'Bebas Neue', sans-serif; font-size: 24px; color: var(--white); letter-spacing: 0.5px; line-height: 1; margin: 0 0 6px; }
.ev-model-spec, .pe-model-spec { font-size: 12px; color: rgba(240,244,255,0.75); margin: 0 0 12px; }
.ev-model-foot, .pe-model-foot { display: flex; justify-content: space-between; align-items: center; padding-top: 12px; border-top: 1px solid rgba(0,212,255,0.15); }
.ev-model-foot > *, .pe-model-foot > * { margin: 0 !important; }
.ev-model-handle, .pe-model-handle { font-size: 11px; letter-spacing: 1px; color: var(--cyan); }
.ev-model-roster, .pe-model-roster { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gray); }
/* Dynamic People: host photo fills the avatar circle; model initials fallback. */
.ev-org-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.ev-model-initial { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue', sans-serif; font-size: 72px; letter-spacing: 2px; color: rgba(255,255,255,0.45); z-index: 0; }

/* Past events strip (detail page) */
.ev-past { background: var(--navy2); padding: 100px 60px; }
.ev-past-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin: 0 auto 40px; max-width: 1280px; }
.ev-past-head > * { margin-top: 0 !important; }
.ev-past-head .ph-text { max-width: 520px; }
.ev-past-head .ph-text > * { margin-top: 0 !important; }
.ev-past-head h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(38px, 4.5vw, 60px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 16px; }
.ev-past-head p { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 0; }
.ev-past-head .ph-link { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); text-decoration: none; white-space: nowrap; margin: 0; }
.ev-past-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1280px; margin: 0 auto; }
.ev-past-card { display: flex; flex-direction: column; background: var(--navy); border: 1px solid rgba(0,212,255,0.1); transition: border-color 0.25s, transform 0.25s; margin: 0; text-decoration: none; }
.ev-past-card > * { margin-top: 0 !important; }
.ev-past-card:hover { border-color: rgba(0,212,255,0.4); transform: translateY(-4px); }
.ev-past-thumb { aspect-ratio: 16/9; position: relative; overflow: hidden; background: linear-gradient(135deg,#071428,#1d4ea3); }
.ev-past-card:nth-child(2) .ev-past-thumb { background: linear-gradient(135deg,#0a1a30,#1e5fbf); }
.ev-past-card:nth-child(3) .ev-past-thumb { background: linear-gradient(135deg,#040d1a,#235ec9); }
.ev-past-thumb .past-tag { position: absolute; top: 12px; left: 12px; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); background: rgba(4,13,26,0.85); border: 1px solid rgba(136,153,187,0.3); padding: 5px 10px; margin: 0; }
.ev-past-body { padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ev-past-body > * { margin: 0 !important; }
.ev-past-meta { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); }
.ev-past-card h4 { font-family: 'Bebas Neue', sans-serif !important; font-size: 22px !important; color: var(--white); letter-spacing: 0.5px; line-height: 1.15; }
.ev-past-stats { display: flex; gap: 16px; font-size: 12px; color: var(--gray); margin-top: 4px !important; padding-top: 12px; border-top: 1px solid rgba(0,212,255,0.08); }
.ev-past-stats b { color: var(--white); font-weight: 500; }

/* Participate (brands + models) */
.ev-participate { background: linear-gradient(135deg, #071428 0%, #0d2650 100%); position: relative; overflow: hidden; padding: 100px 60px; }
.ev-participate-head { position: relative; z-index: 1; text-align: center; max-width: 720px; margin: 0 auto 56px; }
.ev-participate-head > * { margin-top: 0 !important; }
.ev-participate-head .section-label { justify-content: center; }
.ev-participate-head .wp-block-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.ev-participate-head .section-label::after { content:''; width: 32px; height: 1px; background: var(--cyan); }
.ev-participate-head p { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 20px 0 0; }
.ev-participate-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1100px; margin: 0 auto; }
.ev-part-card { background: rgba(4,13,26,0.6); border: 1px solid rgba(0,212,255,0.15); padding: 44px 36px; display: flex; flex-direction: column; transition: border-color 0.3s, transform 0.3s; position: relative; overflow: hidden; margin: 0; }
.ev-part-card > * { margin-top: 0 !important; }
.ev-part-card:hover { border-color: var(--cyan); transform: translateY(-4px); }
.ev-part-card.brand::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--blue-bright), var(--cyan)); }
.ev-part-card.model::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--cyan), var(--gold)); }
.ev-part-label { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--cyan); margin: 0 0 10px; }
.ev-part-card h3 { font-family: 'Bebas Neue', sans-serif !important; font-size: 38px !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 16px; }
.ev-part-card > p { font-size: 14px; line-height: 1.7; color: var(--gray); margin: 0 0 24px; }
.ev-part-list { list-style: none; display: flex; flex-direction: column; gap: 12px; margin: 0 0 32px !important; flex: 1; padding: 0; }
.ev-part-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; color: var(--gray); line-height: 1.55; padding-left: 28px; position: relative; }
.ev-part-list li::before { content: '✓'; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border: 1px solid var(--cyan); display: flex; align-items: center; justify-content: center; color: var(--cyan); font-size: 9px; }
.ev-part-list b { color: var(--white); font-weight: 500; }
.ev-part-cta { margin: 0 0 16px; }
.ev-part-cta a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 28px; background: var(--cyan); color: var(--navy); font-size: 13px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; text-decoration: none; transition: background 0.2s, transform 0.15s; }
.ev-part-cta a:hover { background: var(--white); transform: translateY(-2px); }
.ev-part-card.model .ev-part-cta a { background: transparent; color: var(--cyan); border: 1px solid var(--cyan); }
.ev-part-card.model .ev-part-cta a:hover { background: var(--cyan); color: var(--navy); }
.ev-part-foot { font-size: 12px; color: var(--gray); margin: 0; text-align: center; }

/* ════════════════════════════════════════════
   PAST EVENT RECAP  (.pe-*)
════════════════════════════════════════════ */
.pe-hero { padding: 48px 60px 80px; background: radial-gradient(ellipse 70% 80% at 50% 20%, rgba(30,95,191,0.18) 0%, transparent 60%), var(--navy); position: relative; overflow: hidden; border-bottom: 1px solid rgba(0,212,255,0.08); }
.pe-hero-inner { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; }
.pe-hero-inner > * { margin-top: 0 !important; }
.pe-hero-tags { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 24px; }
.pe-hero-tags > * { margin: 0 !important; }
.pe-tag { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; padding: 6px 14px; border: 1px solid rgba(0,212,255,0.3); color: var(--cyan); }
.pe-tag.past { background: rgba(136,153,187,0.12); border-color: rgba(136,153,187,0.4); color: var(--gray); font-weight: 600; }
.pe-tag.muted { color: var(--gray); border-color: rgba(136,153,187,0.3); }
.pe-hero h1 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(52px, 7vw, 96px) !important; line-height: 0.95 !important; letter-spacing: 2px; color: var(--white); margin: 0 0 24px; max-width: 1000px; }
.pe-hero h1 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.pe-hero-lede { font-size: 17px; line-height: 1.65; color: var(--gray); max-width: 760px; margin: 0 0 36px; }
.pe-hero-meta { display: flex; gap: 40px; flex-wrap: wrap; padding-top: 28px; border-top: 1px solid rgba(0,212,255,0.1); margin: 0; }
.pe-hero-meta > * { margin: 0 !important; }
.pe-meta-lbl { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin: 0; }
.pe-meta-val { font-size: 14px; color: var(--white); font-weight: 500; margin: 2px 0 0; }

.pe-body { padding: 80px 60px; background: var(--navy); }
.pe-wide { max-width: 1100px; margin: 0 auto; }
.pe-wide > * { margin-top: 0 !important; }
.pe-wide > h2 { margin: 0 0 16px; }
.pe-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.08); margin: 16px 0 64px; }
.pe-fact { background: var(--navy2); padding: 24px 22px; margin: 0; }
.pe-fact > * { margin: 0 !important; }
.pe-fact-lbl { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gray); margin: 0 0 8px; }
.pe-fact-val { font-family: 'Bebas Neue', sans-serif; font-size: 24px; color: var(--white); letter-spacing: 0.5px; line-height: 1.1; }
.pe-fact-val small { font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--gray); letter-spacing: 1.5px; text-transform: uppercase; display: block; font-weight: 400; margin-top: 4px; }
.pe-notes { background: linear-gradient(180deg, rgba(13,38,80,0.3), rgba(7,20,40,0.5)); border: 1px solid rgba(0,212,255,0.12); padding: 44px 48px; margin: 0 0 72px; position: relative; }
.pe-notes > * { margin-top: 0 !important; }
.pe-notes::before { content: '\201C'; position: absolute; top: -16px; left: 28px; font-family: 'Playfair Display', serif; font-style: italic; font-size: 120px; line-height: 1; color: var(--cyan); opacity: 0.4; }
.pe-notes h3 { font-family: 'Bebas Neue', sans-serif !important; font-size: 32px !important; line-height: 1; letter-spacing: 1px; color: var(--white); margin: 0 0 28px; }
.pe-notes p { font-size: 15px; line-height: 1.85; color: var(--white); margin: 0 0 20px; opacity: 0.92; }
.pe-notes p strong { color: var(--cyan); font-weight: 500; }
.pe-notes-sign { display: flex; align-items: center; gap: 14px; margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(0,212,255,0.1); }
.pe-notes-sign > * { margin: 0 !important; }
.pe-notes-sign .avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg,#1d4ea3,#2e7de6); display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue', sans-serif; font-size: 18px; color: var(--white); letter-spacing: 1px; flex-shrink: 0; border: 2px solid rgba(0,212,255,0.3); }
.pe-notes-sign .name { font-family: 'Bebas Neue', sans-serif; font-size: 18px; color: var(--white); letter-spacing: 0.5px; }
.pe-notes-sign .role { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gray); margin-top: 2px; }
.pe-gal-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin: 0 0 28px; }
.pe-gal-head > * { margin-top: 0 !important; }
.pe-gal-head h3 { font-family: 'Bebas Neue', sans-serif !important; font-size: 38px !important; line-height: 1; letter-spacing: 1px; color: var(--white); margin: 0 0 12px; }
.pe-gal-head .count { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); margin: 0; }
.pe-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 180px; gap: 12px; }
.pe-photo { position: relative; overflow: hidden; margin: 0; background: linear-gradient(135deg,#071428,#1d4ea3); }
.pe-photo:nth-child(2) { background: linear-gradient(135deg,#0d1f3c,#1e5fbf); }
.pe-photo:nth-child(3) { background: linear-gradient(135deg,#040d1a,#2e7de6); }
.pe-photo:nth-child(4) { background: linear-gradient(135deg,#0a1a30,#0d3a70); }
.pe-photo:nth-child(5) { background: linear-gradient(135deg,#071428,#183d7a); }
.pe-photo:nth-child(6) { background: linear-gradient(135deg,#0b1d3a,#1d4ea3); }
.pe-photo:nth-child(7) { background: linear-gradient(135deg,#06122a,#235ec9); }
.pe-photo:nth-child(8) { background: linear-gradient(135deg,#0d2650,#1e5fbf); }
.pe-photo:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.pe-photo:nth-child(6) { grid-column: span 2; }

.pe-future { background: linear-gradient(135deg, #071428 0%, #0d2650 100%); position: relative; overflow: hidden; text-align: center; padding: 100px 60px; }
.pe-future-inner { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }
.pe-future-inner > * { margin-top: 0 !important; }
.pe-future .section-label { justify-content: center; }
.pe-future .section-label::after { content:''; width: 32px; height: 1px; background: var(--cyan); }
.pe-future h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(48px, 6vw, 84px) !important; line-height: 1 !important; letter-spacing: 1.5px; color: var(--white); margin: 0 0 24px; }
.pe-future h2 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.pe-future p { font-size: 16px; line-height: 1.7; color: var(--gray); margin: 0 0 36px; }
.pe-future-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin: 0; }
.pe-future-btns .wp-block-button { margin: 0; }
.pe-future-foot { display: flex; gap: 32px; justify-content: center; flex-wrap: wrap; margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(0,212,255,0.1); }
.pe-future-foot p { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gray); margin: 0; }
.pe-future-foot a { color: var(--cyan); text-decoration: none; }

/* ════════════════════════════════════════════
   JOIN / APPLY PAGES  (.ap-*)
════════════════════════════════════════════ */
/* The breadcrumb + hero share one continuous background on <main> so there is no
   seam where the solid-navy crumb used to meet the hero's gradient. */
main:has(.ap-hero) { background: radial-gradient(ellipse 60% 80% at 80% 15%, rgba(30,95,191,0.2) 0%, transparent 58%), var(--navy); }
main:has(.ap-hero.model) { background: radial-gradient(ellipse 55% 70% at 18% 10%, rgba(232,168,37,0.12) 0%, transparent 55%), radial-gradient(ellipse 60% 80% at 82% 45%, rgba(30,95,191,0.18) 0%, transparent 60%), var(--navy); }
main:has(.ap-hero) .ev-crumb { background: transparent; }
.ap-hero { padding: 40px 60px 0; background: transparent; position: relative; overflow: hidden; }
.ap-wrap { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 56px 0 120px; display: grid; grid-template-columns: 1fr 1.3fr; gap: 64px; align-items: start; }
.ap-intro { position: sticky; top: 96px; }
.ap-intro > * { margin-top: 0 !important; }
.ap-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--cyan); border: 1px solid rgba(0,212,255,0.3); padding: 6px 14px; margin: 0 0 24px; }
.ap-intro h1 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(44px, 5vw, 72px) !important; line-height: 0.95 !important; letter-spacing: 2px; color: var(--white); margin: 0 0 24px; }
.ap-intro h1 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.ap-intro .lead { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 0 0 32px; }
.ap-bullets { display: flex; flex-direction: column; gap: 14px; }
.ap-bullets > * { margin-top: 0 !important; }
.ap-bullets p { font-size: 14px; color: var(--gray); line-height: 1.55; margin: 0; padding-left: 42px; position: relative; }
.ap-bullets p::before { content: '✓'; position: absolute; left: 0; top: 0; width: 28px; height: 28px; border: 1px solid var(--cyan); display: flex; align-items: center; justify-content: center; color: var(--cyan); font-size: 12px; }
.ap-bullets p b { color: var(--white); font-weight: 500; display: block; margin-bottom: 2px; }
.ap-form-wrap { background: linear-gradient(180deg,rgba(13,38,80,0.4),rgba(7,20,40,0.6)); border: 1px solid rgba(0,212,255,0.15); padding: 44px 40px; }
.ap-form-wrap > * { margin-top: 0 !important; }
.ap-form-head { padding-bottom: 24px; border-bottom: 1px solid rgba(0,212,255,0.1); margin-bottom: 28px; }
.ap-form-head > * { margin: 0 !important; }
.ap-form-head h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: 28px !important; line-height: 1; letter-spacing: 1px; color: var(--white); margin: 0 0 8px; }
.ap-form-head p { font-size: 13px; color: var(--gray); margin: 0; }

/* ════════════════════════════════════════════
   FLUENT FORM dark theme (scoped to all events form wrappers)
════════════════════════════════════════════ */
.evt-cta-formwrap .fluentform .ff-el-group,
.ev-reserve .fluentform .ff-el-group,
.ap-form-wrap .fluentform .ff-el-group { margin-bottom: 16px; }
.evt-cta-formwrap .fluentform label,
.ev-reserve .fluentform label,
.ap-form-wrap .fluentform label { font-size: 11px !important; letter-spacing: 2px; text-transform: uppercase; color: var(--gray) !important; font-weight: 500; }
.evt-cta-formwrap .fluentform .ff-el-is-required:after,
.ev-reserve .fluentform .ff-el-is-required:after,
.ap-form-wrap .fluentform .ff-el-is-required:after { color: var(--cyan); }
.evt-cta-formwrap .fluentform input[type=text],
.evt-cta-formwrap .fluentform input[type=email],
.evt-cta-formwrap .fluentform input[type=tel],
.evt-cta-formwrap .fluentform input[type=url],
.evt-cta-formwrap .fluentform select,
.evt-cta-formwrap .fluentform textarea,
.ev-reserve .fluentform input[type=text],
.ev-reserve .fluentform input[type=email],
.ev-reserve .fluentform input[type=tel],
.ev-reserve .fluentform input[type=url],
.ev-reserve .fluentform select,
.ev-reserve .fluentform textarea,
.ap-form-wrap .fluentform input[type=text],
.ap-form-wrap .fluentform input[type=email],
.ap-form-wrap .fluentform input[type=tel],
.ap-form-wrap .fluentform input[type=url],
.ap-form-wrap .fluentform select,
.ap-form-wrap .fluentform textarea {
  padding: 14px 16px !important; background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(0,212,255,0.18) !important; color: var(--white) !important;
  font-family: 'DM Sans', sans-serif !important; font-size: 14px !important; border-radius: 0 !important;
  box-shadow: none !important; height: auto !important; line-height: 1.4 !important;
}
.evt-cta-formwrap .fluentform input::placeholder,
.evt-cta-formwrap .fluentform textarea::placeholder,
.ev-reserve .fluentform input::placeholder,
.ev-reserve .fluentform textarea::placeholder,
.ap-form-wrap .fluentform input::placeholder,
.ap-form-wrap .fluentform textarea::placeholder { color: var(--gray) !important; opacity: 1; }
.evt-cta-formwrap .fluentform select option,
.ev-reserve .fluentform select option,
.ap-form-wrap .fluentform select option { background: var(--navy2); color: var(--white); }
.evt-cta-formwrap .fluentform input:focus,
.evt-cta-formwrap .fluentform select:focus,
.evt-cta-formwrap .fluentform textarea:focus,
.ev-reserve .fluentform input:focus,
.ev-reserve .fluentform select:focus,
.ev-reserve .fluentform textarea:focus,
.ap-form-wrap .fluentform input:focus,
.ap-form-wrap .fluentform select:focus,
.ap-form-wrap .fluentform textarea:focus { border-color: var(--cyan) !important; background: rgba(255,255,255,0.07) !important; }
/* Checkbox / radio groups */
.ap-form-wrap .fluentform .ff-el-form-check label,
.evt-cta-formwrap .fluentform .ff-el-form-check label { text-transform: none !important; letter-spacing: 0 !important; font-size: 13px !important; color: var(--gray) !important; }
.ap-form-wrap .fluentform input[type=checkbox],
.ap-form-wrap .fluentform input[type=radio],
.evt-cta-formwrap .fluentform input[type=checkbox] { accent-color: var(--cyan); }
/* Lay multi-option checkbox/radio lists (e.g. Specialties) into a tidy 2-col grid */
.ap-form-wrap .fluentform .ff-el-input--content:has(.ff-el-form-check) {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px;
}
.ap-form-wrap .fluentform .ff-el-form-check { margin: 0; }
.ap-form-wrap .fluentform .ff-el-form-check-label { display: flex; align-items: center; gap: 9px; margin: 0; line-height: 1.3; cursor: pointer; }
.ap-form-wrap .fluentform .ff-el-form-check input[type=checkbox],
.ap-form-wrap .fluentform .ff-el-form-check input[type=radio] { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; }
@media (max-width: 600px) {
  .ap-form-wrap .fluentform .ff-el-input--content:has(.ff-el-form-check) { grid-template-columns: 1fr; }
}
/* File upload */
.ap-form-wrap .fluentform .ff-upload-zone,
.ap-form-wrap .fluentform .ff_upload_btn { background: rgba(0,212,255,0.03) !important; border: 1px dashed rgba(0,212,255,0.3) !important; color: var(--white) !important; }
/* Submit */
.evt-cta-formwrap .fluentform .ff-btn-submit,
.ev-reserve .fluentform .ff-btn-submit,
.ap-form-wrap .fluentform .ff-btn-submit {
  padding: 16px 32px !important; background: var(--cyan) !important; border: none !important;
  color: var(--navy) !important; font-family: 'DM Sans', sans-serif !important; font-size: 13px !important;
  letter-spacing: 2px !important; text-transform: uppercase !important; font-weight: 600 !important;
  border-radius: 0 !important; box-shadow: none !important; transition: background 0.2s !important; cursor: pointer; width: 100%;
}
.evt-cta-formwrap .fluentform .ff-btn-submit:hover,
.ev-reserve .fluentform .ff-btn-submit:hover,
.ap-form-wrap .fluentform .ff-btn-submit:hover { background: var(--white) !important; }
.evt-cta-formwrap .fluentform .ff-message-success,
.ev-reserve .fluentform .ff-message-success,
.ap-form-wrap .fluentform .ff-message-success { color: var(--white); border: 1px solid rgba(0,212,255,0.3); background: rgba(0,212,255,0.08); padding: 16px; }
.evt-cta-formwrap .fluentform .text-danger,
.ev-reserve .fluentform .text-danger,
.ap-form-wrap .fluentform .text-danger { color: #ff7a7a !important; font-size: 12px; }
/* Section break = a small cyan label with ONE thin underline (the <hr>).
   No top border (that produced a redundant faint bar above each label). */
.ap-form-wrap .fluentform .ff-el-section-break { border: none !important; padding: 24px 0 0; margin: 6px 0 0; }
.ap-form-wrap .fluentform .ff-el-section-break .ff-el-section-title { font-size: 10px !important; letter-spacing: 3px; text-transform: uppercase; color: var(--cyan) !important; margin: 0 0 10px !important; }
.ap-form-wrap .fluentform .ff-el-section-break hr { border: none !important; border-top: 1px solid rgba(0,212,255,0.15) !important; height: 0; margin: 0; background: none; }
.ap-form-wrap .fluentform .ff-el-section-break .ff-section_break_desk,
.ap-form-wrap .fluentform .ff-el-section-break .ff-section_break_desc { display: none !important; }

/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .evt-hero { padding: 110px 24px 0; }
  .evt-hero-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 180px 180px 180px; padding-bottom: 64px; }
  .evt-hero-gallery .evt-gal-item:nth-child(1) { grid-row: span 1; grid-column: span 2; }
  .evt-attending, .evt-hosted, .evt-workshops, .evt-cta { padding: 64px 24px; }
  .evt-head { flex-direction: column; align-items: flex-start; }
  .evt-row { grid-template-columns: 80px 1fr; gap: 16px; }
  .evt-row-date .day { font-size: 36px; }
  .evt-row-role, .evt-row-tag { grid-column: span 2; padding-left: 96px; }
  .evt-row-link { grid-column: span 2; justify-self: start; margin-left: 96px; }
  .evt-hosted-grid, .evt-ws-grid { grid-template-columns: 1fr; }
  .evt-cta-inner { grid-template-columns: 1fr; gap: 40px; }

  .ev-crumb, .pe-crumb { padding: 92px 24px 0; }
  /* Featured flyer: scale to fit the screen width (full image, no side-cropping) */
  .ev-featured { padding: 24px 16px; }
  .ev-featured img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 78vh !important; }
  .ev-hero, .pe-hero { padding: 32px 24px 60px; }
  .ev-hero-meta, .pe-hero-meta { gap: 24px; }
  .ev-body, .pe-body { padding: 56px 24px; }
  .ev-grid { grid-template-columns: 1fr; gap: 40px; }
  .ev-reserve { position: static; }
  .ev-fact-grid, .ev-includes { grid-template-columns: 1fr; }
  .ev-address { grid-template-columns: 1fr; padding: 24px; }
  .ev-organizers, .ev-models, .ev-past, .ev-participate,
  .pe-organizers, .pe-models, .pe-future { padding: 64px 24px; }
  .ev-org-grid, .pe-org-grid { grid-template-columns: 1fr; }
  .ev-models-head, .pe-models-head, .ev-past-head { flex-direction: column; align-items: flex-start; }
  .ev-models-grid, .pe-models-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .ev-past-grid { grid-template-columns: 1fr; }
  .ev-participate-grid { grid-template-columns: 1fr; }
  .ev-part-card { padding: 36px 24px; }

  .pe-facts { grid-template-columns: 1fr 1fr; }
  .pe-notes { padding: 32px 24px; }
  .pe-gal-head { flex-direction: column; align-items: flex-start; }
  .pe-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 140px; }
  .pe-photo:nth-child(1), .pe-photo:nth-child(6) { grid-column: auto; grid-row: auto; }

  .ap-hero { padding: 32px 24px 0; }
  .ap-wrap { grid-template-columns: 1fr; gap: 40px; padding: 32px 0 80px; }
  .ap-intro { position: static; }
  .ap-form-wrap { padding: 32px 24px; }
}
