/*
Theme Name: Your Estate Consultant
Author: Ekshan
Version: 1.0
*/

/* =========================================================
   YEC — GLOBAL
   ========================================================= */

:root {

	--c0: #FFFFFF;
	--c1: #FAF7EF;
	--c2: #F3EFE4;
	--c3: #EBE5D6;

	--ink: #16304C;
	--ink-2: #3B5470;
	--ink-3: #5A6E80;

	--brass: #875D20;
	--brass-2: #B08840;

	--rule: rgba(22,48,76,.14);
	--rule-2: rgba(22,48,76,.08);

	--gut: clamp(20px,5vw,80px);
	--maxw: 1280px;

	--display: 'Courier Prime','Courier New',Courier,monospace;
	--body: 'Courier Prime','Courier New',Courier,monospace;
	--mono: 'Courier Prime','Courier New',Courier,monospace;
}


*,
*::before,
*::after {
	box-sizing: border-box;
}


html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}


html,
body {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 100%;
	background: var(--c1) !important;
	color: var(--ink) !important;
	color-scheme: light only;
}


body {
	font-family: var(--body);
	font-size: 15.5px;
	line-height: 1.78;
	letter-spacing: -.002em;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}


img {
	max-width: 100%;
	height: auto;
}


a {
	color: inherit;
	text-decoration: none;
}


button {
	font: inherit;
	cursor: pointer;
	border: none;
	background: none;
	color: var(--ink);
}


:focus-visible {
	outline: 2px solid var(--brass);
	outline-offset: 3px;
	border-radius: 4px;
}


/* =========================================================
   ELEMENTOR / WORDPRESS
   ========================================================= */

.yec-front-page,
.yec-main,
.yec-elementor-content {
	margin: 0;
	padding: 0;
}


.yec-front-page .elementor {
	margin: 0;
}


.yec-front-page .elementor-section {
	margin: 0;
}


/* =========================================================
   HEADER
   Based on the live YEC header proportions.
   ========================================================= */

.yec-header {

	position: sticky;
	top: 0;

	z-index: 999;

	width: 100%;

	background: rgba(250,247,239,.92);

	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);

	border-bottom: 1px solid var(--rule);
}


.yec-header-inner {

	width: 100%;
	max-width: var(--maxw);

	margin: 0 auto;

	padding-left: var(--gut);
	padding-right: var(--gut);

	height: 74px;

	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 20px;
}


/* =========================================================
   LOGO
   ========================================================= */

.yec-brand {

	display: flex;

	align-items: center;

	flex: 0 0 auto;

	width: 184px;
	height: 58px;
}


.yec-brand img {

	display: block;

	width: 184px;
	height: 58px;

	max-width: none;

	object-fit: contain;

	object-position: center;
}


/* =========================================================
   DESKTOP NAV
   ========================================================= */

.yec-header-nav {

	display: flex;

	align-items: center;

	margin-left: auto;

	min-width: 0;
}


.yec-primary-menu {

	display: flex;

	align-items: center;

	gap: 4px;

	list-style: none;

	margin: 0;

	padding: 0;
}


.yec-primary-menu > li {

	list-style: none;

	margin: 0;

	padding: 0;
}


.yec-primary-menu > li > a {

	display: block;

	font-family: var(--mono);

	font-size: 12.5px;

	line-height: 1.2;

	font-weight: 400;

	color: var(--ink-2);

	padding: 8px 12px;

	border-radius: 6px;

	white-space: nowrap;

	transition:
		background .18s ease,
		color .18s ease;
}


.yec-primary-menu > li > a:hover {

	background: var(--c2);

	color: var(--ink);
}


/* =========================================================
   BOOK A CONSULTATION BUTTON
   Last menu item = CTA
   ========================================================= */

.yec-primary-menu > li:last-child {

	margin-left: 6px;
}


.yec-primary-menu > li:last-child > a {

	display: flex;

	align-items: center;

	justify-content: center;

	min-height: 54px;

	padding: 13px 27px;

	background: var(--ink);

	color: #FFFFFF;

	font-family: var(--mono);

	font-size: 13px;

	font-weight: 500;

	letter-spacing: .02em;

	border-radius: 0;

	position: relative;

	/*
	   Small angled cuts matching the visual treatment
	   of the live CTA.
	*/

	clip-path: polygon(
		0 0,
		100% 0,
		100% 78%,
		96% 100%,
		0 100%
	);

	transition:
		background .18s ease,
		color .18s ease;
}


.yec-primary-menu > li:last-child > a:hover {

	background: #22456B;

	color: #FFFFFF;
}


/* =========================================================
   MOBILE MENU BUTTON
   ========================================================= */

.yec-menu-toggle {

	display: none;

	width: 40px;
	height: 40px;

	padding: 0;

	align-items: center;
	justify-content: center;

	flex: 0 0 auto;

	cursor: pointer;
}


.yec-menu-toggle span {

	display: block;

	width: 20px;
	height: 1.5px;

	background: var(--ink);

	position: relative;
}


