/* What's Up NJ — Elementor editorial system v0.2
 * WHITE / BLUE / BLACK ONLY. Designed to sit above Hello Elementor.
 */
:root {
	--wunj-blue: #1d4ed8;
	--wunj-navy: #0f2557;
	--wunj-black: #111318;
	--wunj-white: #ffffff;
	--wunj-soft: #f5f7fb;
	--wunj-line: #e5eaf2;
	--wunj-radius-lg: 28px;
	--wunj-radius: 18px;
	--wunj-shadow-lg: 0 24px 70px rgba(15,37,87,.16);
	--wunj-shadow: 0 12px 34px rgba(15,37,87,.10);
}

body { color: var(--wunj-black); background: var(--wunj-white); }

.wunj-page-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(96px, 12vw, 180px) max(24px, calc((100vw - 1180px)/2));
	align-items: flex-start;
	justify-content: flex-end;
	background:
		radial-gradient(circle at 80% 18%, rgba(29,78,216,.98) 0 12%, transparent 12.5%),
		radial-gradient(circle at 90% 10%, rgba(255,255,255,.17) 0 21%, transparent 21.5%),
		linear-gradient(125deg, #071224 0%, #0f2557 54%, #1d4ed8 100%);
	color: #fff;
	border-radius: 0 0 44px 44px;
}
.wunj-page-hero:after {
	content:"";
	position:absolute;
	inset:auto -8vw -20vw auto;
	width:50vw;
	height:50vw;
	border:1px solid rgba(255,255,255,.18);
	border-radius:50%;
	box-shadow:0 0 0 7vw rgba(255,255,255,.045), 0 0 0 14vw rgba(255,255,255,.035);
	z-index:-1;
}
.wunj-page-hero .elementor-widget { max-width: 860px; }
.wunj-page-hero .wunj-eyebrow { text-transform: uppercase; letter-spacing: .16em; font-size: 13px; font-weight: 700; opacity: .9; }
.wunj-page-hero .wunj-display-title h1,
.wunj-page-hero .elementor-heading-title { color:#fff; }
.wunj-page-hero .wunj-display-title .elementor-heading-title {
	font-size: clamp(56px, 8vw, 118px);
	line-height: .9;
	letter-spacing: -.055em;
	font-weight: 700;
	max-width: 900px;
}
.wunj-page-hero .wunj-hero-dek { max-width: 720px; font-size: clamp(18px,2vw,24px); line-height:1.5; color:rgba(255,255,255,.88); }
.wunj-page-hero .elementor-button { background:#fff; color:var(--wunj-navy); border-radius:999px; padding:16px 26px; font-weight:700; }

.wunj-section { padding: clamp(66px, 8vw, 116px) 24px; }
.wunj-section > .e-con-inner { max-width:1180px; }
.wunj-section .elementor-heading-title { color:var(--wunj-navy); letter-spacing:-.035em; }
.wunj-section h2.elementor-heading-title { font-size:clamp(34px,4.5vw,62px); line-height:1.02; }

.wunj-search-shell { margin-top:-44px; position:relative; z-index:4; padding-top:0; }
.wunj-search-shell > .e-con-inner { background:#fff; border:1px solid var(--wunj-line); border-radius:var(--wunj-radius-lg); padding:34px; box-shadow:var(--wunj-shadow-lg); }

.wunj-featured-shell { background:var(--wunj-soft); }
.wunj-editorial-shell .wunj-editorial-copy { max-width: 860px; margin:0 auto; font-size:18px; line-height:1.75; }
.wunj-editorial-copy h2 { color:var(--wunj-navy); font-size:clamp(30px,3vw,44px); line-height:1.08; margin:1.8em 0 .6em; letter-spacing:-.03em; }
.wunj-editorial-copy h3 { color:var(--wunj-navy); font-size:24px; margin:1.5em 0 .4em; }
.wunj-editorial-copy p { margin:0 0 1.25em; }

.wunj-elementor-grid .wunj-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.wunj-card { border:1px solid rgba(15,37,87,.07); border-radius:22px; box-shadow:0 12px 35px rgba(15,37,87,.09); }
.wunj-card-media { aspect-ratio:4/3; }
.wunj-card-media img { transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.wunj-card:hover .wunj-card-media img { transform:scale(1.04); }
.wunj-card-body { padding:22px 22px 26px; }
.wunj-card-title { font-size:22px; letter-spacing:-.025em; }

.wunj-map-shell { background:#fff; }
.wunj-map { border-radius:26px; overflow:hidden; box-shadow:var(--wunj-shadow-lg); }

.wunj-bottom-cta { background:var(--wunj-navy); color:#fff; border-radius:44px 44px 0 0; text-align:center; }
.wunj-bottom-cta .elementor-heading-title { color:#fff; }
.wunj-bottom-cta .elementor-widget-text-editor { color:rgba(255,255,255,.8); font-size:18px; max-width:700px; margin-inline:auto; }
.wunj-bottom-cta .elementor-button { background:var(--wunj-blue); color:#fff; border-radius:999px; padding:16px 26px; font-weight:700; }

.wunj-quick-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--wunj-line); border:1px solid var(--wunj-line); border-radius:22px; overflow:hidden; margin:0; }
.wunj-quick-fact { background:#fff; padding:18px 20px; }
.wunj-quick-fact dt { color:var(--wunj-blue); font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.wunj-quick-fact dd { margin:5px 0 0; color:var(--wunj-black); font-weight:600; }

@media (max-width: 900px) {
	.wunj-elementor-grid .wunj-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.wunj-page-hero { min-height:620px !important; }
}
@media (max-width: 640px) {
	.wunj-page-hero { border-radius:0 0 28px 28px; min-height:560px !important; padding-top:92px; padding-bottom:90px; }
	.wunj-page-hero .wunj-display-title .elementor-heading-title { font-size:50px; }
	.wunj-search-shell { margin-top:-26px; }
	.wunj-search-shell > .e-con-inner { padding:22px; border-radius:22px; }
	.wunj-elementor-grid .wunj-grid { grid-template-columns:1fr; }
	.wunj-section { padding:60px 18px; }
	.wunj-quick-facts { grid-template-columns:1fr; }
}

/* v0.3 global Elementor Theme Builder system */
.wunj-global-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--wunj-line);padding:14px max(20px,calc((100vw - 1180px)/2));}
.wunj-brand-wordmark .elementor-heading-title{font-weight:900;letter-spacing:-.05em;color:var(--wunj-navy);font-size:24px;}
.wunj-header-links{gap:4px;}
.wunj-header-links .elementor-button{background:transparent;color:var(--wunj-black);padding:10px 13px;font-size:14px;font-weight:700;border-radius:999px;}
.wunj-header-links .wunj-nav-cta .elementor-button{background:var(--wunj-blue);color:#fff;padding:11px 18px;}
.wunj-global-footer{background:#071224;color:#fff;padding:90px max(24px,calc((100vw - 1180px)/2)) 38px;border-radius:44px 44px 0 0;}
.wunj-global-footer .elementor-heading-title{color:#fff;}
.wunj-global-footer h2.elementor-heading-title{font-size:clamp(42px,6vw,82px);line-height:.98;letter-spacing:-.05em;max-width:900px;}
.wunj-global-footer .elementor-widget-text-editor{max-width:740px;color:rgba(255,255,255,.76);font-size:18px;}
.wunj-global-footer .elementor-button{background:var(--wunj-blue);border-radius:999px;padding:15px 24px;font-weight:800;}
.wunj-footer-legal{font-size:13px;margin-top:40px}.wunj-footer-legal a{color:#fff;text-decoration:underline;}
.wunj-single-hero{padding:100px max(24px,calc((100vw - 1180px)/2)) 52px;background:var(--wunj-navy);color:#fff;}
.wunj-single-hero .elementor-heading-title{color:#fff}.wunj-single-hero h1.elementor-heading-title{font-size:clamp(48px,7vw,96px);line-height:.94;letter-spacing:-.055em;max-width:1000px;}
.wunj-single-featured img{width:100%;max-height:650px;object-fit:cover;border-radius:30px;margin-top:28px;box-shadow:var(--wunj-shadow-lg);}
.wunj-single-layout{gap:54px;padding:78px 24px;max-width:1180px;margin:auto;align-items:flex-start;}
.wunj-single-main{flex:1 1 68%;font-size:18px;line-height:1.75}.wunj-single-aside{flex:0 0 330px;position:sticky;top:100px;}
@media(max-width:900px){.wunj-header-links{display:none}.wunj-single-layout{flex-direction:column}.wunj-single-aside{position:static;width:100%;flex-basis:auto}.wunj-global-header{padding:12px 18px}}

/* v0.4 — Elementor-native editorial homepage system */
.wunj-page-hero{
	display:flex;
	flex-direction:row;
	gap:clamp(30px,5vw,80px);
	align-items:center;
	justify-content:space-between;
	padding-top:clamp(92px,10vw,150px);
	padding-bottom:clamp(80px,9vw,132px);
}
.wunj-page-hero>.e-con-inner{max-width:none!important}
.wunj-hero-copy{flex:1 1 55%;max-width:760px;gap:18px}
.wunj-hero-visual{position:relative;flex:1 1 45%;min-height:500px;max-width:560px}
.wunj-hero-actions,.wunj-cta-actions{display:flex;flex-direction:row;gap:12px;flex-wrap:wrap}
.wunj-secondary-button .elementor-button{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.5)!important}
.wunj-photo-card{position:absolute!important;border-radius:26px;min-height:260px;padding:22px;justify-content:flex-end;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 28px 70px rgba(3,13,34,.28);background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.04));backdrop-filter:blur(4px)}
.wunj-photo-card .elementor-heading-title{font-size:12px!important;letter-spacing:.14em!important;font-weight:800;color:#fff!important}
.wunj-photo-card--one{width:62%;height:66%;right:6%;top:0;transform:rotate(4deg);background:linear-gradient(155deg,#1d4ed8,#0f2557)}
.wunj-photo-card--two{width:55%;height:52%;left:0;bottom:2%;transform:rotate(-5deg);background:linear-gradient(155deg,#0f2557,#111318)}
.wunj-photo-card--three{width:38%;height:38%;right:0;bottom:1%;transform:rotate(3deg);background:linear-gradient(145deg,#ffffff,#cbd8ff)}
.wunj-photo-card--three .elementor-heading-title{color:var(--wunj-navy)!important}
.wunj-section-dek{font-size:18px;line-height:1.65;color:#596172;max-width:760px;margin-bottom:28px}
.wunj-vibes-section{background:#fff}
.wunj-vibe-grid,.wunj-region-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}
.wunj-vibe-card,.wunj-region-card{position:relative;min-height:290px;border-radius:24px;padding:26px;justify-content:flex-end;align-items:flex-start;overflow:hidden;background:var(--wunj-navy);color:#fff;box-shadow:var(--wunj-shadow);transition:transform .25s ease,box-shadow .25s ease}
.wunj-vibe-card:hover,.wunj-region-card:hover{transform:translateY(-5px);box-shadow:var(--wunj-shadow-lg)}
.wunj-vibe-card:nth-child(even){background:linear-gradient(145deg,#1d4ed8,#0f2557)}
.wunj-vibe-card:nth-child(3n){background:linear-gradient(145deg,#111318,#0f2557)}
.wunj-vibe-card .elementor-heading-title,.wunj-region-card .elementor-heading-title{color:#fff!important}
.wunj-vibe-card h3.elementor-heading-title,.wunj-region-card h3.elementor-heading-title{font-size:30px!important;line-height:1.04;letter-spacing:-.04em}
.wunj-vibe-card .elementor-widget-text-editor,.wunj-region-card .elementor-widget-text-editor{color:rgba(255,255,255,.8);font-size:15px;line-height:1.55}
.wunj-vibe-card .elementor-button,.wunj-region-card .elementor-button{background:#fff!important;color:var(--wunj-navy)!important;border-radius:999px!important;padding:11px 17px!important;font-size:13px!important;font-weight:800!important}
.wunj-card-number .elementor-heading-title{font-size:12px!important;letter-spacing:.18em!important;opacity:.7}
.wunj-region-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.wunj-region-card{min-height:330px;background:linear-gradient(160deg,#071224,#0f2557)}
.wunj-region-card:nth-child(2){background:linear-gradient(160deg,#1d4ed8,#0f2557)}
.wunj-region-card:nth-child(3){background:linear-gradient(160deg,#111318,#1d4ed8)}
.wunj-region-card:nth-child(4){background:linear-gradient(160deg,#0f2557,#111318)}
.wunj-editorial-shell{background:#f7f9fc}
.wunj-editorial-shell>.e-con-inner{max-width:1100px!important}
.wunj-editorial-lead{font-size:21px;line-height:1.65;color:#4a5364;max-width:830px}
.wunj-editorial-card{background:#fff;border:1px solid var(--wunj-line);border-radius:22px;padding:30px 32px;margin-bottom:16px;box-shadow:0 8px 28px rgba(15,37,87,.05)}
.wunj-editorial-card h3.elementor-heading-title{font-size:28px!important;letter-spacing:-.035em;color:var(--wunj-navy)!important}
.wunj-editorial-card .elementor-widget-text-editor{font-size:17px;line-height:1.75;color:#525b69}
.wunj-faq-item{border-bottom:1px solid var(--wunj-line);padding:24px 0}
.wunj-faq-item h3.elementor-heading-title{font-size:23px!important;color:var(--wunj-navy)!important}
.wunj-button-outline .elementor-button{background:transparent!important;border:1px solid rgba(255,255,255,.5)!important}

/* Make the search surface feel like a discovery tool instead of an admin form. */
.wunj-search-shell{margin-top:0;padding-top:clamp(70px,8vw,110px)}
.wunj-search-shell>.e-con-inner{padding:clamp(28px,4vw,54px)!important}
.wunj-search-shell .wunj-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(150px,1fr));gap:12px;border:0;box-shadow:none;padding:0;background:transparent}
.wunj-search-shell .wunj-filters input,.wunj-search-shell .wunj-filters select{min-height:52px;border-radius:14px;background:#f8faff;border-color:#dce4f2}
.wunj-search-shell .wunj-chips{margin-bottom:20px}
.wunj-search-shell .wunj-chip{padding:9px 15px;font-size:13px}

@media(max-width:1024px){
	.wunj-page-hero{flex-direction:column;align-items:flex-start}
	.wunj-hero-copy,.wunj-hero-visual{max-width:100%;width:100%}
	.wunj-hero-visual{min-height:380px}
	.wunj-vibe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.wunj-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.wunj-search-shell .wunj-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
	.wunj-hero-visual{min-height:330px}
	.wunj-photo-card--one{width:64%;height:62%}.wunj-photo-card--two{width:58%;height:50%}.wunj-photo-card--three{width:40%;height:34%}
	.wunj-vibe-grid,.wunj-region-grid{grid-template-columns:1fr}
	.wunj-vibe-card,.wunj-region-card{min-height:240px}
	.wunj-search-shell .wunj-filters{grid-template-columns:1fr}
	.wunj-editorial-card{padding:24px 22px}
}
