:root{--ip-navy:#073b82;--ip-deep:#021b42;--ip-lime:#a8ef00;--ip-ink:#091a35;--ip-muted:#647183;--ip-cream:#f6f7f0;--ip-white:#fff;--ip-line:#dce3df}
body{overflow-x:hidden}.ip-page{padding-left:max(24px,calc((100vw - 1240px)/2));padding-right:max(24px,calc((100vw - 1240px)/2));color:var(--ip-ink)}.ip-page h1,.ip-page h2,.ip-page h3,.ip-page p{margin-top:0}.ip-kicker{color:var(--ip-navy)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.16em;text-transform:uppercase}.ip-kicker p{margin:0!important;color:inherit!important}.ip-kicker-light{color:var(--ip-lime)!important}.ip-title .elementor-heading-title{color:var(--ip-ink);font-size:clamp(49px,5.3vw,76px);font-weight:840;line-height:.99;letter-spacing:-.058em}.ip-title em{font-style:normal;border-bottom:7px solid var(--ip-lime)}.ip-section-title .elementor-heading-title{color:var(--ip-ink);font-size:clamp(38px,4.2vw,61px);font-weight:830;line-height:1.02;letter-spacing:-.052em}.ip-section-title-light .elementor-heading-title{color:#fff}.ip-lead,.ip-lead p{color:var(--ip-muted)!important;font-size:17px;line-height:1.72}.ip-lead-light,.ip-lead-light p{color:#bdcce0!important}.ip-btn .elementor-button{position:relative;padding:17px 22px!important;border-radius:0!important;font-size:14px!important;font-weight:850!important;transition:transform .25s,box-shadow .25s,background .25s}.ip-btn-primary .elementor-button{background:var(--ip-navy)!important;color:#fff!important;box-shadow:7px 7px 0 var(--ip-lime)}.ip-btn-primary .elementor-button:hover{transform:translate(3px,3px);box-shadow:4px 4px 0 var(--ip-lime)}.ip-btn-lime .elementor-button{background:var(--ip-lime)!important;color:var(--ip-deep)!important}.ip-btn-outline .elementor-button{background:transparent!important;color:var(--ip-navy)!important;border:1px solid #bdc8c2}.ip-btn-outline-light .elementor-button{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.38)}.ip-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:13px;margin-top:28px!important}.ip-actions>.elementor-widget-button{width:auto!important}
.ip-hero{display:grid!important;grid-template-columns:.92fr 1.08fr;gap:74px;align-items:center!important;min-height:660px;padding-top:80px;padding-bottom:80px;background:var(--ip-cream);position:relative}.ip-hero:before{content:"";position:absolute;left:4%;top:17%;width:190px;height:190px;border:1px solid rgba(7,59,130,.08);border-radius:50%;pointer-events:none}.ip-hero-copy{position:relative;z-index:2}.ip-hero-copy>.elementor-element+.elementor-element{margin-top:22px}.ip-hero-copy .ip-title+.elementor-element{margin-top:27px}.ip-hero-visual{position:relative;height:520px;overflow:visible}.ip-hero-photo,.ip-hero-photo img{position:absolute!important;inset:0;width:100%!important;height:100%!important}.ip-hero-photo img{display:block;object-fit:cover;border:10px solid var(--ip-navy)}.ip-hero-visual:after{content:"";position:absolute;z-index:1;right:-18px;bottom:-18px;width:52%;height:52%;background:var(--ip-lime)}.ip-hero-badge{position:absolute!important;z-index:3;left:-34px;bottom:32px;width:245px!important;padding:21px 23px;background:#fff;border-left:6px solid var(--ip-lime);box-shadow:0 18px 45px rgba(2,27,66,.18)}.ip-hero-badge strong,.ip-hero-badge span{display:block}.ip-hero-badge strong{color:var(--ip-navy);font-size:18px}.ip-hero-badge span{margin-top:5px;color:var(--ip-muted);font-size:11px;line-height:1.45}
.ip-section{padding-top:105px;padding-bottom:105px}.ip-section-head{max-width:820px}.ip-section-head>.elementor-element+.elementor-element{margin-top:17px}.ip-grid{display:grid!important;gap:16px;margin-top:48px!important}.ip-grid-3{grid-template-columns:repeat(3,1fr)}.ip-grid-4{grid-template-columns:repeat(4,1fr)}.ip-grid-5{grid-template-columns:repeat(6,1fr)}.ip-card{position:relative;overflow:hidden;min-height:245px;padding:30px;background:#fff;border:1px solid var(--ip-line);justify-content:flex-end!important;transition:transform .35s,box-shadow .35s,border-color .35s}.ip-card:before,.ip-brand-card:before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(168,239,0,.18),transparent 48%);opacity:0;transition:opacity .3s;pointer-events:none}.ip-card:hover,.ip-brand-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(2,27,66,.1);border-color:var(--ip-lime)}.ip-card:hover:before,.ip-brand-card:hover:before{opacity:1}.ip-card-number{position:absolute!important;left:28px;top:25px;width:auto!important;color:var(--ip-lime)!important;font-size:11px;font-weight:900;letter-spacing:.1em}.ip-card-icon{position:absolute!important;right:27px;top:25px;width:auto!important}.ip-card-icon .elementor-icon{color:var(--ip-navy);font-size:25px}.ip-card h3{color:var(--ip-navy);font-size:23px;line-height:1.08;letter-spacing:-.035em}.ip-card .elementor-widget-text-editor{margin-top:11px!important;color:var(--ip-muted);font-size:13px;line-height:1.62}.ip-card-navy{background:var(--ip-navy);border-color:var(--ip-navy)}.ip-card-navy h3,.ip-card-navy .elementor-widget-text-editor{color:#fff}.ip-card-navy .ip-card-icon .elementor-icon{color:var(--ip-lime)}.ip-card-lime{background:var(--ip-lime);border-color:var(--ip-lime)}.ip-card-lime .ip-card-number{color:var(--ip-navy)!important}.ip-card-feature{grid-column:span 2;background:#eef3e8}
.ip-dark{background:var(--ip-deep);color:#fff}.ip-split{display:grid!important;grid-template-columns:1fr 1fr;gap:80px;align-items:center!important}.ip-media{position:relative;height:520px}.ip-media img{width:100%!important;height:520px!important;object-fit:cover}.ip-media-note{position:absolute!important;right:-22px;bottom:28px;width:260px!important;padding:22px;background:var(--ip-lime);color:var(--ip-deep)}.ip-media-note strong,.ip-media-note span{display:block}.ip-media-note strong{font-size:17px}.ip-media-note span{margin-top:5px;font-size:11px}.ip-list{margin-top:28px!important;border-top:1px solid rgba(255,255,255,.17)}.ip-list>.elementor-widget-text-editor{display:grid!important;grid-template-columns:45px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.17)}.ip-list b{color:var(--ip-lime);font-size:11px;letter-spacing:.1em}.ip-list strong,.ip-list span{display:block}.ip-list strong{color:#fff;font-size:16px}.ip-list span{margin-top:4px;color:#aebed2;font-size:12px;line-height:1.55}.ip-tags{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:9px;margin-top:25px!important}.ip-tags>.elementor-widget-text-editor{width:auto!important;padding:9px 12px;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:11px;font-weight:800}
.ip-pillar-grid{grid-template-columns:repeat(4,1fr)}.ip-pillar{min-height:225px;padding:29px;background:#fff;border-top:6px solid var(--ip-lime)}.ip-pillar .elementor-icon{color:var(--ip-navy);font-size:28px}.ip-pillar h3{margin-top:35px;color:var(--ip-navy);font-size:22px}.ip-pillar .elementor-widget-text-editor{color:var(--ip-muted);font-size:13px;line-height:1.55}.ip-statbar{display:grid!important;grid-template-columns:repeat(3,1fr);margin-top:18px!important;background:var(--ip-navy)}.ip-statbar>.elementor-widget-text-editor{padding:27px 30px;border-right:1px solid rgba(255,255,255,.18);color:#fff}.ip-statbar strong,.ip-statbar span{display:block}.ip-statbar strong{color:var(--ip-lime);font-size:31px}.ip-statbar span{font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.ip-brand-grid{grid-template-columns:repeat(3,1fr)}.ip-brand-card{position:relative;overflow:hidden;min-height:330px;padding:35px;background:#fff;border:1px solid var(--ip-line);transition:transform .35s,box-shadow .35s,border-color .35s}.ip-brand-logo img{display:block;width:100%!important;height:82px!important;object-fit:contain;object-position:left center}.ip-brand-card h3{margin-top:40px;color:var(--ip-navy);font-size:28px}.ip-brand-card .elementor-widget-text-editor{color:var(--ip-muted);font-size:14px;line-height:1.6}.ip-brand-tag{position:absolute!important;left:35px;bottom:30px;width:auto!important;color:var(--ip-navy)!important;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;border-bottom:3px solid var(--ip-lime)}
.ip-contact-hero{background:#f3f5ee}.ip-channel-grid{grid-template-columns:repeat(4,1fr)}.ip-channel{min-height:245px;padding:30px;background:#fff;border:1px solid var(--ip-line)}.ip-channel .elementor-icon{color:var(--ip-navy);font-size:28px}.ip-channel h3{margin-top:35px;color:var(--ip-navy);font-size:20px}.ip-channel .elementor-widget-text-editor,.ip-channel a{color:var(--ip-muted)!important;font-size:13px;line-height:1.65;word-break:break-word}.ip-contact-panel{padding:38px;background:var(--ip-navy);color:#fff}.ip-contact-panel h3{color:#fff;font-size:30px;line-height:1.1}.ip-contact-panel .elementor-widget-text-editor{color:#c4d2e4;font-size:14px;line-height:1.65}.ip-contact-panel .ip-actions{margin-top:24px!important}
.ip-reveal{opacity:0;transform:translateY(24px);filter:blur(4px);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1),filter .72s}.ip-reveal.ip-delay{transition-delay:.12s}.ip-reveal.is-visible{opacity:1;transform:none;filter:none}body.elementor-editor-active .ip-reveal,body.elementor-editor-preview .ip-reveal,.elementor-edit-mode .ip-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
@media(max-width:980px){.ip-hero,.ip-split{grid-template-columns:1fr;gap:55px}.ip-hero{padding-top:70px;padding-bottom:75px}.ip-hero-visual{height:500px}.ip-grid-4,.ip-pillar-grid,.ip-channel-grid{grid-template-columns:1fr 1fr}.ip-grid-5{grid-template-columns:repeat(2,1fr)}.ip-brand-grid{grid-template-columns:1fr}.ip-brand-card{min-height:270px}.ip-brand-logo img{max-width:380px}.ip-media{order:-1}.ip-statbar{grid-template-columns:1fr}.ip-statbar>.elementor-widget-text-editor{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}
@media(max-width:620px){.ip-page{padding-left:20px;padding-right:20px}.ip-title .elementor-heading-title{font-size:44px}.ip-title em{border-bottom-width:5px}.ip-section-title .elementor-heading-title{font-size:38px}.ip-hero{min-height:0;padding-top:58px;padding-bottom:60px;gap:38px}.ip-hero-visual{height:390px}.ip-hero-photo img{border-width:7px}.ip-hero-badge{left:14px;right:14px;bottom:17px;width:auto!important}.ip-section{padding-top:76px;padding-bottom:76px}.ip-grid-3,.ip-grid-4,.ip-grid-5,.ip-pillar-grid,.ip-channel-grid{grid-template-columns:1fr}.ip-card-feature{grid-column:auto}.ip-card{min-height:220px}.ip-split{gap:40px}.ip-media,.ip-media img{height:390px!important}.ip-media-note{left:16px;right:16px;bottom:16px;width:auto!important}.ip-actions{flex-direction:column!important}.ip-actions>.elementor-widget-button{width:100%!important}.ip-actions .elementor-button{justify-content:center}.ip-contact-panel{padding:29px}.ip-tags>.elementor-widget-text-editor{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ip-reveal{opacity:1;transform:none;filter:none;transition:none}.ip-card,.ip-brand-card{transition:none}}
.ip-hero-visual,.ip-media{padding:0!important}.ip-media{overflow:visible}.ip-media>.elementor-widget-image,.ip-media>.elementor-widget-image img{position:absolute!important;inset:0;width:100%!important;height:100%!important}.ip-media>.elementor-widget-image img{display:block;object-fit:cover}.ip-media-note{z-index:2!important}

/* 1.2.0 — contrast and stacking corrections */
.ip-title .elementor-heading-title,.ip-section-title .elementor-heading-title{color:var(--ip-ink)!important}
.ip-section-title-light .elementor-heading-title{color:#fff!important}
.ip-hero-visual{isolation:isolate}
.ip-hero-visual:after{z-index:0;right:-14px;bottom:-14px;width:34%;height:34%;pointer-events:none}
.ip-hero-photo{z-index:1!important}
.ip-hero-badge{z-index:3!important}
.ip-card-icon .elementor-icon,.ip-pillar .elementor-icon,.ip-channel .elementor-icon{color:var(--ip-navy)!important}
.ip-card h3,.ip-pillar h3,.ip-channel h3,.ip-brand-card h3,.ip-media-note strong{color:var(--ip-navy)!important}
.ip-card-navy h3,.ip-card-navy .elementor-widget-text-editor,.ip-contact-panel h3{color:#fff!important}
.ip-card-navy .ip-card-icon .elementor-icon{color:var(--ip-lime)!important}

/* Brand cards: keep the category label in the content flow. */
.ip-brand-card{display:flex!important;flex-direction:column!important;min-height:360px}
.ip-brand-tag{position:static!important;left:auto!important;bottom:auto!important;width:fit-content!important;margin-top:auto!important;padding-top:22px}

/* 1.2.2 — balanced product catalogue. */
.ip-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.ip-grid-5>.ip-card{grid-column:auto;min-height:300px;padding:28px;justify-content:flex-start!important}
.ip-grid-5 .ip-card-number{left:28px;top:27px}
.ip-grid-5 .ip-card-icon{right:25px;top:22px}
.ip-grid-5 .ip-card-icon .elementor-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(7,59,130,.07);font-size:21px}
.ip-grid-5 .ip-card-navy .ip-card-icon .elementor-icon{background:rgba(255,255,255,.1)}
.ip-grid-5 .ip-card-lime .ip-card-icon .elementor-icon{background:rgba(7,59,130,.1)}
.ip-grid-5 .ip-card>.elementor-widget-heading{margin-top:78px!important}
.ip-grid-5 .ip-card h3{margin:0!important;min-height:52px;font-size:22px;line-height:1.12}
.ip-grid-5 .ip-card .elementor-widget-text-editor{margin-top:15px!important}
.ip-grid-5 .ip-card-lime .elementor-widget-text-editor{color:#23415e!important}
@media(min-width:981px) and (max-width:1180px){
  .ip-grid-5{grid-template-columns:repeat(6,minmax(0,1fr))}
  .ip-grid-5>.ip-card{grid-column:span 2}
  .ip-grid-5>.ip-card:nth-child(4),.ip-grid-5>.ip-card:nth-child(5){grid-column:span 3}
}
@media(max-width:980px){
  .ip-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ip-grid-5>.ip-card:last-child{grid-column:span 2}
}
@media(max-width:620px){
  .ip-grid-5{grid-template-columns:minmax(0,1fr)}
  .ip-grid-5>.ip-card:last-child{grid-column:auto}
  .ip-grid-5>.ip-card{min-height:275px}
}

/* 1.2.4 — four client-supplied brands. */
.ip-brand-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ip-brand-logo .elementor-widget-container{display:flex;align-items:center;justify-content:center;height:92px}
.ip-brand-logo img{height:88px!important;max-width:270px!important;object-position:center center}
.ip-brand-logo-deluxe img{height:126px!important;max-width:175px!important;object-position:center center!important}
.ip-brand-card h3{margin-top:30px}
@media(max-width:980px){.ip-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ip-brand-grid{grid-template-columns:minmax(0,1fr)}}
