
:root{
  --bg:#070809;--panel:#0d0f12;--panel2:#12151a;--text:#f4f5f7;
  --muted:#b5b8be;--line:#252a31;--red:#d71d23;--max:1220px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}

/* Header */
.site-header{position:sticky;top:0;z-index:40;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:10px max(28px,calc((100vw - var(--max))/2));background:rgba(7,8,9,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:330px;height:auto;object-fit:contain}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:26px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.nav a{color:#e1e3e6}.nav a:hover{color:#fff}.nav-cta{border:1px solid var(--red);padding:11px 15px;border-radius:4px}
.menu-toggle{display:none;background:none;color:#fff;border:1px solid #333;padding:8px 12px;border-radius:4px}

/* Hero */
.hero{max-width:var(--max);min-height:650px;margin:0 auto;padding:64px 28px 48px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1.07fr);align-items:center;gap:28px}
.hero-copy{align-self:center}
.eyebrow{color:#e5383e;text-transform:uppercase;letter-spacing:.19em;font-size:.74rem;font-weight:850;margin:0 0 16px}
.hero h1,.section h2,.booking-intro h2,.service-card h2,.fare-card h2{margin:0;font-weight:850;letter-spacing:-.035em}
.hero h1{font-size:clamp(2.8rem,4.65vw,4.85rem);line-height:.98}.hero h1 span{color:#df242a}
.hero-sub{font-size:1.18rem;color:#d0d2d6;margin:26px 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{border:0;border-radius:5px;padding:15px 23px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;display:inline-flex;justify-content:center;align-items:center}
.btn-primary{background:linear-gradient(135deg,#d93237,#ad181d);color:#fff;box-shadow:0 12px 36px rgba(208,24,30,.2)}
.btn-secondary{background:#fff;color:#111;margin-top:10px}.btn-ghost{border:1px solid #3a3d43;background:transparent;color:#fff}
.small-note{margin-top:23px;color:#92969d;font-size:.92rem}
.hero-vehicle{position:relative;display:flex;justify-content:center;align-items:center;min-height:410px}
.hero-vehicle:after{content:"";position:absolute;left:16%;right:4%;bottom:8%;height:17%;background:radial-gradient(ellipse,rgba(220,20,27,.32),transparent 68%);filter:blur(16px);z-index:-1}
.hero-vehicle img{width:112%;max-width:860px;mix-blend-mode:screen}

/* Trust strip */
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,#101216,#0a0c0f);display:grid;grid-template-columns:repeat(4,1fr);padding:0 max(28px,calc((100vw - var(--max))/2))}
.trust-strip article{min-height:210px;padding:32px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-right:1px solid var(--line)}
.trust-strip article:last-child{border-right:0}
.icon{color:#ef353a;font-size:1.7rem;margin-bottom:6px}
.trust-strip h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;margin:8px 0 10px}
.trust-strip p{color:var(--muted);font-size:.91rem;margin:0}

/* Shared section containers */
.section{max-width:var(--max);margin:0 auto;padding:76px 28px}
.compact-section{padding-top:28px}
.section-heading{text-align:center;max-width:900px;margin:0 auto 42px}
.section-heading h2,.service-card h2,.fare-card h2,.booking-intro h2{font-size:clamp(2rem,3.8vw,3rem)}
.section-sub{color:var(--muted);max-width:700px;margin:13px auto 0}

/* How it works */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.steps article{background:#0b0d10;padding:30px 26px;min-height:220px}
.steps span{font-size:2rem;color:#343942;font-weight:900}
.steps h3{text-transform:uppercase;font-size:.94rem;margin:22px 0 10px}
.steps p{color:var(--muted);margin:0}
.notice{border:1px solid #2b3037;color:#c1c4c9;padding:15px 18px;margin:24px 0 0;text-align:center;font-size:.9rem}

/* Service & pricing cards */
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.service-card,.fare-card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);padding:42px;height:100%}
.large{font-size:1.25rem;color:#fff}.muted,.fare-card>p{color:var(--muted)}
.hours{margin-top:36px;border-top:1px solid var(--line);padding-top:24px}
label{display:flex;flex-direction:column;gap:8px;color:#e0e2e5;font-size:.9rem}
input,select,textarea{width:100%;background:#090b0e;border:1px solid #363b43;color:#fff;padding:13px 14px;border-radius:4px;font:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:#9d1c21;box-shadow:0 0 0 3px rgba(208,24,30,.11)}
.single-input{margin-top:28px}.input-with-unit{display:flex;align-items:center;position:relative}.input-with-unit input{padding-right:72px}
.input-with-unit>span:last-child{position:absolute;right:14px;color:#737880;font-size:.82rem}
.money-input>span{position:absolute;left:14px;color:#8f949b;z-index:2}.money-input input{padding-left:30px;padding-right:14px}
.estimate-result{margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;align-items:center;color:var(--muted);gap:16px}
.estimate-result>div{display:flex;flex-direction:column;gap:3px}.estimate-result small,.tip-title small{color:#747981}.estimate-result strong{font-size:2.15rem;color:#fff}
.fine-print{font-size:.78rem;margin-top:18px}.tip-panel{margin-top:25px;border-top:1px solid var(--line);padding-top:24px}.is-hidden{display:none!important}
.tip-title{display:flex;justify-content:space-between;margin-bottom:13px}.tip-title>div{display:flex;flex-direction:column}
.tip-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.tip-btn{background:#0a0c0f;color:#d7d9dd;border:1px solid #353a41;padding:11px 8px;border-radius:4px;cursor:pointer;font-weight:700}
.tip-btn:hover,.tip-btn.active{border-color:#d52a30;background:#221012;color:#fff}
.custom-tip{margin-top:12px}
.payment-preview{margin-top:18px;border:1px solid var(--line);padding:15px 17px}
.payment-preview>div{display:flex;justify-content:space-between;color:#aeb2b8;padding:5px 0}.payment-preview strong{color:#fff}
.payment-preview .total-line{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;color:#fff}.payment-preview .total-line strong{font-size:1.25rem;color:#ef3a40}

/* Transparent pricing */
.pricing-explain{padding-top:34px}
.pricing-points{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--line);gap:1px}
.pricing-points article{background:#0b0d10;padding:28px 24px;min-height:165px}
.pricing-points strong{text-transform:uppercase;font-size:.84rem;letter-spacing:.08em}
.pricing-points p{color:var(--muted);margin:16px 0 0}

/* Booking */
.booking-section{max-width:var(--max);margin:0 auto;background:linear-gradient(180deg,#0f1114,#08090b);border:1px solid var(--line);padding:58px;display:grid;grid-template-columns:.72fr 1.28fr;gap:56px;align-items:start}
.booking-intro{padding-top:6px}.booking-intro p{color:var(--muted)}
.booking-form,.review-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.full{grid-column:1/-1}.hidden{position:absolute!important;left:-9999px!important}
.check{flex-direction:row;align-items:flex-start}.check input{width:auto;margin-top:4px}

/* Reviews */
.review-section{padding-top:76px}
.review-form{max-width:940px;margin:0 auto;background:#0c0e11;border:1px solid var(--line);padding:30px}
.review-note{text-align:center;color:#71767e;font-size:.8rem;max-width:760px;margin:18px auto 0}
.star-field{border:0;padding:4px 0;margin:0}.star-field legend{font-size:.9rem;color:#e0e2e5;margin-bottom:8px}
.stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:6px}.stars input{position:absolute;opacity:0;pointer-events:none}
.stars label{font-size:2.45rem;color:#343943;cursor:pointer;line-height:1}
.stars label:hover,.stars label:hover~label,.stars input:checked~label{color:#e7353b}
.micro-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

/* FAQ */
.faq{max-width:900px;margin:0 auto}
details{border-bottom:1px solid var(--line);padding:0}
summary{padding:22px 2px;cursor:pointer;font-weight:750}
details p{color:var(--muted);padding:0 2px 22px;margin:0}

/* Footer */
footer{max-width:var(--max);margin:0 auto;padding:42px 28px 58px;text-align:center;color:#a7abb1}
footer img{height:auto;object-fit:contain;margin:0 auto 14px}
.footer-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:18px 0}
.legal{font-size:.74rem;color:#6f747c;max-width:760px;margin:22px auto 0}

/* Responsive */
@media (max-width:980px){
  .nav{gap:18px;font-size:.78rem}.brand img{width:240px}
  .hero{grid-template-columns:1fr;gap:12px;padding-top:34px;min-height:auto}
  .hero-copy{text-align:center;order:2}.hero-actions{justify-content:center}.hero-vehicle{order:1;min-height:330px}.hero-vehicle img{max-width:720px}
  .trust-strip{grid-template-columns:1fr 1fr}.trust-strip article:nth-child(2){border-right:0}
  .steps{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}
  .booking-section{grid-template-columns:1fr;padding:42px 32px}
  .pricing-points{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:82px;left:0;right:0;background:#0b0d10;padding:22px 24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}.brand img{width:225px}
}
@media (max-width:590px){
  .site-header{min-height:72px;padding:8px 18px}.brand img{width:190px}.nav{top:72px}
  .hero{padding:28px 18px 36px}.hero h1{font-size:3rem}.hero-vehicle{min-height:250px}
  .trust-strip,.steps,.booking-form,.review-form,.pricing-points,.micro-ratings{grid-template-columns:1fr}
  .trust-strip article{border-right:0;border-bottom:1px solid var(--line)}.trust-strip article:last-child{border-bottom:0}
  .section{padding:58px 18px}.full{grid-column:auto}
  .service-card,.fare-card,.review-form{padding:27px 21px}
  .booking-section{padding:34px 20px;border-left:0;border-right:0}
  .tip-options{grid-template-columns:repeat(3,1fr)}
  footer img{width:260px}
}

.hero-line{display:block;white-space:nowrap}
.hero-line-white{color:#f4f5f7}
.hero-line-red{color:#df242a;margin-top:5px}
.hero-sub{margin-top:28px}
.hero-actions .btn{padding:14px 19px;font-size:.82rem}
.policy-link{color:#ef4248;text-decoration:underline;text-underline-offset:3px}
.policies-section{padding-top:74px}
.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.policy-grid article{background:#0c0e11;border:1px solid var(--line);padding:24px 25px}
.policy-grid h3{margin:0 0 11px;font-size:.94rem;text-transform:uppercase;letter-spacing:.035em;color:#f4f5f7}
.policy-grid p{margin:0;color:var(--muted);font-size:.9rem}
footer .footer-vehicle{width:410px;max-height:185px;object-fit:contain;margin:0 auto 10px;mix-blend-mode:screen}
@media (max-width:980px){.brand img{width:275px}.hero-line{white-space:normal}.hero-vehicle img{width:105%;max-width:760px}.policy-grid{grid-template-columns:1fr}}
@media (max-width:590px){.brand img{width:220px}.hero h1{font-size:2.65rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%}footer .footer-vehicle{width:320px}}


/* Contact help */
.compact-contact{padding-top:24px;padding-bottom:42px}
.contact-help-card{
  border:1px solid var(--line);
  background:linear-gradient(180deg,#111318,#0b0d10);
  padding:30px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
}
.contact-help-card h2{margin:0 0 10px;font-size:clamp(1.55rem,2.45vw,2.15rem);white-space:nowrap}
.contact-help-card p{margin:0;color:var(--muted)}
.contact-actions{display:flex;gap:10px;flex-wrap:nowrap;justify-content:flex-end;align-items:center}
.contact-actions .btn{white-space:nowrap;min-width:114px}
.contact-actions .btn-primary{min-width:230px}

/* Live payment */
.payment-section{padding-top:70px}
.payment-form{
  max-width:820px;
  margin:0 auto;
  background:#0c0e11;
  border:1px solid var(--line);
  padding:32px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.payment-money-input{position:relative}
.payment-money-input>span{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:#8f949b;z-index:2
}
.payment-money-input input{padding-left:30px}
.payment-tip-field{border:0;margin:0;padding:4px 0}
.payment-tip-field legend{font-size:.9rem;color:#e0e2e5;margin-bottom:9px}
.payment-tip-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.payment-tip-btn{
  background:#090b0e;color:#d7d9dd;border:1px solid #353a41;
  padding:12px 8px;border-radius:4px;cursor:pointer;font-weight:750
}
.payment-tip-btn:hover,.payment-tip-btn.active{
  border-color:#d52a30;background:#221012;color:#fff
}
.payment-summary{border:1px solid var(--line);padding:16px 18px}
.payment-summary>div{display:flex;justify-content:space-between;color:#aeb2b8;padding:6px 0}
.payment-summary strong{color:#fff}
.payment-summary .payment-total{
  border-top:1px solid var(--line);margin-top:6px;padding-top:13px;color:#fff
}
.payment-summary .payment-total strong{color:#ef3a40;font-size:1.35rem}
.payment-note{color:#7f848c;font-size:.8rem;margin:0}
.payment-message{color:#ef6b70;font-size:.88rem;min-height:1.2em}

@media (max-width:820px){
  .contact-help-card{grid-template-columns:1fr;align-items:flex-start}
  .contact-help-card h2{white-space:normal}
  .contact-actions{justify-content:flex-start;flex-wrap:wrap}
  .payment-form{grid-template-columns:1fr}
}
@media (max-width:590px){
  .contact-actions{display:grid;width:100%;grid-template-columns:1fr}
  .contact-actions .btn{width:100%}
  .payment-form{padding:24px 20px}
  .payment-tip-options{grid-template-columns:repeat(3,1fr)}
}


/* V4.3.5 Google Places smart booking fields */
.address-autocomplete{position:relative}
.address-suggestions{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:120;display:none;
  background:#111318;border:1px solid #3a3f47;border-radius:5px;
  box-shadow:0 18px 42px rgba(0,0,0,.48);overflow:hidden
}
.address-suggestions.open{display:block}
.address-suggestion{
  width:100%;display:flex;flex-direction:column;gap:2px;text-align:left;border:0;
  border-bottom:1px solid #242831;background:#111318;color:#f0f1f3;
  padding:12px 14px;cursor:pointer;font:inherit;line-height:1.28
}
.address-suggestion:last-child{border-bottom:0}
.address-suggestion:hover,.address-suggestion:focus,.address-suggestion.active{background:#191c22;outline:none}
.address-suggestion-main{font-weight:650;color:#f5f5f6}
.address-suggestion-secondary{font-size:.78rem;color:#8e949d}
.address-helper{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-4px;color:#737880;font-size:.76rem}
.google-attribution{flex:0 0 auto;color:#9ca1a8;font-weight:600;white-space:nowrap}
.field-note{color:#777c84;font-size:.75rem;line-height:1.35}
.smart-address-label{position:relative}
@media (max-width:590px){
  .address-helper{align-items:flex-start;flex-direction:column}
  .address-suggestion{padding:13px 12px}
}


/* V4.3.2 CAPTCHA + review page */
.captcha-wrap{
  border-top:1px solid var(--line);
  padding-top:14px;
  margin-top:2px;
}
.captcha-note{
  margin:8px 0 0;
  color:#737880;
  font-size:.76rem;
}
.review-cta-card{
  max-width:940px;
  margin:0 auto;
  background:#0c0e11;
  border:1px solid var(--line);
  padding:28px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.review-cta-card h3{
  margin:0 0 7px;
  font-size:1.25rem;
}
.review-cta-card p{
  margin:0;
  color:var(--muted);
}
.standalone-review .section-heading h1{
  margin:0;
  font-size:clamp(2.2rem,4.5vw,3.6rem);
  letter-spacing:-.035em;
}
.review-page-nav{display:flex}
@media (max-width:700px){
  .review-cta-card{
    flex-direction:column;
    align-items:flex-start;
  }
  .review-cta-card .btn{width:100%}
  .review-page-nav{
    display:flex;
    position:static;
    padding:0;
    border:0;
    background:transparent;
  }
}


/* V4.3.3 native calendar + clock picker */
#rideDate, #rideTime{
  color-scheme: dark;
  cursor:pointer;
}
#rideDate::-webkit-calendar-picker-indicator,
#rideTime::-webkit-calendar-picker-indicator{
  cursor:pointer;
  filter:invert(1);
  opacity:.9;
}


/* V4.3.4 custom calendar + time picker */
.picker-shell{position:relative}
.picker-button{
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:#090b0e;
  border:1px solid #363b43;
  color:#8d9299;
  padding:13px 14px;
  border-radius:4px;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.picker-button:hover,.picker-button:focus{
  border-color:#9d1c21;
  outline:none;
  box-shadow:0 0 0 3px rgba(208,24,30,.11);
}
.picker-button.has-value{color:#fff}
.picker-panel{
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  z-index:100;
  display:none;
  width:100%;
  background:#101216;
  border:1px solid #343941;
  border-radius:8px;
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  padding:16px;
}
.picker-panel.open{display:block}

.calendar-head{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:8px;
  margin-bottom:13px;
}
.calendar-head strong{text-align:center;font-size:1rem}
.calendar-nav{
  height:38px;
  border:1px solid #343941;
  border-radius:5px;
  background:#090b0e;
  color:#fff;
  cursor:pointer;
  font-size:1.45rem;
}
.calendar-weekdays,.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}
.calendar-weekdays{
  margin-bottom:6px;
  color:#747982;
  font-size:.72rem;
  text-align:center;
}
.calendar-day{
  aspect-ratio:1;
  min-height:38px;
  border:1px solid #282d34;
  border-radius:5px;
  background:#0a0c0f;
  color:#e6e8eb;
  cursor:pointer;
}
.calendar-day:hover:not(:disabled){border-color:#c52a30;background:#1c1012}
.calendar-day.weekend:not(:disabled){color:#ff7075}
.calendar-day.today{box-shadow:inset 0 0 0 1px #747982}
.calendar-day.selected{background:#b52328;border-color:#e13a40;color:#fff;font-weight:800}
.calendar-day.disabled{opacity:.22;cursor:not-allowed}
.calendar-spacer{display:block}

.time-panel{max-height:380px;overflow:auto}
.time-period-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  position:sticky;
  top:-16px;
  background:#101216;
  padding:0 0 12px;
  z-index:2;
}
.time-period{
  border:1px solid #343941;
  background:#090b0e;
  color:#d7d9dd;
  padding:10px;
  border-radius:5px;
  cursor:pointer;
  font-weight:800;
}
.time-period.active{background:#b52328;border-color:#d63137;color:#fff}
.time-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.time-choice{
  border:1px solid #2f343c;
  background:#090b0e;
  color:#eef0f2;
  padding:10px 7px;
  border-radius:5px;
  cursor:pointer;
}
.time-choice:hover:not(:disabled){border-color:#d63137;background:#1d1012}
.time-choice.selected{background:#b52328;border-color:#df3a40;color:#fff;font-weight:800}
.time-choice.disabled{opacity:.22;cursor:not-allowed}

@media (max-width:590px){
  .picker-panel{
    position:fixed;
    left:12px;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    width:auto;
    max-height:76vh;
    overflow:auto;
  }
  .calendar-day{min-height:40px}
  .time-grid{grid-template-columns:repeat(3,1fr)}
}

/* V4.3.6 approved Stripe payment flow */
.payment-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.payment-process-grid article{border:1px solid #2a2d32;background:#0d0f12;padding:22px;border-radius:10px}
.payment-process-grid article>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#b73530;color:white;font-weight:800;margin-bottom:12px}
.payment-process-grid h3{margin:0 0 8px;font-size:1.05rem}.payment-process-grid p{margin:0;color:#aeb3bb;line-height:1.55}
.payment-security-note{margin-top:18px;border:1px solid #3a1c1c;background:linear-gradient(135deg,rgba(183,53,48,.12),rgba(0,0,0,.15));padding:20px;border-radius:10px}
.payment-security-note strong{color:#fff}.payment-security-note p{margin:7px 0 0;color:#b7bbc2;line-height:1.55}
.standalone-payment-page{min-height:100vh;display:grid;place-items:center;padding:30px 18px;background:#08090b}
.standalone-payment-card{width:min(760px,100%);border:1px solid #25282e;background:#0d0f12;padding:34px;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.4)}
.standalone-wordmark{display:block;max-width:min(430px,85%);margin:0 auto 28px}.standalone-payment-card h1{font-size:clamp(2.2rem,6vw,4.2rem);margin:0 0 14px}.standalone-intro{color:#b5b8be;font-size:1.08rem;line-height:1.65;margin-bottom:24px}
.approved-trip{border:1px solid #30343b;border-radius:10px;overflow:hidden;margin-bottom:4px}.approved-trip>div{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;border-bottom:1px solid #24272d}.approved-trip>div:last-child{border-bottom:0}.approved-trip span{color:#9ba1aa}.approved-trip strong{text-align:right}
.payment-link-help{margin:20px 0 0;color:#8f949c;text-align:center}.payment-link-help a{color:#fff}.payment-error{color:#ff8e87}.success-details{margin:20px 0 24px}
.owner-card{max-width:800px}.owner-result{margin-top:24px;border-top:1px solid #2a2d32;padding-top:24px}.owner-result h2{margin-top:0}.owner-link-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin:16px 0}.owner-link-row input{min-width:0}
@media(max-width:800px){.payment-process-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.payment-process-grid{grid-template-columns:1fr}.standalone-payment-card{padding:24px 18px}.owner-link-row{grid-template-columns:1fr}.approved-trip>div{flex-direction:column;gap:4px}.approved-trip strong{text-align:left}}


/* V4.4.1 Live mileage + booking fare estimate */
.live-trip-estimate{
  border:1px solid #343a42;background:linear-gradient(135deg,#111419,#0b0d10);padding:20px 22px;margin-top:2px;border-radius:5px;
  box-shadow:0 10px 32px rgba(0,0,0,.22)
}
.trip-estimate-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.trip-estimate-head>div{display:flex;flex-direction:column;gap:4px}.trip-estimate-kicker{text-transform:uppercase;letter-spacing:.12em;color:#e4484d;font-size:.7rem;font-weight:850}
.trip-estimate-head strong{font-size:1.05rem}.trip-estimate-status{font-size:.78rem;color:#92979f}
.trip-estimate-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:16px}
.trip-estimate-grid>div{background:#0b0d10;padding:15px 16px;display:flex;flex-direction:column;gap:5px}
.trip-estimate-grid span{color:#8d939c;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.trip-estimate-grid strong{font-size:1.12rem;color:#fff}
.trip-estimate-grid .trip-estimate-fare strong{color:#ef4248;font-size:1.35rem}
.trip-estimate-note{margin:14px 0 0;color:#848a93;font-size:.78rem}.live-trip-estimate.error{border-color:#6d2a2d}.live-trip-estimate.error .trip-estimate-status{color:#ff8e87}
.copyright{font-size:.72rem;color:#5f646c;margin:8px auto 0}
@media(max-width:820px){.trip-estimate-grid{grid-template-columns:1fr}.trip-estimate-head{align-items:flex-start;flex-direction:column;gap:6px}}

/* V4.4.2 polish + trust */
.service-area-compact{padding-top:58px;padding-bottom:58px}
.service-area-panel{border:1px solid var(--line);background:#0d0f12;padding:34px 38px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.7fr) auto;gap:36px;align-items:center}
.service-area-main h2{margin:4px 0 12px}.service-area-main .large{font-size:1.35rem;color:#fff;margin:0 0 10px}.service-area-main>p:last-child{color:var(--muted);margin:0;max-width:680px}
.service-area-availability{border-left:1px solid var(--line);padding-left:30px;display:flex;flex-direction:column;gap:5px}.service-area-availability .service-label{color:#ef5b57;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800}.service-area-availability strong{font-size:1.05rem}.service-area-availability small{color:var(--muted);margin-top:5px}.service-area-cta{white-space:nowrap}
.contact-help-card{display:grid!important;grid-template-columns:1fr!important;gap:24px!important;align-items:start!important}
.contact-copy{min-width:0}.contact-help-card h2{white-space:normal!important;max-width:100%;font-size:clamp(1.75rem,3vw,2.65rem)!important;line-height:1.08}
.contact-actions{justify-self:end;align-self:end;display:flex!important;flex-wrap:nowrap!important;gap:12px!important}.contact-actions .btn{min-width:142px}.contact-actions .btn-primary{min-width:288px}
.payment-security-note{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-top:24px!important;border:1px solid rgba(99,91,255,.65)!important;background:radial-gradient(circle at 85% 20%,rgba(99,91,255,.18),transparent 28%),linear-gradient(135deg,rgba(183,53,48,.16),rgba(11,13,16,.98) 48%)!important;padding:26px 28px!important;box-shadow:0 16px 50px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04)}
.security-icon{width:52px;height:52px;border:1px solid #3a3e47;border-radius:50%;display:grid;place-items:center;background:#11141a;font-size:1.35rem}.security-kicker{color:#ff6863;font-size:.7rem;letter-spacing:.16em;font-weight:900}.security-copy h3{font-size:1.35rem;margin:4px 0 7px}.security-copy p{margin:0!important}.security-copy p strong{color:#fff}.security-tip{margin-top:8px!important;color:#8f949c!important;font-size:.86rem}.stripe-trust{min-width:150px;border-left:1px solid rgba(255,255,255,.12);padding-left:24px;display:flex;flex-direction:column;align-items:flex-start}.stripe-trust span{font-size:.72rem;color:#9fa4ad}.stripe-trust strong{font-family:Arial,sans-serif;font-size:1.65rem;letter-spacing:-.06em;color:#fff}
.verified-review-card{align-items:center}.verified-review-badge{display:inline-block;color:#8ee6b0;border:1px solid rgba(83,190,125,.35);background:rgba(83,190,125,.08);padding:7px 10px;border-radius:999px;font-size:.7rem;letter-spacing:.1em;font-weight:800;margin-bottom:10px}.review-flow{color:#c7cbd1;font-weight:700;white-space:nowrap}.review-flow span{color:#ef5b57;padding:0 7px}
@media(max-width:980px){.service-area-panel{grid-template-columns:1fr 1fr}.service-area-cta{grid-column:1/-1;width:max-content}.contact-actions{justify-self:start}.payment-security-note{grid-template-columns:auto 1fr}.stripe-trust{grid-column:2;border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}}
@media(max-width:680px){.service-area-compact{padding-top:38px;padding-bottom:38px}.service-area-panel{grid-template-columns:1fr;padding:27px 21px;gap:22px}.service-area-availability{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.service-area-cta{grid-column:auto;width:100%}.contact-actions{display:grid!important;grid-template-columns:1fr!important;width:100%;justify-self:stretch}.contact-actions .btn,.contact-actions .btn-primary{width:100%;min-width:0}.payment-security-note{grid-template-columns:1fr;text-align:left}.security-icon{width:46px;height:46px}.stripe-trust{grid-column:auto}.review-flow{white-space:normal;line-height:1.8}}
.review-gate-message{max-width:940px;margin:0 auto 16px;padding:16px 18px;border:1px solid var(--line);background:#0c0e11;color:#aeb3bb;display:flex;justify-content:space-between;align-items:center;gap:12px}.review-gate-message small{color:#777d86;font-family:monospace}


/* V4.4.3 Mobile Polish + post-ride feedback */
.mobile-collapsible{display:block}
.mobile-collapsible>summary{display:none}
.mobile-collapsible:not([open])>.mobile-collapse-body{display:block}
.postride-tip-panel{border:1px solid #2d3138;border-radius:10px;padding:20px;margin:4px 0 0;background:linear-gradient(135deg,rgba(183,53,48,.06),rgba(12,14,17,.96))}
.postride-tip-panel legend{padding:0 8px;color:#fff;font-size:1rem;font-weight:800}
.review-custom-tip{display:block;margin-top:14px}
.review-custom-tip .payment-money-input{margin-top:7px}

@media(max-width:680px){
  /* Keep desktop/tablet design unchanged; only phones use these compactions. */
  .section{padding-top:48px;padding-bottom:48px}
  .section-heading{margin-bottom:20px}
  .section-heading h2{font-size:clamp(2rem,10vw,3rem)}
  .section-sub{font-size:.98rem;line-height:1.55}
  .trust-strip{grid-template-columns:1fr 1fr!important}
  .trust-strip article{padding:22px 16px}
  .trust-strip article p{font-size:.82rem;line-height:1.45}
  .trust-strip article h3{font-size:.95rem}
  .mobile-collapsible{border:1px solid var(--line);border-radius:10px;background:#0c0e11;overflow:hidden}
  .mobile-collapsible>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:16px 18px;color:#fff;font-weight:800;list-style:none}
  .mobile-collapsible>summary::-webkit-details-marker{display:none}
  .mobile-collapsible>summary::after{content:'+';font-size:1.35rem;color:#ef5b57;line-height:1}
  .mobile-collapsible[open]>summary::after{content:'–'}
  .mobile-collapsible:not([open])>.mobile-collapse-body{display:none}
  .mobile-collapsible[open]>.mobile-collapse-body{display:block;padding:0 14px 14px}
  #how .mobile-collapsible .steps,
  #payment .mobile-collapsible .payment-process-grid{margin-top:0}
  .contact-help.section{padding-top:34px;padding-bottom:34px}
  .contact-help-card{padding:24px 20px}
  .contact-copy h2{font-size:1.8rem!important;line-height:1.08}
  .contact-copy p{font-size:.92rem}
  .contact-actions{grid-template-columns:1.35fr .8fr .95fr!important;gap:8px!important}
  .contact-actions .btn,.contact-actions .btn-primary{padding:13px 8px!important;font-size:.76rem!important;white-space:nowrap}
  #payment .payment-security-note{margin-top:14px!important}
  #reviews .review-cta-card{margin-top:0}
  #policies .policy-grid{grid-template-columns:1fr}
  .faq-section{padding-top:44px}
  .faq details{padding:15px 0}
  .postride-tip-panel{padding:16px}
  .payment-tip-options{grid-template-columns:repeat(3,1fr)}
}
/* V4.4.4 transactional SMS consent */
.optional-marketing{opacity:.92}
.optional-marketing span{font-size:.92rem}

/* Booking master pause */
.booking-form-paused{display:none!important}.booking-pause-public{max-width:760px;margin:28px auto 0;padding:34px 30px;border:1px solid rgba(225,29,46,.55);border-radius:18px;background:linear-gradient(145deg,rgba(16,16,18,.98),rgba(6,6,7,.98));text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.28)}.booking-pause-public .booking-pause-mark{display:inline-block;color:#e11d2e;font-weight:900;letter-spacing:.18em;font-size:.78rem;margin-bottom:12px}.booking-pause-public h3{margin:0 0 10px;font-size:clamp(1.5rem,3vw,2.2rem);color:#fff}.booking-pause-public p{margin:0 auto 10px;max-width:620px;color:#e8e8eb;line-height:1.65}.booking-pause-public .booking-pause-resume{color:#fff;font-weight:700}.booking-pause-public small{display:block;margin-top:16px;color:#9b9ba3}
/* V4.6.1 Google route preview */
.trip-route-map{height:230px;margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#101217}.trip-estimate-traffic{margin:12px 0 0;color:#b7bdc7;font-size:.8rem;font-weight:650}
@media(max-width:620px){.trip-route-map{height:190px}}

.advance-booking-notice{display:block;margin-top:10px;padding:10px 12px;border:1px solid rgba(198,67,55,.35);border-radius:10px;background:rgba(198,67,55,.07);color:#c8d1df}

/* v4.6.2 installable customer experience */
.install-section{padding-top:12px}.install-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid #292d35;border-radius:16px;background:#0d0f13}.install-card h2{margin:4px 0 8px}.install-card p:last-child{margin:0;color:#aab1bc}.install-card .btn{white-space:nowrap}@media(max-width:720px){.install-card{align-items:stretch;flex-direction:column}.install-card .btn{width:100%}}


/* v4.6.2a — surface one-tap booking where customers actually book */
.booking-install-prompt{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 22px;padding:16px 18px;border:1px solid #30343c;border-radius:14px;background:#0d0f13}
.booking-install-copy{min-width:0;display:grid;gap:4px}.booking-install-copy .eyebrow{margin:0 0 2px}.booking-install-copy strong{font-size:1.12rem;color:#f4f5f7}.booking-install-copy span{color:#aab1bc;line-height:1.45}.booking-install-btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:720px){.booking-install-prompt{align-items:stretch;flex-direction:column;gap:14px}.booking-install-btn{width:100%;white-space:normal}}

/* v4.6.2d: focused positive-action treatment */
.hero-actions .btn-primary,.service-area-cta,.booking-install-btn{background:linear-gradient(135deg,#246b47,#174b33);color:#fff;box-shadow:0 12px 36px rgba(23,75,51,.24)}
.hero-actions .btn-primary:hover,.service-area-cta:hover,.booking-install-btn:hover{filter:brightness(1.08)}
#blackDoorInstallHelp{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}
.bd-install-help-card{width:min(430px,100%);padding:24px;border:1px solid #343941;border-radius:16px;background:#0d0f13;color:#f4f5f7;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.bd-install-help-card .eyebrow{margin-bottom:8px}.bd-install-help-card h3{margin:0 0 10px;font-size:1.35rem}.bd-install-help-card p:not(.eyebrow){margin:0 0 20px;color:#b5b8be;line-height:1.55}.bd-install-help-close{width:100%;background:#242a32;color:#fff}

/* V4.6.3 Published rider reviews */
.public-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.public-review-card{background:#0c0e11;border:1px solid var(--line);padding:24px;border-radius:14px}.public-review-card .stars{color:#e4b84d;letter-spacing:.08em;font-size:1.15rem}.public-review-card blockquote{margin:14px 0;color:#f3f4f6;font-size:1.05rem;line-height:1.65}.public-review-card footer{color:#90959d;font-size:.82rem}.public-review-card .test-review{display:inline-block;margin-top:12px;color:#ef7772;font-size:.68rem;letter-spacing:.12em;font-weight:800}.review-process-card{margin-top:22px}@media(max-width:800px){.public-reviews-grid{grid-template-columns:1fr}}

/* v4.6.6 — universal, device-aware Add Black Door to Phone guidance */
.phone-guide-wrap{padding:18px clamp(18px,4vw,72px) 8px}
.phone-guide-card{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:20px;padding:18px 22px;border:1px solid #30343c;border-radius:16px;background:#0d0f13}
.phone-guide-icon{width:68px;height:68px;flex:0 0 68px;border-radius:15px;object-fit:cover;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.phone-guide-copy{min-width:0}.phone-guide-copy .eyebrow{margin:0 0 4px}.phone-guide-copy h2{margin:0 0 6px;font-size:clamp(1.15rem,2vw,1.45rem);letter-spacing:.02em}.phone-guide-copy p{margin:3px 0;color:#aab1bc;line-height:1.5}.phone-guide-copy .phone-guide-steps{margin-top:8px;color:#f4f5f7}.phone-guide-copy .phone-guide-note{font-size:.94rem}
@media(max-width:720px){.phone-guide-wrap{padding:14px 16px 4px}.phone-guide-card{align-items:flex-start;gap:14px;padding:16px}.phone-guide-icon{width:56px;height:56px;flex-basis:56px;border-radius:13px}.phone-guide-copy h2{font-size:1.05rem}.phone-guide-copy p{font-size:.94rem}}


/* v4.6.9 — approved Houston skyline + Pacifica hero. Locked v4.6.6 functionality preserved. */
.hero{
  position:relative;
  max-width:none;
  min-height:650px;
  padding-left:max(28px,calc((100vw - var(--max))/2 + 28px));
  padding-right:max(28px,calc((100vw - var(--max))/2 + 28px));
  overflow:hidden;
  isolation:isolate;
  background:url('/assets/black-door-houston-pacifica-hero-v469.png') center center / cover no-repeat;
}
.hero:before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(4,5,7,.78) 0%,rgba(4,5,7,.60) 23%,rgba(4,5,7,.22) 40%,rgba(4,5,7,.02) 58%,rgba(4,5,7,0) 100%);
}
.hero-copy{position:relative;z-index:2;max-width:720px}
.hero-vehicle{visibility:hidden;pointer-events:none}
.hero-vehicle:after{display:none}
.hero .eyebrow{margin-bottom:26px}
@media (max-width:980px){
  .hero{
    min-height:760px;
    padding-top:390px;
    background-position:67% top;
    background-size:auto 430px;
    background-color:#050608;
  }
  .hero:before{background:linear-gradient(180deg,rgba(5,6,8,.02) 0%,rgba(5,6,8,.08) 42%,rgba(5,6,8,.92) 61%,rgba(5,6,8,.99) 100%)}
  .hero-copy{order:2;text-align:center;margin:0 auto}
  .hero-actions{justify-content:center}
  .hero-vehicle{display:none}
}
@media (max-width:590px){
  .hero{min-height:auto;padding:320px 18px 36px;background-size:auto 330px;background-position:68% top}
}

/* v4.6.10 — mobile-only Houston hero framing. Desktop/tablet v4.6.9 remains unchanged. */
@media (max-width:590px){
  .hero{
    min-height:auto;
    padding:270px 18px 36px;
    background-size:auto 270px;
    background-position:74% top;
    background-repeat:no-repeat;
    background-color:#050608;
  }
  .hero:before{
    background:linear-gradient(180deg,rgba(5,6,8,.00) 0%,rgba(5,6,8,.02) 50%,rgba(5,6,8,.90) 67%,rgba(5,6,8,.99) 100%);
  }
}

/* v4.6.11 — mobile-only final centering refinement. Desktop remains unchanged. */
@media (max-width:590px){
  .hero{
    background-position:90% top;
  }
}

/* v4.6.12 — approved split-composition Houston hero.
   Desktop: dark text field on left; skyline + natural-proportion Pacifica on right.
   Mobile: dedicated crop of the same artwork; crop only, never stretched. */
.hero{
  background-image:url('/assets/black-door-houston-hero-v4612-desktop.png');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
.hero:before{
  background:linear-gradient(90deg,rgba(4,5,7,.18) 0%,rgba(4,5,7,.08) 32%,rgba(4,5,7,0) 55%,rgba(4,5,7,0) 100%);
}
@media (max-width:980px){
  .hero{
    background-image:url('/assets/black-door-houston-hero-v4612-mobile.png');
    background-position:center top;
    background-size:100% auto;
    background-repeat:no-repeat;
    background-color:#050608;
  }
}
@media (max-width:590px){
  .hero{
    padding:270px 18px 36px;
    background-image:url('/assets/black-door-houston-hero-v4612-mobile.png');
    background-position:center top;
    background-size:100% auto;
  }
}

/* v4.6.13 — desktop hero composition correction.
   Keep the approved artwork intact, but restore a true dark copy field on the left
   so the Houston skyline visually begins behind the Pacifica rather than the headline. */
@media (min-width:981px){
  .hero:before{
    background:linear-gradient(90deg,
      rgba(5,6,8,.98) 0%,
      rgba(5,6,8,.97) 24%,
      rgba(5,6,8,.92) 34%,
      rgba(5,6,8,.68) 42%,
      rgba(5,6,8,.20) 49%,
      rgba(5,6,8,0) 57%,
      rgba(5,6,8,0) 100%);
  }
}
/* Preserve the already-approved mobile composition. */
@media (max-width:980px){
  .hero:before{
    background:linear-gradient(180deg,rgba(5,6,8,0) 0%,rgba(5,6,8,.02) 50%,rgba(5,6,8,.90) 67%,rgba(5,6,8,.99) 100%);
  }
}

/* v4.6.14 — landmark visibility refinement.
   Preserve v4.6.13 composition and all functionality. Keep the copy field dark,
   but release the desktop vignette earlier so the signature stepped Houston tower
   remains clearly illuminated above/behind the Pacifica. Mobile remains unchanged. */
@media (min-width:981px){
  .hero:before{
    background:linear-gradient(90deg,
      rgba(5,6,8,.98) 0%,
      rgba(5,6,8,.97) 18%,
      rgba(5,6,8,.86) 23%,
      rgba(5,6,8,.54) 28%,
      rgba(5,6,8,.24) 33%,
      rgba(5,6,8,.06) 39%,
      rgba(5,6,8,0) 44%,
      rgba(5,6,8,0) 100%);
  }
}

/* v4.6.15 — desktop hero proportion + landmark correction.
   Do not enlarge the composite to fill hero height: scale by width so the Pacifica
   keeps the approved natural visual proportion. Keep the copy field dark, while
   opening a controlled window around the signature stepped Houston tower. */
@media (min-width:981px){
  .hero{
    background-size:100% auto;
    background-position:center center;
    background-color:#050608;
  }
  .hero:before{
    background:
      radial-gradient(ellipse 16% 48% at 31% 31%, rgba(5,6,8,.08) 0%, rgba(5,6,8,.18) 34%, rgba(5,6,8,.55) 67%, rgba(5,6,8,0) 100%),
      linear-gradient(90deg,
        rgba(5,6,8,.98) 0%,
        rgba(5,6,8,.96) 14%,
        rgba(5,6,8,.82) 21%,
        rgba(5,6,8,.48) 27%,
        rgba(5,6,8,.18) 34%,
        rgba(5,6,8,.03) 41%,
        rgba(5,6,8,0) 47%,
        rgba(5,6,8,0) 100%);
  }
}

/* v4.6.16 — Houston landmark placement refinement.
   Keep the approved v4.6.12 artwork and natural Pacifica proportions. Shift the
   artwork right so the signature stepped Houston tower sits behind/above the van
   instead of inside the headline field. Right-side skyline is intentionally cropped.
   Mobile receives the same landmark-priority framing without stretching. */
@media (min-width:981px){
  .hero{
    background-size:96% auto;
    background-position:62% center;
  }
  .hero:before{
    background:linear-gradient(90deg,
      rgba(5,6,8,.99) 0%,
      rgba(5,6,8,.98) 18%,
      rgba(5,6,8,.93) 25%,
      rgba(5,6,8,.72) 31%,
      rgba(5,6,8,.36) 36%,
      rgba(5,6,8,.10) 41%,
      rgba(5,6,8,0) 46%,
      rgba(5,6,8,0) 100%);
  }
}
@media (max-width:980px){
  .hero{
    background-position:58% top;
  }
}
@media (max-width:590px){
  .hero{
    background-position:60% top;
  }
}

/* v4.6.17 — approved Houston landmark composition.
   Dedicated desktop/mobile assets. No stretching; preserve artwork aspect ratio. */
@media (min-width:981px){
  .hero{
    background-image:url('/assets/black-door-houston-hero-v4617-desktop.png');
    background-size:100% auto;
    background-position:center center;
    background-repeat:no-repeat;
    background-color:#050608;
  }
  .hero:before{background:none;}
}
@media (max-width:980px){
  .hero{
    background-image:url('/assets/black-door-houston-hero-v4617-mobile.png');
    background-position:center top;
    background-size:100% auto;
    background-repeat:no-repeat;
    background-color:#050608;
  }
  .hero:before{background:linear-gradient(180deg,rgba(5,6,8,0) 0%,rgba(5,6,8,.02) 50%,rgba(5,6,8,.90) 67%,rgba(5,6,8,.99) 100%);}
}
@media (max-width:590px){
  .hero{padding:270px 18px 36px;background-position:center top;background-size:100% auto;}
}


/* v4.6.19 — approved mockup composition integrated into live site.
   Desktop keeps landmark behind vehicle; mobile preserves complete vehicle front end. */
@media (min-width:981px){
  .hero{
    background-image:url('/assets/black-door-houston-hero-v4619-desktop.jpg');
    background-size:100% auto;
    background-position:center center;
    background-repeat:no-repeat;
    background-color:#050608;
  }
  .hero:before{background:none;}
}
@media (max-width:980px){
  .hero{
    background-image:url('/assets/black-door-houston-hero-v4619-mobile.jpg');
    background-size:100% auto;
    background-position:center top;
    background-repeat:no-repeat;
    background-color:#050608;
  }
  .hero:before{background:linear-gradient(180deg,rgba(5,6,8,0) 0%,rgba(5,6,8,0) 48%,rgba(5,6,8,.92) 66%,rgba(5,6,8,.99) 100%);}
}
@media (max-width:590px){
  .hero{padding:405px 18px 36px;background-size:100% auto;background-position:center top;}
}

/* v4.6.20 — MOBILE HERO HOTFIX
   Desktop v4.6.19 is intentionally untouched.
   On phones/tablets use the wide approved composition rather than the flawed
   portrait derivative (which contained baked-in headline remnants and excess
   black canvas). Crop from the right edge so the full Pacifica nose and the
   signature stepped Houston tower remain visible, then place live copy below. */
@media (max-width:980px){
  .hero{
    background-image:url('/assets/black-door-houston-hero-v4619-desktop.jpg');
    background-repeat:no-repeat;
    background-color:#050608;
    background-size:145vw auto;
    background-position:right top;
    min-height:auto;
  }
  .hero:before{
    background:linear-gradient(180deg,
      rgba(5,6,8,0) 0%,
      rgba(5,6,8,0) 28%,
      rgba(5,6,8,.18) 39%,
      rgba(5,6,8,.92) 49%,
      rgba(5,6,8,1) 58%,
      rgba(5,6,8,1) 100%);
  }
}
@media (max-width:590px){
  .hero{
    padding:250px 18px 36px;
    background-size:145vw auto;
    background-position:right top;
  }
  .hero-copy{margin-top:0;}
  .hero h1{font-size:2.65rem;line-height:1.04;}
}
@media (max-width:430px){
  .hero{
    padding-top:245px;
    background-size:148vw auto;
  }
}

/* v4.6.21 — FINAL MOBILE HERO CLEANUP
   Desktop remains exactly v4.6.20/v4.6.19 approved.
   Mobile uses a cleaned copy of the same approved artwork with only the
   accidental baked-in red headline remnant removed. Framing is unchanged. */
@media (max-width:980px){
  .hero{
    background-image:url('/assets/black-door-houston-hero-v4621-mobile-clean.jpg');
  }
}
