:root {
    --blue: #2383cf;
    --blue-dark: #075a9d;
    --blue-deep: #063d70;
    --blue-light: #eaf5fd;
    --ink: #10253d;
    --muted: #68788b;
    --white: #ffffff;
    --line: #e4ebf2;
    --radius: 24px;
    --shadow: 0 24px 70px rgba(8, 64, 111, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: "DM Sans", sans-serif;
    color: var(--ink);
    background: #fff;
    line-height: 1.6;
    overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.container { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }

.site-header {
    position: fixed; inset: 0 0 auto; z-index: 1000;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(228,235,242,.8);
    transition: box-shadow .3s ease;
}
.site-header.scrolled { box-shadow: 0 10px 35px rgba(16,37,61,.08); }

.nav-wrap { height: 86px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-family: Manrope, sans-serif; font-size: 15px; line-height: 1.05; }
.brand img { width: 48px; height: 48px; object-fit: contain; border-radius: 50%; }
.brand strong { color: var(--blue); font-weight: 800; }
.main-nav { display: flex; align-items: center; gap: 34px; font-size: 14px; font-weight: 600; }
.main-nav a { position: relative; color: #3d5268; transition: color .25s; }
.main-nav a:hover, .main-nav a.active { color: var(--blue); }
.main-nav a:not(.nav-cta)::after { content:""; position:absolute; left:0; bottom:-8px; width:0; height:2px; background:var(--blue); transition:width .25s; }
.main-nav a:not(.nav-cta):hover::after, .main-nav a.active:not(.nav-cta)::after { width:100%; }
.nav-cta { padding: 12px 20px; border-radius: 100px; background: var(--blue); color: #fff !important; box-shadow: 0 10px 22px rgba(35,131,207,.22); }

.menu-toggle { display:none; border:0; background:none; padding:8px; cursor:pointer; }
.menu-toggle span { display:block; width:26px; height:2px; background:var(--ink); margin:5px; transition:.25s; }

.hero { position:relative; padding: 165px 0 105px; background: linear-gradient(120deg,#f8fcff 0%,#fff 62%); overflow:hidden; }
.hero-grid { display:grid; grid-template-columns: 1fr 1fr; align-items:center; gap:70px; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:20px; }
.eyebrow span { width:30px; height:2px; background:var(--blue); display:block; }
.eyebrow.light { color:#a9d9f7; }
.eyebrow.light span { background:#70c4f1; }
h1,h2,h3,h4 { font-family:Manrope,sans-serif; margin:0; line-height:1.12; }
h1 { font-size: clamp(48px,6vw,76px); letter-spacing:-.055em; max-width:700px; }
h1 em,h2 em { color:var(--blue); font-style:normal; }
.hero-text { color:var(--muted); font-size:17px; max-width:610px; margin:26px 0 30px; }
.hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:17px; border:0; border-radius:100px; padding:15px 22px; font-weight:700; cursor:pointer; transition:.25s ease; }
.btn span { font-size:19px; }
.btn-primary { color:#fff; background:var(--blue); box-shadow:0 14px 28px rgba(35,131,207,.25); }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 18px 34px rgba(35,131,207,.3); }
.btn-link { color:var(--ink); padding-left:0; }
.btn-link:hover { color:var(--blue); }
.hero-proof { display:flex; align-items:center; gap:14px; margin-top:48px; color:var(--muted); font-size:12px; }
.hero-proof strong { color:var(--ink); }
.avatars { display:flex; padding-left:10px; }
.avatars span { width:35px; height:35px; border:2px solid white; border-radius:50%; margin-left:-10px; display:grid; place-items:center; color:#fff; background:var(--blue); font-size:9px; font-weight:800; }
.avatars span:nth-child(2){background:#1671b5}.avatars span:nth-child(3){background:#075a9d}.avatars span:nth-child(4){background:#9ed6f5;color:#075a9d}

.hero-visual { position:relative; min-height:520px; display:flex; align-items:center; justify-content:center; }
.main-photo { width:78%; height:470px; border-radius: 190px 190px 30px 30px; overflow:hidden; box-shadow:var(--shadow); transform:rotate(3deg); position:relative; z-index:2; }
.main-photo img { width:100%; height:100%; object-fit:cover; }
.floating-card { position:absolute; z-index:5; bottom:52px; left:2%; display:flex; align-items:center; gap:12px; padding:15px 18px; border-radius:15px; background:#fff; box-shadow:0 18px 45px rgba(8,64,111,.18); }
.floating-card strong,.floating-card small {display:block}.floating-card strong{font-size:13px}.floating-card small{color:var(--muted);font-size:10px;margin-top:2px}
.floating-icon { width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf8ff;color:var(--blue);font-weight:800; }
.blue-orbit { position:absolute; right:2%; top:3%; width:180px; height:180px; border-radius:50%; background:linear-gradient(135deg,#2383cf,#075a9d); opacity:.95; z-index:1; }
.blue-orbit:after { content:""; position:absolute; inset:22px; border:18px solid white; border-radius:50%; opacity:.85; }
.hero-shape { position:absolute; border-radius:50%; background:var(--blue-light); }
.hero-shape-a { width:260px;height:260px;right:-130px;top:90px }.hero-shape-b{width:100px;height:100px;left:-45px;bottom:80px;background:#dff2fd}

.trust-bar { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:23px 0; }
.trust-grid { display:flex; justify-content:space-between; gap:20px; color:#91a1b0; font-size:11px; font-weight:800; letter-spacing:.18em; }

.section { padding:125px 0; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.image-stack { position:relative; width:88%; min-height:500px; }
.image-main { width:88%; height:500px; object-fit:cover; border-radius:28px; box-shadow:var(--shadow); }
.image-accent { position:absolute; width:150px;height:150px; right:0;bottom:-15px; background:linear-gradient(135deg,var(--blue),#075a9d); border-radius:50% 50% 10% 50%; }
.mini-stat { position:absolute; right:35px; bottom:35px; background:#fff; border-radius:18px; padding:18px 22px; box-shadow:var(--shadow); display:flex; align-items:center; gap:12px; }
.mini-stat strong { font:800 30px Manrope; color:var(--blue); }.mini-stat span{font-size:10px;color:var(--muted);line-height:1.3}
.section-copy h2,.section-heading h2 { font-size:clamp(36px,4vw,53px); letter-spacing:-.045em; }
.section-copy > p { color:var(--muted); margin:22px 0 0; max-width:580px; }
.check-list { margin-top:28px; display:grid; gap:12px; font-weight:600; font-size:14px; }
.check-list span { display:inline-grid; place-items:center; width:23px;height:23px;border-radius:50%;background:#eaf6fe;color:var(--blue);margin-right:8px;font-size:11px; }

.services { background:#f6fbfe; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:60px; margin-bottom:55px; }
.section-heading > p { max-width:390px; color:var(--muted); margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card { position:relative; min-height:340px; padding:35px; background:#fff; border:1px solid #e4eef5; border-radius:24px; overflow:hidden; transition:.3s ease; }
.service-card:hover { transform:translateY(-7px); box-shadow:var(--shadow); }
.service-card.featured { background:var(--blue); color:#fff; border-color:var(--blue); }
.service-card.featured p,.service-card.featured a { color:#dceffc; }
.service-number { position:absolute; right:28px;top:26px;font:700 12px Manrope;color:#a9b7c4 }.featured .service-number{color:#9ed6f5}
.service-icon { width:56px;height:56px;border-radius:18px;background:#eaf6fe;color:var(--blue);display:grid;place-items:center;font-size:26px;margin-bottom:40px}.featured .service-icon{background:rgba(255,255,255,.14);color:#fff}
.service-card h3 { font-size:25px; margin-bottom:15px; }
.service-card p { color:var(--muted); font-size:14px; min-height:88px; }
.service-card a { color:var(--blue); font-size:13px; font-weight:800; }
.service-card a span { margin-left:8px; }

.advantages { background:var(--blue-deep); color:#fff; position:relative; overflow:hidden; }
.advantages:before { content:""; position:absolute;width:600px;height:600px;border:100px solid rgba(255,255,255,.035);border-radius:50%;right:-300px;top:-250px; }
.advantages-intro { max-width:680px; margin-bottom:65px; }
.advantages h2 { font-size:clamp(38px,4vw,55px); letter-spacing:-.045em; }
.advantages-intro p { color:#b7cede; max-width:580px; margin-top:22px; }
.advantage-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.advantage { padding:28px 22px 8px 0; border-top:1px solid rgba(255,255,255,.2); }
.big-icon { font:800 12px Manrope;color:#75c8f3;letter-spacing:.1em; }
.advantage h3 { font-size:20px;margin:25px 0 12px; }.advantage p{color:#b7cede;font-size:13px}

.numbers { background:var(--blue); color:#fff; padding:65px 0; }
.numbers-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.number-item { text-align:center; border-right:1px solid rgba(255,255,255,.22); }.number-item:last-child{border:0}
.number-item strong { display:block;font:800 clamp(42px,5vw,60px) Manrope;letter-spacing:-.06em }.number-item strong:after{content:"+"}
.number-item:nth-child(2) strong:after{content:""} .number-item span{font-size:12px;color:#d9effd}

.industries-grid { gap:100px; }
.tag-list { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.tag-list span { padding:9px 13px; border-radius:100px; background:#f0f7fc; color:#456178; font-size:12px; font-weight:700; }
.industry-photo { position:relative; }
.industry-photo img { height:470px; width:100%; object-fit:cover; border-radius:30px; box-shadow:var(--shadow); }
.photo-note { position:absolute; left:-35px; bottom:30px;background:#fff;border-radius:17px;padding:17px 22px;box-shadow:var(--shadow); }.photo-note strong,.photo-note span{display:block}.photo-note strong{color:var(--blue);font:800 20px Manrope}.photo-note span{font-size:11px;color:var(--muted)}

.cta-section { background:linear-gradient(135deg,#075a9d,#2383cf); color:#fff; position:relative; overflow:hidden; }
.cta-shape { position:absolute; width:700px;height:700px;border:110px solid rgba(255,255,255,.055);border-radius:50%;right:-320px;top:-260px; }
.cta-inner { padding:110px 0; display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;position:relative;z-index:1; }
.cta-inner h2 { font-size:clamp(42px,5vw,63px);letter-spacing:-.055em }.cta-inner h2 em{color:#a9ddfa}.cta-inner > div > p{color:#d5edfb;max-width:490px;margin-top:23px}
.contact-form { background:#fff;border-radius:25px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:12px;box-shadow:0 25px 70px rgba(0,0,0,.18); }
.contact-form input,.contact-form textarea { border:1px solid #dfe9f0;border-radius:12px;padding:14px 15px;outline:none;color:var(--ink);transition:.2s;resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--blue);box-shadow:0 0 0 3px #eaf6fe; }.contact-form textarea{grid-column:1/-1}.contact-form .btn{grid-column:1/-1;justify-self:start}.btn-white{background:var(--blue);color:#fff}.form-message{grid-column:1/-1;font-size:12px;color:var(--blue);min-height:17px}

.footer { background:#071f35;color:#b4c7d6; padding:65px 0 20px; }
.footer-top { display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:80px;padding-bottom:55px; }
.footer-brand .brand{color:#fff}.footer-brand p{font-size:13px;max-width:290px;margin-top:22px}.footer-links{display:flex;flex-direction:column;gap:9px;font-size:12px}.footer-links h4{font-size:13px;color:#fff;margin-bottom:10px}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;display:flex;justify-content:space-between;font-size:10px}.footer-bottom a{color:#fff}

.reveal { opacity:0; transform:translateY(25px); transition:opacity .7s ease, transform .7s ease; }.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
    .main-nav{gap:18px}.hero-grid,.two-col,.cta-inner{grid-template-columns:1fr;gap:55px}
    .hero{padding-top:135px}.hero-visual{min-height:430px}.main-photo{height:400px}
    .section-heading{align-items:start;flex-direction:column;gap:20px}.service-grid{grid-template-columns:1fr 1fr}
    .advantage-grid{grid-template-columns:1fr 1fr}.numbers-grid{grid-template-columns:1fr 1fr;gap:35px}.number-item:nth-child(2){border:0}
    .footer-top{grid-template-columns:1.5fr 1fr;gap:45px}.footer-links:last-child{grid-column:1/-1}
}
@media(max-width:700px){
    .container{width:min(100% - 32px,1160px)}.nav-wrap{height:74px}
    .menu-toggle{display:block}.main-nav{position:absolute;left:16px;right:16px;top:68px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch;gap:4px}
    .main-nav.open{display:flex}.main-nav a{padding:11px 12px}.main-nav a:not(.nav-cta)::after{display:none}.nav-cta{text-align:center;margin-top:5px}
    .hero{padding-bottom:70px}.hero-grid{gap:35px}.hero-visual{min-height:370px}.main-photo{height:350px;width:82%}.blue-orbit{width:125px;height:125px}.floating-card{left:0;bottom:25px}
    .trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.section{padding:80px 0}.image-stack{width:100%;min-height:400px}.image-main{height:400px}
    .service-grid,.advantage-grid{grid-template-columns:1fr}.service-card{min-height:290px}.advantage{padding-bottom:25px}
    .numbers-grid{gap:25px}.number-item{border-right:0}.number-item strong{font-size:42px}
    .industries-grid{gap:45px}.industry-photo img{height:370px}.photo-note{left:15px}
    .cta-inner{padding:80px 0;gap:35px}.contact-form{grid-template-columns:1fr;padding:20px}.contact-form textarea,.contact-form .btn,.form-message{grid-column:1}
    .footer-top{grid-template-columns:1fr;gap:35px}.footer-links:last-child{grid-column:auto}.footer-bottom{gap:15px;flex-direction:column}
    h1{font-size:48px}
}
