/* DCA 2.14.0 | Visual foundation | scoped, low-specificity defaults.
   Avoid !important: individual Elementor style controls must always be able to win. */
:root {
  --dca-polish-line: color-mix(in srgb, var(--dca-text, #f5f3ee) 13%, transparent);
  --dca-polish-lift: 0 18px 44px rgba(0, 0, 0, .18);
  --dca-polish-duration: 220ms;
}
/* The section rhythm matches the cinematic DCA website, without redefining branding. */
:where(.dca-section, .dca-showreel, .dca-statement) {
  text-wrap: pretty;
}
:where(.dca-section-head, .dca-highlights__head) {
  align-items: end;
  gap: clamp(18px, 3vw, 42px);
}
:where(.dca-section-head h2, .dca-showreel h2, .dca-statement h2, .dca-cta h2) {
  text-wrap: balance;
  overflow-wrap: anywhere;
}
:where(.dca-section-head p, .dca-highlights__intro) {
  line-height: 1.65;
  max-width: 64ch;
}
/* A coherent card language: restrained borders, image-first hierarchy, accessible focus. */
:where(.dca-highlight-card, .dca-event-ui-card, .dca-event-card, .dca-person,
  .dca-sponsor--interactive, .dca-sponsor-spotlight, .dca-faq--cards .dca-faq__item) {
  min-width: 0;
  border-color: var(--dca-polish-line);
  transition: border-color var(--dca-polish-duration) ease,
              transform var(--dca-polish-duration) ease,
              box-shadow var(--dca-polish-duration) ease;
}
@media (hover: hover) and (pointer: fine) {
  :where(.dca-highlight-card, .dca-event-ui-card, .dca-event-card, .dca-person,
    .dca-sponsor--interactive, .dca-sponsor-spotlight):hover {
    border-color: color-mix(in srgb, var(--dca-orange, #e96a2c) 55%, var(--dca-polish-line));
    transform: translateY(-3px);
    box-shadow: var(--dca-polish-lift);
  }
}
:where(.dca-highlight-card, .dca-event-ui-card, .dca-event-card, .dca-person,
  .dca-sponsor--interactive, .dca-sponsor-spotlight):focus-within {
  border-color: var(--dca-orange, #e96a2c);
}
:where(.dca-highlight-card h3, .dca-event-ui-card h3, .dca-event-card h3,
  .dca-person h3, .dca-sponsor-spotlight h3) {
  text-wrap: balance;
  overflow-wrap: anywhere;
  line-height: 1.17;
  letter-spacing: -.025em;
}
:where(.dca-highlight-card p, .dca-event-ui-card p, .dca-person__bio) {
  line-height: 1.6;
  overflow-wrap: anywhere;
}
/* Image treatment: never crop sponsor logos; make photographic widgets consistent. */
:where(.dca-highlight-card__media, .dca-event-ui-card__media, .dca-person__image,
  .dca-gallery-card) {
  overflow: hidden;
}
:where(.dca-highlight-card__media img, .dca-event-ui-card__media img,
  .dca-person__image img, .dca-gallery-card img) {
  display: block;
  max-width: 100%;
  transition: transform 450ms cubic-bezier(.2,.7,.2,1);
}
@media (hover: hover) and (pointer: fine) {
  :where(.dca-highlight-card, .dca-event-ui-card, .dca-person, .dca-gallery-card):hover
  :where(.dca-highlight-card__media img, .dca-event-ui-card__media img,
    .dca-person__image img, .dca-gallery-card img) {
    transform: scale(1.025);
  }
}
:where(.dca-sponsor img, .dca-sponsor__logo img, .dca-sponsor-spotlight__logo img) {
  object-fit: contain;
  max-width: 100%;
}
/* Repeated controls use one clear family of interaction feedback. */
:where(.dca-highlights__filters button, .dca-filter button, .dca-gallery-pro__filters button,
  .dca-faq__item button) { transition: background-color var(--dca-polish-duration) ease,
    color var(--dca-polish-duration) ease, border-color var(--dca-polish-duration) ease; }
:where(.dca-section a, .dca-section button, .dca-cta a, .dca-cta button,
  .dca-gallery-pro a, .dca-gallery-pro button):focus-visible {
  outline: 2px solid var(--dca-orange, #e96a2c);
  outline-offset: 3px;
}
/* Common layout resilience, without overriding explicit Elementor widths. */
:where(.dca-event-grid, .dca-highlights__grid, .dca-people-grid, .dca-sponsor-grid,
  .dca-gallery-pro__grid) > * { min-width: 0; }
@media (max-width: 767px) {
  :where(.dca-section-head, .dca-highlights__head) { align-items: flex-start; }
  :where(.dca-section h2, .dca-cta h2, .dca-statement h2) {
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
  :where(.dca-btn, .dca-btn--ghost) { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  :where(.dca-highlight-card, .dca-event-ui-card, .dca-event-card, .dca-person,
    .dca-sponsor--interactive, .dca-sponsor-spotlight,
    .dca-highlight-card__media img, .dca-event-ui-card__media img,
    .dca-person__image img, .dca-gallery-card img) {
    transition: none;
    transform: none;
  }
}
