/* ═══════════════════════════════════════════════════════════════════════════
   LASERIT: MASTER STYLESHEET
   Single source of truth. Edit this file for any visual change.

   Sections:
     1.  CSS VARIABLES & FONTS
     2.  ADMIN BAR OFFSET
     3.  ASTRA / ELEMENTOR FRAMEWORK
     4.  HIDE ASTRA HEADER  (replaced by #la-header below)
     5.  CUSTOM HEADER  (#la-header: white mega dropdown)
     6.  FOOTER
     7.  CHATBOT
     8.  HOME: SERVICE CARDS  (image on top, links at bottom)
     9.  HOME: WHY / REVIEWS / TRUST
     10. SERVICE PAGES
     11. PAGE COMPONENTS  (accordions, benefits, pricing, CTA)
     12. INNER PAGES  (team, clinic, promotions, testimonials)
     13. ASTRA FALLBACK NAV  (hidden behind #la-header; kept as safety net)
     14. RESPONSIVE
   ══════════════════════════════════════════════════════════════════════════ */


/* ─────────────────────────────────────────────────────────────────────────
   1. CSS VARIABLES & FONTS
   ───────────────────────────────────────────────────────────────────────── */
/* Figtree body + Cormorant display (Inter banned by WEBSITE_CRAFT) */
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;650;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root {
    --la-navy:      #1c1f6e;
    --la-gold:      #c9a84c;
    --la-gold-hover:#b8943f;
    --la-dark:      #0f1240;
    --la-dark-alt:  #080a24;
    --la-dark-nav:  #111540;
    --la-dark-mob:  #13164e;
    --la-paper:     #F7F5F0;
    --la-ink:       #121820;
    --la-mute:      #5C6674;
    --la-font:      'Figtree', system-ui, sans-serif;
    --la-display:   'Cormorant Garamond', Georgia, serif;
}

body {
    font-family: var(--la-font);
}

/* Global UX guards */
html { overflow-x: clip; }
body { overflow-x: clip; max-width: 100%; }

.la-skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 100000;
    padding: 12px 20px;
    background: var(--la-gold);
    color: var(--la-navy);
    font-weight: 700;
    text-decoration: none;
    border-radius: 0 0 8px 0;
}
.la-skip-link:focus,
.la-skip-link:focus-visible {
    position: fixed;
    left: 12px;
    top: 12px;
    width: auto;
    height: auto;
    overflow: visible;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Focus: keyboard users */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: 2px solid var(--la-gold);
    outline-offset: 2px;
}

.la-hdr-toggle,
.la-hdr-expand {
    min-width: 44px;
    min-height: 44px;
}


/* ─────────────────────────────────────────────────────────────────────────
   2. ADMIN BAR OFFSET
   ───────────────────────────────────────────────────────────────────────── */
body.admin-bar #la-header { top: 32px; }
@media screen and (max-width: 782px) {
    body.admin-bar #la-header { top: 46px; }
}


/* ─────────────────────────────────────────────────────────────────────────
   3. ASTRA / ELEMENTOR FRAMEWORK
   ───────────────────────────────────────────────────────────────────────── */
/* Elementor containers full-bleed */
.elementor-location-single .elementor,
.elementor-page-header-footer .elementor { width: 100%; }
.elementor-section.elementor-section-full_width,
.e-con.e-con-full-width { max-width: 100% !important; width: 100% !important; }

body.elementor-page #content.site-content,
body.elementor-page .ast-container,
body.elementor-page .entry-content,
body.elementor-page .site-content > .ast-container,
.elementor-template-full-width #content,
.elementor-template-full-width .ast-container {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.elementor-page .ast-separate-container .ast-article-inner,
body.elementor-page article.ast-article-post {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* Hide page title / breadcrumbs */
.ast-page-title-bar, .page-header, .entry-header,
.ast-breadcrumbs-wrapper { display: none !important; }
.page .entry-content,
.page #content,
.page #primary { padding-top: 0 !important; margin-top: 0 !important; }
.page .entry-title { display: none !important; }

/* Elementor widget typography */
.elementor-widget-heading h1,
.elementor-widget-heading h2 { font-family: 'Cormorant Garamond', Georgia, serif !important; }
.elementor-widget-heading p,
.elementor-widget-text-editor p { font-family: 'Inter', system-ui, sans-serif !important; }

/* Banner text shadows */
.elementor-element-14c36c5 h1 { text-shadow: 0 2px 14px rgba(0,0,0,0.5) !important; }
.elementor-element-14c36c5 p  { text-shadow: 0 1px 8px rgba(0,0,0,0.4) !important; }

/* Hero section height guard */
.elementor-element-b4a4985 { min-height: 400px; }
.elementor-element-b4a4985 > .elementor-element-14c36c5,
.elementor-element-b4a4985 > .elementor-element-14c36c5 > .elementor-widget-container {
    width: 100% !important;
    display: block !important;
}


/* Elementor "info" button override: scoped per page */
body.page-id-12 .elementor-element.elementor-button-info .elementor-button,
body.page-id-12 .elementor-widget-button .elementor-button.elementor-button-info,
body.page-id-42 .elementor-element.elementor-button-info .elementor-button,
body.page-id-42 .elementor-widget-button .elementor-button.elementor-button-info {
    background-color: var(--la-gold) !important;
    color: var(--la-navy) !important;
}
body.page-id-12 .elementor-element.elementor-button-info .elementor-button:hover,
body.page-id-12 .elementor-widget-button .elementor-button.elementor-button-info:hover,
body.page-id-42 .elementor-element.elementor-button-info .elementor-button:hover,
body.page-id-42 .elementor-widget-button .elementor-button.elementor-button-info:hover {
    background-color: var(--la-gold-hover) !important;
    color: var(--la-navy) !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   LASERIT: CUSTOM HEADER
   Fully self-contained. Zero Astra or Mega Menu dependencies.
   Edit this file for any header change. That's it.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── HIDE ASTRA'S HEADER (we replace it entirely) ─────────────────────────
   Astra still outputs its HTML but we suppress it visually.
   Our #la-header takes its place.                                          */
#masthead,
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-main-header-wrap,
.main-header-bar-wrap,
.ast-desktop-header {
    display: none !important;
}
/* ast-header-break-point is a BODY class Astra adds at mobile: never hide it globally */
#masthead .ast-header-break-point,
.ast-mobile-header-wrap,
#ast-mobile-header {
    display: none !important;
}

/* ── HEADER SHELL ──────────────────────────────────────────────────────────*/
#la-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: linear-gradient(180deg, #252880 0%, #181b62 100%);
    border-bottom: 3px solid #c9a84c;
    box-shadow: 0 3px 18px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.07);
    transition: background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

/* Scrolled state: 15% shorter, semi-transparent */
#la-header.la-hdr-scrolled {
    background: rgba(28, 31, 110, 0.70);
    border-bottom-color: rgba(201, 168, 76, 0.70);
    box-shadow: 0 2px 16px rgba(0,0,0,0.25);
}
#la-header.la-hdr-scrolled .la-hdr-inner {
    height: 60px;
}
#la-header.la-hdr-scrolled .la-hdr-nav-list {
    height: 60px;
}

.la-hdr-inner {
    display: flex;
    align-items: center;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
    height: 70px;
    transition: height 0.35s ease;
}

/* ── LOGO ──────────────────────────────────────────────────────────────────*/
.la-hdr-logo-link {
    flex-shrink: 0;
    margin-right: 24px;
    display: flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
}
.la-logo {
    display: block;
    width: auto;
    object-fit: contain;
}
.la-logo--header {
    height: 46px;
    max-width: 220px;
}
.la-footer-logo-link {
    display: inline-block;
    line-height: 0;
    margin-bottom: 14px;
}
.la-logo--footer {
    height: auto;
    width: min(220px, 100%);
    max-height: 52px;
    display: block;
}
#la-header.la-hdr-scrolled .la-logo--header {
    height: 38px;
    max-width: 190px;
}
@media (max-width: 900px) {
    .la-logo--header {
        height: 36px;
        max-width: 168px;
    }
}
.la-hdr-logo-text {
    color: #fff;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* ── NAV LIST ──────────────────────────────────────────────────────────────*/
.la-hdr-nav {
    flex: 1;
    display: flex;
    align-items: center;
    position: relative;
}
.la-hdr-nav-list {
    display: flex;
    align-items: center;
    list-style: none !important;
    margin: 0;
    padding: 0;
    height: 70px;
    transition: height 0.35s ease;
    width: 100%;
}
.la-hdr-nav-list li {
    list-style: none !important;
}
.la-hdr-item {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}
.la-hdr-item > a,
.la-hdr-split-link {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 14px;
    color: rgba(255,255,255,0.92) !important;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: none;
    text-decoration: none !important;
    white-space: nowrap;
    gap: 5px;
    border-bottom: 3px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}
.la-hdr-item > a:hover,
.la-hdr-split-link:hover {
    color: #c9a84c !important;
    border-bottom-color: #c9a84c;
}
.la-hdr-split {
    display: flex;
    align-items: stretch;
    height: 100%;
}
.la-hdr-split .la-hdr-split-link { flex: 1; }
.la-hdr-expand {
    display: none;
    align-items: center;
    justify-content: center;
    width: 36px;
    background: none;
    border: none;
    color: rgba(255,255,255,0.85);
    cursor: pointer;
    border-bottom: 3px solid transparent;
}
.la-hdr-expand:hover { color: #c9a84c; }
.la-hdr-caret {
    flex-shrink: 0;
    transition: transform 0.25s;
}
.la-hdr-has-mega:hover .la-hdr-caret,
.la-hdr-has-drop:hover .la-hdr-caret,
.la-submenu-open .la-hdr-caret {
    transform: rotate(180deg);
}

/* ── BOOK BUTTON ───────────────────────────────────────────────────────────*/
.la-hdr-book {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 14px;
    background: #c9a84c;
    color: #1c1f6e !important;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding: 9px 18px;
    border-radius: 4px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.15s;
    text-transform: none;
    letter-spacing: 0.01em;
    text-align: center;
    line-height: 1.2;
}
.la-hdr-book:hover {
    background: #b8943c;
    color: #1c1f6e !important;
}
.la-hdr-phone {
    flex-shrink: 0;
    margin-left: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--la-navy) !important;
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 8px;
    white-space: nowrap;
}
.la-hdr-phone:hover { color: var(--la-gold) !important; }

/* ── MEGA DROPDOWN ─────────────────────────────────────────────────────────*/
.la-hdr-mega {
    display: none;
    position: absolute;
    top: calc(100% + 3px);
    left: 0;
    width: 100%;
    background: #ffffff;
    border: 1px solid rgba(201,168,76,0.28);
    border-top: 3px solid #c9a84c;
    border-radius: 0 0 14px 14px;
    box-shadow: 0 16px 48px rgba(28,31,110,0.22), 0 4px 16px rgba(28,31,110,0.12);
    z-index: 99999;
    overflow: hidden;
}
/* Hover bridge: prevents gap between nav link and dropdown */
.la-hdr-has-mega > a::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    top: 100%;
    height: 10px;
}
.la-hdr-has-mega:hover .la-hdr-mega,
.la-hdr-has-mega:focus-within .la-hdr-mega {
    display: block;
    animation: la-drop-in 0.28s ease forwards;
}

