
html, body {
    overflow-x: hidden;
    width: 100%;
    box-sizing: border-box; /* Helps with padding/border issues */
}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}

.header{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.1);position:sticky;top:0;z-index:1000;}
.header .container{display:flex;align-items:center;justify-content:space-between;padding:0.4rem 0;}

.logo{display:flex;align-items:center;font-weight:700;font-size:1.1rem;}
.logo img{width:40px;margin-right:.2rem; margin-left: 0.6rem;}

/* LOGO — visible only when menu is open */
.menu-logo {
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: 90px;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.nav ul.active .menu-logo {
    opacity: 1;
}
.nav ul{display:flex;gap:2rem;}
.nav a{font-weight:600;transition:color .1s;}
.nav a:hover{color:#e67e22;}

.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;}
.hamburger span{width:25px;height:3px;background:#333;transition:.1s;}



.hero {
  /* background: url('../img/hero-bg.webp') center/cover no-repeat; */
  position: relative;
  height: 100vh;
  color: #fff;
  text-align: center;
  padding: 6rem 0;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  /* background: radial-gradient(circle at center,
    rgba(7, 7, 7, 0.505),
    rgb(0, 0, 0)
  ); */
  /* backdrop-filter: blur(5px) contrast(108%); */
  z-index: 1;
}
.hero h1{margin-bottom:1rem; font-weight: 900; font-size: 3.7rem; animation:fadeInUp .5s ease;}
.hero p>span{font-size:1.5rem;margin-bottom:2rem;animation:fadeInUp .5s ease .05s both;}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

.contained {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    padding: 2rem;
}

.business-divisions {
    padding: 2rem 0;
}

.services .card h3{padding:1.5rem 1.5rem 0 1.5rem;margin-bottom:.5rem;border-bottom:1px solid #f0f0f0;padding-bottom:1rem;} /* Space + subtle border */
.services .card p{padding:0 1.5rem 1.5rem 1.5rem;margin-bottom:1rem;}
/* SECTION TITLE */
.section-title{position:relative;padding-bottom:.5rem;}
.section-title::after{content:'';position:absolute;left:50%;bottom:0;width:60px;height:4px;background:#e67e22;transform:translateX(-50%);}

.division-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(0,0,0,0.08);
    transition: all 0.4s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.division-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 25px 50px rgba(0,0,0,0.14);
}

.division-img {
    height: 180px;
    overflow: hidden;
}

.division-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.division-card:hover .division-img img {
    transform: scale(1.1);
}

.division-content {
    padding: 1.8rem;
    flex-grow: 1;
    /* text-align: center; */
}
.division-content h4 {
    font-family: 'Playfair Display', serif;
    font-size: 1.4rem;
    color: #222;
    margin-bottom: 0.8rem;
    position: relative;
    padding-bottom: 0.6rem;
}
.division-content h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 3px;
    background: #e67e22;
    border-radius: 2px;
}

.division-content p {
    color: #555;
    line-height: 1.7;
    font-size: 0.98rem;
}

/* TYPOGRAPHY */
h1,h2,h3{font-family:'Playfair Display',serif;}
h1{font-size:2.8rem;} h2{font-size:2.1rem;margin-bottom:1.5rem;text-align:center;}
h3{font-size:1.3rem;margin:.1rem 0 .5rem;}
h4{font-size:1.1rem;font-weight:600;margin:.5rem 0 .25rem;}
/* BUTTONS */
.btn-primary{display:inline-block;background:#d35400;color:#fff;padding:.8rem 1.8rem;border-radius:50px;font-weight:600;transition:.1s;}
.btn-primary:hover{background:#e67e22;transform:translateY(-2px);}
.btn-whatsapp{display:inline-flex;align-items:center;justify-content:center;background:#25D366;color:#fff;padding:1rem;border-radius:50px;font-weight:600;transition:.1s;width:100%;margin-top:1rem;}
.btn-whatsapp:hover{background:#128C7E;transform:translateY(-2px);}
.btn-whatsapp i{font-size:1.5rem;margin-right:.5rem;} /* Bigger WhatsApp icon */
/* FLOATING WHATSAPP (NEW: Fixed above back-to-top, always visible with dynamic opacity) */
#floatingWhatsApp {
    position: fixed;
    bottom: 90px; /* Above back-to-top (20px + 50px height + spacing) */
    right: 20px;
    background: #25D366;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity .2s ease, transform .1s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    z-index: 1000;
    text-decoration: none;
    opacity: 0.9; /* Base opacity */
}
#floatingWhatsApp:hover {
    background: #128C7E;
    transform: scale(1.05);
    opacity: 1; /* Full on hover, regardless of content */
}
/* BACK TO TOP (Floating) */
#backToTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #e67e22;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 1.2rem;
    cursor: pointer;
    transition: opacity .1s, transform .1s;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    z-index: 1000;
    display: none;
}
#backToTop:hover {
    background: #d35400;
    transform: scale(1.05);
}
/* FADE-IN SECTIONS (Smooth on scroll) */
.fade-section{opacity:0;transform:translateY(20px);transition:opacity .5s ease, transform .5s ease;}
.fade-section.visible{opacity:1;transform:translateY(0);}


/* ABOUT */
/* .about{padding:2.1rem 0;background:#fff;margin-top: 2%;} */
.about-premium {
    padding: 2.1rem 0;
    background: #fff;
}
.about-header .lead-text {
    font-size: 1.15rem;
    line-height: 1.9;
    color: #444;
}
.core-divisions-optimized {
    margin: -2rem 0;
}
.division-optimized {
    padding: 3rem 0;
}

/* .division-optimized.alt-bg {
    background: #fdf8f4;
} */

.division-title {
    font-family: 'Playfair Display', serif;
    font-size: 2.1rem;
    color: #222;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 0.8rem;
}

.division-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 90px;
    height: 4px;
    background: #e67e22;
    border-radius: 2px;
}

.division-desc {
    font-size: 1.18rem;
    line-height: 1.8;
    color: #444;
    max-width: 520px;
}

.product-photo-wrapper {
    max-width: 420px;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0,0,0,0.15);
    transition: all 0.5s ease;
}

