/* ============ COMPANY PAGE STYLES ============ */

body{ overflow-x:hidden; }
.co-page-main{ overflow:hidden; }

/* ============ COMPANY HERO ============ */
.co-hero{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:100vh; min-height:100svh;
  display:flex; align-items:center; padding:140px 0 110px;
}
.co-hero-bg{ position:absolute; inset:0; z-index:-5; transition:background 1.2s ease; }
.co-hero-bg::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 88% 12%, rgba(var(--accent-rgb),0.2), transparent 60%),
    radial-gradient(ellipse 60% 55% at 8% 88%, rgba(255,255,255,0.1), transparent 60%),
    linear-gradient(160deg, rgba(5,14,26,0.86), rgba(9,30,52,0.92));
}
.co-hero-video{
  position:absolute; inset:0; z-index:-4;
  width:100%; height:100%; object-fit:cover;
  opacity:.85; filter:saturate(1.05) brightness(.95);
}
.co-hero-video-shade{
  position:absolute; inset:0; z-index:-3; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(var(--accent-deep-rgb),0.78) 0%, rgba(var(--accent-deep-rgb),0.4) 45%, rgba(var(--accent-deep-rgb),0.55) 100%),
    linear-gradient(0deg, rgba(var(--accent-deep-rgb),0.6) 0%, rgba(var(--accent-deep-rgb),0.05) 42%),
    linear-gradient(180deg, rgba(3,9,18,0.34), rgba(3,9,18,0.34));
}
[dir="rtl"] .co-hero-video-shade{
  background:
    linear-gradient(-90deg, rgba(var(--accent-deep-rgb),0.78) 0%, rgba(var(--accent-deep-rgb),0.4) 45%, rgba(var(--accent-deep-rgb),0.55) 100%),
    linear-gradient(0deg, rgba(var(--accent-deep-rgb),0.6) 0%, rgba(var(--accent-deep-rgb),0.05) 42%),
    linear-gradient(180deg, rgba(3,9,18,0.34), rgba(3,9,18,0.34));
}
.co-hero-gridlines{
  position:absolute; inset:0; z-index:-1; opacity:.5; pointer-events:none;
  background-image:
    linear-gradient(rgba(var(--accent-rgb),0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--accent-rgb),0.08) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 45%, #000 20%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 45%, #000 20%, transparent 75%);
}
.co-hero-orbs{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.co-orb{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; animation:coOrbFloat 16s ease-in-out infinite alternate; }
.co-orb.one{ width:430px; height:430px; left:-110px; top:-80px; background:rgba(var(--accent-rgb),0.38); }
.co-orb.two{ width:360px; height:360px; right:4%; bottom:-90px; background:rgba(var(--accent-deep-rgb),0.42); animation-delay:-5s; }
.co-orb.three{ width:220px; height:220px; right:30%; top:12%; background:rgba(255,255,255,0.16); animation-delay:-9s; }
@keyframes coOrbFloat{ from{ transform:translate(0,0) scale(1);} to{ transform:translate(30px,-34px) scale(1.14);} }

.co-hero-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; }
.co-hero-copy{ position:relative; z-index:2; max-width:640px; }
.co-hero-title{
  font-size:clamp(42px,6.5vw,78px); font-weight:800; line-height:1.04; color:#FFFFFF;
  font-family:var(--font-display); letter-spacing:-0.5px; margin-bottom:20px;
}
.co-hero-title .cw{ display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:0.16em; margin-bottom:-0.16em; }
.co-hero-title .cw > span{ display:inline-block; will-change:transform; }
.co-hero-tag{
  display:inline-flex; align-items:center; gap:9px; margin-bottom:18px;
  font-size:13px; font-weight:700; color:var(--cyan-bright);
  background:rgba(var(--accent-rgb),0.08); border:1px solid rgba(var(--accent-rgb),0.32);
  border-radius:999px; padding:7px 16px;
}
.tag-dot{ width:8px; height:8px; border-radius:50%; background:var(--cyan-bright); box-shadow:0 0 12px var(--cyan-bright); animation:coPulse 2s infinite; }
@keyframes coPulse{ 0%,100%{ opacity:1; transform:scale(1);} 50%{ opacity:.45; transform:scale(.7);} }
.co-hero-desc{ font-size:16.5px; line-height:1.75; color:rgba(235,244,250,0.82); margin-bottom:28px; }
.co-hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:38px; }
.co-hero-ctas .btn-primary{ background:linear-gradient(135deg, var(--cyan), var(--cyan-bright)); color:var(--on-accent,#04121F); font-weight:800; box-shadow:0 14px 34px -10px rgba(var(--accent-rgb),0.45); }
.co-hero-ctas .btn-ghost{ background:rgba(255,255,255,0.06); color:#FFFFFF; border:1.5px solid rgba(255,255,255,0.24); box-shadow:none; }
.co-hero-ctas .btn-ghost:hover{ border-color:var(--cyan-bright); color:var(--cyan-bright); }

/* ---- Hero visual: layered brand showcase ---- */
.co-hero-visual{ position:relative; z-index:2; height:520px; display:flex; align-items:center; justify-content:center; }
.co-hero-visual::before{
  content:""; position:absolute; inset:auto 6% -6% 6%; height:40%;
  background:radial-gradient(ellipse at center, rgba(var(--accent-rgb),0.28), transparent 70%);
  filter:blur(32px); z-index:-1;
}
.co-logo-card{
  position:relative; width:min(420px, 100%); padding:34px;
  border-radius:40px; background:#FFFFFF;
  border:1px solid rgba(255,255,255,0.25);
  box-shadow:0 50px 110px -30px rgba(0,0,0,0.75), 0 0 90px -24px rgba(var(--accent-rgb),0.5);
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:4/3;
}
.co-logo-wrap{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.co-logo-wrap .co-logo-img{
  max-width:92%; max-height:82%; width:auto; height:auto;
  object-fit:contain; object-position:center; display:block;
  transform-origin:center;
}
.co-logo-wrap .co-mark{
  font-size:40px; font-weight:800; color:#FFFFFF;
  width:76%; height:72%; border-radius:22px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); box-shadow:0 18px 40px -10px rgba(0,0,0,0.35);
}
.co-shine{
  position:absolute; inset:0; border-radius:40px; overflow:hidden; pointer-events:none;
}
.co-shine::after{
  content:""; position:absolute; top:-80%; left:-60%; width:55%; height:260%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,0.35), transparent);
  transform:rotate(15deg); animation:coShine 6s ease-in-out infinite;
}
@keyframes coShine{ 0%,55%{ left:-60%;} 85%,100%{ left:130%;} }

.co-hero-caption{
  position:absolute; bottom:8px; left:50%; transform:translateX(-50%);
  font-size:11.5px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  color:rgba(255,255,255,0.85); white-space:nowrap; text-align:center;
}
.co-hero-caption::before, .co-hero-caption::after{
  content:""; vertical-align:middle; display:inline-block; width:34px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb),0.7)); margin:0 12px;
}
.co-hero-caption::after{ background:linear-gradient(-90deg, transparent, rgba(var(--accent-rgb),0.7)); }

