/* =========================================================
   TRIVENTIS Global Solutions — Stylesheet
   Primary: #062B5C (navy)   Secondary: #E5A000 (gold/amber)
   ========================================================= */

:root{
  --navy: #062B5C;
  --navy-dark: #041c3d;
  --gold: #E5A000;
  --gold-dark: #c98900;
  --ink: #16233a;
  --grey: #5b6478;
  --line: #e4e8f0;
  --bg-soft: #f6f8fb;
  --white: #ffffff;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 10px 30px rgba(6,43,92,0.10);
  --container: 1180px;
  --font: 'Montserrat', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font);font-weight:600;font-size:0.95rem;
  padding:13px 26px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn:active{transform:scale(0.97);}
.btn-primary{background:var(--gold);color:var(--navy-dark);}
.btn-primary:hover{background:var(--gold-dark);box-shadow:0 8px 20px rgba(229,160,0,0.35);}
.btn-outline{background:transparent;border-color:var(--navy);color:var(--navy);}
.btn-outline:hover{background:var(--navy);color:var(--white);}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,0.6);color:var(--white);}
.btn-outline-light:hover{background:rgba(255,255,255,0.12);}
.btn-secondary{background:var(--white);color:var(--navy);}
.btn-secondary:hover{background:var(--gold);color:var(--navy-dark);}
.btn-submit{width:100%;background:var(--gold);color:var(--navy-dark);}
.btn-submit:hover{background:var(--gold-dark);}
.btn-submit:disabled{opacity:0.65;cursor:not-allowed;}
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:3px solid var(--gold); outline-offset:2px;
}

/* ---------- Top utility bar ---------- */
.topbar{background:var(--navy-dark);color:#cfd9e8;font-size:0.82rem;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;flex-wrap:wrap;gap:6px;}
.topbar-left a{margin-right:18px;color:#cfd9e8;}
.topbar-left a:hover{color:var(--gold);}
.topbar-right{display:flex;align-items:center;gap:12px;}
.social-label{opacity:0.7;margin-right:4px;}
.topbar-right a{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,0.08);}
.topbar-right a:hover{background:var(--gold);color:var(--navy-dark);}

/* ---------- Header ---------- */
.site-header{background:var(--white);position:sticky;top:0;z-index:500;box-shadow:0 2px 12px rgba(6,43,92,0.08);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;}
.logo img{height:58px;width:auto;}
.main-nav{display:flex;align-items:center;gap:28px;}
.main-nav a{font-weight:600;font-size:0.95rem;color:var(--ink);padding:6px 0;position:relative;}
.main-nav a:hover{color:var(--navy);}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold);transition:width .2s;}
.main-nav a:hover::after{width:100%;}
.nav-cta-mobile{display:none;}
.header-actions{display:flex;align-items:center;gap:16px;}
.header-call{padding:10px 20px;font-size:0.88rem;}
.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:none;cursor:pointer;}
.menu-toggle span{display:block;width:24px;height:2.5px;background:var(--navy);border-radius:2px;transition:.25s;}
.menu-toggle.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.menu-toggle.active span:nth-child(2){opacity:0;}
.menu-toggle.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--navy);overflow:hidden;padding:90px 0;}
.hero-bg{
  position:absolute;inset:0;
  background:linear-gradient(120deg, rgba(6,43,92,0.55), rgba(4,28,61,0.92)),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0 2px, transparent 2px 40px);
  z-index:0;
}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 80% 20%, rgba(229,160,0,0.15), transparent 55%);z-index:0;}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:340px 1fr;gap:60px;align-items:center;}
.hero-image-col{display:flex;justify-content:center;}
.founder-card{
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);
  border-radius:var(--radius);padding:20px;text-align:center;backdrop-filter:blur(6px);
  width:280px;position:relative;
}
.founder-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:3px solid var(--gold);}
.founder-initials{
  display:none;width:100%;aspect-ratio:1/1;border-radius:10px;border:3px solid var(--gold);
  align-items:center;justify-content:center;font-size:3rem;font-weight:800;color:var(--gold);
  background:rgba(255,255,255,0.05);
}
.founder-card.founder-fallback .founder-initials{display:flex;}
.founder-caption{margin-top:14px;color:var(--white);}
.founder-caption strong{display:block;font-size:1.05rem;}
.founder-caption span{display:block;font-size:0.85rem;color:var(--gold);margin-top:2px;}
.hero-content-col{color:var(--white);}
.hero-eyebrow{color:var(--gold);font-weight:700;letter-spacing:0.3px;margin:0 0 12px;}
.hero-content-col h1{font-size:2.5rem;line-height:1.2;margin:0 0 18px;font-weight:800;max-width:640px;}
.hero-sub{font-size:1.05rem;color:#cfd9e8;max-width:560px;margin:0 0 30px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}

/* ---------- Sections shared ---------- */
.section{padding:80px 0;}
.section-head{max-width:680px;margin:0 0 46px;}
.section-head.light{max-width:680px;color:var(--white);}
.eyebrow{color:var(--gold-dark);font-weight:700;margin:0 0 10px;}
.section-head.light .eyebrow{color:var(--gold);}
.section h2{font-size:2rem;margin:0 0 14px;color:var(--navy);font-weight:800;}
.section-head.light h2{color:var(--white);}
.section-intro{color:var(--grey);font-size:1.02rem;}

/* ---------- About ---------- */
.about{background:var(--bg-soft);}
.about-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:start;}
.about-copy p{color:var(--grey);}
.about-mission-vision{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0;}
.mv-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.mv-card h4{margin:0 0 8px;color:var(--navy);display:flex;align-items:center;gap:8px;font-size:1.02rem;}
.mv-card p{color:var(--grey);font-size:0.92rem;margin:0;}
.about-photo img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;aspect-ratio:4/5;object-fit:cover;}

