/* ==========================================================
   FidStrong - Premium Corporate Website
   Inspired by S&P Clever Reinforcement
   ========================================================== */

/* ---------- Design Tokens ---------- */
:root {
  /* Brand Colors - Black + Red (FidStrong Identity) */
  --brand: #C41E1E;
  --brand-dark: #a81919;
  --brand-darker: #8a1414;
  --brand-light: #e02d2d;
  --brand-accent: #C41E1E;

  /* Neutral palette */
  --white: #ffffff;
  --gray-50: #f9f9f9;
  --gray-100: #f2f2f2;
  --gray-200: #e5e5e5;
  --gray-300: #d4d4d4;
  --gray-400: #b5b5b5;
  --gray-500: #999;
  --gray-600: #666;
  --gray-700: #444;
  --gray-800: #2a2a2a;
  --gray-900: #1a1a1a;

  /* Semantic */
  --text: #222;
  --text-secondary: #555;
  --text-muted: #999;
  --bg-light: #f5f5f5;
  --bg-dark: #1a1a1a;
  --bg-darker: #111;
  --danger: #c0392b;
  --success: #27ae60;
  --warning: #f39c12;

  /* Layout */
  --max-w: 1240px;
  --header-h: 82px;
  --radius: 6px;
  --radius-lg: 10px;
  --shadow-xs: 0 1px 3px rgba(0,0,0,.06);
  --shadow-sm: 0 2px 8px rgba(0,0,0,.08);
  --shadow-md: 0 4px 24px rgba(0,0,0,.10);
  --shadow-lg: 0 12px 48px rgba(0,0,0,.12);
  --transition: .25s ease;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--text);line-height:1.65;background:var(--white);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color var(--transition)}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:var(--gray-900)}
p{margin-bottom:.875rem;color:var(--text-secondary)}

/* ---------- Utilities ---------- */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.text-center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Section Title (S&P style line) */
.sec-label{display:block;font-size:.75rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--brand);margin-bottom:.5rem}
.sec-title{font-size:1.875rem;font-weight:800;margin-bottom:.25rem}
.sec-line{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem}
.sec-line h2{white-space:nowrap;font-size:1.625rem;font-weight:800}
.sec-line::after{content:'';flex:1;height:2px;background:var(--brand)}
.sec-desc{max-width:640px;font-size:1rem;color:var(--text-secondary);margin-bottom:2rem}

/* ---------- HEADER ---------- */
.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--white);transition:box-shadow .3s ease}
.header.scrolled{box-shadow:0 2px 16px rgba(0,0,0,.08)}

/* Top utility bar (S&P style - clean, no lines) */
.hdr-top{height:30px}
.hdr-top-inner{display:flex;align-items:center;height:100%;max-width:var(--max-w);margin:0 auto;padding:0 2rem}
.hdr-top a{color:var(--gray-600);font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;transition:color .2s}
.hdr-top a:hover{color:var(--brand)}
.hdr-top a+a{margin-left:1.75rem}
.hdr-top i{font-size:.85rem}

/* Main nav bar */
.hdr-main{height:52px}
.hdr{display:flex;align-items:center;height:100%;max-width:var(--max-w);margin:0 auto;padding:0 2rem}

/* Nav - left side, S&P style, indented from utility bar */
.nav{display:flex;align-items:stretch;height:100%;margin-left:1.1rem}
.nav a{font-size:1.1rem;font-weight:600;color:var(--gray-800);display:flex;align-items:center;position:relative;letter-spacing:.2px;text-transform:none;padding:0 1.35rem}
.nav>a:first-child,.nav>.nav-item:first-child>a{padding-left:0}
.nav a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--brand);opacity:0;transition:opacity .25s ease}
.nav a:hover{color:var(--brand)}
.nav a.active{color:var(--brand)}
.nav a.active::after{opacity:1}

/* Logo - right side, bottom-aligned with nav, taller than nav bar */
.logo{display:flex;align-items:center;flex-shrink:0;margin-left:4rem;align-self:flex-end;padding-bottom:1rem}
.logo img,.logo svg{height:44px;width:auto}

