:root {
	--navy: #052d33;
	--teal: #073f42;
	--pine: #244f32;
	--leaf: #4e9c3f;
	--lime: #93b83d;
	--gold: #caa45b;
	--cream: #f7f4eb;
	--cream-2: #f0eee5;
	--white: #fff;
	--ink: #132629;
	--text: #5f6c6d;
	--line: #dfe6df;
	--shadow: 0 18px 55px rgba(5,45,51,.11);
	--radius: 26px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color: var(--ink);
	background: #fff;
	line-height: 1.65;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

a {
	text-decoration: none;
	color: inherit;
}

button,input,select,textarea {
	font: inherit;
}

button {
	cursor: pointer;
}

.container {
	width: min(1180px,calc(100% - 36px));
	margin: auto;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255,255,255,.96);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(5,45,51,.08);
}

.navbar {
	height: 84px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 28px;
}

.logo img {
	width: 72px;
	height: 72px;
	object-fit: contain;
}

.nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	font-size: 14px;
	font-weight: 750;
}

.nav a {
	padding: 31px 0;
	position: relative;
}

.nav a:after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 22px;
	height: 2px;
	background: var(--lime);
	transition: .25s;
}

.nav a:hover:after,.nav a.active:after {
	right: 0;
}

.nav-cta {
	display: flex;
	gap: 10px;
	align-items: center;
}

.mobile-toggle {
	display: none;
	background: none;
	border: 0;
	font-size: 24px;
	color: var(--teal);
	padding: 10px;
}

.btn {
	border: 0;
	border-radius: 999px;
	padding: 13px 20px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	transition: .25s;
}

.btn:hover {
	transform: translateY(-2px);
}

.btn-primary {
	background: linear-gradient(135deg,var(--teal),var(--pine));
	color: #fff;
	box-shadow: 0 12px 26px rgba(5,45,51,.16);
}

.btn-accent {
	background: linear-gradient(135deg,var(--leaf),var(--lime));
	color: #fff;
}

.btn-gold {
	background: var(--gold);
	color: #fff;
}

.btn-outline {
	border: 1px solid rgba(255,255,255,.5);
	color: #fff;
	background: rgba(255,255,255,.08);
}

.btn-light {
	border: 1px solid var(--line);
	background: #fff;
	color: var(--teal);
}

.icon-bubble {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(255,255,255,.14);
}

svg.icon {
	width: 1em;
	height: 1em;
	fill: currentColor;
	vertical-align: -.125em;
}

.hero {
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--navy);
}

.hero.small {
	min-height: 390px;
}

.hero-bg {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	transform: scale(1.03);
}

.hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,rgba(4,37,42,.9),rgba(5,45,51,.62) 50%,rgba(36,79,50,.28));
	z-index: 1;
}

.hero .container {
	position: relative;
	z-index: 2;
	color: #fff;
}

.hero-copy {
	max-width: 820px;
	padding: 80px 0;
}

