.npv-site-body{margin:0;background:#f3f8f7;color:#0b2a40;font-family:"Segoe UI",Arial,sans-serif}.npv-site-body *,.npv-visual *{box-sizing:border-box}.npv-site-body a{text-decoration:none}.npv-skip{position:absolute;left:-10000px;top:auto}.npv-skip:focus{left:16px;top:12px;z-index:1000;background:#fff;padding:10px}.npv-site-header{position:sticky;top:0;z-index:30;background:#f7faf9;border-bottom:1px solid #d9e7e5}.admin-bar .npv-site-header{top:32px}.npv-site-bar{width:min(1240px,calc(100% - 40px));min-height:86px;margin:auto;display:flex;align-items:center;gap:30px}.npv-brand{display:flex;align-items:center;gap:8px;flex:none}.npv-brand img:first-child{width:46px;height:50px;object-fit:contain}.npv-brand img:last-child{width:132px;max-height:62px;object-fit:contain}.npv-site-nav{display:flex;align-items:center;gap:21px;margin-left:auto;white-space:nowrap}.npv-site-nav a,.npv-more summary{color:#183c53;font-size:12px;font-weight:750;cursor:pointer}.npv-site-nav a:hover,.npv-site-nav a[aria-current="page"]{color:#158a88}.npv-more{position:relative}.npv-more summary{list-style:none}.npv-more>div{position:absolute;right:0;top:100%;background:#fff;box-shadow:0 12px 30px #1233;padding:12px;min-width:180px;display:grid;gap:10px}.npv-site-footer{background:#0b2a40;color:#cddfdf;padding:52px max(24px,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;gap:25px}.npv-site-footer strong{color:#fff}.npv-site-footer a{color:#fff}.npv-visual{font-family:"Segoe UI",Arial,sans-serif;color:#0b2a40;background:#f3f8f7}.npv-visual>*,.npv-visual .wp-block-group{max-width:none!important}.npv-visual :is(h1,h2,h3,p){margin-top:0}.npv-visual .npv-hero{position:relative;min-height:620px;overflow:hidden;color:#fff;background:#0b2a40}.npv-visual .npv-hero>.wp-block-image{position:absolute;inset:0;margin:0}.npv-visual .npv-hero>.wp-block-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.npv-visual .npv-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08283ff7 0%,#08283fe8 43%,#08283f68 100%);pointer-events:none}.npv-visual .npv-hero-copy{position:relative;z-index:1;width:min(1200px,calc(100% - 48px));margin:auto;padding:115px 0 90px}.npv-visual .npv-eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:#3a9b6c;font-weight:800}.npv-visual .npv-hero .npv-eyebrow{color:#a8e1b4}.npv-visual .npv-hero h1{font-size:clamp(52px,7vw,105px);line-height:1.04;max-width:900px;letter-spacing:-.055em;font-weight:350;margin:22px 0}.npv-visual .npv-lead{font-size:18px;line-height:1.7;max-width:760px;color:#4d6673}.npv-visual .npv-hero .npv-lead{color:#e0ebed;max-width:650px}.npv-visual .npv-section{padding:90px max(24px,calc((100vw - 1200px)/2))}.npv-visual .npv-section h2{font-size:clamp(36px,5vw,66px);font-weight:350;line-height:1.11;letter-spacing:-.055em;max-width:900px;margin:14px 0 22px}.npv-visual .npv-card-grid{background:#e4f0eb;padding:64px max(24px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.npv-visual .npv-card{background:#fff;padding:32px;min-height:240px;border-top:3px solid #58a34e}.npv-visual .npv-card h3{font-size:clamp(22px,2.2vw,32px);letter-spacing:-.035em;margin:30px 0 14px}.npv-visual .npv-card p:last-child{color:#5c7883;line-height:1.7}.npv-visual .npv-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;background:#0b2a40}.npv-visual .npv-gallery-item{position:relative;min-width:0;min-height:360px;overflow:hidden;background:#12354b}.npv-visual .npv-gallery-item .wp-block-image{height:100%;margin:0}.npv-visual .npv-gallery-item img{width:100%;height:100%;object-fit:cover}.npv-visual .npv-gallery-item .npv-caption{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,#08283fd9);padding:60px 24px 22px;margin:0;font-weight:750}.npv-visual .npv-cta{padding:80px max(24px,calc((100vw - 1200px)/2));background:#dfeee5}.npv-visual .npv-cta h2{font-size:clamp(35px,4vw,58px);font-weight:350;letter-spacing:-.045em;line-height:1.1}.npv-visual .wp-block-button__link{background:#2c793a;color:#fff;border-radius:4px;padding:15px 22px;font-size:13px;font-weight:800;text-decoration:none}.npv-visual .wp-block-button__link:hover{background:#206432}.editor-styles-wrapper .npv-visual{width:100%;max-width:100%;}.editor-styles-wrapper .npv-visual .npv-hero{min-height:500px}.editor-styles-wrapper .npv-visual .npv-gallery-item{min-height:230px}.editor-styles-wrapper .npv-visual .npv-hero-copy{padding:85px 0}.editor-styles-wrapper .npv-visual .npv-hero>.wp-block-image{z-index:0}@media(max-width:1150px){.npv-site-bar{flex-wrap:wrap;padding:10px 0}.npv-site-nav{overflow-x:auto;width:100%;margin:0;padding:5px 0 9px}}@media(max-width:780px){.npv-visual .npv-card-grid{grid-template-columns:1fr}.npv-visual .npv-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.npv-visual .npv-gallery-item{min-height:270px}.npv-visual .npv-section{padding-block:62px}.npv-visual .npv-hero{min-height:500px}.npv-visual .npv-hero-copy{padding:95px 0 70px}}@media(max-width:500px){.npv-visual .npv-gallery-grid{grid-template-columns:1fr}.npv-site-footer{display:block}.npv-visual .npv-hero h1{font-size:46px}}

/* WordPress may wrap each Group's content in an inner container. Put the
   intended positioning and grid on that actual wrapper as well. */
.npv-visual>.wp-block-group__inner-container{width:100%;max-width:none}
.npv-visual .npv-hero>.wp-block-group__inner-container{position:relative;min-height:620px;isolation:isolate}
.npv-visual .npv-hero::after{content:none}
.npv-visual .npv-hero>.wp-block-group__inner-container::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#08283ff2 0%,#08283fda 43%,#08283f5c 100%);pointer-events:none}
.npv-visual .npv-hero>.wp-block-group__inner-container>.wp-block-image{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:0}
.npv-visual .npv-hero>.wp-block-group__inner-container>.wp-block-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;filter:saturate(.8)}
.npv-visual .npv-hero>.wp-block-group__inner-container>.npv-hero-copy{position:relative;z-index:2}
.npv-visual .npv-card-grid,.npv-visual .npv-gallery-grid{display:block}
.npv-visual .npv-card-grid>.wp-block-group__inner-container{width:100%;max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.npv-visual .npv-gallery-grid>.wp-block-group__inner-container{width:100%;max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.npv-visual .npv-gallery-item{height:360px;min-height:0}
.npv-visual .npv-gallery-item>.wp-block-group__inner-container{height:100%}
.npv-visual .npv-gallery-item .wp-block-image img{display:block;max-width:none}
@media(max-width:780px){.npv-visual .npv-hero>.wp-block-group__inner-container{min-height:500px}.npv-visual .npv-card-grid>.wp-block-group__inner-container{grid-template-columns:1fr}.npv-visual .npv-gallery-grid>.wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))}.npv-visual .npv-gallery-item{height:270px}}
@media(max-width:500px){.npv-visual .npv-gallery-grid>.wp-block-group__inner-container{grid-template-columns:1fr}}

