/* =====================================================================
   UPFITTING PAGE STYLES (/upfitting/)
   Page-specific styles, built on the shared flasher-v2.css design system
   and tokens. Load AFTER flasher-v2.css.
   ===================================================================== */

/* ---- service row (two-column intro + build video) ---- */
.v2-service--page{min-height:auto;padding:96px 0;}
.v2-service--page .row{align-items:center;}
.v2-service--page .media{justify-content:flex-start;}

/* ---- upfitting portrait build video ("A Rolling Command Center") ---- */
.v2-service .media--upfit{position:relative;display:flex;justify-content:flex-start;perspective:1200px;}
.v2-service .media--upfit .tilt-rotate{margin-left:0;}
.v2-service .media--upfit video{
  width:100%;aspect-ratio:588 / 755;
  object-fit:cover;border:1px solid var(--line);display:block;
}
@media (max-width:1600px){
  .v2-service .media--upfit video{aspect-ratio:588 / 660;}
}
@media (min-width:1601px){
  .v2-service .media--upfit video{aspect-ratio:588 / 490;}
}
@media (max-width:900px){
  .v2-service--page .media{justify-content:flex-start;}
  .v2-service .media--upfit .tilt-rotate{margin:0 auto;}
  .v2-service .media--upfit video{max-width:340px;aspect-ratio:588 / 660;}
}

/* ---- capabilities — icon cards ("What's Included") ---- */
.v2-caps{background:var(--black);padding:96px 0 110px;}
.v2-caps__intro{
  font-family:'Inter',sans-serif;font-weight:800;color:#fff;text-transform:uppercase;
  font-size:clamp(24px,3vw,40px);line-height:1.15;letter-spacing:-.5px;margin:0 0 52px;max-width:900px;
}
.v2-caps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cap-card{
  position:relative;background:var(--panel);border:1px solid var(--line);
  padding:34px 30px 32px;overflow:hidden;
  transition:border-color .25s,transform .25s,background .25s;
}
/* yellow accent bar wipes across the top on hover */
.cap-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--yellow);transform:scaleX(0);transform-origin:left;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.cap-card:hover{border-color:rgba(255,203,5,.5);transform:translateY(-6px);background:#191b1e;}
.cap-card:hover::before{transform:scaleX(1);}
.cap-card__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:58px;height:58px;margin-bottom:22px;color:var(--yellow);
  background:rgba(255,203,5,.1);border:1px solid rgba(255,203,5,.3);border-radius:4px;
}
.cap-card__icon svg{width:30px;height:30px;}
.cap-card:hover .cap-card__icon{background:var(--yellow);color:#000;border-color:var(--yellow);}
.cap-card__title{
  font-family:'Inter',sans-serif;font-weight:900;color:#fff;text-transform:uppercase;
  font-size:clamp(22px,1.9vw,28px);line-height:1.1;letter-spacing:-.5px;margin:0 0 12px;
}
.cap-card__desc{
  font-family:'IBM Plex Mono','Courier New',monospace;font-weight:400;color:var(--gray);
  font-size:17px;line-height:1.45;margin:0;
}
@media (max-width:900px){
  .v2-caps__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .v2-caps__grid{grid-template-columns:1fr;}
}
