/*
Theme Name: Sacramento Well Service
Theme URI: https://sacramentowellservice.com
Author: Sacramento Well Service
Description: Custom theme for Sacramento Well Service - residential and agricultural well drilling, repair, and service throughout Sacramento County, CA.
Version: 1.0
*/

:root {
  --gold: #b8982a; --gold-light: #d4af50; --gold-pale: #f5edcf; --gold-ultra: #fdf8ec;
  --cream: #faf8f4; --white: #ffffff; --stone: #f2efe9; --border: #e4dfd4;
  --text: #1c1c1a; --muted: #7a7670; --dark: #2a2820; --red: #b83228;
  --red-dark: #961f17; --red-light: #fdf2f1; --slate: #2c3e50; --slate-light: #3d5166;
  --green-dark: #1a2a1a; --green: #65a30d; --green-light: #a3e635;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',sans-serif; color:var(--text); background:var(--white); overflow-x:hidden; -webkit-font-smoothing:antialiased; }

/* ── EMERGENCY BAR ── */
.e-bar { position:fixed; top:0; left:0; right:0; z-index:999; background:var(--red); padding:0.5rem 5%; display:flex; align-items:center; justify-content:center; gap:2rem; flex-wrap:wrap; }
.e-pulse { width:7px; height:7px; background:#fff; border-radius:50%; flex-shrink:0; animation:pulse 1.6s infinite; }
@keyframes pulse { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,255,255,0.4);}50%{opacity:0.4;box-shadow:0 0 0 5px rgba(255,255,255,0);} }
.e-bar-text { font-size:0.78rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.95); }
.e-bar-btn { font-size:0.78rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--red); background:#fff; padding:0.28rem 0.9rem; text-decoration:none; white-space:nowrap; transition:background 0.2s; }
.e-bar-btn:hover { background:var(--gold-pale); }

/* ── NAV ── */
.site-nav { position:fixed; top:32px; left:0; right:0; z-index:100; height:68px; background:rgba(250,248,244,0.97); backdrop-filter:blur(12px); display:flex; align-items:center; justify-content:space-between; padding:0 5%; border-bottom:1px solid var(--border); }
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:600; color:var(--dark); letter-spacing:0.5px; line-height:1.1; text-decoration:none; display:block; }
.nav-logo span { display:block; font-size:0.6rem; font-family:'Inter',sans-serif; font-weight:500; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold); margin-top:2px; }
.nav-links { list-style:none; display:flex; align-items:center; gap:2rem; }
.nav-links a { font-size:0.78rem; font-weight:500; letter-spacing:1px; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color 0.2s; }
.nav-links a:hover, .nav-links .current-menu-item a { color:var(--gold); }
.nav-cta { background:var(--slate) !important; color:#fff !important; padding:0.5rem 1.3rem !important; font-weight:600 !important; }
.nav-cta:hover { background:var(--gold) !important; color:var(--dark) !important; }
.nav-mobile-btn { display:none; background:none; border:none; cursor:pointer; padding:0.5rem; }
.nav-mobile-btn span { display:block; width:24px; height:2px; background:var(--dark); margin:5px 0; transition:all 0.3s; }

/* ── HERO ── */
.hero { min-height:100vh; background:var(--cream); padding-top:100px; display:grid; grid-template-columns:1.1fr 0.9fr; border-bottom:1px solid var(--border); position:relative; overflow:hidden; }
.hero::before { content:''; position:absolute; top:0; right:0; width:50%; height:100%; background:var(--gold-ultra); z-index:0; }
.hero-left { padding:5rem 4% 5rem 7%; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; }
.hero-right { padding:4rem 7% 4rem 4%; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:1; background:var(--gold-ultra); }
.hero-kicker { display:flex; align-items:center; gap:0.8rem; margin-bottom:1.5rem; }
.hero-kicker-line { width:28px; height:1px; background:var(--gold); }
.hero-kicker-text { font-size:0.68rem; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--gold); }
.hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.8rem,4.5vw,5rem); font-weight:300; line-height:1.05; color:var(--dark); margin-bottom:1.2rem; }
.hero h1 strong { font-weight:700; color:var(--gold); font-style:italic; display:block; }
.hero-desc { font-size:0.95rem; font-weight:400; line-height:1.8; color:var(--muted); max-width:440px; margin-bottom:2rem; }
.trust-ribbon { display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid var(--border); }
.trust-item { display:flex; align-items:center; gap:0.4rem; font-size:0.75rem; font-weight:600; color:var(--dark); }
.trust-item::before { content:'✓'; color:var(--gold); font-weight:700; }
.hero-stats { display:flex; gap:2rem; }
.stat-val { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:700; font-style:italic; color:var(--gold); line-height:1; }
.stat-label { font-size:0.65rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-top:0.25rem; }

