/* Homepage "Meet James" video card in the empty left column of "The Collective approach" (round 14),
   level with the bottom of the copy, and its pop-up player (/home-video.js).
   Poster is the YouTube thumbnail; YouTube only loads when the card is pressed. */
.hv-card{grid-column:1;grid-row:1;align-self:end;justify-self:start;width:100%;max-width:340px;padding:0;border:0;background:none;cursor:pointer;text-align:left;font:inherit;color:#fff}
/* keep the label and the copy where they were; the card shares the label's column */
.intro.has-video>.section-label{grid-column:1;grid-row:1}
.intro.has-video>div:last-child{grid-column:2;grid-row:1}
.hv-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:18px;overflow:hidden;border:4px solid #fff;box-shadow:0 18px 40px rgba(0,40,59,.35);transition:transform .25s,box-shadow .25s}
.hv-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.hv-play{position:relative;display:inline-block;width:26px;height:26px;margin-right:10px;border-radius:50%;background:#fff;vertical-align:middle;box-shadow:0 4px 12px rgba(0,40,59,.3)}
.hv-play:after{content:'';position:absolute;left:10px;top:7px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--hot)}
.hv-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font:700 13px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.hv-label span:last-child{opacity:.85}
.hv-card:hover .hv-thumb,.hv-card:focus-visible .hv-thumb{transform:translateY(-4px);box-shadow:0 24px 50px rgba(0,40,59,.42)}
.hv-card:focus-visible{outline:3px solid #fff;outline-offset:6px;border-radius:20px}

/* pop-up player */
.hv-pop{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:rgba(3,120,180,.92);animation:hvFade .2s ease both}
.hv-box{width:min(1000px,100%)}
.hv-frame{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;border:4px solid #fff;box-shadow:0 30px 70px rgba(0,40,59,.4);background:#0288c4}
.hv-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hv-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap}
.hv-bar a{color:#fff;font:700 16px/1.4 Arial,Helvetica,sans-serif;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}
.hv-close{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border:0;border-radius:999px;background:var(--orange);color:var(--ink);font:800 16px/1 Arial,Helvetica,sans-serif;cursor:pointer;box-shadow:0 8px 20px rgba(0,40,59,.25)}
.hv-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
@keyframes hvFade{from{opacity:0}to{opacity:1}}

@media(max-width:760px){
  .intro.has-video>.section-label,.intro.has-video>div:last-child,.hv-card{grid-column:auto;grid-row:auto}
  .hv-card{order:1;max-width:none;margin-top:10px}
  .hv-pop{padding:16px}
}
@media(prefers-reduced-motion:reduce){.hv-thumb,.hv-pop{transition:none;animation:none}}

/* Round 41 (Webster, 31 Oct 2026, James: "make the video screen bigger, more pronounced"):
   the explainer card becomes a full-width feature under "You bring the vision. We bring it together."
   Same click-to-load pop-up player as before (/home-video.js); nothing from YouTube loads until it's pressed. */
.intro.hv-big>.section-label{grid-column:1;grid-row:1}
.intro.hv-big>.intro-main{grid-column:2;grid-row:1}
.hv-feature{grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;align-items:center;margin-top:28px}
.intro.hv-big .hv-card{display:block;width:100%;max-width:1100px;grid-column:auto;grid-row:auto;align-self:auto;justify-self:auto;text-align:center}
.intro.hv-big .hv-thumb{border:10px solid var(--ink);border-radius:28px;box-shadow:0 0 0 3px rgba(255,255,255,.55),0 34px 80px rgba(0,40,59,.45)}
.hv-bigplay{position:absolute;left:50%;top:50%;width:124px;height:124px;margin:-62px 0 0 -62px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 8px #fff,0 18px 40px rgba(0,40,59,.55);transition:transform .2s ease,background .2s ease}
.hv-bigplay:after{content:'';position:absolute;left:48px;top:37px;border-style:solid;border-width:25px 0 25px 40px;border-color:transparent transparent transparent var(--ink)}
.hv-bigplay:before{content:'';position:absolute;inset:-8px;border-radius:50%;border:4px solid #fff;animation:hvPulse 2.2s ease-out infinite}
@keyframes hvPulse{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.45);opacity:0}}
.intro.hv-big .hv-label{display:block;margin-top:26px;font:700 clamp(26px,2.6vw,38px)/1.1 'Brand Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.01em;text-transform:uppercase;color:#fff}
.intro.hv-big .hv-label b{color:var(--ink)}
.hv-dur{white-space:nowrap}
.intro.hv-big .hv-card:hover .hv-thumb,.intro.hv-big .hv-card:focus-visible .hv-thumb{transform:translateY(-6px);box-shadow:0 0 0 3px rgba(255,255,255,.7),0 44px 90px rgba(0,40,59,.5)}
.hv-card:hover .hv-bigplay,.hv-card:focus-visible .hv-bigplay{transform:scale(1.08);background:#ffa23a}
.intro.hv-big .hv-card:focus-visible{outline:4px solid #fff;outline-offset:8px;border-radius:32px}
.hv-cta{margin-top:26px;background:var(--ink);color:#fff}
.hv-cta:hover{background:#003a55}
@media(max-width:1050px){.hv-feature{margin-top:20px}.hv-bigplay{width:100px;height:100px;margin:-50px 0 0 -50px}.hv-bigplay:after{left:39px;top:30px;border-width:20px 0 20px 32px}}
@media(max-width:760px){
  .intro.hv-big>.section-label,.intro.hv-big>.intro-main,.hv-feature{grid-column:auto;grid-row:auto}
  .intro.hv-big .hv-card{order:0;max-width:none;margin-top:0}
  .hv-feature{margin-top:10px;width:100%}
  .intro.hv-big .hv-thumb{border-width:6px;border-radius:18px;box-shadow:0 0 0 2px rgba(255,255,255,.55),0 20px 44px rgba(0,40,59,.45)}
  .hv-bigplay{left:56%;width:60px;height:60px;margin:-30px 0 0 -30px;box-shadow:0 0 0 4px #fff,0 10px 24px rgba(0,40,59,.5)}
  .hv-bigplay:before{inset:-4px;border-width:3px}
  .hv-bigplay:after{left:23px;top:18px;border-width:12px 0 12px 19px}
    .intro.hv-big .hv-label{font-size:clamp(17px,5vw,21px);letter-spacing:0;margin-top:18px}
  .hv-cta{margin-top:20px;width:100%;justify-content:center;box-sizing:border-box}
}
@media(prefers-reduced-motion:reduce){.hv-bigplay:before{animation:none;opacity:0}.hv-bigplay{transition:none}}
