:root{--ink:#111315;--charcoal:#1b1e20;--gold:#c9983d;--gold-light:#e8c982;--paper:#fff;--mist:#f3f1ec;--muted:#686a6b;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:var(--paper);font-size:16px;line-height:1.6}img{max-width:100%}a{color:inherit;text-decoration:none}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e8e6e1}.brand{display:flex;align-items:center;gap:10px;line-height:1}.brand-mark{width:38px;height:42px;background:var(--ink);color:var(--gold);display:grid;place-items:center;font:700 25px "Playfair Display";clip-path:polygon(50% 0,100% 100%,74% 100%,50% 42%,27% 100%,0 100%)}.brand strong{display:block;letter-spacing:.18em;font-size:18px}.brand small{display:block;letter-spacing:.24em;font-size:10px;color:var(--gold);margin-top:5px}.topbar nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}.topbar nav a:hover{color:#9e7227}.nav-cta{background:var(--ink);color:#fff!important;padding:12px 18px}.phone{color:#8a631f}.menu-toggle{display:none;background:none;border:1px solid #ccc;padding:10px 14px;font:600 14px inherit}.hero{min-height:680px;position:relative;display:grid;align-items:center;overflow:hidden;background:#222}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,11,12,.88) 0%,rgba(9,11,12,.66) 40%,rgba(9,11,12,.06) 76%)}.hero-content{position:relative;color:#fff;width:min(var(--max),calc(100% - 48px));margin:auto;padding:80px 0}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:700;color:var(--gold-light);margin:0 0 14px}.eyebrow.dark{color:#9b7027}.hero h1,.section-heading h2,.quote-intro h2,.areas h2,.reviews h2,.final-cta h2{font:700 clamp(42px,6vw,78px)/1.05 "Playfair Display";margin:0}.hero h1 em{color:var(--gold-light);font-style:normal}.hero-copy{font-size:19px;max-width:600px;color:#ecebe7}.hero-actions{display:flex;gap:12px;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border:0;font-weight:700;font-size:15px;cursor:pointer}.gold{background:var(--gold);color:#111}.gold:hover{background:var(--gold-light)}.ghost{border:1px solid rgba(255,255,255,.7);color:#fff}.quick-facts{display:flex;gap:28px;margin-top:48px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.quick-facts span{border-left:2px solid var(--gold);padding-left:12px}.quick-facts b{display:block;font-size:16px;text-transform:none}.quote-wrap{max-width:var(--max);margin:-45px auto 0;position:relative;z-index:3;display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;box-shadow:0 18px 60px rgba(0,0,0,.15)}.quote-intro{padding:42px}.quote-intro h2{font-size:34px}.quote-intro p:last-child{color:var(--muted)}.date-card{background:var(--mist);padding:42px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.date-card label{font-size:14px;font-weight:700}.date-card input{display:block;width:100%;margin-top:8px;min-height:52px;border:1px solid #ccc;background:#fff;padding:0 14px;font:16px inherit}.date-card .button{grid-column:1/-1}.form-note{grid-column:1/-1;margin:0;text-align:center;font-size:13px;color:var(--muted)}.van-section,.reviews{max-width:var(--max);margin:auto;padding:110px 24px}.section-heading{max-width:700px}.section-heading h2{font-size:48px}.section-heading>p:last-child{font-size:18px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px}.feature-grid article{border-top:3px solid var(--gold);background:var(--mist);padding:30px 24px;min-height:230px}.feature-grid article span{color:var(--gold);font-weight:700}.feature-grid h3{font:600 23px "Playfair Display";margin:22px 0 8px}.feature-grid p{color:var(--muted);margin:0}.how{background:var(--charcoal);color:#fff;padding:100px max(24px,calc((100vw - var(--max))/2))}.section-heading.light{max-width:760px}.section-heading.light h2{font-size:48px}.how ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:52px 0}.how li{border-top:1px solid #575b5d;padding-top:24px;display:flex;gap:16px}.how li>b{color:var(--gold-light);font-size:28px}.how h3{margin:0 0 8px;font-size:19px}.how li p{color:#bbb;margin:0}.insurance-note{max-width:850px;color:#aaa;font-size:14px}.areas{max-width:var(--max);margin:auto;padding:90px 24px;display:flex;align-items:end;justify-content:space-between;gap:36px}.areas>div{max-width:770px}.areas h2{font-size:48px}.areas p:last-child{font-size:18px;color:var(--muted)}.dark-button{background:var(--ink);color:#fff;white-space:nowrap}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--mist);max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}.reviews h2{font-size:48px}.review-copy>p:nth-of-type(2){font-size:18px;color:var(--muted)}.outline-dark{background:transparent;border:1px solid var(--ink)}.review-status{font-size:14px;color:#8a631f}.review-placeholder{background:#fff;padding:45px;align-self:center;border-left:4px solid var(--gold)}.stars{color:var(--gold);letter-spacing:.2em;font-size:22px}.review-placeholder blockquote{font:600 28px/1.35 "Playfair Display";margin:22px 0}.review-placeholder small{color:var(--muted)}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 12px}.review-source-note{font-size:13px!important;color:var(--muted)!important;margin-top:14px}.google-review-card{background:#fff;padding:42px;align-self:center;border-left:4px solid var(--gold);box-shadow:0 14px 38px rgba(0,0,0,.07)}.google-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.review-source-badge{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4a4d50;margin-bottom:8px}.google-rating{font:700 38px/1 "Playfair Display";color:var(--ink)}.google-review-card blockquote{font:600 27px/1.4 "Playfair Display";margin:24px 0}.reviewer-row{display:flex;align-items:end;justify-content:space-between;gap:18px;border-top:1px solid #ece9e2;padding-top:20px}.reviewer-row strong{display:block}.reviewer-row small{display:block;color:var(--muted);margin-top:3px}.reviewer-row a{font-size:13px;font-weight:700;color:#8a631f;white-space:nowrap}.reviewer-row a:hover{text-decoration:underline}.final-cta{background:#101214;color:#fff;text-align:center;padding:100px 24px}.final-cta h2{font-size:54px;margin-bottom:30px}footer{max-width:var(--max);margin:auto;padding:44px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted);font-size:13px}.footer-brand{color:var(--ink)}
@media(max-width:900px){.menu-toggle{display:block}.topbar nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:18px 24px 26px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 28px rgba(0,0,0,.12)}.topbar nav.open{display:flex}.topbar nav a{padding:13px 4px;border-bottom:1px solid #eee}.nav-cta{text-align:center;margin-top:12px}.hero{min-height:660px}.hero-shade{background:linear-gradient(90deg,rgba(9,11,12,.88),rgba(9,11,12,.42))}.quote-wrap{margin:0;grid-template-columns:1fr}.feature-grid,.how ol{grid-template-columns:1fr 1fr}.reviews{grid-template-columns:1fr}.areas{align-items:flex-start;flex-direction:column}footer{flex-direction:column;text-align:center}}
@media(max-width:600px){.topbar{height:72px;padding:0 18px}.topbar nav{top:72px}.brand-mark{width:31px;height:35px}.brand strong{font-size:15px}.brand small{font-size:8px}.hero{min-height:690px;align-items:end}.hero>img{object-position:65% center}.hero-shade{background:linear-gradient(0deg,rgba(9,11,12,.97) 0%,rgba(9,11,12,.72) 55%,rgba(9,11,12,.2) 100%)}.hero-content{width:calc(100% - 36px);padding:210px 0 44px}.hero h1{font-size:44px}.hero-copy{font-size:17px}.hero-actions{flex-direction:column}.button{width:100%}.quick-facts{gap:14px;flex-wrap:wrap;margin-top:30px}.quick-facts span{width:calc(50% - 7px)}.quote-intro,.date-card{padding:30px 20px}.quote-intro h2,.section-heading h2,.areas h2,.reviews h2{font-size:34px}.date-card{grid-template-columns:1fr}.date-card .button,.form-note{grid-column:1}.van-section{padding:74px 18px}.feature-grid,.how ol{grid-template-columns:1fr}.feature-grid article{min-height:0}.how{padding:74px 18px}.section-heading.light h2{font-size:35px}.areas,.reviews{padding:70px 18px}.review-placeholder{padding:30px 24px}.review-placeholder blockquote{font-size:24px}.google-review-card{padding:30px 24px}.google-review-card blockquote{font-size:23px}.reviewer-row{align-items:flex-start;flex-direction:column}.review-actions{flex-direction:column}.review-actions .button{width:100%}.final-cta{padding:76px 18px}.final-cta h2{font-size:38px}footer{padding:38px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reservation workflow — uses the completed direct-customer backend. */
.reservation-panel{grid-template-columns:.72fr 1.28fr}
.date-card input,.date-card textarea{display:block;width:100%;margin-top:8px;min-height:52px;border:1px solid #ccc;background:#fff;padding:12px 14px;font:16px inherit}
.date-card textarea{min-height:90px;resize:vertical}
.full-field{grid-column:1/-1}
.confirmations{display:grid;gap:10px}
.date-card .check{display:flex;align-items:flex-start;gap:10px;background:#fff;padding:12px;border:1px solid #ddd;font-weight:500}
.date-card .check input{width:18px;min-height:18px;margin:3px 0 0;padding:0;flex:0 0 18px}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-note.success{color:#1b6338;font-weight:700}
.form-note.error{color:#9b2828;font-weight:700}
@media(max-width:600px){.date-card .full-field{grid-column:1}.reservation-panel{grid-template-columns:1fr}}

/* Keep the van photograph clearly visible above the mobile hero copy. */
@media(max-width:600px){
  .hero{display:block;min-height:0;background:var(--ink)}
  .hero>img{position:relative;inset:auto;display:block;width:100%;height:270px;object-fit:cover;object-position:68% center}
  .hero-shade{display:none}
  .hero-content{width:calc(100% - 36px);padding:38px 0 44px}
}

.booking-disclosure{background:#fff8e9;border:1px solid #e3c98f;padding:16px;color:#54462d;font-size:14px}
.date-card .check a{text-decoration:underline;color:#7b571b}
.legal{padding:90px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;border-top:1px solid #e5e2dc}
.legal.alt{background:var(--mist)}
.legal-heading h2{font:700 46px/1.08 "Playfair Display";margin:0}
.legal-heading>p:last-child{color:var(--muted);font-size:14px}
.legal-copy{max-width:760px}
.legal-copy h3{font:600 21px "Playfair Display";margin:26px 0 6px}
.legal-copy h3:first-child{margin-top:0}
.legal-copy p{color:#4e5152;margin:0}
.legal-copy a,.accessibility a{text-decoration:underline;color:#7b571b}
.accessibility{max-width:var(--max);margin:auto;padding:60px 24px}
.accessibility h2{font:700 34px "Playfair Display";margin:0 0 12px}
.accessibility p{max-width:850px;color:var(--muted)}
.footer-legal a{text-decoration:underline}
@media(max-width:800px){.legal{grid-template-columns:1fr;gap:28px;padding-top:65px;padding-bottom:65px}.legal-heading h2{font-size:36px}}

/* Expanded van features and responsive photo gallery. */
.feature-grid{grid-template-columns:repeat(3,1fr)}
.gallery-section{background:var(--charcoal);color:#fff;padding:100px max(24px,calc((100vw - var(--max))/2))}
.gallery-section .section-heading>p:last-child{color:#c9c9c7}
.photo-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
.photo-gallery figure{margin:0;background:#111315;border:1px solid #45494b;overflow:hidden}
.photo-gallery .gallery-wide{grid-column:1/-1}
.gallery-open{display:block;width:100%;padding:0;border:0;background:#0e1011;cursor:zoom-in;overflow:hidden}
.photo-gallery img{display:block;width:100%;height:320px;object-fit:cover;background:#0e1011;transition:transform .25s ease}
.gallery-open:hover img,.gallery-open:focus-visible img{transform:scale(1.02)}
.gallery-open:focus-visible{outline:3px solid var(--gold-light);outline-offset:-3px}
.photo-gallery .gallery-wide img{height:auto;max-height:720px;object-fit:cover}
.photo-gallery figcaption{padding:14px 18px;color:#e7e4de;font-size:14px;border-top:1px solid #45494b}
.photo-gallery .gallery-trunk{grid-column:1/-1}
.photo-gallery .gallery-trunk img{height:auto;max-height:720px;object-fit:cover}
.gallery-lightbox{width:min(96vw,1400px);max-width:none;padding:0;border:0;background:#0c0e0f;color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.65)}
.gallery-lightbox::backdrop{background:rgba(0,0,0,.88)}
.gallery-lightbox img{display:block;width:100%;max-height:82vh;object-fit:contain;background:#050606}
.gallery-lightbox p{margin:0;padding:14px 60px 16px 18px;color:#e7e4de}
.lightbox-close{position:absolute;top:12px;right:12px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.75);color:#fff;font-size:32px;line-height:1;cursor:pointer;z-index:2}
.how{border-top:1px solid #34383a}
@media(max-width:900px){.photo-gallery{grid-template-columns:1fr}.photo-gallery .gallery-wide{grid-row:auto}.photo-gallery .gallery-wide img,.photo-gallery img{height:auto;min-height:0}}
@media(max-width:600px){.gallery-section{padding:74px 18px}.photo-gallery{gap:16px;margin-top:34px}}