.hero-copy .kicker {
	display: inline-flex;
	border: 1px solid rgba(255,255,255,.32);
	border-radius: 999px;
	padding: 7px 12px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.hero h1 {
	font-size: clamp(46px,6vw,82px);
	line-height: 1.02;
	letter-spacing: -3px;
	margin: 18px 0;
}

.hero.small h1 {
	font-size: clamp(40px,5vw,64px);
}

.hero h1 span,.hero h2 span,.section-title span {
	color: var(--lime);
}

.hero p {
	max-width: 690px;
	font-size: 18px;
	color: rgba(255,255,255,.82);
}

.hero-actions {
	display: flex;
	gap: 13px;
	flex-wrap: wrap;
	margin-top: 28px;
}

.section {
	padding: 92px 0;
}

.section.alt {
	background: var(--cream);
}

.section-head {
	max-width: 760px;
	margin: 0 auto 45px;
	text-align: center;
}


.eyebrow {
    display: inline-flex;
    border: 1px solid rgb(0 0 0);
    background: rgb(147 184 61 / 0%);
    color: var(--pine);
    border-radius: 999px;
    padding: 6px 11px;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
}
.experience-home .eyebrow {
    display: inline-flex;
    border: 1px solid rgb(255 255 255);
    background: rgb(147 184 61 / 0%);
    color: var(--white);
    border-radius: 999px;
    padding: 6px 11px;
    font-size: 11px;
    font-weight: 300;
    letter-spacing: .08em;
}

.section-title {
	font-size: clamp(34px,4vw,54px);
	line-height: 1.12;
	letter-spacing: -2px;
	margin: 15px 0;
}

.section-head p {
	color: var(--text);
}

.grid {
	display: grid;
	gap: 24px;
}

.grid-2 {
	grid-template-columns: repeat(2,1fr);
}

.grid-3 {
	grid-template-columns: repeat(3,1fr);
}

.grid-4 {
	grid-template-columns: repeat(4,1fr);
}

.card {
	background: #fff;
	border: 1px solid rgba(5,45,51,.07);
	border-radius: var(--radius);
	box-shadow: 0 8px 30px rgba(5,45,51,.05);
	overflow: hidden;
}

.card-body {
	padding: 24px;
}

.card h3 {
	margin: 0 0 10px;
	font-size: 23px;
}

.card p {
	color: var(--text);
}

.image-card img {
	height: 260px;
	object-fit: cover;
}

.room-card {
	position: relative;
}

.room-card img {
	height: 265px;
	object-fit: cover;
	aspect-ratio: 628 / 420;
}

.badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: #fff;
	color: var(--pine);
	border-radius: 999px;
	padding: 6px 10px;
	font-size: 11px;
	font-weight: 850;
}

.badge.right {
	left: auto;
	right: 16px;
	background: var(--lime);
	color: #fff;
}

.meta {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	color: #6b7778;
	font-size: 13px;
	margin: 12px 0;
}

.meta svg {
	color: var(--leaf);
}

.price-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	border-top: 1px solid var(--line);
	padding-top: 18px;
	margin-top: 18px;
}

.price strong {
	font-size: 25px;
	color: var(--teal);
}

.price small {
	color: #829091;
}

.actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.price-row .actions .btn {
    border-radius: 5px;
    padding: 5px 10px;
    font-weight: 300;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    transition: .25s;
    font-size: 15px;
}
.text-link {
	font-weight: 800;
	color: var(--leaf);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

.split-copy p {
	color: var(--text);
}

.feature-image {
	border-radius: 32px;
	overflow: hidden;
	box-shadow: var(--shadow);
}

.feature-image img {
	height: 560px;
	object-fit: cover;
}

.list-check {
	display: grid;
	gap: 12px;
	padding: 0;
	list-style: none;
}

.list-check li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: var(--text);
}

.list-check svg {
	color: var(--leaf);
	margin-top: 5px;
}

.amenity-card {
	text-align: center;
	padding: 32px 25px;
	min-height: 245px;
}

.amenity-icon {
	width: 78px;
	height: 78px;
	border-radius: 24px;
	border: 1px solid var(--line);
	display: grid;
	place-items: center;
	margin: 0 auto 17px;
	color: var(--leaf);
	font-size: 30px;
}

.gallery-grid {
	display: grid;
	grid-template-columns: repeat(12,1fr);
	grid-auto-rows: 170px;
	gap: 16px;
}

.gallery-item {
	border-radius: 22px;
	overflow: hidden;
	position: relative;
}

.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .4s;
}

.gallery-item:hover img {
	transform: scale(1.04);
}

.gallery-item:nth-child(1) {
	grid-column: span 7;
	grid-row: span 2;
}

.gallery-item:nth-child(2) {
	grid-column: span 5;
}

.gallery-item:nth-child(3) {
	grid-column: span 5;
}

.gallery-item:nth-child(4) {
	grid-column: span 4;
	grid-row: span 2;
}

.gallery-item:nth-child(5) {
	grid-column: span 4;
}

.gallery-item:nth-child(6) {
	grid-column: span 4;
}

.offer-card {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	min-height: 360px;
}

.offer-card img {
	height: 100%;
	object-fit: cover;
}

.offer-card .card-body {
	padding: 38px;
}

.offer-value {
	font-size: 46px;
	font-weight: 900;
	color: var(--leaf);
	line-height: 1;
}

.stats {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 20px;
}

.stat {
	padding: 26px;
	border-radius: 22px;
	background: linear-gradient(145deg,var(--teal),var(--pine));
	color: #fff;
}

