:root{
--gp-navy:#0b1836;
--gp-navy-dark:#070f24;
--gp-navy-panel:#0d1b3e;
--gp-blue:#1f52c9;
--gp-red:#d81f2a;
--gp-red-dark:#b01820;
--gp-amber:#f6b31c;
--gp-wa:#22c15e;
--gp-wa-dark:#1aa64f;
--gp-ink:#12203f;
--gp-muted:#5b6274;
--gp-line:#e6e8ee;
}

body{font-family:'Barlow',sans-serif;color:var(--gp-ink);margin:0;padding:0;background:#ffffff;}
h1,h2,h3,h4,.gp-brand-text,.gp-h2{font-family:'Montserrat',sans-serif;font-weight:800;}
a{text-decoration:none;}
img{max-width:100%;height:auto;}

.gp-red{color:var(--gp-red);}
.gp-amber{color:var(--gp-amber);}

.gp-btn-wa{background:var(--gp-wa);border:0;color:#ffffff;font-weight:600;border-radius:10px;padding:10px 20px;line-height:1.1;}
.gp-btn-wa:hover{background:var(--gp-wa-dark);color:#ffffff;}
.gp-btn-lg{padding:14px 26px;}
.gp-btn-ico{display:inline-block;vertical-align:middle;width:40px;height:40px;line-height:40px;text-align:center;background:rgba(255,255,255,0.18);border-radius:50%;font-size:20px;margin-right:12px;}
.gp-btn-copy{display:inline-block;vertical-align:middle;text-align:left;}
.gp-btn-main{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:0.4px;}
.gp-btn-note{display:block;font-size:13px;font-weight:400;opacity:0.92;}
.gp-btn-outline-red{border:2px solid var(--gp-red);color:var(--gp-red);background:transparent;font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;border-radius:8px;padding:11px 26px;}
.gp-btn-outline-red:hover{background:var(--gp-red);color:#ffffff;}

.gp-header{position:relative;z-index:20;}
.gp-navbar{background:var(--gp-navy-dark);padding:10px 0;}
.gp-brand-text{color:#ffffff;font-size:26px;letter-spacing:1px;text-transform:uppercase;line-height:1;}
.gp-brand-text span{color:var(--gp-red);}
.gp-navbar .custom-logo{max-height:85px;width:auto;}
.gp-navbar .navbar-toggler{border-color:rgba(255,255,255,0.4);}
.gp-navbar .navbar-toggler-icon{filter:invert(1);}
.gp-menu .nav-link{color:#e7ecf7;font-weight:500;font-size:18px;text-transform:uppercase;letter-spacing:0.6px;padding:8px 14px;position:relative;}
.gp-menu .nav-link:hover{color:#ffffff;}
.gp-menu .nav-link.active{color:#ffffff;}
.gp-menu .nav-link.active:after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:3px;background:var(--gp-red);border-radius:2px;}
.gp-nav-wa{margin-left:16px;}

.gp-hero{position:relative;overflow:hidden;background-color:var(--gp-navy-dark);min-height:700px;display:flex;align-items:center;}
.gp-hero-slides{position:absolute;inset:0;z-index:0;overflow:hidden;}
.gp-hero-slide{position:absolute;inset:-2px;background-repeat:no-repeat;background-position:52% center;background-size:cover;opacity:0;transform:scale(1.002);transition:opacity 1.15s ease-in-out,transform 7s ease-out;will-change:opacity,transform;}
.gp-hero-slide.is-active{opacity:1;transform:scale(1.025);}
.gp-hero-overlay{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(4,12,30,.98) 0%,rgba(4,12,30,.93) 22%,rgba(4,12,30,.72) 35%,rgba(4,12,30,.24) 49%,rgba(4,12,30,.04) 62%,rgba(4,12,30,.08) 100%);pointer-events:none;}
.gp-hero-overlay:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,12,30,.36) 0%,transparent 28%,transparent 72%,rgba(4,12,30,.12) 100%);}
.gp-hero-inner{position:relative;z-index:2;padding:88px 0 110px;width:100%;}
.gp-hero-inner .col-lg-6{max-width:600px;}
.gp-hero-title{color:#ffffff;font-size:58px;line-height:1.01;text-transform:uppercase;margin:0 0 24px;text-shadow:0 3px 18px rgba(0,0,0,.22);}
.gp-hero-sub{color:#ffffff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:24px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 18px;}
.gp-hero-checks{list-style:none;padding:0;margin:0 0 32px;display:flex;gap:26px;flex-wrap:wrap;}
.gp-hero-checks li{display:inline-flex;align-items:center;color:#ffffff;font-size:17px;font-weight:600;margin:0;}
.gp-hero-checks li i{color:var(--gp-amber);margin-right:8px;}
.gp-hero-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.42);background:rgba(4,12,30,.48);color:#fff;display:flex;align-items:center;justify-content:center;font-size:23px;transition:.2s ease;backdrop-filter:blur(4px);}
.gp-hero-arrow:hover{background:rgba(4,12,30,.8);border-color:#fff;}
.gp-hero-prev{left:26px;}
.gp-hero-next{right:26px;}
.gp-hero-dots{position:absolute;z-index:4;left:50%;bottom:34px;transform:translateX(-50%);display:flex;gap:14px;align-items:center;}
.gp-hero-dot{width:12px;height:12px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 1px 5px rgba(0,0,0,.25);transition:.2s ease;}
.gp-hero-dot.is-active{background:var(--gp-red);transform:scale(1.12);}
.gp-hero-dot:focus-visible,.gp-hero-arrow:focus-visible{outline:3px solid #fff;outline-offset:3px;}

.gp-trust{background:var(--gp-navy);border-top:4px solid var(--gp-red);padding:22px 0;font-size:18px;text-align:center;}
.gp-trust-item{color:#ffffff;padding:10px 14px;}
.gp-trust-ico{display:block;font-size:45px;color:#cfd8ef;margin-right:0;margin-bottom:10px;}
.gp-trust-txt{display:inline-block;vertical-align:middle;}
.gp-trust-t{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:inherit;text-transform:uppercase;line-height:1.15;}
.gp-trust-s{display:block;color:#9fb0d8;font-size:inherit;}

.gp-section{padding:74px 0;}
.gp-head{margin-bottom:46px;}
.gp-eyebrow{display:block;color:var(--gp-red);font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:14px;margin-bottom:8px;}
.gp-eyebrow-muted{color:#9fb0d8;}
.gp-h2{color:var(--gp-navy);font-size:34px;text-transform:uppercase;margin:0;line-height:1.1;}
.gp-h2-light{color:#ffffff;}
.gp-underline{position:relative;}
.gp-underline:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:4px;background:var(--gp-red);border-radius:2px;}

.gp-svc-card{background:#ffffff;border:1px solid var(--gp-line);border-radius:14px;box-shadow:0 8px 26px rgba(11,24,54,0.08);overflow:visible;height:100%;}
.gp-svc-media{position:relative;height:180px;background-color:var(--gp-navy);background-size:cover;background-position:center;border-radius:14px 14px 0 0;}
.gp-svc-icon{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);width:56px;height:56px;line-height:56px;text-align:center;background:var(--gp-red);color:#ffffff;font-size:24px;border-radius:50%;border:4px solid #ffffff;}
.gp-svc-body{padding:40px 20px 26px;text-align:center;}
.gp-svc-title{color:var(--gp-navy);font-size:19px;text-transform:uppercase;margin:0 0 8px;}
.gp-svc-text{color:var(--gp-muted);font-size:15px;margin:0;line-height:1.55;}
.gp-services-cta{margin-top:44px;}

.gp-why{background:var(--gp-navy-panel);}
.gp-why-lead{color:#aab6d8;font-size:15px;line-height:1.6;margin-top:12px;}
.gp-why-items .gp-why-item{padding:8px 14px;}
.gp-why-ico{display:inline-block;width:56px;height:56px;line-height:56px;text-align:center;background:var(--gp-blue);color:#ffffff;font-size:24px;border-radius:50%;margin-bottom:12px;}
.gp-why-t{display:block;color:#ffffff;font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;font-size:16px;margin-bottom:4px;}
.gp-why-s{display:block;color:#9fb0d8;font-size:inherit;line-height:1.45;}

.gp-gallery .gp-gal-item{height:180px;border-radius:10px;background-color:var(--gp-navy);background-size:cover;background-position:center;}
.gp-gallery-cta{margin-top:40px;}

.gp-cta-band{background:var(--gp-red);color:#ffffff;padding:40px 0;}
.gp-cta-phone{color:#ffffff;display:block;}
.gp-cta-phone:hover{color:#ffffff;opacity:0.95;}
.gp-cta-ico{display:inline-block;vertical-align:middle;font-size:40px;margin-right:16px;}
.gp-cta-copy{display:inline-block;vertical-align:middle;}
.gp-cta-small{display:block;font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:0.5px;}
.gp-cta-big{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:34px;line-height:1.05;}
.gp-cta-sub{display:block;font-size:13px;opacity:0.9;}
.gp-cta-feat{padding:6px 12px;}
.gp-cta-feat i{font-size:26px;display:block;margin-bottom:6px;}
.gp-feat-t{display:block;font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;font-size:15px;}
.gp-feat-s{display:block;font-size:13px;opacity:0.92;}

.gp-footer{background:var(--gp-navy-dark);color:#c8d1ea;padding:48px 0 22px;}
.gp-foot-brand .gp-brand-text{font-size:24px;}
.gp-foot-about{margin-top:12px;font-size:14px;color:#aab6d8;line-height:1.55;}
.gp-foot-title{color:#ffffff;font-size:18px;text-transform:uppercase;margin-bottom:14px;}
.gp-foot-menu,.gp-foot-contact{list-style:none;padding:0;margin:0;}
.gp-foot-menu li,.gp-foot-contact li{margin-bottom:9px;font-size:15px;}
.gp-foot-menu a,.gp-foot-contact a{color:#c8d1ea;}
.gp-foot-menu a:hover,.gp-foot-contact a:hover{color:var(--gp-amber);}
.gp-foot-contact i{color:var(--gp-amber);margin-right:8px;}
.gp-foot-bottom{border-top:1px solid #24345f;margin-top:32px;padding-top:18px;text-align:center;color:#8a97bd;font-size:13px;}
.gp-foot-social a{display:inline-block;width:36px;height:36px;line-height:36px;text-align:center;background:var(--gp-navy-panel);color:#c8d1ea;border-radius:50%;margin-right:8px;font-size:18px;}
.gp-foot-social a:hover{background:var(--gp-red);color:#ffffff;}

.gp-wa-float{position:fixed;right:20px;bottom:20px;width:58px;height:58px;line-height:58px;text-align:center;background:var(--gp-wa);color:#ffffff;font-size:30px;border-radius:50%;box-shadow:0 8px 20px rgba(0,0,0,0.3);z-index:1030;}
.gp-wa-float:hover{background:var(--gp-wa-dark);color:#ffffff;}

.gp-page-hero{background:var(--gp-navy);border-bottom:4px solid var(--gp-red);color:#ffffff;padding:56px 0;text-align:center;}
.gp-page-hero h1{color:#ffffff;font-size:38px;text-transform:uppercase;margin:0;}
.gp-page-hero .gp-crumb{color:#9fb0d8;font-size:14px;margin-top:10px;}
.gp-page-hero .gp-crumb a{color:#9fb0d8;}
.gp-page-hero .gp-crumb a:hover{color:var(--gp-amber);}

.gp-content{padding:64px 0;}
.gp-content p{color:#3a4258;font-size:16px;line-height:1.75;}
.gp-content h2{color:var(--gp-navy);font-size:26px;margin:26px 0 12px;text-transform:uppercase;}
.gp-content h3{color:var(--gp-navy);font-size:20px;margin:22px 0 10px;}
.gp-content ul{padding-left:20px;}
.gp-content ul li{margin-bottom:8px;color:#3a4258;}

.gp-zonas .gp-zona{background:#f4f6fb;border:1px solid var(--gp-line);border-radius:10px;padding:16px 18px;font-size:16px;color:var(--gp-navy);font-weight:500;height:100%;}
.gp-zonas .gp-zona i{color:var(--gp-red);margin-right:10px;}

.gp-contact-card{background:#f4f6fb;border:1px solid var(--gp-line);border-radius:12px;padding:24px;height:100%;}
.gp-contact-card h3{color:var(--gp-navy);font-size:18px;text-transform:uppercase;margin-bottom:14px;}
.gp-contact-card ul{list-style:none;padding:0;margin:0;}
.gp-contact-card li{margin-bottom:12px;font-size:16px;color:#3a4258;}
.gp-contact-card li i{color:var(--gp-red);width:22px;display:inline-block;}
.gp-form-fallback{background:#fff6f6;border:1px solid #f3c9c9;border-radius:10px;padding:20px;}
.wpcf7 .form-control,.wpcf7 input.wpcf7-form-control,.wpcf7 textarea.wpcf7-form-control{width:100%;border:1px solid var(--gp-line);border-radius:8px;padding:11px 14px;font-size:15px;margin-bottom:14px;}
.wpcf7 .wpcf7-submit{background:var(--gp-wa);border:0;color:#ffffff;font-weight:600;border-radius:8px;padding:12px 26px;font-size:16px;}
.wpcf7 .wpcf7-submit:hover{background:var(--gp-wa-dark);}

@media (min-width:992px){
.gp-trust-item{border-left:1px solid rgba(255,255,255,0.14);}
.gp-trust-row > div:first-child{border-left:0;}
.gp-why-items .gp-why-item{border-left:1px solid rgba(255,255,255,0.12);}
.gp-why-items > div:first-child{border-left:0;}
.gp-cta-feat{border-left:1px solid rgba(255,255,255,0.3);}
.gp-cta-feats > div:first-child{border-left:0;}
}

@media (max-width:991px){
.gp-hero{min-height:620px;}
.gp-hero-slide{background-position:center center;}
.gp-hero-overlay{background:linear-gradient(90deg,rgba(4,12,30,.91) 0%,rgba(4,12,30,.72) 55%,rgba(4,12,30,.38) 100%);}
.gp-hero-inner{padding:72px 0 90px;}
.gp-hero-title{font-size:44px;}
.gp-hero-prev{left:14px;}
.gp-hero-next{right:14px;}
.gp-hero-arrow{width:44px;height:44px;}
.gp-nav-wa{margin-left:0;margin-top:10px;display:inline-block;}
.gp-cta-phone{text-align:center;}
.gp-cta-band{text-align:center;}
}

@media (max-width:575px){
.gp-hero{min-height:590px;align-items:flex-end;}
.gp-hero-slide{background-position:62% center;}
.gp-hero-overlay{background:linear-gradient(0deg,rgba(4,12,30,.97) 0%,rgba(4,12,30,.78) 54%,rgba(4,12,30,.2) 100%);}
.gp-hero-inner{padding:210px 20px 76px;}
.gp-hero-title{font-size:34px;max-width:430px;}
.gp-hero-sub{font-size:18px;}
.gp-hero-checks{gap:13px 18px;margin-bottom:24px;}
.gp-hero-checks li{font-size:14px;}
.gp-hero-arrow{top:46%;width:40px;height:40px;font-size:18px;}
.gp-hero-prev{left:10px;}
.gp-hero-next{right:10px;}
.gp-hero-dots{bottom:22px;gap:10px;}
.gp-hero-dot{width:9px;height:9px;}
.gp-h2{font-size:26px;}
.gp-cta-big{font-size:28px;}
.gp-wa-float{bottom:16px;right:16px;}
}


.gp-lightbox-trigger{cursor:zoom-in;border:0;padding:0;display:block;width:100%;appearance:none;-webkit-appearance:none;text-align:inherit;overflow:visible;transition:filter .2s ease,transform .2s ease;}
.gp-lightbox-trigger:hover{filter:brightness(.92);}
.gp-lightbox-trigger:focus-visible{outline:3px solid var(--gp-amber);outline-offset:3px;}
.gp-gal-item{position:relative;overflow:hidden;}
.gp-photo-zoom{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(4,12,30,.72);color:#fff;font-size:17px;opacity:0;transform:scale(.9);transition:opacity .2s ease,transform .2s ease;z-index:2;backdrop-filter:blur(4px);}
.gp-lightbox-trigger:hover .gp-photo-zoom,.gp-lightbox-trigger:focus-visible .gp-photo-zoom{opacity:1;transform:scale(1);}
.gp-svc-media.gp-lightbox-trigger{background-repeat:no-repeat;}
.gp-gallery .gp-gal-item{width:100%;}
body.gp-lightbox-open{overflow:hidden;}
.gp-lightbox{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:28px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;}
.gp-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.gp-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,7,18,.94);backdrop-filter:blur(7px);}
.gp-lightbox-dialog{position:relative;z-index:1;width:min(1320px,94vw);height:min(900px,92vh);display:flex;align-items:center;justify-content:center;}
.gp-lightbox-figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}
.gp-lightbox-image{display:block;max-width:100%;max-height:84vh;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 24px 70px rgba(0,0,0,.5);}
.gp-lightbox-caption{color:#fff;font-family:'Montserrat',sans-serif;font-size:14px;text-align:center;min-height:20px;opacity:.9;}
.gp-lightbox-close,.gp-lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.4);background:rgba(7,15,36,.66);color:#fff;display:flex;align-items:center;justify-content:center;z-index:3;backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease;}
.gp-lightbox-close:hover,.gp-lightbox-nav:hover{background:var(--gp-red);border-color:var(--gp-red);color:#fff;}
.gp-lightbox-close{top:0;right:0;width:48px;height:48px;border-radius:50%;font-size:20px;}
.gp-lightbox-nav{top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;font-size:26px;}
.gp-lightbox-nav:hover{transform:translateY(-50%) scale(1.05);}
.gp-lightbox-prev{left:0;}
.gp-lightbox-next{right:0;}
.gp-lightbox-nav[hidden]{display:none;}
@media (max-width:767.98px){
  .gp-lightbox{padding:14px;}
  .gp-lightbox-dialog{width:100%;height:94vh;}
  .gp-lightbox-image{max-height:78vh;border-radius:4px;}
  .gp-lightbox-close{top:8px;right:8px;width:44px;height:44px;}
  .gp-lightbox-nav{width:44px;height:44px;font-size:22px;top:auto;bottom:16px;transform:none;}
  .gp-lightbox-nav:hover{transform:scale(1.05);}
  .gp-lightbox-prev{left:calc(50% - 54px);}
  .gp-lightbox-next{right:calc(50% - 54px);}
  .gp-photo-zoom{opacity:1;transform:scale(1);width:34px;height:34px;}
}
