/* =========================================================
   Landwest Estate — Main Stylesheet
   ========================================================= */

:root {
	--lw-primary: #1F4E79;
	--lw-primary-dark: #163a5a;
	--lw-secondary: #9C7A2E; /* Brass */
	--lw-secondary-dark: #7a5c20;
	--lw-bg: #F6F3EA; /* Paper */
	--lw-dark: #1E1E1E;
	--lw-text: #4B5763;
	--lw-heading: #24313D; /* Ink */
	--lw-white: #FFFFFF;
	--lw-accent: #4CAF50;
	--lw-border: rgba(31,78,121,0.16); /* Line */
	--lw-line: rgba(31,78,121,0.16); /* Alias for Line */
	--lw-brass: #9C7A2E; /* Alias for Brass */
	--lw-ink: #24313D; /* Alias for Ink */
	--lw-paper: #F6F3EA; /* Alias for Paper */
	--lw-shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.04);
	--lw-shadow-md: 0 10px 30px rgba(15, 23, 42, 0.06);
	--lw-shadow-lg: 0 18px 40px rgba(31,78,121,0.12);
	--lw-radius: 0px;
	--lw-radius-lg: 0px;
	--lw-transition: 0.35s ease;
	--lw-container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: 'Poppins', 'Inter', system-ui, -apple-system, sans-serif;
	color: var(--lw-text);
	background: var(--lw-white);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Poppins', sans-serif;
	color: var(--lw-heading);
	line-height: 1.2;
	margin: 0 0 0.6em;
	font-weight: 700;
	letter-spacing: -0.01em;
}
h1 { font-size: clamp(2rem, 4vw, 3.25rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1em; }
a { color: var(--lw-primary); text-decoration: none; transition: color var(--lw-transition); }
a:hover { color: var(--lw-secondary); }
img { max-width: 100%; height: auto; display: block; }

.screen-reader-text {
	position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden;
}
.skip-link {
	position: absolute; left: -9999px; top: 8px; background: var(--lw-primary); color: #fff; padding: 8px 12px; border-radius: 6px; z-index: 9999;
}
.skip-link:focus { left: 8px; }

.lw-container { max-width: var(--lw-container); margin: 0 auto; padding: 0 24px; }

/* =========================================================
   Buttons
   ========================================================= */
.lw-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 0.85rem 1.6rem;
	border-radius: 2px;
	font-weight: 600;
	font-size: 0.95rem;
	cursor: pointer;
	border: 2px solid transparent;
	transition: all var(--lw-transition);
	text-align: center;
	line-height: 1;
	white-space: nowrap;
}
.lw-btn--primary { background: var(--lw-primary); color: #fff; }
.lw-btn--primary:hover { background: var(--lw-primary-dark); color: #fff; transform: translateY(-2px); box-shadow: var(--lw-shadow-md); }
.lw-btn--secondary { background: var(--lw-secondary); color: var(--lw-dark); }
.lw-btn--secondary:hover { background: var(--lw-secondary-dark); color: var(--lw-dark); transform: translateY(-2px); }
.lw-btn--outline { background: transparent; color: var(--lw-primary); border-color: var(--lw-primary); }
.lw-btn--outline:hover { background: var(--lw-primary); color: #fff; }
.lw-btn--ghost { background: rgba(255,255,255,0.1); color: #fff; border-color: rgba(255,255,255,0.4); }
.lw-btn--ghost:hover { background: #fff; color: var(--lw-primary); }
.lw-btn--lg { padding: 1.05rem 2.2rem; font-size: 1rem; }
.lw-btn--sm { padding: 0.55rem 1rem; font-size: 0.85rem; }
.lw-btn--block { width: 100%; }

/* =========================================================
   Header
   ========================================================= */
.lw-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--lw-border);
}
.lw-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	min-height: 80px; gap: 24px;
}
.lw-header__logo { display: flex; align-items: center; gap: 10px; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.25rem; color: var(--lw-heading); }
.lw-header__logo-mark {
	width: 40px; height: 40px; border-radius: 10px;
	background: linear-gradient(135deg, var(--lw-primary), var(--lw-primary-dark));
	color: #fff; display: grid; place-items: center; font-weight: 800;
}
.lw-menu { list-style: none; padding: 0; margin: 0; display: flex; gap: 6px; }
.lw-menu li a, .lw-menu li > a { display: block; padding: 10px 16px; font-weight: 500; color: var(--lw-heading); border-radius: 8px; transition: all var(--lw-transition); }
.lw-menu li a:hover, .lw-menu .current-menu-item > a { color: var(--lw-primary); background: rgba(31,78,121,0.06); }
.lw-header__actions { display: flex; align-items: center; gap: 12px; }

.lw-header__toggle {
	display: none; background: none; border: 0; width: 44px; height: 44px; padding: 10px; cursor: pointer; border-radius: 8px;
}
.lw-header__toggle span { display: block; height: 2px; background: var(--lw-heading); margin: 5px 0; transition: all var(--lw-transition); }
.lw-header__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.lw-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.lw-header__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.lw-mobile-nav { display: none; padding: 20px 24px 28px; border-top: 1px solid var(--lw-border); background: #fff; }
.lw-mobile-nav .lw-mobile-menu { list-style: none; padding: 0; margin: 0 0 16px; }
.lw-mobile-nav .lw-mobile-menu li a { display: block; padding: 12px 4px; color: var(--lw-heading); font-weight: 500; border-bottom: 1px solid var(--lw-border); }

/* =========================================================
   Hero
   ========================================================= */
.lw-hero {
	position: relative; min-height: 80vh; display: flex; align-items: center;
	background-size: cover; background-position: center;
	color: #fff;
}
.lw-hero__overlay { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(30,30,30,0.75) 0%, rgba(31,78,121,0.65) 100%); }
.lw-hero__inner { position: relative; padding: 70px 24px; max-width: 950px; }
.lw-hero__eyebrow {
	display: inline-block; padding: 8px 18px; border-radius: 2px;
	background: rgba(212,175,55,0.18); color: var(--lw-secondary);
	font-size: 0.8rem; letter-spacing: 0.15em; text-transform: uppercase; font-weight: 600;
	margin-bottom: 20px;
}
.lw-hero__title { color: #fff; font-size: clamp(2.25rem, 5vw, 4rem); margin-bottom: 20px; }
.lw-hero__subtitle { font-size: 1.15rem; color: rgba(255,255,255,0.9); max-width: 840px; margin-bottom: 32px; }
.lw-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 20px; }
.lw-hero__stats { display: flex; flex-wrap: wrap; gap: 40px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,0.2); }
.lw-hero__stats div { display: flex; flex-direction: column; }
.lw-hero__stats strong { font-size: 2rem; font-weight: 700; color: #fff; }
.lw-hero__stats span { color: rgba(255,255,255,0.7); font-size: 0.9rem; }

/* =========================================================
   Sections
   ========================================================= */
.lw-section { padding: 40px 0; }
.lw-section--muted { background: var(--lw-bg); }
.lw-section--dark { background: var(--lw-dark); color: rgba(255,255,255,0.85); }
.lw-section--dark h2, .lw-section--dark h3 { color: #fff; }

.lw-section__head { text-align: center; max-width: 720px; margin: 0 auto 30px; }
.lw-section__head p { color: var(--lw-text); font-size: 1.05rem; }
.lw-section__head--light p { color: rgba(255,255,255,0.7); }
.lw-section__cta { text-align: center; margin-top: 50px; }

.lw-eyebrow {
	display: inline-block; padding: 6px 14px; border-radius: 2px;
	background: rgba(31,78,121,0.08); color: var(--lw-primary);
	font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; font-weight: 600;
	margin-bottom: 16px;
}
.lw-eyebrow--light { background: rgba(212,175,55,0.3); color: #fff; }

.lw-page-hero { padding: 100px 0 60px; background: var(--lw-bg); text-align: center; }
.lw-page-hero--tall { padding: 140px 0; color: #fff; background-size: cover; background-position: center; }
.lw-page-hero h1 { 
	color: #fff; 
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	max-width: 950px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
.lw-page-hero p {
	font-size: 1.15rem;
	color: rgba(255, 255, 255, 0.9);
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5rem;
	line-height: 1.65;
}

/* =========================================================
   Grid
   ========================================================= */
.lw-grid { display: grid; gap: 28px; }
.lw-grid--3 { grid-template-columns: repeat(3, 1fr); }
.lw-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* =========================================================
   Property cards & General Cards
   ========================================================= */
.lw-property-card, .lw-feature-card, .lw-service-card, .lw-team-card, .lw-blog-card, .lw-project-card {
	position: relative;
	background: #fff; 
	border-radius: var(--lw-radius-lg); 
	border: 1px solid var(--lw-border);
	transition: transform var(--lw-transition), box-shadow var(--lw-transition), border-color var(--lw-transition);
}
.lw-property-card::before, .lw-property-card::after,
.lw-feature-card::before, .lw-feature-card::after,
.lw-service-card::before, .lw-service-card::after,
.lw-team-card::before, .lw-team-card::after,
.lw-blog-card::before, .lw-blog-card::after,
.lw-project-card::before, .lw-project-card::after {
	content:"";
	position:absolute;
	width:14px;
	height:14px;
	border:2px solid var(--lw-line);
	transition:border-color .35s ease, opacity .35s ease;
	z-index: 2;
}
.lw-property-card::before, .lw-feature-card::before, .lw-service-card::before, .lw-team-card::before, .lw-blog-card::before, .lw-project-card::before {
	top:-1px; left:-1px; border-right:none; border-bottom:none;
}
.lw-property-card::after, .lw-feature-card::after, .lw-service-card::after, .lw-team-card::after, .lw-blog-card::after, .lw-project-card::after {
	bottom:-1px; right:-1px; border-left:none; border-top:none;
}
.lw-property-card:hover, .lw-feature-card:hover, .lw-service-card:hover, .lw-team-card:hover, .lw-blog-card:hover, .lw-project-card:hover {
	transform:translateY(-4px);
	box-shadow:0 18px 40px rgba(31,78,121,0.12);
}
.lw-property-card:hover::before, .lw-property-card:hover::after,
.lw-feature-card:hover::before, .lw-feature-card:hover::after,
.lw-service-card:hover::before, .lw-service-card:hover::after,
.lw-team-card:hover::before, .lw-team-card:hover::after,
.lw-blog-card:hover::before, .lw-blog-card:hover::after,
.lw-project-card:hover::before, .lw-project-card:hover::after {
	border-color:var(--lw-brass);
}

.lw-property-card {
	display: flex; flex-direction: column;
}
.lw-property-card__image {
	position: relative; padding-top: 65%; background-size: cover; background-position: center;
}
.lw-property-card__badge {
	position: absolute; top: 16px; left: 16px;
	background: var(--lw-secondary); color: var(--lw-dark);
	padding: 6px 14px; border-radius: var(--lw-radius); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.05em;
}
.lw-property-card__body { padding: 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.lw-property-card__title { margin: 0; font-size: 1.2rem; }
.lw-property-card__location { color: var(--lw-text); font-size: 0.9rem; margin: 0; }
.lw-property-card__description { color: var(--lw-text); font-size: 0.95rem; flex: 1; }
.lw-property-card__footer { display: flex; align-items: center; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--lw-border); margin-top: 8px; }
.lw-property-card__price { color: var(--lw-primary); font-weight: 700; font-size: 1.15rem; }

/* =========================================================
   Feature / service / team cards
   ========================================================= */
.lw-feature-card, .lw-service-card {
	padding: 32px; text-align: left;
}
.lw-feature-card__icon, .lw-service-card__icon, .lw-audience-card__icon {
	width: 44px; height: 44px; margin-bottom: 1.5rem;
	color: var(--lw-primary);
}
.lw-feature-card__icon svg, .lw-service-card__icon svg, .lw-audience-card__icon svg {
	width: 100%; height: 100%; display: block;
}
.lw-feature-card h3, .lw-service-card h3 { font-size: 1.15rem; margin-bottom: 8px; }
.lw-feature-card p, .lw-service-card p { color: var(--lw-text); margin: 0; font-size: 0.95rem; }

.lw-team-card {
	padding: 24px; text-align: center;
}
.lw-team-card img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin: 0 auto 16px; }
.lw-team-card h3 { margin-bottom: 4px; font-size: 1.05rem; }
.lw-team-card span { color: var(--lw-primary); font-size: 0.9rem; font-weight: 500; }

/* =========================================================
   Split / about
   ========================================================= */
.lw-split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.lw-split__media img { border-radius: var(--lw-radius-lg); box-shadow: var(--lw-shadow-md); width: 100%; }
.lw-check-list { list-style: none; padding: 0; margin: 20px 0 28px; }
.lw-check-list li { padding-left: 32px; position: relative; margin-bottom: 12px; }
.lw-check-list li:before {
	content: "✓"; position: absolute; left: 0; top: 0;
	width: 22px; height: 22px; border-radius: 50%;
	background: var(--lw-accent); color: #fff;
	font-size: 0.75rem; font-weight: 700;
	display: grid; place-items: center;
}
.lw-steps { padding-left: 20px; margin: 20px 0; }
.lw-steps li { margin-bottom: 14px; color: var(--lw-text); }
.lw-steps li strong { color: var(--lw-heading); }

/* =========================================================
   Testimonials
   ========================================================= */
.lw-testimonial {
	background: rgba(255,255,255,0.04); backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: var(--lw-radius-lg); padding: 32px; margin: 0;
}
.lw-testimonial blockquote { margin: 0 0 20px; font-size: 1.05rem; color: rgba(255,255,255,0.9); font-style: italic; line-height: 1.6; }
.lw-testimonial figcaption { display: flex; align-items: center; gap: 14px; }
.lw-testimonial figcaption img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.lw-testimonial figcaption strong { display: block; color: #fff; }
.lw-testimonial figcaption span { color: var(--lw-secondary); font-size: 0.85rem; }

/* =========================================================
   Blog cards
   ========================================================= */
.lw-post-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.lw-blog-card {
	display: flex; flex-direction: column;
}
.lw-blog-card__image { display: block; padding-top: 58%; background-size: cover; background-position: center; }
.lw-blog-card__image img { width: 100%; }
.lw-blog-card__body { padding: 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.lw-blog-card__title { margin: 0; font-size: 1.15rem; }
.lw-blog-card__title a { color: var(--lw-heading); }
.lw-blog-card__title a:hover { color: var(--lw-primary); }
.lw-post-meta { color: var(--lw-text); font-size: 0.85rem; }
.lw-link-arrow { color: var(--lw-primary); font-weight: 600; margin-top: auto; }
.lw-link-arrow:hover { color: var(--lw-secondary); }

/* =========================================================
   Filter (properties)
   ========================================================= */
.lw-filter { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 50px; }
.lw-filter__btn {
	background: #fff; border: 1px solid var(--lw-border); border-radius: 2px;
	padding: 10px 20px; font-family: inherit; font-weight: 500; cursor: pointer;
	transition: all var(--lw-transition); color: var(--lw-heading);
}
.lw-filter__btn:hover { border-color: var(--lw-primary); color: var(--lw-primary); }
.lw-filter__btn.is-active { background: var(--lw-primary); color: #fff; border-color: var(--lw-primary); }
.lw-property-item.is-hidden { display: none; }

/* =========================================================
   Contact
   ========================================================= */
.lw-contact { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; align-items: start; }
.lw-contact__list { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-direction: column; gap: 18px; }
.lw-contact__list li { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; background: var(--lw-bg); border-radius: var(--lw-radius); border-left: 3px solid var(--lw-secondary); }
.lw-contact__list strong { color: var(--lw-heading); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; }
.lw-contact__form {
	background: #fff; padding: 40px; border-radius: var(--lw-radius-lg);
	box-shadow: var(--lw-shadow-md); border: 1px solid var(--lw-border);
}
.lw-field { margin-bottom: 20px; }
.lw-field label { display: block; margin-bottom: 8px; font-weight: 500; color: var(--lw-heading); font-size: 0.9rem; }
.lw-field input, .lw-field textarea {
	width: 100%; padding: 14px 16px; border: 1px solid var(--lw-border);
	border-radius: var(--lw-radius); font-family: inherit; font-size: 1rem; color: var(--lw-heading);
	background: var(--lw-bg); transition: all var(--lw-transition);
}
.lw-field input:focus, .lw-field textarea:focus {
	outline: none; background: #fff;
	border-color: var(--lw-primary);
	box-shadow: 0 0 0 4px rgba(31,78,121,0.1);
}
.lw-form-msg { color: var(--lw-accent); margin: 14px 0 0; font-weight: 500; }
.lw-map { margin-top: 60px; border-radius: var(--lw-radius-lg); overflow: hidden; box-shadow: var(--lw-shadow-md); border: 1px solid var(--lw-border); }
.lw-map iframe { width: 100%; height: 420px; border: 0; display: block; }

/* =========================================================
   CTA banner
   ========================================================= */
.lw-cta-banner {
	background: linear-gradient(135deg, var(--lw-primary) 0%, var(--lw-primary-dark) 100%);
	color: #fff; padding: 70px 0;
}
.lw-cta-banner__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.lw-cta-banner h2 { color: #fff; margin: 0 0 8px; }
.lw-cta-banner p { margin: 0; color: rgba(255,255,255,0.85); }

/* =========================================================
   Stats
   ========================================================= */
.lw-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; text-align: center; }
.lw-stats div { display: flex; flex-direction: column; gap: 6px; }
.lw-stats strong { font-size: 2.5rem; color: var(--lw-secondary); font-weight: 700; }
.lw-stats span { color: rgba(255,255,255,0.7); font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.1em; }

/* =========================================================
   Footer
   ========================================================= */
.lw-footer { background: #0C1622; color: rgba(255,255,255,0.75); padding-top: 80px; }
.lw-footer__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; padding-bottom: 60px; }
.lw-footer h4, .lw-footer__brand { color: #fff; font-size: 1.1rem; margin-bottom: 20px; }
.lw-footer__brand { font-size: 1.35rem; }
.lw-footer__menu { list-style: none; padding: 0; margin: 0; }
.lw-footer__menu li { margin-bottom: 10px; }
.lw-footer__menu a { color: rgba(255,255,255,0.7); }
.lw-footer__menu a:hover { color: var(--lw-secondary); }
.lw-footer address { font-style: normal; line-height: 1.9; }
.lw-footer address a { color: rgba(255,255,255,0.85); }
.lw-footer__socials { display: flex; gap: 10px; margin-top: 20px; }
.lw-footer__socials a {
	width: 40px; height: 40px; border-radius: 50%;
	background: rgba(255,255,255,0.08); color: #fff;
	display: grid; place-items: center; font-weight: 600; font-size: 0.9rem;
	transition: all var(--lw-transition);
}
.lw-footer__socials a:hover { background: var(--lw-secondary); color: var(--lw-dark); }
.lw-newsletter { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.lw-newsletter input {
	flex: 1; min-width: 180px; padding: 12px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.15);
	background: rgba(255,255,255,0.06); color: #fff; font-family: inherit;
}
.lw-newsletter input::placeholder { color: rgba(255,255,255,0.5); }
.lw-newsletter__msg { flex-basis: 100%; margin: 6px 0 0; color: var(--lw-accent); font-size: 0.85rem; }
.lw-footer__bottom { border-top: 1px solid rgba(255,255,255,0.08); padding: 24px 0; text-align: center; font-size: 0.9rem; color: rgba(255,255,255,0.5); }

/* =========================================================
   404
   ========================================================= */
.lw-404 { min-height: 60vh; display: grid; place-items: center; text-align: center; }
.lw-404__code { display: block; font-size: clamp(6rem, 15vw, 10rem); font-weight: 800; color: var(--lw-primary); line-height: 1; letter-spacing: -0.05em; }
.lw-404__actions { display: flex; justify-content: center; gap: 14px; margin-top: 30px; flex-wrap: wrap; }

/* =========================================================
   Layout with sidebar
   ========================================================= */
.lw-layout--with-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 60px; padding: 80px 24px; }
.lw-sidebar .widget { background: var(--lw-bg); padding: 24px; border-radius: var(--lw-radius); margin-bottom: 24px; }
.widget-title { margin-top: 0; }
.lw-prose h1, .lw-prose h2, .lw-prose h3 { margin-top: 1.4em; }
.lw-prose p, .lw-prose li { color: var(--lw-text); font-size: 1.05rem; line-height: 1.8; }

.lw-pagination { margin-top: 40px; text-align: center; }
.lw-pagination .nav-links { display: inline-flex; gap: 8px; }
.lw-pagination a, .lw-pagination span {
	display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px;
	border-radius: 999px; background: var(--lw-bg); color: var(--lw-heading); font-weight: 500;
}
.lw-pagination .current { background: var(--lw-primary); color: #fff; }

/* =========================================================
   Animations
   ========================================================= */
.lw-fade-up { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.lw-fade-up.is-visible { opacity: 1; transform: translateY(0); }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1024px) {
	.lw-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.lw-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.lw-split { grid-template-columns: 1fr; gap: 40px; }
	.lw-contact { grid-template-columns: 1fr; gap: 40px; }
	.lw-layout--with-sidebar { grid-template-columns: 1fr; }
	.lw-footer__grid { grid-template-columns: 1fr 1fr 1fr; gap: 20px; }
	.lw-stats { grid-template-columns: repeat(2, 1fr); gap: 30px; }
	.lw-post-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	.lw-header__nav, .lw-header__cta { display: none; }
	.lw-header__toggle { display: block; }
	.lw-mobile-nav.is-open { display: block; }
	.lw-section { padding: 30px 0; }
	.lw-page-hero--tall { padding: 90px 0; }
	.lw-hero { min-height: 78vh; }
	.lw-hero__stats { gap: 24px; }
	.lw-hero__stats strong { font-size: 1.5rem; }
	.lw-grid--3, .lw-grid--4 { grid-template-columns: 1fr; }
	.lw-footer__grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
	.lw-cta-banner__inner { flex-direction: column; text-align: center; }
	.lw-contact__form { padding: 24px; }
}
@media (max-width: 480px) {
	.lw-stats { grid-template-columns: 1fr; }
	.lw-btn--lg { padding: 0.9rem 1.6rem; font-size: 0.95rem; }
	.lw-hero__actions { flex-direction: column; align-items: stretch; }
}

/* =========================================================
   Decorative Backgrounds (Premium UI)
   ========================================================= */

body, .lw-site-content {
    background-color: #ffffff;
}

.lw-section--muted {
    position: relative;
    background-color: var(--lw-bg);
    overflow: hidden;
    z-index: 1;
}

.lw-section--dark {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

/* =========================================================
   Cadastral UI Shared Styles (From Partner / Team Pages)
   ========================================================= */
.lw-people-grid, .lw-audience-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1.75rem;
}
.lw-people-grid--2, .lw-audience-grid{ grid-template-columns:repeat(2,1fr); }
@media (max-width: 900px){
	.lw-people-grid, .lw-people-grid--2, .lw-audience-grid{ grid-template-columns:1fr; }
}

.lw-person-card, .lw-audience-card{
	position:relative;
	background:#fff;
	padding:2.5rem 2.25rem 2.25rem;
	border:1px solid var(--lw-line);
	height:100%;
	transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.lw-audience-card{
    padding:2.75rem 2.5rem 2.5rem;
}
.lw-person-card::before, .lw-person-card::after,
.lw-audience-card::before, .lw-audience-card::after{
	content:"";
	position:absolute;
	width:14px;
	height:14px;
	border:2px solid var(--lw-line);
	transition:border-color .35s ease, opacity .35s ease;
}
.lw-person-card::before, .lw-audience-card::before{ top:-1px; left:-1px; border-right:none; border-bottom:none; }
.lw-person-card::after, .lw-audience-card::after{ bottom:-1px; right:-1px; border-left:none; border-top:none; }
.lw-person-card:hover, .lw-audience-card:hover{
	transform:translateY(-4px);
	box-shadow:0 18px 40px rgba(31,78,121,0.12);
}
.lw-person-card:hover::before, .lw-person-card:hover::after,
.lw-audience-card:hover::before, .lw-audience-card:hover::after{ border-color:var(--lw-brass); }

.lw-person-seal{
	width:64px;
	height:64px;
	border-radius:50%;
	border:1.5px dashed var(--lw-brass);
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:1.5rem;
	flex:0 0 auto;
}
.lw-person-seal span{
	font-size:1.05rem;
	font-weight:700;
	letter-spacing:.03em;
	color:var(--lw-primary);
}
.lw-person-card h3, .lw-audience-card h3{
	color:var(--lw-ink);
	font-size:1.25rem;
	margin-bottom:.3rem;
}
.lw-audience-card h3{
    font-size: 1.3rem;
    letter-spacing: .01em;
    margin-bottom: 0.9rem;
}
.lw-person-card .lw-person-role{
	display:block;
	margin-bottom:1.1rem;
	color:var(--lw-brass);
	font-size:.78rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.lw-person-card p, .lw-audience-card p{
	color:var(--lw-text);
	line-height:1.65;
	margin:0;
	font-size:.96rem;
}
.lw-audience-card__tag{
	display:block;
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--lw-brass);
	margin-bottom:.6rem;
}

.lw-network-panel, .lw-principles-panel{
	position:relative;
	border:1px dashed var(--lw-line);
	padding:2.5rem;
}
.lw-principles-panel{
    padding:2.5rem 2.5rem 1rem;
}
.lw-network-panel::before, .lw-network-panel::after,
.lw-principles-panel::before, .lw-principles-panel::after{
	content:"";
	position:absolute;
	width:18px;
	height:18px;
	border:2px solid var(--lw-brass);
}
.lw-network-panel::before, .lw-principles-panel::before{ top:-2px; left:-2px; border-right:none; border-bottom:none; }
.lw-network-panel::after, .lw-principles-panel::after{ bottom:-2px; right:-2px; border-left:none; border-top:none; }

.lw-network-groups{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:2rem;
}
.lw-network-group h4{
	font-size:.75rem;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--lw-primary);
	margin:0 0 1rem;
	padding-bottom:.6rem;
	border-bottom:1px solid var(--lw-line);
}
.lw-network-group ul{ list-style:none; margin:0; padding:0; }
.lw-network-group li{
	position:relative;
	padding:.5rem 0 .5rem 1.1rem;
	color:var(--lw-ink);
	font-weight:500;
	font-size:.96rem;
}
.lw-network-group li::before{
	content:""; position:absolute; left:0; top:1.05rem;
	width:6px; height:6px; border-radius:50%;
	background:var(--lw-brass);
}

@media (max-width: 700px){
	.lw-network-groups{ grid-template-columns:1fr; gap:1.5rem; }
}

.lw-principles-list{
	list-style:none;
	margin:0 0 1.5rem;
	padding:0;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	column-gap:2.5rem;
}
.lw-principles-list li{
	display:flex;
	gap:1rem;
	padding:1.15rem 0;
	border-bottom:1px solid var(--lw-line);
}
.lw-principles-list li:nth-last-child(-n+3){ border-bottom:none; }
@media (max-width: 900px){
	.lw-principles-list{ grid-template-columns:repeat(2,1fr); }
	.lw-principles-list li:nth-last-child(-n+3){ border-bottom:1px solid var(--lw-line); }
	.lw-principles-list li:nth-last-child(-n+2){ border-bottom:none; }
}
@media (max-width: 600px){
	.lw-principles-list{ grid-template-columns:1fr; }
	.lw-principles-list li:nth-last-child(-n+2){ border-bottom:1px solid var(--lw-line); }
	.lw-principles-list li:last-child{ border-bottom:none; }
}
.lw-principle__lot{
	flex:0 0 auto;
	font-size:.75rem;
	font-weight:700;
	letter-spacing:.08em;
	color:var(--lw-brass);
	padding-top:.2rem;
	white-space:nowrap;
}
.lw-principle__body strong{
	display:block;
	color:var(--lw-ink);
	font-size:1.05rem;
	margin-bottom:.2rem;
}
.lw-principle__body span{
	color:var(--lw-text);
	font-size:.94rem;
	line-height:1.5;
}

/* ==========================
   PROJECT CAROUSEL
========================== */
/* ===========================
   PROJECT CAROUSEL
=========================== */

.lw-carousel-wrapper{
    position:relative;
    display:flex;
    align-items:center;
    gap:24px;
}

.lw-carousel-viewport{
    width:100%;
    overflow:hidden;
}

.lw-carousel-track{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 60px)/3);
    gap:30px;
    transition:transform .45s ease;
}

.lw-project-card{
    display:flex;
    flex-direction:column;
    padding:2.5rem;
    background:#fff;
    height:100%;
}

/* Tablet */

@media (max-width:992px){

.lw-carousel-track{

grid-auto-columns:calc((100% - 30px)/2);

}

}

/* Mobile */

@media (max-width:768px){

.lw-carousel-track{

grid-auto-columns:100%;

}

}

.lw-carousel-btn{

width:52px;
height:52px;
border:none;
border-radius:50%;
background:#fff;
box-shadow:0 10px 25px rgba(0,0,0,.15);
cursor:pointer;
font-size:22px;
font-weight:bold;
color:var(--lw-primary);
transition:.3s;
flex-shrink:0;

}

.lw-carousel-btn:hover{

background:var(--lw-primary);
color:#fff;

}

@media(max-width:768px){

.lw-carousel-btn{

width:42px;
height:42px;

}

}

/* Active Navigation */

.lw-menu .current-menu-item > a,
.lw-menu .current_page_item > a,
.lw-menu .current-menu-parent > a,
.lw-menu .current-menu-ancestor > a,
.lw-mobile-menu .current-menu-item > a,
.lw-mobile-menu .current_page_item > a{
    color: var(--lw-primary);
    font-weight:700;
    position:relative;
}

.lw-menu .current-menu-item > a::after,
.lw-menu .current_page_item > a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:100%;
    height:3px;
    background:var(--lw-primary);
    border-radius:3px;
}

/* ==========================
   PROJECT GRID
========================== */

.lw-project-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px;
    align-items:stretch;
}

.lw-project-card-grid{
    display:flex;
    flex-direction:column;
    padding:2.5rem;
    background:#fff;
    border:1px solid var(--lw-line);
    min-height:340px;
    transition:.35s ease;
}

.lw-project-card-grid:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(31,78,121,.12);
}

.lw-project-stage{
    display:inline-flex;
    align-self:flex-start;
    margin-bottom:1.5rem;
    padding:8px 18px;
    background:var(--lw-primary);
    color:#fff;
    font-size:.8rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.lw-project-card-grid h3{
    margin-bottom:.75rem;
    font-size:1.45rem;
}

.lw-project-location{
    color:var(--lw-secondary-dark);
    font-weight:600;
    margin-bottom:1rem;
}

.lw-project-card-grid p:last-child{
    flex:1;
    margin-bottom:0;
    line-height:1.75;
}

/* Tablet */

@media (max-width:992px){

    .lw-project-grid{
        grid-template-columns:1fr;
    }

}

/* Mobile */

@media (max-width:768px){

    .lw-project-card-grid{
        padding:2rem;
    }

}

/* ==========================================
   WHAT WE DO LIST
========================================== */

.lw-service-list{
    display:flex;
    flex-direction:column;
    gap:1.4rem;
}

.lw-service-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding-bottom:1.25rem;
    border-bottom:1px solid rgba(0,0,0,.08);
}

.lw-service-item:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.lw-service-icon{
    width:24px;
    height:24x;
    min-width:24px;
    border-radius:50%;
    /* background:rgba(var(--lw-primary-rgb,28,90,62),.08); */
    color:var(--lw-primary);
    display:flex;
    align-items:center;
    justify-content:center;
}

.lw-service-icon svg{
    width: 24px;
    height:24px;
}

.lw-service-item p{
    margin:0;
    font-size:1.08rem;
    font-weight:500;
    color:var(--lw-heading);
    line-height:1.7;
}

/* =====================================================
   PROCESS LIST
===================================================== */
/*==================================================
PROCESS SECTION
==================================================*/

.lw-process-card{
    position:relative;
    background:#fff;
    padding:2.75rem;
    border:1px solid var(--lw-line);
    transition:all .35s ease;
    height:100%;
}

.lw-process-card::before,
.lw-process-card::after{
    content:"";
    position:absolute;
    width:14px;
    height:14px;
    border:2px solid var(--lw-line);
    transition:border-color .35s ease;
}

.lw-process-card::before{
    top:-1px;
    left:-1px;
    border-right:none;
    border-bottom:none;
}

.lw-process-card::after{
    bottom:-1px;
    right:-1px;
    border-left:none;
    border-top:none;
}

.lw-process-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(31,78,121,.12);
}

.lw-process-card:hover::before,
.lw-process-card:hover::after{
    border-color:var(--lw-brass);
}

/*========================
Header
========================*/

.lw-process-card__header{
    margin-bottom:2rem;
}

.lw-process-card__title{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

.lw-process-card__icon{
    width:44px;
    height:44px;
    min-width:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--lw-primary);
    flex-shrink:0;
}

.lw-process-card__icon svg{
    width:44px;
    height:44px;
}

.lw-process-card__heading{
    flex:1;
}

.lw-process-card__heading h3{
    margin:0 0 .6rem;
    font-size:1.35rem;
    font-weight:700;
    color:var(--lw-heading);
    line-height:1.3;
}

.lw-process-card__heading p{
    margin:0;
    color:var(--lw-text);
    font-size:.98rem;
    line-height:1.75;
}

/*========================
Process List
========================*/

.lw-process-list{
    display:flex;
    flex-direction:column;
}

.lw-process-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:1.15rem 0;
    border-bottom:1px solid rgba(31,78,121,.08);
}

.lw-process-item:last-child{
    border-bottom:none;
    padding-bottom:0;
}

/*========================
Number Badge
========================*/

.lw-process-number{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:50%;
    border:1.5px solid var(--lw-primary);
    color:var(--lw-primary);
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.82rem;
    font-weight:700;
    transition:.3s ease;
}

.lw-process-item:hover .lw-process-number{
    background:var(--lw-primary);
    color:#fff;
}

/*========================
Text
========================*/

.lw-process-content{
    flex:1;
    padding-top:4px;
}

.lw-process-content h4{
    margin:0;
    font-size:1rem;
    font-weight:500;
    line-height:1.7;
    color:var(--lw-heading);
}

/*========================
Responsive
========================*/

@media(max-width:992px){

    .lw-process-card{
        padding:2rem;
    }

}

@media(max-width:768px){

    .lw-process-card{
        padding:1.75rem;
    }

    .lw-process-card__title{
        gap:14px;
    }

    .lw-process-card__icon{
        width:36px;
        height:36px;
        min-width:36px;
    }

    .lw-process-card__icon svg{
        width:36px;
        height:36px;
    }

    .lw-process-card__heading h3{
        font-size:1.2rem;
    }

    .lw-process-item{
        gap:14px;
    }

}

/* =========================================================
   PROJECT CAROUSEL (wrapper only — cards keep existing styles)
   ========================================================= */
.lw-project-carousel {
    position: relative;
    margin-top: 40px;
}

.lw-carousel-viewport {
    overflow: hidden;
    padding: 10px 4px 20px; /* room for card shadow / hover lift */
}

.lw-carousel-track {
    display: flex;
    align-items: stretch;   /* equal card heights across the row */
    gap: 28px;
    transition: transform 0.65s cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}

/* Each slide is a flex track item; the card inside stretches to fill it */
.lw-carousel-slide {
    flex: 0 0 calc((100% - 28px) / 2);   /* 2 per view = (100% - 1 gap) / 2 */
    max-width: calc((100% - 28px) / 2);
    display: flex;
}
.lw-carousel-slide > .lw-project-card {
    flex: 1;                /* fill slide → same height as its siblings */
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;              /* neutralize any grid margins */
    width: 100%;
}

/* Mobile: 1 per view */
@media (max-width: 768px) {
    .lw-carousel-track { gap: 20px; }
    .lw-carousel-slide {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* --- Controls --- */
/* --- Side arrow buttons (overlay left/right of cards) --- */
.lw-project-carousel {
    position: relative;
    margin-top: 40px;
    padding: 0 72px;          /* space so arrows don't overlap cards */
}

.lw-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--lw-white);
    color: var(--lw-primary);
    border: 1.5px solid var(--lw-line);
    border-radius: 999px;
    cursor: pointer;
    z-index: 5;
    box-shadow: 0 8px 24px rgba(31,78,121,0.12);
    transition: background var(--lw-transition),
                color var(--lw-transition),
                border-color var(--lw-transition),
                box-shadow var(--lw-transition),
                transform var(--lw-transition);
}
.lw-carousel-arrow svg { width: 22px; height: 22px; }

.lw-carousel-arrow--prev { left: 0; }
.lw-carousel-arrow--next { right: 0; }

.lw-carousel-arrow::before {
    /* subtle brass ring on hover */
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 999px;
    border: 1.5px solid transparent;
    transition: border-color var(--lw-transition);
}
.lw-carousel-arrow:hover:not(:disabled) {
    background: var(--lw-primary);
    color: var(--lw-white);
    border-color: var(--lw-primary);
    transform: translateY(-50%) scale(1.06);
    box-shadow: 0 14px 32px rgba(31,78,121,0.28);
}
.lw-carousel-arrow:hover:not(:disabled)::before {
    border-color: var(--lw-brass);
}
.lw-carousel-arrow:active:not(:disabled) {
    transform: translateY(-50%) scale(0.96);
}
.lw-carousel-arrow:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(156,122,46,0.35), 0 8px 24px rgba(31,78,121,0.12);
}
.lw-carousel-arrow:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

/* Dots */
.lw-carousel-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 32px;
}
.lw-carousel-dot {
    width: 10px; height: 10px;
    padding: 0;
    background: rgba(31,78,121,0.22);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: all var(--lw-transition);
}
.lw-carousel-dot:hover { background: rgba(31,78,121,0.5); }
.lw-carousel-dot.is-active {
    width: 30px;
    background: var(--lw-brass);
}