/* ── HERO FORM ── */
.hero-form { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--gold); padding:2rem; box-shadow:0 4px 40px rgba(0,0,0,0.06); }
.hero-form h3 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:700; color:var(--dark); margin-bottom:0.3rem; }
.hero-form .form-sub { font-size:0.82rem; color:var(--muted); margin-bottom:1.5rem; }
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; margin-bottom:0.75rem; }
.f-group { display:flex; flex-direction:column; gap:0.3rem; margin-bottom:0.75rem; }
.f-group label { font-size:0.65rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--dark); }
.f-group input, .f-group select, .f-group textarea { padding:0.7rem 0.9rem; border:1px solid var(--border); background:var(--cream); font-family:'Inter',sans-serif; font-size:0.9rem; color:var(--dark); outline:none; border-radius:0; -webkit-appearance:none; transition:border-color 0.2s, background 0.2s; }
.f-group input:focus, .f-group select:focus, .f-group textarea:focus { border-color:var(--gold); background:var(--white); }
.f-group textarea { resize:vertical; min-height:80px; }
.btn-submit { width:100%; background:var(--slate); color:#fff; padding:0.9rem; border:none; font-family:'Inter',sans-serif; font-size:0.8rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; cursor:pointer; transition:all 0.2s; }
.btn-submit:hover { background:var(--gold); color:var(--dark); }
.form-note { font-size:0.72rem; color:var(--muted); text-align:center; margin-top:0.7rem; }
.form-note a { color:var(--gold); text-decoration:none; }

/* ── EMERGENCY STRIP ── */
.emergency-strip { background:var(--red-light); border-top:1px solid rgba(184,50,40,0.15); border-bottom:1px solid rgba(184,50,40,0.15); }
.emergency-inner { display:grid; grid-template-columns:1fr auto; align-items:center; gap:3rem; padding:3rem 7%; max-width:1400px; margin:0 auto; }
.emerg-kicker { display:flex; align-items:center; gap:0.6rem; margin-bottom:0.8rem; }
.emerg-dot { width:7px; height:7px; background:var(--red); border-radius:50%; animation:pulse 1.4s infinite; }
.emerg-kicker span { font-size:0.68rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--red); }
.emergency-inner h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.6rem,2.5vw,2.4rem); font-weight:700; color:var(--dark); line-height:1.1; margin-bottom:0.8rem; }
.emergency-inner p { font-size:0.9rem; color:var(--muted); line-height:1.8; max-width:500px; margin-bottom:1.2rem; }
.emerg-tags { display:flex; gap:0.5rem; flex-wrap:wrap; }
.etag { font-size:0.68rem; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--red); background:rgba(184,50,40,0.07); border:1px solid rgba(184,50,40,0.15); padding:0.3rem 0.7rem; }
.emerg-cta { text-align:center; flex-shrink:0; }
.emerg-phone { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3vw,2.8rem); font-weight:700; color:#fff; text-decoration:none; display:block; background:var(--red); padding:1.2rem 2.5rem; letter-spacing:1px; transition:background 0.2s; white-space:nowrap; margin-bottom:0.6rem; }
.emerg-phone:hover { background:var(--red-dark); }
.emerg-sub { font-size:0.72rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }

