:root{
  --pine:#0E5A57;       /* primary: trust, calm */
  --pine-deep:#0A3F3D;  /* dark sections, footer */
  --sea-mist:#E8F3F1;   /* tinted sections */
  --poppy:#F2B431;      /* California gold: calls to action */
  --ink:#14262B;        /* body text */
  --paper:#FFFFFF;
}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:'Nunito Sans',sans-serif;color:var(--ink);line-height:1.65}
h1,h2,h3,h4,h5,.navbar-brand{font-family:'Bricolage Grotesque',sans-serif;letter-spacing:-.01em}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
a:focus-visible,.btn:focus-visible,.form-control:focus{outline:3px solid var(--poppy);outline-offset:2px}

.site-nav{background:var(--pine-deep)}
.site-nav .navbar-brand{color:#fff;font-weight:700}
.site-nav .nav-link{color:rgba(255,255,255,.85);font-weight:600}
.site-nav .nav-link:hover{color:var(--poppy)}
.navbar-toggler{border-color:rgba(255,255,255,.5);background:#fff}

.btn-accent{background:var(--poppy);color:var(--ink);font-weight:700;border:0}
.btn-accent:hover{background:#e3a31c;color:var(--ink)}

.hero{background:var(--pine);color:#fff;padding:96px 0}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:1.05}
.hero .lead{max-width:34rem;color:rgba(255,255,255,.9)}
.hero-note{color:var(--poppy);font-weight:700}
.hours-card{background:var(--paper);color:var(--ink);border-radius:20px;padding:28px;border-left:8px solid var(--poppy)}
.hours-card li{padding:8px 0}
.hours-card i{color:var(--pine)}

.section{padding:88px 0}
.section-tint{background:var(--sea-mist)}
.section-dark{background:var(--pine-deep);color:#fff}
.section-title{font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:700;margin-bottom:.75rem}
.section-intro{max-width:38rem;margin-bottom:2.5rem}

.service{height:100%;padding:28px;border-top:4px solid var(--pine);background:var(--sea-mist)}
.service i{font-size:1.9rem;color:var(--pine)}
.service h3{margin:.75rem 0 .5rem}

.stat{background:var(--paper);padding:24px 8px;border-radius:12px}
.stat strong{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:1.6rem;color:var(--pine)}

.review{margin:0;padding:28px;border:2px solid var(--sea-mist);border-radius:12px}
.stars{color:var(--poppy)}
.review blockquote{margin:.75rem 0}
.review figcaption{font-weight:700;color:var(--pine)}

.contact-list li{display:flex;gap:12px;padding:6px 0}
.contact-list i{color:var(--poppy)}
.contact-form{background:var(--paper);color:var(--ink);padding:32px;border-radius:16px}

.site-footer{background:#072B2A;color:rgba(255,255,255,.8);font-size:.9rem}
