/* Self-hosted fonts (latin + latin-ext). Inter and Inter Tight are variable: one file covers 400-600. */
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter-tight-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter-tight-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ==========================================================================
   Lead With Crystal — site chrome (header, footer, scroll-to-top)
   Loaded on every front-end page; body gets .lwc-site.
   ========================================================================== */
body.lwc-site {
	--ink: #0b0b0c;
	--ink-2: #131315;
	--ink-3: #1d1d20;
	--bone: #f2eee7;
	--paper: #faf8f4;
	--text: #161618;
	--muted: #5d5a55;
	--muted-l: rgba(255, 255, 255, .68);
	--line: rgba(22, 22, 24, .12);
	--line-l: rgba(255, 255, 255, .14);
	--silver: linear-gradient(100deg, #77777b 0%, #f5f5f5 36%, #a3a3a8 58%, #efefef 78%, #85858a 100%);
	--sans: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--serif: "Instrument Serif", "Times New Roman", serif;
	--gutter: clamp(20px, 5vw, 72px);
	--wrapw: 1400px;
	--sec: clamp(96px, 11vw, 176px);
	--ease: cubic-bezier(.7, 0, .2, 1);
	--ease-out: cubic-bezier(.16, 1, .3, 1);
}

/* ==========================================================================
   HEADER (global template, site-wide)
   ========================================================================== */
body.lwc-site:not(.elementor-editor-active) .elementor-location-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 999;
	transition: transform .7s var(--ease), background-color .5s var(--ease);
}
body.lwc-site.admin-bar .elementor-location-header { top: 32px; }
body.lwc-site .elementor-location-header { height: auto !important; }
body.lwc-site .elementor-location-header > .e-con { background: transparent !important; box-shadow: none !important; position: relative !important; top: auto !important; transition: background-color .5s var(--ease), border-color .5s var(--ease); border-bottom: 1px solid transparent; }
/* glass lives on the rows (the wrapper's own box can be shorter than its rows) */
html.lwc-scrolled body.lwc-site .elementor-location-header > .e-con:not(.elementor-element-c82fe8f) {
	background: rgba(11, 11, 12, .86) !important; border-bottom-color: rgba(255, 255, 255, .08);
	-webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
}
html.lwc-hide-header body.lwc-site .elementor-location-header { transform: translateY(-100%); }
/* announcement bar */
body.lwc-site .elementor-location-header > .elementor-element-c82fe8f {
	border-bottom: 1px solid rgba(255, 255, 255, .08); max-height: 40px; overflow: hidden;
	transition: max-height .6s var(--ease), opacity .4s;
}
html.lwc-scrolled body.lwc-site .elementor-location-header > .elementor-element-c82fe8f { max-height: 0; opacity: 0; border-color: transparent; }
body.lwc-site .elementor-element-c82fe8f .elementor-widget-text-editor,
body.lwc-site .elementor-element-c82fe8f .elementor-widget-text-editor p {
	font-family: var(--sans) !important; font-size: 11px !important; letter-spacing: .32em !important;
	text-transform: uppercase; color: rgba(255, 255, 255, .62) !important; font-weight: 500 !important;
}
/* main row */
body.lwc-site .elementor-location-header > .elementor-element-c3afe7a { transition: padding .6s var(--ease); }
body.lwc-site .elementor-location-header .elementor-widget-image img { transition: transform .6s var(--ease); transform-origin: left center; }
html.lwc-scrolled body.lwc-site .elementor-location-header .elementor-widget-image img { transform: scale(.86); }
body.lwc-site .elementor-location-header .rkit-nav-link {
	position: relative; font-family: var(--sans) !important; font-size: 12.5px !important; font-weight: 500 !important;
	letter-spacing: .16em !important; text-transform: uppercase; color: rgba(255, 255, 255, .72) !important;
	transition: color .4s;
}
body.lwc-site .elementor-location-header .rkit-nav-link::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px; background: #fff;
	transform: scaleX(0); transform-origin: right; transition: transform .6s var(--ease);
}
body.lwc-site .elementor-location-header .rkit-nav-link:hover,
body.lwc-site .elementor-location-header .rkit-menu-active > .rkit-nav-link { color: #fff !important; }
body.lwc-site .elementor-location-header .rkit-nav-link:hover::after { transform: scaleX(1); transform-origin: left; }
body.lwc-site .elementor-location-header .elementor-widget-button .elementor-button {
	background: transparent !important; border: 1px solid rgba(255, 255, 255, .35) !important; border-radius: 999px !important;
	color: #fff !important; padding: 14px 24px !important; font-family: var(--sans) !important; font-size: 12px !important;
	font-weight: 500 !important; letter-spacing: .16em !important; text-transform: uppercase !important;
	transition: background-color .5s var(--ease), color .5s var(--ease), border-color .5s;
}
body.lwc-site .elementor-location-header .elementor-widget-button .elementor-button .elementor-button-text { color: inherit !important; }
body.lwc-site .elementor-location-header .elementor-widget-button .elementor-button:hover {
	background: #fff !important; color: var(--ink) !important; border-color: #fff !important;
}

/* ==========================================================================
   FOOTER (global template, site-wide)
   ========================================================================== */
body.lwc-site .elementor-location-footer { position: relative; background: var(--ink); color: #fff; overflow: hidden; }
body.lwc-site .elementor-location-footer > .e-con { background: transparent !important; position: relative; z-index: 2; }
body.lwc-site .elementor-location-footer .elementor-heading-title {
	font-family: var(--sans) !important; font-size: 11.5px !important; font-weight: 500 !important; letter-spacing: .24em !important;
	text-transform: uppercase !important; color: rgba(255, 255, 255, .5) !important;
}
body.lwc-site .elementor-location-footer .elementor-widget-text-editor,
body.lwc-site .elementor-location-footer .elementor-widget-text-editor p {
	font-family: var(--body) !important; color: rgba(255, 255, 255, .62) !important;
}
body.lwc-site .elementor-location-footer .elementor-icon-list-text,
body.lwc-site .elementor-location-footer .elementor-icon-box-title,
body.lwc-site .elementor-location-footer .elementor-icon-box-title a,
body.lwc-site .elementor-location-footer .elementor-icon-box-description {
	font-family: var(--body) !important; color: rgba(255, 255, 255, .78) !important; transition: color .4s;
}
body.lwc-site .elementor-location-footer a:hover .elementor-icon-list-text { color: #fff !important; }
body.lwc-site .elementor-location-footer::after {
	content: "Lead with Crystal" / ""; position: relative; z-index: 1; display: block; text-align: center; white-space: nowrap;
	font-family: var(--serif); font-style: italic; font-size: 14.6vw; line-height: .78; letter-spacing: -.03em;
	color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .12); margin: -1vw 0 -2.4vw; pointer-events: none;
}

/* theme scroll-to-top button, in the luxe palette */
body.lwc-site #ast-scroll-top {
	width: 48px; height: 48px; line-height: 48px; padding: 0; text-align: center; border-radius: 50%;
	background: var(--ink); color: #fff; border: 1px solid rgba(255, 255, 255, .18);
	box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .45); transition: transform .5s var(--ease-out), background-color .4s;
}
body.lwc-site #ast-scroll-top:hover { transform: translateY(-3px); background: #2a2a2e; }
body.lwc-site #ast-scroll-top .ast-icon svg { fill: #fff; width: 14px; height: 14px; }

