/* ==========================================================================
   ENTERPRISE AI SOLUTIONS — page-specific design system.
   "Blueprint" visual language: technical grid hero with a layered
   architecture diagram, warning-style barrier cards, a stacked building-
   block service diagram, framework feature cards, KPI dashboard, industry
   tag cloud, platform badges, and case-study cards. Distinct from every
   other AI page template on this site (ai-hero, bento/timeline, dashboard,
   scan-line, console, network-graph). Loaded after styles.css/glass-
   effects.css — scoped to this page only.
   ========================================================================== */

:root {
  --ent-ink: #0c0c0e;
  --ent-accent: #FA9800;
  --ent-navy: #0a0d12;
  --ent-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---------- Hero: blueprint grid + layered architecture diagram ---------- */
.ent-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 150px 40px 80px;
  background: var(--ent-navy);
}
.ent-hero__grid {
  position: absolute; inset: 0; z-index: 0;
  background-image:
    linear-gradient(rgba(250,152,0,0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(250,152,0,0.09) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.15) 85%);
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.15) 85%);
}
.ent-hero__glow { position: absolute; z-index: 0; border-radius: 50%; filter: blur(110px); pointer-events: none; }
.ent-hero__glow--1 { width: 500px; height: 500px; top: -16%; right: -8%; background: rgba(250,152,0,0.18); }
.ent-hero__glow--2 { width: 380px; height: 380px; bottom: -16%; left: -4%; background: rgba(255,255,255,0.04); }
.ent-hero__inner { position: relative; z-index: 1; max-width: var(--max-width); margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
.ent-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 9px; margin: 0 0 22px;
  padding: 7px 15px 7px 12px; border: 1px solid rgba(255,255,255,0.16); border-radius: 999px;
  background: rgba(255,255,255,0.05); font-size: 11.5px; font-weight: 700; letter-spacing: 2.2px; text-transform: uppercase; color: rgba(255,255,255,0.78);
}
.ent-hero__eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ent-accent); box-shadow: 0 0 9px 2px rgba(250,152,0,0.75); }
.ent-hero__title { margin: 0 0 22px; font-size: 54px; line-height: 1.06; font-weight: 800; letter-spacing: -2px; color: #fff; }
.ent-hero__title span { color: var(--ent-accent); }
.ent-hero__desc { margin: 0 0 16px; font-size: 15.5px; line-height: 1.75; color: rgba(255,255,255,0.62); max-width: 540px; }
.ent-hero__cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 28px; }
.ent-hero__facts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.ent-hero__fact { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.04); font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,0.72); }

/* Layered architecture diagram */
.ent-diagram { position: relative; display: flex; flex-direction: column; gap: 10px; }
.ent-diagram__layer {
  display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-radius: 12px;
  background: rgba(255,255,255,0.045); border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(10px); transition: transform 0.3s var(--ent-ease), border-color 0.3s var(--ent-ease), background 0.3s var(--ent-ease);
}
.ent-diagram__layer:hover { transform: translateX(6px); border-color: rgba(250,152,0,0.5); background: rgba(255,255,255,0.08); }
.ent-diagram__layer:nth-child(1) { margin-right: 0; }
.ent-diagram__layer:nth-child(2) { margin-left: 18px; }
.ent-diagram__layer:nth-child(3) { margin-left: 36px; }
.ent-diagram__layer:nth-child(4) { margin-left: 54px; }
.ent-diagram__layer:nth-child(5) { margin-left: 36px; }
.ent-diagram__layer:nth-child(6) { margin-left: 18px; }
.ent-diagram__num { flex: none; width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: rgba(250,152,0,0.16); color: var(--ent-accent); font-size: 12px; font-weight: 800; }
.ent-diagram__label { font-size: 13.5px; font-weight: 700; color: #fff; }
@media (max-width: 1000px) {
  .ent-hero__inner { grid-template-columns: 1fr; }
  .ent-hero__title { font-size: 38px; letter-spacing: -1.2px; }
  .ent-diagram__layer:nth-child(n) { margin-left: 0; }
}
@media (max-width: 900px) { .ent-hero { padding: 130px 20px 60px; min-height: auto; } }

/* ---------- Statement ---------- */
.ent-statement { padding: 90px 40px; background: #fff; text-align: center; }
.ent-statement__inner { max-width: 800px; margin: 0 auto; }
.ent-statement p.kicker { display: inline-flex; align-items: center; gap: 8px; justify-content: center; width: 100%; margin: 0 0 16px; font-size: 11.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ent-accent); }
.ent-statement h2 { margin: 0 0 18px; font-size: 32px; line-height: 1.3; font-weight: 800; letter-spacing: -1px; color: var(--ent-ink); }
.ent-statement p.body { margin: 0; font-size: 15.5px; line-height: 1.75; color: var(--gray-600); }

/* ---------- Value props: 3-card row ---------- */
.ent-values { padding: 0 40px 100px; max-width: var(--max-width); margin: 0 auto; }
.ent-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ent-value { padding: 32px 28px; border-radius: 18px; border: 1px solid var(--line); transition: transform 0.3s var(--ent-ease), box-shadow 0.3s var(--ent-ease); }
.ent-value:hover { transform: translateY(-5px); box-shadow: 0 24px 48px -28px rgba(12,12,14,0.28); }
.ent-value__icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 13px; margin-bottom: 18px; background: linear-gradient(155deg, rgba(250,152,0,0.18), rgba(250,152,0,0.05)); color: var(--ent-accent); }
.ent-value h3 { margin: 0 0 10px; font-size: 18px; font-weight: 700; color: var(--ent-ink); }
.ent-value p { margin: 0; font-size: 14.3px; line-height: 1.7; color: var(--gray-600); }
@media (max-width: 900px) { .ent-values__grid { grid-template-columns: 1fr; } }