.product-photo-wrapper img {
    width: 100%;
    height: auto;           /* Preserves original tall ratio */
    display: block;
    transition: transform 0.6s ease;
}

.division-optimized:hover .product-photo-wrapper {
    transform: translateY(-10px);
    box-shadow: 0 35px 70px rgba(0,0,0,0.2);
}

.division-optimized:hover .product-photo-wrapper img {
    transform: scale(1.05);
}

.timeline-modern {
    position: relative;
    max-width: 1100px;
    margin: 4rem auto;
}


.timeline-line {
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(to right, #e67e22, #f39c12);
    border-radius: 2px;
}

.timeline-container {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding: 2rem 0;
}

.timeline-block {
    flex: 1;
    text-align: center;
    position: relative;
}

.timeline-point {
    width: 20px;
    height: 20px;
    background: #fff;
    border: 6px solid #e67e22;
    border-radius: 50%;
    margin: 0 auto 1.5rem;
    box-shadow: 0 0 0 6px rgba(230,126,34,.2);
}

.timeline-card {
    background: #fff;
    padding: 1.8rem 1.2rem;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    transition: all .3s ease;
    max-width: 220px;
    margin: 0 auto;
}

.timeline-block:hover .timeline-card {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,.12);
}

.timeline-block.active .timeline-card {
    background: linear-gradient(135deg, #e67e22, #d35400);
    color: white;
    transform: translateY(-10px);
}

.timeline-card .year {
    display: block;
    font-weight: 800;
    font-size: 1.1rem;
    color: #e67e22;
    margin-bottom: 0.5rem;
}

.timeline-block.active .year { color: white; }

.timeline-card h4 {
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem;
    margin: 0.5rem 0;
}

.mv-card {
    background: #fff;
    padding: 2.5rem 2rem;
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 12px 35px rgba(0,0,0,.08);
    transition: all .3s ease;
    height: 100%;
}

.mv-card:hover { transform: translateY(-10px); }

.values-list {
    text-align: left;
    margin-top: 1rem;
    font-weight: 600;
    line-height: 1.8;
}

.values-list li::before {
    content: "✓ ";
    color: #e67e22;
    font-weight: bold;
}

/* FAQ SECTION */
.faq-accordion .accordion-item {
    border: none;
    margin-bottom: 1rem;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    background: #ffffff;
    transition: box-shadow 0.3s ease;
}
.faq-accordion .accordion-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.faq-accordion .accordion-button {
    font-weight: 600;
    color: var(--text);
    padding: 1.5rem;
    transition: all .3s ease;
    border: none;
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
}
.faq-accordion .accordion-button:not(.collapsed) {
    background: linear-gradient(145deg, #f8f9fa 0%, #ffffff 100%);
    color: var(--primary);
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.125);
}
.faq-accordion .accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(10,92,90,.15);
    outline: none;
}
.faq-accordion .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230A5C5A'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    transform: rotate(0deg);
}
.faq-accordion .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23D9774A'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    transform: rotate(180deg);
}
.faq-accordion .accordion-body {
    padding: 1.5rem;
    color: var(--text);
    line-height: 1.7;
    background: #f8f9fa;
}

