:root { --ng-navy:#12366f; --ng-navy-deep:#092650; --ng-green:#87ae42; --ng-green-soft:#eef5df; --ng-ink:#17243a; --ng-muted:#5e6d82; --ng-line:#dfe6ef; --ng-soft:#f5f8fc; --ng-white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ng-ink); background:var(--ng-white); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.ng-container { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.ng-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); border-bottom:1px solid var(--ng-line); backdrop-filter:blur(12px); }
.ng-nav { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ng-brand { display:flex; align-items:center; gap:10px; color:var(--ng-navy); font-size:14px; font-weight:800; letter-spacing:.01em; }
.ng-brand img { width:46px; height:46px; object-fit:contain; }
.ng-nav-links { display:flex; align-items:center; gap:20px; color:#42526a; font-size:14px; font-weight:700; }
.ng-nav-links a { padding:8px 0; }
.ng-nav-links a:hover,.ng-nav-links a.is-active { color:var(--ng-green); }
.ng-nav-actions { display:flex; align-items:center; gap:10px; }
.ng-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 19px; border:1px solid transparent; border-radius:7px; font-size:14px; font-weight:800; transition:transform .18s,background .18s,border-color .18s; }
.ng-button:hover { transform:translateY(-2px); }
.ng-button--primary { color:#fff; background:var(--ng-navy); box-shadow:0 10px 24px rgba(18,54,111,.18); }
.ng-button--primary:hover { background:var(--ng-navy-deep); }
.ng-button--client { min-height:40px; padding:0 12px; border-color:#cbd6e4; color:var(--ng-navy); background:#fff; font-size:13px; cursor:default; }
.ng-button--client svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }
.ng-button--client span { color:#738399; font-size:10px; font-weight:700; }
.ng-button--light { color:var(--ng-navy); border-color:#bdcadb; background:#fff; }
.ng-button--light:hover { border-color:var(--ng-navy); }
.ng-button--whatsapp { color:#fff; background:#228b5a; }
.ng-button--whatsapp:hover { background:#176b44; }
.ng-hero { position:relative; min-height:650px; overflow:hidden; color:#fff; background:var(--ng-navy-deep); }
.ng-hero__slides { position:absolute; inset:0; overflow:hidden; }
.ng-hero__slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; animation:ng-hero-fade 30s infinite; }
.ng-hero__slide:nth-child(1) { animation-delay:0s; }
.ng-hero__slide:nth-child(2) { animation-delay:6s; }
.ng-hero__slide:nth-child(3) { animation-delay:12s; }
.ng-hero__slide:nth-child(4) { animation-delay:18s; }
.ng-hero__slide:nth-child(5) { animation-delay:24s; }
@keyframes ng-hero-fade { 0%,16% { opacity:0; transform:scale(1); } 3%,13% { opacity:.82; } 16%,100% { opacity:0; transform:scale(1.03); } }
@media (prefers-reduced-motion:reduce) { .ng-hero__slide { animation:none; } .ng-hero__slide:first-child { opacity:.82; } }
.ng-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,25,55,.96) 0%,rgba(7,34,72,.84) 42%,rgba(7,34,72,.2) 76%); }
.ng-hero__content { position:relative; display:flex; align-items:center; min-height:650px; }
.ng-hero__copy { width:min(660px,100%); padding:80px 0; }
.ng-kicker { display:inline-flex; align-items:center; gap:9px; color:var(--ng-green); font-size:12px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.ng-kicker::before { width:25px; height:2px; background:currentColor; content:""; }
.ng-hero h1 { max-width:650px; margin:16px 0 20px; font-size:clamp(39px,5vw,66px); line-height:1.04; letter-spacing:-.045em; }
.ng-hero p { max-width:575px; margin:0; color:#e0e9f6; font-size:18px; }
.ng-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.ng-trust { display:flex; flex-wrap:wrap; gap:18px; margin-top:38px; color:#dce7f3; font-size:13px; font-weight:700; }
.ng-trust span { display:inline-flex; align-items:center; gap:8px; }
.ng-trust b { display:grid; width:21px; height:21px; place-items:center; border-radius:50%; color:var(--ng-navy-deep); background:#c5df93; }
.ng-section { padding:92px 0; }
.ng-section--soft { background:var(--ng-soft); }
.ng-section--dark { color:#fff; background:var(--ng-navy-deep); }
.ng-section__heading { max-width:700px; margin-bottom:40px; }
.ng-section__heading h2,.ng-copy h2,.ng-page-hero h1 { margin:9px 0 12px; color:var(--ng-navy-deep); font-size:clamp(30px,3.5vw,45px); line-height:1.12; letter-spacing:-.035em; }
.ng-section__heading p,.ng-copy p { margin:0; color:var(--ng-muted); }
.ng-grid { display:grid; gap:22px; }
.ng-grid--three { grid-template-columns:repeat(3,1fr); }
.ng-grid--two { grid-template-columns:repeat(2,1fr); }
.ng-card { height:100%; padding:29px; border:1px solid var(--ng-line); border-radius:14px; background:#fff; box-shadow:0 14px 34px rgba(17,42,82,.05); }
.ng-card__number { display:grid; width:46px; height:46px; margin-bottom:20px; place-items:center; border-radius:11px; color:var(--ng-green); background:var(--ng-green-soft); font-size:14px; font-weight:900; }
.ng-card h3 { margin:0 0 10px; color:var(--ng-navy); font-size:20px; line-height:1.25; }
.ng-card p { margin:0; color:var(--ng-muted); font-size:14px; }
.ng-card__link { display:inline-flex; margin-top:19px; color:var(--ng-navy); font-size:14px; font-weight:800; }
.ng-card__link:hover { color:var(--ng-green); }
.ng-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:65px; }
.ng-image-card { overflow:hidden; border-radius:16px; box-shadow:0 24px 55px rgba(18,54,111,.14); }
.ng-image-card img { width:100%; min-height:410px; object-fit:cover; }
.ng-list { display:grid; gap:15px; margin:25px 0 0; padding:0; list-style:none; }
.ng-list li { display:flex; gap:12px; align-items:flex-start; color:var(--ng-muted); }
.ng-list b { display:grid; flex:0 0 23px; width:23px; height:23px; place-items:center; border-radius:50%; color:#fff; background:var(--ng-green); font-size:13px; }
.ng-band { padding:58px; border-radius:18px; background:linear-gradient(118deg,#eaf3d9,#fff); border:1px solid #d7e5bd; text-align:center; }
.ng-band h2 { max-width:730px; margin:0 auto 12px; color:var(--ng-navy-deep); font-size:clamp(29px,3.5vw,42px); line-height:1.15; }
.ng-band p { max-width:630px; margin:0 auto; color:var(--ng-muted); }
.ng-band .ng-actions { justify-content:center; }
.ng-page-hero { padding:88px 0 72px; color:#fff; background:linear-gradient(118deg,var(--ng-navy-deep),var(--ng-navy)); }
.ng-page-hero h1 { max-width:770px; color:#fff; }
.ng-page-hero p { max-width:720px; margin:0; color:#dbe6f7; font-size:18px; }
.ng-detail { max-width:780px; }
.ng-detail h2 { margin:35px 0 10px; color:var(--ng-navy-deep); font-size:28px; }
.ng-detail p,.ng-detail li { color:var(--ng-muted); }
.ng-detail ul { padding-left:21px; }
.ng-faq { border-top:1px solid var(--ng-line); }
.ng-faq details { padding:20px 0; border-bottom:1px solid var(--ng-line); }
.ng-faq summary { cursor:pointer; color:var(--ng-navy); font-weight:800; }
.ng-faq p { margin:10px 0 0; color:var(--ng-muted); }
.ng-contact { display:grid; grid-template-columns:.88fr 1.12fr; overflow:hidden; border:1px solid var(--ng-line); border-radius:18px; background:#fff; box-shadow:0 20px 48px rgba(17,42,82,.08); }
.ng-contact__info { padding:42px; }
.ng-contact__info h2 { margin:10px 0 12px; color:var(--ng-navy-deep); font-size:37px; line-height:1.15; }
.ng-contact__info p { color:var(--ng-muted); }
.ng-contact__items { display:grid; gap:16px; margin-top:26px; }
.ng-contact__item { display:grid; grid-template-columns:36px 1fr; gap:12px; align-items:start; color:var(--ng-muted); font-size:14px; }
.ng-contact__item b { display:grid; width:36px; height:36px; place-items:center; border-radius:9px; color:var(--ng-green); background:var(--ng-green-soft); }
.ng-contact__item strong { display:block; color:var(--ng-navy); }
.ng-map { width:100%; min-height:100%; border:0; }
.ng-privacy { padding:32px; border-radius:14px; background:var(--ng-soft); }
.ng-privacy h2 { margin-top:28px; }
.ng-socials { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.ng-socials a { display:inline-flex; align-items:center; justify-content:center; min-width:39px; height:39px; padding:0 10px; border:1px solid rgba(255,255,255,.24); border-radius:8px; font-size:12px; font-weight:900; }
.ng-socials a:hover { color:var(--ng-navy-deep); background:#fff; }
.ng-footer { padding:54px 0 27px; color:#bdcbe0; background:#071d40; }
.ng-footer__top { display:grid; grid-template-columns:1.3fr 1fr 1fr .95fr; gap:35px; }
.ng-footer h3 { margin:0 0 13px; color:#fff; font-size:15px; }
.ng-footer p,.ng-footer li { margin:0; color:#bdcbe0; font-size:13px; }
.ng-footer ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.ng-footer a:hover { color:#fff; }
.ng-footer__brand { display:flex; align-items:center; gap:9px; margin-bottom:12px; color:#fff; font-weight:800; }
.ng-footer__brand img { width:42px; height:42px; object-fit:contain; }
.ng-footer__intranet p { margin-bottom:15px; }
.ng-worker-access { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 12px; border:1px solid rgba(255,255,255,.26); border-radius:7px; color:#fff; font-size:13px; font-weight:800; }
.ng-worker-access:hover { color:var(--ng-navy-deep)!important; background:#fff; }
.ng-worker-access svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }
.ng-footer__bottom { display:flex; justify-content:space-between; gap:20px; margin-top:38px; padding-top:21px; border-top:1px solid rgba(255,255,255,.12); color:#91a6c4; font-size:12px; }
.ng-whatsapp-float { position:fixed; z-index:50; right:24px; bottom:24px; display:inline-flex; align-items:center; gap:10px; min-height:55px; padding:0 18px 0 12px; border:2px solid #fff; border-radius:999px; color:#fff!important; background:#25d366; box-shadow:0 12px 28px rgba(15,86,50,.32); font-size:13px; font-weight:800; animation:ng-whatsapp-enter .55s ease-out both,ng-whatsapp-pulse 2.7s 1.1s infinite; transition:transform .2s ease,box-shadow .2s ease; }
.ng-whatsapp-float:hover { color:#fff!important; transform:translateY(-3px); box-shadow:0 16px 32px rgba(15,86,50,.42); }
.ng-whatsapp-float img { width:31px; height:31px; filter:brightness(0) invert(1); }
@keyframes ng-whatsapp-enter { from { opacity:0; transform:translateY(16px) scale(.86); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes ng-whatsapp-pulse { 0%,68%,100% { box-shadow:0 12px 28px rgba(15,86,50,.32),0 0 0 0 rgba(37,211,102,.44); } 82% { box-shadow:0 12px 28px rgba(15,86,50,.32),0 0 0 13px rgba(37,211,102,0); } }
@media (prefers-reduced-motion:reduce) { .ng-whatsapp-float { animation:none; } }
@media (max-width:900px) { .ng-nav-links { display:none; } .ng-grid--three { grid-template-columns:1fr; } .ng-split,.ng-contact { grid-template-columns:1fr; gap:35px; } .ng-contact__info { padding-bottom:32px; } .ng-map { min-height:340px; } .ng-footer__top { grid-template-columns:1fr 1fr; } .ng-image-card img { min-height:310px; } }
@media (max-width:560px) { .ng-container { width:min(100% - 28px,1160px); } .ng-brand span,.ng-button--client span,.ng-whatsapp-float span { display:none; } .ng-nav { min-height:67px; gap:12px; } .ng-nav-actions { gap:6px; } .ng-button { padding:0 14px; } .ng-button--client { padding:0 10px; } .ng-hero,.ng-hero__content { min-height:610px; } .ng-hero__shade { background:linear-gradient(90deg,rgba(5,25,55,.94),rgba(7,34,72,.64)); } .ng-hero__copy { padding:60px 0; } .ng-hero h1 { font-size:40px; } .ng-hero p { font-size:16px; } .ng-actions { display:grid; } .ng-actions .ng-button { width:100%; } .ng-section { padding:65px 0; } .ng-grid--two,.ng-footer__top { grid-template-columns:1fr; } .ng-band { padding:37px 22px; } .ng-contact__info { padding:30px 23px; } .ng-contact__info h2 { font-size:32px; } .ng-footer__bottom { flex-direction:column; } .ng-whatsapp-float { right:18px; bottom:18px; width:58px; min-height:58px; padding:0; justify-content:center; } }
@media (min-width:561px) and (max-width:767px) { .ng-whatsapp-float span { display:none; } .ng-whatsapp-float { right:18px; bottom:18px; width:58px; min-height:58px; padding:0; justify-content:center; } }
