/*
  DaGuest Pro — Premium Dark Editorial UI
  Full corrected replacement file
  Focus: stable hero sections, premium navigation, Elementor-safe hero behavior,
  readable overlays, mobile-safe spacing, and consistent card styling.
*/

/* ========================================================================
   TOKENS
   ======================================================================== */
:root{
  --dgp-bg:#1c232b;
  --dgp-bg-2:#26303a;
  --dgp-bg-3:#313d49;

  --dgp-surface:rgba(255,255,255,.07);
  --dgp-surface-2:rgba(255,255,255,.11);
  --dgp-surface-3:rgba(255,255,255,.04);

  --dgp-text:#F5F7FA;
  --dgp-muted:#AAB4C0;
  --dgp-muted-2:rgba(244,246,255,.78);

  --dgp-border:rgba(255,255,255,.12);
  --dgp-border-soft:rgba(255,255,255,.08);

  --dgp-shadow:0 18px 60px rgba(0,0,0,.55);
  --dgp-shadow-soft:0 14px 40px rgba(0,0,0,.35);
  --dgp-shadow-hero:0 30px 90px rgba(0,0,0,.30);

  --dgp-gold:#D4A63A;
  --dgp-gold-2:#F0C96A;
  --dgp-purple:#7e5cff;
  --dgp-purple-2:#9b7cff;
  --dgp-lime:#B7FF3C;
  --dgp-green:#39D98A;
  --dgp-orange:#FF8A2A;

  --dgp-radius:16px;
  --dgp-radius-md:20px;
  --dgp-radius-lg:28px;
  --dgp-radius-xl:32px;

  --dgp-max:1180px;
  --dgp-header-max:1380px;
  --dgp-font:'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --dgp-hero-glass:linear-gradient(180deg, rgba(9,14,20,.18), rgba(9,14,20,.08));
  --dgp-hero-glass-strong:linear-gradient(180deg, rgba(9,14,20,.32), rgba(9,14,20,.16));
}

/* ========================================================================
   GLOBAL FOUNDATION
   ======================================================================== */
html{
  background:var(--dgp-bg);
  scroll-behavior:smooth;
}

body{
  font-family:var(--dgp-font);
  background:
    radial-gradient(980px 560px at 15% 8%, rgba(212,166,58,.16), transparent 60%),
    radial-gradient(880px 520px at 84% 18%, rgba(57,217,138,.12), transparent 58%),
    radial-gradient(880px 680px at 52% 96%, rgba(240,201,106,.10), transparent 66%),
    linear-gradient(180deg, #212a33 0%, #25303a 48%, #2e3a47 100%) !important;
  color:var(--dgp-text);
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:-30%;
  background:
    radial-gradient(40% 30% at 25% 20%, rgba(212,166,58,.18), transparent 60%),
    radial-gradient(40% 30% at 80% 25%, rgba(57,217,138,.14), transparent 60%),
    radial-gradient(50% 40% at 55% 85%, rgba(245,200,75,.14), transparent 65%),
    radial-gradient(40% 30% at 60% 55%, rgba(126,92,255,.10), transparent 62%);
  filter:blur(70px);
  opacity:.9;
  transform:translateZ(0);
  animation:dgpGlow 18s ease-in-out infinite alternate;
  pointer-events:none;
  z-index:-1;
}

@keyframes dgpGlow{
  from{ transform:translate3d(-2%, -1%, 0) scale(1); }
  to{ transform:translate3d(2%, 1%, 0) scale(1.03); }
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:rgba(244,246,255,.92);
  text-decoration:none;
}

a:hover{
  color:var(--dgp-gold);
}

h1,h2,h3,h4,h5,h6{
  color:var(--dgp-text);
  letter-spacing:-.02em;
  font-family:var(--dgp-font);
  margin:0 0 12px;
}

p,li,small,label{
  color:rgba(244,246,255,.90);
}

.muted,
a.muted{
  color:rgba(181,189,210,.95);
}

.dgp-container{
  max-width:var(--dgp-max);
  margin:0 auto;
  padding:0 18px;
}

.dgp-main{
  padding:18px 0 26px;
}

.site-main,
.dgp-main,
.site-content{
  position:relative;
}

body.page .site-main,
body.archive .site-main,
body.single .site-main{
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.015));
}

/* ========================================================================
   UTILITIES
   ======================================================================== */
.dgp-h1{
  font-size:clamp(22px, 2.2vw, 32px);
  margin:0 0 6px;
  letter-spacing:.2px;
}

.dgp-h2{
  font-size:clamp(1.7rem, 3vw, 2.45rem);
  letter-spacing:-.04em;
}

.dgp-sub{
  margin:0;
  color:rgba(181,189,210,.95);
  font-size:14px;
  max-width:70ch;
}

.dgp-kicker,
.dgp-eyebrow,
.dgp-events-eyebrow,
.dgp-talents-eyebrow,
.dgp-venues-eyebrow,
.dgp-directory-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff2c2;
  background:rgba(212,166,58,.12);
  border:1px solid rgba(212,166,58,.18);
}

.dgp-events-eyebrow{ color:#bedcff; }
.dgp-talents-eyebrow{ color:#d9ffca; }
.dgp-venues-eyebrow{ color:#ffe0be; }
.dgp-directory-eyebrow{ color:#ead7ff; }

.dgp-link-icon{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.dgp-icon{
  display:inline-flex;
  width:18px;
  height:18px;
  line-height:1;
}

.dgp-icon svg{
  width:100%;
  height:100%;
  display:block;
}

/* ========================================================================
   HEADER / NAVIGATION
   ======================================================================== */
.dgp-header,
#dgp-site-header,
#dgp-site-header.dgp-header--public{
  position:sticky;
  top:0;
  z-index:1200;
  background:linear-gradient(180deg, rgba(6,10,16,.94), rgba(8,12,18,.82));
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 52px rgba(0,0,0,.24);
}

.dgp-header .dgp-container{
  max-width:var(--dgp-header-max);
}

.dgp-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  min-height:84px;
}

.dgp-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
  flex:0 0 auto;
}

.dgp-logo-img,
.custom-logo{
  height:42px;
  max-height:42px;
  width:auto;
  display:block;
  filter:invert(1) brightness(1.15);
}

.custom-logo-link{
  display:inline-flex;
  align-items:center;
}

.dgp-logo-text{
  display:inline-flex;
}

.dgp-logo-pill{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(240,201,106,.14), rgba(255,255,255,.08));
  border:1px solid rgba(240,201,106,.24);
  color:#0b1116;
  font-weight:900;
  background-color:#f6e7b3;
  box-shadow:0 10px 34px rgba(212,166,58,.18);
}

.dgp-nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--dgp-text);
}

.dgp-nav-toggle-lines{
  width:18px;
  height:2px;
  background:rgba(244,246,255,.92);
  position:relative;
  border-radius:99px;
}

.dgp-nav-toggle-lines::before,
.dgp-nav-toggle-lines::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background:rgba(244,246,255,.92);
  border-radius:99px;
}

.dgp-nav-toggle-lines::before{ top:-6px; }
.dgp-nav-toggle-lines::after{ top:6px; }

.dgp-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex:1 1 auto;
  min-width:0;
}

.dgp-menu{
  list-style:none;
  margin:0;
  padding:5px;
  display:flex;
  gap:6px;
  flex-wrap:nowrap;
  align-items:center;
  min-width:0;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.028));
  border:1px solid rgba(245,200,75,.14);
  box-shadow:0 22px 58px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(245,200,75,.05);
}

.dgp-menu > li{
  position:relative;
  flex:0 0 auto;
}

.dgp-menu > li > a{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:12px 16px;
  border-radius:15px;
  color:rgba(244,246,255,.92);
  font-weight:900;
  font-size:13px;
  line-height:1.2;
  border:1px solid transparent;
  white-space:nowrap;
  transition:all .18s ease;
}

.dgp-menu > li.menu-item-has-children > a::after{
  content:"⌄";
  font-size:12px;
  margin-left:7px;
  opacity:.72;
}

.dgp-menu > li:hover > a,
.dgp-menu > li:focus-within > a,
.dgp-menu > li.current-menu-item > a,
.dgp-menu > li.current-menu-parent > a,
.dgp-menu > li.current-menu-ancestor > a,
.dgp-menu > li.current_page_item > a,
.dgp-menu > li.current-page-ancestor > a,
.dgp-menu > li.is-open-desktop > a{
  color:#fff4c4;
  background:linear-gradient(180deg, rgba(245,200,75,.16), rgba(122,86,255,.10));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 28px rgba(245,200,75,.08);
  border-color:rgba(255,255,255,.08);
}

.dgp-menu .sub-menu{
  display:none;
  position:absolute;
  left:0;
  top:calc(100% + 14px);
  min-width:260px;
  list-style:none;
  margin:0;
  padding:14px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(8,12,18,.985), rgba(18,16,28,.96));
  border:1px solid rgba(245,200,75,.14);
  box-shadow:0 28px 90px rgba(0,0,0,.58);
  z-index:50;
}

.dgp-menu > li > .sub-menu::before{
  content:"";
  position:absolute;
  top:-7px;
  left:26px;
  width:14px;
  height:14px;
  transform:rotate(45deg);
  background:linear-gradient(180deg, rgba(8,12,18,.985), rgba(18,16,28,.96));
  border-top:1px solid rgba(245,200,75,.14);
  border-left:1px solid rgba(245,200,75,.14);
}

.dgp-menu li:hover > .sub-menu,
.dgp-menu li:focus-within > .sub-menu,
.dgp-menu > li.is-open-desktop > .sub-menu{
  display:block;
}

.dgp-menu .sub-menu li + li{
  margin-top:6px;
}

.dgp-menu .sub-menu li a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.04);
  font-size:13px;
  font-weight:800;
  color:rgba(244,246,255,.88);
  transition:all .18s ease;
}

.dgp-menu .sub-menu li a::after{
  content:"→";
  opacity:.42;
  transition:transform .18s ease, opacity .18s ease;
}

.dgp-menu .sub-menu li a:hover{
  background:linear-gradient(180deg, rgba(245,200,75,.15), rgba(122,86,255,.12));
  border-color:rgba(245,200,75,.18);
}

.dgp-menu .sub-menu li a:hover::after{
  transform:translateX(3px);
  opacity:.82;
}

.dgp-nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:14px;
  font-weight:900;
  font-size:13px;
  text-decoration:none;
  background:linear-gradient(135deg, rgba(245,200,75,.96), rgba(122,255,122,.78));
  color:#0b0b12 !important;
  border:1px solid rgba(245,200,75,.30);
  box-shadow:0 20px 46px rgba(245,200,75,.16), 0 0 0 1px rgba(255,255,255,.06);
  margin-left:auto;
  transition:all .18s ease;
}

