/* =================================================
FENOM ENTERPRISE DESIGN SYSTEM
================================================= */

/* ================================================
ROOT VARIABLES
================================================ */

:root{

--primary:#0d1b2a;
--secondary:#1b263b;
--accent:#d4af37;

--light:#f8f9fa;
--dark:#0a0f18;

--text:#333;
--muted:#777;

--border:#d4af37;

--radius:6px;

--transition:0.3s ease;

--container:1200px;

}

/* ================================================
GLOBAL RESET
================================================ */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:Arial, Helvetica, sans-serif;
color:var(--text);
background:white;
line-height:1.6;

}

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

img{
max-width:100%;
display:block;
}

/* ================================================
CONTAINER SYSTEM
================================================ */

.container{

width:90%;
max-width:var(--container);
margin:auto;

}

/* ================================================
GRID SYSTEM
================================================ */

.grid{

display:grid;
gap:30px;

}

.grid-2{

grid-template-columns:1fr 1fr;

}

.grid-3{

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

}

.grid-4{

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

}

/* ================================================
NAVIGATION
================================================ */

/* NAVIGATION */

.fenom-nav{

position:fixed;
top:0;
left:0;

width:100%;

z-index:9999;

background:rgba(10,10,10,0.65);

backdrop-filter:blur(14px);

border-bottom:1px solid rgba(255,255,255,0.05);

transition:.4s;

}


.nav-container{

max-width:1400px;

margin:auto;

padding:18px 30px;

display:flex;

align-items:center;

justify-content:space-between;

}


/* LOGO */

.nav-logo{

display:flex;
align-items:center;

gap:12px;

text-decoration:none;

color:white;

font-size:15px;

}

.nav-logo img{

height:36px;

}


/* LINKS */

.nav-links{

display:flex;

gap:32px;

list-style:none;

}

.nav-links a{

color:white;

text-decoration:none;

font-size:15px;

position:relative;

}


/* underline animation */

.nav-links a::after{

content:"";

position:absolute;

bottom:-6px;

left:0;

width:0%;

height:2px;

background:#c8a45c;

transition:.3s;

}

.nav-links a:hover::after{

width:100%;

}


/* CTA */

.nav-cta{

padding:10px 20px;

border:1px solid #c8a45c;

color:#c8a45c;

text-decoration:none;

transition:.3s;

}

.nav-cta:hover{

background:#c8a45c;

color:black;

}


/* MEGA MENU */

.mega-menu{

position:absolute;

left:0;

top:80px;

width:100%;

background:#0a0a0a;

display:flex;

gap:80px;

padding:50px;

opacity:0;

visibility:hidden;

transform:translateY(20px);

transition:.4s;

}


/* show mega menu */

.mega-parent:hover .mega-menu{

opacity:1;

visibility:visible;

transform:translateY(0);

}


/* columns */

.mega-column{

display:flex;

flex-direction:column;

gap:10px;

}

.mega-column h4{

color:#c8a45c;

margin-bottom:10px;

}


/* feature card */

.mega-feature{

display:flex;

gap:20px;

max-width:450px;

}

.mega-feature img{

width:180px;

height:120px;

object-fit:cover;

}

.mega-caption h3{

color:white;

margin-bottom:5px;

}

.mega-caption p{

font-size:14px;

color:#bbb;

margin-bottom:10px;

}

.mega-caption a{

color:#c8a45c;

text-decoration:none;

}


/* MOBILE */

.mobile-toggle{

display:none;

flex-direction:column;

gap:5px;

}

.mobile-toggle span{

width:24px;

height:2px;

background:white;

}


/* MOBILE NAV */

@media(max-width:900px){

.nav-links{

position:absolute;

top:80px;

left:0;

width:100%;

background:#0a0a0a;

flex-direction:column;

align-items:center;

padding:40px 0;

display:none;

}

.nav-links.active{

display:flex;

}

.mobile-toggle{

display:flex;

}

.nav-cta{

display:none;

}

.mega-menu{

display:none;

}

}

