/* ==========================================================================
   NCHIC Elementor – theme stylesheet
   Rule of thumb: this file NEVER sets height, min-height, padding or width on
   Elementor containers/widgets. Those belong to Elementor controls, so changing
   them in the editor (e.g. Min Height) always works.
   ========================================================================== */

:root {
	--nchic-navy: #183F8B;
	--nchic-navy-deep: #0B2965;
	--nchic-gold: #F5A314;
	--nchic-ink: #262B36;
	--nchic-muted: #69758C;
	--nchic-line: #E7E9EE;
	--nchic-soft: #F6F7F9;
	--nchic-radius: 16px;
	--nchic-header-h: 88px;
	--nchic-admin-bar: 0px;
}

/* ---------- Base ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	margin: 0;
	background: #fff;
	color: var(--e-global-color-text, var(--nchic-ink));
	font-family: var(--e-global-typography-text-font-family, "Lato"), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip; /* clip (not hidden) keeps the sticky header working */
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--e-global-color-primary, var(--nchic-navy)); }
.nchic-main { display: block; outline: 0; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important;
	width: 1px; word-wrap: normal !important;
}
.skip-link:focus {
	clip: auto; clip-path: none; height: auto; width: auto; left: 12px; top: 12px; z-index: 100000;
	background: #fff; color: var(--nchic-navy); padding: 12px 18px; border-radius: 10px;
	box-shadow: 0 8px 30px rgba(0,0,0,.2); font-weight: 600; text-decoration: none;
}

body.admin-bar { --nchic-admin-bar: 32px; }
@media (max-width: 782px) { body.admin-bar { --nchic-admin-bar: 46px; } }

/* ---------- Header behaviour ----------
   The header is its own Elementor template ("Header"). It sits ABOVE the hero in the normal page flow
   (it never overlaps the hero) and all of its colours, spacing and content come from Elementor.
   The only thing the theme adds is "sticky": the header stays at the top while scrolling
   (Appearance → Customize → NCHIC Theme Options → Sticky header). */
body.nchic-header-is-sticky:not(.elementor-editor-active) #nchic-site-header,
body.nchic-header-is-sticky:not(.elementor-editor-active) .elementor-location-header {
	position: sticky;
	top: var(--nchic-admin-bar);
	z-index: 999;
}
.nchic-header-bar { --z-index: 999; transition: box-shadow .35s ease; }
body.nchic-scrolled .nchic-header-light { box-shadow: 0 6px 24px rgba(1, 28, 59, .08); }