.dgp-nav-cta:hover{
  filter:brightness(1.04);
  transform:translateY(-1px);
}

.dgp-nav-cta.is-active{
  color:#FFF7D1 !important;
  background:linear-gradient(180deg, rgba(245,200,75,.16), rgba(245,200,75,.10));
  box-shadow:0 0 0 2px rgba(245,200,75,.10), 0 10px 26px rgba(212,166,58,.12);
  border-color:rgba(245,200,75,.46);
}

@media (max-width:1320px){
  .dgp-nav-toggle{
    display:flex;
  }

  .dgp-header-inner{
    position:relative;
    flex-wrap:nowrap;
  }

  .dgp-nav{
    display:none;
    position:absolute;
    top:calc(100% + 12px);
    left:0;
    right:0;
    z-index:120;
    width:100%;
    padding:14px;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(180deg, rgba(8,12,18,.98), rgba(7,15,24,.96));
    box-shadow:0 28px 80px rgba(0,0,0,.44);
    backdrop-filter:blur(14px);
    max-height:min(78vh,760px);
    overflow:auto;
  }

  .dgp-nav.is-open{
    display:flex;
  }

  .dgp-menu{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .dgp-menu > li{
    width:100%;
  }

  .dgp-menu > li > a{
    width:100%;
    min-height:48px !important;
    justify-content:space-between;
    padding:14px 16px;
    border-radius:16px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.06);
    font-size:14px !important;
    font-weight:900 !important;
  }

  .dgp-menu > li.menu-item-has-children > a::after{
    display:none;
  }

  .dgp-menu .sub-menu{
    position:static;
    display:none;
    background:transparent;
    border:none;
    box-shadow:none;
    padding:6px 0 0 0;
    min-width:0;
  }

  .dgp-menu > li > .sub-menu::before{
    display:none;
  }

  .dgp-menu li.is-open > .sub-menu{
    display:block;
  }

  .dgp-menu .sub-menu li a{
    display:block;
    padding:12px 16px 12px 24px;
    border-radius:14px;
    color:rgba(244,246,255,.82);
    background:rgba(255,255,255,.02);
  }

  .dgp-menu .sub-menu li + li{
    margin-top:6px;
  }

  .dgp-menu .sub-menu li a:hover{
    background:rgba(212,166,58,.08);
  }

  .dgp-menu .dgp-submenu-toggle{
    appearance:none;
    border:0;
    background:rgba(255,255,255,.06);
    color:rgba(244,246,255,.92);
    width:38px;
    height:38px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    margin-left:10px;
    cursor:pointer;
  }

  .dgp-menu .dgp-submenu-toggle::before{
    content:"+";
    font-size:22px;
    line-height:1;
    margin-top:-1px;
  }

  .dgp-menu li.is-open > a > .dgp-submenu-toggle::before{
    content:"−";
  }

  .dgp-nav > .dgp-nav-cta{
    width:100%;
    margin-left:0;
    min-height:52px;
  }
}

@media (max-width:640px){
  .dgp-brand{ min-width:0; }
  .dgp-logo-img,
  .custom-logo{ height:36px; max-height:36px; }
  .dgp-nav{ left:0; right:0; padding:12px; border-radius:18px; }
}

/* ========================================================================
   BUTTONS
   ======================================================================== */
.dgp-btn,
.dgp-btn-secondary,
.dgp-events-btn-secondary,
.dgp-talents-btn-secondary,
.dgp-venues-btn-secondary,
.dgp-directory-btn-secondary,
.dgp-btn-ghost,
.dgp-events-btn,
.dgp-talents-btn,
.dgp-venues-btn,
.dgp-directory-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 15px;
  border-radius:14px;
  font-weight:800;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:var(--dgp-text);
  transition:.18s ease;
}

.dgp-btn:hover,
.dgp-btn-secondary:hover,
.dgp-events-btn-secondary:hover,
.dgp-talents-btn-secondary:hover,
.dgp-venues-btn-secondary:hover,
.dgp-directory-btn-secondary:hover,
.dgp-btn-ghost:hover,
.dgp-events-btn:hover,
.dgp-talents-btn:hover,
.dgp-venues-btn:hover,
.dgp-directory-btn:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.10);
}

.dgp-btn-primary,
.dgp-events-btn-primary,
.dgp-talents-btn-primary,
.dgp-venues-btn-primary,
.dgp-directory-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 15px;
  border-radius:14px;
  font-weight:900;
  text-decoration:none;
  border:1px solid rgba(240,201,106,.35);
  background:linear-gradient(135deg, rgba(240,201,106,.98), rgba(133,191,255,.88));
  color:#0b1016;
  box-shadow:0 16px 44px rgba(240,201,106,.15);
  transition:.18s ease;
}

.dgp-btn-primary:hover,
.dgp-events-btn-primary:hover,
.dgp-talents-btn-primary:hover,
.dgp-venues-btn-primary:hover,
.dgp-directory-btn-primary:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}

.dgp-btn-soft{
  background:rgba(255,255,255,.06);
}

.dgp-btn-claim{
  border-color:rgba(255,255,255,.18);
}

/* ========================================================================
   HERO SYSTEM — MAIN FIX AREA
   ======================================================================== */
.dgp-hero,
.dgp-page-hero,
.dgp-home-hero,
.dgp-page-fallback-hero__inner,
.dgp-culture-hero__inner,
.dgp-hero-wrap,
.dgp-events-hero-wrap,
.dgp-talents-hero-wrap,
.dgp-venues-hero-wrap,
.dgp-directory-hero-wrap{
  isolation:isolate;
}

/* generic internal hero cards */
.dgp-hero-card,
.dgp-home-hero__copy,
.dgp-home-panel,
.dgp-page-fallback-hero__copy,
.dgp-page-fallback-hero__meta,
.dgp-culture-hero__panel,
.dgp-page-hero__main > .elementor-element-populated,
.dgp-page-hero__aside > .elementor-element-populated{
  background:var(--dgp-hero-glass) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(8px);
}

/* Homepage hero */
.dgp-home-hero{
  position:relative;
  overflow:hidden;
  margin:18px 18px 24px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  box-shadow:0 30px 90px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
}

.dgp-home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(118deg, rgba(8,12,18,.18) 0%, rgba(8,12,18,.06) 42%, rgba(8,12,18,.02) 100%),
    radial-gradient(620px 320px at 10% 8%, rgba(245,200,75,.18), transparent 65%),
    radial-gradient(720px 420px at 88% 14%, rgba(126,92,255,.14), transparent 66%);
  opacity:.45 !important;
  pointer-events:none;
  z-index:0;
}

.dgp-home-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(8,12,18,.08), rgba(8,12,18,.02)),
    radial-gradient(520px 260px at 22% 78%, rgba(57,217,138,.08), transparent 64%),
    radial-gradient(640px 300px at 74% 88%, rgba(245,200,75,.08), transparent 68%);
  opacity:.45 !important;
  pointer-events:none;
  z-index:0;
}

.dgp-home-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  gap:28px;
  padding:44px 0;
  align-items:stretch;
}

.dgp-home-hero__copy,
.dgp-home-panel{
  border-radius:26px;
}

.dgp-home-hero__copy{
  padding:34px;
}

.dgp-home-panel{
  padding:28px;
  width:100%;
}

.dgp-home-hero__eyebrow,
.dgp-home-panel__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fde8a6;
  background:rgba(212,166,58,.12);
  border:1px solid rgba(212,166,58,.22);
}

.dgp-home-hero__title{
  margin:18px 0 14px;
  font-size:clamp(2.6rem,5vw,4.9rem);
  line-height:.98;
  letter-spacing:-.05em;
  max-width:12ch;
  color:#fff !important;
  text-shadow:
    0 2px 6px rgba(0,0,0,.45),
    0 10px 28px rgba(0,0,0,.28);
}

.dgp-home-hero__lead{
  font-size:1.08rem;
  line-height:1.75;
  color:rgba(244,246,255,.92);
  max-width:62ch;
  text-shadow:0 2px 12px rgba(0,0,0,.28);
}

.dgp-home-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.dgp-home-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.dgp-home-hero__meta span,
.dgp-home-chip{
  display:inline-flex;
  align-items:center;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(244,246,255,.86);
  font-size:13px;
}

.dgp-home-panel__title{
  margin:16px 0 10px;
  font-size:clamp(1.5rem,2vw,2.1rem);
  letter-spacing:-.03em;
}

.dgp-home-panel__text{
  color:rgba(244,246,255,.84);
  line-height:1.7;
  margin:0 0 18px;
}

.dgp-home-chiprow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

@media (max-width:980px){
  .dgp-home-hero__inner{
    grid-template-columns:1fr;
    padding:22px 0;
  }

  .dgp-home-hero{
    margin-left:12px;
    margin-right:12px;
    border-radius:24px;
  }

  .dgp-home-hero__copy,
  .dgp-home-panel{
    padding:22px;
  }

  .dgp-home-hero__title{
    max-width:none;
  }
}

/* Elementor page heroes */
.dgp-page-hero,
body.elementor-page .dgp-page-hero,
body.page-template-page-elementor .dgp-page-hero{
  overflow:visible;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
}

.dgp-page-hero > .elementor-container,
body.elementor-page .dgp-page-hero > .elementor-container,
body.page-template-page-elementor .dgp-page-hero > .elementor-container{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  background:transparent !important;
  box-shadow:0 28px 90px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
  isolation:isolate;
}

.dgp-page-hero > .elementor-container::before,
body.elementor-page .dgp-page-hero > .elementor-container::before,
body.page-template-page-elementor .dgp-page-hero > .elementor-container::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, rgba(8,12,18,.08) 0%, rgba(8,12,18,.02) 42%, rgba(8,12,18,0) 100%),
    radial-gradient(620px 320px at 12% 10%, rgba(245,200,75,.08), transparent 65%),
    radial-gradient(760px 380px at 88% 14%, rgba(126,92,255,.06), transparent 66%) !important;
  opacity:.72 !important;
  pointer-events:none;
  z-index:0;
}

.dgp-page-hero > .elementor-container > .elementor-column,
.dgp-page-hero > .elementor-container > .e-con,
.dgp-page-hero > .elementor-container > .e-con-inner{
  position:relative;
  z-index:1;
}