/* Nav Dropdowns */
.nav-item{position:relative;display:flex;align-items:stretch}
.nav-item>a{display:flex;align-items:center;gap:.35rem}
.nav-item>a .dd-arrow{font-size:.5rem;transition:transform .25s ease;opacity:.4}
.nav-item:hover>a .dd-arrow{transform:rotate(180deg);opacity:1}
.nav-dropdown{position:absolute;top:100%;left:0;min-width:820px;background:var(--white);border-radius:0 0 var(--radius) var(--radius);box-shadow:0 12px 40px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06);padding:2rem 2.25rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform:translateY(4px);z-index:100}
.nav-dropdown::before{content:'';position:absolute;top:-10px;left:0;right:0;height:12px;background:transparent}
.nav-item:hover .nav-dropdown{opacity:1;visibility:visible;pointer-events:all;transform:translateY(0)}

/* Services dropdown (simpler) */
.nav-dropdown-sm{min-width:240px;padding:.75rem 0}
.nav-dropdown-sm .dd-link{display:block;padding:.6rem 1.5rem;font-size:.875rem;font-weight:500;color:var(--gray-700);transition:all .15s ease}
.nav-dropdown-sm .dd-link:hover{background:var(--gray-50);color:var(--brand);padding-left:1.75rem}
.nav-dropdown-sm .dd-link::after{display:none}
.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.dd-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;border-radius:var(--radius);transition:all .2s ease}
.dd-item:hover{background:var(--gray-50);transform:translateX(3px)}
.dd-item img{width:52px;height:52px;object-fit:contain;border-radius:6px;background:var(--gray-100);flex-shrink:0;padding:4px}
.dd-item-text{display:flex;flex-direction:column}
.dd-item-text strong{font-size:.8125rem;font-weight:700;color:var(--gray-900);line-height:1.3;letter-spacing:0;text-transform:none}
.dd-item-text span{font-size:.6875rem;color:var(--text-muted);line-height:1.4;margin-top:.15rem;letter-spacing:0;text-transform:none}
.dd-footer{margin-top:1.25rem;padding-top:.875rem;border-top:1px solid var(--gray-200);text-align:center}
.dd-footer a{font-size:.75rem;font-weight:700;color:var(--brand);letter-spacing:.5px;text-transform:uppercase}
.dd-footer a:hover{color:var(--brand-dark)}

/* Hamburger */
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px}
.burger span{display:block;width:22px;height:2px;background:var(--gray-800);transition:var(--transition)}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile Nav */
@media(max-width:900px){
  :root{--header-h:60px}
  .hdr-top{display:none}
  .hdr-main{height:60px}
  .logo img,.logo svg{height:36px}
  .burger{display:flex}
  .nav{position:fixed;top:var(--header-h);left:0;right:0;background:var(--white);flex-direction:column;align-items:stretch;height:auto;padding:1.5rem;gap:.5rem;box-shadow:var(--shadow-md);transform:translateY(-120%);opacity:0;pointer-events:none;transition:var(--transition)}
  .nav.open{transform:translateY(0);opacity:1;pointer-events:all}
  .nav a{font-size:1rem;padding:.5rem 0;height:auto}
  .nav>a:first-child,.nav>.nav-item:first-child>a{padding-left:0}
  .nav a::after{display:none}
  .nav-dropdown{display:none!important}
  .nav-item>a .dd-arrow{display:none}
}

/* ---------- HERO CAROUSEL ---------- */
.hero{position:relative;min-height:560px;margin-top:var(--header-h);display:flex;align-items:flex-end;overflow:hidden;background:#222}

/* Slide backgrounds */
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}
.hero-slide.active{opacity:1}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.55) 100%)}

/* Fallback single bg (for non-carousel pages) */
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.55) 100%)}

/* Content */
.hero-body{position:relative;z-index:2;width:100%}
.hero-card{background:rgba(26,26,26,.9);max-width:660px;padding:2.25rem 2.75rem;border-top:4px solid var(--brand);display:none}
.hero-card.active{display:block;animation:heroFadeIn .6s ease}
@keyframes heroFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.hero-card h1{color:#fff;font-size:1.875rem;font-weight:800;margin-bottom:.6rem;line-height:1.3}
.hero-card p{color:rgba(255,255,255,.78);font-size:.9375rem;margin-bottom:1rem;line-height:1.6}
.hero-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand-accent);font-weight:700;font-size:.9375rem}
.hero-link:hover{color:#fff;gap:.65rem}
.hero-link svg{width:18px;height:18px}

/* Carousel nav */
.hero-nav{position:absolute;right:2rem;bottom:2rem;display:flex;gap:.25rem;z-index:3}
.hero-nav button{width:44px;height:44px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.3);color:#fff;display:flex;align-items:center;justify-content:center;transition:var(--transition);backdrop-filter:blur(4px);font-size:.875rem;cursor:pointer}
.hero-nav button:hover{background:var(--brand);border-color:var(--brand)}

/* Dots */
.hero-dots{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:3}
.hero-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35);border:none;cursor:pointer;transition:var(--transition);padding:0}
.hero-dot.active{background:var(--brand);transform:scale(1.2)}

