@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
:root{
    --navy:#0e2a4d;
    --navy-deep:#0a1f3d;
    --orange:#e8622a;
    --gray:#8b95a1;
    --gray-light:#eef1f4;
    --border:#e3e7ec;
    --text:#1c2b3f;
    --bg-primary: #ffffff;
    --bg-secondary: #f8fafc;
    /* Spacing */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-4: 1rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-12: 3rem;
    /* Theme Toggle Transitions */
    --transition-theme: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  }

  [data-theme="dark"] {
    --navy:#6699cc;
    --navy-deep:#4c7da6;
    --orange:#ff8a5c;
    --gray:#a1a1aa;
    --gray-light:#27272a;
    --border:#3f3f46;
    --text:#f4f4f5;
    --bg-primary: #09090b;
    --bg-secondary: #18181b;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--text);
    background:var(--bg-primary);
    transition: var(--transition-theme);
  }
  a{text-decoration:none; color:inherit;}
  ul{list-style:none;}

  /* Accessibility focus states */
  *:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 3px;
  }

  /* ===== Single unified nav bar ===== */
  .navbar{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    justify-content:space-between;
    gap:14px;
    padding:10px 32px;
    border-bottom:1px solid var(--border);
    overflow-x:auto;
    background: var(--bg-primary);
  }
  .nav-contact{
    display:flex;
    align-items:center;
    gap:14px;
    font-size:12.5px;
    color:var(--navy);
    font-weight:500;
    white-space:nowrap;
  }
  .nav-contact .item{display:flex; align-items:center; gap:6px;}
  .nav-contact svg{flex-shrink:0;}
  .nav-divider{
    width:1px;
    align-self:stretch;
    background:var(--border);
    flex-shrink:0;
  }

  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
    text-decoration:none;
    color:inherit;
    cursor:pointer;
  }
  .brand-text .esp{
    color:var(--orange);
    font-weight:800;
    font-size:10px;
    letter-spacing:1.6px;
  }
  .brand-text h1{
    font-size:22px;
    font-weight:800;
    letter-spacing:0.5px;
    color:var(--navy);
    line-height:1.05;
    white-space:nowrap;
  }
  .brand-text h1 .o-orange{color:var(--orange);}
  .brand-text {
    display: flex;
    flex-direction: column;
  }
  .brand-text .sub1{
    display:flex;
    justify-content:space-between;
    width:100%;
    font-size:9px;
    font-weight:700;
    letter-spacing:0;
    color:var(--navy);
    border-top:2px solid var(--orange);
    padding-top:3px;
    margin-top:2px;
  }
  .brand-text .sub2{
    font-size:7.5px;
    letter-spacing:0.5px;
    font-weight:700;
    color:var(--navy);
    margin-top:2px;
    white-space:nowrap;
    text-align:center;
  }
  .brand-text .sub2 .dot{color:var(--orange);}

  .materials{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:16px;
    row-gap:2px;
    padding:2px 14px;
    border-left:1px solid var(--border);
    border-right:1px solid var(--border);
    flex-shrink:0;
  }
  .material-item{
    display:flex;
    flex-direction:column;
    line-height:1.15;
    white-space:nowrap;
    padding:2px 0;
  }
  .material-item:nth-child(1), .material-item:nth-child(2){
    border-bottom:1px solid var(--border);
    padding-bottom:4px;
  }
  .material-item:nth-child(3), .material-item:nth-child(4){
    padding-top:4px;
  }
  .material-item .name{
    color:var(--orange);
    font-weight:800;
    font-size:11px;
  }
  .material-item .brand-name{
    color:var(--navy);
    font-weight:700;
    font-size:9.5px;
  }

  .features{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:14px;
    row-gap:2px;
    padding:2px 0;
    flex-shrink:0;
  }
  .feature-item{
    display:flex;
    align-items:center;
    gap:5px;
    white-space:nowrap;
    padding:2px 0;
  }
  .feature-item:nth-child(1), .feature-item:nth-child(2){
    border-bottom:1px solid var(--border);
    padding-bottom:4px;
  }
  .feature-item:nth-child(3), .feature-item:nth-child(4){
    padding-top:4px;
  }
  .feature-item .icon{
    width:16px;
    height:16px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .feature-item .label{
    font-weight:700;
    color:var(--navy);
    font-size:9.5px;
    line-height:1.1;
  }

  .nav-links{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:12px;
    font-weight:600;
    color:var(--navy);
    white-space:nowrap;
    flex-shrink:0;
  }
  .nav-links a:hover{color:var(--orange);}
  .nav-links .divider{color:var(--border); font-weight:300;}

  .social-icons{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
  }
  .social-icons a{
    color:var(--navy);
    display:flex;
  }
  .social-icons a:hover{color:var(--orange);}

  .menu-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3px;
    flex-shrink:0;
    cursor:pointer;
  }
  .menu-wrap .menu-label{
    font-size:10px;
    font-weight:700;
    letter-spacing:0.5px;
    color:var(--navy);
  }
  .menu-btn{
    width:38px;
    height:38px;
    background:var(--navy);
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    flex-shrink:0;
  }

  .nav-hr{
    border:none;
    border-top:1px solid var(--border);
  }

  /* ===== Hero ===== */
  .hero{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
    background:linear-gradient(180deg,#f7f9fb 0%, #eef1f5 100%);
  }
  .hero-copy{
    padding:90px 60px 90px 40px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .hero-copy h2{
    font-size:52px;
    font-weight:800;
    color:var(--navy);
    line-height:1.12;
  }
  .hero-rule{
    width:70px;
    height:5px;
    background:var(--orange);
    margin:26px 0 26px;
    border-radius:3px;
  }
  .hero-copy p{
    font-size:17px;
    color:#5b6672;
    line-height:1.6;
    max-width:480px;
    margin-bottom:36px;
  }
  .hero-ctas{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:16px 28px;
    font-weight:800;
    font-size:14.5px;
    letter-spacing:0.5px;
    border-radius:6px;
    cursor:pointer;
    transition:all .2s ease;
  }
  .btn-primary{
    background:var(--orange);
    color:#fff;
    border:2px solid var(--orange);
  }
  .btn-primary:hover{background:#d4551f; border-color:#d4551f;}
  .btn-outline{
    background:transparent;
    color:var(--navy);
    border:2px solid var(--navy);
  }
  .btn-outline:hover{background:var(--navy); color:#fff;}

  /* ===== Hero visual (SVG rings, original illustration) ===== */
  .hero-visual{
    position:relative;
    overflow:hidden;
    min-height:560px;
  }
  .hero-visual .skyline{
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg, rgba(230,238,247,0.9) 0%, rgba(210,222,236,0.55) 55%, rgba(190,205,222,0.4) 100%);
  }
  .hero-visual svg{
    position:relative;
    width:100%;
    height:100%;
    display:block;
  }

  /* ===== Hero extras ===== */
  .hero-label{
    display:inline-flex; align-items:center; gap:8px;
    font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--gray); border:1px solid var(--border); padding:5px 14px;
    border-radius:20px; background:#fff; margin-bottom:22px; width:fit-content;
  }
  .pdot{width:6px; height:6px; background:var(--orange); border-radius:50%;}
  .hero-visual{
    position:relative; overflow:hidden; min-height:560px;
    background:var(--navy); border-radius:0;
  }
  .hero-photo{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.92;
  }
  .hero-badge{
    position:absolute; bottom:28px; right:28px; background:var(--navy);
    color:#fff; width:96px; height:96px; border-radius:50%;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; box-shadow:0 10px 24px rgba(0,0,0,0.3); border:2px solid var(--orange);
  }
  .badge-top, .badge-bot{font-size:8.5px; color:rgba(255,255,255,0.6); letter-spacing:0.05em;}
  .badge-main{font-size:24px; font-weight:800; color:var(--orange); line-height:1.2;}
  .metrics{display:flex; gap:0; border-top:1px solid var(--border); padding-top:22px; margin-top:8px;}
  .metric{flex:1;}
  .m-val{font-size:26px; font-weight:800; color:var(--navy); letter-spacing:-0.02em; margin-bottom:4px;}
  .m-lbl{font-size:10.5px; color:var(--gray); text-transform:uppercase; letter-spacing:0.05em;}
  .msep{width:1px; background:var(--border); margin:0 20px;}

  /* ===== Marquee ===== */
  .marquee{background:var(--navy); padding:14px 0; overflow:hidden;}
  .marquee-inner{display:flex; gap:30px; white-space:nowrap; animation:scrollmq 26s linear infinite; width:max-content;}
  .mq-item{font-size:11.5px; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; color:rgba(255,255,255,0.55);}
  .mq-dot{color:var(--orange); font-size:14px;}
  @keyframes scrollmq{0%{transform:translateX(0);} 100%{transform:translateX(-50%);}}

  /* ===== Section shared ===== */
  .section{padding:80px 60px; background:#fff;}
  .sec-eye{
    font-size:11.5px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--orange); border-bottom:2px solid var(--orange); display:inline-block;
    padding-bottom:5px; margin-bottom:18px;
  }
  .sec-title{font-size:34px; font-weight:800; color:var(--navy); line-height:1.15; margin-bottom:14px;}
  .o-orange-serif{color:var(--orange); font-style:italic;}
  .sec-desc{font-size:15px; color:var(--gray); line-height:1.65; max-width:620px; margin-bottom:44px;}

  /* Materials cards - Original Layout with Antigravity Improvements */
  .cards-grid {
    display: grid; 
    grid-template-columns: 1fr 1fr; /* Revert to the original 2-column layout */
    gap: 30px;
  }
  .mat-card {
    position: relative;
    border: 1px solid var(--border); 
    border-radius: 12px; 
    display: flex;
    flex-direction: column; /* Vertical layout: image on top, text on bottom */
    overflow: hidden;
    cursor: pointer; 
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    background: #fff;
    /* Base box-shadow for depth */
    box-shadow: 0 8px 24px rgba(14,42,77,0.04);
  }
  .mat-card:hover {
    border-color: var(--orange); 
    box-shadow: 0 16px 40px rgba(14,42,77,0.12);
    transform: translateY(-6px);
  }
  .card-vis {
    background: #ffffff; 
    width: 100%; /* Image takes full width */
    aspect-ratio: 4 / 3; /* Good ratio for full un-cut images */
    position: relative; 
    overflow: hidden; 
    border-bottom: 1px solid var(--border); /* Border between image and text */
    flex-shrink: 0;
  }
  .real-img {
    width: 100%; 
    height: 100%; 
    display: block; 
    object-fit: contain; /* Full width of its square container, no cutting */
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .mat-card:hover .real-img {
    transform: scale(1.08);
  }
  .temp-tag {
    background: rgba(255, 255, 255, 0.95); 
    border: 1px solid var(--border);
    border-radius: 20px; 
    padding: 6px 14px; 
    font-size: 11px; 
    font-weight: 900; 
    background: linear-gradient(90deg, var(--navy), #1a4f8f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--navy);
    display: inline-flex; 
    align-items: center; 
    gap: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
    margin-top: 0px;
    margin-bottom: 20px;
    align-self: flex-start;
  }
  .tdot {
    width: 6px; 
    height: 6px; 
    background: var(--orange); 
    border-radius: 50%; 
    display: inline-block;
  }
  .card-body {
    padding: 26px 30px;
    display: flex;
    flex-direction: column;
    flex: 1; /* Takes up the remaining horizontal space */
  }
  .card-cat {
    font-size: 11px; 
    font-weight: 900; 
    text-transform: uppercase; 
    letter-spacing: 0.1em; 
    color: var(--gray); 
    margin-bottom: 10px;
  }
  .card-name {
    font-size: 24px; 
    font-weight: 900; 
    background: linear-gradient(90deg, var(--navy), #1a4f8f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--navy); 
    margin-bottom: 12px; 
    display: flex; 
    align-items: center; 
    gap: 10px;
  }
  .trade-pill {
    font-size: 11px; 
    font-weight: 700; 
    color: var(--gray); 
    background: rgba(14, 42, 77, 0.04);
    border: 1px solid var(--border); 
    padding: 4px 10px; 
    border-radius: 6px;
  }
  .card-desc {
    font-size: 14.5px; 
    color: var(--gray); 
    line-height: 1.6; 
    margin-bottom: 20px;
  }
  .card-link {
    font-size: 13px; 
    font-weight: 900; 
    color: var(--orange); 
    display: flex; 
    align-items: center; 
    gap: 6px;
    margin-top: auto;
    transition: transform 0.3s ease;
  }
  .mat-card:hover .card-link {
    transform: translateX(6px);
  }

  /* Engineering (dark) */
  .sec-dark{
    background:var(--navy); padding:80px 60px;
  }
  .cap-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  .dark-eye{
    font-size:11.5px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--orange); border-bottom:2px solid var(--orange); display:inline-block;
    padding-bottom:5px; margin-bottom:20px;
  }
  .dark-title{font-size:34px; font-weight:800; color:#fff; line-height:1.15; margin-bottom:34px;}
  .cap-item{
    display:flex; 
    flex-direction: column;
    gap:24px; 
    align-items:flex-start; 
    padding:40px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.01) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border:1px solid rgba(255,255,255,0.1);
    border-top:2px solid rgba(255,255,255,0.15);
    border-radius:16px;
    box-shadow:0 8px 32px 0 rgba(0,0,0,0.15);
    transition:all 0.4s ease;
  }
  .cap-item:hover{
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
    border-top-color: var(--orange);
    transform:translateY(-6px);
    box-shadow:0 15px 40px rgba(0,0,0,0.25);
  }
  .cap-icon-box{
    width:64px; height:64px; 
    background: linear-gradient(135deg, var(--orange), #d9541a);
    border-radius:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#fff;
    box-shadow: 0 6px 20px rgba(242, 106, 33, 0.35);
  }
  .cap-icon-box svg {
    width: 26px; height: 26px;
  }
  .cap-h{font-size:18px; font-weight:800; color:#fff; margin-bottom:8px; letter-spacing: -0.01em;}
  .cap-p{font-size:14.5px; color:rgba(255,255,255,0.7); line-height:1.6;}
  .eng-img{background:rgba(255,255,255,0.04); border-radius:10px; overflow:hidden; border:1px solid rgba(255,255,255,0.12);}
  .eng-img-top{height:250px; display:flex; align-items:center; justify-content:center;}
  .spec-float{padding:22px 26px; background:rgba(255,255,255,0.03); border-top:1px solid rgba(255,255,255,0.1);}
  .sf-row{display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid rgba(255,255,255,0.07);}
  .sf-row:last-child{border-bottom:none;}
  .sf-lbl{font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:rgba(255,255,255,0.4); font-weight:700;}
  .sf-val{font-size:13.5px; font-weight:700; color:#fff;}

  /* Sectors */
  .sectors{padding:80px 60px; background:var(--gray-light);}
  .ind-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; margin-top:20px;}
  .ind-card{
    padding:28px; background:#fff; border:1px solid var(--border); border-radius:10px;
    font-weight:700; color:var(--navy); transition:all 0.25s; display:flex;
    flex-direction:column; align-items:flex-start; gap:16px; font-size:15px;
  }
  .ind-card:hover{border-color:var(--orange); box-shadow:0 10px 26px rgba(14,42,77,0.06); transform:translateY(-3px);}
  .ind-icon{font-size:26px; background:var(--gray-light); width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;}

  /* CTA */
  .cta-sec{
    background:var(--navy); padding:80px 60px; display:flex;
    flex-direction: column; align-items: center; text-align: center;
  }
  .cta-eye{
    font-size:11.5px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--orange);
    border-bottom:2px solid var(--orange); display:inline-block; padding-bottom:5px; margin-bottom:20px;
  }
  .cta-title{font-size:34px; font-weight:800; color:#fff; margin-bottom:18px; line-height:1.15;}
  .cta-desc{font-size:14.5px; color:rgba(255,255,255,0.55); line-height:1.65; margin-bottom:28px; max-width:460px; margin-left: auto; margin-right: auto;}
  .form-card{background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:10px; padding:32px;}
  .form-card h4{font-size:21px; font-weight:800; color:#fff; margin-bottom:22px;}
  .f-field{margin-bottom:18px;}
  .f-lbl{font-size:10.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.4); display:block; margin-bottom:7px;}
  .f-input{
    width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15);
    border-radius:6px; padding:12px 14px; font-size:13.5px; color:#fff; font-family:inherit;
  }
  .f-input::placeholder{color:rgba(255,255,255,0.35);}
  .f-input:focus{outline:none; border-color:var(--orange);}

  /* ===== Generic inner-page hero (Products / Industries / Resources / Contact) ===== */
  .page-hero{
    padding:90px 60px 50px;
    background:var(--gray-light);
    border-bottom:1px solid var(--border);
  }
  .page-hero .sec-desc{max-width:720px;}
  @media (max-width: 900px){
    .page-hero{padding:56px 24px 36px;}
  }
  @media (max-width: 480px){
    .page-hero{padding:44px 20px 30px;}
    .page-hero .sec-title{font-size:26px;}
  }

  /* ===== Contact Page ===== */
  .contact-layout{
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:60px;
    max-width:1200px;
    margin:0 auto;
    padding:70px 60px 110px;
  }
  .contact-info{display:flex; flex-direction:column; gap:22px;}

  /* Quick action row: tap-to-call / WhatsApp / email — mobile-first */
  .quick-actions{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:6px;}
  .qa-btn{
    display:flex; align-items:center; gap:8px; flex:1 1 auto; justify-content:center;
    padding:13px 16px; border-radius:8px; background:var(--gray-light); border:1px solid var(--border);
    color:var(--navy); font-weight:700; font-size:13px; text-decoration:none; white-space:nowrap;
    transition:all 0.2s ease;
  }
  .qa-btn:hover{border-color:var(--orange); color:var(--orange);}
  .qa-btn.qa-whatsapp{background:#e8f8ee; border-color:#cdeedb; color:#1a8a4a;}
  .qa-btn.qa-whatsapp:hover{background:#1a8a4a; border-color:#1a8a4a; color:#fff;}

  .info-block{display:flex; gap:16px; align-items:flex-start; padding:22px; background:#fff; border:1px solid var(--border); border-radius:12px;}
  .info-icon{
    width:44px; height:44px; border-radius:10px; background:var(--gray-light); color:var(--orange);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .info-block-body{min-width:0;}
  .info-block h4{font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:0.06em; color:var(--orange); margin-bottom:10px;}
  .info-block p{font-size:15px; line-height:1.7; color:var(--navy); margin:0;}
  .info-block p a{color:var(--navy); text-decoration:none; border-bottom:1px solid var(--border);}
  .info-block p a:hover{color:var(--orange); border-color:var(--orange);}
  .info-link{
    display:inline-flex; align-items:center; gap:5px; margin-top:12px; font-size:12.5px; font-weight:800;
    text-transform:uppercase; letter-spacing:0.04em; color:var(--orange); text-decoration:none;
  }
  .info-link:hover{color:#d4551f;}

  .form-section{
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    padding:40px;
    box-shadow:0 20px 50px rgba(14,42,77,0.06);
  }
  .form-section h2{font-size:22px; font-weight:800; color:var(--navy); margin-bottom:26px;}
  .form-row{display:flex; gap:20px; margin-bottom:18px;}
  .form-row .f-field{flex:1; margin-bottom:0;}
  .form-section .f-lbl{color:var(--navy); opacity:0.55;}
  .form-section .f-input{
    background:var(--gray-light); border:1px solid var(--border); color:var(--navy);
    font-size:16px; /* prevents iOS auto-zoom on focus */
  }
  .form-section .f-input::placeholder{color:#9aa5b1;}
  .form-section .f-input:focus{background:#fff;}
  .form-btn-full{width:100%; justify-content:center; margin-top:6px;}
  .form-success{
    display:none; margin-top:16px; padding:14px 16px; border-radius:8px;
    background:#e8f8ee; border:1px solid #cdeedb; color:#1a8a4a; font-size:13.5px; font-weight:600; line-height:1.5;
  }
  #contact-form.submitted .form-success{display:block;}
  .trust-badges{display:flex; gap:22px; margin-top:22px; flex-wrap:wrap;}
  .trust-badges span{display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--navy); opacity:0.6;}
  .trust-badges svg{color:var(--orange); flex-shrink:0;}

  /* ===== Mobile-only sticky call/WhatsApp/quote bar ===== */
  .mobile-sticky-cta{
    display:none;
    position:fixed; left:0; right:0; bottom:0; z-index:500;
    background:#fff; border-top:1px solid var(--border);
    box-shadow:0 -8px 24px rgba(14,42,77,0.1);
    padding:10px 10px calc(10px + env(safe-area-inset-bottom));
    gap:8px;
  }
  .msc-btn{
    flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
    padding:10px 4px; min-height:44px; border-radius:8px; font-size:11px; font-weight:800; text-decoration:none;
    letter-spacing:0.02em;
  }
  .msc-call{background:var(--navy); color:#fff;}
  .msc-whatsapp{background:#1a8a4a; color:#fff;}
  .msc-quote{background:var(--orange); color:#fff; flex:1.4;}

  @media (max-width: 900px){
    .contact-layout{grid-template-columns:1fr; padding:50px 24px 70px; gap:40px;}
    .form-row{flex-direction:column; gap:0;}
    .form-section{padding:28px;}
  }
  @media (max-width: 768px){
    .mobile-sticky-cta{display:flex;}
    body.contact-page{padding-bottom:74px;}
  }
  @media (max-width: 480px){
    .info-block{padding:18px; gap:12px;}
    .quick-actions{gap:8px;}
    .qa-btn{padding:12px 10px; font-size:12px;}
    .form-section{padding:20px;}
  }

  
  
  
  /* Footer - Premium Agency Styling */
  .site-footer {
    background-color: #ffffff !important;
    background-image: radial-gradient(rgba(14,42,77,0.06) 1px, transparent 1px) !important;
    background-size: 24px 24px !important;
    padding: 90px 80px 0;
    border-top: 1px solid rgba(14,42,77,0.08);
    position: relative;
    overflow: hidden;
  }
  
  /* Subtle Top Glow */
  .site-footer::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, transparent, var(--orange), transparent);
    opacity: 0.4;
  }

  .footer-top {
    display: grid;
    grid-template-columns: 1.2fr 2fr;
    gap: 80px;
    margin-bottom: 70px;
    position: relative;
  }

  .footer-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    transition: transform 0.3s ease;
  }
  .footer-brand:hover {
    transform: translateY(-2px);
  }
  /* Restore logo original colors */
  .footer-brand .brand-text { color: var(--navy) !important; }
  .footer-brand .brand-text .sub2-block { color: var(--navy) !important; 
    }
  .footer-brand svg circle[stroke="#ffffff"] { stroke: #0e2a4d !important; }
  .footer-brand svg circle[fill="#ffffff"] { fill: #0e2a4d !important; }
  
  .f-tagline {
    font-size: 15.5px;
    color: var(--navy);
    opacity: 0.85;
    line-height: 1.7;
    margin-top: 26px;
    max-width: 340px;
    font-weight: 500;
    position: relative;
  }

  .f-address {
    margin-top: 36px;
    font-size: 14px;
    color: var(--navy);
    opacity: 0.8;
    line-height: 1.8;
  }
  .f-address strong {
    color: var(--navy);
    opacity: 1;
    font-size: 15px;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: 10px;
  }
  .f-address a {
    color: var(--navy) !important;
    font-weight: 600;
    position: relative;
    display: inline-block;
    transition: color 0.3s ease;
  }
  .f-address a[href^="mailto:"]::before {
    content: '✉ ';
    font-size: 1.2em;
    color: var(--orange);
    margin-right: 6px;
  }
  .f-address a[href^="tel:"]::before {
    content: '☏ ';
    font-size: 1.2em;
    color: var(--orange);
    margin-right: 6px;
  }
  .f-address a::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: -2px;
    left: 0;
    background-color: var(--orange);
    transform-origin: bottom right;
    transition: transform 0.3s ease-out;
  }
  .f-address a:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
  }
  .f-address a:hover {
    color: var(--orange) !important;
  }

  .fnav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
  .fnav-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .fnav-col h5 {
    font-size: 13.5px;
    font-weight: 900;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--navy);
    margin-bottom: 30px;
    position: relative;
    display: inline-block;
  }
  .fnav-col h5::after {
    content: '';
    position: absolute;
    left: 0; bottom: -8px; width: 24px; height: 3px;
    background: var(--orange);
    border-radius: 3px;
  }
  
  .fnav-col > a:not(.f-mat-link) {
    display: inline-block;
    font-size: 15px;
    color: var(--navy);
    opacity: 0.85;
    margin-bottom: 18px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
  }
  .fnav-col > a:not(.f-mat-link)::before {
    content: '→';
    position: absolute;
    left: -22px;
    opacity: 0;
    font-weight: 700;
    color: var(--orange);
    transition: all 0.3s ease;
  }
  .fnav-col > a:not(.f-mat-link):hover {
    color: var(--orange);
    opacity: 1;
    transform: translateX(22px);
  }
  .fnav-col > a:not(.f-mat-link):hover::before {
    opacity: 1;
  }

  /* Footer Premium Material Links */
  .f-mat-link {
    display: flex !important;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    margin-left: -16px;
    border-radius: 10px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
    cursor: pointer;
    margin-bottom: 10px !important;
    background: transparent;
    border: 1px solid transparent;
  }
  .f-mat-link .p-icon {
    width: 24px;
    height: 24px;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), stroke 0.3s ease;
    flex-shrink: 0;
  }
  .f-mat-link:hover {
    background: #ffffff !important;
    border-color: rgba(14,42,77,0.06);
    box-shadow: 0 12px 30px -10px rgba(14,42,77,0.12);
    transform: translateY(-3px);
  }
  .f-mat-link:hover .p-icon {
    transform: rotate(15deg) scale(1.15);
  }
  .f-mat-link .p-text {
    display: flex;
    flex-direction: column;
    text-align: left;
  }
  .f-mat-link .p-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 2px;
    font-family: 'Inter', sans-serif;
    transition: color 0.3s ease;
  }
  .f-mat-link .p-grade {
    font-size: 12.5px;
    font-weight: 500;
    color: #555;
    font-family: 'Inter', sans-serif;
    transition: color 0.3s ease;
  }
  .f-mat-link:hover .p-name {
    color: var(--orange);
  }

  /* Copyright Bar */
  .footer-bottom {
    background: rgba(14, 42, 77, 0.03) !important;
    margin: 0 -80px;
    padding: 28px 80px;
    border-top: 1px solid rgba(14,42,77,0.06);
    backdrop-filter: blur(8px);
  }
  
  .footer-copy {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
    color: rgba(14,42,77,0.85);
    line-height: 1.6;
    flex-wrap: wrap;
    gap: 18px;
  }
  .copy-main {
    font-weight: 600;
    color: var(--navy);
  }
  .copy-trademarks {
    font-size: 13.5px;
    opacity: 1;
    font-weight: 700; /* Made bold as requested */
    color: var(--navy);
    padding-right: 75px; /* Prevent overlap with sticky WhatsApp button */
  }
  .copy-trademarks strong {
    color: var(--navy);
    font-weight: 700;
  }
  .copy-trademarks .dot {
    margin: 0 8px;
    color: var(--orange);
    font-weight: 900;
    opacity: 0.9;
  }

  /* Modal */
  .modal-overlay{
    position:fixed; inset:0; background:rgba(14,42,77,0.55); backdrop-filter:blur(4px);
    z-index:2000; display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none; transition:0.25s;
  }
  .modal-overlay.active{opacity:1; pointer-events:all;}
  .modal{
    background:#fff; border:1px solid var(--border); width:100%; max-width:700px; max-height:85vh;
    border-radius:10px; box-shadow:0 24px 48px rgba(14,42,77,0.2);
    display:flex; flex-direction:column; transform:translateY(16px); transition:0.25s;
  }
  .modal-overlay.active .modal{transform:translateY(0);}
  .modal-header{padding:30px; border-bottom:1px solid var(--border); position:relative;}
  .modal-tag{
    display:inline-block; background:var(--gray-light); color:var(--gray); border:1px solid var(--border);
    padding:5px 11px; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:0.08em;
    margin-bottom:14px; border-radius:5px;
  }
  .modal-title{font-size:27px; font-weight:800; color:var(--navy); margin-bottom:5px;}
  .modal-subtitle{font-size:13.5px; color:var(--gray);}
  .modal-close{position:absolute; top:26px; right:26px; background:none; border:none; font-size:19px; cursor:pointer; color:var(--gray);}
  .modal-body{padding:30px; overflow-y:auto;}
  .spec-table{border:1px solid var(--border); border-radius:8px; margin-bottom:28px; overflow:hidden;}
  .spec-row{display:flex; border-bottom:1px solid var(--border);}
  .spec-row:last-child{border-bottom:none;}
  .spec-key{width:40%; background:var(--gray-light); padding:12px 16px; font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--gray); font-weight:700; border-right:1px solid var(--border);}
  .spec-val{width:60%; padding:12px 16px; font-size:13.5px; font-weight:700; color:var(--navy);}
  .modal-features-section h3{font-size:19px; font-weight:800; color:var(--navy); margin-bottom:16px;}
  .modal-features{list-style:none; display:grid; gap:12px; margin-bottom:24px;}
  .modal-features li{position:relative; padding-left:20px; font-size:13.5px; color:#475569;}
  .modal-features li::before{content:''; position:absolute; left:0; top:8px; width:10px; height:2px; background:var(--orange);}
  .modal-note{background:var(--gray-light); border-left:3px solid var(--orange); padding:13px 16px; font-size:12.5px; color:var(--gray); font-weight:500;}
  .modal-footer{padding:20px 30px; border-top:1px solid var(--border); background:var(--gray-light); display:flex; justify-content:flex-end;}

  @media (max-width: 900px){
    .section, .sectors, .sec-dark, .cta-sec{padding:50px 24px;}
    .cards-grid, .ind-grid, .sec-dark, .cta-sec{grid-template-columns:1fr;}
    .mat-card { flex-direction: column; }
    .card-vis { width: 100%; border-right: none; border-bottom: 1px solid var(--border); aspect-ratio: 16/9; }
    
  @media (max-width: 900px){
    .site-footer{padding: 60px 32px 0;}
    .footer-top{grid-template-columns: 1fr; gap: 40px; margin-bottom: 40px;}
    .footer-bottom{margin: 0 -32px; padding: 24px 32px;}
    .fnav{grid-template-columns: 1fr;}
    .copy-main, .copy-trademarks { text-align: left; }
  }

  }
  @media (max-width: 640px){
    .brand{gap:8px;}
    .brand svg{width:40px; height:40px;}
    .brand-text h1{font-size:17px;}
    .brand-text .esp{font-size:8px; letter-spacing:1px;}
    .brand-text .sub1{font-size:7px; letter-spacing:0; padding-top:1px; margin-top:1px;}
    .brand-text .sub2{font-size:6.5px; letter-spacing:0.5px; margin-top:1px;}
  }
  @media (max-width: 400px){
    .brand-text .sub2{display:none;}
    .brand-text h1{font-size:15px;}
  }

  /* ===================================================
     ===== GLOBAL 3D ANIMATION SYSTEM (all sections except nav) ===== 
     =================================================== */
  .reveal-3d{
    opacity:0;
    transform: perspective(1200px) rotateX(-14deg) translateY(46px);
    transition: opacity 0.85s cubic-bezier(.2,.7,.3,1), transform 0.85s cubic-bezier(.2,.7,.3,1);
    transform-style: preserve-3d;
    will-change: transform, opacity;
  }
  .reveal-3d.in-view{
    opacity:1;
    transform: perspective(1200px) rotateX(0deg) translateY(0);
  }
  .reveal-3d.reveal-left{transform: perspective(1200px) rotateY(18deg) translateX(-50px); opacity:0;}
  .reveal-3d.reveal-left.in-view{transform: perspective(1200px) rotateY(0deg) translateX(0); opacity:1;}
  .reveal-3d.reveal-right{transform: perspective(1200px) rotateY(-18deg) translateX(50px); opacity:0;}
  .reveal-3d.reveal-right.in-view{transform: perspective(1200px) rotateY(0deg) translateX(0); opacity:1;}
  .reveal-3d.reveal-delay-1{transition-delay:0.1s;}
  .reveal-3d.reveal-delay-2{transition-delay:0.2s;}
  .reveal-3d.reveal-delay-3{transition-delay:0.3s;}
  .reveal-3d.reveal-delay-4{transition-delay:0.4s;}

  .tilt-3d{
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    transform-style: preserve-3d;
    will-change: transform;
  }

  .card3d-wrap{perspective:1200px;}

  .showcase3d{padding:90px 60px 100px; background:var(--gray-light); text-align:center; overflow:hidden;}
  .showcase3d .sec-eye, .showcase3d .sec-title, .showcase3d .sec-desc{
    display:inline-block; text-align:left;
  }
  .showcase3d .sec-title, .showcase3d .sec-eye{display:block; text-align:center;}
  .showcase3d .sec-desc{display:block; margin-left:auto; margin-right:auto; text-align:center;}
  .carousel3d-wrap{
    perspective:1600px; height:380px; display:flex; align-items:center; justify-content:center;
    margin-top:50px;
  }
  .carousel3d{
    position:relative; width:260px; height:300px; transform-style:preserve-3d;
    animation:spin3d 20s linear infinite;
  }
  .carousel3d-wrap:hover .carousel3d{animation-play-state:paused;}
  .c3d-card{
    position:absolute; inset:0; border-radius:14px; overflow:hidden;
    box-shadow:0 25px 50px rgba(14,42,77,0.28); border:3px solid #fff;
    background:var(--navy);
  }
  .c3d-card:nth-child(1){transform:rotateY(0deg) translateZ(230px);}
  .c3d-card:nth-child(2){transform:rotateY(90deg) translateZ(230px);}
  .c3d-card:nth-child(3){transform:rotateY(180deg) translateZ(230px);}
  .c3d-card:nth-child(4){transform:rotateY(270deg) translateZ(230px);}
  .c3d-card img{width:100%; height:100%; object-fit:cover; display:block;}
  .c3d-card .c3d-label{
    position:absolute; bottom:0; left:0; right:0;
    background:linear-gradient(0deg, rgba(14,42,77,0.92) 10%, transparent 100%);
    color:#fff; padding:18px 16px 14px; text-align:left;
  }
  .c3d-card .c3d-name{font-weight:800; font-size:16px;}
  .c3d-card .c3d-tag{font-size:11px; color:rgba(255,255,255,0.65); margin-top:2px;}
  @keyframes spin3d{
    from{transform:rotateY(0deg);}
    to{transform:rotateY(360deg);}
  }
  .showcase3d .hint{
    margin-top:26px; font-size:12px; color:var(--gray); font-weight:600;
    display:flex; align-items:center; justify-content:center; gap:8px;
  }
  @media (max-width: 900px){
    .showcase3d{padding:60px 24px 70px;}
    .carousel3d-wrap{height:300px;}
    .carousel3d{width:210px; height:240px;}
    .c3d-card:nth-child(1){transform:rotateY(0deg) translateZ(190px);}
    .c3d-card:nth-child(2){transform:rotateY(90deg) translateZ(190px);}
    .c3d-card:nth-child(3){transform:rotateY(180deg) translateZ(190px);}
    .c3d-card:nth-child(4){transform:rotateY(270deg) translateZ(190px);}
  }


  /* --- dark top contact bar --- */
  .topbar-dark{
    display:flex; align-items:center; justify-content:space-between;
    background:var(--navy); color:#fff; padding:10px 32px; gap:14px;
    flex-wrap:nowrap; overflow-x:auto;
  }
  .topbar-dark svg { opacity: 0.7;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial; }
  .topbar-dark .tb-left{display:flex; align-items:center; gap:14px; font-size:12px; font-weight:500; white-space:nowrap;}
  .topbar-dark .tb-left .item{display:flex; align-items:center; gap:7px;}
  .topbar-dark .tb-right{display:flex; align-items:center; gap:20px; font-size:12.5px; font-weight:600; white-space:nowrap;}
  .topbar-dark .tb-right a{color:#fff; opacity:0.9;}
  .topbar-dark .tb-right a:hover{color:var(--orange); opacity:1;}
  .topbar-dark .tb-divider{color:rgba(255,255,255,0.3);}
  .topbar-dark .tb-social{display:flex; align-items:center; gap:12px; margin-left:4px;}
  .topbar-dark .tb-social a{color:#fff; display:flex;}
  .topbar-dark .tb-social a:hover{color:var(--orange);}
  @media (max-width: 480px){
    .topbar-dark{padding:9px 16px !important; font-size:10.5px !important;}
    .topbar-dark svg { opacity: 0.7;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial; }
  .topbar-dark .tb-left{gap:10px; font-size:10.5px;}
  }

  /* --- main nav row --- */
  
  .nav-menu{display:flex; align-items:flex-start; gap:30px; flex-wrap:nowrap;}
  .nav-menu-item{
    display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:6px;
    color:var(--navy); font-size:13px; font-weight:700; cursor:pointer;
    padding: 10px 10px 8px 10px; min-height: 44px; min-width: 44px;
    border-bottom:2px solid transparent; white-space:nowrap;
  }
  .nav-menu-item .nmi-label{display:flex; align-items:center; gap:4px;}
  .nav-menu-item svg{stroke:var(--navy);}
  .nav-menu-item:hover{color:var(--orange);}
  .nav-menu-item:hover svg{stroke:var(--orange);}
  .nav-menu-item.active{color:var(--navy); border-bottom-color:var(--orange);}

  .menu-btn-new{
    width:46px; height:46px; background:var(--navy); border-radius:8px;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    flex-shrink:0; border-bottom:3px solid var(--orange);
  }

  /* --- floating materials/features panel --- */
  .hero-wrap{position:relative;}
  
.nav-sub-bar {
  background: #f4f6f9;
  border-bottom: 1px solid #e1e5ea;
  width: 100%;
  position: relative;
  z-index: 99;
}
.nav-sub-bar .floating-panel {
  position: relative;
  z-index: 5;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: 1300px;
  padding: 12px 30px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
}
.nav-sub-bar .reveal-3d {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}

  .fp-section{padding:0 24px;}
  .fp-section:first-child{border-right:1px solid var(--border); padding-left:0;}
  .fp-eyebrow{
    font-size:11px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--gray); margin-bottom:14px; position:relative; display:inline-block;
  }
  .fp-materials-row{display:flex; gap:18px; flex-wrap:nowrap;}
  .fp-material-item{display:flex; align-items:center; gap:8px; flex:1 1 0; min-width:0;}
  .fp-material-item .fp-icon{width:24px; height:24px; flex-shrink:0;}
  .fp-material-item .name{color:var(--orange); font-weight:800; font-size:13px; line-height:1.2;}
  .fp-material-item .brand-name{color:var(--navy); font-weight:700; font-size:11px;}
  .fp-features-row{display:flex; gap:14px; flex-wrap:nowrap;}
  .fp-feature-item{display:flex; align-items:center; gap:7px; flex:1 1 0; min-width:0;}
  .fp-feature-item .icon{width:20px; height:20px; flex-shrink:0; display:flex; align-items:center; justify-content:center;}
  .fp-feature-item .label{font-weight:700; color:var(--navy); font-size:11.5px; line-height:1.2;}

  /* --- full-bleed hero --- */
  .hero-full{
    position:relative; min-height:660px; padding-top:80px;
    display:flex; align-items:center; overflow:hidden;
  }
  .hero-full .hf-bg{
    position:absolute; inset:0; z-index:0;
  }
  .hero-full .hf-bg img{width:100%; height:100%; object-fit:cover;}
  .hero-full .hf-scrim{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(90deg, rgba(238,241,244,0.98) 0%, rgba(238,241,244,0.9) 32%, rgba(238,241,244,0.35) 55%, rgba(238,241,244,0.05) 72%);
  }
  .hero-full-inner{position:relative; z-index:2; padding:0 32px; max-width:680px;}
  .hero-full-inner h2{
    font-size:46px; font-weight:800; color:var(--navy); line-height:1.15; margin-bottom:20px;
  }
  .hero-full-inner h2 .o-orange{color:var(--orange);}
  .hero-full-inner .hero-rule{width:70px; height:5px; background:var(--orange); margin:0 0 24px; border-radius:3px;}
  .hero-full-inner p{font-size:16px; color:#4a5b70; line-height:1.65; margin-bottom:32px; max-width:480px;}
  .hero-full-inner .hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}

  /* --- stats bar --- */
  .stats-bar{
    position:relative; z-index:5; background:#fff; border-radius:16px;
    box-shadow:0 16px 40px rgba(14,42,77,0.12); margin:-46px 32px 60px;
    padding:26px 30px; display:grid; grid-template-columns:repeat(6, 1fr); gap:10px;
  }
  .stat-item{display:flex; align-items:center; gap:12px;}
  .stat-item .stat-icon{width:38px; height:38px; flex-shrink:0; display:flex; align-items:center; justify-content:center;}
  .stat-item .stat-val{color:var(--orange); font-weight:800; font-size:19px; line-height:1.15;}
  .stat-item .stat-lbl{color:var(--navy); font-weight:700; font-size:11.5px; line-height:1.25;}

  @media (max-width: 1300px){
    
.nav-sub-bar {
  background: #f4f6f9;
  border-bottom: 1px solid #e1e5ea;
  width: 100%;
  position: relative;
  z-index: 99;
}
.nav-sub-bar .floating-panel {
  position: relative;
  z-index: 5;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: 1300px;
  padding: 12px 30px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
}
.nav-sub-bar .reveal-3d {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}

    .fp-section{padding:0 16px;}
    .fp-materials-row{gap:12px;}
    .fp-features-row{gap:8px;}
    .fp-material-item .name{font-size:12px;}
    .fp-material-item .brand-name{font-size:10px;}
    .fp-material-item .fp-icon{width:20px; height:20px;}
    .fp-feature-item{gap:5px;}
    .fp-feature-item .icon{width:17px; height:17px;}
    .fp-feature-item .icon svg{width:17px; height:17px;}
    .fp-feature-item .label{font-size:10px;}
  }
  @media (max-width: 1250px){
    .nav-menu{gap:16px;}
    
    .brand-text h1{font-size:22px;}
  }
  @media (max-width: 880px){
    .nav-menu{display:none;}
  }
  @media (max-width: 900px){
    .topbar-dark{padding:10px 20px;}
    
    .hero-full-inner h2{font-size:32px;}
    .hero-full{min-height:520px; padding-top:40px;}
    .hero-full{min-height:auto; padding-top:0; display:block;}
    .hero-full .hf-bg{position:relative; height:340px;}
    .hero-full .hf-scrim{display:none;}
    .hero-full-inner{
      max-width:100%; padding:26px 20px 34px; background:#fff;
      margin-top:-30px; border-radius:20px 20px 0 0; box-shadow:0 -10px 24px rgba(14,42,77,0.08);
    }
    .floating-panel, .stats-bar{margin-left:20px; margin-right:20px;}
    .stats-bar{grid-template-columns:repeat(3, 1fr); row-gap:20px;}
  }
  @media (max-width: 700px){
    .stats-bar{grid-template-columns:repeat(2, 1fr);}
    
.nav-sub-bar {
  background: #f4f6f9;
  border-bottom: 1px solid #e1e5ea;
  width: 100%;
  position: relative;
  z-index: 99;
}
.nav-sub-bar .floating-panel {
  position: relative;
  z-index: 5;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: 1300px;
  padding: 12px 30px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
}
.nav-sub-bar .reveal-3d {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}

    .fp-section:first-child{border-right:none; border-bottom:1px solid var(--border); padding-bottom:18px; margin-bottom:18px;}
    .fp-section{padding:0;}
  }
  @media (max-width: 640px){
    
.nav-sub-bar {
  background: #f4f6f9;
  border-bottom: 1px solid #e1e5ea;
  width: 100%;
  position: relative;
  z-index: 99;
}
.nav-sub-bar .floating-panel {
  position: relative;
  z-index: 5;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: 1300px;
  padding: 12px 30px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
}
.nav-sub-bar .reveal-3d {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}

    .stats-bar{margin-top:-24px; padding:18px 20px; grid-template-columns:1fr 1fr;}
    .hero-full-inner p{font-size:14.5px;}
    .fp-materials-row{gap:8px;}
    .fp-features-row{gap:6px;}
    .fp-material-item{gap:5px;}
    .fp-material-item .fp-icon{width:18px; height:18px;}
    .fp-material-item .name{font-size:10.5px; white-space:normal; line-height:1.15; overflow-wrap:break-word; word-break:break-word;}
    .fp-material-item .brand-name{font-size:8.5px;}
    .fp-feature-item{gap:4px;}
    .fp-feature-item .icon{width:16px; height:16px;}
    .fp-feature-item .icon svg{width:16px; height:16px;}
    .fp-feature-item .label{font-size:9px;}
  }

  /* ===== Mobile nav menu toggle ===== */
  
  @media (max-width: 880px){
    .nav-menu{
      display:none;
      position:absolute; top:100%; left:0; right:0;
      background:#fff; flex-direction:column; align-items:stretch;
      box-shadow:0 14px 28px rgba(14,42,77,0.14); padding:6px 20px 12px;
      gap:0; z-index:200; border-top:1px solid var(--border);
    }
    .nav-menu.mobile-active{display:flex;}
    .nav-menu-item{
      flex-direction:row; justify-content:flex-start; gap:14px;
      padding:14px 4px; border-bottom:1px solid var(--border) !important;
      width:100%; box-sizing:border-box;
    }
    .nav-menu-item:last-child{border-bottom:none !important;}
    .nav-menu-item.active{background:var(--gray-light);}
    .nav-menu-item .nmi-label{gap:6px;}
  }



/* Global CSS overrides */
/* Move topbar content to the right */
.topbar-dark {
  justify-content: flex-end !important;
}

/* Make logo subtitle bold */
.brand-text .sub2-block {
  font-weight: 800 !important;
  color: var(--navy) !important;
  font-size: 9.5px !important; letter-spacing: 0.8px !important; /* Bump size slightly for readability */

    }

/* Phase 15: Soft Visual Polish */
html { scroll-behavior: smooth !important; }
::-webkit-scrollbar { width: 12px; }
::-webkit-scrollbar-track { background: var(--navy, #0e2a4d); }
::-webkit-scrollbar-thumb { background: var(--orange, #e8622a); border: 3px solid var(--navy, #0e2a4d); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #ff7f4a; }
.mat-card { transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) !important; position: relative; overflow: hidden; }
.mat-card:hover { box-shadow: 0 20px 40px rgba(14, 42, 77, 0.15) !important; transform: translateY(-6px) !important; }
.card-vis::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%); transform: skewX(-25deg); transition: none; pointer-events: none; }
.mat-card:hover .card-vis::after { animation: sheen 1.2s ease-out forwards; }
@keyframes sheen { 0% { left: -100%; } 100% { left: 200%; } }

.nav-sub-bar {
  background: #f4f6f9;
  border-bottom: 1px solid #e1e5ea;
  width: 100%;
  position: relative;
  z-index: 99;
}
.nav-sub-bar .floating-panel {
  position: relative;
  z-index: 5;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: 1300px;
  padding: 12px 30px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
}
.nav-sub-bar .reveal-3d {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}

@keyframes levitate { 0% { transform: translateY(0px); box-shadow: 0 16px 40px rgba(14,42,77,0.12); } 50% { transform: translateY(-8px); box-shadow: 0 24px 48px rgba(14,42,77,0.18); } 100% { transform: translateY(0px); box-shadow: 0 16px 40px rgba(14,42,77,0.12); } }
.showcase3d .hint { animation: pulse-hint 2.5s ease-in-out infinite; display: inline-flex !important; padding: 8px 16px; background: rgba(14, 42, 77, 0.05); border-radius: 20px; }
@keyframes pulse-hint { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.6; transform: scale(1); } }


/* 1. Fix the previously leaked CSS */
.brand-text .sub1-block {
  display: flex !important;
  justify-content: space-between !important;
  width: 100% !important;
}

/* 2. Enterprise Level Header Upgrades */

/* Topbar styling */
.topbar-dark {
  background: var(--navy-deep, #0a1f3d) !important;
  padding: 12px 36px !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
}
.topbar-dark .tb-left .item {
  opacity: 0.85;
  transition: opacity 0.2s;
}
.topbar-dark .tb-left .item:hover {
  opacity: 1;
}

/* Main Navbar styling */





/* ==================================================
   UNIVERSAL HAMBURGER MENU (ALWAYS VISIBLE)
   ================================================== */

.menu-btn-desktop:hover {
  background: #d4561b !important;
}
.menu-btn-desktop svg {
  stroke: #fff !important;
  width: 24px !important;
  height: 24px !important;
  margin-bottom: 2px !important;
}
.menu-text {
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  color: #fff !important;
  line-height: 1 !important;
}

/* Hide original inline nav menu and turn it into dropdown */
.nav-menu {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  width: 260px !important;
  background: #fff !important;
  flex-direction: column !important;
  align-items: stretch !important;
  box-shadow: 0 14px 40px rgba(14,42,77,0.15) !important;
  padding: 10px 20px !important;
  gap: 0 !important;
  z-index: 2000 !important;
  border-radius: 0 0 12px 12px !important;
  border-top: 1px solid var(--border) !important;
}

.nav-menu.mobile-active {
  display: flex !important;
}

.nav-menu-item {
  width: 100% !important;
  box-sizing: border-box !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 16px 8px !important;
  margin: 0 !important;
}

.nav-menu-item:last-child {
  border-bottom: none !important;
}

.nav-menu-item .nmi-label {
  gap: 8px !important;
}

/* FIX FLOATING PANEL OVERLAP */

.nav-sub-bar {
  background: #f4f6f9;
  border-bottom: 1px solid #e1e5ea;
  width: 100%;
  position: relative;
  z-index: 99;
}
.nav-sub-bar .floating-panel {
  position: relative;
  z-index: 5;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: 1300px;
  padding: 12px 30px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
}
.nav-sub-bar .reveal-3d {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}




/* --- Premium Info Strip --- */
.premium-info-strip {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 35px;
  padding: 0 10px;
}

.premium-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}







.premium-items {
  display: flex;
  gap: 25px;
  align-items: flex-start;
}

.p-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.p-icon {
  width: 26px;
  height: 26px;
}

.p-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.p-name {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #0a1f3a;
  line-height: 1.2;
}

.p-grade {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 500;
  color: #555;
  line-height: 1.2;
}

.premium-divider {
  width: 2px;
  height: 40px;
  align-self: center;
  margin-top: 10px;
  background-color: #F26A21;
  opacity: 0.7;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial;
  border-radius: 2px;
}

.f-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.f-icon {
  width: 24px;
  height: 24px;
}

.f-name {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #0a1f3a;
  line-height: 1.2;
}

/* Update Header Styling */
.mainnav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 40px;
  height: 105px;
  border-bottom: 1px solid #EAEAEA;
  background: #FFFFFF;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.mainnav .brand {
  display: flex;
  align-items: center;
  gap: 15px;
}

.mainnav .brand > svg {
  width: 75px !important;
  height: 75px !important;
  flex-shrink: 0;
}

/* Ensure the header stays pinned on scroll so the menu stays accessible */
.mainnav {
  position: sticky !important;
  z-index: 1500 !important;
}

/* Wrapper around button + dropdown so absolute positioning works */
.menu-btn-desktop {
  position: relative !important;
  z-index: 10000 !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #18345B !important;
  border-radius: 20px !important;
  cursor: pointer !important;
  flex-direction: row !important;
  gap: 10px !important;
  padding: 10px 24px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: all 300ms ease !important;
}

.menu-btn-desktop:hover {
  background: #091c33 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.menu-btn-desktop svg {
  stroke: #fff !important;
}

.menu-btn-desktop .menu-text {
  color: #fff !important;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 1px;
}

/* Mobile specific */
.mobile-premium-strip {
  display: none;
}

  @media (max-width: 1550px) {
    .premium-info-strip {
      gap: 1vw;
      padding: 0 0.5vw;
    }
    .premium-items {
      gap: 0.5vw;
    }
    .p-item, .f-item {
      padding: 0.5vw 0.6vw;
      gap: 0.4vw;
    }
    .p-name, .f-name {
      font-size: 0.75vw;
    }
    .p-grade {
      font-size: 0.65vw;
    }
    .p-icon, .f-icon {
      width: 1.25vw;
      height: 1.25vw;
    }
    .premium-heading {
      font-size: 0.8vw;
      letter-spacing: 0.25vw;
      margin-bottom: 1.5vw;
    }
    .premium-heading::before,
    .premium-heading::after {
      margin: 0 1vw;
    }
    .premium-divider {
      margin: 0 0.5vw;
    }
    .brand {
      gap: 0.8vw;
    }
    .brand > svg {
      width: 3.5vw;
      height: 3.5vw;
    }
    .brand-text .h1-block {
      font-size: 1.5vw !important;
    }
    .brand-text .sub1-block {
      font-size: 0.6vw;
      letter-spacing: 0;
    }
    .brand-text .sub2-block {
      font-size: 0.5vw;
      letter-spacing: 0px;
    
    }
    .mainnav {
      padding: 0 1vw;
    }
    .menu-btn-desktop {
      padding: 0.8vw 1vw !important;
    }
    .menu-btn-desktop .menu-text {
      font-size: 0.8vw !important;
    }
    .menu-btn-desktop svg {
      width: 1.5vw;
      height: 1.5vw;
    }
  }

@media (max-width: 991px) {
  .premium-info-strip {
    display: none !important;
  }
  .nav-menu.mobile-active .mobile-premium-strip {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    margin-bottom: 20px;
  }
  .mobile-premium-strip 




  .mobile-premium-strip .p-text, .mobile-premium-strip .f-name, .mobile-premium-strip .p-grade {
    color: #fff;
  }
  .mobile-premium-strip .premium-divider {
    display: none;
  }
  .mobile-premium-strip .premium-items {
    flex-direction: column;
    gap: 10px;
  }
  .mainnav {
    min-height: 80px;
  }
}

/* ===== HAMBURGER NAV MENU - DROPDOWN PANEL ===== */

/* Default: hidden */
.nav-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  width: 260px;
  background: #0e2a4d !important;
  z-index: 9999 !important;
  flex-direction: column;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.08);
  transform: translateY(-10px);
  opacity: 0;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.25s ease;
}

/* Open state */
.nav-menu.mobile-active {
  display: flex;
  transform: translateY(0);
  opacity: 1;
}

/* Backdrop overlay when menu is open */
.nav-menu-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.3);
  z-index: 9998;
  cursor: pointer;
}
.nav-menu-backdrop.active {
  display: block;
}

/* Nav link items */
.nav-menu-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 14px 20px !important;
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  transition: background 0.18s, color 0.18s, padding-left 0.18s;
  white-space: normal !important;
}
.nav-menu-item:last-child {
  border-bottom: none !important;
}
.nav-menu-item:hover,
.nav-menu-item.active {
  background: rgba(242,106,33,0.15) !important;
  color: #F26A21 !important;
  padding-left: 26px !important;
}
.nav-menu-item.active {
  border-left: 3px solid #F26A21 !important;
}
.nav-menu-item svg {
  flex-shrink: 0 !important;
  opacity: 0.65 !important;
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
}
.nav-menu-item:hover svg,
.nav-menu-item.active svg {
  opacity: 1 !important;
  stroke: #F26A21 !important;
}

/* nmi-label */
.nmi-label {
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-size: 12px !important;
  color: inherit !important;
}


/* ==========================================================================
   ENTERPRISE UI & GLASSMORPHISM EXTENSIONS
   ========================================================================== */

:root {
  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-border: rgba(255, 255, 255, 0.5);
  --glass-shadow: 0 8px 32px 0 rgba(14, 42, 77, 0.08);
  --glass-shadow-hover: 0 15px 40px 0 rgba(14, 42, 77, 0.12);
}

/* Premium Card */
.premium-card {
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 20px;
  padding: 2.5rem;
  box-shadow: var(--glass-shadow);
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease;
  position: relative;
  overflow: hidden;
}

.premium-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--glass-shadow-hover);
}

.premium-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--orange), #ff9868);
}