/* Hide by default on mobile */
@media (max-width: 992px){

.mega-menu {
display: none;
flex-direction: column;
background: #0b1c2c;
padding: 20px;
}

.mega-menu.active {
display: block;
}

/* Make links vertical */
.mega-column {
margin-bottom: 20px;
}

}

.services-toggle i {
transition: 0.3s;
}

.mega-parent .mega-menu.active + .services-toggle i {
transform: rotate(180deg);
}

@media (max-width: 992px){

.glass-dropdown {
position: fixed;
top: 80px;
left: 50%;
transform: translateX(-50%);

width: 92%;
max-width: 420px;

/* 🔥 KEY FIX */
max-height: 75vh;
overflow-y: auto;

/* GLASS EFFECT */
background: rgba(255,255,255,0.1);
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);

border-radius: 15px;
padding: 20px;

display: none;
flex-direction: column;

z-index: 9999;
}

/* ACTIVE */
.glass-dropdown.active {
display: flex;
}

/* SMOOTH SCROLL */
.glass-dropdown::-webkit-scrollbar {
width: 4px;
}

.glass-dropdown::-webkit-scrollbar-thumb {
background: rgba(255,255,255,0.4);
border-radius: 10px;
}

}

.glass-dropdown::after {
content: "";
position: sticky;
bottom: 0;
height: 30px;
background: linear-gradient(to top, rgba(0,0,0,0.4), transparent);
pointer-events: none;
}

/* ACTIVE STATE */
.glass-dropdown.active {
display: flex;
transform: translateX(-50%) scale(1);
}

/* DARK OVERLAY BEHIND */
.glass-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
z-index: 9998;
display: none;
}

.glass-overlay.active {
display: block;
}

/* COLUMN STACK */
.mega-column {
margin-bottom: 15px;
}

.mega-column h4 {
font-size: 14px;
margin-bottom: 6px;
}

.mega-column a {
font-size: 13px;
padding: 4px 0;
}

/* ICON ROTATION */
.services-toggle i {
transition: 0.3s;
}

.services-toggle.active i {
transform: rotate(180deg);
}

}

.glass-dropdown {
opacity: 0;
}

.glass-dropdown.active {
opacity: 1;
animation: fadeSlide 0.3s ease;
}

@keyframes fadeSlide {
from {
opacity: 0;
transform: translateX(-50%) translateY(-20px) scale(0.95);
}
to {
opacity: 1;
transform: translateX(-50%) translateY(0) scale(1);
}
}

/* ================================================
HERO SECTION
================================================ */

/* CINEMATIC HERO */

.cinematic-hero{

position:relative;

height:100vh;

display:flex;

align-items:center;

justify-content:center;

overflow:hidden;

color:white;

}


/* VIDEO */

.hero-video{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

overflow:hidden;

}

.hero-video video{

width:100%;
height:100%;

object-fit:cover;

}


/* OVERLAY */

.hero-overlay{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

background:linear-gradient(

to bottom,

rgba(0,0,0,0.3),

rgba(0,0,0,0.8)

);

}


/* CONTENT */

.hero-content{

position:relative;

z-index:2;

text-align:center;

max-width:900px;

padding:20px;

}


/* TITLE */

.hero-title{

font-size:64px;

font-weight:600;

letter-spacing:1px;

margin-bottom:20px;

animation:heroFade 1.2s ease forwards;

}

.hero-title span{

color:#c8a45c;

}


/* SUBTITLE */

.hero-subtitle{

font-size:20px;

color:#ccc;

margin-bottom:40px;

animation:heroFade 1.6s ease forwards;

}


/* BUTTONS */

.hero-buttons{

display:flex;

gap:20px;

justify-content:center;

flex-wrap:wrap;

}

.hero-btn{

padding:14px 30px;

font-size:15px;

text-decoration:none;

border:1px solid #c8a45c;

transition:.4s;

}