.hero-stripe{height:5px;background:var(--brand)}

/* ---------- STATS BAR ---------- */
.stats-bar{background:var(--bg-dark);padding:2.5rem 0}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat-num{display:block;font-size:2.25rem;font-weight:800;color:var(--brand-accent);line-height:1}
.stat-lbl{display:block;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:1.5px;margin-top:.35rem}

/* ---------- WELCOME / INTRO ---------- */
.intro{padding:5rem 0;background:var(--white)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.intro-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.intro-img img{width:100%;height:400px;object-fit:cover}
.intro-text h2{font-size:1.75rem;margin-bottom:1rem}
.intro-text p{font-size:1rem;line-height:1.75}

/* ---------- PRODUCTS GRID ---------- */
.products-sec{padding:4.5rem 0;background:var(--bg-light)}
.p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.p-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-xs);transition:transform var(--transition),box-shadow var(--transition)}
.p-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.p-card-img{height:280px;overflow:hidden;background:var(--gray-100)}
.p-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.p-card:hover .p-card-img img{transform:scale(1.06)}
.p-card-body{padding:1.375rem}
.p-card-cat{display:inline-block;font-size:.6875rem;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:.4rem}
.p-card-body h3{font-size:1.0625rem;margin-bottom:.4rem;color:var(--gray-900)}
.p-card-body p{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.75rem;line-height:1.55}
.p-card-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;color:var(--brand)}
.p-card-link:hover{color:var(--brand-dark);gap:.55rem}
.p-card-link svg{width:16px;height:16px}

/* View All button */
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand);color:var(--white);padding:.75rem 1.75rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;border:none;transition:background var(--transition)}
.btn-primary:hover{background:var(--brand-dark);color:var(--white)}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--brand);padding:.7rem 1.5rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;border:2px solid var(--brand);transition:var(--transition)}
.btn-outline:hover{background:var(--brand);color:var(--white)}
.btn-light{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--white);padding:.7rem 1.75rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;border:1.5px solid rgba(255,255,255,.6);transition:all var(--transition);letter-spacing:.3px}
.btn-light:hover{background:var(--white);color:var(--brand);border-color:var(--white)}
.btn-white{display:inline-flex;align-items:center;gap:.5rem;background:var(--white);color:var(--brand);padding:.75rem 1.75rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;border:none;transition:var(--transition)}
.btn-white:hover{background:var(--gray-100)}
.btn-ghost-white{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:#fff;padding:.7rem 1.5rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;border:2px solid rgba(255,255,255,.4);transition:var(--transition)}
.btn-ghost-white:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* ---------- SOLUTIONS ---------- */
.solutions{padding:4.5rem 0;background:var(--white)}
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.sol-card{padding:2rem 1.75rem;background:var(--bg-light);border-radius:var(--radius);border-left:4px solid transparent;transition:var(--transition)}
.sol-card:hover{border-left-color:var(--brand);background:var(--white);box-shadow:var(--shadow-md)}
.sol-icon{width:50px;height:50px;background:var(--brand);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--white);font-size:1.25rem}
.sol-card h3{font-size:1.0625rem;margin-bottom:.5rem}
.sol-card p{font-size:.875rem;color:var(--text-secondary);margin-bottom:0}

