/* ============================================
   Theme CSS — Lifetime Construction Builders FSE
   v5 — no scroll box-shadow (uniform appearance)
   ============================================ */

/* 1. CSS Custom Properties */
:root {
  --primary: var(--wp--preset--color--primary, #F9ED03);
  --primary-hover: #D4C902;
  --secondary: var(--wp--preset--color--secondary, #F9ED03);
  --secondary-hover: #D4C902;
  --secondary-contrast: #0A0A0A;
  --accent: var(--wp--preset--color--accent, #D4C902);
  --light: var(--wp--preset--color--light, #141414);
  --dark: var(--wp--preset--color--dark, #0A0A0A);
  --muted: var(--wp--preset--color--muted, #1A1A1A);
  --border-color: var(--wp--preset--color--border, #2A2A2A);
  --text: var(--wp--preset--color--contrast, #FFFFFF);
  --text-light: #a3a3a3;
  --white: #FFFFFF;
  --black: #0A0A0A;
  --font-heading: var(--wp--preset--font-family--heading, 'Inter', -apple-system, sans-serif);
  --font-body: var(--wp--preset--font-family--body, 'Inter', -apple-system, sans-serif);
  --font-cta: 'Inter', -apple-system, sans-serif;
  --section-padding: clamp(3rem, 8vw, 6rem);
  --container-width: 1200px;
  --gap: 2rem;
  --gap-sm: 1rem;
  --gap-lg: 3rem;
  --utility-bar-height: 37px;
  --header-height: 76px;
  --total-header-height: calc(var(--utility-bar-height) + var(--header-height));
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;
  --shadow-soft: 0 2px 8px rgba(0,0,0,0.2);
  --shadow-medium: 0 4px 12px rgba(0,0,0,0.25);
  --shadow-large: 0 8px 24px rgba(0,0,0,0.3);
  --shadow-xl: 0 16px 48px rgba(0,0,0,0.35);
  --shadow-card: 0 8px 32px rgba(0,0,0,0.2);
  --shadow-elevated: 0 16px 48px rgba(0,0,0,0.25);
  --transition: 0.3s cubic-bezier(0.4,0,0.2,1);
  --transition-fast: 0.2s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.4s ease;
  /* Shared header opacity — same value used at rest and scrolled */
  --header-bg-opacity: 0.45;
}

/* 2. Reset & Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--text);background-color:var(--dark);margin:0;padding:0;padding-top:var(--total-header-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
a{color:var(--secondary);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--primary)}

/* 3. Typography */
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;color:var(--white);line-height:1.2;margin:0 0 1rem}
h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.1}
h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}
h3{font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:1.3}
h4{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.4}
p{margin:0 0 1rem}
.text-muted{color:var(--text-light)}

/* 4. Container */
.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 24px}

/* ================================================
   4b. HOMEPAGE HERO GAP FIX
   The FSE template wraps post-content in .container.section which adds
   padding-top via .section. On the homepage the hero section itself
   handles all top spacing, so we zero the wrapper padding.
   ================================================ */
/* Zero the wrapper section-padding on ALL pages — body padding-top already
   handles the fixed-header offset, so .section padding is redundant here */
main .container.section {
  padding-top: 0 !important;
}

/* 5. Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-cta);font-weight:600;font-size:0.9375rem;letter-spacing:0.03em;padding:14px 32px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:background-color var(--transition),color var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition);text-decoration:none;line-height:1.4;white-space:nowrap}
.btn-primary{background-color:var(--primary);color:#0A0A0A;border-color:var(--primary)}
.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);color:#0A0A0A;transform:translateY(-2px);box-shadow:0 8px 24px rgba(249,237,3,0.3)}
.btn-outline{background-color:transparent;color:var(--white);border-color:rgba(255,255,255,0.4)}
.btn-outline:hover{background-color:rgba(255,255,255,0.1);border-color:var(--white);color:var(--white);transform:translateY(-2px)}
.btn-outline-dark{background-color:transparent;color:var(--white);border-color:rgba(255,255,255,0.4)}
.btn-outline-dark:hover{background-color:rgba(255,255,255,0.1);border-color:var(--white);color:var(--white);transform:translateY(-2px)}
.btn-sm{padding:10px 24px;font-size:0.875rem}
.btn-lg{padding:18px 40px;font-size:1rem}

/* 6. Dividers */
.gold-divider{border:none;height:3px;width:60px;background-color:var(--primary);margin:20px auto 24px}
.gold-divider-left{border:none;height:3px;width:60px;background-color:var(--primary);margin:20px 0 24px}

/* 7. Sections */
.section{padding:var(--section-padding) 0}
.section-sm{padding:48px 0}

/* 8. Section Headers */
.section-eyebrow{display:block;font-family:var(--font-cta);font-size:0.8125rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--primary);margin-bottom:12px}
.section-title{margin-bottom:0}
.section-subtitle{font-size:1.0625rem;color:var(--text-light);max-width:640px;margin:0 auto;line-height:1.7}
.text-center{text-align:center}

/* ================================================
   9. UTILITY BAR — fixed, slides up on scroll
   ================================================ */
.utility-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1001;
  background: rgba(10,10,10,var(--header-bg-opacity));
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  padding: 8px 0;
  font-size: 0.8125rem;
  color: #a3a3a3;
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.35s ease;
  will-change: transform;
}
.utility-bar.is-hidden {
  transform: translateY(-100%);
  pointer-events: none;
}
.utility-inner{max-width:var(--container-width);margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center}
.utility-left,.utility-right{display:flex;align-items:center;gap:12px}
.utility-phone,.utility-email{color:#d4d4d4;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:color var(--transition)}
.utility-phone:hover,.utility-email:hover{color:var(--primary)}
.utility-divider{color:#444}
.utility-item{display:inline-flex;align-items:center;gap:6px;color:#a3a3a3}
.utility-item svg{color:var(--primary)}

/* ================================================
   10. MAIN HEADER — frosted glass sticky, uniform opacity
   ================================================ */
.site-header {
  position: fixed;
  top: var(--utility-bar-height);
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 14px 0;
  background-color: rgba(10,10,10,var(--header-bg-opacity));
  backdrop-filter: blur(32px) saturate(1.8) brightness(0.9);
  -webkit-backdrop-filter: blur(32px) saturate(1.8) brightness(0.9);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition:
    top 0.35s cubic-bezier(0.4,0,0.2,1),
    background-color 0.35s ease,
    box-shadow 0.35s ease,
    padding 0.35s ease,
    border-bottom-color 0.35s ease;
  will-change: transform, top;
}
.site-header.is-scrolled {
  top: 0;
  /* Same opacity, backdrop, and border as at-rest — no extra shadow */
  background-color: rgba(10,10,10,var(--header-bg-opacity));
  backdrop-filter: blur(32px) saturate(1.8) brightness(0.9);
  -webkit-backdrop-filter: blur(32px) saturate(1.8) brightness(0.9);
  box-shadow: none;
  border-bottom-color: rgba(255,255,255,0.07);
  padding: 10px 0;
}

.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-width);margin:0 auto;padding:0 24px}
.site-logo{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--white);text-decoration:none;letter-spacing:0.05em;transition:color var(--transition);display:flex;align-items:center;gap:10px}
.site-logo img{height:44px;width:auto;max-width:200px}
.main-nav-wrapper{flex:1;display:none;justify-content:center}
.main-nav-container{transition:background var(--transition),box-shadow var(--transition)}
.main-nav{display:flex;list-style:none;gap:36px;align-items:center;margin:0;padding:0}
.main-nav a{font-family:var(--font-body);font-size:0.9375rem;font-weight:500;color:var(--white);text-decoration:none;position:relative;padding:4px 0;transition:color var(--transition)}
.main-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--primary);transition:width var(--transition)}
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{width:100%}
.main-nav a:hover{color:var(--primary)}
.site-header.is-scrolled .main-nav a{color:var(--white)}
.site-header.is-scrolled .main-nav a:hover{color:var(--primary)}

