/* Dashport hero video: sits exactly over the hero image (same box as the image inside the frame padding). */
.dp-hero__frame{--dp-hero-pad:clamp(10px,.9vw,16px)}
.dp-hero__video{position:absolute;top:var(--dp-hero-pad);right:var(--dp-hero-pad);bottom:var(--dp-hero-pad);left:var(--dp-hero-pad);width:calc(100% - 2 * var(--dp-hero-pad));height:calc(100% - 2 * var(--dp-hero-pad));object-fit:cover;background:#000;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s;pointer-events:none}
.dp-hero__video[hidden]{display:none}
.dp-hero__frame.is-playing .dp-hero__video{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .7s ease,visibility 0s}
.dp-hero__play{position:absolute;top:50%;left:50%;z-index:2;width:84px;height:84px;margin:-42px 0 0 -42px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--dp-gold);color:#181818;border:0;border-radius:0;cursor:pointer;opacity:0;transition:opacity .4s ease,background .2s ease}
.dp-hero__play[hidden]{display:none}
.dp-hero__play.is-shown{opacity:1}
.dp-hero__play:hover{background:#FFFFFF}
.dp-hero__play:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px;box-shadow:0 0 0 6px #181818}
.dp-hero__play svg{width:32px;height:32px;display:block;margin-left:4px;fill:currentColor}
@media (max-width:620px){.dp-hero__play{width:64px;height:64px;margin:-32px 0 0 -32px}.dp-hero__play svg{width:24px;height:24px}}
@media (prefers-reduced-motion:reduce){.dp-hero__video,.dp-hero__play{transition:none}}

/* Hero layout (owner option A): title left and button right on one row, video at the full content width under a 1 px hairline. */
/* The page sets 120px with !important on every section; the hero alone takes 80px by owner request. */
.dp-hero#hero-primary{padding-top:80px !important}
.dp-hero__top{grid-template-columns:1fr;gap:0}
.dp-hero__title{max-width:none;font-size:clamp(30px,3.9vw,60px)}
.dp-hero__cta{margin-top:20px;gap:0}
.dp-hero__stage{margin-top:32px}
.dp-hero__frame{--dp-hero-pad:0px;padding:0;background:var(--dp-ink);border:1px solid rgba(255,255,255,.16);box-shadow:none}
@media (min-width:901px){
  .dp-hero__top{grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:center}
  .dp-hero__title{font-size:clamp(26px,3.2vw,46px)}
  .dp-hero__cta{margin-top:0}
}