/* Premium Button */
.btn-premium {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--navy);
  color: white;
  border: none;
  padding: 1rem 2rem;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}

.btn-premium:hover {
  background: var(--orange);
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -10px var(--orange);
  color: white;
}

.btn-premium svg {
  transition: transform 0.3s ease;
}

.btn-premium:hover svg {
  transform: translateX(4px);
}

/* Semantic Layout Utility Classes */
main {
  width: 100%;
}

.enterprise-section {
  padding: 5rem 0;
  position: relative;
}

.enterprise-section-bg {
  background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf1 100%);
}

/* ===== MOBILE LOGO FIX ===== */
@media (max-width: 900px) {
  .brand > svg {
    width: 46px !important;
    height: 46px !important;
  }
  .brand-text .h1-block {
    font-size: 22px !important;
  }
  .brand-text h1 .o-orange {
    width: 20px !important;
    height: 20px !important;
  }
}

@media (max-width: 650px) {
  .brand { gap: 6px !important; }
  .brand > svg {
    width: 38px !important;
    height: 38px !important;
  }
  .brand-text .h1-block {
    font-size: 18px !important;
  }
  .brand-text h1 .o-orange {
    width: 16px !important;
    height: 16px !important;
  }
  .brand-text .sub1-block {
    font-size: 6.5px !important;
    letter-spacing: 0 !important;
  }
  .brand-text .sub2-block {
    /* Hide the longest line on tiny screens */
  
    }
  .mainnav {
    min-height: 60px !important;
  }
  .menu-btn-desktop {
    padding: 8px 12px !important;
  }
  .menu-btn-desktop .menu-text {
    font-size: 10px !important;
  }
}

