/* Course tour page (2026-11-10). Ported from the v2 comp (tw.css, 'course tour' block). */
.vframe{position:relative;aspect-ratio:16/9;background:#000;border-radius:4px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.vframe video,.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.vframe__btn{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:none;cursor:pointer}
.vframe__btn img{width:100%;height:100%;object-fit:cover}
.vframe__len{position:absolute;right:14px;bottom:14px;background:rgba(0,25,17,.82);color:#fff;font-family:var(--ui);font-weight:700;
  font-size:13px;letter-spacing:1.4px;padding:6px 10px;border-radius:2px}
.vplay{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:rgba(239,238,225,.94);
  display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .18s ease}
.vplay svg{width:34px;height:34px;fill:var(--green-dark);margin-left:4px}
.vframe__btn:hover .vplay,.hcard__btn:hover .vplay,.hcard__btn:focus-visible .vplay{transform:scale(1.08)}
.cstats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:28px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden}
.cstats li{background:var(--green-dark);padding:20px 12px;text-align:center}
.cstats b{display:block;font-family:var(--head);font-size:30px;color:#fff;line-height:1.1}
.cstats span{font-family:var(--ui);font-size:11.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--sage)}
.nine+.nine{margin-top:44px}
.nine__label{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:2.2px;text-transform:uppercase;color:var(--green-mid);
  margin-bottom:16px;padding-bottom:10px;border-bottom:var(--hairline)}
.hgrid,.egrid{list-style:none;display:grid;gap:18px}
.hgrid{grid-template-columns:repeat(3,1fr)}
.egrid{grid-template-columns:repeat(2,1fr)}
.hcard__btn{display:flex;flex-direction:column;width:100%;text-align:left;border:var(--hairline);background:#fff;padding:0;cursor:pointer;
  font:inherit;color:inherit;border-radius:2px;overflow:hidden;transition:box-shadow .18s ease,transform .18s ease}
.section--cream .hcard__btn{background:var(--paper)}
.hcard__btn:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}
.hcard__btn:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.hcard__media{position:relative;display:block;aspect-ratio:16/9;background:var(--green-dark)}
.hcard__media img{width:100%;height:100%;object-fit:cover}
.hcard__media .vplay{width:54px;height:54px;margin:-27px 0 0 -27px}
.hcard__media .vplay svg{width:24px;height:24px;margin-left:3px}
.hcard__sig{position:absolute;left:10px;top:10px;background:var(--cream);color:var(--green-dark);font-family:var(--ui);font-weight:700;
  font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;padding:5px 9px;border-radius:2px}
.hcard__meta{display:flex;flex-direction:column;gap:2px;padding:14px 16px 16px;min-height:44px}
.hcard__meta b{font-family:var(--head);font-size:22px;color:var(--green-dark);line-height:1.15}
.hcard__meta span{font-size:15.5px;color:var(--muted)}
.vmodal{border:0;padding:0;background:transparent;max-width:min(1100px,calc(100vw - 32px));width:100%;margin:auto}
.vmodal::backdrop{background:rgba(0,20,13,.86)}
.vmodal__box{background:var(--green-dark);border-radius:4px;overflow:hidden}
.vmodal__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px}
.vmodal__title{font-family:var(--head);font-size:22px;color:#fff}
.vmodal__close{width:44px;height:44px;border:0;background:none;color:#fff;font-size:32px;line-height:1;cursor:pointer}
.vmodal__player{position:relative;aspect-ratio:16/9;background:#000}
.vmodal__player video,.vmodal__player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vmodal__nav{display:flex;justify-content:space-between;gap:10px;padding:10px}
.vmodal__nav button{min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.28);background:none;color:#fff;cursor:pointer;
  font-family:var(--ui);font-weight:700;font-size:12.5px;letter-spacing:1.8px;text-transform:uppercase;border-radius:2px}
.vmodal__nav button:hover{background:rgba(255,255,255,.08)}
.vmodal__nav button[hidden]{display:none}
.vmodal__next{margin-left:auto}
@media (max-width:1080px){.hgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){
  .cstats{grid-template-columns:repeat(2,1fr)}
  .cstats b{font-size:24px}
  .hgrid,.egrid{grid-template-columns:1fr 1fr;gap:12px}
  .hcard__meta{padding:10px 12px 12px}
  .hcard__meta b{font-size:18px}
  .hcard__meta span{font-size:13.5px}
  .vplay{width:60px;height:60px;margin:-30px 0 0 -30px}
  .vmodal{max-width:100vw}
  .vmodal__title{font-size:18px}
}
@media (max-width:420px){.egrid{grid-template-columns:1fr}}
