/* =============================================================================
	Heritage at Boca Raton brand layer
	Type + color pass modeled on heritageboca-404-lexend: Lexend throughout,
	near-black ink, soft grey copy, aqua accent, tracked uppercase buttons.
	Scoped to the standalone body class so the shared theme stays untouched.
   ========================================================================== */

/* Lexend faces. Property pages also get these from criticalfonts-2026.css via JS,
   but views outside the property tree (the 404) only have this file. */
@font-face {
	font-family: 'Lexend';
	src: url('../fonts/Lexend-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

/* The compact legacy icon face is used by footer social controls. It is
   discovered after the hero, but must still swap in when it arrives; optional
   can permanently leave fallback squares on a cold load. */
@font-face {
	font-family: 'me';
	src: url('/wp-content/themes/handiwork/assets/fonts/me.woff2') format('woff2'),
		url('/wp-content/themes/handiwork/assets/fonts/me.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lexend';
	src: url('../fonts/Lexend-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lexend';
	src: url('../fonts/Lexend-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--hb-font: 'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
	--hb-aqua: #6FC5C1;
	--hb-aqua-dark: #57B2AE;
	--hb-ink: #141414;
	--hb-grey: #6F6F6F;
	--hb-rule: #E6E6E6;
}

/* Keep desktop hero navigation in sync with the progressive white header.
   The parser-critical rule starts white; --bannerScroll moves this to black
   as the header background becomes opaque. */
body.parent-prop .property-hero-phone *,
body.parent-prop .property-hero-phone a,
body.parent-prop .property-hero-nav a {
	color: color-mix(
		in srgb,
		#fff calc(100% - (var(--bannerScroll) * 100%)),
		#000 calc(var(--bannerScroll) * 100%)
	) !important;
}

body.heritage-boca-standalone {
	font-family: var(--hb-font);
	color: var(--hb-ink);
	-webkit-font-smoothing: antialiased;
}

/* Mirrors the theme's .single-property * rule so views outside the property
   tree (the 404) get Lexend too; the theme sets Obvia directly on p, a, div.
   Icon fonts live on ::before/::after, which * does not match. */
.heritage-boca-standalone * {
	font-family: var(--hb-font);
}

body.heritage-boca-standalone :focus-visible {
	outline: 2px solid var(--hb-aqua);
	outline-offset: 4px;
}

/* ---------- headings ---------- */

body.heritage-boca-standalone h1,
body.heritage-boca-standalone h2,
body.heritage-boca-standalone h3,
body.heritage-boca-standalone h4,
body.heritage-boca-standalone .alpha,
body.heritage-boca-standalone .beta,
body.heritage-boca-standalone .gamma,
body.heritage-boca-standalone .delta {
	font-family: var(--hb-font) !important;
	font-weight: 400;
	letter-spacing: -.015em;
}

body.heritage-boca-standalone .content-block h1,
body.heritage-boca-standalone .content-block h2,
body.heritage-boca-standalone .content-block h3,
body.heritage-boca-standalone .content-block h4 {
	color: var(--hb-ink);
}

/* Small uppercase labels (footer column heads) */
body.heritage-boca-standalone h3.caps,
body.heritage-boca-standalone h4.caps {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .11em;
}

/* ---------- copy ---------- */

body.heritage-boca-standalone .content-block p,
body.heritage-boca-standalone .content-block .eta {
	color: var(--hb-grey);
	font-weight: 300;
}

body.heritage-boca-standalone .acc-tog .zeta {
	color: var(--hb-ink);
	font-weight: 400;
}

/* Do not make a core accordion control depend on the legacy icon font. The
   character-based control is available at the first paint and has the same
   closed/open semantics as the former icon-font glyph. */
body.heritage-boca-standalone .acc-tog::after {
	content: '+';
	font-family: Arial, sans-serif !important;
	font-weight: 300;
	font-size: 27px;
	line-height: 1;
	transform: translate3d(0, -50%, 0) !important;
}

body.heritage-boca-standalone .acc-tog:not(.collapsed)::after {
	content: '\2212';
}

body.heritage-boca-standalone .card-header {
	border-color: var(--hb-rule);
}

/* ---------- buttons ----------
	The theme sets button colors with !important through long
	.single-property ... :not(.floor-plan-btn) chains; :not(#hb) lifts these
	rules above them. Root font-size is 12px, so sizes are in px. */

body.heritage-boca-standalone a.btn:not(#hb) {
	padding: 14px 32px;
	border-radius: 0;
	font-family: var(--hb-font);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .11em;
	line-height: 1.6;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* Primary: solid aqua */
body.heritage-boca-standalone a.btn.prop-bg1:not(#hb) {
  background: var(--hb-aqua) !important;
  border: 1px solid var(--hb-aqua) !important;
  color: var(--hb-ink) !important;
}

body.heritage-boca-standalone a.btn.prop-bg1:not(#hb)::before,
body.heritage-boca-standalone a.btn.prop-bg1:not(#hb)::after {
  color: var(--hb-ink) !important;
}

body.heritage-boca-standalone a.btn.prop-bg1:not(#hb):hover,
body.heritage-boca-standalone a.btn.prop-bg1:not(#hb):focus-visible,
body.heritage-boca-standalone a.btn.prop-bg1:not(#hb):active {
  background: var(--hb-aqua-dark) !important;
  border-color: var(--hb-aqua-dark) !important;
  color: var(--hb-ink) !important;
}

/* Secondary: ink outline */
body.heritage-boca-standalone a.btn.bg-white:not(#hb) {
	background: #fff !important;
	border: 1px solid var(--hb-ink) !important;
	color: var(--hb-ink) !important;
}

body.heritage-boca-standalone a.btn.bg-white:not(#hb):hover {
	background: var(--hb-ink) !important;
	color: #fff !important;
}

/* Sticky Schedule Tour / Apply rail */
body.heritage-boca-standalone .specials-btns.bg-black {
	background: var(--hb-ink) !important;
}

body.heritage-boca-standalone .specials-btns a {
	font-weight: 400;
	letter-spacing: .11em;
}

body.heritage-boca-standalone .specials-btns .specials-btn-apply {
	background: var(--hb-aqua);
	transition: background-color .2s ease;
}

body.heritage-boca-standalone .specials-btns .specials-btn-apply:hover {
	background: var(--hb-aqua-dark);
}

/* ---------- footer ---------- */

body.heritage-boca-standalone .bg-black {
	background-color: var(--hb-ink) !important;
}

body.heritage-boca-standalone #corp-footer,
body.heritage-boca-standalone .corp-footer-cr {
	font-family: var(--hb-font);
	letter-spacing: .06em;
	color: var(--hb-grey);
}

body.heritage-boca-standalone .footer-sitemap-link {
	text-decoration: none !important;
	border-bottom: 1px solid var(--hb-aqua);
	padding-bottom: 1px;
}

body.heritage-boca-standalone .footer-sitemap-link:hover {
	color: var(--hb-aqua) !important;
}

/* The homepage uses a smaller parser-critical body line-height than the
   interior property pages. Keep its footer on the same inherited rhythm as
   those pages, while preserving the established 1.3 row spacing. */
body.home.heritage-boca-standalone .the-prop-footer .prop-footer-inner {
	line-height: 24px;
}

body.heritage-boca-standalone .the-prop-footer .property-footer--address-section,
body.heritage-boca-standalone .the-prop-footer .table-cell {
	line-height: 1.3;
}

/* ---------- 404 ----------
	Mirrors heritageboca-404-lexend. Root font-size is 12px, so px/clamp. */

body.error404.heritage-boca-standalone .hb-404 {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100svh;
	padding: clamp(40px, 8vw, 80px) 24px;
	background: #fff;
	font-size: 17px;
	line-height: 1.6;
	text-align: center;
}

/* No Schedule Tour / Apply / Call rail on the 404. */
body.error404.heritage-boca-standalone .specials-wrap {
	display: none !important;
}

body.error404.heritage-boca-standalone .hb-404-wrap {
	width: 100%;
	max-width: 620px;
}

body.error404.heritage-boca-standalone .hb-404-code {
	margin: 0 0 clamp(44px, 7vh, 60px);
	font-size: clamp(80px, 15vw, 152px);
	font-weight: 400;
	font-variant-numeric: lining-nums tabular-nums;
	line-height: 1;
	letter-spacing: .01em;
	text-indent: .01em;
	color: var(--hb-ink);
}

body.error404.heritage-boca-standalone .hb-404-code b {
	font-weight: inherit;
	color: var(--hb-aqua);
}

body.error404.heritage-boca-standalone .hb-404-title {
	margin: 0 0 13px;
	font-size: clamp(25px, 4.2vw, 34px);
	line-height: 1.25;
	color: var(--hb-ink);
	text-transform: none;
}

body.error404.heritage-boca-standalone .hb-404 .hb-404-lede {
	max-width: 42ch;
	margin: 0 auto clamp(32px, 5.5vh, 44px);
	font-size: 16px;
	color: var(--hb-grey);
}

body.error404.heritage-boca-standalone .hb-404-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 13px;
}

body.error404.heritage-boca-standalone .hb-404-btn {
	display: inline-block;
	padding: 14px 32px;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .11em;
	line-height: 1.6;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

body.error404.heritage-boca-standalone .hb-404-btn-solid {
	background: var(--hb-aqua);
	border: 1px solid var(--hb-aqua);
	color: #fff;
}

body.error404.heritage-boca-standalone .hb-404-btn-solid:hover {
	background: var(--hb-aqua-dark);
	border-color: var(--hb-aqua-dark);
	color: #fff;
}

body.error404.heritage-boca-standalone .hb-404-btn-line {
	border: 1px solid var(--hb-ink);
	color: var(--hb-ink);
}

body.error404.heritage-boca-standalone .hb-404-btn-line:hover {
	background: var(--hb-ink);
	color: #fff;
}

body.error404.heritage-boca-standalone .hb-404 .hb-404-note {
	max-width: 36ch;
	margin: clamp(36px, 6vh, 48px) auto 0;
	padding-top: clamp(24px, 4vh, 32px);
	border-top: 1px solid var(--hb-rule);
	font-size: 14px;
	color: var(--hb-grey);
}

body.error404.heritage-boca-standalone .hb-404-note a {
	padding-bottom: 1px;
	border-bottom: 1px solid var(--hb-aqua);
	color: var(--hb-ink);
	text-decoration: none;
}

body.error404.heritage-boca-standalone .hb-404-note a:hover {
	color: var(--hb-aqua);
}

@media (max-width: 560px) {
	body.error404.heritage-boca-standalone .hb-404 {
		font-size: 16px;
	}

	body.error404.heritage-boca-standalone .hb-404-actions {
		flex-direction: column;
		align-items: stretch;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.error404.heritage-boca-standalone .hb-404-btn,
	body.heritage-boca-standalone a.btn:not(#hb),
	body.heritage-boca-standalone .specials-btns a {
		transition-duration: .01ms !important;
	}
}
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* Critical hero media must paint immediately; reveal gates are below-fold only. */
#property-hero-slideshow img.critical {
  opacity: 1 !important;
}

body.heritage-boca-standalone .corp-footer-cr .corp-footer-legal-link {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin: 0 -4px;
  padding: 0 4px;
  line-height: 1.1;
  vertical-align: middle;
}