.dgp-page-hero .elementor-background-overlay,
.dgp-home-hero .elementor-background-overlay,
body.elementor-page .dgp-page-hero .elementor-background-overlay,
body.page-template-page-elementor .dgp-page-hero .elementor-background-overlay,
body.elementor-page .dgp-home-hero .elementor-background-overlay,
body.page-template-page-elementor .dgp-home-hero .elementor-background-overlay{
  opacity:.14 !important;
}

.dgp-page-hero .elementor-widget-wrap,
.dgp-page-hero .e-con-inner{
  position:relative;
  z-index:2;
}

.dgp-page-hero .elementor-widget-heading h1,
.dgp-page-hero .elementor-widget-heading h2,
.dgp-page-hero .dgp-el-title,
.dgp-page-fallback-hero__copy h1,
.dgp-page-fallback-hero__copy .dgp-h1,
.dgp-culture-hero__copy h1,
body.elementor-page .dgp-page-hero .elementor-heading-title,
body.page-template-page-elementor .dgp-page-hero .elementor-heading-title{
  color:#fff !important;
  text-shadow:
    0 2px 6px rgba(0,0,0,.45),
    0 10px 28px rgba(0,0,0,.28);
}

.dgp-page-hero .elementor-widget-text-editor,
.dgp-page-hero .elementor-widget-text-editor p,
.dgp-hero-lead,
.dgp-page-fallback-hero__copy .dgp-hero-lead,
.dgp-culture-hero__copy .dgp-hero-lead{
  text-shadow:0 2px 12px rgba(0,0,0,.28);
}

.dgp-page-hero--events > .elementor-container,
.dgp-page-hero--venues > .elementor-container,
body.elementor-page .dgp-page-hero--events > .elementor-container,
body.elementor-page .dgp-page-hero--venues > .elementor-container,
body.page-template-page-elementor .dgp-page-hero--events > .elementor-container,
body.page-template-page-elementor .dgp-page-hero--venues > .elementor-container{
  background-color:rgba(8,14,24,.24) !important;
  background-blend-mode:overlay !important;
}

.dgp-page-hero--events > .elementor-container::before,
.dgp-page-hero--venues > .elementor-container::before,
body.elementor-page .dgp-page-hero--events > .elementor-container::before,
body.elementor-page .dgp-page-hero--venues > .elementor-container::before,
body.page-template-page-elementor .dgp-page-hero--events > .elementor-container::before,
body.page-template-page-elementor .dgp-page-hero--venues > .elementor-container::before{
  opacity:.18 !important;
  background:linear-gradient(110deg, rgba(6,10,18,.36) 0%, rgba(8,14,22,.20) 45%, rgba(10,16,24,.10) 100%) !important;
}

.dgp-page-hero--events .dgp-page-hero__main,
.dgp-page-hero--venues .dgp-page-hero__main,
.dgp-page-hero--events .dgp-page-hero__aside,
.dgp-page-hero--venues .dgp-page-hero__aside{
  min-width:0;
}

.dgp-page-hero--events .dgp-el-title,
.dgp-page-hero--venues .dgp-el-title,
.dgp-page-hero--events .elementor-heading-title,
.dgp-page-hero--venues .elementor-heading-title{
  max-width:18ch !important;
}

.dgp-page-hero--events .dgp-el-lede,
.dgp-page-hero--venues .dgp-el-lede{
  max-width:72ch !important;
  font-size:16px !important;
  line-height:1.78 !important;
}

.dgp-page-hero--events .dgp-page-hero__main > .elementor-element-populated,
.dgp-page-hero--venues .dgp-page-hero__main > .elementor-element-populated{
  background:linear-gradient(180deg, rgba(9,14,22,.44), rgba(9,14,22,.24)) !important;
}

.dgp-page-hero--events .dgp-page-hero__aside > .elementor-element-populated,
.dgp-page-hero--venues .dgp-page-hero__aside > .elementor-element-populated{
  background:linear-gradient(180deg, rgba(12,18,28,.52), rgba(12,18,28,.28)) !important;
}

@media (min-width:981px){
  .dgp-page-hero--events > .elementor-container,
  .dgp-page-hero--venues > .elementor-container,
  body.elementor-page .dgp-page-hero--events > .elementor-container,
  body.elementor-page .dgp-page-hero--venues > .elementor-container,
  body.page-template-page-elementor .dgp-page-hero--events > .elementor-container,
  body.page-template-page-elementor .dgp-page-hero--venues > .elementor-container{
    grid-template-columns:minmax(0,1fr) minmax(360px,1fr) !important;
    align-items:stretch !important;
  }
}

@media (max-width:980px){
  .dgp-page-hero > .elementor-container,
  body.elementor-page .dgp-page-hero > .elementor-container,
  body.page-template-page-elementor .dgp-page-hero > .elementor-container{
    border-radius:24px;
  }
}

/* Fallback hero */
.dgp-page-fallback-hero{
  padding-top:20px;
}

.dgp-page-fallback-hero__inner{
  position:relative;
  overflow:hidden;
  min-height:clamp(360px, 64vh, 620px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,1fr);
  gap:24px;
  align-items:stretch;
  padding:clamp(24px,4vw,40px);
  border:1px solid rgba(255,255,255,.10);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(11,16,24,.20), rgba(11,16,24,.10));
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}

.dgp-page-fallback-hero__inner::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--dgp-hero-bg, transparent);
  background-size:cover;
  background-position:center;
  opacity:1 !important;
  transform:scale(1.01);
  filter:saturate(1.04) contrast(1.02) brightness(.96);
  z-index:-3;
}

.dgp-page-fallback-hero__inner::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(100deg, rgba(7,11,18,.66) 0%, rgba(7,11,18,.38) 44%, rgba(7,11,18,.14) 100%),
    radial-gradient(760px 360px at 14% 16%, rgba(245,200,75,.18), transparent 64%),
    radial-gradient(720px 340px at 82% 18%, rgba(122,86,255,.16), transparent 66%) !important;
  z-index:-2;
}

.dgp-page-fallback-hero__copy,
.dgp-page-fallback-hero__meta{
  background:linear-gradient(180deg, rgba(8,12,18,.34), rgba(8,12,18,.16)) !important;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 46px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06);
}

.dgp-page-fallback-hero__copy{
  max-width:none;
  padding:28px;
  border-radius:26px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.dgp-page-fallback-hero__copy .dgp-h1,
.dgp-page-fallback-hero__copy h1{
  margin:12px 0 14px;
  color:#F8FBFF;
  max-width:none;
  font-size:clamp(34px, 4.2vw, 58px);
  line-height:.98;
  letter-spacing:-.05em;
}

.dgp-page-fallback-hero__copy .dgp-hero-lead{
  max-width:68ch;
  color:rgba(248,250,255,.92);
  font-size:16px;
  line-height:1.8;
}

.dgp-page-fallback-hero__meta{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:24px;
  border-radius:26px;
}

.dgp-page-fallback-hero__meta .dgp-panel-title{
  color:#F8FBFF;
  font-weight:800;
  font-size:18px;
}

.dgp-page-fallback-hero__meta .dgp-panel-sub{
  color:#D7DEE6;
}

.dgp-page-fallback-hero--events .dgp-page-fallback-hero__inner,
.dgp-page-fallback-hero--venues .dgp-page-fallback-hero__inner{
  box-shadow:0 28px 90px rgba(0,0,0,.28), 0 16px 48px rgba(245,200,75,.08);
}

.dgp-page-fallback-hero--events .dgp-page-fallback-hero__inner::after{
  background:
    linear-gradient(100deg, rgba(7,11,18,.62) 0%, rgba(7,11,18,.34) 44%, rgba(7,11,18,.12) 100%),
    radial-gradient(760px 360px at 14% 16%, rgba(245,200,75,.20), transparent 64%),
    radial-gradient(760px 360px at 82% 18%, rgba(122,86,255,.22), transparent 66%) !important;
}

.dgp-page-fallback-hero--venues .dgp-page-fallback-hero__inner::after{
  background:
    linear-gradient(100deg, rgba(7,11,18,.62) 0%, rgba(7,11,18,.34) 44%, rgba(7,11,18,.12) 100%),
    radial-gradient(760px 360px at 14% 16%, rgba(255,174,61,.18), transparent 64%),
    radial-gradient(760px 360px at 82% 18%, rgba(184,255,71,.12), transparent 66%) !important;
}

.dgp-page-fallback-hero--hangouts .dgp-page-fallback-hero__inner::after{
  background:
    linear-gradient(110deg, rgba(8,12,18,.74) 0%, rgba(8,12,18,.48) 40%, rgba(8,12,18,.18) 100%),
    radial-gradient(740px 340px at 16% 20%, rgba(184,255,71,.12), transparent 64%),
    radial-gradient(760px 360px at 82% 18%, rgba(122,86,255,.14), transparent 66%);
}

.dgp-page-fallback-hero--multimedia .dgp-page-fallback-hero__inner::after{
  background:
    linear-gradient(110deg, rgba(8,12,18,.78) 0%, rgba(8,12,18,.50) 40%, rgba(8,12,18,.18) 100%),
    radial-gradient(740px 340px at 16% 20%, rgba(205,164,52,.16), transparent 64%),
    radial-gradient(760px 360px at 82% 18%, rgba(122,86,255,.20), transparent 66%);
}

@media (max-width:980px){
  .dgp-page-fallback-hero__inner{
    grid-template-columns:1fr;
    min-height:0;
  }
}

@media (max-width:767px){
  .dgp-page-fallback-hero__inner{
    padding:22px;
    border-radius:24px;
    gap:18px;
  }

  .dgp-page-fallback-hero__copy h1,
  .dgp-page-fallback-hero__copy .dgp-h1{
    font-size:clamp(28px, 8vw, 40px);
  }

  .dgp-page-fallback-hero__copy .dgp-hero-lead{
    font-size:15px;
    line-height:1.65;
  }

  .dgp-page-fallback-hero__meta{
    padding:18px;
    border-radius:20px;
  }
}

/* shared hero wrap system used by templates */
.dgp-image-marker,
.dgp-events-video-marker,
.dgp-talents-image-marker,
.dgp-venues-image-marker,
.dgp-directory-image-marker{
  display:none !important;
}

.dgp-hero-wrap,
.dgp-events-hero-wrap,
.dgp-talents-hero-wrap,
.dgp-venues-hero-wrap,
.dgp-directory-hero-wrap{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  padding:24px;
  background:linear-gradient(180deg, rgba(18,24,31,.84), rgba(18,24,31,.94));
  box-shadow:var(--dgp-shadow);
  margin:0 0 24px;
}

.dgp-hero-wrap::before,
.dgp-events-hero-wrap::before,
.dgp-talents-hero-wrap::before,
.dgp-venues-hero-wrap::before,
.dgp-directory-hero-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--hero-image,var(--events-hero-bg,var(--talents-hero-bg,var(--venues-hero-bg,var(--directory-hero-bg)))));
  background-size:cover;
  background-position:center;
  opacity:.26;
  transform:scale(1.03);
}