/* ---------- TRUST BAR ---------- */
.trust{padding:3.5rem 0;background:var(--bg-dark)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.trust-icon{width:56px;height:56px;margin:0 auto .75rem;background:rgba(255,255,255,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--brand-accent);font-size:1.375rem}
.trust h4{color:#fff;font-size:.9375rem;font-weight:600;margin-bottom:.25rem}
.trust p{color:rgba(255,255,255,.5);font-size:.8125rem;margin-bottom:0}

/* ---------- CTA BANNER ---------- */
.cta-banner{padding:4.5rem 0;background:var(--brand);text-align:center}
.cta-banner h2{color:#fff;font-size:1.875rem;margin-bottom:.75rem}
.cta-banner>div>p{color:rgba(255,255,255,.82);font-size:1.0625rem;max-width:560px;margin:0 auto 1.75rem}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---------- PAGE HERO ---------- */
.pg-hero{position:relative;height:360px;margin-top:var(--header-h);display:flex;align-items:flex-end;overflow:hidden;background:#0a0a0a}
.pg-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.pg-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.82) 0%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.25) 100%)}
.pg-hero-body{position:relative;z-index:2;width:100%;max-width:var(--max-w);margin:0 auto;padding:0 2rem 2.75rem;display:flex;flex-direction:column;align-items:flex-start}
.pg-hero-body::before{content:'';display:block;width:40px;height:3px;background:var(--brand);margin-bottom:1rem;border-radius:2px}
.pg-hero-body h1{color:#fff;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;margin-bottom:.6rem;line-height:1.2;letter-spacing:-.2px}
.pg-hero-body .pg-hero-sub{color:rgba(255,255,255,.75);font-size:.9375rem;max-width:520px;line-height:1.7;font-weight:400}
.pg-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--brand);z-index:3}

/* ---------- DOWNLOADS ---------- */
.dl-section{padding:4rem 0;background:var(--bg-light)}
.dl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.dl-card{display:flex;align-items:center;gap:1rem;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:1.25rem 1.5rem;transition:var(--transition)}
.dl-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.dl-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--brand),var(--brand-light));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:1.25rem}
.dl-card-text{flex:1}
.dl-card-text strong{display:block;font-size:.875rem;color:var(--gray-900);margin-bottom:.15rem}
.dl-card-text span{font-size:.75rem;color:var(--text-muted)}
.dl-card .dl-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;color:var(--gray-500);font-size:.8rem;flex-shrink:0;transition:var(--transition)}
.dl-card:hover .dl-btn{background:var(--brand);border-color:var(--brand);color:#fff}

/* ---------- PRODUCT DETAIL ---------- */
.pd-section{padding:4rem 0}
.pd-section:nth-child(even){background:var(--bg-light)}
.pd-grid{display:grid;grid-template-columns:420px 1fr;gap:3rem;align-items:start}
.pd-grid.reverse{grid-template-columns:1fr 420px}
.pd-grid.reverse .pd-img{order:2}
.pd-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.pd-img img{width:100%;height:300px;object-fit:cover}
.pd-gallery{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;border-radius:var(--radius-lg);overflow:hidden}
.pd-gallery img{width:100%;height:180px;object-fit:cover;border-radius:var(--radius);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}
.pd-gallery img:hover{transform:scale(1.04);box-shadow:var(--shadow-md)}
.pd-gallery.cols-3{grid-template-columns:repeat(3,1fr)}
.pd-gallery.cols-3 img{height:150px}
.pd-content h2{font-size:1.5rem;color:var(--brand);margin-bottom:.75rem}
.pd-content>p{font-size:.9375rem;line-height:1.7;color:var(--text-secondary)}
.pd-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}
.pd-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .85rem;background:var(--white);border:1px solid var(--gray-200);border-radius:100px;font-size:.75rem;font-weight:500;color:var(--gray-700)}
.pd-tag i{color:var(--brand);font-size:.65rem}

/* Spec Table */
.spec-tbl{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.8125rem}
.spec-tbl th{background:var(--brand);color:#fff;padding:.6rem .75rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}
.spec-tbl td{padding:.6rem .75rem;border-bottom:1px solid var(--gray-200);color:var(--gray-700)}
.spec-tbl tr:nth-child(even) td{background:var(--gray-50)}
.spec-tbl tr:hover td{background:var(--gray-100)}

/* Features list */
.feat-list{margin:1rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem .75rem}
.feat-list li{display:flex;align-items:flex-start;gap:.4rem;font-size:.8125rem;color:var(--text-secondary)}
.feat-list li i{color:var(--brand);margin-top:3px;font-size:.7rem}

/* ---------- ABOUT ---------- */
.about-intro{padding:5rem 0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.about-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.about-img img{width:100%;height:400px;object-fit:cover}

.values{padding:4.5rem 0;background:var(--bg-light)}
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.val-card{background:var(--white);padding:2.25rem 1.75rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-xs);transition:var(--transition)}
.val-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.val-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--brand),var(--brand-light));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff;font-size:1.5rem}
.val-card h3{font-size:1.0625rem;margin-bottom:.5rem}
.val-card p{font-size:.875rem;color:var(--text-secondary);margin-bottom:0}

