:root{
  --blue:#1714c8;
  --blue2:#2d39e8;
  --ink:#07144a;
  --muted:#5e6a8e;
  --line:rgba(23,20,200,.12);
  --soft:#f3f6ff;
  --white:#fff;
  --shadow:0 24px 70px rgba(11,31,100,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 48px));margin:auto}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,20,200,.07)}
.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between}
.brand img{width:190px;height:auto}
.nav{display:flex;gap:34px;align-items:center}
.nav a{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#19245c;position:relative}
.nav a:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-9px;background:var(--blue);transition:.25s}
.nav a:hover:after{right:0}
.nav-toggle{display:none;border:0;background:none;padding:8px}
.nav-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:5px}
.hero{min-height:100vh;padding:145px 0 70px;background:
 radial-gradient(circle at 80% 20%,rgba(45,57,232,.11),transparent 30%),
 linear-gradient(120deg,#fff 0%,#f5f7ff 100%);position:relative}
.hero-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:65px;align-items:center;min-height:720px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--blue);margin:0 0 22px}
.hero h1,.section h2,.quote-band h2{font-family:Manrope,Inter,sans-serif;line-height:.98;letter-spacing:-.045em;margin:0;color:var(--ink)}
.hero h1{font-size:clamp(50px,6vw,83px)}
.hero h1 span,.quote-band span{color:var(--blue)}
.lead{max-width:590px;font-size:18px;line-height:1.75;color:var(--muted);margin:30px 0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:16px 22px;border-radius:3px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.25s}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 12px 30px rgba(23,20,200,.2)}
.btn-primary:hover{transform:translateY(-3px);background:#0f0ca6}
.btn-ghost{border:1px solid var(--line);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--blue);transform:translateY(-3px)}
.hero-meta{display:flex;gap:32px;margin-top:55px;padding-top:22px;border-top:1px solid var(--line)}
.hero-meta div{display:grid;gap:7px}
.hero-meta strong{font-size:11px;color:var(--blue);letter-spacing:.1em}
.hero-meta span{font-size:12px;font-weight:700;color:#59668c}
.hero-gallery{min-width:0}
.gallery-stage{height:620px;border-radius:4px;position:relative;overflow:hidden;box-shadow:var(--shadow);background:#dbe2f7;touch-action:pan-y;cursor:grab}
.gallery-stage.dragging{cursor:grabbing}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .55s ease,transform 1.2s ease}
.slide.active{opacity:1;transform:scale(1)}
.gallery-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,15,55,.65))}
.gallery-label{position:absolute;left:28px;bottom:27px;color:#fff;display:flex;gap:16px;align-items:center}
.gallery-label span{font-size:10px;letter-spacing:.2em;font-weight:800}
.gallery-label b{font-size:12px}
.gallery-arrow{position:absolute;right:20px;width:44px;height:44px;border:1px solid rgba(255,255,255,.35);background:rgba(10,20,70,.3);color:#fff;border-radius:50%;font-size:18px;cursor:pointer;backdrop-filter:blur(8px);transition:.2s}
.gallery-arrow:hover{background:var(--blue)}
.gallery-arrow.prev{bottom:78px}.gallery-arrow.next{bottom:27px}
.drag-hint{position:absolute;right:25px;top:25px;color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.dots{display:flex;gap:8px;margin-top:15px}
.dot{width:42px;height:3px;border:0;background:#d4d9ea;cursor:pointer;padding:0}
.dot.active{background:var(--blue)}
.scroll-note{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.25em;color:#7a84a4}
.scroll-note span{color:var(--blue);font-size:15px;margin-left:8px}
.section{padding:125px 0}
.two-col{display:grid;grid-template-columns:1fr 2fr;gap:70px}
.section-kicker{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--blue)}
.section h2{font-size:clamp(45px,5vw,70px)}
.section h2 em{font-style:normal;color:var(--blue)}
.big-text{max-width:750px;font-size:22px;line-height:1.65;color:var(--muted);margin:32px 0}
.text-link{display:inline-flex;gap:16px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}
.services{background:var(--soft)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:60px}
.section-intro{max-width:390px;color:var(--muted);line-height:1.7;font-size:15px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{min-height:330px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:rgba(255,255,255,.45);transition:.3s}
.service-card:hover{background:#fff;transform:translateY(-7px);box-shadow:var(--shadow);z-index:2}
.service-number{font-size:11px;font-weight:800;color:var(--blue)}
.icon{font-size:42px;color:var(--blue);margin:58px 0 35px}
.service-card h3{font-family:Manrope;font-size:21px;margin:0 0 13px}
.service-card p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}
.quote-band{padding:115px 0;background:var(--ink);color:#fff;position:relative;overflow:hidden}
.quote-band:before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-180px;top:-220px}
.quote-band h2{color:#fff;font-size:clamp(48px,6vw,78px)}
.references{background:#fff}
.reference-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.reference-card{margin:0;position:relative;overflow:hidden;height:390px;background:#dce2f5}
.reference-card.large{grid-row:span 2;height:800px}
.reference-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.reference-card:hover img{transform:scale(1.05)}
.reference-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,17,64,.65))}
.reference-card figcaption{position:absolute;z-index:2;left:25px;right:25px;bottom:23px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:12px}
.reference-card figcaption span{font-size:10px;letter-spacing:.2em}
.contact{background:var(--soft)}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:center}
.contact-lead{color:var(--muted);font-size:18px;margin-top:30px}
.contact-card{background:#fff;padding:35px;box-shadow:var(--shadow)}
.contact-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}
.contact-row span{color:#7984a5}.contact-row strong{text-align:right}
.full{width:100%;margin-top:28px}
footer{background:#fff;border-top:1px solid var(--line)}
.footer-wrap{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-logo{width:130px}
footer p,footer a{font-size:11px;color:#6c7899}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
 .nav{gap:18px}.nav a{font-size:11px}
 .hero-grid{grid-template-columns:1fr;gap:40px}.hero{padding-top:120px}.hero-gallery{order:-1}
 .gallery-stage{height:480px}.hero-grid{min-height:auto}.hero-copy{padding-bottom:35px}
 .service-grid{grid-template-columns:repeat(2,1fr)}
 .two-col,.contact-grid{grid-template-columns:1fr;gap:30px}
 .reference-grid{grid-template-columns:1fr}.reference-card.large{height:500px;grid-row:auto}
}
@media(max-width:650px){
 .container{width:min(100% - 30px,1180px)}
 .site-header{position:fixed}.nav-toggle{display:block}.nav{display:none;position:absolute;left:15px;right:15px;top:78px;background:#fff;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}
 .nav.open{display:flex}.nav a{font-size:12px;padding:8px 0}
 .brand img{width:150px}.nav-wrap{height:75px}
 .hero{padding-top:105px}.hero h1{font-size:48px}.lead{font-size:16px}
 .hero-meta{gap:18px;flex-wrap:wrap}.hero-meta span{font-size:11px}
 .gallery-stage{height:410px}.drag-hint{display:none}
 .section{padding:90px 0}.section-head{display:block;margin-bottom:40px}.section-intro{margin-top:25px}
 .service-grid{grid-template-columns:1fr}.service-card{min-height:260px}
 .icon{margin:35px 0 20px}.quote-band{padding:90px 0}
 .reference-card,.reference-card.large{height:330px}
 .contact-grid{gap:45px}.contact-row{align-items:flex-start}
 .footer-wrap{flex-wrap:wrap;padding:25px 0}
}

.partner-strip{padding:75px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.partner-wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}
.partner-wrap h2{font-family:Manrope;font-size:clamp(35px,4vw,54px);line-height:1;letter-spacing:-.04em;margin:0}
.partner-wrap h2 span{color:var(--blue)}
.partner-wrap p:not(.eyebrow){color:var(--muted);line-height:1.6}
.partner-wrap img{width:min(430px,42vw);border-radius:4px;box-shadow:0 15px 45px rgba(11,31,100,.12)}
.egd-card{margin-top:70px;padding:30px 35px;background:var(--soft);display:flex;justify-content:space-between;align-items:center;gap:30px}
.egd-card h3{font-family:Manrope;font-size:25px;margin:0 0 10px}
.egd-card p:not(.eyebrow){color:var(--muted);margin:0}
.egd-card img{width:270px;max-width:40%;height:auto}
@media(max-width:650px){
 .partner-wrap,.egd-card{display:block}
 .partner-wrap img{width:100%;margin-top:30px}
 .egd-card img{max-width:100%;margin-top:25px}
}
