/* =========================================================
   F5 - VENDORS / LOCATIONS
   ========================================================= */

/* ---------- hero: coordinate scanner ---------- */
.v-hero{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;display:flex;align-items:flex-end;--mx:62%;--my:42%}
.v-hero__img{position:absolute;inset:-5%;background-size:cover;background-position:center 60%;filter:saturate(.9) contrast(1.05)}
.v-hero__grid{
  position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(236,230,214,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(236,230,214,.08) 1px,transparent 1px);
  background-size:80px 80px;
  -webkit-mask:radial-gradient(circle 420px at var(--mx) var(--my),#000,transparent 75%);
          mask:radial-gradient(circle 420px at var(--mx) var(--my),#000,transparent 75%);
}
.v-hero__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,12,10,.95) 0%,rgba(11,12,10,.35) 50%,rgba(11,12,10,.15) 100%),linear-gradient(90deg,rgba(11,12,10,.7),transparent 60%)}
.v-hero__cross{position:absolute;inset:0;pointer-events:none;z-index:2}
.v-hero__h,.v-hero__v{position:absolute;background:rgba(255,90,31,.55)}
.v-hero__h{left:0;right:0;top:var(--my);height:1px}
.v-hero__v{top:0;bottom:0;left:var(--mx);width:1px}
.v-hero__box{
  position:absolute;left:var(--mx);top:var(--my);width:64px;height:64px;transform:translate(-50%,-50%);
  border:1.5px solid var(--blaze);transition:width .3s var(--ease),height .3s var(--ease);
}
.v-hero__box::before,.v-hero__box::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;background:var(--blaze);border-radius:50%}
.v-hero__box::after{width:120%;height:120%;margin:0;left:-10%;top:-10%;background:none;border:1px solid rgba(255,90,31,.4);border-radius:0;animation:boxping 1.8s ease-out infinite}
@keyframes boxping{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.8);opacity:0}}
.v-hero.is-locked .v-hero__box{width:40px;height:40px}
.v-hero__read{
  position:absolute;left:var(--mx);top:var(--my);transform:translate(44px,-110%);display:flex;flex-direction:column;gap:2px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--bone);background:rgba(11,12,10,.75);padding:8px 10px;border-left:2px solid var(--blaze);white-space:nowrap
}
.v-hero__read b{font-weight:500}
.v-hero__read em{font-style:normal;color:var(--blaze)}
.v-hero__copy{position:relative;z-index:3;padding:0 var(--gutter) clamp(48px,9vh,110px);width:100%}
.v-hero__title{font-family:var(--f-stencil);font-weight:900;text-transform:uppercase;font-size:clamp(60px,11vw,190px);line-height:.82}
.v-hero__title .line{display:block;overflow:hidden;padding-bottom:.02em}
.v-hero__title .line > span{display:inline-block}
.v-hero__title .line--red{color:var(--red)}
.v-hero__lede{max-width:52ch;opacity:.88;margin:24px 0 28px;font-size:clamp(15px,1.2vw,18px)}
.v-link{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--red);padding-bottom:3px}
.v-link:hover{color:var(--red)}
@media (hover:none),(pointer:coarse){.v-hero__read{display:none}}
@media (max-width:760px){.v-hero__grid{background-size:48px 48px}}

/* ---------- intro ---------- */
.v-intro{position:relative;padding:clamp(110px,16vh,190px) var(--gutter) clamp(80px,12vh,140px);overflow:hidden}
.v-intro > *:not(.topo){position:relative}
.v-intro__text{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:clamp(30px,4.6vw,78px);line-height:1;max-width:1400px}
.v-intro__text .w{opacity:.14}
.v-intro__inds{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:48px}
.v-intro__inds li{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line-2);padding:10px 16px}

/* ---------- intel files (sticky stack) ---------- */
.intel{position:relative;padding:clamp(100px,14vh,170px) var(--gutter) clamp(80px,10vh,120px);background:var(--ink-2);border-top:1px solid var(--line)}
.intel__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:24px;margin-bottom:56px}
.intel__head .label{grid-column:1/-1;margin-bottom:0}
.intel__lede{justify-self:end;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-dim)}
.intel__stack{position:relative;display:flex;flex-direction:column;gap:40px}
.file{
  position:sticky;top:calc(96px + var(--i) * 18px);
  display:grid;grid-template-columns:1.1fr 1fr;min-height:min(68vh,560px);
  background:var(--ink);border:1px solid var(--line-2);overflow:hidden;transform-origin:center top;
  box-shadow:0 -30px 60px -30px rgba(0,0,0,.9);
  clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%);
}
.file__img{background-size:cover;background-position:center;position:relative}
.file__img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--ink))}
.file__body{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center;position:relative}
.file__body::before{
  content:"";position:absolute;top:0;right:0;left:0;height:6px;
  background:repeating-linear-gradient(-45deg,var(--blaze) 0 10px,transparent 10px 20px);opacity:.8
}
.file__no{font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;color:var(--blaze)}
.file h3{font-family:var(--f-stencil);font-weight:900;text-transform:uppercase;font-size:clamp(52px,6.6vw,118px);line-height:.84;margin:12px 0 18px}
.file p{color:var(--bone-dim);max-width:48ch;font-size:16px}
.file p strong{color:var(--bone)}
.file__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.file__tags button{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone);
  background:transparent;border:1px solid var(--line-2);padding:9px 12px;transition:all .25s
}
.file__tags button::before{content:"+ ";color:var(--blaze)}
.file__tags button:hover{border-color:var(--bone)}
.file__tags button.is-on{background:var(--red);border-color:var(--red)}
.file__tags button.is-on::before{content:"✓ ";color:var(--bone)}
.intel__other{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:60px;padding:24px 28px;border:1px dashed var(--line-2)}
.intel__other p{color:var(--bone-dim)}
.intel__other b{color:var(--bone)}
.intel__other .file__tags{margin-top:0}
@media (max-width:900px){
  .intel__head{grid-template-columns:1fr}.intel__lede{justify-self:start}
  .file{grid-template-columns:1fr;grid-template-rows:220px auto;top:calc(80px + var(--i) * 10px);min-height:0}
  .file__img::after{background:linear-gradient(transparent 50%,var(--ink))}
}

