:root{
    --gdcs:#0c879e;
    --gdcs-dark:#076d80;
    --gdcs-deep:#075766;
    --gdcs-red:#d83232;
    --gdcs-gray:#6f7172;
    --ink:#1c2a30;
    --soft:#f3f8f9;
}
*{box-sizing:border-box}
body{font-family:"Open Sans",sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,h4,h5,h6,.navbar-brand,.display-title{font-family:"Montserrat",sans-serif}
.topbar{background:#075766;color:#fff;font-size:.78rem;padding:.48rem 0}
.gdcs-nav{background:rgba(7,87,102,.98);box-shadow:0 4px 18px rgba(0,0,0,.12)}
.brand-logo{width:54px;height:54px;object-fit:contain;border-radius:0;background:transparent;border:0}
.navbar-brand span{line-height:1;display:flex;flex-direction:column}
.navbar-brand strong{font-size:1.45rem;letter-spacing:.08em}
.navbar-brand small{font-size:.58rem;opacity:.8;margin-top:4px}
.nav-link{font-weight:600;font-size:.88rem}
.nav-link.active,.nav-link:hover{color:#fff!important}
.btn-gdcs{background:var(--gdcs);border:1px solid var(--gdcs);color:#fff;font-weight:700}
.btn-gdcs:hover{background:#fff;color:var(--gdcs);border-color:#fff}
.btn-outline-gdcs{border:2px solid var(--gdcs);color:var(--gdcs);font-weight:700}
.btn-outline-gdcs:hover{background:var(--gdcs);color:#fff}
.hero{min-height:78vh;background:linear-gradient(90deg,rgba(5,44,52,.82),rgba(7,87,102,.42)),url("../images/hero.jpg") center/cover;display:flex;align-items:center;position:relative}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(transparent,#fff)}
.hero-content{position:relative;z-index:1;color:#fff;max-width:820px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}
.eyebrow:before{content:"";width:38px;height:3px;background:var(--gdcs)}
.hero h1{font-size:clamp(2.6rem,6vw,5.4rem);font-weight:800;line-height:.98;margin:18px 0}
.hero h1 span{color:#53c6d7}
.hero p{font-size:1.08rem;max-width:680px;line-height:1.8}
.section{padding:90px 0}
.section-sm{padding:55px 0}
.section-title{font-weight:800;color:var(--gdcs-deep)}
.section-title span{color:var(--gdcs)}
.lead{line-height:1.8}
.line-accent{width:70px;height:4px;background:var(--gdcs);margin:18px 0 28px}
.service-card{height:100%;padding:30px;border:1px solid #e0eaec;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(0,50,60,.07);transition:.25s}
.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 42px rgba(0,50,60,.13);border-color:#b9e1e7}
.service-icon{width:58px;height:58px;border-radius:16px;background:#e8f7f9;color:var(--gdcs);display:grid;place-items:center;font-size:1.5rem;margin-bottom:22px}
.service-card h3{font-size:1.1rem;font-weight:800}
.service-card p{color:#637177;line-height:1.7;font-size:.92rem}
.profile-panel{background:var(--soft);border-radius:28px;padding:44px}
.stats-strip{background:var(--gdcs-deep);color:#fff}
.stat{padding:28px;text-align:center;border-right:1px solid rgba(255,255,255,.15)}
.stat:last-child{border:0}
.stat strong{display:block;font-family:Montserrat;font-size:2.1rem}
.stat span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8}
.image-card{border-radius:22px;overflow:hidden;position:relative;background:#ddd;min-height:330px}
.image-card img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}
.image-card:hover img{transform:scale(1.04)}
.image-overlay{position:absolute;inset:auto 0 0;padding:26px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff}
.page-hero{padding:95px 0;background:linear-gradient(90deg,rgba(5,87,102,.88),rgba(12,135,158,.52)),url("../images/vision.jpg") center/cover;color:#fff}
.page-hero h1{font-size:clamp(2.3rem,5vw,4rem);font-weight:800}
.breadcrumb-item,.breadcrumb-item a{color:rgba(255,255,255,.8)}
.breadcrumb-item.active{color:#fff}
.check-list{list-style:none;padding:0}
.check-list li{margin:12px 0;padding-left:30px;position:relative;line-height:1.6}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--gdcs);font-weight:900}
.value-box{border-top:4px solid var(--gdcs);padding:28px;background:#fff;box-shadow:0 10px 35px rgba(0,50,60,.07);height:100%}
.value-box h3{font-size:1.25rem;font-weight:800;color:var(--gdcs)}
.red-word{color:var(--gdcs-red);font-weight:800}
.project-card{border:0;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(0,50,60,.09);height:100%}
.project-card img{height:245px;width:100%;object-fit:cover}
.project-card .card-body{padding:24px}
.badge-gdcs{background:#e4f5f7;color:var(--gdcs-deep);font-weight:700}
.contact-card{background:#fff;border:1px solid #e2ecee;border-radius:18px;padding:25px}
.contact-icon{color:var(--gdcs);font-size:1.5rem}
.form-control,.form-select{padding:.85rem 1rem;border-radius:10px;border:1px solid #d5e2e5}
.form-control:focus,.form-select:focus{border-color:var(--gdcs);box-shadow:0 0 0 .2rem rgba(12,135,158,.12)}
.footer{background:#062f38;color:#d6e5e8;padding:65px 0 28px;margin-top:40px}
.footer-brand{font-family:Montserrat;font-size:2rem;font-weight:800;color:#fff;margin-bottom:15px}
.footer-brand span{color:#4bc0d0}
.footer h6{color:#fff;text-transform:uppercase;letter-spacing:.1em}
.footer a{display:block;color:#d6e5e8;text-decoration:none;margin:8px 0}
.footer a:hover{color:#fff}
.floating-cta{position:fixed;right:22px;bottom:22px;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:#16a05d;color:#fff;font-size:1.55rem;z-index:1000;box-shadow:0 10px 25px rgba(0,0,0,.22);text-decoration:none}
.gallery-img{height:290px;width:100%;object-fit:cover;border-radius:18px}
.quote-box{background:linear-gradient(135deg,#eaf8fa,#fff);border:1px solid #cde9ed;border-radius:25px;padding:40px}
.timeline{border-left:3px solid #c9e7eb;margin-left:12px;padding-left:28px}
.timeline-item{position:relative;margin-bottom:28px}
.timeline-item:before{content:"";position:absolute;left:-39px;top:6px;width:17px;height:17px;border-radius:50%;background:var(--gdcs);border:4px solid #fff;box-shadow:0 0 0 2px #bfe0e5}
.developer-hero{background:linear-gradient(135deg,#f3f8f9 0%,#fff 58%,#e6f5f7 100%)}
.developer-photo-frame{position:relative;width:min(100%,360px);aspect-ratio:4/5;padding:10px;border:1px solid #cde9ed;border-radius:28px;background:#fff;box-shadow:0 24px 55px rgba(0,50,60,.16);overflow:hidden}
.developer-avatar{position:relative;z-index:1;display:block;width:100%;height:100%;border-radius:20px;object-fit:cover;object-position:center 26%;background:#dcecef}
.developer-avatar-glow{position:absolute;inset:auto 12% -22% 12%;height:42%;border-radius:50%;background:rgba(12,135,158,.2);filter:blur(28px)}
.developer-cv-button{border-radius:10px}
@media(max-width:767px){
    .topbar{display:none}.hero{min-height:75vh}.section{padding:65px 0}
    .stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.developer-photo-frame{width:min(100%,300px)}
    .profile-panel{padding:28px}.page-hero{padding:65px 0}
}