.dgp-hero-wrap::after,
.dgp-events-hero-wrap::after,
.dgp-talents-hero-wrap::after,
.dgp-venues-hero-wrap::after,
.dgp-directory-hero-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg, rgba(14,18,24,.92) 0%, rgba(17,22,29,.84) 44%, rgba(18,24,31,.72) 100%);
}

.dgp-events-hero-wrap::after{
  background:linear-gradient(105deg, rgba(14,18,24,.92) 0%, rgba(18,30,48,.84) 44%, rgba(14,18,24,.72) 100%);
}

.dgp-talents-hero-wrap::after{
  background:linear-gradient(105deg, rgba(14,18,24,.92) 0%, rgba(16,35,26,.82) 44%, rgba(14,18,24,.72) 100%);
}

.dgp-venues-hero-wrap::after{
  background:linear-gradient(105deg, rgba(14,18,24,.92) 0%, rgba(42,27,18,.82) 44%, rgba(14,18,24,.72) 100%);
}

.dgp-directory-hero-wrap::after{
  background:linear-gradient(105deg, rgba(14,18,24,.92) 0%, rgba(32,24,44,.82) 44%, rgba(14,18,24,.72) 100%);
}

.dgp-hero-grid,
.dgp-events-hero-grid,
.dgp-talents-hero-grid,
.dgp-venues-hero-grid,
.dgp-directory-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(280px,.82fr);
  gap:20px;
  align-items:center;
}

.dgp-hero-copy h1,
.dgp-events-hero-copy h1,
.dgp-talents-hero-copy h1,
.dgp-venues-hero-copy h1,
.dgp-directory-hero-copy h1{
  font-size:clamp(28px,2.6vw,38px);
  line-height:1.08;
  margin:0 0 10px;
  max-width:15ch;
}

.dgp-hero-lead,
.dgp-events-hero-lead,
.dgp-talents-hero-lead,
.dgp-venues-hero-lead,
.dgp-directory-hero-lead{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.65;
  color:rgba(244,246,255,.84);
  max-width:62ch;
}

.dgp-hero-actions,
.dgp-events-hero-actions,
.dgp-talents-hero-actions,
.dgp-venues-hero-actions,
.dgp-directory-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 18px;
}

.dgp-hero-stats,
.dgp-events-hero-meta,
.dgp-talents-hero-meta,
.dgp-venues-hero-meta,
.dgp-directory-hero-meta,
.dgp-hero-tags,
.dgp-talents-feature-tags,
.dgp-venues-reel-tags,
.dgp-directory-feature-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.dgp-stat-card,
.dgp-events-hero-meta span,
.dgp-talents-hero-meta span,
.dgp-venues-hero-meta span,
.dgp-directory-hero-meta span,
.dgp-hero-tags span,
.dgp-talents-feature-tags span,
.dgp-venues-reel-tags span,
.dgp-directory-feature-tags span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(6px);
}

.dgp-stat-card{
  min-width:120px;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
}

.dgp-stat-card strong{
  font-size:18px;
  line-height:1;
  color:#fff7d1;
}

.dgp-stat-card span{
  font-size:13px;
  color:var(--dgp-muted);
}

.dgp-hero-side > *,
.dgp-events-hero-side > *,
.dgp-talents-hero-side > *,
.dgp-venues-hero-side > *,
.dgp-directory-hero-side > *{
  position:relative;
  z-index:1;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 60px rgba(0,0,0,.3);
}

.dgp-search-card h3,
.dgp-talents-feature-copy h3,
.dgp-venues-reel-copy h3,
.dgp-directory-feature-copy h3{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.2;
}

.dgp-search-card p,
.dgp-talents-feature-copy p,
.dgp-venues-reel-copy p,
.dgp-directory-feature-copy p,
.dgp-events-video-note{
  margin:0 0 16px;
  color:rgba(244,246,255,.82);
  font-size:15px;
  line-height:1.65;
}

.dgp-hero-search{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin:0 0 14px;
}

.dgp-hero-search input{
  padding:13px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
}

.dgp-hero-search button{
  padding:13px 16px;
  border-radius:14px;
  border:1px solid rgba(240,201,106,.35);
  background:linear-gradient(135deg, rgba(240,201,106,.98), rgba(133,191,255,.88));
  color:#0b1016;
  font-weight:800;
  cursor:pointer;
}

.dgp-events-video-frame video,
.dgp-talents-feature-media img,
.dgp-venues-reel-media img,
.dgp-directory-feature-media img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
}

.dgp-events-video-head,
.dgp-talents-feature-top,
.dgp-venues-reel-top,
.dgp-directory-feature-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}

.dgp-events-video-label,
.dgp-talents-feature-label,
.dgp-venues-reel-label,
.dgp-directory-feature-label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#d7e5ff;
}

.dgp-events-video-dot,
.dgp-talents-feature-badge,
.dgp-venues-reel-badge,
.dgp-directory-feature-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(240,201,106,.14);
  border:1px solid rgba(240,201,106,.28);
  color:#fff7d1;
  font-size:12px;
  font-weight:800;
}

.dgp-events-video-dot{
  min-width:12px;
  width:12px;
  height:12px;
  padding:0;
  border-radius:50%;
  background:#39d98a;
  border-color:#39d98a;
  box-shadow:0 0 0 6px rgba(57,217,138,.15);
}

.dgp-hero-wrap{ box-shadow:0 24px 70px rgba(245,200,75,.10); }
.dgp-events-hero-wrap{ box-shadow:0 24px 70px rgba(43,122,255,.12); }
.dgp-talents-hero-wrap{ box-shadow:0 24px 70px rgba(57,217,138,.12); }
.dgp-venues-hero-wrap{ box-shadow:0 24px 70px rgba(240,160,106,.12); }
.dgp-directory-hero-wrap{ box-shadow:0 24px 70px rgba(193,143,255,.12); }

@media (max-width:980px){
  .dgp-hero-grid,
  .dgp-events-hero-grid,
  .dgp-talents-hero-grid,
  .dgp-venues-hero-grid,
  .dgp-directory-hero-grid{
    grid-template-columns:1fr;
  }

  .dgp-hero-wrap,
  .dgp-events-hero-wrap,
  .dgp-talents-hero-wrap,
  .dgp-venues-hero-wrap,
  .dgp-directory-hero-wrap{
    padding:22px;
    border-radius:24px;
  }
}

/* ========================================================================
   GENERAL HERO / SEARCH / PAGE HEADS
   ======================================================================== */
.dgp-hero{
  padding:24px 0 12px;
}

.dgp-hero-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--dgp-radius-lg);
  padding:22px;
  position:relative;
  overflow:hidden;
}

.dgp-hero-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 260px at 18% 18%, rgba(45,107,255,.16), transparent 60%),
    radial-gradient(700px 260px at 85% 30%, rgba(255,46,95,.12), transparent 60%),
    radial-gradient(700px 340px at 55% 120%, rgba(245,200,75,.12), transparent 66%);
  pointer-events:none;
}

.dgp-hero-card > *{
  position:relative;
}

.dgp-panel-title{
  font-weight:900;
  letter-spacing:-0.02em;
  margin:0 0 4px;
}

.dgp-panel-sub{
  color:rgba(244,246,255,.78);
  font-size:13px;
  margin:0 0 12px;
}

.dgp-pagehead{
  padding:18px 0 10px;
}

.dgp-main-hub-page .dgp-article{
  padding-top:8px;
}

/* search bar */
.dgp-searchbar{
  display:flex;
  gap:10px;
  align-items:center;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  border-radius:18px;
  padding:10px;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}

.dgp-searchbar input,
.dgp-searchbar input[type="search"]{
  flex:1 1 auto;
  min-width:160px;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.22);
  color:rgba(244,246,255,.94);
  outline:none;
}

.dgp-searchbar input::placeholder,
.dgp-searchbar input[type="search"]::placeholder{
  color:rgba(181,189,210,.85);
}

.dgp-searchbar input:focus,
.dgp-searchbar input[type="search"]:focus{
  border-color:rgba(45,107,255,.45);
  box-shadow:0 0 0 3px rgba(212,166,58,.12);
}

.dgp-search .dgp-field label{
  display:block;
  font-size:12px;
  color:rgba(244,246,255,.78);
  margin:0 0 6px;
}

.dgp-search .dgp-field input,
.dgp-search .dgp-field select{
  width:100%;
}

.dgp-quick-results{
  margin-top:10px;
}

.dgp-quick-results-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:10px;
}

/* ========================================================================
   FILTER BAR
   ======================================================================== */
.dgp-filterbar{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  border-radius:var(--dgp-radius-lg);
  padding:14px;
  margin:14px 0 18px;
}

.dgp-filterbar-row{
  display:grid;
  grid-template-columns:1.3fr repeat(4, 1fr) auto;
  gap:12px;
  align-items:end;
}

.dgp-filterbar label{
  font-size:12px;
  color:rgba(181,189,210,.95);
  font-weight:700;
}

.dgp-filterbar input,
.dgp-filterbar select,
.dgp-search select,
.dgp-searchbar select{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background-color:rgba(16,22,31,.96);
  color:var(--dgp-text);
  outline:none;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
}

.dgp-filterbar input::placeholder{
  color:rgba(181,189,210,.75);
}

.dgp-filterbar select option,
.dgp-filterbar select optgroup,
.dgp-search select option,
.dgp-search select optgroup,
.dgp-searchbar select option,
.dgp-searchbar select optgroup{
  background:#10161f;
  color:#f4f6ff;
}

.dgp-filterbar input:focus,
.dgp-filterbar select:focus,
.dgp-search select:focus,
.dgp-searchbar select:focus{
  border-color:rgba(45,107,255,.45);
  box-shadow:0 0 0 3px rgba(45,107,255,.14);
  background-color:rgba(18,25,36,.98);
}

@media (max-width:1100px){
  .dgp-filterbar-row{
    grid-template-columns:1fr 1fr;
  }
}

/* ========================================================================
   SECTIONS / GRIDS / BANDS
   ======================================================================== */
.dgp-section{
  padding:18px 0 28px;
  backdrop-filter:blur(10px);
}

.dgp-section h2{
  font-size:18px;
  margin:0 0 14px;
}

.dgp-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.dgp-grid--2{
  grid-template-columns:repeat(2, minmax(0,1fr));
}

