/* FILE: style.css (Universal stylesheet) */

/* ==========================================================================
   1. UNIVERSAL VARIABLES & RESET
   ========================================================================== */
:root {
    --primary-orange: #fcb03a; 
    --theme-brown: #B6642C; 
    --theme-gray: #4E4E4E; 
    --dark-text: #19191A; 
    --light-bg: #f9f9f9;
    --border-color: #EAEDEF;
    --dark-blue: #242C64; 
    --red-gradient: #C63A39;
    --font-heading: 'Nunito', sans-serif;
    --font-body: 'Roboto', sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-body);
    color: var(--dark-text);
    line-height: 1.75em;
    font-size: 16px;
    background-color: #ffffff;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: var(--dark-text);
    transition: all 0.3s ease;
}

/* User Hover Preference: Change hover color to brown globally */
a:hover {
    color: var(--theme-brown);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

p {
    text-align: justify;
    text-justify: inter-word;
    margin-bottom: 15px;
    color: var(--dark-text);
}

/* ==========================================================================
   2. UNIVERSAL HEADER & NAVIGATION
   ========================================================================== */
#header {
    background: #ffffff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 68px;\r\n    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    display: flex;
    align-items: center;
    transition: box-shadow 0.3s ease;
}

#header.scrolled {
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.nav-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.logo img {
    max-height: 50px;
    width: auto;
}

.nav-menu {
    flex-grow: 1;
    display: flex;
    justify-content: center;
}

/* Ensure the navigation link area perfectly fills the 100px header 
   so there is no "dead zone" gap where the mouse loses hover. */
.nav-links {
    display: flex;
    gap: 30px;
    align-items: center;
    height: 68px;\r\n}\r\n\r\n.nav-links li {
    display: flex;
    align-items: center;
    height: 100%; /* Stretches the hoverable area from top to bottom of header */
}

.nav-links li a {
    font-weight: 500;
    font-size: 16px;
    color: var(--dark-text);
    transition: color 0.3s ease;
}

/* User Hover Preference: Turn nav items brown on hover */
.nav-links li a.active, .nav-links li a:hover {
    color: var(--theme-brown);
    font-weight: 700;
}

/* Universal Button / Hangover Effect */
.btn-quote {
    background-image: linear-gradient(96deg, var(--theme-brown) 0%, var(--theme-gray) 100%);
    color: #ffffff !important;
    padding: 12px 25px;
    border-radius: 5px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background-image 0.4s ease;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}
.btn-quote:hover {
    background-image: linear-gradient(96deg, var(--theme-gray) 0%, var(--theme-brown) 100%);
}

.mobile-menu-btn {
    display: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--dark-text);
    transition: transform 0.3s ease-in-out;
}

/* =========================================================================
   NEW DESKTOP MEGA MENU (Full Width & Hover Stable)
   ========================================================================= */

.mega-dropdown { position: static !important; }

.mega-menu {
    position: absolute;
    top: 68px;\r\n    left: 0;
    right: 0;
    width: 100%;
    max-width: 100vw;
    background: #ffffff;
    border-radius: 0; 
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
    border: none;
    border-top: 1px solid #f0f0f0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1000;
    padding: 60px 0 80px 0; 
    pointer-events: none;
    margin-top: 0;
    transform: translateY(15px);
}

.mega-menu::before {
    content: ''; position: absolute; top: -20px; left: 0; width: 100%; height: 20px;
}

.mega-dropdown:hover .mega-menu {
    opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
}

.mega-menu-inner { 
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid; 
    grid-template-columns: 1fr 1fr 1.2fr; 
    gap: 40px; 
}
.mega-column { display: flex; flex-direction: column; gap: 8px; }
.mega-title {
    font-size: 12px; text-transform: uppercase; color: #999; letter-spacing: 1px;
    margin-bottom: 10px; font-weight: 800; font-family: var(--font-heading); padding-left: 12px;
}

.mega-item {
    display: flex; align-items: flex-start; gap: 15px; padding: 12px;
    border-radius: 8px; text-decoration: none !important; transition: all 0.3s ease;
}

.mega-icon {
    background: #f4f6f8; width: 40px; height: 40px; min-width: 40px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center; color: #666; font-size: 16px; transition: all 0.3s ease;
}

.mega-text h5 {
    font-family: var(--font-heading); font-size: 15px; font-weight: 800; color: #222;
    margin: 0 0 5px 0; transition: color 0.3s ease;
}