.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}

/* ---------- CONTACT ---------- */
.contact-sec{padding:4.5rem 0}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem}
.c-info-card{background:var(--bg-light);padding:1.5rem;border-radius:var(--radius);margin-bottom:1rem;display:flex;gap:.875rem;align-items:flex-start;transition:var(--transition)}
.c-info-card:hover{box-shadow:var(--shadow-xs)}
.c-info-icon{width:42px;height:42px;background:var(--brand);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:1rem}
.c-info-text h4{font-size:.9375rem;margin-bottom:.15rem;font-weight:600}
.c-info-text p{font-size:.8125rem;color:var(--text-secondary);margin-bottom:0}
.c-info-text a{color:var(--brand);font-weight:500}
.c-info-text a:hover{color:var(--brand-dark)}

.c-form{background:var(--white);padding:2.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.c-form h3{font-size:1.25rem;margin-bottom:1.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--gray-700);margin-bottom:.3rem}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.875rem;font-family:inherit;transition:border-color var(--transition);background:var(--white)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,96,122,.08)}
.form-group textarea{min-height:110px;resize:vertical}
.btn-submit{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand);color:#fff;padding:.75rem 2rem;border:none;border-radius:var(--radius);font-size:.9375rem;font-weight:600;transition:background var(--transition)}
.btn-submit:hover{background:var(--brand-dark)}

.map-sec{height:380px;background:var(--gray-100)}
.map-sec iframe{width:100%;height:100%;border:none}

/* Social row */
.social-row{display:flex;gap:.6rem;margin-top:1rem}
.social-row a{width:38px;height:38px;border:1px solid var(--gray-300);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-600);font-size:.9rem;transition:var(--transition)}
.social-row a:hover{background:var(--brand);border-color:var(--brand);color:#fff}

/* ---------- FOOTER ---------- */
.footer{background:var(--bg-dark);color:rgba(255,255,255,.7);padding:3.5rem 0 0}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:2.5rem;padding-bottom:2.5rem}
.ft-brand p{font-size:.8125rem;line-height:1.6;color:rgba(255,255,255,.5);margin-bottom:1rem}
.ft-brand .logo img,.ft-brand .logo svg{height:32px;margin-bottom:.75rem}
.ft-social{display:flex;gap:.5rem}
.ft-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:.85rem;transition:var(--transition)}
.ft-social a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.footer h4{color:#fff;font-size:.9375rem;font-weight:600;margin-bottom:1rem}
.ft-links a{display:block;padding:.25rem 0;color:rgba(255,255,255,.5);font-size:.8125rem;transition:var(--transition)}
.ft-links a:hover{color:#fff;padding-left:3px}
.ft-contact{display:flex;gap:.6rem;margin-bottom:.75rem;font-size:.8125rem;color:rgba(255,255,255,.5)}
.ft-contact i{color:var(--brand-accent);margin-top:3px;width:16px;text-align:center}
.ft-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.25rem 0;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:rgba(255,255,255,.35)}
.ft-bottom-links{display:flex;gap:1.5rem}
.ft-bottom-links a{color:rgba(255,255,255,.35)}
.ft-bottom-links a:hover{color:#fff}

/* ---------- SCROLL TO TOP ---------- */
.to-top{position:fixed;bottom:1.5rem;right:1.5rem;width:44px;height:44px;background:var(--brand);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:999;opacity:0;visibility:hidden;transition:var(--transition);box-shadow:var(--shadow-sm);font-size:1rem}
.to-top.show{opacity:1;visibility:visible}
.to-top:hover{background:var(--brand-dark);transform:translateY(-2px)}

/* ---------- NOTIFICATION ---------- */
.notif{position:fixed;top:1.25rem;right:1.25rem;max-width:380px;padding:.875rem 1.25rem;border-radius:var(--radius);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.75rem;font-size:.8125rem;z-index:1100;animation:slideIn .3s ease}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
.notif-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.notif-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}
.notif-close{background:none;border:none;color:inherit;font-size:1.1rem;opacity:.5;margin-left:auto}
.notif-close:hover{opacity:1}

/* ---------- PRODUCTS PAGE CATEGORY SECTIONS ---------- */
.cat-section{padding:3rem 0 1rem}
.cat-section:first-of-type{padding-top:0}
.cat-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem}
.cat-header h3{font-size:1.25rem;font-weight:800;color:var(--gray-900);white-space:nowrap;letter-spacing:.3px}
.cat-header::after{content:'';flex:1;height:1px;background:var(--gray-300)}
.cat-header .cat-count{font-size:.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap}

