/* ---------- GENERIC PAGE (About/Contact/Privacy/Terms/etc) ----------
   Loaded after front-page.css + event.css (see omniva_assets() in
   functions.php) so this file only needs to add what's genuinely new for
   normal Pages — it reuses .eyebrow/.btn/.wrap/.divider-ring/.section-head/
   .home-section*/.event-archive-grid etc. as-is. */

.page-content{padding-bottom:110px;max-width:760px;}
.page-content p,.page-content ul,.page-content ol{color:var(--ink-dim);font-size:17px;line-height:1.8;margin-bottom:18px;}
.page-content h2{font-size:26px;font-weight:600;margin:44px 0 16px;color:var(--ink);}
.page-content h3{font-size:20px;font-weight:600;margin:32px 0 14px;color:var(--ink);}
.page-content a{color:var(--red-bright);text-decoration:underline;}
.page-content ul,.page-content ol{margin-left:20px;}

/* ---------- PAGE HERO (reusable, any WordPress Page) ----------
   Deliberately not a copy of .hero (the Homepage Hero) — no vinyl/pulse
   signature, no two-column grid. Same brand vocabulary (eyebrow, red accent
   em, .btn, dark/light theme) at a smaller, more editorial scale so it reads
   as "part of OMNIVA" without competing with the homepage's centerpiece. */
.page-hero-v2{position:relative;padding:150px 0 64px;overflow:hidden;isolation:isolate;}
.page-hero-v2-inner{position:relative;z-index:2;max-width:760px;}
.page-hero-v2 h1{font-size:clamp(32px,4.6vw,52px);font-weight:600;margin-top:14px;}
.page-hero-v2 h1 em{font-style:normal;color:var(--red);}
.page-hero-v2-desc{margin-top:18px;font-size:17px;line-height:1.7;color:var(--ink-dim);max-width:620px;}
.page-hero-v2-cta-row{margin-top:32px;display:flex;gap:16px;flex-wrap:wrap;}

.page-hero-v2.style-centered .page-hero-v2-inner{margin:0 auto;text-align:center;}
.page-hero-v2.style-centered .page-hero-v2-desc{margin-left:auto;margin-right:auto;}
.page-hero-v2.style-centered .page-hero-v2-cta-row{justify-content:center;}

.page-hero-v2.style-full_screen{min-height:82vh;display:flex;align-items:center;padding-top:110px;padding-bottom:80px;}