.stat strong {
	display: block;
	font-size: 40px;
}

.stat span {
	color: rgba(255,255,255,.72);
}

.testimonial {
	padding: 30px;
}

.stars {
	color: var(--gold);
	letter-spacing: 2px;
}

.avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--teal);
	color: #fff;
	display: grid;
	place-items: center;
	font-weight: 850;
}

.reviewer {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: 22px;
}

.blog-card img {
	height: 230px;
	object-fit: cover;
}

.blog-meta {
	font-size: 12px;
	color: #7d8889;
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.blog-card h3 {
	line-height: 1.35;
}

.article {
	max-width: 850px;
	margin: auto;
}

.article .lead-img {
	height: 480px;
	object-fit: cover;
	border-radius: 30px;
	margin: 26px 0;
}

.article h2 {
	margin-top: 38px;
}

.article p,.article li {
	color: var(--text);
}

.quote {
	border-left: 4px solid var(--lime);
	padding: 18px 22px;
	background: var(--cream);
	border-radius: 0 18px 18px 0;
	font-weight: 650;
}

.faq {
	max-width: 900px;
	margin: auto;
	display: grid;
	gap: 14px;
}

.faq-item {
	border: 1px solid var(--line);
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}

.faq-q {
	width: 100%;
	border: 0;
	background: #fff;
	text-align: left;
	padding: 20px 22px;
	font-weight: 800;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	color: var(--ink);
}

.faq-a {
	max-height: 0;
	overflow: hidden;
	transition: .28s;
	padding: 0 22px;
	color: var(--text);
}

.faq-item.open .faq-a {
	max-height: 240px;
	padding-bottom: 20px;
}

.faq-item.open .faq-q {
	color: var(--pine);
}

.form-card {
	background: var(--cream);
	border-radius: 30px;
	padding: 34px;
	border: 1px solid rgba(5,45,51,.07);
}

.form-grid {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 16px;
}

.field {
	display: grid;
	gap: 8px;
	font-weight: 750;
}

.field.full {
	grid-column: 1/-1;
}

input,select,textarea {
	width: 100%;
	border: 1px solid #d7dfd9;
	background: #fff;
	border-radius: 14px;
	padding: 14px 15px;
	outline: none;
	color: var(--ink);
}

textarea {
	min-height: 140px;
	resize: vertical;
}

input:focus,select:focus,textarea:focus {
	border-color: var(--leaf);
	box-shadow: 0 0 0 3px rgba(78,156,63,.10);
}

.contact-list {
	display: grid;
	gap: 18px;
}

.contact-line {
	display: flex;
	gap: 14px;
}

.contact-icon {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: var(--cream);
	color: var(--leaf);
	display: grid;
	place-items: center;
	flex: 0 0 auto;
}

.contact-line strong,.contact-line small {
	display: block;
}

.contact-line small {
	color: #879091;
}

.policy {
	max-width: 900px;
	margin: auto;
}

.policy h2 {
	margin-top: 34px;
}

.policy p,.policy li {
	color: var(--text);
}

.cta-band {
	background: linear-gradient(135deg,var(--teal),var(--pine));
	color: #fff;
	border-radius: 32px;
	padding: 40px;
	display: flex;
	justify-content: space-between;
	gap: 30px;
	align-items: center;
}

.cta-band h2 {
	margin: 0;
	font-size: 34px;
}

.cta-band p {
	margin: 8px 0 0;
	color: rgba(255,255,255,.75);
}

.site-footer {
	background: linear-gradient(145deg,#031e22,var(--teal),var(--pine));
	color: #fff;
	padding: 70px 0 24px;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(3,1fr);
	gap: 45px;
}

.footer-logo {
	width: 96px;
	height: 96px;
	object-fit: contain;
	background: #fff;
	border-radius: 50%;
	padding: 5px;
}

.footer-grid p,.footer-grid a {
	color: rgba(255,255,255,.72);
}

.footer-col {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-col h4 {
	margin: 0 0 10px;
}

.socials {
	display: flex;
	gap: 10px;
	margin-top: 14px;
}

.socials a {
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff;
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgba(255,255,255,.14);
	padding-top: 20px;
	margin-top: 40px;
	font-size: 12px;
	color: rgba(255,255,255,.55);
}

.notice {
	padding: 12px 14px;
	border-radius: 14px;
	background: #eaf3e6;
	color: var(--pine);
	font-weight: 700;
	display: none;
	margin-top: 14px;
}

.notice.show {
	display: block;
}

.breadcrumbs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	color: rgba(255,255,255,.72);
	font-size: 13px;
}

.breadcrumbs a {
	color: #fff;
}

.table-wrap {
	overflow: auto;
}

table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
}

th,td {
	padding: 15px;
	border-bottom: 1px solid var(--line);
	text-align: left;
}

th {
	background: var(--cream);
}

.back-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--lime);
	color: #fff;
	z-index: 70;
	box-shadow: var(--shadow);
}

