/* =====================================================
   Drone Star — Global Styles (organized)
   Sections:
     1) Global + Vars
     2) Nav & Footer
     3) Home page
     4) Services page
     5) Pricing page
     6) About pages + Carousel
     7) Blog video + RSS
     8) Gallery + Lightbox
     9) Rising page Hero (single source of truth)
    10) Rising container + shapes
   ===================================================== */
.hero-controls{
  position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%);
  display: flex; gap: 10px; align-items: center; 
  background: rgba(0,0,0,0.45); border: 1px solid rgba(255,255,255,0.12);
  padding: 8px 12px; border-radius: 999px; box-shadow: var(--shadow-soft);
  z-index: 5; pointer-events: auto;  /* clickable */
}
.hero-controls.bottom{
  position: static;
  left: auto; bottom: auto; transform: none;
  margin: 10px auto 0; /* space under the video */
  justify-content: center;
  width: fit-content;
}
@media (max-width: 560px){
  .hero-controls.bottom{ width: 92vw; justify-content: space-between; }
}
.vc-btn{
  appearance: none; border: 0; border-radius: 999px; padding: 8px 12px; 
  background: rgba(255,255,255,0.14); color: #fff; font-weight: 800; cursor: pointer;
}
.vc-btn:hover{ filter: brightness(1.1); }
.vc-vol{ width: 160px; accent-color: #a90000; cursor: pointer; }

/* Keep overlay visible before play, but allow clicks to pass to video */
.hero-video .hero-overlay{ pointer-events: none; }
.hero-video .hero-unmute{ pointer-events: auto; }
/* ========================
   GLOBAL STYLES
   ======================== */
body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: #000000;
  color: #e5e7eb;
}
:root{
  --glass-bg: hsla(0 0% 100% / 0.06);
  --ink-1: hsl(195 100% 55%);
  --ink-2: hsl(265 100% 65%);
  --ink-3: hsl(20 100% 60%);
  --ink-4: hsl(140 70% 55%);
  --shadow-soft: 0 10px 30px hsla(0 0% 0% / 0.25);
}

/* Shared watermark background used across pages */
body.home-bg{
  /* Logo watermark centered, sized to contain, fixed for classy parallax effect */
  background:
    url("assets/logos/fulllogo_transparent.png") center/contain no-repeat fixed,
    #000; /* fallback color under the image */
}


/* Navbar */
nav {
  background: #000000;
  padding: 12px 0;
  position: sticky;     /* keep nav visible on scroll */
  top: 0;
  z-index: 1000;
  /* subtle top/bottom lines site-wide */
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 2px 12px rgba(0,0,0,0.35);
  backdrop-filter: saturate(120%) blur(2px);
}

/* --- NAV layout hardening (keeps logo small + aligns items in one row) --- */
nav { display: flex; align-items: center; gap: 16px; }
nav .logo-link { display: inline-flex; align-items: center; margin: 0 8px 0 12px; }
nav .logo-link img { height: 48px; width: auto; display: block; }
#site-nav { display: flex; align-items: center; gap: 24px; margin-left: auto; padding: 0 18px; }

/* Active/hover color pop for About pages */
#site-nav a:hover, #site-nav a:focus { color: #e11d48; }
.about-page nav a.active { color: #e11d48; background: none; -webkit-text-fill-color: initial; text-shadow: none; }
nav ul {
  list-style: none;
  margin: 0;
  padding: 0 18px;      /* breathing room */
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;      /* better on small screens */
}
nav a {
  position: relative;
  color: white;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.2px;
  padding: 4px 2px; /* larger hit area */
}

/* animated underline */
nav a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 2px;
  background: linear-gradient(90deg, #ffffff, rgba(255,255,255,0.6));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
}

nav a:hover::after { transform: scaleX(1); }

nav a.active {
  text-decoration: none;
}
nav a.active::after {
  transform: scaleX(1);
}

/* ===== No hamburger: always show full nav ===== */
.hamburger { display: none !important; }
/* Ensure nav list remains visible and wraps on small screens */
nav ul { display: flex !important; flex-wrap: wrap; position: static !important; gap: 24px; }
#site-nav { display: flex !important; flex-wrap: wrap; position: static !important; }

/* About pages: red accent lines on the nav */
.about-page nav {
  border-top: 2px solid var(--gloss-red-2);
  border-bottom: 1px solid var(--gloss-red-4);
}

/* Clickable logo in nav (optional) */
.logo-link { display: inline-flex; align-items: center; margin-right: 12px; }
.logo-link img { height: 48px; transition: transform 200ms ease; }
.logo-link img:hover { transform: scale(1.08) rotate(-1.5deg); }

/* Footer */
footer {
  background: #a90000;
  color: white;
  text-align: center;
  padding: 20px 0;
  margin-top: 40px;
}

body.services-page .service-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}

