/* =============================================================================
   FOUNTAIN OF YOU MD: MENU / HEADER / FOOTER REFRESH (October 2026)
   Source of truth: "(FOY) Menu, Header, & Footer Refresh - October 2026"
   Everything here styles WordPress-native content (menus, Salient options,
   Global Section). Class hooks used by the menu: foy-mega, foy-col, foy-sub,
   foy-text, foy-cta-col, foy-btn, foy-btn-primary, foy-btn-outline,
   foy-btn-half, foy-ico-calendar / foy-ico-phone / foy-ico-chat.
   ============================================================================= */

:root {
	--foy-bg: #FCFAF7;
	--foy-tan: #D7CBBD;
	--foy-navy: #1F3345;
	--foy-gold: #B8925F;
	--foy-text: #1F3345;
	--foy-line: rgba(31, 51, 69, .18);
	--foy-ico-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E");
	--foy-ico-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 006.6 6.6l2.2-2.2a1 1 0 011-.25 11.4 11.4 0 003.6.57 1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.6a1 1 0 01-.25 1z'/%3E%3C/svg%3E");
	--foy-ico-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 01-12.2 7.5L3 20.5l1.6-5.2A8.4 8.4 0 1121 11.5z'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------------------------
   RETIRED ELEMENTS (hidden here as a safety net; removed at the source at launch)
   --------------------------------------------------------------------------- */
#header-secondary-outer { display: none !important; }              /* tan top bar */
.sticky-tab, .sticky-tab-mobile { display: none !important; }  /* ZocDoc floating widget kept visible (restored Nov 3 2026) */
@media (min-width: 1000px) { body #header-outer li.foy-mobile-cta { display: none !important; } }  /* mobile-only CTA */

/* ---------------------------------------------------------------------------
   DESKTOP HEADER + MEGA MENU  (>= 1000px)
   --------------------------------------------------------------------------- */
@media (min-width: 1000px) {

	body #header-outer,
	body #header-outer[data-box-shadow] { background-color: var(--foy-bg) !important; box-shadow: none !important; }

	/* top-level items */
	body #header-outer #top nav > ul.sf-menu > li > a {
		font-family: Montserrat, sans-serif !important;
		font-weight: 500 !important;
		font-size: 13px !important;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: var(--foy-navy) !important;
		padding-left: 20px !important; padding-right: 20px !important;
		background: none !important;
	}
	body #header-outer #top nav > ul.sf-menu > li.foy-mega > a { position: relative; }
	body #header-outer #top nav > ul.sf-menu > li.foy-mega:hover > a::after,
	body #header-outer #top nav > ul.sf-menu > li.foy-mega.sfHover > a::after {
		content: ""; position: absolute; left: 20px; right: 20px; bottom: 14px; height: 2px; background: var(--foy-gold);
	}

	/* the mega panel */
	body #header-outer #top nav > ul.sf-menu > li.foy-mega > ul.sub-menu {
		background: var(--foy-bg) !important;
		border-radius: 0 0 10px 10px;
		box-shadow: 0 18px 40px rgba(31, 51, 69, .16) !important;
		padding: 40px 48px 44px !important;
		border: 0 !important;
		margin-top: 0 !important;
	}
	body #header-outer #top nav > ul.sf-menu > li.foy-mega:hover > ul.sub-menu,
	body #header-outer #top nav > ul.sf-menu > li.foy-mega.sfHover > ul.sub-menu {
		display: grid !important;
		column-gap: 56px;
		align-items: start;
	}
	body #header-outer li.foy-cols-3 > ul.sub-menu { grid-template-columns: 1fr 1fr .98fr; }
	body #header-outer li.foy-cols-4 > ul.sub-menu { grid-template-columns: 1.05fr 1fr 1fr .98fr; }

	/* kill Salient's row borders / padding inside the panel */
	body #header-outer li.foy-mega ul.sub-menu li { width: auto !important; float: none !important; border: 0 !important; background: none !important; }
	body #header-outer li.foy-mega ul.sub-menu li > a {
		border: 0 !important; background: none !important;
		padding: 0 !important; margin: 0;
		font-family: Montserrat, sans-serif !important;
		font-weight: 400 !important; font-size: 15px !important; line-height: 1.35;
		color: var(--foy-navy) !important;
		text-transform: none !important; letter-spacing: 0;
		display: block;
	}
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu {
		position: static !important; display: block !important; opacity: 1 !important; visibility: visible !important;
		width: auto !important; box-shadow: none !important; background: none !important;
		padding: 0 !important; margin: 0 !important; left: auto !important; transform: none !important; border: 0 !important;
	}
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li { margin: 0 0 12px !important; padding: 0 !important; }
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li > a:hover { text-decoration: underline; text-underline-offset: 3px; }
	body #header-outer li.foy-mega .sf-sub-indicator, body #header-outer li.foy-mega ul.sub-menu .menu-item-icon-wrap { display: none !important; }

	/* column heading */
	body #header-outer li.foy-mega ul.sub-menu li.foy-col > a {
		font-size: 13px !important; font-weight: 700 !important; letter-spacing: .09em !important;
		text-transform: uppercase !important;
		padding-bottom: 12px !important; margin-bottom: 22px !important;
		border-bottom: 2px solid var(--foy-navy) !important;
		pointer-events: auto;
	}
	body #header-outer li.foy-mega ul.sub-menu li.foy-col.foy-no-link > a { pointer-events: none; cursor: default; }

	/* sub-heading inside a column (For Men, For Women, Who We Are ...) */
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub { margin-top: 26px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub:first-child { margin-top: 0 !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub > a {
		font-size: 12px !important; font-weight: 700 !important; letter-spacing: .09em !important;
		text-transform: uppercase !important; margin-bottom: 4px;
	}
	body #header-outer li.foy-mega ul.sub-menu li.foy-no-link > a { pointer-events: none; cursor: default; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub-link > a { pointer-events: auto; }

	/* plain text lines (addresses, descriptions) */
	body #header-outer li.foy-mega ul.sub-menu li.foy-text > a { font-size: 15px !important; line-height: 1.45 !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-desc { margin-top: -8px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-desc > a { font-size: 13px !important; opacity: .8; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-viewloc > a { font-weight: 600 !important; text-decoration: underline; text-underline-offset: 3px; margin-top: 8px; }

	/* the tan call-out column */
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col {
		background: var(--foy-tan) !important; border-radius: 10px; padding: 26px 28px 28px !important;
	}
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > a { border-bottom: 0 !important; padding-bottom: 0 !important; margin-bottom: 14px !important; line-height: 1.35; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > ul.sub-menu { display: flex !important; flex-wrap: wrap; gap: 12px; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > ul.sub-menu > li { margin: 0 !important; flex: 0 0 100%; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-text { margin-bottom: 2px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-text > a { font-size: 15px !important; line-height: 1.5 !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > ul.sub-menu > li.foy-btn-primary { margin-top: 10px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > ul.sub-menu > li.foy-btn-half { flex: 1 1 calc(50% - 6px); }

	/* buttons (shared by mega menu CTA + mobile CTA) */
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn > a {
		display: flex !important; align-items: center; justify-content: center; gap: 10px;
		border-radius: 4px !important; text-align: center; font-weight: 700 !important; font-size: 15px !important;
		padding: 13px 16px !important; line-height: 1.2; text-decoration: none !important;
	}
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-primary > a { background: var(--foy-navy) !important; color: #fff !important; border: 1px solid var(--foy-navy) !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-outline > a { background: transparent !important; color: var(--foy-navy) !important; border: 1px solid var(--foy-navy) !important; padding: 11px 12px !important; font-size: 14px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn > a:hover { filter: brightness(1.12); }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn > a::before { content: ""; width: 18px; height: 18px; flex: 0 0 18px; background-color: currentColor; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-ico-calendar > a::before { -webkit-mask-image: var(--foy-ico-calendar); mask-image: var(--foy-ico-calendar); }
	body #header-outer li.foy-mega ul.sub-menu li.foy-ico-phone > a::before    { -webkit-mask-image: var(--foy-ico-phone); mask-image: var(--foy-ico-phone); }
	body #header-outer li.foy-mega ul.sub-menu li.foy-ico-chat > a::before     { -webkit-mask-image: var(--foy-ico-chat); mask-image: var(--foy-ico-chat); }
}

/* contained, centered panel */
@media (min-width: 1000px) {
	body #header-outer #top nav > ul.sf-menu > li.foy-mega > ul.sub-menu {
		width: min(1240px, calc(100vw - 80px)) !important;
		left: 50% !important; right: auto !important;
		transform: translateX(-50%) !important;
		box-sizing: border-box;
	}
}

/* Salient fades submenu links; keep panel content fully opaque and unstyled by its hover effects */
@media (min-width: 1000px) {
	body #header-outer li.foy-mega ul.sub-menu li > a,
	body #header-outer li.foy-mega ul.sub-menu li > a:hover { opacity: 1 !important; transition: none; }
	body #header-outer #top nav > ul.sf-menu > li.foy-mega > a { text-decoration: none !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-primary > a { background: var(--foy-navy) !important; color: #fff !important; }
}

/* Button contrast fix: neutralize Salient's sub-menu link opacity/transition on CTA buttons */
@media (min-width: 1000px) {
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn,
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn > a,
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn > a .menu-title-text,
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn > a > span { opacity: 1 !important; transition: none !important; color: inherit; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-primary > a,
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-primary > a .menu-title-text,
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-primary > a > span { color: #fff !important; background-color: var(--foy-navy) !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-outline > a .menu-title-text { color: var(--foy-navy) !important; }
}

/* ===== Desktop header: socials left | logo center | actions right | search far right ===== */
@media (min-width: 1000px) {
	body #header-outer #top > .container > .row { position: relative; }
	body #header-outer #top nav.left-side { position: static !important; float: none !important; }
	body #header-outer #top nav.left-side .nectar-header-text-content { position: static; }
	body #header-outer #top .foy-socials {
		position: absolute; left: 0; top: 34px; display: flex; gap: 18px; padding: 0 !important; margin: 0;
	}
	body #header-outer #top .foy-socials a { color: var(--foy-navy) !important; font-size: 18px; line-height: 1; }
	body #header-outer #top .foy-header-actions {
		position: absolute; right: 64px; top: 14px; display: flex; flex-direction: column; align-items: stretch; gap: 8px; width: 190px;
	}
	body #header-outer #top .foy-hbtn {
		display: block; text-align: center; background: var(--foy-navy); color: #fff !important; font-weight: 600; font-size: 15px;
		padding: 11px 18px; border-radius: 6px; line-height: 1.2; text-decoration: none;
	}
	body #header-outer #top .foy-hbtn:hover { filter: brightness(1.15); }
	body #header-outer #top .foy-hsub { display: flex; gap: 8px; }
	body #header-outer #top .foy-hsub a {
		flex: 1 1 0; text-align: center; border: 1px solid var(--foy-navy); color: var(--foy-navy) !important; border-radius: 6px;
		padding: 7px 8px; font-size: 14px; line-height: 1.2; text-decoration: none; background: transparent;
	}
	body #header-outer #top .foy-hsub a:hover { background: var(--foy-navy); color: #fff !important; }
	body #header-outer #top nav.right-side { position: absolute !important; right: 0; top: 32px; }
}
/* On mobile the header actions live in the bottom bar and menu, not the header */
@media (max-width: 999px) {
	body #header-outer .foy-header-actions { display: none !important; }
}

/* ===== Bottom bar (HFCM #1): Call Us | Text Us | Book Online. Mobile only. ===== */
.foy-bottom-bar { display: none; }
@media (max-width: 999px) {
	body .foy-bottom-bar {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; background: var(--foy-navy);
		box-shadow: 0 -2px 12px rgba(0,0,0,.18); padding-bottom: env(safe-area-inset-bottom);
	}
	body .foy-bottom-bar a {
		flex: 1 1 0; text-align: center; color: #fff !important; font-weight: 600; font-size: 15px; line-height: 1;
		padding: 18px 8px; text-decoration: none; border-right: 1px solid rgba(255,255,255,.22);
	}
	body .foy-bottom-bar a:last-child { border-right: 0; background: var(--foy-tan); color: var(--foy-navy) !important; }
	body { padding-bottom: 56px; }
}

/* ===== Mobile menu (< 1000px): accordion top level, flattened columns, always-open CTA box ===== */
@media (max-width: 999px) {
	body .foy-bottom-bar a { font-family: inherit; }
	body #header-outer { background-color: var(--foy-bg) !important; }

	/* socials row inside the menu; header actions are hidden (bottom bar covers them) */
	body #mobile-menu .foy-socials { display: flex; justify-content: center; gap: 22px; padding: 18px 0 6px !important; }
	body #mobile-menu .foy-socials a { color: var(--foy-navy) !important; font-size: 20px; }

	/* column level: always open, shown as a small heading, no arrow */
	body #mobile-menu li.foy-mega > ul.sub-menu { padding: 4px 0 14px 0; }
	body #mobile-menu li.foy-col > ul.sub-menu { display: block !important; height: auto !important; max-height: none !important; opacity: 1 !important; padding: 0 0 6px 0; }
	body #mobile-menu li.foy-col > a {
		display: inline-block !important; pointer-events: none; margin: 14px 0 8px; padding: 0 0 6px !important;
		font-size: 12px !important; font-weight: 600 !important; letter-spacing: .1em; text-transform: uppercase; color: var(--foy-navy) !important;
		border-bottom: 2px solid var(--foy-navy); width: auto !important;
	}
	body #mobile-menu li.foy-col > a .ocm-dropdown-arrow,
	body #mobile-menu li.foy-col > a .sf-sub-indicator,
	body #mobile-menu li.foy-mobile-cta > a .ocm-dropdown-arrow,
	body #mobile-menu li.foy-no-link > a .ocm-dropdown-arrow { display: none !important; }
	body #mobile-menu li.foy-no-link > a { pointer-events: none; }
	body #mobile-menu li.foy-col ul.sub-menu li > a { font-size: 15px !important; padding: 9px 0 !important; text-transform: none; letter-spacing: 0; border: 0 !important; }

	/* sub labels and plain text */
	body #mobile-menu li.foy-sub > a { font-size: 11px !important; letter-spacing: .1em; text-transform: uppercase !important; font-weight: 600 !important; opacity: .75; padding: 12px 0 2px !important; }
	body #mobile-menu li.foy-text > a { font-size: 14px !important; line-height: 1.45; opacity: .9; padding: 4px 0 !important; }

	/* desktop CTA column is not used on mobile; the mobile-only CTA box replaces it */
	body #mobile-menu li.foy-cta-col { display: none !important; }
	body #mobile-menu li.foy-mobile-cta { display: block !important; background: var(--foy-tan); border-radius: 10px; margin: 18px 0 8px; padding: 18px 16px 16px; border: 0 !important; }
	body #mobile-menu li.foy-mobile-cta > a {
		display: block !important; pointer-events: none; padding: 0 0 8px !important; border: 0 !important;
		font-size: 12px !important; font-weight: 600 !important; letter-spacing: .1em; text-transform: uppercase; color: var(--foy-navy) !important;
	}
	body #mobile-menu li.foy-mobile-cta > ul.sub-menu { display: block !important; height: auto !important; max-height: none !important; opacity: 1 !important; padding: 0; }

	/* buttons */
	body #mobile-menu li.foy-btn { margin-top: 10px; }
	body #mobile-menu li.foy-btn > a {
		display: flex !important; align-items: center; justify-content: center; gap: 10px; text-align: center; pointer-events: auto;
		background: var(--foy-navy) !important; color: #fff !important; border-radius: 6px; padding: 14px 16px !important;
		font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0; opacity: 1 !important;
	}
	body #mobile-menu li.foy-btn > a::before { content: ""; width: 18px; height: 18px; flex: 0 0 18px; background-color: currentColor; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }
	body #mobile-menu li.foy-ico-calendar > a::before { -webkit-mask-image: var(--foy-ico-calendar); mask-image: var(--foy-ico-calendar); }
	body #mobile-menu li.foy-ico-phone > a::before { -webkit-mask-image: var(--foy-ico-phone); mask-image: var(--foy-ico-phone); }
	body #mobile-menu li.foy-ico-chat > a::before { -webkit-mask-image: var(--foy-ico-chat); mask-image: var(--foy-ico-chat); }
}

/* Mobile overrides: beat Salient's span fade-in and link color specificity */
@media (max-width: 999px) {
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu span,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta span { opacity: 1 !important; transform: none !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu li > a,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li > a { color: var(--foy-navy) !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-btn > a,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-btn-primary > a { color: #fff !important; background: var(--foy-navy) !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta > a { color: var(--foy-navy) !important; }
	body #header-outer #mobile-menu .menu-items-wrap li.foy-col > a .sf-sub-indicator,
	body #header-outer #mobile-menu .menu-items-wrap li.foy-mobile-cta > a .sf-sub-indicator { display: none !important; }
	body #header-outer #mobile-menu .menu-items-wrap li.foy-mobile-cta > a { border-bottom: 0 !important; }
}

/* Mobile menu: final specificity pass */
@media (max-width: 999px) {
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li > a {
		text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; padding: 9px 0 9px 0 !important; border: 0 !important; font-weight: 400 !important;
	}
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li { border: 0 !important; margin: 0; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li.foy-sub > a {
		text-transform: uppercase !important; letter-spacing: .1em !important; font-size: 11px !important; font-weight: 600 !important; padding: 12px 0 2px 0 !important; opacity: .7;
	}
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li { border: 0 !important; margin: 0; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li.foy-text > a {
		text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; line-height: 1.45; padding: 0 0 6px 0 !important; border: 0 !important; font-weight: 400 !important;
	}
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li.foy-btn > a,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu li.foy-btn > a { color: #fff !important; background: var(--foy-navy) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; font-weight: 600 !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-btn > a span { color: inherit !important; }
}

/* ===== Footer 2026 (Global Section "Footer 2026") ===== */
.foy-footer { color: #fff; }
.foy-footer h4.foy-fh {
	font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fff; margin: 0 0 14px;
	padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.35); display: inline-block;
}
.foy-footer p, .foy-footer a { color: #fff; }
.foy-footer .foy-addr { margin: 0 0 12px; line-height: 1.5; font-size: 15px; }
.foy-footer .foy-addr a, .foy-footer .foy-review-links a, .foy-footer .foy-contact-lines a { text-decoration: none; border-bottom: 1px solid transparent; }
.foy-footer .foy-addr a:hover, .foy-footer .foy-review-links a:hover, .foy-footer .foy-contact-lines a:hover { border-bottom-color: #fff; }
.foy-footer .foy-review-links { margin: 10px 0 0; font-size: 14px; }
.foy-footer .foy-contact-lines { line-height: 1.9; font-size: 15px; }
.foy-footer .foy-learn-more ul { list-style: none; margin: 0; padding: 0; }
.foy-footer .foy-learn-more li { margin: 0 0 8px; padding: 0; }
.foy-footer .foy-learn-more a { color: #fff; font-size: 15px; text-decoration: none; }
.foy-footer .foy-learn-more a:hover { text-decoration: underline; }
.foy-footer .social-footer a { color: #fff; margin: 0 8px; font-size: 20px; }
@media (max-width: 999px) {
	.foy-footer .foy-footer-col { margin-bottom: 28px; text-align: center; }
	.foy-footer h4.foy-fh { display: inline-block; }
}

/* Footer 2026 fixes */
body .foy-footer h4.foy-fh { color: #fff !important; }
body .foy-footer .foy-learn-more ul, body .foy-footer .foy-learn-more li { list-style: none !important; margin-left: 0 !important; padding-left: 0 !important; }
body .foy-footer .foy-learn-more li::marker { content: ""; }
.foy-footer .social-footer a { margin: 0 6px; font-size: 18px; }
@media (max-width: 999px) {
	body .foy-footer .foy-footer-col { width: 100% !important; float: none !important; }
}

/* Footer polish */
.foy-footer .social-footer { white-space: nowrap; }
.foy-footer .social-footer a { margin: 0 4px; font-size: 17px; }
body .foy-footer .nectar-button { font-size: 14px !important; padding: 14px 16px !important; width: 100%; text-align: center; }
@media (max-width: 999px) {
	body .foy-footer .img-with-aniamtion-wrap { max-width: 230px; margin-left: auto !important; margin-right: auto !important; }
	body .foy-footer .nectar-button { width: auto; min-width: 240px; }
	body .foy-footer .foy-footer-col { margin-bottom: 34px; }
}
/* ===== ROUND 2: mockup comparison fixes ===== */
:root {
	--foy-line-soft: #E9E4DB;
	--foy-bar: #F3EFEA;
	--foy-ico-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
	--foy-ico-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	--foy-ico-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-9 8.4 9 9 0 0 1-3.9-.9L3 20l1.3-4A8.4 8.4 0 1 1 21 11.5z'/%3E%3C/svg%3E");
}
/* reusable icon mask */
.foy-ico::before, body #header-outer #top .foy-hbtn::before, body #header-outer #top .foy-hsub a::before, .foy-bottom-bar a::before, .foy-fbtn::before {
	content: ""; display: inline-block; flex: 0 0 auto; background-color: currentColor;
	-webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center;
}

/* ---------------- DESKTOP ---------------- */
@media (min-width: 1000px) {
	/* header actions: square Book Online, text-only Call/Text with icons, caps + bold */
	body #header-outer #top .foy-hbtn {
		display: flex; align-items: center; justify-content: center; gap: 10px;
		border-radius: 2px; text-transform: uppercase; font-weight: 700; font-size: 13px; letter-spacing: .08em; padding: 12px 18px;
	}
	body #header-outer #top .foy-hbtn::before { width: 17px; height: 17px; -webkit-mask-image: var(--foy-ico-calendar); mask-image: var(--foy-ico-calendar); }
	body #header-outer #top .foy-hsub { justify-content: space-between; gap: 8px; margin-top: 2px; }
	body #header-outer #top .foy-hsub a {
		flex: 0 0 auto; border: 0 !important; background: none !important; border-radius: 0; padding: 4px 0;
		display: inline-flex; align-items: center; gap: 7px; text-transform: uppercase; font-weight: 700; font-size: 12.5px; letter-spacing: .08em; color: var(--foy-navy) !important;
	}
	body #header-outer #top .foy-hsub a:hover { background: none !important; color: var(--foy-navy) !important; opacity: .7; }
	body #header-outer #top .foy-hsub a::before { width: 14px; height: 14px; }
	body #header-outer #top .foy-hsub a:first-child::before { -webkit-mask-image: var(--foy-ico-phone); mask-image: var(--foy-ico-phone); }
	body #header-outer #top .foy-hsub a:last-child::before { -webkit-mask-image: var(--foy-ico-chat); mask-image: var(--foy-ico-chat); }

	/* hover indicator: below the text with breathing room */
	body #header-outer #top nav > ul.sf-menu > li > a { padding-top: 12px !important; padding-bottom: 20px !important; }
	body #header-outer #top nav > ul.sf-menu > li.foy-mega:hover > a::after,
	body #header-outer #top nav > ul.sf-menu > li.foy-mega.sfHover > a::after { bottom: 8px !important; height: 3px !important; }

	/* mega menu typography */
	body #header-outer li.foy-mega ul.sub-menu li.foy-col > a { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .13em !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub { margin-top: 34px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub:first-child { margin-top: 0 !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub > a { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .13em !important; margin-bottom: 8px; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub-link > a:hover { text-decoration: underline; text-underline-offset: 3px; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-col-nohead > a { visibility: hidden; border-bottom-color: transparent !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > a { font-weight: 700 !important; letter-spacing: .13em !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-text > a { font-size: 16px !important; line-height: 1.55 !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn > a { font-weight: 700 !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-outline > a { border-width: 2px !important; font-size: 15px !important; font-weight: 700 !important; }
}

/* ---------------- MOBILE (< 1000px) ---------------- */
@media (max-width: 999px) {
	/* header: MENU button = navy, slightly rounded, caps/bold, hamburger with three equal lines */
	body #header-outer .slide-out-widget-area-toggle.mobile-icon a,
	body #header-outer .slide-out-widget-area-toggle.mobile-icon a.closed { border-radius: 4px !important; background-color: var(--foy-navy) !important; }
	body #header-outer .slide-out-widget-area-toggle .label { text-transform: uppercase; font-weight: 700; letter-spacing: .1em; font-size: 13px; font-style: normal; }
	body #header-outer .slide-out-widget-area-toggle .lines-button { width: 18px; height: 14px; display: inline-block; position: relative; top: 0; vertical-align: middle;
		background:
			linear-gradient(#fff,#fff) 0 0 / 100% 2px no-repeat,
			linear-gradient(#fff,#fff) 0 50% / 100% 2px no-repeat,
			linear-gradient(#fff,#fff) 0 100% / 100% 2px no-repeat; }
	body #header-outer .slide-out-widget-area-toggle .lines-button .lines,
	body #header-outer .slide-out-widget-area-toggle .lines-button .lines::before,
	body #header-outer .slide-out-widget-area-toggle .lines-button .lines::after { display: none !important; }
}

/* ===== ROUND 2b: weights, logo, mobile menu, bottom bar, footer ===== */
@media (min-width: 1000px) {
	/* Salient forces 700 + its own color on the label span; make spans inherit from the link */
	body #header-outer #top nav > ul.sf-menu > li > a .menu-title-text,
	body #header-outer li.foy-mega ul.sub-menu li > a .menu-title-text,
	body #header-outer li.foy-mega ul.sub-menu li > a > span {
		font-weight: inherit !important; color: inherit !important; font-family: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important;
	}
	body #header-outer #top nav > ul.sf-menu > li > a { font-weight: 500 !important; }

	/* Skin Treatments column: no visible heading, first item sits on the heading line */
	body #header-outer li.foy-mega ul.sub-menu li.foy-col-nohead > a { display: block !important; visibility: hidden !important; border-bottom-color: transparent !important; height: 34px; overflow: hidden; white-space: nowrap; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-col-nohead > ul.sub-menu > li.foy-sub { margin-top: 0 !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-col-nohead > ul.sub-menu > li.foy-sub > a { border-bottom: 0 !important; }

	/* logo about 20% larger (80px to 96px) */
	body #header-outer #logo img, body #header-outer .logo-spacing img, body #header-outer #logo .starting-logo { height: 96px !important; width: auto !important; }
}

/* ---------------- MOBILE ---------------- */
@media (max-width: 999px) {
	body #header-outer #logo img, body #header-outer .logo-spacing img, body #header-outer #logo .starting-logo { height: 62px !important; width: auto !important; }

	/* social bar */
	body #header-outer #mobile-menu .foy-socials, body #mobile-menu .foy-socials { background: var(--foy-bar); margin: 0 -25px; padding: 20px 0 !important; justify-content: center; gap: 30px; border-top: 1px solid var(--foy-line-soft); border-bottom: 1px solid var(--foy-line-soft); }

	/* top-level items */
	body #header-outer #mobile-menu .menu-items-wrap > ul > li { border-bottom: 1px solid var(--foy-line-soft) !important; margin: 0; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a {
		font-family: Montserrat, sans-serif !important; font-size: 16px !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important;
		color: var(--foy-navy) !important; padding: 22px 0 !important; border: 0 !important; display: flex; align-items: center; justify-content: space-between;
	}
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a > span { font-weight: inherit !important; color: inherit !important; opacity: 1 !important; transform: none !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.open-submenu > a { font-weight: 700 !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a .ocm-dropdown-arrow { position: static !important; color: var(--foy-navy); }

	/* column headings: bold caps with a full-width 2px rule; sub-headings: bold caps, no rule */
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega li.foy-col > a {
		display: block !important; width: 100% !important; margin: 20px 0 14px !important; padding: 0 0 10px !important; border-bottom: 2px solid var(--foy-navy) !important;
		font-size: 13px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; opacity: 1 !important;
	}
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega li.foy-col-nohead > a { display: none !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li.foy-sub > a {
		font-size: 13px !important; font-weight: 700 !important; letter-spacing: .12em !important; opacity: 1 !important; padding: 18px 0 4px 0 !important; border: 0 !important;
	}
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li > a { font-weight: 400 !important; padding: 8px 0 !important; font-size: 16px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li.foy-sub > a { font-weight: 700 !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu span { font-weight: inherit !important; }
	body #header-outer #mobile-menu li.foy-mega > ul.sub-menu { padding: 0 0 18px !important; }

	/* CTA box */
	body #header-outer #mobile-menu li.foy-mobile-cta { background: var(--foy-tan); border: 0 !important; border-radius: 10px; margin: 26px 0 28px; padding: 26px 22px 24px; text-align: left; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta > a {
		text-align: left !important; display: block !important; padding: 0 0 12px !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .12em !important; justify-content: flex-start;
	}
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li.foy-text > a { font-size: 17px !important; line-height: 1.5 !important; text-align: left !important; padding: 0 0 14px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-btn > a { border-radius: 4px !important; font-weight: 700 !important; }
	body #header-outer #mobile-menu li.foy-btn > a::before { width: 18px; height: 18px; }
}

/* ---------------- BOTTOM BAR (mobile) ---------------- */
@media (max-width: 999px) {
	body .foy-bottom-bar { background: var(--foy-bg); border-top: 1px solid var(--foy-line-soft); box-shadow: none; }
	body .foy-bottom-bar a {
		display: flex; align-items: center; justify-content: center; gap: 8px; text-transform: uppercase; font-weight: 700; font-size: 13px; letter-spacing: .08em; padding: 18px 6px;
		color: var(--foy-navy) !important; background: var(--foy-bg); border-right: 1px solid var(--foy-line-soft);
	}
	body .foy-bottom-bar a.foy-bb-text { background: var(--foy-bar); }
	body .foy-bottom-bar a:last-child { background: var(--foy-navy); color: #fff !important; border-right: 0; }
	body .foy-bottom-bar a::before { width: 16px; height: 16px; }
	body .foy-bottom-bar a.foy-bb-call::before { -webkit-mask-image: var(--foy-ico-phone); mask-image: var(--foy-ico-phone); }
	body .foy-bottom-bar a.foy-bb-text::before { -webkit-mask-image: var(--foy-ico-chat); mask-image: var(--foy-ico-chat); }
	body .foy-bottom-bar a.foy-bb-book::before { -webkit-mask-image: var(--foy-ico-calendar); mask-image: var(--foy-ico-calendar); }
}

/* ---------------- ZOCDOC STICKY BUTTON over the bottom bar's Book Online cell (temporary, Nov 3 2026) ----------------
   ZocDoc injects div.zd-sticky-button with inline !important right:20px, padding 9px 24px, font-size 24px, line-height 30px.
   Those cannot be overridden, so the button is sized to the cell, shifted 20px right to cancel the offset, and its text is
   centered with a transparent top border. The cell is at least 180px (ZocDoc's text needs it) and painted ZocDoc yellow
   so any gap blends in. To remove: delete this block. */
@media (max-width: 999px) {
	body .foy-bottom-bar a.foy-bb-book { flex: 0 0 max(33.334%, 180px); box-sizing: border-box; background: rgb(255, 240, 75); color: rgb(0, 35, 75) !important; }
	body .zd-sticky-button {
		box-sizing: border-box !important; width: max(33.334vw, 180px) !important; max-width: none !important;
		height: calc(53px + env(safe-area-inset-bottom)) !important; bottom: 0 !important; transform: translateX(20px);
		border-top: 3px solid transparent; text-align: center !important; white-space: nowrap !important; border-radius: 0 !important;
	}
}
@media (max-width: 400px) {
	/* keep Call Us / Text Us on one line in the narrower cells so the bar stays 53px tall */
	body .foy-bottom-bar a.foy-bb-call, body .foy-bottom-bar a.foy-bb-text { white-space: nowrap; letter-spacing: .03em; gap: 5px; padding-left: 4px; padding-right: 4px; }
}

/* ---------------- FOOTER ---------------- */
body .foy-footer h4.foy-fh {
	display: block; border: 0 !important; padding: 0 !important; margin: 0 0 18px !important; text-decoration: none;
	color: #D7CBBD !important; font-size: 15px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
body .foy-footer .foy-addr { font-size: 18px; line-height: 1.5; margin: 0 0 16px; }
body .foy-footer .foy-loc + .foy-loc { margin-top: 44px; }
body .foy-footer .foy-review-links { display: flex; gap: 32px; margin: 16px 0 0; font-size: 17px; }
body .foy-footer .foy-review-links a { text-decoration: underline !important; text-underline-offset: 6px; text-decoration-thickness: 1px; border-bottom: 0 !important; }
body .foy-footer .foy-review-links a:hover { text-decoration: none !important; }
/* Learn More / Get Started */
body .foy-footer .foy-links-col h4.foy-fh, body .foy-footer .foy-learn-more { margin-top: 0 !important; }
body .foy-footer .foy-learn-more ul { margin: 0 !important; }
body .foy-footer .foy-learn-more li { margin: 0 0 10px !important; }
body .foy-footer .foy-learn-more a { font-size: 17px; }
body .foy-footer .foy-start { margin-top: 36px; }
body .foy-footer a.foy-fbtn {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: auto; background: var(--foy-bar); color: var(--foy-navy) !important;
	font-size: 17px; font-weight: 700; text-decoration: none !important; padding: 16px 28px; border-radius: 4px; border: 0; line-height: 1.2;
}
body .foy-footer a.foy-fbtn::before { width: 20px; height: 20px; -webkit-mask-image: var(--foy-ico-calendar); mask-image: var(--foy-ico-calendar); }
body .foy-footer a.foy-fbtn:hover { filter: brightness(.96); }
body .foy-footer p.foy-contact-lines { margin: 22px 0 0; font-size: 18px; line-height: 1.8; }
body .foy-footer a.foy-phone { font-weight: 800; text-decoration: none; }
/* brand column */
body .foy-footer .legitscript-seal img, body .foy-footer .foy-legit img { width: 92px !important; height: auto !important; }
@media (max-width: 999px) {
	body .foy-footer h4.foy-fh { padding-top: 14px !important; }
	body .foy-footer .foy-footer-col { text-align: center; }
	body .foy-footer .foy-footer-col .img-with-aniamtion-wrap { max-width: 300px; }
	body .foy-footer .foy-review-links { justify-content: center; }
	body .foy-footer a.foy-fbtn { width: auto; }
}

@media (min-width: 1000px) {
	/* headings stay navy (something upstream turns the link white) */
	body #header-outer li.foy-mega ul.sub-menu li.foy-col > a,
	body #header-outer li.foy-mega ul.sub-menu li.foy-col > a .menu-title-text,
	body #header-outer li.foy-mega ul.sub-menu li.foy-col > a > span { color: var(--foy-navy) !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > a,
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > a .menu-title-text { color: var(--foy-navy) !important; }
	/* more space above For Men / For Women / Wrinkle Relaxers etc. (beats the generic li margin reset) */
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li.foy-sub { margin-top: 30px !important; }
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li.foy-sub:first-child { margin-top: 0 !important; }
	/* wider call-out column so Book a Consultation stays on one line */
	body #header-outer li.foy-cols-3 > ul.sub-menu { grid-template-columns: 1fr 1fr 1.2fr !important; }
	body #header-outer li.foy-cols-4 > ul.sub-menu { grid-template-columns: 1fr 1fr 1fr 1.25fr !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col { padding: 26px 24px 28px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn > a { white-space: nowrap; }
}
@media (max-width: 999px) {
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu > li.foy-sub { margin-top: 14px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu > li.foy-sub:first-child { margin-top: 0 !important; }
}
/* footer: tighten heading-to-content gaps */
body .foy-footer h4.foy-fh { margin-bottom: 10px !important; }
body .foy-footer .foy-learn-more, body .foy-footer .foy-learn-more .wpb_wrapper, body .foy-footer .foy-learn-more .widget { margin-top: 0 !important; padding-top: 0 !important; }
body .foy-footer .foy-addr { margin-top: 0 !important; }

/* ROUND 2c: header height, panel width, mega typography scale */
@media (min-width: 1000px) {
	body #header-outer #top nav.left-side { position: absolute !important; left: 0; top: 0; width: 100%; height: 0; margin: 0 !important; padding: 0 !important; overflow: visible; }
	body #header-outer #top .foy-socials { top: 56px; }
	body #header-outer #top .span_9 { margin-top: 6px; }
	body #header-outer #top nav > ul.sf-menu > li.foy-mega > ul.sub-menu { width: min(1380px, calc(100vw - 56px)) !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-col > a { font-size: 14.5px !important; letter-spacing: .14em !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub > a { font-size: 13.5px !important; }
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li > a { font-size: 16.5px !important; }
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li { margin-bottom: 10px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > a { font-size: 14px !important; letter-spacing: .12em !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-text > a { font-size: 16.5px !important; }
}

@media (min-width: 1000px) {
	body #header-outer #top .foy-socials { left: 44px; top: 58px; }
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li.foy-sub > a { font-size: 13.5px !important; font-weight: 700 !important; letter-spacing: .13em !important; }
}

/* ROUND 2d: mobile pass 2 */
@media (max-width: 999px) {
	body #header-outer #top #logo img, body #header-outer #top .logo-spacing img { height: 64px !important; width: auto !important; margin-top: 0 !important; top: 0 !important; }
	body #header-outer .slide-out-widget-area-toggle a .label, body #header-outer .slide-out-widget-area-toggle.mobile-icon a .label { font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; font-family: Montserrat, sans-serif !important; }

	/* social bar: full-bleed tan strip */
	body #mobile-menu .foy-socials { display: flex !important; position: relative; left: 50%; margin-left: -50vw !important; width: 100vw !important; box-sizing: border-box; }

	/* top-level rows: keep Salient's absolutely positioned chevron */
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a { display: block !important; padding: 22px 36px 22px 0 !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a .ocm-dropdown-arrow { position: absolute !important; right: 4px; top: 50%; transform: translateY(-50%); }

	/* nested lists: no indent, no row borders */
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu { padding-left: 0 !important; margin-left: 0 !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu li,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li { border: 0 !important; padding-left: 0 !important; margin-left: 0 !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu li > a,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li > a { border: 0 !important; padding-left: 0 !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega li.foy-col > a { padding-bottom: 10px !important; border-bottom: 2px solid var(--foy-navy) !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta { padding-left: 22px !important; padding-right: 22px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li.foy-btn > a { padding: 14px 16px !important; }
}

@media (max-width: 999px) {
	body #header-outer #mobile-menu .menu-items-wrap li::before,
	body #header-outer #mobile-menu .menu-items-wrap li::after { display: none !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu li > a,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li > a { margin-left: 0 !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li:first-child { border-top: 0 !important; }
}

@media (max-width: 999px) {
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a .sf-sub-indicator { top: 14px !important; right: 2px !important; }
	/* column heading rule (must come after the generic "no border" rule for nested links) */
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu li.foy-col > a {
		border-bottom: 2px solid var(--foy-navy) !important; padding: 0 0 10px !important; margin: 22px 0 12px !important;
	}
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu li.foy-col-nohead > a { display: none !important; }
}

body .foy-footer .foy-learn-more { margin-top: -14px !important; }
@media (max-width: 999px) {
	body .foy-footer .foy-loc, body .foy-footer .foy-links-col h4.foy-fh { padding-top: 14px; }
	body .foy-footer .foy-loc { margin-top: 36px; }
	body .foy-footer .foy-loc + .foy-loc { margin-top: 44px; }
	body .foy-footer .foy-start { margin-top: 40px; }
	body .foy-footer .foy-learn-more { margin-top: -8px !important; }
}
@media (max-width: 999px) {
	body .foy-footer .foy-footer-col:last-of-type { padding-top: 34px !important; }
}

/* ===== ROUND 3 ===== */

/* ---------- DESKTOP ---------- */
@media (min-width: 1000px) {
	/* logo link: the (empty) left nav overlay was swallowing clicks */
	body #header-outer #top nav.left-side { pointer-events: none; }
	body #header-outer #top .foy-socials, body #header-outer #top .foy-socials a { pointer-events: auto; }

	/* top links never wrap, so every top-level item has the same height and the panel never overlaps a neighbor */
	body #header-outer #top nav > ul.sf-menu > li > a { white-space: nowrap !important; }
	body #header-outer #top nav > ul.sf-menu > li.foy-mega > ul.sub-menu { z-index: 100 !important; }
	body #header-outer #top nav > ul.sf-menu > li.foy-mega.sfHover, body #header-outer #top nav > ul.sf-menu > li.foy-mega:hover { z-index: 101; }

	/* hover underline on every top-level link, including Contact (no mega menu) */
	body #header-outer #top nav > ul.sf-menu > li > a { position: relative; }
	body #header-outer #top nav > ul.sf-menu > li:hover > a::after,
	body #header-outer #top nav > ul.sf-menu > li.sfHover > a::after {
		content: ""; position: absolute; left: 20px; right: 20px; bottom: 8px; height: 3px; background: var(--foy-gold);
	}

	/* hidden heading of the Skin Treatments column must not widen the column */
	body #header-outer li.foy-mega ul.sub-menu li.foy-col-nohead > a { width: 1px !important; max-width: 1px !important; min-width: 0 !important; padding: 0 !important; margin-right: 0 !important; }

	/* columns: equal-ish, text wraps instead of blowing out the grid, Common Concerns gets the room */
	body #header-outer li.foy-cols-3 > ul.sub-menu { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr) !important; }
	body #header-outer li.foy-cols-4 > ul.sub-menu { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) minmax(0, 1.3fr) minmax(0, 1.1fr) !important; }

	/* non-link text in the panels never reacts to hover (no white flash) */
	body #header-outer li.foy-mega ul.sub-menu li.foy-text > a,
	body #header-outer li.foy-mega ul.sub-menu li.foy-desc > a,
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-text > a,
	body #header-outer li.foy-mega ul.sub-menu li.foy-no-link > a { pointer-events: none !important; cursor: default; }
	body #header-outer li.foy-mega ul.sub-menu li:not(.foy-btn):hover > a,
	body #header-outer li.foy-mega ul.sub-menu li:not(.foy-btn) > a:hover,
	body #header-outer li.foy-mega ul.sub-menu li:not(.foy-btn):hover > a .menu-title-text,
	body #header-outer li.foy-mega ul.sub-menu li:not(.foy-btn) > a:hover .menu-title-text,
	body #header-outer li.foy-mega ul.sub-menu li:not(.foy-btn):hover > a > span { color: var(--foy-navy) !important; }

	/* ---- sticky header shrinks on scroll (class added by foy-refresh-2026.js) ---- */
	body #header-outer #top #logo img { transition: height .2s ease; }
	body.foy-scrolled #header-outer #top #logo img { height: 54px !important; }
	body.foy-scrolled #header-outer #top #logo { margin-top: 8px !important; }
	body.foy-scrolled #header-outer #top .span_9 { margin-top: 0; }
	body.foy-scrolled #header-outer #top nav > ul.sf-menu > li > a { padding-top: 6px !important; padding-bottom: 14px !important; }
	body.foy-scrolled #header-outer #top nav > ul.sf-menu > li:hover > a::after,
	body.foy-scrolled #header-outer #top nav > ul.sf-menu > li.sfHover > a::after { bottom: 5px; }
	body.foy-scrolled #header-outer #top .foy-socials { top: 28px; }
	body.foy-scrolled #header-outer #top .foy-header-actions { top: 10px; width: auto; }
	body.foy-scrolled #header-outer #top .foy-hsub { display: none; }
	body.foy-scrolled #header-outer #top .foy-hbtn { padding: 9px 18px; }
	body.foy-scrolled #header-outer #top nav.right-side { top: 18px; }

	/* desktop sticky buttons removed (strategist feedback, Nov 2026) */
}

/* small desktops: tighter nav and panel so nothing wraps or gets cut off */
@media (min-width: 1000px) and (max-width: 1279px) {
	body #header-outer #top nav > ul.sf-menu > li > a { padding-left: 11px !important; padding-right: 11px !important; font-size: 12px !important; letter-spacing: .03em; }
	body #header-outer #top nav > ul.sf-menu > li:hover > a::after, body #header-outer #top nav > ul.sf-menu > li.sfHover > a::after { left: 11px; right: 11px; }
	body #header-outer #top nav > ul.sf-menu > li.foy-mega > ul.sub-menu { width: calc(100vw - 32px) !important; padding: 32px 30px 36px !important; }
	body #header-outer li.foy-cols-3 > ul.sub-menu, body #header-outer li.foy-cols-4 > ul.sub-menu { column-gap: 28px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-col > a { font-size: 12.5px !important; letter-spacing: .1em !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-sub > a, body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li.foy-sub > a { font-size: 12px !important; letter-spacing: .1em !important; }
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li > a { font-size: 15px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col { padding: 22px 18px 24px !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-cta-col > a { font-size: 12.5px !important; letter-spacing: .1em !important; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn > a { white-space: normal; font-size: 14px !important; padding: 12px 8px !important; }
	body #header-outer #top .foy-header-actions { right: 56px; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-half > a { white-space: nowrap; font-size: 13px !important; padding: 12px 4px !important; gap: 6px; }
	body #header-outer li.foy-mega ul.sub-menu li.foy-btn-half > a::before { width: 15px; height: 15px; flex-basis: 15px; }
}

/* ---------- MOBILE ---------- */
@media (max-width: 999px) {
	body #header-outer #top #logo img, body #header-outer #top .logo-spacing img { height: clamp(76px, 11vw, 104px) !important; }

	/* MENU button: taller, label sits a touch high, three equal lines, hamburger gone when open */
	body #header-outer .slide-out-widget-area-toggle.mobile-icon a { display: inline-flex !important; align-items: center; height: 48px !important; padding: 0 18px 4px !important; line-height: 1 !important; }
	body #header-outer .slide-out-widget-area-toggle .lines-button { width: 18px; height: 14px; margin-left: 12px; }
	body #header-outer .slide-out-widget-area-toggle .lines-button::before,
	body #header-outer .slide-out-widget-area-toggle .lines-button::after,
	body #header-outer .slide-out-widget-area-toggle .lines-button .lines { display: none !important; content: none !important; }
	body #header-outer .slide-out-widget-area-toggle a.open .lines-button,
	body #header-outer .slide-out-widget-area-toggle .lines-button.close { display: none !important; }

	/* bottom bar never hides behind the open menu, and the menu scrolls clear of it */
	body .foy-bottom-bar { z-index: 100001 !important; }
	body #header-outer #mobile-menu .menu-items-wrap { padding-bottom: 90px; }

	/* tighter spacing */
	body #mobile-menu .foy-socials, body #header-outer #mobile-menu .foy-socials { padding: 14px 0 !important; gap: 28px; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a { padding: 14px 36px 14px 0 !important; font-size: 15px !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a .sf-sub-indicator { top: 50% !important; margin-top: -10px !important; }
	body #header-outer #mobile-menu li.foy-mega > ul.sub-menu { padding: 0 0 8px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu li.foy-col > a { margin: 14px 0 8px !important; padding: 0 0 8px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li > a { padding: 6px 0 !important; font-size: 15.5px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li.foy-sub > a { padding: 12px 0 2px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu > li.foy-sub { margin-top: 6px !important; }
	body #header-outer #mobile-menu li.foy-mobile-cta { margin: 16px 0 20px; padding: 20px 18px 18px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta > a { padding: 0 0 8px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li.foy-text > a { font-size: 15px !important; padding: 0 0 12px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mobile-cta ul.sub-menu li.foy-btn > a { padding: 12px 14px !important; }

	/* hover / tap states */
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a:hover,
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a:focus-visible,
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a:active { background: var(--foy-bar); box-shadow: -10px 0 0 var(--foy-bar), 10px 0 0 var(--foy-bar); }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li:not(.foy-no-link):not(.foy-btn) > a:hover,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li:not(.foy-no-link):not(.foy-btn) > a:focus-visible,
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li:not(.foy-no-link):not(.foy-btn) > a:active { background: var(--foy-bar); box-shadow: -10px 0 0 var(--foy-bar), 10px 0 0 var(--foy-bar); text-decoration: underline; text-underline-offset: 4px; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-btn > a:hover { filter: brightness(1.15); }
}

/* ---------- FOOTER ---------- */
body .foy-footer .foy-addr { padding-bottom: 0 !important; margin-bottom: 16px !important; }
body .foy-footer .foy-loc + .foy-loc { margin-top: 60px; }
@media (max-width: 999px) {
	body .foy-footer .foy-loc + .foy-loc { margin-top: 52px; }
}

/* ROUND 3b: own hamburger / X and chevrons (Salient's depend on its animations) */
@media (max-width: 999px) {
	body #header-outer .slide-out-widget-area-toggle .lines-button,
	body #header-outer .slide-out-widget-area-toggle .close-wrap,
	body #header-outer .slide-out-widget-area-toggle a > span[aria-hidden] { display: none !important; }
	body #header-outer .slide-out-widget-area-toggle.mobile-icon a::after {
		content: ""; display: block; flex: 0 0 18px; width: 18px; height: 14px; margin-left: 12px; background:
			linear-gradient(#fff,#fff) 0 0 / 100% 2px no-repeat,
			linear-gradient(#fff,#fff) 0 50% / 100% 2px no-repeat,
			linear-gradient(#fff,#fff) 0 100% / 100% 2px no-repeat;
	}
	body #header-outer .slide-out-widget-area-toggle.mobile-icon a.open::after {
		width: 16px; height: 16px; flex-basis: 16px; margin-left: 14px; background:
			linear-gradient(45deg, transparent 43%, #fff 43%, #fff 57%, transparent 57%),
			linear-gradient(-45deg, transparent 43%, #fff 43%, #fff 57%, transparent 57%);
	}
	/* top-level chevrons drawn with CSS */
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a .sf-sub-indicator { display: none !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children > a { position: relative; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children > a::after {
		content: ""; position: absolute; right: 6px; top: 50%; width: 8px; height: 8px; border-right: 2px solid var(--foy-navy); border-bottom: 2px solid var(--foy-navy);
		transform: translateY(-70%) rotate(45deg); transition: transform .2s;
	}
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children > a[aria-expanded="true"]::after { transform: translateY(-30%) rotate(-135deg); }
	/* row height ~50px so the closed menu and CTA fit a phone screen */
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a { padding: 12px 36px 12px 0 !important; line-height: 24px !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a > span { line-height: 24px !important; }
}
@media (max-width: 999px) {
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.foy-mobile-cta > a::after { display: none !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children.open-submenu > a::after { transform: translateY(-30%) rotate(-135deg); }
}
@media (min-width: 1000px) {
	body.foy-scrolled #header-outer #top #logo { margin-bottom: 2px !important; }
	body.foy-scrolled #header-outer #top nav > ul.sf-menu > li > a { margin-bottom: 0 !important; }
}

/* ===== ROUND 4 ===== */
@media (min-width: 1000px) {
	/* descriptions under links (Weight Loss > Find Your Approach): smaller, italic, indented, tucked under their link */
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li.foy-desc > a { font-size: 13.5px !important; font-style: italic; line-height: 1.4 !important; padding-left: 16px !important; }
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li.foy-desc { margin-top: 0 !important; margin-bottom: 16px !important; }
	body #header-outer li.foy-mega ul.sub-menu ul.sub-menu > li:has(+ li.foy-desc) { margin-bottom: 3px !important; }
}
@media (max-width: 999px) {
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li.foy-desc > a { font-size: 13.5px !important; font-style: italic; line-height: 1.4 !important; padding: 0 0 8px 14px !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega ul.sub-menu ul.sub-menu li:has(+ li.foy-desc) > a { padding-bottom: 2px !important; }

	/* caret = its own 56px tap target that toggles the section; the label still links to the top page */
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children > a::after { content: none !important; display: none !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children > a .sf-sub-indicator {
		display: flex !important; position: absolute !important; right: 0 !important; top: 0 !important; bottom: 0 !important; width: 56px !important; height: auto !important; margin: 0 !important;
		align-items: center; justify-content: center; cursor: pointer; z-index: 3; background: none !important;
	}
	body #header-outer #mobile-menu .menu-items-wrap > ul > li > a .sf-sub-indicator i { display: none !important; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children > a .sf-sub-indicator::after {
		content: ""; display: block; width: 8px; height: 8px; margin-top: -4px; border-right: 2px solid var(--foy-navy); border-bottom: 2px solid var(--foy-navy); transform: rotate(45deg); transition: transform .2s;
	}
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children > a[aria-expanded="true"] .sf-sub-indicator::after,
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children.open-submenu > a .sf-sub-indicator::after { transform: rotate(-135deg); margin-top: 4px; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.foy-mobile-cta > a .sf-sub-indicator { display: none !important; }
}

/* ---- footer ---- */
body .foy-footer .foy-loc + .foy-loc { margin-top: 84px; }
body .foy-footer .foy-learn-more { margin-top: -21px !important; }
body .foy-footer .foy-learn-more li { margin: 0 0 7px !important; }
@media (max-width: 999px) {
	body .foy-footer .foy-loc + .foy-loc { margin-top: 56px; }
	body .foy-footer .foy-learn-more { margin-top: -8px !important; }
}
/* footer column layout: see ROUND 5 */
@media (max-width: 999px) {
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.menu-item-has-children.current-open-item > a .sf-sub-indicator::after { transform: rotate(-135deg); margin-top: 4px; }
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.current-open-item > a { font-weight: 700 !important; }
}
@media (min-width: 1000px) {
	/* the header actions live inside the left nav wrapper, which has pointer-events off so the logo is clickable */
	body #header-outer #top .foy-header-actions, body #header-outer #top .foy-header-actions a { pointer-events: auto; }
}
@media (min-width: 1000px) {
	body #header-outer #top .foy-hbtn { transition: background-color .15s; }
	body #header-outer #top .foy-hbtn:hover { background: #35536b; filter: none; }
	body #header-outer #top .foy-hsub a { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px; transition: text-decoration-color .15s; }
	body #header-outer #top .foy-hsub a:hover { opacity: 1; text-decoration-color: var(--foy-gold); }
}

/* ===== ROUND 5: strategist feedback (Nov 2026) ===== */

/* ---------- DESKTOP HEADER ---------- */
@media (min-width: 1000px) {
	/* less space under the nav (matches the current site): Salient adds a 16px margin under every top link */
	body #header-outer #top nav > ul.sf-menu > li > a { margin-bottom: 0 !important; }

	/* Book Online / Call / Text centered on the logo */
	body #header-outer #top .foy-header-actions { top: 27px; }

	body.foy-scrolled #header-outer #top .foy-header-actions { top: 17px; }

	/* the closed mega panel is invisible but was still catching the mouse (opening menus from empty space) */
	body #header-outer #top nav > ul.sf-menu > li.foy-mega:not(:hover):not(.sfHover) > ul.sub-menu,
	body #header-outer #top nav > ul.sf-menu > li.foy-mega:not(:hover):not(.sfHover) > ul.sub-menu * { pointer-events: none !important; visibility: hidden !important; }

	/* mega menu links: no tan highlight, gold underline on hover (same gold as the top link hover) */
	body #header-outer #top li.foy-mega ul.sub-menu li:not(.foy-btn) > a:hover,
	body #header-outer #top li.foy-mega ul.sub-menu li:not(.foy-btn) > a:focus,
	body #header-outer #top li.foy-mega ul.sub-menu li:not(.foy-btn):hover > a { background: none !important; background-color: transparent !important; box-shadow: none !important; color: var(--foy-navy) !important; }
	body #header-outer #top li.foy-mega ul.sub-menu li:not(.foy-no-link):not(.foy-btn):not(.foy-text):not(.foy-desc) > a:hover {
		text-decoration: underline !important; text-decoration-color: var(--foy-gold) !important; text-decoration-thickness: 2px !important; text-underline-offset: 5px !important;
	}

	/* mega menu CTA buttons: the whole button reacts */
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn > a {
		width: 100%; box-sizing: border-box; cursor: pointer;
		transition: background-color .15s, color .15s, border-color .15s !important;
	}
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn-primary > a:hover,
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn-primary:hover > a { background: #35536b !important; background-color: #35536b !important; border-color: #35536b !important; color: #fff !important; filter: none !important; }
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn-outline > a:hover,
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn-outline:hover > a { background: var(--foy-navy) !important; background-color: var(--foy-navy) !important; border-color: var(--foy-navy) !important; color: #fff !important; filter: none !important; }
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn-outline > a:hover .menu-title-text,
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn-outline > a:hover > span,
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn-outline:hover > a .menu-title-text { color: #fff !important; }
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn-primary > a:hover .menu-title-text,
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn-primary > a:hover > span { color: #fff !important; }
}

/* nav keeps its 13px size down to 1150px by tightening the space between items (was shrinking at 1280px) */
@media (min-width: 1150px) and (max-width: 1279px) {
	body #header-outer #top nav > ul.sf-menu > li > a {
		font-size: 13px !important; letter-spacing: .06em !important;
		padding-left: clamp(16px, calc(16px + (100vw - 1150px) * .031), 20px) !important; padding-right: clamp(16px, calc(16px + (100vw - 1150px) * .031), 20px) !important;
	}
	body #header-outer #top nav > ul.sf-menu > li:hover > a::after, body #header-outer #top nav > ul.sf-menu > li.sfHover > a::after {
		left: clamp(16px, calc(16px + (100vw - 1150px) * .031), 20px); right: clamp(16px, calc(16px + (100vw - 1150px) * .031), 20px);
	}
}

/* ---------- MOBILE OFF-CANVAS ---------- */
@media (max-width: 999px) {
	/* open top-level row keeps the darker tint so you know where you are */
	body #header-outer #mobile-menu .menu-items-wrap > ul > li:not(.foy-mobile-cta).current-open-item > a,
	body #header-outer #mobile-menu .menu-items-wrap > ul > li:not(.foy-mobile-cta).open-submenu > a,
	body #header-outer #mobile-menu .menu-items-wrap > ul > li:not(.foy-mobile-cta) > a[aria-expanded="true"] { background: var(--foy-bar); box-shadow: -10px 0 0 var(--foy-bar), 10px 0 0 var(--foy-bar); }

	/* section content indented under its top link */
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega.menu-item > ul.sub-menu { padding: 0 0 8px 18px !important; }

	/* each section gets its own tan CTA box */
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega.menu-item ul.sub-menu li.foy-col.foy-cta-col { display: block !important; background: var(--foy-tan) !important; border-radius: 10px; margin: 18px 0 14px !important; padding: 20px 18px 18px !important; border: 0 !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega.menu-item ul.sub-menu li.foy-col.foy-cta-col > a {
		display: block !important; width: auto !important; margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; border-bottom: 0 !important; pointer-events: none;
		font-size: 13px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; line-height: 1.35 !important; color: var(--foy-navy) !important;
	}
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega.menu-item ul.sub-menu li.foy-cta-col ul.sub-menu li.foy-text > a {
		font-size: 15px !important; line-height: 1.45 !important; padding: 0 0 12px !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important;
	}
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega.menu-item ul.sub-menu li.foy-cta-col ul.sub-menu li.foy-btn > a { padding: 12px 14px !important; border-radius: 4px !important; font-weight: 700 !important; }
	body #header-outer #mobile-menu .menu-items-wrap ul li.foy-mega.menu-item ul.sub-menu li.foy-cta-col ul.sub-menu li.foy-btn { margin-top: 10px !important; }

	/* space between Contact and the closing CTA box = space above its rule */
	body #header-outer #mobile-menu .menu-items-wrap > ul > li.foy-mobile-cta { margin: 18px 0 20px; }
}

/* ---------- FOOTER ---------- */
@media (min-width: 1000px) {
	/* three blocks with equal gaps between them; row is capped so gaps do not balloon on wide screens */
	body .foy-footer .row_col_wrap_12 {
		width: 90% !important; max-width: 1240px; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important;
		justify-content: space-between !important; box-sizing: border-box;
	}
	body .foy-footer .row_col_wrap_12::before, body .foy-footer .row_col_wrap_12::after { display: none !important; }
	body .foy-footer .foy-footer-col.vc_col-sm-4:nth-of-type(n) { flex: 0 0 auto !important; width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
	/* logo: smaller, and capped so it does not blow up on large screens */
	body .foy-footer .foy-footer-col.vc_col-sm-4:nth-of-type(1) { width: clamp(190px, 17vw, 250px) !important; }
	body .foy-footer .foy-footer-col:nth-of-type(1) .img-with-aniamtion-wrap { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
	body .foy-footer .foy-footer-col:nth-of-type(1) .img-with-aniamtion-wrap .inner { max-width: 100% !important; width: 100% !important; }
	body .foy-footer .foy-footer-col:nth-of-type(1) img.img-with-animation { width: 100% !important; max-width: 100% !important; height: auto !important; }
}

/* ---------- ROUND 5b ---------- */
@media (min-width: 1000px) {
	/* Book a Consultation: the label span had its own navy fill that showed as a darker patch on hover */
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn > a .menu-title-text,
	body #header-outer #top li.foy-mega ul.sub-menu li.foy-btn > a > span { background: transparent !important; background-color: transparent !important; }

	/* header socials centered on the same line as the logo, Book Online and search */
	body #header-outer #top .foy-socials { top: 47px; }
	body #header-outer #top .foy-socials a i { line-height: 17px; }
	/* bottoms of all icons aligned to the Facebook icon (icomoon and FontAwesome glyphs sit at different heights) */
	/* offsets measured from a live desktop screenshot (Nov 3 2026) */
	body #header-outer #top .foy-socials a i.fa-youtube-play { position: relative; top: 2px; }
	body #header-outer #top .foy-socials a i.fa-instagram { position: relative; top: 0.5px; }
	body #header-outer #top .foy-socials a i.icon-salient-tiktok { position: relative; top: 2.5px; }
	body.foy-scrolled #header-outer #top .foy-socials { top: 18px; }
	/* sticky header: search icon level with Book Online */
	body #header-outer #top nav.right-side { transition: transform .2s ease; }
	body.foy-scrolled #header-outer #top nav.right-side { transform: translateY(11px); }
}
