/*
 * Sumatidham Godha Estate Home — main stylesheet
 * All selectors are scoped under .sge-home to avoid leaking into the theme
 * or other Elementor widgets.
 */

.sge-home {
	--sge-primary: #122A4E;
	--sge-secondary: #3A4A63;
	--sge-gold: #C99A44;
	--sge-heading: #122A4E;
	--sge-body: #4A5568;
	--sge-muted: #8A93A3;
	--sge-card-bg: #FFFFFF;
	--sge-section-bg: #FFFFFF;
	--sge-border: #E7E9EE;
	--sge-border-width: 1px;
	--sge-border-style: solid;
	--sge-btn-bg: #C99A44;
	--sge-btn-text: #122A4E;
	--sge-hover-bg: #122A4E;
	--sge-hover-text: #FFFFFF;
	--sge-container: 1280px;
	--sge-section-padding: 80px;
	--sge-radius: 16px;
	--sge-card-gap: 24px;

	position: relative;
	overflow-x: hidden;
	background: var(--sge-section-bg);
	color: var(--sge-body);
	font-family: inherit;
	box-sizing: border-box;
}
.sge-home *, .sge-home *::before, .sge-home *::after { box-sizing: border-box; }
.sge-home img { max-width: 100%; height: auto; display: block; }
.sge-home a { text-decoration: none; color: inherit; }
.sge-home ul, .sge-home ol { list-style: none; margin: 0; padding: 0; }
.sge-home button { font-family: inherit; cursor: pointer; border: none; background: none; }

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

.sge-section { padding: var(--sge-section-padding) 0; background: var(--sge-section-bg); }