/* About dropdown */
.la-hdr-drop {
    display: none;
    position: absolute;
    top: calc(100% + 3px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid rgba(201,168,76,0.28);
    border-top: 3px solid #c9a84c;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 12px 36px rgba(28,31,110,0.18);
    z-index: 99999;
    padding: 10px 0;
}
.la-hdr-drop ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.la-hdr-drop li a {
    display: block;
    padding: 10px 18px;
    color: #1c1f6e !important;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none !important;
}
.la-hdr-drop li a:hover { background: rgba(201,168,76,0.12); color: #1c1f6e !important; }
.la-hdr-has-drop:hover .la-hdr-drop,
.la-hdr-has-drop:focus-within .la-hdr-drop {
    display: block;
    animation: la-drop-in 0.22s ease forwards;
}

/* Mega featured row */
.la-mega-featured { padding: 18px 22px 8px; border-bottom: 1px solid rgba(28,31,110,0.08); }
.la-mega-kicker {
    margin: 0 0 12px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6b7280;
}
.la-mega-featured-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.la-mega-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-radius: 10px;
    border: 1px solid rgba(28,31,110,0.08);
    text-decoration: none !important;
    transition: border-color .15s, box-shadow .15s;
}
.la-mega-card:hover {
    border-color: #c9a84c;
    box-shadow: 0 4px 16px rgba(28,31,110,0.08);
}
.la-mega-card-img {
    width: 52px;
    height: 52px;
    border-radius: 8px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}
.la-mega-card-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.la-mega-card-tag { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #c9a84c; }
.la-mega-card-label { font-size: 0.82rem; font-weight: 600; color: #1c1f6e; line-height: 1.25; }

.la-mega-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 22px 16px;
    background: #f8f8fc;
    border-top: 1px solid rgba(28,31,110,0.06);
}
.la-mega-foot-link {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1c1f6e !important;
    text-decoration: none !important;
}
.la-mega-foot-link:hover { color: #c9a84c !important; }
.la-mega-foot-match { color: #c9a84c !important; }

.la-nav-mobile-cta { display: none; }
@keyframes la-drop-in {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.la-mega-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 18px 22px 12px;
    gap: 0;
}
.la-mega-col {
    padding: 0 18px;
}
.la-mega-col ul {
    list-style: none !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
}
.la-mega-col li { margin: 0 !important; padding: 0 !important; }
.la-mega-col li a {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #1c1f6e !important;
    text-decoration: none !important;
    padding: 6px 8px;
    border-radius: 4px;
    line-height: 1.5;
}
.la-mega-col li a:hover {
    background: rgba(201,168,76,0.15);
    color: #1c1f6e !important;
}

.la-mega-group { margin-bottom: 22px; }

.la-mega-cat {
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 21px;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: none;
    color: #c9a84c;
    padding-bottom: 4px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(201,168,76,0.45);
}
.la-mega-cat::before {
    content: '';
}
.la-mega-group ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 6px 0 0 !important;
}
.la-mega-group li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.la-mega-group li a {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #1c1f6e !important;
    text-decoration: none !important;
    padding: 7px 10px;
    border-left: 3px solid transparent;
    border-radius: 4px;
    line-height: 1.6;
    transition: color 0.15s, background 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.la-mega-group li a::before {
    content: '+';
    color: #c9a84c;
    font-weight: 600;
    font-size: 14px;
    margin-right: 7px;
    display: inline-block;
    transition: transform 0.15s;
}
.la-mega-group li a:hover::before {
    transform: rotate(45deg);
}
/* Gold ★ on featured services */
.la-mega-group li a .la-star {
    color: #c9a84c;
    font-style: normal;
}
.la-mega-group li a:hover {
    color: #1c1f6e !important;
    background: rgba(201, 168, 76, 0.18);
    border-left-color: #c9a84c;
    box-shadow: inset 0 0 0 1px rgba(201, 168, 76, 0.32);
}


/* ── HAMBURGER ─────────────────────────────────────────────────────────────*/
.la-hdr-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    margin-left: auto;
}
.la-hdr-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.22s, opacity 0.22s;
    transform-origin: center;
}
.la-toggle-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.la-toggle-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.la-toggle-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── RESPONSIVE ────────────────────────────────────────────────────────────*/
@media (max-width: 960px) {
    .la-hdr-item > a { padding: 0 10px; font-size: 14px; }
}

@media (max-width: 820px) {
    .la-hdr-toggle { display: flex; }
    .la-hdr-book   { display: none; }
    .la-hdr-expand { display: flex; }

    .la-nav-mobile-cta {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 16px 20px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .la-hdr-book-mobile {
        display: block !important;
        text-align: center;
        margin: 0 !important;
        padding: 14px 18px !important;
        font-size: 14px !important;
        border-radius: 8px;
    }
    .la-hdr-phone-mobile {
        text-align: center;
        color: rgba(255,255,255,0.85) !important;
        font-weight: 600;
        font-size: 15px;
        text-decoration: none !important;
    }

    /* Slide-down mobile nav */
    .la-hdr-nav {
        position: fixed;
        top: 70px;
        left: 0;
        right: 0;
        background: #1c1f6e;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        flex-direction: column;
        align-items: stretch;
        border-top: 2px solid #c9a84c;
        box-shadow: 0 8px 24px rgba(0,0,0,0.35);
        z-index: 9998;
    }
    .la-hdr-nav.la-nav-open {
        max-height: calc(100vh - 70px);
        overflow-y: auto;
    }

    .la-hdr-nav-list {
        flex-direction: column;
        height: auto;
        align-items: stretch;
        padding: 6px 0 16px;
    }
    .la-hdr-item {
        height: auto;
        flex-direction: column;
        align-items: stretch;
    }
    .la-hdr-item > a,
    .la-hdr-split {
        height: auto;
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .la-hdr-split-link {
        height: auto;
        padding: 14px 24px;
        font-size: 15px;
        flex: 1;
        border-bottom: none;
    }
    .la-hdr-expand {
        border-bottom: none;
        border-left: 1px solid rgba(255,255,255,0.08);
    }

    .la-hdr-has-mega:hover .la-hdr-mega,
    .la-hdr-has-drop:hover .la-hdr-drop { display: none !important; }
    .la-hdr-item.la-submenu-open .la-hdr-mega,
    .la-hdr-item.la-submenu-open .la-hdr-drop {
        display: block !important;
        animation: none !important;
    }

    /* Mobile mega dropdown */
    .la-hdr-mega {
        position: static !important;
        width: 100% !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        border-top: 1px solid rgba(201,168,76,0.25) !important;
        background: #13164e !important;
        display: none !important;
        top: auto !important;
        left: auto !important;
    }
    .la-hdr-drop {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        background: #13164e !important;
        box-shadow: none !important;
    }
    .la-hdr-drop li a { color: rgba(255,255,255,0.9) !important; padding: 12px 28px; }
    .la-mega-featured-grid { grid-template-columns: 1fr 1fr; }
    .la-mega-grid {
        grid-template-columns: 1fr;
        padding: 12px 8px;
    }
    .la-mega-foot { flex-direction: column; align-items: flex-start; }
    .la-mega-col { border-right: none; padding: 0 8px; }
    .la-mega-cat { color: #c9a84c; border-bottom-color: #c9a84c; }
    .la-mega-group li a { color: rgba(255,255,255,0.9) !important; font-weight: 500; font-size: 15px; }
    .la-mega-group li a:hover { color: #c9a84c !important; background: rgba(201,168,76,0.10); border-left-color: #c9a84c; }

}

@media (max-width: 480px) {
    .la-mega-featured-grid { grid-template-columns: 1fr; }
    .la-hdr-inner { padding: 0 16px; }
}

/* ── SECTION + FOOTER GOLD DIVIDERS ────────────────────────────────────────
   Lines above: Services, Why Choose Us, Reviews, and Footer.
   Intentionally skipped: CTA section (no line between the bottom two sections).
   ────────────────────────────────────────────────────────────────────────── */
.elementor-element-06ff38d,   /* Services */
.elementor-element-36f9e1c,   /* Why Choose Us */
.elementor-element-04eab87,   /* Reviews */
.elementor-element-0142060,   /* Ready to Look Your Best */
#colophon                      /* Footer */
{
    border-top: 2px solid #c9a84c;
}


/* ─────────────────────────────────────────────────────────────────────────
   6. FOOTER
   ───────────────────────────────────────────────────────────────────────── */
.site-footer,
.site-primary-footer-wrap,
.footer-widget-area,
.ast-builder-grid-row-container.site-footer-focus-item {
    background-color: #0f1240 !important;
}
.site-footer { border-top: 3px solid var(--la-gold) !important; }
.ast-small-footer,
.site-below-footer-wrap {
    background: var(--la-dark-alt) !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
}

/* Footer widget titles */
.footer-widget-area .widget-title,
.footer-widget-area h2.widget-title,
.footer-widget-area .wp-block-heading {
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--la-gold) !important;
    font-weight: 600 !important;
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(201,168,76,0.3) !important;
    font-family: Inter, sans-serif !important;
}
.footer-widget-area a { color: rgba(255,255,255,0.80) !important; text-decoration: none !important; }
.footer-widget-area a:hover { color: var(--la-gold) !important; }
.site-footer .textwidget a:not([style]),
.site-footer .ast-builder-html-element a:not([style]) { color: rgba(255,255,255,0.65); text-decoration: none; }
.site-footer .textwidget a:hover,
.site-footer .ast-builder-html-element a:hover { color: var(--la-gold); }

/* Bottom copyright bar */
.ast-footer-copyright,
.ast-footer-copyright *,
.ast-small-footer,
.ast-footer-copyright p {
    color: rgba(255,255,255,0.72) !important;
    font-size: 13px !important;
    font-family: Inter, sans-serif !important;
}
.ast-footer-copyright a,
.ast-small-footer a { color: rgba(255,255,255,0.55) !important; }
.ast-footer-copyright a:hover { color: var(--la-gold) !important; }
.ast-footer-copyright p { margin: 0 !important; white-space: nowrap !important; }
[data-section="section-footer-builder"],
.ast-footer-copyright {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 12px 24px !important;
}

.site-primary-footer-wrap .ast-builder-grid-row { padding: 56px 40px 48px !important; gap: 40px !important; }
.ast-builder-html-element p { margin-bottom: 0 !important; }
.site-footer .site-footer-primary-section-1,
.site-footer .site-footer-primary-section-2,
.site-footer .site-footer-primary-section-3 { padding: 48px 24px 36px !important; }

/* Hide social icons placeholder */
.ast-footer-social-1-wrap,
.ast-footer-social-wrap,
[data-section="section-fb-social-icons-1"] { display: none !important; }
/* Hide empty widget areas */
.widget-area .widget:empty,
.footer-adv-widget-area .widget:empty { display: none !important; }


/* ─────────────────────────────────────────────────────────────────────────
   7. CHATBOT
   ───────────────────────────────────────────────────────────────────────── */
#mwai-chatbot-la_chatbot .mwai-header,
.mwai-chatbot .mwai-header { background: var(--la-navy) !important; color: #fff !important; }
#mwai-chatbot-la_chatbot .mwai-send,
.mwai-chatbot .mwai-send { background: var(--la-gold) !important; color: var(--la-navy) !important; }
#mwai-chatbot-la_chatbot .mwai-reply.mwai-ai,
.mwai-chatbot .mwai-reply.mwai-ai { background: #f0f2ff !important; border-left: 3px solid var(--la-gold) !important; }
.mwai-icon-button, .mwai-icon-button-inner {
    background: var(--la-navy) !important;
    border: 2px solid var(--la-gold) !important;
}


/* ─────────────────────────────────────────────────────────────────────────
   8. HOME: SERVICE CARDS
   4 columns × 2 rows. Image top. Body fills. Links clickable on hover.
   ───────────────────────────────────────────────────────────────────────── */

/* Grid: 4 columns, fills full container width */
.la-svc-wrap {
    display: block;
    width: 100%;
    border-top: 1px solid rgba(28,31,110,.14);
}

/* Card shell */
.la-card {
    position: relative;
    background: none;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    transition: background 0.22s ease, padding 0.22s ease;
    display: grid;
    grid-template-columns: 132px 1fr 1.5fr;
    gap: 26px;
    align-items: center;
    border: 0;
    border-bottom: 1px solid rgba(28,31,110,.14);
    padding: 22px 0;
    text-decoration: none;
    color: inherit;
}

/* Hover: lift + stronger shadow + navy border highlight */
.la-card:hover {
    background: linear-gradient(90deg, rgba(28,31,110,.045), transparent 72%);
    padding-left: 10px;
}

/* Backdrop overlay: sits above the image/body but BELOW the links */
.la-card::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 10px;
    background: rgba(28,31,110,0);
    transition: background 0.22s ease;
    pointer-events: none;        /* clicks pass straight through */
    z-index: 1;
}
.la-card:hover::after { background: none; }

/* Image: clipped at top corners, always on top */
.la-card > img {
    width: 132px;
    height: 96px;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
    border-radius: 2px;
    transition: transform 0.4s ease;
    position: relative;
    z-index: 0;
}
.la-card:hover > img { transform: scale(1.04); }

/* Card body: flex column so it fills remaining height */
.la-card-body {
    padding: 0;
    display: contents;
    position: relative;
    z-index: 0;
}

/* Title */
.la-card-body h3 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--la-navy) !important;
    margin: 0 0 10px !important;
    line-height: 1.3 !important;
}

/* Service links: gold, above the backdrop overlay so they stay clickable */
.la-card-svc-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 1;
}
.la-card-svc-list li { margin-bottom: 6px !important; }
.la-card-svc-list li a {
    position: relative;
    z-index: 2;                  /* above the ::after overlay */
    color: var(--la-gold) !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    line-height: 1.5 !important;
    display: inline-block !important;
    transition: color 0.15s, text-decoration 0.15s !important;
}
.la-card-svc-list li a:hover {
    color: var(--la-navy) !important;
    text-decoration: underline !important;
}

/* "Learn more →": anchored at the bottom of the card */
.la-card-link {
    display: inline-block;
    color: var(--la-gold) !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid rgba(28,31,110,0.07);
    width: 100%;
}
.la-card-link:hover { color: var(--la-navy) !important; }

/* "View All Services" button */
.la-view-all-wrap { text-align: left; margin-top: 34px; }


/* ─────────────────────────────────────────────────────────────────────────
   9. HOME: WHY / REVIEWS / TRUST
   ───────────────────────────────────────────────────────────────────────── */
/* Why grid */
.la-why-wrap { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; width: 100%; }
.la-why-box {
    text-align: center;
    padding: 36px 24px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    transition: all 0.3s;
    background: #fff;
}
.la-why-box:hover { border-color: var(--la-gold); box-shadow: 0 4px 24px rgba(28,31,110,0.08); transform: translateY(-4px); }
.la-why-icon { width: 64px; height: 64px; background: #f5f5fb; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; color: var(--la-navy); }
.la-why-icon svg { width: 28px; height: 28px; }
.la-why-box h3 { font-size: 1rem; font-weight: 700; color: var(--la-navy); margin: 0 0 10px; font-family: Inter, sans-serif; }
.la-why-box p  { font-size: 0.875rem; color: #6b7280; line-height: 1.7; margin: 0; }

/* Review cards */
.la-reviews-wrap { display: block; width: 100%; border-top: 1px solid rgba(28,31,110,.14); }
.la-rev {
    background: none;
    border-radius: 0;
    border-bottom: 1px solid rgba(28,31,110,.14);
    padding: 30px 0;
    box-shadow: none;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 30px;
    align-items: start;
}
.la-rev::before { content: none; }
.la-rev-stars  { grid-column: 2; grid-row: 1; color: var(--la-gold); font-size: 0.9rem; letter-spacing: 2px; margin: 0 0 8px; }
.la-rev-text   { grid-column: 1; grid-row: 1 / span 3; font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.45rem; line-height: 1.5; color: var(--la-navy); font-style: italic; margin: 0; }
.la-rev-author { grid-column: 2; font-weight: 700; font-size: 0.875rem; color: var(--la-navy); }
.la-rev-meta   { grid-column: 2; font-size: 0.8rem; color: #6b7280; margin-top: 3px; }

/* Trust bar */
.la-trust { display: flex; justify-content: center; gap: 0; width: 100%; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 28px; margin-top: 40px; flex-wrap: wrap; }
.la-trust-item { padding: 0 28px; text-align: center; border-right: 1px solid rgba(255,255,255,0.15); }
.la-trust-item:last-child { border: none; }
.la-trust-num   { font-size: 1.4rem; font-weight: 700; color: var(--la-gold); display: block; margin-bottom: 4px; font-family: 'Cormorant Garamond', serif; }
.la-trust-label { font-size: 0.75rem; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 1px; }


/* ─────────────────────────────────────────────────────────────────────────
   10. SERVICE PAGES
   ───────────────────────────────────────────────────────────────────────── */
/* Eyebrow / section labels */
.la-eyebrow {
    text-transform: uppercase;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--la-gold);
    margin-bottom: 6px;
    font-family: "Inter", sans-serif;
    display: block;
}
.la-section-title { font-family: "Cormorant Garamond", serif; font-size: 1.9rem; font-weight: 500; color: var(--la-navy); margin-bottom: 6px; line-height: 1.2; }
.la-gold-bar { display: block; width: 50px; height: 3px; background: var(--la-gold); border-radius: 2px; margin-bottom: 20px; }
.la-intro-text { font-size: 1.05rem; line-height: 1.8; color: #4b5563; margin-bottom: 20px; }

/* Service detail (image + text alternating) */
.la-svc-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding: 56px 0; border-bottom: 1px solid #e5e7eb; width: 100%; }
.la-svc-detail:last-child { border: none; }
.la-svc-detail:nth-child(even) .la-svc-img { order: 2; }
.la-svc-detail:nth-child(even) .la-svc-content { order: 1; }
.la-svc-img img { width: 100%; height: 300px; object-fit: cover; border-radius: 12px; display: block; }
.la-svc-eyebrow { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 3px; color: var(--la-gold); font-weight: 700; margin-bottom: 10px; font-family: Inter; }
.la-svc-content h3 { font-family: 'Cormorant Garamond', serif; font-size: 2.1rem; color: var(--la-navy); margin-bottom: 14px; font-weight: 500; }
.la-svc-content p  { color: #6b7280; line-height: 1.85; font-size: 0.975rem; margin-bottom: 20px; }

/* Service category grid (homepage What We Offer) */
.la-svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; width: 100%; }

/* Hub page service cards (services index) */
.la-svc-card { border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 4px 20px rgba(28,31,110,0.08); transition: transform 0.3s, box-shadow 0.3s; display: flex; flex-direction: column; }
.la-svc-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(28,31,110,0.13); }
.la-svc-card-img { display: block; overflow: hidden; }
.la-svc-card-img img { width: 100%; height: 160px; object-fit: cover; display: block; transition: transform 0.35s; }
.la-svc-card:hover .la-svc-card-img img { transform: scale(1.04); }
.la-svc-card-body { padding: 16px 18px 20px; flex: 1; display: flex; flex-direction: column; }
.la-svc-card-body h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; margin: 0 0 8px; }
.la-svc-card-body h3 a { color: var(--la-navy); text-decoration: none; }
.la-svc-card-body h3 a:hover { color: var(--la-gold); }
.la-svc-card-body p { color: #4b5563; font-size: 0.95rem; line-height: 1.7; margin: 0 0 12px; flex: 1; }
.la-hub-native .la-promo-card { background: #fff; border-radius: 12px; padding: 28px; box-shadow: 0 4px 20px rgba(28,31,110,0.08); }
.la-hub-native .la-promo-card h3 { font-family: 'Cormorant Garamond', serif; color: var(--la-navy); margin-bottom: 10px; }
.la-contact-block { margin-bottom: 24px; }
.la-contact-block h3 { font-size: 1rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--la-gold); margin-bottom: 8px; }
@media (max-width: 1100px) { .la-hub-native .la-svc-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .la-hub-native .la-svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .la-hub-native .la-svc-grid { grid-template-columns: 1fr; } }
.la-svc-block { border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 4px 20px rgba(28,31,110,0.08); transition: transform 0.3s, box-shadow 0.3s; }
.la-svc-block:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(28,31,110,0.14); }
.la-svc-img  { width: 100%; height: 165px; object-fit: cover; display: block; transition: transform 0.4s; }
.la-svc-block:hover .la-svc-img { transform: scale(1.04); }
.la-svc-block-body { padding: 14px 16px 18px; }
.la-svc-cat {
    font-size: 0.72rem !important; font-weight: 700 !important; text-transform: uppercase !important;
    letter-spacing: 0.12em !important; color: var(--la-navy) !important; margin: 0 0 8px !important;
    padding-bottom: 6px !important; border-bottom: 1px solid rgba(28,31,110,0.12) !important; line-height: 1.3 !important;
}
.la-svc-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.la-svc-list li { font-size: 0.8rem !important; color: #555 !important; line-height: 1.65 !important; padding: 1px 0 !important; }
.la-svc-list li a { color: var(--la-gold) !important; text-decoration: none !important; font-weight: 600 !important; transition: color 0.15s !important; }
.la-svc-list li a::after { content: '  →'; font-weight: 400; }
.la-svc-list li a:hover { color: var(--la-navy) !important; }

/* Page hero (service pages) */
.la-pg-hero { text-align: center; padding: 72px 24px 56px; }
.la-pg-hero-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: 4px; color: rgba(255,255,255,0.5); margin-bottom: 14px; font-family: Inter; font-weight: 600; }
.la-pg-hero h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.2rem,4vw,3.2rem); font-weight: 500; color: #fff; margin: 0 0 10px; }
.la-pg-hero p  { color: rgba(255,255,255,0.7); font-size: 1rem; margin: 0; font-family: Inter; }

/* Full page hero */
.la-page-hero {
    background: linear-gradient(135deg, #0d1055 0%, #1c1f6e 50%, #2a2f8f 100%);
    padding: 72px 24px 64px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.la-page-hero::before { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(--la-gold); }
.la-hero-inner { max-width: 720px; margin: 0 auto; }
.la-hero-badge {
    display: inline-block;
    background: rgba(201,168,76,0.15);
    color: var(--la-gold);
    border: 1px solid rgba(201,168,76,0.4);
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
    padding: 5px 16px; border-radius: 20px; margin-bottom: 18px;
}
.la-hero-title { color: #fff !important; font-size: 2.6rem !important; font-weight: 700 !important; margin: 0 0 16px !important; line-height: 1.15 !important; }
.la-hero-sub   { color: rgba(255,255,255,0.8); font-size: 1.1rem; line-height: 1.6; margin: 0 0 28px; }
.la-hero-cta   { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }


/* ─────────────────────────────────────────────────────────────────────────
   11. PAGE COMPONENTS  (shared across all pages)
   ───────────────────────────────────────────────────────────────────────── */
/* Section wrappers */
.la-section        { padding: 64px 24px; }
.la-section-inner  { max-width: 1100px; margin: 0 auto; }
.la-section-light  { background: #fafaf8; }
.la-section-white  { background: #ffffff; }
.la-section-dark   { background: var(--la-navy); }
.la-section-navy   { background: var(--la-dark); }
.la-section-header { text-align: center; margin-bottom: 48px; }
.la-section-header h2 { color: inherit; font-size: 2rem !important; font-weight: 700 !important; margin: 8px 0 12px !important; }
.la-section-dark .la-section-header h2,
.la-section-navy .la-section-header h2 { color: #fff !important; }
.la-section-light .la-section-header h2,
.la-section-white .la-section-header h2 { color: var(--la-navy) !important; }
.la-section-header p { font-size: 1rem; opacity: 0.85; max-width: 640px; margin: 0 auto; }
.la-label { display: inline-block; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--la-gold); margin-bottom: 6px; }
.la-label-gold { color: var(--la-gold) !important; }

/* Feature / icon grid */
.la-feat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.la-feat-item {
    text-align: center;
    padding: 32px 24px;
    border-radius: 12px;
    border: 1px solid rgba(28,31,110,0.08);
    background: #fff;
    box-shadow: 0 2px 12px rgba(28,31,110,0.05);
    transition: border-color .25s, box-shadow .25s, transform .25s;
}
.la-feat-item:hover {
    border-color: var(--la-gold);
    box-shadow: 0 8px 28px rgba(28,31,110,0.1);
    transform: translateY(-3px);
}
.la-feat-icon {
    width: 56px;
    height: 56px;
    background: #f5f5fb;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    color: var(--la-navy);
}
.la-feat-icon svg { width: 26px; height: 26px; flex-shrink: 0; }
.la-feat-item h4 { color: var(--la-navy); font-size: 1rem !important; font-weight: 700 !important; margin: 0 0 10px !important; font-family: Inter, sans-serif; }
.la-section-dark .la-feat-item h4,
.la-section-navy .la-feat-item h4 { color: #fff !important; }
.la-feat-item p { font-size: 0.9rem; color: #6b7280; line-height: 1.7; margin: 0; }
.la-section-dark .la-feat-item,
.la-section-navy .la-feat-item {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.12);
    box-shadow: none;
}
.la-section-dark .la-feat-item:hover,
.la-section-navy .la-feat-item:hover { border-color: var(--la-gold); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }
.la-section-dark .la-feat-icon,
.la-section-navy .la-feat-icon { background: rgba(255,255,255,0.1); color: var(--la-gold); }
.la-section-dark .la-feat-item p,
.la-section-navy .la-feat-item p { color: rgba(255,255,255,0.75); }
.la-feat-item .la-benefit-list li { line-height: 1.72 !important; }

/* Buttons */
.la-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.25;
    box-sizing: border-box;
    padding: 13px 32px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.2s;
    cursor: pointer;
    min-height: 48px;
}
.la-btn-gold     { background: var(--la-gold); color: var(--la-navy) !important; border: 2px solid var(--la-gold); }
.la-btn-gold:hover { background: var(--la-gold-hover); border-color: var(--la-gold-hover); color: #fff !important; }
.la-btn-outline  { border: 2px solid var(--la-gold); color: var(--la-gold) !important; background: transparent; }
.la-btn-outline:hover { background: var(--la-gold); color: var(--la-navy) !important; }
.la-btn-outline-white {
    border: 2px solid rgba(255,255,255,0.88);
    color: #fff !important;
    background: rgba(255,255,255,0.12);
}
.la-btn-outline-white:hover { border-color: #fff; background: rgba(255,255,255,0.22); color: #fff !important; }
.la-btn-cta {
    display: inline-block; background: var(--la-gold); color: var(--la-navy) !important;
    font-weight: 700; font-size: 0.88rem; padding: 14px 32px !important; border-radius: 4px;
    text-decoration: none; text-transform: uppercase; letter-spacing: 0.04em; transition: background 0.2s;
    font-size: 0.95rem !important;
}
.la-btn-cta:hover { background: var(--la-gold-hover); color: #fff !important; }
.la-btn-cta-outline {
    display: inline-block; border: 2px solid rgba(255,255,255,0.6); color: #fff !important;
    font-weight: 600; font-size: 0.88rem; padding: 13px 28px !important; border-radius: 4px;
    text-decoration: none; transition: border-color 0.2s; font-size: 0.95rem !important;
}
.la-btn-cta-outline:hover { border-color: #fff; }
.la-btn-primary { display: inline-block; background: var(--la-gold); color: var(--la-navy) !important; font-weight: 700; font-size: 0.88rem; padding: 12px 28px; border-radius: 4px; text-decoration: none; }
.la-btn-primary:hover { background: var(--la-gold-hover); }
.la-btn-large { padding: 14px 36px !important; font-size: 0.95rem !important; }
.la-btn-navy  { display: inline-block; border: 2px solid rgba(255,255,255,0.5); color: #fff !important; padding: 11px 28px; border-radius: 50px; font-weight: 600; text-decoration: none !important; font-size: 0.95rem; margin: 5px; font-family: "Inter", sans-serif; transition: all 0.2s; }
.la-btn-navy:hover { border-color: var(--la-gold); background: rgba(201,168,76,0.15); }

/* Accordion */
.la-accordion-wrap { margin: 8px 0; }
.la-acc            { border: 1px solid #e5e2db; border-radius: 8px; margin-bottom: 8px; overflow: hidden; }
.la-acc summary    { background: var(--la-navy); color: #fff; padding: 14px 20px; cursor: pointer; font-weight: 600; font-size: 0.93rem; list-style: none; display: flex; justify-content: space-between; align-items: center; font-family: "Inter", sans-serif; gap: 12px; }
.la-acc summary::-webkit-details-marker { display: none; }
.la-acc summary::after { content: "+"; font-size: 1.3rem; font-weight: 300; flex-shrink: 0; }
.la-acc[open] > summary { background: var(--la-gold); color: var(--la-navy); }
.la-acc[open] > summary::after { content: "−"; }
.la-acc summary:hover { background: var(--la-gold); color: var(--la-navy); }
.la-acc-body       { padding: 18px 22px; background: #faf9f7; font-size: 0.93rem; line-height: 1.78; color: #374151; }
.la-acc-body p     { margin-bottom: 10px; }
.la-acc-body ul, .la-acc-body ol { padding-left: 20px; margin-bottom: 10px; }
.la-acc-body li    { margin-bottom: 5px; }
.la-acc-body strong { color: var(--la-navy); }
.la-acc-body h4    { color: var(--la-navy); font-family: "Cormorant Garamond", serif; font-size: 1.1rem; margin: 14px 0 6px; }

/* Benefits grid */
.la-benefits-grid { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.la-benefit { flex: 1 1 180px; background: #f5f3ee; border-left: 4px solid var(--la-gold); padding: 12px 16px; border-radius: 4px; font-size: 0.88rem; color: #374151; font-weight: 500; }

/* Benefit list */
.la-benefit-list { list-style: none !important; padding: 0 !important; margin: 16px 0 !important; }
.la-benefit-list li { padding: 6px 0 6px 22px; position: relative; color: #444; font-size: 0.9rem; line-height: 1.7 !important; }
.la-benefit-list li::before { content: "\2713"; position: absolute; left: 0; color: var(--la-gold); font-weight: 700; }

/* Pricing table */
.la-price-table { width: 100%; border-collapse: collapse; margin: 10px 0; }
.la-price-table th { background: var(--la-navy); color: #fff; padding: 10px 14px; text-align: left; font-size: 0.85rem; font-weight: 600; }
.la-price-table td { padding: 9px 14px; border-bottom: 1px solid #e5e2db; font-size: 0.9rem; color: #374151; }
.la-price-table tr:last-child td { border-bottom: none; }
.la-price-table td:last-child { font-weight: 600; color: var(--la-navy); white-space: nowrap; }

/* CTA strip */
.la-cta-strip { background: linear-gradient(135deg, #1c1f6e 0%, #2a2f8f 100%); padding: 48px 24px; border-top: 3px solid var(--la-gold); }
.la-cta-inner { max-width: 900px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.la-cta-inner h3 { color: #fff !important; font-size: 1.4rem !important; font-weight: 700 !important; margin: 0 0 6px !important; }
.la-cta-inner p  { color: rgba(255,255,255,0.8); font-size: 0.95rem; margin: 0; }
.la-cta-actions  { display: flex; gap: 12px; flex-wrap: wrap; }

/* Mid-page inline CTA */
.la-inline-cta { background: #f0eee8; border-left: 4px solid var(--la-gold); border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 20px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.la-inline-cta p { margin: 0; font-size: 0.92rem; color: #374151; flex: 1 1 200px; }
.la-inline-cta a { flex-shrink: 0; }

/* Testimonial cards */
.la-testi-wrap { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; width: 100%; }
.la-testi { background: #fff; border-radius: 12px; padding: 32px; box-shadow: 0 4px 24px rgba(28,31,110,0.08); border-top: 4px solid var(--la-gold); }
.la-testi-stars { color: var(--la-gold); font-size: 1.1rem; margin-bottom: 14px; }
.la-testi-text  { font-size: 0.925rem; line-height: 1.8; font-style: italic; color: #2c2c2c; margin-bottom: 20px; }
.la-testi-name  { font-weight: 700; color: var(--la-navy); font-size: 0.875rem; }
.la-testi-date  { font-size: 0.8rem; color: #6b7280; margin-top: 3px; }

/* Contact form */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea {
    width: 100%; padding: 13px 16px; border: 2px solid #e5e7eb; border-radius: 8px;
    font-size: 0.95rem; font-family: Inter, sans-serif; transition: border 0.2s;
    background: #fff; color: #2c2c2c; margin-bottom: 4px;
    box-shadow: 0 2px 8px rgba(28, 31, 110, 0.07) !important;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    border-color: var(--la-navy) !important;
    box-shadow: 0 0 0 3px rgba(28,31,110,0.10), 0 2px 10px rgba(28,31,110,0.14) !important;
    outline: none !important;
}
.wpcf7-form textarea { min-height: 120px; resize: vertical; }
.wpcf7-form .wpcf7-submit {
    background: var(--la-gold); color: var(--la-navy); border: none;
    padding: 14px 40px; border-radius: 50px; font-weight: 700; font-size: 1rem;
    cursor: pointer; transition: all 0.3s; font-family: Inter, sans-serif;
}
.wpcf7-form .wpcf7-submit:hover { background: var(--la-gold-hover); transform: translateY(-2px); }

/* Consult / contact page */
.la-consult-wrap { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: start; width: 100%; }
.la-contact-wrap { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: start; width: 100%; }
.la-check-list   { list-style: none; padding: 0; margin: 0 0 28px; }
.la-check-list li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #e5e7eb; font-size: 0.95rem; color: #2c2c2c; font-family: Inter; }
.la-check-list li:last-child { border: none; }
.la-check-list li::before { content: "\2713"; width: 22px; height: 22px; min-width: 22px; background: var(--la-gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 900; color: var(--la-navy); }
.la-mini-services { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.la-mini-services span { font-size: 0.85rem; color: #2c2c2c; padding: 9px 12px; background: #f5f5fb; border-radius: 6px; font-family: Inter; }
.la-info-card { background: #f5f5fb; border-radius: 12px; padding: 28px; border: 1px solid #e5e7eb; margin-top: 28px; }
.la-info-card h4 { font-weight: 700; color: var(--la-navy); margin-bottom: 10px; font-size: 0.95rem; font-family: Inter; }
.la-info-card p  { font-size: 0.875rem; color: #6b7280; line-height: 1.85; margin: 0; }
.la-info-card a  { color: var(--la-navy); text-decoration: none; }
.la-contact-item     { display: flex; gap: 16px; margin-bottom: 24px; }
.la-contact-icon-box { width: 44px; height: 44px; min-width: 44px; background: #f5f5fb; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.la-contact-lbl      { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1.5px; color: var(--la-gold); font-weight: 700; margin-bottom: 4px; font-family: Inter; }
.la-contact-val      { font-weight: 500; color: var(--la-navy); line-height: 1.6; font-family: Inter; }
.la-contact-val a    { color: var(--la-navy); text-decoration: none; }
.la-contact-val a:hover { color: var(--la-gold); }


/* ─────────────────────────────────────────────────────────────────────────
   12. INNER PAGES  (team, clinic, promotions)
   ───────────────────────────────────────────────────────────────────────── */
/* Card shadow hierarchy */
.la-testi { box-shadow: 0 6px 28px rgba(28, 31, 110, 0.11) !important; }
body:not(.home) .la-card { box-shadow: 0 6px 28px rgba(28, 31, 110, 0.11) !important; }

/* Team grid */
.la-team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 28px; }
.la-team-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.07); text-align: center; padding: 28px 20px 24px; }
.la-team-avatar { width: 90px; height: 90px; border-radius: 50%; background: linear-gradient(135deg,var(--la-navy),#2a2f8f); margin: 0 auto 16px; display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.la-team-card h3 { color: var(--la-navy) !important; font-size: 1rem !important; font-weight: 700 !important; margin: 0 0 4px !important; }
.la-team-card .la-team-title { color: var(--la-gold); font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 10px; }
.la-team-card p  { font-size: 0.83rem; color: #555; line-height: 1.55; margin: 0; }

/* Staff grid (Our Team) */
.la-staff-grid { display: grid; grid-template-columns: 1fr; gap: 32px; max-width: 820px; margin: 0 auto; }
.la-staff-card { background: #fff; border-radius: 12px; box-shadow: 0 2px 20px rgba(28,31,110,0.09); padding: 32px; display: flex; gap: 28px; align-items: flex-start; border: 1px solid rgba(28,31,110,0.07); }
.la-staff-featured { border-left: 4px solid var(--la-gold); }
.la-staff-avatar { flex-shrink: 0; }
.la-avatar-circle { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, var(--la-navy), #2a2f8f); display: flex; align-items: center; justify-content: center; color: var(--la-gold); font-size: 1.3rem; font-weight: 700; }
.la-staff-info { flex: 1; }
.la-staff-badge { display: inline-block; background: rgba(201,168,76,0.12); color: var(--la-gold); border: 1px solid rgba(201,168,76,0.3); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 12px; border-radius: 20px; margin-bottom: 10px; }
.la-staff-name  { color: var(--la-navy) !important; font-size: 1.25rem !important; font-weight: 700 !important; margin: 0 0 8px !important; }
.la-staff-creds { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.la-staff-creds span { background: rgba(28,31,110,0.06); color: #444; font-size: 0.72rem; padding: 3px 10px; border-radius: 3px; }
.la-staff-info p { color: #555; font-size: 0.9rem; line-height: 1.65; margin: 0 0 10px; }
.la-staff-specialties { background: rgba(28,31,110,0.04); border-left: 3px solid var(--la-gold); padding: 8px 14px; font-size: 0.82rem; color: #444; border-radius: 0 4px 4px 0; margin-top: 8px; }

/* Credentials grid */
.la-cred-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 24px; }
.la-cred-item  { text-align: center; padding: 28px 16px; background: rgba(255,255,255,0.06); border-radius: 8px; }
.la-cred-icon  { font-size: 2rem; margin-bottom: 12px; }
.la-cred-item h3 { color: #fff !important; font-size: 0.95rem !important; font-weight: 700 !important; margin: 0 0 8px !important; }
.la-cred-item p  { color: rgba(255,255,255,0.7); font-size: 0.83rem; line-height: 1.55; margin: 0; }

/* Two-column (Our Clinic) */
.la-two-col, .la-two-col-centered { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.la-two-col-centered { align-items: center; }
.la-col-text h2 { color: var(--la-navy) !important; font-size: 1.8rem !important; font-weight: 700 !important; margin: 0 0 16px !important; }
.la-col-text p  { color: #555; font-size: 0.95rem; line-height: 1.7; margin: 0 0 14px; }
.la-col-aside   { background: #fff; border-radius: 10px; padding: 28px; box-shadow: 0 2px 16px rgba(28,31,110,0.08); }
.la-col-stats   { display: flex; flex-direction: column; gap: 16px; }

/* Stat cards */
.la-stat-card  { background: #fff; border-radius: 8px; padding: 20px 24px; text-align: center; box-shadow: 0 2px 12px rgba(28,31,110,0.07); border-top: 3px solid var(--la-gold); }
.la-stat-num   { font-size: 2.2rem !important; font-weight: 800 !important; color: var(--la-navy) !important; line-height: 1.1 !important; margin: 0 0 4px !important; }
.la-stat-label { font-size: 0.78rem; color: #666; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }

/* Reviews grid (Our Clinic) */
.la-reviews-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap: 20px; }
.la-review-card  { background: #fff; border-radius: 10px; padding: 24px; box-shadow: 0 2px 12px rgba(28,31,110,0.07); }
.la-review-stars { color: var(--la-gold); font-size: 1.1rem; margin-bottom: 10px; }
.la-stars        { color: var(--la-gold); }
.la-review-text  { color: #444; font-size: 0.88rem; line-height: 1.65; margin: 0 0 14px; font-style: italic; }
.la-review-author { font-size: 0.78rem; font-weight: 700; color: var(--la-navy); }

/* Consult box */
.la-consult-box  { background: #fff; border-radius: 10px; padding: 28px; box-shadow: 0 2px 16px rgba(28,31,110,0.08); border-top: 3px solid var(--la-gold); }
.la-consult-hours h4 { color: var(--la-navy) !important; font-size: 0.85rem !important; font-weight: 700 !important; margin: 0 0 8px !important; text-transform: uppercase; letter-spacing: 0.06em; }
.la-consult-detail { display: flex; justify-content: space-between; font-size: 0.85rem; color: #444; padding: 5px 0; border-bottom: 1px solid rgba(28,31,110,0.06); }
.la-consult-detail:last-child { border-bottom: none; }

/* Brands grid */
.la-brands-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.la-brand-pill  { background: rgba(28,31,110,0.06); color: var(--la-navy); font-size: 0.8rem; font-weight: 600; padding: 6px 16px; border-radius: 20px; border: 1px solid rgba(28,31,110,0.12); }

/* Feature card */
.la-feat-card { background: #fff; border-radius: 10px; padding: 28px 24px; box-shadow: 0 2px 12px rgba(28,31,110,0.07); text-align: center; }
.la-feat-card h3, .la-feat-card h4 { color: var(--la-navy) !important; font-size: 1rem !important; font-weight: 700 !important; margin: 10px 0 8px !important; }
.la-feat-card p { color: #555; font-size: 0.85rem; line-height: 1.55; margin: 0; }

/* Promo grid */
.la-promo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap: 24px; }
.la-promo-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 16px rgba(0,0,0,0.07); }
.la-promo-card-header { background: linear-gradient(135deg,var(--la-navy),#2a2f8f); padding: 20px 24px; }
.la-promo-card-header h3 { color: #fff !important; font-size: 1.1rem !important; font-weight: 700 !important; margin: 0 !important; }
.la-promo-card-body { padding: 20px 24px; }
.la-promo-badge { display: inline-block; background: var(--la-gold); color: var(--la-navy); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; padding: 3px 10px; border-radius: 4px; margin-bottom: 10px; }
.la-promo-card-body p { font-size: 0.88rem; color: #444; line-height: 1.6; margin: 0 0 16px; }
.la-promo-featured { background: linear-gradient(135deg, var(--la-navy) 0%, #2a2f8f 100%); border-radius: 12px; padding: 36px; margin-bottom: 32px; position: relative; overflow: hidden; border: 2px solid rgba(201,168,76,0.4); }
.la-promo-badge-top { display: inline-block; background: var(--la-gold); color: var(--la-navy); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; padding: 4px 14px; border-radius: 3px; margin-bottom: 14px; }
.la-promo-headline { color: #fff !important; font-size: 1.8rem !important; font-weight: 700 !important; margin: 0 0 12px !important; }
.la-promo-header { background: linear-gradient(135deg, var(--la-navy), #2a2f8f); padding: 20px 24px; border-radius: 10px 10px 0 0; }
.la-promo-title { color: #fff !important; font-size: 1.05rem !important; font-weight: 700 !important; margin: 0 !important; }
.la-promo-body  { background: #fff; border-radius: 0 0 10px 10px; padding: 20px 24px; }
.la-promo-price { font-size: 1.5rem; font-weight: 800; color: var(--la-gold); margin-bottom: 8px; }
.la-promo-note  { font-size: 0.78rem; color: #888; font-style: italic; margin-top: 8px; }
.la-promo-benefit { display: flex; align-items: flex-start; gap: 8px; font-size: 0.88rem; color: #444; padding: 4px 0; line-height: 1.4; }
.la-promo-benefit::before { content: "\2713"; color: var(--la-gold); font-weight: 700; flex-shrink: 0; }


/* ─────────────────────────────────────────────────────────────────────────
   13. ASTRA FALLBACK NAV
   Hidden behind #la-header. Kept as safety net.
   ───────────────────────────────────────────────────────────────────────── */
/* CSS variables for Astra padding */
#masthead {
    --ast-container-default-xlg-padding: 28px;
    --ast-container-default-lg-padding:  28px;
    --ast-container-default-slg-padding: 24px;
    --ast-container-default-md-padding:  20px;
    --ast-container-default-sm-padding:  20px;
    --ast-container-default-xs-padding:  16px;
    --ast-container-default-xxs-padding: 14px;
}
.ast-hfb-header .site-header,
.ast-hfb-header #masthead { margin-left: 0 !important; margin-right: 0 !important; }

/* All Astra inner wrappers transparent */
#ast-desktop-header, .ast-main-header-wrap, .main-header-bar-wrap,
.ast-primary-header-bar, .ast-primary-header, .main-header-bar,
.site-primary-header-wrap, .ast-builder-grid-row-container,
.ast-builder-grid-row, .ast-builder-menu-1, .ast-builder-layout-element,
.ast-main-header-bar-alignment, .main-header-bar-navigation,
.site-header-section, .site-header-section-left, .site-header-section-right,
.site-header-primary-section-left, .site-header-primary-section-right {
    background-color: transparent !important;
    background: transparent !important;
}
.hbb-header-section, #hbb-header-section { display: none !important; }

/* Logo */
.site-header .custom-logo, .site-header img.custom-logo {
    filter: invert(1) !important;
    mix-blend-mode: screen !important;
    max-width: 190px !important;
}

/* Top-level nav links */
.main-header-menu > .menu-item > .menu-link,
.main-header-menu > .menu-item > a {
    color: #ffffff !important; font-weight: 600 !important;
    text-transform: uppercase !important; font-size: 0.78rem !important;
    letter-spacing: 0.05em !important; padding: 6px 12px !important;
    background: transparent !important;
}
.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .menu-item > a:hover,
.main-header-menu > .menu-item.current-menu-item > .menu-link { color: var(--la-gold) !important; background: transparent !important; }

/* Dropdown: 3-column dark panel */
.main-header-menu > .menu-item-has-children > .sub-menu {
    display: block !important; column-count: 3 !important;
    column-gap: 0 !important; columns: unset !important;
    width: 780px !important; min-width: 780px !important; max-width: 780px !important;
    background: var(--la-dark-nav) !important; border-top: 3px solid var(--la-gold) !important;
    border-radius: 0 0 8px 8px !important; padding: 16px 0 12px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.45) !important;
    position: absolute !important; left: 50% !important;
    transform: translateX(-50%) !important; overflow: visible !important;
}
.main-header-menu > .menu-item-has-children > .sub-menu::before,
.main-header-menu > .menu-item-has-children > .sub-menu::after { display: none !important; content: none !important; }
.main-header-menu .sub-menu > .la-nav-cat { margin-top: 0 !important; break-before: unset !important; }
.main-header-menu .sub-menu > .la-nav-col-break { break-before: column !important; -webkit-column-break-before: always !important; margin-top: 0 !important; }
.main-header-menu .sub-menu > .la-nav-cat > a,
.main-header-menu .sub-menu > .la-nav-col-break > a {
    color: var(--la-gold) !important; font-size: 12px !important; font-weight: 600 !important;
    text-transform: uppercase !important; letter-spacing: 0.1em !important; padding: 8px 16px !important;
    pointer-events: none !important; display: block !important; line-height: 1.3 !important;
    border-top: 1px solid rgba(201,168,76,0.15) !important;
}
.main-header-menu .sub-menu > .la-nav-cat:first-child > a,
.main-header-menu .sub-menu > .la-nav-col-break:first-child > a { border-top: none !important; }
.main-header-menu .sub-menu > .menu-item:not(.la-nav-cat):not(.la-nav-col-break):not(.la-nav-view-all) > a {
    color: rgba(212,216,240,0.9) !important; font-size: 11.5px !important;
    padding: 5px 16px 5px 32px !important; display: block !important;
    line-height: 1.4 !important; background: transparent !important; text-decoration: none !important;
}
.main-header-menu .sub-menu > .menu-item:not(.la-nav-cat):not(.la-nav-col-break):not(.la-nav-view-all) > a:hover {
    color: var(--la-gold) !important; background: rgba(201,168,76,0.08) !important;
}
.main-header-menu .sub-menu > .la-nav-view-all { column-span: all !important; border-top: 1px solid rgba(201,168,76,0.3) !important; margin-top: 4px !important; text-align: right !important; }
.main-header-menu .sub-menu > .la-nav-view-all > a { color: var(--la-gold) !important; font-size: 0.74rem !important; font-weight: 600 !important; padding: 6px 16px !important; display: block !important; text-align: right !important; }
.main-header-menu .sub-menu > .la-nav-view-all > a:hover { color: #fff !important; }

/* "Free Consultation" button */
.ast-header-button-1 .ast-custom-button,
.ast-header-button-1 a.ast-custom-button {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    background-color: var(--la-gold) !important; color: var(--la-navy) !important;
    font-size: 0.72rem !important; font-weight: 700 !important; text-transform: uppercase !important;
    letter-spacing: 0.04em !important; padding: 10px 22px !important; border: none !important;
    border-radius: 4px !important; white-space: nowrap !important; text-decoration: none !important;
}
.ast-header-button-1 .ast-custom-button:hover { background-color: var(--la-gold-hover) !important; color: #fff !important; }


/* ─────────────────────────────────────────────────────────────────────────
   14. RESPONSIVE
   ───────────────────────────────────────────────────────────────────────── */

/* ── Header ── */
@media (max-width: 960px) {
    .la-hdr-item > a { padding: 0 10px; font-size: 14px; }
}
@media (max-width: 820px) {
    .la-hdr-toggle { display: flex; }
    .la-hdr-book   { display: none; }

    .la-hdr-nav {
        position: fixed; top: 70px; left: 0; right: 0;
        background: var(--la-navy); max-height: 0; overflow: hidden;
        transition: max-height 0.3s ease; flex-direction: column; align-items: stretch;
        border-top: 2px solid var(--la-gold); box-shadow: 0 8px 24px rgba(0,0,0,0.35);
        z-index: 9998;
    }
    .la-hdr-nav.la-nav-open { max-height: calc(100vh - 70px); overflow-y: auto; }
    .la-hdr-nav-list { flex-direction: column; height: auto; align-items: stretch; padding: 6px 0 16px; }
    .la-hdr-item     { height: auto; flex-direction: column; align-items: stretch; }
    .la-hdr-item > a { height: auto; padding: 14px 24px; font-size: 14px; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,0.06); }

    /* Mobile mega dropdown */
    .la-hdr-mega {
        position: static !important; width: 100% !important; border: none !important;
        border-radius: 0 !important; box-shadow: none !important;
        border-top: 1px solid rgba(201,168,76,0.25) !important;
        background: var(--la-dark-mob) !important;
        display: none !important; top: auto !important; left: auto !important;
    }
    .la-hdr-has-mega.la-mega-open .la-hdr-mega { display: block !important; animation: none !important; }
    .la-mega-grid   { grid-template-columns: repeat(2, 1fr); padding: 12px 8px; }
    .la-mega-col    { border-right: none; padding: 0 8px; }
    .la-mega-cat    { color: #ffd080 !important; border-bottom-color: rgba(255, 208, 128, 0.45) !important; }
    .la-mega-cat::before { color: #ffd080 !important; }
    .la-mega-group li a { color: rgba(255,255,255,0.9) !important; font-weight: 500; font-size: 15px; }
    .la-mega-group li a:hover { color: var(--la-gold) !important; background: rgba(201,168,76,0.10); border-left-color: var(--la-gold); }
}
@media (max-width: 480px) {
    .la-mega-grid { grid-template-columns: 1fr; }
    .la-hdr-inner { padding: 0 16px; }
}
@media (max-width: 768px) {
    .site-header .custom-logo { max-width: 140px !important; }
}
@media (max-width: 921px) {
    .main-header-menu > .menu-item-has-children > .sub-menu {
        column-count: 1 !important; min-width: unset !important;
        border-radius: 0 !important; box-shadow: none !important; border-top: none !important;
        border-left: 3px solid var(--la-gold) !important; margin-left: 14px !important;
        padding: 4px 0 8px !important; background: rgba(17,21,64,0.98) !important;
    }
    .main-header-menu .sub-menu > .la-nav-cat:not(:first-child) { break-before: auto !important; }
    .main-header-menu .sub-menu > .la-nav-cat > a { padding: 10px 16px 3px !important; }
    .main-header-menu .sub-menu > .menu-item:not(.la-nav-cat):not(.la-nav-view-all) > a { padding: 7px 16px !important; font-size: 0.86rem !important; }
    #masthead .ast-container { padding-left: 16px !important; padding-right: 16px !important; }
    .site-header .custom-logo { max-width: 160px !important; width: 160px !important; }
}

/* ── Components ── */
@media (max-width: 960px) {
    .la-svc-grid  { grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .la-why-wrap  { grid-template-columns: repeat(2,1fr); }
    .la-feat-grid { grid-template-columns: repeat(2, 1fr); }
    .la-testi-wrap { grid-template-columns: 1fr; }
    .la-rev { grid-template-columns: 1fr; gap: 12px; }
    .la-rev-text { grid-column: 1; grid-row: auto; }
    .la-rev-stars, .la-rev-author, .la-rev-meta { grid-column: 1; }
    .la-svc-detail { grid-template-columns: 1fr; gap: 28px; }
    .la-svc-detail:nth-child(even) .la-svc-img,
    .la-svc-detail:nth-child(even) .la-svc-content { order: unset; }
    .la-consult-wrap, .la-contact-wrap { grid-template-columns: 1fr; gap: 40px; }
}
/* Service cards: 4 cols until tablet, then 2, then 1 on mobile */
@media (max-width: 768px) {
    .la-card { grid-template-columns: 100px 1fr; gap: 18px; }
    .la-card .la-card-svc-list { grid-column: 2; }
}
@media (max-width: 720px) {
    .la-two-col, .la-two-col-centered { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
    .la-why-wrap, .la-feat-grid { grid-template-columns: 1fr; }
    .la-process-step { grid-template-columns: 34px 1fr; gap: 6px 16px; }
    .la-process-step p { grid-column: 2; }
    .la-trust-item { width: 50%; padding: 12px 16px; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
    .la-hero-title { font-size: 1.8rem !important; }
    .la-btn-gold, .la-btn-navy, .la-btn-outline-white { display: flex; width: 100%; text-align: center; box-sizing: border-box; margin: 6px 0; }
    .la-cta-strip { padding: 24px 16px; }
    .la-benefit { flex: 1 1 100%; }
    .la-acc summary { font-size: 0.88rem; padding: 12px 16px; }
    .la-acc-body { padding: 14px 16px; }
    .la-staff-card { flex-direction: column; gap: 16px; }
}
@media (max-width: 540px) {
    .la-svc-grid { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 640px) {
    .la-cta-strip { padding: 24px 16px; }
}


/* Home service cards: hard guard (restore 8 buttons layout) */
body.home .la-svc-wrap { display: grid !important; }
body.home .la-card { display: grid !important; }

/* Footer logo: force white mark */
.site-footer .ast-footer-html-1 img,
.site-footer .ast-footer-html-1 .ast-builder-html-element img {
  filter: brightness(0) invert(1);
}

/* ─────────────────────────────────────────────────────────────────────────
   LASERIT: INQUIRY FORM
   ───────────────────────────────────────────────────────────────────────── */
.la-inquiry { background:#fff; border:1px solid rgba(28,31,110,0.08); border-radius:14px; padding:28px; box-shadow:0 8px 28px rgba(28,31,110,0.06); }
.la-inquiry-sub { color:#6b7280; margin-top:-6px; margin-bottom:18px; }
.la-inquiry-form label { display:block; margin-bottom:14px; font-family: Inter, system-ui, sans-serif; }
.la-inquiry-form label > span { display:block; font-weight:700; color: var(--la-navy); font-size:0.9rem; margin-bottom:6px; }
.la-inq-grid { display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
.la-inquiry-form input[type=text],
.la-inquiry-form input[type=email],
.la-inquiry-form input[type=tel],
.la-inquiry-form select,
.la-inquiry-form textarea {
    font-size: 1rem;
  width:100%; border:1px solid rgba(28,31,110,0.16); border-radius:12px; padding:12px 12px; font-size:16px;
}
.la-inquiry-form textarea { resize: vertical; }
.la-inq-consent { display:flex !important; gap:10px; align-items:flex-start; }
.la-inq-consent input { margin-top:4px; }
.la-inquiry-form .la-btn,
.la-inquiry-form button[type="submit"] {
    background: var(--la-gold);
    color: var(--la-navy);
    border: 0;
    border-radius: 999px;
    padding: 12px 22px;
    font-weight: 800;
    cursor: pointer;
    width: 100%;
}
.la-inquiry-form .la-btn:hover,
.la-inquiry-form button[type="submit"]:hover { background: var(--la-gold-hover); }
.la-inq-ok { margin-top:14px; color: #065f46; font-weight:700; }
.la-inq-err { margin-top:14px; color: #b91c1c; font-weight:700; }
@media (max-width: 760px) { .la-inq-grid { grid-template-columns: 1fr; } }


/* ═══════════════════════════════════════════════════════════════════════════
   15. INDUSTRY STANDARD: native homepage, footer, mobile bar, consult
   ══════════════════════════════════════════════════════════════════════════ */

.la-container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.la-section { padding: 72px 0; }
.la-section-head { text-align: left; margin-bottom: 34px; border-bottom: 1px solid rgba(28,31,110,.14); padding-bottom: 16px; }
.la-section-sub { color: #555; font-size: 0.975rem; max-width: 620px; margin: 12px 0 0; line-height: 1.7; }
.la-text-link { color: var(--la-gold); font-weight: 700; text-decoration: none; }
.la-text-link:hover { color: var(--la-navy); text-decoration: underline; }

/* Hide Astra footer when owned footer is active */
#colophon, .site-footer, .ast-footer-overlay { display: none !important; }

/* Hero */
.la-hero { padding: 0; }
.la-hero-bg { background-size: cover; background-position: center; }
.la-hero-overlay { background: rgba(8,10,40,0.52); padding: 110px 24px 64px; }
.la-hero-content { max-width: 820px; margin: 0 auto; text-align: center; }
.la-hero-eyebrow { text-transform: uppercase; letter-spacing: 4px; font-size: 11px; color: rgba(255,255,255,.7); margin-bottom: 18px; font-weight: 600; }
.la-home-native .la-hero h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 500; color: #fff; margin: 0 0 18px; line-height: 1.15; }
.la-hero-lead { font-size: 1.05rem; color: rgba(255,255,255,.9); line-height: 1.7; margin-bottom: 14px; max-width: 640px; margin-left: auto; margin-right: auto; }
.la-hero-meta { font-size: 0.9rem; color: rgba(255,255,255,.65); margin-bottom: 32px; }
.la-hero-meta a { color: #fff; text-decoration: underline; }
.la-hero-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }

/* Featured 3 */
.la-featured { background: #fff; }
.la-featured-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.la-featured-card { background: #fff; border-radius: 14px; overflow: hidden; border: 1px solid rgba(28,31,110,0.08); box-shadow: 0 4px 24px rgba(28,31,110,0.07); transition: transform .22s, box-shadow .22s; }
.la-featured-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(28,31,110,0.12); }
.la-featured-img-wrap { display: block; overflow: hidden; }
.la-featured-img-wrap img { width: 100%; height: 200px; object-fit: cover; display: block; transition: transform .35s; }
.la-featured-card:hover .la-featured-img-wrap img { transform: scale(1.04); }
.la-featured-body { padding: 22px 22px 26px; }
.la-featured-body h3 { margin: 0 0 10px; font-size: 1.25rem; color: var(--la-navy); }
.la-featured-body h3 a { color: inherit; text-decoration: none; }
.la-featured-body p { color: #4b5563; line-height: 1.75; font-size: 1rem; margin: 0 0 14px; }

/* Process */
/* Process: hairline rows (craft: no numbered 1-2-3 step cards) */
.la-step-label {
    display: flex; align-items: center; gap: 14px;
    font-size: 12px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; color: var(--la-navy); margin-bottom: 10px;
}
.la-step-label::after {
    content: ""; flex: 1; height: 1px; background: currentColor; opacity: .28;
}
.la-process-list { border-top: 1px solid rgba(28,31,110,.14); }
.la-process-row {
    display: grid; grid-template-columns: minmax(10rem, 0.9fr) 1.6fr;
    gap: 24px; align-items: start;
    padding: 22px 0; border-bottom: 1px solid rgba(28,31,110,.12);
}
.la-process-row h3 {
    font-family: var(--la-display); font-size: 1.45rem; font-weight: 500;
    margin: 0; color: var(--la-navy); text-wrap: balance;
}
.la-process-row p {
    font-size: 0.98rem; color: #55596b; line-height: 1.75; margin: 0;
    max-width: 38rem;
}
.la-process-row-accent {
    background: linear-gradient(90deg, rgba(201,168,76,.08), transparent 70%);
    margin: 0 -12px; padding-left: 12px; padding-right: 12px;
}
@media (max-width: 700px) {
    .la-process-row { grid-template-columns: 1fr; gap: 8px; padding: 18px 0; }
}
/* Featured review breaks equal-card rhythm */
.la-reviews-wrap { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 0; }
.la-rev-featured {
    background: #f5f5fb;
    border-right: 1px solid rgba(28,31,110,.1);
}
@media (max-width: 900px) {
    .la-reviews-wrap { grid-template-columns: 1fr; }
    .la-rev-featured { border-right: 0; border-bottom: 1px solid rgba(28,31,110,.1); }
}

.la-process { background: #f5f5fb; }
.la-process-grid { display: block; border-top: 1px solid rgba(28,31,110,.14); }
.la-process-step { display: grid; grid-template-columns: 52px 1fr 1.7fr; gap: 24px; align-items: start;
    background: none; border: 0; border-bottom: 1px solid rgba(28,31,110,.14); border-radius: 0;
    padding: 26px 0; text-align: left; }
.la-process-num { display: block; width: auto; height: auto; background: none; border-radius: 0;
    color: var(--la-gold); font-weight: 700; font-size: 0.8rem; letter-spacing: .14em; margin: 6px 0 0; }
.la-process-num::before { content: "0"; }
.la-process-step h3 { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.5rem; font-weight: 500;
    color: var(--la-navy); margin: 0; line-height: 1.25; }
.la-process-step p { font-size: 0.95rem; color: #55596b; line-height: 1.75; margin: 0; }

/* Treatment guide */
.la-guide { background: var(--la-navy); color: #fff; }
.la-guide-inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: 32px; align-items: center; }
.la-guide .la-eyebrow { color: var(--la-gold); }
.la-guide .la-section-title { color: #fff; }
.la-guide-copy p { color: rgba(255,255,255,.82); line-height: 1.75; margin: 0; }
.la-guide-options { display: flex; flex-wrap: wrap; gap: 10px; }
.la-guide-chip { display: inline-block; padding: 12px 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); color: #fff; text-decoration: none; font-size: 0.9rem; font-weight: 600; transition: background .15s, border-color .15s; }
.la-guide-chip:hover { background: rgba(201,168,76,.18); border-color: var(--la-gold); color: #fff; }

/* 6-card services grid on native home */
body.la-native-home .la-svc-wrap { grid-template-columns: 1fr; gap: 0; }
.la-home-services { background: #fff; }
.la-reviews-badge { color: #6b7280; font-size: 1rem; margin-top: 8px; }
.la-reviews-google { display: inline-block; margin-left: 16px; }

/* Location */
.la-location { background: #f5f5fb; }
.la-location-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 36px; align-items: start; }
.la-location-address { font-size: 1.05rem; line-height: 1.6; }
.la-location-phone { font-size: 1.35rem; font-weight: 700; color: var(--la-navy); text-decoration: none; }
.la-location-hours { color: #4b5563; line-height: 1.7; }
.la-location-serve { color: #6b7280; font-size: 0.9rem; }
.la-location-map iframe { width: 100%; height: 360px; border: 0; border-radius: 14px; box-shadow: 0 8px 32px rgba(28,31,110,0.1); }

/* CTA band */
.la-cta-band { background: linear-gradient(135deg, var(--la-navy) 0%, var(--la-dark) 100%); padding: 64px 0; text-align: center; margin-bottom: 0; }
.la-cta-band h2 { color: #fff; font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 3vw, 2.4rem); margin: 0 0 10px; }
.la-cta-band p { color: rgba(255,255,255,.78); margin: 0 0 28px; }
.la-cta-band-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Owned footer */
.la-footer { background: linear-gradient(180deg, #13164e 0%, #0a0c2e 100%); color: rgba(255,255,255,.85); border-top: 3px solid var(--la-gold); margin-top: 0; }
.la-footer-inner { max-width: 1180px; margin: 0 auto; padding: 56px 24px 28px; }
.la-footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 32px; }
.la-footer-logo { height: 40px; width: auto; margin-bottom: 14px; }
.la-footer-name { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; color: #fff; display: block; margin-bottom: 12px; }
.la-footer-brand p { color: rgba(255,255,255,.65); line-height: 1.7; font-size: 0.9rem; margin: 0; }
.la-footer-col h3 { color: var(--la-gold); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 2px; margin: 0 0 16px; }
.la-footer-col ul { list-style: none; padding: 0; margin: 0; }
.la-footer-col li { margin-bottom: 8px; }
.la-footer-col a { color: rgba(255,255,255,.78); text-decoration: none; font-size: 0.9rem; }
.la-footer-col a:hover { color: var(--la-gold); }
.la-footer-hours { font-size: 0.88rem; line-height: 1.65; }
.la-footer-note { color: rgba(255,255,255,.55); font-size: 0.82rem; }
.la-footer-cta { margin-top: 14px; display: inline-block; }
.la-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); margin-top: 40px; padding-top: 20px; text-align: center; }
.la-footer-bottom p { margin: 0 0 6px; font-size: 0.82rem; color: rgba(255,255,255,.5); }
.la-footer-legal { max-width: 720px; margin: 0 auto !important; line-height: 1.5; }

/* Consult page */
.la-consult-hero { background: #f5f5fb; padding: 48px 0 32px; text-align: center; }
.la-consult-lead { color: #6b7280; max-width: 620px; margin: 10px auto 0; line-height: 1.75; }
.la-consult-body { padding: 40px 0 72px; }
.la-consult-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: start; }
.la-consult-card { background: #f5f5fb; border-radius: 12px; padding: 22px; margin-bottom: 16px; border: 1px solid rgba(28,31,110,0.06); }
.la-consult-card h3 { margin: 0 0 8px; color: var(--la-navy); font-size: 1rem; }
.la-consult-card p { margin: 0; color: #4b5563; line-height: 1.65; font-size: 0.92rem; }
.la-consult-phone { font-size: 1.4rem; font-weight: 800; color: var(--la-navy); text-decoration: none; }
.la-consult-note { background: #fff; }

/* Sticky mobile bar */
.la-mobile-bar {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 99998;
    background: #fff;
    border-top: 1px solid rgba(28,31,110,0.12);
    box-shadow: 0 -4px 20px rgba(0,0,0,.08);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    gap: 10px;
    grid-template-columns: 1fr 1.4fr;
}
.la-mobile-bar a {
    display: flex; align-items: center; justify-content: center;
    padding: 14px 12px; border-radius: 12px;
    font-weight: 700; font-size: 0.95rem; text-decoration: none;
}
.la-mobile-bar-call { background: #f5f5fb; color: var(--la-navy); border: 1px solid rgba(28,31,110,0.12); }
.la-mobile-bar-book { background: var(--la-gold); color: var(--la-navy); }

@media (max-width: 900px) {
    .la-featured-grid { grid-template-columns: 1fr; }
    .la-process-grid { grid-template-columns: repeat(2, 1fr); }
    .la-guide-inner { grid-template-columns: 1fr; }
    .la-location-grid { grid-template-columns: 1fr; }
    .la-footer-grid { grid-template-columns: 1fr 1fr; }
    .la-consult-grid { grid-template-columns: 1fr; }
    body.la-native-home .la-svc-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .la-section { padding: 56px 0; }
    .la-process-grid { grid-template-columns: 1fr; }
    .la-footer-grid { grid-template-columns: 1fr; }
    body.la-native-home .la-svc-wrap { grid-template-columns: 1fr; }
    .la-mobile-bar { display: grid; }
    body { padding-bottom: 72px !important; }
    .la-inquiry-form input,
    .la-inquiry-form select,
    .la-inquiry-form textarea,
    .la-command-input { font-size: 1rem; }
    .la-reviews-google { display: block; margin: 16px 0 0; }
}

/* Service landing pages */
.la-svc-hero {
    background-size: cover;
    background-position: center;
    padding: 88px 24px 72px;
    text-align: center;
}
.la-svc-hero h1 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(2rem, 4vw, 3rem);
    color: #fff;
    margin: 0 0 14px;
    font-weight: 500;
}
.la-svc-hero-sub { color: rgba(255,255,255,.85); font-size: 1.05rem; line-height: 1.65; max-width: 640px; margin: 0 auto 28px; }
.la-svc-intro-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: start; }
.la-svc-expect { background: #f5f5fb; border-radius: 14px; padding: 28px; border: 1px solid rgba(28,31,110,0.06); }
.la-svc-expect h3 { margin: 0 0 14px; color: var(--la-navy); font-size: 1.1rem; }
.la-svc-expect ul { margin: 0; padding-left: 1.2rem; color: #4b5563; line-height: 1.75; }
.la-svc-expect li { margin-bottom: 8px; }
.la-svc-areas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.la-svc-area-chip { display: inline-block; padding: 10px 16px; border-radius: 999px; background: #f5f5fb; border: 1px solid rgba(28,31,110,0.1); color: var(--la-navy); font-size: 0.88rem; font-weight: 600; }
.la-svc-disclaimer { margin-top: 24px; font-size: 0.82rem; color: #6b7280; line-height: 1.6; text-align: center; max-width: 720px; margin-left: auto; margin-right: auto; }
.la-guide-chip-light { background: #f5f5fb; color: var(--la-navy) !important; border-color: rgba(28,31,110,0.12) !important; }
.la-guide-chip-light:hover { background: var(--la-navy); color: #fff !important; border-color: var(--la-navy) !important; }
.la-svc-related .la-section-title { margin-bottom: 16px; }
@media (max-width: 800px) { .la-svc-intro-grid { grid-template-columns: 1fr; } }

/* Clinical concierge: immersive entry */
.la-native-home .site-main { padding-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
body.la-native-home #content.site-content,
body.la-native-home #primary,
body.la-native-home .entry-content,
body.la-native-home .ast-separate-container .ast-article-single,
body.la-native-home .ast-article-inner {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.la-native-home .la-footer { margin-top: 0; }
.la-concierge {
    position: relative; overflow: hidden;
    background: linear-gradient(165deg, var(--la-dark) 0%, var(--la-dark-alt) 45%, #0d1038 100%);
    color: #fff; padding: 0 0 56px;
}
.la-concierge-bg { position: absolute; inset: 0; pointer-events: none; }
.la-concierge-mesh {
    position: absolute; inset: -20%;
    background:
        radial-gradient(ellipse 55% 45% at 20% 25%, rgba(201,162,39,0.22) 0%, transparent 55%),
        radial-gradient(ellipse 45% 35% at 80% 65%, rgba(201,162,39,0.08) 0%, transparent 50%),
        radial-gradient(ellipse 50% 40% at 50% 100%, rgba(28,31,110,0.45) 0%, transparent 60%);
    animation: laMeshDrift 22s ease-in-out infinite alternate;
}
@keyframes laMeshDrift {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(-2%, 1%) scale(1.03); }
}
.la-concierge-grain {
    position: absolute; inset: 0; opacity: 0.04;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.la-concierge-inner { position: relative; z-index: 1; max-width: 1240px; }
.la-concierge-top { text-align: center; padding: 48px 0 36px; }
.la-concierge-ribbon {
    display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px;
    font-size: 0.8rem; font-weight: 500; letter-spacing: 0.03em;
    color: rgba(255,255,255,0.88); margin: 0 0 28px;
}
.la-concierge-ribbon-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--la-gold); opacity: 0.8; }
.la-concierge h1 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(2.4rem, 5.5vw, 4.2rem); font-weight: 400; line-height: 1.08;
    margin: 0 0 18px; color: #fff;
}
.la-concierge h1 em { font-style: italic; color: var(--la-gold); }
.la-concierge-lead { max-width: 640px; margin: 0 auto; color: rgba(255,255,255,0.96); line-height: 1.8; font-size: 1.12rem; }
.la-concierge-sublead { max-width: 580px; margin: 28px auto 0; color: rgba(255,255,255,0.88); font-size: 1rem; line-height: 1.7; }
.la-concierge-cta { justify-content: center; margin: 24px 0 0; gap: 14px; flex-wrap: wrap; }

.la-concierge-stage {
    display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch;
    transition: opacity .4s ease, transform .4s ease;
}
.la-concierge-stage.is-resolved { opacity: 0.35; transform: scale(0.98); pointer-events: none; }

.la-command { margin-bottom: 22px; }
.la-command-bar {
    display: flex; align-items: center; gap: 12px;
    background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2);
    border-radius: 16px; padding: 8px 10px 8px 18px;
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    transition: border-color .25s, box-shadow .25s, transform .3s;
}
.la-command-bar:focus-within {
    border-color: rgba(201,162,39,0.55);
    box-shadow: 0 0 0 4px rgba(201,162,39,0.12), 0 12px 40px rgba(0,0,0,0.25);
}
.la-command-bar.is-loading { border-color: rgba(201,162,39,0.4); }
.la-command-bar.is-shake { animation: laShake .45s ease; }
@keyframes laShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-6px); }
    75% { transform: translateX(6px); }
}
.la-command-icon { color: rgba(255,255,255,0.72); flex-shrink: 0; display: flex; margin-right: 2px; }
.la-command-input {
    flex: 1; min-width: 0; border: none; background: transparent;
    color: #fff; font-size: 1.05rem; font-family: Inter, system-ui, sans-serif;
    padding: 12px 4px 12px 0;
}
.la-command-input::placeholder { color: rgba(255,255,255,0.58); }
.la-command-input:focus { outline: none; }
.la-command-go {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    flex-shrink: 0;
    padding: 14px 22px; border: none; border-radius: 12px;
    background: var(--la-gold); color: var(--la-navy);
    font-weight: 700; font-size: 0.9rem; cursor: pointer;
    font-family: Inter, system-ui, sans-serif;
    transition: background .2s, transform .15s;
    margin-left: 4px;
}
.la-command-go:hover { background: var(--la-gold-hover); color: #fff; }
.la-command-go:disabled { opacity: 0.6; cursor: wait; }
.la-command-go-text { display: inline; }
.la-command-hint { margin: 12px 0 0 6px; font-size: 0.85rem; color: rgba(255,255,255,0.72); line-height: 1.5; }

.la-path-rail {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
}
.la-path-card {
    display: flex; align-items: stretch; gap: 0; padding: 0; border: 1px solid rgba(255,255,255,0.1);
    border-radius: 14px; background: rgba(255,255,255,0.04); cursor: pointer;
    overflow: hidden; text-align: left; font-family: inherit;
    transition: border-color .2s, background .2s, transform .2s, box-shadow .2s;
}
.la-path-card:hover, .la-path-card.is-active {
    border-color: rgba(201,162,39,0.5); background: rgba(255,255,255,0.08);
    transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,0.2);
}
.la-path-card.is-active { border-color: var(--la-gold); }
.la-path-card-img {
    width: 72px; flex-shrink: 0; background-size: cover; background-position: center;
}
.la-path-card-body { padding: 12px 14px 12px 12px; display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.la-path-card-tag { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--la-gold); }
.la-path-card-label { font-size: 0.88rem; font-weight: 600; color: #fff; line-height: 1.3; }

.la-preview { display: flex; flex-direction: column; gap: 14px; }
.la-preview-frame {
    position: relative; flex: 1; min-height: 340px; border-radius: 20px;
    overflow: hidden; border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 24px 60px rgba(0,0,0,0.35);
}
.la-preview-img {
    position: absolute; inset: 0; background-size: cover; background-position: center;
    transition: transform .6s cubic-bezier(.25,.8,.25,1), opacity .4s;
}
.la-preview:hover .la-preview-img, .la-preview.is-loading .la-preview-img { transform: scale(1.04); }
.la-preview-shade {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(8,10,40,0.85) 100%);
}
.la-preview-copy {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 28px;
    display: flex; flex-direction: column; gap: 6px;
}
.la-preview-eyebrow { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--la-gold); }
.la-preview-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.75rem; color: #fff; line-height: 1.15; }
.la-preview-sub { font-size: 0.88rem; color: rgba(255,255,255,0.75); line-height: 1.55; max-width: 90%; }
.la-preview-loader {
    position: absolute; top: 20px; left: 20px; right: 20px;
    display: flex; flex-direction: column; gap: 8px;
}
.la-preview-loader-bar {
    height: 3px; border-radius: 3px; background: rgba(255,255,255,0.15); overflow: hidden;
}
.la-preview-loader-bar::after {
    content: ''; display: block; height: 100%; width: 40%;
    background: var(--la-gold); border-radius: 3px;
    animation: laLoadBar 1.2s ease-in-out infinite;
}
@keyframes laLoadBar {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(350%); }
}
.la-preview-loader-text { font-size: 0.75rem; font-weight: 600; color: rgba(255,255,255,0.7); letter-spacing: 0.06em; }
.la-preview-trust {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
    padding: 14px; border-radius: 14px;
    background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08);
}
.la-preview-trust div { text-align: center; }
.la-preview-trust strong { display: block; font-size: 1rem; color: var(--la-gold); }
.la-preview-trust span { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.5); }

/* Match result: editorial reveal */
.la-match {
    margin-top: -20px; position: relative; z-index: 2;
    background: #fff; border-radius: 24px; padding: 36px;
    box-shadow: 0 32px 80px rgba(0,0,0,0.35);
    color: var(--la-navy);
}
.la-match.la-match-enter { animation: laMatchIn .55s cubic-bezier(.22,1,.36,1) both; }
@keyframes laMatchIn {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}
.la-match-header { text-align: center; max-width: 640px; margin: 0 auto 28px; }
.la-match-badge {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 16px; border-radius: 999px;
    background: linear-gradient(135deg, rgba(201,162,39,0.15), rgba(28,31,110,0.06));
    border: 1px solid rgba(201,162,39,0.3); margin-bottom: 12px;
}
.la-match-badge-icon { color: var(--la-gold); font-size: 0.9rem; }
.la-match-badge-text { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--la-gold); }
.la-match-reason { margin: 0; font-size: 1.05rem; line-height: 1.6; color: #4b5563; }

.la-match-body { display: grid; grid-template-columns: 1fr 1.1fr; gap: 32px; align-items: start; }
.la-match-visual { position: relative; border-radius: 18px; overflow: hidden; min-height: 380px; }
.la-match-visual-img {
    position: absolute; inset: 0; background-size: cover; background-position: center;
}
.la-match-visual::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(8,10,40,0.75) 100%);
}
.la-match-stats {
    position: absolute; left: 0; right: 0; bottom: 0;
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
    background: rgba(255,255,255,0.15);
}
.la-match-stat {
    padding: 14px 10px; text-align: center;
    background: rgba(8,10,40,0.55); backdrop-filter: blur(8px);
}
.la-match-stat strong { display: block; font-size: 1rem; color: var(--la-gold); }
.la-match-stat span { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.7); }

.la-match-headline { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.1rem); margin: 0 0 12px; line-height: 1.15; color: var(--la-navy); }
.la-match-sub { color: #4b5563; line-height: 1.7; margin: 0 0 18px; font-size: 0.95rem; }
.la-match-bullets { margin: 0 0 18px; padding-left: 1.2rem; line-height: 1.65; font-size: 0.92rem; }
.la-match-bullets li { margin-bottom: 6px; }
.la-match-page-link { font-weight: 600; }

.la-match-qa-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--la-gold); margin: 24px 0 12px; }
.la-match-faq { border: 1px solid rgba(28,31,110,0.1); border-radius: 12px; margin-bottom: 8px; overflow: hidden; background: #fafafc; }
.la-match-faq summary { padding: 14px 16px; cursor: pointer; font-weight: 600; font-size: 0.9rem; list-style: none; color: var(--la-navy); }
.la-match-faq summary::-webkit-details-marker { display: none; }
.la-match-faq p { margin: 0; padding: 0 16px 16px; color: #4b5563; font-size: 0.88rem; line-height: 1.65; }
.la-match-depth { margin-top: 16px; border-top: 1px dashed rgba(28,31,110,0.12); padding-top: 14px; }
.la-match-depth summary { cursor: pointer; font-weight: 700; font-size: 0.88rem; color: var(--la-navy); }
.la-match-depth-body { padding-top: 12px; display: grid; gap: 14px; }
.la-match-depth-block h4 { margin: 0 0 6px; font-size: 0.95rem; }
.la-match-depth-block p { margin: 0; color: #6b7280; font-size: 0.88rem; line-height: 1.7; }

.la-match-alt { text-align: center; margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(28,31,110,0.08); }
.la-match-alt-label { font-size: 0.78rem; font-weight: 700; color: #6b7280; margin: 0 0 12px; }
.la-match-alt-list { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.la-match-alt-chip {
    padding: 10px 18px; border-radius: 999px; border: 1px solid rgba(28,31,110,0.12);
    background: #f5f5fb; color: var(--la-navy); font-weight: 600; font-size: 0.85rem;
    cursor: pointer; font-family: inherit; transition: border-color .15s, background .15s;
}
.la-match-alt-chip:hover { border-color: var(--la-gold); background: #fff; }

.la-match-foot {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px;
    margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(28,31,110,0.08);
}
.la-btn-outline-dark {
    display: inline-block; padding: 14px 28px; border-radius: 8px;
    border: 2px solid var(--la-navy); color: var(--la-navy) !important;
    font-weight: 700; text-decoration: none; transition: all .2s;
}
.la-btn-outline-dark:hover { background: var(--la-navy); color: #fff !important; }
.la-match-reset {
    background: none; border: none; color: #6b7280; font-size: 0.88rem;
    cursor: pointer; text-decoration: underline; font-family: inherit; padding: 8px;
}
.la-match-reset:hover { color: var(--la-navy); }

.la-concierge-catalog { text-align: center; margin: 32px 0 0; }
.la-text-link-light { color: rgba(255,255,255,0.82) !important; }
.la-text-link-light:hover { color: var(--la-gold) !important; }
.la-concierge-catalog button { background: none; border: none; cursor: pointer; font-size: inherit; font-family: inherit; padding: 0; }
.la-full-catalog.is-open { display: block !important; }

@media (max-width: 960px) {
    .la-concierge-stage { grid-template-columns: 1fr; }
    .la-preview-frame { min-height: 280px; }
    .la-match-body { grid-template-columns: 1fr; }
    .la-match-visual { min-height: 280px; }
    .la-path-rail { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .la-concierge-top { padding-top: 32px; }
    .la-command-go-text { display: none; }
    .la-command-go { padding: 14px 16px; }
    .la-match { padding: 24px 18px; border-radius: 18px; }
    .la-preview-trust { grid-template-columns: repeat(2, 1fr); }
}

/* ── Readable defaults (45-75 demographic) ── */
body.la-readable {
    font-size: 18px;
    line-height: 1.65;
}
body.la-readable .la-intro-text,
body.la-readable .la-svc-hero-sub,
body.la-readable .la-section-sub,
body.la-readable .la-rev-text {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #374151;
}
body.la-readable .la-rev-text { font-size: 1.08rem; }
body.la-readable .la-consult-phone,
body.la-readable .la-location-phone {
    font-size: 1.55rem;
}
body.la-readable .la-btn-large {
    font-size: 1.05rem;
    padding: 16px 28px;
}
body.la-readable .la-concierge h1 {
    font-size: clamp(2rem, 5vw, 2.85rem);
    line-height: 1.2;
}
body.la-readable .la-mobile-bar a {
    font-size: 0.92rem;
    padding: 16px 10px;
}

/* Customer cabinet */
.la-cabinet-help { max-width: 820px; }
.la-cabinet-callout {
    background: #f5f5fb;
    border: 1px solid rgba(28,31,110,0.08);
    border-radius: 14px;
    padding: 32px;
    margin-bottom: 32px;
}
.la-cabinet-callout h2 { color: var(--la-navy); margin: 0 0 14px; font-size: 1.35rem; }
.la-cabinet-callout p { margin: 0 0 14px; color: #374151; line-height: 1.75; }
.la-cabinet-dashboard h2 { color: var(--la-navy); margin: 0 0 12px; font-size: 1.2rem; }
.la-cabinet-widget { margin-top: 20px; }

/* Trust strip: home */
.la-trust-strip {
    background: linear-gradient(180deg, #fdfbf7 0%, #fff 100%);
    border-bottom: 1px solid rgba(28,31,110,0.06);
    padding: 24px 0 20px;
}
.la-welcome-note {
    text-align: center;
    max-width: 640px;
    margin: 18px auto 0;
    font-size: 0.95rem;
    line-height: 1.7;
    color: #5b6178;
}
.la-welcome-note a {
    color: var(--la-navy);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.la-welcome-note a:hover { color: var(--la-gold); }
.la-trust-strip-inner {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    text-align: center;
}
.la-trust-item strong {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.5rem;
    color: var(--la-navy);
    line-height: 1.2;
}
.la-trust-item span {
    display: block;
    font-size: 0.82rem;
    letter-spacing: 0.01em;
    color: #6b7280;
    margin-top: 4px;
    line-height: 1.35;
}
.la-consult-welcome {
    background: linear-gradient(135deg, #fdf8ef 0%, #f5f5fb 100%);
    border-color: rgba(201,162,39,0.25);
}
.la-consult-welcome h3 { color: var(--la-navy); }
.la-consult-welcome p { margin: 0; color: #4b5563; line-height: 1.75; }
.la-consult-phone-inline {
    color: var(--la-navy);
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.la-consult-phone-inline:hover { color: var(--la-gold); }
html { scroll-behavior: smooth; }

@media (max-width: 820px) {
    .la-trust-strip-inner { grid-template-columns: repeat(3, 1fr); }
    .la-hdr-phone { display: none; }
}
@media (max-width: 520px) {
    .la-trust-strip-inner { grid-template-columns: repeat(2, 1fr); }
}
