/*
Theme Name: USR Realty
Theme URI: https://usrrealty.in/
Author: USR Realty — Usha Sanjeeva Reddy Techlinks Pvt Ltd
Description: Custom theme for USR Realty, recreating the original GoDaddy Airo website. On activation it imports the site images, sets the logo, creates the Home, Properties, Services, About and Contact pages and adds a contact form. Settings: Appearance → USR Setup.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: usr-realty
*/

:root {
	--u-navy: #0A1628;
	--u-gold: #C9A84C;
	--u-cream: #F5F0E8;
	--u-pad-x: 24px;
	--u-head-font: 'Playfair Display', Georgia, serif;
	--u-body-font: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--u-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
	--u-i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
	--u-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	--u-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
@media (min-width: 1024px) { :root { --u-pad-x: 32px; } }

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
body .wp-site-blocks > * { margin-block: 0; }
[id] { scroll-margin-top: 100px; }

/* ---------- Header ---------- */
body .u-header-wrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	border-bottom: 1px solid rgba(201, 168, 76, .1);
	transition: border-color .5s, box-shadow .5s;
}
/* Blur lives on a background layer: backdrop-filter on the header itself would trap the
   full-screen phone menu inside the 80px header. */
.u-header-wrap::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(10, 22, 40, .85);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: background-color .5s;
}
body .u-header-wrap.is-scrolled { border-bottom-color: rgba(201, 168, 76, .25); box-shadow: 0 4px 32px rgba(0, 0, 0, .3); }
.u-header-wrap.is-scrolled::before { background: rgba(10, 22, 40, .97); }
body.admin-bar .u-header-wrap { top: 32px; }
@media (max-width: 782px) { body.admin-bar .u-header-wrap { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .u-header-wrap { top: 0; } }
body .u-header { max-width: 1280px; height: 80px; margin: 0 auto; padding: 0 var(--u-pad-x); display: flex; align-items: center; justify-content: space-between; gap: 24px; box-sizing: border-box; }
body .u-logo { margin: 0; flex: none; }
.u-logo img { display: block; max-height: 48px; width: auto !important; max-width: 180px; object-fit: contain; }
body .u-nav { flex: 1; font-family: var(--u-body-font); font-size: 14px; font-weight: 500; letter-spacing: .025em; color: rgba(245, 240, 232, .85); }
body .u-nav .wp-block-navigation__container { gap: 32px; }
.u-nav a.wp-block-navigation-item__content { position: relative; color: rgba(245, 240, 232, .85); transition: color .2s; }
.u-nav a.wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; bottom: -4px; width: 0; height: 1px; background: var(--u-gold); transition: width .3s ease-out; }
.u-nav a.wp-block-navigation-item__content:hover, .u-nav a.is-current { color: var(--u-gold); }
.u-nav a.wp-block-navigation-item__content:hover::after, .u-nav a.is-current::after { width: 100%; }
.u-nav .wp-block-navigation__responsive-container-open { color: #fff; padding: 8px; }
.u-nav .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }
/* Phone/tablet menu: dark, large links */
body .u-nav .wp-block-navigation__responsive-container.is-menu-open { background: #0A1628 !important; color: var(--u-cream) !important; padding: 20px 24px 40px; }
body .u-nav .is-menu-open .wp-block-navigation__responsive-container-close { color: var(--u-cream); }
body .u-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 32px; height: 32px; }
body .u-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px !important; align-items: stretch; }
body .u-nav .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch; }
body .u-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(201, 168, 76, .15); }
body .u-nav .is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; padding: 16px 4px !important; font-size: 20px; font-weight: 500; color: var(--u-cream); }
body .u-nav .is-menu-open .wp-block-navigation-item__content::after { display: none; }
body .u-nav .is-menu-open .wp-block-navigation-item__content.is-current { color: var(--u-gold); }
/* Full menu only from 1024px, like the original. */
@media (min-width: 600px) and (max-width: 1023px) {
	.u-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.u-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.u-nav .wp-block-navigation__responsive-container-close { display: flex; }
}
@media (max-width: 1023px) { body .u-nav { flex: none; } }
body .u-header-cta { display: none; flex: none; gap: 0; }
@media (min-width: 1024px) { body .u-header-cta { display: flex; } }
body .u-header-cta .wp-block-button__link { padding: 10px 20px; border: 1px solid var(--u-gold); }
body .u-header-cta .wp-block-button__link:hover { background: transparent; color: var(--u-gold); }