body.services-page .portfolio-gallery,
body.services-page .portfolio-videos {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
  text-align: center;
}/* ========================
HOME PAGE
======================== */
body.home-page .home-hero {
position: relative;
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
color: white;

/* Big logo as watermark background */
background: url("assets/logos/fulllogo_transparent.png") center/contain no-repeat;
background-color: #000; /* fallback black */
}

body.home-page .hero-overlay {
background: rgba(0, 0, 0, 0.55); /* dark overlay behind text */
padding: 40px;
border-radius: 12px;
max-width: 800px;
}

body.home-page .hero-overlay h1 {
font-size: 4rem;
margin-bottom: 20px;
}

body.home-page .hero-overlay .quote {
font-size: 1.6rem;
font-style: italic;
line-height: 1.5;
opacity: 0.95;
}

/* ================================
   QUOTES — Drone Star Homepage
   Each quote gets its own flair.
   Works with .quote-a/.quote-b classes OR with two .quote elements.
   ================================ */

/* Layout wrapper if you group quotes */
body.home-page .hero-overlay .quotes{
  position: relative;
  display: grid;
  gap: clamp(16px, 2.5vw, 28px);
  width: min(1100px, 92vw);
  margin: clamp(12px, 2vh, 24px) auto 0;
  text-align: center;
}

/* Base enhancements for any quote inside hero overlay */
body.home-page .hero-overlay .quote{
  line-height: 1.15;
  letter-spacing: 0.2px;
  color: #fff;
  text-wrap: balance;
  text-shadow: 0 1px 0 rgba(0,0,0,0.25);
}

/* ================= Quote A =================
   Bold gradient shimmer text + subtle quotes
   ----------------------------------------- */
body.home-page .hero-overlay .quote-a{
  font-weight: 800;
  font-size: clamp(24px, 5.4vw, 58px);
  font-style: normal;
  background: linear-gradient(120deg, var(--ink-1), var(--ink-2), var(--ink-1));
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 6px 18px rgba(0,0,0,0.35));
  animation: quoteShine 9s ease-in-out infinite;
}
body.home-page .hero-overlay .quote-a .qmark{
  display: inline-block;
  opacity: 0.35;
  transform: translateY(-0.05em);
}
body.home-page .hero-overlay .quote-a .qmark.left{ margin-right: 0.06em; }
body.home-page .hero-overlay .quote-a .qmark.right{ margin-left: 0.06em; }

/* ================= Quote B =================
   Elegant "glass" plaque + paint-stroke underline
   ----------------------------------------------- */
body.home-page .hero-overlay .quote-b{
  font-weight: 700;
  font-size: clamp(22px, 4.2vw, 44px);
  letter-spacing: 0.4px;
  font-style: normal;
  position: relative;
  padding: clamp(14px, 2vw, 22px) clamp(16px, 2.6vw, 26px);
  border-radius: 18px;
  background: linear-gradient(to bottom right, hsla(0 0% 100% / 0.06), hsla(0 0% 100% / 0.02));
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  isolation: isolate;
}
body.home-page .hero-overlay .quote-b::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: clamp(-14px, -1.8vw, -10px);
  width: clamp(140px, 52%, 560px);
  height: clamp(8px, 1.2vw, 14px);
  transform: translateX(-50%) rotate(-1.5deg);
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ink-3), var(--ink-4));
  filter: blur(0.2px) drop-shadow(0 6px 10px rgba(0,0,0,0.35));
  animation: swipeIn 900ms cubic-bezier(.2,.9,.2,1) 140ms both;
}