/* ---------- wishlist rows ---------- */
.wish{position:relative;padding:clamp(80px,12vh,140px) 0;overflow:hidden;background:var(--ink)}
.wish__row{overflow:hidden;padding:10px 0}
.wish__track{display:flex;align-items:center;gap:30px;width:max-content;will-change:transform}
.wish__row span{font-family:var(--f-stencil);font-weight:900;text-transform:uppercase;font-size:clamp(48px,7vw,120px);line-height:1;white-space:nowrap}
.wish__row--a span:nth-child(4n+1){color:transparent;-webkit-text-stroke:1.5px var(--bone)}
.wish__row--b span{color:transparent;-webkit-text-stroke:1.5px var(--bone-dim)}
.wish__row--b span:nth-child(4n+3){color:var(--red);-webkit-text-stroke:0}
.wish__row b{color:var(--blaze);font-size:24px}
.wish__punch{text-align:center;margin-top:50px;font-family:var(--f-mono);font-size:clamp(14px,1.4vw,20px);letter-spacing:.3em;text-transform:uppercase;color:var(--bone-dim)}
.wish__punch em{font-style:normal;color:var(--red)}

/* ---------- the deal ---------- */
.deal{position:relative;padding:clamp(110px,16vh,190px) var(--gutter);background:var(--od-dim);border-top:1px solid var(--line);overflow:hidden}
.deal .label{color:var(--bone)}
.deal__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:24px;margin-bottom:56px}
.deal__head .label{grid-column:1/-1;margin-bottom:0}
.deal__lede{justify-self:end;max-width:44ch;color:var(--bone)}
.deal__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.deal__card{
  position:relative;text-align:left;color:var(--bone);font:inherit;background:rgba(11,12,10,.85);border:1px solid var(--line-2);
  padding:30px 28px 70px;min-height:320px;overflow:hidden;transition:transform .5s var(--ease),border-color .3s,background .3s;
}
.deal__card:hover{transform:translateY(-6px);border-color:var(--bone)}
.deal__card.is-on{background:var(--red);border-color:var(--red)}
.deal__no{font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;color:var(--blaze)}
.deal__card.is-on .deal__no{color:var(--bone)}
.deal__icon{position:absolute;top:18px;right:24px;font-family:var(--f-stencil);font-size:90px;line-height:1;opacity:.14}
.deal__card h3{font-family:var(--f-stencil);font-weight:900;text-transform:uppercase;font-size:clamp(40px,4vw,64px);line-height:.88;margin:16px 0 12px}
.deal__card p{color:var(--bone-dim);max-width:34ch}
.deal__card.is-on p{color:var(--bone)}
.deal__sel{
  position:absolute;left:28px;bottom:26px;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid var(--line-2);padding:6px 10px
}
.deal__card.is-on .deal__sel{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.deal__more{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px}
.deal__more span{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);margin-right:8px}
.deal__more button{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone);background:rgba(11,12,10,.6);border:1px solid var(--line-2);padding:9px 12px;transition:all .25s}
.deal__more button:hover{border-color:var(--bone)}
.deal__more button.is-on{background:var(--red);border-color:var(--red)}
.deal__payoff{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid rgba(236,230,214,.25)}
.deal__payoff div{padding:24px 20px 0 0}
.deal__payoff strong{display:block;font-family:var(--f-stencil);font-weight:900;text-transform:uppercase;font-size:clamp(30px,3vw,48px);line-height:.9;margin-bottom:6px}
.deal__payoff span{color:var(--bone-dim);font-size:14px}
@media (max-width:900px){
  .deal__head{grid-template-columns:1fr}.deal__lede{justify-self:start}
  .deal__grid,.deal__payoff{grid-template-columns:1fr}
  .deal__card{min-height:0}
}

/* ---------- submit: dossier ---------- */
.dossier{margin-top:34px;background:var(--ink);border:1px solid var(--line-2);padding:20px 22px;position:relative}
.dossier::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.dossier__head{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--blaze);padding-bottom:12px;border-bottom:1px dashed var(--line-2);margin-bottom:14px}
.dossier dl{display:grid;grid-template-columns:90px 1fr;gap:10px 14px;margin-bottom:18px}
.dossier dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim);padding-top:3px}
.dossier dd{display:flex;flex-wrap:wrap;gap:6px}
.dossier dd em{font-style:normal;color:var(--bone-dim);opacity:.6}
.dossier dd span{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:var(--red);padding:4px 8px}
.dossier__load[disabled]{opacity:.35;pointer-events:none}
.dossier__note{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--bone-dim);margin-top:10px}
.v-submit .apply__kit li b{border-color:var(--line-2)!important;color:var(--bone-dim)!important}
.v-submit .apply__kit li:last-child b{border-color:var(--red)!important;color:var(--red)!important}
.v-submit .apply__frame iframe{height:min(1900px,200vh)}
@media (max-width:980px){.v-submit .apply__frame iframe{height:2100px}}
