:root {
    --navy: #0b3f67;
    --blue: #087ea4;
    --cyan: #53bdcc;
    --green: #63b52f;
    --orange: #e38a45;
    --ink: #17212b;
    --muted: #64717d;
    --soft: #f4f8fa;
    --white: #fff;
    --line: #dce7ec;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:"Inter",sans-serif; color:var(--ink); line-height:1.75; background:#fff; }
a { text-decoration:none; }
.topbar { background:#0a3556; color:#eaf5f8; font-size:12px; padding:8px 0; }
.topbar a { color:#fff; }
.topbar i { color:#70cad7; margin-right:5px; }
.divider { margin:0 10px; opacity:.5; }
.main-nav { box-shadow:0 4px 22px rgba(11,63,103,.08); }
.navbar-brand img { width:58px; height:50px; object-fit:contain; }
.navbar-brand span { color:var(--navy); font-size:15px; font-weight:800; letter-spacing:.5px; }
.navbar-brand small { display:block; font-size:7px; letter-spacing:.7px; color:#61717e; margin-top:-2px; }
.nav-link { color:#344858 !important; font-size:13px; font-weight:600; padding:.7rem .75rem !important; }
.nav-link:hover,.nav-link.active { color:var(--blue) !important; }
.btn-primary-custom { background:var(--navy); color:#fff; border:1px solid var(--navy); border-radius:3px; padding:11px 21px; font-weight:600; }
.btn-primary-custom:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
.btn-outline-primary { border-color:var(--navy); color:var(--navy); border-radius:3px; padding:11px 21px; font-weight:600; }
.btn-outline-primary:hover { background:var(--navy); color:#fff; }
.hero { position:relative; overflow:hidden; padding:100px 0 95px; background:linear-gradient(115deg,#f7fbfc 0%,#fff 58%,#eef8fa 100%); }
.hero:after { content:""; position:absolute; width:500px;height:500px;border-radius:50%;right:-200px;top:-180px;background:rgba(83,189,204,.12); }
.hero > .container { position:relative; z-index:2; }
.hero-badge,.eyebrow { color:var(--blue); font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase; }
.hero-badge span { display:inline-block; width:28px;height:2px;background:var(--orange);vertical-align:middle;margin-right:8px; }
.hero h1,h2 { font-family:"Playfair Display",serif; color:var(--navy); line-height:1.1; }
.hero h1 { font-size:clamp(46px,6vw,78px); margin:18px 0; max-width:750px; }
.hero h1 em,h2 em { color:var(--blue); font-style:normal; }
.hero-copy { max-width:680px; color:#566775; font-size:16px; }
.hero-points { display:flex;flex-wrap:wrap;gap:22px;margin-top:30px;color:#425766;font-size:12px;font-weight:600; }
.hero-points i { color:var(--green);margin-right:5px; }
.hero-visual { position:relative; padding:18px 18px 0 0; }
.team-photo { width:100%;height:460px;object-fit:cover;border-radius:4px 60px 4px 60px;box-shadow:0 20px 50px rgba(9,47,74,.18); }
.cert-badge { position:absolute;right:-8px;top:-25px;background:#fff;padding:8px;border-radius:50%;box-shadow:0 12px 30px rgba(0,0,0,.12); }
.cert-badge img { width:100px;height:100px;object-fit:contain; }
.visual-card { position:absolute;bottom:18px;left:-28px;background:#fff;padding:16px 25px;border-left:5px solid var(--green);box-shadow:0 12px 30px rgba(0,0,0,.12); }
.visual-card strong { display:block;color:var(--navy);font-family:"Playfair Display";font-size:21px; }
.visual-card span { color:#6c7882;font-size:11px; }
.section { padding:105px 0; }
.about-section { background:#fff; }
.team-section { background:var(--soft); }
.section-intro { max-width:780px; }
.section-intro.center { margin:0 auto;text-align:center; }
.section-intro h2 { font-size:clamp(38px,4.5vw,58px); margin:12px 0 15px; }
.section-intro p { color:var(--muted); }
.rounded-img { width:100%; max-height:430px; object-fit:cover; border-radius:4px 55px 4px 55px; box-shadow:0 15px 35px rgba(11,63,103,.12); }
.rounded-img.tall { max-height:540px; }
.about-section h3 { font-family:"Playfair Display";color:var(--navy);font-size:28px; }
.about-section p,.team-section p,.why-section p { color:var(--muted); }
.quote-line { border-left:3px solid var(--orange); padding-left:18px; margin-top:25px; color:var(--navy); font-weight:600; }
.check-list { list-style:none;padding:0;margin-top:24px; }
.check-list li { margin:10px 0;color:#405463;font-size:14px; }
.check-list li:before { content:"✓"; color:var(--green);font-weight:800;margin-right:10px; }
.services-section { background:#f7fafb; }
.service-card { background:#fff;border:1px solid var(--line);height:100%;padding:30px;transition:.25s;position:relative;overflow:hidden; }
.service-card:before { content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--blue);transform:scaleY(0);transform-origin:bottom;transition:.25s; }
.service-card:hover { transform:translateY(-5px);box-shadow:0 18px 35px rgba(11,63,103,.1);border-color:#c4dce4; }
.service-card:hover:before { transform:scaleY(1); }
.service-card i { color:var(--blue);font-size:30px; }
.service-card h3 { color:var(--navy);font-family:"Playfair Display";font-size:24px;margin:18px 0 8px; }
.service-card p { color:var(--muted);font-size:13px;margin:0; }
.vision-section { background:#fff; }
.info-card { height:100%;padding:35px;border:1px solid #dbe3e7;position:relative; }
.info-card:before { content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--blue); }
.info-card.vision:before { background:var(--orange); }
.info-card.mission:before { background:var(--cyan); }
.info-card.values:before { background:#8570b3; }
.info-card span { display:block;font-family:"Playfair Display";font-size:27px;color:var(--navy);margin-bottom:18px; }
.info-card p,.info-card li { color:var(--muted);font-size:14px; }
.info-card ul { padding-left:18px; }
.why-section { background:var(--soft); }
.strength-lead { color:var(--orange) !important;font-size:18px;font-weight:700; }
.benefits { display:grid;gap:14px; }
.benefits > div { background:#fff;border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:40px 1fr;column-gap:10px; }
.benefits b { color:var(--blue);grid-row:span 2;font-size:12px; }
.benefits strong { color:var(--navy); }
.benefits p { grid-column:2;margin:4px 0 0;font-size:12px; }
.contact-section { background:var(--navy);color:#fff;padding:90px 0; }
.contact-box { display:flex;justify-content:space-between;align-items:center;gap:50px; }
.contact-section .eyebrow { color:#8bd7df; }
.contact-section h2 { color:#fff;font-size:clamp(40px,5vw,62px);margin:12px 0; }
.contact-section h2 em { color:#74cfda; }
.contact-section p { color:#c9d9e2;max-width:650px; }
.contact-details { display:flex;flex-wrap:wrap;gap:28px;margin-top:28px; }
.contact-details a,.contact-details div { display:flex;align-items:center;gap:12px;color:#fff; }
.contact-details i { color:#77d0d9;font-size:20px; }
.contact-details small { display:block;color:#9eb2bd;font-size:10px;text-transform:uppercase;letter-spacing:1px; }
.contact-details span { font-size:13px; }
.contact-actions { display:flex;flex-direction:column;gap:12px;min-width:210px; }
.contact-actions .btn-light { color:var(--navy);font-weight:700;border-radius:3px; }
.contact-actions .btn-outline-light { border-radius:3px;font-weight:600; }
footer { background:#062c49;color:#b7cad4;padding:28px 0;font-size:11px; }
footer strong { color:#fff; }
footer span { color:#7fa0b0; }
.footer-credit { display:flex; flex-direction:column; align-items:flex-end; gap:7px; text-align:right; }
.footer-developed { display:flex; align-items:center; gap:6px; color:#9fb7c3 !important; }
.footer-developed a { display:inline-flex; align-items:center; text-decoration:none; }
.ewebsoft-footer-logo { width:155px; height:auto; display:block; transition:opacity .2s ease, transform .2s ease; }
.footer-developed a:hover .ewebsoft-footer-logo { opacity:.88; transform:translateY(-1px); }
@media (max-width: 767px) {
    .footer-credit { align-items:center; text-align:center; }
}

.floating-call { position:fixed;right:20px;bottom:90px;width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 10px 25px rgba(0,0,0,.2);z-index:1000;font-size:20px; }
@media (max-width: 991px) {
    .hero { padding-top:70px; }
    .navbar-brand span { font-size:12px; }
    .hero-visual { margin-top:20px; }
    .contact-box { flex-direction:column;align-items:flex-start; }
    .contact-actions { flex-direction:row;flex-wrap:wrap; }
}
@media (max-width: 575px) {
    .topbar .container { justify-content:center !important; }
    .topbar .divider { display:none; }
    .hero { padding:60px 0 70px; }
    .hero h1 { font-size:46px; }
    .hero-points { display:grid;gap:8px; }
    .team-photo { height:380px;border-radius:4px 40px 4px 40px; }
    .cert-badge img { width:75px;height:75px; }
    .visual-card { left:10px;bottom:10px; }
    .section { padding:75px 0; }
    .contact-details { display:grid; }
}
