/* ========== RESET & BASE ========== */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',sans-serif; background:#f8f6f3; color:#1a1a1a; line-height:1.7; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
img { max-width:100%; display:block; }
.container { max-width:1140px; margin:0 auto; padding:0 20px; }

/* ========== COLORS ========== */
:root {
    --green-dark: #1a4d1a;
    --green-mid: #2d5a27;
    --green-light: #3a7a33;
    --green-pale: #e8f0e6;
    --green-accent: #7cb342;
    --black: #1a1a1a;
    --white: #ffffff;
    --gray-light: #f5f3f0;
    --gray-mid: #888888;
    --gray-dark: #333333;
    --shadow: 0 8px 30px rgba(0,0,0,0.08);
}

/* ========== BUTTONS ========== */
.btn-primary {
    display:inline-block; background:var(--green-mid); color:#fff;
    padding:12px 32px; border-radius:50px; font-weight:600; font-size:0.9rem;
    transition:all 0.3s ease; border:2px solid var(--green-mid);
    cursor:pointer; letter-spacing:0.3px;
}
.btn-primary:hover { background:var(--green-dark); border-color:var(--green-dark); transform:translateY(-2px); box-shadow:0 8px 25px rgba(45,90,39,0.3); }

.btn-outline {
    display:inline-block; background:transparent; color:var(--white);
    padding:12px 32px; border-radius:50px; font-weight:600; font-size:0.9rem;
    transition:all 0.3s ease; border:2px solid rgba(255,255,255,0.4);
    cursor:pointer;
}
.btn-outline:hover { background:var(--white); color:var(--green-dark); border-color:var(--white); transform:translateY(-2px); }

