/* Context: migrated from index.html inline CSS so page markup stays style-attribute free. */
/* Keep this file loaded after the main theme files; several rules intentionally preserve old cascade overrides. */
/* Former index.html <style> blocks. */
/* Inline style block 1: anonymous head style block. */
@media (max-width:480px){
  html body #headerBookBtnWrap{gap:0.25rem!important;margin-top:2rem!important;margin-bottom:2rem!important}
  html body #headerBookBtnWrap .header__content-text{margin-top:0!important;margin-bottom:0!important}
}
/* Inline style block 2: anonymous head style block. */
.site-purpose__note {
font-size: 1.2rem !important;
line-height: 1.6 !important;
}
@media (max-width: 768px) {
.site-purpose__note {
font-size: 1.15rem !important;
}
}
@media (max-width: 480px) {
.site-purpose__note {
font-size: 1.1rem !important;
}
}
/* Footer contact information font styling to match FAQ standard */
.privacy-note--contacts {
font-size: 1.2rem !important;
font-weight: 400 !important;
line-height: 1.6 !important;
letter-spacing: 0.01em !important;
}
.privacy-note--contacts .privacy-note__phone,
.privacy-note--contacts .privacy-note__email,
.privacy-note--contacts .privacy-note__location {
font-size: 1.2rem !important;
font-weight: 400 !important;
line-height: 1.6 !important;
letter-spacing: 0.01em !important;
}
.footer__hours,
.footer__hours p,
.footer__hours-text {
font-size: 1.2rem !important;
font-weight: 400 !important;
line-height: 1.6 !important;
letter-spacing: 0.01em !important;
}
.footer__hours.dynamic-text {
line-height: 1.6 !important;
gap: 0.6rem !important;
}
@media (max-width: 768px) {
.privacy-note--contacts,
.privacy-note--contacts .privacy-note__phone,
.privacy-note--contacts .privacy-note__email,
.privacy-note--contacts .privacy-note__location,
.footer__hours,
.footer__hours p,
.footer__hours-text {
font-size: 1.2rem !important;
line-height: 1.6 !important;
}
}
@media (max-width: 480px) {
.privacy-note--contacts,
.privacy-note--contacts .privacy-note__phone,
.privacy-note--contacts .privacy-note__email,
.privacy-note--contacts .privacy-note__location,
.footer__hours,
.footer__hours p,
.footer__hours-text {
font-size: 1.2rem !important;
line-height: 1.6 !important;
}
}
/* Normalize phone and email link presentation in hero/footer across all pages. */
a.hero-services-summary__phone,
.hero-services-summary__phone,
.privacy-note--contacts .privacy-note__phone,
.privacy-note--contacts .privacy-note__email,
.privacy-note--contacts .privacy-note__location,
.privacy-note--contacts .privacy-note__phone:hover,
.privacy-note--contacts .privacy-note__email:hover,
.privacy-note--contacts .privacy-note__location:hover,
.footer__privacy-note-block .privacy-note.privacy-note--contacts a,
.footer__privacy-note-block .privacy-note.privacy-note--contacts a:hover {
    text-decoration: none !important;
    color: inherit !important;
    -webkit-text-decoration-color: currentColor !important;
    text-decoration-color: currentColor !important;
}
.footer__privacy-note-block .privacy-note.privacy-note--contacts {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.65rem !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
}
.footer__privacy-note-block .privacy-note.privacy-note--contacts .privacy-note__phone,
.footer__privacy-note-block .privacy-note.privacy-note--contacts .privacy-note__email,
.footer__privacy-note-block .privacy-note.privacy-note--contacts .privacy-note__location {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.65rem !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    text-decoration: none !important;
}
.header__content-block--services .services-swipe-container,
.header__content-block--services .services-swipe-wrapper {
    overflow: hidden !important;
}
.header__content-block--services .services-swipe-slide:not(.is-active):not(.is-entering-left):not(.is-leaving-left) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(6000px) !important;
}
.header__content-block--services .services-swipe-slide:first-child {
    position: relative !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
}
/* Inline style block 3: anonymous head style block. */
/* Modal close button - white semi-transparent */
        .modal__close {
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.7);
            font-size: 2rem;
            font-weight: 300;
            line-height: 1;
            padding: 0.5rem;
            min-width: 3rem;
            min-height: 3rem;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: color 0.2s ease, transform 0.2s ease;
            position: absolute;
            top: 1rem;
            right: 1rem;
        }
.modal__close:hover {
            color: rgba(255, 255, 255, 1);
            transform: scale(1.1);
        }
.modal__close:active {
            transform: scale(0.95);
        }
/* Camera capture close button */
        .camera-capture__close {
            position: absolute !important;
            top: 1rem !important;
            left: 1rem !important;
            right: auto !important;
            color: rgba(212, 184, 154, 0.85) !important;
            opacity: 0.8 !important;
            transition: color 0.2s ease, transform 0.2s ease !important;
        }
.camera-capture__close:hover {
            color: rgba(255, 255, 255, 1) !important;
            transform: scale(1.1) !important;
        }
/* Form calendar overlay close button */
        .form-calendar-overlay__close {
            background: none !important;
            border: none !important;
            color: rgba(255, 255, 255, 0.7) !important;
            font-size: 1.5rem !important;
            font-weight: 300 !important;
            padding: 0.5rem !important;
            cursor: pointer !important;
            transition: color 0.2s ease, transform 0.2s ease !important;
        }
