/*==================================
GOOGLE FONT
==================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{

margin:0;
padding:0;
box-sizing:border-box;

font-family:'Poppins',sans-serif;

scroll-behavior:smooth;

}

html{

overflow-x:hidden;

}

body{

background:#f7f7f4;

color:#222;

overflow-x:hidden;

line-height:1.7;

}


/*==================================
ROOT COLORS
==================================*/

:root{

--primary:#0E3B2E;

--secondary:#C9A227;

--light:#ffffff;

--dark:#1a1a1a;

--text:#555;

--border:#ececec;

--shadow:0 20px 60px rgba(0,0,0,.08);

--radius:24px;

}


/*==================================
GLOBAL
==================================*/

.container{

width:90%;

max-width:1300px;

margin:auto;

}

section{

padding:110px 0;

}

img{

width:100%;

display:block;

}

a{

text-decoration:none;

color:inherit;

}

ul{

list-style:none;

}


/*==================================
HEADER
==================================*/

.header{

position:fixed;

top:0;
left:0;

width:100%;

z-index:999;

background:rgba(255,255,255,.78);

backdrop-filter:blur(18px);

border-bottom:1px solid rgba(255,255,255,.25);

transition:.35s;

}

.nav-container{

height:85px;

display:flex;

align-items:center;

justify-content:space-between;

}

.logo{

font-size:30px;

font-weight:800;

color:var(--primary);

letter-spacing:1px;

}

.gold{

color:var(--secondary);

}


/*==================================
NAVIGATION
==================================*/

.navbar{

display:flex;

align-items:center;

}

.nav-links{

display:flex;

gap:35px;

align-items:center;

}

.nav-links a{

font-weight:600;

color:#333;

transition:.3s;

position:relative;

}

.nav-links a:hover,

.nav-links a.active{

color:var(--secondary);

}

.nav-links a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--secondary);

transition:.35s;

}

.nav-links a:hover::after,

.nav-links a.active::after{

width:100%;

}


/*==================================
MOBILE MENU
==================================*/

.menu-btn{

display:none;

font-size:30px;

cursor:pointer;

color:var(--primary);

}


/*==================================
BUTTONS
==================================*/

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:15px 34px;

border-radius:60px;

font-weight:600;

transition:.35s;

cursor:pointer;

}

.btn-primary{

background:var(--secondary);

color:#fff;

box-shadow:

0 15px 35px rgba(201,162,39,.28);

}

.btn-primary:hover{

transform:translateY(-5px);

}

.btn-secondary{

background:transparent;

border:2px solid var(--secondary);

color:var(--secondary);

}

.btn-secondary:hover{

background:var(--secondary);

color:#fff;

}


/*==================================
PAGE HERO
==================================*/

.page-hero,

.hero{

position:relative;

min-height:100vh;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

background:

linear-gradient(

rgba(0,0,0,.45),

rgba(0,0,0,.45)

),

url("../assets/images/hero.jpg");

background-size:cover;

background-position:center;

background-attachment:fixed;

overflow:hidden;

}

.hero-overlay{

position:absolute;

inset:0;

background:

linear-gradient(

135deg,

rgba(14,59,46,.35),

rgba(201,162,39,.18)

);

}

.hero-content{

position:relative;

z-index:2;

max-width:900px;

}

.hero-badge{

display:inline-block;

padding:10px 22px;

border-radius:40px;

background:rgba(255,255,255,.15);

backdrop-filter:blur(12px);

color:#fff;

margin-bottom:25px;

font-size:14px;

letter-spacing:1px;

}

.hero h1,

.page-hero h1{

font-size:68px;

color:#fff;

font-weight:800;

line-height:1.2;

margin-bottom:25px;

}

.hero p,

.page-hero p{

font-size:20px;

color:#eee;

max-width:800px;

margin:auto;

margin-bottom:40px;

}


/*==================================
SECTION TITLE
==================================*/

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title span{

display:inline-block;

color:var(--secondary);

font-weight:700;

margin-bottom:12px;

text-transform:uppercase;

letter-spacing:2px;

}

.section-title h2{

font-size:48px;

color:var(--primary);

margin-bottom:20px;

}

.section-title p{

color:var(--text);

max-width:700px;

margin:auto;

}







































/*==================================
ABOUT SECTION
==================================*/

.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.about-image{

overflow:hidden;

border-radius:30px;

box-shadow:var(--shadow);

}

.about-image img{

height:100%;

object-fit:cover;

transition:.6s;

}

.about-image:hover img{

transform:scale(1.08);

}

.about-content span{

color:var(--secondary);

font-weight:700;

letter-spacing:2px;

text-transform:uppercase;

}

.about-content h2{

font-size:46px;

color:var(--primary);

margin:20px 0;

}

.about-content p{

color:var(--text);

margin-bottom:20px;

}

