:root{
--primary:#0B3D2E;
--accent:#F4A300;
--glow:#18C964;
--dark:#0F1720;
--dark2:#111927;
--light:#f5f7fa;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Segoe UI,sans-serif;
}

body{
background:var(--dark);
color:white;
overflow-x:hidden;
transition:.4s;
}

/* ENERGY BACKGROUND */

.energy-bg{
position:fixed;
inset:0;
background:
radial-gradient(circle at 20% 30%, rgba(24,201,100,.12), transparent 35%),
radial-gradient(circle at 80% 70%, rgba(244,163,0,.12), transparent 35%);
z-index:-3;
animation:bgMove 10s ease-in-out infinite alternate;
}

@keyframes bgMove{
from{transform:translateY(-20px)}
to{transform:translateY(20px)}
}

/* CURSOR */

.cursor-glow{
position:fixed;
width:300px;
height:300px;
background:radial-gradient(circle, rgba(24,201,100,.18), transparent 60%);
border-radius:50%;
pointer-events:none;
transform:translate(-50%,-50%);
z-index:-2;
}

/* HERO */

.contact-hero{
min-height:100vh;
padding:140px 7%;
display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
gap:80px;
position:relative;
overflow:hidden;
}

/* GRID BG */

.hero-grid{
position:absolute;
inset:0;
background-image:
linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
background-size:70px 70px;
z-index:-1;
}

/* LEFT */

.hero-badge{
display:inline-block;
padding:12px 22px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
border-radius:40px;
margin-bottom:30px;
backdrop-filter:blur(12px);
}

.hero-left h1{
font-size:75px;
line-height:1;
margin-bottom:25px;
max-width:700px;
}

.hero-left p{
font-size:18px;
opacity:.8;
line-height:1.8;
max-width:600px;
margin-bottom:45px;
}

/* BUTTONS */

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

.hero-btn{
padding:18px 36px;
border-radius:50px;
text-decoration:none;
font-weight:600;
transition:.35s;
position:relative;
overflow:hidden;
}

.primary-btn{
background:linear-gradient(135deg,var(--glow),var(--primary));
color:white;
}

.secondary-btn{
background:white;
color:black;
}

.hero-btn:hover{
transform:translateY(-5px);
box-shadow:0 15px 40px rgba(0,0,0,.3);
}

/* RIGHT */

.hero-right{
position:relative;
height:600px;
}

/* FLOATING CARDS */

.floating-card{
position:absolute;
width:280px;
padding:35px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
backdrop-filter:blur(18px);
border-radius:30px;
transition:.35s;
overflow:hidden;
}

.floating-card::before{
content:"";
position:absolute;
inset:-2px;
background:linear-gradient(45deg,var(--accent),var(--glow));
z-index:-1;
filter:blur(35px);
opacity:0;
transition:.4s;
}

.floating-card:hover::before{
opacity:.5;
}

.floating-card i{
font-size:38px;
margin-bottom:18px;
color:var(--accent);
}

.card1{
top:0;
left:0;
animation:float1 6s ease-in-out infinite;
}

.card2{
top:180px;
right:0;
animation:float2 7s ease-in-out infinite;
}

.card3{
bottom:0;
left:80px;
animation:float3 8s ease-in-out infinite;
}

@keyframes float1{
50%{transform:translateY(-15px)}
}

@keyframes float2{
50%{transform:translateY(15px)}
}

@keyframes float3{
50%{transform:translateY(-20px)}
}

/* CONTACT BODY */

.contact-body{
padding:120px 7%;
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
}

/* FORM */

.contact-form-box{
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
backdrop-filter:blur(18px);
padding:50px;
border-radius:35px;
}

.contact-form-box h2{
font-size:45px;
margin-bottom:40px;
}

.input-group{
position:relative;
margin-bottom:35px;
}

.input-group input,
.input-group textarea,
.input-group select{
width:100%;
padding:18px;
background:transparent;
border:1px solid rgba(255,255,255,.12);
border-radius:16px;
color:white;
outline:none;
}

.input-group textarea{
height:160px;
resize:none;
}

.input-group label{
position:absolute;
left:18px;
top:18px;
transition:.3s;
pointer-events:none;
background:var(--dark);
padding:0 8px;
}

.input-group input:focus + label,
.input-group input:valid + label,
.input-group textarea:focus + label,
.input-group textarea:valid + label,
.input-group select:focus + label,
.input-group select:valid + label{
top:-10px;
font-size:13px;
color:var(--accent);
}

.submit-btn{
width:100%;
padding:18px;
border:none;
border-radius:16px;
background:linear-gradient(135deg,var(--glow),var(--primary));
color:white;
font-size:16px;
cursor:pointer;
transition:.35s;
}

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

/* INFO SIDE */

.contact-info-side{
display:grid;
grid-template-columns:1fr 1fr;
gap:25px;
}

.info-box{
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
backdrop-filter:blur(18px);
padding:35px;
border-radius:28px;
transition:.35s;
}

.info-box:hover{
transform:translateY(-8px);
}

.info-box i{
font-size:35px;
margin-bottom:20px;
color:var(--accent);
}

.info-box h3{
margin-bottom:12px;
}

/* MAP */

.map-section{
height:600px;
margin:120px 7%;
border-radius:40px;
overflow:hidden;
position:relative;
background:
linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.5)),
url("../images/harvestwork\ \(13\).jpeg");
background-size:cover;
background-position:center;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
}

.map-overlay{
max-width:700px;
padding:20px;
}

.map-overlay h2{
font-size:60px;
margin-bottom:25px;
}

.map-overlay p{
font-size:18px;
opacity:.85;
}

/* CTA */

.cta-section{
padding:140px 7%;
text-align:center;
}

.cta-section h2{
font-size:65px;
margin-bottom:20px;
}

.cta-section p{
opacity:.8;
margin-bottom:40px;
}

.cta-btn{
padding:18px 40px;
border-radius:50px;
background:linear-gradient(135deg,var(--accent),var(--glow));
color:white;
text-decoration:none;
display:inline-block;
transition:.35s;
}

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

/* LIGHT MODE */

body.light{
background:var(--light);
color:#111;
}

body.light .floating-card,
body.light .contact-form-box,
body.light .info-box,
body.light .hero-badge{
background:white;
color:#111;
}

body.light .input-group input,
body.light .input-group textarea,
body.light .input-group select{
color:#111;
border:1px solid rgba(0,0,0,.12);
}

body.light .input-group label{
background:white;
}

body.light .secondary-btn{
background:#111;
color:white;
}

body.light .hero-grid{
background-image:
linear-gradient(rgba(0,0,0,.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(0,0,0,.04) 1px, transparent 1px);
}

/* RESPONSIVE */

@media(max-width:1100px){

.contact-hero,
.contact-body{
grid-template-columns:1fr;
}

.hero-left h1{
font-size:55px;
}

.hero-right{
height:500px;
}

}

@media(max-width:700px){

.hero-left h1{
font-size:42px;
}

.hero-left p{
font-size:15px;
}

.contact-form-box{
padding:30px;
}

.contact-form-box h2{
font-size:34px;
}

.contact-info-side{
grid-template-columns:1fr;
}

.map-overlay h2,
.cta-section h2{
font-size:40px;
}

.hero-right{
/* height:650px; */
display:none;
}

.floating-card{
width:240px;
padding:25px;
}

.card3{
left:20px;
}

}