@font-face{font-family:Lato;font-weight:300;src:url(fonts/lato-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:400;src:url(fonts/lato-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Comfortaa;font-weight:400;src:url(fonts/comfortaa-latin-400-normal.woff2) format("woff2")}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:#212121;font:400 14.7px/24.4px Lato,Helvetica,Arial,sans-serif}
.hero{position:relative;min-height:340px;background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;justify-content:center;padding:100px 24px 60px}
.site-name{position:absolute;top:12px;left:28px;margin:0;font-size:20px;line-height:26.7px;font-weight:300}
h1{margin:0 0 0 12%;font-weight:300;font-size:clamp(34px,5.9vw,85.3px);line-height:1;letter-spacing:2px;text-align:center}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.text{padding-top:20px}
.text p{margin:0 0 10px}
#intro{padding-top:28px;font-family:Comfortaa,Lato,sans-serif;font-size:14.7px}
#intro p{margin-bottom:11px}
.gallery{max-width:1180px;margin:100px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.gallery img{width:100%;aspect-ratio:250/258;object-fit:cover;display:block}
.contact{padding-top:48px}
.contact p{margin-bottom:10px}
a{color:#226e93}
.final{padding-top:80px;padding-bottom:70px}
.final img{display:block;width:225px;max-width:100%;margin-left:60px}
@media(max-width:700px){
.hero{min-height:195px;padding:70px 20px 30px}
h1{margin:0}
.gallery{grid-template-columns:1fr;gap:38px;margin-top:70px;padding:0 50px}
.gallery img{aspect-ratio:200/207}
.final img{margin-left:0}
}
.lang{position:absolute;top:12px;right:28px;font-size:16px;line-height:26.7px;font-weight:300}
.lang a{color:#fff;text-decoration:none;padding:4px 2px}
.lang a[aria-current]{font-weight:400;text-decoration:underline}
@media(max-width:700px){.lang{right:16px;font-size:15px}.site-name{left:16px;font-size:17px}}
.topbar{background:#000;color:#fff}
.mainnav{max-width:1180px;margin:0 auto;padding:8px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 28px}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 20px}
.mainnav a{color:#fff;text-decoration:none;font-weight:300;font-size:16px;line-height:32px;display:inline-block}
.mainnav .brand{font-size:20px;font-weight:400}
.mainnav a[aria-current]{text-decoration:underline;font-weight:400}
.mainnav a:hover{text-decoration:underline}
.site-footer{background:#000;color:#dadada;text-align:center;padding:22px 20px;margin-top:0}
.site-footer p{margin:0}
.hero.small{min-height:260px;text-align:center}
.hero.small .tag{margin:16px 0 0;font-size:20px;line-height:28px;font-weight:300}
.hero.small h1{margin:0;font-size:clamp(34px,5.5vw,64px)}
.band{padding:56px 0}
.band.alt{background:#f2f2f2}
.band h2{font:300 32px/1.2 Lato,sans-serif;margin:0 0 16px}
.band p{font-family:Comfortaa,Lato,sans-serif;margin:0 0 12px;max-width:760px}
.cards{display:grid;gap:24px;margin-top:20px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid #ddd;padding:24px}
.band.alt .card{border-color:#e0e0e0}
.card h3{font:400 20px/1.3 Lato,sans-serif;margin:12px 0 10px}
.card p{max-width:none}
.icon{display:block}
.btn{display:inline-block;background:#226e93;color:#fff;border:0;padding:10px 22px;font:400 15px/24px Lato,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:#1b5775}
.btn[disabled]{opacity:.6;cursor:default}
.note{font-size:14px;margin-top:20px}
.process{list-style:none;margin:20px 0 0;padding:0;display:flex;gap:16px}
.process li{flex:1;background:#fff;border-top:4px solid #226e93;padding:20px;font-size:18px;text-align:center}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;margin-top:20px}
.contact-info p{margin-bottom:14px}
form label{display:block;margin-bottom:4px}
form input[type=text],form input[type=email],form input[type=tel],form textarea{width:100%;font:inherit;padding:8px 10px;border:1px solid #999;background:#fff}
form p{margin:0 0 14px;max-width:none}
.trap{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}
.form-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
@media(max-width:700px){
.cards.three,.cards.two,.contact-grid{grid-template-columns:1fr}
.process{flex-direction:column}
.band{padding:40px 0}
.hero.small{min-height:200px;padding:50px 20px 40px}
.mainnav{padding:8px 16px}
.mainnav ul{gap:0 16px}
}
.shot{margin:0;padding:16px}
.shot img{display:block;width:100%;height:auto}
.shot figcaption{font-size:14px;margin-top:10px;text-align:center}
.hero.hero-light{flex-direction:column;gap:28px;background:#eef3f7;color:#16324a;padding:90px 20px 40px}
.hero-light h1,.hero-light .tag{color:#16324a}
.hero-light .hero-pic{display:block;width:580px;max-width:100%;height:auto;box-shadow:0 2px 12px rgba(0,0,0,.18);background:#fff}
@media(max-width:700px){.hero.hero-light{padding:60px 16px 28px;gap:20px}}
.hero-circuit{overflow:hidden;background:linear-gradient(#f4f8fb,#e3edf4);justify-content:center}
.hero-circuit .hero-art{position:absolute;inset:0;width:100%;height:100%}
.hero-circuit .hero-text{position:relative;background:rgba(255,255,255,.88);padding:20px 28px;border-radius:6px}
.step-note{font-size:15px;font-weight:300}
#ems+#examples{border-top:1px solid #e0e0e0}
.topbar .lang{position:static;margin-left:auto;font-size:16px;line-height:32px}
.topbar .lang a{padding:8px 4px;display:inline-block;line-height:16px}
@font-face{font-family:Lato;font-weight:700;src:url(fonts/lato-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:900;src:url(fonts/lato-latin-900-normal.woff2) format("woff2")}
.home{--red:#c8102e;--char:#2e2e30;--yel:#ffd400;font-family:Lato,"PingFang SC","Microsoft YaHei",Helvetica,Arial,sans-serif}
.home .topbar{position:absolute;top:0;left:0;right:0;z-index:3;background:linear-gradient(rgba(20,20,22,.75),rgba(20,20,22,0))}
.home .mainnav{padding:12px 28px}
.home .mainnav a{font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.home .mainnav .brand{font-weight:900;text-transform:uppercase;letter-spacing:1px}
.home .hero{display:block;position:relative;min-height:0;padding:0;background:#fff;color:var(--char);margin-bottom:60px}
.home .hero-photo{height:min(66vw,620px);min-height:380px;background-size:cover;background-position:center 30%;clip-path:polygon(0 0,100% 0,100% 82%,0 100%)}
.home .hero-panel{position:absolute;right:0;bottom:-40px;width:min(560px,92%);background:#fff;padding:34px 40px 44px;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 22px));box-shadow:none}
.home .site-name{position:static;font-size:15px;line-height:20px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0 0 6px;color:var(--char)}
.home h1{margin:0;text-align:left;text-transform:uppercase;font-weight:900;font-size:clamp(28px,4vw,48px);line-height:1.05;letter-spacing:0;color:var(--red)}
.home .hero-tag{margin:14px 0 20px;font-size:17px;line-height:26px;font-weight:700;color:var(--char)}
.home .cta{display:inline-block;background:var(--yel);color:var(--char);font-weight:900;text-transform:uppercase;letter-spacing:1px;text-decoration:none;padding:14px 30px;font-size:16px}
.home .cta:hover{background:#ffe34d}
.home .intro-grid{display:grid;grid-template-columns:5fr 7fr;gap:48px;padding-top:50px;padding-bottom:70px;align-items:start}
.home #intro{padding-top:50px;font-family:inherit;font-size:16px;line-height:26px}
.home .intro-text p{margin:0 0 14px}
.home .label{font-weight:900;text-transform:uppercase;font-size:20px;line-height:1.3;letter-spacing:.5px;color:var(--red);padding-left:14px;border-left:6px solid var(--red)}
.home .tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.home .tile{margin:0;position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--char)}
.home .tile img{width:100%;height:100%;object-fit:cover;display:block}
.home .tile figcaption{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:10px;background:var(--char);color:#fff;padding:10px 16px;font-weight:900;text-transform:uppercase;letter-spacing:1px;font-size:15px}
.home .contact-block{background:var(--char);color:#fff;padding:60px 0;border-top:6px solid var(--red)}
.home .contact-cols{display:grid;grid-template-columns:1fr 1.4fr auto;gap:40px;align-items:start}
.home .contact-block p{margin:0 0 12px;font-size:16px;line-height:24px;overflow-wrap:anywhere}
.home .contact-block a{color:#fff;text-decoration:underline;text-decoration-color:var(--yel);text-underline-offset:3px}
.home .contact-card img{display:block;width:225px;max-width:100%;height:auto}
.home .site-footer{background:#161617}
@media(max-width:900px){.home .intro-grid{grid-template-columns:1fr;gap:32px}.home .contact-cols{grid-template-columns:1fr;gap:20px}}
@media(max-width:700px){
.home .mainnav{padding:8px 16px}
.home .topbar{background:rgba(20,20,22,.8)}
.home .hero-photo{height:300px;min-height:0;clip-path:none}
.home .hero{margin-bottom:0}
.home .hero-panel{position:relative;right:auto;bottom:auto;width:100%;margin-top:-30px;padding:26px 20px 28px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.home .tiles{gap:12px}
.home .tile figcaption{padding:8px 10px;font-size:13px;gap:6px}
.home .tile figcaption svg{width:22px;height:22px}
.home .intro-grid{padding-top:30px;padding-bottom:50px}
}
@font-face{font-family:Inter;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:700;src:url(fonts/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:800;src:url(fonts/inter-latin-800-normal.woff2) format("woff2")}
.pbi{--navy:#14263d;--blue:#2f80ed;--ink:#14263d;background:#eaf1fb;color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",Helvetica,Arial,sans-serif;font-size:16px;line-height:26px}
.pbi .topbar{background:var(--navy)}
.pbi .mainnav a{font-weight:700;font-size:15px}
.pbi .hero.hero-light{background:transparent;color:var(--ink);min-height:0;padding:56px 20px 20px;gap:32px}
.pbi .hero-light h1,.pbi .hero-light .tag{color:var(--ink)}
.pbi .hero.small h1{font-weight:800;font-size:clamp(30px,4.6vw,48px);line-height:1.15;letter-spacing:0}
.pbi .hero.small .tag{font-weight:400;font-size:18px;line-height:28px;margin:14px auto 0;max-width:720px}
.pbi .hero-light .hero-pic{width:min(100%,780px);height:auto;border-radius:18px;border:6px solid #fff;box-shadow:0 10px 30px rgba(20,38,61,.14)}
.pbi .band{padding:44px 0}
.pbi .band.alt{background:transparent}
.pbi .band h2{font:800 clamp(24px,3.2vw,32px)/1.25 Inter,"PingFang SC","Microsoft YaHei",sans-serif;text-align:center;margin:0 0 14px;color:var(--ink)}
.pbi .band p{font-family:inherit;margin:0 auto 12px}
.pbi #intro p{text-align:center;font-size:17px}
.pbi .card{background:#fff;border:0;border-radius:16px;padding:28px 24px;box-shadow:0 6px 20px rgba(20,38,61,.08)}
.pbi .card h3{font:700 19px/1.3 Inter,"PingFang SC","Microsoft YaHei",sans-serif;margin:14px 0 10px;color:var(--ink)}
.pbi .card p{margin:0 0 12px}
.pbi .pbi-icon{background:#eaf1fb;border-radius:12px;padding:8px;width:56px;height:56px}
.pbi .btn{background:var(--blue);border-radius:8px;font:700 15px/24px Inter,"PingFang SC","Microsoft YaHei",sans-serif;padding:10px 22px}
.pbi .btn:hover{background:#1f6bd0}
.pbi a{color:var(--blue)}
.pbi .mainnav a,.pbi .site-footer a{color:#fff}
.pbi .note{text-align:center;font-size:14px;margin-top:22px}
.pbi #contact .wrap{max-width:980px;background:#fff;border-radius:18px;box-shadow:0 6px 20px rgba(20,38,61,.08);padding:36px 32px}
.pbi form input[type=text],.pbi form input[type=email],.pbi form input[type=tel],.pbi form textarea{border:1px solid #c5d3e6;border-radius:8px;padding:10px 12px}
.pbi form label{font-weight:700;font-size:14px}
.pbi .site-footer{background:var(--navy)}
@media(max-width:700px){.pbi .hero.hero-light{padding:36px 16px 8px}.pbi #contact .wrap{padding:24px 18px;margin:0 16px;width:auto}.pbi .band .wrap{padding:0 16px}}
.ems{--green:#1f8a3f;--lime:#4cc572;--dark:#111312;font-family:Lato,"PingFang SC","Microsoft YaHei",Helvetica,Arial,sans-serif;color:#222}
.ems .topbar{background:#fff;color:#222;border-bottom:1px solid #e3e3e3}
.ems .mainnav a,.ems .topbar .lang a{color:#222}
.ems .mainnav .brand{font-weight:900;color:#111}
.ems .mainnav a:hover,.ems .topbar .lang a:hover{color:var(--green)}
.ems .mainnav a[aria-current],.ems .topbar .lang a[aria-current]{color:var(--green)}
.ems .hero.hero-circuit{background:linear-gradient(135deg,#0d1f1a,#14352b);color:#fff;min-height:300px;padding:70px 20px}
.ems .hero-circuit .hero-art{stroke:#4cc572}
.ems .hero-circuit .hero-art [fill="#fff"]{fill:#0f2a22}
.ems .hero-circuit .hero-text{background:none;text-align:center;padding:0}
.ems .hero-light h1,.ems .hero-light .tag{color:#fff}
.ems .hero.small h1{font-weight:900}
.ems .cta,.ems .btn{display:inline-block;background:var(--green);color:#fff;font-weight:700;font-size:18px;line-height:24px;padding:12px 28px;border-radius:2px;text-decoration:none}
.ems .cta{margin-top:24px}
.ems .cta:hover,.ems .btn:hover{background:#18702f}
.ems .btn{font-size:15px}
.ems .titlebar{background:#f3f4f5;border-bottom:1px solid #e3e3e3}
.ems .titlebar .wrap{max-width:1180px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px}
.ems .titlebar nav{font-size:14px;color:#555}
.ems .titlebar a{color:#555}
.ems .tb-title{margin:0;color:var(--green);font-size:22px;font-weight:700;line-height:1.3}
.ems .band,.ems .band.alt{background:#fff;padding:44px 0}
.ems .band+.band{border-top:1px solid #ececec}
.ems .band h2{font:900 28px/1.25 Lato,"PingFang SC","Microsoft YaHei",sans-serif;color:#111}
.ems .band p{font-family:inherit;max-width:900px}
.ems .process li{background:none;border:0;border-top:3px solid var(--green);text-align:left;font-size:17px;padding:16px 8px}
.ems .process strong{color:var(--green);font-size:20px}
.ems .step-note{color:#444;font-size:15px}
.ems .card,.ems .band.alt .card{background:none;border:0;border-top:1px solid #dedede;padding:18px 8px 10px}
.ems .card h3{font:700 19px/1.3 Lato,"PingFang SC","Microsoft YaHei",sans-serif;color:#111;margin:10px 0 8px}
.ems .icon{stroke:var(--green)}
.ems #ems .icon{width:36px;height:36px}
.ems a{color:var(--green)}
.ems .mainnav a,.ems .titlebar a,.ems .cta,.ems .btn{color:inherit}
.ems .cta,.ems .btn{color:#fff}
.ems .titlebar a{color:#555}
.ems form input[type=text],.ems form input[type=email],.ems form input[type=tel],.ems form textarea{border:1px solid #bbb;border-radius:2px}
.ems form label{font-weight:700}
.ems .ems-footer{background:var(--dark);color:#bdbdbd;text-align:left;padding:50px 0 20px}
.ems .foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.ems .ems-footer h2{font:700 20px/1.3 Lato,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--lime);margin:0 0 14px}
.ems .ems-footer p{margin:0 0 8px}
.ems .ems-footer ul{list-style:none;margin:0;padding:0}
.ems .ems-footer li{margin:0 0 8px}
.ems .ems-footer a{color:#d4d4d4;text-decoration:none}
.ems .ems-footer a:hover{color:var(--lime);text-decoration:underline}
.ems .ems-footer .foot-copy{max-width:1140px;margin:30px auto 0;padding:16px 20px 0;border-top:1px solid #2c2f2d;text-align:center;color:#9a9a9a}
@media(max-width:900px){.ems .cards.three{grid-template-columns:repeat(2,1fr)}.ems .foot-cols{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.ems .cards.two,.ems .cards.three,.ems .foot-cols{grid-template-columns:1fr}.ems .process{flex-direction:column}.ems .hero.hero-circuit{padding:50px 16px;min-height:240px}.ems .tb-title{font-size:19px}}
.web{--navy:#1b3140;--red:#d62a1c;--lb:#8ab8ff;--strip:#eaf1ff;font-family:Inter,"PingFang SC","Microsoft YaHei",Helvetica,Arial,sans-serif;color:#2b3b47}
.web .topbar{background:var(--navy);border-bottom:1px solid #2c4658}
.web .hero.hero-circuit{background:var(--navy);color:#fff;min-height:320px;padding:80px 20px}
.web .hero-circuit .hero-art{stroke:#8ab8ff;opacity:.7}
.web .hero-circuit .hero-art [fill="#fff"]{fill:#223f52}
.web .hero-circuit .hero-text{background:none;padding:0;text-align:center}
.web .hero-light h1,.web .hero-light .tag{color:#fff}
.web .hero.small h1{font-weight:800}
.web .hero-geo{position:absolute;right:0;top:0;height:100%;width:auto;max-width:40%;opacity:.5;pointer-events:none}
.web .cta,.web .btn{display:inline-block;background:var(--red);color:#fff;font-weight:700;font-size:16px;line-height:24px;padding:12px 30px;border-radius:4px;text-decoration:none}
.web .cta{margin-top:24px}
.web .cta:hover,.web .btn:hover{background:#b92216}
.web .band,.web .band.alt{background:#fff;padding:56px 0}
.web .band h2{font:800 clamp(26px,3.4vw,36px)/1.25 Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--navy);text-align:center;margin:0 0 20px}
.web .band p{font-family:inherit;margin-left:auto;margin-right:auto;text-align:center}
.web #intro{background:var(--strip)}
.web #intro p{font-size:18px}
.web #services .cards{grid-template-columns:1fr;gap:56px;margin-top:36px}
.web #services .card{background:none;border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.web #services .card:nth-child(even) .panel{order:-1}
.web .card h3{font:800 26px/1.3 Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--navy);margin:0 0 14px}
.web #services .card p{text-align:left;margin:0;font-size:17px;line-height:28px}
.web .panel{background:var(--lb);border-radius:14px;min-height:260px;display:flex;align-items:center;justify-content:center}
.web a{color:#1f5fbf}
.web .mainnav a{color:#fff}
.web .btn{color:#fff}
.web #contact{border-top:1px solid #e3e8ef}
.web .contact-info p{text-align:left}
.web form input[type=text],.web form input[type=email],.web form input[type=tel],.web form textarea{border:1px solid #b9c6d4;border-radius:6px}
.web form label{font-weight:700}
.web .site-footer{background:var(--navy);color:#cfd9e3}
@media(max-width:800px){.web #services .card{grid-template-columns:1fr;gap:20px}.web #services .card:nth-child(even) .panel{order:0}.web .hero.hero-circuit{padding:56px 16px;min-height:260px}.web .hero-geo{max-width:60%}.web .panel{min-height:200px}}
