/* The "Watch" block — includes/reel.php renders it, assets/js/reel.js runs it.
   Copy beside a 16:9 still with a play badge; the film opens in the shared
   overlay (#pmgReelOverlay) and is fetched only on click. Colours follow the
   page tokens (--green, --gold); the cream is the site's gold-light. */
.reel{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:56px; align-items:center; }
.reel__copy .eyebrow{ display:block; margin-bottom:14px; font-size:12px; letter-spacing:.3em; text-transform:uppercase; font-weight:700; color:var(--gold,#785813); }
.reel__copy h2{ font-size:29px; color:var(--green,#0b3e27); margin:0 0 16px; }
.reel__copy p.sub{ margin:0; max-width:46ch; }
.reel__frame{ border-radius:12px; overflow:hidden; box-shadow:0 26px 60px rgba(0,61,38,.24),0 0 0 1px rgba(184,151,90,.4); }
.vbanner{ display:block; position:relative; width:100%; padding:0; border:0; cursor:pointer; background:#00281a; line-height:0; aspect-ratio:16/9; }
.vbanner__img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease,opacity .3s ease; }
.vbanner:hover .vbanner__img{ transform:scale(1.03); opacity:.86; }
.vbanner::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,40,26,.1) 0%,rgba(0,40,26,.45) 100%); }
.vbanner__play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; width:78px; height:78px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(0,61,38,.72); border:1px solid rgba(216,195,159,.75); box-shadow:0 10px 30px rgba(0,0,0,.4); transition:transform .22s ease,background .22s ease; }
.vbanner__play svg{ width:30px; height:30px; fill:#E9D9B4; margin-left:4px; }
.vbanner:hover .vbanner__play{ transform:translate(-50%,-50%) scale(1.07); background:var(--gold,#785813); }
.vbanner:hover .vbanner__play svg{ fill:#00281a; }
.vbanner__dur{ position:absolute; right:14px; bottom:14px; z-index:2; display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:3px; background:rgba(0,40,26,.78); border:1px solid rgba(216,195,159,.35); color:#E9D9B4; font-size:12px; font-weight:700; letter-spacing:.06em; line-height:1; }
.vbanner__dur svg{ width:13px; height:13px; stroke:currentColor; stroke-width:2; }
.vbanner:focus-visible{ outline:3px solid var(--gold,#785813); outline-offset:3px; }
.wcv-overlay{ position:fixed; inset:0; z-index:2147483200; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(0,20,13,.88); }
.wcv-overlay.open{ display:flex; }
.wcv-box{ position:relative; width:min(1000px,100%); }
.wcv-box video{ display:block; margin:0 auto; max-width:100%; max-height:84vh; width:auto; border-radius:8px; background:#000; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.wcv-close{ position:absolute; top:-44px; right:0; width:34px; height:34px; border-radius:50%; background:none; border:1px solid rgba(216,195,159,.5); color:#E9D9B4; font-size:22px; line-height:1; cursor:pointer; transition:background .18s,color .18s; }
.wcv-close:hover{ background:var(--gold,#785813); color:#00281a; border-color:var(--gold,#785813); }
@media (max-width:820px){ .reel{ grid-template-columns:1fr; gap:28px; } .vbanner__play{ width:60px; height:60px; } .vbanner__play svg{ width:24px; height:24px; } }