@media(max-width:1020px) {
	.navbar {
		grid-template-columns: auto auto;
	}

	.nav-cta {
		justify-self: end;
	}

	.nav {
		display: none;
		position: absolute;
		top: 84px;
		left: 18px;
		right: 18px;
		background: #fff;
		border-radius: 20px;
		box-shadow: var(--shadow);
		padding: 16px;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.nav.open {
		display: flex;
	}

	.nav a {
		padding: 12px;
	}

	.nav a:after {
		display: none;
	}

	.mobile-toggle {
		display: inline-grid;
		place-items: center;
	}

	.nav-cta .btn {
		display: none;
	}

	.grid-3,.grid-4 {
		grid-template-columns: repeat(2,1fr);
	}

	.split,.offer-card {
		grid-template-columns: 1fr;
	}

	.gallery-grid {
		grid-template-columns: repeat(2,1fr);
		grid-auto-rows: 220px;
	}

	.gallery-item {
		grid-column: auto!important;
		grid-row: auto!important;
	}

	.footer-grid {
		grid-template-columns: repeat(2,1fr);
	}
}

@media(max-width:700px) {
	.section {
		padding: 72px 0;
	}

	.hero {
		min-height: 560px;
	}

	.hero.small {
		min-height: 330px;
	}

	.hero-copy {
		padding: 58px 0;
	}

	.hero h1 {
		letter-spacing: -2px;
	}

	.grid-2,.grid-3,.grid-4,.form-grid,.stats {
		grid-template-columns: 1fr;
	}

	.field.full {
		grid-column: auto;
	}

	.gallery-grid {
		grid-template-columns: 1fr;
	}

	.feature-image img {
		height: 390px;
	}

	.room-card img,.image-card img {
		height: 230px;
	}

	.offer-card img {
		height: 260px;
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-bottom {
		flex-direction: column;
	}

	.cta-band {
		flex-direction: column;
		align-items: flex-start;
	}

	.price-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.navbar {
		height: 74px;
	}

	.logo img {
		width: 62px;
		height: 62px;
	}

	.nav {
		top: 74px;
	}
}


/* ===== Premium Home + GSAP/Swiper Enhancements ===== */
html,body {
	overflow-x: hidden;
}

[data-gsap] {
	will-change: transform,opacity;
}

.premium-section {
	position: relative;
	overflow: hidden;
}

.premium-section:before {
	content: "";
	position: absolute;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle,rgba(147,184,61,.10),rgba(147,184,61,0) 68%);
	pointer-events: none;
	top: -180px;
	right: -160px;
}

.hero-slider {
	height: calc(100vh - 84px);
	min-height: 680px;
	position: relative;
	background: var(--navy);
}

.hero-swiper,.hero-swiper .swiper-wrapper,.hero-swiper .swiper-slide {
	height: 100%;
}

.hero-slide {
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.hero-slide-bg {
	position: absolute;
	inset: -4%;
	background-size: cover;
	background-position: center;
	transform: scale(1.04);
}

.hero-slide:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,rgba(3,30,34,.90) 0%,rgba(5,45,51,.70) 45%,rgba(36,79,50,.32) 75%,rgba(36,79,50,.16) 100%);
}

.hero-slide-content {
	position: relative;
	z-index: 3;
	color: #fff;
	max-width: 820px;
}

.hero-slide-content .eyebrow {
	color: #fff;
	border-color: rgba(255,255,255,.30);
	background: rgba(255,255,255,.06);
}

.hero-slide-content h1,.hero-slide-content h2 {
	font-size: clamp(50px,6.3vw,88px);
	line-height: 1.01;
	letter-spacing: -3.5px;
	margin: 18px 0 20px;
}