/* The Classic Editor inserts [gallery] as a single shortcode inside the
   original image card. Give that card the full row and let its images flow. */
.npv-visual .npv-gallery-grid>.wp-block-group__inner-container:has(.gallery){display:block}
.npv-visual .npv-gallery-grid>.wp-block-group__inner-container>.npv-gallery-item:has(.gallery){grid-column:1/-1;height:auto;overflow:visible}
.npv-visual .npv-gallery-item:has(.gallery)>.wp-block-group__inner-container{height:auto}
.npv-visual .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:0}
.npv-visual .gallery .gallery-item{float:none;width:auto;margin:0;min-width:0;background:#12354b}
.npv-visual .gallery .gallery-icon,.npv-visual .gallery .gallery-icon a{display:block;width:100%;height:100%}
.npv-visual .gallery .gallery-icon img{display:block;width:100%;height:320px;max-width:100%;object-fit:cover;border:0}
.npv-visual .gallery .gallery-caption{padding:10px 14px;margin:0;color:#fff;font-size:14px;line-height:1.4}
.npv-visual .gallery>br{display:none}
@media(max-width:780px){.npv-visual .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.npv-visual .gallery .gallery-icon img{height:260px}}
@media(max-width:500px){.npv-visual .gallery{grid-template-columns:1fr}.npv-visual .gallery .gallery-icon img{height:auto;aspect-ratio:4/3}}