.co-hero-ring{
  position:absolute; inset:auto; width:520px; height:520px; border-radius:50%;
  border:1.5px dashed rgba(var(--accent-rgb),0.28); animation:coSpin 40s linear infinite; pointer-events:none;
}
@keyframes coSpin{ to{ transform:rotate(360deg);} }

@media (max-width:920px){
  .co-hero{ padding-top:120px; }
  .co-hero-grid{ grid-template-columns:1fr; gap:48px; }
  .co-hero-visual{ height:440px; margin-top:6px; }
}
@media (max-width:430px){
  .co-hero-ring{ width:400px; height:400px; }
}

/* ---- Credential strip ---- */
.co-cred-strip{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:var(--card-bg); overflow:hidden; padding:20px 0;
}
.co-cred-track{ display:flex; gap:64px; width:max-content; animation:coMarquee 34s linear infinite; }
.co-cred-item{ display:inline-flex; align-items:center; gap:12px; font-size:14px; font-weight:700; color:var(--ink-soft); white-space:nowrap; }
[data-theme="deep"] .co-cred-item{ color:rgba(235,244,250,0.7); }
.co-cred-item svg{ width:20px; height:20px; color:var(--cyan-deep); flex:none; }
[data-theme="deep"] .co-cred-item svg{ color:var(--cyan-bright); }
@keyframes coMarquee{ to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .co-cred-track{ animation:none; } }