/* ---------- Layout ---------- */
body .lo-section { margin: 0; padding: 0 var(--u-pad-x); position: relative; }
.lo-wrap { max-width: 1280px; margin-inline: auto; }
body .u-narrow { max-width: 896px; }
body .u-narrow-sm { max-width: 672px; }
body .u-wrap-5xl { max-width: 1024px; }
body .u-pad { padding-top: 96px; padding-bottom: 96px; }
body .u-pad-md { padding-top: 80px; padding-bottom: 80px; }
body .u-pad-xl { padding-top: 112px; padding-bottom: 112px; }
body .u-cta { padding-top: 96px; padding-bottom: 96px; }
@media (min-width: 1024px) {
	body .u-pad { padding-top: 128px; padding-bottom: 128px; }
	body .u-pad-md { padding-top: 96px; padding-bottom: 96px; }
	body .u-pad-xl { padding-top: 144px; padding-bottom: 144px; }
	body .u-cta { padding-top: 112px; padding-bottom: 112px; }
}
.u-navy { background: var(--u-navy); color: var(--u-cream); }
.u-cream { background: var(--u-cream); }
.u-white { background: #fff; }
.u-center { text-align: center; }
body .u-lines { overflow: hidden; }
.u-lines::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: repeating-linear-gradient(-45deg, transparent, transparent 40px, rgba(201, 168, 76, .03) 40px, rgba(201, 168, 76, .03) 41px); }
.u-lines > .lo-wrap { position: relative; z-index: 1; }

body .u-grid { display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) {
	body .u-grid-2, body .u-grid-3, body .u-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	body .u-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body .u-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
body .u-split { display: grid; gap: 64px; align-items: center; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) {
	body .u-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body .u-split-wide { gap: 96px; }
}

/* ---------- Type ---------- */
body .u-eyebrow { margin: 0 0 16px; font-family: var(--u-body-font); font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; color: var(--u-gold); }
body .u-mb-lg { margin-bottom: 32px; }
body .u-mb-md { margin-bottom: 32px !important; }
body .u-h2 { margin: 0; font-family: var(--u-head-font); font-size: 36px; font-weight: 700; line-height: 1.15; color: var(--u-navy); }
@media (min-width: 1024px) { body .u-h2 { font-size: 48px; } }
body .u-h2-md { font-size: 30px; }
@media (min-width: 768px) { body .u-h2-md { font-size: 36px; } }
body .u-h2-sm { font-size: 30px; margin-bottom: 32px; }
body .u-light { color: var(--u-cream); }
body .u-light-muted { color: rgba(245, 240, 232, .65); }
body .u-sub { margin: 20px 0 0; max-width: 576px; font-size: 16px; line-height: 1.65; color: rgba(10, 22, 40, .6); }
.u-center .u-sub, .u-head .u-sub { margin-left: auto; margin-right: auto; }
body .u-sub-soft { margin-top: 16px; font-size: 14px; color: rgba(10, 22, 40, .45); }
body .u-sub-body { max-width: none; margin-top: 16px; color: rgba(10, 22, 40, .65); }
body .u-head { margin-bottom: 64px; }
body .u-sub.u-light-muted { color: rgba(245, 240, 232, .65); }
body .u-body { margin: 0 0 16px; font-size: 16px; line-height: 1.65; color: rgba(10, 22, 40, .65); }
.u-rule-top::before { content: ""; display: block; width: 40px; height: 2px; margin: 0 auto 24px; background: var(--u-gold); }
.u-rule-top-left::before { content: ""; display: block; width: 40px; height: 2px; margin: 0 0 24px; background: var(--u-gold); }
.u-rule-bottom::after { content: ""; display: block; width: 40px; height: 2px; margin: 20px auto 0; background: var(--u-gold); }

/* ---------- Buttons & links ---------- */
body .u-btns { margin-top: 40px; gap: 16px; display: flex; flex-wrap: wrap; }
body .u-btns-center { justify-content: center; }
body .u-btns .wp-block-button__link { display: inline-flex; align-items: center; gap: 8px; transition: transform .3s, box-shadow .3s, color .3s, border-color .3s, background-color .3s; }
body .is-style-u-gold .wp-block-button__link { background: var(--u-gold); color: var(--u-navy); border: 1px solid var(--u-gold); }
body .u-btns .is-style-u-gold .wp-block-button__link::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--u-i-arrow) center / contain no-repeat; mask: var(--u-i-arrow) center / contain no-repeat; }
body .u-btns .is-style-u-gold .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .2); }
body .is-style-u-outline-light .wp-block-button__link { background: transparent; color: var(--u-cream); border: 1px solid rgba(245, 240, 232, .5); }
body .is-style-u-outline-light .wp-block-button__link:hover { color: var(--u-gold); border-color: var(--u-gold); transform: translateY(-2px); }
body .is-style-u-outline-dark .wp-block-button__link { background: transparent; color: var(--u-navy); border: 1px solid var(--u-navy); }
body .is-style-u-outline-dark .wp-block-button__link:hover { background: var(--u-navy); color: var(--u-cream); }
body .u-btns-sm { margin-top: 0; }
body .u-btns-sm .wp-block-button__link { padding: 12px 24px; font-size: 12px; }
@media (max-width: 639px) {
	body .u-home-copy .u-btns { flex-direction: column; }
	body .u-home-copy .u-btns .wp-block-button__link { width: 100%; justify-content: center; box-sizing: border-box; }
}