/* Dropdowns */
.has-dropdown{position:relative}
.dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:520px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:var(--radius-lg);box-shadow:0 20px 60px rgba(0,0,0,0.5);opacity:0;visibility:hidden;transition:all 0.25s ease;padding:24px;z-index:100}
.dropdown-menu.dropdown-sm{min-width:220px;padding:16px}
.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown-inner{display:flex;gap:32px}
.dropdown-col{flex:1}
.dropdown-heading{display:block;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #2a2a2a}
.dropdown-col a{display:block;padding:8px 0;font-size:0.9rem;color:#d4d4d4;transition:color 0.2s ease,padding-left 0.2s ease}
.dropdown-col a:hover{color:var(--primary);padding-left:6px}

/* Location dropdown — state groups with indented city links */
.dropdown-state-group{margin-bottom:8px}
.dropdown-state-group:last-child{margin-bottom:0}
.dropdown-state-link{font-weight:600;color:var(--white) !important;font-size:0.9rem;display:block;padding:8px 0 4px !important}
.dropdown-state-link:hover{color:var(--primary) !important}
.dropdown-city-links{padding-left:12px;border-left:2px solid #2a2a2a;margin-bottom:4px}
.dropdown-city-links a{font-size:0.85rem;color:#a3a3a3 !important;padding:5px 0 !important}
.dropdown-city-links a:hover{color:var(--primary) !important;padding-left:4px !important}

/* Header Actions */
.header-actions{display:flex;align-items:center;gap:16px}
.header-phone-icon{display:flex;align-items:center;justify-content:center;color:var(--white);transition:color var(--transition)}
.header-phone-icon:hover{color:var(--primary)}

/* ================================================
   CTA BUTTON — morphs on scroll
   At rest: solid yellow, dark text
   Scrolled: outlined yellow border, yellow text → fills on hover
   ================================================ */
.header-cta {
  display: inline-flex;
  background-color: var(--primary) !important;
  color: #0A0A0A !important;
  border: 2px solid var(--primary) !important;
  transition:
    background-color 0.35s ease,
    color 0.35s ease,
    border-color 0.35s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease !important;
}
.header-cta:hover {
  background-color: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
  color: #0A0A0A !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(249,237,3,0.35);
}
.site-header.is-scrolled .header-cta {
  background-color: transparent !important;
  color: var(--primary) !important;
  border-color: var(--primary) !important;
  box-shadow: none;
}
.site-header.is-scrolled .header-cta:hover {
  background-color: var(--primary) !important;
  color: #0A0A0A !important;
  border-color: var(--primary) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(249,237,3,0.35);
}

.site-header.is-scrolled .header-phone-icon{color:var(--white)}
.site-header.is-scrolled .mobile-menu-toggle span{background-color:var(--white)}

/* 11. Mobile Menu */
.mobile-menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}
.mobile-menu-toggle span{display:block;width:24px;height:2px;background-color:var(--white);transition:transform var(--transition),opacity var(--transition),background-color var(--transition)}
.mobile-menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.mobile-menu-toggle.open span:nth-child(2){opacity:0}
.mobile-menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:998;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition)}
.mobile-drawer-overlay.open{opacity:1;visibility:visible}
.mobile-drawer{position:fixed;top:0;right:-320px;width:320px;max-width:85vw;height:100vh;height:100dvh;background-color:#111111;z-index:999;padding:80px 32px 32px;transition:right var(--transition);overflow-y:auto;display:flex;flex-direction:column}
.mobile-drawer.open{right:0}
.mobile-drawer-header{position:absolute;top:0;left:0;right:0;padding:20px 32px}
.mobile-drawer-logo{height:36px;width:auto}
.mobile-drawer nav ul{list-style:none;padding:0;margin:0 0 32px}
.mobile-drawer nav li{margin-bottom:4px}
.mobile-drawer nav a{display:block;padding:12px 0;font-size:1.125rem;font-weight:500;color:var(--white);text-decoration:none;border-bottom:1px solid #2a2a2a;transition:color var(--transition)}
.mobile-drawer nav a:hover{color:var(--primary)}
.mobile-drawer .btn{margin-top:8px;width:100%;justify-content:center;background-color:var(--primary);color:#0A0A0A;border-color:var(--primary)}
.mobile-drawer .btn:hover{background-color:var(--primary-hover);color:#0A0A0A}
.mobile-sub-links{padding-left:16px;border-left:2px solid #2a2a2a;margin:4px 0 8px}
.mobile-sub-links a{font-size:0.95rem;color:#a3a3a3;border-bottom:1px solid #1a1a1a;padding:10px 0}
.mobile-sub-links a:hover{color:var(--primary)}
/* Mobile location nav — state/city hierarchy */
.mobile-sub-links a.mobile-state-link{font-size:0.95rem;font-weight:600;color:var(--white);padding:10px 0 6px}
.mobile-sub-links a.mobile-city-link{font-size:0.875rem;color:#a3a3a3;padding:5px 0 5px 8px}
.mobile-sub-links a.mobile-city-link:hover{color:var(--primary)}
.mobile-drawer-contact{margin-top:auto;padding-top:24px;border-top:1px solid #2a2a2a;display:flex;flex-direction:column;gap:8px}
.mobile-drawer-contact a{color:#a3a3a3;font-size:0.9375rem;display:flex;align-items:center;gap:8px}
.mobile-drawer-contact a:hover{color:var(--primary)}
.mobile-drawer-social{padding-top:1.5rem;border-top:1px solid #2a2a2a;display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center;margin-bottom:1.5rem}
.mobile-drawer-social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--primary);background:rgba(249,237,3,0.08);transition:transform var(--transition),background var(--transition)}
.mobile-drawer-social a:hover{transform:scale(1.1);background:rgba(249,237,3,0.15)}
.mobile-drawer-social svg{width:22px;height:22px}

/* 12. Hero */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;overflow:hidden;background-color:var(--dark);margin-top:calc(-1 * var(--total-header-height))}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.6) 50%,rgba(0,0,0,0.3) 100%)}
.hero .container{position:relative;z-index:2}
.hero-content{max-width:680px;padding:120px 0 80px}
.hero-eyebrow{display:block;font-family:var(--font-cta);font-size:0.8125rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--primary);margin-bottom:16px}
.hero h1{color:var(--white);margin-bottom:20px;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.08}
.hero-subtitle{color:rgba(255,255,255,0.85);font-size:1.125rem;line-height:1.7;margin-bottom:32px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:40px}
.hero-trust-bar{display:flex;flex-wrap:wrap;gap:24px}
.hero-trust-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.8);font-size:0.875rem;font-weight:500}
.hero-trust-item svg{flex-shrink:0;color:var(--primary)}
.hero-short{min-height:40vh;padding-top:100px}
.hero-short .hero-content{padding:80px 0 60px;text-align:center;max-width:800px;margin:0 auto}
.hero-short .hero-subtitle{margin-left:auto;margin-right:auto}

/* 13. Cards */
.treatments-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px}
.treatment-card{background:#1a1a1a;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform var(--transition),box-shadow var(--transition);text-decoration:none;color:inherit;display:block;border:1px solid #2a2a2a}
.treatment-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-elevated)}
.treatment-card-image{aspect-ratio:3/2;overflow:hidden}
.treatment-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}
.treatment-card:hover .treatment-card-image img{transform:scale(1.05)}
.treatment-card-body{padding:24px}
.treatment-card-body h3{margin-bottom:8px;font-size:1.25rem}
.treatment-card-body p{color:var(--text-light);font-size:0.9375rem;line-height:1.6;margin-bottom:12px}
.treatment-card-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:600;font-size:0.9375rem;transition:gap var(--transition)}
.treatment-card:hover .treatment-card-link{gap:10px}