.about-list{

margin:30px 0;

}

.about-list li{

display:flex;

align-items:center;

gap:12px;

margin-bottom:15px;

font-weight:500;

}

.about-list i{

color:var(--secondary);

}

.about-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

margin-top:35px;

}


/*==================================
PLOT SHOWCASE
==================================*/

.plot-showcase{

background:#fafafa;

}

.plot-grid{

display:grid;

grid-template-columns:1.1fr .9fr;

gap:60px;

align-items:center;

}

.plot-slider{

overflow:hidden;

border-radius:28px;

box-shadow:var(--shadow);

}

.plot-slider img{

height:520px;

object-fit:cover;

transition:.6s;

}

.plot-slider:hover img{

transform:scale(1.06);

}

.price-card{

background:#fff;

padding:35px;

border-radius:28px;

box-shadow:var(--shadow);

margin-top:25px;

}

.price-card h3{

font-size:34px;

color:var(--primary);

margin-bottom:15px;

}

.price{

font-size:42px;

font-weight:800;

color:var(--secondary);

margin-bottom:25px;

}

.highlight-box{

background:linear-gradient(135deg,#0E3B2E,#165542);

color:#fff;

padding:25px;

border-radius:22px;

margin-top:25px;

}

.highlight-box h4{

margin-bottom:12px;

font-size:24px;

}


/*==================================
BENEFITS
==================================*/

.benefits-grid,

.features-grid,

.mission-grid,

.contact-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(270px,1fr));

gap:30px;

}

.benefit-card,

.feature-card,

.mission-card,

.contact-card{

background:rgba(255,255,255,.85);

backdrop-filter:blur(18px);

border-radius:28px;

padding:35px;

box-shadow:var(--shadow);

text-align:center;

transition:.4s;

border:1px solid rgba(255,255,255,.4);

}

.benefit-card img,

.contact-card img{

height:220px;

object-fit:cover;

border-radius:20px;

margin-bottom:25px;

}

.benefit-card i,

.feature-card i,

.mission-card i,

.contact-card i{

font-size:55px;

color:var(--secondary);

margin-bottom:20px;

}

.benefit-card h3,

.feature-card h3,

.mission-card h3,

.contact-card h3{

margin-bottom:15px;

font-size:26px;

color:var(--primary);

}

.benefit-card p,

.feature-card p,

.mission-card p,

.contact-card p{

color:var(--text);

}


/*==================================
3D HOVER
==================================*/

.tilt-card{

transform-style:preserve-3d;

transition:

transform .45s ease,

box-shadow .45s ease;

}

.tilt-card:hover{

transform:

perspective(1000px)

rotateX(5deg)

rotateY(-5deg)

translateY(-10px);

box-shadow:

0 35px 80px rgba(0,0,0,.12);

}


/*==================================
SPECIAL OFFER
==================================*/