/* Fallback header (only before the import, or without Elementor) */
.nchic-fallback-header .nchic-header-bar { background-image: linear-gradient(90deg, #183F8B 0%, #5622BF 100%); }

/* ---------- Content-safe editing ----------
   Long words, links or emails wrap inside their card instead of stretching it, and flex children may
   shrink, so typing or dropping new widgets into a card never pushes the layout out of shape. */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-button .elementor-button-text,
.elementor-icon-list-text { overflow-wrap: anywhere; word-break: normal; }
.e-con > .e-con, .e-con > .e-con-inner > .e-con { min-width: 0; }
.e-con .elementor-widget-image img { max-width: 100%; }
.elementor-widget-text-editor img { max-width: 100%; height: auto; }

/* ---------- Helper classes (applied via Advanced → CSS Classes in Elementor) ---------- */

/* Card lift on hover */
.nchic-lift { transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease; will-change: transform; }
.nchic-lift:hover { transform: translateY(-6px); }
@media (prefers-reduced-motion: reduce) { .nchic-lift, .nchic-lift:hover { transform: none; transition: none; } }

/* Frosted glass card on dark backgrounds */
.nchic-glass { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

/* Horizontal scroll-snap row (testimonials). Card widths are set in Elementor. */
.nchic-scroller {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: rgba(23,59,136,.35) transparent;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 14px;
}
.nchic-scroller > .e-con,
.nchic-scroller > .e-con-inner > .e-con { scroll-snap-align: start; }
.nchic-scroller::-webkit-scrollbar { height: 6px; }
.nchic-scroller::-webkit-scrollbar-thumb { background: rgba(23,59,136,.3); border-radius: 99px; }
.elementor-editor-active .nchic-scroller { scroll-snap-type: none; }

/* Pill badge text should never wrap awkwardly */
.nchic-badge .elementor-heading-title { white-space: normal; }

/* Number badge (steps) */
.nchic-step-num .elementor-heading-title { font-variant-numeric: tabular-nums; }

/* Text editor paragraphs inside cards: no trailing gap */
.elementor-widget-text-editor p { margin-top: 0; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Legal / long-form content */
.nchic-prose h2 { margin: 1.8em 0 .6em; font-size: 1.45em; line-height: 1.25; color: var(--e-global-color-text, var(--nchic-ink)); }
.nchic-prose h3 { margin: 1.4em 0 .5em; font-size: 1.15em; color: var(--e-global-color-text, var(--nchic-ink)); }
.nchic-prose h2:first-child, .nchic-prose h3:first-child { margin-top: 0; }
.nchic-prose ul { padding-left: 1.2em; }
.nchic-prose li { margin: .35em 0; }

/* ---------- NCHIC Nav Menu widget ---------- */
/* Defaults sit on the widget wrapper so the colours chosen in Elementor (set on the same wrapper with a
   more specific selector) always win. */
.elementor-widget-nchic-nav-menu,
.nchic-fallback-header {
	--nchic-nav-color: #fff;
	--nchic-nav-hover: var(--nchic-gold);
	--nchic-nav-active: var(--nchic-gold);
	--nchic-nav-pointer: var(--nchic-gold);
	--nchic-nav-gap: 4px;
	--nchic-dd-bg: #fff;
	--nchic-dd-color: var(--nchic-ink);
	--nchic-dd-hover: var(--nchic-navy);
	--nchic-dd-hover-bg: #F3F5FA;
	--nchic-dd-width: 240px;
	--nchic-dd-radius: 14px;
	--nchic-toggle-color: #fff;
	--nchic-toggle-bg: rgba(255,255,255,.12);
	--nchic-panel-bg: var(--nchic-navy-deep);
	--nchic-panel-color: #fff;
}
.nchic-nav {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.nchic-nav .nchic-nav__menu,
.nchic-nav .nchic-nav__menu ul { list-style: none; margin: 0; padding: 0; }
.nchic-nav .nchic-nav__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--nchic-nav-gap);
	width: 100%;
}
.nchic-nav .nchic-nav__menu > li { position: relative; }
.nchic-nav .nchic-nav__menu a {
	display: flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	color: var(--nchic-nav-color);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
	padding: 10px 14px;
	transition: color .25s ease, background-color .25s ease;
	white-space: nowrap;
}
.nchic-nav .nchic-nav__menu > li > a { position: relative; border-radius: 999px; }
.nchic-nav .nchic-nav__menu > li > a:hover,
.nchic-nav .nchic-nav__menu > li:focus-within > a { color: var(--nchic-nav-hover); }
.nchic-nav .nchic-nav__menu > li.current-menu-item > a,
.nchic-nav .nchic-nav__menu > li.current-menu-ancestor > a,
.nchic-nav .nchic-nav__menu > li.current_page_item > a,
.nchic-nav .nchic-nav__menu > li.current-page-ancestor > a { color: var(--nchic-nav-active); }

.nchic-nav.nchic-nav--pointer-underline .nchic-nav__menu > li > a::after {
	content: "";
	position: absolute;
	left: 14px; right: 14px; bottom: 4px;
	height: 2px;
	border-radius: 2px;
	background: var(--nchic-nav-pointer);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .3s ease;
}
.nchic-nav.nchic-nav--pointer-underline .nchic-nav__menu > li > a:hover::after,
.nchic-nav.nchic-nav--pointer-underline .nchic-nav__menu > li.current-menu-item > a::after,
.nchic-nav.nchic-nav--pointer-underline .nchic-nav__menu > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.nchic-nav.nchic-nav--pointer-pill .nchic-nav__menu > li > a:hover { background: color-mix(in srgb, var(--nchic-nav-pointer) 18%, transparent); }

.nchic-nav.nchic-nav--indicator .nchic-nav__menu > li.menu-item-has-children > a::before {
	content: "";
	order: 2;
	width: 7px; height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	margin-left: 2px;
	opacity: .8;
}

/* Dropdown */
.nchic-nav .nchic-nav__menu .sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: var(--nchic-dd-width);
	background: var(--nchic-dd-bg);
	border-radius: var(--nchic-dd-radius);
	padding: 8px;
	box-shadow: 0 24px 60px -18px rgba(15, 42, 107, .35), 0 2px 6px rgba(15,42,107,.06);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s;
	z-index: 1000;
}
.nchic-nav .nchic-nav__menu .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px; }
.nchic-nav .nchic-nav__menu li:hover > .sub-menu,
.nchic-nav .nchic-nav__menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.nchic-nav .nchic-nav__menu .sub-menu .sub-menu { top: -8px; left: 100%; }
.nchic-nav .nchic-nav__menu .sub-menu a {
	color: var(--nchic-dd-color);
	font-weight: 500;
	font-size: 14.5px;
	padding: 10px 14px;
	border-radius: 10px;
	white-space: normal;
}
.nchic-nav .nchic-nav__menu .sub-menu a:hover,
.nchic-nav .nchic-nav__menu .sub-menu .current-menu-item > a { color: var(--nchic-dd-hover); background: var(--nchic-dd-hover-bg); }

/* Toggle + panel */
.nchic-nav__toggle,
.nchic-nav__close,
.nchic-nav__sub-toggle { -webkit-appearance: none; appearance: none; border: 0; cursor: pointer; font: inherit; }
.nchic-nav__toggle {
	display: none;
	width: 46px; height: 46px;
	border-radius: 12px;
	background: var(--nchic-toggle-bg);
	color: var(--nchic-toggle-color);
	align-items: center; justify-content: center;
	padding: 0;
}
.nchic-nav__bars,
.nchic-nav__bars::before,
.nchic-nav__bars::after {
	display: block; width: 22px; height: 2px; border-radius: 2px; background: currentColor; position: relative; content: "";
	transition: transform .3s ease, opacity .3s ease;
}
.nchic-nav__bars::before { position: absolute; top: -7px; }
.nchic-nav__bars::after { position: absolute; top: 7px; }
.nchic-nav__panel-head { display: none; }
.nchic-nav__overlay { display: none; }

/* Before JS runs, hide the desktop menu at the chosen breakpoint (avoids a flash). */
@media (max-width: 1024px) {
	.nchic-nav--bp-tablet:not(.is-mobile) .nchic-nav__panel { display: none; }
	.nchic-nav--bp-tablet .nchic-nav__toggle { display: inline-flex; }
}
@media (max-width: 767px) {
	.nchic-nav--bp-mobile:not(.is-mobile) .nchic-nav__panel { display: none; }
	.nchic-nav--bp-mobile .nchic-nav__toggle { display: inline-flex; }
}
.nchic-nav.is-mobile .nchic-nav__toggle { display: inline-flex; }
.nchic-nav.is-mobile .nchic-nav__panel {
	position: fixed;
	top: 0; right: 0; bottom: 0;
	width: min(88vw, 380px);
	background: var(--nchic-panel-bg);
	color: var(--nchic-panel-color);
	padding: calc(18px + var(--nchic-admin-bar)) 20px 28px;
	transform: translateX(105%);
	transition: transform .4s cubic-bezier(.16,1,.3,1);
	overflow-y: auto;
	z-index: 100001;
	box-shadow: -20px 0 60px rgba(0,0,0,.25);
}
.nchic-nav.is-mobile.is-open .nchic-nav__panel { transform: translateX(0); }
.nchic-nav.is-mobile .nchic-nav__panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.14); }
.nchic-nav__panel-title { font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: 13px; opacity: .8; }
.nchic-nav__close { width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,.1); color: inherit; font-size: 26px; line-height: 1; }
.nchic-nav.is-mobile .nchic-nav__overlay { display: block; position: fixed; inset: 0; background: rgba(5, 14, 40, .55); z-index: 100000; opacity: 0; transition: opacity .3s ease; pointer-events: none; }
.nchic-nav.is-mobile.is-open .nchic-nav__overlay { opacity: 1; pointer-events: auto; }
.nchic-nav.is-mobile .nchic-nav__menu { flex-direction: column; align-items: stretch; gap: 2px; }
.nchic-nav.is-mobile .nchic-nav__menu > li { display: flex; flex-wrap: wrap; align-items: center; }
.nchic-nav.is-mobile .nchic-nav__menu a { color: var(--nchic-panel-color); white-space: normal; flex: 1; padding: 13px 12px; border-radius: 10px; font-size: 16px; }
.nchic-nav.is-mobile .nchic-nav__menu > li > a::after,
.nchic-nav.is-mobile .nchic-nav__menu > li > a::before { display: none; }
.nchic-nav.is-mobile .nchic-nav__menu a:hover { background: rgba(255,255,255,.08); }
.nchic-nav.is-mobile .nchic-nav__menu .current-menu-item > a { color: var(--nchic-nav-active); }
.nchic-nav.is-mobile .nchic-nav__menu .sub-menu {
	position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
	background: rgba(255,255,255,.06); width: 100%; min-width: 0; display: none; padding: 4px; margin: 2px 0 6px; border-radius: 12px;
}
.nchic-nav.is-mobile .nchic-nav__menu li.is-sub-open > .sub-menu { display: block; }
.nchic-nav.is-mobile .nchic-nav__menu .sub-menu a { color: var(--nchic-panel-color); opacity: .9; font-size: 15px; }
.nchic-nav__sub-toggle { display: none; }
.nchic-nav.is-mobile .nchic-nav__sub-toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 10px; background: rgba(255,255,255,.08); color: inherit;
}
.nchic-nav__sub-toggle::before { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .25s; }
.is-sub-open > .nchic-nav__sub-toggle::before { transform: rotate(-135deg) translateY(-2px); }
body.nchic-nav-open { overflow: hidden; }