/* ---------- Barriers: warning-style cards ---------- */
.ent-barriers { padding: 90px 40px; background: var(--gray-50); }
.ent-barriers__head { max-width: 640px; margin: 0 auto 44px; text-align: center; }
.ent-barriers__head p.kicker { display: inline-flex; align-items: center; gap: 8px; justify-content: center; width: 100%; margin: 0 0 14px; font-size: 11.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #c2410c; }
.ent-barriers__head h2 { margin: 0 0 12px; font-size: 32px; font-weight: 800; letter-spacing: -1px; color: var(--ent-ink); }
.ent-barriers__head p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--gray-600); }
.ent-barriers__grid { max-width: var(--max-width); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ent-barrier { padding: 26px 22px; border-radius: 16px; background: #fff; border: 1px solid #f0ded0; border-left: 3px solid #e0722c; }
.ent-barrier__icon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; margin-bottom: 16px; background: rgba(224,114,44,0.12); color: #c2410c; }
.ent-barrier h3 { margin: 0 0 8px; font-size: 15px; font-weight: 700; color: var(--ent-ink); }
.ent-barrier p { margin: 0; font-size: 13px; line-height: 1.6; color: var(--gray-600); }
@media (max-width: 900px) { .ent-barriers__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ent-barriers__grid { grid-template-columns: 1fr; } }

/* ---------- Services: stacked building-block diagram ---------- */
.ent-blocks { padding: 100px 40px; max-width: var(--max-width); margin: 0 auto; }
.ent-blocks__head { max-width: 640px; margin: 0 0 50px; }
.ent-blocks__head p.kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 11.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ent-accent); }
.ent-blocks__head h2 { margin: 0 0 12px; font-size: 32px; font-weight: 800; letter-spacing: -1px; color: var(--ent-ink); }
.ent-blocks__head p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--gray-600); }
.ent-block {
  display: grid; grid-template-columns: 70px 1fr; gap: 24px; align-items: flex-start;
  padding: 24px 0; border-bottom: 1px solid var(--line); position: relative;
}
.ent-block:first-child { padding-top: 0; }
.ent-block:last-child { border-bottom: none; }
.ent-block__num {
  display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 14px;
  background: var(--ent-ink); color: var(--ent-accent); font-size: 15px; font-weight: 800;
}
.ent-block__content h3 { margin: 0 0 8px; font-size: 18px; font-weight: 700; color: var(--ent-ink); }
.ent-block__content p { margin: 0; font-size: 14.3px; line-height: 1.7; color: var(--gray-600); max-width: 720px; }
@media (max-width: 640px) { .ent-block { grid-template-columns: 42px 1fr; gap: 16px; } .ent-block__num { width: 42px; height: 42px; font-size: 13px; } }

