/* landing.css — Vince Motorsports guest landing. Populated across Plan 2. */

/* Full-bleed landing: the 'page-builder' content layout (set in inc/landing.php)
   removes Astra's container; this neutralizes any residual padding/width so the
   dark sections run edge to edge with no light gutters. */
.vm-landing{ margin:0; padding:0; max-width:none; width:100%; }
.home #content .ast-container,
.home #primary.vm-landing{ max-width:100%; padding-left:0; padding-right:0; margin-left:0; margin-right:0; }

/* ===== Hero ===== */
.vm-hero{ position:relative; min-height:440px; background:#0c0f13; background-size:cover; background-position:center; overflow:hidden; display:flex; align-items:center; }
.vm-hero__bg{ position:absolute; inset:0; width:100%; height:100%; }
.vm-hero__overlay{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,10,13,.9) 0%, rgba(8,10,13,.55) 38%, rgba(8,10,13,.1) 70%, rgba(8,10,13,.35) 100%); }
.vm-hero__copy{ position:relative; z-index:2; max-width:600px; padding:48px clamp(20px,5vw,56px); }
.vm-hero__head{ font-family:var(--vm-display); font-style:italic; font-weight:800; font-size:clamp(30px,5vw,46px); line-height:1.0; color:#fff; margin:0; text-shadow:0 2px 20px rgba(0,0,0,.55); }
.vm-hero__sub{ font-family:var(--vm-body); font-size:15px; line-height:1.55; color:#dce1e6; margin:14px 0 22px; max-width:440px; }

/* ===== Benefits ===== */
.vm-benefits{ background:#fff; padding:clamp(34px,5vw,52px) clamp(20px,5vw,44px); }
.vm-benefits__head{ text-align:center; }
.vm-benefits__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px 28px; margin-top:30px; max-width:1040px; margin-left:auto; margin-right:auto; }
.vm-bcard{ position:relative; padding-top:18px; border-top:2px solid #ececf0; }
.vm-bcard:hover{ border-top-color:var(--vm-amber); }
.vm-bcard__num{ position:absolute; right:0; top:13px; font-family:var(--vm-display); font-style:italic; font-weight:800; font-size:42px; line-height:1; color:#f0f1f3; }
.vm-bcard__row{ display:flex; align-items:center; gap:10px; }
.vm-bcard__title{ font-family:var(--vm-ui); font-weight:800; font-size:16px; color:var(--vm-ink); }
.vm-bcard__desc{ font-family:var(--vm-body); font-size:13px; line-height:1.55; color:var(--vm-muted); margin:8px 0 0; max-width:270px; }
@media (max-width:860px){ .vm-benefits__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .vm-benefits__grid{ grid-template-columns:1fr; } }

/* ===== Become a Retailer ===== */
.vm-retailer{ position:relative; background:#0c0f13; overflow:hidden; padding:clamp(36px,5vw,52px) clamp(20px,5vw,44px); }
.vm-retailer__bg{ position:absolute; inset:0; width:100%; height:100%; }
.vm-retailer__in{ position:relative; z-index:2; display:flex; gap:40px; align-items:center; flex-wrap:wrap; max-width:1040px; margin:0 auto; }
.vm-retailer__left{ flex:1; min-width:300px; }
.vm-retailer__head{ font-family:var(--vm-display); font-style:italic; font-weight:800; font-size:clamp(24px,3.5vw,32px); color:#fff; margin:8px 0 0; }
.vm-retailer__p{ font-family:var(--vm-body); font-size:14px; line-height:1.6; color:var(--vm-muted-dark); margin:12px 0 16px; max-width:430px; }
.vm-retailer__contact{ font-family:var(--vm-ui); font-weight:700; font-size:13px; color:#e7ebef; }
.vm-retailer__contact a{ color:var(--vm-amber); }
.vm-retailer__cta{ flex:0 0 360px; background:#12161c; border:1px solid var(--vm-line-dark); border-radius:14px; padding:24px; }
.vm-retailer__ctah{ font-family:var(--vm-ui); font-weight:800; color:#fff; font-size:18px; margin:0 0 6px; }
.vm-retailer__ctap{ font-family:var(--vm-body); font-size:13px; color:var(--vm-muted-dark); margin:0 0 16px; }
@media (max-width:760px){ .vm-retailer__cta{ flex:1 1 100%; } }