/* 14. Why */
.why-section{background-color:#111111}
.why-section .section-eyebrow{color:var(--primary)}
.why-section .section-title{color:var(--white)}
.why-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:48px}
.why-card{background:rgba(255,255,255,0.04);border-radius:var(--radius-lg);padding:36px;text-align:center;border:1px solid #2a2a2a;transition:background-color var(--transition)}
.why-card:hover{background:rgba(255,255,255,0.06)}
.why-card h3{color:var(--white);font-size:1.25rem;margin-bottom:12px}
.why-card p{color:rgba(255,255,255,0.7);font-size:0.9375rem;line-height:1.7;margin:0}
.why-icon{width:56px;height:56px;margin:0 auto 20px;background:rgba(249,237,3,0.1);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}
.why-icon svg{width:28px;height:28px;color:var(--primary)}

/* 15. Stats */
.stats-grid{display:grid;grid-template-columns:1fr;gap:32px;text-align:center}
.stat-number{display:block;font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;color:var(--primary);line-height:1;margin-bottom:8px}
.stat-label{font-size:0.9375rem;color:var(--text-light);font-weight:500}

/* 16. Testimonials */
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px}
.testimonial-card{background:#1a1a1a;border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-soft);border:1px solid #2a2a2a}
.testimonial-stars{display:flex;gap:4px;margin-bottom:16px}
.testimonial-stars svg{width:18px;height:18px;fill:var(--primary)}
.testimonial-card blockquote{margin:0 0 16px;font-size:1rem;line-height:1.7;color:#d4d4d4;font-style:italic}
.testimonial-author{display:block;font-weight:600;color:var(--white);margin-bottom:2px}
.testimonial-detail{display:block;font-size:0.8125rem;color:var(--text-light)}

/* 17. CTA Banner */
.cta-banner{background-color:#111111;padding:var(--section-padding) 0;text-align:center}
.cta-banner h2{color:var(--white);margin-bottom:16px}
.cta-banner p{color:rgba(255,255,255,0.8);font-size:1.0625rem;max-width:600px;margin:0 auto 32px}
.cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;align-items:center}
.cta-phone{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,0.8);font-weight:500;text-decoration:none;transition:color var(--transition)}
.cta-phone:hover{color:var(--white)}
.cta-phone svg{flex-shrink:0}

/* 18. Contact */
.contact-grid{display:grid;grid-template-columns:1fr;gap:48px}
.form-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}
.form-group{margin-bottom:16px}
.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:0.9375rem;color:var(--white)}
.form-control{width:100%;padding:14px 16px;border:1px solid #2a2a2a;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;line-height:1.5;transition:border-color var(--transition),box-shadow var(--transition);background:#1a1a1a;color:var(--white);min-height:48px}
.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(249,237,3,0.15);outline:none}
textarea.form-control{min-height:140px;resize:vertical}
.contact-info-card{background:#1a1a1a;border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-soft);border:1px solid #2a2a2a}
.contact-info-card h3{margin-bottom:24px}
.contact-info-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
.contact-info-item svg{flex-shrink:0;color:var(--primary);margin-top:2px}
.contact-info-item span{color:#d4d4d4;font-size:0.9375rem}
.contact-info-item strong{display:block;font-weight:600;margin-bottom:2px;color:var(--white)}

/* ================================================
   19. FOOTER
   ================================================ */
.site-footer{background-color:#0d0d0d;color:rgba(255,255,255,0.7);border-top:1px solid #2a2a2a}
.footer-main{max-width:var(--container-width);margin:0 auto;padding:64px 24px 48px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px}
.footer-brand{display:flex;flex-direction:column;gap:20px}
.footer-logo img{height:44px;width:auto;max-width:200px;opacity:0.9;transition:opacity var(--transition)}
.footer-logo:hover img{opacity:1}
.footer-tagline{font-size:0.9rem;color:rgba(255,255,255,0.55);line-height:1.7;max-width:280px;margin:0}
.footer-rating{display:flex;align-items:center;gap:10px;font-size:0.875rem;color:rgba(255,255,255,0.65)}
.footer-stars{display:flex;gap:2px}
.footer-heading{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--primary);margin:0 0 16px}
.footer-heading-mt{margin-top:28px}
.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer-links li{list-style:none}
.footer-links a{font-size:0.9rem;color:rgba(255,255,255,0.6);text-decoration:none;transition:color var(--transition),padding-left var(--transition);display:inline-block}
.footer-links a:hover{color:var(--primary);padding-left:4px}
.footer-contact-list{display:flex;flex-direction:column;gap:14px}
.footer-contact-item{display:flex;align-items:flex-start;gap:10px;font-size:0.875rem;color:rgba(255,255,255,0.6);line-height:1.5}
.footer-contact-item svg{flex-shrink:0;color:var(--primary);margin-top:2px}
.footer-contact-item a{color:rgba(255,255,255,0.6);text-decoration:none;transition:color var(--transition)}
.footer-contact-item a:hover{color:var(--primary)}
.footer-social-bar{background:#111111;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;padding:20px 0}
.footer-social-inner{max-width:var(--container-width);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:center}
.footer-social-icons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.footer-social-icons a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);text-decoration:none;transition:background var(--transition),color var(--transition),transform var(--transition);border:1px solid rgba(255,255,255,0.08)}
.footer-social-icons a:hover{background:rgba(249,237,3,0.12);color:var(--primary);transform:translateY(-2px);border-color:rgba(249,237,3,0.3)}
.footer-trust-bar{background:#0a0a0a;padding:14px 0;border-bottom:1px solid #1a1a1a}
.footer-trust-inner{max-width:var(--container-width);margin:0 auto;padding:0 24px}
.footer-trust-items{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;font-size:0.8125rem;color:rgba(255,255,255,0.45)}
.footer-trust-item{display:inline-flex;align-items:center;gap:6px}
.footer-trust-item svg{color:var(--primary);flex-shrink:0}
.footer-trust-divider{color:#333}
.footer-bottom{background:#080808;padding:16px 0}
.footer-bottom-inner{max-width:var(--container-width);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:center;text-align:center}
.footer-bottom p{font-size:0.8rem;color:rgba(255,255,255,0.3);margin:0}
.footer-nav-list{list-style:none}
.footer-nav-list li{list-style:none}
.footer-nav-list a:hover{color:var(--primary)!important}

/* 20. Animations */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.stagger-children .fade-up:nth-child(1){transition-delay:0s}
.stagger-children .fade-up:nth-child(2){transition-delay:0.1s}
.stagger-children .fade-up:nth-child(3){transition-delay:0.2s}
.stagger-children .fade-up:nth-child(4){transition-delay:0.3s}

/* 21. WP Button Override */
.wp-block-button__link,.wp-element-button{color:#0A0A0A!important}
.wp-block-button__link:hover,.wp-element-button:hover{color:#0A0A0A!important}

/* 22. Responsive */
@media(min-width:768px){.main-nav-wrapper{display:flex}.mobile-menu-toggle{display:none}.header-cta{display:inline-flex}}
@media(min-width:640px){.treatments-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.testimonials-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.treatments-grid{grid-template-columns:repeat(3,1fr)}.why-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:repeat(4,1fr)}.testimonials-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.utility-bar .utility-right{display:none}.utility-inner{justify-content:center}}
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1 / -1}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr;gap:32px}.footer-brand{grid-column:auto}.footer-main{padding:48px 24px 32px}.footer-trust-items{flex-direction:column;gap:10px}.footer-trust-divider{display:none}}

/* build:20260217-v6-location-submenu */

/* Single blog posts: top buffer for fixed header */
body.single-post .container.section {
  padding-top: 200px;
}