/* Product card small variant for sub-products */
.p-card-sm{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-xs);transition:transform var(--transition),box-shadow var(--transition)}
.p-card-sm:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.p-card-sm .p-card-img{height:200px}

/* ---------- MEGA MENU REDESIGN ---------- */
.dd-cats{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:1.5rem 2rem}
.dd-cat-group h5{font-size:.6875rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand);margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--gray-200)}
.dd-cat-group a{display:block;padding:.3rem 0;font-size:.8125rem;color:var(--gray-700);transition:all .15s ease}
.dd-cat-group a:hover{color:var(--brand);padding-left:4px}

/* ---------- FRP DESIGNER SECTION ---------- */
.software-sec{padding:4rem 0;background:var(--white)}
.sw-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.sw-content h2{font-size:1.5rem;color:var(--gray-900);margin-bottom:.75rem}
.sw-content p{font-size:.9375rem;line-height:1.7;color:var(--text-secondary)}
.sw-features{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin:1.25rem 0}
.sw-feat{display:flex;align-items:flex-start;gap:.4rem;font-size:.8125rem;color:var(--text-secondary)}
.sw-feat i{color:var(--brand);margin-top:3px;font-size:.7rem}
.sw-cta{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}
.sw-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);background:var(--gray-100)}
.sw-img img{width:100%;height:auto}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
  .ft-grid{grid-template-columns:1fr 1fr}
  .p-grid,.sol-grid,.val-grid,.cap-grid,.trust-grid,.dl-grid{grid-template-columns:repeat(2,1fr)}
  .pd-grid,.pd-grid.reverse{grid-template-columns:1fr}
  .pd-grid.reverse .pd-img{order:0}
  .pd-grid.reverse .pd-gallery{order:0}
  .pd-gallery.cols-3{grid-template-columns:1fr 1fr}
  .stats-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  :root{--header-h:60px}
  .hero{min-height:420px}
  .hero-card{padding:1.5rem 1.75rem}
  .hero-card h1{font-size:1.5rem}
  .intro-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}
  .p-grid,.sol-grid,.val-grid,.cap-grid,.dl-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .stats-row{grid-template-columns:1fr 1fr}
  .ft-grid{grid-template-columns:1fr}
  .ft-bottom{flex-direction:column;gap:.75rem;text-align:center}
  .pg-hero{height:220px}
  .pg-hero-body{padding:0 1.25rem 2rem}
  .pg-hero-body h1{font-size:1.375rem}
  .pg-hero-body::before{width:28px;margin-bottom:.6rem}
  .pg-hero-body .pg-hero-sub{font-size:.8125rem}
  .sec-title{font-size:1.5rem}
  .sec-line h2{font-size:1.375rem}
  .form-row{grid-template-columns:1fr}
  .feat-list{grid-template-columns:1fr}
  .cta-btns{flex-direction:column;align-items:center}
}
@media(max-width:480px){
  .trust-grid,.stats-row{grid-template-columns:1fr}
}

/* ==========================================================
   MODERN ANIMATIONS & MICRO-INTERACTIONS
   ========================================================== */

/* ---------- Scroll Reveal Animations ---------- */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.from-left{transform:translateX(-40px)}
.reveal.from-right{transform:translateX(40px)}
.reveal.from-scale{transform:scale(.92);transform-origin:center}
.reveal.visible{opacity:1;transform:none}

