:root{--orange:#c94d08;--navy:#073665;--ink:#17344e;--muted:#536b7f;--line:#d5e1eb}
body{font-family:"Segoe UI",Arial,Helvetica,sans-serif;letter-spacing:0;line-height:1.65;background:#fff}h1,h2,h3,h4{font-family:"Segoe UI",Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.5px}h2{font-size:clamp(30px,3.4vw,46px)}.wrap{width:min(1320px,calc(100% - 64px))}.top{border-bottom:0;box-shadow:0 4px 18px #062b4a13}.nav{flex-wrap:wrap;gap:0;min-height:0;padding-top:14px;padding-bottom:0}.nav>a:first-child{margin-right:auto}.nav .logo{width:270px;height:auto;animation:logo-arrive .9s ease-out both}.header-contact{display:flex;flex-direction:column;text-align:right;padding:12px 0 18px;color:var(--navy)}.header-contact span{font-size:13px;letter-spacing:.5px}.header-contact a{font-size:23px;font-weight:700}.nav nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));flex-basis:100%;width:100%;gap:2px;margin:14px 0 0;padding:0}.nav nav a{border:0;border-radius:0;min-height:49px;font-size:14px;letter-spacing:.15px;background:#07528a;transition:filter .2s,box-shadow .2s}.nav nav a:nth-child(odd){background:#c94d08}.nav nav a:nth-child(even){background:#07528a}.nav nav a:hover,.nav nav a[aria-current]{color:#fff;filter:brightness(1.13);box-shadow:inset 0 -4px 0 #fff9}
html{scroll-padding-top:195px}.hero{position:relative;background:#052a49;overflow:hidden}.hero-grid{position:relative;display:block;min-height:660px;padding-block:100px 140px;isolation:isolate}.hero-copy{position:relative;z-index:2;max-width:650px;pointer-events:none;animation:copy-arrive .9s .15s both}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(46px,5.4vw,76px);line-height:1.08;letter-spacing:-1.8px;margin-top:20px;text-shadow:0 2px 20px #0004}.hero h1 span{color:#ff9c54}.hero .lead{max-width:590px;font-size:19px;color:#f4f8fb}.hero .kicker{color:#ffb77f}.hero-copy .btn{box-shadow:0 5px 20px #0002}.hero-panel{position:absolute;inset:0;max-width:none!important;width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;z-index:-1}.hero-panel>.small-label{display:none}.hero-slideshow{position:absolute;inset:0;border:0;border-radius:0;background:#052a49;overflow:hidden}.hero-slide-stack{height:100%;width:100%}.hero-slide>img{height:100%;width:100%;object-fit:cover;object-position:center}.hero-slideshow::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05233bef 0%,#052b46ba 38%,#052b4630 74%,#052b4622 100%);pointer-events:none}.hero-slide.active>img{animation:hero-camera 8s linear both}.hero-slide .image-watermark{bottom:130px;right:30px;opacity:.85}.hero-caption{position:absolute;bottom:26px;left:0;right:0;padding:14px 24px;background:#052b49d9;border-top:2px solid #e67328;z-index:3;font-size:16px}.hero-slider-controls{position:absolute;right:25px;bottom:91px;z-index:4;padding:0;gap:9px}.hero-slider-controls .outline{color:#fff;background:#073665d9;border-color:#ffffff8a;min-height:38px}.hero-dots button{width:12px;height:12px;background:#fff8;border-color:#fff}.hero-dots button[aria-pressed=true]{background:#ee792d;border-color:#ee792d}.panel-bottom{position:absolute;bottom:0;left:0;right:0;border:0;padding:4px 24px;color:#fff;background:#052b49;font-size:11px;z-index:4}.features{background:#c94d08}.feature-grid div{font-size:15px}.kicker{font-weight:700;letter-spacing:1.8px}.dark{background:linear-gradient(120deg,#073665,#0a4d7c)}.dark .split>div:first-child{border-left:4px solid #ec7528;padding-left:28px}.service-box,.project-card,.articles article,.faq details,form,.contact-channels,.steps article,.partner-panel,.field-gallery figure{border-radius:8px;box-shadow:0 6px 24px #07366508;backdrop-filter:none}.service-box summary{min-height:160px}.service-box h3{font-size:22px;letter-spacing:0}.service-content{background:#fff}.service-photo{display:block;width:100%;padding:0;border:1px solid #d4e1eb;border-radius:6px;background:#f5f9fc;overflow:hidden;margin-bottom:22px;cursor:zoom-in}.service-photo .photo-window{height:200px}.service-photo .photo-window>img{object-fit:cover}.service-photo-caption{display:block;padding:8px 12px;color:#34556f;font-size:12px;font-weight:600}.generated-label{position:absolute;top:10px;left:10px;background:#073665ed;color:#fff;padding:4px 8px;font-size:10px;border:1px solid #ffffff7a;border-radius:4px;z-index:3}.gallery-thumb .generated-label{display:none}.project-info{border-top:3px solid #c94d08}.project-info h3{color:#073665;font-size:18px}.partner-card{box-shadow:none}.reference-logo-frame{box-shadow:none}.faq summary{font-size:17px;font-weight:600}.brand-intro{position:fixed;inset:0;z-index:90;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;pointer-events:none;animation:intro-dismiss 1.45s ease forwards}.brand-intro img{width:min(390px,70vw);height:auto;animation:intro-logo 1s ease-out both}.brand-intro span{color:#073665;font-size:11px;font-weight:700;letter-spacing:2px}
.hero-panel{z-index:0}.hero-copy{z-index:2}.hero-grid::before,.hero-grid::after{display:none}
@keyframes intro-dismiss{0%,45%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}@keyframes intro-logo{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes logo-arrive{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes copy-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-camera{from{transform:scale(1)}to{transform:scale(1.045)}}
@media(max-width:1050px){.wrap{width:calc(100% - 40px)}.nav{padding:10px 0;gap:12px}.nav .logo{width:230px}.menu{display:block;margin-left:8px;min-height:44px}.header-contact{margin-left:auto;padding:0}.header-contact span{font-size:11px}.header-contact a{font-size:18px}.nav nav{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:5px 0}.nav nav.open{display:grid}.hero-grid{min-height:630px;padding-block:80px 150px}.hero-copy{max-width:580px}html{scroll-padding-top:140px}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.header-contact{display:none}.nav .logo{width:210px}.nav{min-height:110px}.hero-grid{min-height:620px;padding-block:64px 155px}.hero h1{font-size:52px;letter-spacing:-1.3px}.hero .lead{font-size:16px;line-height:1.7;max-width:460px}.hero-slideshow::after{background:linear-gradient(90deg,#05233bef,#052b46a6 70%,#052b4685)}.hero-slide .image-watermark{display:none}.hero-slider-controls{right:auto;left:20px;bottom:90px}.hero-caption{font-size:14px;padding:12px 16px}.panel-bottom{padding-inline:16px;font-size:10px}.hero-copy .actions{gap:10px}.hero-copy .actions>*{width:auto;min-height:44px;padding:10px 14px;font-size:13px}.feature-grid div{font-size:13px}.dark .split>div:first-child{padding-left:18px}.service-box h3{font-size:20px}html{scroll-padding-top:116px}}
@media(max-width:440px){.nav .logo{width:190px}.hero-grid{min-height:620px;padding-top:55px}.hero h1{font-size:46px}.hero .kicker{font-size:11px;letter-spacing:1px}.hero-slider-controls{left:16px;gap:7px;flex-wrap:nowrap}.hero-slider-controls .outline{padding:7px 9px;font-size:11px}.hero-dots{gap:6px}.hero-dots button{width:10px;height:10px}.hero-copy .actions{flex-direction:column;align-items:flex-start}.hero-copy .actions>*{width:auto}.hero .lead{max-width:330px}.hero-caption{bottom:30px}.panel-bottom{font-size:9px}.feature-grid b{margin-right:6px}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}.nav .logo,.hero-copy,.hero-slide.active>img{animation:none}.hero-slide,.nav nav a{transition:none}}
.top .nav{transition:padding .25s ease,min-height .25s ease}.top .logo{transition:width .25s ease}.top .header-contact{transition:padding .25s ease}.top nav{transition:margin .25s ease}.top.is-compact .nav{padding-top:4px}.top.is-compact .logo{width:155px}.top.is-compact .header-contact{padding:0}.top.is-compact .header-contact span{display:none}.top.is-compact .header-contact a{font-size:17px}.top.is-compact nav{margin-top:4px}.top.is-compact nav a{min-height:39px;padding-block:7px;font-size:13px}html:has(.top.is-compact){scroll-padding-top:130px}
@media(max-width:1050px){.top.is-compact .nav{min-height:70px;padding:4px 0}.top.is-compact nav{margin:0}.top.is-compact .menu{min-height:38px;padding:6px 13px}.top.is-compact .logo{width:145px}html:has(.top.is-compact){scroll-padding-top:80px}}
@media(prefers-reduced-motion:reduce){.top .nav,.top .logo,.top .header-contact,.top nav{transition:none}}