@media (max-width: 450px) {
  .brand > svg {
    width: 30px !important;
    height: 30px !important;
  }
  .brand-text .h1-block {
    font-size: 15px !important;
  }
  .brand-text h1 .o-orange {
    width: 13px !important;
    height: 13px !important;
  }
  .brand-text .sub1-block {
    font-size: 6px !important;
    letter-spacing: 0 !important;
  }
  .menu-btn-desktop .menu-text {
    display: none !important; /* Hide the text "MENU", show only icon */
  }
  .menu-btn-desktop {
    padding: 8px !important;
  }
}


/* ===== FORCE INLINE SVG TO OBEY WRAPPER DIMENSIONS ===== */
.brand-text h1 .o-orange svg {
  width: 100% !important;
  height: 100% !important;
  display: block;
}


/* ===== REMOVE PREMIUM INFO STRIP FROM MOBILE MENU ===== */
.mobile-premium-strip {
  display: none !important;
}


/* ===== HERO SLIDER MOBILE HEIGHT FIX ===== */
@media (max-width: 768px) {
  .hero-full .hf-bg {
    height: 260px !important;
  }
}

@media (max-width: 500px) {
  .hero-full .hf-bg {
    height: 200px !important;
  }
  .hero-full-inner {
    margin-top: -40px !important; 
    padding-top: 36px !important;
  }
  .hero-full-inner h2 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }
  .hero-full-inner p {
    font-size: 14px !important;
    margin-bottom: 24px !important;
  }
}


