/* =====================================================
   Navinyasa Technologies — Shared Site Styles
   Used across all modernized page prototypes:
   index-enhanced.html, mechanical-domain-training.html,
   about-us.html, automotive-design.html, consumer-products.html,
   industrial-design-studio.html, skill-development.html, contact-us.html
   ===================================================== */
:root{
  --nv-navy:#0b2a4a;
  --nv-navy-2:#123a63;
  --nv-orange:#ff6a1a;
  --nv-orange-dark:#e2570f;
  --nv-light:#f5f8fb;
  --nv-gray:#5f6b7a;
  --nv-border:#e3e8ef;
  --nv-success:#1aa260;
  --radius:14px;
}
*{box-sizing:border-box;}
body{
  font-family:'Inter', sans-serif;
  color:#1c2733;
  background:#fff;
  padding-top:108px;
}
h1,h2,h3,h4,.brand-font{font-family:'Poppins', sans-serif; font-weight:700;}
.text-navy{color:var(--nv-navy);}
.text-orange{color:var(--nv-orange);}
.bg-navy{background-color:var(--nv-navy);}
.bg-light-soft{background-color:var(--nv-light);}
a{text-decoration:none;}

/* ===== Topbar ===== */
.topbar{
  background:var(--nv-navy-2); color:#cfe0f5; font-size:.85rem; padding:6px 0;
}
.topbar a{color:#cfe0f5;}
.topbar a:hover{color:#fff;}

/* ===== Navbar ===== */
.navbar-custom{
  background:#fff; box-shadow:0 2px 10px rgba(11,42,74,.08);
  padding:.6rem 0;
}
.navbar-custom .navbar-brand{font-family:'Poppins',sans-serif; font-weight:800; color:var(--nv-navy); font-size:1.4rem;}
.navbar-custom .nav-link{color:var(--nv-navy); font-weight:600; font-size:.95rem; padding:.5rem 1rem !important;}
.navbar-custom .nav-link:hover, .navbar-custom .nav-link.active{color:var(--nv-orange);}
.btn-orange{
  background:var(--nv-orange); border-color:var(--nv-orange); color:#fff; font-weight:600;
  border-radius:8px;
}
.btn-orange:hover{background:var(--nv-orange-dark); border-color:var(--nv-orange-dark); color:#fff;}
.btn-outline-navy{
  border:2px solid var(--nv-navy); color:var(--nv-navy); font-weight:600; border-radius:8px;
}
.btn-outline-navy:hover{background:var(--nv-navy); color:#fff;}
.fixed-top-wrap{position:fixed; top:0; left:0; right:0; z-index:1040;}

/* ===== Responsive logo ===== */
.nav-logo{
  height:46px;
  width:auto;
  display:block;
  object-fit:contain;
}
@media (max-width:575px){
  .nav-logo{ height:36px; }
}

/* ===== Page Hero (inner pages) ===== */
.page-hero{
  background:linear-gradient(135deg, var(--nv-navy) 0%, var(--nv-navy-2) 60%, #1a4a7a 100%);
  color:#fff; position:relative; overflow:hidden;
  padding:56px 0;
}
.page-hero::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:42px 42px; opacity:.5;
}
.page-hero .content{position:relative; z-index:2;}
.page-hero h1{font-size:2.4rem; line-height:1.2;}
.page-hero p.lead{color:#d7e3f4; font-size:1.05rem;}
.page-hero .breadcrumb{
  --bs-breadcrumb-divider-color:#9fc3ec; margin-bottom:14px;
}
.page-hero .breadcrumb a{color:#cfe0f5;}
.page-hero .breadcrumb-item.active{color:#ffb98a;}
.hero-badge{
  display:inline-block; background:rgba(255,106,26,.15); border:1px solid var(--nv-orange);
  color:#ffb98a; font-size:.8rem; font-weight:600; padding:5px 14px; border-radius:50px; margin-bottom:14px;
}
.trust-strip{margin-top:24px; font-size:.85rem; color:#b9cbe3;}
.trust-strip .item{display:inline-flex; align-items:center; gap:6px; margin-right:22px;}
.trust-strip i{color:var(--nv-orange);}

/* ===== Sections ===== */
.section{padding:64px 0;}
.section-title{font-size:2rem; margin-bottom:.5rem;}
.section-sub{color:var(--nv-gray); max-width:700px;}
.eyebrow{
  color:var(--nv-orange); font-weight:700; font-size:.8rem; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px; display:block;
}

/* Generic feature/service cards */
.service-card{
  border:1px solid var(--nv-border); border-radius:var(--radius); padding:28px 24px; height:100%;
  transition:.25s; background:#fff;
}
.service-card:hover{box-shadow:0 12px 28px rgba(11,42,74,.10); transform:translateY(-4px); border-color:transparent;}
.service-icon{
  width:56px; height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:var(--nv-light); color:var(--nv-orange); font-size:1.6rem; margin-bottom:16px;
}
.service-card h3{font-size:1.15rem; color:var(--nv-navy); margin-bottom:8px;}
.service-card p{color:var(--nv-gray); font-size:.92rem; margin-bottom:14px;}
.service-card .arrow-link{color:var(--nv-orange); font-weight:600; font-size:.9rem;}

/* "What We Do" style cards */
.wwd-card{
  border:1px solid var(--nv-border); border-radius:var(--radius); padding:24px; height:100%; background:#fff;
}
.wwd-icon{
  width:48px; height:48px; border-radius:10px; background:var(--nv-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:14px;
}
.wwd-card h4{font-size:1.05rem; color:var(--nv-navy); margin-bottom:8px;}
.wwd-card p{color:var(--nv-gray); font-size:.9rem; margin-bottom:0;}

/* Capability list cards (Design / Validation / Tool Design, etc.) */
.cap-card{
  border:1px solid var(--nv-border); border-radius:var(--radius); padding:28px; height:100%; background:#fff;
}
.cap-card .cap-icon{
  width:52px; height:52px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; margin-bottom:16px; color:#fff;
}
.cap-card h3{font-size:1.2rem; color:var(--nv-navy); margin-bottom:10px;}
.cap-card ul{padding-left:1.1rem; margin-bottom:0; color:#3a4655; font-size:.92rem;}
.cap-card ul li{margin-bottom:6px;}

/* About / image wrap */
.about-img-wrap{
  border-radius:var(--radius); overflow:hidden; background:var(--nv-light); padding:30px;
}

/* Stats */
.stats-section{
  background:linear-gradient(135deg, var(--nv-navy) 0%, var(--nv-navy-2) 100%); color:#fff;
}
.stat-num{font-size:2.6rem; font-weight:800; font-family:'Poppins',sans-serif; color:var(--nv-orange);}
.stat-label{color:#cfe0f5; font-size:.95rem;}

/* Promo card */
.promo-card{
  background:linear-gradient(120deg, #fff4ec 0%, #fff 60%);
  border:1px solid #ffd9c2; border-radius:var(--radius); padding:36px;
}

/* Testimonials */
.testi-card{
  border:1px solid var(--nv-border); border-radius:var(--radius); padding:24px; height:100%; background:#fff;
}
.testi-card .stars{color:#ffb22e; font-size:.85rem; margin-bottom:10px;}
.testi-card p{color:#3a4655; font-size:.92rem; font-style:italic;}
.testi-card .name{font-weight:700; color:var(--nv-navy); font-size:.92rem; margin-bottom:0;}
.testi-card .role{color:var(--nv-gray); font-size:.8rem;}
.testi-avatar{
  width:42px; height:42px; border-radius:50%; background:var(--nv-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1rem; flex-shrink:0;
}

/* FAQ */
.accordion-button{font-weight:600; color:var(--nv-navy);}
.accordion-button:not(.collapsed){background:var(--nv-light); color:var(--nv-orange);}
.accordion-button:focus{box-shadow:none; border-color:var(--nv-border);}

/* Enquiry / contact form */
.enquiry-section{background:var(--nv-light);}
.enquiry-card{
  background:#fff; border-radius:var(--radius); padding:32px; box-shadow:0 8px 28px rgba(11,42,74,.06);
}
.form-control, .form-select{
  border-radius:8px; border:1px solid var(--nv-border); padding:.65rem .9rem; font-size:.95rem;
}
.form-control:focus, .form-select:focus{border-color:var(--nv-orange); box-shadow:0 0 0 .2rem rgba(255,106,26,.15);}

/* Process steps */
.process-step{
  border:1px solid var(--nv-border); border-radius:var(--radius); padding:24px; height:100%; background:#fff; position:relative;
}
.process-step .step-num{
  width:40px; height:40px; border-radius:50%; background:var(--nv-navy); color:#fff; font-weight:700;
  display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-family:'Poppins',sans-serif;
}
.process-step h4{font-size:1rem; color:var(--nv-navy); margin-bottom:6px;}
.process-step p{color:var(--nv-gray); font-size:.88rem; margin-bottom:0;}

/* Final CTA */
.final-cta{
  background:linear-gradient(120deg, var(--nv-navy) 0%, var(--nv-navy-2) 100%); color:#fff; border-radius:var(--radius);
  padding:44px;
}

/* Footer */
footer{background:var(--nv-navy); color:#cfe0f5; padding:48px 0 20px; font-size:.9rem;}
footer h5{color:#fff; font-weight:700; margin-bottom:16px;}
footer a{color:#cfe0f5;}
footer a:hover{color:var(--nv-orange);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:28px; padding-top:18px; font-size:.82rem; color:#9fb6d4;}

/* Floating buttons */
.whatsapp-float{
  position:fixed; right:20px; bottom:90px; z-index:1050;
  width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.6rem;
  box-shadow:0 6px 18px rgba(0,0,0,.2);
}
.top-float{
  position:fixed; right:20px; bottom:20px; z-index:1050;
  width:44px; height:44px; border-radius:50%; background:var(--nv-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  box-shadow:0 6px 18px rgba(0,0,0,.2); opacity:0; pointer-events:none; transition:.25s;
}
.top-float.show{opacity:1; pointer-events:auto;}

/* Sticky mobile CTA */
.sticky-cta{
  position:fixed; bottom:0; left:0; right:0; z-index:1045;
  background:#fff; border-top:1px solid var(--nv-border); box-shadow:0 -4px 14px rgba(0,0,0,.08);
  padding:10px 14px; display:flex; gap:10px;
}
.sticky-cta .btn{flex:1; font-weight:600;}
@media (min-width:992px){ .sticky-cta{display:none;} }
@media (max-width:991px){
  body{padding-bottom:74px; padding-top:96px;}
  .hero h1, .page-hero h1{font-size:2.1rem;}
}

.skip-link{
  position:absolute; left:-9999px; top:auto; background:var(--nv-orange); color:#fff; padding:10px 16px; z-index:2000; border-radius:0 0 8px 0;
}
.skip-link:focus{left:0; top:0;}

/* ===== Hero ===== */
.hero {
    background: linear-gradient(
        135deg,
        var(--nv-navy) 0%,
        var(--nv-navy-2) 60%,
        #1a4a7a 100%
    );
    color: #fff;
    position: relative;
    overflow: hidden;
    padding: 64px 0 70px;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 42px 42px;
    opacity: .5;
}

.hero .content {
    position: relative;
    z-index: 2;
}

.hero h1 {
    font-size: 2.6rem;
    line-height: 1.2;
}

.hero p.lead {
    color: #d7e3f4;
    font-size: 1.1rem;
}

.hero-badge {
    display: inline-block;
    background: rgba(255,106,26,.15);
    border: 1px solid var(--nv-orange);
    color: #ffb98a;
    font-size: .8rem;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 50px;
    margin-bottom: 14px;
}

.trust-strip {
    margin-top: 28px;
    font-size: .85rem;
    color: #b9cbe3;
}

.trust-strip .item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 22px;
}

.trust-strip i {
    color: var(--nv-orange);
}

@media (max-width: 991px) {
    .hero h1 {
        font-size: 2.1rem;
    }
}
/* ===== Homepage General Sections ===== */

.section {
    padding: 64px 0;
}

.section-title {
    font-size: 2rem;
    margin-bottom: .5rem;
}

.section-sub {
    color: var(--nv-gray);
    max-width: 700px;
}

.eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--nv-orange);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}


/* ===== Services ===== */

.service-card {
    height: 100%;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--nv-border);
    border-radius: var(--radius);
    transition: transform .25s ease, box-shadow .25s ease;
}

.service-card:hover {
    border-color: transparent;
    box-shadow: 0 12px 28px rgba(11, 42, 74, .10);
    transform: translateY(-4px);
}

.service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 16px;
    color: var(--nv-orange);
    font-size: 1.6rem;
    background: var(--nv-light);
    border-radius: 12px;
}

.service-card h3 {
    margin-bottom: 8px;
    color: var(--nv-navy);
    font-size: 1.15rem;
}

.service-card p {
    margin-bottom: 14px;
    color: var(--nv-gray);
    font-size: .92rem;
}

.service-card .arrow-link {
    color: var(--nv-orange);
    font-size: .9rem;
    font-weight: 600;
}

.service-card-featured {
    border-color: #ffd9c2;
    background: linear-gradient(120deg, #fff7f2, #fff);
}

.service-icon-featured {
    background: #ffe6d6;
}


/* Temporary desktop visibility fix */
@media (min-width: 992px) {
    main#main-content,
    main#main-content > section,
    .section,
    .bg-light-soft,
    .stats-section,
    .enquiry-section {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        min-height: 1px !important;
        overflow: visible !important;
        position: relative !important;
    }
}