/* ---------- Services ---------- */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.service-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;transition:box-shadow .2s, transform .2s;
}
.service-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.service-card i{font-size:1.7rem;color:var(--gold-dark);margin-bottom:14px;}
.service-card h3{margin:0 0 8px;font-size:1.08rem;color:var(--navy);}
.service-card p{margin:0;color:var(--grey);font-size:0.92rem;}
.services-cta{text-align:center;margin-top:44px;}

/* ---------- Products ---------- */
.products{background:var(--bg-soft);}
.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;}
.product-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.product-card img{width:100%;height:220px;object-fit:cover;}
.product-body{padding:24px;}
.product-body h3{color:var(--navy);margin:0 0 8px;}
.product-body p{color:var(--grey);font-size:0.94rem;margin:0 0 18px;}

/* ---------- Why Choose Us ---------- */
.why-us{background:var(--navy);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.why-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius);padding:26px;color:var(--white);}
.why-card i{font-size:1.5rem;color:var(--gold);margin-bottom:12px;}
.why-card h3{margin:0 0 8px;font-size:1.04rem;}
.why-card p{margin:0;color:#c6d1e3;font-size:0.9rem;}

/* ---------- Gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.gallery-item{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:4/3;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.gallery-item:hover img{transform:scale(1.05);}
.placeholder-tile{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(135deg, var(--navy), var(--navy-dark));color:var(--gold);
}
.placeholder-tile i{font-size:2rem;}
.placeholder-tile span{color:#cfd9e8;font-size:0.85rem;font-weight:600;}
.gallery-note{color:var(--grey);text-align:center;margin-top:24px;font-size:0.9rem;}

/* ---------- Testimonials ---------- */
.testimonials{background:var(--bg-soft);}
.testimonial-note{background:var(--white);border:1px dashed var(--line);border-radius:var(--radius);padding:30px;max-width:760px;}
.testimonial-note p{margin:0;color:var(--grey);font-style:italic;}
.testimonial-note i{color:var(--gold-dark);margin-right:8px;}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;align-items:start;}
.faq-head .btn{margin-top:12px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-question{
  width:100%;text-align:left;background:none;border:none;padding:18px 0;
  font-family:var(--font);font-weight:600;font-size:1rem;color:var(--navy);
  display:flex;justify-content:space-between;align-items:center;cursor:pointer;
}
.faq-question i{transition:transform .2s;color:var(--gold-dark);}
.faq-item.active .faq-question i{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-answer p{color:var(--grey);padding:0 0 18px;margin:0;}
.faq-item.active .faq-answer{max-height:200px;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;margin-bottom:40px;}
.contact-row{display:flex;gap:14px;margin-bottom:22px;}
.contact-row i{color:var(--gold-dark);font-size:1.15rem;margin-top:3px;width:22px;}
.contact-row strong{display:block;color:var(--navy);margin-bottom:2px;}
.contact-row p{margin:0;color:var(--grey);}
.contact-row a{color:var(--grey);}
.contact-row a:hover{color:var(--navy);}
.contact-btns{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap;}
.map-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}

/* ---------- Forms (shared: popup + inline) ---------- */
.enquiry-form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);}
.field{margin-bottom:16px;}
.field label{display:block;font-size:0.85rem;font-weight:600;color:var(--navy);margin-bottom:6px;}
.field input, .field select, .field textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  font-family:var(--font);font-size:0.95rem;color:var(--ink);background:var(--white);
  transition:border-color .15s;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold);}