.hero-slide-content h1 span,.hero-slide-content h2 span {
	color: var(--lime);
}

.hero-slide-content p {
	max-width: 680px;
	color: rgba(255,255,255,.82);
	font-size: 18px;
}

.hero-swiper .swiper-pagination {
	bottom: 32px!important;
}

.hero-swiper .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #fff;
	opacity: .55;
}

.hero-swiper .swiper-pagination-bullet-active {
	width: 34px;
	border-radius: 999px;
	background: var(--lime);
	opacity: 1;
}

.hero-swiper .swiper-button-next,.hero-swiper .swiper-button-prev {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: rgba(255,255,255,.10);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,.15);
	color: #fff;
}

.hero-swiper .swiper-button-next:after,.hero-swiper .swiper-button-prev:after {
	font-size: 18px;
}

.hero-bottom-card {
	position: absolute;
	z-index: 5;
	right: max(20px,calc((100vw - 1180px)/2));
	bottom: 38px;
	width: min(360px,calc(100vw - 40px));
	background: rgba(255,255,255,.94);
	border-radius: 24px;
	padding: 18px 20px;
	box-shadow: 0 20px 55px rgba(0,0,0,.20);
	display: flex;
	align-items: center;
	gap: 14px;
}

.hero-bottom-card strong {
	display: block;
	color: var(--teal);
	font-size: 17px;
}

.hero-bottom-card small {
	color: var(--text);
}

.hero-bottom-card .amenity-icon {
	width: 50px;
	height: 50px;
	margin: 0;
	border-radius: 16px;
	flex: 0 0 auto;
}

.home-about-image {
	position: relative;
}

.home-about-image .feature-image img {
	height: 640px;
}

.logo-float {
	position: absolute;
	top: 26px;
	right: 26px;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	background: transparent;
	padding: 8px;
	box-shadow: var(--shadow);
	z-index: 3;
}

.logo-float img {
	height: 100%;
	object-fit: contain;
}

.property-note {
	position: absolute;
	left: 26px;
	right: 26px;
	bottom: 26px;
	background: rgba(5,45,51,.88);
	backdrop-filter: blur(12px);
	color: #fff;
	border-radius: 20px;
	padding: 18px 20px;
	font-weight: 650;
	z-index: 3;
}

.home-room-grid .room-card {
	transition: transform .35s ease,box-shadow .35s ease;
}

.home-room-grid .room-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 24px 60px rgba(5,45,51,.13);
}

.home-room-grid .room-card img {
	transition: transform .5s ease;
}

.home-room-grid .room-card:hover img {
	transform: scale(1.05);
}

.service-premium-grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 26px;
}

.service-feature {
	position: relative;
	min-height: 520px;
	border-radius: 30px;
	overflow: hidden;
}

.service-feature img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.service-feature:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg,transparent 20%,rgba(3,30,34,.82) 100%);
}

.service-feature-copy {
	position: absolute;
	z-index: 2;
	left: 28px;
	right: 28px;
	bottom: 28px;
	color: #fff;
}

.service-feature-copy p {
	color: rgba(255,255,255,.78);
}

.service-mini-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.service-mini {
	padding: 28px;
	border-radius: 26px;
	background: #fff;
	border: 1px solid rgba(5,45,51,.07);
	box-shadow: 0 8px 30px rgba(5,45,51,.05);
}

.service-mini .amenity-icon {
	margin: 0 0 16px;
}

.service-mini h3 {
	margin: 0 0 8px;
}

.service-mini p {
	margin: 0;
	color: var(--text);
	font-size: 14px;
}

.overlap-home {
	position: relative;
	min-height: 620px;
	display: flex;
	align-items: center;
	background-size: cover;
	background-position: center;
}

.overlap-home:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,rgba(3,30,34,.86),rgba(5,45,51,.35));
}

.overlap-home .container {
	position: relative;
	z-index: 2;
}

.overlap-home h2 {
	font-size: clamp(44px,5.4vw,76px);
	max-width: 850px;
	color: #fff;
	line-height: 1.05;
	margin: 15px 0 26px;
}

