:root{
  --teal:#1CA7C4; --teal-dark:#0E7A91; --teal-deep:#0A4E5E;
  --ink:#1F2A2E; --ink-soft:#5B6B70; --paper:#FFFFFF; --sky:#EAF7FA; --sky-deep:#D8F1F6; --line:#DCEEF2;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:'Manrope',sans-serif; -webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Fraunces',Georgia,serif; margin:0; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%;}
.nav-link{color:var(--ink-soft); font-size:15px; font-weight:600; transition:color .15s ease;}
.nav-link:hover{color:var(--teal-dark);}
.btn-primary{background:var(--teal); color:#fff; transition:background .15s ease, transform .15s ease; cursor:pointer; border:none; font-family:inherit;}
.btn-primary:hover{background:var(--teal-dark); transform:translateY(-1px);}
.btn-secondary{border:1.5px solid var(--teal); color:var(--teal-dark); background:transparent; cursor:pointer; transition:all .15s ease;}
.btn-secondary:hover{background:var(--teal); color:#fff;}
.card-modern{box-shadow:0 6px 20px rgba(10,78,94,0.07); transition:box-shadow .2s ease, transform .2s ease;}
.card-modern:hover{box-shadow:0 18px 40px rgba(10,78,94,0.14); transform:translateY(-3px);}
.faq-btn{cursor:pointer;}
.faq-btn:hover{background:var(--sky);}
.faq-item.open .faq-plus{transform:rotate(45deg);}
.footer-link{color:#BFE0E8; font-size:14px; transition:color .15s ease;}
.footer-link:hover{color:#fff;}
.social-ico{transition:background .15s ease;}
.social-ico:hover{background:var(--teal);}
.lead-input{width:100%; padding:12px 14px; border-radius:12px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.1); color:#fff; font:inherit; font-size:14px; outline:none;}
.lead-input::placeholder{color:#A9D3DC;}
.lead-input:focus{border-color:#fff; background:rgba(255,255,255,.16);}
@media (max-width:920px){
  .grid-2{grid-template-columns:1fr !important;}
  .grid-3{grid-template-columns:1fr !important;}
  .grid-4{grid-template-columns:repeat(2,1fr) !important;}
  .nav-links{display:none !important;}
  .hero-title{font-size:34px !important;}
  .section-pad{padding-left:24px !important; padding-right:24px !important;}
  .hdr-tag,.hdr-hours{display:none !important;}
  .hdr-btn{padding:10px 16px !important; font-size:13px !important;}
  .section-pad{padding-left:20px !important; padding-right:20px !important;}
}
@media (max-width:480px){
  .hdr-btn{display:none !important;}
}