/* Stagger children */
.stagger .reveal:nth-child(1){transition-delay:.05s}
.stagger .reveal:nth-child(2){transition-delay:.12s}
.stagger .reveal:nth-child(3){transition-delay:.19s}
.stagger .reveal:nth-child(4){transition-delay:.26s}
.stagger .reveal:nth-child(5){transition-delay:.33s}
.stagger .reveal:nth-child(6){transition-delay:.4s}

/* ---------- Enhanced Card Hovers ---------- */
.p-card{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}
.p-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.1)}
.p-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--brand);transform:scaleX(0);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.p-card:hover::after{transform:scaleX(1)}
.p-card{position:relative;overflow:hidden}

.sol-card{transition:all .35s cubic-bezier(.16,1,.3,1)}
.sol-card:hover{border-left-color:var(--brand);background:var(--white);box-shadow:0 12px 32px rgba(0,0,0,.08);transform:translateY(-4px)}
.sol-card .sol-icon{transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s ease}
.sol-card:hover .sol-icon{transform:scale(1.1) rotate(-5deg)}

.val-card{transition:all .35s cubic-bezier(.16,1,.3,1)}
.val-card:hover{box-shadow:0 16px 40px rgba(0,0,0,.1);transform:translateY(-6px)}
.val-card .val-icon{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.val-card:hover .val-icon{transform:scale(1.08) rotate(5deg)}

/* ---------- Button Shine Effect ---------- */
.btn-primary,.hdr-cta{position:relative;overflow:hidden}
.btn-primary::before,.hdr-cta::before{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-25deg);transition:none}
.btn-primary:hover::before,.hdr-cta:hover::before{animation:btnShine .6s ease}
@keyframes btnShine{to{left:125%}}

/* ---------- CTA Pulse ---------- */
.cta-banner .btn-white{animation:ctaPulse 2.5s ease-in-out infinite}
@keyframes ctaPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.4)}50%{box-shadow:0 0 0 8px rgba(255,255,255,0)}}

/* ---------- Hero Carousel Progress Bar ---------- */
.hero-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--brand);z-index:4;animation:heroProgress 5s linear infinite}
@keyframes heroProgress{from{width:0}to{width:100%}}

/* ---------- Stats Counter Animation ---------- */
.stat-num{display:inline-block;transition:transform .3s ease}

/* ---------- Image Reveal ---------- */
.img-reveal{overflow:hidden;position:relative}
.img-reveal img{transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .6s ease}
.img-reveal.reveal:not(.visible) img{transform:scale(1.08);opacity:0}
.img-reveal.visible img{transform:scale(1);opacity:1}

/* ---------- Section Heading Animation ---------- */
.sec-line{overflow:hidden}
.sec-line::after{transition:transform .8s cubic-bezier(.16,1,.3,1) .3s}
.sec-line.reveal:not(.visible)::after{transform:scaleX(0);transform-origin:left}
.sec-line.visible::after{transform:scaleX(1)}

/* ---------- Trust Icons Float ---------- */
.trust-icon{transition:transform .35s ease}
.trust-grid>div:hover .trust-icon{transform:translateY(-4px)}

/* ---------- Footer Link Underline ---------- */
.ft-links a{position:relative}
.ft-links a::after{content:'';position:absolute;bottom:2px;left:0;width:0;height:1px;background:rgba(255,255,255,.5);transition:width .3s ease}
.ft-links a:hover::after{width:100%}

/* ---------- Smooth Scroll Indicator ---------- */
@keyframes scrollHint{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ---------- Enhanced Mobile Nav ---------- */
@media(max-width:900px){
  .nav{transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease}
  .nav a{transform:translateX(-20px);opacity:0;transition:transform .3s ease,opacity .3s ease,color .25s ease}
  .nav.open a{transform:translateX(0);opacity:1}
  .nav.open a:nth-child(1){transition-delay:.05s}
  .nav.open a:nth-child(2){transition-delay:.1s}
  .nav.open a:nth-child(3){transition-delay:.15s}
  .nav.open a:nth-child(4){transition-delay:.2s}
  .nav.open a:nth-child(5){transition-delay:.25s}
}

/* ---------- Loading Skeleton ---------- */
.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:skeleton 1.5s ease infinite}
@keyframes skeleton{to{background-position:-200% 0}}

/* ---------- Focus Visible ---------- */
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}