.dgp-grid--3{
  grid-template-columns:repeat(3, minmax(0,1fr));
}

.dgp-home-overview,
.dgp-home-band{
  margin-bottom:26px;
}

.dgp-home-band{
  padding:24px 0 6px;
}

.dgp-home-band--soft{
  padding:28px 22px 10px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 48px rgba(0,0,0,.18);
}

.dgp-home-band--cta{
  padding-bottom:22px;
}

.dgp-home-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
}

.dgp-home-section-head .dgp-sub{
  max-width:760px;
  margin:0;
}

@media (max-width:1100px){
  .dgp-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:980px){
  .dgp-home-section-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:780px){
  .dgp-grid,
  .dgp-grid--2,
  .dgp-grid--3{
    grid-template-columns:1fr;
  }
}

/* ========================================================================
   CARDS
   ======================================================================== */
.dgp-card{
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border-radius:var(--dgp-radius-lg);
  overflow:hidden;
  box-shadow:0 20px 70px rgba(0,0,0,.45);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  display:flex;
  flex-direction:column;
  height:100%;
  backdrop-filter:blur(10px);
}

.dgp-card:hover{
  transform:translateY(-2px);
  border-color:rgba(245,200,75,.28);
}

.dgp-card-media{
  display:block;
  height:208px;
  position:relative;
  overflow:hidden;
  flex:0 0 auto;
}

.dgp-card-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(520px 240px at 18% 20%, rgba(245,200,75,.22), transparent 62%),
    radial-gradient(540px 260px at 86% 20%, rgba(57,255,136,.14), transparent 62%);
  mix-blend-mode:screen;
  opacity:.55;
  z-index:1;
}

.dgp-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.52));
  z-index:1;
}

.dgp-card-media img,
.dgp-card-media > a img,
.dgp-card-media picture img,
.dgp-promo-media,
.dgp-hero-media img,
.dgp-card-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.dgp-card-img{
  filter:saturate(1.22) contrast(1.10) brightness(1.07);
  transform:scale(1.02);
}

.dgp-card-media img{
  transition:transform .35s ease;
}

.dgp-card:hover .dgp-card-media img{
  transform:scale(1.04);
}

.dgp-card-body{
  padding:16px 16px 14px;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}

.dgp-card-title{
  font-size:19px;
  margin:0 0 10px;
  color:rgba(244,246,255,.96);
  line-height:1.32;
}

.dgp-meta{
  color:rgba(244,246,255,.84);
  font-size:15px;
  line-height:1.65;
}

.dgp-card-badges{
  position:absolute;
  left:12px;
  top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  z-index:2;
}

.dgp-card-media .dgp-card-badges{
  pointer-events:none;
}

.dgp-card-meta{
  margin:8px 0 14px;
  display:grid;
  gap:8px;
}

.dgp-meta-line{
  color:rgba(244,246,255,.84);
  font-size:14px;
  line-height:1.55;
  display:flex;
  align-items:flex-start;
  gap:8px;
}

.dgp-card-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:0;
  margin-top:auto;
}

.dgp-card-actions .dgp-btn{
  flex:1 1 0;
  min-width:0;
}

@media (max-width:640px){
  .dgp-card-actions .dgp-btn{
    width:100%;
  }
}

/* badges */
.dgp-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.dgp-badge{
  font-size:11px;
  font-weight:900;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(244,246,255,.92);
}

.dgp-badge.verified,
.dgp-badge-gold,
.dgp-badge.featured-homepage,
.dgp-badge.featured-category{
  border-color:rgba(245,200,75,.38);
  background:rgba(245,200,75,.10);
  color:rgba(255,236,175,.96);
  box-shadow:0 0 0 3px rgba(245,200,75,.08);
}

.dgp-badge.free,
.dgp-badge-blue{
  border-color:rgba(212,166,58,.35);
  background:rgba(212,166,58,.10);
}

.dgp-badge.pro,
.dgp-badge-green,
.dgp-badge.claimed{
  border-color:rgba(57,217,138,.35);
  background:rgba(57,217,138,.10);
  color:#B8FFD7;
}

.dgp-badge.verified-date,
.dgp-badge.unverified{
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#EAF0F6;
}

.dgp-badge-red{
  border-color:rgba(220,38,38,.38);
  background:rgba(220,38,38,.10);
  color:rgba(252,165,165,1);
}

.dgp-badge-amber{
  border-color:rgba(245,158,11,.38);
  background:rgba(245,158,11,.10);
  color:rgba(253,230,138,1);
}

.dgp-badge-muted{
  border-color:rgba(148,163,184,.35);
  background:rgba(148,163,184,.10);
  color:rgba(203,213,225,1);
}

/* share */
.dgp-share{
  display:inline-flex;
  gap:8px;
  align-items:center;
  margin:0 16px 16px;
}

.dgp-share-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(244,246,255,.92);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
}

.dgp-share-icon .dgp-icon{
  width:16px;
  height:16px;
}

.dgp-share-icon:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(245,200,75,.22);
  box-shadow:0 0 0 3px rgba(245,200,75,.08);
}

/* ========================================================================
   COVERAGE
   ======================================================================== */
.dgp-coverage{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(18,24,31,.70), rgba(18,24,31,.92));
  border-radius:24px;
  box-shadow:var(--dgp-shadow);
  padding:18px;
  overflow:hidden;
}

.dgp-coverage-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
}

.dgp-coverage-title{
  font-weight:900;
  letter-spacing:-0.02em;
}

.dgp-coverage-sub{
  margin-top:6px;
  color:rgba(244,246,255,.72);
  font-size:13px;
  line-height:1.55;
  max-width:760px;
}

.dgp-coverage-state-intro{
  margin:0 0 16px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.dgp-coverage-state-intro p{
  margin:6px 0 0;
  color:rgba(244,246,255,.74);
  font-size:13px;
  line-height:1.6;
}

.dgp-coverage-switch{
  position:relative;
}

.dgp-dd{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.dgp-dd:focus{
  outline:2px solid rgba(240,201,106,.45);
  outline-offset:2px;
}

.dgp-dd-caret{
  opacity:.75;
  font-weight:900;
}

.dgp-dd-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  min-width:220px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(12,14,18,.92);
  backdrop-filter:blur(10px);
  box-shadow:0 22px 70px rgba(0,0,0,.45);
  z-index:50;
}

.dgp-dd-item{
  width:100%;
  text-align:left;
  padding:10px 10px;
  border-radius:12px;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
}

.dgp-dd-item:hover{
  background:rgba(255,255,255,.07);
}

.dgp-dd-item[aria-selected="true"]{
  background:linear-gradient(135deg, rgba(240,201,106,.26), rgba(133,191,255,.14));
  border:1px solid rgba(240,201,106,.25);
}

.dgp-coverage-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}

.dgp-coverage-grid-rich{
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}

.dgp-coverage-card,
.dgp-business-cta-card{
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));
  border-radius:22px;
  padding:18px;
  box-shadow:var(--dgp-shadow);
}

.dgp-coverage-card{
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}

.dgp-coverage-card h4{
  margin:0 0 6px;
  font-weight:900;
  font-size:14px;
  letter-spacing:-0.02em;
}

.dgp-coverage-card p{
  margin:0;
  color:rgba(244,246,255,.78);
  font-size:12px;
  line-height:1.6;
}

.dgp-business-cta-card{
  display:grid;
  grid-template-columns:1.2fr auto;
  gap:18px;
  align-items:center;
}

.dgp-coverage-card-rich{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:100%;
}

.dgp-coverage-card-top{
  display:flex;
  gap:10px;
  align-items:flex-start;
  justify-content:space-between;
}

.dgp-coverage-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(245,200,75,.10);
  border:1px solid rgba(245,200,75,.24);
  color:#fff1b3;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
}

.dgp-coverage-meta{
  display:grid;
  gap:4px;
}

.dgp-coverage-meta strong{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(244,246,255,.58);
}

.dgp-coverage-meta span{
  font-size:13px;
  line-height:1.6;
  color:rgba(244,246,255,.86);
}

.dgp-coverage-actions{
  margin-top:auto;
  padding-top:2px;
}

.dgp-coverage-panel[hidden]{
  display:none !important;
}

@media (max-width:1180px){
  .dgp-coverage-grid-rich{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:1100px){
  .dgp-coverage-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }

  .dgp-business-cta-card{
    grid-template-columns:1fr;
  }
}

@media (max-width:860px){
  .dgp-coverage-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:640px){
  .dgp-coverage-grid,
  .dgp-coverage-grid-rich{
    grid-template-columns:1fr;
  }

  .dgp-coverage-card-top{
    flex-direction:column;
  }
}

/* ========================================================================
   RICH PROMO / CALENDAR / MEDIA BILLBOARD
   ======================================================================== */
.dgp-promo-marquee{
  overflow:hidden;
  position:relative;
  padding:4px 0 2px;
}

.dgp-promo-marquee__track{
  display:flex;
  align-items:center;
  gap:14px;
  width:max-content;
  animation:dgpPromoRoll 36s linear infinite;
}

.dgp-promo-marquee:hover .dgp-promo-marquee__track{
  animation-play-state:paused;
}

@keyframes dgpPromoRoll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

.dgp-promo-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 26px rgba(0,0,0,.18);
  white-space:nowrap;
}

.dgp-promo-pill__tag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(240,201,106,.14);
  border:1px solid rgba(240,201,106,.24);
  font-size:11px;
  font-weight:900;
  color:#fff0be;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.dgp-promo-pill__title{
  font-weight:800;
  color:#f8fbff;
}

.dgp-event-calendar{
  padding:22px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 55px rgba(0,0,0,.22);
}

.dgp-event-calendar__header{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-end;
  margin:0 0 16px;
}

.dgp-event-calendar__header h3{
  margin:0;
  font-size:clamp(24px,2vw,34px);
}

.dgp-event-calendar__header p{
  margin:0;
  color:var(--dgp-muted);
}

.dgp-event-calendar__grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr));
  gap:10px;
}

.dgp-event-calendar__grid--labels{
  margin-bottom:10px;
}

.dgp-event-calendar__grid--labels span{
  padding:8px 10px;
  text-align:center;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff2bd;
}

.dgp-event-calendar__cell{
  min-height:116px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  display:flex;
  flex-direction:column;
  gap:8px;
}

.dgp-event-calendar__cell.is-empty{
  background:transparent;
  border-style:dashed;
  opacity:.3;
  min-height:60px;
}

.dgp-event-calendar__cell.has-events{
  background:linear-gradient(180deg, rgba(240,201,106,.11), rgba(124,58,237,.08));
  border-color:rgba(240,201,106,.22);
  box-shadow:0 0 0 1px rgba(240,201,106,.08), 0 18px 38px rgba(124,58,237,.10);
}