.btn-green {
    display:inline-block; background:#7cb342; color:#fff;
    padding:12px 32px; border-radius:50px; font-weight:600; font-size:0.9rem;
    transition:all 0.3s ease; border:2px solid #7cb342;
    cursor:pointer;
}
.btn-green:hover { background:transparent; color:#7cb342; transform:translateY(-2px); }

/* ========== HEADER ========== */
header { background:var(--white); padding:6px 0; position:sticky; top:0; z-index:1000; box-shadow:0 2px 20px rgba(0,0,0,0.04); }
.header-top { display:flex; justify-content:space-between; align-items:center; padding:4px 0; border-bottom:1px solid #f0edea; font-size:0.78rem; color:var(--gray-mid); }
.header-top .contact-info span { margin-right:18px; }
.header-top .contact-info i { color:var(--green-mid); margin-right:5px; font-size:0.7rem; }
.header-top .social-links a { color:var(--gray-mid); margin-left:12px; transition:color 0.3s; font-size:0.85rem; }
.header-top .social-links a:hover { color:var(--green-mid); }
.header-main { display:flex; justify-content:space-between; align-items:center; padding:8px 0; }
.logo { font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:700; color:var(--green-dark); }
.logo span { color:var(--black); }
.nav-links { display:flex; gap:24px; align-items:center; }
.nav-links > li { position:relative; }
.nav-links > li > a { font-weight:500; font-size:0.88rem; color:var(--black); transition:color 0.3s; padding:6px 0; }
.nav-links > li > a:hover { color:var(--green-mid); }
.nav-links > li > a.active { color:var(--green-mid); font-weight:600; }

.dropdown-menu {
    position:absolute; top:100%; left:0; background:var(--white);
    min-width:200px; box-shadow:var(--shadow); border-radius:10px;
    padding:10px 0; opacity:0; visibility:hidden;
    transform:translateY(8px); transition:all 0.3s ease;
    border:1px solid #f0edea;
}
.nav-links > li:hover .dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }
.dropdown-menu li a { display:block; padding:6px 22px; font-weight:400; font-size:0.85rem; color:var(--gray-dark); transition:all 0.2s; }
.dropdown-menu li a:hover { background:var(--green-pale); color:var(--green-dark); }

.nav-links .btn-nav { background:var(--green-mid); color:#fff; padding:8px 24px; border-radius:50px; font-weight:600; font-size:0.85rem; transition:all 0.3s; }
.nav-links .btn-nav:hover { background:var(--green-dark); transform:translateY(-2px); box-shadow:0 8px 20px rgba(45,90,39,0.25); }
.nav-links .btn-nav::after { display:none; }
.hamburger { display:none; font-size:1.6rem; cursor:pointer; color:var(--black); }

/* ========== HERO + FORM SECTION ========== */
.hero-form-section {
    background: linear-gradient(135deg, var(--green-dark) 0%, #0d2b0d 100%);
    padding:50px 0 60px;
    position:relative;
    overflow:hidden;
}
.hero-form-section::before {
    content:'';
    position:absolute; top:0; right:0; width:45%; height:100%;
    background:url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?w=800&auto=format&fit=crop') center/cover;
    opacity:0.08;
}
.hero-form-wrapper {
    display:flex;
    align-items:center;
    gap:50px;
    position:relative;
    z-index:1;
}
.hero-left { flex:1; color:var(--white); }
.hero-left .badge {
    display:inline-block; background:rgba(255,255,255,0.1);
    padding:4px 16px; border-radius:50px; font-size:0.7rem;
    letter-spacing:1.5px; text-transform:uppercase;
    margin-bottom:12px; border:1px solid rgba(255,255,255,0.06);
}
.hero-left h1 {
    font-family:'Playfair Display',serif;
    font-size:2.8rem; font-weight:700; line-height:1.15;
    margin-bottom:12px;
}
.hero-left h1 span { color:#aed581; }
.hero-left p {
    font-size:0.98rem; opacity:0.8; max-width:480px;
    margin-bottom:20px; line-height:1.7;
}
.hero-left .stats {
    display:flex; gap:30px; margin-top:16px;
}
.hero-left .stats .stat-item { text-align:center; }
.hero-left .stats .stat-item .number {
    font-family:'Playfair Display',serif;
    font-size:1.6rem; font-weight:700; color:#aed581;
}
.hero-left .stats .stat-item .label {
    font-size:0.75rem; opacity:0.6; text-transform:uppercase; letter-spacing:0.5px;
}

/* ===== INQUIRY FORM ===== */
.inquiry-form-card {
    background:var(--white);
    padding:28px 30px 32px;
    border-radius:16px;
    width:380px;
    flex-shrink:0;
    box-shadow:0 20px 60px rgba(0,0,0,0.3);
}
.inquiry-form-card .form-title {
    font-family:'Playfair Display',serif;
    font-size:1.3rem; color:var(--green-dark);
    margin-bottom:4px;
}
.inquiry-form-card .form-sub {
    font-size:0.82rem; color:var(--gray-mid);
    margin-bottom:16px;
}
.inquiry-form-card .form-group {
    margin-bottom:12px;
}
.inquiry-form-card label {
    display:block; font-weight:500; font-size:0.78rem;
    margin-bottom:3px; color:var(--gray-dark);
}
.inquiry-form-card input,
.inquiry-form-card textarea,
.inquiry-form-card select {
    width:100%;
    padding:10px 14px;
    border:2px solid #e8e5e0;
    border-radius:10px;
    font-family:'Inter',sans-serif;
    font-size:0.88rem;
    transition:border-color 0.3s;
    background:var(--white);
    color:var(--black);
}
.inquiry-form-card input:focus,
.inquiry-form-card textarea:focus,
.inquiry-form-card select:focus {
    outline:none;
    border-color:var(--green-mid);
}
.inquiry-form-card textarea {
    min-height:80px;
    resize:vertical;
}
.inquiry-form-card .btn-primary {
    width:100%;
    text-align:center;
    padding:12px;
    font-size:0.88rem;
}

.success-msg {
    display:none;
    background:#e8f5e9;
    color:#2e7d32;
    padding:12px 16px;
    border-radius:10px;
    border-left:4px solid #43a047;
    margin-bottom:14px;
    font-size:0.88rem;
    font-weight:500;
}
.success-msg.show { display:block; }

/* ========== ABOUT SECTION ========== */
.about-section { padding:60px 0; background:var(--white); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.about-text h2 { font-family:'Playfair Display',serif; font-size:2rem; color:var(--green-dark); margin-bottom:12px; }
.about-text p { color:var(--gray-dark); margin-bottom:12px; font-size:0.95rem; line-height:1.8; }
.about-text .feature-list { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; margin:12px 0; }
.about-text .feature-list li { font-size:0.88rem; color:var(--gray-dark); display:flex; align-items:center; gap:8px; }
.about-text .feature-list li i { color:var(--green-mid); font-size:0.7rem; }
.about-image { border-radius:16px; overflow:hidden; height:300px; background:url('https://images.unsplash.com/photo-1584820927498-cfe5211fd8bf?w=800&auto=format&fit=crop') center/cover; box-shadow:var(--shadow); }

/* ========== SERVICES ========== */
.services-section { padding:60px 0; background:var(--gray-light); }
.section-header { text-align:center; margin-bottom:36px; }
.section-header .subtitle { color:var(--green-mid); font-weight:600; text-transform:uppercase; letter-spacing:2px; font-size:0.7rem; }
.section-header h2 { font-family:'Playfair Display',serif; font-size:2rem; color:var(--black); margin-top:2px; }
.section-header p { color:var(--gray-mid); max-width:520px; margin:6px auto 0; font-size:0.92rem; }

.services-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px; }
.service-card {
    background:var(--white); padding:24px 22px; border-radius:14px;
    transition:all 0.3s ease;
    box-shadow:0 4px 12px rgba(0,0,0,0.04);
    border-bottom:3px solid transparent;
}
.service-card:hover {
    transform:translateY(-4px);
    box-shadow:var(--shadow);
    border-bottom-color:var(--green-mid);
}
.service-card .icon { font-size:1.6rem; color:var(--green-mid); margin-bottom:6px; }
.service-card h3 { font-size:1rem; font-weight:600; margin-bottom:3px; }
.service-card p { color:var(--gray-mid); font-size:0.85rem; line-height:1.6; }

/* ========== WHY CHOOSE ========== */
.why-section { padding:60px 0; background:var(--white); }
.why-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:24px; }
.why-item { text-align:center; padding:24px 16px; border-radius:14px; transition:all 0.3s; background:var(--gray-light); }
.why-item:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.why-item i { font-size:2rem; color:var(--green-mid); margin-bottom:8px; display:block; }
.why-item h4 { font-weight:600; font-size:0.95rem; }
.why-item p { color:var(--gray-mid); font-size:0.85rem; margin-top:2px; }

/* ========== AREAS ========== */
.areas-section { padding:60px 0; background:var(--gray-light); }
.areas-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.areas-badges span { background:var(--white); color:var(--green-dark); padding:8px 24px; border-radius:50px; font-weight:500; font-size:0.85rem; border:1px solid #dce8dc; transition:all 0.3s; }
.areas-badges span:hover { background:var(--green-mid); color:#fff; border-color:var(--green-mid); transform:translateY(-2px); }

/* ========== CTA ========== */
.cta-section { padding:50px 0; background:linear-gradient(135deg, var(--green-dark), #0d2b0d); color:var(--white); text-align:center; }
.cta-section h2 { font-family:'Playfair Display',serif; font-size:2rem; margin-bottom:6px; }
.cta-section p { opacity:0.8; max-width:450px; margin:0 auto 20px; font-size:0.95rem; }

/* ========== FOOTER ========== */
footer { background:var(--black); color:#aaa; padding:50px 0 24px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:30px; margin-bottom:30px; }
.footer-brand .logo { color:#fff; font-size:1.4rem; margin-bottom:8px; display:inline-block; }
.footer-brand .logo span { color:#7cb342; }
.footer-brand p { font-size:0.85rem; line-height:1.8; max-width:300px; }
.footer-col h4 { color:#fff; font-weight:600; margin-bottom:12px; font-size:0.95rem; }
.footer-col ul li { margin-bottom:6px; }
.footer-col ul li a { transition:color 0.3s; font-size:0.85rem; }
.footer-col ul li a:hover { color:#7cb342; }
.footer-col .contact-info-footer i { color:#7cb342; width:20px; font-size:0.85rem; }
.footer-bottom { border-top:1px solid #2a2a2a; padding-top:18px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:0.78rem; }
.footer-bottom .socials a { color:#aaa; margin-left:12px; transition:color 0.3s; font-size:1rem; }
.footer-bottom .socials a:hover { color:#7cb342; }
.footer-bottom .credit { color:#555; }
.footer-bottom .credit a { color:#7cb342; }

/* ========== WHATSAPP FLOATING ========== */
.whatsapp-float {
    position:fixed; bottom:24px; right:24px; z-index:999;
    background:#25D366; color:#fff; width:54px; height:54px;
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:2rem; box-shadow:0 4px 20px rgba(37,211,102,0.35);
    transition:all 0.3s ease; text-decoration:none;
}
.whatsapp-float:hover { transform:scale(1.08); box-shadow:0 6px 30px rgba(37,211,102,0.5); }

/* ========== PAGE HERO (Inner Pages) ========== */
.page-hero {
    background: linear-gradient(135deg, var(--green-dark) 0%, #0d2b0d 100%);
    padding:50px 0 55px;
    color:var(--white);
    text-align:center;
}
.page-hero h1 { font-family:'Playfair Display',serif; font-size:2.6rem; margin-bottom:8px; }
.page-hero p { opacity:0.8; max-width:550px; margin:0 auto; font-size:1rem; }

/* ========== SUB-PAGE CONTENT STYLES ========== */
.page-content { padding:60px 0; background:var(--white); }
.page-content h2 { font-family:'Playfair Display',serif; font-size:1.8rem; color:var(--green-dark); margin-bottom:16px; }
.page-content h3 { font-family:'Playfair Display',serif; font-size:1.3rem; color:var(--green-dark); margin:20px 0 10px; }
.page-content p { color:var(--gray-dark); margin-bottom:14px; font-size:0.95rem; line-height:1.8; }
.page-content ul { margin:12px 0 16px 20px; }
.page-content ul li { list-style:disc; color:var(--gray-dark); margin-bottom:6px; font-size:0.95rem; }

.content-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.content-image { border-radius:16px; overflow:hidden; height:300px; box-shadow:var(--shadow); background-size:cover; background-position:center; }
.related-services { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:16px; margin-top:16px; }
.related-services .related-item { background:var(--gray-light); padding:14px 18px; border-radius:10px; text-align:center; transition:all 0.3s; border-left:3px solid var(--green-mid); }
.related-services .related-item:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.related-services .related-item a { font-weight:500; font-size:0.9rem; color:var(--green-dark); }

/* ========== RESPONSIVE ========== */
@media (max-width:1024px) {
    .hero-form-wrapper { flex-direction:column; }
    .inquiry-form-card { width:100%; max-width:420px; }
    .hero-left { text-align:center; }
    .hero-left p { margin:0 auto 16px; }
    .hero-left .stats { justify-content:center; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .about-grid { grid-template-columns:1fr; }
    .content-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
    .header-top { flex-direction:column; gap:4px; font-size:0.7rem; }
    .header-top .contact-info span { margin-right:10px; }
    .nav-links { display:none; flex-direction:column; gap:12px; background:var(--white); padding:20px; position:absolute; top:100%; left:0; right:0; box-shadow:0 12px 40px rgba(0,0,0,0.1); border-top:2px solid var(--green-pale); }
    .nav-links.open { display:flex; }
    .dropdown-menu { position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; padding-left:16px; padding-top:4px; }
    .hamburger { display:block; }
    .hero-left h1 { font-size:2rem; }
    .inquiry-form-card { padding:20px; }
    .about-text .feature-list { grid-template-columns:1fr; }
    .about-image { height:200px; }
    .footer-grid { grid-template-columns:1fr; }
    .footer-bottom { flex-direction:column; text-align:center; }
    .page-hero h1 { font-size:2rem; }
    .content-image { height:200px; }
}
@media (max-width:480px) {
    .hero-left h1 { font-size:1.6rem; }
    .hero-left .stats { gap:16px; }
    .hero-left .stats .stat-item .number { font-size:1.2rem; }
    .hero-form-section { padding:30px 0 40px; }
    .services-grid { grid-template-columns:1fr; }
    .why-grid { grid-template-columns:1fr; }
    .inquiry-form-card { padding:16px; }
    .btn-primary, .btn-outline, .btn-green { padding:10px 24px; font-size:0.8rem; }
    .page-hero h1 { font-size:1.6rem; }
    .page-hero { padding:35px 0 40px; }
}