/*
Theme Name: BitPlex Pro
Theme URI: https://bit-plexlab.com
Author: Bit-Plex Lab
Author URI: https://bit-plexlab.com
Description: Premium responsive WordPress theme for Bit-Plex Lab embedded systems, industrial IoT, PCB design and product engineering services.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: bitplex-pro
*/

:root {
  --bp-bg: #07111f;
  --bp-bg-soft: #0b1728;
  --bp-card: rgba(12, 28, 47, .76);
  --bp-card-solid: #102139;
  --bp-border: rgba(160, 204, 255, .14);
  --bp-text: #eef7ff;
  --bp-muted: #9ab1c9;
  --bp-cyan: #4bd5ff;
  --bp-blue: #3a7dff;
  --bp-violet: #8568ff;
  --bp-orange: #ff9b51;
  --bp-green: #70e5b2;
  --bp-shadow: 0 22px 70px rgba(0, 0, 0, .28);
  --bp-radius: 24px;
  --bp-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bp-display: 'Space Grotesk', var(--bp-font);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--bp-bg);
  color: var(--bp-text);
  font-family: var(--bp-font);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }
img { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }
::selection { background: rgba(75, 213, 255, .35); color: #fff; }

.bp-site { position: relative; overflow: hidden; }
.bp-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.bp-section { position: relative; padding: 110px 0; }
.bp-section-sm { padding: 78px 0; }
.bp-grid-bg {
  background-image: linear-gradient(rgba(124, 169, 219, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(124, 169, 219, .055) 1px, transparent 1px);
  background-size: 44px 44px;
}
.bp-orb { position:absolute; width:400px; height:400px; border-radius:50%; filter:blur(80px); opacity:.20; pointer-events:none; }
.bp-orb.one { background:#3a7dff; top:2%; left:-220px; }
.bp-orb.two { background:#8568ff; top:34%; right:-250px; }
.bp-orb.three { background:#1bcba4; bottom:5%; left:-240px; }

/* Loader */
.bp-loader { position: fixed; inset:0; z-index:9999; display:grid; place-items:center; background:#07111f; transition: opacity .45s ease, visibility .45s ease; }
.bp-loader.is-hidden { opacity:0; visibility:hidden; }
.bp-loader-mark { width:58px; height:58px; border:3px solid rgba(75,213,255,.2); border-top-color:var(--bp-cyan); border-radius:50%; animation:bpSpin .9s linear infinite; }
@keyframes bpSpin { to { transform: rotate(360deg); } }

/* Top bar and nav */
.bp-topbar { border-bottom:1px solid rgba(160,204,255,.08); background:rgba(5,14,25,.78); color:var(--bp-muted); font-size:.82rem; }
.bp-topbar-inner { display:flex; justify-content:space-between; gap:18px; align-items:center; min-height:38px; }
.bp-topbar-links, .bp-topbar-social { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.bp-topbar a:hover { color:var(--bp-cyan); }
.bp-header { position:sticky; top:0; z-index:1200; background:rgba(7,17,31,.80); border-bottom:1px solid rgba(160,204,255,.09); backdrop-filter:blur(18px); }
.bp-nav { display:flex; align-items:center; justify-content:space-between; min-height:80px; gap:22px; }
.bp-brand { display:flex; align-items:center; gap:12px; min-width:180px; }
.bp-brand img { width:auto; height:46px; max-width:180px; object-fit:contain; }
.bp-brand-fallback { display:flex; align-items:center; gap:10px; }
.bp-brand-fallback img { height:46px; }
.bp-brand-text strong { display:block; font-family:var(--bp-display); font-size:1.02rem; letter-spacing:.08em; }
.bp-brand-text span { display:block; color:var(--bp-muted); font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; }
.bp-nav-menu { display:flex; align-items:center; gap:30px; margin:0; padding:0; list-style:none; }
.bp-nav-menu li { list-style:none; }
.bp-nav-menu a { color:#c8daec; font-size:.92rem; font-weight:650; transition:.25s ease; }
.bp-nav-menu a:hover, .bp-nav-menu .current-menu-item > a { color:var(--bp-cyan); }
.bp-nav-actions { display:flex; align-items:center; gap:12px; }
.bp-menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--bp-border); border-radius:12px; color:#fff; background:rgba(255,255,255,.04); }

/* Buttons */
.bp-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:13px 20px; border:1px solid transparent; border-radius:999px; font-size:.9rem; font-weight:750; transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease; cursor:pointer; }
.bp-btn:hover { transform:translateY(-3px); }
.bp-btn-primary { color:#051322; background:linear-gradient(135deg, var(--bp-cyan), #84f0ff); box-shadow:0 12px 36px rgba(75,213,255,.22); }
.bp-btn-primary:hover { box-shadow:0 18px 42px rgba(75,213,255,.33); color:#051322; }
.bp-btn-ghost { color:#fff; border-color:rgba(190,221,255,.22); background:rgba(255,255,255,.06); }
.bp-btn-ghost:hover { border-color:rgba(75,213,255,.6); background:rgba(75,213,255,.09); color:#fff; }
.bp-btn-sm { padding:10px 16px; font-size:.84rem; }
.bp-btn-block { width:100%; }

/* Hero */
.bp-hero { position:relative; min-height:760px; display:flex; align-items:center; overflow:hidden; isolation:isolate; }
.bp-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg, rgba(4,13,25,.98) 0%, rgba(4,13,25,.88) 48%, rgba(4,13,25,.42) 100%), radial-gradient(circle at 72% 24%, rgba(58,125,255,.25), transparent 40%); }
.bp-hero::after { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(rgba(117,184,255,.07) 1px, transparent 1px),linear-gradient(90deg,rgba(117,184,255,.07) 1px, transparent 1px); background-size:56px 56px; mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 88%); }
.bp-hero-media { position:absolute; inset:0; z-index:-4; }
.bp-hero-media video, .bp-hero-media img { width:100%; height:100%; object-fit:cover; opacity:.52; }
.bp-hero-content { display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(320px, .75fr); align-items:center; gap:46px; padding:82px 0 72px; }
.bp-kicker { display:inline-flex; align-items:center; gap:9px; padding:8px 12px; border:1px solid rgba(75,213,255,.22); border-radius:999px; background:rgba(75,213,255,.07); color:#b9f4ff; font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.bp-kicker-dot { width:8px; height:8px; border-radius:50%; background:var(--bp-green); box-shadow:0 0 0 5px rgba(112,229,178,.12); animation:bpPulse 1.8s infinite; }
@keyframes bpPulse { 50% { transform:scale(.8); opacity:.65; } }
.bp-hero h1 { max-width:800px; margin:22px 0 18px; color:#f5fbff; font-family:var(--bp-display); font-size:clamp(3.2rem, 6vw, 6.7rem); font-weight:750; letter-spacing:-.075em; line-height:.95; }
.bp-gradient-text { background:linear-gradient(100deg, #e7fbff 0%, var(--bp-cyan) 38%, #a799ff 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.bp-hero p { max-width:710px; margin:0; color:#b7c9dc; font-size:1.1rem; line-height:1.85; }
.bp-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.bp-hero-trust { display:flex; flex-wrap:wrap; gap:18px 26px; margin-top:35px; color:#c8d9ea; font-size:.82rem; }
.bp-hero-trust span { display:flex; align-items:center; gap:8px; }
.bp-hero-trust i { color:var(--bp-green); }
.bp-hero-panel { padding:18px; border:1px solid rgba(162,208,255,.14); border-radius:28px; background:linear-gradient(150deg,rgba(13,31,52,.88),rgba(9,23,41,.64)); box-shadow:var(--bp-shadow); backdrop-filter:blur(14px); }
.bp-panel-head { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:10px 8px 18px; color:#c8d9eb; font-size:.86rem; }
.bp-live { display:flex; align-items:center; gap:8px; color:var(--bp-green); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.bp-live::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--bp-green); box-shadow:0 0 0 5px rgba(112,229,178,.12); }
.bp-panel-visual { min-height:280px; padding:20px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(160,204,255,.13); border-radius:20px; background:linear-gradient(150deg, rgba(24,58,90,.82), rgba(6,21,39,.92)), url('https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=1000&q=82') center/cover; overflow:hidden; }
.bp-signal-row { display:flex; justify-content:space-between; gap:12px; }
.bp-signal { padding:9px 12px; border:1px solid rgba(190,231,255,.15); border-radius:12px; color:#d8ebfa; background:rgba(4,16,29,.55); font-size:.72rem; backdrop-filter:blur(12px); }
.bp-signal b { display:block; margin-top:4px; color:#fff; font-family:var(--bp-display); font-size:1.24rem; }
.bp-chart { display:flex; align-items:flex-end; gap:8px; height:100px; }
.bp-chart span { flex:1; min-width:5px; border-radius:999px 999px 5px 5px; background:linear-gradient(to top, rgba(75,213,255,.15), rgba(75,213,255,.92)); animation:bpBars 2.8s ease-in-out infinite alternate; transform-origin:bottom; }
.bp-chart span:nth-child(2n){ animation-delay:.35s; background:linear-gradient(to top, rgba(133,104,255,.18), rgba(133,104,255,.94)); }
.bp-chart span:nth-child(3n){ animation-delay:.7s; }
@keyframes bpBars { from{ transform:scaleY(.5); opacity:.62;} to{transform:scaleY(1); opacity:1;} }
.bp-panel-foot { display:flex; justify-content:space-between; gap:12px; padding:16px 8px 3px; color:var(--bp-muted); font-size:.78rem; }
.bp-panel-foot strong { color:#fff; }

/* Common typography */
.bp-eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:12px; color:var(--bp-cyan); font-size:.76rem; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.bp-eyebrow::before { content:""; width:32px; height:1px; background:var(--bp-cyan); }
.bp-title { margin:0; font-family:var(--bp-display); font-size:clamp(2.3rem, 4vw, 4.55rem); font-weight:750; letter-spacing:-.065em; line-height:1.04; }
.bp-title-sm { font-size:clamp(2rem, 3.4vw, 3.6rem); }
.bp-lead { max-width:740px; margin:18px 0 0; color:var(--bp-muted); font-size:1.02rem; line-height:1.8; }
.bp-center { text-align:center; }
.bp-center .bp-eyebrow { justify-content:center; }
.bp-center .bp-lead { margin-inline:auto; }
.bp-center .bp-eyebrow::before { display:none; }

/* Capability strip */
.bp-cap-strip { position:relative; z-index:4; margin-top:-34px; }
.bp-cap-box { display:grid; grid-template-columns:repeat(4, 1fr); overflow:hidden; border:1px solid var(--bp-border); border-radius:20px; background:rgba(11,27,46,.92); box-shadow:var(--bp-shadow); backdrop-filter:blur(16px); }
.bp-cap-item { padding:22px 20px; border-right:1px solid var(--bp-border); }
.bp-cap-item:last-child { border-right:0; }
.bp-cap-item i { display:inline-grid; width:40px; height:40px; place-items:center; margin-bottom:10px; border-radius:12px; color:var(--bp-cyan); background:rgba(75,213,255,.09); font-size:1.15rem; }
.bp-cap-item b { display:block; font-family:var(--bp-display); font-size:1.02rem; }
.bp-cap-item span { display:block; margin-top:4px; color:var(--bp-muted); font-size:.78rem; }

/* cards */
.bp-card { height:100%; border:1px solid var(--bp-border); border-radius:var(--bp-radius); background:linear-gradient(155deg, rgba(18,40,66,.86),rgba(9,24,42,.82)); box-shadow:0 14px 44px rgba(0,0,0,.16); transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease; overflow:hidden; }
.bp-card:hover { transform:translateY(-10px); border-color:rgba(75,213,255,.42); box-shadow:0 24px 60px rgba(0,0,0,.28); }
.bp-card-img { position:relative; height:190px; overflow:hidden; }
.bp-card-img::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(4,13,25,.86), transparent 65%); }
.bp-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.bp-card:hover .bp-card-img img { transform:scale(1.08); }
.bp-card-body { padding:25px; }
.bp-icon { display:inline-grid; width:54px; height:54px; place-items:center; border:1px solid rgba(75,213,255,.2); border-radius:16px; color:var(--bp-cyan); background:rgba(75,213,255,.09); font-size:1.4rem; }
.bp-card h3 { margin:17px 0 10px; font-family:var(--bp-display); font-size:1.36rem; letter-spacing:-.035em; }
.bp-card p { margin:0; color:var(--bp-muted); font-size:.9rem; line-height:1.72; }
.bp-card-link { display:inline-flex; align-items:center; gap:7px; margin-top:18px; color:#c9f8ff; font-size:.84rem; font-weight:800; }
.bp-card-link i { transition:transform .25s ease; }
.bp-card:hover .bp-card-link i { transform:translateX(4px); }

/* about */
.bp-about-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:74px; }
.bp-about-media { position:relative; }
.bp-about-media img { width:100%; min-height:540px; border-radius:28px; object-fit:cover; box-shadow:var(--bp-shadow); }
.bp-experience { position:absolute; right:-34px; bottom:34px; width:190px; padding:22px; border:1px solid rgba(188,230,255,.2); border-radius:20px; background:rgba(8,23,40,.92); box-shadow:var(--bp-shadow); backdrop-filter:blur(12px); }
.bp-experience b { display:block; color:var(--bp-cyan); font-family:var(--bp-display); font-size:3.1rem; line-height:1; letter-spacing:-.08em; }
.bp-experience span { display:block; margin-top:8px; color:#c2d7ea; font-size:.82rem; line-height:1.5; }
.bp-check-list { display:grid; gap:13px; margin:25px 0 0; padding:0; list-style:none; }
.bp-check-list li { display:flex; gap:11px; color:#c8daeb; font-size:.92rem; line-height:1.6; }
.bp-check-list i { color:var(--bp-green); margin-top:3px; }
.bp-mini-metrics { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:28px; }
.bp-mini-metric { padding:16px; border:1px solid var(--bp-border); border-radius:16px; background:rgba(255,255,255,.025); }
.bp-mini-metric b { display:block; color:#fff; font-family:var(--bp-display); font-size:1.35rem; }
.bp-mini-metric span { color:var(--bp-muted); font-size:.72rem; }

/* service grid */
.bp-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:42px; }

/* dark feature section */
.bp-feature { position:relative; overflow:hidden; border-block:1px solid rgba(160,204,255,.09); background:linear-gradient(110deg, rgba(5,15,28,.98), rgba(5,15,28,.78)), url('https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=1800&q=86') center/cover; }
.bp-feature-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:center; }
.bp-feature-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.bp-feature-card { padding:20px; border:1px solid rgba(181,221,255,.15); border-radius:18px; background:rgba(255,255,255,.045); backdrop-filter:blur(8px); }
.bp-feature-card i { color:var(--bp-cyan); font-size:1.2rem; }
.bp-feature-card b { display:block; margin-top:13px; font-family:var(--bp-display); }
.bp-feature-card span { display:block; margin-top:7px; color:var(--bp-muted); font-size:.8rem; line-height:1.55; }

/* solutions */
.bp-solution-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; margin-top:42px; }
.bp-solution { position:relative; min-height:390px; padding:30px; display:flex; align-items:flex-end; overflow:hidden; border:1px solid var(--bp-border); border-radius:25px; isolation:isolate; }
.bp-solution::before { content:""; position:absolute; inset:0; z-index:-2; background:var(--bp-img) center/cover; transition:transform .7s ease; }
.bp-solution::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, rgba(3,12,22,.97), rgba(3,12,22,.18)); }
.bp-solution:hover::before { transform:scale(1.08); }
.bp-solution-index { color:var(--bp-cyan); font-size:.72rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.bp-solution h3 { margin:9px 0 7px; font-family:var(--bp-display); font-size:1.8rem; letter-spacing:-.05em; }
.bp-solution p { max-width:500px; margin:0; color:#bed1e3; font-size:.88rem; line-height:1.65; }

/* process */
.bp-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:42px; }
.bp-process { position:relative; padding:25px; border:1px solid var(--bp-border); border-radius:20px; background:rgba(255,255,255,.025); }
.bp-process-num { color:rgba(75,213,255,.42); font-family:var(--bp-display); font-size:2.6rem; font-weight:800; letter-spacing:-.09em; }
.bp-process h3 { margin:13px 0 8px; font-family:var(--bp-display); font-size:1.14rem; }
.bp-process p { margin:0; color:var(--bp-muted); font-size:.82rem; line-height:1.65; }

/* case studies */
.bp-case-wrap { margin-top:42px; }
.bp-case { display:grid; grid-template-columns:1.05fr .95fr; min-height:430px; overflow:hidden; border:1px solid var(--bp-border); border-radius:26px; background:linear-gradient(155deg,rgba(18,40,66,.88),rgba(9,24,42,.88)); }
.bp-case-media img { width:100%; height:100%; object-fit:cover; }
.bp-case-content { padding:38px; display:flex; flex-direction:column; justify-content:center; }
.bp-tag { display:inline-flex; align-self:flex-start; padding:7px 10px; border:1px solid rgba(75,213,255,.22); border-radius:999px; color:#b9f5ff; background:rgba(75,213,255,.08); font-size:.72rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.bp-case h3 { margin:16px 0 10px; font-family:var(--bp-display); font-size:2rem; letter-spacing:-.055em; }
.bp-case p { margin:0; color:var(--bp-muted); font-size:.92rem; line-height:1.75; }
.bp-case-tech { display:flex; flex-wrap:wrap; gap:8px; margin-top:21px; }
.bp-case-tech span { padding:6px 9px; border:1px solid var(--bp-border); border-radius:999px; color:#c7d9ea; font-size:.72rem; }
.swiper-pagination-bullet { background:#b1c9df !important; }
.swiper-pagination-bullet-active { background:var(--bp-cyan) !important; }

/* stats */
.bp-stats { border-block:1px solid rgba(160,204,255,.1); background:linear-gradient(120deg, rgba(58,125,255,.11), rgba(133,104,255,.12)); }
.bp-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.bp-stat { padding:10px 18px; border-right:1px solid var(--bp-border); }
.bp-stat:last-child { border-right:0; }
.bp-stat b { display:block; font-family:var(--bp-display); font-size:3.35rem; letter-spacing:-.09em; color:#fff; }
.bp-stat span { display:block; margin-top:6px; color:var(--bp-muted); font-size:.82rem; }

/* CTA */
.bp-cta { position:relative; overflow:hidden; padding:52px; border:1px solid rgba(179,218,255,.17); border-radius:28px; background:linear-gradient(110deg,rgba(58,125,255,.24),rgba(133,104,255,.20)),rgba(13,30,50,.88); box-shadow:var(--bp-shadow); }
.bp-cta::after { content:""; position:absolute; width:300px; height:300px; right:-70px; top:-100px; border-radius:50%; background:rgba(75,213,255,.18); filter:blur(45px); }
.bp-cta-grid { position:relative; z-index:1; display:flex; justify-content:space-between; gap:30px; align-items:center; }
.bp-cta h2 { max-width:740px; margin:0; font-family:var(--bp-display); font-size:clamp(2rem,3.6vw,3.6rem); letter-spacing:-.065em; line-height:1.05; }
.bp-cta p { max-width:700px; margin:14px 0 0; color:#bdd2e6; }
.bp-cta-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }

/* Internal page hero */
.bp-page-hero { position:relative; min-height:390px; display:flex; align-items:end; overflow:hidden; border-bottom:1px solid var(--bp-border); background:linear-gradient(90deg,rgba(5,15,28,.95),rgba(5,15,28,.66)), var(--bp-page-img, url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1800&q=85')) center/cover; }
.bp-page-hero .bp-shell { padding-bottom:66px; }
.bp-page-hero h1 { max-width:850px; margin:18px 0 0; font-family:var(--bp-display); font-size:clamp(3rem,6vw,5.8rem); letter-spacing:-.08em; line-height:.98; }
.bp-breadcrumb { margin-top:17px; color:#bdd2e6; font-size:.84rem; }
.bp-breadcrumb a { color:var(--bp-cyan); }

/* Contact */
.bp-contact-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:20px; align-items:start; }
.bp-contact-info { display:grid; gap:12px; }
.bp-contact-card { padding:20px; display:flex; gap:14px; align-items:flex-start; border:1px solid var(--bp-border); border-radius:18px; background:rgba(255,255,255,.025); }
.bp-contact-card i { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border-radius:12px; color:var(--bp-cyan); background:rgba(75,213,255,.09); }
.bp-contact-card b { display:block; font-size:.9rem; }
.bp-contact-card span, .bp-contact-card a { display:block; margin-top:5px; color:var(--bp-muted); font-size:.83rem; line-height:1.5; }
.bp-form { padding:28px; border:1px solid var(--bp-border); border-radius:22px; background:linear-gradient(155deg,rgba(18,40,66,.74),rgba(9,24,42,.78)); }
.bp-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.bp-field { display:grid; gap:7px; }
.bp-field.full { grid-column:1/-1; }
.bp-field label { color:#d7e8f8; font-size:.78rem; font-weight:750; }
.bp-field input, .bp-field textarea { width:100%; border:1px solid rgba(175,216,255,.16); border-radius:12px; outline:0; padding:13px 14px; color:#fff; background:rgba(2,13,24,.5); transition:.25s ease; }
.bp-field input:focus, .bp-field textarea:focus { border-color:rgba(75,213,255,.62); box-shadow:0 0 0 4px rgba(75,213,255,.08); }
.bp-field textarea { min-height:140px; resize:vertical; }
.bp-alert { margin-bottom:14px; padding:13px 15px; border-radius:12px; color:#d8f8e9; background:rgba(112,229,178,.1); border:1px solid rgba(112,229,178,.22); font-size:.84rem; }
.bp-alert.error { color:#ffd9d9; background:rgba(255,106,106,.09); border-color:rgba(255,106,106,.22); }

/* footer */
.bp-footer { position:relative; padding:74px 0 24px; border-top:1px solid var(--bp-border); background:#06101d; }
.bp-footer-grid { display:grid; grid-template-columns:1.3fr .7fr .8fr 1fr; gap:36px; }
.bp-footer-brand img { height:48px; width:auto; }
.bp-footer p { color:var(--bp-muted); font-size:.83rem; line-height:1.72; }
.bp-footer h4 { margin:0 0 17px; font-family:var(--bp-display); font-size:1rem; }
.bp-footer-links { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.bp-footer-links a { color:var(--bp-muted); font-size:.82rem; }
.bp-footer-links a:hover { color:var(--bp-cyan); }
.bp-social { display:flex; gap:9px; margin-top:18px; }
.bp-social a { display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--bp-border); border-radius:12px; color:#c7d9ea; background:rgba(255,255,255,.025); }
.bp-social a:hover { color:var(--bp-cyan); border-color:rgba(75,213,255,.45); }
.bp-footer-bottom { display:flex; justify-content:space-between; gap:18px; margin-top:44px; padding-top:18px; border-top:1px solid var(--bp-border); color:#7f96ad; font-size:.76rem; }

/* floating contact */
.bp-floating { position:fixed; z-index:1250; right:18px; bottom:18px; display:flex; flex-direction:column; gap:9px; }
.bp-floating a { display:grid; width:50px; height:50px; place-items:center; border:1px solid rgba(198,232,255,.18); border-radius:50%; color:#fff; background:rgba(13,36,59,.92); box-shadow:0 12px 30px rgba(0,0,0,.25); backdrop-filter:blur(10px); transition:.25s ease; }
.bp-floating a:hover { transform:translateY(-4px); background:rgba(75,213,255,.22); }
.bp-floating .wa { background:#1c9f68; }

/* WordPress core */
.alignwide { width:min(1320px, calc(100% - 40px)); margin-inline:auto; }
.wp-caption, .wp-caption-text { color:var(--bp-muted); }
.screen-reader-text { clip:rect(1px,1px,1px,1px); position:absolute !important; height:1px; width:1px; overflow:hidden; }

@media (max-width: 1024px) {
  .bp-hero-content { grid-template-columns:1fr; }
  .bp-hero-panel { max-width:620px; }
  .bp-about-grid, .bp-feature-grid { grid-template-columns:1fr; }
  .bp-service-grid { grid-template-columns:repeat(2,1fr); }
  .bp-process-grid { grid-template-columns:repeat(2,1fr); }
  .bp-footer-grid { grid-template-columns:1fr 1fr; }
  .bp-contact-grid { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
  .bp-topbar { display:none; }
  .bp-menu-toggle { display:inline-grid; place-items:center; }
  .bp-nav-actions .bp-btn { display:none; }
  .bp-nav-menu { position:absolute; top:80px; left:20px; right:20px; display:none; padding:16px; border:1px solid var(--bp-border); border-radius:16px; background:rgba(7,17,31,.98); box-shadow:var(--bp-shadow); }
  .bp-nav-menu.is-open { display:grid; gap:14px; }
  .bp-nav-menu a { display:block; padding:7px; }
  .bp-cap-box { grid-template-columns:repeat(2,1fr); }
  .bp-cap-item:nth-child(2) { border-right:0; }
  .bp-cap-item:nth-child(-n+2) { border-bottom:1px solid var(--bp-border); }
  .bp-case { grid-template-columns:1fr; }
  .bp-case-media { height:270px; }
  .bp-stats-grid { grid-template-columns:repeat(2,1fr); }
  .bp-stat:nth-child(2) { border-right:0; }
  .bp-stat:nth-child(-n+2) { padding-bottom:24px; border-bottom:1px solid var(--bp-border); }
  .bp-cta-grid { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 620px) {
  .bp-shell { width:min(100% - 26px, 1180px); }
  .bp-section { padding:82px 0; }
  .bp-hero { min-height:auto; }
  .bp-hero-content { padding:68px 0 68px; gap:30px; }
  .bp-hero h1 { font-size:clamp(3rem,17vw,4.7rem); }
  .bp-hero p { font-size:.96rem; }
  .bp-cap-strip { margin-top:-20px; }
  .bp-cap-box, .bp-service-grid, .bp-solution-grid, .bp-process-grid, .bp-mini-metrics, .bp-footer-grid, .bp-form-grid { grid-template-columns:1fr; }
  .bp-cap-item { border-right:0 !important; border-bottom:1px solid var(--bp-border); }
  .bp-cap-item:last-child { border-bottom:0; }
  .bp-about-media img { min-height:380px; }
  .bp-experience { right:14px; bottom:14px; width:170px; }
  .bp-solution { min-height:330px; }
  .bp-case-content { padding:25px; }
  .bp-feature-cards { grid-template-columns:1fr; }
  .bp-cta { padding:30px 23px; }
  .bp-stat b { font-size:2.65rem; }
  .bp-footer-bottom { flex-direction:column; }
  .bp-field.full { grid-column:auto; }
}
