/* homepage hero video (generated by build_site.py) */
.hero-video{background:#13291f}
.hero-video .hero-poster{position:absolute;inset:0}
.hero-video .hero-poster img{display:block}
.hero-bg-video{opacity:0;transition:opacity .6s ease;background:transparent}
.hero-video.is-playing .hero-bg-video{opacity:1}
/* lighter scrim: dark only behind the text block (soft ellipse), a light left wash, and a bottom fade for the badges.
   Measured worst-case white-text contrast over all loop frames: >=5.4:1 desktop, >=5.1:1 mobile (WCAG AA). */
.hero-video .hero-shade{background:radial-gradient(ellipse 52% 78% at 37% 50%,rgba(19,42,32,.86) 0%,rgba(19,42,32,.8) 55%,rgba(19,42,32,0) 100%),linear-gradient(90deg,rgba(19,42,32,.5) 0%,rgba(19,42,32,.25) 55%,rgba(19,42,32,0) 85%),linear-gradient(0deg,rgba(19,42,32,.45) 0%,rgba(19,42,32,0) 30%)}
.hero-video .eyebrow{color:#eef3e8}
.hero-video .hero-inner h1,.hero-video .hero-sub,.hero-video .lead{text-shadow:0 1px 14px rgba(0,0,0,.45)}
.hero h1 .hero-sub{display:block;font-weight:500;margin:.45em 0 0;line-height:1.35}
.hero .rating:hover{background:rgba(251,248,242,.14)}
.hero .rating{cursor:default}
.tour-play{display:inline-flex;align-items:center;gap:12px;background:none;border:0;color:#fff;font:inherit;font-weight:600;cursor:pointer;padding:4px 10px 4px 4px;border-radius:999px}
.tour-play-icon{position:relative;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 4px 18px rgba(0,0,0,.35);flex:none;transition:transform .2s}
.tour-play-icon:after{content:"";position:absolute;left:21px;top:16px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #1f3d2e}
.tour-play:hover .tour-play-icon{transform:scale(1.08)}
.tour-play small{font-weight:400;opacity:.85;margin-left:4px}
.tour-play:focus-visible,.hero-pause:focus-visible,.tour-close:focus-visible{outline:3px solid #f3d27a;outline-offset:3px}
.hero-pause{position:absolute;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(19,42,32,.55);cursor:pointer;z-index:2}
.hero-pause[hidden]{display:none}
.hero-pause-icon{position:absolute;left:15px;top:14px;width:14px;height:16px;border-left:4px solid #fff;border-right:4px solid #fff;box-sizing:border-box}
.hero-pause[aria-pressed="true"] .hero-pause-icon{left:17px;width:0;height:0;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent #fff}
.tour-dialog{padding:0;border:0;background:transparent;max-width:min(1100px,94vw);width:100%;overflow:visible}
.tour-dialog::backdrop{background:rgba(8,18,13,.88)}
.tour-frame{position:relative}
.tour-video{display:block;width:100%;height:auto;max-height:80vh;background:#000;border-radius:10px}
.tour-close{position:absolute;right:-6px;top:-50px;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:#1f3d2e;font-size:28px;line-height:1;cursor:pointer}
.tour-caption{color:#e9e4d6;font-size:.85rem;text-align:center;margin:10px 0 0}
@media (max-width:760px){
  .hero-video{min-height:92vh;align-items:flex-end}
  .hero-video .hero-shade{background:linear-gradient(180deg,rgba(19,42,32,.1) 0%,rgba(19,42,32,.66) 9%,rgba(19,42,32,.56) 60%,rgba(19,42,32,.68) 100%)}
  .hero-pause{top:14px;bottom:auto;right:14px}
  .tour-close{right:0}
}
@media (prefers-reduced-motion:reduce){.hero-bg-video{display:none}.tour-play-icon{transition:none}}