/* ===== CUSTOM GLOBAL CURSOR (HAND) & PRELOADER ===== */
body {
  cursor: pointer; /* Simple hand gesture everywhere instead of arrow */
}
input, textarea, [contenteditable] {
  cursor: text;
}

#preloader{
  position:fixed; inset:0; z-index:100000;
  display:flex; align-items:center; justify-content:center;
  background:#ffffff;
  transition:opacity .5s ease, visibility .5s ease;
  pointer-events:none;
}
#preloader.fade-out{opacity:0; visibility:hidden; pointer-events:none;}
.pl-inner{display:flex; flex-direction:column; align-items:center; gap:22px; padding:0 30px;}
.pl-logo{display:flex; flex-direction:column; align-items:center; gap:12px;}
.pl-logo > svg{flex-shrink:0; transform-origin:50% 50%; animation:plSpin 2s linear infinite;}
.pl-wordmark{display:flex; flex-direction:column; align-items:center;}
.pl-esp{
  color:var(--orange); font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:13px; letter-spacing:2px;
}
.pl-brand-h{
  display:flex; align-items:center; justify-content:center;
  font-family:'Montserrat',sans-serif; font-weight:800; letter-spacing:0.5px;
  font-size:clamp(24px,7vw,34px); color:var(--navy); line-height:1.1; margin:2px 0;
  white-space:nowrap;
}
.pl-o-icon{display:inline-block; width:0.8em; height:0.8em; margin:0 0.05em; transform:translateY(-0.03em);}
.pl-o-icon svg{width:100%; height:100%; display:block;}
.pl-bar{width:170px; max-width:60vw; height:3px; background:rgba(14,42,77,0.1); border-radius:3px; overflow:hidden;}
.pl-bar-fill{width:40%; height:100%; background:var(--orange); border-radius:3px; animation:plLoad 1.2s ease-in-out infinite;}

@keyframes plSpin{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
@keyframes plLoad{0%{transform:translateX(-120%);} 100%{transform:translateX(380%);}}


/* ===== MOBILE OVERFLOW FIXES ===== */
@media (max-width: 768px) {
  .spec-table {
    overflow-x: auto !important;
    display: block;
    width: 100%;
    -webkit-overflow-scrolling: touch;
  }
  .spec-table table {
    width: 100%;
    min-width: 400px; /* Forces scrolling instead of cutting off container */
  }
  body, html {
    overflow-x: hidden !important;
    width: 100%;
    max-width: 100vw;
  }
  .pg-content, .pg-card {
    max-width: 100vw !important;
    overflow: hidden !important;
  }
}

/* GLOBAL UI ELEMENTS (WhatsApp, Scroll-To-Top, Cookie Consent, Sticky Nav) */
.mainnav { transition: all 0.3s ease !important; }
.mainnav.scrolled {
  padding: 8px 36px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(14, 42, 77, 0.08) !important;
}
.mainnav .brand {
  transition: transform 0.3s ease;
  transform-origin: left center;
  display: inline-flex;
  align-items: center;
  gap: 15px;
}
.mainnav.scrolled .brand {
  transform: scale(0.75);
}

.whatsapp-float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 40px;
  right: 40px;
  background-color: #25d366;
  color: #FFF;
  border-radius: 50px;
  text-align: center;
  font-size: 30px;
  box-shadow: 0px 4px 15px rgba(0,0,0,0.15);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}
