/* Bevica enterprise homepage v5. Loaded after the earlier prototype layers. */
:root { --bevica-navy:#0a192f; --bevica-volt:#c8f258; --bevica-teal:#00a896; }

/* Hero: dark grid, illuminated data routes and contained 3D glass platform. */
.hero { background:#0a192f; color:#fff; }
.hero::before { background:radial-gradient(circle at 76% 48%,rgba(0,168,150,.22),transparent 42%),radial-gradient(circle at 95% 95%,rgba(27,76,137,.3),transparent 35%),linear-gradient(115deg,#071526,#0a192f 63%,#10263f); }
.hero-mesh { opacity:.14; background-image:linear-gradient(rgba(134,207,213,.38) 1px,transparent 1px),linear-gradient(90deg,rgba(134,207,213,.38) 1px,transparent 1px); background-size:78px 78px; mask-image:linear-gradient(90deg,transparent 12%,#000 100%); }
.hero-grid.container { width:min(calc(100% - 72px),1440px); grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr); gap:28px; min-height:765px; }
.hero-copy { padding:85px 0 76px; }
.hero .eyebrow.light { color:#b3e7c4; }
.hero .eyebrow-line { background:var(--bevica-volt); }
.hero h1 { max-width:640px; color:#fff; font-size:clamp(47px,4.4vw,68px); line-height:1.075; letter-spacing:-.053em; font-weight:800; }
.hero h1 em { font-style:normal; background:linear-gradient(130deg,#c8f258 10%,#86dfaa 70%,#00a896); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-lead { max-width:560px; color:#b9cbd7; font-size:16px; line-height:1.75; }
.hero-actions .button-lime { color:#092037; background:var(--bevica-volt); box-shadow:0 10px 28px rgba(200,242,88,.17); }
.hero-actions .button-lime:hover { background:#ddff82; box-shadow:0 14px 30px rgba(200,242,88,.24); }
.hero-actions .light-link { color:#e2eff4; border-color:#789aa8; }
.hero-actions .light-link:hover { color:var(--bevica-volt); }
.hero-paths { border-color:rgba(161,211,221,.24); }
.hero-paths a { color:#eaf5f7; }
.hero-paths a:first-child { border-color:rgba(161,211,221,.24); }
.hero-paths a:hover { background:rgba(200,242,88,.07); }
.hero-paths span { color:#a5c9ce; }
.hero-paths b { color:var(--bevica-volt); }

.hero-platform.bevica-hero-glass { width:100%; margin:0; padding:0; align-self:center; isolation:isolate; overflow:hidden; border:1px solid rgba(200,242,88,.35); border-radius:24px; background:rgba(10,25,47,.85); box-shadow:0 35px 85px rgba(0,0,0,.52),0 0 34px rgba(200,242,88,.12),inset 0 1px 0 rgba(255,255,255,.12); backdrop-filter:blur(18px) saturate(1.12); -webkit-backdrop-filter:blur(18px) saturate(1.12); filter:none; }
.hero-platform.bevica-hero-glass::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 29%),radial-gradient(circle at 57% 42%,rgba(0,168,150,.12),transparent 49%); }
.hero-platform.bevica-hero-glass::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(200,242,88,.08),inset 0 -40px 70px rgba(4,14,28,.4); }
.hero-glass-header { position:relative; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:55px; padding:0 21px; border-bottom:1px solid rgba(151,216,218,.2); color:#bad5dc; font-size:9px; font-weight:800; letter-spacing:.17em; }
.hero-glass-header span:first-child { display:flex; align-items:center; gap:11px; color:#e6f3f1; }
.hero-glass-header .bevica-pulse-dot { width:8px; height:8px; flex:none; }
.hero-platform-scene { margin:5px 0 8px; animation:bevica-hero-scene-enter .9s ease both; }
@keyframes bevica-hero-scene-enter { from { opacity:0; transform:translateY(24px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
.hero-platform-scene > img { filter:drop-shadow(0 20px 21px rgba(0,0,0,.34)); }
.hero-platform-scene::after { background:linear-gradient(125deg,rgba(255,255,255,.12),rgba(100,255,224,.025) 48%,rgba(200,242,88,.09)); }
.hero-data-flow { filter:drop-shadow(0 0 4px rgba(200,242,88,.3)); }
.data-route { stroke:#65f3da; opacity:.54; }
.data-pulse { stroke:#e4ffb5; filter:drop-shadow(0 0 7px #c8f258) drop-shadow(0 0 15px #00a896); }
.glass-surface { filter:drop-shadow(0 0 9px #b9fff0) drop-shadow(0 12px 16px rgba(0,168,150,.35)); }
.hero-float-metric { position:absolute; z-index:4; display:grid; gap:4px; width:137px; padding:11px 13px; border:1px solid rgba(200,242,88,.32); border-radius:10px; background:rgba(7,29,49,.76); box-shadow:0 13px 32px rgba(0,0,0,.3),0 0 24px rgba(200,242,88,.08); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); animation:bevica-metric-float 4.8s ease-in-out infinite; }
.hero-float-metric span { color:#95c4c7; font-size:8px; font-weight:800; letter-spacing:.14em; }
.hero-float-metric strong { color:#ecf7e0; font-size:13px; line-height:1.2; }
.hero-float-metric-a { top:19%; left:5%; transform:rotate(-3deg); }
.hero-float-metric-b { top:31%; right:5%; animation-delay:-2.2s; }
.metric-line { display:block; width:74%; height:2px; margin-top:5px; border-radius:2px; background:linear-gradient(90deg,var(--bevica-volt),var(--bevica-teal),transparent); box-shadow:0 0 9px rgba(200,242,88,.6); }
.hero-live-card { z-index:4; right:5%; bottom:10%; width:190px; padding:13px 15px 10px; border-color:rgba(200,242,88,.34); background:rgba(8,27,48,.84); box-shadow:0 16px 35px rgba(0,0,0,.36),0 0 20px rgba(200,242,88,.1); transform:rotate(2deg); }
.hero-live-top { color:#aacbd0; }
.hero-live-card strong { color:#f5fff1; }
.hero-live-card svg { stroke:var(--bevica-volt); }
.hero-visual-caption { left:5%; bottom:8%; color:#e1f4ed; border-color:rgba(200,242,88,.23); background:rgba(7,28,47,.75); }
.hero-visual-caption span { color:var(--bevica-volt); }
@keyframes bevica-metric-float { 0%,100% { translate:0 0; } 50% { translate:0 -7px; } }

/* The two interactive flagships are followed by repeatable ecosystem modules. */
.bevica-products { background:linear-gradient(150deg,#edf4f4,#e4eef1 65%,#f2f6f3); }
.bevica-products .product-heading { margin-bottom:36px; }
.bevica-products .product-heading>p { max-width:440px; }
.bevica-products .product-card { min-height:700px; }
.bevica-products .product-card-copy,.bevica-products .quantix-product .product-card-copy { min-height:340px; }
.bevica-products .quantix-product .product-card h3 { max-width:440px; }
.ecosystem-heading { display:flex; justify-content:space-between; gap:15px; align-items:center; margin:0 0 16px; color:#42636b; font-size:10px; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.ecosystem-heading-modules { margin:45px 0 16px; }
.ecosystem-heading span:last-child { color:#6c858b; font-size:10px; letter-spacing:.07em; }
.ecosystem-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ecosystem-card { position:relative; display:flex; flex-direction:column; min-width:0; min-height:300px; padding:25px; border:1px solid rgba(76,118,135,.3); border-radius:15px; color:#eaf6f5; background:linear-gradient(145deg,rgba(19,48,71,.98),rgba(9,26,46,.99)); box-shadow:0 18px 35px rgba(12,43,57,.12),inset 0 1px 0 rgba(255,255,255,.07); overflow:hidden; transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s; }
.ecosystem-card::before { content:""; position:absolute; inset:auto -20% -55% 20%; height:230px; background:radial-gradient(ellipse,rgba(0,168,150,.19),transparent 62%); pointer-events:none; }
.ecosystem-card:hover { transform:translateY(-7px); border-color:rgba(200,242,88,.48); box-shadow:0 28px 44px rgba(12,43,57,.22),0 0 25px rgba(200,242,88,.1); }
.module-index { color:var(--bevica-volt); font-size:10px; font-weight:800; letter-spacing:.13em; }
.module-icon { display:grid; place-items:center; width:40px; height:40px; margin:25px 0 16px; border:1px solid rgba(200,242,88,.38); border-radius:10px; color:var(--bevica-volt); background:rgba(200,242,88,.06); font-size:19px; font-weight:700; }
.ecosystem-card h3 { position:relative; margin:0 0 10px; font-size:21px; line-height:1.23; letter-spacing:-.035em; }
.ecosystem-card p { position:relative; margin:0 0 22px; color:#b8ccd3; font-size:13px; line-height:1.6; }

/* Client proof shares one uninterrupted surface; no logo slabs. */
.trust { background:#f4f8f7; border-block:1px solid #dce8e7; padding:80px 0 88px; }
.trust-heading { margin-bottom:36px; }
.trust .client-logos { gap:22px; align-items:center; }
.trust .client-logo { height:105px; padding:14px 10px; border:0; border-radius:0; background:transparent; box-shadow:none; transition:transform .3s; }
.trust .client-logo:hover { transform:translateY(-4px); border:0; box-shadow:none; }
.trust .client-logo img { max-height:68px; filter:grayscale(1) brightness(.25); opacity:.5; transition:filter .35s,opacity .35s; }
.trust .client-logo:hover img { filter:grayscale(0); opacity:1; }
.trust .vodafone-logo span { filter:grayscale(1); opacity:.5; transition:filter .35s,opacity .35s; }
.trust .vodafone-logo:hover span { filter:grayscale(0); opacity:1; }

/* Architecture matrix: content-led dark categories with compact technology tokens. */
.engineering { background:#08182d; }
.engineering-heading { grid-template-columns:1.2fr .8fr; margin-bottom:38px; }
.engineering-heading h2 { max-width:760px; }
.engineering-heading h2 em { font-style:normal; background:linear-gradient(120deg,#c8f258,#00a896); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tech-matrix { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:17px; }
.tech-matrix-card { position:relative; display:flex; flex-direction:column; min-width:0; min-height:355px; padding:29px; border:1px solid rgba(121,172,187,.25); border-radius:15px; background:linear-gradient(155deg,rgba(23,42,69,.95),rgba(11,28,49,.95)); box-shadow:0 20px 45px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.055); overflow:hidden; }
.tech-matrix-card::after { content:""; position:absolute; right:-75px; top:-90px; width:225px; height:225px; border-radius:50%; background:radial-gradient(circle,rgba(0,168,150,.11),transparent 68%); pointer-events:none; }
.tech-matrix-head { display:flex; justify-content:space-between; align-items:start; gap:10px; margin-bottom:24px; }
.matrix-index { color:var(--bevica-volt); font-size:9px; font-weight:800; letter-spacing:.13em; }
.matrix-icon { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(200,242,88,.27); border-radius:8px; color:var(--bevica-volt); font-size:13px; font-weight:800; }
.tech-matrix-card h3 { position:relative; margin:0 0 12px; color:#fff; font-size:24px; letter-spacing:-.035em; line-height:1.2; }
.tech-matrix-card p { position:relative; min-height:68px; margin:0 0 24px; color:#a9c4cf; font-size:13px; line-height:1.65; }
.tech-token-grid { position:relative; display:flex; flex-wrap:wrap; align-content:start; gap:9px; margin:0; padding:0; list-style:none; }
.tech-token-grid li { display:flex; align-items:center; min-height:35px; padding:7px 10px; border:1px solid rgba(139,185,198,.22); border-radius:7px; color:#e0edf0; background:rgba(6,22,39,.43); font-size:12px; font-weight:650; white-space:nowrap; transition:border-color .25s,background .25s,transform .25s; }
.tech-token-grid li::before { content:""; width:5px; height:5px; margin-right:8px; border-radius:50%; background:var(--bevica-teal); box-shadow:0 0 7px rgba(0,168,150,.5); }
.tech-token-grid li:hover { transform:translateY(-2px); border-color:rgba(200,242,88,.45); background:rgba(200,242,88,.065); }

@media (max-width:1100px) {
  .hero-grid.container { gap:20px; }
  .hero h1 { font-size:clamp(45px,4.6vw,61px); }
  .ecosystem-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tech-matrix { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tech-matrix-card:first-child { grid-column:1 / -1; min-height:0; }
}
@media (max-width:1020px) {
  .hero-grid.container { width:min(calc(100% - 42px),780px); grid-template-columns:1fr; min-height:0; gap:0; }
  .hero-copy { padding:76px 0 39px; }
  .hero h1 { max-width:780px; font-size:clamp(51px,7.1vw,68px); }
  .hero-platform.bevica-hero-glass { width:min(100%,780px); margin:0 auto 43px; }
}
@media (max-width:800px) {
  .engineering-heading { grid-template-columns:1fr; gap:18px; }
  .trust .client-logos { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .hero-grid.container { width:calc(100% - 36px); }
  .hero-copy { padding:62px 0 32px; }
  .hero h1 { font-size:clamp(40px,10vw,54px); }
  .hero-platform.bevica-hero-glass { width:100%; margin:0 auto 30px; border-radius:16px; }
  .hero-glass-header { min-height:44px; padding:0 13px; font-size:7px; }
  .hero-glass-header span:last-child { display:none; }
  .hero-platform-scene { margin:0 0 7px; }
  .hero-float-metric { width:95px; padding:7px; }
  .hero-float-metric span { font-size:6px; }
  .hero-float-metric strong { font-size:10px; }
  .hero-live-card { width:124px; padding:7px 9px; right:3%; bottom:11%; }
  .hero-live-top { font-size:6px; }
  .hero-live-card strong { font-size:9px; }
  .hero-live-card svg { height:16px; }
  .hero-visual-caption { left:4%; bottom:10%; font-size:6px; }
  .ecosystem-grid { grid-template-columns:1fr; }
  .ecosystem-card { min-height:250px; }
  .trust .client-logos { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tech-matrix { grid-template-columns:1fr; }
  .tech-matrix-card,.tech-matrix-card:first-child { grid-column:auto; min-height:0; }
  .tech-matrix-card p { min-height:0; }
}
@media (max-width:420px) {
  .hero h1 { font-size:39px; }
  .hero-float-metric-b { display:none; }
  .hero-live-card { bottom:12%; }
  .hero-visual-caption { display:none; }
  .ecosystem-heading { font-size:9px; }
  .ecosystem-heading span:last-child { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-platform-scene { animation:none; transform:none; }
  .hero-float-metric { animation:none; }
  .ecosystem-card,.tech-token-grid li,.trust .client-logo,.trust .client-logo img,.trust .vodafone-logo span { transition:none; }
}
