
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{
  --ink:#07131f;
  --ink-2:#0f2233;
  --blue:#0d4f86;
  --blue-2:#176da8;
  --steel:#6f8294;
  --muted:#67798a;
  --line:#d9e2ea;
  --soft:#f3f7fb;
  --white:#ffffff;
  --dark:#081522;
  --gold:#b89558;
  --red:#c34444;
  --shadow:0 24px 70px rgba(7,19,31,.12);
  --container:min(1180px, calc(100% - 48px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Poppins', system-ui, -apple-system, Segoe UI, sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
::selection{background:#0d4f86;color:white}

.container{width:var(--container);margin-inline:auto}
.section{padding:92px 0}
.section-tight{padding:64px 0}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--blue);
}
.kicker::before{content:"";width:34px;height:1px;background:var(--blue)}
.display{
  font-size:clamp(2.25rem,4.2vw,4.75rem);
  line-height:1.02;letter-spacing:-.055em;margin:14px 0 22px;font-weight:700;
}
.display span{color:var(--blue-2)}
.section-title{font-size:clamp(2rem,3.4vw,4rem);line-height:1.04;letter-spacing:-.055em;margin:10px 0 16px;font-weight:700}
.lead{font-size:1.05rem;color:var(--muted);max-width:710px}
.muted{color:var(--muted)}
.eyebrow{font-size:.77rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--blue)}

.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(217,226,234,.7);
}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:var(--container);margin-inline:auto}
.brand{display:flex;align-items:center;gap:13px;font-weight:800;letter-spacing:.02em}
.brand-mark{width:42px;height:42px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:-.08em}
.brand small{display:block;font-size:.66rem;font-weight:600;letter-spacing:.2em;color:var(--muted);margin-top:-4px}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-link,.drop-trigger{
  border:0;background:transparent;color:var(--ink-2);padding:13px 14px;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;cursor:pointer;
}
.nav-link{position:relative}
.nav-link::after,.drop-trigger::after{
  content:"";position:absolute;left:14px;right:14px;bottom:8px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:.28s ease;
}
.nav-link:hover::after,.nav-link.is-active::after,.dropdown:hover .drop-trigger::after{transform:scaleX(1)}
.dropdown{position:relative}
.drop-trigger{position:relative}
.dropdown-menu{
  position:absolute;top:100%;left:0;width:300px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(12px);transition:.24s ease;
}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #edf2f6;font-size:.86rem;font-weight:600;color:var(--ink-2)}
.dropdown-menu a:last-child{border-bottom:0}
.dropdown-menu a:hover{background:var(--soft);color:var(--blue)}
.header-actions{display:flex;align-items:center;gap:10px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:46px;padding:0 22px;border:1px solid transparent;border-radius:2px;
  font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:.28s ease;
}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-primary:hover{background:#0a3d68;border-color:#0a3d68;transform:translateY(-2px);box-shadow:0 16px 34px rgba(13,79,134,.22)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-dark:hover{background:#000;transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--ink);border-color:#9baab7}
.btn-outline:hover{border-color:var(--ink);background:var(--ink);color:#fff;transform:translateY(-2px)}
.btn-on-dark{color:#fff;border-color:rgba(255,255,255,.55);background:transparent}
.btn-on-dark:hover{background:#fff;color:var(--ink);border-color:#fff;box-shadow:none}
.btn-light{background:#fff;color:var(--ink);border-color:#fff}
.btn-light:hover{background:transparent;color:#fff}
.icon-btn{width:46px;height:46px;border:1px solid #cfdbe5;background:#fff;border-radius:2px;display:grid;place-items:center;cursor:pointer;transition:.25s ease}
.icon-btn:hover{border-color:var(--ink);transform:translateY(-2px)}
.menu-toggle{display:none}

.hero{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.hero-grid{min-height:680px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:42px;padding:64px 0 108px}
.hero-copy{position:relative;z-index:2;max-width:720px}
.hero .display{font-size:clamp(2.2rem,3.9vw,4.35rem);line-height:1.03;letter-spacing:-.048em;max-width:760px}
.hero .kicker{color:#9fd2f6}.hero .kicker::before{background:#9fd2f6}
.hero .lead{color:#d6e1ea;max-width:640px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-visual{position:relative;z-index:1;min-height:520px}
.hero-visual img{width:100%;height:570px;object-fit:cover;filter:saturate(.9) contrast(1.05)}
.hero-visual::before{content:"";position:absolute;inset:28px -28px -28px 28px;border:1px solid rgba(255,255,255,.24);z-index:-1}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,21,34,.1),rgba(8,21,34,.34));pointer-events:none}
.hero-line{position:absolute;inset:auto 0 0 0;height:86px;background:#fff}
.stats-rail{
  position:relative;margin-top:-86px;z-index:5;background:rgba(7,19,31,.96);color:#fff;border:1px solid rgba(255,255,255,.12);
  display:grid;grid-template-columns:repeat(4,1fr);box-shadow:var(--shadow)
}
.stat{padding:30px 30px;border-right:1px solid rgba(255,255,255,.13)}
.stat:last-child{border-right:0}
.stat strong{display:block;font-size:2.05rem;line-height:1;color:#d3ecff;font-weight:600;letter-spacing:-.05em}
.stat span{font-size:.78rem;color:#c2ced9;display:block;margin-top:8px}

.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:start}
.title-side{position:sticky;top:112px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card,.sector-card,.value-card,.project-card,.office-card,.product-mini,.team-card{
  background:#fff;border:1px solid var(--line);transition:.3s ease;position:relative;overflow:hidden;
}
.service-card:hover,.sector-card:hover,.value-card:hover,.project-card:hover,.office-card:hover,.product-mini:hover,.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#b8c7d3}
.service-card img,.project-card img,.product-mini img{width:100%;height:220px;object-fit:cover}
.service-body,.project-body,.product-mini-body{padding:24px}
.service-card h3,.sector-card h3,.value-card h3,.project-card h3,.office-card h3,.product-mini h3,.team-card h3{margin:0 0 8px;font-size:1.1rem;line-height:1.25;letter-spacing:-.025em}
.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--blue)}
.card-link::after{content:"→";transition:.25s ease}.service-card:hover .card-link::after,.project-card:hover .card-link::after,.product-mini:hover .card-link::after{transform:translateX(5px)}

.dark-band{background:var(--dark);color:#fff;position:relative;overflow:hidden}
.dark-band::after{content:"";position:absolute;right:-120px;bottom:-120px;width:440px;height:440px;border:1px solid rgba(255,255,255,.08);transform:rotate(35deg)}
.dark-band .lead,.dark-band .muted{color:#c7d2dd}.dark-band .kicker{color:#8fc6ee}.dark-band .kicker::before{background:#8fc6ee}
.dark-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.dark-card{border:1px solid rgba(255,255,255,.13);padding:28px;background:rgba(255,255,255,.025);transition:.28s ease;min-height:180px}
.dark-card:hover{background:rgba(255,255,255,.07);transform:translateY(-4px)}
.dark-card .icon{font-size:1.6rem;margin-bottom:18px;color:#9fd2f6}
.dark-card h3{margin:0 0 8px;font-size:1rem}.dark-card p{margin:0;color:#c7d2dd;font-size:.9rem}

.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative}
.step{position:relative;background:#fff;border-top:2px solid var(--blue);padding:22px 16px;min-height:174px}
.step strong{width:36px;height:36px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:.85rem;margin-bottom:16px}
.step h3{font-size:.95rem;margin:0 0 6px}.step p{font-size:.82rem;margin:0;color:var(--muted)}

.feature-block{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--soft);border:1px solid var(--line)}
.feature-copy{padding:58px}.feature-media img{height:100%;min-height:420px;width:100%;object-fit:cover}
.check-list{display:grid;gap:12px;margin:26px 0 0;padding:0;list-style:none}
.check-list li{display:flex;gap:12px;align-items:flex-start;color:var(--ink-2)}
.check-list li::before{content:"";width:8px;height:8px;background:var(--blue);margin-top:9px;flex:0 0 auto}

.projects-shell{display:grid;grid-template-columns:.86fr 1.14fr;gap:32px;align-items:center}
.carousel{position:relative;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.carousel-track{display:flex;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.slide{min-width:100%;display:grid;grid-template-columns:.9fr 1.1fr;min-height:390px}
.slide img{height:100%;width:100%;object-fit:cover}
.slide-info{padding:42px;display:flex;flex-direction:column;justify-content:center}
.slide-info h3{font-size:2rem;line-height:1.05;letter-spacing:-.045em;margin:0 0 12px}
.carousel-controls{display:flex;gap:10px;margin-top:24px}
.arrow{width:48px;height:48px;border:1px solid var(--line);background:#fff;cursor:pointer;transition:.25s ease;border-radius:2px}
.arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

.page-hero{background:var(--dark);color:#fff;padding:76px 0;position:relative;overflow:hidden}
.page-hero .container{display:grid;grid-template-columns:1fr .62fr;gap:48px;align-items:center}
.page-hero h1{font-size:clamp(2.3rem,4.5vw,5rem);line-height:.98;letter-spacing:-.06em;margin:12px 0 18px}
.page-hero p{color:#d2dde8;max-width:720px}
.page-hero img{height:330px;width:100%;object-fit:cover;border:1px solid rgba(255,255,255,.18)}
.breadcrumb{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#9fd2f6;font-weight:700}

.product-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.product-nav a{border:1px solid var(--line);padding:11px 14px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.product-nav a:hover,.product-nav a.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}

.product-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.product-detail{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:start}
.spec-panel{background:var(--soft);border:1px solid var(--line);padding:30px}
.spec-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.spec-list li{background:#fff;border:1px solid #e2eaf1;padding:12px 14px;font-size:.92rem;display:flex;justify-content:space-between;gap:12px}.spec-list span{color:var(--muted)}
.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.app-item{border:1px solid var(--line);padding:20px;background:#fff}.app-item strong{display:block;margin-bottom:4px}

.tabs{margin-top:34px}.tab-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tab-btn{border:1px solid var(--line);background:#fff;padding:12px 16px;cursor:pointer;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;border-radius:2px}.tab-btn.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.tab-panel{display:none}.tab-panel.is-active{display:block;animation:fadeUp .45s ease both}

.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.value-card{padding:28px}.value-card .num{color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.16em;margin-bottom:14px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.team-card{padding:28px;background:var(--soft)}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sector-card{padding:20px;min-height:116px}.sector-card h3{font-size:.98rem}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card img{height:250px}.project-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.tag{border:1px solid #ccd8e2;padding:6px 8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--blue);background:#fff}
.offices{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.office-card{padding:32px}.office-card a{color:var(--blue);font-weight:700}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px}.form{background:#fff;border:1px solid var(--line);padding:32px;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.field input,.field textarea,.field select{border:1px solid #cfdbe5;padding:13px 14px;border-radius:2px;background:#fff;color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(13,79,134,.16);border-color:var(--blue)}textarea{resize:vertical;min-height:130px}
.faq{border:1px solid var(--line);background:#fff;contain:layout paint}.faq-item{border-bottom:1px solid var(--line);background:#fff}.faq-item:last-child{border-bottom:0}.faq-q{width:100%;display:flex;justify-content:space-between;gap:22px;align-items:center;text-align:left;border:0;background:#fff;padding:22px 28px;cursor:pointer;font-weight:700;color:var(--ink);transition:background .22s ease,color .22s ease}.faq-q:hover{background:#f8fbfd}.faq-q span:first-child{display:block;line-height:1.35}.faq-q span:last-child{width:32px;height:32px;border:1px solid #cfdbe5;display:grid;place-items:center;flex:0 0 auto;font-size:1.15rem;color:var(--blue);line-height:1;transition:transform .24s ease,background .24s ease,color .24s ease}.faq-item.is-open .faq-q{background:#f8fbfd}.faq-item.is-open .faq-q span:last-child{transform:rotate(45deg);background:var(--blue);color:#fff;border-color:var(--blue)}.faq-a{height:0;overflow:hidden;color:var(--muted);transition:height .28s cubic-bezier(.22,.61,.36,1);will-change:height}.faq-a p{margin:0;padding:0 28px 24px;max-width:900px}
.cta-band{background:var(--blue);color:#fff;padding:56px 0}.cta-band .container{display:flex;justify-content:space-between;gap:24px;align-items:center}.cta-band h2{font-size:clamp(1.9rem,3vw,3rem);line-height:1.05;margin:0;letter-spacing:-.04em}.cta-band p{color:#e5f1fa;max-width:600px}
.site-footer{background:#06111d;color:#d7e0e8;padding:62px 0 26px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .8fr .8fr;gap:34px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-grid h3{margin:0 0 14px;color:#fff}.footer-grid a{display:block;color:#b8c6d2;margin:8px 0;font-size:.9rem}.footer-grid a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:22px;color:#8fa1b2;font-size:.82rem}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

@media (max-width:1060px){
  .nav-links{position:fixed;inset:82px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;padding:14px 24px 24px;box-shadow:var(--shadow)}
  .nav-links.is-open{display:flex}.dropdown-menu{position:static;width:100%;opacity:1;visibility:visible;transform:none;box-shadow:none;border:1px solid var(--line);display:none}.dropdown.is-open .dropdown-menu{display:block}.drop-trigger{width:100%;text-align:left}.menu-toggle{display:grid}.nav{height:78px}.header-actions .btn{display:none}
  .hero-grid,.split,.process,.projects-shell,.page-hero .container,.product-detail,.contact-grid{grid-template-columns:1fr}.hero-grid{min-height:auto;padding:58px 0 112px}.hero-visual img{height:430px}.title-side{position:static}.card-grid,.dark-card-grid,.value-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.slide{grid-template-columns:1fr}.slide img{height:290px}.feature-block{grid-template-columns:1fr}.sector-grid,.project-grid,.app-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.stats-rail{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.page-hero img{height:280px}
}
@media (max-width:700px){
  :root{--container:min(100% - 28px, 1180px)}.section{padding:68px 0}.nav{width:calc(100% - 28px)}.brand small{display:none}.display{font-size:2.75rem}.hero .display{font-size:clamp(2.15rem,10vw,3.05rem);letter-spacing:-.04em}.hero-actions,.cta-band .container,.footer-bottom{flex-direction:column;align-items:flex-start}.hero-visual::before{display:none}.stats-rail,.card-grid,.dark-card-grid,.steps,.product-overview,.sector-grid,.project-grid,.value-grid,.team-grid,.offices,.app-grid,.form-row{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.stat:last-child{border-bottom:0}.feature-copy,.slide-info,.form{padding:28px}.hero-visual img{height:330px}.faq-q{padding:20px 18px}.faq-a p{padding:0 18px 22px}.footer-grid{grid-template-columns:1fr}.page-hero{padding:52px 0}.page-hero img{height:220px}.nav-link,.drop-trigger{padding:13px 0}.dropdown-menu a{padding-left:10px}
}