/* ============ GENERIC SECTION ============ */
.co-section{ position:relative; }
.co-section-alt{ background:var(--industries-bg); }

/* ============ PROFILE ============ */
.co-profile-grid{ display:grid; grid-template-columns:0.95fr 1.05fr; gap:60px; align-items:stretch; }
.co-profile-card{
  position:relative; border-radius:36px; overflow:hidden; min-height:480px;
  display:flex; align-items:flex-end; padding:36px; isolation:isolate;
  border:1px solid rgba(var(--accent-rgb),0.28); box-shadow:var(--shadow-soft);
}
.co-profile-media{ position:absolute; inset:0; z-index:0; background:var(--card-bg); transition:background 1s ease; }
.co-profile-card::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(6,16,30,0.06) 30%, rgba(6,16,30,0.55) 62%, rgba(6,16,30,0.88) 100%); }
.co-profile-plate{
  position:absolute; top:30%; left:50%; transform:translate(-50%,-50%);
  z-index:2; width:64%; max-width:340px; aspect-ratio:21/9;
  background:#FFFFFF; border-radius:18px; padding:14px 22px; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 26px 60px -18px rgba(0,0,0,0.55), 0 0 50px -18px rgba(var(--accent-rgb),0.3);
}
.co-profile-plate img{
  width:100%; height:100%; object-fit:contain; display:block; transform-origin:center;
}
.co-profile-plate .co-mark{
  width:100%; height:100%; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  color:#FFFFFF; font-size:30px; font-weight:800; font-family:var(--font-display);
}
.co-profile-content{ position:relative; z-index:3; margin-top:auto; padding-top:96px; display:flex; gap:12px; width:100%; }
.co-card-stat{
  flex:1; text-align:center; padding:16px 10px; border-radius:18px;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  transition:transform .3s var(--ease), background .3s ease;
}
.co-card-stat:hover{ transform:translateY(-3px); background:rgba(255,255,255,0.13); }
.co-card-stat b{ display:block; font-size:24px; font-weight:800; color:#FFFFFF; font-family:var(--font-display); }
.co-card-stat span{ display:block; margin-top:4px; font-size:11px; font-weight:600; letter-spacing:.4px; color:rgba(235,244,250,0.82); }
@media (max-width:560px){
  .co-card-stat{ padding:12px 6px; }
  .co-card-stat b{ font-size:19px; }
  .co-card-stat span{ font-size:9.5px; }
}

.co-hl-list{ display:flex; flex-direction:column; gap:16px; margin-top:30px; }
.co-hl-item{ display:flex; gap:16px; align-items:flex-start; padding:18px; border-radius:18px; background:var(--card-bg); border:1px solid var(--line); transition:all .35s var(--ease); }
.co-hl-item:hover{ transform:translateX(6px); border-color:rgba(var(--accent-rgb),0.4); box-shadow:var(--shadow-tight); }
[dir="rtl"] .co-hl-item:hover{ transform:translateX(-6px); }
.co-hl-icon{
  width:50px; height:50px; flex:none; border-radius:15px;
  background:linear-gradient(135deg, rgba(var(--accent-deep-rgb),0.12), rgba(var(--accent-rgb),0.2));
  border:1px solid rgba(var(--accent-rgb),0.3);
  display:flex; align-items:center; justify-content:center;
}
[data-theme="deep"] .co-hl-icon{ background:rgba(var(--accent-rgb),0.1); border-color:rgba(var(--accent-rgb),0.32); }
.co-hl-icon svg{ width:24px; height:24px; color:var(--cyan-deep); }
[data-theme="deep"] .co-hl-icon svg{ color:var(--cyan-bright); }
.co-hl-item h4{ font-size:16px; font-weight:800; color:var(--ink); margin-bottom:4px; }
.co-hl-item p{ font-size:13.5px; line-height:1.6; color:var(--ink-soft); margin:0; }
[data-theme="deep"] .co-hl-item h4{ color:#FFFFFF; }
[data-theme="deep"] .co-hl-item p{ color:rgba(235,244,250,0.72); }
@media (max-width:920px){ .co-profile-grid{ grid-template-columns:1fr; gap:40px; } }
@media (max-width:560px){
  .co-profile-card{ min-height:420px; padding:26px; }
  .co-profile-plate{ width:72%; }
  .co-profile-content{ padding-top:70px; }
}

/* ============ SECTORS ============ */
.co-sector-grid{ margin-top:10px; }

/* ============ PRODUCTS ============ */
.co-products-wrap .product-catalog-grid{ grid-template-columns:repeat(2,1fr); margin-top:10px; }
@media (min-width:920px){ .co-products-wrap .product-catalog-grid{ grid-template-columns:repeat(4,1fr); } }

/* ============ CTA ============ */
.co-cta{
  position:relative; isolation:isolate; overflow:hidden;
  background:linear-gradient(135deg, var(--cyan-deep) 0%, var(--navy-deep) 100%); padding:100px 0;
}
.co-cta::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(ellipse 60% 70% at 82% 18%, rgba(var(--accent-rgb),0.32), transparent 65%),
    radial-gradient(ellipse 50% 60% at 8% 100%, rgba(var(--accent-rgb),0.18), transparent 60%);
}
.co-cta::after{
  content:""; position:absolute; z-index:-1; width:420px; height:420px; border-radius:50%;
  right:-120px; bottom:-160px; background:rgba(var(--accent-rgb),0.28); filter:blur(80px);
}
.co-cta-inner{ max-width:760px; }
.co-cta-inner h2{ font-size:clamp(28px,4vw,46px); font-weight:800; color:#FFFFFF; font-family:var(--font-display); line-height:1.2; margin-bottom:16px; }
.co-cta-inner p{ font-size:15.5px; line-height:1.7; color:rgba(235,244,250,0.8); margin-bottom:32px; max-width:560px; }
.co-cta-inner .btn-primary{ background:linear-gradient(135deg, var(--cyan), var(--cyan-bright)); color:var(--on-accent,#04121F); font-weight:800; }

/* ============ PER-COMPANY ACCENT OVERRIDES (shared cards) ============ */
.co-page-main .catalog-card{ border-color:rgba(var(--accent-deep-rgb),0.18); }
.co-page-main .catalog-card:hover{ border-color:rgba(var(--accent-rgb),0.45); box-shadow:0 30px 60px -15px rgba(var(--accent-deep-rgb),0.22); }
[data-theme="deep"] .co-page-main .catalog-card{ border-color:rgba(var(--accent-rgb),0.2); }
[data-theme="deep"] .co-page-main .catalog-card:hover{ border-color:rgba(var(--accent-rgb),0.45); box-shadow:0 25px 60px -15px rgba(var(--accent-rgb),0.25); }
.co-page-main .catalog-card-company-tag{ border-color:rgba(var(--accent-deep-rgb),0.2); }
[data-theme="deep"] .co-page-main .catalog-card-company-tag{ border-color:rgba(var(--accent-rgb),0.3); }
.co-page-main .catalog-card-badge-tag{ box-shadow:0 4px 12px rgba(var(--accent-deep-rgb),0.35); }
.co-page-main .industry-card:hover{ border-color:rgba(var(--accent-rgb),0.45); box-shadow:0 24px 50px -12px rgba(var(--accent-deep-rgb),0.18); }
[data-theme="deep"] .co-page-main .industry-card:hover{ border-color:rgba(var(--accent-rgb),0.45); box-shadow:0 24px 50px -12px rgba(var(--accent-rgb),0.22); }

/* Buttons & badges: keep the company accent readable */
.co-page-main .btn-primary,
#navbar .nav-cta{ background:linear-gradient(135deg, var(--cyan), var(--cyan-bright)); color:var(--on-accent,#04121F); }
.co-page-main .btn-primary:hover{ box-shadow:0 20px 40px -10px rgba(var(--accent-rgb),0.45); }
.co-page-main .catalog-card-badge-tag{ background:linear-gradient(135deg, var(--cyan), var(--cyan-bright)); color:var(--on-accent,#04121F); }

/* Contrast polish on the video hero */
.co-hero-desc{ color:rgba(238,246,252,0.92); }