:root{
    --navy:#0B1F3A;
    --navy-deep:#071426;
    --teal:#12B4A6;
    --amber:#F5A623;
    --ice:#F4F8FA;
    --slate:#5B6B7C;
}
*{box-sizing:border-box;}
body{
    font-family:'Inter',sans-serif;
    color:var(--navy);
    background:#fff;
}
h1,h2,h3,.display-font{
    font-family:'Space Grotesk',sans-serif;
    letter-spacing:-0.02em;
}
a{text-decoration:none;}
.btn-teal{
    background:var(--teal);
    color:#fff;
    border:none;
    font-weight:600;
    padding:.8rem 1.8rem;
    border-radius:6px;
    transition:transform .15s ease, background .15s ease;
}
.btn-teal:hover{background:#0e9c90;color:#fff;transform:translateY(-2px);}
.btn-outline-navy{
    border:1.5px solid var(--navy);
    color:var(--navy);
    font-weight:600;
    padding:.8rem 1.8rem;
    border-radius:6px;
    transition:all .15s ease;
}
.btn-outline-navy:hover{background:var(--navy);color:#fff;}
.btn-amber{
    background:var(--amber);
    color:var(--navy-deep);
    border:none;
    font-weight:700;
    padding:.85rem 2rem;
    border-radius:6px;
    transition:transform .15s ease;
}
.text-teal {
    color: var(--teal) !important;
}

/* Navbar */
.navbar{
    padding:1rem 0;
    background:#fff;
}
.navbar-brand{
    font-family:'Space Grotesk',sans-serif;
    font-weight:700;
    font-size:1.35rem;
    color:var(--navy)!important;
}
.navbar-brand span{color:var(--teal);}
.nav-link{
    font-weight:500;
    color:var(--navy)!important;
    margin:0 .6rem;
}
.nav-link.active{
    color:var(--teal)!important;
}
.nav-phone{
    background:var(--navy);
    color:#fff!important;
    padding:.55rem 1.2rem;
    border-radius:6px;
    font-weight:600;
}

/* Page header */
.page-header{
    background:linear-gradient(180deg,var(--navy-deep) 0%, var(--navy) 100%);
    color:#fff;
    position:relative;
    overflow:hidden;
    padding:4.5rem 0 8rem;
}
.page-header::before{
    content:"";
    position:absolute;
    top:-120px; right:-120px;
    width:420px;height:420px;
    background:radial-gradient(circle, rgba(18,180,166,.35), transparent 70%);
    border-radius:50%;
}
.page-header .crumb{color:#9FAFC2;font-size:.9rem;}
.page-header .crumb a{color:#C9D4E0;}
.page-header .crumb i{font-size:.7rem;margin:0 .4rem;}
.page-header h1{font-size:2.6rem;font-weight:700;}

.hero-photo-strip{
    position:relative;
    margin-top:-5.5rem;
}
.hero-photo-strip img{
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:16px;
    box-shadow:0 30px 60px rgba(0,0,0,.25);
}

/* Story timeline (About Us) */
.timeline-card{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(11,31,58,.06);
    height:100%;
    transition:transform .18s ease, box-shadow .18s ease;
}
.timeline-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(11,31,58,.12);}
.timeline-card img{width:100%;height:180px;object-fit:cover;}
.timeline-card .body{padding:1.5rem;}
.timeline-year{
    display:inline-block;
    background:rgba(18,180,166,.12);
    color:var(--teal);
    font-weight:700;
    font-size:.85rem;
    padding:.3rem .8rem;
    border-radius:20px;
    margin-bottom:.8rem;
}
.timeline-tag{color:var(--slate);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;}

/* Vision (About Us) */
.vision-img{border-radius:16px;overflow:hidden;}
.vision-img img{width:100%;display:block;}
.vision-panel{
    background:var(--navy);
    color:#fff;
    border-radius:16px;
    padding:2.5rem;
}
.vision-panel .section-sub{color:#C9D4E0;max-width:none;}

/* Mission pillars (About Us) */
.pillar{
    background:#fff;
    border-radius:14px;
    padding:2rem 1.5rem;
    text-align:center;
    height:100%;
    box-shadow:0 10px 30px rgba(11,31,58,.06);
    transition:transform .18s ease, box-shadow .18s ease;
}
.pillar:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(11,31,58,.12);}
.pillar .icon{
    width:56px;height:56px;
    border-radius:12px;
    background:var(--navy);
    color:var(--teal);
    display:flex;align-items:center;justify-content:center;
    font-size:1.4rem;
    margin:0 auto 1.2rem;
}

/* Values / Why choose icons */
.value-item, .why-list .item{
    display:flex;
    gap:1.1rem;
    margin-bottom:1.8rem;
}
.value-item .icon, .why-list .icon{
    width:50px;height:50px;flex:0 0 50px;
    border-radius:10px;
    background:rgba(18,180,166,.12);
    color:var(--teal);
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;
}
.values-img, .why-img, .detail-img{border-radius:16px;overflow:hidden;}
.values-img img, .why-img img, .detail-img img{width:100%;display:block;}

/* Service Details (Services Page) */
.feature-list{list-style:none;padding:0;margin:0 0 1.5rem;}
.feature-list li{
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    margin-bottom:.7rem;
    color:var(--slate);
    font-size:.95rem;
}
.feature-list i{color:var(--teal);margin-top:.2rem;}
.service-icon-lg{
    width:56px;height:56px;
    border-radius:12px;
    background:var(--navy);
    color:var(--teal);
    display:flex;align-items:center;justify-content:center;
    font-size:1.5rem;
    margin-bottom:1.2rem;
}

/* Contact Page Styles */
.contact-form-card{
    background:#fff;
    border-radius:16px;
    padding:2.2rem;
    box-shadow:0 25px 60px rgba(11,31,58,.15);
}
.contact-form-card .form-control, .contact-form-card .form-select{
    border-radius:8px;
    padding:.75rem .9rem;
    border:1px solid #DDE4EA;
}
.contact-info-card{
    background:var(--navy);
    color:#fff;
    border-radius:16px;
    padding:2.2rem;
    height:100%;
}
.contact-info-item{
    display:flex;
    gap:1rem;
    align-items:flex-start;
    margin-bottom:1.6rem;
}
.contact-info-item:last-child{margin-bottom:0;}
.contact-info-item .icon{
    width:46px;height:46px;flex:0 0 46px;
    border-radius:10px;
    background:rgba(18,180,166,.18);
    color:var(--teal);
    display:flex;align-items:center;justify-content:center;
    font-size:1.15rem;
}
.contact-info-item h3{font-size:1rem;margin-bottom:.2rem; color: #fff;}
.contact-info-item p{color:#C9D4E0;font-size:.92rem;margin-bottom:0;}

.map-wrap{
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(11,31,58,.08);
}
.map-wrap iframe{width:100%;height:100%;min-height:340px;border:0;display:block;}

.accordion-item{
    border:none;
    border-radius:12px!important;
    overflow:hidden;
    margin-bottom:1rem;
    box-shadow:0 6px 20px rgba(11,31,58,.06);
}
.accordion-button{
    font-weight:600;
    color:var(--navy);
    background:#fff;
    padding:1.2rem 1.4rem;
}
.accordion-button:not(.collapsed){
    background:var(--navy);
    color:#fff;
}
.accordion-button:focus{box-shadow:none;}
.accordion-button::after{filter:none;}
.accordion-button:not(.collapsed)::after{
    filter:invert(1) brightness(2);
}
.accordion-body{
    color:var(--slate);
    padding:1.2rem 1.4rem;
    background:#fff;
}

/* Hero */
.hero{
    background:linear-gradient(180deg,var(--navy-deep) 0%, var(--navy) 100%);
    color:#fff;
    position:relative;
    overflow:hidden;
    padding:5rem 0 6rem;
}
.hero::before{
    content:"";
    position:absolute;
    top:-120px; right:-120px;
    width:420px;height:420px;
    background:radial-gradient(circle, rgba(18,180,166,.35), transparent 70%);
    border-radius:50%;
}
.hero h1{
    font-size:2.9rem;
    font-weight:700;
    line-height:1.15;
}
.hero .lead-sub{
    color:var(--teal);
    font-weight:600;
    font-size:1.15rem;
}
.hero p.desc{
    color:#C9D4E0;
    font-size:1.05rem;
    max-width:520px;
}
.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.15);
    padding:.4rem .9rem;
    border-radius:30px;
    font-size:.85rem;
    color:#C9D4E0;
    margin-bottom:1.2rem;
}
.hero-img-wrap{
    position:relative;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 30px 60px rgba(0,0,0,.35);
}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.service-pill{
    background:#fff;
    border-radius:10px;
    padding:.9rem 1rem;
    display:flex;
    align-items:center;
    gap:.7rem;
    box-shadow:0 10px 25px rgba(0,0,0,.06);
}
.service-pill i{
    font-size:1.3rem;
    color:var(--teal);
    background:rgba(18,180,166,.12);
    padding:.5rem;
    border-radius:8px;
}
.service-pill span{font-weight:600;color:var(--navy);font-size:.92rem;}

section{padding:5rem 0;}
.eyebrow{
    color:var(--teal);
    font-weight:600;
    font-size:.95rem;
}
.section-title{
    font-size:2.1rem;
    font-weight:700;
    max-width:620px;
}
.section-sub{
    color:var(--slate);
    max-width:560px;
}

/* About / stats */
.about-img, .vision-img, .why-img, .cta-img {
    border-radius:16px;
    overflow:hidden;
}
.about-img img, .vision-img img, .why-img img, .cta-img img {width:100%;display:block;}

.stats-row{
    background:#fff;
    border-radius:16px;
    box-shadow:0 15px 40px rgba(11,31,58,.08);
    padding:2.2rem 1rem;
}
.stat-block{text-align:center;}
.stat-num{
    font-family:'Space Grotesk',sans-serif;
    font-size:2.4rem;
    font-weight:700;
    color:var(--navy);
}
.stat-label{color:var(--slate);font-size:.9rem;}

/* What we do cards */
.bg-ice{background:var(--ice);}
.service-card{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(11,31,58,.06);
    height:100%;
    transition:transform .18s ease, box-shadow .18s ease;
}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(11,31,58,.12);}
.service-card img{width:100%;height:190px;object-fit:cover;}
.service-card .body{padding:1.6rem;}
.service-card .icon-badge{
    width:46px;height:46px;
    border-radius:10px;
    background:var(--navy);
    color:var(--teal);
    display:flex;align-items:center;justify-content:center;
    font-size:1.2rem;
    margin-top:-3.2rem;
    margin-left:1.6rem;
    position:relative;
    box-shadow:0 8px 18px rgba(0,0,0,.15);
}

/* Why choose */
.why-list .item, .value-item {
    display:flex;
    gap:1rem;
    margin-bottom:1.8rem;
}
.why-list .icon, .value-item .icon {
    width:48px;height:48px;flex:0 0 48px;
    border-radius:10px;
    background:rgba(18,180,166,.12);
    color:var(--teal);
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;
}
.why-img, .vision-img, .values-img, .detail-img, .cta-img {
    border-radius:16px;
    overflow:hidden;
}
.why-img img, .vision-img img, .values-img img, .detail-img img, .cta-img img {width:100%;display:block;}

/* Testimonials */
.bg-navy{background:var(--navy-deep);color:#fff;}
.bg-navy .section-sub{color:#AEBBCB;}
.testimonial-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px;
    padding:1.8rem;
    height:100%;
}
.testimonial-card p{color:#D6DEE7;font-size:.95rem;}
.testimonial-card .text-teal {
    color: var(--teal) !important;
}
.testimonial-person{display:flex;align-items:center;gap:.8rem;margin-top:1.2rem;}
.testimonial-person img{width:44px;height:44px;border-radius:50%;object-fit:cover;}
.testimonial-person .name{font-weight:600;font-size:.92rem;}
.testimonial-person .role{font-size:.8rem;color:#9FAFC2;}

/* CTA form */
.cta-section{
    background:linear-gradient(120deg,var(--navy) 0%,var(--navy-deep) 100%);
    color:#fff;
    border-radius:20px;
    overflow:hidden;
    position:relative;
}
.cta-check{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;color:#D6DEE7;}
.cta-check i{color:var(--teal);}
.cta-form, .contact-form-card{
    background:#fff;
    border-radius:14px;
    padding:2rem;
    color:var(--navy);
}
.cta-form .form-control, .cta-form .form-select, .contact-form-card .form-control, .contact-form-card .form-select{
    border-radius:8px;
    padding:.7rem .9rem;
    border:1px solid #DDE4EA;
}

footer{
    background:var(--navy-deep);
    color:#AEBBCB;
    padding:4rem 0 1.5rem;
}
footer h5{color:#fff;font-family:'Space Grotesk',sans-serif;}
footer a{color:#AEBBCB;}
footer a:hover{color:var(--teal);}
footer .disclaimer{
    font-size:.82rem;
    color:#7C8CA0;
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:1.5rem;
    margin-top:2.5rem;
}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:1.2rem;
    margin-top:1.5rem;
    font-size:.85rem;
}

@media (max-width:991px){
    .contact-wrap{margin-top:2rem;}
}
@media (max-width:767px){
    .hero h1, .page-header h1{font-size:2.1rem;}
    .section-title{font-size:1.6rem;}
    .hero-photo-strip img{height:220px;}
}