/* Mobile: shrink padding & arrows */
@media (max-width: 768px) {
    .lw-project-carousel { padding: 0 8px; }
    .lw-carousel-arrow {
        width: 44px; height: 44px;
        box-shadow: 0 6px 16px rgba(31,78,121,0.18);
    }
    .lw-carousel-arrow svg { width: 18px; height: 18px; }
    .lw-carousel-arrow--prev { left: -4px; }
    .lw-carousel-arrow--next { right: -4px; }
}


/* ============ CURRENT OPPORTUNITIES · 2026 EDITORIAL CTA ============ */
.lw-current-opps{
    position:relative;overflow:hidden;
    padding:92px 0 90px;
    /* background:var(--lw-paper,#f6f2e8); */
    font-family:var(--lw-font-sans,"Poppins","Inter",system-ui,sans-serif);
    color:var(--lw-text,#5b6a78);
}
.lw-current-opps-bg{
    position:relative;overflow:hidden;
    padding:92px 0 90px;
    background:var(--lw-paper,#f6f2e8);
    font-family:var(--lw-font-sans,"Poppins","Inter",system-ui,sans-serif);
    color:var(--lw-text,#5b6a78);
}
.lw-current-opps__mesh,
.lw-current-opps__grid{position:absolute;inset:0;pointer-events:none;z-index:0;}

.lw-current-opps__grid{
    background-image:
      linear-gradient(to right, var(--lw-primary,#1f4e79) 1px, transparent 1px),
      linear-gradient(to bottom, var(--lw-primary,#1f4e79) 1px, transparent 1px);
    background-size:64px 64px;opacity:.06;
    -webkit-mask-image:radial-gradient(ellipse at center, black 40%, transparent 80%);
            mask-image:radial-gradient(ellipse at center, black 40%, transparent 80%);
}
.lw-current-opps__inner{
    position:relative;z-index:1;
    max-width:1180px;margin:0 auto;padding:0 24px;
}
.lw-current-opps__grid-wrap{
    display:grid;gap:56px;align-items:start;
}
@media (min-width:1024px){
    .lw-current-opps__grid-wrap{grid-template-columns:1fr 1.15fr;gap:80px;}
}

/* LEFT column */
/* .lw-eyebrow{display:flex;align-items:center;gap:12px;}
.lw-eyebrow__rule{width:40px;height:1px;background:var(--lw-brass,#b98a3a);}
.lw-eyebrow__label{
    font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
    color:var(--lw-brass,#b98a3a);
} */
.lw-current-opps__title{
    margin:24px 0 0;
    font-size:clamp(1.8rem, 2.3vw, 4.75rem);
    line-height:1;letter-spacing:-.03em;font-weight:700;
    color:var(--lw-ink,#26323f);
}
.lw-current-opps__accent{position:relative;display:inline-block;}
.lw-current-opps__accent-text{
    position:relative;z-index:1;
    font-style:italic;color:var(--lw-primary,#1f4e79);
}
.lw-current-opps__accent-swash{
    position:absolute;left:-2px;right:-2px;bottom:6px;height:16px;z-index:0;
    background:color-mix(in oklch, var(--lw-brass,#b98a3a) 32%, transparent);
    border-radius:3px;
}
.lw-current-opps__meta{
    margin-top:32px;display:inline-flex;align-items:center;gap:16px;
    padding:12px 18px;border-radius:999px;
    background:rgba(255,255,255,.7);backdrop-filter:blur(8px);
    border:1px solid color-mix(in oklch, var(--lw-primary,#1f4e79) 14%, transparent);
    font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:var(--lw-primary-dark,#163b5c);
}
.lw-current-opps__meta-item{display:inline-flex;align-items:center;gap:8px;}
.lw-current-opps__meta-dot{
    width:8px;height:8px;border-radius:999px;background:var(--lw-primary,#1f4e79);
    box-shadow:0 0 0 3px color-mix(in oklch, var(--lw-primary,#1f4e79) 18%, transparent);
}
.lw-current-opps__meta-dot--brass{
    background:var(--lw-brass,#b98a3a);
    box-shadow:0 0 0 3px color-mix(in oklch, var(--lw-brass,#b98a3a) 22%, transparent);
}
.lw-current-opps__meta-divider{width:1px;height:14px;background:color-mix(in oklch, var(--lw-primary,#1f4e79) 20%, transparent);}

/* RIGHT column */
.lw-current-opps__right{position:relative;}
.lw-current-opps__card{
    position:relative;
    padding:40px;border-radius:24px;
    background:#fff;
    border:1px solid color-mix(in oklch, var(--lw-primary,#1f4e79) 14%, transparent);
    box-shadow:
        0 1px 0 rgba(255,255,255,.6) inset,
        0 30px 60px -30px rgba(31,78,121,.22);
}
.lw-current-opps__card::before{
    content:"";position:absolute;top:0;left:40px;right:40px;height:2px;
    background:linear-gradient(90deg,transparent,var(--lw-brass,#b98a3a),transparent);
    border-radius:2px;
}
.lw-current-opps__lede{
    margin:0;font-size:20px;line-height:1.55;color:var(--lw-ink,#26323f);font-weight:500;
}
.lw-current-opps__lede strong{color:var(--lw-primary,#1f4e79);font-weight:700;}
.lw-current-opps__divider{
    margin:28px 0;height:1px;
    background:linear-gradient(90deg,transparent,color-mix(in oklch, var(--lw-primary,#1f4e79) 22%, transparent),transparent);
}
.lw-current-opps__body{
    margin:0 0 20px;font-size:15px;line-height:1.7;color:var(--lw-text,#5b6a78);
}
.lw-current-opps__chips{
    list-style:none;padding:0;margin:0 0 36px;
    display:flex;flex-wrap:wrap;gap:10px;
}
.lw-chip{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 16px;border-radius:12px;
    background:color-mix(in oklch, var(--lw-paper,#f6f2e8) 90%, white);
    border:1px solid color-mix(in oklch, var(--lw-primary,#1f4e79) 12%, transparent);
    font-size:13px;font-weight:600;color:var(--lw-primary-dark,#163b5c);
    transition:transform .25s ease, border-color .25s ease, background .25s ease;
}
.lw-chip:hover{
    transform:translateY(-2px);
    border-color:color-mix(in oklch, var(--lw-brass,#b98a3a) 45%, transparent);
    background:#fff;
}
.lw-chip__mark{
    display:inline-flex;align-items:center;justify-content:center;
    width:18px;height:18px;border-radius:999px;
    background:var(--lw-brass,#b98a3a);color:#fff;
}

/* CTA */
.lw-current-opps__cta{
    display:inline-flex;align-items:center;gap:14px;
    padding:16px 24px 16px 28px;border-radius:4px;
    background:var(--lw-primary,#1f4e79);color:#fff;
    font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
    text-decoration:none;
    box-shadow:0 12px 28px -12px color-mix(in oklch, var(--lw-primary,#1f4e79) 60%, transparent);
    transition:transform .3s ease, background .3s ease, box-shadow .3s ease;
}
.lw-current-opps__cta:hover{
    background:var(--lw-primary-dark,#163b5c);
    transform:translateY(-2px);
    box-shadow:0 18px 36px -14px color-mix(in oklch, var(--lw-primary,#1f4e79) 70%, transparent);
}
.lw-current-opps__cta-arrow{
    display:inline-flex;align-items:center;justify-content:center;
    width:32px;height:32px;border-radius:999px;
    background:color-mix(in oklch, var(--lw-brass,#b98a3a) 100%, transparent);
    color:#fff;transition:transform .3s ease;
}
.lw-current-opps__cta:hover .lw-current-opps__cta-arrow{transform:translateX(4px);}

/* Floating pill */
.lw-current-opps__floating{
    position:absolute;right:-8px;top:-28px;
    display:inline-flex;align-items:center;gap:10px;
    padding:10px 18px;border-radius:999px;
    background:#fff;color:var(--lw-primary-dark,#163b5c);
    border:1px solid color-mix(in oklch, var(--lw-brass,#b98a3a) 35%, transparent);
    font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    box-shadow:0 16px 32px -14px rgba(31,78,121,.28);
}
.lw-current-opps__floating-dot{
    width:8px;height:8px;border-radius:999px;background:var(--lw-brass,#b98a3a);
    animation:lwOppsPulse 1.6s ease-in-out infinite;
}
@keyframes lwOppsPulse{
    0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 color-mix(in oklch, var(--lw-brass,#b98a3a) 45%, transparent);}
    50%{opacity:.6;transform:scale(1.25);box-shadow:0 0 0 8px transparent;}
}

/* Mobile */
@media (max-width:768px){
    .lw-current-opps{padding:72px 0 88px;}
    .lw-current-opps__card{padding:28px 24px;border-radius:20px;}
    .lw-current-opps__card::before{left:24px;right:24px;}
    .lw-current-opps__lede{font-size:17px;}
    .lw-current-opps__floating{position:static;margin-bottom:20px;order:-1;}
    .lw-current-opps__right{display:flex;flex-direction:column-reverse;gap:16px;}
    .lw-current-opps__cta{width:100%;justify-content:space-between;}
}


/* ============ Projects Premium Hero ============ */
.lw-projects-hero.lw-hero--premium{
	position:relative; overflow:hidden;
	background:#0C1622; color:#fff;
	padding:130px 0 110px;
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
		linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
	background-size:60px 60px;
}
.lw-projects-hero .lw-hero-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(100px);z-index:1;}
.lw-projects-hero .lw-hero-glow--1{top:-10%;right:5%;width:520px;height:520px;
	background:radial-gradient(circle,rgba(156,122,46,.22) 0%,rgba(156,122,46,0) 70%);
	animation:lwGlowMove1 20s infinite alternate ease-in-out;}
.lw-projects-hero .lw-hero-glow--2{bottom:-25%;left:-8%;width:640px;height:640px;
	background:radial-gradient(circle,rgba(31,78,121,.28) 0%,rgba(31,78,121,0) 70%);
	animation:lwGlowMove2 25s infinite alternate ease-in-out;}

.lw-projects-hero__grid{
	position:relative; z-index:2;
	display:grid; grid-template-columns:1fr 1.05fr; gap:5rem; align-items:center;
}

/* image */
.lw-projects-hero__image-wrapper{position:relative; z-index:10;}
.lw-projects-hero__image-frame{
	position:relative; padding:14px;
	border:1px solid rgba(156,122,46,.3);
	background:rgba(255,255,255,.05); backdrop-filter:blur(10px);
	transition:border-color .4s ease;
}
.lw-projects-hero__image-frame::before,
.lw-projects-hero__image-frame::after{
	content:""; position:absolute; width:36px; height:36px;
	border:2px solid #9C7A2E;
	transition:all .5s cubic-bezier(.16,1,.3,1);
}
.lw-projects-hero__image-frame::before{top:-5px;left:-5px;border-right:none;border-bottom:none;}
.lw-projects-hero__image-frame::after{bottom:-5px;right:-5px;border-left:none;border-top:none;}
.lw-projects-hero__image-wrapper:hover .lw-projects-hero__image-frame{border-color:rgba(156,122,46,.65);}
.lw-projects-hero__image-wrapper:hover .lw-projects-hero__image-frame::before{top:-12px;left:-12px;}
.lw-projects-hero__image-wrapper:hover .lw-projects-hero__image-frame::after{bottom:-12px;right:-12px;}
.lw-projects-hero__image{width:100%; height:500px; object-fit:cover; display:block;
	transition:transform .6s cubic-bezier(.16,1,.3,1);}
.lw-projects-hero__image-wrapper:hover .lw-projects-hero__image{transform:scale(1.03);}

/* stat card */
.lw-projects-hero__stat-card{
	position:absolute; bottom:-24px; right:-40px;
	display:flex; align-items:center; gap:1.3rem;
	padding:1.6rem 1.9rem;
	background:rgba(14,27,42,.85); backdrop-filter:blur(16px);
	border:1px solid rgba(156,122,46,.4); border-radius:12px;
	box-shadow:0 25px 50px rgba(0,0,0,.4);
	opacity:0; transform:translateY(20px);
	animation:lwFloatUp 1.2s cubic-bezier(.16,1,.3,1) .8s forwards;
	transition:all .4s ease;
}
.lw-projects-hero__stat-card:hover{transform:translateY(-6px);
	box-shadow:0 30px 60px rgba(156,122,46,.22);
	border-color:rgba(156,122,46,.8);}
.lw-projects-hero__stat-icon{width:54px;height:54px;border-radius:50%;
	background:rgba(156,122,46,.15); color:#9C7A2E;
	display:flex; align-items:center; justify-content:center;}
.lw-projects-hero__stat-icon svg{width:26px;height:26px;}
.lw-projects-hero__stat-text{display:flex; flex-direction:column;}
.lw-projects-hero__stat-val{font-size:1.4rem;font-weight:500;color:#fff;line-height:1;margin-bottom:.45rem;letter-spacing:-.01em;}
.lw-projects-hero__stat-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.55);}

/* content */
.lw-projects-hero__content .lw-eyebrow{display:inline-flex;align-items:center;gap:.9rem;
	font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#9C7A2E;}
.lw-projects-hero__content .lw-eyebrow__rule{display:inline-block;width:34px;height:1px;background:#9C7A2E;}
.lw-projects-hero__content h1{
	font-size:clamp(2.1rem,3.9vw,3rem); font-weight:500; letter-spacing:-.01em;
	line-height:1.18; color:#fff; margin:1.4rem 0 1.6rem;
}
.lw-projects-hero__content h1 em{font-style:italic; color:#9C7A2E;}
.lw-projects-hero__lede{font-size:1.1rem;line-height:1.85;color:rgba(255,255,255,.72);max-width:560px;}
.lw-projects-hero__sub{font-size:.95rem;line-height:1.8;color:rgba(255,255,255,.5);max-width:560px;margin-top:.75rem;}

/* animations (reuse team page keyframes if already declared) */
@keyframes lwGlowMove1{0%{transform:translate(0,0) scale(1);}100%{transform:translate(-10%,15%) scale(1.15);}}
@keyframes lwGlowMove2{0%{transform:translate(0,0) scale(1);}100%{transform:translate(15%,-10%) scale(1.1);}}
@keyframes lwFadeUp{to{opacity:1;transform:translateY(0);}}
@keyframes lwFloatUp{to{opacity:1;transform:translateY(0);}}
.lw-animate-fade-up{opacity:0;transform:translateY(35px);
	animation:lwFadeUp 1.2s cubic-bezier(.16,1,.3,1) forwards;
	animation-delay:var(--animation-delay,0s);}

@media (max-width:1024px){
	.lw-projects-hero__grid{grid-template-columns:1fr; gap:3.5rem;}
	.lw-projects-hero__stat-card{right:auto;left:14px;bottom:-24px;padding:1.3rem 1.5rem;}
	.lw-projects-hero__image{height:420px;}
}
@media (max-width:640px){
	.lw-projects-hero.lw-hero--premium{padding:90px 0 80px;}
	.lw-projects-hero__image{height:340px;}
	.lw-projects-hero__stat-card{gap:1rem;padding:1.1rem 1.25rem;}
	.lw-projects-hero__stat-val{font-size:1.15rem;}
}
