/* DFW Limo Black Car v2.1 consolidated booking CSS. */

/* ===== premium-v2.css ===== */
:root {
  --dfw-bg: #050505;
  --dfw-bg-soft: #0a0a0a;
  --dfw-panel: #101010;
  --dfw-panel-2: #151515;
  --dfw-line: rgba(255, 255, 255, .105);
  --dfw-line-gold: rgba(212, 174, 88, .35);
  --dfw-gold: #d4ae58;
  --dfw-gold-light: #f1d486;
  --dfw-gold-deep: #9f772b;
  --dfw-white: #f7f4ed;
  --dfw-muted: #aaa59b;
  --dfw-danger: #ef6b6b;
  --dfw-radius: 22px;
  --dfw-radius-sm: 14px;
  --dfw-shadow: 0 28px 80px rgba(0, 0, 0, .38);
  --dfw-container: 1240px;
}

html { scroll-behavior: smooth; background: var(--dfw-bg); }
body {
  margin: 0;
  color: var(--dfw-white);
  background: var(--dfw-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 82% 8%, rgba(212, 174, 88, .08), transparent 28rem),
    radial-gradient(circle at 6% 70%, rgba(109, 91, 50, .07), transparent 32rem),
    #050505;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease; }
p { margin-top: 0; color: var(--dfw-muted); }
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  color: var(--dfw-white);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.08;
}
.container { width: min(calc(100% - 36px), var(--dfw-container)); max-width: var(--dfw-container); }
.site-main, .site-main > section, .site-main > div { background-color: transparent; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 99999; padding: 10px 14px; background: var(--dfw-gold); color: #080808; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

/* Keep every public content page on the same dark visual system. */
.site-main,
.site-main .bg-white,
.site-main .bg-light,
.site-main .bg-dark-light,
.site-main .service-area,
.site-main .service-banner,
.site-main .about-area,
.site-main .contact-area,
.site-main .blog-area,
.site-main .faq-area,
.site-main .fleet-area,
.site-main .book-now-area,
.site-main [style*="background: white"],
.site-main [style*="background:#fff"],
.site-main [style*="background: #fff"],
.site-main [style*="background-color: white"],
.site-main [style*="background-color:#fff"],
.site-main [style*="background-color: #fff"],
.site-main [style*="#f1f1f1"],
.site-main [style*="#f8f9fa"] { background: var(--dfw-bg) !important; color: var(--dfw-white) !important; }
.site-main .card,
.site-main .contact-form,
.site-main .accordion-item,
.site-main .blog-contant,
.site-main .service-contant,
.site-main .fleet-contant,
.site-main .area-contant,
.site-main .book-now-contant,
.site-main .form-area,
.site-main [style*="background: rgb(255"],
.site-main [style*="background-color: rgb(255"] {
  color: var(--dfw-white) !important;
  background: linear-gradient(145deg, rgba(21,21,21,.97), rgba(9,9,9,.98)) !important;
  border-color: var(--dfw-line) !important;
  box-shadow: var(--dfw-shadow);
}
.site-main .text-dark, .site-main [style*="color: black"], .site-main [style*="color:#000"], .site-main [style*="color: #000"] { color: var(--dfw-white) !important; }
.site-main input, .site-main textarea, .site-main select,
.site-main .form-control, .site-main .form-select {
  color: var(--dfw-white) !important;
  background-color: #0b0b0b !important;
  border: 1px solid var(--dfw-line) !important;
}
.site-main input::placeholder, .site-main textarea::placeholder { color: #77736b !important; opacity: 1; }
.site-main .form-control:focus, .site-main .form-select:focus,
.site-main input:focus, .site-main textarea:focus, .site-main select:focus {
  border-color: var(--dfw-gold) !important;
  box-shadow: 0 0 0 3px rgba(212,174,88,.13) !important;
  outline: none;
}
.site-main select option { color: #f7f4ed; background: #111; }
.site-main .modal-content { background: var(--dfw-panel); border: 1px solid var(--dfw-line); color: var(--dfw-white); }
.site-main table { color: var(--dfw-white); }

.premium-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 17px;
  color: var(--dfw-gold-light);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.35;
  text-transform: uppercase;
}
.premium-kicker::before { content: ""; width: 31px; height: 1px; background: linear-gradient(90deg, transparent, var(--dfw-gold)); }
.premium-section { position: relative; padding: clamp(74px, 8vw, 126px) 0; background: var(--dfw-bg); }
.premium-section__header { display: grid; grid-template-columns: minmax(0, .95fr) minmax(320px, .65fr); align-items: end; gap: 70px; margin-bottom: 48px; }
.premium-section__header h2 { max-width: 720px; margin-bottom: 0; font-size: clamp(2.25rem, 5vw, 4.65rem); }
.premium-section__header > p { max-width: 600px; margin: 0 0 6px; font-size: 1.05rem; }
.premium-section__cta { display: flex; justify-content: center; margin-top: 42px; }
.page-surface { background: linear-gradient(145deg, rgba(22,22,22,.98), rgba(8,8,8,.98)); border: 1px solid var(--dfw-line); border-radius: var(--dfw-radius); box-shadow: var(--dfw-shadow); }

.premium-btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 23px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
  cursor: pointer;
}
.premium-btn:hover { transform: translateY(-2px); }
.premium-btn--gold { color: #100e09; background: linear-gradient(135deg, var(--dfw-gold-light), var(--dfw-gold) 55%, #b7842c); box-shadow: 0 12px 35px rgba(212,174,88,.16); }
.premium-btn--gold:hover { color: #080706; box-shadow: 0 18px 45px rgba(212,174,88,.24); }
.premium-btn--ghost { color: var(--dfw-white); border-color: rgba(255,255,255,.19); background: rgba(255,255,255,.025); }
.premium-btn--ghost:hover, .premium-btn--glass:hover { color: var(--dfw-gold-light); border-color: var(--dfw-line-gold); background: rgba(212,174,88,.08); }
.premium-btn--glass { color: var(--dfw-white); border-color: rgba(255,255,255,.18); background: rgba(4,4,4,.32); backdrop-filter: blur(12px); }
.premium-link { display: inline-flex; align-items: center; gap: 9px; color: var(--dfw-gold-light); font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.premium-link:hover { color: #fff2bf; gap: 13px; }

/* Top bars and navigation */
.luxury-topbar { position: relative; z-index: 1031; min-height: 37px; color: #aaa69f; background: #030303; border-bottom: 1px solid rgba(255,255,255,.07); font-size: .73rem; }
.luxury-topbar__inner { min-height: 37px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.luxury-topbar__location, .luxury-topbar__contact, .luxury-topbar__contact a, .luxury-topbar__contact span { display: flex; align-items: center; gap: 8px; }
.luxury-topbar__contact { gap: 22px; }
.luxury-topbar i { color: var(--dfw-gold); }
.luxury-topbar a:hover { color: var(--dfw-white); }
.luxury-navbar { top: 0; z-index: 1030; height: 82px; background: rgba(6,6,6,.84); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(18px) saturate(130%); transition: height .3s ease, background .3s ease, box-shadow .3s ease; }
.luxury-navbar.is-scrolled { height: 70px; background: rgba(4,4,4,.96); box-shadow: 0 12px 38px rgba(0,0,0,.28); }
.luxury-navbar__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.luxury-brand { display: flex; width: 168px; height: 62px; align-items: center; flex: 0 0 auto; }
.luxury-brand img { width: 100%; max-height: 57px; object-fit: contain; object-position: left center; }
.luxury-navlinks { display: flex; align-items: center; justify-content: center; gap: clamp(17px, 2vw, 30px); }
.luxury-navitem { position: relative; height: 82px; display: flex; align-items: center; }
.is-scrolled .luxury-navitem { height: 70px; }
.luxury-navitem > a { display: flex; align-items: center; gap: 7px; color: #d5d1c8; font-size: .77rem; font-weight: 700; letter-spacing: .065em; text-transform: uppercase; white-space: nowrap; }
.luxury-navitem > a::after { content: ""; position: absolute; right: 50%; bottom: 17px; left: 50%; height: 1px; background: var(--dfw-gold); transition: left .25s ease, right .25s ease; }
.luxury-navitem:hover > a { color: var(--dfw-white); }
.luxury-navitem:hover > a::after { right: 0; left: 0; }
.luxury-navitem i { font-size: .56rem; color: var(--dfw-gold); }
.luxury-dropdown { position: absolute; top: calc(100% - 4px); left: -24px; width: 310px; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(12px); background: rgba(11,11,11,.985); border: 1px solid var(--dfw-line); border-radius: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.55); transition: .25s ease; }
.luxury-navitem:hover .luxury-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.luxury-dropdown a { display: block; padding: 11px 13px; color: #b9b5ac; border-radius: 9px; font-size: .82rem; line-height: 1.35; }
.luxury-dropdown a:hover { color: var(--dfw-gold-light); background: rgba(212,174,88,.07); padding-left: 17px; }
.luxury-navbar__actions { display: flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.luxury-phone { width: 43px; height: 43px; display: grid; place-items: center; color: var(--dfw-gold-light); border: 1px solid var(--dfw-line); border-radius: 50%; }
.luxury-phone:hover { border-color: var(--dfw-line-gold); transform: rotate(-8deg); }
.luxury-cta { min-height: 44px; display: flex; align-items: center; gap: 10px; padding: 11px 18px; color: #0c0a05; background: linear-gradient(135deg, var(--dfw-gold-light), var(--dfw-gold)); border-radius: 999px; font-size: .69rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.luxury-cta:hover { color: #080706; transform: translateY(-2px); }
.luxury-menu-toggle { display: none; width: 44px; height: 44px; color: var(--dfw-white); background: transparent; border: 1px solid var(--dfw-line); border-radius: 50%; }

/* Hero */
.premium-hero { position: relative; min-height: clamp(690px, calc(100vh - 118px), 900px); overflow: hidden; background: #050505; }
.premium-hero__slides, .premium-hero__slide { position: absolute; inset: 0; }
.premium-hero__slide { opacity: 0; visibility: hidden; transition: opacity 1.05s ease, visibility 1.05s ease; }
.premium-hero__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.premium-hero__slide > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.045); transition: transform 8s ease; }
.premium-hero__slide.is-active > img { transform: scale(1); }
.premium-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,3,3,.96) 0%, rgba(4,4,4,.78) 38%, rgba(4,4,4,.30) 67%, rgba(3,3,3,.58) 100%), linear-gradient(0deg, #050505 0%, transparent 32%); }
.premium-hero__content { position: relative; z-index: 2; height: 100%; min-height: inherit; display: flex; align-items: center; padding-top: 45px; padding-bottom: 90px; }
.premium-hero__copy { max-width: 820px; }
.premium-hero h1, .premium-hero h2 { max-width: 920px; margin-bottom: 24px; font-size: clamp(3.15rem, 7.4vw, 7.35rem); letter-spacing: -.055em; text-wrap: balance; }
.premium-hero p { max-width: 700px; margin-bottom: 31px; color: #cec9bf; font-size: clamp(1rem, 1.4vw, 1.17rem); }
.premium-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.premium-hero__trust { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 38px; color: #aaa59b; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.premium-hero__trust span { display: inline-flex; gap: 7px; align-items: baseline; }
.premium-hero__trust strong { color: var(--dfw-gold-light); font-family: Georgia, serif; font-size: 1.05rem; font-weight: 500; }
.premium-hero__controls { position: absolute; right: 0; bottom: 35px; left: 0; z-index: 4; display: flex; justify-content: flex-end; align-items: center; gap: 13px; pointer-events: none; }
.premium-hero__controls > button { width: 42px; height: 42px; display: grid; place-items: center; color: var(--dfw-white); background: rgba(5,5,5,.55); border: 1px solid rgba(255,255,255,.18); border-radius: 50%; pointer-events: auto; backdrop-filter: blur(10px); }
.premium-hero__controls > button:hover { color: var(--dfw-gold-light); border-color: var(--dfw-line-gold); }
.premium-hero__dots { display: flex; gap: 8px; margin: 0 4px; pointer-events: auto; }
.premium-hero__dots button { width: 24px; height: 3px; padding: 0; background: rgba(255,255,255,.35); border: 0; transition: width .25s ease, background .25s ease; }
.premium-hero__dots button.is-active { width: 44px; background: var(--dfw-gold); }
.premium-hero__scroll { position: absolute; bottom: 29px; left: max(18px, calc((100vw - var(--dfw-container)) / 2)); z-index: 4; display: flex; align-items: center; gap: 10px; color: #aaa59b; font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.premium-hero__scroll i { color: var(--dfw-gold); animation: dfw-bounce 2.3s ease-in-out infinite; }
@keyframes dfw-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }

/* Booking */
.premium-booking-shell { position: relative; z-index: 2; padding: 0 0 clamp(80px, 9vw, 130px); background: var(--dfw-bg); }
.premium-booking-shell--home { margin-top: -1px; }
.premium-booking-shell > .container { display: grid; grid-template-columns: .72fr 1.45fr; gap: 26px; align-items: stretch; }
.premium-booking-shell__aside { padding: clamp(38px, 4.2vw, 68px) clamp(20px, 3vw, 44px); background: linear-gradient(145deg, #0c0c0c, #070707); border: 1px solid var(--dfw-line); border-radius: var(--dfw-radius); }
.premium-booking-shell__aside h2 { margin-bottom: 22px; font-size: clamp(2.1rem, 4vw, 3.8rem); }
.premium-booking-shell__aside > p { font-size: .98rem; }
.premium-check-list { display: grid; gap: 14px; padding: 0; margin: 30px 0 0; list-style: none; }
.premium-check-list li { display: grid; grid-template-columns: 24px 1fr; gap: 11px; color: #c9c4ba; font-size: .88rem; }
.premium-check-list i { width: 24px; height: 24px; display: grid; place-items: center; color: #0c0a05; background: var(--dfw-gold); border-radius: 50%; font-size: .65rem; }
.premium-booking-shell__form { padding: clamp(25px, 4vw, 47px); }
.premium-booking-form { margin: 0; }
.booking-form__intro { display: grid; grid-template-columns: 1fr .75fr; align-items: end; gap: 28px; padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--dfw-line); }
.booking-form__intro h2 { margin-bottom: 0; font-size: clamp(1.9rem, 3.4vw, 3.1rem); }
.booking-form__intro p { margin: 0; font-size: .9rem; }
.booking-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.premium-field { min-width: 0; }
.premium-field--wide { grid-column: 1 / -1; }
.premium-field label { display: block; margin-bottom: 7px; color: #d2cdc3; font-size: .69rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.premium-field label span { color: var(--dfw-gold); }
.premium-field input, .premium-field select, .premium-field textarea {
  width: 100%; min-height: 52px; padding: 13px 15px; color: var(--dfw-white); background: #080808; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; font: inherit; font-size: .91rem; box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.premium-field textarea { min-height: 102px; resize: vertical; }
.premium-field input:focus, .premium-field select:focus, .premium-field textarea:focus { outline: none; border-color: var(--dfw-gold); background: #0b0b0b; box-shadow: 0 0 0 3px rgba(212,174,88,.11); }
.premium-field input:invalid:not(:placeholder-shown), .was-validated .premium-field input:invalid, .was-validated .premium-field select:invalid { border-color: rgba(239,107,107,.7); }
.premium-field[hidden] { display: none !important; }
.dfw-honeypot { position: absolute !important; left: -10000px !important; opacity: 0 !important; }
.booking-stop-actions { display: flex; align-items: center; justify-content: space-between; min-height: 31px; }
.booking-stop-actions span { color: #77736b; font-size: .72rem; }
.booking-text-button { display: inline-flex; align-items: center; gap: 8px; padding: 0; color: var(--dfw-gold-light); background: none; border: 0; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.premium-switch { display: flex !important; align-items: center; gap: 11px; margin: 2px 0 !important; cursor: pointer; }
.premium-switch input { position: absolute; opacity: 0; pointer-events: none; }
.premium-switch > span { position: relative; width: 42px; height: 23px; background: #232323; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; transition: .2s ease; }
.premium-switch > span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; background: #aaa; border-radius: 50%; transition: .2s ease; }
.premium-switch input:checked + span { background: rgba(212,174,88,.2); border-color: var(--dfw-gold); }
.premium-switch input:checked + span::after { left: 22px; background: var(--dfw-gold-light); }
.booking-form__security { min-height: 45px; display: flex; align-items: center; margin-top: 22px; }
.booking-form__security p { display: flex; align-items: center; gap: 9px; margin: 0; color: #7e7a72; font-size: .74rem; }
.booking-form__security i { color: var(--dfw-gold); }
.booking-form__security [data-recaptcha-error] { color: var(--dfw-danger); }
.booking-form__submit { display: flex; align-items: center; gap: 18px; margin-top: 18px; }
.booking-form__submit p { margin: 0; color: #716e67; font-size: .72rem; }
.premium-btn--submit { min-width: 255px; }
.premium-btn.is-loading, .premium-btn[aria-busy="true"] { opacity: .7; pointer-events: none; }

/* Cards */
.premium-card-grid { display: grid; gap: 23px; }
.premium-card-grid--services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.premium-card-grid--fleet { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.premium-card { position: relative; overflow: hidden; color: var(--dfw-white); background: linear-gradient(145deg, rgba(20,20,20,.98), rgba(8,8,8,.98)); border: 1px solid var(--dfw-line); border-radius: var(--dfw-radius-sm); box-shadow: 0 16px 45px rgba(0,0,0,.22); isolation: isolate; }
.premium-card::before { content: ""; position: absolute; z-index: -1; width: 240px; height: 240px; top: calc(var(--pointer-y, 50%) - 120px); left: calc(var(--pointer-x, 50%) - 120px); opacity: 0; background: radial-gradient(circle, rgba(212,174,88,.11), transparent 68%); transition: opacity .25s ease; pointer-events: none; }
.premium-card:hover::before { opacity: 1; }
.premium-card:hover { border-color: var(--dfw-line-gold); transform: translateY(-7px); box-shadow: 0 24px 70px rgba(0,0,0,.34); }
.premium-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 16/10; background: #111; }
.premium-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,5,5,.65), transparent 65%); }
.premium-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.04); transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .45s ease; }
.premium-card:hover .premium-card__media img { transform: scale(1.055); filter: saturate(1) contrast(1.06); }
.premium-card__number { position: absolute; right: 18px; bottom: 13px; z-index: 2; color: rgba(255,255,255,.72); font-family: Georgia, serif; font-size: 1.05rem; }
.premium-card__body { padding: 25px 24px 27px; }
.premium-card__body h3 { margin-bottom: 12px; font-size: 1.45rem; }
.premium-card__body h3 a:hover { color: var(--dfw-gold-light); }
.premium-card__body p { min-height: 72px; margin-bottom: 21px; font-size: .87rem; }
.premium-fleet-card__label { position: absolute; z-index: 2; top: 15px; left: 15px; padding: 7px 10px; color: #110e08; background: var(--dfw-gold); border-radius: 999px; font-size: .61rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.premium-fleet-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; border-top: 1px solid var(--dfw-line); }
.premium-fleet-card__meta span { color: #8d8981; font-size: .72rem; }
.premium-fleet-card__meta i { color: var(--dfw-gold); margin-right: 6px; }

.premium-services { background: #070707; }
.premium-fleet { background: linear-gradient(180deg, #050505, #090909 50%, #050505); }

/* Experience */
.premium-experience { overflow: hidden; background: #090909; }
.premium-experience::before { content: ""; position: absolute; top: -180px; right: -180px; width: 500px; height: 500px; border: 1px solid rgba(212,174,88,.08); border-radius: 50%; box-shadow: 0 0 0 80px rgba(212,174,88,.015), 0 0 0 160px rgba(212,174,88,.01); }
.premium-experience__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(45px, 8vw, 105px); align-items: center; }
.premium-experience__visual { position: relative; min-height: 650px; }
.premium-experience__visual > img { width: 100%; height: 650px; object-fit: cover; border-radius: 220px 220px 18px 18px; filter: saturate(.75); }
.premium-experience__visual::after { content: ""; position: absolute; inset: 18px -18px -18px 18px; z-index: -1; border: 1px solid var(--dfw-line-gold); border-radius: 220px 220px 18px 18px; }
.premium-experience__badge { position: absolute; right: -42px; bottom: 40px; width: 145px; height: 145px; display: grid; place-content: center; text-align: center; background: var(--dfw-gold); color: #0b0905; border: 8px solid #090909; border-radius: 50%; box-shadow: 0 14px 45px rgba(0,0,0,.4); }
.premium-experience__badge strong { font-family: Georgia, serif; font-size: 2.35rem; font-weight: 500; line-height: 1; }
.premium-experience__badge span { margin-top: 5px; font-size: .63rem; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.premium-experience__copy h2 { margin-bottom: 23px; font-size: clamp(2.5rem, 5vw, 5rem); }
.premium-experience__copy > p { max-width: 700px; font-size: 1rem; }
.premium-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 35px 0 34px; }
.premium-value-grid > div { padding: 20px 16px; border: 1px solid var(--dfw-line); border-radius: 12px; background: rgba(255,255,255,.016); }
.premium-value-grid i { width: 25px; height: 25px; display: grid; place-items: center; margin-bottom: 17px; color: #0b0905; background: var(--dfw-gold); border-radius: 50%; font-size: .64rem; }
.premium-value-grid h3 { margin-bottom: 9px; font-family: inherit; font-size: .82rem; font-weight: 800; letter-spacing: .04em; }
.premium-value-grid p { margin: 0; font-size: .75rem; line-height: 1.55; }

/* Proof */
.premium-proof { padding: 62px 0; background: linear-gradient(135deg, #17130b, #0c0b08 50%, #080808); border-top: 1px solid var(--dfw-line-gold); border-bottom: 1px solid var(--dfw-line-gold); }
.premium-proof__grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 70px; }
.premium-proof h2 { max-width: 500px; margin-bottom: 0; font-size: clamp(2.3rem, 4.4vw, 4.2rem); }
.premium-proof__stats { display: grid; grid-template-columns: repeat(4, 1fr); }
.premium-proof__stats > div { min-height: 110px; display: flex; flex-direction: column; justify-content: center; padding: 10px 24px; border-left: 1px solid rgba(255,255,255,.12); }
.premium-proof__stats strong { color: var(--dfw-gold-light); font-family: Georgia, serif; font-size: clamp(2rem, 3vw, 3.3rem); font-weight: 500; line-height: 1; }
.premium-proof__stats span { margin-top: 9px; color: #a5a096; font-size: .66rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

/* Reviews */
.premium-section__header--controls { grid-template-columns: 1fr auto; }
.premium-carousel-controls { display: flex; gap: 9px; }
.premium-carousel-controls button { width: 47px; height: 47px; display: grid; place-items: center; color: var(--dfw-white); background: #101010; border: 1px solid var(--dfw-line); border-radius: 50%; }
.premium-carousel-controls button:hover { color: var(--dfw-gold-light); border-color: var(--dfw-line-gold); }
.premium-review-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(330px, 31.7%); gap: 22px; overflow-x: auto; padding: 4px 2px 22px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.premium-review-track::-webkit-scrollbar { display: none; }
.premium-review-card { min-height: 360px; display: flex; flex-direction: column; padding: 27px; scroll-snap-align: start; }
.premium-review-card__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.premium-review-card__top > i { color: var(--dfw-gold); font-size: 1.25rem; }
.premium-review-card__author { display: flex; align-items: center; gap: 13px; }
.premium-review-card__author > img, .premium-review-card__author > span { width: 52px; height: 52px; flex: 0 0 52px; display: grid; place-items: center; object-fit: cover; color: #0b0905; background: linear-gradient(135deg, var(--dfw-gold-light), var(--dfw-gold)); border: 2px solid rgba(212,174,88,.3); border-radius: 50%; font-family: Georgia, serif; font-size: 1.3rem; }
.premium-review-card__author h3 { margin: 0 0 3px; font-family: inherit; font-size: .9rem; font-weight: 800; letter-spacing: 0; }
.premium-review-card__author small { color: #7f7b74; font-size: .69rem; }
.premium-stars { margin: 25px 0 17px; color: var(--dfw-gold); font-size: .92rem; letter-spacing: .12em; }
.premium-review-card blockquote { flex: 1; margin: 0; color: #d4cfc5; font-family: Georgia, serif; font-size: 1.08rem; line-height: 1.68; }
.premium-review-card footer { margin-top: 23px; padding-top: 16px; color: #77736c; border-top: 1px solid var(--dfw-line); font-size: .69rem; }

/* FAQ */
.premium-faq { background: #090909; }
.premium-faq__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px, 8vw, 105px); align-items: start; }
.premium-faq__intro { position: sticky; top: 110px; }
.premium-faq__intro h2 { margin-bottom: 21px; font-size: clamp(2.5rem, 4.8vw, 4.8rem); }
.premium-faq__intro p { max-width: 470px; }
.premium-accordion { border-top: 1px solid var(--dfw-line); }
.premium-accordion details { border-bottom: 1px solid var(--dfw-line); }
.premium-accordion summary { position: relative; padding: 27px 46px 27px 0; color: var(--dfw-white); font-family: Georgia, serif; font-size: 1.26rem; cursor: pointer; list-style: none; }
.premium-accordion summary::-webkit-details-marker { display: none; }
.premium-accordion summary span, .premium-accordion summary span::after { position: absolute; top: 50%; right: 0; width: 17px; height: 1px; background: var(--dfw-gold); transition: transform .25s ease; }
.premium-accordion summary span::after { content: ""; top: 0; transform: rotate(90deg); }
.premium-accordion details[open] summary span::after { transform: rotate(0); }
.premium-accordion details > div { padding: 0 45px 25px 0; }
.premium-accordion details p { margin: 0; font-size: .92rem; }

/* Final CTA */
.premium-final-cta { position: relative; overflow: hidden; padding: clamp(72px, 8vw, 115px) 0; background: linear-gradient(135deg, rgba(45,35,16,.98), rgba(10,9,7,.98) 55%, #050505); border-top: 1px solid rgba(212,174,88,.26); }
.premium-final-cta::after { content: "DFW"; position: absolute; right: -2vw; bottom: -7vw; color: rgba(255,255,255,.025); font-family: Georgia, serif; font-size: min(31vw, 420px); line-height: .8; pointer-events: none; }
.premium-final-cta .container { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 55px; }
.premium-final-cta h2 { max-width: 810px; margin-bottom: 16px; font-size: clamp(2.7rem, 6vw, 6rem); }
.premium-final-cta p { max-width: 650px; margin-bottom: 0; }
.premium-final-cta .container > div:last-child { display: flex; flex-wrap: wrap; gap: 11px; justify-content: flex-end; }

/* Inner page hero and booking page */
.premium-page-hero { position: relative; overflow: hidden; padding: clamp(105px, 13vw, 190px) 0 clamp(75px, 9vw, 125px); background:
  linear-gradient(90deg, rgba(4,4,4,.95), rgba(4,4,4,.55)),
  url('../images/banner/banner-1.jpg') center 43% / cover no-repeat;
  border-bottom: 1px solid var(--dfw-line);
}
.premium-page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #050505, transparent 60%); }
.premium-page-hero .container { position: relative; z-index: 1; }
.premium-page-hero h1 { max-width: 900px; margin-bottom: 19px; font-size: clamp(3.2rem, 8vw, 7rem); }
.premium-page-hero p { max-width: 760px; color: #c7c2b9; font-size: 1.05rem; }
.premium-page-hero__meta { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 30px; color: #a9a49b; font-size: .76rem; letter-spacing: .05em; }
.premium-page-hero__meta span { display: inline-flex; align-items: center; gap: 8px; }
.premium-page-hero__meta i { color: var(--dfw-gold); }
.premium-booking-page { padding-top: 45px; }
.premium-booking-page__grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 25px; align-items: start; }
.premium-booking-page__aside { position: sticky; top: 100px; padding: 38px 31px; }
.premium-booking-page__aside h2 { font-size: clamp(2rem, 3.4vw, 3.25rem); }
.premium-steps { display: grid; gap: 25px; padding: 0; margin: 32px 0 38px; list-style: none; }
.premium-steps li { display: grid; grid-template-columns: 43px 1fr; gap: 15px; }
.premium-steps li > span { width: 43px; height: 43px; display: grid; place-items: center; color: var(--dfw-gold-light); background: rgba(212,174,88,.08); border: 1px solid var(--dfw-line-gold); border-radius: 50%; font-family: Georgia, serif; font-size: .82rem; }
.premium-steps h3 { margin-bottom: 7px; font-family: inherit; font-size: .9rem; font-weight: 800; letter-spacing: 0; }
.premium-steps p { margin: 0; font-size: .78rem; }
.premium-booking-page__call { display: flex; align-items: center; gap: 13px; padding: 17px; background: rgba(212,174,88,.07); border: 1px solid var(--dfw-line-gold); border-radius: 12px; }
.premium-booking-page__call > i { color: var(--dfw-gold); font-size: 1.35rem; }
.premium-booking-page__call small { display: block; color: #88837a; font-size: .67rem; }
.premium-booking-page__call a { color: var(--dfw-white); font-family: Georgia, serif; font-size: 1.02rem; }
.premium-booking-page__form { padding: clamp(27px, 4vw, 48px); }
.premium-booking-trust { padding-top: 0; }
.premium-booking-trust .container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.premium-booking-trust .container > div { padding: 31px; background: #0e0e0e; border: 1px solid var(--dfw-line); border-radius: var(--dfw-radius-sm); }
.premium-booking-trust i { margin-bottom: 21px; color: var(--dfw-gold); font-size: 1.5rem; }
.premium-booking-trust h2 { margin-bottom: 10px; font-family: inherit; font-size: 1rem; font-weight: 800; }
.premium-booking-trust p { margin: 0; font-size: .82rem; }

/* Footer */
.premium-footer { position: relative; padding: 72px 0 24px; background: #030303; border-top: 1px solid var(--dfw-line); }
.premium-footer__top { display: flex; align-items: end; justify-content: space-between; gap: 50px; padding-bottom: 44px; margin-bottom: 48px; border-bottom: 1px solid var(--dfw-line); }
.premium-footer__top h2 { margin-bottom: 0; font-size: clamp(2.5rem, 4.7vw, 4.8rem); }
.premium-footer__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 11px; }
.premium-footer__grid { display: grid; grid-template-columns: 1.45fr .7fr .9fr 1.1fr; gap: 55px; }
.premium-footer h3 { margin-bottom: 16px; font-size: 1.55rem; }
.premium-footer h4 { margin-bottom: 20px; font-family: inherit; font-size: .73rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.premium-footer__brand p { max-width: 400px; font-size: .82rem; }
.premium-socials { display: flex; gap: 8px; margin-top: 23px; }
.premium-socials a { width: 38px; height: 38px; display: grid; place-items: center; color: #9a958c; border: 1px solid var(--dfw-line); border-radius: 50%; }
.premium-socials a:hover { color: #0a0804; background: var(--dfw-gold); border-color: var(--dfw-gold); transform: translateY(-3px); }
.premium-footer__links { display: grid; gap: 9px; padding: 0; margin: 0; list-style: none; }
.premium-footer__links a { color: #929087; font-size: .79rem; }
.premium-footer__links a:hover { color: var(--dfw-gold-light); padding-left: 4px; }
.premium-footer address { display: grid; gap: 11px; margin: 0; }
.premium-footer address p { display: grid; grid-template-columns: 20px 1fr; gap: 8px; margin: 0; color: #929087; font-size: .78rem; font-style: normal; }
.premium-footer address i { margin-top: 5px; color: var(--dfw-gold); }
.premium-legal { display: flex; gap: 15px; margin-top: 19px; }
.premium-legal a { color: #74716a; font-size: .72rem; }
.premium-footer__bottom { display: flex; justify-content: space-between; gap: 25px; padding-top: 25px; margin-top: 49px; border-top: 1px solid var(--dfw-line); }
.premium-footer__bottom p { margin: 0; color: #66635d; font-size: .68rem; }
.mobile-call-rail, .mobile-book-rail { display: none; }
.premium-drawer { color: var(--dfw-white); background: #090909; border-right: 1px solid var(--dfw-line); }
.premium-drawer .offcanvas-header { border-bottom: 1px solid var(--dfw-line); }
.premium-drawer .btn-close { filter: invert(1); }
.mobile-nav__item { border-bottom: 1px solid var(--dfw-line); }
.mobile-nav__row { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.mobile-nav__row > a { flex: 1; padding: 16px 0; color: #ddd8ce; font-size: .86rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.mobile-nav__row button { width: 38px; height: 38px; color: var(--dfw-gold); background: none; border: 0; }
.mobile-nav__submenu { display: none; padding: 0 0 15px 15px; }
.mobile-nav__submenu.is-open { display: grid; }
.mobile-nav__submenu a { padding: 7px 0; color: #938f87; font-size: .79rem; }

/* Generic legacy page cleanup */
.site-main > section:not(.premium-hero):not(.premium-section):not(.premium-page-hero):not(.premium-final-cta),
.site-main > div:not(.premium-hero):not(.premium-section) { color: var(--dfw-white); }
.site-main .container-fluid { background: transparent !important; }
.site-main .breadcrumb, .site-main .breadcrumb-area { background: #0b0b0b !important; }
.site-main .breadcrumb a { color: var(--dfw-gold-light) !important; }
.site-main .btn-common, .site-main .btn-warning, .site-main button[type="submit"] { border-radius: 999px; }
.site-main .btn-common { color: #0c0a05 !important; background: var(--dfw-gold) !important; border-color: var(--dfw-gold) !important; }
.site-main .accordion-button { color: var(--dfw-white) !important; background: #111 !important; box-shadow: none !important; }
.site-main .accordion-button:not(.collapsed) { color: var(--dfw-gold-light) !important; }
.site-main .accordion-body { color: #b0aba2 !important; background: #0b0b0b !important; }
.site-main .blog-details p, .site-main .service-details p, .site-main .area-details p, .site-main .fleet-details p,
.site-main .blog-details li, .site-main .service-details li, .site-main .area-details li, .site-main .fleet-details li { color: #bbb6ad !important; }
.site-main .blog-details h1, .site-main .blog-details h2, .site-main .blog-details h3,
.site-main .service-details h1, .site-main .service-details h2, .site-main .service-details h3,
.site-main .area-details h1, .site-main .area-details h2, .site-main .area-details h3,
.site-main .fleet-details h1, .site-main .fleet-details h2, .site-main .fleet-details h3 { color: var(--dfw-white) !important; }

/* Lightweight reveal animation */
.premium-reveal { opacity: 0; transform: translateY(26px); transition: opacity .65s ease var(--reveal-delay, 0ms), transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms); }
.premium-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1199px) {
  .luxury-navlinks { display: none; }
  .luxury-menu-toggle { display: grid; place-items: center; }
  .premium-card-grid--services, .premium-card-grid--fleet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .premium-booking-shell > .container { grid-template-columns: 1fr; }
  .premium-booking-shell__aside { display: grid; grid-template-columns: 1fr .8fr; gap: 30px; }
  .premium-check-list { margin-top: 0; }
  .premium-experience__grid { gap: 60px; }
  .premium-value-grid { grid-template-columns: 1fr; }
  .premium-value-grid > div { display: grid; grid-template-columns: 28px 1fr; column-gap: 12px; }
  .premium-value-grid i { grid-row: 1 / 3; }
  .premium-proof__grid { grid-template-columns: 1fr; }
  .premium-proof__stats > div:first-child { border-left: 0; }
  .premium-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .premium-footer__grid > div:nth-child(3) { display: none; }
  .premium-booking-page__grid { grid-template-columns: .72fr 1.28fr; }
}

@media (max-width: 991px) {
  .luxury-topbar__location, .luxury-topbar .service-open { display: none; }
  .luxury-topbar__inner { justify-content: center; }
  .luxury-navbar { height: 72px; }
  .luxury-brand { width: 145px; height: 54px; }
  .luxury-cta { display: none; }
  .premium-hero { min-height: 720px; }
  .premium-hero__veil { background: linear-gradient(90deg, rgba(3,3,3,.94), rgba(3,3,3,.57)), linear-gradient(0deg, #050505, transparent 43%); }
  .premium-hero__copy { max-width: 700px; }
  .premium-section__header { grid-template-columns: 1fr; gap: 20px; }
  .premium-experience__grid { grid-template-columns: 1fr; }
  .premium-experience__visual { max-width: 600px; min-height: 570px; }
  .premium-experience__visual > img { height: 570px; }
  .premium-experience__badge { right: -15px; }
  .premium-faq__grid { grid-template-columns: 1fr; }
  .premium-faq__intro { position: static; }
  .premium-final-cta .container { align-items: flex-start; flex-direction: column; }
  .premium-final-cta .container > div:last-child { justify-content: flex-start; }
  .premium-booking-page__grid { grid-template-columns: 1fr; }
  .premium-booking-page__aside { position: static; }
  .premium-booking-trust .container { grid-template-columns: 1fr; }
  .premium-footer__top { align-items: flex-start; flex-direction: column; }
  .premium-footer__actions { justify-content: flex-start; }
  .premium-footer__grid { grid-template-columns: 1.3fr 1fr; }
  .premium-footer__grid > div:nth-child(3) { display: block; }
  .premium-review-track { grid-auto-columns: minmax(320px, 47%); }
}

@media (max-width: 767px) {
  body { padding-bottom: 58px; }
  .container { width: min(calc(100% - 28px), var(--dfw-container)); }
  .luxury-topbar { min-height: 33px; }
  .luxury-topbar__inner { min-height: 33px; }
  .luxury-topbar__contact { width: 100%; justify-content: space-between; gap: 10px; }
  .luxury-topbar__contact a { font-size: .65rem; }
  .luxury-navbar__actions { gap: 7px; }
  .luxury-phone { width: 40px; height: 40px; }
  .premium-hero { min-height: 690px; }
  .premium-hero__content { align-items: flex-end; padding-bottom: 112px; }
  .premium-hero h1, .premium-hero h2 { font-size: clamp(2.65rem, 13vw, 4.35rem); }
  .premium-hero p { font-size: .93rem; }
  .premium-hero__actions .premium-btn { width: 100%; }
  .premium-hero__trust { gap: 13px 18px; margin-top: 26px; }
  .premium-hero__controls { bottom: 22px; }
  .premium-hero__scroll { display: none; }
  .premium-booking-shell { padding-top: 20px; }
  .premium-booking-shell__aside { display: block; padding: 30px 24px; }
  .premium-check-list { margin-top: 25px; }
  .premium-booking-shell__form, .premium-booking-page__form { padding: 24px 18px; }
  .booking-form__intro { grid-template-columns: 1fr; gap: 12px; }
  .booking-form__grid { grid-template-columns: 1fr; }
  .premium-field--wide { grid-column: auto; }
  .booking-form__submit { align-items: stretch; flex-direction: column; }
  .premium-btn--submit { width: 100%; min-width: 0; }
  .premium-card-grid--services, .premium-card-grid--fleet { grid-template-columns: 1fr; }
  .premium-card__body p { min-height: 0; }
  .premium-experience__visual { min-height: 450px; margin-right: 13px; }
  .premium-experience__visual > img { height: 450px; border-radius: 170px 170px 16px 16px; }
  .premium-experience__visual::after { border-radius: 170px 170px 16px 16px; }
  .premium-experience__badge { width: 115px; height: 115px; right: -7px; bottom: 20px; }
  .premium-experience__badge strong { font-size: 1.9rem; }
  .premium-value-grid { grid-template-columns: 1fr; }
  .premium-proof__stats { grid-template-columns: repeat(2, 1fr); }
  .premium-proof__stats > div:nth-child(3) { border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .premium-proof__stats > div:nth-child(4) { border-top: 1px solid rgba(255,255,255,.12); }
  .premium-review-track { grid-auto-columns: minmax(285px, 88%); }
  .premium-section__header--controls { grid-template-columns: 1fr; }
  .premium-carousel-controls { justify-content: flex-start; }
  .premium-final-cta .premium-btn { width: 100%; }
  .premium-final-cta .container > div:last-child { width: 100%; }
  .premium-page-hero { padding-top: 100px; }
  .premium-page-hero h1 { font-size: clamp(3rem, 15vw, 5rem); }
  .premium-footer__grid { grid-template-columns: 1fr; gap: 37px; }
  .premium-footer__bottom { flex-direction: column; }
  .mobile-call-rail, .mobile-book-rail { position: fixed; bottom: 0; z-index: 1040; width: 50%; height: 58px; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
  .mobile-call-rail { left: 0; color: var(--dfw-white); background: #111; border-top: 1px solid var(--dfw-line); }
  .mobile-book-rail { right: 0; color: #0c0a05; background: var(--dfw-gold); }
}

@media (max-width: 480px) {
  .luxury-topbar__contact a:first-of-type { display: none; }
  .luxury-topbar__contact { justify-content: center; }
  .premium-hero__trust span:nth-child(2) { display: none; }
  .premium-proof__stats > div { padding: 17px; }
  .booking-stop-actions { align-items: flex-start; flex-direction: column; gap: 5px; }
  .premium-card__body { padding: 22px 19px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .premium-reveal { opacity: 1; transform: none; }
}

.booking-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px 18px;
  margin: 0 0 22px;
  border: 1px solid var(--dfw-line);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  color: var(--dfw-white);
  font-size: .9rem;
}
.booking-notice i { margin-top: 4px; }
.booking-notice--success { border-color: rgba(84, 190, 126, .36); background: rgba(84, 190, 126, .08); }
.booking-notice--success i { color: #75d99b; }
.booking-notice--error { border-color: rgba(239, 107, 107, .36); background: rgba(239, 107, 107, .08); }
.booking-notice--error i { color: var(--dfw-danger); }

/* Defer below-the-fold paint work without hiding content from the HTML or crawlers. */
@supports (content-visibility: auto) {
  .site-main > section:nth-of-type(n+3),
  .premium-footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 900px;
  }
}

/* ================================================================
   DFW v1.5 — Booking address / Google Places visual hotfix
   Prevent repeated browser/Bootstrap validation icons and keep the
   Google prediction panel readable above the premium booking form.
   ================================================================ */
.premium-booking-form input[data-google-places],
.premium-booking-form input[data-google-places]:valid,
.premium-booking-form input[data-google-places]:invalid,
.premium-booking-form.was-validated input[data-google-places]:valid,
.premium-booking-form.was-validated input[data-google-places]:invalid,
.premium-booking-form.dfw-was-validated input[data-google-places]:valid,
.premium-booking-form.dfw-was-validated input[data-google-places]:invalid,
.site-main .premium-booking-form input[data-google-places] {
  background-color: #080808 !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: initial !important;
  background-size: 0 0 !important;
  padding-right: 15px !important;
  -webkit-appearance: none;
  appearance: none;
}

.premium-booking-form input[data-google-places]::-webkit-contacts-auto-fill-button,
.premium-booking-form input[data-google-places]::-webkit-credentials-auto-fill-button {
  visibility: hidden !important;
  display: none !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 0 !important;
}

/* Google appends this panel directly under <body>. */
.pac-container {
  z-index: 2147483647 !important;
  display: block !important;
  box-sizing: border-box !important;
  margin-top: 7px !important;
  overflow: hidden !important;
  color: #eee7dc !important;
  background: #111 !important;
  border: 1px solid rgba(212, 174, 88, .42) !important;
  border-radius: 12px !important;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .58) !important;
  font-family: inherit !important;
}

.pac-container:empty {
  display: none !important;
}

.pac-item {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 11px 15px !important;
  overflow: hidden !important;
  color: #aaa39a !important;
  background: #111 !important;
  border-top: 1px solid rgba(255, 255, 255, .07) !important;
  cursor: pointer !important;
  font-size: 13px !important;
  line-height: 24px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.pac-item:first-child {
  border-top: 0 !important;
}

.pac-item:hover,
.pac-item-selected {
  background: #1a1814 !important;
}

.pac-item-query {
  display: inline !important;
  color: #fff !important;
  font-size: 14px !important;
}

/* Hide Google's small sprite icon. It can be corrupted by old global CSS. */
.pac-icon {
  display: none !important;
}

.pac-matched {
  color: #e3bd67 !important;
  font-weight: 800 !important;
}

.pac-logo::after {
  opacity: .72 !important;
}

.dfw-was-validated .premium-field input:invalid,
.dfw-was-validated .premium-field select:invalid,
.dfw-was-validated .premium-field textarea:invalid {
  border-color: rgba(239, 107, 107, .78) !important;
  box-shadow: none !important;
}

/* ===== premium-v3.css ===== */
/* DFW Limo Black Car — Premium UI v1.7 */
:root{
  --dfw-black:#050505;
  --dfw-ink:#0b0b0d;
  --dfw-panel:#111114;
  --dfw-panel-2:#17171b;
  --dfw-gold:#d8ad55;
  --dfw-gold-light:#f1d38d;
  --dfw-gold-dark:#8f6724;
  --dfw-text:#f7f3ea;
  --dfw-muted:#b9b4aa;
  --dfw-line:rgba(216,173,85,.24);
  --dfw-shadow:0 28px 80px rgba(0,0,0,.42);
  --dfw-radius:24px;
}
html{scroll-behavior:smooth}
body{background:var(--dfw-black);color:var(--dfw-text);overflow-x:hidden}
main,#main-content{background:
  radial-gradient(circle at 8% 10%,rgba(216,173,85,.08),transparent 30rem),
  radial-gradient(circle at 90% 40%,rgba(216,173,85,.05),transparent 28rem),
  var(--dfw-black)}
a{text-decoration:none}
.df-muted{color:var(--dfw-muted)}
.df-eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--dfw-gold-light);font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.df-eyebrow:before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--dfw-gold))}
.df-section{position:relative;padding:clamp(64px,8vw,112px) 0;overflow:hidden}
.df-section--tight{padding:clamp(42px,6vw,78px) 0}
.df-section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:2rem;align-items:end;margin-bottom:2.5rem}
.df-section-head h2,.df-page-hero h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em}
.df-section-head h2{font-size:clamp(2.15rem,4.8vw,4.8rem);line-height:.98;margin:.75rem 0 0;color:#fff}
.df-section-head p{margin:0;color:var(--dfw-muted);font-size:1.02rem;line-height:1.8}
.df-page-hero{position:relative;min-height:390px;display:grid;align-items:end;padding:150px 0 72px;background:#070708;isolation:isolate;overflow:hidden}
.df-page-hero:before{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.7) 52%,rgba(0,0,0,.33) 100%),
 var(--dfw-page-image,linear-gradient(135deg,#171719,#050505));background-size:cover;background-position:center;z-index:-2;transform:scale(1.03);animation:dfwHeroDrift 14s ease-in-out infinite alternate}
.df-page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#050505 100%),radial-gradient(circle at 78% 35%,rgba(216,173,85,.18),transparent 30%);z-index:-1}
.df-page-hero__inner{max-width:850px}
.df-page-hero h1{font-size:clamp(2.7rem,6.2vw,6rem);line-height:.94;margin:.8rem 0 1.25rem;color:#fff;text-wrap:balance}
.df-page-hero p{max-width:700px;color:#d5d0c7;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75;margin:0}
.df-breadcrumb{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem;font-size:.82rem;color:#aaa49b}
.df-breadcrumb a{color:var(--dfw-gold-light)}
.df-breadcrumb i{font-size:.62rem;color:#706b63}

/* Hero redesign */
.premium-hero{min-height:min(920px,100svh);background:#030303}
.premium-hero__slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.88)),linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.58) 52%,rgba(0,0,0,.12) 100%);pointer-events:none}
.premium-hero__slide img{filter:saturate(.82) contrast(1.06)}
.premium-hero__content{z-index:3;position:relative;display:flex;align-items:center;min-height:min(920px,100svh);padding-top:110px;padding-bottom:110px}
.premium-hero__copy{max-width:780px;padding:0;background:none;border:0;box-shadow:none}
.premium-hero__copy h1,.premium-hero__copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.1rem,7.4vw,7.7rem);font-weight:500;letter-spacing:-.055em;line-height:.84;max-width:900px;margin:.8rem 0 1.5rem;color:#fff;text-wrap:balance;text-shadow:0 12px 40px rgba(0,0,0,.45)}
.premium-hero__copy h1 em,.premium-hero__copy h2 em{font-style:italic;color:var(--dfw-gold-light)}
.premium-hero__copy>p{max-width:650px;font-size:clamp(1.02rem,1.45vw,1.2rem);line-height:1.78;color:#ded8cd;margin-bottom:1.8rem}
.df-hero-badge{display:inline-flex;align-items:center;gap:.7rem;padding:.6rem .9rem;border:1px solid rgba(216,173,85,.35);background:rgba(7,7,7,.52);backdrop-filter:blur(14px);border-radius:999px;color:var(--dfw-gold-light);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.df-hero-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#65d88c;box-shadow:0 0 0 6px rgba(101,216,140,.12);animation:dfwPulse 2s infinite}
.df-hero-service-line{display:flex;align-items:center;gap:1rem;margin-top:1.4rem;color:#ded8cd;font-size:.9rem;letter-spacing:.04em}
.df-hero-service-line span{display:inline-flex;align-items:center;gap:.45rem}
.df-hero-service-line i{color:var(--dfw-gold)}
.premium-hero__actions{gap:.8rem;flex-wrap:wrap}
.premium-btn,.fleet-book-btn .btn,.book-now-btns .btn,.comment-button .btn,.contact-form button{position:relative;isolation:isolate;overflow:hidden;border-radius:999px!important;font-weight:800;letter-spacing:.045em;transition:transform .3s ease,box-shadow .3s ease,color .3s ease,background .3s ease,border-color .3s ease}
.premium-btn--gold,.fleet-book-btn .btn,.book-now-btns .btn,.contact-form button,.df-btn-gold{color:#0b0905!important;background:linear-gradient(135deg,var(--dfw-gold-light),var(--dfw-gold) 55%,#b07e2d)!important;border:1px solid #f0d18b!important;box-shadow:0 14px 34px rgba(216,173,85,.2)}
.premium-btn--gold:hover,.fleet-book-btn .btn:hover,.book-now-btns .btn:hover,.contact-form button:hover,.df-btn-gold:hover{color:#050505!important;transform:translateY(-3px);box-shadow:0 22px 44px rgba(216,173,85,.3)}
.premium-btn--ghost,.premium-btn--glass{color:#fff!important;background:rgba(13,13,15,.55)!important;border:1px solid rgba(255,255,255,.22)!important;backdrop-filter:blur(14px)}
.premium-btn--ghost:hover,.premium-btn--glass:hover{border-color:var(--dfw-gold)!important;color:var(--dfw-gold-light)!important;transform:translateY(-3px)}
.premium-hero__trust{margin-top:2rem;display:flex;gap:.65rem;flex-wrap:wrap}
.premium-hero__trust span{min-width:130px;padding:.85rem 1rem;background:rgba(8,8,8,.5);border:1px solid rgba(255,255,255,.11);border-radius:14px;backdrop-filter:blur(12px);color:#cfc9be}
.premium-hero__trust strong{color:var(--dfw-gold-light)}
.df-hero-sidecard{position:absolute;right:max(24px,calc((100vw - 1320px)/2));bottom:120px;z-index:4;width:min(330px,30vw);padding:1.25rem;border:1px solid rgba(216,173,85,.28);border-radius:22px;background:rgba(8,8,10,.62);backdrop-filter:blur(18px);box-shadow:var(--dfw-shadow)}
.df-hero-sidecard__top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}
.df-hero-sidecard__top strong{font-family:Georgia,serif;font-size:1.35rem;color:#fff}.df-hero-sidecard__top span{font-size:.75rem;color:var(--dfw-gold-light);text-transform:uppercase;letter-spacing:.12em}
.df-hero-route{display:grid;grid-template-columns:12px 1fr;gap:.8rem;padding-top:1rem}.df-hero-route__rail{display:flex;flex-direction:column;align-items:center}.df-hero-route__rail:before,.df-hero-route__rail:after{content:"";width:8px;height:8px;border-radius:50%;border:2px solid var(--dfw-gold)}.df-hero-route__rail span{height:38px;width:1px;background:linear-gradient(var(--dfw-gold),rgba(216,173,85,.18))}.df-hero-route__text{display:grid;gap:1.2rem;color:#eee}.df-hero-route__text small{display:block;color:#8e8981;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.12rem}
.premium-hero__controls{z-index:6}

/* Grids and premium cards */
.df-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}
.df-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.df-lux-card{position:relative;background:linear-gradient(145deg,rgba(25,25,28,.97),rgba(9,9,10,.98));border:1px solid rgba(255,255,255,.09);border-radius:var(--dfw-radius);overflow:hidden;box-shadow:0 18px 55px rgba(0,0,0,.28);transform:translateZ(0);transition:transform .5s cubic-bezier(.2,.75,.2,1),border-color .5s,box-shadow .5s}
.df-lux-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(145deg,rgba(241,211,141,.55),transparent 35%,transparent 70%,rgba(216,173,85,.2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.35;pointer-events:none;transition:opacity .4s}
.df-lux-card:hover{transform:translateY(-10px);border-color:rgba(216,173,85,.42);box-shadow:0 35px 90px rgba(0,0,0,.52)}
.df-lux-card:hover:before{opacity:1}
.df-lux-card__media{position:relative;display:block;aspect-ratio:1.48/1;overflow:hidden;background:#0b0b0c}
.df-lux-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,4,4,.88));transition:opacity .4s}
.df-lux-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.18,.72,.2,1),filter .5s;filter:saturate(.85)}
.df-lux-card:hover .df-lux-card__media img{transform:scale(1.08);filter:saturate(1)}
.df-lux-card__index{position:absolute;top:1rem;right:1rem;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(5,5,5,.72);border:1px solid rgba(216,173,85,.35);color:var(--dfw-gold-light);font-size:.75rem;backdrop-filter:blur(10px)}
.df-lux-card__body{padding:1.35rem 1.35rem 1.5rem}
.df-lux-card__body h2,.df-lux-card__body h3{font-family:Georgia,serif;font-size:1.5rem;line-height:1.2;margin:0 0 .7rem;color:#fff}
.df-lux-card__body h2 a,.df-lux-card__body h3 a{color:inherit}
.df-lux-card__body p{color:var(--dfw-muted);line-height:1.7;margin:0 0 1rem;font-size:.93rem}
.df-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}
.df-card-meta span{color:var(--dfw-gold-light);font-size:.82rem;font-weight:700}.df-card-meta a{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-size:.82rem;font-weight:800}.df-card-meta a i{transition:transform .3s}.df-card-meta a:hover i{transform:translateX(4px)}
.df-chip-row{display:flex;flex-wrap:wrap;gap:.55rem}
.df-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border:1px solid rgba(216,173,85,.28);background:rgba(216,173,85,.07);border-radius:999px;color:#f3e4bf!important;font-size:.78rem!important;line-height:1.2!important;opacity:1!important;visibility:visible!important}
.df-chip i{color:var(--dfw-gold)}

/* Detail pages */
.df-detail{padding:clamp(48px,7vw,96px) 0}
.df-detail-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:2rem;align-items:stretch}
.df-detail-media{position:relative;min-height:520px;border-radius:28px;overflow:hidden;background:#101012;border:1px solid var(--dfw-line);box-shadow:var(--dfw-shadow)}
.df-detail-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.df-detail-media:hover img{transform:scale(1.035)}
.df-detail-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(0,0,0,.75))}
.df-detail-panel{padding:clamp(1.5rem,4vw,3rem);background:linear-gradient(145deg,#17171a,#0b0b0c);border:1px solid rgba(216,173,85,.22);border-radius:28px;box-shadow:var(--dfw-shadow);display:flex;flex-direction:column;justify-content:center}
.df-detail-panel h1,.df-detail-panel h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4.4rem);line-height:1;margin:.75rem 0 1.1rem;color:#fff}
.df-detail-panel p,.df-rich-content{color:#c9c4ba;line-height:1.85}
.df-detail-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.df-rate-card{margin:1.25rem 0;padding:1rem;border:1px solid rgba(216,173,85,.22);background:rgba(216,173,85,.055);border-radius:18px}
.df-rate-table{width:100%;color:#eee;border-collapse:collapse}.df-rate-table th,.df-rate-table td{padding:.7rem;border-bottom:1px solid rgba(255,255,255,.08);font-size:.88rem}.df-rate-table th{color:var(--dfw-gold-light);font-weight:700}.df-rate-table tr:last-child th,.df-rate-table tr:last-child td{border-bottom:0}
.df-content-split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.df-content-card{padding:clamp(1.4rem,3vw,2.5rem);border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(145deg,#151518,#0b0b0d);overflow:hidden}.df-content-card h2,.df-content-card h3{font-family:Georgia,serif;color:#fff}.df-content-card img{width:100%;height:100%;min-height:360px;object-fit:cover;border-radius:18px}
.df-rich-content h2,.df-rich-content h3,.df-rich-content h4{color:#fff;margin-top:1.5em}.df-rich-content a{color:var(--dfw-gold-light)}.df-rich-content li{margin:.4rem 0}.df-rich-content strong{color:#fff}

/* Blog */
.df-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.df-blog-card:first-child{grid-column:span 2}.df-blog-card:first-child .df-lux-card__media{aspect-ratio:2.2/1}.df-blog-card__date{display:inline-flex;align-items:center;gap:.45rem;color:var(--dfw-gold-light);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.7rem}
.df-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:2rem;align-items:start}.df-article{border:1px solid rgba(255,255,255,.08);border-radius:28px;background:#0d0d0f;overflow:hidden;box-shadow:var(--dfw-shadow)}.df-article__hero{aspect-ratio:1.8/1;overflow:hidden}.df-article__hero img{width:100%;height:100%;object-fit:cover}.df-article__body{padding:clamp(1.5rem,5vw,4rem)}.df-article__body h1{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,5rem);line-height:1.02;color:#fff;margin:.6rem 0 1.4rem}.df-article__body p{color:#c9c4bb;line-height:1.9}.df-article__body h2,.df-article__body h3{color:#fff;font-family:Georgia,serif;margin-top:1.6em}.df-article__body img{max-width:100%;height:auto;border-radius:18px}.df-article__body a{color:var(--dfw-gold-light)}
.df-sidebar{position:sticky;top:110px;display:grid;gap:1rem}.df-sidebar-card{padding:1.25rem;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#111113}.df-sidebar-card h3{font-family:Georgia,serif;color:#fff;margin:0 0 1rem}.df-mini-card{display:grid;grid-template-columns:86px 1fr;gap:.85rem;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.df-mini-card:last-child{border-bottom:0}.df-mini-card img{width:86px;height:72px;object-fit:cover;border-radius:12px}.df-mini-card a{color:#fff;font-weight:700;font-size:.88rem;line-height:1.35}.df-mini-card small{color:#8f8a82}

/* Comments */
.df-comments{margin-top:1.5rem;padding:clamp(1.25rem,4vw,2.5rem);border:1px solid rgba(255,255,255,.08);border-radius:24px;background:#0e0e10}.df-comments__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.df-comments__head h2{font-family:Georgia,serif;color:#fff;margin:0}.df-comment{padding:1.15rem;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#151517;margin-top:.85rem;animation:dfwCommentIn .45s ease both}.df-comment__top{display:flex;justify-content:space-between;gap:1rem;align-items:center}.df-comment__author{display:flex;align-items:center;gap:.75rem}.df-comment__avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--dfw-gold-light),var(--dfw-gold-dark));color:#090806;font-weight:900}.df-comment__author strong{color:#fff}.df-comment__author small{display:block;color:#89847c}.df-comment__text{color:#cec8bf;line-height:1.7;margin:.9rem 0}.df-comment__actions{display:flex;gap:.5rem}.df-vote-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#0d0d0e;color:#bcb7ae;font-size:.78rem;transition:.25s}.df-vote-btn:hover,.df-vote-btn.is-active{color:#070706;background:var(--dfw-gold-light);border-color:var(--dfw-gold-light)}.df-comment__reply{margin-top:1rem;margin-left:2rem;padding:1rem;border-left:2px solid var(--dfw-gold);background:rgba(216,173,85,.05);border-radius:0 14px 14px 0;color:#cfc8bd}.df-comment-form{margin-top:1.25rem;padding:clamp(1.25rem,4vw,2rem);border:1px solid rgba(216,173,85,.18);border-radius:22px;background:linear-gradient(145deg,#161619,#0b0b0c)}.df-comment-form h3{font-family:Georgia,serif;color:#fff}.df-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.df-field{display:grid;gap:.45rem}.df-field--full{grid-column:1/-1}.df-field label{color:#ddd7cc;font-size:.84rem;font-weight:700}.df-field input,.df-field textarea,.df-field select{width:100%;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#09090a;color:#fff;outline:none;transition:.25s}.df-field input:focus,.df-field textarea:focus,.df-field select:focus{border-color:var(--dfw-gold);box-shadow:0 0 0 4px rgba(216,173,85,.1)}.df-form-status{min-height:24px;margin-top:.7rem;color:var(--dfw-gold-light);font-size:.88rem}

/* Contact */
.df-contact-grid{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:1.5rem}.df-contact-info,.df-contact-form{border:1px solid rgba(255,255,255,.08);border-radius:28px;background:linear-gradient(145deg,#171719,#0b0b0d);box-shadow:var(--dfw-shadow)}.df-contact-info{padding:clamp(1.5rem,4vw,3rem);display:grid;align-content:start;gap:1rem}.df-contact-item{display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:start;padding:1rem;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}.df-contact-item i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#0a0804;background:linear-gradient(135deg,var(--dfw-gold-light),var(--dfw-gold))}.df-contact-item h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dfw-gold-light);margin:0 0 .3rem}.df-contact-item p,.df-contact-item a{color:#d5cfc4;margin:0;line-height:1.55}.df-contact-form{padding:clamp(1.5rem,4vw,3rem)}.df-contact-form h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.8rem);color:#fff}.df-contact-form button{padding:.95rem 1.5rem}.df-notice{padding:1rem 1.1rem;border-radius:14px;margin-bottom:1rem}.df-notice--success{background:rgba(77,190,117,.12);border:1px solid rgba(77,190,117,.35);color:#b8f0cb}.df-notice--error{background:rgba(230,85,85,.1);border:1px solid rgba(230,85,85,.3);color:#ffc1c1}.df-map{margin-top:1.5rem;border-radius:28px;overflow:hidden;border:1px solid var(--dfw-line);min-height:480px;box-shadow:var(--dfw-shadow)}.df-map iframe{display:block;width:100%;height:480px;border:0;filter:grayscale(.7) invert(.88) contrast(1.1)}

/* Reveal and motion */
[data-dfw-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}[data-dfw-reveal].is-visible{opacity:1;transform:none}
[data-dfw-stagger]>*{opacity:0;transform:translateY(28px)}[data-dfw-stagger].is-visible>*{animation:dfwRise .65s ease forwards}[data-dfw-stagger].is-visible>*:nth-child(2){animation-delay:.08s}[data-dfw-stagger].is-visible>*:nth-child(3){animation-delay:.16s}[data-dfw-stagger].is-visible>*:nth-child(4){animation-delay:.24s}[data-dfw-stagger].is-visible>*:nth-child(5){animation-delay:.32s}[data-dfw-stagger].is-visible>*:nth-child(6){animation-delay:.4s}
@keyframes dfwRise{to{opacity:1;transform:none}}@keyframes dfwHeroDrift{to{transform:scale(1.08) translate3d(-1%,1%,0)}}@keyframes dfwPulse{50%{box-shadow:0 0 0 10px rgba(101,216,140,0)}}@keyframes dfwCommentIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:1100px){.df-card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.df-hero-sidecard{display:none}.df-detail-grid,.df-blog-layout{grid-template-columns:1fr}.df-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.premium-hero__copy h1,.premium-hero__copy h2{font-size:clamp(3rem,9vw,6rem)}}
@media(max-width:820px){.df-section-head{grid-template-columns:1fr}.df-card-grid,.df-blog-grid,.df-contact-grid,.df-content-split{grid-template-columns:1fr}.df-blog-card:first-child{grid-column:auto}.df-blog-card:first-child .df-lux-card__media{aspect-ratio:1.48/1}.df-detail-media{min-height:390px}.df-sidebar{grid-template-columns:1fr}.df-page-hero{min-height:340px;padding-top:130px}.premium-hero__content{align-items:flex-end;min-height:840px;padding-bottom:125px}.premium-hero__trust{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.premium-hero__trust span{min-width:0;padding:.7rem;font-size:.72rem}.df-hero-service-line{display:none}}
@media(max-width:560px){.df-section{padding:58px 0}.df-card-grid--4{grid-template-columns:1fr}.df-form-grid{grid-template-columns:1fr}.df-field--full{grid-column:auto}.premium-hero__copy h1,.premium-hero__copy h2{font-size:clamp(2.75rem,15vw,4.7rem);line-height:.9}.premium-hero__copy>p{font-size:.96rem}.premium-hero__actions{display:grid;grid-template-columns:1fr}.premium-hero__actions .premium-btn{justify-content:center}.premium-hero__trust{grid-template-columns:1fr 1fr}.premium-hero__trust span:last-child{grid-column:1/-1}.df-detail-panel{padding:1.35rem}.df-detail-media{min-height:290px}.df-comment__top{align-items:flex-start;flex-direction:column}.df-comment__reply{margin-left:.5rem}.df-map,.df-map iframe{min-height:380px;height:380px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-dfw-reveal],[data-dfw-stagger]>*{opacity:1!important;transform:none!important}}

/* ===== premium-v4.css ===== */
/* DFW Limo Black Car — Mobile-first premium refinement v1.8 */
:root{
  --dfw-v4-gold:#dcb35d;
  --dfw-v4-gold-soft:#f3d895;
  --dfw-v4-surface:#0d0d0f;
  --dfw-v4-line:rgba(242,211,142,.2);
}

/* Homepage hero — restrained editorial luxury */
.premium-hero--signature{
  min-height:clamp(720px,92svh,900px);
  isolation:isolate;
  overflow:hidden;
  border-bottom:1px solid rgba(242,211,142,.13);
}
.premium-hero--signature:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/88px 100%,
    radial-gradient(circle at 68% 38%,rgba(220,179,93,.12),transparent 27%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46));
  mix-blend-mode:screen;
  opacity:.55;
}
.premium-hero--signature:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:150px;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,#050505 92%);
}
.premium-hero--signature .premium-hero__slide:after{
  background:
    linear-gradient(90deg,rgba(2,2,3,.94) 0%,rgba(3,3,4,.84) 35%,rgba(4,4,5,.34) 68%,rgba(2,2,2,.55) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.74));
}
.premium-hero--signature .premium-hero__slide>img{
  filter:saturate(.72) contrast(1.08) brightness(.82);
  object-position:center 46%;
}
.premium-hero--signature .premium-hero__slide.is-active>img{
  animation:dfwSignatureImage 7.2s cubic-bezier(.16,.8,.18,1) both;
}
.premium-hero--signature .premium-hero__content{
  min-height:clamp(720px,92svh,900px);
  padding-top:130px;
  padding-bottom:150px;
  align-items:center;
}
.premium-hero--signature .premium-hero__copy{
  width:min(690px,58vw);
  max-width:none;
}
.df-signature-eyebrow{
  display:flex;
  align-items:center;
  gap:.85rem;
  color:rgba(255,255,255,.68);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.df-signature-eyebrow__line{width:52px;height:1px;background:linear-gradient(90deg,var(--dfw-v4-gold),transparent)}
.premium-hero--signature .df-hero-badge{
  padding:.52rem .76rem;
  background:rgba(7,7,8,.4);
  font-size:.67rem;
  letter-spacing:.15em;
}
.premium-hero--signature .premium-hero__copy h1,
.premium-hero--signature .premium-hero__copy h2{
  max-width:740px;
  margin:1.15rem 0 1.35rem;
  font-size:clamp(3.25rem,6.35vw,6.55rem);
  line-height:.91;
  letter-spacing:-.052em;
  text-shadow:0 18px 60px rgba(0,0,0,.52);
}
.premium-hero--signature .premium-hero__copy h1 em,
.premium-hero--signature .premium-hero__copy h2 em{
  position:relative;
  color:var(--dfw-v4-gold-soft);
  font-weight:400;
}
.premium-hero--signature .premium-hero__copy h1 em:after,
.premium-hero--signature .premium-hero__copy h2 em:after{
  content:"";
  position:absolute;
  left:.04em;right:.04em;bottom:-.04em;height:1px;
  background:linear-gradient(90deg,transparent,var(--dfw-v4-gold),transparent);
  transform:scaleX(0);
  transform-origin:left;
}
.premium-hero--signature .premium-hero__slide.is-active h1 em:after,
.premium-hero--signature .premium-hero__slide.is-active h2 em:after{animation:dfwSignatureLine 1.1s .7s ease forwards}
.premium-hero--signature .premium-hero__copy>p{
  max-width:585px;
  margin-bottom:1.65rem;
  color:rgba(245,240,231,.77);
  font-size:clamp(.98rem,1.2vw,1.12rem);
  line-height:1.75;
}
.premium-hero--signature .premium-hero__actions{display:flex;align-items:center;gap:.75rem}
.premium-hero--signature .premium-btn{min-height:50px;padding:.85rem 1.25rem}
.df-signature-proof{
  display:flex;
  align-items:stretch;
  gap:0;
  width:max-content;
  max-width:100%;
  margin-top:1.55rem;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.df-signature-proof span{
  min-width:128px;
  padding:.82rem 1.35rem .82rem 0;
  margin-right:1.35rem;
  border-right:1px solid rgba(255,255,255,.1);
}
.df-signature-proof span:last-child{margin-right:0;border-right:0}
.df-signature-proof strong{display:block;color:#fff;font-family:Georgia,serif;font-size:1.18rem;font-weight:500}
.df-signature-proof small{display:block;margin-top:.1rem;color:#8e8980;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}

.df-signature-panel{
  position:absolute;
  right:max(28px,calc((100vw - 1320px)/2));
  top:50%;
  z-index:5;
  width:min(320px,29vw);
  transform:translateY(-42%);
  padding:1.4rem;
  overflow:hidden;
  border:1px solid rgba(242,211,142,.25);
  border-radius:26px;
  background:linear-gradient(155deg,rgba(23,23,25,.8),rgba(7,7,8,.72));
  box-shadow:0 32px 100px rgba(0,0,0,.5);
  backdrop-filter:blur(22px) saturate(1.15);
}
.df-signature-panel:before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.05);border-radius:20px;pointer-events:none}
.df-signature-panel__glow{position:absolute;right:-80px;top:-100px;width:220px;height:220px;border-radius:50%;background:rgba(220,179,93,.16);filter:blur(35px)}
.df-signature-panel__head{position:relative;display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);color:var(--dfw-v4-gold-soft);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.df-signature-panel__head i{font-size:1rem}
.df-signature-panel__title{position:relative;margin:1.2rem 0 1.35rem;color:#fff;font-family:Georgia,serif;font-size:clamp(1.65rem,2.25vw,2.2rem);line-height:1.04;letter-spacing:-.035em}
.df-signature-panel__title em{color:var(--dfw-v4-gold-soft);font-weight:400}
.df-signature-route{position:relative;display:grid;gap:0}
.df-signature-route>div{display:grid;grid-template-columns:18px 1fr;gap:.7rem;min-height:58px}
.df-signature-route>div:first-child:after{content:"";position:absolute;left:5px;top:11px;height:55px;width:1px;background:linear-gradient(var(--dfw-v4-gold),rgba(220,179,93,.12))}
.df-signature-route__dot{position:relative;z-index:1;width:11px;height:11px;margin-top:4px;border:2px solid var(--dfw-v4-gold);border-radius:50%;background:#0b0b0c;box-shadow:0 0 0 5px rgba(220,179,93,.08)}
.df-signature-route p{margin:0;color:#f4efe5;font-size:.88rem}.df-signature-route small{display:block;margin-bottom:.12rem;color:#7f7a72;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.df-signature-panel__foot{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08)}
.df-signature-panel__foot span{display:flex;align-items:center;gap:.35rem;color:#98938b;font-size:.65rem}.df-signature-panel__foot i{color:var(--dfw-v4-gold)}

.df-signature-controls{
  position:absolute;
  left:50%;bottom:52px;
  z-index:7;
  display:flex;
  align-items:center;
  gap:.75rem;
  transform:translateX(-50%);
}
.df-signature-count{display:flex;align-items:baseline;gap:.25rem;min-width:55px;color:#837d73;font-size:.7rem}.df-signature-count strong{color:#fff;font-family:Georgia,serif;font-size:1.25rem;font-weight:400}
.df-signature-progress{position:relative;width:110px;height:1px;overflow:hidden;background:rgba(255,255,255,.16)}
.df-signature-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--dfw-v4-gold),var(--dfw-v4-gold-soft));transform:scaleX(0);transform-origin:left}
.premium-hero--signature.is-progressing .df-signature-progress span{animation:dfwHeroProgress 6.5s linear forwards}
.df-signature-controls .premium-hero__dots{display:flex;gap:.4rem}
.df-signature-controls .premium-hero__dots button{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.25)}
.df-signature-controls .premium-hero__dots button.is-active{width:22px;border-radius:999px;background:var(--dfw-v4-gold)}
.df-signature-controls>[data-hero-prev],.df-signature-controls>[data-hero-next]{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(10,10,11,.52);color:#fff;transition:.25s}
.df-signature-controls>[data-hero-prev]:hover,.df-signature-controls>[data-hero-next]:hover{border-color:var(--dfw-v4-gold);color:var(--dfw-v4-gold);transform:translateY(-2px)}
.premium-hero--signature .premium-hero__scroll{right:max(25px,calc((100vw - 1320px)/2));bottom:40px;z-index:7;color:#aaa49b}

/* Reduce the large empty seam visible between homepage booking and services */
.premium-booking-shell--compact{padding-bottom:clamp(38px,5vw,66px)!important}
.premium-booking-shell--compact+.premium-services{padding-top:clamp(48px,5.5vw,78px)!important}
.premium-booking-shell--compact>.container{gap:20px}
.premium-booking-shell--compact .premium-booking-shell__aside,
.premium-booking-shell--compact .premium-booking-shell__form{align-self:stretch}

/* Contact and comment form spacing */
.df-contact-section{padding-top:clamp(52px,6vw,84px)}
.df-contact-info h2{margin:.15rem 0 .3rem;font-family:Georgia,serif;color:#fff;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1}
.df-contact-form{padding:clamp(1.45rem,3.5vw,3.15rem)!important}
.df-contact-form__intro{padding-bottom:1.45rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.df-contact-form__intro h2{margin:.5rem 0 .65rem!important;line-height:1.02}
.df-contact-form__intro p{margin:0;max-width:680px;line-height:1.7}
.df-contact-form__fields{display:grid;gap:1.4rem}
.df-contact-form__fields .df-form-grid{gap:1.15rem 1rem}
.df-contact-form__fields .df-field{gap:.55rem}
.df-contact-form__fields input,.df-contact-form__fields textarea{min-height:52px}
.df-contact-form__fields textarea{min-height:170px;resize:vertical}
.df-contact-form__actions{display:flex;align-items:center;gap:1rem;padding-top:.15rem}
.df-contact-form__actions button{min-height:50px;padding:.95rem 1.45rem!important;margin:0!important}
.df-contact-form__actions span{display:flex;align-items:center;gap:.4rem;color:#817c74;font-size:.76rem}
.df-contact-form__actions span i{color:var(--dfw-v4-gold)}

.df-comment-form{padding:clamp(1.45rem,3.5vw,2.5rem)!important}
.df-comment-form__intro{padding-bottom:1.2rem;margin-bottom:1.35rem;border-bottom:1px solid rgba(255,255,255,.08)}
.df-comment-form__intro h3{margin:.45rem 0 .35rem;font-size:clamp(1.8rem,3vw,2.55rem)}
.df-comment-form__intro p{margin:0;line-height:1.65}
.df-comment-form form{display:grid;gap:1.25rem}
.df-comment-form .df-form-grid{gap:1.05rem}
.df-comment-form .df-field{gap:.55rem}
.df-comment-form textarea{min-height:145px;resize:vertical}
.df-comment-form__actions{display:flex;align-items:center;gap:1rem}
.df-comment-form__actions .premium-btn{min-height:48px;margin:0!important;padding:.85rem 1.25rem!important}
.df-comment-form__actions>span{display:flex;align-items:center;gap:.4rem;color:#817c74;font-size:.75rem}
.df-comment-form__actions>span i{color:var(--dfw-v4-gold)}
.df-form-status{margin-top:0!important}

/* About page */
.df-about-hero{min-height:clamp(440px,66svh,690px)}
.df-about-story{padding-bottom:clamp(72px,8vw,118px)}
.df-about-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:-1px;margin-bottom:clamp(62px,7vw,105px)}
.df-about-intro article{position:relative;padding:1.5rem 1.55rem 1.7rem;border-top:1px solid var(--dfw-v4-line);border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,rgba(220,179,93,.045),transparent)}
.df-about-intro strong{position:absolute;right:1.2rem;top:1rem;color:rgba(242,211,142,.22);font-family:Georgia,serif;font-size:2.6rem;font-weight:400}
.df-about-intro span{display:block;margin-bottom:.6rem;color:#fff;font-family:Georgia,serif;font-size:1.45rem}
.df-about-intro p{max-width:310px;margin:0;color:#9f9a91;font-size:.9rem;line-height:1.7}
.df-about-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.df-about-copy h2{max-width:620px;margin:.8rem 0 1.5rem;color:#fff;font-family:Georgia,serif;font-size:clamp(2.5rem,5.3vw,5.2rem);line-height:.97;letter-spacing:-.045em}
.df-about-copy .df-rich-content{color:#bbb5ac;font-size:1rem;line-height:1.9}
.df-about-copy .df-rich-content>*:first-child{margin-top:0}
.df-about-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.df-about-visual{position:relative;min-height:650px}
.df-about-visual__main{position:absolute;left:0;top:0;width:72%;height:86%;margin:0;overflow:hidden;border-radius:30px;border:1px solid rgba(255,255,255,.09);box-shadow:0 35px 100px rgba(0,0,0,.5)}
.df-about-visual__secondary{position:absolute;right:0;bottom:0;width:44%;height:49%;margin:0;overflow:hidden;border:10px solid #050505;border-radius:24px;box-shadow:0 28px 70px rgba(0,0,0,.45)}
.df-about-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05);transition:transform 1s cubic-bezier(.2,.75,.2,1)}
.df-about-visual:hover img{transform:scale(1.035)}
.df-about-seal{position:absolute;right:15%;top:11%;display:grid;place-items:center;width:158px;height:158px;padding:1.2rem;text-align:center;border:1px solid rgba(242,211,142,.35);border-radius:50%;background:rgba(7,7,8,.78);box-shadow:0 22px 55px rgba(0,0,0,.45);backdrop-filter:blur(16px)}
.df-about-seal:before{content:"";position:absolute;inset:7px;border:1px dashed rgba(242,211,142,.25);border-radius:50%}
.df-about-seal i{color:var(--dfw-v4-gold);font-size:.82rem}.df-about-seal strong{position:relative;color:#fff;font-family:Georgia,serif;font-size:.95rem;line-height:1.15}.df-about-seal span{position:relative;color:#8e8980;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}
.df-about-values{background:linear-gradient(180deg,#080809,#050505)}
.df-about-values__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.df-about-values__grid article{position:relative;padding:clamp(1.4rem,3vw,2.35rem);overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(145deg,#151518,#09090a);transition:.4s}
.df-about-values__grid article:after{content:"";position:absolute;right:-65px;bottom:-70px;width:150px;height:150px;border-radius:50%;background:rgba(220,179,93,.09);filter:blur(10px);transition:.45s}
.df-about-values__grid article:hover{transform:translateY(-8px);border-color:rgba(220,179,93,.4)}
.df-about-values__grid article:hover:after{transform:scale(1.35)}
.df-about-values__grid i{display:grid;place-items:center;width:48px;height:48px;margin-bottom:1.2rem;border:1px solid rgba(220,179,93,.34);border-radius:50%;color:var(--dfw-v4-gold-soft)}
.df-about-values__grid h3{margin:0 0 .65rem;color:#fff;font-family:Georgia,serif;font-size:1.5rem}.df-about-values__grid p{margin:0;color:#9e9990;line-height:1.7}

/* Blog index */
.df-blog-hero{min-height:clamp(420px,62svh,650px)}
.df-blog-index{padding-top:clamp(58px,7vw,95px)}
.df-blog-index__head{margin-bottom:clamp(2rem,4vw,3.4rem)}
.df-blog-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.df-blog-story{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:26px;background:linear-gradient(145deg,#151518,#09090a);box-shadow:0 22px 65px rgba(0,0,0,.28);transition:transform .45s cubic-bezier(.2,.75,.2,1),border-color .4s,box-shadow .4s}
.df-blog-story:hover{transform:translateY(-8px);border-color:rgba(220,179,93,.38);box-shadow:0 36px 90px rgba(0,0,0,.46)}
.df-blog-story.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);min-height:500px}
.df-blog-story__media{position:relative;display:block;min-height:300px;overflow:hidden;background:#09090a}
.df-blog-story.is-featured .df-blog-story__media{min-height:500px}
.df-blog-story__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(4,4,5,.78));pointer-events:none}
.df-blog-story__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform .9s cubic-bezier(.2,.75,.2,1),filter .45s}
.df-blog-story:hover .df-blog-story__media img{transform:scale(1.055);filter:saturate(1)}
.df-blog-story__number{position:absolute;right:1rem;top:1rem;z-index:2;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(242,211,142,.34);border-radius:50%;background:rgba(8,8,9,.68);color:var(--dfw-v4-gold-soft);font-family:Georgia,serif;backdrop-filter:blur(12px)}
.df-blog-story__featured{position:absolute;left:1rem;bottom:1rem;z-index:2;padding:.5rem .72rem;border:1px solid rgba(242,211,142,.28);border-radius:999px;background:rgba(8,8,9,.72);color:var(--dfw-v4-gold-soft);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(12px)}
.df-blog-story__body{display:flex;flex-direction:column;padding:clamp(1.35rem,3vw,2.35rem)}
.df-blog-story.is-featured .df-blog-story__body{justify-content:center}
.df-blog-story__meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem;color:#8f8980;font-size:.69rem;letter-spacing:.08em;text-transform:uppercase}
.df-blog-story__meta span{display:flex;align-items:center;gap:.4rem}.df-blog-story__meta i{color:var(--dfw-v4-gold)}
.df-blog-story h2{margin:0 0 .85rem;font-family:Georgia,serif;font-size:clamp(1.55rem,2.7vw,2.65rem);line-height:1.08;letter-spacing:-.03em}.df-blog-story h2 a{color:#fff}
.df-blog-story.is-featured h2{font-size:clamp(2.2rem,4vw,4rem)}
.df-blog-story p{margin:0 0 1.3rem;color:#aaa49a;line-height:1.75}
.df-blog-story__link{display:inline-flex;align-items:center;gap:.55rem;width:max-content;margin-top:auto;color:#fff;font-size:.82rem;font-weight:800}.df-blog-story__link i{color:var(--dfw-v4-gold);transition:transform .3s}.df-blog-story:hover .df-blog-story__link i{transform:translateX(5px)}
.df-blog-empty{padding:4rem 1.5rem;text-align:center;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:#0d0d0f}.df-blog-empty i{color:var(--dfw-v4-gold);font-size:2rem}.df-blog-empty h2{color:#fff;font-family:Georgia,serif}.df-blog-empty p{color:#99948b}

/* Mobile-first refinements */
@media(max-width:1100px){
  .df-signature-panel{display:none}
  .premium-hero--signature .premium-hero__copy{width:min(760px,76vw)}
  .df-about-grid{grid-template-columns:1fr;gap:3rem}
  .df-about-visual{width:min(720px,100%);margin-inline:auto}
}

@media(max-width:820px){
  .premium-hero--signature{min-height:780px}
  .premium-hero--signature .premium-hero__content{min-height:780px;align-items:flex-end;padding:120px 0 145px}
  .premium-hero--signature .premium-hero__slide:after{background:linear-gradient(180deg,rgba(3,3,4,.25) 0%,rgba(3,3,4,.62) 42%,rgba(2,2,3,.96) 88%)}
  .premium-hero--signature .premium-hero__slide>img{object-position:62% center;filter:saturate(.75) contrast(1.05) brightness(.78)}
  .premium-hero--signature .premium-hero__copy{width:100%;max-width:620px}
  .premium-hero--signature .premium-hero__copy h1,.premium-hero--signature .premium-hero__copy h2{font-size:clamp(3rem,11.6vw,5.2rem);line-height:.91;margin:1rem 0 1.15rem}
  .premium-hero--signature .premium-hero__copy>p{max-width:560px;margin-bottom:1.35rem;font-size:.96rem;line-height:1.65}
  .df-signature-proof{width:100%}
  .df-signature-proof span{flex:1;min-width:0;padding:.7rem .8rem .7rem 0;margin-right:.8rem}
  .df-signature-controls{bottom:34px;width:calc(100% - 36px);padding-inline:0}
  .premium-hero--signature .premium-hero__scroll{display:none}
  .premium-booking-shell--compact{padding-top:10px!important;padding-bottom:42px!important}
  .premium-booking-shell--compact+.premium-services{padding-top:48px!important}
  .df-contact-grid{gap:1rem}
  .df-contact-form,.df-contact-info{border-radius:22px}
  .df-about-intro{grid-template-columns:1fr;gap:0;margin-bottom:58px}
  .df-about-intro article{padding:1.25rem 1rem 1.35rem}
  .df-about-intro strong{font-size:2rem}
  .df-about-values__grid{grid-template-columns:1fr}
  .df-blog-editorial{grid-template-columns:1fr}
  .df-blog-story.is-featured{grid-column:auto;display:block;min-height:0}
  .df-blog-story.is-featured .df-blog-story__media{min-height:340px}
  .df-blog-story.is-featured h2{font-size:clamp(1.9rem,7vw,3rem)}
}

@media(max-width:560px){
  .df-section{padding:54px 0}
  .df-page-hero{min-height:330px;padding:112px 0 48px}
  .df-page-hero h1{font-size:clamp(2.45rem,12vw,3.7rem);line-height:.97;margin:.65rem 0 1rem}
  .df-page-hero p{font-size:.94rem;line-height:1.65}
  .premium-hero--signature{min-height:730px}
  .premium-hero--signature:before{background:radial-gradient(circle at 72% 28%,rgba(220,179,93,.1),transparent 30%)}
  .premium-hero--signature .premium-hero__content{min-height:730px;padding:105px 0 125px}
  .premium-hero--signature .premium-hero__copy h1,.premium-hero--signature .premium-hero__copy h2{font-size:clamp(2.85rem,14.3vw,4.35rem);line-height:.9;letter-spacing:-.05em}
  .df-signature-eyebrow{gap:.55rem;font-size:.6rem;letter-spacing:.12em}.df-signature-eyebrow__line{width:26px}.premium-hero--signature .df-hero-badge{font-size:.58rem}
  .premium-hero--signature .premium-hero__actions{display:grid;grid-template-columns:1fr;gap:.55rem}
  .premium-hero--signature .premium-btn{width:100%;justify-content:center;min-height:48px}
  .df-signature-proof{margin-top:1rem}
  .df-signature-proof span{padding:.65rem .45rem .65rem 0;margin-right:.45rem}
  .df-signature-proof strong{font-size:1rem}.df-signature-proof small{font-size:.54rem;letter-spacing:.04em}
  .df-signature-progress{flex:1;width:auto}
  .df-signature-controls .premium-hero__dots{display:none}
  .df-signature-controls>[data-hero-prev],.df-signature-controls>[data-hero-next]{width:38px;height:38px}
  .premium-booking-shell--compact>.container{gap:12px}
  .premium-booking-shell--compact .premium-booking-shell__aside{padding:26px 20px}
  .premium-booking-shell--compact .premium-booking-shell__form{padding:20px 14px}
  .df-contact-form,.df-contact-info{padding:1.25rem!important}
  .df-contact-item{grid-template-columns:42px 1fr;gap:.8rem;padding:.85rem}.df-contact-item i{width:42px;height:42px}
  .df-contact-form__intro{padding-bottom:1.1rem;margin-bottom:1.2rem}
  .df-contact-form__fields .df-form-grid{gap:.9rem}
  .df-contact-form__actions,.df-comment-form__actions{align-items:stretch;flex-direction:column}
  .df-contact-form__actions button,.df-comment-form__actions .premium-btn{width:100%;justify-content:center}
  .df-contact-form__actions span,.df-comment-form__actions>span{justify-content:center;text-align:center}
  .df-comment-form{padding:1.2rem!important;border-radius:18px}
  .df-comments{padding:1.15rem!important;border-radius:18px}
  .df-about-story{padding-top:38px}
  .df-about-grid{gap:2.2rem}
  .df-about-copy h2{font-size:clamp(2.35rem,11.4vw,3.8rem)}
  .df-about-actions{display:grid;grid-template-columns:1fr}.df-about-actions .premium-btn{justify-content:center}
  .df-about-visual{min-height:440px}
  .df-about-visual__main{width:82%;height:82%;border-radius:22px}
  .df-about-visual__secondary{width:48%;height:43%;border-width:7px;border-radius:18px}
  .df-about-seal{right:5%;top:7%;width:118px;height:118px;padding:.8rem}.df-about-seal strong{font-size:.75rem}.df-about-seal span{font-size:.48rem}
  .df-about-values__grid article{padding:1.3rem;border-radius:19px}
  .df-blog-index{padding-top:45px}
  .df-blog-story,.df-blog-story__media{border-radius:20px}
  .df-blog-story__media,.df-blog-story.is-featured .df-blog-story__media{min-height:245px;aspect-ratio:1.42/1}
  .df-blog-story__body{padding:1.2rem}
  .df-blog-story h2,.df-blog-story.is-featured h2{font-size:clamp(1.65rem,7.8vw,2.35rem)}
  .df-blog-story__meta{align-items:flex-start;flex-direction:column;gap:.35rem}
  .df-blog-story__featured{left:.75rem;bottom:.75rem}.df-blog-story__number{right:.75rem;top:.75rem;width:40px;height:40px}
}

@keyframes dfwSignatureImage{from{transform:scale(1.08)}to{transform:scale(1.015)}}
@keyframes dfwSignatureLine{to{transform:scaleX(1)}}
@keyframes dfwHeroProgress{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.premium-hero--signature .premium-hero__slide.is-active>img,.premium-hero--signature.is-progressing .df-signature-progress span{animation:none!important}.premium-hero--signature .premium-hero__copy h1 em:after,.premium-hero--signature .premium-hero__copy h2 em:after{transform:scaleX(1)!important}}

/* ===== premium-v5.css ===== */
/* DFW v1.9 — full-width comment form and threaded public replies */
.df-comment-form__grid{grid-template-columns:1fr!important}
.df-comment-form__grid>.df-field{grid-column:1/-1;width:100%}
.df-comment-form__grid input,.df-comment-form__grid textarea{display:block;width:100%}
.df-comment__actions{flex-wrap:wrap;justify-content:flex-end}
.df-reply-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .78rem;border:1px solid rgba(220,179,93,.25);border-radius:999px;background:rgba(220,179,93,.07);color:var(--dfw-v4-gold-soft);font-size:.78rem;font-weight:800;transition:border-color .25s ease,background .25s ease,color .25s ease,transform .25s ease}
.df-reply-btn:hover{border-color:var(--dfw-v4-gold);background:var(--dfw-v4-gold);color:#090806;transform:translateY(-2px)}
.df-reply-thread{position:relative;display:grid;gap:.75rem;margin:1rem 0 0 2.15rem;padding-left:1.15rem;border-left:1px solid rgba(220,179,93,.28)}
.df-reply-thread:before{content:"";position:absolute;left:-4px;top:0;width:7px;height:7px;border-radius:50%;background:var(--dfw-v4-gold);box-shadow:0 0 0 5px rgba(220,179,93,.08)}
.df-user-reply{position:relative;padding:1rem 1.05rem;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(145deg,rgba(21,21,23,.96),rgba(10,10,11,.98));animation:dfwCommentIn .38s ease both}
.df-user-reply__top{display:flex;align-items:center;justify-content:space-between;gap:.85rem}
.df-user-reply__actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.df-user-reply__text{margin:.75rem 0 0;color:#cfc9bf;line-height:1.72;overflow-wrap:anywhere}
.df-comment__avatar--reply{width:36px;height:36px;font-size:.8rem;background:linear-gradient(135deg,#f0d28b,#9f7330)}
.df-user-reply .df-comment__author small{font-size:.7rem}
.df-user-reply .df-vote-btn{padding:.38rem .62rem;font-size:.72rem}

.df-modal-open{overflow:hidden}
.df-reply-modal[hidden]{display:none!important}
.df-reply-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:1rem;opacity:0;transition:opacity .22s ease}
.df-reply-modal.is-open{opacity:1}
.df-reply-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.df-reply-modal__dialog{position:relative;z-index:1;width:min(590px,100%);max-height:min(760px,calc(100svh - 2rem));overflow:auto;padding:clamp(1.35rem,4vw,2.15rem);border:1px solid rgba(220,179,93,.3);border-radius:24px;background:linear-gradient(145deg,#171719,#080809);box-shadow:0 34px 110px rgba(0,0,0,.66);transform:translateY(18px) scale(.975);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.df-reply-modal.is-open .df-reply-modal__dialog{transform:translateY(0) scale(1)}
.df-reply-modal__dialog:before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.045);border-radius:18px;pointer-events:none}
.df-reply-modal__dialog h3{position:relative;margin:.55rem 2.5rem .45rem 0;color:#fff;font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,2.55rem);line-height:1.05}
.df-reply-modal__dialog h3 span{color:var(--dfw-v4-gold-soft)}
.df-reply-modal__dialog>p{position:relative;margin:0 0 1.2rem;line-height:1.65}
.df-reply-modal__dialog form{position:relative;display:grid;gap:1rem}
.df-reply-modal__close{position:absolute;right:1rem;top:1rem;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#0b0b0c;color:#fff;transition:.25s}
.df-reply-modal__close:hover{border-color:var(--dfw-v4-gold);color:var(--dfw-v4-gold);transform:rotate(8deg)}
.df-reply-modal textarea{min-height:145px;resize:vertical}
.df-reply-modal__actions{display:flex;align-items:center;gap:.7rem;padding-top:.2rem}
.df-reply-modal__actions .premium-btn{min-height:48px;margin:0!important;padding:.85rem 1.2rem!important}

@media(max-width:560px){
  .df-comment__top,.df-user-reply__top{align-items:flex-start;flex-direction:column}
  .df-comment__actions,.df-user-reply__actions{width:100%;justify-content:flex-start}
  .df-reply-thread{margin-left:.35rem;padding-left:.85rem}
  .df-user-reply{padding:.9rem;border-radius:14px}
  .df-reply-modal{align-items:end;padding:.6rem}
  .df-reply-modal__dialog{width:100%;max-height:calc(100svh - 1.2rem);padding:1.25rem 1rem 1rem;border-radius:22px 22px 16px 16px}
  .df-reply-modal__dialog h3{margin-top:.45rem;font-size:1.85rem}
  .df-reply-modal__actions{display:grid;grid-template-columns:1fr;gap:.55rem}
  .df-reply-modal__actions .premium-btn{width:100%;justify-content:center}
}

/* v2.1 SEO, legal and real-404 refinements */
.dfw-not-found { min-height:65vh; display:grid; place-items:center; padding:clamp(90px,12vw,160px) 0; background:radial-gradient(circle at 50% 0,rgba(201,161,76,.14),transparent 35rem),#070707; }
.dfw-not-found__card { max-width:760px; margin:auto; padding:clamp(30px,6vw,70px); text-align:center; border:1px solid rgba(201,161,76,.24); border-radius:24px; background:linear-gradient(145deg,rgba(25,25,25,.96),rgba(8,8,8,.96)); box-shadow:0 30px 100px rgba(0,0,0,.45); }
.dfw-not-found__card h1 { margin:12px 0 16px; color:#f6f1e8; font-family:Georgia,serif; font-size:clamp(2rem,6vw,4.5rem); letter-spacing:-.045em; }
.dfw-not-found__card p { max-width:600px; margin:0 auto; color:#aaa69e; line-height:1.75; }
.dfw-not-found__actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:28px; }
.df-legal-page { background:radial-gradient(circle at 85% 10%,rgba(201,161,76,.08),transparent 30rem),#090909; }
.df-legal-page__content { max-width:980px; margin:auto; padding:clamp(24px,5vw,58px); color:#c9c5bd; line-height:1.8; }
.df-legal-page__content h2,.df-legal-page__content h3 { margin:1.8em 0 .6em; color:#f2eee6; font-family:Georgia,serif; }
.df-legal-page__content a { color:#e2c070; text-decoration:underline; text-underline-offset:3px; }
.df-legal-page__content ul,.df-legal-page__content ol { padding-left:1.35rem; }
.df-article__body > h2 { color:#f4efe7; font-family:Georgia,serif; font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-.035em; }
@media (max-width:767px) {
  .dfw-not-found__actions { display:grid; grid-template-columns:1fr; }
  .dfw-not-found__actions .premium-btn { width:100%; }
}

/* ===== booking-places-v16.css ===== */
/* DFW v1.6 — Google Places stability and fallback styles. */
.premium-booking-form input[data-google-places],
.premium-booking-form input[data-google-places][disabled],
.premium-booking-form input[data-google-places][readonly],
.premium-booking-form input[data-google-places].gm-err-autocomplete {
  pointer-events: auto !important;
  cursor: text !important;
  opacity: 1 !important;
  color: #f7f2e8 !important;
  -webkit-text-fill-color: #f7f2e8 !important;
  background-color: #080808 !important;
  background-image: none !important;
}

/* v1.5 intentionally raised the Google panel, but its blanket display:block
   rule could keep an old/failed panel over the form. Respect Google's hidden
   inline state while keeping active predictions above the layout. */
.pac-container[style*="display: none"] {
  display: none !important;
  pointer-events: none !important;
}

.pac-container:not([style*="display: none"]) {
  z-index: 2147483647 !important;
}
