/* Brand refresh: pale surfaces, logo teal and restrained blue-gray accents. */
:root {
  --brand-ink: #102f3c;
  --brand-teal: #0a7481;
  --brand-teal-deep: #075967;
  --brand-blue: #6f9aa4;
  --brand-aqua: #84cbd0;
  --brand-paper: #f3f8f9;
  --brand-paper-2: #eaf3f5;
  --brand-line: #d2e2e6;
  --ink: var(--brand-ink);
  --teal: var(--brand-teal);
  --teal-dark: var(--brand-teal-deep);
  --lime: var(--brand-aqua);
  --bevica-volt: var(--brand-aqua);
  --bevica-teal: var(--brand-teal);
}

body { background: var(--brand-paper); }
:focus-visible, .ui-switch:focus-visible, .demo-button:focus-visible { outline: 2px solid var(--brand-teal); outline-offset: 4px; }
::selection { background: #c1e7e9; color: var(--brand-ink); }
.skip-link { background: var(--brand-teal); color: #fff; }
.header-cta, .contact .button-dark { background: var(--brand-ink); }
.header-cta:hover, .contact .button-dark:hover { background: var(--brand-teal-deep); }

/* A light hero gives the glass illustration a clear focal point. */
.hero { background: var(--brand-paper); color: var(--brand-ink); }
.hero::before { background: radial-gradient(circle at 78% 40%, #cbe4e9 0, transparent 39%), radial-gradient(circle at 8% 93%, #e0eff1 0, transparent 37%), linear-gradient(115deg,#f9fcfd,#ecf5f7 72%,#e4f0f3); }
.hero-mesh { opacity: .24; background-image: linear-gradient(#9cbfc7 1px,transparent 1px),linear-gradient(90deg,#9cbfc7 1px,transparent 1px); }
.hero .eyebrow.light { color: #416e78; }
.hero .eyebrow-line { background: var(--brand-teal); }
.hero h1 { color: var(--brand-ink); }
.hero h1 em, .bevica-gradient-text, .engineering-heading h2 em { background: linear-gradient(120deg,#075967,#168c97); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-lead { color: #476570; }
.hero-actions .button-lime { color: #fff; background: var(--brand-teal); box-shadow: 0 12px 24px rgba(7,89,103,.18); }
.hero-actions .button-lime:hover { background: var(--brand-teal-deep); box-shadow: 0 16px 30px rgba(7,89,103,.23); }
.hero-actions .light-link { color: var(--brand-ink); border-color: #8dafb7; }
.hero-actions .light-link:hover { color: var(--brand-teal); }
.hero-paths, .hero-paths a:first-child { border-color: var(--brand-line); }
.hero-paths a { color: var(--brand-ink); }
.hero-paths a:hover { background: rgba(10,116,129,.07); }
.hero-paths span { color: #547985; }
.hero-paths b { color: var(--brand-teal); }
.hero-platform.bevica-hero-glass { border-color: rgba(103,177,190,.55); box-shadow: 0 34px 75px rgba(13,53,68,.25),0 0 30px rgba(99,182,193,.13),inset 0 1px rgba(255,255,255,.16); }
.hero-platform.bevica-hero-glass::after { box-shadow: inset 0 0 0 1px rgba(132,203,208,.1),inset 0 -40px 70px rgba(4,14,28,.4); }
.hero-platform-scene::after { background: linear-gradient(125deg,rgba(255,255,255,.13),rgba(100,220,230,.03) 48%,rgba(111,177,195,.11)); }
.hero-data-flow { filter: drop-shadow(0 0 4px rgba(132,203,208,.32)); }
.data-route { stroke: #4bb8ca; }
.data-pulse { stroke: #d2fbff; filter: drop-shadow(0 0 7px #68d2df) drop-shadow(0 0 15px #0a7481); }
.hero-float-metric { border-color: rgba(132,203,208,.45); box-shadow: 0 13px 32px rgba(0,0,0,.3),0 0 22px rgba(100,190,201,.13); }
.hero-float-metric strong { color: #f0fbfc; }
.metric-line { box-shadow: 0 0 9px rgba(105,206,217,.5); }
.hero-live-card { border-color: rgba(132,203,208,.5); box-shadow: 0 16px 35px rgba(0,0,0,.36),0 0 20px rgba(100,190,201,.15); }
.hero-live-card strong { color: #f0fbfc; }
.hero-visual-caption { border-color: rgba(132,203,208,.3); }

/* Light section surfaces, with the existing interactive dark cards. */
.bevica-capabilities { --bevica-volt: var(--brand-aqua); --bevica-teal: var(--brand-teal); background: linear-gradient(150deg,#fff,#f2f8f9 65%,#e9f3f5); color: var(--brand-ink); }
.bevica-capabilities::before { background: linear-gradient(rgba(10,116,129,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(10,116,129,.035) 1px,transparent 1px); }
.bevica-capabilities .section-heading h2 { color: var(--brand-ink); }
.bevica-capabilities .section-heading>p { color: #4c6974; }
.bevica-capabilities .eyebrow { color: var(--brand-teal); }
.bevica-capabilities .service-card, .bevica-products .product-card { border-color: rgba(111,164,176,.32); box-shadow: 0 22px 50px rgba(19,60,75,.13),inset 0 1px rgba(255,255,255,.07); }
.bevica-capabilities .service-card:hover, .bevica-glass-card:hover { border-color: rgba(99,183,194,.6); box-shadow: 0 27px 57px rgba(19,60,75,.2),0 0 25px rgba(92,180,190,.1); }
.bevica-capabilities .service-number, .service-foot, .preview-footer polyline, .topology-node.main-node, .session-flow span:nth-of-type(2) { color: var(--brand-aqua); }
.bevica-capabilities .service-icon { color: var(--brand-aqua); border-color: rgba(132,203,208,.5); }
.topology-node.main-node { border-color: var(--brand-aqua); box-shadow: 0 0 22px rgba(132,203,208,.19); }
.bevica-pulse-dot { background: var(--brand-aqua); box-shadow: 0 0 0 0 rgba(132,203,208,.55); animation-name: brand-pulse; }
@keyframes brand-pulse { 0% { box-shadow: 0 0 0 0 rgba(132,203,208,.48); } 70%,100% { box-shadow: 0 0 0 9px rgba(132,203,208,0); } }

.bevica-products { --bevica-volt: var(--brand-aqua); --bevica-teal: var(--brand-teal); background: linear-gradient(150deg,#ecf4f6,#e5f0f3 65%,#f4f9fa); }
.bevica-products .product-heading .bevica-gradient-text { background-image: linear-gradient(120deg,#075967,#168c97); }
.bevica-products .eyebrow { color: var(--brand-teal); }
.bevica-products .product-kicker, .bevica-products .product-link { color: #9edbe0; }
.bevica-products .product-link { border-color: rgba(158,219,224,.55); }
.ui-switch.active, .ui-switch[aria-pressed=true] { background: var(--brand-aqua); color: var(--brand-ink); }
.inventory-table [role=cell]:first-child, .table-status { color: #9edbe0 !important; }
.demo-button { color: #b9e9eb; border-color: rgba(132,203,208,.5); background: rgba(132,203,208,.1); }
.demo-button:hover { background: rgba(132,203,208,.22); border-color: var(--brand-aqua); }
.signal-bars i { background: linear-gradient(#84cbd0,#0a7481); }
.ecosystem-card:hover { border-color: rgba(132,203,208,.55); box-shadow: 0 28px 44px rgba(12,43,57,.22),0 0 25px rgba(132,203,208,.13); }
.module-index, .module-icon { color: var(--brand-aqua); }
.module-icon { border-color: rgba(132,203,208,.42); background: rgba(132,203,208,.08); }

.trust { background: #f9fcfc; border-color: var(--brand-line); }
.trust .client-logos { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 15px; }
.trust .client-logo.stasy-logo,
.trust .client-logo.ministry-logo { background: transparent; }
.trust .client-logo.stasy-logo img,
.trust .client-logo.efka-logo img { mix-blend-mode: multiply; }
.trust .client-logo.stasy-logo:not(:hover) img,
.trust .client-logo.efka-logo:not(:hover) img { filter: grayscale(1); }
.trust .client-logo.stasy-logo img { max-height: 78px; }
.trust .client-logo.ministry-logo img { max-height: 61px; }
.trust .client-logo.efka-logo img { max-height: 72px; }
@media (max-width: 1000px) {
  .trust .client-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .trust .client-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust .client-logo:last-child { grid-column: auto; }
}
.approach { background: #fff; }
.approach .eyebrow, .approach-steps span { color: var(--brand-teal); }
.approach-steps>div:hover { background: #edf6f7; }
.engineering { background: linear-gradient(135deg,#eff6f7,#e5f0f2); color: var(--brand-ink); }
.engineering::before { content: none; background-image: none; }
.engineering-heading h2 { color: var(--brand-ink); }
.engineering-heading>p { color: #4c6974; }
.engineering .eyebrow.light { color: var(--brand-teal); }
.matrix-index, .matrix-icon { color: var(--brand-aqua); }
.matrix-icon { border-color: rgba(132,203,208,.42); }
.tech-token-grid li::before { background: var(--brand-aqua); box-shadow: 0 0 7px rgba(132,203,208,.45); }
.tech-token-grid li:hover { border-color: rgba(132,203,208,.55); background: rgba(132,203,208,.08); }
.about { background: #fff; }
.about-dot { color: var(--brand-teal); }
.contact { background: linear-gradient(125deg,#eaf4f6,#d7e9ed); }
.contact h2 span { color: var(--brand-teal); }

/* Footer navigation and contact details. */
.site-footer { background: #0d2d3a; color: #e7f2f4; }
.footer-main { display: grid; grid-template-columns: 1.5fr repeat(3,minmax(0,1fr)); gap: clamp(25px,4vw,74px); padding: 63px 0 76px; }
.footer-brand { max-width: 295px; }
.footer-logo { display: inline-flex; align-items: center; width: 215px; min-height: 83px; padding: 13px 17px; border-radius: 9px; background: #f7fbfb; }
.footer-logo img { width: 100%; height: auto; }
.footer-brand p, .footer-contact p { color: #a9c4cb; font-size: 14px; line-height: 1.7; }
.footer-brand p { margin: 23px 0 0; }
.footer-links { display: flex; flex-direction: column; align-items: start; gap: 13px; }
.footer-links h3 { margin: 0 0 12px; color: #84b9c1; font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.footer-links a { color: #e7f2f4; font-size: 14px; transition: color .2s,transform .2s; }
.footer-links a:hover { color: #9bd4d8; transform: translateX(3px); }
.footer-contact p { margin: 0 0 7px; }
.footer-contact a { border-bottom: 1px solid #73aeb6; padding-bottom: 4px; font-weight: 750; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding: 25px 0 33px; border-top: 1px solid rgba(174,216,222,.2); color: #9ebbc3; font-size: 12px; }
.footer-bottom a:hover { color: #fff; }

@media (max-width: 960px) {
  .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 45px 30px; }
}
@media (max-width: 650px) {
  .footer-main { padding: 49px 0 58px; }
}
@media (max-width: 480px) {
  .footer-main { grid-template-columns: 1fr 1fr; gap: 40px 19px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-contact { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .bevica-pulse-dot { animation: none; }
}

/* Quantix marketing domain is pending; this label is informational. */
.product-link-pending{border-bottom:0;cursor:default;opacity:.72}