/* ── SECTION COMMONS ── */
.section-kicker { display:flex; align-items:center; gap:0.8rem; margin-bottom:1rem; }
.section-kicker-line { width:24px; height:1px; background:var(--gold); }
.section-kicker-text { font-size:0.68rem; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--gold); }
.section-h { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3vw,3rem); font-weight:600; line-height:1.1; color:var(--dark); }
.section-lead { font-size:0.95rem; font-weight:300; line-height:1.9; color:var(--muted); max-width:520px; }

/* ── PHOTO STRIP ── */
.photo-strip { display:grid; grid-template-columns:1.4fr 1fr 1fr; height:340px; overflow:hidden; }
.photo-strip-item { position:relative; overflow:hidden; }
.photo-strip-item img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; transition:transform 0.6s ease; }
.photo-strip-item:hover img { transform:scale(1.04); }
.strip-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(0,0,0,0.7), transparent); color:#fff; padding:1.5rem 1rem 0.8rem; font-size:0.72rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; opacity:0; transition:opacity 0.3s; }
.photo-strip-item:hover .strip-caption { opacity:1; }

/* ── SERVICES ── */
#services { background:var(--white); padding:5rem 7%; }
.services-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:3.5rem; padding-bottom:3rem; border-bottom:1px solid var(--border); }
.services-intro-right p { font-size:0.95rem; line-height:1.9; color:var(--muted); }
.service-cats { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-bottom:1.5rem; }
.service-cat { background:var(--cream); border:1px solid var(--border); border-top:3px solid var(--gold); }
.cat-photo { width:100%; height:320px; object-fit:cover; object-position:center 30%; display:block; }
.cat-inner { padding:2rem; }
.cat-icon-wrap { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--border); }
.cat-icon { width:44px; height:44px; background:var(--gold-pale); display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.cat-title { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:700; color:var(--dark); line-height:1.1; }
.cat-sub { font-size:0.75rem; color:var(--muted); margin-top:0.2rem; line-height:1.4; }
.svc-items { display:flex; flex-direction:column; }
.svc-item { display:grid; grid-template-columns:20px 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--border); }
.svc-item:last-child { border-bottom:none; }
.si-num { font-size:0.6rem; font-weight:700; color:var(--gold); padding-top:3px; letter-spacing:0.5px; }
.si-content h4 { font-size:0.88rem; font-weight:600; color:var(--dark); margin-bottom:0.2rem; }
.si-content p { font-size:0.8rem; color:var(--muted); line-height:1.6; }

/* Rehab banner */
.rehab-banner { background:var(--stone); border:1px solid var(--border); border-left:4px solid var(--gold); padding:2.5rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; margin-bottom:1.5rem; }
.rehab-badge { display:inline-flex; align-items:center; gap:0.5rem; font-size:0.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:0.8rem; }
.rehab-banner h3 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:700; color:var(--dark); margin-bottom:0.8rem; line-height:1.2; }
.rehab-banner p { font-size:0.88rem; color:var(--muted); line-height:1.8; }
.rehab-items { display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; }
.ri { background:var(--white); border:1px solid var(--border); padding:1rem; }
.ri h5 { font-size:0.78rem; font-weight:700; color:var(--dark); margin-bottom:0.25rem; }
.ri p { font-size:0.75rem; color:var(--muted); line-height:1.5; }
.rehab-photo { width:100%; height:200px; object-fit:cover; object-position:center 30%; display:block; margin-bottom:0.75rem; }