/* Text Justify */
.mega-text p { font-size: 13px; color: #777; margin: 0; line-height: 1.4; font-family: var(--font-body); text-align: justify; }

/* --- Hover Effects Using Your Button Color --- */
.mega-item:hover { background: #FFFCF6; }
.mega-item:hover .mega-icon { background: var(--theme-brown); color: #fff; transform: scale(1.05); }
.mega-item:hover .mega-text h5 { color: var(--theme-brown); }

/* Featured Box */
.feature-column { background: #fafafa; padding: 20px; border-radius: 10px; border: 1px solid #f0f0f0; }
.feature-card { text-decoration: none !important; display: block; }
.feature-card img { width: 100%; height: 130px; object-fit: cover; border-radius: 6px; margin-bottom: 15px; transition: transform 0.3s ease; }
.feature-card h5 { font-family: var(--font-heading); font-size: 16px; color: #222; margin-bottom: 8px; font-weight: 800; transition: color 0.3s ease;}

/* Text Justify */
.feature-card p { font-size: 13px; color: #666; line-height: 1.5; margin: 0; font-family: var(--font-body); text-align: justify; }
.feature-card:hover h5 { color: var(--theme-brown); }
.feature-card:hover img { transform: translateY(-3px); }


/* =========================================================================
   MOBILE SLIDING MENU (Universal Overlay)
   ========================================================================= */
.mobile-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: #fff; z-index: 9999; display: flex; flex-direction: column;
    transform: translateY(100%); opacity: 0; visibility: hidden;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
}
.mobile-overlay.active { transform: translateY(0); opacity: 1; visibility: visible; }

.mob-header { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #eee; }
.mob-close { font-size: 16px; font-weight: 700; color: var(--theme-brown); cursor: pointer; font-family: var(--font-heading); }

.mob-body-wrapper { flex: 1; overflow: hidden; position: relative; }
.mob-slider { display: flex; width: 200%; height: 100%; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.mob-panel { width: 50%; height: 100%; overflow-y: auto; padding-bottom: 100px; }

/* Panel 1: Main Links */
.mob-link {
    display: flex; justify-content: space-between; align-items: center; padding: 20px;
    font-size: 16px; font-weight: 700; color: #111; text-decoration: none; border-bottom: 1px solid #f0f0f0;
    font-family: var(--font-heading); cursor: pointer;
}
.mob-link i { color: var(--theme-brown); font-size: 14px; }

/* Panel 2: Sub Menu */
.mob-back {
    padding: 20px; font-size: 16px; font-weight: 700; color: var(--theme-brown);
    border-bottom: 1px solid #eee; cursor: pointer; font-family: var(--font-heading);
}
.mob-back i { margin-right: 8px; }

.mob-sub-title {
    padding: 20px 20px 10px; font-size: 14px; color: #888; text-transform: uppercase; font-weight: 700; font-family: var(--font-heading);
}

.mob-sub-item { display: flex; align-items: center; gap: 15px; padding: 15px 20px; border-bottom: 1px solid #f5f5f5; text-decoration: none; }
.mob-sub-icon { color: var(--theme-brown); font-size: 20px; width: 30px; text-align: center; }
.mob-sub-text h5 { font-family: var(--font-heading); font-size: 15px; font-weight: 700; color: #111; margin: 0 0 4px; }
.mob-sub-text p { font-size: 13px; color: #777; margin: 0; line-height: 1.4; font-family: var(--font-body); }

/* Mobile Footer Button */
.mob-footer { padding: 20px; border-top: 1px solid #eee; background: #fff; }
.mob-btn {
    display: block; width: 100%; padding: 15px; text-align: center;
    background-image: linear-gradient(96deg, var(--theme-brown) 0%, var(--theme-gray) 100%);
    color: #fff; font-weight: 700; font-family: var(--font-heading); border-radius: 8px; text-decoration: none; font-size: 16px;
}

/* ==========================================================================
   3. UNIVERSAL HERO SECTION
   ========================================================================== */
.blog-hero {
    background-image: linear-gradient(96deg, var(--theme-brown) 0%, var(--theme-gray) 100%);
    margin-top: 100px; 
    height: 200px; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    margin-bottom: 60px;
}

.single-hero {
    height: 250px; 
}

.blog-hero h1 {
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 5px;
}

.breadcrumbs {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 600;
}
.breadcrumbs a { color: #ffffff; }
.breadcrumbs a:hover { opacity: 0.8; }
.dot { margin: 0 8px; font-size: 12px; opacity: 0.7; }

.single-post-meta {
    margin-top: 10px;
    font-size: 14px;
    font-family: var(--font-body);
}

/* ==========================================================================
   4. UNIVERSAL PAGE LAYOUT & SIDEBAR
   ========================================================================== */
.blog-page-layout {
    display: grid;
    grid-template-columns: 2.2fr 1fr;
    gap: 40px;
    margin-bottom: 80px;
}

.sidebar-area {
    padding-left: 20px;
}
.sidebar-widget {
    margin-bottom: 40px;
}
.widget-title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: var(--dark-text);
    margin-bottom: 20px;
}
.search-widget form {
    display: flex;
    border-bottom: 1px solid var(--theme-brown);
}
.search-widget input {
    flex-grow: 1;
    padding: 10px 0;
    border: none;
    outline: none;
    font-size: 16px;
}
.search-widget button {
    background: #fff;
    border: none;
    padding: 0 10px;
    color: var(--dark-text);
    cursor: pointer;
}
.widget-list li {
    margin-bottom: 15px;
    position: relative;
    padding-left: 20px;
}
.widget-list li::before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--theme-brown);
    font-size: 14px;
}
.recent-posts-list li {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    gap: 15px;
}
.recent-posts-list img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 4px;
}
.rp-info span {
    display: block;
    font-size: 13px;
    color: var(--theme-gray);
    margin-bottom: 5px;
    font-family: var(--font-heading);
    font-weight: 600;
}
.rp-info a {
    font-size: 15px;
    line-height: 1.4;
    font-weight: bold;
}
.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.tag-cloud a {
    background: rgba(182,100,44, 0.05);
    color: var(--dark-text);
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 14px !important; 
    font-weight: 500;
    transition: all 0.3s;
    text-transform: capitalize;
    border: 1px solid transparent;
}
.tag-cloud a:hover {
    background: var(--theme-brown);
    color: #fff;
}
.no-padding { padding: 0; }

/* ==========================================================================
   5. BLOG GRID 
   ========================================================================== */
.blog-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 40px;
}
.blog-card {
    background: #fff;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.blog-card-image {
    overflow: hidden;
    margin-bottom: 15px;
}
.blog-card-image img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.blog-card:hover .blog-card-image img {
    transform: scale(1.05);
}
.blog-meta {
    font-size: 14px;
    color: var(--theme-gray);
    margin-bottom: 10px;
    font-family: var(--font-body);
}
.blog-cat { color: var(--dark-text); font-weight: bold; }
.blog-card h2 {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 15px;
}
.blog-card h2 a:hover { color: var(--theme-brown); }
.blog-card p.excerpt {
    color: var(--theme-gray);
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 25px;
    flex-grow: 1; 
}
.blog-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--border-color);
    padding-top: 15px;
    margin-top: auto;
}

/* ==========================================================================
   6. SINGLE BLOG POST STYLES
   ========================================================================== */
.single-area { background: #fff; padding-top: 20px; }
.single-post-header { margin-bottom: 20px; }
.single-post-header h1 {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 800;
    color: var(--dark-text);
    margin-bottom: 10px;
    line-height: 1.2;
}
.post-meta { font-size: 14px; color: var(--theme-gray); font-weight: 500; }
.post-meta a { color: var(--theme-gray); }
.post-meta a:hover, .post-meta a.cat-link { color: var(--theme-brown); }
.single-post-image img { width: 100%; border-radius: 4px; margin-bottom: 30px; }
.post-content h3 { font-family: var(--font-heading); font-size: 22px; font-weight: 800; margin: 30px 0 15px; }
.post-content strong { font-weight: 700; }
.styled-list { margin-left: 20px; margin-bottom: 25px; }
.styled-list li { margin-bottom: 10px; position: relative; padding-left: 20px; }
.styled-list li::before {
    content: "•"; color: var(--theme-brown); font-size: 20px; position: absolute; left: 0; top: -4px;
}
.post-bottom-meta { display: flex; justify-content: space-between; align-items: center; margin-top: 40px; flex-wrap: wrap; gap: 20px; }

/* Share Effects */
.share-links-inline { display: flex; gap: 12px; align-items: center; }
.share-text { font-family: var(--font-heading); font-weight: bold; color: var(--dark-text); margin-right: 5px; }
.share-links-inline a { color: var(--theme-gray); font-size: 16px; transition: color 0.3s, transform 0.2s; }
.share-links-inline a.fb:hover { color: #1877F2; transform: scale(1.1); }
.share-links-inline a.tw:hover { color: #1DA1F2; transform: scale(1.1); }
.share-links-inline a.pi:hover { color: #E60023; transform: scale(1.1); }
.share-links-inline a.li:hover { color: #0A66C2; transform: scale(1.1); }
.share-links-inline a.em:hover { color: #D44638; transform: scale(1.1); }

.share-wrapper { display: flex; align-items: center; position: relative; overflow: hidden; }
.social-icons { display: flex; gap: 12px; opacity: 0; transform: translateX(30px); transition: all 0.3s ease; pointer-events: none; margin-right: 15px; }
.share-wrapper:hover .social-icons, .share-wrapper.active .social-icons { opacity: 1; transform: translateX(0); pointer-events: auto; }
.social-icons a { font-size: 16px; color: var(--theme-gray); transition: color 0.3s, transform 0.2s; }
.social-icons a.fb:hover { color: #1877F2; transform: scale(1.1); }
.social-icons a.tw:hover { color: #1DA1F2; transform: scale(1.1); }
.social-icons a.pi:hover { color: #E60023; transform: scale(1.1); }
.social-icons a.li:hover { color: #0A66C2; transform: scale(1.1); }
.social-icons a.em:hover { color: #D44638; transform: scale(1.1); }
.share-toggle { background: none; border: none; color: var(--dark-text); cursor: pointer; font-size: 16px; transition: color 0.3s; outline: none; z-index: 2; background: #fff; }
.share-toggle:hover { color: var(--theme-brown); }
.post-share-interactive { display: flex; align-items: center; gap: 20px; }
.like-button { font-size: 16px; color: var(--dark-text); cursor: pointer; }
.like-button:hover { color: var(--theme-brown); }
.separator { border: 0; border-top: 1px solid var(--border-color); margin: 40px 0; }

/* Related & Comments */
.related-posts-section .widget-title { font-family: var(--font-heading); font-size: 24px; font-weight: 800; margin-bottom: 20px; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.related-img-wrapper { overflow: hidden; border-radius: 4px; margin-bottom: 15px; }
.related-card img { width: 100%; height: 150px; object-fit: cover; transition: transform 0.3s ease; }
.related-card:hover img { transform: scale(1.05); }
.related-meta { font-size: 12px; color: var(--theme-gray); margin-bottom: 5px; }
.related-meta a { color: var(--theme-brown); }
.related-card h4 a { font-size: 16px; font-weight: 700; line-height: 1.4; font-family: var(--font-body); }
.related-card h4 a:hover { color: var(--theme-brown); }

.comments-section .widget-title { font-family: var(--font-heading); font-size: 24px; font-weight: 800; margin-bottom: 10px; }
.comment-notes { font-size: 14px; color: var(--theme-gray); margin-bottom: 30px; }
.form-row { display: flex; gap: 20px; margin-bottom: 20px; }
.input-group { flex: 1; display: flex; flex-direction: column; }
.input-group label { margin-bottom: 5px; font-size: 15px; color: var(--dark-text); }
.input-group input, .input-group textarea { padding: 12px 15px; border: 1px solid var(--border-color); border-radius: 4px; background: var(--light-bg); outline: none; font-family: var(--font-body); }
.input-group input:focus, .input-group textarea:focus { border-color: var(--theme-brown); }
.checkbox-group { display: flex; align-items: center; gap: 10px; margin-top: 15px; }
.checkbox-group label { font-size: 14px; color: var(--theme-gray); }

/* Navigation */
.post-navigation { display: flex; justify-content: space-between; align-items: center; margin-top: 50px; border-top: 1px solid var(--border-color); padding-top: 30px; }
.nav-prev, .nav-next { display: flex; flex-direction: column; max-width: 40%; color: var(--dark-text); font-weight: 700; font-size: 16px; transition: color 0.3s; }
.nav-next { text-align: right; }
.nav-prev span, .nav-next span { font-size: 12px; color: var(--theme-gray); text-transform: uppercase; margin-bottom: 5px; }
.nav-prev:hover, .nav-next:hover { color: var(--theme-brown); }
.nav-icon { font-size: 24px; color: var(--border-color); transition: color 0.3s; }
.nav-icon:hover { color: var(--theme-brown); }

/* Pagination */
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 30px; }
.page-link { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: rgba(182,100,44, 0.04); color: var(--dark-text); font-family: var(--font-heading); font-weight: 700; border-radius: 4px; transition: background 0.3s; }
.page-link:hover { background: rgba(182,100,44, 0.14); }
.page-link.active { background: var(--dark-text); color: #fff; }

/* ==========================================================================
   7. UNIVERSAL FOOTER & PERFECT ALIGNMENTS
   ========================================================================== */
.newsletter-bar { background-image: linear-gradient(180deg, var(--theme-brown) 0%, var(--theme-gray) 100%); padding: 30px 0; color: #fff; }
.nl-inner { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.nl-text { display: flex; align-items: center; gap: 20px; flex: 1; }
.nl-icon { font-size: 45px; flex-shrink: 0; }
.nl-text h3 { font-family: var(--font-heading); font-size: 22px; margin-bottom: 5px; line-height: 1.2; }
.nl-text p { margin: 0; font-size: 16px; color: #fff; text-align: left; }

.nl-form { 
    display: flex; 
    width: 450px; 
    max-width: 100%; 
    height: 50px; 
    border-radius: 5px; 
    overflow: hidden; 
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); 
}
.nl-form input { 
    flex: 1; 
    padding: 0 15px; 
    border: none; 
    outline: none; 
    background: #fff; 
    font-size: 15px; 
    height: 100%; 
}
.nl-form button { 
    background-image: linear-gradient(96deg, var(--dark-blue) 0%, var(--theme-brown) 100%); 
    color: #fff; 
    border: none; 
    padding: 0 30px; 
    font-weight: 700; 
    cursor: pointer; 
    text-transform: uppercase; 
    font-family: var(--font-heading); 
    transition: opacity 0.3s ease; 
    height: 100%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}
.nl-form button:hover { opacity: 0.9; }

.footer-contacts-bar { background: #fff; border-bottom: 1px solid var(--border-color); }
.footer-contacts { display: flex; align-items: center; justify-content: space-between; padding: 40px 0; gap: 30px; }
.fc-col { flex: 1; display: flex; align-items: center; gap: 20px; }

.fc-icon { 
    width: 55px !important; 
    height: 55px !important; 
    border-radius: 50% !important; 
    background: var(--theme-brown); 
    color: #fff; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    font-size: 24px; 
    flex-shrink: 0; 
}
.fc-icon.blue { background: var(--dark-blue); }

.fc-col div { display: flex; flex-direction: column; justify-content: center; }
.fc-col h4 { font-family: var(--font-heading); font-size: 18px; color: var(--dark-text); margin-bottom: 4px; font-weight: 800; line-height: 1.2; }

/* User Request: Ensure footer address text strictly matches the body font style */
.fc-col p { 
    margin: 0; 
    color: var(--theme-gray); 
    line-height: 1.75em; 
    text-align: left; 
    font-family: 'Roboto', sans-serif; /* Explicitly mapped to your standard body font */
    font-size: 16px;
    font-weight: 400;
}

.main-footer { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 30px; padding: 50px 20px; background: #fff; }
.footer-col h4 { font-family: var(--font-heading); font-size: 20px; color: var(--dark-text); margin-bottom: 25px; font-weight: 800; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { color: var(--dark-text); font-size: 16px; transition: color 0.3s ease; }

/* User Hover Preference: Turn footer links brown on hover */
.footer-links a:hover { color: var(--theme-brown); }

.social-links a { 
    display: inline-flex; 
    justify-content: center; 
    align-items: center; 
    margin-right: 15px; 
    transition: transform 0.3s, opacity 0.3s; 
    background: transparent !important; 
    border-radius: 0 !important; 
    text-decoration: none;
}
.social-links a i { font-size: 36px; } 
.social-links a[href*="facebook"] i { color: #1877F2; } 
.social-links a[href*="linkedin"] i { color: #0A66C2; } 
.social-links a:hover { transform: scale(1.1); opacity: 0.8; }

.footer-logo { margin-top: 30px; }
.footer-logo img { max-width: 200px; }
.copyright { text-align: center; padding: 20px 0 30px; font-size: 14px; color: var(--dark-text); background: #fff; }

.whatsapp-float { position: fixed; bottom: 20px; right: 20px; width: 55px; height: 55px; background-color: #25D366; color: #FFF; border-radius: 10px; display: flex; justify-content: center; align-items: center; font-size: 30px; z-index: 100; transition: transform 0.3s; }
.whatsapp-float:hover { transform: scale(1.05); color: #fff; }

/* ==========================================================================
   8. MOBILE RESPONSIVENESS
   ========================================================================== */

html, body {
    overflow-x: hidden;
    width: 100%;
}

/* --- TABLET & SMALL DESKTOP ADJUSTMENTS (max-width: 1024px) --- */
@media screen and (max-width: 1024px) {
    .container {
        padding: 0 20px;
    }
    
    .nav-menu { display: none; } 
    .btn-quote { display: none; }
    .mobile-menu-btn { display: block; }
    .mega-menu { display: none !important; }

    .split-layout, .about-inner, .hero-inner, .contact-inner {
        flex-direction: column !important;
        text-align: center;
        gap: 40px;
    }
    
    .split-content, .split-image, .hero-content, .hero-image { width: 100%; }
    .split-image img { margin: 0 auto; }
    
    .services-grid-2col, .platter-grid, .why-us-grid, .blog-layout, .blog-main, .portfolio-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .main-footer {
        grid-template-columns: repeat(2, 1fr) !important;
        text-align: center;
    }
    
    .footer-col h4::after {
        left: 50%; transform: translateX(-50%);
    }
    
    .social-links { justify-content: center; }
    .footer-logo img { margin: 0 auto; }
}






/* 1. Force the title area to have a consistent minimum height */
.blog-card h2 {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 15px;
    min-height: 65px; /* This ensures 2-3 lines of space always exist */
    display: flex;
    align-items: flex-start;
}

/* 2. Ensure the excerpt takes up the remaining space properly */
.blog-card p.excerpt {
    color: var(--theme-gray);
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 25px;
    flex-grow: 1; /* This pushes the footer to the bottom of the card */
}

/* 3. Ensure the footer stays at the very bottom of the card */
.blog-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--border-color);
    padding-top: 15px;
    margin-top: auto; /* This is crucial for alignment */
}


/* --- MOBILE PHONES ADJUSTMENTS (max-width: 768px) --- */
@media screen and (max-width: 768px) {
    .section-padding { padding: 60px 0 !important; }
    
    h1 { font-size: 32px !important; line-height: 1.2 !important; }
    h2, .fluid-h2 { font-size: 28px !important; line-height: 1.3 !important; }
    h3, .fluid-h3 { font-size: 22px !important; }
    p, .fluid-p { font-size: 15px !important; }
    .blog-page-layout {
        grid-template-columns: 1fr !important;
    }
    
    .services-grid, .platter-grid, .why-us-grid, .photo-services-grid, 
    .blog-grid, .portfolio-grid, .services-grid-2col {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    
    .contact-grid-form, .form-grid { grid-template-columns: 1fr !important; }
    .form-group.full, .contact-grid-form textarea, .contact-grid-form button { grid-column: span 1 !important; }
    input, textarea, select { -webkit-appearance: none; border-radius: 6px; }
    
    .reverse-mobile { flex-direction: column-reverse !important; }
    
    .timeline-center-line { display: none !important; }
    .timeline-row { flex-direction: column !important; justify-content: center !important; }
    .timeline-content { width: 100% !important; text-align: center !important; flex-direction: column; align-items: center; }
    .timeline-content::after { display: none !important; }
    
    .page-hero { padding: 120px 0 60px !important; height: auto !important; }
    
    .stats-container { flex-direction: column; gap: 30px; }
    .stat-block { width: 100%; margin-bottom: 0; }
    .stat-divider { display: none; }
    .offer-card { flex-direction: column; text-align: center; align-items: center; }
    .offset-card { margin-left: 0 !important; }
    
    .testi-center { padding: 30px !important; }
    .testi-author { flex-direction: column; text-align: center; }
    .testi-info { border-left: none; border-top: 1px solid #eee; padding-left: 0; padding-top: 15px; margin-top: 15px; }
    
    .main-footer { grid-template-columns: 1fr !important; gap: 40px; }
    
    .footer-contacts { flex-direction: column; gap: 50px; align-items: center; justify-content: center; padding: 50px 20px; }
    .fc-col { flex-direction: column; text-align: center; align-items: center; width: 100%; gap: 15px; }
    .fc-col p { text-align: center; } 
    
    .newsletter-bar { padding: 40px 0; }
    .nl-inner { display: flex; flex-direction: column; } 
    .nl-text { flex-direction: column; text-align: center; margin-bottom: 20px; }
    .nl-form { flex-direction: column; background: transparent; box-shadow: none; padding: 0; gap: 15px; height: auto; } 
    .nl-form input { background: #fff; border-radius: 6px; text-align: center; padding: 15px; height: 50px; } 
    .nl-form button { width: 100%; border-radius: 6px !important; height: 50px; }
}

/* --- EXTRA SMALL MOBILE SCREENS (max-width: 480px) --- */
@media screen and (max-width: 480px) {
    .growth-stats { grid-template-columns: 1fr !important; }
    h1 { font-size: 28px !important; }
    .btn { padding: 14px 28px; width: 100%; text-align: center; }
    .client-marquee img { margin: 0 15px; height: 50px; }
    .form-checkboxes { grid-template-columns: 1fr; }
}



/* ==========================================================================
   PAGE-SPECIFIC: SINGLE POST LAYOUT & STYLING
   ========================================================================== */

/* Full Screen Container (No Sidebar) */
.single-post-full-layout {
    max-width: 1000px; 
    margin: 0 auto;
    padding-bottom: 60px;
}

/* Enforce Exact Justify Alignment for all text within the post content */
.post-content p, 
.post-content .styled-list li {
    text-align: justify !important;
    text-justify: inter-word !important;
    line-height: 1.8;
}

/* Custom Checkbox (Matching the provided UI) */
.custom-checkbox-group { display: flex; align-items: center; gap: 10px; margin-top: 15px; }
.custom-checkbox-group input[type="checkbox"] {
    -webkit-appearance: none; appearance: none; width: 20px; height: 20px;
    border: 1.5px solid #a8a8a8; border-radius: 4px; background-color: #ffffff;
    display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0;
}
.custom-checkbox-group input[type="checkbox"]:checked { background-color: #27889b; border-color: #27889b; }
.custom-checkbox-group input[type="checkbox"]:checked::after { content: '\2714'; color: #ffffff; font-size: 14px; font-weight: 900; }
.custom-checkbox-group label { font-size: 14px; color: var(--theme-gray); cursor: pointer; }

/* Custom Form Submission Notification Popup */
.custom-notify {
    position: fixed; bottom: 30px; right: 30px; background-color: #28a745; color: white;
    padding: 16px 24px; border-radius: 6px; box-shadow: 0 6px 15px rgba(0,0,0,0.15);
    display: flex; align-items: center; gap: 12px; z-index: 10000;
    transform: translateY(100px); opacity: 0; transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    font-weight: 500; font-family: var(--font-body, sans-serif);
}
.custom-notify.show { transform: translateY(0); opacity: 1; }

@media screen and (max-width: 768px) {
    .comment-form .comment-btn-fix,
    .comment-form .btn-quote {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important; 
        min-width: 200px;
        padding: 12px 30px !important;
        font-size: 14px !important;
        position: relative !important;
        z-index: 10;
        margin-top: 20px !important;
    }
}







/* ==============================================================
   GLOBAL TYPOGRAPHY (To match blog-single-unleashing consistently)
   ============================================================== */
body {
    font-family: 'Roboto', sans-serif;
}

h1, h2, h3, h4, h5, h6, .btn-discover, .intro-badge, .custom-toast {
    font-family: 'Nunito', sans-serif;
}








/* ==========================================================================
   BLOG ARCHIVE PAGE - FULL STYLES
   ========================================================================== */

/* Main Wrapper */
.blog-list {
    display: flex;
    flex-direction: column;
    gap: 50px;
    max-width: 900px;
    margin: 0 auto;
}

/* Individual Card */
.blog-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    padding-bottom: 20px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
}

/* Featured Image - FIXED SIZE */
.blog-card-image {
    margin-bottom: 25px;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
}



.blog-card:hover .blog-card-image img {
    transform: scale(1.05);
}

/* Typography & Content Spacing */
.blog-meta, 
.blog-card h2, 
.blog-card p.excerpt, 
.blog-card-footer {
    padding: 0 30px;
}

.blog-meta {
    font-size: 14px;
    color: var(--theme-gray);
    margin-bottom: 10px;
    font-family: var(--font-body);
}

.blog-cat { 
    color: var(--dark-text); 
    font-weight: bold; 
    transition: color 0.3s;
}
/* Updated container for the blog archive */
.blog-card-image {
    margin-bottom: 25px;
    overflow: hidden;
    border-radius: 12px;
    position: relative;
    width: 100%;
    /* Changing the ratio to 16/10 makes the image TALLER than 16/9 */
    aspect-ratio: 16 / 10; 
}

.blog-card-image img {
    width: 100%;
    height: 100%; /* Forces the image to fill the taller container */
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
    display: block;
}
.blog-cat:hover { color: var(--theme-brown); }

.blog-card h2 {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 15px;
    line-height: 1.3;
}

.blog-card h2 a { color: var(--dark-text); }
.blog-card h2 a:hover { color: var(--theme-brown); }

.blog-card p.excerpt {
    color: var(--theme-gray);
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 25px;
}

/* Footer Interaction */
.blog-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--border-color);
    padding-top: 20px !important;
    margin-top: auto;
}

.read-more {
    color: var(--theme-brown);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
    transition: opacity 0.3s;
}

.read-more:hover { opacity: 0.8; }

/* Social Icons & Interactions */
.post-share-interactive {
    display: flex; 
    align-items: center; 
    gap: 15px;
}

.share-wrapper {
    display: flex; 
    align-items: center; 
    gap: 10px;
    position: relative;
}

.social-icons {
    display: flex; 
    gap: 10px;
    opacity: 0;
    transform: translateX(10px);
    transition: all 0.3s ease;
    pointer-events: none;
}

.share-wrapper:hover .social-icons {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.share-toggle {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--dark-text);
    font-size: 16px;
}

.share-toggle:hover { color: var(--theme-brown); }

.like-button {
    font-size: 16px;
    color: var(--dark-text);
    cursor: pointer;
    transition: color 0.3s;
}

.like-button:hover { color: var(--theme-brown); }



/* ==============================================================
   SERVICES PAGE ALIGNMENT & STYLES (Specific to services.html)
   ============================================================== */

/* Reduced Gap for Intro Section */
.services-intro {
    padding-top: 40px; 
    padding-bottom: 20px;
}
.intro-container {
    text-align: center; 
    max-width: 800px; 
    margin: 0 auto;
}
.intro-badge {
    color: var(--theme-brown); 
    font-size: 13px; 
    font-weight: 800; 
    letter-spacing: 1.5px;
    margin-bottom: 8px;
    display: inline-block;
    font-family: var(--font-heading);
}
.intro-container h2 {
    font-size: 38px;
    font-family: var(--font-heading);
    margin-bottom: 15px;
    font-weight: 800;
}
.intro-desc {
    color: var(--theme-gray);
    font-size: 16px;
    line-height: 1.8;
}

/* Alternating Row Backgrounds */
.service-row {
    padding: 80px 0;
}
.service-row.alt-bg {
    background-color: var(--light-bg); 
}

/* Flex Container */
.service-flex-container {
    display: flex;
    align-items: center; 
    justify-content: space-between;
    gap: 70px;
}
.service-flex-container.reverse {
    flex-direction: row-reverse;
}

.service-col { flex: 1; }
.service-col.text-col { max-width: 50%; }
.service-col.img-col {
    max-width: 50%; 
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Standard Image Wrapper (No Blob effect, aligns correctly) */
.service-image-wrapper {
    width: 100%;
    max-width: 550px; 
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}
.service-image-wrapper img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Text Content styling inside columns */
.service-content h2 {
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 18px;
    color: var(--dark-text);
    font-family: var(--font-heading);
}

.service-content p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--theme-gray);
    margin-bottom: 30px;
}

/* ==============================================================
   SUB-SERVICES GRID (Equal Box Sizes & High Interactive Hover)
   ============================================================== */
.sub-services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 20px;
    margin-bottom: 35px;
}

.sub-service-card {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    padding: 16px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04); 
    gap: 15px;
    border: 1px solid transparent;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); 
    cursor: pointer;
    /* FIX: Force height to 100% so all grid cards are equal size */
    height: 100%; 
    box-sizing: border-box;
}

.sub-service-card i {
    font-size: 22px;
    color: var(--theme-brown); 
    width: 35px;
    text-align: center;
    transition: all 0.3s ease;
}

.sub-service-card h5 {
    font-size: 15px;
    font-weight: 700;
    color: var(--dark-text);
    margin: 0;
    line-height: 1.3;
    font-family: var(--font-heading);
}

/* Hover Effect */
.sub-service-card:hover {
    transform: translateY(-6px); 
    box-shadow: 0 15px 25px rgba(0, 0, 0, 0.08); 
    border-color: #f1f1f1;
}
.sub-service-card:hover i {
    transform: scale(1.15); 
    color: var(--theme-gray);
}

/* ==============================================================
   DISCOVER MORE BUTTON (Matches Global GET A QUOTE Gradient)
   ============================================================== */
.btn-discover {
    display: inline-block;
    background-image: linear-gradient(96deg, var(--theme-brown) 0%, var(--theme-gray) 100%);
    color: #ffffff;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px 32px;
    border-radius: 5px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-image 0.4s ease, transform 0.3s ease;
}

.btn-discover:hover {
    background-image: linear-gradient(96deg, var(--theme-gray) 0%, var(--theme-brown) 100%);
    transform: translateY(-2px);
    color: #ffffff;
}

/* ==============================================================
   CONTACT SECTION ONLY: BLOB MASKING
   ============================================================== */
.contact-blob-wrapper {
    position: relative;
    width: 100%;
    max-width: 450px; 
    aspect-ratio: 1 / 1; 
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}

/* Background Organic Decorative Blob */
.contact-blob-wrapper::before {
    content: '';
    position: absolute;
    top: -5%;
    left: -5%;
    width: 110%;
    height: 110%;
    background: var(--theme-brown); 
    border-radius: 41% 59% 46% 54% / 62% 38% 54% 46%;
    z-index: 0;
    opacity: 0.9;
}

/* Secondary small floating decorative blob */
.contact-blob-wrapper::after {
    content: '';
    position: absolute;
    bottom: -5%;
    right: -5%;
    width: 25%;
    height: 25%;
    background: linear-gradient(135deg, var(--theme-brown), var(--theme-gray));
    border-radius: 60% 40% 40% 60% / 50% 50% 50% 50%;
    z-index: 2;
}

/* The actual image masked as an organic shape */
.contact-blob-wrapper img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 54% 46% 62% 38% / 41% 54% 46% 59%; 
    z-index: 1;
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

/* Contact Form Specific Styles */
.contact-form-area form { margin-top: 25px; }
.form-row-split { display: flex; gap: 20px; margin-bottom: 20px; }
.form-row-split input, .contact-form-area textarea {
    flex: 1;
    width: 100%;
    padding: 15px 20px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: #fafafa;
    font-family: var(--font-body);
    font-size: 15px;
    transition: border-color 0.3s ease;
}
.contact-form-area textarea { margin-bottom: 25px; resize: vertical; box-sizing: border-box; }
.contact-form-area input:focus, .contact-form-area textarea:focus {
    outline: none;
    border-color: var(--theme-brown);
    background: #fff;
}

/* Mobile Responsiveness for Services */
@media (max-width: 991px) {
    .service-flex-container, .service-flex-container.reverse {
        flex-direction: column;
        gap: 50px;
    }
    .service-col.text-col, .service-col.img-col { max-width: 100%; }
    .service-image-wrapper, .contact-blob-wrapper { max-width: 400px; }
}
@media (max-width: 767px) {
    .sub-services-grid { grid-template-columns: 1fr; }
    .form-row-split { flex-direction: column; gap: 20px; }
    .service-content h2 { font-size: 28px; }
}










/* ==============================================================
   SERVICE PAGES STYLES (digital-marketing.css)
   Handles alignments for Animation, Digital Marketing, etc.
   ============================================================== */

/* Section Basics */
.dm-section {
    padding: 80px 0;
}
.dm-section.alt-bg {
    background-color: var(--light-bg); 
}

/* Fix for top gap below Hero section */
.dm-section:first-of-type {
    padding-top: 40px; 
}

/* Intro Badge */
.intro-badge {
    color: var(--theme-brown); 
    font-size: 14px; 
    font-weight: 800; 
    letter-spacing: 1.5px;
    margin-bottom: 12px;
    display: inline-block;
    font-family: var(--font-heading);
    text-transform: uppercase;
}

/* Split Layout (Text and Image side-by-side) */
.split-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}
.split-content {
    flex: 1;
}
.split-image {
    flex: 1;
    display: flex;
    justify-content: center;
}
.split-image img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
}
.split-content h2 {
    font-size: 36px;
    font-family: var(--font-heading);
    font-weight: 800;
    color: var(--dark-text);
    margin-bottom: 20px;
    line-height: 1.3;
}
.split-content p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--theme-gray);
    margin-bottom: 20px;
    text-align: justify;
}

/* ==============================================================
   PLATTER GRID (Centered Cards - Matches Screenshots)
   ============================================================== */
.section-title {
    margin-bottom: 50px;
}
.section-title h2 {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 15px;
    color: var(--dark-text);
}
.section-title p {
    font-size: 18px;
    color: var(--theme-gray);
    text-align: center;
}
.text-center {
    text-align: center;
}


/* If you specifically request 2 columns via HTML class */
.platter-grid.grid-2-col {
    grid-template-columns: repeat(2, 1fr);
}

/* FORCE UNIFORM GRID ALIGNMENT ACROSS ALL PAGES */

/* If you have 4 images, use this specific media query to make them 2x2 */
@media (min-width: 768px) {
    /* If you want the 4-box layout to be 2x2, use this: */
    .four-box-layout {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* Flexible Grid - Prevents expansion and allows natural centering */
.platter-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Centers the whole block */
    gap: 30px;
    margin-top: 30px;
    width: 100%;
}

/* Define a fixed basis so cards don't expand */
.platter-card {
    flex: 0 0 calc(33.333% - 30px); /* 3 cards per row */
    max-width: 400px; /* Optional: prevents cards from getting too huge */
    
    /* Your existing card styles remain */
    background: #ffffff;
    border-radius: 12px;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid #f1f1f1;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .platter-card {
        flex: 0 0 calc(50% - 30px); /* 2 cards per row on tablet */
    }
}

@media (max-width: 767px) {
    .platter-card {
        flex: 0 0 100%; /* 1 card per row on mobile */
    }
}




.platter-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08);
}

.icon-circle {
    width: 75px;
    height: 75px;
    background: rgba(182, 100, 44, 0.08); /* Faint brown background */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
    transition: all 0.3s ease;
}

.icon-circle i {
    font-size: 32px;
    color: var(--theme-brown);
    transition: transform 0.3s ease;
}

.platter-card:hover .icon-circle {
    background: var(--theme-brown);
}
.platter-card:hover .icon-circle i {
    color: #ffffff;
    transform: scale(1.1);
}

.platter-card h4 {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    color: var(--dark-text);
    margin-bottom: 15px;
}

.platter-card p {
    font-size: 15px;
    color: var(--theme-gray);
    line-height: 1.7;
    margin: 0;
    text-align: center; /* Overrides justify for these cards */
}

/* ==============================================================
   WHY CHOOSE US LIST
   ============================================================== */
.check-list {
    list-style: none;
    margin-top: 20px;
}
.check-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    font-size: 16px;
    color: var(--theme-gray);
    line-height: 1.6;
}
.check-list i {
    color: var(--theme-brown);
    font-size: 20px;
    margin-top: 3px;
    flex-shrink: 0; /* Prevents icon from squishing */
}

/* ==============================================================
   FAQ ACCORDION & CONTACT FORM
   ============================================================== */
.faq-contact-row {
    align-items: flex-start;
}

.faq-col {
    flex: 1.2;
}
.faq-col h2 {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 30px;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.faq-item {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
}

/* FAQ QUESTION FIX: Keeps icon strictly on the right */
.faq-question {
    width: 100%;
    text-align: left;
    padding: 20px 25px;
    background: transparent;
    border: none;
    font-size: 16px;
    font-weight: 700;
    font-family: var(--font-heading);
    color: var(--dark-text);
    cursor: pointer;
    display: flex;
    justify-content: space-between; /* Pushes text left, icon right */
    align-items: center;
    transition: color 0.3s;
}
.faq-question .icon {
    font-size: 22px;
    font-weight: 400;
    color: var(--theme-brown);
    flex-shrink: 0; /* STOPS THE ICON FROM BREAKING OR SQUISHING */
    margin-left: 15px;
}
.faq-item.active .faq-question, .faq-question:hover {
    color: var(--theme-brown);
}
.faq-answer {
    padding: 0 25px 20px;
    display: none;
    color: var(--theme-gray);
    font-size: 15px;
    line-height: 1.7;
    text-align: justify;
}

/* Contact Form Box (Right Side) */
.contact-col {
    flex: 0.8;
}
.contact-form-box {
    background: #ffffff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06);
}
.contact-form-box h2 {
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 15px;
}
.contact-form-box p {
    font-size: 15px;
    color: var(--theme-gray);
    margin-bottom: 30px;
    line-height: 1.6;
}

.contact-form-area form { margin-top: 10px; }
.form-row-split { display: flex; gap: 15px; margin-bottom: 15px; }
.form-row-split input, .contact-form-area textarea {
    flex: 1;
    width: 100%;
    padding: 16px 20px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: #fdfdfd;
    font-family: var(--font-body);
    font-size: 15px;
    transition: border-color 0.3s ease, background 0.3s ease;
}
.contact-form-area textarea { margin-bottom: 20px; resize: vertical; box-sizing: border-box; }
.contact-form-area input:focus, .contact-form-area textarea:focus {
    outline: none;
    border-color: var(--theme-brown);
    background: #fff;
}

/* Buttons */
.btn-discover {
    display: inline-block;
    background-image: linear-gradient(96deg, var(--theme-brown) 0%, var(--theme-gray) 100%);
    color: #ffffff;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 16px 36px;
    border-radius: 5px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: 0 6px 15px rgba(0,0,0,0.1);
    transition: background-image 0.4s ease, transform 0.3s ease;
}
.btn-discover:hover {
    background-image: linear-gradient(96deg, var(--theme-gray) 0%, var(--theme-brown) 100%);
    transform: translateY(-2px);
    color: #ffffff;
}
.universal-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin: 40px 0;
}
.universal-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    border: 1px solid #f9f9f9;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}


/* Container for the 2x2 layout */
.platter-grid-2x2 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 30px !important;
    margin-top: 30px !important;
}

/* Force each card to be exactly 50% width (minus the gap) */
.platter-grid-2x2 .platter-card {
    flex: 0 0 calc(50% - 15px) !important; /* 50% width for 2x2 layout */
    max-width: 500px !important;
    height: auto !important; /* Prevents forced stretching */
    min-height: 350px; /* Optional: ensures they look uniform */
}

/* Responsive: Stack to 1 column on mobile */
@media (max-width: 767px) {
    .platter-grid-2x2 .platter-card {
        flex: 0 0 100% !important;
    }
}

/* ==============================================================
   MOBILE RESPONSIVENESS
   ============================================================== */
@media (max-width: 991px) {
    .split-layout {
        flex-direction: column;
        gap: 50px;
    }
    .split-image, .split-content {
        width: 100%;
    }
    .platter-grid, .platter-grid.grid-2-col {
        grid-template-columns: repeat(2, 1fr); /* Tablet gets 2 columns */
    }
    .faq-contact-row {
        flex-direction: column;
    }
    .faq-col, .contact-col {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .dm-section {
        padding: 50px 0;
    }
    .platter-grid, .platter-grid.grid-2-col {
        grid-template-columns: 1fr; /* Mobile phones get 1 column */
    }
    .form-row-split {
        flex-direction: column;
        gap: 15px;
    }
    .split-content h2, .faq-col h2, .section-title h2 {
        font-size: 28px;
    }
    .contact-form-box {
        padding: 30px 20px;
    }
}
.platter-card img {
    width: 60px; /* or whatever icon size you use */
    height: 60px;
    object-fit: contain;
    margin-bottom: 15px;
}
/* FORCE ALIGNMENT OVERRIDE */
.split-layout {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 60px !important;
    flex-direction: row !important;
}

/* Force Grid Alignment */


/* Ensure images/icons are consistent */
.platter-card img {
    width: 60px !important;
    height: 60px !important;
    object-fit: contain !important;
    margin-bottom: 15px !important;
}
/* 1. Reset the Grid/Container to be absolutely sure no grid rules apply */
.platter-grid-2x2 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 30px !important;
    margin-top: 30px !important;
    width: 100% !important;
    grid-template-columns: none !important; /* CRITICAL: Kills grid override */
}

/* 2. Style the cards to prevent stretching */
.platter-grid-2x2 .platter-card {
    flex: 0 0 calc(50% - 15px) !important; /* Forces 2 per row */
    height: auto !important;             /* CRITICAL: Allows natural height */
    min-height: 0 !important;            /* CRITICAL: Removes forced height */
    padding: 40px 30px !important;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #f1f1f1;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}

/* 3. Mobile Reset */
@media (max-width: 767px) {
    .platter-grid-2x2 .platter-card {
        flex: 0 0 100% !important; /* 1 per row on mobile */
    }
}

/* FAQ/Contact Section Alignment */
.faq-contact-row {
    display: flex !important;
    flex-direction: row !important;
    gap: 50px !important;
    align-items: flex-start !important;
}

/* Mobile Responsiveness (Force correct stack) */
@media (max-width: 991px) {
    .split-layout, .faq-contact-row {
        flex-direction: column !important;
    }
    .platter-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 767px) {
    .platter-grid {
        grid-template-columns: 1fr !important;
    }
}
/* Add this to digital-marketing.css */
.platter-card img {
    width: 60px !important;
    height: 60px !important;
    object-fit: contain !important; /* Keeps the icon shape perfect without stretching */
    display: block;
    margin: 0 auto 15px auto;
}
/* 1. Master Container for all 2x2 sections */
.platter-grid-2x2 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 30px !important;
    margin-top: 30px !important;
    width: 100% !important;
    grid-template-columns: none !important; /* Kill grid */
}

/* 2. Card logic: No stretching, fixed 50% width */
.platter-grid-2x2 .platter-card {
    flex: 0 0 calc(50% - 15px) !important; /* Forces 2 per row */
    max-width: 480px !important;           /* Prevents boxes from getting too wide */
    height: auto !important;               /* Kills stretch */
    min-height: 0 !important;              /* Kills stretch */
    padding: 40px 30px !important;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #f1f1f1;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}

/* 3. Mobile: Stack 1 per row */
@media (max-width: 767px) {
    .platter-grid-2x2 .platter-card {
        flex: 0 0 100% !important;
    }
}









/* =========================================================================
   ABOUT US - UNIQUE PAGE STYLES (about.css)
   Handles the specific layouts requested via screenshots and ensures text matching
   ========================================================================= */

/* General Section Rules */
.about-section {
    padding: 80px 0;
    width: 100%;
}
.section-padded {
    padding-left: 20px;
    padding-right: 20px;
}
.alt-bg {
    background-color: var(--light-bg, #f9f9f9); 
}
.relative-z {
    position: relative;
    z-index: 2;
}
/* =========================================================================
   UNIVERSAL HERO SECTION (Matches Services/Blog Pages)
   ========================================================================= */
.blog-hero {
    background-image: linear-gradient(96deg, var(--theme-brown, #B6642C) 0%, var(--theme-gray, #4E4E4E) 100%);
    margin-top: 68px;
    height: 200px; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    margin-bottom: 60px;
}

.blog-hero h1 {
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 5px;
}

.breadcrumbs {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 600;
}
.breadcrumbs a { color: #ffffff; }
.breadcrumbs a:hover { opacity: 0.8; }
.dot { margin: 0 8px; font-size: 12px; opacity: 0.7; }

/* Intro Badges */
.intro-badge {
    font-family: var(--font-heading);
    font-size: 14px !important; 
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 10px;
    letter-spacing: 1.5px;
    background: linear-gradient(96deg, var(--theme-brown, #B6642C) 0%, var(--theme-gray, #4E4E4E) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* Split Layout */
.split-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    width: 100%;
}
.split-layout.align-start {
    align-items: flex-start;
}
.split-image {
    flex: 1;
    text-align: center;
}
.split-image img {
    max-width: 100%;
    height: auto;
}

/* -------------------------------------------------------------
   CORRECTION 1: First Image - Increased Height & Perfect Fit
   ------------------------------------------------------------- */
.about-hero-img {
    width: 100%;
    height: 550px; /* Increased Height */
    object-fit: cover; /* Ensures image fills perfectly without stretching */
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.split-image img.rounded-image {
    border-radius: 40px;
    box-shadow: 0 22px 90px rgba(18, 28, 109, 0.13);
}

.split-content {
    flex: 1.2;
}
.split-content h2 {
    font-family: var(--font-heading);
    font-size: clamp(32px, 4vw, 42px);
    font-weight: 800;
    color: var(--dark-text);
    margin-bottom: 25px;
    line-height: 1.3;
}

/* Enforce Exact Justify Alignment for all text within the About Page Content */
.split-content p, 
.stat-text p, 
.value-text p, 
.why-card p {
    text-align: justify !important;
    text-justify: inter-word !important;
    line-height: 1.8;
    color: #444;
}

.split-content p {
    margin-bottom: 20px;
}

/* Checkmarks List */
.check-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.check-list li {
    font-size: 16px;
    line-height: 1.7;
    color: #444;
    margin-bottom: 15px;
    position: relative;
    padding-left: 30px;
    text-align: justify !important;
    text-justify: inter-word !important;
}
.check-list li i {
    position: absolute;
    left: 0;
    top: 5px;
    color: var(--theme-brown, #B6642C);
    font-size: 16px;
}

/* =========================================================================
   STATS ROW (3 Columns)
   ========================================================================= */
.stats-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.stat-col {
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 0 30px;
}
.bordered-stat {
    border-left: 1px solid #DCDDE4;
}
.stat-num-box {
    text-align: left;
    min-width: 120px;
}
.stat-num-box .counter, .stat-num-box {
    font-size: 56px;
    font-weight: 800;
    font-family: var(--font-heading);
    color: var(--dark-text);
    line-height: 1;
}
.stat-title {
    display: block;
    font-size: 14px;
    font-weight: 700;
    font-family: var(--font-body);
    color: var(--dark-text);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 5px;
}
.stat-text p {
    font-size: 15px;
    margin: 0;
}

/* =========================================================================
   VALUES / WHAT WE OFFER SECTION
   ========================================================================= */

/* -------------------------------------------------------------
   CORRECTION 3: Heading Placed Specifically Above Image
   ------------------------------------------------------------- */
.values-img-container {
    display: flex;
    flex-direction: column;
    text-align: left;
}
.values-heading {
    text-align: left;
    margin-bottom: 20px;
}
.values-heading h2 {
    font-size: 38px;
    margin-bottom: 0;
    line-height: 1.2;
}
.values-large-img {
    width: 100%;
    border-radius: 12px;
    object-fit: cover;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.values-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* -------------------------------------------------------------
   CORRECTION 2: Brown Interactive Icons (Replaces the Images)
   ------------------------------------------------------------- */
.value-card {
    display: flex;
    align-items: flex-start;
    background: #fff;
    padding: 30px 25px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    border: 1px solid transparent;
}
.value-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(182, 100, 44, 0.15);
    border-color: rgba(182,100,44, 0.1);
}

/* Interactive Icon Circle matching Service Page */
.icon-circle {
    width: 70px;
    height: 70px;
    min-width: 70px; /* Prevents squishing */
    background: rgba(182, 100, 44, 0.08); /* Faint brown background */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 25px;
    transition: all 0.3s ease;
}

.icon-circle i {
    font-size: 30px;
    color: var(--theme-brown, #B6642C);
    transition: transform 0.3s ease;
}

/* Hover effects for the icon inside the card */
.value-card:hover .icon-circle {
    background: var(--theme-brown, #B6642C);
}
.value-card:hover .icon-circle i {
    color: #ffffff;
    transform: scale(1.1);
}

.value-text h4 {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: var(--dark-text);
    margin-bottom: 10px;
    text-transform: uppercase;
}
.value-text p {
    font-size: 15px;
    margin: 0;
}

/* =========================================================================
   WHY US (6 Column Grid)
   ========================================================================= */
.section-title {
    max-width: 800px;
    margin: 0 auto 50px;
}
.section-title h2 {
    font-family: var(--font-heading);
    font-size: clamp(32px, 4vw, 40px);
    font-weight: 800;
    color: var(--dark-text);
    line-height: 1.5; 
}
.why-us-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 40px;
    text-align: center;
}
.why-card img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    margin: 0 auto 20px;
    transition: transform 0.3s ease;
}
.why-card:hover img {
    transform: scale(1.1);
}
.why-card h4 {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: var(--dark-text);
    margin-bottom: 15px;
}
.why-card p {
    font-size: 15px;
}

/* =========================================================================
   EXPERIENCE (Progress Bars)
   ========================================================================= */
.progress-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.progress-item {
    width: 100%;
}
.progress-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--dark-text);
    font-weight: 600;
}
.progress-bar-bg {
    width: 100%;
    height: 6px;
    background-color: #E6E6E7;
    border-radius: 4px;
    overflow: hidden;
}
.progress-bar-fill {
    height: 100%;
    background-color: var(--theme-brown, #B6642C);
    border-radius: 4px;
    width: 0; 
    transition: width 1.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* =========================================================================
   MOBILE RESPONSIVENESS
   ========================================================================= */
@media (max-width: 992px) {
    .split-layout {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }
    .split-content p {
        text-align: left; 
    }
    .check-list li {
        text-align: justify !important;
        display: inline-block;
        width: 100%;
    }
    .stats-row {
        flex-direction: column;
        gap: 40px;
    }
    .stat-col {
        padding: 0;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .stat-num-box {
        text-align: center;
    }
    .bordered-stat {
        border-left: none;
        border-top: 1px solid #DCDDE4;
        padding-top: 30px;
    }
    .values-img-container .values-heading {
        text-align: left !important;
    }
    .why-us-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .about-section {
        padding: 50px 0;
    }
    .value-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .icon-circle {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .value-text p {
        text-align: center !important; 
        text-justify: auto !important;
    }
    .why-us-grid {
        grid-template-columns: 1fr;
    }
}
/* Universal Card Grid Alignment for About Page */
.universal-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.universal-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    border: 1px solid #f9f9f9;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.universal-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08);
}

.universal-icon-wrapper {
    width: 75px;
    height: 75px;
    background: rgba(182, 100, 44, 0.08);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
    transition: all 0.3s ease;
}

.universal-icon-wrapper i {
    font-size: 32px;
    color: var(--theme-brown);
}

/* Hover effects for the icon */
.universal-card:hover .universal-icon-wrapper {
    background: var(--theme-brown);
}
.universal-card:hover .universal-icon-wrapper i {
    color: #ffffff;
}

.universal-card h3 {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    color: var(--dark-text);
    margin-bottom: 15px;
}

.universal-card p {
    font-size: 15px;
    color: var(--theme-gray);
    line-height: 1.7;
    margin: 0;
    text-align: center;
}





/* =========================================================================
   CONTACT US - UNIQUE PAGE STYLES (contact.css)
   ========================================================================= */

.align-start {
    align-items: flex-start;
}

.split-content p,
.c-faq-answer p {
    text-align: justify !important;
    text-justify: inter-word !important;
    line-height: 1.8;
}

/* 1. Head Office Box */
.contact-details-box {
    text-align: left;
    background: #fff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06);
    height: 100%;
    width: 100%;
    box-sizing: border-box;
}

.gradient-title {
    font-size: clamp(28px, 4vw, 38px) !important;
    font-family: var(--font-heading);
    font-weight: 800;
    margin-bottom: 30px !important;
    background: linear-gradient(96deg, var(--theme-brown, #B6642C) 0%, var(--theme-gray, #4E4E4E) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.info-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.info-list li {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    font-size: 16px;
    color: var(--dark-text, #19191A);
    line-height: 1.6;
}
.info-list li:last-child {
    margin-bottom: 0;
}
.info-list li .icon-wrap {
    background-color: var(--theme-brown, #B6642C);
    color: #fff;
    width: 45px;
    height: 45px;
    min-width: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: 0 4px 10px rgba(182, 100, 44, 0.2);
}
.info-list li span {
    text-align: left; 
}

/* 2. Map Section */
.map-section {
    width: 100%;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 0;
}

/* 3. FAQ & CONTACT FORM LAYOUT */
.target-design-row {
    display: flex;
    flex-wrap: wrap; 
    align-items: flex-start;
    gap: 40px;
    width: 100%;
}

.faq-col {
    flex: 1 1 50%;
    min-width: 320px; 
    text-align: left; 
}

.contact-col {
    flex: 1 1 40%;
    min-width: 320px; 
    text-align: left; 
}

.faq-col h2 {
    text-align: left !important; 
    margin-bottom: 25px;
    font-family: var(--font-heading);
    font-size: 32px;
}

/* FAQ STYLES - REDUCED GAP */
.target-style-faq {
    margin-top: 15px;
}
.target-style-faq .c-faq-item {
    background: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    margin-bottom: 8px; /* GAP REDUCED HERE */
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
.target-style-faq .c-faq-question {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 16px 20px; /* Slightly tighter padding */
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    color: var(--dark-text, #19191A);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: color 0.3s ease;
}
.target-style-faq .c-faq-item.active {
    border-color: #f5f5f5;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.target-style-faq .c-faq-item.active .c-faq-question {
    color: var(--theme-brown, #8B5A2B);
}
.target-style-faq .c-faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px; 
    color: var(--theme-brown, #8B5A2B);
    font-size: 14px;
    transition: transform 0.3s ease-in-out;
}
.target-style-faq .c-faq-item.active .c-faq-icon {
    transform: none; 
}
.target-style-faq .c-faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0 20px;
    transition: max-height 0.4s ease, opacity 0.4s ease, padding 0.4s ease;
}
.target-style-faq .c-faq-item.active .c-faq-answer {
    max-height: 500px;
    opacity: 1;
    padding-bottom: 20px; 
}

/* CONTACT CARD STYLES */
.contact-target-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06);
    box-sizing: border-box;
}
.contact-target-card h2 {
    font-size: 28px;
    font-family: var(--font-heading);
    color: var(--dark-text, #19191A);
    margin-bottom: 15px;
    text-align: left;
}
.contact-target-card p {
    font-size: 15px;
    color: #555;
    margin-bottom: 30px;
    line-height: 1.6;
    text-align: left;
}

/* FORM STYLES */
.contact-form-clean {
    width: 100%;
}
.form-row-split {
    display: flex;
    flex-wrap: wrap; 
    gap: 15px;
    width: 100%;
    margin-bottom: 15px;
}
.form-row-split input {
    flex: 1 1 calc(50% - 10px);
    min-width: 200px; 
    padding: 14px 18px;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
    background: #fdfdfd;
    font-family: var(--font-body);
    font-size: 15px;
    transition: all 0.3s ease;
}
.contact-form-area textarea {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
    background: #fdfdfd;
    font-family: var(--font-body);
    font-size: 15px;
    margin-bottom: 15px; 
    resize: vertical; 
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.contact-form-area input:focus, .contact-form-area textarea:focus {
    outline: none;
    border-color: #8B5A2B;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(139, 90, 43, 0.1);
}

/* CHECKBOX SECTION STYLES */


/* SUBMIT BUTTON */
.target-btn-wrapper {
    display: flex;
    justify-content: flex-start; /* Left aligned matching screenshot */
    width: 100%;
    margin-top: 20px;
}
.dark-submit-btn {
    background: linear-gradient(96deg, #8B5A2B 0%, #5E4633 100%);
    color: #fff;
    border: none;
    padding: 14px 40px;
    font-size: 15px;
    font-weight: 700;
    border-radius: 6px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: 0.3s ease;
}
.dark-submit-btn:hover {
    box-shadow: 0 5px 15px rgba(139, 90, 43, 0.4);
    transform: translateY(-2px);
}
/* FAQ & CONTACT FORM LAYOUT */
.faq-contact-row {
    display: flex;
    flex-wrap: wrap; 
    align-items: flex-start;
    gap: 40px;
    width: 100%;
}

.faq-col {
    flex: 1.2; /* FAQ takes up 60% */
    min-width: 320px; 
}

.contact-col {
    flex: 0.8; /* Form takes up 40% */
    min-width: 320px; 
}

/* FAQ Accordion Styling */
.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 25px;
}

.c-faq-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    margin-bottom: 10px;
}

.c-faq-question {
    width: 100%;
    padding: 20px 25px;
    background: transparent;
    border: none;
    font-size: 16px;
    font-weight: 700;
    font-family: var(--font-heading);
    color: var(--dark-text);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* The fixed-width icon prevents the "wobble" */
.c-faq-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.c-faq-item.active .c-faq-icon {
    transform: rotate(180deg);
}

.c-faq-answer {
    padding: 0 25px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}

.c-faq-item.active .c-faq-answer {
    max-height: 200px; /* Adjust based on content */
    padding-bottom: 20px;
}

/* Form Styles */
.contact-form-box {
    background: #fff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06);
}

.form-row-split {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.form-row-split input, .contact-form-area textarea {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid #eee;
    border-radius: 6px;
    font-family: var(--font-body);
}

/* Checkbox Grid */
.checkbox-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 992px) {
    .target-design-row {
        flex-direction: column;
        gap: 50px;
    }
    .faq-col, .contact-col {
        width: 100%;
        flex: none;
    }
    .contact-details-box, .contact-target-card {
        padding: 30px;
    }
}

@media (max-width: 768px) {
    .contact-col {
        padding-bottom: 60px !important; 
        overflow: visible !important;
    }
    .contact-details-box, .contact-target-card {
        padding: 25px;
    }
    .form-row-split {
        flex-direction: column;
    }
    .form-row-split input {
        width: 100%;
    }
    /* Stack checkboxes into a single column on mobile */
    .target-checkbox-area .checkbox-grid {
        grid-template-columns: 1fr; 
    }
    .target-checkbox-area {
        padding: 20px;
    }
    /* Keep button left aligned on mobile, or center it if preferred */
    .target-btn-wrapper {
        justify-content: flex-start; 
    }
}
/* CHECKBOX SECTION STYLES - FULLY RESPONSIVE */
.target-checkbox-area {
    text-align: left;
    margin-top: 10px;
    margin-bottom: 25px;
    background: #f9f9f9;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
    width: 100%;
    box-sizing: border-box; /* Crucial for preventing overflow */
}

.target-checkbox-area .checkbox-main-label {
    font-size: 16px;
    color: var(--dark-text, #19191A);
    display: block;
    margin-bottom: 18px;
    font-weight: 700;
    font-family: var(--font-heading);
}

.target-checkbox-area .checkbox-grid {
    display: grid;
    /* Uses auto-fit to allow the grid to adapt to screen width naturally */
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); 
    gap: 15px;
    width: 100%;
}

.target-checkbox-area .check-box {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: #555;
    cursor: pointer;
    font-family: var(--font-body);
    /* Ensures text doesn't overlap the box */
    word-break: break-word; 
    line-height: 1.4;
}

/* Force visibility of the checkbox */
.target-checkbox-area .check-box input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #8B5A2B;
    border-radius: 4px;
    background-color: #fff;
    cursor: pointer;
    flex-shrink: 0; /* Prevents checkbox from flattening */
    position: relative;
    transition: all 0.2s ease;
}

.target-checkbox-area .check-box input[type="checkbox"]:checked {
    background-color: #8B5A2B;
}

.target-checkbox-area .check-box input[type="checkbox"]:checked::after {
    content: "✓";
    color: white;
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* MOBILE SPECIFIC OVERRIDES */
@media (max-width: 600px) {
    .target-checkbox-area {
        padding: 15px; /* Reduces padding to save space on tiny screens */
    }
    
    .target-checkbox-area .checkbox-grid {
        grid-template-columns: 1fr; /* Forces 1-column on mobile */
        gap: 12px;
    }
    
    .target-checkbox-area .check-box {
        font-size: 14px; /* Slightly smaller text for compact screens */
    }
}



























/* =========================================================================
   OUR WORKS - UNIQUE PAGE STYLES (our-works.css)
   Redesigned to use text/icon cards instead of images.
   ========================================================================= */

.portfolio-main {
    padding: 80px 0;
    background-color: var(--light-bg, #f9f9f9);
    min-height: 600px;
}
/* --- Filtering System --- */
.portfolio-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 50px;
}

.filter-btn {
    padding: 10px 25px;
    border: 2px solid var(--theme-brown, #B6642C);
    background: transparent;
    color: var(--dark-text, #19191A);
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
}

.filter-btn.active, .filter-btn:hover {
    background: var(--theme-brown, #B6642C);
    color: #fff;
    box-shadow: 0 5px 15px rgba(182, 100, 44, 0.2);
}

/* --- Grid Layout --- */
.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    transition: all 0.4s ease;
}

/* --- New Text-Based Portfolio Card --- */
.portfolio-item {
    display: block; /* Makes the entire wrapper clickable */
    text-decoration: none;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 5px 20px rgba(0,0,0,0.04);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    border: 1px solid transparent;
    overflow: hidden;
    position: relative;
    /* Animation base styles */
    transform: scale(1);
    opacity: 1;
}

.portfolio-item:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08);
    border-color: #f1f1f1;
}

.portfolio-card-inner {
    padding: 40px 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}

.port-icon {
    width: 70px;
    height: 70px;
    background: rgba(182,100,44, 0.08); /* Faint brown background */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

.port-icon i {
    font-size: 30px;
    color: var(--theme-brown, #B6642C);
    transition: transform 0.3s ease;
}

.portfolio-item:hover .port-icon {
    background: var(--theme-brown, #B6642C);
}
.portfolio-item:hover .port-icon i {
    color: #ffffff;
    transform: scale(1.1);
}

.portfolio-card-inner h3 {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    color: var(--dark-text);
    margin-bottom: 10px;
    transition: color 0.3s ease;
    line-height: 1.3;
}

.portfolio-item:hover .portfolio-card-inner h3 {
    color: var(--theme-brown, #B6642C);
}

.portfolio-card-inner p {
    font-size: 15px;
    color: var(--theme-gray, #4E4E4E);
    margin-bottom: 25px;
    font-family: var(--font-body);
}

/* Action Button Inside Card */
.view-btn {
    font-size: 13px;
    font-weight: 800;
    color: var(--theme-brown, #B6642C);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: var(--font-heading);
    display: inline-block;
    padding: 10px 24px;
    border-radius: 5px;
    background: rgba(182,100,44,0.06);
    transition: all 0.3s ease;
}

.portfolio-item:hover .view-btn {
    background: var(--theme-brown, #B6642C);
    color: #fff;
    transform: translateX(3px); /* Subtle arrow move effect */
}

/* --- Mobile Responsiveness --- */
@media (max-width: 991px) {
    .portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .portfolio-main {
        padding: 50px 0;
    }
    .portfolio-grid {
        grid-template-columns: 1fr;
    }
    .filter-btn {
        padding: 8px 18px;
        font-size: 14px;
    }
    .portfolio-card-inner h3 {
        font-size: 20px;
    }
}





/* ==========================================================================
   INDEX.CSS - HOME PAGE SPECIFIC STYLES & MOBILE OVERRIDES
   All rules are strictly prefixed so they ONLY apply to the index.html page.
   ========================================================================== */

/* --- DYNAMIC NAVIGATION BAR (Transparent to Solid) --- */
#header.home-header {
    background-color: transparent !important; 
    box-shadow: none !important;
    position: fixed !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 999999 !important;
    height: 68px !important;\r\n    transition: transform 0.4s ease, background-color 0.4s ease, box-shadow 0.4s ease !important;
}

/* Active solid background when scrolling */
#header.home-header.scrolled-active {
    background-color: #ffffff !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
}

/* Class applied by JS to hide the header when mobile overlay is active */
#header.home-header.header-hidden {
    transform: translateY(-100%) !important;
}

#header.home-header .nav-links li a {
    color: #19191A !important;
    transition: color 0.3s ease !important;
}

/* Consistent Hover Brown Color across all items */
#header.home-header .nav-links li a:hover, 
#header.home-header .nav-links li a.active {
    color: var(--theme-brown, #B6642C) !important;
}

/* Remove tap highlight and focus from the mobile hamburger menu to keep it clean */
#header.home-header .mobile-menu-btn {
    -webkit-tap-highlight-color: transparent !important;
    outline: none !important;
    background: transparent !important;
}
#header.home-header .mobile-menu-btn:focus,
#header.home-header .mobile-menu-btn:active {
    outline: none !important;
    background: transparent !important;
}

/* Universal Section padding for Index */
#home-main section {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    padding: 100px 0 !important;
    box-sizing: border-box !important;
}

#home-main .section-header {
    text-align: center !important;
    max-width: 800px !important;
    margin: 0 auto 50px auto !important;
    display: block !important;
}

#home-main .section-header h2 {
    font-size: 42px !important;
    margin-bottom: 15px !important;
    line-height: 1.4 !important;
    font-family: var(--font-heading, 'Nunito', sans-serif) !important;
    font-weight: 800 !important;
    color: #19191A !important;
    text-align: center !important;
}

#home-main .subtitle {
    color: var(--theme-brown, #B6642C) !important;
    font-family: var(--font-heading, 'Nunito', sans-serif) !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    display: inline-block !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

/* --- Hero Section --- */
#home-hero { padding: 160px 0 120px !important; background: var(--light-bg, #f9f9f9) !important; overflow: hidden !important; position: relative !important;}
#home-hero .hero-bg-glow { position: absolute !important; top: -20% !important; left: -10% !important; width: 50% !important; height: 60% !important; background: radial-gradient(circle, rgba(182, 100, 44, 0.15) 0%, transparent 70%) !important; z-index: 0 !important; }
#home-hero .hero-inner { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 50px !important; position: relative !important; z-index: 1 !important; }
#home-hero .hero-content { flex: 1 !important; padding-right: 20px !important; text-align: left !important; }
#home-hero .hero-content h1 { font-size: clamp(40px, 5vw, 58px) !important; line-height: 1.1 !important; margin-bottom: 25px !important; color: #19191A !important; text-align: left !important; font-family: var(--font-heading, 'Nunito', sans-serif) !important; font-weight: 800 !important;}
#home-hero .dynamic-text-wrapper { color: var(--theme-brown, #B6642C) !important; display: inline-block !important; }
#home-hero .cursor { display: inline-block !important; width: 3px !important; background-color: var(--theme-brown, #B6642C) !important; animation: blink 0.7s infinite !important; }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
#home-hero .hero-content p { font-size: 17px !important; margin-bottom: 35px !important; max-width: 550px !important; text-align: left !important; color: #555 !important; line-height: 1.7 !important;}
#home-hero .hero-contact { display: flex !important; align-items: center !important; gap: 20px !important; margin-top: 40px !important; }
#home-hero .hero-contact .icon-box { width: 50px !important; height: 50px !important; background: rgba(182, 100, 44, 0.1) !important; color: var(--theme-brown, #B6642C) !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 20px !important; }
#home-hero .hero-contact span { font-size: 22px !important; font-weight: 800 !important; font-family: var(--font-heading, 'Nunito', sans-serif) !important; color: #19191A !important;}

/* Fix for Hero Image Overlap */
#home-hero .hero-image { flex: 1 !important; position: relative !important; margin-top: 50px !important; }

#home-hero .blob-bg { position: absolute !important; top: -5% !important; left: -5% !important; width: 100% !important; height: 100% !important; background: #5d4a3d !important; border-radius: 40% 60% 70% 30% / 40% 50% 60% 50% !important; z-index: 1 !important; animation: morph 8s ease-in-out infinite alternate !important; }
#home-hero .blob-shape { position: relative !important; width: 100% !important; height: 550px !important; background: var(--theme-brown, #B6642C) !important; border-radius: 50% 50% 30% 70% / 50% 40% 60% 50% !important; overflow: hidden !important; z-index: 2 !important; animation: morph 10s ease-in-out infinite alternate-reverse !important; }
#home-hero .blob-shape img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
@keyframes morph { 0% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; } 50% { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; } 100% { border-radius: 50% 50% 30% 70% / 50% 40% 60% 50%; } }
#home-hero .floating-icon { position: absolute !important; background: #fff !important; padding: 18px !important; border-radius: 12px !important; box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important; z-index: 3 !important; font-size: 24px !important; color: var(--theme-brown, #B6642C) !important; animation: float 4s ease-in-out infinite !important; }
#home-hero .icon-1 { top: 15% !important; left: -30px !important; animation-delay: 0s !important; }
#home-hero .icon-2 { bottom: 15% !important; right: -20px !important; animation-delay: 2s !important; }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-15px); } }

/* --- Marquee --- */
#home-marquee { background: linear-gradient(90deg, #242C64, var(--theme-brown, #B6642C)) !important; padding: 25px 0 !important; overflow: hidden !important; white-space: nowrap !important; position: relative !important; }
#home-marquee .scrolling-text { display: inline-block !important; font-family: var(--font-heading, 'Nunito', sans-serif) !important; font-size: 24px !important; font-weight: 800 !important; color: rgba(255, 255, 255, 0.9) !important; text-transform: uppercase !important; animation: scroll 20s linear infinite !important; }
#home-marquee .scrolling-text span { margin: 0 15px !important; }
#home-marquee .scrolling-text i { font-size: 14px !important; margin: 0 15px !important; color: rgba(255,255,255,0.5) !important; vertical-align: middle !important; }
@keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* --- About Us --- */
#home-about { background-color: #ffffff !important; }
#home-about .about-inner { display: flex !important; align-items: center !important; gap: 80px !important; }
#home-about .about-image { flex: 1 !important; position: relative !important; }
#home-about .about-shape { width: 100% !important; height: 500px !important; border-radius: 30% 70% 70% 30% / 30% 30% 70% 70% !important; overflow: hidden !important; position: relative !important; z-index: 2 !important; animation: morph 9s ease-in-out infinite alternate !important; }
#home-about .about-shape img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
#home-about .about-bg-shape { position: absolute !important; top: 20px !important; left: -20px !important; width: 100% !important; height: 100% !important; border: 3px solid var(--theme-brown, #B6642C) !important; border-radius: 30% 70% 70% 30% / 30% 30% 70% 70% !important; z-index: 1 !important; animation: morph 9s ease-in-out infinite alternate-reverse !important; }
#home-about .about-content { flex: 1.2 !important; text-align: left !important; }
#home-about .about-content h2 { font-size: 42px !important; line-height: 1.4 !important; margin-bottom: 25px !important; text-align: left !important; }
#home-about .about-content p { font-size: 16px !important; margin-bottom: 35px !important; text-align: left !important; color:#555 !important;}

/* --- Services --- */
#home-services { background-color: var(--light-bg, #f9f9f9) !important; }
#home-services .services-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 30px !important; width: 100% !important; }
#home-services .service-card { background-color: #ffffff !important; padding: 50px 30px !important; border-radius: 12px !important; text-align: center !important; box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important; transition: all 0.3s ease !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; border-bottom: 4px solid transparent !important; text-decoration: none !important; position: relative !important; overflow: hidden !important; }
#home-services .service-card::before { content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 0% !important; background: linear-gradient(180deg, rgba(182, 100, 44, 0.05) 0%, transparent 100%) !important; transition: all 0.4s ease !important; z-index: 0 !important; }
#home-services .service-card:hover::before { height: 100% !important; }
#home-services .service-card:hover { transform: translateY(-12px) !important; box-shadow: 0 15px 40px rgba(182, 100, 44, 0.15) !important; border-bottom-color: var(--theme-brown, #B6642C) !important; }
#home-services .service-icon { font-size: 55px !important; color: var(--theme-brown, #B6642C) !important; margin-bottom: 20px !important; transition: all 0.3s ease !important; position: relative !important; z-index: 1 !important; }
#home-services .service-card:hover .service-icon { transform: scale(1.1) !important; color: #242C64 !important; }
#home-services .service-card h4 { font-size: 20px !important; font-family: var(--font-heading, 'Nunito', sans-serif) !important; font-weight: 800 !important; color: #19191A !important; margin: 0 !important; position: relative !important; z-index: 1 !important; }

/* --- Growth --- */
#home-growth { background-color: #ffffff !important; }
#home-growth .growth-inner { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 50px !important; width: 100% !important; }
#home-growth .growth-content { flex: 1.2 !important; text-align: left !important; }
#home-growth .growth-content h2 { text-align: left !important; font-size: 42px !important; margin-bottom: 20px !important; line-height: 1.4 !important; display: block !important; }
#home-growth .growth-content p { text-align: left !important; margin-bottom: 30px !important; font-size: 16px !important; color: #555 !important; line-height: 1.7 !important;}
#home-growth .growth-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
#home-growth .growth-list li { display: flex !important; align-items: flex-start !important; gap: 15px !important; margin-bottom: 20px !important; text-align: left !important; color: #555 !important; font-size: 16px !important;}
#home-growth .check-icon { background: var(--theme-brown, #B6642C) !important; color: #fff !important; width: 25px !important; height: 25px !important; min-width: 25px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 4px !important; font-size: 12px !important; margin-top: 3px !important; }
#home-growth .growth-stats { flex: 1 !important; display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 25px !important; }
#home-growth .stat-box { background: #fff !important; padding: 40px 20px !important; border-radius: 12px !important; box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important; text-align: center !important; border: 1px solid #f0f0f0 !important; transition: all 0.3s ease !important; }
#home-growth .stat-box:hover { transform: translateY(-8px) !important; box-shadow: 0 20px 40px rgba(182, 100, 44, 0.15) !important; border-color: rgba(182, 100, 44, 0.2) !important; }
#home-growth .stat-box h3 { font-size: 50px !important; color: var(--theme-brown, #B6642C) !important; margin-bottom: 5px !important; font-weight: 900 !important; font-family: var(--font-heading, 'Nunito', sans-serif) !important; }
#home-growth .stat-box h3 span { color: #19191A !important; font-size: 30px !important; }
#home-growth .stat-box p { font-size: 16px !important; font-weight: 700 !important; color: #19191A !important; margin: 0 !important; text-align: center !important; }

/* --- Testimonials --- */
#home-testimonials { background-color: var(--light-bg, #f9f9f9) !important; position: relative !important; overflow: hidden !important; z-index: 1 !important; text-align: center !important;}
#home-testimonials .floating-bg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background: radial-gradient(circle at center, rgba(182, 100, 44, 0.05) 0%, transparent 60%) !important; z-index: 0 !important; }

/* Floating FontAwesome Icons */
#home-testimonials .floating-logo { 
    position: absolute !important; 
    background: #fff !important; 
    border-radius: 50% !important; 
    width: 70px !important; 
    height: 70px !important; 
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important; 
    z-index: 1 !important; 
    animation: float 6s ease-in-out infinite !important; 
}
#home-testimonials .fl-1 { top: 15% !important; left: 10% !important; animation-delay: 0s !important; }
#home-testimonials .fl-2 { top: 40% !important; left: 20% !important; animation-delay: 1s !important; }
#home-testimonials .fl-3 { bottom: 20% !important; left: 15% !important; animation-delay: 2s !important; }
#home-testimonials .fl-4 { top: 20% !important; right: 15% !important; animation-delay: 3s !important; }

#home-testimonials .testi-center { max-width: 800px !important; margin: 0 auto !important; background: #ffffff !important; padding: 50px !important; border-radius: 15px !important; box-shadow: 0 15px 40px rgba(0,0,0,0.08) !important; position: relative !important; z-index: 10 !important; border-top: 4px solid var(--theme-brown, #B6642C) !important; text-align: center !important; }
#home-testimonials .testi-quote-icon { font-size: 40px !important; color: var(--theme-brown, #B6642C) !important; opacity: 0.3 !important; margin-bottom: 20px !important; text-align: center !important;}
#home-testimonials .testimonial-slide { display: none !important; animation: fadeEffect 0.6s !important; }
#home-testimonials .testimonial-slide.active { display: block !important; }
@keyframes fadeEffect { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
#home-testimonials .testi-text { font-size: 20px !important; color: #19191A !important; margin-bottom: 30px !important; font-weight: 500 !important; font-style: italic !important; line-height: 1.6 !important; text-align: center !important; }
#home-testimonials .testi-author { display: flex !important; align-items: center !important; justify-content: center !important; gap: 20px !important; }
#home-testimonials .testi-info { text-align: left !important; border-left: 2px solid #eee !important; padding-left: 20px !important; }
#home-testimonials .testi-info h5 { font-size: 18px !important; margin-bottom: 2px !important; font-family: var(--font-heading, 'Nunito', sans-serif) !important; color: #19191A !important;}
#home-testimonials .testi-info p { font-size: 14px !important; color: #555 !important; margin:0 !important; text-align:left !important;}
#home-testimonials .testi-dots { margin-top: 30px !important; display: flex !important; justify-content: center !important; gap: 8px !important; }
#home-testimonials .dot { display: inline-block !important; width: 12px !important; height: 12px !important; background: #ddd !important; border-radius: 50% !important; cursor: pointer !important; transition: all 0.3s ease !important; }
#home-testimonials .dot.active { background: var(--theme-brown, #B6642C) !important; transform: scale(1.3) !important; }

/* --- Clients Interactive Text Marquee --- */
#home-clients { background: #ffffff !important; text-align: center !important; border-bottom: 1px solid #f0f0f0 !important; }
#home-clients .client-marquee-wrapper { overflow: hidden !important; padding: 30px 0 !important; background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 10%, rgba(255,255,255,0) 90%, rgba(255,255,255,1) 100%) !important; position: relative !important; }
#home-clients .client-marquee { display: flex !important; width: max-content !important; animation: marquee 30s linear infinite !important; align-items: center !important; }

/* Interactive Text Formatting */
#home-clients .client-name { 
    font-size: 32px !important; 
    font-weight: 800 !important; 
    font-family: var(--font-heading, 'Nunito', sans-serif) !important; 
    color: #cccccc !important; 
    margin: 0 50px !important; 
    transition: all 0.3s ease !important; 
    cursor: default !important;
    white-space: nowrap !important;
}
#home-clients .client-name:hover { 
    color: var(--theme-brown, #B6642C) !important; 
    transform: scale(1.15) !important; 
    text-shadow: 0 10px 20px rgba(182, 100, 44, 0.2) !important; 
}
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }


/* --- Full Feature Blog Card Integration (Strictly Matches image_30be81.jpg) --- */


/* --- Optimized Blog Grid for Screenshot Match --- */
#home-blog { 
    background: #ffffff !important; /* Matches reference background */
    padding: 80px 0 !important; 
}

#home-blog .blog-grid { 
    display: grid !important; 
    grid-template-columns: repeat(3, 1fr) !important; 
    gap: 30px !important; 
    max-width: 1200px !important;
    margin: 0 auto !important;
}

#home-blog .blog-card { 
    background: #fff !important; 
    border-radius: 8px !important; 
    display: flex !important; 
    flex-direction: column !important; 
    transition: all 0.3s ease !important; 
    border: 1px solid #eee !important; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important; /* Subtle shadow */
    overflow: hidden !important;
}

#home-blog .blog-card-image { 
    margin-bottom: 20px !important; 
    overflow: hidden !important; 
    width: 100% !important; 
    aspect-ratio: 16 / 10 !important; 
}

#home-blog .blog-card-image img { 
    width: 100% !important; 
    height: 100% !important; 
    object-fit: cover !important; 
    display: block !important; 
}

/* Card Content Spacing */
#home-blog .blog-card-content { 
    padding: 0 20px 20px 20px !important; 
    text-align: left !important; 
    display: flex !important; 
    flex-direction: column !important; 
    flex-grow: 1 !important;
}

#home-blog .blog-card h2 { 
    font-family: var(--font-heading, 'Nunito', sans-serif) !important; 
    font-size: 18px !important; /* Adjusted to match reference size */
    font-weight: 800 !important; 
    margin-bottom: 12px !important; 
    line-height: 1.4 !important; 
    color: #111 !important;
}

#home-blog .blog-meta { 
    font-size: 13px !important; 
    color: #666 !important; 
    margin-bottom: 15px !important; 
    font-family: var(--font-body, 'Roboto', sans-serif) !important; 
}

#home-blog .blog-card-footer { 
    display: flex !important; 
    justify-content: space-between !important; 
    align-items: center !important; 
    margin-top: auto !important; /* Ensures footer sits at bottom of card */
}

#home-blog .read-more { 
    color: #B6642C !important; /* Your brand brown */
    font-weight: 700 !important; 
    text-transform: uppercase !important; 
    font-size: 13px !important; 
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
}

#home-blog .share-wrapper { 
    display: flex !important; 
    align-items: center !important; 
    gap: 5px !important; 
    color: #888 !important; 
    font-size: 13px !important;
}










#home-blog .blog-card h2 a:hover { 
    color: var(--theme-brown, #B6642C) !important; 
}

#home-blog .blog-meta { 
    font-size: 13px !important; 
    color: #777 !important; 
    margin-bottom: 25px !important; 
    font-family: var(--font-body, 'Roboto', sans-serif) !important; 
    text-align: left !important; 
    flex-grow: 1 !important; /* Pushes footer down */
}

#home-blog .blog-card-footer { 
    display: flex !important; 
    justify-content: space-between !important; 
    align-items: center !important; 
    padding-top: 15px !important; 
    border-top: 1px solid #f0f0f0 !important; 
}
#home-blog .read-more { 
    color: var(--theme-brown, #B6642C) !important; 
    font-weight: 700 !important; 
    text-transform: uppercase !important; 
    font-size: 13px !important; 
    transition: opacity 0.3s !important; 
    text-decoration: none !important;
}
#home-blog .read-more:hover { 
    opacity: 0.8 !important; 
}

#home-blog .share-wrapper { 
    display: flex !important; 
    align-items: center !important; 
    gap: 8px !important; 
    color: #aaa !important; 
    font-size: 14px !important;
}
#home-blog .share-wrapper i { 
    cursor: pointer !important; 
    transition: color 0.3s ease !important;
}
#home-blog .share-wrapper i:hover { 
    color: var(--theme-brown, #B6642C) !important; 
}
#home-blog .share-count { 
    font-weight: 600 !important; 
    color: #444 !important; 
    margin-left: 2px !important;
}


/* --- Contact Section --- */
#home-contact { background: #ffffff !important; }
#home-contact .contact-inner { display: flex !important; align-items: center !important; gap: 60px !important; }
#home-contact .contact-image { flex: 1 !important; position: relative !important; }
#home-contact .contact-blob { width: 100% !important; height: 550px !important; background: #5d4a3d !important; border-radius: 40% 60% 50% 50% / 50% 50% 60% 40% !important; overflow: hidden !important; position: relative !important; z-index: 2 !important; }
#home-contact .contact-bg-shape { position: absolute !important; top: -20px !important; left: 20px !important; width: 100% !important; height: 100% !important; background: var(--theme-brown, #B6642C) !important; border-radius: 50% 50% 30% 70% / 50% 40% 60% 50% !important; z-index: 1 !important; }
#home-contact .contact-blob img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
#home-contact .contact-form-wrap { flex: 1 !important; text-align: left !important;}
#home-contact .contact-form-wrap h2 { font-size: 38px !important; margin-bottom: 15px !important; text-align: left !important;}
#home-contact .contact-form-wrap p { color: #555 !important; margin-bottom: 30px !important; font-size: 16px !important; text-align:left !important;}

#home-contact .form-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; width: 100% !important; }
#home-contact .form-group.full { grid-column: span 2 !important; }
#home-contact .form-group input, #home-contact .form-group textarea { 
    width: 100% !important; padding: 15px !important; border: 1px solid #e0e0e0 !important; background: #fafafa !important; border-radius: 6px !important; 
    font-family: var(--font-body, 'Roboto', sans-serif) !important; font-size: 15px !important; outline: none !important; transition: all 0.3s ease !important; box-sizing: border-box !important;
}
#home-contact .form-group input:focus, #home-contact .form-group textarea:focus { border-color: var(--theme-brown, #B6642C) !important; background: #ffffff !important; box-shadow: 0 0 0 3px rgba(182, 100, 44, 0.1) !important; }
#home-contact .form-group textarea { height: 120px !important; resize: vertical !important; }

/* Submit Button Centered */
#home-contact .submit-wrapper {
    display: flex !important;
    justify-content: center !important; 
    width: 100% !important;
}
#home-contact .btn-submit { 
    width: auto !important; 
    padding: 10px 30px !important; 
    font-size: 14px !important; 
    display: inline-flex !important; 
    justify-content: center !important;
    align-items: center !important;
    border-radius: 5px !important;
    border: none !important;
    margin-top: 10px !important;
}

/* ==========================================================================
   MOBILE RESPONSIVENESS (Fixes Logo & Hamburger Layout Issues)
   ========================================================================== */
@media screen and (max-width: 1024px) {
    /* Critical Fix: Ensure Logo & Hamburger sit perfectly on the same line */
    #header.home-header .nav-wrapper {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        flex-wrap: nowrap !important;
    }
    
    #header.home-header .logo {
        flex-shrink: 0 !important; /* Prevent Logo from squishing */
    }
    
    #header.home-header .logo img {
        max-height: 40px !important; /* Cap height to prevent wrapping */
        width: auto !important;
    }
    
    #header.home-header .fallback-logo {
        font-size: 24px !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    #header.home-header .mobile-menu-btn {
        display: block !important;
        flex-shrink: 0 !important;
    }

    #home-main #home-hero { padding: 150px 15px 80px !important; } 
    #home-hero .hero-inner, #home-about .about-inner, #home-growth .growth-inner, #home-contact .contact-inner { flex-direction: column !important; text-align: center !important; gap: 40px !important; }
    #home-hero .hero-content, #home-hero .hero-image, #home-about .about-image, #home-about .about-content, #home-growth .growth-content, #home-growth .growth-stats, #home-contact .contact-image, #home-contact .contact-form-wrap { width: 100% !important; padding-right: 0 !important; }
    #home-hero .hero-content p, #home-about .about-content p, #home-growth .growth-content p, #home-contact .contact-form-wrap p { text-align: center !important; margin: 0 auto 30px auto !important;}
    #home-hero .hero-content h1, #home-about .about-content h2, #home-growth .growth-content h2, #home-contact .contact-form-wrap h2 { text-align: center !important;}
    #home-hero .hero-contact { justify-content: center !important; }
    #home-services .services-grid, #home-blog .blog-grid { grid-template-columns: repeat(2, 1fr) !important; }
    #home-contact .submit-wrapper { justify-content: center !important; }
}

@media screen and (max-width: 768px) {
    #home-main section { padding: 60px 0 !important; }
    #home-main #home-hero { padding: 130px 15px 60px !important; } 
    #home-main .section-header h2 { font-size: 28px !important; line-height: 1.3 !important; }
    #home-hero .hero-content h1 { font-size: 38px !important; line-height: 1.2 !important; }
    
    #home-services .services-grid, #home-blog .blog-grid, #home-growth .growth-stats { grid-template-columns: 1fr !important; gap: 30px !important; }
    
    #home-contact .form-grid { grid-template-columns: 1fr !important; }
    #home-contact .form-group.full { grid-column: span 1 !important; }
    #home-contact .form-group input, #home-contact .form-group textarea { width: 100% !important; }
    
    #home-contact .submit-wrapper { justify-content: center !important; }
    #home-contact .btn-submit { 
        width: 100% !important; 
        max-width: 250px !important; 
        display: flex !important; 
        margin: 0 auto !important; 
    } 
    
    #home-clients .client-name {
        font-size: 24px !important;
        margin: 0 30px !important;
    }
}
























/* ==========================================================================
   NEW HOME LAYOUT — nh- prefixed (index.html redesign)
   ========================================================================== */

/* --- Hero --- */
#home-hero {
    padding: 0 !important;
    background: #fcfbfa !important;
    overflow: hidden !important;
    position: relative !important;
    min-height: calc(100vh - 68px) !important;
    display: flex !important;
    align-items: center !important;
    margin-top: 68px !important;
}

.nh-hero-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 60px !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
}

