/* NXT GEN WEB main service/contact pages: loaded only by their scoped layout. */
body.ngm-page { --ngm-green:#84c041; --ngm-green-text:#4b7215; --ngm-ink:#262626; --ngm-muted:#555; background:#fff; }
body.ngm-page .global-header { background:#151515; }
body.ngm-page .global-header #menu-item-212 > a { background:var(--ngm-green); border-color:var(--ngm-green); color:#151515; }
body.ngm-page .global-header #menu-item-212 > a:hover { background:#fff; border-color:#fff; color:#151515; }
.ngm { font:17px/1.65 'Proximanova-regular',sans-serif; color:var(--ngm-ink); background:#fff; }
.ngm *, .ngm *::before,.ngm *::after { box-sizing:border-box; }
.ngm h1,.ngm h2,.ngm h3,.ngm p,.ngm blockquote,.ngm figure { margin:0; padding:0; }
.ngm h1,.ngm h2,.ngm h3 { font-family:'Proximanova-bold',sans-serif; color:var(--ngm-ink); font-weight:700; text-transform:none; letter-spacing:normal; }
.ngm h1 { font-size:56px; line-height:1.06; }
.ngm h1 > span { display:block; }
.ngm .ngm-accent { color:var(--ngm-green-text); }
.ngm h2 { font-size:36px; line-height:1.16; }
.ngm h3 { font-size:22px; line-height:1.25; }
.ngm p { color:var(--ngm-muted); font-size:17px; line-height:1.65; }
.ngm p + p { margin-top:18px; }
.ngm a { color:inherit; text-decoration:none; }
.ngm a:focus-visible,.ngm summary:focus-visible,.ngm input:focus-visible,.ngm textarea:focus-visible,.ngm select:focus-visible { outline:3px solid var(--ngm-green-text); outline-offset:4px; }
.ngm img { display:block; width:100%; height:auto; }
.ngm [id] { scroll-margin-top:125px; }
.ngm-shell { width:min(1240px,calc(100% - 80px)); margin:0 auto; }
.ngm-section { padding:74px 0; }
.ngm-tint { background:#f5f5f5; }
.ngm .ngm-kicker { display:flex; align-items:center; gap:10px; color:var(--ngm-green-text); font:12px/1.5 'Proximanova-bold',sans-serif; letter-spacing:.09em; text-transform:uppercase; margin-bottom:18px; }
.ngm-kicker::before { content:''; width:26px; height:2px; background:var(--ngm-green); flex:0 0 26px; }
.ngm-head { text-align:center; max-width:890px; margin:0 auto 36px; }
.ngm-head .ngm-kicker { justify-content:center; }
.ngm-head h2 { margin-bottom:19px; }
.ngm-head > p { max-width:780px; margin-left:auto; margin-right:auto; }
.ngm-head > .ngm-link { margin-top:6px; }
.ngm .ngm-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:58px; padding:15px 23px; border:2px solid var(--ngm-green); background:var(--ngm-green); border-radius:4px; color:#222; font:13px/1.2 'Proximanova-bold',sans-serif; letter-spacing:.04em; text-transform:uppercase; transition:background .2s,color .2s,border-color .2s; }
.ngm .ngm-button:hover { background:#262626; border-color:#262626; color:#fff; }
.ngm .ngm-button--outline { color:var(--ngm-green-text); background:transparent; border-color:var(--ngm-green-text); }
.ngm .ngm-button--outline:hover { background:var(--ngm-green-text); border-color:var(--ngm-green-text); color:#fff; }
.ngm-button svg,.ngm-link svg,.ngm-related-links svg { display:block; width:18px; height:18px; flex:0 0 18px; }
.ngm .ngm-link { display:inline-flex; align-items:center; gap:10px; padding-bottom:5px; border-bottom:1px solid var(--ngm-green); color:var(--ngm-green-text); font:14px/1.4 'Proximanova-bold',sans-serif; }
.ngm .ngm-text-link { color:var(--ngm-green-text); text-decoration:underline; text-underline-offset:3px; font-family:'Proximanova-bold',sans-serif; }
.ngm-hero { position:relative; overflow:hidden; padding:145px 0 40px; border-bottom:1px solid #e5e5e5; isolation:isolate; }
.ngm-hero::before { content:''; position:absolute; z-index:-1; width:600px; height:600px; border-radius:50%; border:1px solid #84c04130; box-shadow:0 0 0 90px #84c04107; top:85px; right:-170px; pointer-events:none; }
.ngm-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:#666; font-size:12px; margin-bottom:35px; }
.ngm-breadcrumb a { color:var(--ngm-green-text); text-decoration:underline; text-underline-offset:3px; }
.ngm-hero-grid { display:grid; grid-template-columns:1.04fr 1fr; align-items:center; gap:65px; }
.ngm .ngm-lead { font-size:20px; line-height:1.55; margin-top:24px; max-width:600px; }
.ngm-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.ngm-actions .ngm-button { width:230px; min-height:64px; height:64px; padding:12px 16px; }
.ngm .ngm-hero-art { width:100%; padding:10px 0; }
.ngm-hero-art img { width:100%; height:auto; }
.ngm-facts { display:flex; flex-wrap:wrap; gap:15px 32px; border-top:1px solid #ddd; margin-top:36px; padding-top:24px; font-size:13px; color:#555; }
.ngm-facts > span { display:inline-flex; align-items:center; gap:9px; }
.ngm-facts > span > span { color:var(--ngm-green-text); }
.ngm .ngm-policy { font:14px/1.4 'Proximanova-bold',sans-serif; margin-top:18px; color:var(--ngm-green-text); padding-left:12px; border-left:3px solid var(--ngm-green); }
.ngm-split { display:grid; grid-template-columns:1fr 1.05fr; gap:65px; align-items:center; }
.ngm-video { overflow:hidden; border:1px solid #ddd; border-radius:5px; box-shadow:10px 10px 0 #84c04120; }
.ngm-video-frame { position:relative; aspect-ratio:16/9; background:#151515; }
.ngm-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.ngm-video figcaption { display:flex; align-items:center; gap:12px; padding:15px 18px; border-top:3px solid var(--ngm-green); font:14px/1.4 'Proximanova-bold',sans-serif; }
.ngm-video figcaption > span { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; flex:0 0 26px; border:1px solid #d9e8c8; border-radius:50%; color:var(--ngm-green-text); font-size:10px; }
.ngm-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ngm-card { display:flex; flex-direction:column; align-items:center; text-align:center; padding:28px; border:1px solid #e4e4e4; border-bottom:3px solid var(--ngm-green); background:#fff; border-radius:5px; transition:transform .25s,box-shadow .25s; }
.ngm-icon { display:inline-flex; align-items:center; justify-content:center; width:65px; height:65px; flex:0 0 65px; border:1px solid #84c04145; border-radius:16px; background:#84c04118; color:var(--ngm-green-text); }
.ngm-icon svg { width:31px; height:31px; display:block; }
.ngm-card h3 { margin:22px 0 14px; color:var(--ngm-green-text); }
.ngm-card p { font-size:16px; }
.ngm-spotlight h2 { margin-bottom:23px; }
.ngm-spotlight-image { overflow:hidden; border-radius:5px; background:#f5f8f0; padding:28px; }
.ngm-seo .ngm-spotlight-image { padding:0; }
.ngm-seo .ngm-spotlight-image img { height:480px; object-fit:cover; filter:brightness(1.25); }
.ngm-spotlight-image img { max-width:500px; margin:auto; }
.ngm-seo .ngm-spotlight-image img { max-width:none; }
.ngm-checks { list-style:none; margin:24px 0; padding:0; }
.ngm-checks li { position:relative; padding-left:25px; color:#444; font-size:16px; }
.ngm-checks li + li { margin-top:10px; }
.ngm-checks li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--ngm-green-text); }
.ngm-process { background:#151515; color:#fff; }
.ngm-process .ngm-kicker { color:var(--ngm-green); }
.ngm-process h2,.ngm-process h3 { color:#fff; }
.ngm-process p { color:#ccc; }
.ngm-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 40px; list-style:none; padding:0; margin:0; }
.ngm-steps > li { display:flex; gap:20px; border-top:1px solid #444; padding-top:25px; }
.ngm-step-number { font:24px/1.2 'Proximanova-bold',sans-serif; color:var(--ngm-green); flex:0 0 35px; }
.ngm-steps h3 { margin-bottom:13px; }
.ngm-steps p { font-size:16px; }
.ngm-plans { display:grid; gap:18px; }
.ngm-plans--5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.ngm-plans--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ngm-plan { display:flex; flex-direction:column; align-items:flex-start; border:1px solid #ddd; border-top:4px solid var(--ngm-green); border-radius:4px; padding:24px 20px; background:#fff; }
.ngm-plan h3 { margin-bottom:14px; }
.ngm-plan .ngm-plan-range { color:var(--ngm-green-text); font:17px/1.3 'Proximanova-bold',sans-serif; margin-bottom:14px; }
.ngm-plan > p:not(.ngm-plan-range) { font-size:14px; flex:1; margin:0; }
.ngm-plan > .ngm-link { margin-top:22px; font-size:13px; }
.ngm-local { text-align:center; max-width:1000px; }
.ngm-local .ngm-kicker { justify-content:center; }
.ngm-local h2 { margin-bottom:22px; }
.ngm-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:26px 0; }
.ngm-tags > span { padding:9px 15px; border:1px solid #d7dfcd; border-radius:30px; background:#fff; font-size:14px; color:#444; }
.ngm-related-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ngm-related-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #e2e2e2; border-left:3px solid var(--ngm-green); padding:17px; color:var(--ngm-green-text); font:15px/1.4 'Proximanova-bold',sans-serif; }
.ngm-related-links a:hover { background:#f5f8ef; }
.ngm-ppc .ngm-related-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ngm-reviews { background:#f5f5f5; }
.ngm-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ngm .ngm-review { display:flex; flex-direction:column; min-width:0; height:auto; padding:32px; border:1px solid #e4e4e4; border-radius:5px; background:#fff; }
.ngm-review blockquote { flex:1; }
.ngm-review blockquote::before { content:'“'; display:block; font:56px/.8 'Proximanova-bold',sans-serif; color:var(--ngm-green-text); margin-bottom:15px; }
.ngm .ngm-review blockquote p { font-size:18px; line-height:1.65; overflow-wrap:anywhere; color:#333; }
.ngm-review figcaption { font:15px/1.4 'Proximanova-bold',sans-serif; padding-top:18px; margin-top:23px; border-top:1px solid #ddd; }
.ngm-review cite { font-style:normal; }
.ngm-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px; align-items:start; }
.ngm-faq details { border-bottom:1px solid #ddd; }
.ngm-faq details:first-child { border-top:1px solid #ddd; }
.ngm-faq summary { cursor:pointer; position:relative; list-style:none; padding:21px 34px 21px 0; font:18px/1.4 'Proximanova-bold',sans-serif; }
.ngm-faq summary::-webkit-details-marker { display:none; }
.ngm-faq summary::after { content:'+'; position:absolute; right:2px; top:19px; color:var(--ngm-green-text); font:24px/1.3 'Proximanova-regular',sans-serif; }
.ngm-faq details[open] summary::after { content:'−'; }
.ngm-faq details p { padding:0 25px 23px 0; font-size:16px; }
.ngm-cta { position:relative; isolation:isolate; overflow:hidden; padding:68px 0; background:var(--ngm-green); text-align:center; }
.ngm-cta-photo { position:absolute; inset:0; z-index:-2; }
.ngm-cta-photo img { width:100%; height:100%; object-fit:cover; }
.ngm-cta::before { content:''; position:absolute; inset:0; z-index:-1; background:rgba(132,192,65,.9); }
.ngm-cta .ngm-kicker { justify-content:center; color:#19260d; }
.ngm-cta .ngm-kicker::before { background:#19260d; }
.ngm-cta h2 { color:#17220d; font-size:40px; }
.ngm-cta > .ngm-shell > p:not(.ngm-kicker) { max-width:700px; margin:18px auto 25px; color:#17220d; font-size:19px; }
.ngm-cta .ngm-button { background:#262626; border-color:#262626; color:#fff; min-width:240px; }
.ngm-cta .ngm-button:hover { background:#fff; border-color:#fff; color:#222; }
.ngm-cta .ngm-payment-note { font-size:13px!important; margin-bottom:0!important; }
.ngm-payment-note > span { display:inline-flex; width:22px; height:22px; background:#f7931a; border-radius:50%; color:#fff; font:18px/1 Arial,sans-serif; align-items:center; justify-content:center; vertical-align:middle; margin-right:5px; }
.ngm-contact-grid { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:65px; }
.ngm-contact-copy h1 { font-size:53px; }
.ngm-contact-copy .ngm-lead { font-size:18px; }
.ngm-contact-links { margin:25px 0; }
.ngm-contact-links > a { display:flex; align-items:center; gap:15px; padding:14px 0; border-bottom:1px solid #e3e3e3; }
.ngm-contact-links .ngm-icon { width:46px; height:46px; flex:0 0 46px; border-radius:11px; }
.ngm-contact-links .ngm-icon svg { width:24px; height:24px; }
.ngm-contact-links small { display:block; font-size:12px; color:#666; }
.ngm-contact-links strong { display:block; font:19px/1.3 'Proximanova-bold',sans-serif; color:var(--ngm-green-text); overflow-wrap:anywhere; }
.ngm-contact-links > a > svg { width:18px; height:18px; margin-left:auto; flex:0 0 18px; color:var(--ngm-green-text); }
.ngm .ngm-contact-photo { position:relative; overflow:hidden; border-radius:5px; }
.ngm-contact-photo img { height:205px; object-fit:cover; object-position:center 44%; filter:brightness(1.25); }
.ngm-contact-photo figcaption { position:absolute; inset:auto 0 0; padding:13px 18px; background:#151515dd; color:#fff; font:14px/1.4 'Proximanova-bold',sans-serif; }
.ngm-contact-form { padding:32px; border:1px solid #ddd; border-top:4px solid var(--ngm-green); border-radius:6px; background:#fff; box-shadow:0 15px 45px #00000008; }
.ngm-contact-form h2 { font-size:30px; margin-bottom:16px; }
.ngm-contact-form > p:not(.ngm-kicker) { font-size:16px; }
.ngm-contact-form .wpcf7 { margin-top:25px; }
.ngm-contact-form .wpcf7 form { margin:0; padding:0; }
.ngm-contact-form .wpcf7 p { font-size:15px; line-height:1.5; margin:0 0 17px; }
.ngm-contact-form .wpcf7 label { display:block; font-family:'Proximanova-bold',sans-serif; color:#333; }
.ngm-contact-form .wpcf7-form-control-wrap { display:block; }
.ngm-contact-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ngm-contact-form textarea,.ngm-contact-form select { width:100%; max-width:100%; min-height:50px; background:#fafafa; border:1px solid #ccc; border-radius:4px; padding:12px 14px; color:#262626; font:16px/1.4 'Proximanova-regular',sans-serif; margin-top:7px; }
.ngm-contact-form textarea { min-height:145px; height:145px; resize:vertical; }
.ngm-contact-form input[type="submit"],.ngm-contact-form button[type="submit"] { display:inline-flex; justify-content:center; min-height:58px; width:100%; padding:17px 22px; background:var(--ngm-green); border:2px solid var(--ngm-green); border-radius:4px; color:#222; font:14px/1.2 'Proximanova-bold',sans-serif; text-transform:uppercase; cursor:pointer; }
.ngm-contact-form input[type="submit"]:hover { background:#262626; border-color:#262626; color:#fff; }
.ngm-contact-form .wpcf7-not-valid-tip { font:14px/1.4 'Proximanova-regular',sans-serif; color:#a72323; margin-top:7px; }
.ngm-contact-form .wpcf7-response-output { margin:15px 0 0!important; font-size:15px; }
.ngm-contact-form iframe { max-width:100%; }
.ngm-location { background:#f5f5f5; }
.ngm-location h2 { margin-bottom:23px; }
.ngm-location-detail { margin-top:25px; }
.ngm-location-detail h3 { font-size:20px; margin-bottom:10px; }
.ngm-location address { font-style:normal; color:#444; line-height:1.6; }
.ngm .ngm-small { font-size:14px; margin:10px 0 16px; }
.ngm-map { min-width:0; width:100%; align-self:start; overflow:hidden; border:1px solid #dce5d3; border-radius:8px; background:#fff; }
.ngm-map-card { padding:clamp(24px,4vw,40px); border-top:5px solid var(--ngm-green); }
.ngm-map-pin { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin-bottom:18px; border-radius:50%; background:#eff5e7; color:#426b19; }
.ngm-map-pin svg { width:30px; height:30px; }
.ngm .ngm-map-card h3 { font-size:26px; line-height:1.2; margin:0 0 12px; }
.ngm .ngm-map-card p { font-size:17px; line-height:1.6; margin:0 0 22px; }
.ngm-map-card .ngm-button { max-width:100%; min-height:48px; font-size:16px; white-space:normal; }
.ngm-map-disclosure { border-top:1px solid #dce5d3; }
.ngm-map-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 24px; list-style:none; color:#262626; background:#f2f6ed; font:18px/1.4 'Proximanova-bold',sans-serif; cursor:pointer; }
.ngm-map-disclosure > summary::-webkit-details-marker { display:none; }
.ngm-map-disclosure > summary::after { content:'+'; flex:0 0 auto; font-size:25px; line-height:1; }
.ngm-map-disclosure[open] > summary::after { content:'−'; }
.ngm-map-disclosure > summary:hover { background:#e8f0de; }
.ngm-map-disclosure > summary:focus-visible { outline:3px solid #426b19; outline-offset:-4px; }
.ngm-map-frame { width:100%; background:#edf1e7; }
.ngm-map iframe { display:block; width:100%; max-width:100%; height:320px; border:0; }
.ngm .ngm-map-help { margin:0; padding:16px 24px; font-size:16px; line-height:1.5; border-top:1px solid #dce5d3; }
.ngm .ngm-map-help a { color:#365c12; text-decoration:underline; text-underline-offset:3px; }
.ngm.ngm-motion [data-ngm-reveal] { opacity:0; transform:translateY(20px); transition:opacity .6s ease,transform .6s ease; }
.ngm.ngm-motion [data-ngm-reveal].ngm-visible { opacity:1; transform:none; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .ngm-card:hover { transform:translateY(-5px); box-shadow:0 15px 30px #0000000b; } }
@media(max-width:1100px) {
 .ngm-shell { width:calc(100% - 56px); }
 .ngm-hero-grid,.ngm-split,.ngm-contact-grid { gap:38px; }
 .ngm h1 { font-size:48px; }
 .ngm-card { padding:24px; }
 .ngm-plans { gap:13px; }
 .ngm-plan { padding:22px 15px; }
 .ngm-plan h3 { font-size:21px; }
 .ngm-related-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .ngm-contact-form { padding:26px; }
}
@media(max-width:800px) {
 .ngm-hero { padding:135px 0 35px; }
 .ngm-hero-grid,.ngm-split,.ngm-contact-grid { grid-template-columns:1fr; gap:32px; }
 .ngm h1 { font-size:48px; }
 .ngm-section { padding:58px 0; }
 .ngm-breadcrumb { margin-bottom:28px; }
 .ngm-hero-art { max-width:620px; margin:auto!important; }
 .ngm-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ngm-cards--three { grid-template-columns:1fr; }
 .ngm-review-grid { grid-template-columns:1fr; }
 .ngm-steps { grid-template-columns:1fr; }
 .ngm-plans { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; }
 .ngm-plan { flex:1 1 calc(50% - 18px); max-width:calc(50% - 9px); }
 .ngm-related-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ngm-faq-grid { grid-template-columns:1fr; gap:0; }
 .ngm-faq-grid > div + div details:first-child { border-top:0; }
 .ngm-seo .ngm-spotlight-image img { height:auto; aspect-ratio:16/10; }
 .ngm-spotlight-image { max-width:650px; margin:auto!important; width:100%; }
 .ngm-contact-copy { max-width:680px; width:100%; margin:auto; }
 .ngm-contact-copy h1 > span { display:inline; }
 .ngm-contact-copy h1 > span + span::before { content:' '; }
 .ngm-contact-photo img { height:240px; }
 .ngm-contact-form { max-width:680px; margin:auto; width:100%; }
 .ngm-map iframe { height:320px; }
}
@media(max-width:540px) {
 .ngm-shell { width:calc(100% - 40px); }
 .ngm-hero { padding-top:125px; }
 .ngm h1 { font-size:38px; }
 .ngm h2 { font-size:30px; }
 .ngm .ngm-lead { font-size:18px; }
 .ngm-kicker { font-size:11px!important; letter-spacing:.06em!important; }
 .ngm-actions { flex-direction:column; }
 .ngm-actions .ngm-button { width:100%; }
 .ngm-facts { flex-direction:column; gap:12px; margin-top:25px; }
 .ngm-hero-grid { gap:24px; }
 .ngm-cards { grid-template-columns:1fr; }
 .ngm-card { padding:25px; }
 .ngm-plan { flex:1 1 100%; max-width:none; padding:24px; }
 .ngm-plan .ngm-plan-range { font-size:18px; }
 .ngm-related-links,.ngm-ppc .ngm-related-links { grid-template-columns:1fr; }
 .ngm-steps > li { gap:15px; }
 .ngm-faq summary { font-size:17px; }
 .ngm-cta h2 { font-size:32px; }
 .ngm-cta > .ngm-shell > p:not(.ngm-kicker) { font-size:17px; }
 .ngm-cta .ngm-button { width:100%; }
 .ngm-cta .ngm-payment-note { font-size:12px!important; }
 .ngm-contact-form { padding:24px 14px; }
 .ngm-contact-form h2 { font-size:28px; }
 .ngm-contact-links strong { font-size:18px; }
 .ngm-map iframe { height:280px; }
}
@media(prefers-reduced-motion:reduce) { .ngm *, .ngm *::before,.ngm *::after { animation:none!important; transition:none!important; } .ngm [data-ngm-reveal] { opacity:1!important; transform:none!important; } }