.yec-menu-toggle span::before,
.yec-menu-toggle span::after {

	content: '';

	position: absolute;

	left: 0;

	width: 20px;
	height: 1.5px;

	background: var(--ink);
}


.yec-menu-toggle span::before {
	top: -6px;
}


.yec-menu-toggle span::after {
	top: 6px;
}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.yec-mobile-menu {

	display: none;

	position: fixed;

	top: 74px;
	left: 0;
	right: 0;

	z-index: 998;

	background: var(--c1);

	border-bottom: 1px solid var(--rule);

	box-shadow:
		0 8px 24px rgba(22,48,76,.06);

	padding: 10px var(--gut) 22px;
}


.yec-mobile-menu.is-open {

	display: block;
}


.yec-mobile-menu-list {

	list-style: none;

	display: flex;

	flex-direction: column;

	align-items: stretch;

	gap: 0;

	margin: 0;

	padding: 0;
}


.yec-mobile-menu-list > li {

	list-style: none;

	margin: 0;

	padding: 0;
}


.yec-mobile-menu-list > li > a {

	display: block;

	font-family: var(--mono);

	font-size: 13px;

	color: var(--ink);

	padding: 13px 0;

	border-bottom: 1px solid var(--rule-2);
}


.yec-mobile-menu-list > li:last-child > a {

	margin-top: 12px;

	padding: 14px 18px;

	background: var(--ink);

	color: #FFFFFF;

	text-align: center;

	border-bottom: 0;

	clip-path: polygon(
		0 0,
		100% 0,
		100% 78%,
		96% 100%,
		0 100%
	);
}


/* =========================================================
   ADMIN BAR
   ========================================================= */

.admin-bar .yec-header {
	top: 32px;
}


.admin-bar .yec-mobile-menu {
	top: 106px;
}


@media screen and (max-width: 782px) {

	.admin-bar .yec-header {
		top: 46px;
	}

	.admin-bar .yec-mobile-menu {
		top: 120px;
	}
}


/* =========================================================
   MOBILE / TABLET
   ========================================================= */

@media (max-width: 1080px) {

	.yec-header-nav {
		display: none;
	}

	.yec-menu-toggle {
		display: flex;
	}

}


@media (max-width: 600px) {

	.yec-header-inner {

		height: 66px;

		padding-left: 18px;
		padding-right: 18px;
	}


	.yec-brand {

		width: 154px;
		height: 52px;
	}


	.yec-brand img {

		width: 154px;
		height: 52px;
	}


	.yec-mobile-menu {

		top: 66px;

		padding:
			8px
			18px
			18px;
	}

}


/* =========================================================
   ELEMENTOR WIDTH / SPACING
   ========================================================= */

.yec-front-page .elementor-container,
.yec-front-page .e-con-inner {

	max-width: 1280px;
}


.yec-front-page .elementor-widget {

	margin-bottom: 0;
}


/* =========================================================
   BUTTONS USED INSIDE ELEMENTOR
   ========================================================= */

.btn {

	display: inline-flex;

	align-items: center;
	justify-content: center;

	padding: 13px 22px;

	font-family: var(--mono);

	font-size: 13px;

	line-height: 1.2;

	border-radius: 7px;
}


/* =========================================================
   HARD LIGHT LOCK
   ========================================================= */

@media (prefers-color-scheme: dark) {

	html,
	body {

		background-color: #FAF7EF !important;

		color: #16304C !important;
	}

}


/* ============================================================
   YOUR ESTATE CONSULTANT
   HEADER — SOURCE-MATCHED VERSION
   Based directly on index(20260928-174819).html
   ============================================================ */


/* ---------- SOURCE VARIABLES USED BY HEADER ---------- */

:root {

  --yec-ink: #16304C;
  --yec-ink-2: #3B5470;
  --yec-c2: #F3EFE4;

  --yec-rule: rgba(22,48,76,.14);
  --yec-rule-2: rgba(22,48,76,.08);

  --yec-gut: clamp(20px,5vw,80px);
  --yec-maxw: 1280px;

  --yec-mono:
    'Courier Prime',
    'Courier New',
    Courier,
    monospace;
}


/* ---------- HEADER RESET ---------- */

.nav,
.nav *,
.nav *::before,
.nav *::after {
  box-sizing: border-box;
}


/* ---------- MAIN NAV ---------- */

.nav {
  position: sticky;
  top: 0;
  z-index: 60;

  background: rgba(250,247,239,.92);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border-bottom: 1px solid var(--yec-rule);
}


/* ---------- NAV INNER ---------- */

.nav-in {
  width: 100%;
  max-width: var(--yec-maxw);

  margin: 0 auto;

  padding-left: var(--yec-gut);
  padding-right: var(--yec-gut);

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  height: 74px;

  min-width: 0;
}


/* ---------- BRAND ---------- */

.brand {
  display: flex;
  align-items: center;

  gap: 11px;

  min-width: 0;

  flex: 0 0 auto;

  color: var(--yec-ink);

  text-decoration: none;
}