.overlap-box {
	margin-left: auto;
	width: min(440px,100%);
	background: #fff;
	border-radius: 30px;
	padding: 30px;
	box-shadow: 0 24px 70px rgba(0,0,0,.22);
}

.overlap-box .offer-value {
	margin: 10px 0;
}

.home-amenities .amenity-card {
	transition: .35s;
	position: relative;
	overflow: hidden;
}

.home-amenities .amenity-card:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: linear-gradient(90deg,var(--leaf),var(--lime));
	transform: scaleX(0);
	transform-origin: left;
	transition: .35s;
}

.home-amenities .amenity-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--shadow);
}

.home-amenities .amenity-card:hover:after {
	transform: scaleX(1);
}

.experience-home {
	position: relative;
	background: #031e22;
	color: #fff;
	overflow: hidden;
}

.experience-home-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,rgba(3,30,34,.93),rgba(3,30,34,.82)),url('assets/slider-8.jpg') center/cover;
}

.experience-home .container {
	position: relative;
	z-index: 2;
}

.experience-home .feature-image img {
	height: 600px;
}

.experience-home .section-title {
	color: #fff;
}

.experience-home p {
	color: rgba(255,255,255,.74);
}

.experience-home .stats {
	margin-top: 30px;
}

.experience-home .stat {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.12);
	backdrop-filter: blur(8px);
}

.review-swiper {
	padding: 8px 4px 55px;
}

.review-card {
	background: #fff;
	border-radius: 28px;
	padding: 32px;
	border: 1px solid rgba(5,45,51,.07);
	height: auto;
}

.review-card p {
	font-size: 17px;
	line-height: 1.8;
	color: #445354;
}

.review-swiper .swiper-pagination {
	bottom: 4px!important;
}

.review-swiper .swiper-pagination-bullet-active {
	background: var(--lime);
}

.review-person {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-top: 24px;
}

.review-avatar {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg,var(--teal),var(--pine));
	color: #fff;
	font-weight: 850;
}

.review-person small {
	display: block;
	color: #879091;
}

.home-blog-grid .blog-card {
	transition: .35s;
}

.home-blog-grid .blog-card:hover {
	transform: translateY(-7px);
	box-shadow: var(--shadow);
}

.home-contact-strip {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 18px;
	margin-bottom: 36px;
}

.home-contact-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 20px;
	border-radius: 20px;
	background: var(--cream);
	border: 1px solid var(--line);
}

.home-contact-item .contact-icon {
	background: #fff;
}

.home-booking-grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 48px;
	align-items: stretch;
}

.home-contact-panel {
	background: linear-gradient(145deg,var(--teal),var(--pine));
	color: #fff;
	border-radius: 32px;
	padding: 38px;
	position: relative;
	overflow: hidden;
}

.home-contact-panel:after {
	content: "";
	position: absolute;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	right: -100px;
	bottom: -100px;
	background: rgba(147,184,61,.15);
}

.home-contact-panel p {
	color: rgba(255,255,255,.76);
}

.home-contact-panel .contact-line strong {
	color: #fff;
}

.home-contact-panel .contact-line small {
	color: rgba(255,255,255,.62);
}

.home-contact-panel .contact-icon {
	background: rgba(255,255,255,.09);
	color: var(--lime);
}

.home-booking-grid .form-card {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.gsap-line {
	overflow: hidden;
}

@media(max-width:1020px) {
	.hero-slider {
		height: auto;
		min-height: 720px;
	}

	.hero-slide {
		min-height: 720px;
	}

	.hero-bottom-card {
		display: none;
	}

	.service-premium-grid,.home-booking-grid {
		grid-template-columns: 1fr;
	}

	.home-contact-strip {
		grid-template-columns: repeat(2,1fr);
	}
}

@media(max-width:700px) {
	.hero-slider,.hero-slide {
		min-height: 650px;
	}

	.hero-swiper .swiper-button-next,.hero-swiper .swiper-button-prev {
		display: none;
	}

	.hero-slide-content h1,.hero-slide-content h2 {
		font-size: 46px;
		letter-spacing: -2px;
	}

	.service-mini-grid,.home-contact-strip {
		grid-template-columns: 1fr;
	}

	.home-about-image .feature-image img {
		height: 430px;
	}

	.experience-home .feature-image img {
		height: 420px;
	}
}