:root{--primary:#087f8c;--dark:#12343b;--soft:#eef9f8;--text:#365057;--white:#fff;--shadow:0 18px 50px rgba(11,67,74,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text);line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}.container{width:min(1120px,92%);margin:auto}
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid #e6efef}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--dark)}.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:50%}.brand-text b{display:block;color:var(--primary)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--primary);color:#fff;font-weight:800}.nav nav{display:flex;gap:25px;font-weight:600;font-size:14px}.nav nav a:hover{color:var(--primary)}.menu{display:none;border:0;background:none;font-size:26px}
.hero{background:linear-gradient(135deg,#f2fbfa 0%,#fff 60%);padding:90px 0}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.eyebrow{color:var(--primary);font-weight:800;font-size:12px;letter-spacing:2px}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.08;color:var(--dark);margin:14px 0 22px}.hero h1 span{color:var(--primary)}.hero p{font-size:19px;max-width:700px}.actions{display:flex;gap:12px;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:10px;font-weight:800;border:1px solid transparent}.btn.primary{background:var(--primary);color:#fff}.btn.light{background:#fff;border-color:#cfe3e4;color:var(--dark)}.trust{font-size:13px;display:flex;gap:15px;flex-wrap:wrap}.trust span{color:var(--primary);font-weight:800}.hero-card{background:var(--dark);color:#fff;border-radius:28px;padding:36px;box-shadow:var(--shadow)}.hero-card .pulse{font-size:48px;color:#6ee7dc}.hero-card h3{font-size:28px;margin:8px 0}.hero-card p{font-size:15px}.hero-card a{color:#76e4db;font-weight:800}
.stats{background:var(--dark);color:#fff}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 0}.stat-grid div{padding:8px 24px;border-right:1px solid rgba(255,255,255,.15)}.stat-grid div:last-child{border:0}.stat-grid strong{display:block;font-size:28px}.stat-grid span{opacity:.7;font-size:13px}
.section{padding:90px 0}.section.alt{background:var(--soft)}.section-head{text-align:center;max-width:720px;margin:0 auto 42px}.section-head h2,.about h2,.contact h2{font-size:42px;line-height:1.15;color:var(--dark);margin:10px 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;padding:25px;border:1px solid #e5eeee;border-radius:18px;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.icon{width:42px;height:42px;border-radius:12px;background:#e4f7f5;color:var(--primary);display:grid;place-items:center;font-size:20px}.card h3{font-size:17px;color:var(--dark);margin:15px 0 6px}.card p{font-size:13px;margin:0;color:#6a7c80}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-list div{background:#fff;padding:15px 18px;border-radius:12px;border:1px solid #e0eded;font-weight:650;color:var(--dark)}.service-list div::first-letter{color:var(--primary)}
.about{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}.about p{font-size:17px}.about-box{background:var(--dark);color:#fff;padding:35px;border-radius:25px}.about-box h3{font-size:26px}.about-box li{margin:12px 0}.faq{max-width:850px;margin:auto}.faq details{background:#fff;border:1px solid #dceaea;border-radius:12px;margin:10px 0;padding:0 20px;transition:.2s}.faq details[open]{box-shadow:0 10px 30px rgba(11,67,74,.08)}.faq summary{cursor:pointer;padding:18px 0;font-weight:800;color:var(--dark)}.faq p{margin:0 0 18px}
.contact{background:#f0faf9;padding:90px 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.contact-item{display:grid;grid-template-columns:90px 1fr;gap:12px;margin:18px 0}.contact-item b{color:var(--dark)}.contact-item a{color:var(--primary);font-weight:700}.map-card{background:var(--dark);color:#fff;border-radius:25px;padding:35px;min-height:240px;display:flex;flex-direction:column;justify-content:center}.map-card h3{font-size:30px;margin:0}.map-card .btn{align-self:flex-start;margin-top:20px}
footer{background:#0c252b;color:#c4d2d4;padding:45px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-brand{color:#fff}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.1);padding:18px;margin-top:35px;font-size:12px}.floating-wa{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#18b77a;color:#fff;display:grid;place-items:center;font-size:30px;box-shadow:0 10px 25px rgba(0,0,0,.2);z-index:30}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.hero-grid,.about,.contact-grid{grid-template-columns:1fr}.hero{padding:65px 0}.service-list{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-grid div:nth-child(2){border-right:0}.nav nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:18px 4%;flex-direction:column;gap:12px;border-bottom:1px solid #e6efef}.nav nav.open{display:flex}.menu{display:block}}
@media(max-width:600px){.brand-logo{width:48px;height:48px}.brand-text{font-size:12px}.hero h1{font-size:43px}.section{padding:65px 0}.section-head h2,.about h2,.contact h2{font-size:34px}.cards,.service-list{grid-template-columns:1fr}.stat-grid strong{font-size:23px}.stat-grid div{padding:8px 14px}.contact-item{grid-template-columns:1fr}.actions{flex-direction:column}.btn{width:100%}.footer-grid{grid-template-columns:1fr}.brand{font-size:13px}}

/* Rich service imagery and descriptions */
.service-card{background:#fff;border:1px solid #e2eeee;border-radius:20px;overflow:hidden;box-shadow:0 8px 25px rgba(11,67,74,.05);transition:.25s}
.service-card:hover,.popular-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(11,67,74,.12)}
.service-card img{display:block;width:100%;height:170px;object-fit:cover}
.service-body{padding:20px}.service-body h3{color:var(--dark);font-size:18px;margin:0 0 7px}.service-body p{font-size:14px;margin:0 0 14px;color:#617477}.service-body a,.popular-card a{font-size:13px;color:var(--primary);font-weight:800}
.popular-card{display:grid;grid-template-columns:145px 1fr;background:#fff;border:1px solid #e0eded;border-radius:18px;overflow:hidden;transition:.25s}
.popular-card img{width:145px;height:100%;min-height:170px;object-fit:cover}
.popular-card>div{padding:19px}.popular-card h3{font-size:17px;color:var(--dark);margin:0 0 6px}.popular-card p{font-size:13px;margin:0 0 12px;color:#65777a}
@media(max-width:900px){.popular-card{grid-template-columns:120px 1fr}.popular-card img{width:120px;min-height:155px}}
@media(max-width:600px){.service-card img{height:180px}.popular-card{grid-template-columns:100px 1fr}.popular-card img{width:100px;min-height:145px}}

/* Popular Services: prevent clipping and make every item fully readable */
.service-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.popular-card{display:grid;grid-template-columns:150px minmax(0,1fr);min-width:0;height:100%;overflow:hidden}
.popular-card img{width:150px;height:100%;min-height:185px;object-fit:cover}
.popular-content{min-width:0;padding:22px 22px 20px}
.popular-card h3{line-height:1.35;overflow-wrap:anywhere;word-break:normal}
.popular-card p{line-height:1.55;overflow-wrap:anywhere}
.popular-card a{display:inline-block;white-space:normal}
@media(max-width:900px){
 .service-list{grid-template-columns:1fr}
 .popular-card{grid-template-columns:145px minmax(0,1fr)}
 .popular-card img{width:145px;min-height:175px}
}
@media(max-width:600px){
 .popular-card{grid-template-columns:95px minmax(0,1fr)}
 .popular-card img{width:95px;min-height:155px}
 .popular-content{padding:16px}
 .popular-card h3{font-size:16px}
 .popular-card p{font-size:13px}
}

/* FINAL POPULAR SERVICES FIX
   Image is placed above the text so long titles/descriptions never get squeezed
   into a narrow left/right column. */
.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.popular-card{display:flex;flex-direction:column;min-width:0;width:100%;height:100%;background:#fff;border:1px solid #dfeaea;border-radius:20px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.popular-card img{display:block;width:100%;height:170px;min-height:170px;object-fit:cover;flex:0 0 170px}
.popular-content{display:flex;flex-direction:column;min-width:0;width:100%;padding:20px 21px 22px;flex:1}
.popular-card h3{margin:0 0 9px;color:var(--dark);font-size:18px;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:normal}
.popular-card p{margin:0 0 15px;color:#65777a;font-size:14px;line-height:1.6;white-space:normal;overflow:visible;overflow-wrap:anywhere}
.popular-card a{margin-top:auto;display:inline-block;color:var(--primary);font-size:13px;font-weight:800;white-space:normal}
.popular-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(11,67,74,.12)}
@media(max-width:1000px){.service-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-list{grid-template-columns:1fr}.popular-card img{height:190px;min-height:190px}.popular-content{padding:19px}.popular-card h3{font-size:17px}}

/* FINAL SERVICES DESCRIPTION FIX: every service has its own specific description */
.cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.service-card{display:flex;flex-direction:column;height:100%;min-width:0}
.service-card img{width:100%;height:175px;min-height:175px;object-fit:cover}
.service-body{display:flex;flex-direction:column;flex:1;min-width:0}
.service-body h3{line-height:1.35;overflow-wrap:anywhere}
.service-body p{line-height:1.6;overflow-wrap:anywhere}
.service-body a{margin-top:auto}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cards{grid-template-columns:1fr}.service-card img{height:190px;min-height:190px}}

.developer-credit{display:inline-block;margin-top:5px;font-weight:700;letter-spacing:.2px}
