@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{
  --primary:#0f766e;
  --primary-dark:#115e59;
  --accent:#e76f51;
  --dark:#14211f;
  --muted:#66736f;
  --light:#f3f7f3;
  --border:#dce7e1;
  --cream:#fbfaf5;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--dark);line-height:1.7;background:var(--cream);overflow-x:hidden}
::selection{background:var(--accent);color:#fff}
a{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
a{text-decoration:none}
.topbar{background:var(--dark);color:#dce9e2;font-size:.78rem;letter-spacing:.08em;padding:9px 0;text-transform:uppercase}
.topbar a{color:#fff}
.navbar{min-height:78px;border-bottom:1px solid rgba(20,33,31,.08)}
.navbar-brand{color:var(--dark);letter-spacing:.08em;font-size:.95rem}
.navbar-brand span:last-child{color:var(--primary)}
.brand-mark{display:inline-flex;width:38px;height:38px;border-radius:12px;background:var(--primary);color:#fff!important;align-items:center;justify-content:center;margin-right:9px;box-shadow:4px 4px 0 var(--accent);font-family:Fraunces,serif;font-size:1.15rem;letter-spacing:0}
.nav-link{font-weight:600;color:#24334e!important;margin:0 5px}
.nav-link:hover,.nav-link.active{color:var(--primary)!important}
.btn-primary{background:var(--primary);border-color:var(--primary);box-shadow:0 8px 18px rgba(15,118,110,.18)}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.hero{position:relative;background:#173b38;color:#fff;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 58%,rgba(231,111,81,.16) 58% 59%,transparent 59% 100%);pointer-events:none}
.hero-inner{position:relative;z-index:1;padding:108px 0}
.hero h1,.section-title{font-family:Fraunces,Georgia,serif}
.hero h1{font-size:clamp(2.7rem,5vw,5rem);line-height:1.02;font-weight:700;max-width:850px;letter-spacing:0}
.hero p{font-size:1.1rem;max-width:680px;color:#d9ebe4}
.hero-image{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center;border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.2)}
.section{padding:85px 0}
.section-light{background:var(--light)}
.section-title{font-weight:700;font-size:clamp(2rem,3.2vw,3.15rem);line-height:1.08;max-width:760px}
.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem}
.service-card,.info-card{border:1px solid var(--border);border-radius:14px;background:#fff;padding:32px;height:100%;box-shadow:0 12px 34px rgba(20,33,31,.06);transition:transform .25s ease,box-shadow .25s ease}
.service-card:hover,.info-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(20,33,31,.12)}
.icon-box{width:56px;height:56px;border-radius:16px;background:#dff1e9;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.45rem;margin-bottom:20px}
.check-list{padding:0;margin:0;list-style:none}
.check-list li{position:relative;padding-left:30px;margin:12px 0}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--primary);font-weight:800}
.cta{background:var(--primary);color:#fff;border-radius:18px;padding:55px;position:relative;overflow:hidden}
.cta:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.2);right:-45px;bottom:-80px;transform:rotate(25deg)}
.cta p{color:#d9ebe4}
.page-hero{background:var(--light);padding:78px 0;border-bottom:1px solid var(--border)}
.page-hero h1{font-family:Fraunces,Georgia,serif}
.contact-box{background:#fff;border:1px solid var(--border);border-radius:14px;padding:30px;height:100%;box-shadow:0 12px 34px rgba(20,33,31,.05)}
.form-control,.form-select{padding:13px 15px;border-radius:10px;border-color:#d7deea}
.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(15,118,110,.14)}
.site-footer{background:#14211f;color:#cfe0d8}
.footer-brand{font-weight:800;font-size:1.25rem;color:#fff}
.site-footer h6{color:#fff;font-weight:700;margin-bottom:16px}
.site-footer a{color:#cfe0d8}
.site-footer a:hover{color:#fff}
.footer-phone{font-size:1.25rem;font-weight:800;color:#fff!important}
.footer-links li{margin:8px 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:.88rem}
.legal-content h2{margin-top:38px;font-size:1.55rem}
.legal-content h3{margin-top:26px;font-size:1.15rem}
.alert-disclaimer{background:#fff4e9;border:1px solid #f1c7a5;color:#75432b;border-radius:12px;padding:18px}
.feature-image{display:block;width:100%;height:300px;object-fit:cover;object-position:center;border-radius:18px}
.faq-item{border-bottom:1px solid var(--border);padding:22px 0}
.faq-item:first-child{padding-top:0}
.faq-item h3{font-size:1.15rem;margin-bottom:8px}
.page-hero .lead{max-width:760px}
main p,.legal-content p{max-width:78ch}
@media(max-width:991px){.hero-inner{padding:75px 0}.hero-image{min-height:280px}.navbar-collapse{padding:15px 0}.page-hero{padding:58px 0}}
@media(max-width:575px){.section{padding:56px 0}.hero-inner{padding:58px 0}.hero h1{font-size:clamp(2.25rem,12vw,3.25rem)}.hero p{font-size:1rem}.hero-image{min-height:220px;border-radius:14px}.page-hero{padding:45px 0}.page-hero h1{font-size:2.35rem}.section-title{font-size:1.85rem}.service-card,.info-card,.contact-box{padding:24px;border-radius:14px}.feature-image{height:230px;border-radius:14px}.cta{padding:35px 25px}.topbar .container{justify-content:center!important}.footer-bottom{font-size:.8rem}}
@media(hover:hover){.service-card:hover,.info-card:hover{transform:translateY(-5px);box-shadow:0 15px 38px rgba(16,33,61,.1)}}