.hero-btn.primary{

color:#c8a45c;

}

.hero-btn.secondary{

color:#c8a45c;

}

.hero-btn:hover{

transform:translateY(-3px);

box-shadow:0 10px 25px rgba(0,0,0,0.3);

}


/* SCROLL INDICATOR */

.scroll-indicator{

position:absolute;

bottom:40px;

left:50%;

transform:translateX(-50%);

}

.scroll-indicator span{

display:block;

width:24px;
height:40px;

border:2px solid white;

border-radius:12px;

position:relative;

}

.scroll-indicator span::after{

content:"";

width:4px;
height:8px;

background:white;

position:absolute;

left:50%;

top:8px;

transform:translateX(-50%);

animation:scrollMove 2s infinite;

}


/* ANIMATIONS */

@keyframes heroFade{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}


@keyframes scrollMove{

0%{opacity:0; top:6px;}

50%{opacity:1;}

100%{opacity:0; top:22px;}

}


.hero{

background-size:cover;
background-position:center;
border-bottom:1px solid var(--border);

color:white;

min-height:80vh;

display:flex;
align-items:center;

text-align:center;

position:relative;

}

.hero::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,0.45);

}

.hero .container{

position:relative;
z-index:2;

}

.page-hero{

background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),
url("../images/TP 002.jpg");

background-size:cover;
background-position:center;
background-attachment:fixed;
border-bottom:1px solid var(--border);

color:white;

padding:140px 20px;
text-align:center;

}

.page-hero h1{

font-size:48px;
margin-bottom:20px;

}

.page-hero p{

font-size:20px;
max-width:700px;
margin:auto;

}


/* ================================================
SECTION STYLING
================================================ */

.section{

padding:80px 0;

}

.section-title{

font-size:34px;
text-align:center;
margin-bottom:50px;

color:var(--primary);

}

/* ================================================
CARDS
================================================ */

.card{

background:white;
border:1px solid var(--border);

padding:30px;

border-radius:var(--radius);

transition:var(--transition);

}

.card{

transition:all .4s ease;

}

.card:hover{

transform:translateY(-10px);

box-shadow:0 20px 50px rgba(0,0,0,0.15);

}

.card h3{

margin-bottom:15px;

}

/* ================================================
PROJECT PORTFOLIO
================================================ */

.project-card{

background:white;
border:1px solid var(--border);

border-radius:var(--radius);
overflow:hidden;

transition:var(--transition);

}

.project-card:hover{

transform:translateY(-6px);

}

.project-image img{
width:100%;
height:220px;
object-fit:cover;
border-top-left-radius:6px;
border-top-right-radius:6px;
}

.project-content{

padding:25px;

}

.project-content h3{

margin-bottom:10px;

}

.project-meta{

font-size:14px;
color:var(--muted);

}

/* ================================================
BUTTONS
================================================ */

.btn{

display:inline-block;

padding:12px 24px;

border-radius:var(--radius);

font-weight:bold;

cursor:pointer;

transition:var(--transition);

}

.btn-primary{

border:2px solid var(--accent);
color:var(--secondary);

}

.filter-btn{

border:2px solid var(--accent);
color:var(--secondary);

}

.text-center a:hover{

color:var(--accent);

}

.btn-outline{

border:2px solid var(--accent);
color:var(--secondary);

}

.btn-outline:hover{

background:var(--secondary);
color:white;

}

/* ================================================
FORMS
================================================ */

form{

max-width:700px;
margin:auto;

}

.form-group{

margin-bottom:20px;

}

label{

display:block;
margin-bottom:6px;

font-weight:bold;

}

input,
select,
textarea{

width:100%;
padding:12px;

border:1px solid var(--border);

border-radius:var(--radius);

font-size:15px;

}

textarea{

min-height:120px;

}

input:focus,
select:focus,
textarea:focus{

outline:none;
border-color:var(--secondary);

}

/* FORM */

.landowner-form{

margin-top:40px;

}

.form-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:20px;