.offer-section{

background:

linear-gradient(135deg,

#0E3B2E,

#174D3E);

}

.offer-card{

max-width:900px;

margin:auto;

padding:70px;

text-align:center;

border-radius:35px;

background:

rgba(255,255,255,.08);

backdrop-filter:blur(25px);

color:#fff;

}

.offer-card span{

color:#F5D76E;

font-weight:700;

letter-spacing:2px;

}

.offer-card h2{

font-size:54px;

margin:25px 0;

line-height:1.3;

}

.offer-card p{

font-size:19px;

opacity:.95;

}


/*==================================
COUNTERS
==================================*/

.counter-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.counter-card{

background:#fff;

padding:45px;

border-radius:25px;

text-align:center;

box-shadow:var(--shadow);

}

.counter-card h2{

font-size:54px;

color:var(--secondary);

margin-bottom:10px;

}

.counter-card p{

color:var(--text);

}


/*==================================
FAQ
==================================*/

.faq-item{

background:#fff;

padding:30px;

border-radius:20px;

margin-bottom:20px;

box-shadow:var(--shadow);

}

.faq-item h3{

color:var(--primary);

margin-bottom:12px;

font-size:24px;

}

.faq-item p{

color:var(--text);

}


/*==================================
CONTACT & OFFICE
==================================*/

.office-grid{

display:grid;

grid-template-columns:1fr 1.2fr;

gap:40px;

align-items:start;

}

.office-card,

.map-card{

background:#fff;

padding:30px;

border-radius:30px;

box-shadow:var(--shadow);

}

.office-card img{

height:240px;

object-fit:cover;

border-radius:20px;

margin-bottom:20px;

}

.office-hours{

margin-top:30px;

padding-top:20px;

border-top:1px solid #eee;

}

.map-buttons{

display:flex;

gap:15px;

margin-top:20px;

flex-wrap:wrap;

}


/*==================================
ENQUIRY FORM
==================================*/

.enquiry-box{

max-width:760px;

margin:auto;

background:#fff;

padding:45px;

border-radius:30px;

box-shadow:var(--shadow);

}

.form-group{

margin-bottom:22px;

}

.form-group input,

.form-group select,

.form-group textarea{

width:100%;

padding:16px 18px;

border:1px solid #ddd;

border-radius:16px;

font-size:16px;

outline:none;

transition:.3s;

}

.form-group input:focus,

.form-group select:focus,

.form-group textarea:focus{

border-color:var(--secondary);

box-shadow:0 0 0 4px rgba(201,162,39,.12);

}

textarea{

resize:vertical;

min-height:140px;

}






































/*==================================
FINAL CTA
==================================*/

.cta-section{

background:

linear-gradient(135deg,#0E3B2E,#1b5e4b);

color:#fff;

}

.cta-box{

max-width:950px;

margin:auto;

padding:80px 50px;

border-radius:35px;

text-align:center;

background:

rgba(255,255,255,.08);

backdrop-filter:blur(18px);

}

.cta-box h2{

font-size:52px;

margin-bottom:20px;

}

.cta-box p{

font-size:18px;

max-width:700px;

margin:auto;

opacity:.95;

margin-bottom:40px;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}


/*==================================
FOOTER
==================================*/

.footer{

background:#111;

color:#fff;

padding:90px 0 25px;

}

.footer-grid{

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(250px,1fr));

gap:45px;

margin-bottom:50px;

}

.footer h2,

.footer h3{

margin-bottom:20px;

}

.footer p{

color:#bbb;

line-height:1.8;

margin-bottom:10px;

}

.footer ul{

list-style:none;

}

.footer ul li{

margin-bottom:12px;

}

.footer a{

color:#bbb;

transition:.35s;

}

.footer a:hover{

color:var(--secondary);

padding-left:6px;

}

.copyright{

border-top:1px solid rgba(255,255,255,.08);

padding-top:25px;

text-align:center;

color:#999;

}


/*==================================
FLOATING BUTTONS
==================================*/

.whatsapp,

.call-btn{

position:fixed;

right:25px;

width:65px;

height:65px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:28px;

color:#fff;

z-index:999;

box-shadow:

0 15px 40px rgba(0,0,0,.25);

transition:.35s;

}

.whatsapp{

bottom:30px;

background:#25D366;

}

.call-btn{

bottom:110px;

background:var(--primary);

}

.whatsapp:hover,

.call-btn:hover{

transform:

translateY(-8px)

scale(1.08);

}


/*==================================
IMAGE SLIDER
==================================*/

.slider{

position:relative;

overflow:hidden;

border-radius:28px;

}

.slider img{

display:none;

width:100%;

height:520px;

object-fit:cover;

animation:fadeSlider .8s;

}

.slider img.active{

display:block;

}


/*==================================
GLASS EFFECT
==================================*/

.glass{

background:

rgba(255,255,255,.15);

backdrop-filter:blur(18px);

border:

1px solid rgba(255,255,255,.25);

}


/*==================================
SCROLL REVEAL
==================================*/

.reveal{

opacity:0;

transform:translateY(70px);

transition:1s;

}

.reveal.active{

opacity:1;

transform:translateY(0);

}


/*==================================
PREMIUM HOVER
==================================*/

img{

transition:.6s;

}

img:hover{

transform:scale(1.02);

}

.btn{

transition:

all .35s ease;

}

.contact-card:hover,

.feature-card:hover,

.benefit-card:hover,

.mission-card:hover,

.counter-card:hover,

.office-card:hover,

.price-card:hover{

transform:

translateY(-12px);

}


/*==================================
BACKGROUND BLOBS
==================================*/

body::before{

content:"";

position:fixed;

top:-250px;

right:-250px;

width:520px;

height:520px;

background:

rgba(201,162,39,.08);

border-radius:50%;

filter:blur(120px);

z-index:-2;

}

body::after{

content:"";

position:fixed;

bottom:-250px;

left:-250px;

width:500px;

height:500px;

background:

rgba(14,59,46,.08);

border-radius:50%;

filter:blur(120px);

z-index:-2;

}


/*==================================
CUSTOM SCROLLBAR
==================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#eee;

}

::-webkit-scrollbar-thumb{

background:var(--secondary);

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:#b78d18;

}


/*==================================
ANIMATIONS
==================================*/

@keyframes fadeSlider{

from{

opacity:0;

transform:scale(1.05);

}

to{

opacity:1;

transform:scale(1);

}

}

@keyframes floatY{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-12px);

}

100%{

transform:translateY(0);

}

}

.whatsapp,

.call-btn{

animation:floatY 3s infinite;

}


/*==================================
PERFORMANCE
==================================*/

.hero,

.page-hero,

.slider img,

.product-card,

.contact-card,

.benefit-card,

.feature-card{

will-change:transform;

transform:translateZ(0);

backface-visibility:hidden;

}