/* Dash Hero public pages; booking behavior is preserved. */
body.dh-site { font-family:Arial,Helvetica,sans-serif; background:#faf7f1; color:#392d22; }
.dh-site .section-wave,.dh-site .section-divider,.dh-site .section-sparkles,.dh-site .stats-strip { display:none !important; }
.dh-site .texture-grid::before,.dh-site .texture-lines::before { display:none !important; }
.dh-site .reveal { opacity:1; transform:none; transition:none; }
.dh-site nav { background:#faf7f1 !important; box-shadow:none !important; border-bottom:1px solid #ddd2c4; }
.dh-site nav a,.dh-site nav button { font-family:Arial,Helvetica,sans-serif; }
.dh-site .nav-links a { font-size:11px; font-weight:700; letter-spacing:.035em; }
.dh-site .nav-auth-btn,.dh-site .nav-cta { border-radius:3px !important; box-shadow:none !important; font-size:12px; }
.dh-site .trust-strip { background:#faf7f1; border:0; border-bottom:1px solid #dfd3c3; padding:21px 5%; gap:30px; }
.dh-site .trust-item { font:600 11px/1.5 Arial,sans-serif; color:#705640; }
.dh-site #services,.dh-site #pricing,.dh-site #memberships,.dh-site #faq,.dh-site #contact { padding:80px max(32px,calc((100% - 1240px)/2)) !important; min-height:0; background-image:none !important; }
.dh-site #services,.dh-site #memberships { background:#faf7f1 !important; }
.dh-site #pricing,.dh-site #faq { background:#fffdf8 !important; }
.dh-site .section-header { text-align:left; max-width:none !important; margin:0 0 35px !important; }
.dh-site .section-label { display:block; color:#9c4c26; font:700 10px/1.5 Arial,sans-serif; letter-spacing:.16em; margin-bottom:14px; }
.dh-site .section-title { font-family:Georgia,'Times New Roman',serif; color:#3a2b20; font-weight:400; letter-spacing:-.045em; font-size:clamp(32px,3.4vw,46px); line-height:1.12; margin:0 0 18px; text-shadow:none; }
.dh-site .section-sub { color:#796551; font:400 15px/1.8 Arial,sans-serif; max-width:670px; margin:0; }
.dh-site .services-grid { max-width:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 44px; counter-reset:service; }
.dh-site .service-card { position:relative; counter-increment:service; padding:26px 0 12px; border:0; border-top:1px solid #d7c8b6; border-radius:0; background:transparent; box-shadow:none; transform:none; text-align:left; }
.dh-site .service-card::before { content:'0' counter(service); position:absolute; right:0; top:26px; color:#a69078; font:400 12px/1 Georgia,serif; width:auto; height:auto; background:none; }
.dh-site .service-card::after { display:none; }
.dh-site .service-card:hover { transform:none; box-shadow:none; }
.dh-site .service-emoji { width:32px; height:32px; margin:0 0 19px; color:#ac582b; border:0; background:transparent; box-shadow:none; border-radius:0; }
.dh-site .service-emoji svg { width:29px; height:29px; stroke-width:1.25; }
.dh-site .service-name { font:400 22px/1.2 Georgia,serif; color:#423022; letter-spacing:-.02em; margin-bottom:12px; }
.dh-site .service-desc { font:400 13px/1.85 Arial,sans-serif; color:#7b6652; max-width:350px; }
.dh-site #how { background:#eee5d8; padding:66px max(32px,calc((100% - 1240px)/2)) !important; }
.dh-visit-layout { display:grid; grid-template-columns:1.04fr 1fr; gap:76px; align-items:center; }
.dh-visit-photo { margin:0; min-width:0; }
.dh-visit-photo img { display:block; width:100%; height:415px; object-fit:cover; object-position:center; }
.dh-visit-photo figcaption { display:flex; justify-content:space-between; gap:16px; font:400 10px/1.5 Arial,sans-serif; color:#8b7056; padding-top:12px; }
.dh-visit-photo figcaption a { color:#765033; text-decoration:none; }
.dh-visit-lead { font:400 14px/1.8 Arial,sans-serif; color:#79614c; margin:0 0 22px; }
.dh-visit-facts { margin:0 0 23px; }
.dh-visit-facts>div { padding:14px 0; border-top:1px solid #cfbca4; display:grid; grid-template-columns:148px 1fr; gap:19px; }
.dh-visit-facts dt { font:700 11px/1.6 Arial,sans-serif; color:#5b3c26; }
.dh-visit-facts dd { margin:0; font:400 12px/1.7 Arial,sans-serif; color:#79614b; }
.dh-text-link { color:#744125; font:700 12px/1.5 Arial,sans-serif; text-decoration:none; border-bottom:1px solid #aa8462; padding-bottom:5px; }
.dh-text-link span { margin-left:24px; }
.dh-site #pricing .tax-note { text-align:left; max-width:none; padding:0; background:transparent; border:0; margin:0 0 24px; color:#8a7159; font:400 11px/1.6 Arial,sans-serif; }
.dh-site .pricing-tabs-wrap { justify-content:flex-start; margin-bottom:32px; text-align:left; }
.dh-site .pricing-tabs { border:1px solid #d5c5b3; padding:4px; border-radius:3px; background:#f4eee5; box-shadow:none; gap:3px; }
.dh-site .pricing-tab { font:700 12px/1.5 Arial,sans-serif; padding:10px 22px; border:0 !important; border-radius:1px !important; color:#80634a; background:transparent; box-shadow:none; }
.dh-site .pricing-tab.active { background:#473326 !important; color:#fff3e2 !important; box-shadow:none; }
.dh-site #ptab-panel-individual .pricing-grid-3 { max-width:none; gap:24px; }
.dh-site #pricing .pricing-card { text-align:left; border:1px solid #dbcebd; border-radius:4px; background:#fffdf8; padding:31px 27px; box-shadow:none; transform:none; }
.dh-site #pricing .pricing-card[data-pricing-service="reset"] { background:#f8f0e4; border-color:#b57950; }
.dh-site #pricing .pricing-card.featured { border-width:1px; border-color:#dbcebd; box-shadow:none; }
.dh-site .pricing-emoji { display:none !important; }
.dh-site .pricing-badge { left:27px; transform:none; top:-11px; padding:4px 9px; color:#7c482b; border-radius:2px; background:#efe1ce; font:700 9px/1.4 Arial,sans-serif; letter-spacing:.1em; box-shadow:none; }
.dh-site .pricing-name { font:400 29px/1.2 Georgia,serif; color:#3f2e20; letter-spacing:-.035em; margin-bottom:10px; }
.dh-site #ptab-panel-individual .pricing-vehicle { font:400 12px/1.6 Arial,sans-serif; color:#8a715a; min-height:38px; margin-bottom:18px; }
.dh-site #pricing .pricing-price { font-family:Georgia,serif; font-weight:400; font-size:49px; line-height:1; color:#674023; letter-spacing:-.04em; }
.dh-site #pricing .pricing-price sup { font-family:Georgia,serif; font-weight:400; font-size:23px; }
.dh-site #pricing .pricing-divider { border-top:1px solid #d8c5ae; margin:24px 0; }
.dh-site #pricing .pricing-features { gap:14px; }
.dh-site #pricing .pricing-features li { font:400 12px/1.6 Arial,sans-serif; gap:9px; color:#5e4532; }
.dh-site #pricing .pricing-features li::before { font-size:12px; color:#6a7b5a; }
.dh-site #pricing .plan-feature-copy strong { font:700 12px/1.6 Arial,sans-serif; }
.dh-site #pricing .plan-feature-copy small { font:400 11px/1.7 Arial,sans-serif; color:#856b53; }
.dh-site #pricing .pricing-card>p { font:400 11px/1.65 Arial,sans-serif !important; text-align:left; }
.dh-site #pricing .pricing-cta,.dh-site .membership-cta,.dh-site .form-submit { border-radius:3px !important; box-shadow:none !important; text-shadow:none !important; background:#e67530 !important; color:#291d12 !important; font:700 13px/1.5 Arial,sans-serif !important; border:1px solid #c75b1b !important; min-height:47px; padding:12px 17px !important; }
.dh-site .pricing-cta::after,.dh-site .membership-cta::after,.dh-site .form-submit::after { display:none !important; }
.dh-site .pricing-membership-hint { text-align:center; font:700 10px/1.5 Arial,sans-serif; color:#637255; }
.dh-site #pricing .plan-scope-note { margin:0 0 18px; padding-top:14px; border-top:1px solid #d8c5ae; color:#705a46; font:400 12px/1.65 Arial,sans-serif; }
.dh-site #pricing .plan-scope-note p { margin:0 0 8px; }
.dh-site #pricing .plan-scope-note p:last-child { margin-bottom:0; }
.dh-site #pricing .plan-scope-note strong { font-weight:700; color:#503823; }
.dh-site .family-grid { max-width:none; gap:24px; }
.dh-site .family-card { border-radius:4px; border:1px solid #d9cbb9; padding:29px 26px; background:#fffdf8; box-shadow:none; transform:none; }
.dh-site .family-card.featured { border-color:#b77c52; background:#f8f0e4; border-width:1px; }
.dh-site .family-card-name { font:400 28px/1.2 Georgia,serif; letter-spacing:-.03em; }
.dh-site .family-card-desc,.dh-site .family-section-sub { font:400 13px/1.8 Arial,sans-serif; color:#856d55; }
.dh-site .bundle-member-note { font:400 12px/1.7 Arial,sans-serif; color:#705a46; margin:0 0 18px; }
.dh-site #bookingModal .vehicle-plan-select { display:block; width:100%; min-width:0; min-height:48px; margin:8px 0 20px; padding:12px; border:1px solid #cebaa0; border-radius:4px; background:#fff; color:#392d22; font:400 14px/1.5 Arial,sans-serif; }
.dh-site #bookingModal .vehicle-plan-select:focus-visible { outline:2px solid #b95c24; outline-offset:2px; }
.dh-site .family-price { font-family:Georgia,serif; font-weight:400; color:#674023; }
.dh-site .family-vehicle-count { font:700 10px/1.5 Arial,sans-serif; letter-spacing:.06em; color:#99734e; }
.dh-site .membership-builder { max-width:none; display:grid; grid-template-columns:1fr; gap:28px; }
.dh-site .membership-steps { min-width:0; }
.dh-site .membership-pricing-panel { border-radius:4px; background:#fffdf8 !important; border:1px solid #ded1c0 !important; box-shadow:none; }
.dh-site .membership-overview-head { padding:25px 28px; background:transparent; border-bottom:1px solid #e2d6c7; }
.dh-site .membership-overline { font:700 9px/1.6 Arial,sans-serif; letter-spacing:.12em; color:#a05a30; }
.dh-site .membership-step-title { font:400 28px/1.3 Georgia,serif; color:#4a3220; letter-spacing:-.035em; }
.dh-site .membership-overview-head p { font:400 13px/1.75 Arial,sans-serif; color:#8b7159; }
.dh-site .membership-monthly-price strong { font:400 37px/1 Georgia,serif; color:#69472e; }
.dh-site .membership-monthly-price span { font:400 10px/1.5 Arial,sans-serif; color:#8b725c; }
.dh-site .membership-benefits { padding:15px 28px; gap:22px; border-color:#e4d8c7; }
.dh-site .membership-benefits span { border-radius:0; background:none; padding:0; font:700 10px/1.5 Arial,sans-serif; color:#7d674e; }
.dh-site .membership-benefits span::before { content:'✓'; color:#6f7a58; margin-right:7px; }
.dh-site .membership-showcase-head { display:none; }
.dh-site .membership-showcase-grid { padding:25px 28px; gap:20px; }
.dh-site .membership-saving-tile { border:1px solid #e2d5c4; border-radius:3px; padding:22px; min-height:215px; background:#fffdf8 !important; box-shadow:none; transform:none; }
.dh-site .membership-saving-tile.active { background:#f6ecdd !important; border-color:#b77d53; box-shadow:none; }
.dh-site .membership-saving-tile>strong { font:400 24px/1.3 Georgia,serif; color:#4c3421; }
.dh-site .membership-tile-kicker { font:700 9px/1.5 Arial,sans-serif; letter-spacing:.08em; color:#9a7958; }
.dh-site .membership-saving-tile>p { font:400 12px/1.8 Arial,sans-serif; color:#8b7159; }
.dh-site .membership-tile-offer { border-color:#ddcdb9; }
.dh-site .membership-tile-offer span,.dh-site .membership-tile-offer em { font:400 10px/1.5 Arial,sans-serif; color:#917257; }
.dh-site .membership-tile-offer b { font:400 30px/1.2 Georgia,serif; color:#6f4c30; }
.dh-site .membership-bundle-offer { margin:0 28px 25px; padding:20px; border-radius:0; border:0; border-top:1px solid #ddcbb4; background:transparent; }
.dh-site .membership-bundle-offer strong { font:400 22px/1.3 Georgia,serif; color:#64452b; }
.dh-site .membership-bundle-offer span { font:400 11px/1.5 Arial,sans-serif; }
.dh-site .membership-bundle-choices button { border:1px solid #d3bda3; border-radius:3px; background:#fffbf5; box-shadow:none; }
.dh-site .membership-bundle-choices button strong { font:400 24px/1.2 Georgia,serif; }
.dh-site .membership-total-card { position:static; display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); gap:0 55px; padding:31px; border:0; border-radius:4px; background:#201e1b !important; box-shadow:none; align-items:start; }
.dh-site .membership-total-card>.membership-total-label,.dh-site .membership-total-card>.membership-total-price,.dh-site .membership-total-card>.membership-total-note,.dh-site .membership-total-card>.membership-summary,.dh-site .membership-total-card>.membership-integrations { grid-column:1; }
.dh-site .membership-total-label { color:#c7b093 !important; font:700 9px/1.5 Arial,sans-serif; letter-spacing:.14em; }
.dh-site .membership-total-card .membership-total-price { font:400 45px/1.2 Georgia,serif; color:#f7e7ce !important; }
.dh-site .membership-total-price span { font:400 13px/1.5 Arial,sans-serif; color:#c2ac8d; }
.dh-site .membership-total-card .membership-total-note,.dh-site .membership-total-card .membership-integrations { color:#baa58b !important; font:400 12px/1.7 Arial,sans-serif; }
.dh-site .membership-total-card .membership-summary { background:transparent; border-color:#60503e; }
.dh-site .membership-total-card .membership-summary-row { padding:10px 0; border-color:#4c4032; }
.dh-site .membership-total-card .membership-summary-row span { color:#bca88e !important; font:400 11px/1.6 Arial,sans-serif; }
.dh-site .membership-total-card .membership-summary-row strong { color:#f1ddbf !important; font:700 12px/1.6 Arial,sans-serif; }
.dh-site .membership-total-card .membership-recurring-consent { grid-column:2; grid-row:1 / span 5; padding:0; margin:0 0 19px; border:0; background:transparent; color:#cbb99f; font:400 11px/1.8 Arial,sans-serif; }
.dh-site .membership-recurring-consent strong { color:#f2dfc2; font:700 12px/1.6 Arial,sans-serif; margin-bottom:8px; }
.dh-site .membership-recurring-consent a { color:#f1ba8c; }
.dh-site .membership-recurring-consent input { accent-color:#e58340; }
.dh-site .membership-total-card .membership-cta { grid-column:2; grid-row:6; align-self:start; width:100%; }
.dh-site .membership-total-card .membership-status { grid-column:2; grid-row:7; color:#e7bb96; }
.dh-site #faq { display:grid; grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr); gap:70px; align-items:start; }
.dh-site #faq .section-header { position:sticky; top:115px; }
.dh-site #faq .section-title { max-width:350px; }
.dh-site .faq-list { max-width:none; width:100%; margin:0; }
.dh-site .faq-item { border:0; border-bottom:1px solid #d7c7b2; border-radius:0; background:transparent; box-shadow:none; margin:0; }
.dh-site .faq-item:first-child { border-top:1px solid #d7c7b2; }
.dh-site .faq-question { padding:22px 0; font:600 14px/1.6 Arial,sans-serif; color:#563d29; background:transparent; gap:20px; }
.dh-site .faq-icon { background:none; border:0; color:#a8683b; font-weight:400; }
.dh-site .faq-answer { font:400 13px/1.85 Arial,sans-serif; color:#856c54; padding-left:0; padding-right:35px; }
.dh-site .cta-banner { background:#59402c; padding:45px max(32px,calc((100% - 1240px)/2)); text-align:left; border:0; border-radius:0; }
.dh-site .cta-banner>div[style*="position:absolute"] { display:none; }
.dh-site .cta-banner>.reveal { display:grid; grid-template-columns:1fr auto; gap:10px 35px; align-items:center; }
.dh-site .cta-banner-title { font:400 35px/1.2 Georgia,serif; color:#ffefd9; letter-spacing:-.035em; margin:0; }
.dh-site .cta-banner-sub { font:400 13px/1.8 Arial,sans-serif; color:#d2bda5; margin:0; grid-column:1; }
.dh-site .cta-banner-btns { grid-column:2; grid-row:1 / span 2; gap:13px; margin:0; }
.dh-site .cta-banner .btn-primary,.dh-site .cta-banner .btn-outline { border-radius:3px; padding:12px 19px !important; font:700 12px/1.5 Arial,sans-serif !important; box-shadow:none !important; text-shadow:none; }
.dh-site .cta-banner .btn-outline { color:#fff3e2 !important; border-color:#d2bda5 !important; background:transparent !important; }
.dh-site .cta-banner .btn-outline:hover,.dh-site .cta-banner .btn-outline:active { color:#392d22 !important; background:#fff3e2 !important; border-color:#fff3e2 !important; }
.dh-site .cta-banner .btn-outline:focus-visible { outline:2px solid #fff3e2; outline-offset:4px; }

/* Keep the policy heading and close control visible above the mobile navigation. */
.dh-site .modal-overlay { z-index:10040; padding:16px; }
.dh-site .modal-box { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto minmax(0,1fr); gap:20px 16px; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); padding:28px; overflow:hidden; }
.dh-site .modal-title { grid-column:1; grid-row:1; align-self:center; clear:none; margin:0; font:400 30px/1.2 Georgia,serif; }
.dh-site .modal-close { grid-column:2; grid-row:1; position:static; float:none; width:44px; height:44px; }
.dh-site .modal-body { grid-column:1 / -1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:8px; }
@media (max-width:600px) {
 .dh-site .modal-box { padding:20px; gap:16px 12px; }
 .dh-site .modal-title { font-size:27px; }
 .dh-site .modal-body { font-size:15px; line-height:1.7; }
}
.dh-site #contact { background:#eee5d8 !important; }
.dh-site .contact-inner { max-width:none; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:25px 80px; align-items:start; }
.dh-site #contact .section-header { grid-column:1; grid-row:1; }
.dh-site #contactForm { grid-column:2; grid-row:1 / span 2; padding:0; border:0; background:transparent; box-shadow:none; border-radius:0; }
.dh-site .contact-grid { gap:19px; }
.dh-site #contact label { font:700 11px/1.6 Arial,sans-serif; color:#795438; }
.dh-site #contact input,.dh-site #contact textarea,.dh-site #contact select { background:#fffaf3; border:1px solid #cebaa0; border-radius:3px; box-shadow:none; font:400 13px/1.6 Arial,sans-serif; color:#503823; }
.dh-site #contact input:focus,.dh-site #contact textarea:focus,.dh-site #contact select:focus { outline:2px solid #b1784e; outline-offset:2px; }
.dh-site .contact-info-strip { grid-column:1; grid-row:2; display:grid; grid-template-columns:1fr; gap:19px; margin:0; border-top:1px solid #d1bda4; padding-top:25px; }
.dh-site .contact-info-item { justify-content:flex-start; padding:0; border:0; background:none; text-align:left; }
.dh-site .contact-info-icon { color:#9d663f; background:none; border:0; }
.dh-site .contact-info-item strong { font:700 10px/1.7 Arial,sans-serif; color:#765235; }
.dh-site .contact-info-item span { font:400 12px/1.7 Arial,sans-serif; color:#8c7258; }
.dh-site footer { background:#201e1b; padding:55px max(32px,calc((100% - 1240px)/2)) 25px; }
.dh-site .footer-grid,.dh-site .footer-bottom,.dh-site .footer-compliance { max-width:none; }
.dh-site .footer-logo { font:400 30px/1.2 Georgia,serif; color:#f9e5c9; letter-spacing:-.03em; }
.dh-site .footer-logo span { color:#e7975e; }
.dh-site .footer-col p { font:400 12px/1.85 Arial,sans-serif; color:#baa68b; }
.dh-site .footer-col-title { font:700 10px/1.7 Arial,sans-serif; letter-spacing:.12em; color:#d9bd98; }
.dh-site .footer-col a { font:400 12px/1.9 Arial,sans-serif; color:#c5b299; }
.dh-site footer .pill-tag { background:transparent; border:0; padding:0; margin-right:17px; font:400 10px/1.6 Arial,sans-serif; color:#9b8b76; }
.dh-site .footer-divider { border-color:#524635; margin:27px 0 18px; }
.dh-site .footer-copy,.dh-site .footer-legal-links a,.dh-site .footer-compliance { font:400 10px/1.8 Arial,sans-serif; color:#94846f; }
.dh-site .booking-choice-card,.dh-site .booking-modal,.dh-site .modal-box { border-radius:5px; }
.dh-site .booking-choice-title,.dh-site .booking-modal h2,.dh-site .booking-modal .step-intro-title,.dh-site .modal-title { font-family:Georgia,serif; font-weight:400; letter-spacing:-.025em; }
@media(max-width:1050px) {
 .dh-site #services,.dh-site #pricing,.dh-site #memberships,.dh-site #faq,.dh-site #contact { padding:60px 32px !important; }
 .dh-visit-layout { gap:35px; } .dh-visit-facts>div { grid-template-columns:1fr; gap:5px; }
 .dh-site .contact-inner { gap:30px; } .dh-site #faq { gap:35px; }
 .dh-site .cta-banner>.reveal { grid-template-columns:1fr; gap:15px; } .dh-site .cta-banner-btns { grid-column:1; grid-row:3; }
}
@media(max-width:760px) {
 .dh-site #services,.dh-site #pricing,.dh-site #memberships,.dh-site #faq,.dh-site #contact { padding:47px 22px !important; }
 .dh-site .section-title { font-size:34px; } .dh-site .section-sub { font-size:13px; line-height:1.85; }
 .dh-site .trust-strip { gap:14px 20px; padding:18px 22px; } .dh-site .trust-item { font-size:9px; }
 .dh-site .services-grid { grid-template-columns:1fr 1fr; gap:19px 25px; }
 .dh-site .service-card { padding-top:23px; } .dh-site .service-name { font-size:21px; } .dh-site .service-desc { font-size:12px; line-height:1.8; }
 .dh-site .service-card::before { font-size:10px; } .dh-site .service-emoji { margin-bottom:15px; }
 .dh-site #how { padding:42px 22px !important; } .dh-visit-layout { grid-template-columns:1fr; gap:30px; } .dh-visit-photo img { height:280px; }
 .dh-visit-facts>div { grid-template-columns:125px 1fr; gap:15px; } .dh-visit-facts dd { font-size:11px; }
 .dh-site .pricing-tabs { display:flex; width:100%; } .dh-site .pricing-tab { flex:1; padding:9px 12px; font-size:11px; }
 .dh-site .pricing-tabs-wrap { width:100%; }
 .dh-site #ptab-panel-individual .pricing-grid-3,.dh-site .family-grid { grid-template-columns:1fr; gap:28px; }
 .dh-site #pricing .pricing-card { padding:27px 23px; } .dh-site .pricing-name { font-size:29px; }
 .dh-site #ptab-panel-individual .pricing-vehicle { min-height:0; } .dh-site .pricing-badge { left:23px; }
 .dh-site .membership-showcase-grid { grid-template-columns:1fr; padding:20px; gap:14px; }
 .dh-site .membership-saving-tile { min-height:0; padding:21px; } .dh-site .membership-tile-offer { display:grid; grid-template-columns:1fr auto; align-items:center; gap:5px 15px; }
 .dh-site .membership-tile-offer b { grid-column:2; grid-row:1 / span 2; } .dh-site .membership-tile-offer span,.dh-site .membership-tile-offer em { grid-column:1; }
 .dh-site .membership-overview-head { padding:22px 20px; gap:15px; } .dh-site .membership-step-title { font-size:24px; }
 .dh-site .membership-monthly-price strong { font-size:29px; } .dh-site .membership-benefits { gap:11px; padding:15px 20px; }
 .dh-site .membership-benefits span { font-size:9px; }
 .dh-site .membership-bundle-offer { margin:0 20px 20px; padding:18px 0 0; } .dh-site .membership-bundle-offer strong { font-size:22px; }
 .dh-site .membership-bundle-choices { gap:7px; } .dh-site .membership-bundle-choices button { padding:12px 8px; }
 .dh-site .membership-bundle-choices button strong { font-size:22px; }
 .dh-site .membership-total-card { display:block; padding:25px 22px; }
 .dh-site .membership-total-card .membership-recurring-consent { margin:25px 0 20px; font-size:11px; line-height:1.85; }
 .dh-site #faq { display:block; } .dh-site #faq .section-header { position:static; }
 .dh-site .faq-question { font-size:13px; padding:20px 0; } .dh-site .faq-answer { font-size:12px; padding-right:20px; }
 .dh-site .cta-banner { padding:35px 22px; } .dh-site .cta-banner-title { font-size:31px; } .dh-site .cta-banner-btns { display:flex; flex-wrap:wrap; }
 .dh-site .contact-inner { display:flex; flex-direction:column; gap:25px; } .dh-site #contact .section-header { margin-bottom:0 !important; }
 .dh-site #contactForm { width:100%; } .dh-site .contact-grid { gap:17px; } .dh-site .contact-info-strip { width:100%; }
 .dh-site footer { padding:40px 22px 25px; } .dh-site .footer-grid { gap:32px; }
}
@media(max-width:380px) { .dh-site .services-grid { grid-template-columns:1fr; } .dh-visit-facts>div { grid-template-columns:1fr; gap:5px; } }
.dh-site #pricing .member-pricing-active .pricing-price { font-size:25px; color:#8c7d6c; }
.dh-site #pricing .member-pricing-active .pricing-price sup { font-size:16px; }
.dh-site #pricing .pricing-member-price { font-family:Georgia,serif; font-weight:400; }
.dh-site .service-card { display:block; height:auto; min-height:0; padding:24px 0 12px; }
.dh-site .service-card::before { display:none; }
.dh-service-number { color:#b27b4b; font:400 13px/1.5 Georgia,serif; margin-bottom:16px; }
.dh-site .section-sub,.dh-site .service-desc,.dh-site #pricing .plan-feature-copy small,.dh-site .membership-saving-tile>p,.dh-site .membership-overview-head p,.dh-site .faq-answer { color:#715943; }
.dh-site .faq-question { display:flex; justify-content:space-between; width:100%; text-align:left; border:0; cursor:pointer; }
.dh-site .faq-question:focus-visible { outline:2px solid #af7347; outline-offset:4px; }
.dh-site .membership-total-card { border-radius:4px !important; box-shadow:none !important; }
@media(max-width:760px) { .dh-site .service-card { padding-top:20px; } }
.dh-site .membership-builder::before,.dh-site .membership-builder::after,.dh-site .membership-overview-head::before,.dh-site .membership-overview-head::after,.dh-site #memberships::before,.dh-site #memberships::after { display:none !important; }


  .service-adjustment-result{position:fixed;z-index:10050;top:18px;left:50%;display:flex;align-items:flex-start;gap:14px;width:min(520px,calc(100% - 28px));padding:16px 18px;transform:translateX(-50%);color:#3a2210;background:#fffaf4;border:1px solid #e7c7a7;border-left:4px solid #ef7622;border-radius:12px;box-shadow:0 16px 40px rgba(58,34,16,.2);font-family:inherit}.service-adjustment-result strong,.service-adjustment-result span{display:block}.service-adjustment-result strong{margin-bottom:3px}.service-adjustment-result span{color:#725d4b;font-size:.86rem;line-height:1.45}.service-adjustment-result button{margin-left:auto;padding:2px;color:#3a2210;background:transparent;border:0;font-size:1.3rem;line-height:1;cursor:pointer}
@media(max-width:480px) {
 .dh-site .membership-overview-head { flex-direction:column; gap:15px; }
 .dh-site .membership-monthly-price { min-width:0; text-align:left; display:flex; align-items:baseline; gap:8px; }
 .dh-site .membership-bundle-choices { width:100%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
 .dh-site .membership-bundle-choices button { min-width:0; width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; padding:12px 14px; text-align:left; }
 .dh-site .membership-bundle-choices button strong { grid-column:2; grid-row:1 / span 2; }
 .dh-site .membership-bundle-choices button span,.dh-site .membership-bundle-choices button small { grid-column:1; }
}

/* Booking and rescheduling calendars share the portal's plain text labels. */
.dh-site #bookingModal #bp-1 .booking-calendar-day.closed,
.dh-site #bookingModal #bp-1 .booking-calendar-day.closed:hover,
.dh-site .reschedule-overlay .booking-calendar-day.closed { background:#f5f1eb!important; border-color:#ded2c2!important; color:#796551!important; }
.dh-site .calendar-availability-label,
.dh-site #bookingModal #bp-1 .booking-calendar-day.active .calendar-availability-label { padding:0; border:0; border-radius:0; background:transparent; color:inherit; font-family:Arial,sans-serif; font-weight:400; line-height:1.3; }
.dh-site .calendar-availability-label[data-availability="last"] { font-weight:700; }
.dh-site #bookingModal #bp-1 .booking-calendar-day.active,
.dh-site .reschedule-overlay .booking-calendar-day.active { background:#392d22!important; border-color:#392d22!important; color:#fffdf8!important; box-shadow:none!important; }

/* Match closure and full-day emphasis to the workforce calendar. */
.dh-site #bookingModal #bp-1 .booking-calendar-day.closed:has([data-availability="closed"]),
.dh-site .reschedule-overlay .booking-calendar-day.closed:has([data-availability="closed"]) { background:#e9e7e3!important; border-color:#c7c0b6!important; color:#655f57!important; box-shadow:inset 0 3px 0 #a49c91!important; }
.dh-site #bookingModal #bp-1 .booking-calendar-day.closed:has([data-availability="full"]),
.dh-site .reschedule-overlay .booking-calendar-day.closed:has([data-availability="full"]) { background:#eee0ce!important; border-color:#cfb99e!important; color:#654b33!important; box-shadow:inset 0 3px 0 #b08961!important; }
.dh-site .calendar-availability-label[data-availability="closed"],
.dh-site .calendar-availability-label[data-availability="full"] { font-weight:700; }

/* Keep every mobile hero comparison the same size, without empty sidebars. */
@media(max-width:780px) {
 .dh-site .dh-photo-crop { height:auto; aspect-ratio:3 / 4; background:#23211e; }
 .dh-site .dh-photo-crop img,
 .dh-site .dh-photo-pair figure:last-child .dh-photo-crop img { object-fit:cover; object-position:center; }
}

/* Separate, optional permission for public before-and-after photos. */
.dh-site #bookingModal .booking-photo-consent { margin:1.5rem 0; padding:1.25rem; border:1px solid #ded2c2; border-radius:0; min-width:0; }
.dh-site #bookingModal .booking-photo-consent legend { padding:0 .35rem; font-size:1rem; font-weight:700; color:#392d22; }
.dh-site #bookingModal .booking-photo-consent p { margin:0 0 1rem; color:#655747; font-size:.9rem; line-height:1.6; }
.dh-site #bookingModal .booking-photo-options { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.dh-site #bookingModal .booking-photo-options label { display:flex; align-items:center; gap:.6rem; min-height:48px; padding:.75rem 1rem; border:1px solid #ded2c2; background:#fff; color:#392d22; cursor:pointer; font-weight:700; }
.dh-site #bookingModal .booking-photo-options label:has(input:checked) { border-color:#b95c24; background:#fff3e8; }
.dh-site #bookingModal .booking-photo-options input { width:18px; height:18px; margin:0; accent-color:#b95c24; }
.dh-site #bookingModal .booking-photo-options label:focus-within { outline:2px solid #b95c24; outline-offset:2px; }

/* Ask for contact preferences after the customer chooses an arrival option. */
.dh-site #bookingModal .booking-contact-reveal[hidden] { display:none!important; }
.dh-site #bookingModal .booking-contact-reveal:not([hidden]) { animation:booking-contact-reveal .3s ease-out both; }
@keyframes booking-contact-reveal { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .dh-site #bookingModal .booking-contact-reveal:not([hidden]) { animation:none; } }

/* Mobile plan comparison uses native scrolling for touch and arrow controls. */
.pricing-carousel-controls { display:none; }

/* Compact review with explicit choices and expandable supporting details. */
.dh-site #bookingModal #bp-9 .review-section-label {
 margin:18px 0 10px;
 font-size:16px;
}
.dh-site #bookingModal #bp-9 .review-section-label:first-child { margin-top:0; }
.dh-site #bookingModal #bp-9 .review-details-card { padding:12px 16px; }
.dh-site #bookingModal #bp-9 .summary-title {
 display:block;
 margin:0 0 5px;
 padding:0 0 8px;
 font:400 21px/1.3 Georgia,serif;
}
.dh-site #bookingModal #bp-9 .summary-row {
 grid-template-columns:95px minmax(0,1fr);
 gap:12px;
 padding:8px 0;
 font-size:13px;
 line-height:1.5;
}
.dh-site #bookingModal #bp-9 .summary-total {
 margin:14px 0 0;
 padding:14px 16px;
 font-size:15px;
}
.dh-site #bookingModal #bp-9 .summary-total-price { font-size:25px; }
.dh-site #bookingModal #bp-9 .review-choice {
 margin-top:12px;
 padding:0 14px;
 border:1px solid #d8c8b8;
 border-radius:8px;
 background:#fffdf8;
}
.dh-site #bookingModal #bp-9 .review-choice[hidden] { display:none; }
.review-choice > summary {
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 min-height:56px;
 cursor:pointer;
 font-size:14px;
 list-style:none;
}
.review-choice > summary::-webkit-details-marker { display:none; }
.review-choice > summary::after { content:'+'; font-size:22px; }
.review-choice[open] > summary::after { content:'−'; }
.review-choice > summary span { margin-left:auto; color:#796551; font-size:12px; }
.review-choice > summary:focus-visible,
.review-discounts > summary:focus-visible,
.review-visit-details > summary:focus-visible { outline:2px solid #b95c24; outline-offset:3px; }
.dh-site #bookingModal #bp-9 .membership-checkout-wrap {
 margin:0 0 12px;
 padding:0;
 border:0;
 background:transparent;
 cursor:default;
}
.dh-site #bookingModal #bp-9 #membershipCheckoutToggle {
 display:block; width:44px; height:24px; min-height:24px; padding:0; border:0; box-shadow:none;
 cursor:pointer; order:2; margin-left:auto;
}
.dh-site #bookingModal #bp-9 .review-membership[hidden] { display:none; }
.dh-site #bookingModal #bp-9 .review-membership .membership-checkout-wrap {
 margin:14px 0; padding:14px; border:1px solid #d8c8b8; border-radius:8px;
 background:#f5efe5; align-items:center; gap:14px;
}
.dh-site #bookingModal #bp-9 .membership-chip,
.dh-site #bookingModal #bp-9 .membership-save-callout:empty { display:none; }
.dh-site #bookingModal #bp-9 .membership-checkout-text { flex:1; min-width:0; }
.dh-site #bookingModal #bp-9 .review-tip { border-top:1px solid #ded2c2; border-bottom:1px solid #ded2c2; margin:16px 0; padding:16px 0; }
.dh-site #bookingModal #bp-9 .review-tip .tip-picker { padding:0; margin:0; border:0; background:transparent; box-shadow:none; }
.dh-site #bookingModal #bp-9 .review-tip .tip-picker-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.dh-site #bookingModal #bp-9 .tip-picker-title { font-size:15px; }
.dh-site #bookingModal #bp-9 .tip-picker-amount { font-size:18px; color:#392d22; background:none; border:0; padding:0; }
.dh-site #bookingModal #bp-9 .review-tip .tip-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-radius:28px; padding:3px; background:#eee9e2; }
.dh-site #bookingModal #bp-9 .review-tip .tip-option { border:0; border-radius:24px; background:transparent; box-shadow:none; color:#392d22; min-height:44px; font-weight:700; }
.dh-site #bookingModal #bp-9 .review-tip .tip-option.active { background:#392d22; color:#fffdf8; }
.dh-site #bookingModal #bp-9 .review-price-breakdown[hidden] { display:none; }
.dh-site #bookingModal #bp-9 .review-price-breakdown .summary-row,
.dh-site #bookingModal #bp-9 #sum-tip-row { display:flex; justify-content:space-between; gap:16px; font-size:13px; }
.dh-site #bookingModal #bp-9 .review-price-breakdown .summary-row > span:first-child,
.dh-site #bookingModal #bp-9 #sum-tip-row > span:first-child { flex:1; }
.dh-site #bookingModal #bp-9 .review-price-breakdown .summary-row > span:last-child,
.dh-site #bookingModal #bp-9 #sum-tip-row > span:last-child { text-align:right; flex:0 0 auto; }
.dh-site #bookingModal #bp-9 #sum-bundle-val { color:#35664b; font-weight:700; }
.membership-review-actions { display:grid; gap:8px; padding-bottom:14px; }
.membership-review-actions button {
 min-height:44px;
 padding:10px;
 border:1px solid #cebaa0;
 border-radius:5px;
 background:white;
 color:#392d22;
 font-weight:700;
 cursor:pointer;
}
.membership-review-actions button[aria-pressed="true"] { background:#fff1e5; border-color:#b95c24; }
.dh-site #bookingModal #bp-9 .tip-picker { padding:4px 0 14px; }
.dh-site #bookingModal #bp-9 .tip-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
.dh-site #bookingModal #bp-9 .tip-option { min-height:44px; padding:8px 4px; font-size:13px; }
.dh-site #bookingModal #bp-9 .tip-picker-copy { font-size:12px; }
.review-discounts { margin:14px 0; }
.review-promo-label { display:block; margin-bottom:8px; font-size:13px; font-weight:700; color:#392d22; }
.dh-site #bookingModal #bp-9 .membership-price-preview { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; margin:8px 0; }
.dh-site #bookingModal #bp-9 .membership-price-preview s { color:#796551; font-size:16px; }
.dh-site #bookingModal #bp-9 .membership-price-preview strong { color:#35664b; font-size:23px; line-height:1.2; }
.dh-site #bookingModal #bp-9 .membership-price-preview small { flex-basis:100%; color:#655747; font-size:11px; }
.dh-site #bookingModal #btnPay:disabled {
 background:#e7dfd5 !important;
 color:#887b6e !important;
 border-color:#d8cabb !important;
 box-shadow:none !important;
 opacity:1 !important;
 cursor:not-allowed;
}
.review-discounts > summary,
.review-visit-details > summary { padding:10px 0; color:#70503a; font-size:13px; cursor:pointer; }
.dh-site #bookingModal #bp-9 .review-discounts .checkout-review-card { padding:8px 0; }
@media(max-width:620px) {
 .dh-site #bookingModal:has(#bp-9.active) .booking-progress { display:none; }
 .dh-site #bookingModal:has(#bp-9.active) .booking-modal-header { padding:10px 14px; }
 .dh-site #bookingModal:has(#bp-9.active) .booking-modal-title { font-size:17px; }
 .dh-site #bookingModal #bp-9 .summary-row { grid-template-columns:85px minmax(0,1fr); }
 .dh-site #bookingModal #bp-9 .summary-tax-note { margin:8px 0; font-size:11px; }
}
@media(max-width:760px) {
 .dh-site .pricing-carousel-controls { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 8px; }
 .pricing-carousel-controls strong { display:block; font:700 15px/1.4 Arial,sans-serif; color:#392d22; }
 .pricing-carousel-controls span { display:block; margin-top:4px; font:400 12px/1.5 Arial,sans-serif; color:#796551; }
 .pricing-carousel-arrows { display:flex; gap:8px; flex-shrink:0; }
 .dh-site .pricing-carousel-arrows button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid #c8b6a2; border-radius:50%; background:#fffdf8; color:#392d22; font:400 25px/1 Arial,sans-serif; box-shadow:none !important; cursor:pointer; }
 .dh-site .pricing-carousel-arrows button:disabled { opacity:.35; cursor:default; }
 .pricing-carousel-arrows button:focus-visible { outline:2px solid #b95c24; outline-offset:3px; }
 .dh-site #ptab-panel-individual .pricing-grid-3 { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left:1px; overscroll-behavior-x:contain; scrollbar-width:none; padding:16px 25px 8px 1px; margin:0; }
 .dh-site #ptab-panel-individual .pricing-grid-3::-webkit-scrollbar { display:none; }
 .dh-site #ptab-panel-individual .pricing-grid-3::after { content:''; flex:0 0 12px; order:4; }
 .dh-site #ptab-panel-individual .pricing-card { flex:0 0 calc(100% - 24px); min-width:0; scroll-snap-align:start; scroll-snap-stop:always; transform:none; }
 .dh-site #ptab-panel-individual [data-pricing-service="reset"] { order:1; }
 .dh-site #ptab-panel-individual [data-pricing-service="ride"] { order:2; }
 .dh-site #ptab-panel-individual [data-pricing-service="express"] { order:3; }
}