.whatsapp-float:hover {
  transform: translateY(-5px);
  color: #FFF;
}
.whatsapp-float svg { width: 35px; height: 35px; fill: currentColor; }

.back-to-top {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  background: var(--navy);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 999;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(14,42,77,0.2);
}
.back-to-top.visible {
  opacity: 1;
  visibility: visible;
}
.back-to-top:hover {
  background: var(--orange);
  transform: translateX(-50%) translateY(-3px);
}

.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--navy);
  color: #fff;
  padding: 15px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 1001;
  font-size: 14px;
  box-shadow: 0 -5px 20px rgba(0,0,0,0.1);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}
.cookie-banner.show { transform: translateY(0); }
.cookie-banner a { color: var(--orange); text-decoration: underline; }
.cookie-btn { background: var(--orange); color: #fff; border: none; padding: 8px 20px; border-radius: 4px; font-weight: bold; cursor: pointer; transition: background 0.2s; }
.cookie-btn:hover { background: #d4551f; }

/* Product Filters */
.filter-btn {
  padding: 8px 16px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: linear-gradient(90deg, var(--navy), #1a4f8f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--navy);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.filter-btn:hover {
  border-color: var(--orange);
  color: var(--orange);
}
.filter-btn.active {
  background: var(--navy);
  color: #fff;
  border-background: linear-gradient(90deg, var(--navy), #1a4f8f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--navy);
}
.filter-item {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* WhatsApp Popup Menu */
.wa-widget-container {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  pointer-events: none;
}
.wa-toggle-btn {
  width: 60px;
  height: 60px;
  pointer-events: auto;
  background-color: #25d366;
  color: #FFF;
  border-radius: 50%;
  text-align: center;
  box-shadow: 0px 4px 15px rgba(0,0,0,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.3s ease;
}
.wa-toggle-btn:hover {
  transform: translateY(-5px);
}
.wa-toggle-btn svg {
  width: 35px;
  height: 35px;
  fill: currentColor;
}
.wa-popup {
  width: 280px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  margin-bottom: 20px;
  overflow: hidden;
  transform-origin: bottom right;
  transform: scale(0);
  opacity: 0;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease;
  pointer-events: none;
}
.wa-popup.active {
  transform: scale(1);
  opacity: 1;
  pointer-events: auto;
}
.wa-popup-header {
  background: #075e54;
  color: #fff;
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wa-popup-body {
  padding: 16px;
  background: #ece5dd;
}
.wa-product-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wa-product-btn {
  display: block;
  background: #fff;
  color: #333;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  transition: background 0.2s;
}
.wa-product-btn:hover {
  background: #dcf8c6;
}
.wa-general-btn {
  background: #25d366;
  color: #fff;
  font-weight: 600;
}
.wa-general-btn:hover {
  background: #1ebe57;
}

/* Hide old .whatsapp-float if any overrides exist */
.whatsapp-float { display: none !important; }

/* COMPREHENSIVE MOBILE OPTIMIZATIONS (ADDED AUTONOMOUSLY) */
@media (max-width: 1024px) {
  /* Typography Scaling */
  h1 { font-size: 2.2rem !important; line-height: 1.2 !important; }
  h2 { font-size: 1.8rem !important; line-height: 1.3 !important; }
  h3 { font-size: 1.4rem !important; }
  p, li { font-size: 1rem !important; line-height: 1.5 !important; }
  
  /* Section Spacing */
  section { padding: 3rem 1rem !important; }
  .hero { padding: 4rem 1rem !important; }
  
  /* Grid Breakdowns */
  .cards-grid,
  .cap-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  
  .stats-bar {
    flex-direction: column !important;
    gap: 1.5rem !important;
    padding: 2rem !important;
  }
  
  /* Filter Buttons - scrollable horizontally or wrap nicely */
  .filter-container {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-bottom: 2rem !important;
  }
  .filter-btn {
    font-size: 13px !important;
    padding: 8px 12px !important;
    flex-grow: 1;
    text-align: center;
  }

  /* WhatsApp Widget */
  .wa-widget-container {
    bottom: 20px !important;
    right: 20px !important;
  }
  .wa-popup {
    width: 280px !important;
    right: 0 !important;
    bottom: 70px !important;
    position: absolute !important; 
    /* Ensures it doesn't overflow the screen width */
  }
  
  /* Global Images */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Forms */
  input, textarea, button {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  /* Smaller screens */
  h1 { font-size: 1.8rem !important; }
  h2 { font-size: 1.5rem !important; }
  .wa-popup { width: 240px !important; }
  .hero-btn { width: 100% !important; margin-bottom: 10px !important; }
  
  /* Stack filters completely */
  .filter-btn {
    flex: 1 1 100% !important;
  }
}

/* Custom Branded Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
  background: var(--navy);
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--orange);
}

/* =========================================
   UX Enhancements (Theme, Scroll, Back to Top)
   ========================================= */

/* Theme Toggle */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 4px;
  transition: var(--transition-theme);
  margin-left: auto;
}
.theme-toggle-option {
  padding: 6px 10px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.theme-toggle-option.active {
  background: var(--navy);
  color: #fff;
}

/* Progress Bar */
#scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 4px;
  background: var(--orange);
  z-index: 99999;
  transition: width 0.1s ease-out;
}

/* Back to Top */
#back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
  z-index: 999;
  box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}
#back-to-top.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
#back-to-top:hover {
  background: var(--orange);
}
#back-to-top svg {
  width: 24px;
  height: 24px;
  stroke: #fff;
  stroke-width: 2;
  fill: none;
}

/* =========================================
   ANTIGRAVITY DESIGN EXPERT - CORE UTILITIES
   ========================================= */

/* Glassmorphism Panels */
.glass-panel {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px 0 rgba(14, 42, 77, 0.05);
  transition: background 0.3s ease, border-color 0.3s ease;
}

[data-theme="dark"] .glass-panel {
  background: rgba(9, 9, 11, 0.75);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.6);
}

.glass-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.7));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 16px;
  box-shadow: 
    0 10px 30px rgba(0, 0, 0, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 1),
    inset 0 0 20px rgba(255, 255, 255, 0.5);
  position: relative;
}
.glass-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  border-radius: inherit;
  background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><filter id="noiseFilter"><feTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noiseFilter)"/></svg>');
  opacity: 0.03;
  pointer-events: none;
}

[data-theme="dark"] .glass-card {
  background: linear-gradient(135deg, rgba(30, 30, 35, 0.7), rgba(20, 20, 25, 0.5));
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 
    0 10px 30px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Levitating Cards (Floating Elements) */
.levitate-hover {
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
  will-change: transform, box-shadow;
}

.levitate-hover:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.08);
}
.levitate-hover:hover img.card-img-top {
  transform: scale(1.05) rotate(-1deg);
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
img.card-img-top {
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-theme="dark"] .levitate-hover:hover {
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.7);
}

/* GSAP 3D Target class for scroll triggers */
.gsap-3d-entrance {
  opacity: 0;
  /* GSAP will animate this */
}

/* =========================================
   PRODUCTS HERO (Antigravity Premium Design)
   ========================================= */
.products-hero {
  position: relative;
  padding: 160px 36px 120px;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  text-align: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(14, 42, 77, 0.05);
}

.products-hero::before {
  content: "";
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(circle at 50% 50%, rgba(232, 98, 42, 0.04) 0%, transparent 60%);
  pointer-events: none;
  animation: bg-pulse 10s ease-in-out infinite;
}

.ph-content {
  position: relative;
  z-index: 10;
}