margin-bottom:20px;

}

.landowner-form input,
.landowner-form select,
.landowner-form textarea{

width:100%;

padding:14px;

outline:none;
border-color:var(--accent);

}

.landowner-form textarea{

height:120px;

margin-bottom:20px;

}

/* ================================================
CALCULATOR UI
================================================ */

.calculator{

background:var(--light);
padding:40px;

border-radius:var(--radius);

}

.calculator-result{

margin-top:30px;
padding:25px;

background:white;
border:1px solid var(--border);

font-size:18px;

}


#result {
  margin-top: 20px;
  font-size: 20px;
}

/* ================================================
METRICS / STATS
================================================ */

.stats-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
text-align:center;

}

.stats{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
text-align:center;

}

.stat h3{

font-size:36px;
color:var(--secondary);

}

.stat p{

color:var(--muted);

}

.counter{

font-size:42px;
font-weight:bold;
color:var(--accent);
margin-bottom:10px;

}

/* ================================================
FOOTER
================================================ */

.cinematic-footer{

position:relative;
background:#050505;
color:#aaa;
overflow:hidden;

padding-top:140px;

}

/* skyline background */

.footer-skyline{

position:absolute;
bottom:0;
left:0;

width:100%;
height:240px;

background:url("assets/images/skyline.png") repeat-x;

opacity:0.08;

animation:skylineMove 60s linear infinite;

}

@keyframes skylineMove{

0%{background-position:0 0;}
100%{background-position:2000px 0;}

}


/* content */

.footer-content{

position:relative;
z-index:2;

text-align:center;

}


/* storytelling */

.footer-story h2{

font-size:40px;
color:white;

margin-bottom:20px;

}

.footer-story p{

max-width:720px;
margin:auto;
margin-bottom:40px;

line-height:1.7;

}

.footer-cta{

padding:16px 36px;

border:1px solid #d4a017;
color:#d4a017;

transition:.4s;

}

.footer-cta:hover{

background:#d4a017;
color:black;

}


/* grid */

.footer-grid{

display:grid;
grid-template-columns:repeat(3,1fr);

gap:50px;

margin-top:100px;

}

.footer-column{

display:flex;
flex-direction:column;
gap:10px;

}

.footer-column h4{

color:white;
margin-bottom:10px;

}

.footer-column a{

color:#aaa;
text-decoration:none;

transition:.3s;

}

.footer-column a:hover{

color:#d4a017;
padding-left:6px;

}


/* glowing social icons */

.footer-social{

margin-top:80px;

}

.footer-social a{

font-size:24px;
margin:0 18px;

color:#aaa;

transition:.4s;

}

.footer-social a:hover{

color:#d4a017;

transform:translateY(-6px) scale(1.2);

text-shadow:0 0 15px #d4a017;

}


/* legal bar */

.footer-legal{

margin-top:50px;
padding:20px 0;

border-top:1px solid #222;

}

.footer-legal a{

margin:0 14px;
font-size:13px;
color:#777;

}

.footer-legal a:hover{

color:white;

}


/* copyright */

.footer-copyright{

background:#000;
padding:18px;
font-size:12px;

margin-top:20px;

}

.cinematic-footer{

opacity:0;
transform:translateY(80px);
transition:1s;

}

.footer-visible{

opacity:1;
transform:translateY(0);

}
/* ================================================
UTILITY CLASSES
================================================ */

.text-center{

text-align:center;

}

.mt-40{

margin-top:40px;

}

.mb-40{

margin-bottom:40px;

}

/* ================================================
ANIMATION UTILITIES
================================================ */

.fade-in{

opacity:0;
transform:translateY(40px);
transition:all .8s ease;

}

.fade-in.visible{

opacity:1;
transform:translateY(0);

}

/* ================================================
RESPONSIVE SYSTEM
================================================ */