/* ===== Fallback mapping (no extra classes needed) ===== */
/* If you only have two elements with class .quote, the first becomes A, the second B */
body.home-page .hero-overlay .quote:not(.quote-b):not(.quote-a):nth-of-type(1){
  font-weight: 800;
  font-size: clamp(24px, 5.4vw, 58px);
  font-style: normal;
  background: linear-gradient(120deg, var(--ink-1), var(--ink-2), var(--ink-1));
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 6px 18px rgba(0,0,0,0.35));
  animation: quoteShine 9s ease-in-out infinite;
}
body.home-page .hero-overlay .quote:not(.quote-a):not(.quote-b):nth-of-type(2){
  font-weight: 700;
  font-size: clamp(22px, 4.2vw, 44px);
  letter-spacing: 0.4px;
  font-style: normal;
  position: relative;
  padding: clamp(14px, 2vw, 22px) clamp(16px, 2.6vw, 26px);
  border-radius: 18px;
  background: linear-gradient(to bottom right, hsla(0 0% 100% / 0.06), hsla(0 0% 100% / 0.02));
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  isolation: isolate;
}
body.home-page .hero-overlay .quote:not(.quote-a):not(.quote-b):nth-of-type(2)::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: clamp(-14px, -1.8vw, -10px);
  width: clamp(140px, 52%, 560px);
  height: clamp(8px, 1.2vw, 14px);
  transform: translateX(-50%) rotate(-1.5deg);
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ink-3), var(--ink-4));
  filter: blur(0.2px) drop-shadow(0 6px 10px rgba(0,0,0,0.35));
  animation: swipeIn 900ms cubic-bezier(.2,.9,.2,1) 140ms both;
}

/* Shine and underline animations */
@keyframes quoteShine{
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
@keyframes swipeIn{
  0%   { transform: translateX(-50%) rotate(-1.5deg) scaleX(0); opacity: 0; }
  100% { transform: translateX(-50%) rotate(-1.5deg) scaleX(1); opacity: 1; }
}

/* Respect user's motion preferences */
@media (prefers-reduced-motion: reduce){
  body.home-page .hero-overlay .quote-a{ animation: none; }
  body.home-page .hero-overlay .quote-b::after{ animation: none; }
  body.home-page .hero-overlay .quote:not(.quote-b):not(.quote-a):nth-of-type(1){ animation: none; }
  body.home-page .hero-overlay .quote:not(.quote-a):not(.quote-b):nth-of-type(2)::after{ animation: none; }
}
.home-welcome, .home-p1{
  max-width: 900px;
  margin: 40px auto;
  padding: 0 16px;
  text-align: center;
  font-family:cursive
}

/* ========================
   SERVICES PAGE STYLES
   ======================== */
   body.services-page .hero {
    background-image: url("assets/images/services-hero.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: white;
    padding: 20px 20px;
    text-align: center;
  }

body.services-page .service-card {
  background: rgba(97, 0, 0, 0.6);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  padding: 20px;
  width: 300px;           /* slightly wider for better aspect */
  height: 380px;          /* set taller consistent height */
  text-align: center;
  position: relative;
  overflow: hidden;
}

body.services-page .service-card::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 45%;
  background: linear-gradient(to top, rgba(0,0,0,0.65), rgba(0,0,0,0));
  z-index: 1; /* above video, below text */
}

body.services-page .service-card .service-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  transition: transform 0.5s ease;
}

body.services-page .service-card:hover .service-video {
  transform: scale(1.05);
  transition: transform 0.5s ease;
}

body.services-page .service-card .service-overlay {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  color: white;
  text-align: center;
  padding: 0 10px;
  width: 90%;
}

body.services-page .service-card button {
  margin-top: 10px;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  background: #2b6cb0;
  color: white;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
}

body.services-page .service-card button:hover {
  background: #1d4f91;
  transform: translateY(-3px);
}