/* ---------- Frameworks: 3 feature cards ---------- */
.ent-frameworks { padding: 90px 40px; background: var(--ent-ink); }
.ent-frameworks__head { max-width: 640px; margin: 0 auto 44px; text-align: center; }
.ent-frameworks__head p.kicker { display: inline-flex; align-items: center; gap: 8px; justify-content: center; width: 100%; margin: 0 0 14px; font-size: 11.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ent-accent); }
.ent-frameworks__head h2 { margin: 0 0 12px; font-size: 32px; font-weight: 800; letter-spacing: -1px; color: #fff; }
.ent-frameworks__head p { margin: 0; font-size: 15px; line-height: 1.7; color: rgba(255,255,255,0.55); }
.ent-frameworks__grid { max-width: var(--max-width); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ent-framework { padding: 30px 26px; border-radius: 18px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); transition: transform 0.3s var(--ent-ease), border-color 0.3s var(--ent-ease); }
.ent-framework:hover { transform: translateY(-5px); border-color: rgba(250,152,0,0.4); }
.ent-framework__tag { display: inline-flex; padding: 5px 12px; border-radius: 999px; background: rgba(250,152,0,0.16); color: var(--ent-accent); font-size: 10.5px; font-weight: 800; letter-spacing: 0.6px; text-transform: uppercase; margin-bottom: 16px; }
.ent-framework h3 { margin: 0 0 10px; font-size: 17px; font-weight: 700; color: #fff; }
.ent-framework p { margin: 0; font-size: 13.5px; line-height: 1.65; color: rgba(255,255,255,0.55); }
@media (max-width: 900px) { .ent-frameworks__grid { grid-template-columns: 1fr; } }

/* ---------- KPI dashboard ---------- */
.ent-kpi { padding: 0 40px 100px; max-width: var(--max-width); margin: 0 auto; }
.ent-kpi__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: linear-gradient(180deg, #fff 0%, var(--gray-50) 100%); }
.ent-kpi__item { padding: 34px 28px; border-right: 1px solid var(--line); }
.ent-kpi__item:last-child { border-right: none; }
.ent-kpi__item b { display: block; font-size: 36px; font-weight: 800; letter-spacing: -1.5px; color: var(--ent-ink); margin-bottom: 6px; }
.ent-kpi__item span { display: block; font-size: 13px; line-height: 1.55; color: var(--gray-600); }
@media (max-width: 900px) { .ent-kpi__grid { grid-template-columns: repeat(2, 1fr); } .ent-kpi__item { border-bottom: 1px solid var(--line); } }

/* ---------- Differentiators: icon grid ---------- */
.ent-why { padding: 0 40px 100px; max-width: var(--max-width); margin: 0 auto; }
.ent-why__head { max-width: 640px; margin: 0 0 40px; }
.ent-why__head p.kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 11.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ent-accent); }
.ent-why__head h2 { margin: 0 0 12px; font-size: 32px; font-weight: 800; letter-spacing: -1px; color: var(--ent-ink); }
.ent-why__head p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--gray-600); }
.ent-why__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ent-why__item { padding: 26px 24px; border-radius: 16px; border: 1px solid var(--line); transition: transform 0.3s var(--ent-ease), box-shadow 0.3s var(--ent-ease); }
.ent-why__item:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -28px rgba(12,12,14,0.25); }
.ent-why__icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 11px; margin-bottom: 16px; background: linear-gradient(155deg, rgba(250,152,0,0.18), rgba(250,152,0,0.05)); color: var(--ent-accent); }
.ent-why__item h3 { margin: 0 0 8px; font-size: 15.5px; font-weight: 700; color: var(--ent-ink); }
.ent-why__item p { margin: 0; font-size: 13.3px; line-height: 1.6; color: var(--gray-600); }
@media (max-width: 900px) { .ent-why__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ent-why__grid { grid-template-columns: 1fr; } }

/* ---------- Industries: tag cloud ---------- */
.ent-industries { padding: 90px 40px; background: var(--gray-50); text-align: center; }
.ent-industries p.kicker { display: inline-flex; align-items: center; gap: 8px; justify-content: center; width: 100%; margin: 0 0 14px; font-size: 11.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ent-accent); }
.ent-industries h2 { margin: 0 0 32px; font-size: 28px; font-weight: 800; letter-spacing: -0.6px; color: var(--ent-ink); }
.ent-industries__tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 900px; margin: 0 auto; }
.ent-tag { padding: 10px 20px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13.5px; font-weight: 600; color: var(--gray-600); transition: border-color 0.25s ease, color 0.25s ease; }
.ent-tag:hover { border-color: var(--ent-accent); color: var(--ent-ink); }

/* ---------- Tech platforms: badge cloud ---------- */
.ent-stack { padding: 90px 40px 0; max-width: var(--max-width); margin: 0 auto; text-align: center; }
.ent-stack p.kicker { display: inline-flex; align-items: center; gap: 8px; justify-content: center; width: 100%; margin: 0 0 14px; font-size: 11.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ent-accent); }
.ent-stack h2 { margin: 0 0 32px; font-size: 28px; font-weight: 800; letter-spacing: -0.6px; color: var(--ent-ink); }
.ent-stack__pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.ent-stack__pill { padding: 9px 18px; border-radius: 999px; background: var(--gray-50); border: 1px solid var(--line); font-size: 13.5px; font-weight: 600; color: var(--gray-600); }

/* ---------- Case studies: cards ---------- */
.ent-cases { padding: 90px 40px; max-width: var(--max-width); margin: 0 auto; }
.ent-cases__head { max-width: 640px; margin: 0 0 40px; }
.ent-cases__head p.kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 11.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ent-accent); }
.ent-cases__head h2 { margin: 0 0 12px; font-size: 32px; font-weight: 800; letter-spacing: -1px; color: var(--ent-ink); }
.ent-cases__head p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--gray-600); }
.ent-cases__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ent-case { padding: 26px 24px; border-radius: 16px; background: linear-gradient(160deg, #fffaf2 0%, #fff4e3 100%); border: 1px solid rgba(250,152,0,0.22); }
.ent-case__tag { display: inline-flex; padding: 5px 12px; border-radius: 999px; background: rgba(250,152,0,0.18); color: #a15c00; font-size: 10.5px; font-weight: 800; letter-spacing: 0.6px; text-transform: uppercase; margin-bottom: 14px; }
.ent-case h3 { margin: 0 0 10px; font-size: 15.5px; font-weight: 700; color: var(--ent-ink); }
.ent-case p { margin: 0; font-size: 13px; line-height: 1.6; color: #6b5638; }
@media (max-width: 900px) { .ent-cases__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ent-cases__grid { grid-template-columns: 1fr; } }