body .u-arrowlink, body .u-more { margin: 0; }
.u-arrowlink a, .u-more a { display: inline-flex; align-items: center; gap: 8px; color: var(--u-gold); text-decoration: none; font-weight: 600; letter-spacing: .025em; transition: gap .2s; }
.u-arrowlink a { font-size: 14px; white-space: nowrap; }
.u-arrowlink a::after, .u-more a::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--u-i-arrow) center / contain no-repeat; mask: var(--u-i-arrow) center / contain no-repeat; }
.u-arrowlink a:hover { gap: 12px; }
.u-more a { gap: 6px; font-size: 12px; text-transform: uppercase; }
.u-more a::after { width: 14px; height: 14px; -webkit-mask-image: var(--u-i-chevron); mask-image: var(--u-i-chevron); }

/* ---------- Home ---------- */
body .u-home-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 100vh; display: flex; align-items: center; padding: 128px var(--u-pad-x) 96px; box-sizing: border-box; }
.u-home-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(105deg, rgba(10, 22, 40, .92) 0%, rgba(10, 22, 40, .75) 50%, rgba(10, 22, 40, .45) 100%); }
.u-home-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 128px; z-index: -1; pointer-events: none; background: linear-gradient(to bottom, transparent, var(--u-cream)); }
body .u-home-hero > .lo-wrap { width: 100%; }
body .u-hero-bg { position: absolute; inset: 0; z-index: -2; margin: 0; }
body .u-hero-bg img { display: block; width: 100%; height: 100%; object-fit: cover; }
body .u-home-copy { max-width: 672px; }
body .u-home-h1 { margin: 0; font-family: var(--u-head-font); font-size: 48px; font-weight: 700; line-height: 1.25; color: var(--u-cream); }
.u-home-h1 em { font-style: normal; color: var(--u-gold); }
.u-home-h1::after { content: ""; display: block; width: 120px; height: 2px; margin: 20px 0 24px; background: linear-gradient(90deg, var(--u-gold), rgba(201, 168, 76, .3)); }
@media (min-width: 768px) { body .u-home-h1 { font-size: 60px; } }
@media (min-width: 1024px) { body .u-home-h1 { font-size: 72px; } }
body .u-hero-lead { margin: 0 auto; max-width: 672px; font-size: 16px; line-height: 1.65; color: rgba(245, 240, 232, .7); }
body .u-hero-lead-left { margin: 0; max-width: 480px; color: rgba(245, 240, 232, .75); }
@media (min-width: 768px) { body .u-hero-lead { font-size: 18px; } }

body .u-statsbar { padding-top: 56px; padding-bottom: 56px; }
body .u-stats { display: grid; gap: 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) {
	body .u-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
	.u-stats > .u-stat { padding: 0 32px; }
	.u-stats > .u-stat + .u-stat { border-left: 1px solid rgba(201, 168, 76, .15); }
}
.u-stat { text-align: center; }
body .u-stat-value { margin: 0 0 8px; font-family: var(--u-head-font); font-size: 36px; font-weight: 700; line-height: 1.1; color: var(--u-gold); }
body .u-stat-label { margin: 0; font-size: 14px; font-weight: 500; letter-spacing: .025em; text-transform: uppercase; color: rgba(245, 240, 232, .65); }
@media (min-width: 1024px) { body .u-stat-value { font-size: 48px; } }

