/* Ori v2 (2026-10-16): ad-style hero, before/after job cards, EV page.
   Matches the Meta ad creative: Poppins, two-tone headline, 4.9 pill,
   detail strip, orange pill CTA. Loaded after /assets/ori.css. */

/* ---------- Hero ---------- */
.hero.hero-v2{padding:64px 5% 84px}
.hero-v2 .hero-inner{grid-template-columns:1.1fr .9fr;gap:56px}
.hv-rating{display:inline-flex;align-items:center;gap:8px;background:rgba(18,18,18,.72);border:1px solid rgba(255,255,255,.12);padding:8px 15px;border-radius:999px;font:500 14px/1 'Poppins',sans-serif;color:rgba(255,255,255,.78);margin-bottom:22px}
.hv-rating .stars{color:#FFB400;letter-spacing:2px;font-size:13px}
.hv-rating b{font-weight:700;color:#fff}
.hv-eyebrow{font:700 13px/1.3 'Poppins',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ori-orange);margin-bottom:14px}
.hero-v2 h1.hv-title{font-family:'Poppins',sans-serif;text-transform:none;font-weight:800;letter-spacing:-.025em;line-height:1.03;font-size:clamp(2.35rem,5vw,4.3rem);margin-bottom:18px}
.hv-title span{display:block;color:var(--ori-orange)}
.hv-sub{font-size:1.08rem;color:rgba(255,255,255,.82);max-width:560px;margin-bottom:26px}
.hv-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);margin:0 0 28px;max-width:620px}
.hv-strip>div{padding:13px 14px 13px 0}
.hv-strip>div+div{padding-left:14px;border-left:1px solid rgba(255,255,255,.15)}
.hv-strip dt{font:700 10.5px/1.2 'Poppins',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:5px}
.hv-strip dd{font:600 14.5px/1.3 'Poppins',sans-serif;color:#fff;margin:0}
.hv-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:14px}
.hv-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--ori-orange);color:#1d1d1d;text-decoration:none;font:700 18px/1 'Poppins',sans-serif;padding:19px 30px;border-radius:999px;box-shadow:0 10px 28px rgba(243,146,0,.38);transition:transform .2s,background .2s,box-shadow .2s}
.hv-btn:hover{background:var(--ori-orange-bright);transform:translateY(-2px);box-shadow:0 14px 34px rgba(243,146,0,.48)}
.hv-btn span{font-size:20px;line-height:1}
.hv-free{display:flex;flex-direction:column;font-family:'Poppins',sans-serif;line-height:1.35}
.hv-free b{font-weight:700;font-size:15px}
.hv-free span{font-size:13.5px;color:rgba(255,255,255,.68)}
.hv-call{font-size:14.5px;color:rgba(255,255,255,.72)}
.hv-call a{color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
.hv-call a:hover{color:var(--ori-orange)}
.hv-media{position:relative;min-width:0;width:100%;max-width:540px;justify-self:end}

/* ---------- Before / after card (hero) ---------- */
.ba-card{margin:0;background:#2b2b2b;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08)}
.ba-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#555;padding:11px 18px}
.ba-head img{width:46px;height:46px;object-fit:contain;display:block}
.ba-head .t{text-align:right;font-family:'Poppins',sans-serif;line-height:1.15}
.ba-head .t b{display:block;font-weight:800;font-size:17px;letter-spacing:.02em;text-transform:uppercase;color:#fff}
.ba-head .t span{font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ori-orange)}
.ba-slides{display:grid}
.ba-slide{grid-area:1/1;display:grid;gap:3px;background:var(--ori-orange);opacity:0;transition:opacity .9s ease}
.ba-slide.is-on{opacity:1}
.ba-img{position:relative;background:#1f1f1f}
.ba-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.ba-pill{position:absolute;top:12px;left:12px;font:700 11.5px/1 'Poppins',sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:rgba(45,45,45,.88);color:#fff}
.ba-pill.after{background:var(--ori-orange);color:#1d1d1d}
.ba-foot{display:flex;align-items:center;gap:10px;padding:13px 18px;background:#555;font:500 14px/1.35 'Poppins',sans-serif;color:#fff}
.ba-real{flex-shrink:0;background:var(--ori-blue);color:#062331;font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.ba-dots{display:flex;justify-content:center;gap:2px;margin-top:12px}
.ba-dots button{width:26px;height:24px;border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ba-dots button::before{content:'';display:block;width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.3);transition:width .3s,background .3s}
.ba-dots button[aria-current="true"]::before{width:22px;background:var(--ori-orange)}

/* ---------- Before / after cards (gallery) ---------- */
.ba-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:6px}
.ba-mini{margin:0;border-radius:14px;overflow:hidden;background:#2f2f2f;border:1px solid rgba(255,255,255,.08)}
.ba-mini .ba-pair{display:grid;gap:3px;background:var(--ori-orange)}
.ba-mini .ba-img img{aspect-ratio:16/10}
.ba-mini .ba-pill{top:8px;left:8px;font-size:10px;padding:5px 9px}
.ba-mini figcaption{padding:11px 13px 13px;font-size:.9rem;line-height:1.45;color:rgba(255,255,255,.75)}
.ba-mini figcaption b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.12rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ori-orange)}
.ba-more{display:none}
.job-card.tall img{height:auto;aspect-ratio:3/4}
.job-card.tall img.contain{object-fit:contain;background:#f4f4f4}

/* ---------- EV page ---------- */
.ev-stack{position:relative;padding:0 26px 34px 0;max-width:540px;margin-left:auto}
.ev-main{border-radius:20px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08)}
.ev-main img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.ev-inset{position:absolute;right:0;bottom:0;width:43%;border-radius:16px;overflow:hidden;border:4px solid #fff;box-shadow:0 18px 40px rgba(0,0,0,.45);background:#fff}
.ev-inset img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.ev-inset .ev-tag{position:absolute;left:8px;right:8px;bottom:8px;background:var(--ori-blue);color:#062331;font:700 12.5px/1.2 'Poppins',sans-serif;text-align:center;padding:8px 6px;border-radius:999px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-img img{display:block;width:100%;height:auto;border-radius:18px;aspect-ratio:4/5;object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.split .section-sub{margin-bottom:26px}
.ticks{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:12px}
.ticks li{position:relative;padding-left:30px;color:rgba(255,255,255,.85);font-size:1.02rem}
.ticks li::before{content:'';position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--ori-orange)}
.ticks li::after{content:'';position:absolute;left:6px;top:calc(.35em + 4px);width:5px;height:9px;border:solid #1d1d1d;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.ticks li b{color:#fff}

/* ---------- Responsive ---------- */
@media(max-width:1000px){.ba-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .hero-v2 .hero-inner{grid-template-columns:1fr;gap:34px}
  .hv-media{max-width:560px;width:100%;margin:0 auto;justify-self:center}
  .ev-stack{margin:0 auto}
  .split{grid-template-columns:1fr;gap:34px}
  .split-img{max-width:520px}
}
@media(max-width:560px){
  .hero.hero-v2{padding:34px 5% 56px}
  .hv-rating{font-size:13px;padding:7px 13px;margin-bottom:18px}
  .hv-eyebrow{font-size:11.5px;letter-spacing:.13em}
  .hv-sub{font-size:1rem;margin-bottom:20px}
  .hv-strip{grid-template-columns:1fr;margin-bottom:22px}
  .hv-strip>div,.hv-strip>div+div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-left:0}
  .hv-strip>div+div{border-top:1px solid rgba(255,255,255,.12)}
  .hv-strip dt{margin:0;flex-shrink:0}
  .hv-strip dd{text-align:right;font-size:14px}
  .hv-cta{gap:14px}
  .hv-btn{width:100%;font-size:17px;padding:18px 20px}
  .hv-free{flex-direction:row;gap:8px;align-items:baseline;width:100%;justify-content:center}
  .hv-call{text-align:center}
  .ba-head{padding:9px 14px}.ba-head img{width:38px;height:38px}.ba-head .t b{font-size:15px}
  .ba-pill{top:9px;left:9px;font-size:10.5px;padding:6px 10px}
  .ba-foot{padding:11px 14px;font-size:13px}
  .ba-grid{grid-template-columns:1fr;gap:12px}
  .ba-mini .ba-pair{grid-template-columns:1fr 1fr}
  .ba-mini .ba-img img{aspect-ratio:4/3}
  .ba-grid:not(.open) .ba-extra{display:none}
  .ba-more{display:block;margin:14px auto 0;font:700 14px/1 'Poppins',sans-serif;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:13px 22px;cursor:pointer}
  .ba-grid.open+.ba-more{display:none}
  .ev-stack{padding:0 14px 26px 0}
  .ev-inset{width:46%;border-width:3px}
  .ev-inset .ev-tag{font-size:11px;padding:7px 4px}
}
@media(prefers-reduced-motion:reduce){.ba-slide{transition:none}}

/* v3 (Oct 16): the hero card plays the drone video instead of the before/after photos.
   No transforms, filters or blur on or over the video: it is composited as-is, so it plays at full frame rate. */
.hv-video{position:relative;background:#1f1f1f;aspect-ratio:4/3}
.hv-video video{display:block;width:100%;height:100%;object-fit:cover;background:#1f1f1f}