.nh-hero-text {
    flex: 1 !important;
    max-width: 600px !important;
}

.nh-hero-text h1 {
    font-size: clamp(38px, 5vw, 72px) !important;
    font-weight: 900 !important;
    letter-spacing: -2px !important;
    line-height: 1.05 !important;
    margin-bottom: 24px !important;
    color: #141414 !important;
    font-family: var(--font-heading) !important;
}

.nh-hero-text p {
    font-size: 18px !important;
    color: #6b6a68 !important;
    margin-bottom: 36px !important;
    max-width: 500px !important;
    line-height: 1.7 !important;
    text-align: left !important;
}

.nh-hero-form {
    display: flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #d4d2cd !important;
    border-radius: 10px !important;
    padding: 6px !important;
    max-width: 460px !important;
    margin-bottom: 32px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
}

.nh-hero-form input {
    border: none !important;
    flex-grow: 1 !important;
    font-size: 15px !important;
    padding: 0 16px !important;
    outline: none !important;
    background: transparent !important;
    font-family: var(--font-body) !important;
}

.nh-hero-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--theme-brown) !important;
    font-family: var(--font-heading) !important;
    transition: opacity 0.2s !important;
}

.nh-hero-link:hover { opacity: 0.75 !important; }

.nh-play-btn {
    width: 36px !important;
    height: 36px !important;
    border: 2px solid var(--theme-brown) !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    color: var(--theme-brown) !important;
}

