:root{
  --navy:#0b1f33;
  --navy-2:#102d49;
  --blue:#17476f;
  --gold:#b98a32;
  --gold-soft:#f4ead8;
  --ink:#172334;
  --muted:#637083;
  --line:#d9e0e8;
  --paper:#ffffff;
  --soft:#f4f7fa;
  --soft-2:#eaf0f6;
  --shadow:0 24px 70px rgba(13,31,51,.18);
  --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,92%);margin:0 auto}

.top-bar{background:var(--navy);color:#dbe7f3;font-size:.86rem;border-bottom:1px solid rgba(255,255,255,.12)}
.top-bar-inner{height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.top-bar a{font-weight:800;color:#fff}

.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;flex-direction:column;line-height:1.05;gap:7px}
.brand-line{font-size:1.22rem;font-weight:900;letter-spacing:-.03em;color:var(--navy)}
.brand-sub{font-size:.79rem;color:var(--muted);font-weight:700;letter-spacing:.02em}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{font-size:.92rem;font-weight:800;color:#314158;padding:10px 12px;border-radius:999px}
.nav-links a:hover{background:var(--soft)}
.header-call{background:var(--navy)!important;color:#fff!important;padding:11px 16px!important}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;color:var(--navy)}

.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f7fafc 0%,#eef4f9 50%,#ffffff 100%);padding:56px 0 42px;border-bottom:1px solid var(--line)}
.hero-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(11,31,51,.055) 1px, transparent 1px),linear-gradient(90deg,rgba(11,31,51,.055) 1px, transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,#000,transparent 74%);opacity:.8}
.hero-grid{position:relative;display:grid;grid-template-columns:.94fr 1.06fr;gap:34px;align-items:center}
.eyebrow{margin:0 0 12px;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
h1{margin:0;color:var(--navy);font-size:clamp(2.2rem,5vw,4.9rem);line-height:.97;letter-spacing:-.065em;font-weight:900}
.hero-text{font-size:1.08rem;color:#46576d;max-width:650px;margin:22px 0 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:14px 18px;font-weight:900;border:1px solid transparent;min-height:50px}
.btn.primary{background:var(--navy);color:#fff;box-shadow:0 12px 30px rgba(11,31,51,.22)}
.btn.secondary{background:#fff;color:var(--navy);border-color:var(--line)}
.btn.light{background:#fff;color:var(--navy)}
.status-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.status-strip span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:#415269;font-weight:800;font-size:.84rem}

.form-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}
.form-header{padding:24px 24px 14px;background:linear-gradient(180deg,#fff,#f7fafc);border-bottom:1px solid var(--line)}
.form-badge{display:inline-flex;background:var(--gold-soft);color:#77551a;border:1px solid #ead5aa;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.form-header h2{margin:0;color:var(--navy);font-size:1.65rem;letter-spacing:-.04em}
.form-header p{margin:8px 0 0;color:var(--muted);font-size:.94rem}
.lead-form{padding:22px 24px 24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field-group{margin-bottom:14px}
.field-group.full{margin-bottom:16px}
label{display:block;font-weight:900;font-size:.83rem;color:#26354b;margin-bottom:7px}
label span{color:#a53434}
input,select,textarea{width:100%;font:inherit;border:1px solid #cdd7e1;border-radius:10px;padding:12px 12px;background:#fff;color:var(--ink);outline:none;transition:.2s border,.2s box-shadow}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,71,111,.12)}
textarea{resize:vertical}
.divider-title{margin:4px 0 14px;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.submit-btn{width:100%;border:0;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font:inherit;font-weight:900;padding:15px 18px;cursor:pointer;box-shadow:0 12px 26px rgba(11,31,51,.2)}
.form-note{font-size:.78rem;color:var(--muted);margin:12px 0 0;text-align:center}.hidden-field{display:none!important}

.notice-section{padding:18px 0;background:#fff}
.notice-card{display:flex;align-items:flex-start;gap:12px;border:1px solid #e3cf9f;background:#fffaf0;border-radius:14px;padding:15px 18px;color:#604713}
.notice-card strong{white-space:nowrap;color:#49320e}.notice-card p{margin:0;color:#604713}

.section{padding:82px 0}.muted{background:var(--soft)}
.section-head{max-width:760px;margin-bottom:30px}.section-head h2{margin:0;color:var(--navy);font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.05;letter-spacing:-.055em}.section-head p:not(.eyebrow){color:var(--muted);font-size:1.02rem}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(11,31,51,.06)}
.service-card.wide{grid-column:span 2;background:linear-gradient(135deg,#fff,#f7fafc)}
.service-number{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:10px;background:var(--navy);color:#fff;font-weight:900;margin-bottom:18px}
.service-card h3,.facility-card h3,.info-grid h3{margin:0 0 10px;color:var(--navy);letter-spacing:-.035em}.service-card p,.facility-card p,.info-grid p{margin:0;color:#5b6878}
.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.facility-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.facility-card a{display:inline-flex;margin-top:14px;font-weight:900;color:var(--blue)}
.seo-section{background:var(--navy);color:#fff}.seo-section h2{color:#fff}.seo-section .eyebrow{color:#d8b56a}.two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}.seo-copy p{color:#dce8f3;margin-top:0}
.deep-seo{background:#fff}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.info-grid article{border:1px solid var(--line);border-radius:18px;padding:20px;background:linear-gradient(180deg,#fff,#f8fafc)}
.faq-list{display:grid;gap:12px;max-width:920px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}.faq-list summary{font-weight:900;color:var(--navy);cursor:pointer}.faq-list p{color:var(--muted);margin-bottom:0}
.cta-section{padding:70px 0;background:linear-gradient(135deg,var(--navy),#17476f)}.cta-card{display:flex;align-items:center;justify-content:space-between;gap:22px;color:#fff}.cta-card h2{margin:0;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05;letter-spacing:-.05em}.cta-card p{margin:10px 0 0;color:#dce8f3}.cta-card .eyebrow{color:#d8b56a}
.footer{background:#081827;color:#d8e2ee;padding:46px 0 28px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .9fr;gap:28px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.12)}.footer h3,.footer h4{margin:0 0 10px;color:#fff}.footer p{color:#afbdcb}.footer a{display:block;color:#d8e2ee;margin:7px 0}.disclaimer{padding-top:22px}.disclaimer p{font-size:.78rem;color:#9fb0c0;margin:8px 0}
.mobile-call{display:none}

.thanks-body{min-height:100vh;background:linear-gradient(135deg,#f7fafc,#e9f0f7);display:grid;place-items:center;padding:24px}.success-card{max-width:720px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:42px;text-align:center}.success-icon{width:64px;height:64px;border-radius:50%;background:#eaf7ef;color:#1d7a3a;display:inline-grid;place-items:center;font-weight:900;font-size:1.8rem;margin-bottom:20px}.success-card h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1}.success-card p{color:var(--muted);font-size:1.05rem}.success-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}

@media (max-width:980px){.hero-grid,.two-col{grid-template-columns:1fr}.service-grid,.facility-grid,.info-grid{grid-template-columns:repeat(2,1fr)}.service-card.wide{grid-column:span 1}.hero{padding-top:38px}.form-card{max-width:760px}}
@media (max-width:760px){.top-bar-inner{height:auto;padding:9px 0;align-items:flex-start;flex-direction:column;gap:3px}.header-inner{height:72px}.menu-btn{display:inline-flex}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 4%;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{border-radius:10px}.brand-line{font-size:1rem}.brand-sub{font-size:.72rem}h1{font-size:2.35rem}.hero-actions .btn{width:100%}.form-row{grid-template-columns:1fr}.section{padding:58px 0}.service-grid,.facility-grid,.info-grid,.footer-grid{grid-template-columns:1fr}.notice-card{flex-direction:column;gap:6px}.cta-card{align-items:flex-start;flex-direction:column}.mobile-call{display:block;position:fixed;left:14px;right:14px;bottom:14px;background:var(--navy);color:#fff;text-align:center;font-weight:900;padding:14px;border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.25);z-index:80}.footer{padding-bottom:78px}}

/* Client requested hero/form layout update */
.hero{padding:42px 0 54px}
.hero-stack{position:relative;display:flex;flex-direction:column;gap:26px;align-items:center}
.hero-copy.centered{text-align:center;max-width:940px;margin:0 auto}
.hero-subheading{margin:16px 0 0;color:var(--blue);font-size:clamp(1.25rem,2.5vw,2rem);letter-spacing:-.04em;font-weight:900}
.centered-actions{justify-content:center;margin-top:22px}
.form-card-wide{width:min(920px,100%)}
.top-bar-inner{height:52px;font-size:.95rem}
.header-call{white-space:nowrap}
@media (min-width:981px){.form-card-wide .lead-form{padding:24px 30px 28px}.form-card-wide .form-header{padding:26px 30px 16px}.form-card-wide .form-row{gap:18px}}
@media (max-width:760px){.top-bar-inner{height:auto}.hero{padding:30px 0 38px}.hero-copy.centered{text-align:left}.centered-actions{justify-content:flex-start}.hero-actions .btn{width:100%}.form-card-wide{border-radius:18px}}
:root{
  --navy:#0b1f33;
  --navy-2:#102d49;
  --blue:#17476f;
  --gold:#b98a32;
  --gold-soft:#f4ead8;
  --ink:#172334;
  --muted:#637083;
  --line:#d9e0e8;
  --paper:#ffffff;
  --soft:#f4f7fa;
  --soft-2:#eaf0f6;
  --shadow:0 24px 70px rgba(13,31,51,.18);
  --radius:18px;
}

/* IMPORTANT: only restored Serving All Southern California Counties to yellow */
.hero-subheading{
  margin:16px 0 0;
  color:var(--gold);
  font-size:clamp(1.25rem,2.5vw,2rem);
  letter-spacing:-.04em;
  font-weight:900;
}.eyebrow{
    color:#d7ac5a !important;
}

/* Client requested top section cleanup: no repeated gray serving line, phone under brand, hero order switched */
.site-header{top:0;}
.brand-phone{font-size:.88rem;color:var(--muted);font-weight:800;letter-spacing:0;margin-top:7px;}
.free-info-line{margin:0 0 14px;color:#46576d;font-size:1.08rem;font-weight:700;}
.hero-serving-line{margin:18px 0 0;}
@media (max-width:760px){
  .header-inner{height:86px;}
  .brand-line{font-size:1.08rem;}
  .brand-phone{font-size:.86rem;}
  .nav-links{top:86px;}
  .free-info-line{font-size:1rem;margin-bottom:12px;}
  .hero-serving-line{margin-top:16px;}
}.phone a,
a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
}

/* Client-requested targeted adjustments */
.hero-copy.centered .hero-text{margin-left:auto;margin-right:auto;text-align:center;}
.form-header .form-intro-strong{text-align:center;}
@media (max-width:760px){.hero-copy.centered .hero-text{text-align:center;}}


/* Client-requested mobile call text visibility fix */
.mobile-call,
.mobile-call:link,
.mobile-call:visited,
.mobile-call:hover,
.mobile-call:active{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}
.mobile-call span{
  display:inline-block;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-weight:900;
  line-height:1.2;
}