@media(max-width:1000px){

.grid-4{

grid-template-columns:1fr 1fr;

}

.stats{

grid-template-columns:1fr 1fr;

}

.footer-container{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:700px){

.nav-links{

display:none;

}

.hero, .page-hero h1{

font-size:34px;

}

.grid-3{

grid-template-columns:1fr;

}

.grid-2{

grid-template-columns:1fr;

}

.footer-container{

grid-template-columns:1fr;

}

}

/* Floating Contact */

.contact-float{

position:fixed;
bottom:35px;
right:35px;

z-index:999;

}

/* main toggle */

.contact-toggle{

width:68px;
height:68px;

border-radius:50%;

background:#111;
color:white;

font-size:26px;

border:none;

cursor:pointer;

box-shadow:0 10px 30px rgba(0,0,0,.4);

transition:.4s;

}

.contact-toggle:hover{

transform:rotate(90deg) scale(1.1);

}

/* options container */

.contact-options{

position:absolute;

bottom:80px;
right:0;

display:flex;
flex-direction:column;

gap:15px;

opacity:0;
pointer-events:none;

transform:translateY(20px);

transition:.4s;

}

/* active menu */

.contact-float.active .contact-options{

opacity:1;
pointer-events:auto;

transform:translateY(0);

}

/* buttons */

.contact-btn{

display:flex;
align-items:center;

gap:12px;

background:#111;

padding:12px 16px;

border-radius:40px;

color:white;

text-decoration:none;

font-size:14px;

box-shadow:0 6px 20px rgba(0,0,0,.4);

transition:.4s;

}

.contact-btn i{

font-size:18px;

}

/* hover glow */

.contact-btn:hover{

transform:translateX(-6px);

box-shadow:0 0 18px rgba(212,160,23,.6);

}

/* colors */

.whatsapp{background:#25D366;}
.phone{background:#0d6efd;}
.email{background:#444;}
.project{background:#d4a017;color:black;}

.whatsapp{

animation:whatsappPulse 2.5s infinite;

}

@keyframes whatsappPulse{

0%{
box-shadow:0 0 0 0 rgba(37,211,102,.7);
}

70%{
box-shadow:0 0 0 18px rgba(37,211,102,0);
}

100%{
box-shadow:0 0 0 0 rgba(37,211,102,0);
}

}

/* Slide Up Animation */

.slide-up{

opacity:0;
transform:translateY(80px);
transition:all 0.9s ease;

}

.slide-up.active{

opacity:1;
transform:translateY(0);

}

html{

scroll-behavior:smooth;

}

body{

opacity:0;
transition:opacity 0.6s ease;

}

body.page-loaded{

opacity:1;

}

img{

max-width:100%;
height:auto;

}

/* COOKIE CONSENT BANNER */

.cookie-banner{

position:fixed;
bottom:20px;
left:50%;
transform:translateX(-50%);
width:90%;
max-width:700px;

background:#1c1c1c;
color:white;

padding:20px 25px;

border-radius:8px;

box-shadow:0 10px 30px rgba(0,0,0,0.3);

z-index:9999;

animation:cookieSlideUp .6s ease;

}

.cookie-content{

display:flex;
justify-content:space-between;
align-items:center;
gap:20px;

}

.cookie-content p{

font-size:14px;
line-height:1.5;

}

.cookie-content a{

color:#4da3ff;
text-decoration:none;

}

.cookie-buttons{

display:flex;
gap:10px;

}

.cookie-btn{

padding:8px 16px;
border:none;
border-radius:4px;
cursor:pointer;
font-weight:600;

}

.cookie-btn.accept{

background:#0077ff;
color:white;

}

.cookie-btn.decline{

background:#444;
color:white;

}

@keyframes cookieSlideUp{

from{

opacity:0;
transform:translate(-50%,40px);

}

to{

opacity:1;
transform:translate(-50%,0);

}

}

/* PAGE LOADER */

#pageLoader{

position:fixed;
top:0;
left:0;

width:100%;
height:100%;

background:#0f0f0f;

display:flex;
justify-content:center;
align-items:center;

z-index:99999;

flex-direction:column;

transition:opacity .6s ease;

}

.loader-content{

text-align:center;
color:white;

}

.loader-logo{

font-size:34px;
font-weight:700;
letter-spacing:4px;

margin-bottom:25px;

}

.loader-bar{

width:200px;
height:3px;

background:#333;

overflow:hidden;

}

.loader-progress{

height:100%;
width:0%;

background:#0077ff;

animation:loaderProgress 2s ease forwards;

}

@keyframes loaderProgress{

0%{
width:0%;
}

100%{
width:100%;
}

}

.loader-hidden{

opacity:0;
pointer-events:none;

}

/* PAGE TRANSITIONS */

#pageTransition{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:#0f0f0f;

z-index:99998;

transform:translateY(-100%);

transition:transform .6s ease;

}

.page-leave{

transform:translateY(0);

}

.page-enter{

transform:translateY(-100%);

}

/* LANDOWNERS HERO */

.landowners-hero{

position:relative;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

color:white;

}


/* PROCESS */

.process-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

gap:30px;

margin-top:40px;

}

.process-card{

padding:30px;

background:white;
border:1px solid var(--border);

}

.process-number{

font-size:40px;

color:#c8a45c;

margin-bottom:10px;

}


/* TYPES */

.types-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}

.type-card{

padding:30px;

background:white;
border:1px solid var(--border);

transition:.3s;

}

.type-card:hover{

transform:translateY(-8px);

}


/* BENEFITS */

.benefits-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}