/* Portfolio on services page */
body.services-page .portfolio-gallery img {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(14, 13, 13, 0.1);
}
/* Commercial gallery on Services page */
body.services-page .commercial-gallery-section {
  margin: 24px auto 8px;
  max-width: 1200px;
  padding: 0 16px;
  text-align: center;
}

body.services-page .commercial-gallery-section h3 {
  margin: 8px 0 16px;
  color: #e5e7eb;
}

body.services-page .commercial-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  align-items: stretch;
}

body.services-page .commercial-item {
  background: rgba(255, 255, 255, 0.85);
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  padding: 10px;
}

body.services-page .commercial-item img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

body.services-page .commercial-item figcaption {
  font-size: 0.9rem;
  color: #222;
  margin-top: 8px;
}

body.services-page .gallery-note {
  font-size: 0.85rem;
  color: #cbd5e1;
  margin-top: 10px;
}

/* Event Coverage video: show full frame inside card */
body.services-page .event-card .service-video {
  object-fit: contain;
  background-color: #000; /* letterbox where needed */
}

/* ========================
PRICING PAGE
======================== */
/* --- PDF Modal (shared viewer for pricing posters) --- */
.modal.hidden { display: none; }
.modal {
  position: fixed; inset: 0; z-index: 10000;
  display: grid; place-items: center;
}
.modal-backdrop {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.85);
  backdrop-filter: blur(2px);
}
.modal-dialog {
  position: relative;
  width: min(1200px, 94vw);
  height: min(90vh, 900px);
  background: #0b0b0b;
  border-radius: 14px;
  box-shadow: var(--shadow-soft);
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  outline: 1px solid rgba(255,255,255,0.08);
}
.modal-title {
  margin: 10px 14px; color: #fff;
}
.modal-close {
  position: absolute; top: 8px; right: 10px;
  border: 0; background: rgba(255,255,255,0.12); color: #fff;
  border-radius: 8px; padding: 6px 10px; font-weight: 800;
  cursor: pointer;
}
.modal-close:hover { filter: brightness(1.08); }
.modal-body { height: 100%; }
.modal-pdf { width: 100%; height: 100%; border: 0; display: block; }
/* Canvas-based PDF rendering (PDF.js) */
.pdf-canvas-container{
  width: 100%;
  height: 100%;
  overflow: auto;
  display: grid;
  gap: 12px;
  padding: 12px;
  background: #0b0b0b;
}
.pdf-canvas-container canvas{
  width: 100%;
  height: auto;
  display: block;
  background: #111;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
}
.pdf-loading{
  color: #cbd5e1;
  text-align: center;
  padding: 24px 0;
  font-weight: 700;
  opacity: .9;
}
/* --- Poster buttons: pro look & accessibility --- */
.poster-buttons {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.poster-btn{
  display: grid;
  grid-template-columns: 32px 1fr;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  box-shadow: var(--shadow-soft);
  outline: 1px solid rgba(255,255,255,0.08);
  transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}
.poster-btn .poster-ico{
  display:grid; place-items:center;
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(255,255,255,0.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}
.poster-btn .poster-text .label{ display:block; letter-spacing:.2px; }
.poster-btn .poster-text .meta{ display:block; font-size:.85rem; opacity:.8; font-weight:600; }
.poster-btn:hover{ transform: translateY(-2px); filter: brightness(1.06); }
.poster-btn:active{ transform: translateY(0); filter: brightness(0.98); }
.poster-btn:focus-visible{
  outline: 0;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.18), var(--shadow-soft);
}

/* --- Accordion open animation (subtle) --- */
.acc[open] .acc__body{ animation: accIn 220ms cubic-bezier(.2,.9,.2,1) both; }
@keyframes accIn {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Small icon polish */
.pc-ico{ color:#fff; position: relative; }
.pc-ico::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:12px;
  pointer-events:none;
}
/* spacing for poster button group inside accordions */
.acc__body .poster-buttons { margin-top: 6px; }
/* Layout: 3-stack on desktop, fluid on mobile */
.pricing-grid.stack-3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 960px){
  .pricing-grid.stack-3 { grid-template-columns: repeat(3, 1fr); }
}

/* Card vibe */
.price-card.vibe{
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  border-radius: 16px;
  padding: 16px 14px;
  outline: 1px solid rgba(255,255,255,0.06);
  box-shadow: var(--shadow-soft);
  transition: transform 180ms ease, outline-color 180ms ease, box-shadow 180ms ease;
}
.price-card.vibe:hover{
  transform: translateY(-2px);
  outline-color: rgba(255,255,255,0.12);
  box-shadow: 0 12px 28px rgba(0,0,0,0.28);
}

/* Head */
.pc-head{ display:flex; gap:12px; align-items:center; margin-bottom: 6px; }
.pc-ico{ width:42px; height:42px; display:grid; place-items:center; border-radius:12px;
  background: radial-gradient(120% 120% at 30% 30%, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
  font-size: 22px;
}
.price-card h2{ margin: 0; letter-spacing: .2px; }
.pc-sub{ margin: 2px 0 0; opacity: .85; }

/* Accordions */
.acc{
  margin: 10px 0;
  background: rgba(255,255,255,0.045);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.06);
}
.acc + .acc{ margin-top: 8px; }

.acc__btn{
  display: block;
  list-style: none;
  cursor: pointer;
  font-weight: 800;
  padding: 12px 14px;
  position: relative;
  user-select: none;
}
.acc__btn::-webkit-details-marker{ display:none; }
.acc__btn::after{
  content: "";
  position: absolute;
  right: 14px; top: 50%; transform: translateY(-50%) rotate(0deg);
  width: 9px; height: 9px; border-right: 2px solid #fff; border-bottom: 2px solid #fff;
  opacity: .75; transition: transform 180ms ease, opacity 180ms ease;
}
.acc__btn:hover{
  background: rgba(255,255,255,0.04);
}
.acc[open] .acc__btn::after{ transform: translateY(-50%) rotate(45deg); opacity: 1; }

.acc__body{
  padding: 10px 14px 14px;
  display: grid; gap: 8px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.acc__list{ margin: 2px 0 4px; padding-left: 18px; }
.acc__note{ color: #cbd5e1; opacity: .95; margin: 4px 0 2px; }

.acc__cta{ display: flex; gap: 10px; flex-wrap: wrap; }
.cta.alt{ background: rgba(255,255,255,0.14); }

/* Focus ring for keyboard nav */
.acc__btn:focus { outline: 0; }
.acc__btn:focus-visible{
  box-shadow: 0 0 0 3px rgba(255,255,255,0.18) inset;
  border-radius: 12px;
}
.pricing-hero{
text-align:center; color:#fff; padding: 36px 16px 12px;
background: radial-gradient(50% 50% at 50% 0%, rgba(255,0,0,0.15), rgba(0,0,0,0) 70%);
}
.pricing-hero h1{ font-size: clamp(28px, 5vw, 48px); margin: 0 0 8px; }
.pricing-hero p{ opacity:.9; margin: 0 auto 18px; max-width: 900px; }
/* Pricing widgets removed: .pkg-acc, .quick-quote, .sticky-cta, .price-tabs, .tab-btn, .pricing-panel */
.pricing-section{ max-width:1200px; margin: 12px auto 40px; padding: 0 16px; }
.pricing-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:16px; }
.price-card{ position:relative; background: var(--glass-bg); border-radius: 16px; padding: 18px 16px; box-shadow: var(--shadow-soft); outline: 1px solid rgba(255,255,255,0.06); }
.price-card .badge{ position:absolute; top:10px; right:10px; font-size: .8rem; background: #ff1f1f; color:#fff; padding:4px 8px; border-radius: 999px; }
.price-card.recommended{ outline-color: rgba(255, 31, 31, 0.65); }
.price-card h2{ margin: 0 0 8px; }
.price-card .price{ font-weight:800; font-size: clamp(26px, 4vw, 40px); display:flex; align-items:flex-end; gap:4px; }
.price-card .price .per{ font-size:.9rem; opacity:.85; margin-bottom: 6px; }
.price-card .features{ list-style:none; margin: 12px 0; padding:0; display:grid; gap:8px; }
.price-card .features li{ display:flex; gap:8px; align-items:flex-start; }
.price-card .features li::before{ content:"✓"; color:#22c55e; margin-top:2px; }
.price-card .cta{ display:inline-block; text-align:center; width:100%; padding:10px 14px; border-radius:12px; background:#a90000; color:#fff; text-decoration:none; font-weight:800; letter-spacing:.3px; }
.price-card .cta:hover{ filter: brightness(1.08); }

/* =============================
   ABOUT PAGE THEME — Glossy Red
   Applies to: about_armando.html, about_chris.html
   Scoped to .about-page to avoid leaking styles.
   ============================= */

.about-page {
  /* Gloss red palette */
  --gloss-red-1: #ff4d4d;  /* light highlight */
  --gloss-red-2: #ff1f1f;  /* rich red */
  --gloss-red-3: #ff8080;  /* glossy streak */
  --gloss-red-4: #c40000;  /* deep base */
}

/* Gradient text for headings, hero tagline, and active nav */
.about-page .glossy-red,
.about-page .about-hero h1,
.about-page .about-hero p,
.about-page .about-content h2,
.about-page .about-content h3,
.about-page nav a.active {
  background: linear-gradient(
    180deg,
    var(--gloss-red-1) 0%,
    var(--gloss-red-2) 40%,
    var(--gloss-red-3) 55%,
    var(--gloss-red-4) 90%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent; /* Safari */
  text-shadow: 0 2px 8px rgba(255, 0, 0, 0.25), 0 0 1px rgba(255, 255, 255, 0.35);
  letter-spacing: 0.2px;
  transition: text-shadow 0.2s ease, transform 0.2s ease;
}

/* Flare underline for key headings (hero H1 and section H2) */
.about-page .about-hero h1::after,
.about-page .about-content h2::after {
  content: "";
  display: block;
  height: 2px;
  margin-top: 8px;
  background: radial-gradient(60% 100% at 50% 50%, rgba(255, 90, 90, 0.95) 0%, rgba(255, 90, 90, 0) 70%);
  filter: blur(0.3px);
  opacity: 0.9;
}

/* Body copy tint just on About pages (keeps rest of site unchanged) */
.about-page .about-content p,
.about-page .about-content li {
  color: #ff4d4d;
}

/* Optional subtle emphasis */
.about-page .about-hero p { font-weight: 500; }

/* Hover glow for a little drama */
.about-page .about-hero h1:hover,
.about-page .about-content h2:hover,
.about-page .about-content h3:hover,
.about-page nav a.active:hover {
  text-shadow: 0 4px 16px rgba(255, 0, 0, 0.45), 0 0 2px rgba(255, 255, 255, 0.4);
}
/* About Chris — Gallery sizing */
.about-page .gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.about-page .gallery-grid img {
  width: 100%;
  height: 140px;      /* thumbnail height */
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
@media (min-width: 900px) {
  .about-page .gallery-grid img { height: 180px; }
}

/* ========================
   About Chris Carousel
   ======================== */
.carousel {
  position: relative;
  max-width: 400px;
  margin: 50px auto;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: var(--shadow-soft);
}

.carousel-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.carousel-track img {
  width: 100%;
  flex: 0 0 100%;
  object-fit: cover;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: hsla(0,0%,0%,0.4);
  border: none;
  color: white;
  font-size: 2rem;
  padding: 6px 12px;
  cursor: pointer;
  z-index: 2;
  border-radius: 50%;
}

.carousel-btn:hover {
  background: hsla(0,0%,0%,0.7);
}

.carousel-btn.prev {
  left: 10px;
}
.carousel-btn.next {
  right: 10px;
}


/* ===== Live hardening for About Chris carousel (cache-safe) ===== */
.about-page .carousel { overflow: hidden; }
.about-page .carousel-track { display: flex !important; }
.about-page .carousel-track img { display: block; width: 100%; flex: 0 0 100% !important; object-fit: cover; }
/* === Blog video embed: oval frame === */
.blog-video-container{
  max-width: 900px;
  margin: 40px auto;
  padding: 12px;                 /* creates a frame around the video */
  background: var(--glass-bg);
  border-radius: 999px;          /* strong oval/pill shape */
  overflow: hidden;              /* clip the iframe to the oval */
  box-shadow: var(--shadow-soft);
}
.blog-video-container .video-frame{
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;         /* responsive video */
  border: 0;
  border-radius: inherit;        /* match container shape */
}
/* === RSS Updates section === */
.updates-section {
  max-width: 1000px;
  margin: 40px auto;
  padding: 0 16px;
}
.updates-section h2 {
  margin: 0 0 14px;
  font-size: clamp(22px, 3.5vw, 32px);
}
.updates-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.update-card {
  background: var(--glass-bg);
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: var(--shadow-soft);
}
.update-card a {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}
.update-card a:hover { text-decoration: underline; }
.update-meta {
  margin-top: 6px;
  font-size: 0.9rem;
  color: #cbd5e1;
}

/* === Gallery grid & cards === */
.gallery .gallery-grid { 
  display: grid; 
  gap: 14px; 
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); 
}
.gallery-item { 
  position: relative; 
  overflow: hidden; 
  border-radius: 14px; 
  background: #0b0b0b; 
  aspect-ratio: 16 / 9;
}
.gallery-item img { 
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
  display: block; 
  transition: transform .5s; 
}
.gallery-item:hover img { transform: scale(1.06); }

/* Video play badge */
.gallery-item[data-video] { cursor: pointer; }
.gallery-item[data-video] .play-badge {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: hsla(0,0%,100%,.14);
  backdrop-filter: blur(4px);
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  box-shadow: var(--shadow-soft);
  transition: transform 0.2s ease;
  pointer-events: none;
}
.gallery-item[data-video]:hover .play-badge { transform: scale(1.08); }

/* Lightbox media sizing (for script-created .lb) */
.lb { backdrop-filter: blur(2px); }
.lb .lb-media img,
.lb .lb-media video {
  max-width: min(92vw, 1400px);
  max-height: 86vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  background: #000;
}
/* === Canonical Hero Video styles (used by Rising page) === */
/* ===== Hero Video (Rising page) ===== */
.hero-video { position: relative; height: 78vh; max-height: 900px; overflow: hidden; border-radius: 12px; margin: 18px auto; }
.hero-video video { width: 100%; height: 100%; object-fit: cover; display: block; filter: brightness(0.9); }
.hero-video .hero-overlay {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  text-align: center; color: #fff; background: rgba(0,0,0,0.45);
  padding: 18px 22px; border-radius: 12px; box-shadow: var(--shadow-soft);
  transition: opacity 320ms ease;
}
.hero-video .hero-overlay.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.hero-unmute { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); border: 0; border-radius: 999px; padding: 10px 14px; font-weight: 800; background: rgba(255,255,255,0.14); color: #fff; backdrop-filter: blur(4px); cursor: pointer; box-shadow: var(--shadow-soft); }
.hero-unmute.hidden { display: none; }

/* ===== Rising page container + hero shapes (scoped) ===== */
.rising-container{ max-width: 1100px; margin: 8px auto 12px; padding: 0 16px; }
.rising-container .hero-video{ height: 64vh; margin: 8px auto 24px; }

/* Smooth oval / stadium */
.hero-video.shape-oval{ border-radius: 999px; overflow: hidden; }
/* Cinematic tilt */
.hero-video.shape-tilt{ border-radius: 18px; overflow: hidden; clip-path: polygon(0 6%, 100% 0, 100% 94%, 0 100%); }
/* Beveled frame (default) */
.hero-video.shape-bevel{ border-radius: 18px; overflow: hidden; clip-path: polygon(8% 0, 92% 0, 100% 12%, 100% 88%, 92% 100%, 8% 100%, 0 88%, 0 12%); }

@media (max-width: 640px){ .rising-container .hero-video{ height: 52vh; } }