.nh-hero-visual {
    flex: 1 !important;
    position: relative !important;
    min-height: 500px !important;
}

/* --- Services Grid (3-col card layout) --- */
#home-services { background: #ffffff !important; }

.nh-services-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
    margin-top: 48px !important;
}

.nh-service-card {
    background: #fcfbfa !important;
    border: 1px solid #eae8e5 !important;
    border-radius: 14px !important;
    padding: 36px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s !important;
    position: relative !important;
    overflow: hidden !important;
}

.nh-service-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 32px rgba(182,100,44,0.12) !important;
    border-color: var(--theme-brown) !important;
}

.nh-svc-icon {
    font-size: 36px !important;
    color: var(--theme-brown) !important;
    margin-bottom: 20px !important;
    transition: transform 0.2s !important;
}

.nh-service-card:hover .nh-svc-icon { transform: scale(1.1) !important; }

.nh-service-card h3 {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #141414 !important;
    margin-bottom: 10px !important;
    font-family: var(--font-heading) !important;
}

.nh-service-card p {
    font-size: 14px !important;
    color: #6b6a68 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    flex-grow: 1 !important;
    text-align: left !important;
}

.nh-svc-link {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--theme-brown) !important;
    font-family: var(--font-heading) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* --- About Feature Row --- */
