/* =========================
	RESET & BASE
========================= */
*,*::before,*::after{box-sizing:border-box}body{margin:0;font-family:'Poppins',sans-serif;line-height:1.6;color:#222;background:#fff}img{max-width:100%;display:block}a{text-decoration:none}ul{padding:0;margin:0}
/* =========================
	CSS VARIABLES
========================= */
:root{--primary:#0a3d62;--accent:#1dd1a1;--dark:#1e272e;--gray:#f5f6fa;--text-gray:#555;--white:#fff}
/* =========================
	TYPOGRAPHY
========================= */
h1,h2,h3,h4{font-weight:700;line-height:1.3}h1{font-size:3rem}h2{font-size:2.2rem}h3{font-size:1.6rem}.text-md{font-size:1.05rem}.text-lg{font-size:1.3rem}.text-sm{font-size:.9rem}.text-gray{color:var(--text-gray)}.text-white{color:#fff}.text-dark{color:var(--dark)}.text-italic{font-style:italic}
/* =========================
	BUTTONS (IMPORTANT)
========================= */
 .btn-primary,a.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff!important;padding:14px 32px;border-radius:10px;font-weight:600;border:none;box-shadow:0 2px 12px rgba(29,209,161,0.10);transition:all .22s cubic-bezier(.4,0,.2,1);font-size:1.08rem;letter-spacing:0.01em}.btn-primary:hover,.btn-primary:focus{background:#17b897;transform:translateY(-2px) scale(1.03);box-shadow:0 6px 24px rgba(29,209,161,0.18)}.btn-secondary,a.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--accent)!important;padding:14px 30px;border-radius:10px;border:2px solid var(--accent);font-weight:600;box-shadow:0 2px 12px rgba(29,209,161,0.07);transition:all .22s cubic-bezier(.4,0,.2,1);font-size:1.08rem;letter-spacing:0.01em}.btn-secondary:hover,.btn-secondary:focus{background:var(--accent);color:#fff!important;transform:translateY(-2px) scale(1.03);box-shadow:0 6px 24px rgba(29,209,161,0.18)}
/* =========================
	HEADER / NAV
========================= */
.nav-menu{background:var(--primary)}.navbar .nav-link{color:#fff!important;font-weight:500;padding:12px 16px}.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--accent)!important}.dropdown-menu{border-radius:6px;border:none;box-shadow:0 10px 30px rgba(0,0,0,.1)}
/* =========================
	HERO
========================= */
.carousel,.carousel-item{height:88vh}.carousel img{height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:1}.hero-main-text{color:#fff;text-align:center;max-width:820px;padding:20px}.hero-main-text h1{font-size:3.2rem}.hero-main-text p{font-size:1.15rem;opacity:.95}
/* =========================
	SECTIONS
========================= */
.sec-white{padding:80px 0;background:#fff}.sec-gray{padding:80px 0;background:var(--gray)}.sec-green{padding:80px 0;background:var(--primary)}.sec-green-large{padding:100px 0;background:linear-gradient(135deg,var(--primary),#064663)}.section-h2{text-align:center;margin-bottom:40px}
/* =========================
	LISTS
========================= */
.list-none{list-style:none}.list-item,.list-item-last{font-size:1.05rem;margin-bottom:14px;display:flex;align-items:center;gap:10px}.icon-check{color:var(--accent)}.list-item-check{color:#fff;margin-bottom:14px}.icon-check-circle{color:var(--accent)}
/* =========================
	TESTIMONIAL
========================= */
.card-testimonial{background:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 35px rgba(0,0,0,.08);text-align:center}
/* =========================
	FOOTER
========================= */
.footer{background:#0b1c2d;color:#fff;padding:70px 0 30px}.footer a{color:#fff;opacity:.9}.footer a:hover{color:var(--accent)}
/* =========================
	SPACING HELPERS
========================= */
.mt-20{margin-top:20px}.mt-30{margin-top:30px}.mt-40{margin-top:40px}.mt-50{margin-top:50px}.mb-20{margin-bottom:20px}.mb-40{margin-bottom:40px}
/* =========================
	MOBILE
========================= */
@media(max-width:768px){h1{font-size:2.2rem}h2{font-size:1.8rem}.carousel,.carousel-item{height:75vh}}
.top-bar{background:#003d5c;color:#fff;padding:12px 0;font-size:0.9rem;line-height:1.4}.top-bar a{color:#fff;text-decoration:none;margin:0 10px;transition:color 0.3s;padding:8px;display:inline-block;touch-action:manipulation}@media(min-width:768px){.top-bar a{margin:0 15px}}.top-bar a:hover{color:#0fa884}.top-bar i{margin-right:5px}
.header{background:#fff;padding:12px 0;box-shadow:0 2px 8px rgba(0,0,0,0.08);position:sticky;top:0;z-index:99}@media(min-width:768px){.header{padding:15px 0}}.logo{font-size:1.5rem;font-weight:700;color:#003d5c;text-decoration:none;display:flex;align-items:center;gap:10px}@media(min-width:768px){.logo{font-size:1.8rem}}.logo i{color:#0fa884}.header-search input{border:1px solid #ddd;padding:10px 12px;border-radius:4px;width:100%;font-size:1rem}.header-actions{display:flex;gap:12px;align-items:center}@media(min-width:768px){.header-actions{gap:15px}}.header-action-btn{background:0;border:0;cursor:pointer;color:#333;font-size:1.3rem;transition:color 0.3s;padding:8px;touch-action:manipulation;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}@media(min-width:768px){.header-action-btn{font-size:1.1rem}}.header-action-btn:hover{color:#0fa884}
.nav-menu{background:#003d5c}.nav-menu .nav-link{color:#fff!important;padding:14px 16px;font-weight:500;border-bottom:3px solid transparent;transition:all 0.3s;display:block;text-decoration:none;cursor:pointer;font-size:0.95rem;touch-action:manipulation;min-height:44px;display:flex;align-items:center}@media(min-width:768px){.nav-menu .nav-link{display:inline-block;padding:15px 20px;font-size:1rem}}.nav-menu .nav-link:hover{background:rgba(255,255,255,0.05);border-bottom-color:#0fa884}
.carousel-item{height:280px;background-size:cover;background-position:center;position:relative}@media(min-width:768px){.carousel-item{height:400px}}@media(min-width:1024px){.carousel-item{height:500px}}.carousel-content{position:relative;z-index:2;text-align:center;color:#fff;padding:20px 15px;height:100%;display:flex;flex-direction:column;justify-content:center}@media(min-width:768px){.carousel-content{padding:40px 20px}}.carousel-content h1{font-size:1.6rem;font-weight:700;margin-bottom:15px;line-height:1.2}@media(min-width:768px){.carousel-content h1{font-size:2.4rem}}@media(min-width:1024px){.carousel-content h1{font-size:3rem}}.carousel-content h2{font-size:1.4rem;font-weight:700;margin-bottom:15px}@media(min-width:768px){.carousel-content h2{font-size:1.8rem}}@media(min-width:1024px){.carousel-content h2{font-size:2.2rem}}.carousel-content p{font-size:0.95rem;margin-bottom:20px;line-height:1.4}@media(min-width:768px){.carousel-content p{font-size:1.1rem;margin-bottom:30px}}@media(min-width:1024px){.carousel-content p{font-size:1.2rem}}.carousel-content a{display:inline-block;touch-action:manipulation}.carousel-control-prev,.carousel-control-next{width:44px;height:44px;background:rgba(0,0,0,0.4);border:none;opacity:1;margin:auto 10px}@media(min-width:768px){.carousel-control-prev,.carousel-control-next{width:50px;height:50px;margin:auto 15px}}.carousel-control-prev:hover,.carousel-control-next:hover{background:rgba(0,0,0,0.6)}
.section-title{text-align:center;margin-bottom:30px}@media(min-width:768px){.section-title{margin-bottom:50px}}.section-title h2{font-size:1.5rem;font-weight:700;color:#003d5c;margin-bottom:8px}@media(min-width:768px){.section-title h2{font-size:2.2rem}}@media(min-width:1024px){.section-title h2{font-size:2.5rem}}.section-title p{font-size:0.95rem;color:#666}@media(min-width:768px){.section-title p{font-size:1rem}}
.featured-box{position:relative;height:250px;border-radius:8px;overflow:hidden;display:flex;align-items:flex-end;background-size:cover;background-position:center}@media(min-width:768px){.featured-box{height:300px}}.featured-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,61,92,0.5)}.featured-content{position:relative;z-index:2;padding:20px;color:#fff;width:100%}@media(min-width:768px){.featured-content{padding:30px}}.featured-content h3{font-size:1.3rem;font-weight:600;margin-bottom:8px}@media(min-width:768px){.featured-content h3{font-size:1.8rem}}
.category-card{position:relative;height:300px;border-radius:8px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,0.08);background-size:cover;background-position:center;display:flex;align-items:flex-end;transition:all 0.3s;cursor:pointer;touch-action:manipulation}@media(min-width:768px){.category-card{height:350px}}.category-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px rgba(0,0,0,0.15)}
.service-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,0.08);transition:all 0.3s;margin-bottom:20px;touch-action:manipulation}@media(min-width:768px){.service-card{margin-bottom:25px}}.service-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px rgba(0,0,0,0.15)}.service-image{width:100%;height:180px;background:#003d5c;display:flex;align-items:center;justify-content:center;font-size:2.4rem;color:rgba(255,255,255,0.7)}@media(min-width:768px){.service-image{height:200px;font-size:3rem}}.service-body{padding:20px}@media(min-width:768px){.service-body{padding:25px}}.service-title{font-size:1.1rem;font-weight:600;color:#003d5c;margin-bottom:8px}@media(min-width:768px){.service-title{font-size:1.2rem;margin-bottom:10px}}.service-price{font-size:1.3rem;font-weight:700;color:#0fa884;margin-bottom:12px}@media(min-width:768px){.service-price{font-size:1.4rem;margin-bottom:15px}}.service-btn{background:#0fa884;color:#fff;border:none;padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;cursor:pointer;transition:all 0.3s;display:inline-block;font-size:1rem;touch-action:manipulation;min-height:44px;min-width:120px}@media(min-width:768px){.service-btn{padding:8px 20px}}.service-btn:hover{background:#0d8f70;transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,168,132,0.3)}
.btn-cta{background:#fff;color:#003d5c;padding:14px 28px;border-radius:4px;text-decoration:none;font-weight:600;transition:all 0.3s;border:2px solid #003d5c;cursor:pointer;display:inline-block;font-size:1rem;touch-action:manipulation;min-height:48px;min-width:140px}@media(min-width:768px){.btn-cta{padding:10px 25px;min-height:44px;border:none}}.btn-cta:hover{background:#003d5c;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,61,92,0.3)}
.footer{background:#003d5c;color:#fff;padding:30px 0 15px}@media(min-width:768px){.footer{padding:50px 0 20px}}.footer h5{font-weight:600;margin-bottom:15px;font-size:1rem;color:#0fa884}.footer a{color:rgba(255,255,255,0.8);text-decoration:none;transition:color 0.3s;padding:6px;display:inline-block;touch-action:manipulation}@media(min-width:768px){.footer a{padding:8px}}.footer a:hover{color:#0fa884}.footer ul{list-style:none}.footer li{margin-bottom:8px;font-size:0.95rem}@media(min-width:768px){.footer li{margin-bottom:10px}}
ul{list-style:none;padding:0}li{margin:0}h1,h2,h3,h4,h5,h6{font-weight:700;color:#003d5c}p{margin:0;line-height:1.8;color:#333}section{overflow:hidden}a{touch-action:manipulation}button{touch-action:manipulation}