/* CONTACT */
.contact{padding:4rem 0;background:#f4f4f4;}
.contact-wrapper{display:grid;grid-template-columns:2fr 1fr;gap:3rem;margin-bottom:2rem;}
.contact-info h3{text-align:left;margin-bottom:2rem;color:#e67e22;}
.whatsapp-section h3{text-align:center;margin-bottom:2rem;color:#e67e22;}
.whatsapp-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.06);text-align:center;}
.whatsapp-card small{display:block;margin-top:1rem;color:#777;font-size:.85rem;}
/* FOOTER */
.footer{background:#2c3e50;color:#ecf0f1;text-align:center;padding:2rem 0;}
.social a{margin:0 .5rem;font-size:1.3rem;transition:.1s;}
.social a:hover{color:#e67e22;}
.fc {
    color: #e67e22;
}
.fc2 {
    color: #173da3;
    font-weight: bold;
}
.fc3 {
    color: #e67e22;
    font-weight: bold;
}
.grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.team-section {
    padding: 1.2rem 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.team-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2.5rem;
}
.team-card {
    background: #fff;
    border-radius: 20px;
    overflow: visible;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    position: relative;
    text-align: center;
    margin-bottom: 3rem;
}

.team-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
}

.team-img-wrapper {
    margin: -60px auto 0;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    overflow: hidden;
    border: 6px solid #fff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    z-index: 2;
    background: #fff;
}

.team-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.team-card:hover .team-img {
    transform: scale(1.08);
}

.team-info {
    padding: 2rem 1.5rem 1.8rem;
    margin-top: -20px;
}

.team-info h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    margin-bottom: 0.3rem;
    color: #222;
}

.role {
    color: #e67e22;
    font-weight: 600;
    font-size: 0.95rem;
    margin-bottom: 1rem;
    letter-spacing: 0.5px;
}
.bio {
    color: #666;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1.2rem;
}

#typing-container {
    font-family: 'Courier New', monospace;
    font-size: 2em;
    /* Other styling */
}


@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* Optional: Hide cursor when not active */
/* #cursor.hidden { opacity: 0; } */

.slogan {
  font-family: 'Dancing Script', cursive;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.nav {
  padding-top: 15px;
}

#typed-text {
  white-space: nowrap;
  font-variant-ligatures: none;
  opacity: 1;
  transition: opacity 1s ease-in-out; /* smooth fade */
}

#cursor {
  display: inline-block;
  animation: blink 2s infinite;
}

@keyframes blink {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0; }
}


/* MOBILE */
@media (max-width:768px){
  .hamburger{display:flex; padding-right: .8rem;}
  .nav ul{
    position:fixed;
    top:0;
    right:-100%;
    width:70%;
    height:100vh;
    background:#fff;
    flex-direction:column;
    justify-content:center;
    /* align-items:center; */
    transition:.15s;
    box-shadow:-5px 0 15px rgba(0,0,0,.1);
    }
  .nav ul.active{right:0;}
  .nav a{font-size:1.2rem;padding:1rem;}
  .nav{margin-top: -15px;}
  .hero{padding:4rem 0;}
  .hero h1{font-size: 2.7rem;padding-bottom: 40px;}
  .contained a{margin-bottom: 80px;}
  h1{font-size:2.2rem;}
  .contact-wrapper{grid-template-columns:1fr;gap:2rem;}
  .contact-info h3{text-align:center;}
  .info-card{flex-direction:column;text-align:center;}
  .testimonial-content{flex-direction:column;align-items:center;text-align:center;gap:1rem;}
  .testimonial-avatar{width:auto;}
  .testimonial-img{width:70px;height:70px;}
  .testimonial-text p{font-size:1rem;}
  .stars{text-align:center;}
  .services .card h3{padding:1rem;} /* Mobile padding adjustment */
  .services .card p{padding-bottom:1rem;}
  .timeline-container { flex-direction: column; gap: 3rem; }
  .timeline-line { display: none; }
  .timeline-card { max-width: 100%; }
  #floatingWhatsApp { bottom: 80px; font-size: 1.3rem; } /* Slightly larger on mobile */
}