#home-about { padding: 100px 0 !important; }
.nh-section-light { background: #f7f6f5 !important; }

.nh-feature-row {
    display: flex !important;
    align-items: center !important;
    gap: 80px !important;
}

.nh-feature-visual {
    flex: 1 !important;
    position: relative !important;
}

.nh-feature-text {
    flex: 1.2 !important;
}

.nh-feature-text h2 {
    font-size: clamp(28px, 3.5vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin-bottom: 20px !important;
    color: #141414 !important;
    font-family: var(--font-heading) !important;
}

.nh-feature-text p {
    font-size: 16px !important;
    color: #6b6a68 !important;
    line-height: 1.8 !important;
    text-align: left !important;
}

/* --- Stats Grid --- */
#home-growth { background: #ffffff !important; }

.nh-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    margin-top: 48px !important;
}

.nh-stat-card {
    background: #fcfbfa !important;
    border: 1px solid #eae8e5 !important;
    border-radius: 14px !important;
    padding: 36px 24px !important;
    text-align: left !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

.nh-stat-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 32px rgba(182,100,44,0.1) !important;
}

.nh-stat-number {
    font-size: 52px !important;
    font-weight: 900 !important;
    color: var(--theme-brown) !important;
    letter-spacing: -2px !important;
    line-height: 1 !important;
    margin-bottom: 8px !important;
    font-family: var(--font-heading) !important;
}

.nh-stat-label {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #141414 !important;
    margin-bottom: 12px !important;
    font-family: var(--font-heading) !important;
}

.nh-stat-card p {
    font-size: 13px !important;
    color: #6b6a68 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    text-align: left !important;
}

/* --- Contact Section --- */
#home-contact { background: #fcfbfa !important; }

.nh-contact-inner {
    display: flex !important;
    align-items: flex-start !important;
    gap: 80px !important;
}

.nh-contact-text {
    flex: 1 !important;
    padding-top: 20px !important;
}

.nh-contact-text h2 {
    font-size: clamp(28px, 3.5vw, 40px) !important;
    font-weight: 800 !important;
    color: #141414 !important;
    margin-bottom: 16px !important;
    font-family: var(--font-heading) !important;
}

.nh-contact-text p {
    font-size: 16px !important;
    color: #6b6a68 !important;
    margin-bottom: 32px !important;
    text-align: left !important;
}

.nh-contact-info { display: flex !important; flex-direction: column !important; gap: 16px !important; }

.nh-ci-row {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    font-size: 16px !important;
    color: #141414 !important;
    font-weight: 600 !important;
    font-family: var(--font-heading) !important;
}

.nh-ci-row i {
    width: 40px !important;
    height: 40px !important;
    background: rgba(182,100,44,0.1) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--theme-brown) !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
}