.form-calendar-overlay__close:hover {
            color: rgba(255, 255, 255, 1) !important;
            transform: scale(1.1) !important;
        }
/* Generate X symbol using CSS for empty buttons */
        .modal__close::before,
        .camera-capture__close::before,
        .form-calendar-overlay__close::before {
            content: "\00d7";
            font-size: 1.8em;
            line-height: 1;
        }
.form-calendar-overlay__close::before {
            font-size: 1.5em;
        }
/* Inline style block 4: id="override-breadcrumb-color". */
.breadcrumbs, .breadcrumbs a, .breadcrumbs span { color: #8f7866 !important; }
/* Inline style block 5: id="directions-glass-design". */
#directionsBtn {
    background: rgba(255, 248, 239, 0.14) !important;
    -webkit-backdrop-filter: blur(10px) saturate(105%) !important;
    backdrop-filter: blur(10px) saturate(105%) !important;
    border: 1px solid rgba(255, 248, 239, 0.28) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    gap: 0.5rem !important;
    min-height: 2.65rem !important;
    min-width: auto !important;
    padding: 0.55rem 1.05rem !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
    display: inline-flex !important;
    outline: none !important;
}
#directionsBtn .directions-icon {
    display: block !important;
    flex: 0 0 auto !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
    color: #fffaf3 !important;
    fill: currentColor !important;
    transform: scaleX(-1) !important;
}
#directionsBtn span {
    color: #fffaf3 !important;
    -webkit-text-fill-color: #fffaf3 !important;
}
#directionsBtn:hover,
#directionsBtn:focus-visible {
    background: rgba(255, 248, 239, 0.2) !important;
    border-color: rgba(255, 248, 239, 0.42) !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
}
#directionsBtn:active {
    background: rgba(255, 248, 239, 0.16) !important;
    border-color: rgba(255, 248, 239, 0.34) !important;
    box-shadow: none !important;
    transform: none !important;
}
/* Former index.html style attributes on elements with stable ids. */
#headerBookBtnWrap { text-align: center; margin-top: clamp(4rem, 8vw, 5.5rem) !important; margin-bottom: clamp(4rem, 8vw, 5.5rem) !important; }
#bookingCalendar { background: rgba(255, 255, 255, 0.06) !important; border: 1px solid rgba(255, 255, 255, 0.04) !important; border-radius: 15.68px !important; overflow: visible !important; box-shadow: 0 0.34rem 0.84rem rgba(58, 42, 29, 0.06), 0 0.08rem 0.2rem rgba(58, 42, 29, 0.03) !important; backdrop-filter: none !important; }
#faqSectionTitle { margin-top: 8rem; }
#headerBookBtnPreloader { position: absolute; display: none; opacity: 0; pointer-events: none; }
#headerBookBtn { opacity: 1; transform: scale(1); pointer-events: auto; }
#globalSpinner { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
#bookingSubmitErrorModal { display:none; }
#bookingSubmitErrorMessage { margin-bottom: 0.5rem; }
#bookingSubmitErrorCodeDisplay { font-family: monospace; font-size: 0.85em; opacity: 0.7; margin-bottom: 1.5rem; }
/* Former index.html style attributes grouped by repeated declarations. */
.index-inline-style-001 { margin: 0; padding: 0; border: none; background: none; }
.index-inline-style-002 { display: block; }
.index-inline-style-003 { width: max-content !important; max-width: min(100%, 45rem) !important; }
.index-inline-style-004 { text-align: justify !important; text-align-last: justify !important; text-justify: inter-word !important; }
.index-inline-style-005 { margin-top: -0.5rem; text-align: center !important; }
.index-inline-style-006 { color: inherit; text-decoration: none; }
.index-inline-style-007 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
.index-inline-style-008 { font-size: 1.3rem; }
.index-inline-style-009 { padding-left: 1.65rem; margin-top: 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
.index-inline-style-010 { margin-top: 0; }
.index-inline-style-011 { margin-top: 1.5rem; padding: 0 1.65rem 0.5rem; }
.index-inline-style-012 { justify-content: center; }
.index-inline-style-013 { color: inherit; font-weight: 800; text-decoration: underline; }
.index-inline-style-014 { transform: translateY(3px); display:inline-block; margin-right:0.25em; }
.index-inline-style-015 { vertical-align: -0.125em; display:inline-block; vertical-align:middle; margin-right:0.25em; }
.index-inline-style-016 { text-align: center; margin: 2rem 0 3.3rem; }
.index-inline-style-017 { text-align: center; line-height: 1.2; display: none; }
.index-inline-style-018 { gap: 0.6rem !important; row-gap: 0.6rem !important; display: flex !important; flex-direction: column !important; }
.index-inline-style-019 { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.index-inline-style-020 { max-width: 600px; }
.index-inline-style-021 { filter: drop-shadow(0 0 18px rgba(255, 255, 255, 0.9)); }
/* Context: keep the hero service summary centered and compact across the viewport. */
.header__hero .header__description.hero-services-summary {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: min(100%, 45rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: justify !important;
    text-justify: inter-word !important;
    line-height: 1.22 !important;
    letter-spacing: .02em !important;
    word-spacing: normal !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.header__hero .hero-services-summary .hero-services-summary__line {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: justify !important;
    text-align-last: center !important;
    text-justify: inter-word !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
}
@media (max-width: 768px) {
    .header__hero .header__description.hero-services-summary {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .header__hero .hero-services-summary .hero-services-summary__line {
        width: 100% !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }
}