.page-hero-v2.theme-light{background:#f7f5f0;color:#161412;border-bottom:1px solid rgba(0,0,0,.08);}
.page-hero-v2.theme-light .eyebrow{color:var(--red);}
.page-hero-v2.theme-light .page-hero-v2-desc{color:#5c5850;}

/* Optional background image/video: absolute-fill layer behind the content,
   with a scrim so text stays readable regardless of Theme/Style — same
   pattern as .hero-bg-media/.hero-bg-overlay in assets/css/event.css. */
.page-hero-v2-media{position:absolute;inset:0;z-index:0;background:#000;}
.page-hero-v2-media img,
.page-hero-v2-media video,
.page-hero-v2-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;object-position:center;pointer-events:none;}
.page-hero-v2-scrim{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.3) 100%);}
.page-hero-v2.has-media.theme-light .page-hero-v2-scrim{background:linear-gradient(to top, rgba(247,245,240,.94) 0%, rgba(247,245,240,.7) 50%, rgba(247,245,240,.4) 100%);}
.page-hero-v2.has-media.theme-light{color:#161412;}
.page-hero-v2.has-media{color:#fff;}
.page-hero-v2.has-media .eyebrow{color:var(--red-bright);}
.page-hero-v2.has-media .page-hero-v2-desc{color:rgba(255,255,255,.82);}
.page-hero-v2.has-media.theme-light .page-hero-v2-desc{color:rgba(22,20,18,.75);}

@media (max-width:600px){
  .page-hero-v2{padding:130px 0 48px;}
  .page-hero-v2.style-full_screen{min-height:72vh;}
}

/* ==========================================================================
   PAGE HERO TEMPLATES (page_hero_template — inc/acf-fields-page-hero.php)
   Three alternates to the Standard .page-hero-v2 above, selected per-Page.
   Each keeps its own scoped classes/CSS rather than sharing .page-hero-v2's,
   so tuning one never risks the others or Standard Pages that don't set
   this field. ========================================================== */

/* ---------- Editorial ----------
   Asymmetric copy/image composition, large editorial type, a short red rule
   instead of a full divider-ring, and a one-time CSS reveal on load (no
   scroll-trigger JS — prefers-reduced-motion is handled globally in
   style.css, which zeroes every animation/transition duration). */
.page-hero-editorial{position:relative;padding:150px 0 70px;overflow:hidden;isolation:isolate;}
.page-hero-editorial-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;}
.page-hero-editorial.no-image .page-hero-editorial-grid{grid-template-columns:1fr;max-width:760px;}
.page-hero-editorial-copy h1{font-size:clamp(36px,5.4vw,64px);font-weight:600;margin-top:14px;}
.page-hero-editorial-copy h1 em{font-style:normal;color:var(--red);}
.page-hero-editorial-rule{width:64px;height:2px;margin:26px 0;background:var(--red);
  box-shadow:0 0 18px rgba(232,52,42,.55);}
.page-hero-editorial-subheadline{font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:500;color:var(--ink);max-width:520px;}
.page-hero-editorial-desc{margin-top:14px;font-size:16px;line-height:1.75;color:var(--ink-dim);max-width:520px;}
.page-hero-editorial-cta-row{margin-top:32px;display:flex;gap:16px;flex-wrap:wrap;}
.page-hero-editorial-image{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;
  border:1px solid var(--line);background:var(--bg-raised);margin-top:-32px;}
.page-hero-editorial-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.05);}
.page-hero-editorial.theme-light{background:#f7f5f0;color:#161412;border-bottom:1px solid rgba(0,0,0,.08);}
.page-hero-editorial.theme-light .eyebrow{color:var(--red);}
.page-hero-editorial.theme-light .page-hero-editorial-copy h1{color:#161412;}
.page-hero-editorial.theme-light .page-hero-editorial-subheadline{color:#161412;}
.page-hero-editorial.theme-light .page-hero-editorial-desc{color:#5c5850;}
.page-hero-editorial-copy > *{animation:page-hero-reveal .7s ease both;}
.page-hero-editorial-copy .eyebrow{animation-delay:.02s;}
.page-hero-editorial-copy h1{animation-delay:.08s;}
.page-hero-editorial-rule{animation:page-hero-reveal-line .7s ease .18s both;}
.page-hero-editorial-subheadline{animation:page-hero-reveal .7s ease .24s both;}
.page-hero-editorial-desc{animation:page-hero-reveal .7s ease .3s both;}
.page-hero-editorial-cta-row{animation:page-hero-reveal .7s ease .36s both;}
.page-hero-editorial-image{animation:page-hero-reveal .8s ease .16s both;}
@keyframes page-hero-reveal{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes page-hero-reveal-line{from{opacity:0;width:0;}to{opacity:1;width:64px;}}

@media (max-width:900px){
  .page-hero-editorial-grid{grid-template-columns:1fr;}
  .page-hero-editorial-image{order:-1;margin-top:0;max-width:360px;margin-left:auto;margin-right:auto;}
}
@media (max-width:600px){
  .page-hero-editorial{padding:130px 0 48px;}
}

/* ---------- Cinematic ----------
   Full-bleed media + dark overlay behind a large centered headline, with an
   optional oversized background marquee built from the Headline text
   (page_hero_cinematic_marquee) — same duplicated-track technique as
   assets/css/sessions.css's .sessions-hero-bgtype, kept as its own class so
   the two stay independently tunable. */
.page-hero-cinematic{position:relative;min-height:90vh;display:flex;align-items:center;justify-content:center;
  padding:130px 0 70px;overflow:hidden;isolation:isolate;text-align:center;color:#fff;}
.page-hero-cinematic-media{position:absolute;inset:0;z-index:0;background:#000;}
.page-hero-cinematic-media img,
.page-hero-cinematic-media video,
.page-hero-cinematic-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;object-position:center;pointer-events:none;}
.page-hero-cinematic-scrim{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,.35) 100%);}
.page-hero-cinematic:not(.has-media){background:#000;}
.page-hero-cinematic:not(.has-media)::before{content:'';position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse 70% 60% at 50% 40%, rgba(232,52,42,.20), transparent 70%);}

.page-hero-cinematic-bgtype{position:absolute;top:50%;left:0;width:100%;z-index:1;transform:translateY(-50%);
  overflow:hidden;pointer-events:none;}
.page-hero-cinematic-bgtype-track{display:flex;width:max-content;animation:page-hero-cinematic-marquee 40s linear infinite;}
.page-hero-cinematic-bgtype-track span{flex:0 0 auto;white-space:nowrap;font-family:'Space Grotesk',sans-serif;font-weight:700;
  line-height:1;font-size:clamp(50px,10vw,180px);letter-spacing:-.02em;color:#fff;opacity:.06;padding-right:.5em;}
@keyframes page-hero-cinematic-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){
  .page-hero-cinematic-bgtype-track{animation:none;transform:translateX(0);}
}

.page-hero-cinematic-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;}
.page-hero-cinematic-inner .eyebrow{justify-content:center;display:flex;color:var(--red-bright);}
.page-hero-cinematic-inner h1{font-size:clamp(40px,6.2vw,80px);font-weight:600;margin-top:16px;color:#fff;}
.page-hero-cinematic-inner h1 em{font-style:normal;color:var(--red-bright);}
.page-hero-cinematic-desc{margin-top:18px;font-size:17px;line-height:1.75;color:rgba(255,255,255,.82);max-width:600px;margin-left:auto;margin-right:auto;}
.page-hero-cinematic-cta-row{margin-top:34px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}

@media (max-width:600px){
  .page-hero-cinematic{min-height:78vh;padding:120px 0 48px;}
}

/* ---------- Signal / Motion ----------
   Restrained ring-mark icon + a soft glow + a horizontal sweeping signal
   line under the headline + a small moving ticker strip along the bottom
   edge — a distinct, smaller-scale composition, not the Homepage Hero's
   vinyl signature. */
.page-hero-signal{position:relative;padding:150px 0 0;overflow:hidden;isolation:isolate;}
.page-hero-signal-glow{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 55% 50% at 15% 30%, rgba(232,52,42,.20), transparent 70%);}
.page-hero-signal-inner{position:relative;z-index:2;max-width:680px;padding-bottom:64px;}
.page-hero-signal-mark{width:30px;height:30px;margin-bottom:18px;opacity:.8;}
.page-hero-signal-mark img{width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(232,52,42,.55));animation:page-hero-signal-pulse 3.6s ease-in-out infinite;}
@keyframes page-hero-signal-pulse{0%,100%{opacity:.75;transform:scale(1);}50%{opacity:1;transform:scale(1.08);}}
.page-hero-signal-inner h1{font-size:clamp(34px,5vw,58px);font-weight:600;margin-top:14px;}
.page-hero-signal-inner h1 em{font-style:normal;color:var(--red);}
.page-hero-signal-line{position:relative;width:100%;max-width:340px;height:1px;margin:26px 0;background:var(--line);overflow:hidden;}
.page-hero-signal-line::after{content:'';position:absolute;top:0;left:0;width:40%;height:100%;
  background:linear-gradient(90deg, transparent, var(--red-bright), transparent);
  animation:page-hero-signal-sweep 3.2s ease-in-out infinite;}
@keyframes page-hero-signal-sweep{0%{transform:translateX(-100%);}100%{transform:translateX(350%);}}
.page-hero-signal-subheadline{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:500;color:var(--ink);max-width:520px;}
.page-hero-signal-desc{margin-top:12px;font-size:16px;line-height:1.75;color:var(--ink-dim);max-width:520px;}
.page-hero-signal-cta-row{margin-top:30px;display:flex;gap:16px;flex-wrap:wrap;}

.page-hero-signal-ticker{position:relative;z-index:2;border-top:1px solid var(--line);overflow:hidden;}
.page-hero-signal-ticker-track{display:flex;width:max-content;animation:page-hero-signal-ticker 26s linear infinite;}
.page-hero-signal-ticker-track span{flex:0 0 auto;white-space:nowrap;padding:14px 0;
  font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;color:var(--ink-dim);opacity:.6;}
@keyframes page-hero-signal-ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){
  .page-hero-signal-line::after{animation:none;display:none;}
  .page-hero-signal-ticker-track{animation:none;transform:translateX(0);}
}

@media (max-width:600px){
  .page-hero-signal{padding:130px 0 0;}
  .page-hero-signal-inner{padding-bottom:44px;}
}