@media (max-width: 767px) {
	body.lwc-site.admin-bar .elementor-location-header { top: 46px; }
	body.lwc-site .elementor-location-footer::after { font-size: 16vw; margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	body.lwc-site .elementor-location-header, body.lwc-site .elementor-location-header * { transition-duration: .01ms !important; }
}

/* mobile menu toggle + dropdown */
body.lwc-site .elementor-location-header .elementor-menu-toggle {
	width: 46px; height: 46px; padding: 0 !important; border-radius: 50% !important; display: inline-flex; align-items: center; justify-content: center;
	background: transparent !important; border: 1px solid rgba(255, 255, 255, .3) !important; color: #fff !important;
	transition: background-color .4s var(--ease), border-color .4s;
}
body.lwc-site .elementor-location-header .elementor-menu-toggle svg { fill: #fff !important; width: 18px; height: 18px; }
body.lwc-site .elementor-location-header .elementor-menu-toggle i { color: #fff !important; font-size: 18px; }
body.lwc-site .elementor-location-header .elementor-menu-toggle.elementor-active { background: #fff !important; border-color: #fff !important; }
body.lwc-site .elementor-location-header .elementor-menu-toggle.elementor-active svg { fill: var(--ink) !important; }
body.lwc-site .elementor-location-header .elementor-menu-toggle.elementor-active i { color: var(--ink) !important; }
body.lwc-site .elementor-location-header .elementor-nav-menu--dropdown {
	background: rgba(11, 11, 12, .96) !important; border-top: 1px solid rgba(255, 255, 255, .08); border-radius: 0 0 18px 18px;
	-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); padding: 8px 0 14px;
}
body.lwc-site .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item {
	background: transparent !important; color: rgba(255, 255, 255, .78) !important; font-family: var(--sans) !important;
	font-size: 15px !important; font-weight: 500 !important; letter-spacing: .14em !important; text-transform: uppercase;
	padding: 16px 24px !important; border-bottom: 1px solid rgba(255, 255, 255, .06);
}
body.lwc-site .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
body.lwc-site .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active { color: #fff !important; }

/* ==========================================================================
   Responsive alignment (v1.2.1): header + footer content sits on the same
   column as the page sections at every width (same max-width and gutter).
   ========================================================================== */
body.lwc-site .elementor-location-header > .e-con > .e-con-inner,
body.lwc-site .elementor-location-footer > .e-con > .e-con-inner {
	max-width: var(--wrapw) !important; padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; box-sizing: border-box;
}
/* long emails / phone numbers never spill out of their column */
body.lwc-site .elementor-location-footer .elementor-icon-box-description,
body.lwc-site .elementor-location-footer .elementor-icon-list-text { overflow-wrap: anywhere; }

/* tablet footer: brand row on top, then three even columns */
@media (min-width: 768px) and (max-width: 1024px) {
	body.lwc-site .elementor-location-footer .elementor-element-6ca96461 {
		display: grid !important; grid-template-columns: minmax(0, .8fr) minmax(0, 1.15fr) minmax(0, 1.05fr); gap: 48px 36px !important;
	}
	body.lwc-site .elementor-location-footer .elementor-element-6ca96461 > .e-con {
		width: auto !important; max-width: none !important; min-width: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
	}
	body.lwc-site .elementor-location-footer .elementor-element-c621db5 { grid-column: 1 / -1; align-items: center; gap: 20px 32px !important; }
	body.lwc-site .elementor-location-footer .elementor-element-c621db5 > .elementor-widget-text-editor { flex: 1 1 300px; }
	body.lwc-site .elementor-location-footer .elementor-element-6ca96461 .elementor-widget { width: 100% !important; max-width: 100% !important; }
	body.lwc-site .elementor-location-footer .elementor-element-6ca96461 .elementor-widget-heading,
	body.lwc-site .elementor-location-footer .elementor-element-c621db5 > .elementor-widget { width: auto !important; }
}

/* phones: comfortable tap targets in the footer */
@media (max-width: 767px) {
	body.lwc-site .elementor-location-footer .elementor-icon-list-item > a { padding-top: 7px; padding-bottom: 7px; }
	body.lwc-site .elementor-location-footer .elementor-icon-list-items { row-gap: 0; }
	body.lwc-site .elementor-location-footer .elementor-social-icon { width: 40px !important; height: 40px !important; display: inline-flex !important; align-items: center; justify-content: center; }
}

/* large monitors: let the content column breathe instead of sitting in a narrow strip */
@media (min-width: 1800px) { body.lwc-site { --wrapw: 1600px; --gutter: 80px; } }
@media (min-width: 2400px) { body.lwc-site { --wrapw: 1760px; } }

/* desktop footer: proportional columns so nothing gets squeezed between 1025px and 1400px */
@media (min-width: 1025px) {
	body.lwc-site .elementor-location-footer .elementor-element-6ca96461 {
		display: grid !important; grid-template-columns: minmax(0, 1.35fr) minmax(0, .75fr) minmax(0, 1.1fr) minmax(0, 1.1fr);
		gap: 40px clamp(28px, 3vw, 56px) !important;
	}
	body.lwc-site .elementor-location-footer .elementor-element-6ca96461 > .e-con {
		width: auto !important; max-width: none !important; min-width: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
	}
	body.lwc-site .elementor-location-footer .elementor-element-6ca96461 .elementor-widget { max-width: 100% !important; }
}
@media (max-width: 767px) {
	body.lwc-site .elementor-location-footer .elementor-icon-box-title a { display: inline-block; padding: 6px 0; }
}