/* Other services */
.other-svcs { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.other-svc { background:var(--white); border:1px solid var(--border); padding:2rem; transition:border-color 0.2s, box-shadow 0.2s; position:relative; }
.other-svc::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform 0.3s; transform-origin:left; }
.other-svc:hover { border-color:var(--gold); box-shadow:0 4px 20px rgba(0,0,0,0.05); }
.other-svc:hover::after { transform:scaleX(1); }
.osvc-icon { font-size:1.5rem; margin-bottom:1rem; display:block; }
.other-svc h3 { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:700; color:var(--dark); margin-bottom:0.5rem; }
.other-svc p { font-size:0.82rem; color:var(--muted); line-height:1.7; margin-bottom:0.8rem; }
.osvc-list { list-style:none; display:flex; flex-direction:column; gap:0.3rem; }
.osvc-list li { font-size:0.77rem; font-weight:500; color:var(--dark); display:flex; align-items:center; gap:0.5rem; }
.osvc-list li::before { content:''; width:4px; height:4px; background:var(--gold); border-radius:50%; flex-shrink:0; }

/* ── FINANCING BAR ── */
.financing-bar { background:var(--gold-ultra); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:2rem 7%; }
.financing-inner { max-width:1400px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.fin-left { display:flex; align-items:center; gap:1.5rem; }
.fin-icon { width:52px; height:52px; background:var(--gold-pale); border:1px solid rgba(184,152,42,0.3); display:flex; align-items:center; justify-content:center; font-size:1.5rem; flex-shrink:0; }
.fin-text h4 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:700; color:var(--dark); margin-bottom:0.2rem; }
.fin-text p { font-size:0.83rem; color:var(--muted); line-height:1.5; }
.fin-tags { display:flex; gap:0.6rem; flex-wrap:wrap; }
.fin-tag { font-size:0.72rem; font-weight:600; color:var(--dark); background:var(--white); border:1px solid var(--border); padding:0.35rem 0.8rem; }
.fin-cta { font-size:0.78rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--dark); background:var(--gold); padding:0.7rem 1.5rem; text-decoration:none; white-space:nowrap; transition:background 0.2s; }
.fin-cta:hover { background:var(--gold-light); }

/* ── WHY ── */
#why { background:var(--slate); padding:5rem 7%; }
.why-grid { display:grid; grid-template-columns:1fr 1.6fr; gap:5rem; align-items:center; }
.why-left .section-h { color:var(--white); }
.why-left p { font-size:0.95rem; color:rgba(255,255,255,0.65); line-height:1.9; margin-top:1rem; font-style:italic; }
.why-facts { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid rgba(255,255,255,0.08); }
.wf { background:var(--slate); padding:2rem; border:1px solid rgba(255,255,255,0.06); transition:background 0.3s; }
.wf:hover { background:var(--slate-light); }
.wf-num { font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:700; font-style:italic; color:var(--gold); line-height:1; margin-bottom:0.4rem; }
.wf h4 { font-size:0.75rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.85); margin-bottom:0.5rem; }
.wf p { font-size:0.82rem; color:rgba(255,255,255,0.55); line-height:1.7; }

/* ── SERVICE AREA ── */
#area { background:var(--cream); padding:5rem 7%; border-top:1px solid var(--border); }
.area-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:5rem; align-items:start; }
.area-left p { font-size:0.93rem; color:var(--muted); line-height:1.9; margin-bottom:1rem; }
.area-left strong { color:var(--dark); font-weight:600; }
.city-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--border); }
.city-row { padding:0.65rem 1rem; border-bottom:1px solid var(--border); border-right:1px solid var(--border); font-size:0.8rem; font-weight:500; color:var(--dark); display:flex; align-items:center; gap:0.5rem; transition:background 0.2s; background:var(--white); }
.city-row:hover { background:var(--gold-ultra); }
.city-row::before { content:''; width:4px; height:4px; background:var(--gold); border-radius:50%; flex-shrink:0; }
.city-row.home { background:var(--gold-pale); color:var(--dark); font-weight:700; }
.city-row.home::before { background:var(--gold); width:6px; height:6px; }