.sge-heading { color: var(--sge-heading); font-weight: 700; line-height: 1.2; margin: 8px 0 16px; font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; }
.sge-heading-light { color: #fff; }
.sge-body-text { color: var(--sge-body); line-height: 1.6; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.sge-text-light { color: rgba(255,255,255,0.85); }

.sge-eyebrow {
	display: inline-block;
	color: var(--sge-gold);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 12px;
	margin-bottom: 4px;
}
.sge-eyebrow-light { color: var(--sge-gold); }

.sge-link-arrow { color: var(--sge-primary); font-weight: 600; display: inline-flex; align-items: center; gap: 8px; transition: gap .2s ease, color .2s ease; }
.sge-link-arrow:hover { gap: 12px; color: var(--sge-gold); }

/* Buttons */
.sge-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-weight: 600;
	font-family: 'Inter', sans-serif;
	border-radius: 8px;
	padding: 14px 28px;
	transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
	white-space: nowrap;
	border: 2px solid transparent;
}
.sge-btn-primary { background: var(--sge-btn-bg); color: var(--sge-btn-text); }
.sge-btn-secondary { background: transparent; color: var(--sge-primary); border: 2px solid var(--sge-border); }
.sge-btn-dark { background: var(--sge-primary); color: #fff; }
.sge-btn-lift-yes .sge-btn-primary:hover,
.sge-btn-lift-yes .sge-btn-secondary:hover,
.sge-btn-lift-yes .sge-btn-dark:hover { transform: translateY(-2px); }

/* Enquire button — independent styling from other buttons */
.sge-enquire-btn { background: var(--sge-gold); color: var(--sge-primary); transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.sge-enquire-hover-lift .sge-enquire-btn:hover { transform: translateY(-3px); }
.sge-enquire-hover-scale .sge-enquire-btn:hover { transform: scale(1.06); }
.sge-enquire-hover-push .sge-enquire-btn i { transition: transform .25s ease; }
.sge-enquire-hover-push .sge-enquire-btn:hover i { transform: translateX(4px); }
.sge-enquire-hover-none .sge-enquire-btn:hover { transform: none; }

/* Cards */
.sge-card {
	background: var(--sge-card-bg);
	border-radius: var(--sge-radius);
	overflow: hidden;
	transition: transform .3s ease, box-shadow .3s ease;
	display: block;
}
.sge-card-hover-lift .sge-card:hover,
.sge-card-hover-lift-zoom .sge-card:hover { transform: translateY(-6px); }
.sge-card-hover-scale .sge-card:hover { transform: scale(1.02); }
.sge-card-hover-lift-zoom .sge-cat-card-media img { transition: transform .5s ease; }
.sge-card-hover-lift-zoom .sge-card:hover .sge-cat-card-media img { transform: scale(1.08); }

/* Shadow intensity */
.sge-shadow-none .sge-card { box-shadow: none; }
.sge-shadow-soft .sge-card { box-shadow: 0 10px 30px rgba(18,42,78,0.06); }
.sge-shadow-medium .sge-card { box-shadow: 0 16px 40px rgba(18,42,78,0.10); }
.sge-shadow-strong .sge-card { box-shadow: 0 24px 60px rgba(18,42,78,0.18); }

/* ==================================================================
 * HEADER
 * ================================================================== */
.sge-header { position: relative; z-index: 100; background-color: #fff; }
.sge-header-sticky { position: sticky; top: 0; }
.sge-header-overlap { position: relative; z-index: 20; background-color: transparent; }
.sge-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 16px 24px;
}
.sge-logo { display: flex; align-items: center; gap: 10px; }
.sge-logo-img { width: 48px; height: auto; }
.sge-logo-fallback { font-size: 28px; }
.sge-logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.sge-logo-text strong { color: var(--sge-primary); font-size: 16px; letter-spacing: .04em; }
.sge-logo-text small { color: var(--sge-gold); font-size: 10px; letter-spacing: .18em; }
.sge-logo-2 { flex-shrink: 0; }
.sge-logo-img-2 { width: 44px; height: auto; }
.sge-logo-divider { display: inline-block; width: 1px; height: 32px; background: var(--sge-border); margin: 0 16px; flex-shrink: 0; }

.sge-nav-wrap { flex: 1; display: flex; justify-content: center; }
.sge-nav { display: flex; align-items: center; gap: 28px; }
.sge-nav-item { position: relative; }
.sge-nav-item > a { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; color: var(--sge-primary); padding: 8px 0; font-family: 'Inter', sans-serif; }
.sge-caret { width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -4px; }
.sge-dropdown {
	position: absolute; top: 100%; left: 0; min-width: 200px;
	background: #fff; border-radius: 10px; box-shadow: 0 16px 40px rgba(18,42,78,0.14);
	padding: 8px; opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: all .2s ease;
}
.sge-nav-item.has-dropdown:hover .sge-dropdown,
.sge-nav-item.has-dropdown:focus-within .sge-dropdown,
.sge-nav-item.has-dropdown.is-focused .sge-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.sge-dropdown li a { display: block; padding: 8px 12px; border-radius: 6px; color: var(--sge-body); }
.sge-dropdown li a:hover { background: #f5f6f9; color: var(--sge-primary); }

.sge-header-actions { display: flex; align-items: center; gap: 14px; }
.sge-phone {
	width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	border: var(--sge-border-width) var(--sge-border-style) var(--sge-border); color: var(--sge-primary);
}
.sge-hamburger { display: none; flex-direction: column; gap: 5px; width: 28px; justify-content: center; transition: background-color .2s ease, border-color .2s ease; }
.sge-hamburger span { display: block; height: 2px; background-color: #122A4E; border-radius: 2px; transition: transform .25s ease, opacity .25s ease; }
.sge-hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sge-hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.sge-hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.sge-mobile-nav { display: none; }

/* ==================================================================
 * HERO — full-bleed background (image or video) with left fade
 * ================================================================== */
.sge-hero {
	--sge-hero-fade-color: #ffffff;
	--sge-hero-fade-width: 55%;
	position: relative;
	overflow: hidden;
	min-height: 560px;
	display: flex;
	align-items: center;
	padding: 56px 0;
}
.sge-hero-bg { position: absolute; inset: 0; z-index: 0; background: #e9ebef; }
.sge-hero .sge-hero-bg-img,
.sge-hero .sge-hero-video {
	position: absolute !important;
	inset: 0;
	top: 0; left: 0; right: 0; bottom: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	margin: 0;
}
.sge-hero picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.sge-hero-bg .sge-hide-on-mobile { display: block; }
.sge-hero-bg .sge-show-on-mobile { display: none; }

.sge-hero-yt { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.sge-hero-yt iframe {
	position: absolute; top: 50%; left: 50%;
	width: 177.7777vh; height: 56.25vw;
	min-width: 100%; min-height: 100%;
	transform: translate(-50%, -50%);
}

.sge-hero-overlay { position: absolute; inset: 0; z-index: 1; background-color: transparent; pointer-events: none; }
.sge-hero-fade {
	position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(to right, var(--sge-hero-fade-color) 0%, var(--sge-hero-fade-color) var(--sge-hero-fade-width), transparent 100%);
}

.sge-hero-inner { position: relative; z-index: 2; width: 100%; }
.sge-hero-content { max-width: 560px; }
.sge-hero-heading { font-size: 48px; margin: 0 0 16px; }
.sge-hero-highlight { color: var(--sge-gold); }
.sge-hero-subheading { display: inline-block; margin-bottom: 12px; }

.sge-trust-features { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 28px; }
.sge-trust-item, .sge-trust-features li > div, .sge-trust-features li > a { display: flex; align-items: center; gap: 10px; }
.sge-trust-features strong { display: block; font-size: 13px; color: var(--sge-primary); }
.sge-trust-features small { display: block; font-size: 11px; color: var(--sge-muted); }
.sge-icon-wrap { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; color: var(--sge-gold); flex-shrink: 0; }
.sge-icon-wrap i { font-size: 18px; }

.sge-hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; }

/* ==================================================================
 * STATS BAR
 * ================================================================== */
.sge-stats-section { padding: 0; margin-top: -60px; position: relative; z-index: 5; }
.sge-stats-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
	background: #fff;
	border-radius: var(--sge-radius);
	box-shadow: 0 20px 50px rgba(18,42,78,0.10);
	padding: 28px 32px;
}
.sge-stats-bar li { flex: 1; min-width: 140px; position: relative; }
.sge-stats-divider-yes .sge-stats-bar li:not(:first-child)::before {
	content: '';
	position: absolute;
	left: calc(-1 * var(--sge-stats-item-gap, 16px) / 2);
	top: 50%;
	transform: translate(-50%, -50%);
	width: var(--sge-stats-divider-width, 1px);
	height: var(--sge-stats-divider-height, 70%);
	background: var(--sge-stats-divider-color, rgba(18, 42, 78, 0.1));
}
.sge-stat-item { display: flex; align-items: center; gap: 12px; }
.sge-stat-number { display: block; font-size: 22px; font-weight: 700; color: #122A4E; }
.sge-stat-label { display: block; font-size: 12px; color: #8A93A3; }
.sge-stats-stats2 .sge-stats-bar { box-shadow: none; background: transparent; border: var(--sge-border-width) var(--sge-border-style) var(--sge-border); }

/* ==================================================================
 * PROPERTY CATEGORIES
 * ================================================================== */
.sge-section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 32px; max-width: 100%; }
.sge-section-head-text { min-width: 0 !important; max-width: 100%; flex: 1 1 auto; }
.sge-section-head-text .sge-heading,
.sge-section-head-text .sge-body-text,
.sge-section-head-text .sge-cat-subheading { overflow-wrap: break-word !important; word-break: break-word !important; max-width: 100%; }
.sge-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sge-card-gap); }
.sge-cat-mobile-only { display: none; }
.sge-cat-card-media { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.sge-cat-card-media img { width: 100%; height: 100%; object-fit: cover; }
.sge-cat-icon-badge {
	position: absolute; bottom: 12px; left: 12px; z-index: 2;
	width: 40px; height: 40px; border-radius: 50%;
	background: rgba(18, 42, 78, 0.88);
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.sge-cat-icon-badge .sge-icon-wrap { width: auto; height: auto; background: transparent; border-radius: 0; }
.sge-cat-icon-badge .sge-icon-wrap i { color: #fff; font-size: 16px; }
.sge-cat-icon-badge .sge-icon-wrap img { width: 18px; height: 18px; object-fit: contain; filter: brightness(0) invert(1); }
.sge-badge { position: absolute; top: 12px; right: 12px; background: var(--sge-gold); color: #fff; font-size: 11px; padding: 4px 10px; border-radius: 20px; font-weight: 700; }
.sge-cat-card-body { padding: 16px 18px 20px; }
.sge-cat-card-body h3 { margin: 0 0 4px; color: var(--sge-primary); font-size: 17px; }
.sge-cat-card-body p { margin: 0; color: var(--sge-muted); font-size: 13px; line-height: 1.5; }
.sge-card-cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; color: var(--sge-gold); font-weight: 600; font-size: 13px; }
.sge-cat-card.sge-match { outline: 2px solid var(--sge-gold); }
.sge-cat-card.sge-dimmed { opacity: .35; }

/* Left content / right auto-scrolling cards layout */
.sge-cat-side-grid { display: grid; grid-template-columns: 340px 1fr; gap: 40px; align-items: center; }
.sge-cat-side-content .sge-heading { margin-bottom: 10px; }
.sge-cat-subheading { color: var(--sge-gold); font-weight: 600; font-size: 15px; margin: 0 0 10px; }
.sge-cat-side-content .sge-body-text { margin-bottom: 24px; }
.sge-cat-scroll-wrap { overflow: hidden; position: relative; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); cursor: grab; }
.sge-cat-scroll-wrap.sge-dragging { cursor: grabbing; }
.sge-cat-scroll-track { display: flex; gap: var(--sge-card-gap); width: max-content; will-change: transform; }
.sge-cat-scroll-track .sge-cat-card { flex: 0 0 260px; width: 260px; user-select: none; }
.sge-cat-scroll-track .sge-cat-card img { -webkit-user-drag: none; }
.sge-cat-scroll-outer { position: relative; }
.sge-cat-arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border-radius: 50%;
	background: #fff; border: 1px solid var(--sge-border);
	display: flex; align-items: center; justify-content: center;
	color: var(--sge-primary); box-shadow: 0 8px 20px rgba(18,42,78,0.12);
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
	z-index: 3;
}
.sge-cat-arrow:hover { background: var(--sge-primary); color: #fff; }
.sge-cat-arrow-prev { left: -8px; }
.sge-cat-arrow-next { right: -8px; }

/* ==================================================================
 * GROWTH / LOCATIONS — 4 columns in one row: Text | Map | Text | Image
 * ================================================================== */
.sge-growth-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1.3fr;
	gap: 0;
	align-items: stretch;
	max-width: var(--sge-container); margin: 0 auto; box-sizing: border-box;
	background: #fff;
}
.sge-growth-fullwidth-yes .sge-growth-grid { max-width: none; }

.sge-growth-col { padding: 48px 32px; display: flex; flex-direction: column; justify-content: center; }
.sge-growth-cta1-width-full .sge-growth-cta1 { align-self: stretch; width: 100%; text-align: center; }
.sge-growth-cta1-width-auto .sge-growth-cta1 { align-self: flex-start; width: auto; }
.sge-growth-col-text1 { background: #F8F9FB; }
.sge-growth-subheading { font-size: 15px; font-weight: 600; color: #C99A44; margin: -8px 0 12px; }
.sge-growth-col-map { padding: 24px; background: #F8F9FB; }
.sge-growth-col-text2 { background: #fff; }

.sge-map-wrap {
	position: relative; border-radius: 12px; overflow: hidden;
	background: #EEF1F6; background-size: cover; background-position: center;
	min-height: 260px; height: 100%;
}
.sge-map-wrap-dotted {
	background-image: radial-gradient(rgba(18, 42, 78, 0.16) 1.4px, transparent 1.4px);
	background-size: 16px 16px;
	background-position: 0 0;
}
.sge-map-center {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	background: #fff; border: 1px solid var(--sge-border); border-radius: 20px;
	padding: 6px 16px; font-weight: 700; font-size: 12px; letter-spacing: .04em;
	color: var(--sge-primary); box-shadow: 0 6px 16px rgba(18,42,78,0.12);
	z-index: 2; white-space: nowrap;
}
.sge-map-marker {
	position: absolute; transform: translate(-50%, -50%);
	display: flex; align-items: center; gap: 6px;
	cursor: pointer; z-index: 1; white-space: nowrap;
}
.sge-map-pin {
	width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
	background: var(--sge-gold); box-shadow: 0 0 0 4px rgba(201,154,68,0.18);
}
.sge-map-marker-text { display: flex; flex-direction: column; line-height: 1.25; }
.sge-map-marker-text strong { font-size: 12px; color: var(--sge-primary); font-weight: 700; }
.sge-map-marker-text small { font-size: 10px; color: var(--sge-muted); }
.sge-map-marker:hover .sge-map-pin { box-shadow: 0 0 0 6px rgba(201,154,68,0.28); }

.sge-feature-list { margin: 16px 0 20px; display: flex; flex-direction: column; gap: 10px; }
.sge-feature-list li { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.sge-feature-list .sge-icon-wrap { width: 22px; height: 22px; background: #F1EBDD; color: var(--sge-gold); }

.sge-growth-col-image { position: relative; padding: 0; overflow: hidden; min-height: 320px; }
.sge-growth-col-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sge-growth-image-fade {
	--sge-growth-fade-color: #ffffff;
	--sge-growth-fade-width: 55%;
	position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(to right, var(--sge-growth-fade-color) 0%, var(--sge-growth-fade-color) 12%, transparent var(--sge-growth-fade-width));
}


/* ==================================================================
 * PROJECT SPOTLIGHT
 * ================================================================== */
.sge-spotlight-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.sge-spot-image-left .sge-spotlight-grid { direction: rtl; }
.sge-spot-image-left .sge-spotlight-content { direction: ltr; }
.sge-spot-location { display: flex; align-items: center; gap: 8px; color: var(--sge-gold); font-weight: 600; font-size: 14px; margin: 0 0 12px; }
.sge-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0 28px; }
.sge-feature-grid li a, .sge-feature-grid li span { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--sge-body); }
.sge-feature-grid .sge-icon-wrap { width: 22px; height: 22px; background: #F1EBDD; color: var(--sge-gold); }
.sge-spot-price-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 20px; border-top: var(--sge-border-width) var(--sge-border-style) var(--sge-border); }
.sge-spot-price small { display: block; color: var(--sge-muted); font-size: 12px; }
.sge-spot-price strong { display: block; color: var(--sge-gold); font-size: 24px; }
.sge-spotlight-image img { border-radius: var(--sge-radius); width: 100%; }

/* ==================================================================
 * PROPERTY FINDER
 * ================================================================== */
.sge-finder { background: #F8F9FB; }
.sge-finder-fullwidth-yes .sge-finder .sge-container { max-width: none; }
.sge-finder-bar {
	--sge-finder-intro-width: 200px;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 24px;
	background: #fff; padding: 28px 32px; border-radius: var(--sge-radius);
	box-shadow: 0 10px 30px rgba(18,42,78,0.05);
}
.sge-finder-intro { flex: 0 0 var(--sge-finder-intro-width); }
.sge-finder-intro-heading { margin: 6px 0 0; font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 16px; line-height: 1.35; color: var(--sge-primary); }

.sge-finder-group { flex: 1 1 0; min-width: 0; }
.sge-finder-submit-btn { flex: 0 0 auto; }

.sge-finder-group label { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--sge-muted); margin-bottom: 12px; }
.sge-finder-options { display: flex; flex-wrap: wrap; gap: 8px; }

/* Plain pills — Budget & Location */
.sge-finder-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 10px 16px; border: 1px solid var(--sge-border); border-radius: 8px;
	font-size: 13px; font-weight: 500; color: var(--sge-body); background: #fff;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease; white-space: nowrap;
}
.sge-finder-pill.is-active, .sge-finder-pill:hover { background: #FBF3E3; color: var(--sge-primary); border-color: var(--sge-gold); }

/* Icon boxes — Looking For */
.sge-finder-options-icon { gap: 8px; flex-wrap: wrap; }
button.sge-finder-pill.sge-finder-pill-icon {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 6px; width: 68px; height: 68px; padding: 6px; border-radius: 12px;
	text-align: center; white-space: normal;
}
.sge-finder-pill-icon .sge-icon-wrap { width: auto; height: auto; background: none; display: block; }
.sge-finder-pill-icon .sge-icon-wrap i { font-size: 20px; color: var(--sge-primary); }
.sge-finder-pill-icon .sge-icon-wrap img { width: 22px; height: 22px; object-fit: contain; }
.sge-finder-pill-icon span { display: block; font-size: 11px; line-height: 1.2; max-width: 100%; overflow-wrap: break-word; }
.sge-finder-pill-icon.is-active .sge-icon-wrap i,
.sge-finder-pill-icon:hover .sge-icon-wrap i { color: var(--sge-gold); }

.sge-finder-submit-btn {
	white-space: nowrap; flex-shrink: 0;
	background: var(--sge-primary); color: #fff; border: 2px solid var(--sge-primary);
}
.sge-finder-submit-btn:hover { background: var(--sge-gold); border-color: var(--sge-gold); color: var(--sge-primary); }

.sge-finder-results { margin-top: 20px; }
.sge-finder-empty { background: #fff; border: 1px dashed var(--sge-border); padding: 16px; border-radius: 10px; text-align: center; color: var(--sge-muted); }

/* ==================================================================
 * TIMELINE
 * ================================================================== */
.sge-timeline { display: flex; justify-content: space-between; gap: 12px; margin-top: 40px; position: relative; }
.sge-timeline::before { content: ''; position: absolute; top: 10px; left: 0; right: 0; height: 2px; background: var(--sge-border); }
.sge-timeline-item { flex: 1; position: relative; text-align: center; }
.sge-timeline-node { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.sge-timeline-dot { position: relative; z-index: 2; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 3px solid var(--sge-gold); display: inline-flex; align-items: center; justify-content: center; }
.sge-timeline-dot i { font-size: 9px; color: var(--sge-gold); }
.sge-timeline-year { font-weight: 700; color: var(--sge-primary); font-size: 14px; }
.sge-timeline-title { font-size: 13px; font-weight: 600; color: var(--sge-body); }
.sge-timeline-desc { font-size: 12px; color: var(--sge-muted); max-width: 160px; }

/* ==================================================================
 * COMMITMENT
 * ================================================================== */
.sge-commitment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.sge-commitment-card { background: #F8F1E1; border-radius: var(--sge-radius); padding: 32px; position: relative; }
.sge-commitment-card p { font-size: 15px; color: var(--sge-primary); font-style: italic; margin: 0 0 16px; }
.sge-commitment-card footer { display: flex; align-items: center; gap: 8px; }
.sge-commitment-card footer strong { display: block; color: var(--sge-primary); font-size: 13px; }
.sge-signature { max-height: 24px; opacity: .8; }

/* ==================================================================
 * BEFORE / AFTER
 * ================================================================== */
.sge-ba-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 28px; flex-wrap: wrap; }
.sge-ba-slider { position: relative; aspect-ratio: 16/7; border-radius: var(--sge-radius); overflow: hidden; user-select: none; }
.sge-ba-after, .sge-ba-before { position: absolute; inset: 0; }
.sge-ba-after img, .sge-ba-before img { width: 100%; height: 100%; object-fit: cover; }
.sge-ba-before { clip-path: inset(0 calc(100% - var(--sge-ba-pos, 50%)) 0 0); }
.sge-ba-label { position: absolute; top: 16px; padding: 6px 14px; border-radius: 20px; background: rgba(18,42,78,0.85); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.sge-ba-label-after { right: 16px; }
.sge-ba-label-before { left: 16px; }
.sge-ba-handle { position: absolute; top: 0; bottom: 0; left: var(--sge-ba-pos, 50%); width: 0; display: flex; align-items: center; justify-content: center; cursor: ew-resize; touch-action: none; }
.sge-ba-handle::before { content: ''; position: absolute; top: 0; bottom: 0; left: -1px; width: 2px; background: #fff; }
.sge-ba-handle-grip { width: 40px; height: 40px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; color: var(--sge-primary); box-shadow: 0 6px 20px rgba(0,0,0,.25); }

/* ==================================================================
 * INVESTMENT CALCULATOR
 * ================================================================== */
.sge-calculator { background: #F8F9FB; }
.sge-calc-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; margin-top: 28px; }
.sge-calc-inputs { background: #fff; border-radius: var(--sge-radius); padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.sge-calc-inputs label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--sge-muted); display: flex; flex-direction: column; gap: 8px; }
.sge-calc-input-wrap { display: flex; align-items: center; border: var(--sge-border-width) var(--sge-border-style) var(--sge-border); border-radius: 8px; overflow: hidden; }
.sge-calc-input-wrap span { padding: 12px; background: #F1F2F5; color: var(--sge-primary); font-weight: 700; }
.sge-calc-inputs input, .sge-calc-inputs select { border: none; padding: 12px; font-size: 15px; width: 100%; color: var(--sge-primary); font-weight: 600; }
.sge-calc-inputs select { border: var(--sge-border-width) var(--sge-border-style) var(--sge-border); border-radius: 8px; }
.sge-calc-output { background: #fff; border-radius: var(--sge-radius); padding: 28px; display: flex; flex-direction: column; gap: 20px; }
.sge-calc-graph-title { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--sge-muted); margin: 0; }
.sge-calc-graph { display: flex; align-items: flex-end; gap: 24px; height: 160px; padding-top: 20px; border-bottom: var(--sge-border-width) var(--sge-border-style) var(--sge-border); }
.sge-calc-bar-col { display: flex; flex-direction: column; align-items: center; gap: 8px; justify-content: flex-end; flex: 1; height: 100%; }
.sge-calc-bar-val { font-size: 12px; font-weight: 700; color: var(--sge-primary); }
.sge-calc-bar { width: 36px; background: linear-gradient(180deg, var(--sge-gold), #E4C583); border-radius: 6px 6px 0 0; transition: height .5s ease; }
.sge-calc-bar-label { font-size: 11px; color: var(--sge-muted); }
.sge-calc-result { border-top: var(--sge-border-width) var(--sge-border-style) var(--sge-border); padding-top: 16px; }
.sge-calc-result small { display: block; color: var(--sge-muted); font-size: 12px; }
.sge-calc-result strong { display: block; font-size: 30px; color: var(--sge-gold); margin: 4px 0; }
.sge-calc-disclaimer { font-size: 11px; color: var(--sge-muted); }

/* ==================================================================
 * AMENITIES (v2 — split layout: blob-shaped image left, icon grid right)
 * ================================================================== */
.sge-amenities { position: relative; background-color: #FAF6ED; }
.sge-amenities-grid-outer { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 48px; align-items: center; }

.sge-amenities-side {
	position: relative; min-height: 480px;
	border: 2px solid var(--sge-gold, #C99A44);
	border-top-right-radius: 260px;
	border-bottom-right-radius: 260px;
	overflow: hidden;
}
.sge-amenities-side-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sge-amenities-side-overlay-text { position: absolute; top: 36px; left: 32px; z-index: 2; max-width: 60%; }
.sge-amenities-script {
	font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 500;
	font-size: 32px; line-height: 1.25; color: #122A4E; margin: 0 0 8px;
	text-shadow: 0 2px 12px rgba(255,255,255,0.5);
}
.sge-amenities-subtext { display: block; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #4A5568; }
.sge-amenities-subtext-underline { display: block; width: 36px; height: 2px; background: var(--sge-gold, #C99A44); margin-top: 10px; }

.sge-amenities-content { display: flex; flex-direction: column; align-items: center; text-align: center; }
.sge-amenities-head { max-width: 560px; }
.sge-amenities-heading { margin: 10px 0 14px; }
.sge-amenities-heading-highlight { color: var(--sge-gold, #C99A44); }
.sge-amenities-desc { max-width: 480px; margin: 0 auto; }

.sge-amenities-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px 16px; margin: 36px 0 28px; width: 100%; }
.sge-amenity-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; }
.sge-amenity-card .sge-icon-wrap {
	width: 76px; height: 76px; border-radius: 50%;
	border: 1px solid rgba(18,42,78,0.15); background: transparent;
	color: #122A4E; transition: transform .2s ease, border-color .2s ease;
}
.sge-amenity-card:hover .sge-icon-wrap { transform: translateY(-3px); border-color: var(--sge-gold, #C99A44); }
.sge-amenity-card strong { font-size: 13px; font-weight: 600; color: #122A4E; line-height: 1.4; }
.sge-amenity-underline { display: block; width: 24px; height: 1px; background: rgba(201,154,68,0.6); margin-top: 2px; }

.sge-amenities-tagline { margin-top: 8px; }

/* ==================================================================
 * VIRTUAL TOUR
 * ================================================================== */
.sge-tour { padding: 0; }
.sge-tour-inner { position: relative; min-height: 420px; border-radius: var(--sge-radius); overflow: hidden; background-size: cover; background-position: center; display: flex; align-items: center; margin: var(--sge-section-padding) auto; }
.sge-tour-overlay { position: absolute; inset: 0; background: rgba(18,42,78,.55); }
.sge-tour-content { position: relative; padding: 48px; text-align: center; width: 100%; }
.sge-tour-content .sge-heading { max-width: 560px; margin-left: auto; margin-right: auto; }

/* Split layout: 360° tour (left) / message from owner (right) */
.sge-tour-split { padding: var(--sge-section-padding) 0; }
.sge-tour-split-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: stretch; }
.sge-tour-left, .sge-tour-right { min-width: 0; }

.sge-tour-left {
	position: relative; border-radius: var(--sge-radius); overflow: hidden;
	background-size: cover; background-position: center; background-color: #0D1F3B;
	min-height: 380px; display: flex; flex-direction: column; justify-content: flex-end;
	padding: 32px;
}
.sge-tour-left-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,31,59,.25), rgba(13,31,59,.85)); }
.sge-tour-left-content { position: relative; z-index: 2; max-width: 420px; }
.sge-tour-left-content .sge-heading { margin: 6px 0 10px; font-size: 26px; }
.sge-tour-left-content .sge-body-text { margin-bottom: 20px; font-size: 14px; }
.sge-tour-btn { position: relative; z-index: 2; }

.sge-tour-360-badge {
	position: absolute; top: 50%; right: 15%; transform: translate(50%, -50%);
	z-index: 2; width: 96px; height: 96px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}
.sge-tour-360-ring {
	width: 100%; height: 100%; border-radius: 50%;
	border: 2px solid rgba(255,255,255,.6);
	background: rgba(18,42,78,.55);
	display: flex; align-items: center; justify-content: center;
	transition: transform .3s ease, background-color .3s ease;
}
.sge-tour-360-badge:hover .sge-tour-360-ring { transform: scale(1.08); background: rgba(201,154,68,.85); }
.sge-tour-360-label { color: #fff; font-weight: 700; font-size: 15px; letter-spacing: .04em; }

.sge-tour-controls {
	position: absolute; bottom: 24px; right: 24px; z-index: 2;
	display: flex; gap: 8px; background: rgba(255,255,255,.12);
	padding: 6px; border-radius: 30px; backdrop-filter: blur(4px);
}
.sge-tour-ctrl {
	width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.15);
	color: #fff; display: flex; align-items: center; justify-content: center;
	font-size: 11px; transition: background-color .2s ease;
}
.sge-tour-ctrl:hover { background: var(--sge-gold); color: var(--sge-primary); }

.sge-tour-right { display: flex; flex-direction: column; justify-content: center; padding: 12px 8px; }
.sge-tour-testi-head { margin-bottom: 16px; }
.sge-tour-testi-heading { margin: 6px 0 0; font-size: 20px; }
.sge-tour-testi-slider .sge-testi-slide { padding: 24px; }
.sge-tour-testi-slider .sge-testi-quote-mark { font-size: 40px; }
.sge-tour-testi-slider .sge-testi-slide > p { font-size: 14px; }
.sge-tour-testi-outer .sge-testi-arrow { width: 32px; height: 32px; }

.sge-tour-modal { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,0.85); display: flex; align-items: center; justify-content: center; padding: 24px; }
.sge-tour-modal[hidden] { display: none; }
.sge-tour-modal-inner { position: relative; width: 100%; max-width: 1100px; aspect-ratio: 16/9; background: #000; border-radius: 12px; overflow: hidden; }
.sge-tour-modal-inner iframe { width: 100%; height: 100%; border: 0; }
.sge-tour-modal-close { position: absolute; top: -44px; right: 0; color: #fff; font-size: 30px; line-height: 1; }

/* ==================================================================
 * TESTIMONIALS
 * ================================================================== */
.sge-testi-head { text-align: center; max-width: 640px; margin: 0 auto 40px; }
.sge-eyebrow-lined { display: inline-flex; align-items: center; gap: 14px; }
.sge-eyebrow-lined::before, .sge-eyebrow-lined::after { content: ''; width: 32px; height: 1px; background: var(--sge-gold); }
.sge-testi-heading { margin-top: 10px; }
.sge-testi-heading-highlight { color: var(--sge-gold); }
.sge-testi-desc { margin-top: 12px; }

.sge-testi-slider-outer, .sge-tour-testi-outer { position: relative; max-width: 720px; margin: 0 auto; padding: 0 56px; box-sizing: border-box; }
.sge-tour-testi-outer { max-width: none; margin: 0; padding: 0 40px; }
.sge-testi-slider { position: relative; overflow: hidden; }
.sge-testi-track {
	display: flex;
	transition: transform .5s cubic-bezier(.4,0,.2,1);
	will-change: transform;
}
.sge-testi-slide {
	flex: 0 0 100%; width: 100%; box-sizing: border-box;
	background: #fff; border: var(--sge-border-width) var(--sge-border-style) var(--sge-border);
	border-radius: var(--sge-radius); padding: 36px; box-shadow: 0 10px 30px rgba(18,42,78,0.05);
	position: relative; background-size: cover; background-position: center;
}
.sge-testi-slide-bg-overlay { position: absolute; inset: 0; background: rgba(255,255,255,0.88); border-radius: inherit; z-index: 0; }
.sge-testi-slide > *:not(.sge-testi-slide-bg-overlay) { position: relative; z-index: 1; }
.sge-testi-quote-mark {
	display: block; font-family: Georgia, serif; font-size: 48px; line-height: 0.4;
	color: var(--sge-gold); margin: 0 0 var(--sge-testi-quote-gap, 16px);
}
.sge-testi-slide > p { color: var(--sge-body); font-size: 15px; line-height: 1.7; margin: 0 0 var(--sge-testi-message-gap, 16px); }
.sge-testi-rating { color: var(--sge-gold); margin-bottom: var(--sge-testi-rating-gap, 16px); font-size: 13px; }
.sge-testi-person { display: flex; align-items: center; gap: 12px; }
.sge-testi-person img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.sge-testi-person strong { display: block; font-size: 14px; color: var(--sge-primary); }
.sge-testi-person small { display: block; font-size: 12px; color: var(--sge-muted); }
.sge-testi-person small i { color: var(--sge-gold); margin-right: 4px; font-size: 10px; }
.sge-testi-person em { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--sge-muted); font-style: normal; margin-top: 2px; }

/* Arrows: round, fixed position just inside the section (never overflow it) */
.sge-testi-arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
	background: #fff; border: var(--sge-border-width) var(--sge-border-style) var(--sge-border);
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 16px rgba(18,42,78,.08); cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.sge-testi-arrow:hover { background: var(--sge-primary); color: #fff; border-color: var(--sge-primary); }
.sge-testi-prev { left: 0; }
.sge-testi-next { right: 0; }

.sge-testi-dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
.sge-testi-dots button { width: 8px; height: 8px; border-radius: 50%; background: var(--sge-border); }
.sge-testi-dots button.is-active { background: var(--sge-gold); width: 22px; border-radius: 4px; }

/* ==================================================================
 * FOOTER
 * ================================================================== */
.sge-footer {
	--sge-footer-divider-color: rgba(255,255,255,0.12);
	--sge-footer-divider-width: 1px;
	background: #0D1F3B; color: #C7CEDA; padding: 64px 0 0;
}
.sge-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; }
.sge-footer-divider-yes .sge-footer-grid > * { padding-left: 24px; }
.sge-footer-divider-yes .sge-footer-grid > *:first-child { padding-left: 0; }
.sge-footer-divider-yes .sge-footer-grid > *:not(:first-child) {
	border-left: var(--sge-footer-divider-width) solid var(--sge-footer-divider-color);
}
.sge-footer-logo { margin-bottom: 14px; }
.sge-footer-logo .sge-logo-text strong { color: #fff; }
.sge-footer-about p { font-size: 13px; line-height: 1.7; }
.sge-footer-social { display: flex; gap: 10px; margin-top: 16px; }
.sge-footer-social a {
	width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.15);
	display: flex; align-items: center; justify-content: center;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.sge-footer h4 { color: #fff; font-size: 14px; margin: 0 0 16px; }
.sge-footer-col ul { display: flex; flex-direction: column; gap: 10px; }
.sge-footer-col a { font-size: 13px; color: #C7CEDA; transition: color .2s ease; }
.sge-footer-contact li { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; }
.sge-footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding: 20px 24px; text-align: center; font-size: 12px; }
.sge-footer-bottom p a { text-decoration: underline; text-underline-offset: 2px; transition: color .2s ease; }

/* ==================================================================
 * SUBTLE SCROLL-REVEAL (premium, not flashy)
 * ================================================================== */
.sge-card, .sge-timeline-item, .sge-amenity-card {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .6s ease, transform .6s ease;
}
.sge-card.sge-in-view, .sge-timeline-item.sge-in-view,
.sge-amenity-card.sge-in-view {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.sge-card, .sge-timeline-item, .sge-amenity-card { opacity: 1; transform: none; }
}

/* ==================================================================
 * FOUNDER SECTION ("Sumatidham Godha Estate - Founder section")
 * ================================================================== */
.sge-founder { position: relative; background-color: #FAF6ED; overflow: hidden; }
.sge-founder__overlay { position: absolute; inset: 0; z-index: 0; }
.sge-founder__inner { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 80px 24px; box-sizing: border-box; }
.sge-founder__grid { display: grid; grid-template-columns: 45% 1fr; gap: 80px; align-items: center; }

.sge-founder__profiles { position: relative; }
.sge-founder__profile {
	display: block; border-radius: 16px; overflow: hidden; background: #FBF7EF;
	box-shadow: 0 20px 45px rgba(18,42,78,0.12);
	transition-property: transform, box-shadow;
	transition-duration: .3s; transition-timing-function: ease;
}
.sge-founder__profile:hover { transform: translateY(-6px); box-shadow: 0 28px 55px rgba(18,42,78,0.18); }
.sge-founder__image-wrap { position: relative; height: 400px; overflow: hidden; }
.sge-founder__image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.sge-founder__profile:hover .sge-founder__image-wrap img { transform: scale(1.06); }
.sge-founder__caption { padding: 20px 24px; }
.sge-founder__caption strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 20px; color: var(--sge-primary, #122A4E); }
.sge-founder__caption span { display: block; font-family: 'Inter', sans-serif; font-size: 14px; color: var(--sge-body, #4A5568); margin-top: 2px; }
.sge-founder__underline { display: block; width: 32px; height: 2px; background: var(--sge-gold, #C99A44); margin-top: 10px; }

.sge-founder__content .sge-eyebrow { display: inline-flex; }
.sge-founder__heading { margin: 10px 0 20px; font-size: 44px; line-height: 1.2; }
.sge-founder__heading-highlight { color: var(--sge-gold, #C99A44); }
.sge-founder__desc { color: var(--sge-body, #4A5568); font-size: 16px; line-height: 1.75; max-width: 620px; margin: 0 0 20px; }

.sge-founder__button {
	display: inline-flex; align-items: center; gap: 10px;
	background: var(--sge-gold, #C99A44); color: #fff; font-weight: 600;
	padding: 16px 30px; border-radius: 8px; border: 2px solid var(--sge-gold, #C99A44);
	margin-top: 12px; transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.sge-founder__button i { transition: transform .25s ease; }
.sge-fs-btn-lift-yes .sge-founder__button:hover { transform: translateY(-2px); }
.sge-fs-btn-lift-yes .sge-founder__button:hover i { transform: translateX(4px); }