.dgp-event-calendar__day{
  font-weight:900;
  color:#fff;
}

.dgp-event-calendar__events{
  display:grid;
  gap:6px;
}

.dgp-event-calendar__events a{
  font-size:12px;
  line-height:1.45;
  color:#fff7d1;
}

.dgp-event-calendar__more{
  font-size:11px;
  color:var(--dgp-muted);
}

.dgp-media-billboard{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:16px;
  align-items:center;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}

.dgp-media-billboard__screen{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:#05070a;
}

.dgp-media-billboard__screen video{
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
  opacity:.92;
}

.dgp-media-billboard__copy h3{
  margin:8px 0 8px;
  font-size:22px;
  line-height:1.16;
}

.dgp-media-billboard__copy p{
  margin:0;
  color:rgba(244,246,255,.82);
  line-height:1.72;
}

.dgp-media-billboard__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.dgp-media-billboard__chips span{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  font-size:12px;
  font-weight:800;
  color:#fff0be;
}

@media (max-width:980px){
  .dgp-media-billboard{
    grid-template-columns:1fr;
  }

  .dgp-event-calendar__grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .dgp-event-calendar__grid--labels{
    display:none;
  }
}

@media (max-width:640px){
  .dgp-event-calendar__grid{
    grid-template-columns:1fr;
  }

  .dgp-event-calendar__cell{
    min-height:0;
  }
}

/* ========================================================================
   HUB INTRO / MINI CARD / BULLETS
   ======================================================================== */
.dgp-hub-intro{
  margin:0 0 18px;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}

.dgp-pagehead + .dgp-hub-intro{
  margin-top:10px;
}

.dgp-mini-card{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  border-radius:var(--dgp-radius-lg);
  padding:14px;
  box-shadow:0 14px 40px rgba(0,0,0,.35);
}

.dgp-bullets{
  margin:10px 0 0;
  padding-left:18px;
  color:rgba(244,246,255,.86);
}

.dgp-bullets li{
  margin:6px 0;
}

/* ========================================================================
   PAGINATION
   ======================================================================== */
.dgp-pagination{
  margin:18px 0 8px;
}

.dgp-pagination ul.page-numbers{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
}

.dgp-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  margin:0 6px 6px 0;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(244,246,255,.92);
  text-decoration:none;
  font-weight:800;
}

.dgp-pagination .page-numbers.current{
  border-color:rgba(245,200,75,.40);
  background:rgba(245,200,75,.10);
}

/* ========================================================================
   RATINGS
   ======================================================================== */
.dgp-rating-summary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  color:#eef4ff;
  flex-wrap:wrap;
}

.dgp-rating-stars{
  --percent:calc(var(--rating) / 5 * 100%);
  position:relative;
  display:inline-block;
  line-height:1;
  font-size:15px;
  letter-spacing:2px;
}

.dgp-rating-stars::before{
  content:"★★★★★";
  color:rgba(255,255,255,.2);
}

.dgp-rating-stars::after{
  content:"★★★★★";
  position:absolute;
  left:0;
  top:0;
  width:var(--percent);
  overflow:hidden;
  color:#f0c96a;
}

.dgp-rating-value{
  font-size:14px;
  color:#fff7d1;
}

.dgp-rating-count{
  font-size:13px;
  color:var(--dgp-muted);
}

.dgp-rating-widget{
  margin-top:16px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}

.dgp-rating-widget-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:12px;
}

.dgp-rating-widget h3{
  margin:0 0 4px;
  font-size:18px;
}

.dgp-rating-widget p{
  margin:0;
  color:var(--dgp-muted);
  font-size:14px;
}

.dgp-rating-controls{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.dgp-rating-star{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:#f0c96a;
  border-radius:14px;
  min-width:48px;
  height:48px;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  transition:.18s ease;
}

.dgp-rating-star:hover:not(:disabled),
.dgp-rating-star:focus-visible:not(:disabled){
  transform:translateY(-1px);
  background:rgba(240,201,106,.16);
  border-color:rgba(240,201,106,.35);
  box-shadow:0 0 0 3px rgba(240,201,106,.12);
}

.dgp-rating-star:disabled{
  opacity:.58;
  cursor:not-allowed;
}

.dgp-rating-feedback{
  margin-top:12px;
  color:#dce6f7;
  font-size:14px;
}

/* ========================================================================
   ALERTS
   ======================================================================== */
.dgp-alert{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(10,14,28,.55);
  color:rgba(255,255,255,.9);
}

.dgp-alert-success{
  border-color:rgba(34,197,94,.35);
  background:rgba(34,197,94,.12);
}

.dgp-alert-warn{
  border-color:rgba(245,158,11,.35);
  background:rgba(245,158,11,.12);
}

/* ========================================================================
   FOOTER
   ======================================================================== */
.dgp-footer{
  margin-top:18px;
  border-top:1px solid rgba(255,255,255,.10);
  background:rgba(12,14,18,.70);
  backdrop-filter:blur(16px);
  padding:34px 0;
}

.dgp-footer a{
  color:rgba(244,246,255,.88);
  text-decoration:none;
}

.dgp-footer a:hover{
  color:var(--dgp-gold);
}

.dgp-footer-top{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1.75fr);
  gap:28px;
  align-items:start;
}

.dgp-footer-brand{
  padding:24px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:0 18px 50px rgba(0,0,0,.25);
}

.dgp-footer-text{
  margin:18px 0 0;
  color:rgba(244,246,255,.76);
  font-size:15px;
  line-height:1.8;
}

.dgp-footer-contacts{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:18px;
}

.dgp-footer-contacts .dgp-link{
  width:fit-content;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}

.dgp-footer-widgets{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}

.dgp-footer-col{
  padding:22px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
}

.dgp-widget-title{
  margin:0 0 14px;
  color:#f5f7fa;
  font-size:18px;
}

.dgp-footer-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.dgp-footer-list li a{
  color:rgba(244,246,255,.82);
  font-size:15px;
}

.dgp-footer-bottom{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}

.dgp-footer-copy{
  color:rgba(244,246,255,.68);
  font-size:14px;
}

.dgp-menu-footer{
  gap:10px;
}

.dgp-menu-footer li a{
  font-size:14px;
  color:rgba(244,246,255,.75);
}

@media (max-width:980px){
  .dgp-footer-top,
  .dgp-footer-widgets{
    grid-template-columns:1fr;
  }
}

/* ========================================================================
   CULTURE PAGE — PREMIUM
   ======================================================================== */
.dgp-main-culture-page{
  padding-top:18px;
}

.dgp-culture-page--premium{
  display:block;
  background:
    radial-gradient(960px 420px at 12% 8%, rgba(245,200,75,.10), transparent 62%),
    radial-gradient(980px 440px at 86% 14%, rgba(122,86,255,.12), transparent 62%),
    radial-gradient(800px 420px at 50% 100%, rgba(255,138,61,.08), transparent 66%);
}

.dgp-culture-builder-content{
  padding-top:0;
}

.dgp-culture-builder-shell{
  padding:26px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  box-shadow:0 18px 50px rgba(0,0,0,.2);
}

.dgp-culture-page--premium .dgp-section-head{
  margin-bottom:20px;
}

.dgp-culture-page--premium .dgp-section-head .dgp-sub{
  max-width:64ch;
}

.dgp-culture-hero{
  padding:28px 0 8px;
}

.dgp-culture-hero__inner{
  max-width:var(--dgp-max);
  margin:0 auto;
  padding:clamp(26px,4vw,42px) 18px;
  min-height:700px;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  align-items:end;
  gap:24px;
  border-radius:32px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 34px 100px rgba(0,0,0,.38), 0 0 0 1px rgba(245,200,75,.06), 0 0 58px rgba(245,200,75,.08);
  isolation:isolate;
  background:linear-gradient(180deg, rgba(18,12,6,.24), rgba(7,10,16,.08));
}

.dgp-culture-hero__inner::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--dgp-hero-bg) center/cover no-repeat;
  z-index:-3;
}

.dgp-culture-hero__inner::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(105deg, rgba(18,8,2,.78) 0%, rgba(42,21,6,.54) 26%, rgba(26,14,36,.46) 58%, rgba(7,10,16,.28) 100%),
    radial-gradient(740px 360px at 14% 14%, rgba(255,199,76,.28), transparent 62%),
    radial-gradient(760px 380px at 84% 18%, rgba(130,88,255,.20), transparent 64%),
    radial-gradient(760px 460px at 52% 84%, rgba(255,164,60,.12), transparent 60%) !important;
  z-index:-2;
}

.dgp-culture-hero__copy{
  max-width:760px;
  padding:clamp(18px,3vw,34px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.dgp-culture-hero__copy h1{
  font-size:clamp(38px,5.4vw,68px);
  line-height:.98;
  margin:12px 0 16px;
  letter-spacing:-.05em;
  max-width:10.5ch;
  color:#fff !important;
  text-shadow:0 10px 30px rgba(0,0,0,.28);
}

.dgp-culture-hero__copy .dgp-hero-lead{
  max-width:60ch;
  font-size:17px;
  line-height:1.8;
  color:rgba(248,250,255,.94);
}

.dgp-culture-hero__panel{
  margin:clamp(18px,3vw,30px);
  padding:24px;
  border-radius:24px;
  align-self:end;
  box-shadow:0 18px 50px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.05);
}

.dgp-culture-mini-list{
  list-style:none;
  padding-left:0;
  margin:14px 0 0;
  display:grid;
  gap:10px;
}

.dgp-culture-mini-list li{
  position:relative;
  padding-left:18px;
  color:rgba(244,246,255,.86);
}

.dgp-culture-mini-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(135deg, #f5c84b, #84cc16);
  box-shadow:0 0 0 4px rgba(245,200,75,.10);
}

.dgp-culture-intro__grid,
.dgp-culture-feature-band__grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:26px;
  align-items:center;
}

.dgp-culture-feature-band__grid{
  padding:18px;
  border-radius:32px;
  background:linear-gradient(135deg, rgba(124,58,237,.10), rgba(212,166,58,.07) 45%, rgba(255,255,255,.03));
  border:1px solid rgba(255,215,96,.14) !important;
  box-shadow:0 22px 68px rgba(0,0,0,.28), 0 10px 30px rgba(245,200,75,.06);
}

.dgp-culture-intro__media,
.dgp-culture-feature-band__media{
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 70px rgba(0,0,0,.28);
}

.dgp-culture-intro__media img,
.dgp-culture-feature-band__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:360px;
}

