/*
Theme Name: BCET Engineering
Theme URI: https://bcetengineering.ro/
Author: BCET Engineering
Description: Custom corporate WordPress theme for an ANRE-authorized electrical engineering and electrical installations design company.
Version: 1.1.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: bcet-engineering
*/

:root {
  --bcet-blue: #043b87;
  --bcet-blue-2: #0a56b6;
  --bcet-blue-soft: #eaf2ff;
  --bcet-ink: #1a1a1a;
  --bcet-navy: #071727;
  --bcet-text: #334155;
  --bcet-muted: #64748b;
  --bcet-line: #e2e8f0;
  --bcet-surface: #ffffff;
  --bcet-surface-alt: #f6f8fb;
  --bcet-radius: 18px;
  --bcet-shadow: 0 18px 55px rgba(2, 20, 45, .10);
  --bcet-width: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--bcet-text);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--bcet-blue); text-decoration: none; }
a:hover { color: var(--bcet-blue-2); }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid rgba(10, 86, 182, .35); outline-offset: 3px; }

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 99999;
  padding: .8rem 1rem; color: #fff; background: var(--bcet-blue);
}
.skip-link:focus { left: 1rem; top: 1rem; }

.bcet-container { width: min(calc(100% - 40px), var(--bcet-width)); margin-inline: auto; }
.bcet-section { padding: 96px 0; }
.bcet-section--alt { background: var(--bcet-surface-alt); }
.bcet-section--dark { background: var(--bcet-navy); color: #dbe8f7; }
.bcet-kicker {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px;
  color: var(--bcet-blue); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.bcet-kicker::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.bcet-section-title { margin: 0; color: var(--bcet-ink); font-size: clamp(34px, 4vw, 54px); line-height: 1.08; letter-spacing: -.035em; }
.bcet-section-title--light { color: #fff; }
.bcet-section-lead { max-width: 720px; margin: 18px 0 0; color: var(--bcet-muted); font-size: 18px; }
.bcet-section--dark .bcet-section-lead { color: #a9bed3; }

/* Header */
.bcet-site-header {
  position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(226,232,240,.85); backdrop-filter: blur(16px);
}
.bcet-header-inner { min-height: 82px; display: flex; align-items: center; gap: 28px; }
.bcet-brand { display: inline-flex; align-items: center; min-width: 210px; }
.bcet-brand img, .bcet-brand .custom-logo { width: auto; height: 54px; max-width: 260px; object-fit: contain; }
.bcet-brand-text { color: var(--bcet-ink); font-size: 21px; font-weight: 900; letter-spacing: -.03em; }
.bcet-nav { margin-left: auto; }
.bcet-nav ul { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.bcet-nav a { color: #27364a; font-size: 14px; font-weight: 700; }
.bcet-nav a:hover, .bcet-nav .current-menu-item > a { color: var(--bcet-blue); }
.bcet-header-cta {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px;
  border-radius: 999px; background: var(--bcet-blue); color: #fff; font-size: 14px; font-weight: 800;
  box-shadow: 0 10px 22px rgba(4,59,135,.18);
}
.bcet-header-cta:hover { color: #fff; background: #032f6d; transform: translateY(-1px); }
.bcet-menu-toggle {
  display: none; width: 46px; height: 46px; margin-left: auto; border: 1px solid var(--bcet-line); border-radius: 12px;
  background: #fff; color: var(--bcet-ink); cursor: pointer;
}
.bcet-menu-toggle span, .bcet-menu-toggle::before, .bcet-menu-toggle::after {
  content: ""; display: block; width: 20px; height: 2px; margin: 4px auto; background: currentColor; transition: .2s ease;
}

/* Buttons */
.bcet-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 22px;
  border: 1px solid transparent; border-radius: 999px; font-weight: 800; transition: .2s ease;
}
.bcet-btn--primary { background: #fff; color: var(--bcet-blue); box-shadow: 0 12px 34px rgba(0,0,0,.14); }
.bcet-btn--primary:hover { color: #032f6d; transform: translateY(-2px); }
.bcet-btn--blue { background: var(--bcet-blue); color: #fff; }
.bcet-btn--blue:hover { background: #032f6d; color: #fff; transform: translateY(-2px); }
.bcet-btn--ghost { border-color: rgba(255,255,255,.28); color: #fff; background: rgba(255,255,255,.06); }
.bcet-btn--ghost:hover { color: #fff; border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.11); }
.bcet-btn svg { width: 18px; height: 18px; }

/* Hero */
.bcet-hero {
  position: relative; overflow: hidden; color: #fff; background:
    radial-gradient(circle at 82% 26%, rgba(19,105,212,.44), transparent 25%),
    linear-gradient(135deg, #061321 0%, #08223f 54%, #043b87 130%);
}
.bcet-hero::before {
  content: ""; position: absolute; inset: 0; opacity: .20; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to right, transparent 5%, black 55%, black);
}
.bcet-hero-inner { position: relative; min-height: 700px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 70px; padding: 92px 0; }
.bcet-hero-badge {
  display: inline-flex; align-items: center; gap: 10px; padding: 8px 13px; margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(255,255,255,.07);
  font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase;
}
.bcet-hero-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #58a6ff; box-shadow: 0 0 0 5px rgba(88,166,255,.12); }
.bcet-hero h1 { max-width: 820px; margin: 0; font-size: clamp(46px, 6vw, 78px); line-height: .99; letter-spacing: -.055em; color: #fff; }
.bcet-hero h1 strong { color: #6aafff; font-weight: 900; }
.bcet-hero-copy { max-width: 680px; margin: 24px 0 0; color: #c3d4e7; font-size: clamp(18px, 2vw, 21px); }
.bcet-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.bcet-hero-meta { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 44px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.14); }
.bcet-hero-meta-item { min-width: 135px; }
.bcet-hero-meta strong { display: block; color: #fff; font-size: 14px; }
.bcet-hero-meta span { color: #8eabc8; font-size: 13px; }

.bcet-schematic { position: relative; min-height: 470px; display: grid; place-items: center; }
.bcet-schematic-card {
  position: relative; width: min(100%, 470px); aspect-ratio: 1.06; border: 1px solid rgba(255,255,255,.18); border-radius: 28px;
  background: linear-gradient(155deg, rgba(255,255,255,.12), rgba(255,255,255,.03)); box-shadow: 0 35px 90px rgba(0,0,0,.30);
  backdrop-filter: blur(8px); transform: rotate(2deg); overflow: hidden;
}
.bcet-schematic-card::before {
  content: ""; position: absolute; inset: 28px; border: 1px solid rgba(124,183,255,.25); border-radius: 18px;
  background-image: linear-gradient(rgba(124,183,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(124,183,255,.14) 1px, transparent 1px);
  background-size: 30px 30px;
}
.bcet-schematic-lines { position: absolute; inset: 68px; }
.bcet-line-a, .bcet-line-b, .bcet-line-c, .bcet-line-d { position: absolute; background: #7cb7ff; box-shadow: 0 0 16px rgba(124,183,255,.35); }
.bcet-line-a { width: 72%; height: 2px; top: 28%; left: 9%; }
.bcet-line-b { width: 2px; height: 54%; top: 18%; left: 34%; }
.bcet-line-c { width: 55%; height: 2px; top: 65%; left: 26%; }
.bcet-line-d { width: 2px; height: 32%; top: 42%; left: 70%; }
.bcet-node { position: absolute; width: 17px; height: 17px; border: 3px solid #7cb7ff; border-radius: 50%; background: #09213d; }
.bcet-node--1 { left: 30%; top: 25%; }.bcet-node--2 { left: 66%; top: 61%; }.bcet-node--3 { left: 30%; top: 61%; }.bcet-node--4 { left: 66%; top: 38%; }
.bcet-bolt {
  position: absolute; left: 50%; top: 50%; width: 90px; height: 146px; transform: translate(-50%,-50%) skew(-8deg); opacity: .9;
  clip-path: polygon(55% 0, 100% 0, 66% 39%, 94% 39%, 25% 100%, 45% 57%, 15% 57%); background: linear-gradient(#79b8ff, #0c68d7);
  filter: drop-shadow(0 0 22px rgba(61,145,246,.35));
}
.bcet-floating-chip { position: absolute; right: -18px; bottom: 18px; padding: 16px 18px; border-radius: 16px; background: #fff; color: var(--bcet-ink); box-shadow: var(--bcet-shadow); }
.bcet-floating-chip strong { display: block; color: var(--bcet-blue); font-size: 17px; }
.bcet-floating-chip span { font-size: 12px; color: var(--bcet-muted); }

/* Credibility strip */
.bcet-trust { position: relative; margin-top: -44px; z-index: 5; }
.bcet-trust-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--bcet-line); border-radius: 20px; background: #fff; box-shadow: var(--bcet-shadow); overflow: hidden; }
.bcet-trust-item { padding: 28px 30px; }
.bcet-trust-item + .bcet-trust-item { border-left: 1px solid var(--bcet-line); }
.bcet-trust-item strong { display: block; color: var(--bcet-ink); font-size: 16px; }
.bcet-trust-item span { color: var(--bcet-muted); font-size: 14px; }

/* Cards */
.bcet-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 44px; }
.bcet-card {
  position: relative; padding: 30px; border: 1px solid var(--bcet-line); border-radius: var(--bcet-radius); background: #fff;
  box-shadow: 0 8px 28px rgba(2,20,45,.05); transition: .2s ease;
}
.bcet-card:hover { transform: translateY(-4px); box-shadow: var(--bcet-shadow); border-color: #cbd8ea; }
.bcet-card-icon { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 14px; background: var(--bcet-blue-soft); color: var(--bcet-blue); }
.bcet-card-icon svg { width: 24px; height: 24px; }
.bcet-card h3 { margin: 0 0 10px; color: var(--bcet-ink); font-size: 21px; line-height: 1.25; }
.bcet-card p { margin: 0; color: var(--bcet-muted); }
.bcet-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; font-size: 14px; font-weight: 800; }

/* About */
.bcet-about { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.bcet-about-visual { position: relative; min-height: 480px; border-radius: 28px; overflow: hidden; background: linear-gradient(145deg,#061626,#0b3e78); box-shadow: var(--bcet-shadow); }
.bcet-about-visual::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 42px 42px; opacity: .55; }
.bcet-about-mark { position: absolute; inset: 70px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.17); border-radius: 24px; }
.bcet-about-mark img { width: 72%; filter: drop-shadow(0 18px 30px rgba(0,0,0,.24)); background: rgba(255,255,255,.96); padding: 24px; border-radius: 16px; }
.bcet-anre-card { position: absolute; left: 24px; bottom: 24px; max-width: 250px; padding: 18px; border-radius: 16px; background: #fff; color: var(--bcet-ink); box-shadow: var(--bcet-shadow); }
.bcet-anre-card strong { display: block; color: var(--bcet-blue); }
.bcet-checks { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.bcet-checks li { display: flex; align-items: flex-start; gap: 11px; }
.bcet-checks li::before { content: "✓"; flex: 0 0 24px; width: 24px; height: 24px; display: grid; place-items: center; margin-top: 1px; border-radius: 50%; background: var(--bcet-blue-soft); color: var(--bcet-blue); font-size: 13px; font-weight: 900; }

/* Process */
.bcet-process { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-top: 46px; counter-reset: steps; }
.bcet-step { counter-increment: steps; position: relative; padding: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.045); }
.bcet-step::before { content: "0" counter(steps); display: block; margin-bottom: 40px; color: #68aefc; font-size: 13px; font-weight: 850; letter-spacing: .1em; }
.bcet-step h3 { margin: 0 0 10px; color: #fff; font-size: 18px; }
.bcet-step p { margin: 0; color: #9fb5ca; font-size: 14px; }

/* Projects */
.bcet-project-card { padding: 0; overflow: hidden; }
.bcet-project-media { aspect-ratio: 16/10; overflow: hidden; background: linear-gradient(135deg,#0a315f,#0b5cb8); }
.bcet-project-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.bcet-project-card:hover .bcet-project-media img { transform: scale(1.035); }
.bcet-project-placeholder { width: 100%; height: 100%; position: relative; background: linear-gradient(135deg,#08223f,#0d5bb1); }
.bcet-project-placeholder::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:28px 28px; opacity:.55; }
.bcet-project-body { padding: 25px; }
.bcet-project-body h3 { margin: 0 0 8px; color: var(--bcet-ink); }
.bcet-project-body p { margin: 0; color: var(--bcet-muted); }

/* CTA / Contact */
.bcet-cta-wrap { padding: 0 0 96px; }
.bcet-cta {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center;
  padding: 52px 56px; border-radius: 28px; color: #fff; background: linear-gradient(120deg,#043b87,#0b65c8); box-shadow: 0 25px 70px rgba(4,59,135,.24);
}
.bcet-cta::after { content:""; position:absolute; width:320px; height:320px; right:-90px; top:-160px; border:50px solid rgba(255,255,255,.08); border-radius:50%; }
.bcet-cta h2 { position:relative; z-index:1; max-width: 700px; margin: 0; color: #fff; font-size: clamp(32px,4vw,48px); line-height: 1.08; letter-spacing: -.035em; }
.bcet-cta p { position:relative; z-index:1; max-width: 650px; margin: 14px 0 0; color: #d4e6fa; }
.bcet-cta-actions { position:relative; z-index:1; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }

/* Content */
.bcet-content { padding: 72px 0 96px; }
.bcet-content-header { max-width: 820px; margin-bottom: 38px; }
.bcet-content-header h1 { margin: 0; color: var(--bcet-ink); font-size: clamp(38px,5vw,60px); line-height: 1.06; letter-spacing: -.04em; }
.bcet-entry { max-width: 820px; font-size: 17px; }
.bcet-entry h2, .bcet-entry h3, .bcet-entry h4 { color: var(--bcet-ink); line-height: 1.2; }
.bcet-entry img { border-radius: 14px; }
.bcet-post-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.bcet-post-card { border: 1px solid var(--bcet-line); border-radius: 18px; background:#fff; overflow:hidden; }
.bcet-post-card-body { padding: 24px; }
.bcet-post-card h2 { margin:0 0 10px; font-size:21px; line-height:1.25; }

/* Footer */
.bcet-site-footer { background: #050f1a; color: #93abc1; }
.bcet-footer-top { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 70px; padding: 72px 0 48px; }
.bcet-footer-brand img { width: 230px; padding: 12px 14px; border-radius: 12px; background: #fff; }
.bcet-footer-brand p { max-width: 420px; margin: 18px 0 0; }
.bcet-footer-title { margin: 0 0 18px; color: #fff; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.bcet-footer-links { margin: 0; padding: 0; list-style: none; }
.bcet-footer-links li { margin: 8px 0; }
.bcet-footer-links a { color: #9fb5ca; }
.bcet-footer-links a:hover { color: #fff; }
.bcet-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0 28px; border-top: 1px solid rgba(255,255,255,.09); font-size: 13px; }

/* WordPress alignment */
.alignwide { width: min(1100px, 100%); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.wp-caption, .gallery-caption { color: var(--bcet-muted); font-size: 14px; }
.sticky { position: relative; }
.bypostauthor { font-weight: inherit; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width: 1020px) {
  .bcet-header-cta { display: none; }
  .bcet-menu-toggle { display: block; }
  .bcet-nav { display: none; position: absolute; left: 20px; right: 20px; top: calc(100% + 8px); padding: 16px; border: 1px solid var(--bcet-line); border-radius: 16px; background: #fff; box-shadow: var(--bcet-shadow); }
  .bcet-nav.is-open { display: block; }
  .bcet-nav ul { align-items: stretch; flex-direction: column; gap: 0; }
  .bcet-nav a { display: block; padding: 11px 8px; }
  .bcet-hero-inner { grid-template-columns: 1fr; gap: 20px; min-height: auto; padding: 76px 0 110px; }
  .bcet-schematic { min-height: 420px; }
  .bcet-schematic-card { width: 430px; max-width: 88vw; }
  .bcet-about { grid-template-columns: 1fr; }
  .bcet-process { grid-template-columns: repeat(2,1fr); }
  .bcet-cta { grid-template-columns: 1fr; }
  .bcet-cta-actions { justify-content: flex-start; }
  .bcet-footer-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .bcet-container { width: min(calc(100% - 28px), var(--bcet-width)); }
  .bcet-section { padding: 72px 0; }
  .bcet-header-inner { min-height: 72px; }
  .bcet-brand img, .bcet-brand .custom-logo { height: 43px; max-width: 205px; }
  .bcet-hero-inner { padding: 64px 0 92px; }
  .bcet-hero h1 { font-size: clamp(42px,13vw,60px); }
  .bcet-hero-meta { gap: 18px; }
  .bcet-schematic { min-height: 330px; }
  .bcet-schematic-card { width: 330px; }
  .bcet-floating-chip { right: 0; }
  .bcet-trust { margin-top: -36px; }
  .bcet-trust-grid { grid-template-columns: 1fr; }
  .bcet-trust-item + .bcet-trust-item { border-left: 0; border-top: 1px solid var(--bcet-line); }
  .bcet-grid, .bcet-post-list { grid-template-columns: 1fr; }
  .bcet-about-visual { min-height: 390px; }
  .bcet-about-mark { inset: 45px 30px 95px; }
  .bcet-about-mark img { width: 86%; }
  .bcet-process { grid-template-columns: 1fr; }
  .bcet-cta { padding: 38px 28px; }
  .bcet-footer-top { grid-template-columns: 1fr; gap: 34px; }
  .bcet-footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto!important; transition: none!important; animation: none!important; }
}

/* Internal pages - v1.1 */
.bcet-page-hero {
  position: relative; overflow: hidden; color: #d7e6f6;
  background: linear-gradient(125deg, #061626 0%, #082c54 58%, #064790 100%);
}
.bcet-page-hero::before {
  content: ""; position: absolute; inset: 0; opacity: .32;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 52px 52px;
}
.bcet-page-hero::after {
  content:""; position:absolute; width:520px; height:520px; right:-190px; top:-250px;
  border:1px solid rgba(104,174,252,.22); border-radius:50%; box-shadow: 0 0 0 70px rgba(104,174,252,.04), 0 0 0 145px rgba(104,174,252,.025);
}
.bcet-page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: center; min-height: 470px; padding: 88px 0; }
.bcet-page-hero .bcet-kicker { color: #68aefc; }
.bcet-page-hero h1 { max-width: 900px; margin: 0; color: #fff; font-size: clamp(44px, 5.7vw, 72px); line-height: 1; letter-spacing: -.05em; }
.bcet-page-hero p { max-width: 730px; margin: 24px 0 0; color: #b8cce0; font-size: clamp(18px, 2vw, 21px); }
.bcet-page-hero-panel { justify-self: end; width: min(360px, 100%); min-height: 250px; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; border: 1px solid rgba(255,255,255,.16); border-radius: 24px; background: rgba(255,255,255,.055); backdrop-filter: blur(8px); box-shadow: 0 20px 70px rgba(0,0,0,.15); }
.bcet-page-hero-panel > span { margin-bottom: auto; color: #68aefc; font-size: 13px; font-weight: 900; letter-spacing: .12em; }
.bcet-page-hero-panel strong { color: #fff; font-size: 24px; }
.bcet-page-hero-panel small { margin-top: 6px; color: #9db6cf; }
.bcet-page-hero-panel--logo { justify-content: center; align-items: center; background: rgba(255,255,255,.95); }
.bcet-page-hero-panel--logo img { width: 100%; max-width: 290px; }
.bcet-entry--wide { max-width: 980px; }
.bcet-page-extra-content { margin-top: 70px; padding-top: 54px; border-top: 1px solid var(--bcet-line); }

/* About page */
.bcet-about-page-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: start; }
.bcet-about-copy { max-width: 760px; margin-top: 30px; }
.bcet-about-copy p { margin: 0 0 16px; font-size: 17px; }
.bcet-authorization-card { position: sticky; top: 118px; padding: 34px; border: 1px solid var(--bcet-line); border-radius: 24px; background: #fff; box-shadow: var(--bcet-shadow); }
.bcet-authorization-icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 32px; border-radius: 14px; background: var(--bcet-blue-soft); color: var(--bcet-blue); font-size: 25px; }
.bcet-authorization-card small { color: var(--bcet-muted); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bcet-authorization-card h3 { margin: 8px 0 12px; color: var(--bcet-ink); font-size: 27px; line-height: 1.12; }
.bcet-authorization-card p { margin: 0; color: var(--bcet-muted); }
.bcet-authorization-line { display: block; height: 1px; margin: 24px 0; background: var(--bcet-line); }
.bcet-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 42px; }
.bcet-feature { padding: 30px; border: 1px solid var(--bcet-line); border-radius: 20px; background: #fff; }
.bcet-feature > span { display: inline-block; margin-bottom: 48px; color: var(--bcet-blue); font-size: 13px; font-weight: 900; letter-spacing: .12em; }
.bcet-feature h3 { margin: 0 0 9px; color: var(--bcet-ink); font-size: 22px; }
.bcet-feature p { margin: 0; color: var(--bcet-muted); font-size: 15px; }
.bcet-capabilities-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.bcet-capability-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.14); }
.bcet-capability-list li { display: flex; gap: 18px; align-items: center; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.14); color: #dbe8f7; font-weight: 700; }
.bcet-capability-list span { color: #68aefc; font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.bcet-cta-wrap--page { padding-top: 96px; }

/* Contact page */
.bcet-section--contact { background: linear-gradient(180deg, #fff, #f8fafc); }
.bcet-contact-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: start; }
.bcet-contact-details h2, .bcet-form-heading h2 { margin: 0; color: var(--bcet-ink); font-size: clamp(32px, 4vw, 48px); line-height: 1.08; letter-spacing: -.035em; }
.bcet-contact-details > p { max-width: 520px; color: var(--bcet-muted); }
.bcet-contact-cards { display: grid; gap: 12px; margin-top: 32px; }
.bcet-contact-card { display: flex; gap: 16px; align-items: center; padding: 18px; border: 1px solid var(--bcet-line); border-radius: 16px; background: #fff; color: var(--bcet-ink); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.bcet-contact-card:hover { color: var(--bcet-ink); transform: translateY(-2px); border-color: #c4d7ef; box-shadow: 0 12px 30px rgba(2,20,45,.07); }
.bcet-contact-card-icon { flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--bcet-blue-soft); color: var(--bcet-blue); font-weight: 900; }
.bcet-contact-card small, .bcet-contact-card strong { display: block; }
.bcet-contact-card small { color: var(--bcet-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .09em; }
.bcet-contact-card strong { margin-top: 2px; font-size: 15px; overflow-wrap: anywhere; }
.bcet-form-card { padding: 40px; border: 1px solid var(--bcet-line); border-radius: 26px; background: #fff; box-shadow: var(--bcet-shadow); }
.bcet-form-heading { margin-bottom: 28px; }
.bcet-contact-form { display: grid; gap: 18px; }
.bcet-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bcet-contact-form label { display: grid; gap: 7px; color: #26384d; font-size: 13px; font-weight: 800; }
.bcet-contact-form label > span { color: #b42318; }
.bcet-contact-form input:not([type="checkbox"]), .bcet-contact-form textarea, .bcet-contact-form select { width: 100%; border: 1px solid #cfdae6; border-radius: 12px; background: #fff; color: var(--bcet-ink); padding: 13px 14px; outline: none; transition: border-color .18s ease, box-shadow .18s ease; }
.bcet-contact-form textarea { resize: vertical; min-height: 155px; }
.bcet-contact-form input:focus, .bcet-contact-form textarea:focus, .bcet-contact-form select:focus { border-color: #6aa7e9; box-shadow: 0 0 0 4px rgba(10,86,182,.10); }
.bcet-consent { grid-template-columns: auto 1fr !important; align-items: start; gap: 10px !important; color: var(--bcet-muted) !important; font-size: 13px !important; font-weight: 500 !important; }
.bcet-consent input { margin-top: 4px; }
.bcet-form-card .bcet-btn--primary { border-color: var(--bcet-blue); background: var(--bcet-blue); color: #fff; }
.bcet-form-card .bcet-btn--primary:hover { background: #032f6d; color: #fff; }
.bcet-submit { justify-self: start; cursor: pointer; }
.bcet-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.bcet-alert { margin: 0 0 22px; padding: 14px 16px; border-radius: 12px; font-size: 14px; }
.bcet-alert--success { border: 1px solid #a8d8be; background: #eefaf3; color: #185b35; }
.bcet-alert--warning { border: 1px solid #f0c1b9; background: #fff4f1; color: #8d2e20; }
.bcet-alert--admin { margin-top: 24px; border: 1px solid #f0d48b; background: #fff9e8; color: #725307; }

/* Projects page */
.bcet-project-hero-lines { position: relative; justify-self: end; width: min(390px,100%); height: 270px; border: 1px solid rgba(255,255,255,.15); border-radius: 24px; overflow: hidden; background: rgba(255,255,255,.035); }
.bcet-project-hero-lines i { position: absolute; display:block; height:2px; background:#4f9cf0; transform-origin:left center; opacity:.86; }
.bcet-project-hero-lines i:nth-child(1){width:82%;left:9%;top:22%;transform:rotate(18deg)}
.bcet-project-hero-lines i:nth-child(2){width:63%;left:22%;top:50%;transform:rotate(-31deg)}
.bcet-project-hero-lines i:nth-child(3){width:46%;left:12%;top:67%;transform:rotate(0deg)}
.bcet-project-hero-lines i:nth-child(4){width:55%;left:45%;top:78%;transform:rotate(-45deg)}
.bcet-project-hero-lines span { position:absolute; left:24px; bottom:22px; color:#fff; font-size:12px; font-weight:900; letter-spacing:.13em; }
.bcet-eu-strip { background: #003399; color: #fff; }
.bcet-eu-strip-inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding-top: 24px; padding-bottom: 24px; }
.bcet-eu-strip-inner > div { display: grid; grid-template-columns: auto auto; column-gap: 14px; align-items: center; }
.bcet-eu-strip-inner strong { font-size: 17px; }
.bcet-eu-strip-inner p { grid-column: 2; margin: 1px 0 0; color: #c9d8ff; font-size: 13px; }
.bcet-eu-mini-stars { color: #ffcc00; letter-spacing: 1px; }
.bcet-projects-heading { display: flex; justify-content: space-between; gap: 40px; align-items: end; }
.bcet-projects-heading > p { max-width: 400px; margin: 0; color: var(--bcet-muted); }
.bcet-projects-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 48px; }
.bcet-project-tile { overflow: hidden; border: 1px solid var(--bcet-line); border-radius: 20px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.bcet-project-tile:hover { transform: translateY(-4px); box-shadow: var(--bcet-shadow); }
.bcet-project-tile-media { display: block; aspect-ratio: 16/10; overflow: hidden; background: #082d57; }
.bcet-project-tile-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.bcet-project-tile:hover .bcet-project-tile-media img { transform: scale(1.035); }
.bcet-project-tile-media .bcet-project-placeholder { display: block; }
.bcet-project-tile-body { padding: 26px; }
.bcet-project-tile h2 { margin: 10px 0 10px; font-size: 23px; line-height: 1.18; }
.bcet-project-tile h2 a { color: var(--bcet-ink); }
.bcet-project-tile p { margin: 0; color: var(--bcet-muted); font-size: 15px; }
.bcet-project-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.bcet-project-tags span { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: var(--bcet-blue-soft); color: var(--bcet-blue); font-size: 11px; font-weight: 850; letter-spacing: .04em; }
.bcet-pagination { display:flex; justify-content:center; gap:8px; margin-top:48px; }
.bcet-pagination .page-numbers { min-width:40px; height:40px; display:grid; place-items:center; padding:0 10px; border:1px solid var(--bcet-line); border-radius:10px; background:#fff; color:var(--bcet-ink); font-weight:800; }
.bcet-pagination .current, .bcet-pagination .page-numbers:hover { border-color:var(--bcet-blue); background:var(--bcet-blue); color:#fff; }
.bcet-empty-state { margin-top: 48px; padding: 70px 30px; text-align:center; border: 1px dashed #bfd0e3; border-radius: 24px; background: #f8fbff; }
.bcet-empty-state > span { display:grid; place-items:center; width:60px; height:60px; margin:0 auto 20px; border-radius:18px; background:var(--bcet-blue-soft); color:var(--bcet-blue); font-size:28px; }
.bcet-empty-state h2 { margin:0; color:var(--bcet-ink); }
.bcet-empty-state p { max-width:620px; margin:10px auto 22px; color:var(--bcet-muted); }

/* Single project */
.bcet-project-single-hero { padding: 90px 0 70px; background: #071727; color:#dbe8f7; }
.bcet-project-single-hero h1 { max-width: 1000px; margin:18px 0 0; color:#fff; font-size:clamp(44px,6vw,72px); line-height:1.02; letter-spacing:-.045em; }
.bcet-project-single-hero p { max-width:760px; margin:18px 0 0; color:#a9bed3; font-size:19px; }
.bcet-back-link { display:inline-block; margin-bottom:24px; color:#8cc3ff; font-size:14px; font-weight:800; }
.bcet-back-link:hover { color:#fff; }
.bcet-project-single-image { margin-top:-30px; position:relative; z-index:2; }
.bcet-project-single-image img { width:100%; max-height:680px; object-fit:cover; border-radius:24px; box-shadow:var(--bcet-shadow); }
.bcet-project-single-content { padding-top:70px; }

/* EU funded project page */
.bcet-eu-hero { position:relative; overflow:hidden; background:#003399; color:#fff; }
.bcet-eu-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 78% 24%, rgba(255,204,0,.12), transparent 26%), linear-gradient(130deg, rgba(0,0,0,.12), transparent 50%); }
.bcet-eu-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.25fr .75fr; gap:60px; min-height:520px; align-items:center; padding:90px 0; }
.bcet-eu-label { display:inline-flex; align-items:center; gap:9px; margin-bottom:22px; color:#fff; font-size:13px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.bcet-eu-label span { color:#ffcc00; }
.bcet-eu-hero h1 { max-width:900px; margin:0; color:#fff; font-size:clamp(44px,5.8vw,72px); line-height:1; letter-spacing:-.05em; }
.bcet-eu-hero p { max-width:700px; margin:22px 0 0; color:#d0dcff; font-size:19px; }
.bcet-status-pill { display:inline-flex; margin-top:28px; padding:8px 12px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; font-size:12px; font-weight:850; }
.bcet-eu-symbol { position:relative; justify-self:end; width:280px; height:280px; border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.bcet-eu-symbol span { position:absolute; left:50%; top:50%; color:#ffcc00; font-size:18px; transform-origin:0 0; }
.bcet-eu-symbol span:nth-child(1){transform:rotate(0deg) translateY(-112px) rotate(0deg)}
.bcet-eu-symbol span:nth-child(2){transform:rotate(30deg) translateY(-112px) rotate(-30deg)}
.bcet-eu-symbol span:nth-child(3){transform:rotate(60deg) translateY(-112px) rotate(-60deg)}
.bcet-eu-symbol span:nth-child(4){transform:rotate(90deg) translateY(-112px) rotate(-90deg)}
.bcet-eu-symbol span:nth-child(5){transform:rotate(120deg) translateY(-112px) rotate(-120deg)}
.bcet-eu-symbol span:nth-child(6){transform:rotate(150deg) translateY(-112px) rotate(-150deg)}
.bcet-eu-symbol span:nth-child(7){transform:rotate(180deg) translateY(-112px) rotate(-180deg)}
.bcet-eu-symbol span:nth-child(8){transform:rotate(210deg) translateY(-112px) rotate(-210deg)}
.bcet-eu-symbol span:nth-child(9){transform:rotate(240deg) translateY(-112px) rotate(-240deg)}
.bcet-eu-symbol span:nth-child(10){transform:rotate(270deg) translateY(-112px) rotate(-270deg)}
.bcet-eu-symbol span:nth-child(11){transform:rotate(300deg) translateY(-112px) rotate(-300deg)}
.bcet-eu-symbol span:nth-child(12){transform:rotate(330deg) translateY(-112px) rotate(-330deg)}
.bcet-eu-symbol strong { position:absolute; inset:0; display:grid; place-items:center; font-size:48px; letter-spacing:.08em; }
.bcet-eu-content-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:start; }
.bcet-eu-facts { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:38px; }
.bcet-eu-facts > div { padding:20px; border:1px solid var(--bcet-line); border-radius:16px; background:#fff; }
.bcet-eu-facts small { display:block; color:var(--bcet-muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.bcet-eu-facts strong { display:block; margin-top:5px; color:var(--bcet-ink); font-size:16px; line-height:1.35; }
.bcet-eu-branding-card { padding:24px; border:1px solid var(--bcet-line); border-radius:22px; background:#fff; box-shadow:var(--bcet-shadow); }
.bcet-eu-branding-image { width:100%; height:auto; display:block; border-radius:12px; }
.bcet-eu-branding-placeholder { min-height:320px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px; border:1px dashed #c5d3e3; border-radius:14px; background:#f8fbff; }
.bcet-eu-branding-placeholder > span { color:#003399; letter-spacing:4px; }
.bcet-eu-branding-placeholder strong { margin-top:16px; color:var(--bcet-ink); font-size:20px; }
.bcet-eu-branding-placeholder p { max-width:320px; margin:8px 0 0; color:var(--bcet-muted); font-size:14px; }
.bcet-eu-text-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.bcet-eu-text-grid article { padding:34px; border:1px solid var(--bcet-line); border-radius:20px; background:#fff; }
.bcet-eu-text-grid h2 { margin:0; color:var(--bcet-ink); font-size:30px; line-height:1.15; }
.bcet-eu-text-grid p { margin:18px 0 0; color:var(--bcet-text); }
.bcet-eu-footer-note { padding:34px 0; background:#f0f4fa; border-top:1px solid var(--bcet-line); }
.bcet-eu-footer-note .bcet-container { display:flex; justify-content:space-between; gap:40px; align-items:center; }
.bcet-eu-footer-note p { max-width:760px; margin:0; color:var(--bcet-muted); font-size:13px; }
.bcet-eu-footer-note .bcet-container > div { display:flex; gap:18px; flex-wrap:wrap; justify-content:flex-end; }
.bcet-eu-footer-note a { font-size:13px; font-weight:800; }

@media (max-width: 1020px) {
  .bcet-page-hero-grid, .bcet-eu-hero-grid { grid-template-columns: 1fr; min-height: auto; gap: 35px; }
  .bcet-page-hero-panel, .bcet-project-hero-lines, .bcet-eu-symbol { justify-self: start; }
  .bcet-about-page-grid, .bcet-contact-layout, .bcet-eu-content-grid, .bcet-capabilities-layout { grid-template-columns: 1fr; gap: 48px; }
  .bcet-authorization-card { position: static; }
  .bcet-feature-grid { grid-template-columns: repeat(2,1fr); }
  .bcet-projects-grid { grid-template-columns: repeat(2,1fr); }
  .bcet-eu-symbol { width:240px; height:240px; }
  .bcet-eu-symbol span:nth-child(1){transform:rotate(0deg) translateY(-94px) rotate(0deg)}
  .bcet-eu-symbol span:nth-child(2){transform:rotate(30deg) translateY(-94px) rotate(-30deg)}
  .bcet-eu-symbol span:nth-child(3){transform:rotate(60deg) translateY(-94px) rotate(-60deg)}
  .bcet-eu-symbol span:nth-child(4){transform:rotate(90deg) translateY(-94px) rotate(-90deg)}
  .bcet-eu-symbol span:nth-child(5){transform:rotate(120deg) translateY(-94px) rotate(-120deg)}
  .bcet-eu-symbol span:nth-child(6){transform:rotate(150deg) translateY(-94px) rotate(-150deg)}
  .bcet-eu-symbol span:nth-child(7){transform:rotate(180deg) translateY(-94px) rotate(-180deg)}
  .bcet-eu-symbol span:nth-child(8){transform:rotate(210deg) translateY(-94px) rotate(-210deg)}
  .bcet-eu-symbol span:nth-child(9){transform:rotate(240deg) translateY(-94px) rotate(-240deg)}
  .bcet-eu-symbol span:nth-child(10){transform:rotate(270deg) translateY(-94px) rotate(-270deg)}
  .bcet-eu-symbol span:nth-child(11){transform:rotate(300deg) translateY(-94px) rotate(-300deg)}
  .bcet-eu-symbol span:nth-child(12){transform:rotate(330deg) translateY(-94px) rotate(-330deg)}
}

@media (max-width: 760px) {
  .bcet-page-hero-grid, .bcet-eu-hero-grid { padding: 66px 0; }
  .bcet-page-hero h1, .bcet-eu-hero h1 { font-size: clamp(40px, 12vw, 56px); }
  .bcet-page-hero-panel, .bcet-project-hero-lines { width:100%; }
  .bcet-page-hero-panel--logo img { max-width:245px; }
  .bcet-feature-grid, .bcet-projects-grid, .bcet-eu-facts, .bcet-eu-text-grid, .bcet-form-grid { grid-template-columns:1fr; }
  .bcet-feature > span { margin-bottom:30px; }
  .bcet-form-card { padding:28px 20px; }
  .bcet-projects-heading { display:block; }
  .bcet-projects-heading > p { margin-top:16px; }
  .bcet-eu-strip-inner, .bcet-eu-footer-note .bcet-container { align-items:flex-start; flex-direction:column; }
  .bcet-eu-strip-inner > div { grid-template-columns:1fr; }
  .bcet-eu-strip-inner p { grid-column:1; margin-top:6px; }
  .bcet-eu-symbol { width:210px; height:210px; }
  .bcet-eu-symbol { display:none; }
  .bcet-eu-footer-note .bcet-container > div { justify-content:flex-start; }
}
