
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
body[data-lang=en] :is(.fr,.de,.lb,.ru),body[data-lang=fr] :is(.en,.de,.lb,.ru),body[data-lang=de] :is(.en,.fr,.lb,.ru),body[data-lang=lb] :is(.en,.fr,.de,.ru),body[data-lang=ru] :is(.en,.fr,.de,.lb){display:none!important}
.lsw{display:flex;align-items:center;gap:2px;font:600 12.5px/1 Inter,system-ui,sans-serif;letter-spacing:.04em}
.lsw button{border:0;background:none;color:inherit;opacity:.62;padding:8px 7px;cursor:pointer;border-bottom:1.5px solid transparent;font:inherit}
.lsw button.on{opacity:1;border-bottom-color:currentColor}.lsw button:hover{opacity:1}
.lsw .sep{width:1px;height:14px;background:currentColor;opacity:.25;margin:0 5px}
.lsw button[data-l=ru]{color:#98A2B3;opacity:1}.lsw button[data-l=ru].on{border-bottom-color:#98A2B3}
.hdr-r{display:flex;align-items:center;gap:18px}
.login{position:relative}.login>button{border:0;background:none;color:inherit;font:600 13.5px Inter,system-ui,sans-serif;cursor:pointer;padding:10px 4px;opacity:.9}
.login-m{display:none;position:absolute;right:0;top:100%;min-width:190px;background:#fff;border-radius:12px;box-shadow:0 18px 40px rgba(15,27,54,.18);padding:6px;z-index:30}
.login-m a{display:block;padding:10px 14px;border-radius:8px;color:#1A2B50;font:600 14px Inter,system-ui,sans-serif}.login-m a:hover{background:#EEF3FC}
.login:hover .login-m,.login:focus-within .login-m{display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.lflag{position:absolute;pointer-events:none;--fw:min(30vw,420px)}
.lflag .pole{position:absolute;left:0;top:12px;bottom:0;width:9px;border-radius:4px;background:linear-gradient(90deg,#7a808a,#eef0f3 35%,#c5cad2 62%,#80868f);box-shadow:3px 0 8px rgba(0,0,0,.25)}
.lflag .finial{position:absolute;left:-3px;top:0;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#c9ced6 50%,#6d737c)}
.lflag canvas{position:absolute;left:8px;top:20px;width:var(--fw);height:calc(var(--fw) * .93)}
.credit{font-size:11px;opacity:.6}
@media (max-width:860px){.wrap{padding:0 16px}.lsw{font-size:11.5px}.lsw button{padding:7px 5px}.login{display:none}}

body{font-family:Inter,system-ui,sans-serif;color:#1B2333;background:#fff}
h1,h2,h3,.serif{font-family:'Source Serif 4',Georgia,serif;font-weight:500;letter-spacing:-.01em}
.hdr{position:absolute;inset:0 0 auto 0;z-index:5;color:#fff}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:88px}
.logo{display:flex;align-items:baseline;gap:10px}.logo b{font:600 28px/1 'Source Serif 4',serif;letter-spacing:.02em}.logo i{font-style:normal;font-size:11px;letter-spacing:.32em;opacity:.85}
.nav{display:flex;gap:30px;font-size:14px;font-weight:500}.nav a{opacity:.9}
.btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 24px;border-radius:2px;font-weight:600;font-size:14px;letter-spacing:.01em}
.btn.light{background:#fff;color:#1A2B50}.btn.navy{background:#1A2B50;color:#fff}.btn.line{border:1px solid rgba(255,255,255,.55);color:#fff}.btn.line-d{border:1px solid #1A2B50;color:#1A2B50}
.hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:center;color:#fff;overflow:hidden;background:#0F1B36}
.hero .ph{position:absolute;inset:0;background:#3a6fae url('hero/flag-sky.jpg') 100% 35%/cover}
.hero .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,27,54,.94) 0%,rgba(15,27,54,.78) 38%,rgba(15,27,54,.15) 70%,rgba(15,27,54,0) 100%)}
.hero .wrap{position:relative;z-index:2;width:100%}
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;opacity:.8;margin:0 0 22px}
.hero h1{font-size:52px;line-height:1.08;max-width:640px;margin:0 0 24px}
.hero p.sub{font-size:18px;line-height:1.6;max-width:540px;opacity:.88;margin:0 0 36px}
.hero .ctas{display:flex;gap:14px}
.hero .lflag{left:58%;top:12%;bottom:0;z-index:1}
.trust{border-bottom:1px solid #E3E7EE}.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.trust div{padding:26px 24px;font-size:14px;color:#3a4458;border-left:1px solid #E3E7EE}.trust div:first-child{border-left:0;padding-left:0}
section{padding:110px 0}.sh{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:56px}
.sh h2{font-size:44px;line-height:1.1;margin:0;color:#1A2B50}.sh p{font-size:17px;line-height:1.65;color:#4a5468;margin:0}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#2457C5;font-weight:600;margin-bottom:14px}
.svc{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #1A2B50}
.svc a{padding:28px 24px 32px 0;border-bottom:1px solid #E3E7EE;margin-right:24px;transition:.2s}
.svc a:hover h3{color:#2457C5}.svc small{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8a93a3;margin-bottom:12px}
.svc h3{font-size:23px;margin:0 0 10px;color:#1A2B50}.svc p{font-size:14.5px;line-height:1.6;color:#4a5468;margin:0}
.life{background:#1A2B50;color:#fff}.life .sh h2{color:#fff}.life .sh p{color:rgba(255,255,255,.75)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.25)}
.steps div{padding:30px 28px 0 0}.steps b{font:400 54px/1 'Source Serif 4',serif;color:#8FB0F0;display:block;margin-bottom:18px}
.steps h3{font-size:26px;margin:0 0 8px}.steps p{margin:0;font-size:14.5px;color:rgba(255,255,255,.72);line-height:1.6}
.offers{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.offer{border:1px solid #E3E7EE;padding:44px;display:flex;flex-direction:column;gap:14px}
.offer h3{font-size:32px;line-height:1.15;margin:0;color:#1A2B50}.offer p{margin:0 0 10px;color:#4a5468;line-height:1.65}
.offer .row{display:flex;gap:12px;margin-top:auto}.offer .price{font:500 15px Inter;color:#2457C5}
.consult{background:#F4F6F9;padding:56px 0}.consult .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}
.consult h3{font-size:30px;margin:0 0 6px;color:#1A2B50}.consult p{margin:0;color:#4a5468}
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
.about img{width:100%;aspect-ratio:4/3;object-fit:cover}
.about h2{font-size:40px;line-height:1.12;color:#1A2B50;margin:0 0 20px}.about p{color:#4a5468;line-height:1.7;font-size:16px}
.news{background:#F4F6F9}.news .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.news h2{font-size:36px;margin:0 0 12px;color:#1A2B50}.news p{color:#4a5468;line-height:1.65;margin:0}
.nl-row{display:flex;gap:10px}.nl input[type=email]{flex:1;height:52px;border:1px solid #c9d0db;padding:0 16px;font:15px Inter;background:#fff}
.nl button{height:52px;padding:0 26px;background:#1A2B50;color:#fff;border:0;font:600 14px Inter;cursor:pointer}
.nl-c{display:flex;gap:8px;margin-top:12px;font-size:12.5px;color:#6b7486;line-height:1.5}
footer{background:#0F1B36;color:rgba(255,255,255,.75);padding:70px 0 34px;font-size:14px}
footer .cols{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:34px}footer h4{color:#fff;font:600 13px Inter;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}
footer a{display:block;margin-bottom:9px}footer .legal{border-top:1px solid rgba(255,255,255,.15);margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;font-size:12.5px}
@media (max-width:860px){.svc{grid-template-columns:1fr 1fr}.nav{display:none}.hdr .btn{height:40px;padding:0 14px;font-size:13px}.hero h1{font-size:40px}.hero p.sub{font-size:16px}.hero .ctas{flex-wrap:wrap}
.hero .ov{background:linear-gradient(180deg,rgba(15,27,54,.35),rgba(15,27,54,.92) 45%)}.hero .lflag{left:20px;top:92px;bottom:auto;height:200px;--fw:190px}.hero{align-items:flex-start}.hero .wrap{padding-top:300px;padding-bottom:56px}.hdr .btn{display:none}
.trust .wrap,.steps,.offers,.about,.news .wrap,.sh,footer .cols{grid-template-columns:1fr}.trust div{border-left:0;padding:10px 0}.consult .wrap{flex-direction:column;align-items:flex-start}
.sh h2{font-size:32px}section{padding:70px 0}.offer{padding:28px}footer .legal{flex-direction:column;gap:8px}}
/* Three hanging flags over the bridge photo (original first visual; used by the HERO=bridge build) */
.trio{position:absolute;pointer-events:none;display:flex;gap:var(--gap,96px);--fw:170px}
.trio .fp{position:relative;width:8px;height:100%}
.trio .pole{position:absolute;left:0;top:10px;bottom:0;width:7px;border-radius:3px;background:linear-gradient(90deg,#6f7682,#f6f7f9 38%,#c9ced6 60%,#7d838d);box-shadow:2px 0 6px rgba(0,0,0,.18)}
.trio .finial{position:absolute;left:-4px;top:0;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6d0,#cfa64d 55%,#6e5018)}
.trio canvas{position:absolute;left:6px;top:16px;width:var(--fw);height:calc(var(--fw) * 1.5)}
.hero .trio{left:58%;top:13%;bottom:0;z-index:1}
@media (max-width:860px){.trio{--fw:110px;--gap:62px}.hero .trio{left:20px;top:92px;bottom:auto;height:190px;--fw:84px;--gap:58px}}