.dgp-culture-intro__copy p,
.dgp-culture-feature-band__copy p,
.dgp-culture-region-card p,
.dgp-culture-path-card p,
.dgp-culture-video-card__body p,
.dgp-culture-media-note p,
.dgp-culture-event-card p{
  font-size:15px;
  line-height:1.82;
  color:rgba(244,246,255,.88);
}

.dgp-culture-stat-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}

.dgp-culture-stat{
  padding:16px 18px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,215,96,.10), rgba(122,86,255,.06));
  border:1px solid rgba(255,215,96,.16);
}

.dgp-culture-stat strong{
  display:block;
  font-size:28px;
  line-height:1;
  color:#ffe8a3;
  text-shadow:0 4px 18px rgba(245,200,75,.14);
}

.dgp-culture-stat span{
  display:block;
  margin-top:6px;
  color:rgba(244,246,255,.84);
  font-size:13px;
}

.dgp-culture-region-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:16px;
}

.dgp-culture-path-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}

.dgp-culture-region-card,
.dgp-culture-path-card,
.dgp-culture-event-card,
.dgp-culture-media-note,
.dgp-culture-video-card,
.dgp-culture-story-card,
.dgp-culture-gallery-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(245,200,75,.14);
  background:linear-gradient(180deg, rgba(255,214,120,.08), rgba(255,255,255,.028));
  box-shadow:0 22px 70px rgba(0,0,0,.28), 0 0 0 1px rgba(255,199,76,.03), inset 0 1px 0 rgba(255,255,255,.05);
}

.dgp-culture-region-card::before,
.dgp-culture-path-card::before,
.dgp-culture-event-card::before,
.dgp-culture-video-card::before,
.dgp-culture-story-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.035), transparent 40%);
  pointer-events:none;
}

.dgp-culture-region-card,
.dgp-culture-path-card,
.dgp-culture-event-card{
  padding:24px;
  border-radius:24px;
}

.dgp-culture-region-card:hover,
.dgp-culture-path-card:hover,
.dgp-culture-event-card:hover,
.dgp-culture-story-card:hover,
.dgp-culture-video-card:hover,
.dgp-culture-gallery-card:hover{
  transform:translateY(-3px);
  border-color:rgba(245,200,75,.24);
  box-shadow:0 28px 80px rgba(0,0,0,.34), 0 0 32px rgba(245,200,75,.12);
}

.dgp-culture-region-card h3,
.dgp-culture-path-card h3,
.dgp-culture-story-card__body h3,
.dgp-culture-video-card__body h3{
  color:#fff3c4;
  text-shadow:0 6px 18px rgba(0,0,0,.22);
}

.dgp-culture-story-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:24px;
}

.dgp-culture-story-card{
  display:grid;
  grid-template-columns:minmax(220px,.42fr) minmax(0,.58fr);
  border-radius:30px;
}

.dgp-culture-story-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:100%;
}

.dgp-culture-story-card__body{
  padding:26px;
  background:linear-gradient(180deg, rgba(9,14,20,.42), rgba(9,14,20,.18));
}

.dgp-culture-story-card__body h3{
  font-size:26px;
  line-height:1.15;
  margin:10px 0 14px;
}

.dgp-culture-story-card__body > p{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.84;
  color:rgba(244,246,255,.9);
}

.dgp-readmore{
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  padding-top:14px;
}

.dgp-readmore summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(31,17,7,.82), rgba(41,18,54,.62));
  border:1px solid rgba(245,200,75,.18);
  color:#fff2c7;
  font-weight:800;
  font-size:13px;
}

.dgp-readmore summary::-webkit-details-marker{
  display:none;
}

.dgp-readmore summary::after{
  content:"+";
  font-size:18px;
  line-height:1;
}

.dgp-readmore[open] summary::after{
  content:"−";
}

.dgp-readmore p{
  margin:14px 0 0;
  color:rgba(244,246,255,.84);
  font-size:15px;
  line-height:1.8;
}

.dgp-culture-gallery-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr .75fr;
  gap:16px;
}

.dgp-culture-gallery-card{
  min-height:220px;
  border-radius:24px;
}

.dgp-culture-gallery-card.is-featured{
  grid-row:span 2;
  min-height:456px;
}

.dgp-culture-gallery-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}

.dgp-culture-gallery-card:hover img{
  transform:scale(1.04);
}

.dgp-culture-gallery-card figcaption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(31,17,7,.82), rgba(41,18,54,.62));
  border:1px solid rgba(245,200,75,.18);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:13px;
  font-weight:800;
}

.dgp-culture-media-vault__grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:24px;
  align-items:stretch;
}

.dgp-culture-video-card{
  display:grid;
  grid-template-rows:auto 1fr;
  border-radius:26px;
}

.dgp-culture-video-card__media{
  position:relative;
  background:#000;
}

.dgp-culture-video-card__media video{
  display:block;
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
}

.dgp-culture-video-card__media::after{
  content:"Featured video";
  position:absolute;
  top:18px;
  left:18px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(8,12,18,.72);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.dgp-culture-video-card__body{
  padding:24px;
}

.dgp-culture-media-stack{
  display:grid;
  gap:16px;
}

.dgp-culture-media-note{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:16px;
  align-items:center;
  padding:14px;
  border-radius:26px;
}

.dgp-culture-media-note img{
  display:block;
  width:100%;
  height:110px;
  object-fit:cover;
  border-radius:18px;
}

.dgp-culture-media-note h3{
  margin:6px 0 0;
}

.dgp-culture-media-note p{
  margin:8px 0 0;
}

.dgp-culture-events .dgp-grid-2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}

.dgp-culture-event-card p{
  min-height:96px;
}

.dgp-culture-event-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.dgp-culture-event-meta span{
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  font-size:12px;
  font-weight:800;
  color:#fff7d1;
}

.dgp-culture-cta__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:28px;
  border-radius:30px;
  border:1px solid rgba(255,215,96,.14) !important;
  background:linear-gradient(135deg, rgba(124,58,237,.18), rgba(212,166,58,.12) 50%, rgba(255,255,255,.05));
  box-shadow:0 22px 68px rgba(0,0,0,.28), 0 10px 30px rgba(245,200,75,.06);
}

/* culture rails */
.dgp-culture-rail{
  position:relative;
}

.dgp-culture-rail__viewport{
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:rgba(245,200,75,.42) rgba(255,255,255,.06);
  padding-bottom:10px;
}

.dgp-culture-rail__viewport::-webkit-scrollbar{
  height:10px;
}

.dgp-culture-rail__viewport::-webkit-scrollbar-track{
  background:rgba(255,255,255,.05);
  border-radius:999px;
}

.dgp-culture-rail__viewport::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg, rgba(255,208,92,.98), rgba(142,101,255,.80));
  border-radius:999px;
}

.dgp-culture-rail__track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:18px !important;
  width:max-content;
  min-width:100%;
}

.dgp-culture-rail__track > *{
  scroll-snap-align:start;
  flex:0 0 clamp(250px, 26vw, 340px);
}

.dgp-culture-story-grid.dgp-culture-rail__track > *{
  flex-basis:clamp(320px, 40vw, 560px);
}

.dgp-culture-rail__btn{
  position:absolute;
  top:-72px;
  right:0;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg, rgba(255,208,92,.95), rgba(142,101,255,.88));
  color:#110d07;
  font-weight:900;
  font-size:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 16px 44px rgba(245,200,75,.20), 0 0 24px rgba(142,101,255,.12);
}

.dgp-culture-rail__btn:hover{
  transform:translateY(-1px);
}

.dgp-culture-rail__btn--prev{
  right:54px;
}

.dgp-culture-story-grid .dgp-culture-story-card,
.dgp-culture-region-grid .dgp-culture-region-card,
.dgp-culture-path-grid .dgp-culture-path-card{
  height:100%;
}

@media (max-width:1200px){
  .dgp-culture-region-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .dgp-culture-path-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .dgp-culture-gallery-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .dgp-culture-gallery-card.is-featured{ grid-row:auto; min-height:280px; }
  .dgp-culture-media-vault__grid{ grid-template-columns:1fr; }
}

@media (max-width:1100px){
  .dgp-culture-story-grid,
  .dgp-culture-events .dgp-grid-2,
  .dgp-culture-intro__grid,
  .dgp-culture-feature-band__grid,
  .dgp-culture-hero__inner{
    grid-template-columns:1fr;
  }

  .dgp-culture-story-card{
    grid-template-columns:1fr;
  }
}

@media (max-width:980px){
  .dgp-culture-hero__inner{
    grid-template-columns:1fr;
    min-height:0;
  }

  .dgp-culture-hero__copy h1{
    max-width:none;
  }

  .dgp-culture-rail__btn{
    display:none;
  }
}

@media (max-width:767px){
  .dgp-culture-hero__inner{
    min-height:0;
    gap:16px;
    border-radius:24px;
  }

  .dgp-culture-hero__copy{
    padding:16px;
  }

  .dgp-culture-hero__copy h1{
    font-size:clamp(30px, 10vw, 42px);
    max-width:none;
  }

  .dgp-culture-hero__copy .dgp-hero-lead{
    font-size:15px;
    line-height:1.72;
  }

  .dgp-culture-hero__panel{
    margin:0 16px 16px;
    padding:18px;
    border-radius:20px;
  }

  .dgp-culture-intro__media img,
  .dgp-culture-feature-band__media img{
    min-height:240px;
  }

  .dgp-culture-stat-grid,
  .dgp-culture-gallery-grid,
  .dgp-culture-region-grid,
  .dgp-culture-path-grid,
  .dgp-culture-story-grid{
    grid-template-columns:1fr;
  }

  .dgp-culture-gallery-card,
  .dgp-culture-gallery-card.is-featured{
    min-height:220px;
  }

  .dgp-culture-story-card__body{
    padding:20px;
  }

  .dgp-culture-media-note{
    grid-template-columns:1fr;
  }

  .dgp-culture-media-note img{
    height:180px;
  }

  .dgp-culture-video-card__media video{
    min-height:240px;
  }

  .dgp-culture-cta__inner{
    padding:22px;
    align-items:flex-start;
    flex-direction:column;
  }

  .dgp-readmore summary{
    width:100%;
    justify-content:center;
  }
}

/* ========================================================================
   ABOUT / GENERIC PREMIUM BLOCKS
   ======================================================================== */
.dgp-about-premium{
  display:grid;
  gap:22px;
}

.dgp-about-premium .dgp-card{
  padding:24px;
}

.dgp-about-story-grid .dgp-card{
  min-height:100%;
}