/* ── REVIEWS ── */
#reviews { background:var(--white); padding:5rem 7%; border-top:1px solid var(--border); }
.reviews-header { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:3rem; }
.reviews-header p { font-size:0.93rem; color:var(--muted); line-height:1.8; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }
.review { background:var(--white); padding:2.5rem; position:relative; }
.review::before { content:'"'; font-family:'Cormorant Garamond',serif; font-size:5rem; color:var(--gold); opacity:0.12; position:absolute; top:1rem; left:2rem; line-height:1; pointer-events:none; }
.review-stars { color:var(--gold); font-size:0.8rem; letter-spacing:3px; margin-bottom:1rem; }
.review p { font-size:0.9rem; font-style:italic; color:var(--muted); line-height:1.8; margin-bottom:1.5rem; }
.review-name { font-size:0.72rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--dark); }
.review-loc { font-size:0.72rem; color:var(--muted); margin-top:0.2rem; }

/* ── GALLERY ── */
.work-gallery { background:var(--stone); padding:5rem 7%; border-top:1px solid var(--border); }
.gallery-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:2.5rem; }
.gallery-intro p { font-size:0.93rem; color:var(--muted); line-height:1.8; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
.gallery-item { position:relative; overflow:hidden; aspect-ratio:3/4; cursor:pointer; }
.gallery-item.wide { grid-column:span 2; aspect-ratio:16/9; }
.gallery-item img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; transition:transform 0.5s ease; }
.gallery-item:hover img { transform:scale(1.05); }
.gallery-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%); padding:2rem 1rem 1rem; color:#fff; }
.gallery-caption h4 { font-size:0.82rem; font-weight:700; letter-spacing:0.5px; margin-bottom:0.15rem; }
.gallery-caption span { font-size:0.68rem; color:rgba(255,255,255,0.65); letter-spacing:1px; text-transform:uppercase; }

/* ── FAQ ── */
#faq { background:var(--stone); padding:5rem 7%; border-top:1px solid var(--border); }
.faq-layout { display:grid; grid-template-columns:1fr 1.6fr; gap:5rem; align-items:start; }
.faq-left p { font-size:0.93rem; color:var(--muted); line-height:1.8; margin-top:1rem; }
.faq-items { display:flex; flex-direction:column; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:first-child { border-top:1px solid var(--border); }
.faq-q { width:100%; background:none; border:none; padding:1.2rem 0; display:flex; justify-content:space-between; align-items:center; gap:1rem; cursor:pointer; text-align:left; font-family:'Inter',sans-serif; }
.faq-q-text { font-size:0.9rem; font-weight:600; color:var(--dark); line-height:1.4; }
.faq-icon { width:24px; height:24px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:1rem; color:var(--gold); flex-shrink:0; transition:transform 0.3s; font-weight:300; }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-a { font-size:0.85rem; color:var(--muted); line-height:1.8; max-height:0; overflow:hidden; transition:max-height 0.4s ease, padding 0.3s; }
.faq-item.open .faq-a { max-height:300px; padding-bottom:1.2rem; }

/* ── CONTACT ── */
#contact { background:var(--white); padding:5rem 7%; border-top:1px solid var(--border); }
.contact-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:5rem; align-items:start; }
.contact-left p { font-size:0.93rem; color:var(--muted); line-height:1.9; margin-bottom:2rem; margin-top:0.5rem; }
.contact-details { display:flex; flex-direction:column; border:1px solid var(--border); }
.c-row { display:flex; align-items:center; gap:1rem; padding:1rem 1.2rem; border-bottom:1px solid var(--border); transition:background 0.2s; }
.c-row:hover { background:var(--cream); }
.c-icon { width:34px; height:34px; background:var(--gold-pale); display:flex; align-items:center; justify-content:center; font-size:0.9rem; flex-shrink:0; }
.c-row strong { display:block; font-size:0.62rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:0.1rem; }
.c-row span, .c-row a { font-size:0.88rem; font-weight:500; color:var(--dark); text-decoration:none; }
.c-row a:hover { color:var(--gold); }
.contact-form { background:var(--cream); border:1px solid var(--border); border-top:3px solid var(--gold); padding:2.5rem; }
.contact-form h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:700; color:var(--dark); margin-bottom:0.3rem; }