.ph-tag {
  display: inline-block;
  font-size: 14px;
  font-weight: 900;
  color: var(--orange, #e8622a);
  letter-spacing: 3px;
  margin-bottom: 24px;
  text-transform: uppercase;
  background: rgba(232, 98, 42, 0.08);
  padding: 10px 24px;
  border-radius: 30px;
  border: 1px solid rgba(232, 98, 42, 0.15);
  transform: translateY(20px);
  opacity: 0;
  animation: hero-fade-up 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.1s forwards;
}

.ph-title {
  font-size: clamp(48px, 6vw, 76px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1.5px;
  margin-bottom: 28px;
  color: var(--navy-deep, #0a1f3d);
  transform: translateY(20px);
  opacity: 0;
  animation: hero-fade-up 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.2s forwards;
}

.ph-title .o-orange-serif {
  font-style: italic;
  font-weight: 900;
  background: linear-gradient(135deg, #F26A21 0%, #e8622a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.ph-desc {
  font-size: 20px;
  font-weight: 500;
  color: #334155 !important; /* Force darker slate for high contrast */
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.6;
  transform: translateY(20px);
  opacity: 0;
  animation: hero-fade-up 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s forwards;
  position: relative;
  z-index: 2;
}

/* Premium Divider Label */
.premium-divider-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 48px auto 24px;
  max-width: 600px;
  opacity: 0;
  transform: translateY(20px);
  animation: hero-fade-up 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.35s forwards;
  z-index: 2;
  position: relative;
}

.pdl-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(to right, transparent, rgba(14, 42, 77, 0.15), transparent);
}
.pdl-line.right {
  background: linear-gradient(to left, transparent, rgba(14, 42, 77, 0.15), transparent);
}

.pdl-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 28px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(14, 42, 77, 0.08);
  border-radius: 40px;
  box-shadow: 
    0 6px 16px rgba(14, 42, 77, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  font-size: 13px;
  font-weight: 900;
  color: var(--navy-deep, #0a1f3d);
  letter-spacing: 2px;
  text-transform: uppercase;
}

.pdl-icon {
  color: var(--orange, #e8622a);
  animation: spin-slow 10s linear infinite;
}

@keyframes spin-slow {
  to { transform: rotate(360deg); }
}

.hero-material-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
  transform: translateY(20px);
  opacity: 0;
  animation: hero-fade-up 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.4s forwards;
  z-index: 2;
  position: relative;
}

.hm-badge {
  display: inline-flex;
  align-items: center;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.4));
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  padding: 10px 22px;
  border-radius: 40px;
  font-size: 13px;
  color: var(--navy-deep, #0a1f3d);
  box-shadow: 
    0 10px 30px rgba(14, 42, 77, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.hm-badge::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent);
  transform: skewX(-20deg);
  transition: all 0.6s ease;
}

.hm-badge:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 
    0 15px 40px rgba(232, 98, 42, 0.15),
    0 5px 15px rgba(14, 42, 77, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  border-color: rgba(232, 98, 42, 0.3);
}

.hm-badge:hover::before {
  left: 200%;
}

.hm-badge strong {
  font-weight: 900;
  letter-spacing: 0.5px;
  margin-right: 6px;
  background: linear-gradient(90deg, var(--navy-deep, #0a1f3d), var(--navy, #0e2a4d));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hm-badge span {
  opacity: 0.7;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial;
  font-weight: 600;
  font-size: 11.5px;
}

.hm-dot {
  width: 8px; height: 8px;
  background: linear-gradient(135deg, #F26A21, #e8622a);
  border-radius: 50%;
  margin-right: 10px;
  box-shadow: 0 0 12px rgba(232, 98, 42, 0.6);
  animation: pulse-dot 2s infinite;
}

@keyframes pulse-dot {
  0% { box-shadow: 0 0 0 0 rgba(232, 98, 42, 0.4); }
  70% { box-shadow: 0 0 0 6px rgba(232, 98, 42, 0); }
  100% { box-shadow: 0 0 0 0 rgba(232, 98, 42, 0); }
}

.ph-grid {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-size: 40px 40px;
  background-image: 
    linear-gradient(to right, rgba(14, 42, 77, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(14, 42, 77, 0.03) 1px, transparent 1px);
  mask-image: linear-gradient(to bottom, black 20%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 20%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

@keyframes hero-fade-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Glass Orbs for 3D depth */
.hero-orb {
  position: absolute;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.2));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.6);
  box-shadow: 0 16px 40px rgba(14, 42, 77, 0.08);
  animation: orb-float 8s infinite ease-in-out alternate;
  pointer-events: none;
  z-index: 1;
}
.hero-orb-1 { width: 140px; height: 140px; top: 15%; left: 10%; animation-delay: 0s; }
.hero-orb-2 { width: 80px; height: 80px; bottom: 20%; right: 15%; animation-delay: -3s; }
.hero-orb-3 { width: 40px; height: 40px; top: 40%; right: 25%; animation-delay: -5s; }

@keyframes orb-float {
  0% { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(-40px) rotate(15deg); }
}

[data-theme="dark"] .products-hero {
  background: linear-gradient(135deg, var(--navy-deep, #0a1f3d) 0%, var(--navy, #0e2a4d) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
[data-theme="dark"] .ph-title { color: #fff; }
[data-theme="dark"] .ph-desc { color: rgba(255, 255, 255, 0.7); }
[data-theme="dark"] .hero-orb {
  background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01));
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 16px 40px rgba(0,0,0,0.4);
}

/* Capitalize products and materials across website */
.mq-item,
.card-name,
.card-cat,
.p-name,
.p-grade,
.modal-tag,
.modal-title,
.wa-product-btn,
.fnav-col:nth-child(1) a,
.fnav-col:nth-child(2) a,
.footer-links a[href="products.html"],
.wa-general-btn {
  text-transform: uppercase;
}

/* =========================================
   FAQ ACCORDION & MAGNETIC BUTTONS
   ========================================= */

.faq-section {
  max-width: 800px;
  margin: 60px auto 100px;
  padding: 0 20px;
}
.faq-header {
  text-align: center;
  margin-bottom: 40px;
}
.faq-header h2 {
  font-size: 32px;
  color: var(--navy);
  font-weight: 900;
  margin-bottom: 12px;
}
.faq-header p {
  color: var(--gray);
  font-size: 16px;
}
.faq-item {
  border-bottom: 1px solid var(--border);
  margin-bottom: 15px;
}
.faq-question {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 20px 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: color 0.3s ease;
}
.faq-question:hover {
  color: var(--orange);
}
.faq-icon {
  width: 24px;
  height: 24px;
  position: relative;
}
.faq-icon::before, .faq-icon::after {
  content: '';
  position: absolute;
  background: var(--navy);
  transition: transform 0.3s ease;
}
.faq-icon::before {
  top: 11px; left: 4px; right: 4px; height: 2px;
}
.faq-icon::after {
  top: 4px; bottom: 4px; left: 11px; width: 2px;
}
.faq-item.active .faq-icon::after {
  transform: rotate(90deg);
}
.faq-item.active .faq-question {
  color: var(--orange);
}
.faq-item.active .faq-icon::before,
.faq-item.active .faq-icon::after {
  background: var(--orange);
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.faq-answer-inner {
  padding-bottom: 24px;
  color: var(--gray);
  line-height: 1.7;
  font-size: 15px;
}

.magnetic-btn {
  display: inline-block;
  transform-style: preserve-3d;
  will-change: transform;
}
.magnetic-btn .btn-inner {
  display: block;
  pointer-events: none;
}

/* =========================================
   PRODUCTS PAGE SHOWCASE - PREMIUM SPECS
   ========================================= */
.spec-glass-panel {
  background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
  border-radius: 24px;
  padding: 40px;
  box-shadow: 
    0 30px 60px rgba(0, 0, 0, 0.4), 
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.06);
  margin-top: 40px;
  position: relative;
  overflow: hidden;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s ease;
}
.spec-glass-panel:hover {
  transform: translateY(-4px);
  box-shadow: 
    0 40px 80px rgba(0, 0, 0, 0.5), 
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.spec-glass-panel::after {
  content: '';
  position: absolute;
  top: -50%; left: -50%; width: 200%; height: 200%;
  background: radial-gradient(circle at 80% 20%, rgba(232, 98, 42, 0.1) 0%, transparent 40%);
  pointer-events: none;
  z-index: 0;
}

.spec-row-sc {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  margin-bottom: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.0) 100%);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  position: relative;
  z-index: 1;
  transition: all 0.3s ease;
  box-shadow: 
    0 4px 12px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.spec-row-sc:hover {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.01) 100%);
  border-color: rgba(255, 255, 255, 0.15);
  transform: translateY(-2px);
  box-shadow: 
    0 8px 24px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.spec-key-sc {
  font-weight: 700;
  color: #94a3b8;
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  flex: 0 0 auto;
}

.spec-val-sc {
  font-weight: 900;
  color: #f8fafc;
  font-size: 16px;
  text-align: right;
  flex: 1;
  padding-left: 20px;
}

.sc-features {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  position: relative;
  z-index: 1;
}

.sc-features h4 {
  font-size: 11px;
  color: #64748b;
  margin-bottom: 24px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: inline-block;
  padding: 8px 16px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.sc-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sc-features li {
  position: relative;
  font-size: 15px;
  color: #e2e8f0;
  line-height: 1.6;
  transition: all 0.3s ease;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.0) 100%);
  padding: 20px 24px 20px 52px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 
    0 4px 12px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.sc-features li:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.01) 100%);
  border-color: rgba(232, 98, 42, 0.4);
  color: #ffffff;
  box-shadow: 
    0 8px 24px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.sc-features li strong {
  color: #ff9d66;
  font-weight: 900;
  transition: color 0.3s ease;
}
.sc-features li:hover strong {
  color: #ff7d44;
}

.sc-features li::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 19px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8622a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.4s ease, filter 0.4s ease;
}
.sc-features li:hover::before {
  transform: translateX(4px) scale(1.1);
  filter: drop-shadow(0 0 4px rgba(232, 98, 42, 0.6));
}
.magnet-text {
  display: block;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* =========================================
   ULTRA-PREMIUM STICKY SUBNAV (Floating Mac-like Dock)
   ========================================= */
.sticky-subnav {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  padding: 16px 0;
  background: rgba(10, 31, 61, 0.95); /* Deep navy glass */
  backdrop-filter: blur(24px) saturate(200%);
  -webkit-backdrop-filter: blur(24px) saturate(200%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 15px 30px rgba(10, 31, 61, 0.2);
  pointer-events: auto;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease;
}
.sticky-subnav::-webkit-scrollbar {
  display: none;
}

.subnav-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 16px;
  max-width: 1200px;
  width: 100%;
  padding: 0 20px;
}

.subnav-link {
  position: relative;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.6);
  padding: 10px 24px;
  border-radius: 30px;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: visible;
  white-space: nowrap;
  z-index: 1;
  flex-shrink: 0;
}

.subnav-link::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 30px;
  z-index: -1;
  opacity: 0;
  transform: scale(0.9);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.subnav-link:hover {
  color: #ffffff;
}

.subnav-link:hover::before {
  opacity: 1;
  transform: scale(1);
}

.subnav-link.active {
  background: var(--orange, #e8622a);
  color: white;
  box-shadow: 0 4px 15px rgba(232, 98, 42, 0.4);
}


[data-theme="dark"] .spec-glass-panel {
  background: rgba(30, 30, 35, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 
    0 15px 45px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
[data-theme="dark"] .spec-glass-panel::after {
  background: linear-gradient(135deg, rgba(232, 98, 42, 0.1) 0%, transparent 40%);
}
[data-theme="dark"] .spec-row-sc {
  border-bottom-color: rgba(255, 255, 255, 0.05);
}
[data-theme="dark"] .spec-row-sc:hover {
  background: linear-gradient(90deg, rgba(232, 98, 42, 0.1), transparent);
  border-bottom-color: rgba(232, 98, 42, 0.3);
}
[data-theme="dark"] .spec-key-sc {
  color: #fff;
}
[data-theme="dark"] .spec-val-sc {
  color: #a0a0a0;
}
[data-theme="dark"] .sc-features {
  border-top-color: rgba(255, 255, 255, 0.1);
}
[data-theme="dark"] .sc-features h4 {
  color: #fff;
}
[data-theme="dark"] .sc-features li {
  color: #a0a0a0;
}
[data-theme="dark"] .sc-features li:hover {
  color: #fff;
}
[data-theme="dark"] .sc-features li strong {
  color: #fff;
}

   PRODUCTS PAGE REVAMP - PREMIUM STYLES
   ========================================= */

/* Dark Hero Section */
.products-hero-dark {
  background: radial-gradient(circle at 50% 100%, #0e2a4d 0%, #061224 100%);
  color: white;
  padding: 160px 20px 100px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.products-hero-dark::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: url('data:image/svg+xml;utf8,<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><circle cx="2" cy="2" r="1" fill="rgba(255,255,255,0.05)"/></svg>') repeat;
  opacity: 0.8;
}
.ph-tag {
  display: inline-block;
  padding: 6px 16px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  color: var(--orange);
  margin-bottom: 24px;
  backdrop-filter: blur(4px);
}
.ph-title {
  font-size: 64px;
  font-weight: 900;
  letter-spacing: -1.5px;
  line-height: 1.1;
  margin-bottom: 24px;
}
.ph-desc {
  font-size: 19px;
  color: rgba(255,255,255,0.7);
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Alternating Product Showcases */
.product-showcase {
  padding: 100px 20px;
  border-bottom: 1px solid rgba(14,42,77,0.05);
}
.product-showcase:nth-child(even) {
  background: rgba(14,42,77,0.02);
}
.showcase-row {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  gap: 80px;
}
.showcase-row.reverse {
  flex-direction: row-reverse;
}
.showcase-img-col {
  flex: 1;
  position: relative;
  align-self: center;
}
.showcase-img-col img {
  width: 100%;
  height: auto;
  object-fit: contain;
  background-color: #ffffff;
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(14,42,77,0.08);
  transition: transform 0.5s ease;
}
.showcase-img-col:hover img {
  transform: scale(1.02) translateY(-10px);
}
.showcase-text-col {
  flex: 1;
}
.sc-tag {
  display: inline-block;
  background: linear-gradient(135deg, rgba(232, 98, 42, 0.15) 0%, rgba(232, 98, 42, 0.05) 100%);
  color: var(--orange);
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 2px;
  margin-bottom: 24px;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 30px;
  border: 1px solid rgba(232, 98, 42, 0.2);
  box-shadow: 0 4px 15px rgba(232, 98, 42, 0.1);
}
.sc-title {
  font-size: 48px;
  font-weight: 900;
  color: var(--navy);
  margin-bottom: 20px;
  line-height: 1.1;
  letter-spacing: -1px;
  background: linear-gradient(135deg, #0a1f3d 0%, #1a3c6d 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.sc-desc {
  font-size: 18px;
  color: #596a80;
  line-height: 1.7;
  margin-bottom: 40px;
  max-width: 95%;
}

.sc-btn {
  display: inline-block;
  margin-top: 30px;
  padding: 14px 32px;
  background: var(--navy);
  color: white;
  text-decoration: none;
  border-radius: 30px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(14,42,77,0.2);
}
.sc-btn:hover {
  background: var(--orange);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(232,98,42,0.3);
}

/* Extreme CTA */
.extreme-cta {
  background: linear-gradient(135deg, var(--navy) 0%, #0a1f3d 100%);
  color: white;
  padding: 100px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
@keyframes orb-float-1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(50px, -50px) scale(1.2); }
}
@keyframes orb-float-2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-50px, 50px) scale(0.8); }
}
.extreme-cta::before, .extreme-cta::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  z-index: 1;
  opacity: 0.5;
  pointer-events: none;
}
.extreme-cta::before {
  width: 400px;
  height: 400px;
  background: var(--orange);
  top: -100px;
  right: -100px;
  animation: orb-float-1 12s ease-in-out infinite;
}
.extreme-cta::after {
  width: 350px;
  height: 350px;
  background: #1a4b8c;
  bottom: -100px;
  left: -50px;
  animation: orb-float-2 15s ease-in-out infinite;
}
.extreme-cta-inner {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
}
.extreme-cta h2 {
  font-size: 48px;
  font-weight: 900;
  margin-bottom: 20px;
}
.extreme-cta p {
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 40px;
}

@media(max-width: 992px) {
  .showcase-row, .showcase-row.reverse {
    flex-direction: column;
    gap: 40px;
  }
  .ph-title { font-size: 42px; }
  .sc-title { font-size: 32px; }
  .sticky-subnav { top: 60px; }
}

/* Premium Badge Micro-interactions */
.p-item, .f-item {
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease, background 0.3s ease;
  cursor: pointer;
}
.p-item:hover, .f-item:hover {
  transform: translateY(-4px) scale(1.02);
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}
.p-item:hover .p-icon, .f-item:hover .f-icon {
  filter: drop-shadow(0 0 8px rgba(232, 98, 42, 0.5));
}

/* Global Scroll Progress */
#scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 4px;
  background: linear-gradient(90deg, var(--orange), #ff8a4c);
  z-index: 9999;
  pointer-events: none;
  box-shadow: 0 2px 10px rgba(232, 98, 42, 0.4);
  transition: width 0.1s ease-out;
}

/* Magic Cursor */
#magic-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  background: var(--orange);
  border-radius: 50%;
  pointer-events: none;
  z-index: 10000;
  transform: translate(-50%, -50%);
  mix-blend-mode: exclusion;
  transition: width 0.3s ease, height 0.3s ease, background 0.3s ease;
  box-shadow: 0 0 15px rgba(232, 98, 42, 0.8);
}
#magic-cursor.hover-active {
  width: 40px;
  height: 40px;
  background: rgba(232, 98, 42, 0.2);
  border: 1px solid var(--orange);
  box-shadow: 0 0 30px rgba(232, 98, 42, 0.4);
}

/* Spec Glass Panel Sheen */
.spec-glass-panel {
  position: relative;
  overflow: hidden;
}
.spec-glass-panel::before {
  content: '';
  position: absolute;
  top: 0;
  left: -150%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.05) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-25deg);
  transition: left 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
  pointer-events: none;
  z-index: 1;
}
.spec-glass-panel:hover::before {
  left: 150%;
}

/* Title Metallic Gradients */
.sc-title {
  background: linear-gradient(120deg, #0e2a4d 0%, #1a4b8c 40%, #0e2a4d 100%);
  background-size: 200% auto;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: shine 5s linear infinite;
}

}

/* Mobile Optimization */
@media(max-width: 768px) {
  /* Showcase Images & Layout */
  .showcase-row, .showcase-row.reverse {
    gap: 16px;
  }
  .showcase-img-col {
    text-align: center;
  }
  .showcase-img-col img {
    max-width: 260px;
    margin: 0 auto;
    display: block;
    box-shadow: 0 10px 25px rgba(14,42,77,0.1);
  }

  /* Typography & Spacing */
  .ph-title { font-size: 32px; }
  .sc-title { font-size: 26px; text-align: center; }
  .ph-desc, .sc-desc { font-size: 15px; text-align: center; margin: 0 auto 30px; }
  .sc-tag { display: table; margin: 0 auto 20px; }
  
  .extreme-cta { padding: 60px 20px; }
  .extreme-cta h2 { font-size: 32px; }

  /* Spec Glass Panels */
  .spec-glass-panel { padding: 24px; border-radius: 20px; margin-top: 20px; }
  .spec-row-sc { 
    flex-direction: column; 
    align-items: flex-start;
    gap: 6px;
    padding: 16px;
  }
  .spec-key-sc { flex: none; width: auto; font-size: 11px; }
  .spec-val-sc { 
    font-size: 14px; 
    text-align: left; 
    padding-left: 0; 
  }
  
  .sc-features { 
    margin-top: 30px; 
    padding-top: 24px; 
  }
  .sc-features h4 { 
    font-size: 11px; 
    padding: 8px 16px; 
    margin-bottom: 16px; 
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .sc-features li { 
    font-size: 14px; 
    padding: 16px 20px 16px 44px; 
    border-radius: 12px;
  }
  
  /* Sub-navigation Scrollable */
  .sticky-subnav {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding: 10px 0;
    display: block;
  }
  .sticky-subnav::-webkit-scrollbar {
    display: none;
  }
  .subnav-inner {
    display: inline-flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 0 10px;
    gap: 6px;
    width: max-content;
  }
  .subnav-link {
    font-size: 11px !important;
    padding: 6px 10px !important;
    white-space: nowrap !important;
    flex-shrink: 0;
  }
  /* Use short names on mobile */
  .subnav-link[data-short] {
    font-size: 0 !important;
  }
  .subnav-link[data-short]::after {
    content: attr(data-short);
    font-size: 11px;
    font-weight: 700;
  }
}

/* =========================================================================
   CONTACT PAGE: PREMIUM GLASSMORPHIC & DARK MODE STYLING
   ========================================================================= */

.glass-contact-section {
  position: relative;
  background: var(--navy-deep, #0a1f3d);
  background-image: radial-gradient(circle at 10% 20%, rgba(232, 98, 42, 0.05) 0%, transparent 40%),
                    radial-gradient(circle at 90% 80%, rgba(255, 255, 255, 0.02) 0%, transparent 40%);
  padding: 80px 24px;
  overflow: hidden;
  color: #fff;
}

.glass-contact-section::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MCIgaGVpZ2h0PSI4MCI+Cjxwb2x5Z29uIGZpbGw9IiNmZmZmZmYwMyIgcG9pbnRzPSI0MCwwIDgwLDQwIDQwLDgwIDAsNDAiLz4KPC9zdmc+') repeat;
  background-size: 60px 60px;
  opacity: 0.15;
  pointer-events: none;
}

.contact-layout {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
}

/* Glass Typography & Structure */
.glass-heading {
  color: #ffffff;
  font-size: 32px;
  margin-bottom: 12px;
  margin-top: 0;
  font-weight: 900;
  letter-spacing: -0.5px;
}

.glass-heading-accent {
  color: var(--orange, #e8622a);
  font-size: 32px;
  margin-bottom: 12px;
  margin-top: 0;
  font-weight: 900;
  letter-spacing: -0.5px;
}

.glass-divider {
  width: 60px;
  height: 4px;
  background: #ffffff;
  border-radius: 2px;
  margin-bottom: 16px;
}

.glass-divider-accent {
  width: 60px;
  height: 4px;
  background: var(--navy, #0e2a4d);
  border-radius: 2px;
  margin-bottom: 16px;
}

.glass-subtext {
  color: rgba(255, 255, 255, 0.7);
  font-size: 15.5px;
  line-height: 1.6;
  max-width: 95%;
}

.form-section.glass-card .glass-subtext {
  color: rgba(14, 42, 77, 0.7);
}

/* Glass Cards */
.glass-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15);
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.5s ease;
  position: relative;
  overflow: hidden;
}

.glass-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 40px 80px rgba(0, 0, 0, 0.2);
  border-color: rgba(232, 98, 42, 0.3);
}

.form-section.glass-card {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 40px;
}

.info-block.glass-card {
  padding: 24px;
  color: #fff;
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.info-block.glass-card h4 {
  color: #fff;
  font-size: 17px;
  margin-bottom: 6px;
  margin-top: 0;
}

.info-block.glass-card p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 12px;
}

.info-block.glass-card p a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: color 0.3s ease;
}