.benefit-card{

padding:30px;
background:white;
border:1px solid var(--border);

}

.cookie-banner {
position: fixed;
bottom: 0;
width: 100%;
background: #0b1c2c;
color: white;
padding: 20px;
display: none;
z-index: 9999;
}

.cookie-buttons button {
margin-left: 10px;
padding: 10px 20px;
cursor: pointer;
}

.cookie-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.7);
display: none;
justify-content: center;
align-items: center;
z-index: 10000;
}

.cookie-modal-content {
background: white;
padding: 40px;
border-radius: 10px;
width: 400px;
}

.cookie-option {
display: flex;
justify-content: space-between;
margin: 15px 0;
}

.featured-project img {
border-radius: 10px;
border:1px solid var(--border);
transition:.3s;

}

.featured-project img:hover{

transform:translateY(-8px);

}

.success-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.7);
display: none;
justify-content: center;
align-items: center;
z-index: 9999;
}

.success-box {
background: #fff;
padding: 40px;
border-radius: 12px;
text-align: center;
width: 350px;
animation: scaleIn 0.4s ease;
}

.success-box h2 {
color: #0b1c2c;
margin-top: 15px;
}

.success-box button {
margin-top: 20px;
padding: 10px 20px;
background: gold;
border: none;
cursor: pointer;
}

/* ICON ANIMATION */
.success-icon svg {
width: 60px;
height: 60px;
stroke: green;
stroke-width: 3;
stroke-linecap: round;
stroke-linejoin: round;
}

.success-icon circle {
stroke-dasharray: 166;
stroke-dashoffset: 166;
animation: circle 0.6s forwards;
}

.success-icon path {
stroke-dasharray: 48;
stroke-dashoffset: 48;
animation: check 0.4s 0.6s forwards;
}

@keyframes circle {
to { stroke-dashoffset: 0; }
}

@keyframes check {
to { stroke-dashoffset: 0; }
}

@keyframes scaleIn {
from {transform: scale(0.8); opacity:0;}
to {transform: scale(1); opacity:1;}
}

.modal-actions {
margin-top: 20px;
display: flex;
justify-content: center;
gap: 10px;
}

.whatsapp-btn {
background: #25D366;
color: white;
padding: 10px 20px;
text-decoration: none;
border-radius: 6px;
display: inline-flex;
align-items: center;
gap: 8px;
font-weight: bold;
transition: 0.3s;
}

.whatsapp-btn:hover {
background: #1ebe5d;
}