.nh-contact-form {
    flex: 1.2 !important;
    background: #ffffff !important;
    border: 1px solid #eae8e5 !important;
    border-radius: 16px !important;
    padding: 48px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.05) !important;
}

/* ==========================================================================
   NEW HOME LAYOUT — RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
    .nh-hero-inner { flex-direction: column !important; text-align: center !important; padding-top: 40px !important; }
    .nh-hero-text { max-width: 100% !important; }
    .nh-hero-text p { margin: 0 auto 36px !important; }
    .nh-hero-form { margin: 0 auto 32px !important; }
    .nh-hero-link { justify-content: center !important; }
    .nh-hero-visual { width: 100% !important; min-height: 350px !important; }

    .nh-services-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .nh-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }

    .nh-feature-row { flex-direction: column !important; gap: 40px !important; }
    .nh-contact-inner { flex-direction: column !important; gap: 40px !important; }
    .nh-contact-form { padding: 32px !important; width: 100% !important; }
}

@media (max-width: 768px) {
    #home-hero { min-height: auto !important; padding: 40px 0 !important; }
    .nh-hero-text h1 { letter-spacing: -1px !important; }
    .nh-hero-form { flex-direction: column !important; border-radius: 10px !important; padding: 12px !important; gap: 10px !important; }
    .nh-hero-form input { padding: 10px !important; width: 100% !important; }

    .nh-services-grid { grid-template-columns: 1fr !important; }
    .nh-stats-grid { grid-template-columns: 1fr 1fr !important; }
    .nh-contact-form { padding: 24px !important; }
}

@media (max-width: 480px) {
    .nh-stats-grid { grid-template-columns: 1fr !important; }
}