.info-block.glass-card p a:hover {
  color: var(--orange, #e8622a);
}

.info-block.glass-card .info-link {
  color: var(--orange);
}

.glass-icon {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--orange, #e8622a);
  border: 1px solid rgba(255, 255, 255, 0.1);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
}

.info-block.glass-card:hover .glass-icon {
  background: rgba(232, 98, 42, 0.15) !important;
  border-color: rgba(232, 98, 42, 0.4);
  transform: scale(1.05);
}

/* Glass Inputs & Form */
.glass-lbl {
  color: var(--navy-deep, #0a1f3d) !important;
  font-weight: 700 !important;
}

.glass-input {
  background: rgba(14, 42, 77, 0.03) !important;
  border: 1px solid rgba(14, 42, 77, 0.1) !important;
  border-radius: 12px !important;
  backdrop-filter: blur(4px);
  color: var(--navy, #0e2a4d) !important;
  transition: all 0.3s ease !important;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.02) !important;
}

.glass-input:focus {
  background: #ffffff !important;
  border-color: var(--orange, #e8622a) !important;
  box-shadow: 0 0 0 4px rgba(232, 98, 42, 0.1), inset 0 2px 4px rgba(0,0,0,0.01) !important;
  outline: none !important;
}

.glass-btn {
  background: linear-gradient(135deg, #f26a21 0%, #e84c05 100%) !important;
  box-shadow: 0 10px 20px rgba(232, 98, 42, 0.3), inset 0 1px 0 rgba(255,255,255,0.2) !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.glass-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 32px rgba(232, 98, 42, 0.4), inset 0 1px 0 rgba(255,255,255,0.3) !important;
}

/* Add some dynamic starting states for GSAP */
.gsap-contact-hide {
  opacity: 0;
  visibility: hidden;
}
/* =========================================================================
   COMPREHENSIVE MOBILE RESPONSIVE FIXES (ADDED FOR MOBILE OPTIMIZATION)
   ========================================================================= */

@media (max-width: 900px) {
  /* Hero Section */
  .hero {
    grid-template-columns: 1fr;
  }
  .hero-copy {
    padding: 60px 30px;
    align-items: center;
    text-align: center;
  }
  .hero-copy p {
    margin: 0 auto 36px;
  }
  .hero-visual {
    min-height: 400px;
  }
  .hero-badge {
    bottom: 15px;
    right: 15px;
    width: 80px;
    height: 80px;
  }
  .hero-badge .badge-main {
    font-size: 20px;
  }
  
  /* Material Cards Grid */
  .cards-grid {
    grid-template-columns: 1fr;
  }
  
  /* Engineering Stats Grid */
  .cap-grid {
    grid-template-columns: 1fr;
  }
  
  /* Sectors Grid */
  .ind-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Footer */
  .footer-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .site-footer {
    padding: 60px 30px 0;
  }
}

@media (max-width: 768px) {
  /* Global Resets */
  html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
  }
  
  /* Navigation */
  .navbar {
    flex-direction: column;
    padding: 15px;
    gap: 15px;
  }
  .materials {
    display: none; /* Hide heavy top-bar materials on small screens to save space */
  }
  .features {
    display: none; /* Hide features on small screens */
  }
  .nav-links {
    flex-wrap: wrap;
    justify-content: center;
  }
  .nav-contact {
    flex-direction: column;
    gap: 8px;
  }
  .nav-divider {
    display: none;
  }
  
  /* Typography Scaling */
  .hero-copy h2 {
    font-size: 38px;
  }
  .sec-title, .dark-title, .cta-title {
    font-size: 28px;
  }
  .section, .sec-dark, .sectors, .cta-sec {
    padding: 50px 20px;
  }
  
  /* Products & Contact Fixes */
  .showcase-row {
    flex-direction: column;
  }
  .showcase-row.reverse {
    flex-direction: column-reverse; /* Usually image on top */
  }
  .showcase-text-col, .showcase-img-col {
    padding: 20px 0;
  }
  .tag-group {
    flex-wrap: wrap;
  }
  .tech-adv {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .hero-copy h2 {
    font-size: 32px;
  }
  .ind-grid {
    grid-template-columns: 1fr;
  }
  .m-val {
    font-size: 20px;
  }
  .m-lbl {
    font-size: 9px;
  }
  .msep {
    margin: 0 10px;
  }
  .btn {
    width: 100%;
    justify-content: center;
  }
}



/* --- OVERRIDES FOR FULL WIDTH PREMIUM FOOTER --- */
.site-footer {
  margin: 0 !important;
  max-width: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: #fcfcfd !important;
  background-image: radial-gradient(rgba(14,42,77,0.04) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
  padding: 80px 80px 0 !important;
  border-top: 1px solid rgba(14,42,77,0.08) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Beautiful Top Gradient Line */
.site-footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--orange), transparent);
  opacity: 0.8;
  display: block !important;
}

/* Cleanup any after elements from previous attempts */
.site-footer::after {
  display: none !important;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  gap: 80px;
  margin-bottom: 70px;
  position: relative;
}

.footer-brand {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.footer-brand:hover {
  transform: translateY(-2px);
}

.f-address {
  margin-top: 36px;
  font-size: 14.5px;
  color: var(--navy);
  opacity: 0.9;
  line-height: 1.9;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
.f-address a {
  color: var(--navy) !important;
  font-weight: 600;
  transition: color 0.3s ease;
}
.f-address a:hover {
  color: var(--orange) !important;
}

.fnav-col h5 {
  font-size: 13.5px;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--navy);
  margin-bottom: 25px;
  position: relative;
  display: inline-block;
}
.fnav-col h5::after {
  content: '';
  position: absolute;
  left: 0; bottom: -8px; width: 24px; height: 2px;
  background-color: var(--orange);
  transition: width 0.3s ease;
}
.fnav-col:hover h5::after {
  width: 40px;
}

.fnav-col a {
  color: var(--navy);
  opacity: 0.75;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  margin-bottom: 16px;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  position: relative;
}
/* Micro-animation: arrow slide in */
.fnav-col a::before {
  content: '→';
  position: absolute;
  left: -20px;
  opacity: 0;
  color: var(--orange);
  transition: all 0.3s ease;
  font-weight: bold;
}
.fnav-col a:hover {
  opacity: 1;
  color: var(--orange);
  transform: translateX(20px);
}
.fnav-col a:hover::before {
  opacity: 1;
  left: -24px;
}

.footer-bottom {
  border-top: 1px solid rgba(14,42,77,0.08);
  padding: 30px 0;
  background: transparent;
}



/* --- PHASE 2 FOOTER ENHANCEMENTS --- */

/* 1. Pre-Footer CTA */
.pre-footer-cta {
  background: linear-gradient(135deg, rgba(14,42,77,0.02) 0%, rgba(243,101,35,0.05) 100%);
  border-radius: 12px;
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 60px;
  border: 1px solid rgba(14,42,77,0.05);
  box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}
.cta-content {
  flex: 1;
}
.cta-title {
  font-size: 24px;
  font-weight: 900;
  color: var(--navy);
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}
.cta-desc {
  font-size: 16px;
  color: rgba(14,42,77,0.7);
  margin: 0;
}
.cta-action {
  margin-left: 40px;
}
.cta-btn {
  background-color: var(--orange);
  color: white;
  padding: 15px 30px;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(243,101,35,0.2);
}
.cta-btn:hover {
  background-color: #d15016;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(243,101,35,0.3);
  color: white;
}
.cta-btn .arrow {
  transition: transform 0.3s ease;
}
.cta-btn:hover .arrow {
  transform: translateX(5px);
}

@media (max-width: 992px) {
  .pre-footer-cta {
    flex-direction: column;
    text-align: center;
    gap: 30px;
  }
  .cta-action {
    margin-left: 0;
  }
}

/* 2. Social Media & Trust Badges */
.f-trust-social {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.f-socials {
  display: flex;
  gap: 15px;
}
.social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(14,42,77,0.05);
  color: var(--navy);
  transition: all 0.3s ease;
}
.social-icon:hover {
  background: var(--orange);
  color: white;
  transform: translateY(-3px);
}
.f-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--navy);
  opacity: 0.8;
  background: rgba(14,42,77,0.04);
  padding: 8px 16px;
  border-radius: 20px;
  width: fit-content;
}

/* 3. Legal Footer Links & Bottom Row */
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.legal-links {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 13.5px;
  font-weight: 500;
}
.legal-links a {
  color: var(--navy);
  opacity: 0.6;
  text-decoration: none;
  transition: all 0.3s ease;
}
.legal-links a:hover {
  opacity: 1;
  color: var(--orange);
}
.legal-links .sep {
  opacity: 0.3;
  color: var(--navy);
}

/* 4. Fix Copyright Text Size */
.copy-main, .copy-trademarks {
  font-size: 13.5px !important; /* Ensure both are exactly the same size */
  font-weight: 500 !important;
  color: var(--navy);
  opacity: 0.7;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial;
}

/* 5. Animated Mesh Background */
.site-footer {
  /* Subtle mesh gradient overlay behind the dot grid */
  background: 
    radial-gradient(rgba(14,42,77,0.04) 1px, transparent 1px),
    radial-gradient(at 0% 100%, rgba(243,101,35,0.02) 0px, transparent 50%),
    radial-gradient(at 100% 0%, rgba(14,42,77,0.03) 0px, transparent 50%),
    #fcfcfd !important;
  background-size: 24px 24px, 100% 100%, 100% 100%, 100% 100% !important;
}




/* --- Fix Footer Bottom Layout --- */
.footer-bottom {
  padding-bottom: 60px !important; /* Add space for floating icons (whatsapp, back to top) */
}

.footer-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.copy-main, .copy-trademarks {
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}

.legal-links {
  margin-right: 80px !important; /* Ensure it doesn't get covered by the WhatsApp widget */
}

@media (max-width: 768px) {
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 80px !important;
  }
  .legal-links {
    margin-right: 0 !important;
  }
}



/* --- PREMIUM NAVY FOOTER BOTTOM --- */
.site-footer {
  padding-bottom: 0 !important; /* Remove bottom padding from main footer to let bottom bar touch the bottom */
}

.footer-bottom {
  background-color: var(--navy) !important;
  border-top: none !important;
  padding: 25px 80px 25px 80px !important;
  margin: 0 -80px !important; /* Stretch to edges to cover the footer padding */
  width: calc(100% + 160px) !important;
  position: relative;
  z-index: 10;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.footer-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.copy-main, .copy-trademarks {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 13px !important;
  letter-spacing: 0.02em;
}

.legal-links a {
  color: rgba(255, 255, 255, 0.6) !important;
  transition: color 0.3s ease !important;
}

.legal-links a:hover {
  color: white !important;
}

.legal-links .sep {
  color: rgba(255, 255, 255, 0.2) !important;
}

/* Adjust media query for mobile */
@media (max-width: 992px) {
  .footer-bottom {
    margin: 0 -40px !important;
    width: calc(100% + 80px) !important;
    padding: 25px 40px !important;
  }
}
@media (max-width: 768px) {
  .footer-bottom {
    flex-direction: column !important;
    text-align: center;
    gap: 15px !important;
    padding-bottom: 80px !important; /* Extra padding for WhatsApp widget on mobile */
  }
  .legal-links {
    margin-right: 0 !important;
  }
}

/* Back to Top Button Adjustment */
.back-to-top {
  border: 2px solid rgba(255,255,255,0.1);
  box-shadow: 0 -4px 15px rgba(0,0,0,0.2);
}



/* --- FINAL FOOTER BOTTOM LAYOUT --- */
.footer-copy {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  width: 100% !important;
  align-items: center !important;
}
.copy-main {
  text-align: left !important;
}
.copy-trademarks {
  text-align: right !important;
}

@media (max-width: 768px) {
  .footer-copy {
    flex-direction: column !important;
    text-align: center !important;
    gap: 10px !important;
  }
  .copy-main, .copy-trademarks {
    text-align: center !important;
  }
}



/* --- MAKE BOTTOM TEXT VISIBLE AND BOLD --- */
.copy-main, .copy-trademarks {
  color: #ffffff !important;
  font-weight: bold !important;
  opacity: 1 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.02em !important;
}



/* --- Fix CTA Section Text Colors --- */
/* The general .cta-title and .cta-desc styles turned them navy, which broke the dark background CTA section */
.cta-sec .cta-title {
  color: #ffffff !important;
}
.cta-sec .cta-desc {
  color: rgba(255, 255, 255, 0.85) !important;
}



/* --- PREMIUM CTA SECTION UPGRADE --- */
.cta-sec {
  padding: 100px 20px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  background: var(--navy) !important; /* Ensure a solid navy background */
}

/* Subtle background glow */
.cta-sec::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(243,101,35,0.05) 0%, transparent 70%);
  z-index: 1;
  pointer-events: none;
}

.cta-sec .reveal-left {
  position: relative;
  z-index: 2; /* Keep content above the glow */
}

/* 1. The Pill Tag (Get in Touch) */
.cta-sec .cta-eye {
  display: inline-block !important;
  padding: 8px 20px !important;
  border: 1px solid rgba(243,101,35,0.4) !important;
  border-radius: 30px !important;
  background: rgba(243,101,35,0.08) !important;
  color: var(--orange) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin-bottom: 30px !important;
}
.cta-sec .cta-eye::after,
.cta-sec .cta-eye::before {
  display: none !important; /* Remove any old lines or dots */
}

/* 2. The Title */
.cta-sec .cta-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin-bottom: 25px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}
.cta-sec .cta-title .o-orange-serif {
  color: var(--orange) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
}

/* 3. The Description */
.cta-sec .cta-desc {
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  max-width: 650px !important;
  margin: 0 auto 40px auto !important;
}

/* 4. The Action Button */
.cta-sec .btn-premium {
  background: var(--orange) !important;
  color: #ffffff !important;
  padding: 16px 36px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 25px rgba(243,101,35,0.25) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  border: none !important;
}

.cta-sec .btn-premium:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 30px rgba(243,101,35,0.4) !important;
  background: #d15016 !important;
}

.cta-sec .btn-premium svg {
  transition: transform 0.3s ease !important;
}
.cta-sec .btn-premium:hover svg {
  transform: translateX(5px) !important;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .cta-sec {
    padding: 80px 20px !important;
  }
  .cta-sec .cta-title {
    font-size: 34px !important;
  }
  .cta-sec .cta-desc {
    font-size: 16px !important;
    margin-bottom: 30px !important;
  }
  .cta-sec .btn-premium {
    width: 100% !important;
  }
}


/* ==========================================================================
   MOBILE OPTIMIZATIONS (ADDED FOR RESPONSIVENESS)
   ========================================================================== */