/* ── FOOTER ── */
.site-footer { background:var(--dark); padding:4rem 7% 2rem; border-top:2px solid var(--gold); }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:4rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,0.07); margin-bottom:2rem; }
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:600; color:var(--white); margin-bottom:1rem; text-decoration:none; display:block; }
.footer-brand p { font-size:0.85rem; color:rgba(255,255,255,0.5); line-height:1.9; margin-bottom:1.2rem; }
.footer-license { font-size:0.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); border:1px solid rgba(184,152,42,0.3); padding:0.3rem 0.8rem; display:inline-block; }
.footer-col h4 { font-size:0.65rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.6rem; }
.footer-col ul li a, .footer-col ul li { font-size:0.82rem; color:rgba(255,255,255,0.5); text-decoration:none; }
.footer-col ul li a:hover { color:var(--gold); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; font-size:0.72rem; color:rgba(255,255,255,0.3); flex-wrap:wrap; gap:0.5rem; }

/* ── BUTTONS ── */
.btn-gold { font-size:0.8rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--dark); background:var(--gold); padding:0.9rem 2rem; text-decoration:none; transition:all 0.2s; white-space:nowrap; display:inline-flex; align-items:center; gap:0.5rem; }
.btn-gold:hover { background:var(--gold-light); }
.btn-ghost { font-size:0.78rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); text-decoration:none; border-bottom:1px solid var(--border); padding-bottom:2px; transition:all 0.2s; }
.btn-ghost:hover { color:var(--gold); border-color:var(--gold); }

/* ── PAGE HERO (inner pages) ── */
.page-hero { padding-top:100px; min-height:55vh; display:flex; align-items:center; position:relative; overflow:hidden; }
.page-hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(42,40,32,0.88) 0%,rgba(42,40,32,0.6) 100%); }
.page-hero-content { position:relative; z-index:2; padding:4rem 7%; max-width:700px; }
.page-breadcrumb { display:flex; align-items:center; gap:0.5rem; font-size:0.72rem; font-weight:500; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,0.55); margin-bottom:1.2rem; }
.page-breadcrumb a { color:rgba(255,255,255,0.55); text-decoration:none; }
.page-breadcrumb span { color:var(--gold); }
.page-hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,4vw,4rem); font-weight:300; line-height:1.05; color:#fff; margin-bottom:1rem; }
.page-hero h1 strong { font-weight:700; color:var(--gold); font-style:italic; display:block; }
.page-hero-desc { font-size:0.95rem; color:rgba(255,255,255,0.75); line-height:1.8; max-width:560px; margin-bottom:2rem; }
.hero-cta-row { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.btn-outline { font-size:0.78rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.4); padding-bottom:2px; transition:all 0.2s; }
.btn-outline:hover { color:var(--gold); border-color:var(--gold); }

/* Trust bar */
.trust-bar { background:var(--slate); padding:1rem 7%; }
.trust-bar .trust-item { color:#ffffff !important; font-weight:700 !important; font-size:0.78rem; }
.trust-bar .trust-item::before { color:var(--gold) !important; }
.trust-inner { display:flex; gap:2rem; flex-wrap:wrap; align-items:center; justify-content:center; }

/* Services detail */
.services-section { background:var(--white); padding:5rem 7%; }
.services-layout { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:3rem; }
.svc-card { background:var(--cream); border:1px solid var(--border); border-top:3px solid var(--gold); padding:2rem; transition:box-shadow 0.2s; }
.svc-card:hover { box-shadow:0 4px 30px rgba(0,0,0,0.07); }
.svc-card-icon { font-size:1.8rem; margin-bottom:1rem; display:block; }
.svc-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:700; color:var(--dark); margin-bottom:0.6rem; }
.svc-card p { font-size:0.87rem; color:var(--muted); line-height:1.8; margin-bottom:1rem; }
.svc-card ul { list-style:none; display:flex; flex-direction:column; gap:0.3rem; }
.svc-card ul li { font-size:0.78rem; font-weight:500; color:var(--dark); display:flex; align-items:center; gap:0.5rem; }
.svc-card ul li::before { content:''; width:4px; height:4px; background:var(--gold); border-radius:50%; flex-shrink:0; }