/* ---------- Reduced Motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- Language Switcher ---------- */
.lang-switcher{position:relative;margin-left:.5rem}
.lang-btn{display:flex;align-items:center;gap:.35rem;background:transparent;border:1.5px solid var(--gray-300);border-radius:6px;padding:.4rem .6rem;cursor:pointer;color:var(--text);font-size:.82rem;transition:all .2s ease}
.lang-btn:hover{border-color:var(--brand);background:rgba(196,30,30,.04)}
.lang-btn.open{border-color:var(--brand)}
.lang-current{display:flex;align-items:center;gap:.3rem;font-weight:500}
.lang-current span{font-size:.78rem;letter-spacing:.5px}
.lang-arrow{font-size:.55rem;color:var(--gray-500);transition:transform .2s}
.lang-btn.open .lang-arrow{transform:rotate(180deg)}
.lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--white);border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.12);padding:.4rem;min-width:180px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s cubic-bezier(.16,1,.3,1);z-index:9999;max-height:400px;overflow-y:auto}
.lang-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}
.lang-option{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .7rem;border:none;background:transparent;cursor:pointer;border-radius:6px;font-size:.85rem;color:var(--text);transition:background .15s}
.lang-option:hover{background:var(--gray-50)}
.lang-option.active{background:rgba(196,30,30,.06);color:var(--brand);font-weight:600}
.lang-flag{font-size:1.15rem;line-height:1}
.lang-name{white-space:nowrap}

/* ---------- Search Overlay ---------- */
.search-toggle{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--gray-600);font-size:.875rem;font-weight:500;cursor:pointer;padding:0;font-family:inherit;transition:color .2s}
.search-toggle:hover{color:var(--brand)}
.search-toggle i{font-size:.85rem}

.search-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s ease;backdrop-filter:blur(4px)}
.search-overlay.open{opacity:1;visibility:visible}
.search-box{position:absolute;top:0;left:0;right:0;background:var(--white);padding:1.5rem 0;box-shadow:0 8px 32px rgba(0,0,0,.15);transform:translateY(-100%);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.search-overlay.open .search-box{transform:translateY(0)}
.search-inner{max-width:var(--max-w);margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:1rem}
.search-input{flex:1;border:none;outline:none;font-size:1.25rem;font-family:inherit;color:var(--text);background:transparent;padding:.5rem 0}
.search-input::placeholder{color:var(--gray-400)}
.search-close{background:none;border:none;color:var(--gray-500);font-size:1.25rem;cursor:pointer;padding:.5rem;transition:color .2s}
.search-close:hover{color:var(--brand)}
.search-results{max-width:var(--max-w);margin:0 auto;padding:0 2rem;max-height:60vh;overflow-y:auto}
.search-result{display:block;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-100);transition:background .15s;text-decoration:none;color:inherit}
.search-result:hover{background:var(--gray-50)}
.search-result h4{font-size:.9375rem;font-weight:600;color:var(--gray-900);margin-bottom:.2rem}
.search-result p{font-size:.8125rem;color:var(--text-secondary);margin:0;line-height:1.5}
.search-result .search-cat{font-size:.6875rem;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:1px}
.search-no-results{padding:2rem 1.25rem;text-align:center;color:var(--text-muted);font-size:.9375rem}
.search-hint{padding:.75rem 1.25rem;font-size:.8125rem;color:var(--text-muted);border-bottom:1px solid var(--gray-100)}

/* Mobile language + search */
@media(max-width:900px){
  .lang-switcher{margin-left:auto;margin-right:.5rem}
  .lang-dropdown{right:-1rem;min-width:160px}
  .lang-btn{padding:.35rem .5rem}
  .search-input{font-size:1rem}
  .search-inner{padding:0 1.25rem}
  .search-results{padding:0 1.25rem}
}

/* RTL support for Arabic */
[dir="rtl"] .nav{margin-left:0;margin-right:1.1rem}
[dir="rtl"] .logo{margin-left:0;margin-right:4rem}
[dir="rtl"] .nav>a:first-child,[dir="rtl"] .nav>.nav-item:first-child>a{padding-left:1.35rem;padding-right:0}
[dir="rtl"] .dd-cat-group a:hover{padding-left:0;padding-right:4px}
[dir="rtl"] .ft-links a:hover{padding-left:0;padding-right:3px}