@media (max-width: 991px) {
  .mainnav {
    padding: 0 15px !important;
    height: 80px !important;
  }
  .mainnav .brand {
    gap: 8px !important;
  }
  .mainnav .brand > svg {
    width: 50px !important;
    height: 50px !important;
  }
  .brand-text .h1-block {
    font-size: 16px !important;
  }
  .brand-text .esp {
    font-size: 8px !important;
  }
  .brand-text .sub1-block {
    font-size: 7px !important;
  }
  .brand-text .sub2-block {
    }
  
  .premium-info-strip {
    display: none !important;
  }
  
  .nav-sub-bar .floating-panel {
    grid-template-columns: 1fr !important;
    padding: 10px 15px !important;
    gap: 10px !important;
    justify-items: center !important;
  }
  
  .nav-contact {
    white-space: normal !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    font-size: 11px !important;
    gap: 10px !important;
  }
  
  .ind-grid, .cards-grid, .cap-grid, .ph-grid, .footer-top {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  .hero-content h2 {
    font-size: 32px !important;
  }
  
  .site-footer {
    padding: 40px 20px !important;
  }
  
  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 15px !important;
  }
  
  .nav-menu.mobile-active {
    display: flex !important;
  }
  .nav-menu {
    width: 100% !important;
    right: 0 !important;
    top: 80px !important;
  }
  .menu-btn-desktop .menu-text {
    display: none !important;
  }
  .menu-btn-desktop {
    padding: 10px !important;
    border-radius: 50% !important;
  }
}

@media (max-width: 480px) {
  .hero-content h2 {
    font-size: 26px !important;
  }
  .brand-text .h1-block {
    font-size: 14px !important;
  }
  .mainnav .brand > svg {
    width: 40px !important;
    height: 40px !important;
  }
  .mainnav {
    height: 70px !important;
  }
  .nav-menu {
    top: 70px !important;
  }
}


@media (max-width: 991px) {
  .contact-layout, .sec-desc, .cta-desc, .floating-panel, .hero-full-inner, 
  .ph-desc, .subnav-inner, .showcase-row, .extreme-cta-inner, .faq-section,
  .premium-divider-label, .modal, .f-tagline {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
  }
}

@media (max-width: 991px) {
  .brand-text .sub2-block {
    display: flex !important;
    font-size: 5.5px !important;
    margin-top: 1px !important;
    letter-spacing: 0 !important;
  }
}




















}







/* Complete layout fix */
.premium-heading {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 5px;
  margin-top: 10px;
  
  /* Advanced Metallic Text gradient with animation (Navy Blue) */
  background: linear-gradient(120deg, #0b2341 0%, #1e4b82 40%, #ffffff 50%, #1e4b82 60%, #0b2341 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shine 6s linear infinite;
  
  /* Deep Embossed Shadow */
  filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.1));
}

@keyframes shine {
  to {
    background-position: 200% center;
  }
}

.premium-heading::before, 
.premium-heading::after {
  content: "";
  display: block;
  flex: 1;
  min-width: 0;
  height: 1px;
  margin: 0 20px;
  opacity: 0.7;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial;
}

.premium-heading::before {
  background: linear-gradient(90deg, transparent 0%, rgba(30, 75, 130, 0.8) 100%);
  box-shadow: 0 0 8px rgba(30, 75, 130, 0.4);
}

.premium-heading::after {
  background: linear-gradient(90deg, rgba(30, 75, 130, 0.8) 0%, transparent 100%);
  box-shadow: 0 0 8px rgba(30, 75, 130, 0.4);
}


/* Products Page Mobile Optimizations */
@media (max-width: 768px) {
  .products-hero, .products-hero-dark {
    padding: 100px 20px 40px 20px !important;
  }
  
  .spec-row-sc {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 15px;
  }
  
  .spec-val-sc {
    text-align: left;
    width: 100%;
    margin-top: 4px;
  }
  
  .ph-grid {
    gap: 30px !important;
  }
  
  .hero-material-badges {
    margin-top: 15px;
    gap: 8px;
  }
  
  .hm-badge {
    padding: 6px 10px;
    font-size: 11px;
  }
  
  .hm-badge strong {
    font-size: 12px;
  }
}

/* =========================================================================
   PRODUCTS PAGE: MARQUEE NAV STRIP
   ========================================================================= */

.prod-marquee-nav {
  background: var(--navy, #0e2a4d);
  padding: 14px 0;
  overflow: hidden;
  display: block !important;
  position: relative;
  z-index: 10;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 4px 20px rgba(10, 31, 61, 0.3);
}

.prod-marquee-inner {
  display: flex;
  gap: 28px;
  white-space: nowrap;
  animation: prod-scrollmq 22s linear infinite;
  width: max-content;
  align-items: center;
}

.prod-marquee-nav:hover .prod-marquee-inner {
  animation-play-state: paused;
}

@keyframes prod-scrollmq {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.prod-mq-link {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.25s ease;
  cursor: pointer;
}

.prod-mq-link:hover {
  color: var(--orange, #f26a21);
}

/* ============================================================
   BRAND LOGO – CANONICAL RESPONSIVE SYSTEM
   Overrides all inline styles and legacy conflicts.
   These rules live at the end of the file for highest
   cascade priority without needing !important everywhere.
   ============================================================ */

/* ---- Base (desktop ≥ 992px) ---- */
.brand-text {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  font-family: 'Montserrat', 'Inter', sans-serif !important;
}
.brand-text .esp {
  font-weight: 800 !important;
  font-size: 13px !important;
  color: var(--orange) !important;
  letter-spacing: 2px !important;
  margin-bottom: 2px !important;
}
.brand-text .h1-block {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 35px !important;
  font-weight: 900 !important;
  color: var(--navy) !important;
  margin-top: -6px !important;
  margin-right: -1.5px !important;
  white-space: nowrap !important;
}
.brand-text .h1-block > span:not(.o-orange) {
  display: inline-block !important;
  letter-spacing: 3.5px !important;
}
.brand-text .h1-block .o-orange {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 29px !important;
  height: 29px !important;
  margin: 0 4.5px 0 -2.5px !important;
  transform: translateY(-1px) !important;
  flex-shrink: 0 !important;
}
.brand-text .h1-block .o-orange svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}
.brand-text .sub1-block {
  display: flex !important;
  justify-content: space-between !important;
  width: 100% !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: var(--navy) !important;
  border-top: 2.5px solid var(--orange) !important;
  padding-top: 4px !important;
  margin-top: 2px !important;
}
.brand-text .sub2-block {
  display: flex !important;
  justify-content: space-between !important;
  width: 100% !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: var(--navy) !important;
  margin-top: 3px !important;
  letter-spacing: 0 !important;
}
.brand-text .sub2-block .dot {
  color: var(--orange) !important;
  margin: 0 4px !important;
}

/* Main logo SVG (desktop) */
.mainnav .brand > svg {
  width: 75px !important;
  height: 75px !important;
  flex-shrink: 0 !important;
}

/* ---- Tablet / medium (≤ 1200px) ---- */
@media (max-width: 1200px) {
  .mainnav .brand > svg { width: 62px !important; height: 62px !important; }
  .brand-text .h1-block { font-size: 28px !important; }
  .brand-text .h1-block .o-orange { width: 24px !important; height: 24px !important; }
  .brand-text .sub1-block { font-size: 11px !important; }
  .brand-text .sub2-block { font-size: 9px !important; }
}

/* ---- Small tablet (≤ 991px) ---- */
@media (max-width: 991px) {
  .mainnav { padding: 0 16px !important; height: 80px !important; }
  .mainnav .brand { gap: 10px !important; }
  .mainnav .brand > svg { width: 52px !important; height: 52px !important; }
  .brand-text .esp { font-size: 10px !important; }
  .brand-text .h1-block { font-size: 22px !important; }
  .brand-text .h1-block .o-orange { width: 19px !important; height: 19px !important; }
  .brand-text .sub1-block { font-size: 8.5px !important; }
  .brand-text .sub2-block { font-size: 7px !important; }
}

/* ---- Mobile large (≤ 680px) ---- */
@media (max-width: 680px) {
  .mainnav { padding: 0 12px !important; height: 68px !important; }
  .mainnav .brand { gap: 7px !important; }
  .mainnav .brand > svg { width: 40px !important; height: 40px !important; }
  .brand-text .esp { font-size: 8px !important; letter-spacing: 1.2px !important; }
  .brand-text .h1-block { font-size: 17px !important; }
  .brand-text .h1-block .o-orange { width: 15px !important; height: 15px !important; margin: 0 3px 0 -1px !important; }
  .brand-text .sub1-block { font-size: 6.5px !important; padding-top: 2px !important; }
  .brand-text .sub2-block { font-size: 5.5px !important; margin-top: 2px !important; }
}

/* ---- Mobile small (≤ 450px) ---- */
@media (max-width: 450px) {
  .mainnav { height: 60px !important; }
  .mainnav .brand > svg { width: 34px !important; height: 34px !important; }
  .brand-text .esp { font-size: 7px !important; }
  .brand-text .h1-block { font-size: 14px !important; }
  .brand-text .h1-block .o-orange { width: 12px !important; height: 12px !important; }
  .brand-text .sub1-block { font-size: 5.5px !important; border-top-width: 1.5px !important; }
  .brand-text .sub2-block { font-size: 6.5px !important; }
}

/* ---- Very small (≤ 360px) ---- */
@media (max-width: 360px) {
  .mainnav .brand > svg { width: 28px !important; height: 28px !important; }
  .brand-text .h1-block { font-size: 12px !important; }
  .brand-text .h1-block .o-orange { width: 10px !important; height: 10px !important; }
  .brand-text .sub1-block { display: none !important; }
}


/* ENTERPRISE RESPONSIVE DESKTOP HEADER (992px to 1920px+) */
@media (min-width: 992px) {
  /* 1. Main Navigation Container */
  .mainnav {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    padding: 0 clamp(10px, 2vw, 40px) !important;
    gap: clamp(10px, 1.5vw, 20px) !important;
    overflow: visible !important;
    min-height: 105px !important;
  }

  .mainnav.scrolled {
    padding: 8px clamp(10px, 2vw, 36px) !important;
  }

  /* 2. Brand / Logo */
  .mainnav .brand {
    display: flex !important;
    align-items: center !important;
    gap: clamp(8px, 1vw, 15px) !important;
    flex-shrink: 0 !important;
  }
  .mainnav .brand > svg {
    width: clamp(45px, 4vw, 75px) !important;
    height: clamp(45px, 4vw, 75px) !important;
  }
  .brand-text .h1-block {
    font-size: clamp(18px, 1.8vw, 35px) !important;
  }
  .brand-text .o-orange {
    width: clamp(15px, 1.5vw, 29px) !important;
    height: clamp(15px, 1.5vw, 29px) !important;
  }
  .brand-text .sub1-block {
    font-size: clamp(7px, 0.7vw, 13.5px) !important;
  }
  .brand-text .sub2-block {
    font-size: clamp(6px, 0.6vw, 11px) !important;
  }

  /* 3. Premium Info Strip */
  .premium-info-strip {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(10px, 1.5vw, 35px) !important;
    flex-wrap: nowrap !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .premium-divider {
    flex-shrink: 0 !important;
    margin: 0 !important;
    opacity: 0.5 !important;
  }
  
  .premium-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: clamp(3px, 0.4vw, 6px) !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
    flex-shrink: 1 !important;
  }

  /* 4. Headings */
  .premium-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    white-space: nowrap !important;
    font-size: clamp(8px, 0.7vw, 13.5px) !important;
    font-weight: 900 !important;
    letter-spacing: clamp(1.5px, 0.25vw, 5px) !important;
    margin-bottom: clamp(2px, 0.3vw, 5px) !important;
    margin-top: clamp(4px, 0.6vw, 10px) !important;
  }
  
  .premium-heading::before, 
  .premium-heading::after {
    margin: 0 clamp(5px, 0.8vw, 20px) !important;
    flex: 1 !important;
    min-width: 0 !important;
  }

  /* 5. Material & Feature Items */
  .premium-items {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    gap: clamp(8px, 1vw, 25px) !important;
    min-width: 0 !important;
  }

  .p-item, .f-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    gap: clamp(4px, 0.4vw, 8px) !important;
    padding: clamp(2px, 0.3vw, 5px) clamp(3px, 0.4vw, 8px) !important;
    white-space: nowrap !important;
    min-width: 0 !important;
  }

  .p-icon, .f-icon {
    width: clamp(14px, 1.2vw, 26px) !important;
    height: clamp(14px, 1.2vw, 26px) !important;
    flex-shrink: 0 !important;
  }

  .p-text, .f-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 0 !important;
  }

  .p-name, .f-name {
    font-size: clamp(9px, 0.75vw, 14px) !important;
  }

  .p-grade, .f-desc {
    font-size: clamp(7px, 0.6vw, 11px) !important;
  }

  /* 6. Hamburger Menu Button */
  .menu-btn-desktop {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    padding: clamp(6px, 0.6vw, 10px) clamp(10px, 1.2vw, 24px) !important;
    gap: clamp(4px, 0.5vw, 10px) !important;
  }
  .menu-btn-desktop .menu-text {
    font-size: clamp(10px, 0.8vw, 13px) !important;
  }
  .menu-btn-desktop svg {
    width: clamp(16px, 1.2vw, 24px) !important;
    height: clamp(16px, 1.2vw, 24px) !important;
  }
}


/* Fix for dropdown menu */
.nav-menu.mobile-active { display: flex !important; opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; pointer-events: auto !important; z-index: 2147483647 !important; }


.mainnav { overflow: visible !important; }

/* ==========================================================================
   MOBILE LOGO / HEADER RESPONSIVE FIX
   Applies up to 991px only; desktop (>= 992px) is untouched.
   - Never crops/hides any part of the logo
   - Fluid sizes so the logo scales proportionally at every width
   - ELASTOMERIC stays a tight single word (no gaps)
   - Taglines stretch across the full logo width (desktop look)
   - Logo left-aligned in the header on mobile
   ========================================================================== */
@media (max-width: 991px) {
  .mainnav {
    height: auto !important;
    min-height: 64px !important;
    padding: 10px clamp(10px, 2.5vw, 20px) !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }
  .mainnav.scrolled {
    padding: 8px clamp(10px, 2.5vw, 20px) !important;
  }

  /* Logo wrapper: left-aligned, may shrink but never overflows */
  .mainnav .brand {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
    gap: clamp(6px, 2.2vw, 12px) !important;
    transform-origin: center !important;
  }

  /* Logo SVG scales fluidly and never loses the text column */
  .mainnav .brand > svg {
    width: clamp(30px, 8vw, 52px) !important;
    height: clamp(30px, 8vw, 52px) !important;
    flex-shrink: 0 !important;
  }

  /* Text column capped to its container so nothing overflows */
  .brand-text {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .brand-text .esp {
    font-size: clamp(6px, 1.9vw, 10px) !important;
    letter-spacing: clamp(1px, 0.4vw, 2px) !important;
  }
  .brand-text .h1-block {
    font-size: clamp(17px, 5.15vw, 31px) !important;
    justify-content: flex-start !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .brand-text .h1-block > span:not(.o-orange) {
    letter-spacing: clamp(1.5px, 0.7vw, 3.5px) !important;
  }
  .brand-text .h1-block .o-orange {
    width: 0.83em !important;
    height: 0.83em !important;
    margin: 0 0.13em 0 -0.07em !important;
    transform: translateY(-1px) !important;
    flex-shrink: 0 !important;
  }

  /* Both taglines always visible, stretch edge-to-edge like desktop */
  .brand-text .sub1-block,
  .brand-text .sub2-block {
    display: flex !important;
    justify-content: space-between !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .brand-text .sub1-block {
    font-size: clamp(5.5px, 1.9vw, 11px) !important;
  }
  .brand-text .sub2-block {
    font-size: clamp(5.5px, 1.7vw, 10px) !important;
  }
  .brand-text .sub1-block span,
  .brand-text .sub2-block span {
    flex-shrink: 0 !important;
  }
}


