/* Owner: JP Elementor System. Consumers: native JP pages, Header, Footer and
   shared CTA. Kit owns fonts, colors and heading defaults. These scoped rules
   cover focus, reading width, restrained lighting and native form exceptions. */
.jpd-page,.jpd-header,.jpd-footer{--jpd-bg:var(--e-global-color-jpd_background,#060d19);--jpd-card:var(--e-global-color-secondary,#081127);--jpd-text:var(--e-global-color-text,#eaf2f7);--jpd-muted:var(--e-global-color-jpd_muted,#9cabb6);--jpd-green:var(--e-global-color-primary,#7fb07b);--jpd-border:var(--e-global-color-jpd_border,#192637);min-width:0;color:var(--jpd-text);font-family:Inter,Arial,sans-serif}
.jpd-page{gap:64px}.jpd-page .e-con,.jpd-page .elementor-widget{min-width:0}.jpd-page p,.jpd-page li{color:var(--jpd-muted);line-height:1.75}.jpd-page a:not(.elementor-button){color:var(--jpd-green);text-underline-offset:4px}.jpd-page .elementor-heading-title{color:var(--jpd-text)}
.jpd-page a:focus-visible,.jpd-header a:focus-visible,.jpd-header button:focus-visible,.jpd-footer a:focus-visible,.jpd-page input:focus-visible,.jpd-page textarea:focus-visible,.jpd-page button:focus-visible{outline:3px solid var(--jpd-green);outline-offset:4px}
.jpd-hero{position:relative;padding:36px 0 28px!important;gap:24px!important;background:radial-gradient(ellipse at 82% 30%,#7fb07b17,transparent 66%)}.jpd-hero h1{max-width:1000px;letter-spacing:-.045em}.jpd-hero .jpd-prose{max-width:740px}.jpd-family-home .jpd-hero h1{font-size:clamp(40px,6.7vw,88px);line-height:1.04}.jpd-hero>.jpd-prose:first-child{font-size:12px;letter-spacing:.14em}
.jpd-card{border:1px solid var(--jpd-border);border-radius:18px;background:var(--jpd-card);padding:28px!important;gap:18px!important;transition:border-color .2s,transform .2s}.jpd-card:hover{border-color:#7fb07b66;transform:translateY(-3px)}.jpd-card img,.jpd-image img{border-radius:12px;height:auto;max-width:100%}.jpd-card .elementor-heading-title{font-size:25px}.jpd-grid{align-items:stretch}.jpd-grid>.jpd-card{flex-grow:1}
.jpd-cta{padding:clamp(24px,4vw,52px)!important;border:1px solid #7fb07b55;border-radius:20px;background:linear-gradient(120deg,#081127,#10221e);gap:22px!important}.jpd-cta p{max-width:760px}.jpd-cta h2{letter-spacing:-.03em}.jpd-button .elementor-button{min-height:48px;padding:15px 22px;line-height:1.4;white-space:normal}.jpd-button-secondary .elementor-button{background:transparent;color:var(--jpd-text);border:1px solid #7fb07b70}
.jpd-header{border-bottom:1px solid var(--jpd-border);background:#060d19;width:100%!important}.jpd-header .jpd-logo{width:260px;max-width:55%;flex:0 0 auto}.jpd-logo a{display:block;width:100%}.jpd-header .jpd-logo img[src$=".svg"]{width:100%;max-height:70px;object-fit:contain}.jpd-nav a{color:var(--jpd-muted)!important}.jpd-nav a:hover,.jpd-nav .elementor-item-active{color:var(--jpd-text)!important}.jpd-nav .elementor-nav-menu--dropdown{background:var(--jpd-bg)}.jpd-nav .elementor-menu-toggle{color:var(--jpd-text);border:1px solid var(--jpd-border);border-radius:8px;min-height:44px;min-width:44px}.jpd-footer{border-top:1px solid var(--jpd-border);background:#060d19}.jpd-footer p{color:var(--jpd-muted);max-width:760px}.jpd-footer a{color:var(--jpd-green);text-decoration:underline}
.jpd-family-guide>.e-con-inner,.jpd-family-policy>.e-con-inner{max-width:820px}.jpd-family-guide .jpd-prose,.jpd-family-policy .jpd-prose{max-width:76ch}.jpd-family-policy .jpd-heading h1,.jpd-family-guide .jpd-heading h1{font-size:clamp(34px,4.3vw,56px)}.jpd-prose strong{color:var(--jpd-text)}.jpd-prose ul,.jpd-prose ol{padding-left:24px}.jpd-prose p:last-child{margin-bottom:0}
.jpd-request-panel{border:1px solid var(--jpd-border);border-radius:18px;background:var(--jpd-card);padding:28px!important}.jpd-request-panel[hidden]{display:none!important}.jpd-form .elementor-field{background:var(--jpd-bg);border:1px solid #43516a;color:var(--jpd-text);border-radius:8px;min-height:50px;font:inherit;font-size:16px}.jpd-form .elementor-field-label{color:var(--jpd-text);margin-bottom:8px}.jpd-form .elementor-field-group{margin-bottom:20px}.jpd-form .elementor-button{min-height:50px;background:var(--jpd-green);color:var(--jpd-bg);font-size:16px}.jpd-form .elementor-message{line-height:1.6;color:var(--jpd-text)}.jpd-form .elementor-message-danger{color:#ffc3c3}.jpd-form .elementor-field-required .elementor-field-label:after{color:var(--jpd-green)}
/* Pro's default white field skin needs this scoped override. Kit tokens remain
   the source; no individual page IDs or copied color definitions. */
.jpd-page .jpd-form .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:var(--jpd-bg)!important;color:var(--jpd-text)!important;border-color:var(--jpd-muted)!important}
.jpd-header .elementor-menu-toggle svg{fill:var(--jpd-text)}
.jpd-page .jpd-card{--border-radius:18px;border-radius:18px}
.jpd-page .jpd-cta{--border-radius:20px;border-radius:20px}
.jpd-page .jpd-hero .jpd-prose.elementor-widget{max-width:740px!important}
.jpd-page.jpd-family-guide .jpd-prose.elementor-widget,.jpd-page.jpd-family-policy .jpd-prose.elementor-widget{max-width:76ch!important}
.jpd-page.jpd-family-guide.e-con>.e-con-inner,.jpd-page.jpd-family-policy.e-con>.e-con-inner{max-width:820px!important}
@media(max-width:767px){.jpd-page{gap:40px}.jpd-grid{flex-direction:column!important}.jpd-grid>.e-con{width:100%!important}.jpd-header{padding:14px 20px!important;gap:14px!important}.jpd-header>.jpd-button{display:none}.jpd-header .jpd-logo{width:200px}.jpd-header .jpd-nav{width:auto;margin-left:auto}.jpd-card,.jpd-request-panel{padding:22px!important}.jpd-page h1{overflow-wrap:anywhere}.jpd-hero{padding:12px 0!important}}
@media(prefers-reduced-motion:reduce){.jpd-card{transition:none}.jpd-card:hover{transform:none}}