.field.invalid input, .field.invalid select, .field.invalid textarea{border-color:#d63b3b;}
.error-msg{display:block;color:#d63b3b;font-size:0.78rem;margin-top:4px;min-height:14px;}
.phone-row{display:flex;gap:8px;}
.phone-row .country-code{max-width:88px;flex:0 0 auto;}
.form-status{text-align:center;font-size:0.88rem;margin:10px 0 0;min-height:18px;}
.form-status.success{color:#1c8a4a;}
.form-status.error{color:#d63b3b;}
.reassurance{text-align:center;font-size:0.78rem;color:var(--grey);margin:10px 0 0;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-dark);color:#c6d1e3;padding:60px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px;}
.footer-logo{height:42px;margin-bottom:16px; border-radius:10px;}
.footer-col h4{color:var(--white);margin:0 0 16px;font-size:1rem;}
.footer-col p{font-size:0.9rem;color:#a9b6cc;}
.footer-col a{display:block;font-size:0.9rem;margin-bottom:10px;color:#c6d1e3;}
.footer-col a:hover{color:var(--gold);}
.footer-brand p{margin-bottom:18px;}
.footer-social{display:flex;gap:10px;}
.footer-social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{background:var(--gold);color:var(--navy-dark);}
.footer-cta{margin-top:14px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:18px 0;margin-top:10px;}
.footer-bottom-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:0.82rem;}
.footer-legal a{margin-left:16px;color:#a9b6cc;}
.footer-legal a:hover{color:var(--gold);}

/* ---------- Floating elements ---------- */
.cbqs-badge{
  position:fixed;bottom:20px;left:20px;z-index:400;
  width:165px;height:50px;border-radius:10px;overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,0.25);background:var(--white);
  display:flex;align-items:center;justify-content:center;
}
.cbqs-badge img{width:100%;height:100%;object-fit:contain;}
.floating-whatsapp{
  position:fixed;bottom:20px;right:20px;z-index:400;
  width:58px;height:58px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1.7rem;
  box-shadow:0 6px 18px rgba(0,0,0,0.25);transition:transform .2s;
}
.floating-whatsapp:hover{transform:scale(1.08);}

/* ---------- Popup ---------- */
.popup-overlay{
  position:fixed;inset:0;background:rgba(6,43,92,0.35);backdrop-filter:blur(2px);
  display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;
}
.popup-overlay.active{display:flex;}
.popup-box{
  background:var(--white);border-radius:var(--radius);max-width:760px;width:100%;
  max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.35);
}
.popup-topbar{
  background:var(--navy);color:var(--white);display:flex;justify-content:space-between;align-items:center;
  padding:10px 20px;border-radius:var(--radius) var(--radius) 0 0;font-size:0.85rem;
}
.popup-offer{font-weight:600;}
#popupTimer{color:var(--gold);font-weight:800;margin-left:6px;}
.popup-close{background:none;border:none;color:var(--white);font-size:1.6rem;cursor:pointer;line-height:1;}
.popup-body{display:grid;grid-template-columns:1fr 1.1fr;gap:0;}
.popup-promo{background:var(--bg-soft);padding:32px 28px;}
.popup-icon-badge{
  width:52px;height:52px;border-radius:50%;background:var(--gold);color:var(--navy-dark);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px;
}
.popup-promo h3{margin:0 0 10px;color:var(--navy);font-size:1.3rem;}
.popup-promo h3 .accent{color:var(--gold-dark);}
.popup-promo p{color:var(--grey);font-size:0.92rem;margin:0 0 18px;}
.popup-points li{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:0.9rem;color:var(--ink);}
.popup-points i{color:#1c8a4a;}
.popup-body .enquiry-form{border:none;box-shadow:none;border-radius:0;padding:28px;}

/* ---------- Responsive ---------- */
@media (max-width: 991px){
  .hero-inner{grid-template-columns:1fr;text-align:center;}
  .hero-image-col{justify-content:center;}
  .hero-content-col h1{max-width:none;}
  .hero-sub{margin-left:auto;margin-right:auto;}
  .hero-ctas{justify-content:center;}
  .about-grid, .faq-grid, .contact-grid{grid-template-columns:1fr;}
  .about-photo{order:-1;}
  .services-grid, .why-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .popup-body{grid-template-columns:1fr;}
  .popup-promo{display:none;}
}

@media (max-width: 767px){
  .topbar-left a:nth-child(2){display:none;}
  .header-call{display:none;}
  .menu-toggle{display:flex;}
  .main-nav{
    position:fixed;top:0;right:-100%;width:78%;max-width:320px;height:100vh;
    background:var(--white);flex-direction:column;align-items:flex-start;
    padding:100px 28px 28px;gap:22px;transition:right .3s ease;box-shadow:-8px 0 24px rgba(0,0,0,0.15);
    overflow-y:auto;
  }
  .main-nav.active{right:0;}
  .nav-cta-mobile{display:flex;width:100%;margin-top:10px;}
  .hero{padding:60px 0;}
  .hero-content-col h1{font-size:1.9rem;}
  .services-grid, .why-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  .about-mission-vision{grid-template-columns:1fr;}
  .cbqs-badge{width:85px;height:30px;bottom:14px;left:14px;}
  .floating-whatsapp{width:50px;height:50px;font-size:1.4rem;bottom:14px;right:14px;}
  .phone-row{flex-direction:row;}
  
  .social-label {
    opacity: 0.7;
    margin-right: 4px;
    display: none;
}
}