/* Split block */
.split-block { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--border); overflow:hidden; margin-top:3rem; }
.split-photo { height:100%; min-height:360px; overflow:hidden; }
.split-photo img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }
.split-content { padding:3rem; background:var(--stone); display:flex; flex-direction:column; justify-content:center; }
.split-content h3 { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:700; color:var(--dark); margin-bottom:1rem; line-height:1.2; }
.split-content p { font-size:0.9rem; color:var(--muted); line-height:1.9; margin-bottom:1rem; }
.split-content ul { list-style:none; display:flex; flex-direction:column; gap:0.4rem; margin-bottom:1.5rem; }
.split-content ul li { font-size:0.82rem; font-weight:500; color:var(--dark); display:flex; align-items:center; gap:0.6rem; }
.split-content ul li::before { content:'→'; color:var(--gold); font-weight:700; }

/* CTA Banner */
.cta-banner { background:var(--slate); padding:4rem 7%; text-align:center; }
.cta-banner h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3vw,2.8rem); font-weight:600; color:#fff; margin-bottom:0.8rem; }
.cta-banner p { font-size:0.95rem; color:rgba(255,255,255,0.65); margin-bottom:2rem; max-width:520px; margin-left:auto; margin-right:auto; }
.cta-phone-big { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:700; color:#fff; text-decoration:none; display:inline-block; background:var(--gold); padding:1rem 3rem; letter-spacing:1px; transition:background 0.2s; margin-bottom:0.6rem; }
.cta-phone-big:hover { background:var(--gold-light); color:var(--dark); }
.cta-note { font-size:0.75rem; color:rgba(255,255,255,0.45); letter-spacing:1px; text-transform:uppercase; display:block; margin-top:0.5rem; }
.cta-note a { color:var(--gold-light); }

/* WordPress content reset */
.wp-site-blocks { padding:0 !important; }
p { margin:0; }

/* ── MOBILE ── */
@media(max-width:960px){
  .hero { grid-template-columns:1fr; }
  .hero::before { display:none; }
  .hero-right { display:none; }
  .nav-links { display:none; }
  .nav-mobile-btn { display:block; }
  .photo-strip { grid-template-columns:1fr; height:auto; }
  .photo-strip-item { height:320px; }
  .services-intro { grid-template-columns:1fr; gap:1.5rem; }
  .service-cats { grid-template-columns:1fr; }
  .rehab-banner { grid-template-columns:1fr; gap:2rem; }
  .rehab-items { grid-template-columns:1fr 1fr; }
  .other-svcs { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; gap:3rem; }
  .why-facts { grid-template-columns:1fr 1fr; }
  .area-layout { grid-template-columns:1fr; gap:3rem; }
  .reviews-header { grid-template-columns:1fr; gap:1.5rem; }
  .reviews-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr 1fr; }
  .gallery-item.wide { grid-column:span 2; }
  .gallery-intro { grid-template-columns:1fr; gap:1rem; }
  .faq-layout { grid-template-columns:1fr; gap:3rem; }
  .contact-layout { grid-template-columns:1fr; gap:3rem; }
  .footer-top { grid-template-columns:1fr; gap:2rem; }
  .emergency-inner { grid-template-columns:1fr; gap:2rem; }
  .financing-inner { flex-direction:column; align-items:flex-start; }
  .f-row { grid-template-columns:1fr; }
  .services-layout { grid-template-columns:1fr; }
  .split-block { grid-template-columns:1fr; }
}