/*
 * EXACT SOURCE OVERRIDE:
 *
 * Desktop:
 * width: 177px
 * height: 51px
 */
.brand .logo-img {

  display: inline-block;

  width: 177px;
  height: 51px;

  flex: none;

  background-image:
    url('/wp-content/uploads/2026/09/logo-scaled.png');

  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  vertical-align: middle;
}


/*
 * The original source hides this because the full logo
 * is being used.
 */
.brand .brand-name {
  display: none;
}


/* ---------- NORMAL NAVIGATION ---------- */

.nav-links {

  display: flex;

  gap: 4px;

  align-items: center;

  flex: 0 0 auto;
}


.nav-links a {

  font-family: var(--yec-mono);

  font-size: 12.5px;

  line-height: 1.4;

  font-weight: 400;

  color: var(--yec-ink-2);

  padding: 8px 12px;

  border-radius: 6px;

  transition:
    background .18s,
    color .18s;

  text-decoration: none;

  white-space: nowrap;
}


.nav-links a:hover {

  background: var(--yec-c2);

  color: var(--yec-ink);
}


/* ---------- CONSULTATION BUTTON ---------- */

.nav > .wrap > .btn,
.nav .btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 9px;

  padding: 13px 22px;

  font-family: var(--yec-mono);

  font-size: 13px;

  font-weight: 500;

  line-height: 1.4;

  letter-spacing: .02em;

  text-decoration: none;

  white-space: nowrap;

  flex: 0 0 auto;

  color: #FFFFFF;

  background: var(--yec-ink);

  transition: all .18s;

  /*
   * THIS IS FROM YOUR ACTUAL SOURCE.
   * The CTA is NOT a normal rounded rectangle.
   */
  border-radius: 0;

  clip-path: polygon(
    9px 0,
    100% 0,
    100% calc(100% - 9px),
    calc(100% - 9px) 100%,
    0 100%,
    0 9px
  );
}


.nav > .wrap > .btn:hover,
.nav .btn:hover {

  background: #22456B;

  color: #FFFFFF;
}


/* ---------- MOBILE BURGER ---------- */

.burger {

  display: none;

  width: 40px;
  height: 40px;

  align-items: center;
  justify-content: center;

  flex: 0 0 40px;

  padding: 0;

  border: none;

  background: transparent;

  color: var(--yec-ink);

  cursor: pointer;
}


.burger span {

  display: block;

  width: 20px;
  height: 1.5px;

  background: var(--yec-ink);

  position: relative;
}


.burger span::before,
.burger span::after {

  content: '';

  position: absolute;

  left: 0;

  width: 20px;
  height: 1.5px;

  background: var(--yec-ink);
}


.burger span::before {
  top: -6px;
}


.burger span::after {
  top: 6px;
}


/* ============================================================
   MOBILE
   EXACT SOURCE BREAKPOINT: 1080px
   ============================================================ */

@media (max-width: 1080px) {

  .nav-links {

    position: fixed;

    inset: 74px 0 auto 0;

    background: #F3EFE4;

    flex-direction: column;

    align-items: stretch;

    gap: 0;

    padding:
      10px
      var(--yec-gut)
      22px;

    border-bottom: 1px solid var(--yec-rule);

    display: none;

    width: 100%;

    z-index: 59;
  }


  .nav-links.open {
    display: flex;
  }


  .nav-links a {

    padding: 13px 0;

    border-bottom:
      1px solid var(--yec-rule-2);

    border-radius: 0;

    color: var(--yec-ink);

    white-space: normal;
  }


  /*
   * EXACT SOURCE BEHAVIOUR:
   * CTA disappears on mobile.
   */
  .nav .btn {
    display: none;
  }


  .burger {
    display: flex;
  }

}


/* ============================================================
   MOBILE FINAL OVERRIDE
   EXACT SOURCE: max-width 600px
   ============================================================ */

@media (max-width: 600px) {

  .nav-in {
    height: 72px;
  }


  .nav-links {

    inset: 72px 0 auto 0;

    padding:
      8px
      18px
      18px;
  }


  /*
   * EXACT FINAL SOURCE LOGO SIZE:
   * 154 × 52px
   */
  .brand .logo-img {

    width: 154px;
    height: 52px;
  }

}


/* ============================================================
   WORDPRESS / ADMIN BAR COMPATIBILITY
   ============================================================ */

body.admin-bar .nav {
  top: 32px;
}


@media screen and (max-width: 782px) {

  body.admin-bar .nav {
    top: 46px;
  }

}


@media screen and (max-width: 600px) {

  body.admin-bar .nav-links {
    inset: 72px 0 auto 0;
  }

}


/* =========================================================
   YEC HEADER — MOBILE CTA FIX
   ========================================================= */

@media (max-width:1080px){

    .nav .btn{
        display:none !important;
    }

    .nav-links{
        top:72px !important;
    }

    .burger{
        display:flex !important;
    }

}


@media (max-width:1080px){
    .nav-links{
        background:#FAF7EF !important;
    }
}