/* ---------- Service Countdown widget ---------- */
.nchic-countdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.nchic-countdown__item {
	display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	background: var(--nchic-soft); border-radius: 14px; padding: 18px 10px; border: 1px solid var(--nchic-line);
}
.nchic-countdown__num { font-size: clamp(28px, 4vw, 40px); font-weight: 700; line-height: 1; color: var(--nchic-navy); font-variant-numeric: tabular-nums; font-family: var(--e-global-typography-primary-font-family, "Playfair Display"), serif; }
.nchic-countdown__label { margin-top: 8px; font-size: 13px; color: var(--nchic-muted); letter-spacing: .04em; }
.nchic-countdown__live { margin: 12px 0 0; font-weight: 700; color: #D92D20; text-align: center; }
.nchic-countdown-wrap.is-live .nchic-countdown { display: none; }

/* ---------- NCHIC Form widget ---------- */
.nchic-form { --nchic-form-focus: var(--nchic-navy); position: relative; }
.nchic-form__grid { display: flex; flex-wrap: wrap; gap: 18px; }
.nchic-form__field { flex: 1 1 100%; min-width: 0; }
.nchic-form__field--w50 { flex: 1 1 calc(50% - 18px); }
@media (max-width: 1024px) { .nchic-form__field--t100 { flex-basis: 100%; } .nchic-form__field--t50 { flex: 1 1 calc(50% - 18px); } }
@media (max-width: 767px) { .nchic-form__field--w50 { flex-basis: 100%; } .nchic-form__field--m50 { flex: 1 1 calc(50% - 18px); } }
.nchic-form__label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 8px; color: var(--nchic-ink); }
.nchic-form__req { color: #D92D20; }
.nchic-form__control {
	display: block; width: 100%;
	padding: 13px 15px;
	border: 1px solid var(--nchic-line);
	border-radius: 12px;
	background: #fff;
	color: var(--nchic-ink);
	font: inherit; font-size: 15px; line-height: 1.5;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.nchic-form__control:focus { outline: none; border-color: var(--nchic-form-focus); box-shadow: 0 0 0 4px color-mix(in srgb, var(--nchic-form-focus) 16%, transparent); }
textarea.nchic-form__control { resize: vertical; min-height: 120px; }
.nchic-form__check { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; cursor: pointer; }
.nchic-form__check input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--nchic-form-focus); }
.nchic-form__submit {
	-webkit-appearance: none; appearance: none; border: 0; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 15px 28px; border-radius: 12px;
	background: var(--nchic-navy); color: #fff;
	font: inherit; font-weight: 700; font-size: 15.5px;
	transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease;
	box-shadow: 0 14px 30px -14px rgba(23,59,136,.6);
}
.nchic-form__submit:hover { transform: translateY(-2px); }
.nchic-form__submit[disabled] { opacity: .7; cursor: progress; transform: none; }
.nchic-form__message { margin-top: 16px; padding: 14px 16px; border-radius: 12px; font-weight: 600; font-size: 14.5px; }
.nchic-form__message.is-success { background: #ECFDF3; color: #067647; border: 1px solid #ABEFC6; }
.nchic-form__message.is-error { background: #FEF3F2; color: #B42318; border: 1px solid #FECDCA; }
.nchic-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Fallback header/footer + WordPress-editor content ---------- */
.nchic-wrap { width: min(1200px, 100% - 40px); margin-inline: auto; }
.nchic-fallback-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 84px; }
.nchic-brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.nchic-brand__logo { width: 56px; height: 56px; object-fit: contain; }
.nchic-brand__text strong { display: block; font-family: "Cinzel", "Playfair Display", serif; font-size: 22px; letter-spacing: .04em; }
.nchic-brand__text small { display: block; font-size: 11.5px; opacity: .85; letter-spacing: .06em; }
.nchic-setup-notice { background: #FFF7E6; color: #5C3B00; padding: 10px 20px; text-align: center; font-size: 14px; }
.nchic-setup-notice a { font-weight: 700; margin-left: 6px; }

.nchic-fallback-hero {
	padding: 70px 0;
	background: linear-gradient(135deg, #12307A, #3B2A9E);
	color: #fff;
}
.nchic-fallback-hero h1 { font-family: var(--e-global-typography-primary-font-family, "Playfair Display"), serif; font-size: clamp(32px, 5vw, 52px); line-height: 1.15; margin: 0 0 12px; color: #fff; }
.nchic-fallback-hero p { margin: 0; opacity: .9; max-width: 720px; }
.nchic-eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: 12px; font-weight: 700; color: var(--nchic-gold) !important; margin: 0 0 10px; }
.nchic-entry { padding: 64px 0 88px; font-size: 17px; }
.nchic-entry > * { max-width: 820px; }
.nchic-entry .alignwide { max-width: 1100px; }
.nchic-entry .alignfull { max-width: none; }
.nchic-entry__thumb { border-radius: 18px; margin-bottom: 28px; }
.nchic-btn { display: inline-block; background: var(--nchic-navy); color: #fff; padding: 13px 24px; border-radius: 12px; text-decoration: none; font-weight: 700; }
.nchic-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; max-width: none !important; }
.nchic-post-card { background: #fff; border: 1px solid var(--nchic-line); border-radius: 18px; overflow: hidden; box-shadow: 0 16px 40px -24px rgba(23,59,136,.35); }
.nchic-post-card img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.nchic-post-card__body { padding: 22px; }
.nchic-post-card h2 { font-size: 21px; margin: 0 0 10px; line-height: 1.3; }
.nchic-post-card h2 a { color: var(--nchic-ink); text-decoration: none; }
.nchic-fallback-footer { background: linear-gradient(135deg, #12307A, #0B2965); color: rgba(255,255,255,.88); padding: 56px 0 24px; }
.nchic-fallback-footer a { color: #fff; }
.nchic-fallback-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px; }
.nchic-fallback-footer__name { font-weight: 700; font-size: 18px; color: #fff; }
.nchic-fallback-footer__menu { list-style: none; padding: 0; margin: 0; }
.nchic-fallback-footer__copy { border-top: 1px solid rgba(255,255,255,.12); margin-top: 32px; padding-top: 20px; font-size: 14px; }
.nchic-comments { margin-top: 48px; }

/* Keep Elementor's global button style (Site Settings → Buttons) off the menu controls. */
.nchic-nav button.nchic-nav__toggle,
.nchic-nav button.nchic-nav__close,
.nchic-nav button.nchic-nav__sub-toggle {
	padding: 0;
	border: 0;
	box-shadow: none;
	line-height: 1;
	min-height: 0;
	text-transform: none;
	letter-spacing: 0;
}
.nchic-nav button.nchic-nav__toggle { background: var(--nchic-toggle-bg); color: var(--nchic-toggle-color); }
.nchic-nav button.nchic-nav__close,
.nchic-nav button.nchic-nav__sub-toggle { background: rgba(255,255,255,.1); color: var(--nchic-panel-color); }
.nchic-nav button.nchic-nav__toggle:hover,
.nchic-nav button.nchic-nav__close:hover,
.nchic-nav button.nchic-nav__sub-toggle:hover { background: rgba(255,255,255,.2); }
.nchic-nav .nchic-nav__sub-toggle::before { display: block; flex: none; }

/* NCHIC cinematic presentation. Heights and spacing remain native Elementor controls. */
.nchic-cinematic .elementor-background-slideshow { overflow: hidden; pointer-events: none; }
.nchic-cinematic .elementor-background-slideshow__slide__image { backface-visibility: hidden; transform-origin: 50% 50%; }
.nchic-cinematic .elementor-ken-burns--active {
 animation-name: nchic-cinema-in;
 animation-duration: 33s;
 animation-timing-function: ease-in-out;
 animation-fill-mode: both;
}
.nchic-cinematic [data-swiper-slide-index="1"] .elementor-ken-burns--active,
.nchic-cinematic [data-swiper-slide-index="3"] .elementor-ken-burns--active { animation-name: nchic-cinema-out; }
.nchic-cinematic [data-swiper-slide-index="2"] .elementor-ken-burns--active { animation-name: nchic-cinema-pan; }
@keyframes nchic-cinema-in { from { transform: scale(1) translate3d(0,0,0); } to { transform: scale(1.08) translate3d(.5%,-.6%,0); } }
@keyframes nchic-cinema-out { from { transform: scale(1.08) translate3d(-.5%,.6%,0); } to { transform: scale(1) translate3d(0,0,0); } }
@keyframes nchic-cinema-pan { from { transform: scale(1.035) translate3d(-.6%,0,0); } to { transform: scale(1.08) translate3d(.6%,-.5%,0); } }
.nchic-cinematic.is-cinematic-paused .elementor-ken-burns { animation-play-state: paused; }
.nchic-cinematic .nchic-hero-controls .elementor-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.nchic-cinematic .nchic-hero-controls a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.nchic-cinematic .nchic-hero-status .elementor-heading-title { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) {
 .nchic-cinematic .elementor-ken-burns { animation: none !important; transform: none !important; }
 .nchic-cinematic .swiper-slide { transition-duration: 0ms !important; }
}

/* Mobile navigation retains the approved icons with comfortable touch areas. */
@media (max-width: 767px) {
 .elementor-location-header .e-n-menu-toggle,
 .elementor-location-header .e-n-menu-dropdown-icon { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
}

/* Footer headings: alignment and title-width ornament. */
@media (min-width: 1025px) {
  .elementor-location-footer .elementor-element-fc000009,
  .elementor-location-footer .elementor-element-fc000010,
  .elementor-location-footer .elementor-element-fc00001f { transform: translateY(-24px); }
}
.elementor-location-footer .elementor-element-fc000007 h2,
.elementor-location-footer .elementor-element-fc00000e h2,
.elementor-location-footer .elementor-element-fc00001d h2 { position: relative; width: fit-content; }
.elementor-location-footer .elementor-element-fc000007 h2::after,
.elementor-location-footer .elementor-element-fc00000e h2::after,
.elementor-location-footer .elementor-element-fc00001d h2::after {
  content: "✦";
  position: absolute; left: 0; top: 100%; margin-top: 8px;
  width: 100%; height: 14px;
  color: #ef2346; font-size: 18px; line-height: 14px;
  font-family: Georgia, serif; text-align: center;
  background: linear-gradient(#d9ac51,#d9ac51) left center / calc(50% - 12px) 2px no-repeat, linear-gradient(#d9ac51,#d9ac51) right center / calc(50% - 12px) 2px no-repeat;
  pointer-events: none;
}
