*{box-sizing:border-box;margin:0;padding:0}
:root{--blue:#07529a;--navy:#062f59;--text:#18222d;--muted:#5f6b78;--line:#dfe5eb;--light:#f5f8fb}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.6;background:#fff}
a{text-decoration:none;color:inherit}
.container{width:min(1160px,92%);margin:auto}
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;flex-direction:column;line-height:.95}
.brand-main{font-size:40px;font-weight:800;letter-spacing:-2px;color:var(--blue)}
.brand-sub{font-size:14px;font-weight:700;text-transform:lowercase;letter-spacing:2px;text-align:center;color:#252b32}
.menu{display:flex;gap:28px;font-size:14px;font-weight:700}
.menu a:hover{color:var(--blue)}
.menu-btn{display:none;background:none;border:0;font-size:28px;color:var(--blue)}
.hero{background:linear-gradient(135deg,#f8fbff 0%,#fff 55%,#eef5fc 100%);padding:110px 0 100px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-100px;bottom:-150px;width:480px;height:480px;background:var(--blue);transform:rotate(32deg);opacity:.08}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.eyebrow{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:2.4px;margin-bottom:14px}
h1{font-size:clamp(46px,6vw,76px);line-height:1.02;letter-spacing:-3px;margin-bottom:25px}
h1 span{color:var(--blue)}
.hero-text{font-size:19px;color:var(--muted);max-width:680px}
.buttons{display:flex;gap:14px;margin-top:30px}
.btn{display:inline-block;padding:13px 22px;border-radius:4px;font-weight:700;border:1px solid var(--blue)}
.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--navy)}
.secondary{color:var(--blue);background:#fff}
.hero-card{min-height:360px;background:var(--navy);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:35px;color:#fff;box-shadow:0 22px 55px rgba(6,47,89,.18)}
.circle{position:absolute;width:360px;height:360px;border:65px solid #1c74c5;border-radius:50%;right:-120px;top:-110px;opacity:.8}
.hero-card-content{position:relative;z-index:2}.hero-card small{letter-spacing:3px}.hero-card strong{display:block;font-size:31px;line-height:1.15;margin:12px 0}
.section{padding:90px 0}.light{background:var(--light)}
.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}
h2{font-size:42px;line-height:1.1;letter-spacing:-1.5px;margin-bottom:18px}
.two-col p{color:var(--muted);font-size:17px;margin-bottom:16px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:35px}
.card{background:#fff;border:1px solid var(--line);padding:28px;min-height:250px;transition:.25s}
.card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(0,0,0,.08)}
.icon{color:var(--blue);font-size:13px;font-weight:800;margin-bottom:35px}
.card h3{font-size:22px;margin-bottom:10px}.card p{color:var(--muted);font-size:14px}
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.industry-grid span{padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:700}
.dark{background:var(--navy);color:#fff}.dark .eyebrow{color:#66b4ff}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:40px}
.steps div{border-top:1px solid rgba(255,255,255,.25);padding-top:20px}
.steps b{color:#66b4ff}.steps h3{margin:10px 0}.steps p{color:#cbd7e4;font-size:14px}
.contact{background:#f8fafc}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.contact-grid>div>p{color:var(--muted);font-size:17px}
.address{border:1px solid var(--line);border-left:4px solid var(--blue);padding:28px 30px;background:#fff}
.address .card-person{color:var(--blue);font-weight:800;font-size:18px;margin-bottom:4px}
.address .card-company{display:block;color:var(--text);font-size:20px;letter-spacing:.2px;text-transform:none;line-height:1.25}
.address .card-tags{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.4px;line-height:1.55;margin:12px 0 16px}
.card-links{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;font-weight:700;color:var(--blue)}
.card-addresses p{color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 12px}
.card-addresses b{color:var(--text)}
.card-certs{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-top:4px;font-weight:800;color:var(--text)}
footer{background:#061e38;color:#dce7f2;padding:25px 0;font-size:12px}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-inner strong{color:#fff;font-size:18px}
@media(max-width:850px){.menu{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}.menu.open{display:flex}.menu-btn{display:block}.hero-grid,.two-col,.contact-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.industry-grid{grid-template-columns:1fr 1fr}.hero{padding:75px 0}.two-col{gap:30px}}
@media(max-width:520px){.brand-main{font-size:32px}.cards,.steps,.industry-grid{grid-template-columns:1fr}h2{font-size:34px}.hero-text{font-size:16px}.buttons{flex-direction:column}.btn{text-align:center}}


/* Portfolio */
.portfolio { background: #f7f9fc; }
.section-intro { max-width: 760px; margin: 0 0 34px; color: #566274; font-size: 1.05rem; line-height: 1.7; }
.portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.portfolio-card { position: relative; background: #fff; border: 1px solid #e2e7ef; border-radius: 18px; padding: 30px; box-shadow: 0 12px 30px rgba(15, 35, 60, .06); transition: transform .25s ease, box-shadow .25s ease; }
.portfolio-card:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(15, 35, 60, .11); }
.portfolio-card h3 { margin: 28px 0 10px; font-size: 1.35rem; color: #102b4e; }
.portfolio-card p { color: #5b6675; line-height: 1.65; min-height: 78px; }
.portfolio-card a { display: inline-block; margin-top: 14px; color: #0756a4; font-weight: 700; text-decoration: none; }
.portfolio-no { position: absolute; top: 22px; right: 24px; font-size: .8rem; font-weight: 800; letter-spacing: .08em; color: #0b63b6; }
@media (max-width: 900px) { .portfolio-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .portfolio-grid { grid-template-columns: 1fr; } .portfolio-card p { min-height: auto; } }