/* ========================================================================
   ELEMENTOR WIDTH NORMALIZATION
   ======================================================================== */
.elementor-section .elementor-container,
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con,
.e-con > .e-con-inner,
.elementor-container{
  max-width:var(--dgp-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.elementor-widget-wrap,
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated{
  padding-left:18px !important;
  padding-right:18px !important;
}

/* ========================================================================
   TEMPLATE SHADOW OVERRIDES BY POST TYPE
   ======================================================================== */
.dgp-main-events-page .dgp-card,
.post-type-archive-dgp_event .dgp-card{
  box-shadow:0 18px 52px rgba(124,58,237,.18), 0 0 0 1px rgba(240,201,106,.05);
}

.post-type-archive-dgp_venue .dgp-card,
.post-type-archive-dgp_hangout .dgp-card{
  box-shadow:0 18px 52px rgba(255,138,61,.16), 0 0 0 1px rgba(184,255,71,.05);
}

.post-type-archive-dgp_listing .dgp-card,
.page-template-page-directory .dgp-card{
  box-shadow:0 18px 52px rgba(184,255,71,.12), 0 0 0 1px rgba(240,201,106,.06);
}

/* ========================================================================
   SKIP LINK
   ======================================================================== */
.dgp-skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

.dgp-skip-link:focus{
  position:fixed;
  left:18px;
  top:18px;
  width:auto;
  height:auto;
  padding:10px 12px;
  background:rgba(245,200,75,.95);
  color:#0b0b12;
  border-radius:12px;
  z-index:99999;
}


/* --------------------------------------------------------------------------
   v33 culture page rebuild — fixed grids, stronger Rivers-first editorial flow
   -------------------------------------------------------------------------- */
.dgp-culture-state-grid,
.dgp-culture-path-grid-fixed{
  display:grid;
  gap:20px;
}
.dgp-culture-state-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.dgp-culture-path-grid-fixed{grid-template-columns:repeat(3,minmax(0,1fr));}

.dgp-culture-state-card,
.dgp-culture-path-card,
.dgp-culture-event-card{
  min-height:100%;
  padding:24px;
  border-radius:24px;
  border:1px solid rgba(245,200,75,.14);
  background:linear-gradient(180deg, rgba(255,214,120,.07), rgba(255,255,255,.028));
  box-shadow:0 20px 60px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
}
.dgp-culture-state-card p,
.dgp-culture-path-card p,
.dgp-culture-event-card p{margin:12px 0 0;color:rgba(244,246,255,.86);line-height:1.78;}

.dgp-culture-story-grid--rivers{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.dgp-culture-story-grid--regional{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.dgp-culture-story-card--compact{grid-template-columns:1fr;}
.dgp-culture-story-card--compact .dgp-culture-story-card__media img{min-height:240px;}

.dgp-culture-hero-tags--states span{font-size:12px;}
.dgp-culture-events--rivers .dgp-grid,
.dgp-culture-events .dgp-grid{align-items:stretch;}

@media (max-width:1200px){
  .dgp-culture-state-grid,
  .dgp-culture-path-grid-fixed,
  .dgp-culture-story-grid--regional{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:980px){
  .dgp-culture-story-grid--rivers,
  .dgp-culture-state-grid,
  .dgp-culture-path-grid-fixed,
  .dgp-culture-story-grid--regional{grid-template-columns:1fr;}
}


/* --------------------------------------------------------------------------
   v36 launch media scaling + editorial grids
   -------------------------------------------------------------------------- */
.dgp-hero-media img,
.dgp-page-fallback-hero__inner img,
.dgp-culture-hero__inner img,
.dgp-home-hero img,
.dgp-page-hero img{
  width:100%;
  height:clamp(340px, 52vw, 520px);
  object-fit:cover;
}
.dgp-culture-gallery-grid,
.dgp-culture-state-grid,
.dgp-culture-story-grid,
.dgp-culture-media-grid{
  display:grid;
  gap:18px;
}
.dgp-culture-state-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.dgp-culture-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.dgp-culture-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.dgp-culture-story-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.dgp-culture-gallery-grid img,
.dgp-culture-media-grid img{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  display:block;
}
.dgp-culture-story-grid img,
.dgp-culture-state-grid img{
  width:100%;
  height:280px;
  object-fit:cover;
  display:block;
}
.dgp-multimedia-feature video,
.dgp-media-billboard__screen video,
.dgp-culture-video-card__media video,
iframe[src*="youtube.com"],
iframe[src*="vimeo.com"]{
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  display:block;
}
.dgp-editorial-card,
.dgp-state-card,
.dgp-media-card,
.dgp-watch-card{
  height:100%;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:0 18px 54px rgba(0,0,0,.24);
  overflow:hidden;
}
.dgp-editorial-card__body,
.dgp-state-card__body,
.dgp-media-card__body,
.dgp-watch-card__body{padding:20px;}
.dgp-editorial-card h3,
.dgp-state-card h3,
.dgp-media-card h3,
.dgp-watch-card h3{margin:10px 0 10px;font-size:22px;line-height:1.2;color:#f7f8fb;}
.dgp-editorial-card p,
.dgp-state-card p,
.dgp-media-card p,
.dgp-watch-card p{margin:0 0 12px;color:rgba(244,246,255,.84);line-height:1.72;}
.dgp-state-card__meta,
.dgp-watch-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.dgp-state-card__meta span,
.dgp-watch-card__meta span{display:inline-flex;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:12px;color:#fff1bc;}
@media (max-width: 1100px){
  .dgp-culture-state-grid,
  .dgp-culture-gallery-grid,
  .dgp-culture-media-grid,
  .dgp-culture-story-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 767px){
  .dgp-culture-state-grid,
  .dgp-culture-gallery-grid,
  .dgp-culture-media-grid,
  .dgp-culture-story-grid{grid-template-columns:1fr;}
  .dgp-culture-story-grid img,
  .dgp-culture-state-grid img{height:220px;}
}


/* v37 vibrant editorial upgrade */
.dgp-vibrant-page{background:radial-gradient(900px 380px at 10% 0%, rgba(255,168,60,.10), transparent 60%),radial-gradient(820px 360px at 100% 10%, rgba(137,87,255,.14), transparent 60%),radial-gradient(780px 360px at 50% 100%, rgba(57,217,138,.08), transparent 65%);}
.dgp-vibrant-hero .dgp-culture-hero__inner,.dgp-vibrant-hero .dgp-page-fallback-hero__inner{box-shadow:0 34px 100px rgba(0,0,0,.42),0 0 0 1px rgba(240,201,106,.10),0 0 48px rgba(240,201,106,.08)!important;}
.dgp-vibrant-hero .dgp-culture-hero__inner::after,.dgp-vibrant-hero .dgp-page-fallback-hero__inner::after{background:linear-gradient(110deg, rgba(17,8,2,.82) 0%, rgba(22,10,28,.58) 45%, rgba(7,10,16,.32) 100%),radial-gradient(720px 340px at 14% 14%, rgba(255,196,74,.25), transparent 62%),radial-gradient(700px 340px at 86% 18%, rgba(138,97,255,.18), transparent 64%),radial-gradient(760px 420px at 52% 84%, rgba(255,109,56,.10), transparent 60%) !important;}
.dgp-culture-hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.dgp-culture-hero__chips span,.dgp-culture-region-card__tag,.dgp-story-note{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);color:#fff2bd;font-size:12px;line-height:1.4}
.dgp-story-note{border-radius:16px;margin-top:14px;color:#e8eef6;background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));}
.dgp-culture-grid-vibrant .dgp-culture-region-card,.dgp-culture-grid-vibrant .dgp-culture-path-card,.dgp-culture-story-grid--feature .dgp-culture-story-card,.dgp-culture-media-grid--stories .dgp-editorial-card,.dgp-media-card,.dgp-watch-card{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}.dgp-culture-grid-vibrant .dgp-culture-region-card:hover,.dgp-culture-grid-vibrant .dgp-culture-path-card:hover,.dgp-culture-story-grid--feature .dgp-culture-story-card:hover,.dgp-culture-media-grid--stories .dgp-editorial-card:hover,.dgp-media-card:hover,.dgp-watch-card:hover{transform:translateY(-4px);box-shadow:0 28px 80px rgba(0,0,0,.34),0 0 28px rgba(255,196,74,.10);border-color:rgba(240,201,106,.24)}
.dgp-culture-region-card__media,.dgp-editorial-card>img,.dgp-media-card>img{overflow:hidden;border-radius:22px 22px 0 0}.dgp-culture-region-card__media img,.dgp-editorial-card>img,.dgp-media-card>img{display:block;width:100%;height:220px;object-fit:cover;transform:scale(1.01);transition:transform .5s ease, filter .3s ease;filter:saturate(1.08) contrast(1.04)}.dgp-culture-region-card:hover img,.dgp-editorial-card:hover img,.dgp-media-card:hover img,.dgp-culture-story-card:hover img{transform:scale(1.05)}
.dgp-culture-region-card{padding:0!important;display:flex;flex-direction:column}.dgp-culture-region-card__body{padding:18px 18px 20px}.dgp-culture-region-card__body p{margin:10px 0 12px;line-height:1.74}.dgp-culture-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dgp-culture-story-grid--feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dgp-culture-media-grid--stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dgp-editorial-card,.dgp-media-card,.dgp-watch-card{border:1px solid rgba(245,200,75,.14);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));border-radius:26px;overflow:hidden;box-shadow:0 18px 55px rgba(0,0,0,.24)}.dgp-editorial-card__body,.dgp-media-card__body,.dgp-watch-card__body{padding:20px}.dgp-editorial-card h3,.dgp-media-card h3,.dgp-watch-card h3{margin:8px 0 10px;color:#fff3c4;font-size:22px;line-height:1.16}.dgp-watch-card__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.dgp-watch-card__meta span{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:12px;color:#fff0be}
.dgp-reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease, transform .65s ease}.dgp-reveal.is-visible{opacity:1;transform:none}.dgp-media-billboard__screen::after{content:'Now playing';position:absolute;left:16px;top:16px;padding:7px 10px;border-radius:999px;background:rgba(8,12,18,.78);border:1px solid rgba(255,255,255,.10);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff2bd}
@media (max-width:1100px){.dgp-culture-region-grid,.dgp-culture-media-grid--stories,.dgp-culture-story-grid--feature{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:767px){.dgp-culture-region-grid,.dgp-culture-media-grid--stories,.dgp-culture-story-grid--feature{grid-template-columns:1fr}.dgp-culture-region-card__media img,.dgp-editorial-card>img,.dgp-media-card>img{height:210px}}