/* Cards */
.u-card { --u-cp: 32px; position: relative; padding: var(--u-cp); background: #fff; border: 1px solid rgba(201, 168, 76, .15); box-shadow: 0 4px 20px rgba(10, 22, 40, .05); transition: transform .3s, box-shadow .3s, border-color .3s; box-sizing: border-box; }
.u-card:hover { transform: translateY(-4px); border-color: rgba(201, 168, 76, .5); box-shadow: 0 12px 40px rgba(10, 22, 40, .1); }
.u-card-lux { background: linear-gradient(225deg, rgba(201, 168, 76, .12) 0, transparent 64px) top right / 64px 64px no-repeat, linear-gradient(135deg, #fff 0%, var(--u-cream) 100%); border-color: rgba(201, 168, 76, .2); box-shadow: 0 4px 24px rgba(10, 22, 40, .06); }
@media (min-width: 1024px) { .u-card-lux { --u-cp: 40px; } }
.u-card-dark { background: rgba(201, 168, 76, .03); box-shadow: none; }
.u-card-dark:hover, .u-why:hover, .u-office:hover { transform: none; box-shadow: 0 4px 20px rgba(10, 22, 40, .05); }
.u-card-dark:hover { box-shadow: none; border-color: rgba(201, 168, 76, .15); }
.u-has-icon { --u-ib: 48px; --u-is: 22px; padding-top: calc(var(--u-cp) + var(--u-ib) + 24px); }
.u-icon-lg { --u-ib: 56px; --u-is: 24px; }
.u-has-icon::before { content: ""; position: absolute; top: var(--u-cp); left: var(--u-cp); width: var(--u-ib); height: var(--u-ib); box-sizing: border-box; border: 1px solid rgba(201, 168, 76, .3); background: rgba(201, 168, 76, .12) var(--u-icon) center / var(--u-is) no-repeat; }
.u-ico-home { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E"); }
.u-ico-building2 { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M10 6h4'/%3E%3Cpath d='M10 10h4'/%3E%3Cpath d='M10 14h4'/%3E%3Cpath d='M10 18h4'/%3E%3C/svg%3E"); }
.u-ico-trendingup { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 7 13.5 15.5 8.5 10.5 2 17'/%3E%3Cpolyline points='16 7 22 7 22 13'/%3E%3C/svg%3E"); }
.u-ico-layers { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z'/%3E%3Cpath d='m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65'/%3E%3Cpath d='m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65'/%3E%3C/svg%3E"); }
.u-ico-mappin { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.u-ico-handshake { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m11 17 2 2a1 1 0 1 0 3-3'/%3E%3Cpath d='m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4'/%3E%3Cpath d='m21 3 1 11h-2'/%3E%3Cpath d='M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3'/%3E%3Cpath d='M3 4h8'/%3E%3C/svg%3E"); }
.u-ico-filetext { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E"); }
.u-ico-key { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='5.5'/%3E%3Cpath d='m21 2-9.6 9.6'/%3E%3Cpath d='m15.5 7.5 3 3L22 7l-3-3'/%3E%3C/svg%3E"); }
.u-ico-shield { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3C/svg%3E"); }
.u-ico-star { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E"); }
.u-ico-users { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.u-ico-phone { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%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.72 12.84 12.84 0 0 0 .7 2.81 2 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-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.u-ico-mail { --u-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
body .u-card-h { margin: 0 0 12px; font-family: var(--u-head-font); font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--u-navy); }
.u-card-lux .u-card-h { margin-bottom: 16px; }
body .u-card-h-sm { font-size: 18px; margin-bottom: 8px; }
body .u-card-p { margin: 0 0 24px; font-size: 14px; line-height: 1.65; color: rgba(10, 22, 40, .65); }
body .u-card-p:last-child { margin-bottom: 0; }
body .u-card-dark .u-card-h { color: var(--u-cream); font-size: 18px; }
body .u-card-dark .u-card-p { color: rgba(245, 240, 232, .6); }
body .u-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.u-checks li { position: relative; padding-left: 24px; font-size: 12px; line-height: 1.6; color: rgba(10, 22, 40, .65); }
.u-checks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 14px; height: 14px; background: var(--u-gold); -webkit-mask: var(--u-i-check) center / contain no-repeat; mask: var(--u-i-check) center / contain no-repeat; }

/* Featured property */
body .u-head-row { display: flex; flex-direction: column; gap: 24px; margin-bottom: 56px; }
@media (min-width: 640px) { body .u-head-row { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
body .u-feature { position: relative; overflow: hidden; height: 420px; border: 1px solid rgba(201, 168, 76, .15); }
@media (min-width: 1024px) { body .u-feature { height: 520px; } }
.u-feature::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to top, rgba(10, 22, 40, .9) 0%, rgba(10, 22, 40, .3) 55%, transparent 100%); }
body .u-feature-img { position: absolute; inset: 0; margin: 0; }
body .u-feature-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.u-feature:hover .u-feature-img img { transform: scale(1.05); }
body .u-badge { position: absolute; top: 20px; left: 20px; z-index: 2; margin: 0; padding: 4px 12px; background: var(--u-gold); color: var(--u-navy); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
body .u-feature-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 32px; }
@media (min-width: 1024px) { body .u-feature-body { padding: 48px; } }
body .u-feature-type { margin: 0 0 8px; font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: rgba(201, 168, 76, .8); }
body .u-feature-name { margin: 0 0 12px; font-family: var(--u-head-font); font-size: 24px; font-weight: 700; color: var(--u-cream); }
@media (min-width: 1024px) { body .u-feature-name { font-size: 36px; } }
body .u-feature-loc { position: relative; margin: 0 0 24px; padding-left: 20px; font-size: 14px; color: rgba(245, 240, 232, .65); }
.u-feature-loc::before { content: ""; position: absolute; left: 0; top: 3px; width: 13px; height: 13px; background: currentColor; -webkit-mask: var(--u-i-pin) center / contain no-repeat; mask: var(--u-i-pin) center / contain no-repeat; }
body .u-feature-row { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
body .u-feature-price { margin: 0; font-family: var(--u-head-font); font-size: 24px; font-weight: 700; color: var(--u-gold); }

/* About snapshot */
body .u-snap { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; margin: 0; }
@media (min-width: 1024px) { body .u-snap { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 520px; } }
body .u-snap-text { display: flex; flex-direction: column; justify-content: center; min-height: 520px; padding: 80px 40px; background: var(--u-navy); box-sizing: border-box; }
@media (min-width: 1024px) { body .u-snap-text { padding: 80px 64px; } }
@media (min-width: 1280px) { body .u-snap-text { padding: 80px; } }
body .u-snap-quote { margin: 0 0 24px; font-family: var(--u-head-font); font-size: 20px; font-weight: 500; line-height: 1.6; color: var(--u-cream); }
.u-snap-quote::before { content: "\201C"; display: block; margin-bottom: 4px; font-size: 60px; line-height: 1; color: rgba(201, 168, 76, .4); }
@media (min-width: 1024px) { body .u-snap-quote { font-size: 24px; } }
body .u-snap-attr { margin: 0 0 32px; font-size: 14px; color: rgba(201, 168, 76, .8); }
.u-snap-attr::after { content: ""; display: block; width: 60px; height: 2px; margin-top: 40px; background: var(--u-gold); }
body .u-snap-h { margin: 0 0 20px; font-family: var(--u-head-font); font-size: 24px; font-weight: 700; color: var(--u-cream); }
body .u-snap-p { margin: 0 0 16px; font-size: 14px; line-height: 1.65; color: rgba(245, 240, 232, .65); }
body .u-snap .u-arrowlink { margin-top: 16px; }
body .u-snap-img { position: relative; margin: 0; min-height: 400px; }
body .u-snap-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.u-snap-img::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to right, rgba(10, 22, 40, .15), transparent); }

/* ---------- Page heroes ---------- */
body .u-text-hero { padding-top: 112px; padding-bottom: 112px; }
@media (min-width: 1024px) { body .u-text-hero { padding-top: 160px; padding-bottom: 160px; } }
.u-text-hero::before { background-image: repeating-linear-gradient(-45deg, transparent, transparent 40px, rgba(201, 168, 76, .04) 40px, rgba(201, 168, 76, .04) 41px); }
.u-text-hero::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(to bottom, transparent, var(--u-gold), transparent); }
body .u-hero-h1 { margin: 0; font-family: var(--u-head-font); font-size: 36px; font-weight: 700; line-height: 1.2; color: var(--u-cream); }
.u-hero-h1::after { content: ""; display: block; width: 80px; height: 2px; margin: 24px auto; background: linear-gradient(90deg, transparent, var(--u-gold), transparent); }
@media (min-width: 768px) { body .u-hero-h1 { font-size: 48px; } }
@media (min-width: 1024px) { body .u-hero-h1 { font-size: 60px; } }
.u-text-hero .u-eyebrow { margin-bottom: 20px; }

body .u-img-hero { position: relative; isolation: isolate; overflow: hidden; height: 288px; display: flex; align-items: flex-end; padding: 0 var(--u-pad-x) 48px; box-sizing: border-box; }
@media (min-width: 768px) { body .u-img-hero { height: 384px; } }
.u-img-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(10, 22, 40, .92) 0%, rgba(10, 22, 40, .55) 60%, rgba(10, 22, 40, .3) 100%); }
body .u-img-hero > .lo-wrap { width: 100%; }
.u-img-hero .u-eyebrow { margin-bottom: 12px; }
body .u-page-h1 { margin: 0; font-family: var(--u-head-font); font-size: 36px; font-weight: 700; color: var(--u-cream); }
@media (min-width: 768px) { body .u-page-h1 { font-size: 48px; } }
body .u-housebox { width: 80px; height: 80px; margin: 0 auto 32px; border: 1px solid rgba(201, 168, 76, .35); background: rgba(201, 168, 76, .07) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") center / 36px no-repeat; box-sizing: border-box; }

/* ---------- Services ---------- */
.u-step { position: relative; }
body .u-step-num { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 0 24px; border: 1px solid rgba(201, 168, 76, .3); background: rgba(201, 168, 76, .1); font-family: var(--u-head-font); font-size: 20px; font-weight: 700; color: var(--u-gold); box-sizing: border-box; }
@media (min-width: 1024px) { .u-step:not(:last-child)::after { content: ""; position: absolute; top: 32px; left: 80px; right: -16px; height: 1px; background: rgba(201, 168, 76, .2); } }
body .u-step-h { margin: 0 0 12px; font-family: var(--u-head-font); font-size: 18px; font-weight: 700; color: var(--u-cream); }
body .u-step-p { margin: 0; font-size: 14px; line-height: 1.65; color: rgba(245, 240, 232, .6); }

/* ---------- About ---------- */
body .u-goldbar { background: var(--u-gold); }
body .u-gstats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) { body .u-gstats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.u-gstat { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 16px; text-align: center; border-right: 1px solid rgba(10, 22, 40, .15); }
.u-gstat:last-child { border-right: 0; }
@media (max-width: 1023px) { .u-gstat:nth-child(2n) { border-right: 0; } }
body .u-gstat-value { margin: 0 0 4px; font-family: var(--u-head-font); font-size: 30px; font-weight: 700; color: var(--u-navy); }
@media (min-width: 1024px) { body .u-gstat-value { font-size: 36px; } }
body .u-gstat-label { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(10, 22, 40, .7); }

body .u-story-media { position: relative; z-index: 0; margin-bottom: 24px; }
.u-story-media::before { content: ""; position: absolute; top: 16px; left: 16px; right: -16px; bottom: -16px; z-index: -1; border: 2px solid rgba(201, 168, 76, .4); }
body .u-story-img { margin: 0; }
.u-story-img img { display: block; width: 100%; height: 480px; object-fit: cover; }
body .u-float-card { position: absolute; left: 24px; bottom: -24px; z-index: 2; padding: 16px 24px; background: var(--u-navy); border: 1px solid rgba(201, 168, 76, .3); }
body .u-float-value { margin: 0; font-family: var(--u-head-font); font-size: 24px; font-weight: 700; color: var(--u-gold); }
body .u-float-label { margin: 0; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: rgba(245, 240, 232, .6); }
body .u-quote-block { margin-top: 32px; padding: 8px 0 8px 24px; border-left: 3px solid var(--u-gold); }
body .u-quote { margin: 0 0 8px; font-family: var(--u-head-font); font-size: 18px; font-style: italic; font-weight: 500; line-height: 1.5; color: var(--u-navy); }
body .u-quote-attr { margin: 0; font-size: 12px; letter-spacing: .025em; color: rgba(10, 22, 40, .5); }

body .u-founder { position: relative; z-index: 0; max-width: 1024px; margin: 0 auto; }
body .u-monogram { position: relative; display: flex; align-items: center; justify-content: center; width: 340px; max-width: 100%; height: 400px; margin: 0 auto 16px; background: var(--u-navy) repeating-linear-gradient(-45deg, transparent, transparent 40px, rgba(201, 168, 76, .06) 40px, rgba(201, 168, 76, .06) 41px); }
.u-monogram::after { content: ""; position: absolute; top: 16px; right: 16px; bottom: -16px; left: -16px; z-index: -1; border: 2px solid rgba(201, 168, 76, .35); }
body .u-monogram-text { margin: 0; font-family: var(--u-head-font); font-size: 96px; font-weight: 700; letter-spacing: .04em; color: var(--u-gold); }
body .u-founder-name { margin: 0 0 8px; font-family: var(--u-head-font); font-size: 30px; font-weight: 700; color: var(--u-navy); }
body .u-founder-role { margin: 0 0 24px; font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--u-gold); }

.u-why { padding-left: 74px !important; box-shadow: 0 2px 16px rgba(10, 22, 40, .04); }
.u-why::before { content: ""; position: absolute; left: 32px; top: 36px; width: 22px; height: 22px; background: var(--u-gold); -webkit-mask: var(--u-i-check) center / contain no-repeat; mask: var(--u-i-check) center / contain no-repeat; }

.u-offices .u-h2 { margin-bottom: 56px; }
.u-office { border-color: rgba(201, 168, 76, .2); box-shadow: 0 4px 24px rgba(10, 22, 40, .05); }
body .u-office-label { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--u-gold); }
.u-office-label::before { content: ""; flex: none; width: 36px; height: 36px; box-sizing: border-box; border: 1px solid rgba(201, 168, 76, .25); background: rgba(201, 168, 76, .12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center / 16px no-repeat; }
body .u-office-l1 { margin: 0 0 4px; font-size: 14px; font-weight: 600; color: var(--u-navy); }
body .u-office-l { margin: 0; font-size: 14px; line-height: 1.65; color: rgba(10, 22, 40, .6); }

/* ---------- Contact ---------- */
body .u-contact-grid { display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) { body .u-contact-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 64px; } }
body .u-info { position: relative; min-height: 40px; margin-bottom: 24px; padding-left: 56px; }
.u-info::before { content: ""; position: absolute; left: 0; top: 0; width: 40px; height: 40px; box-sizing: border-box; border: 1px solid rgba(201, 168, 76, .25); background: rgba(201, 168, 76, .12) var(--u-icon) center / 18px no-repeat; }
body .u-info-label { margin: 0 0 4px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(10, 22, 40, .45); }
body .u-info-l1 { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.65; color: var(--u-navy); }
.u-info-l1 a { color: var(--u-navy); text-decoration: none; }
.u-info-l1 a:hover { text-decoration: underline; }
body .u-info-l { margin: 0; font-size: 14px; line-height: 1.65; color: rgba(10, 22, 40, .6); }
body .u-hours { margin-top: 32px; padding: 24px; background: var(--u-navy); border: 1px solid rgba(201, 168, 76, .2); }
body .u-hours-title { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--u-gold); }
.u-hours-title::before { content: ""; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") center / contain no-repeat; }
body .u-hours-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(201, 168, 76, .1); }
body .u-hours-day { margin: 0; font-size: 14px; color: rgba(245, 240, 232, .7); }
body .u-hours-time { margin: 0; font-size: 14px; font-weight: 500; text-align: right; color: var(--u-cream); }

.u-form-card { padding: 32px; background: #fff; border: 1px solid rgba(201, 168, 76, .15); box-shadow: 0 8px 40px rgba(10, 22, 40, .06); }
@media (min-width: 1024px) { .u-form-card { padding: 40px; } }
.u-form-title { margin: 0 0 8px; font-family: var(--u-head-font); font-size: 24px; font-weight: 700; color: var(--u-navy); }
.u-form-sub { margin: 0 0 32px; font-size: 14px; color: rgba(10, 22, 40, .55); }
.u-form { position: relative; }
.u-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.u-form-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) {
	.u-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.u-form-grid .u-span-2 { grid-column: 1 / -1; }
}
.u-form label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: rgba(10, 22, 40, .7); }
.u-form label b { color: var(--u-gold); }
.u-form input, .u-form select, .u-form textarea { display: block; box-sizing: border-box; width: 100%; margin-top: 8px; padding: 12px 16px; border: 1px solid rgba(10, 22, 40, .15); border-radius: 0; background: #fff; color: var(--u-navy); font: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; transition: border-color .2s; }
.u-form input:focus, .u-form select:focus, .u-form textarea:focus { outline: none; border-color: var(--u-gold); }
.u-form textarea { resize: vertical; }
.u-form-submit { margin-top: 28px; width: 100%; padding: 16px; border: 0; background: var(--u-gold); color: var(--u-navy); font: inherit; font-size: 14px; font-weight: 600; letter-spacing: .025em; cursor: pointer; transition: transform .3s, box-shadow .3s; }
.u-form-submit:hover, .u-form-submit:focus { transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .15); }
.u-form-err { margin: 20px 0 0; padding: 12px; background: rgba(220, 38, 38, .06); border: 1px solid rgba(220, 38, 38, .2); color: #dc2626; font-size: 14px; }
.u-form-done { display: flex; flex-direction: column; align-items: center; padding: 64px 16px; text-align: center; border: 1px solid rgba(201, 168, 76, .2); background: rgba(201, 168, 76, .04); }
.u-form-done-icon { width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat; }
.u-form-done h3 { margin: 16px 0 8px; font-family: var(--u-head-font); font-size: 20px; font-weight: 700; color: var(--u-navy); }
.u-form-done p { margin: 0; max-width: 320px; font-size: 14px; color: rgba(10, 22, 40, .6); }

/* ---------- Footer ---------- */
.u-footer { position: relative; background: var(--u-navy); border-top: 1px solid rgba(201, 168, 76, .2); }
.u-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--u-gold), transparent); }
body .u-footer-grid { display: grid; gap: 40px; padding: 64px var(--u-pad-x); }
@media (min-width: 768px) { body .u-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body .u-footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px; } }
body .u-footer-logo { margin: 0 0 24px; }
.u-footer-logo img { display: block; max-height: 48px; width: auto !important; max-width: 160px; }
body .u-footer-about { margin: 0; font-size: 14px; line-height: 1.65; color: rgba(245, 240, 232, .6); }
body .u-footer-h { margin: 0 0 24px; font-family: var(--u-body-font); font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--u-gold); }
body .u-footer-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 14px; line-height: 1.5; color: rgba(245, 240, 232, .65); }
.u-footer-list a { color: rgba(245, 240, 232, .65); text-decoration: none; transition: color .2s; }
.u-footer-list a:hover { color: var(--u-gold); }
body .u-footer-contact { gap: 16px; }
.u-footer-contact li { position: relative; padding-left: 27px; line-height: 1.65; }
.u-footer-contact li::before { content: ""; position: absolute; left: 0; top: 4px; width: 15px; height: 15px; background: var(--u-fi) center / contain no-repeat; }
.u-fi-pin { --u-fi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.u-fi-phone { --u-fi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%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.72 12.84 12.84 0 0 0 .7 2.81 2 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-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.u-fi-mail { --u-fi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
body .u-copyright { margin: 0 max(var(--u-pad-x), calc((100% - 1280px) / 2 + var(--u-pad-x))); padding: 32px 0 40px; border-top: 1px solid rgba(201, 168, 76, .15); text-align: center; font-size: 12px; color: rgba(245, 240, 232, .4); }

/* ---------- Ordinary pages and posts ---------- */
body .lo-plain { padding-top: 160px; padding-bottom: 96px; }
.lo-wrap-narrow { max-width: 800px; margin-inline: auto; }
body .lo-plain .lo-h2 { margin: 0 0 32px; font-family: var(--u-head-font); font-size: 40px; color: var(--u-navy); }
.lo-prose > * + * { margin-top: 1.25em; }
.lo-prose a { color: var(--u-navy); text-decoration: underline; }
.wp-block-query .wp-block-post-template > li + li { margin-top: 40px; }

/* ---------- Entrance animations (only when JS enabled them) ---------- */
@keyframes u-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
.u-anim .u-home-copy > *, .u-anim .u-text-hero .lo-wrap > *, .u-anim .u-img-hero .lo-wrap > * { animation: u-up .7s ease-out both; }
.u-anim .u-home-copy > :nth-child(2), .u-anim .u-text-hero .lo-wrap > :nth-child(2), .u-anim .u-img-hero .lo-wrap > :nth-child(2) { animation-delay: .15s; }
.u-anim .u-home-copy > :nth-child(3), .u-anim .u-text-hero .lo-wrap > :nth-child(3) { animation-delay: .35s; }
.u-anim .u-home-copy > :nth-child(4) { animation-delay: .5s; }
.u-anim .lo-landing > .lo-section:not(.u-text-hero) > .lo-wrap > *:not(.is-in),
.u-anim .lo-landing > .u-snap > *:not(.is-in) { opacity: 0; transform: translateY(28px); }
.u-anim-item { transition: opacity .6s ease-out, transform .6s ease-out; }

/* Editor: keep background images from blocking clicks on the text */
.editor-styles-wrapper .u-hero-bg { pointer-events: none; }
.editor-styles-wrapper .u-home-hero { min-height: 640px; }
