@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  --bg: #040910;
  --bg-2: #0b1424;
  --panel: rgba(10, 18, 30, 0.82);
  --panel-strong: rgba(12, 22, 36, 0.9);
  --panel-soft: rgba(255, 255, 255, 0.04);
  --text: #eef4ff;
  --muted: #a3b7d4;
  --accent: #5ee0ff;
  --accent-2: #49dba8;
  --accent-3: #ffdf6f;
  --line: rgba(255, 255, 255, 0.12);
  --shadow: 0 26px 80px rgba(0, 0, 0, 0.7);
  --radius: 18px;
  --ring: 0 0 0 2px rgba(94, 224, 255, 0.2);
}

* { box-sizing: border-box; }
html, body { height: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: "Space Grotesk", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(1200px 600px at -10% -10%, rgba(94, 224, 255, 0.12), transparent 60%),
    radial-gradient(900px 400px at 110% 0, rgba(77, 219, 168, 0.12), transparent 60%),
    linear-gradient(180deg, #060c16 0%, #040910 65%, #03070c 100%);
  line-height: 1.65;
}

.has-js body.page-loaded main,
.has-js body.page-loaded .footer { opacity: 1; transform: none; transition: opacity .35s ease, transform .35s ease; }
.has-js main, .has-js .footer { opacity: 0; transform: translateY(6px); }
.has-js body.page-leave main,
.has-js body.page-leave .footer { opacity: 0; transform: translateY(-4px); transition: opacity .12s ease, transform .12s ease; }

.has-js .transition-hit { position: relative; overflow: hidden; transition: transform .35s cubic-bezier(.2,.9,.2,1), box-shadow .35s ease, border-color .35s ease, filter .35s ease; }
.has-js .transition-hit::before,
.has-js .transition-hit::after { content:""; position:absolute; inset:-25%; border-radius: inherit; pointer-events: none; opacity: 0; }
.has-js .transition-hit::before {
  background: radial-gradient(180px 120px at 25% 10%, rgba(130,210,255,.55), transparent 70%);
  transform: scale(.85);
}
.has-js .transition-hit::after {
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.45) 45%, transparent 100%);
  transform: translateX(-140%) skewX(-18deg);
}
.has-js .transition-hit.is-leaving {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 0 0 2px rgba(94,224,255,.22) inset, 0 32px 80px rgba(0,0,0,.65);
  border-color: rgba(150,205,255,.6);
  filter: saturate(1.12) brightness(1.05);
}
.has-js .transition-hit.is-leaving::before {
  opacity: 1;
  animation: dilyGlow .22s ease;
}
.has-js .transition-hit.is-leaving::after {
  opacity: 1;
  animation: dilySweep .24s ease;
}

@keyframes dilyGlow {
  0% { opacity: 0; transform: scale(.92); }
  50% { opacity: .85; }
  100% { opacity: 0; transform: scale(1.06); }
}

@keyframes dilySweep {
  0% { opacity: 0; transform: translateX(-140%) skewX(-18deg); }
  35% { opacity: .6; }
  100% { opacity: 0; transform: translateX(140%) skewX(-18deg); }
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 26px; }

/* Header / Navigation */
.header { position: sticky; top: 0; z-index: 100; background: rgba(4, 9, 16, 0.82); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.nav { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; gap: 16px; }
.brand { font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; font-size: 13px; color: var(--accent); white-space: nowrap; }
.nav-items { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.nav a, .nav-link { padding: 8px 12px; border-radius: 12px; font-weight: 700; color: #cfd8e8; transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.nav a:hover, .nav-link:hover { color: var(--text); background: rgba(255, 255, 255, 0.05); box-shadow: inset 0 0 0 1px rgba(94, 224, 255, 0.25); transform: translateY(-1px); }
.nav a.active { color: var(--text); box-shadow: inset 0 0 0 1px rgba(94, 224, 255, 0.32); background: rgba(255, 255, 255, 0.06); }

.nav-dropdown { position: relative; }
.nav-caret { font-size: .9em; opacity: .9; transition: transform .16s ease; }
.mega-list { position: absolute; top: 120%; left: 0; min-width: 260px; background: rgba(7, 13, 22, 0.96); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); padding: 10px; opacity: 0; transform: translateY(10px); pointer-events: none; transition: opacity .16s ease, transform .16s ease; z-index: 200; }
.mega-item { display: block; padding: 10px 12px; border-radius: 10px; font-weight: 700; color: var(--text); }
.mega-item:hover { background: rgba(94, 224, 255, 0.10); }
.nav-logo { display: inline-flex; align-items: center; justify-content: center; padding: 0; margin-left: 0; background: transparent; border: none; box-shadow: none; }
.nav-logo img { height: 88px; width: auto; max-width: 220px; object-fit: contain; display: block; filter: drop-shadow(0 10px 24px rgba(94,224,255,0.35)); }
.nav-logo:hover { transform: translateY(-1px); }
.nav-dropdown:hover .mega-list, .nav-dropdown:focus-within .mega-list { opacity: 1; transform: translateY(0); pointer-events: auto; }
.nav-dropdown:hover .nav-caret, .nav-dropdown:focus-within .nav-caret { transform: rotate(180deg); }
@media (max-width: 720px) {
  .nav { flex-wrap: wrap; }
  .nav-items { gap: 10px; }
  .mega-list { position: fixed; left: 12px; right: 12px; top: 70px; }
}

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 18px; border-radius: 14px; font-weight: 800; letter-spacing: .01em; border: 1px solid transparent; cursor: pointer; text-decoration: none; transition: transform .18s ease, box-shadow .22s ease, background .22s ease, color .22s ease; }
.btn-primary { background: linear-gradient(135deg, var(--accent), #2b74ff); color: #051320; box-shadow: 0 14px 34px rgba(94, 224, 255, 0.45); }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 16px 38px rgba(94, 224, 255, 0.55); }
.btn-primary:active { transform: translateY(0); box-shadow: 0 10px 24px rgba(94, 224, 255, 0.45); }
.btn-cta { background: linear-gradient(180deg, #6ad0ff 0%, #3a9cff 100%); color: #0b1a2a; font-size: 18px; padding: 12px 22px; border-radius: 16px; box-shadow: 0 16px 36px rgba(56, 140, 255, 0.38), inset 0 1px 0 rgba(255,255,255,0.35); }
.btn-cta:hover { transform: translateY(-1px); box-shadow: 0 22px 44px rgba(56, 140, 255, 0.45), inset 0 1px 0 rgba(255,255,255,0.38); }
.btn-cta:active { transform: translateY(0); box-shadow: 0 12px 28px rgba(56, 140, 255, 0.35), inset 0 1px 0 rgba(255,255,255,0.25); }
.btn-ghost { background: rgba(255, 255, 255, 0.05); border-color: var(--line); color: var(--text); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04); }
.btn-ghost:hover { background: rgba(255, 255, 255, 0.08); transform: translateY(-1px); }
.btn-emerald { background: linear-gradient(135deg, #4de0b0, #3bcf8d); color: #031811; box-shadow: 0 12px 28px rgba(77, 224, 176, 0.35); }
.btn-eco { background: linear-gradient(135deg, #4de0b0, #3bcf8d); color: #031811; font-weight: 800; border-radius: 14px; padding: 12px 18px; border: 1px solid rgba(77, 224, 176, 0.38); box-shadow: 0 12px 28px rgba(77, 224, 176, 0.35); transition: transform .15s ease, box-shadow .2s ease; }
.btn-eco:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(77, 224, 176, 0.42); }
.btn-outline, .btn--outline { background: transparent; border: 2px solid #23a6f0; color: #23a6f0; font-weight: 700; padding: 10px 16px; border-radius: 12px; }
.btn-outline:hover, .btn--outline:hover { background: rgba(35, 166, 240, 0.12); filter: brightness(1.05); transform: translateY(-1px); }
.btn-pill, .btn--pill { border-radius: 999px; padding: 14px 26px; font-weight: 700; text-decoration: none; color: #fff; position: relative; overflow: hidden; background: linear-gradient(135deg, #2d8cff, #1a6de0); box-shadow: 0 6px 18px rgba(45, 140, 255, 0.45), inset 0 2px 6px rgba(255, 255, 255, 0.35); transition: transform .15s ease, filter .25s ease; }
.btn-pill::before, .btn--pill::before { content:""; position:absolute; top:0; left:0; right:0; height:45%; background: linear-gradient(to bottom, rgba(255,255,255,.45), rgba(255,255,255,0)); border-radius:999px; pointer-events:none; }
.btn-pill:hover, .btn--pill:hover { filter: brightness(1.08); transform: translateY(-1px); }
.btn-pill:active, .btn--pill:active { transform: translateY(0); box-shadow: 0 4px 14px rgba(45, 140, 255, 0.35), inset 0 2px 6px rgba(255, 255, 255, 0.25); }
.btn-green { background: linear-gradient(135deg, #22cc88, #009f60); color: #fff; }

/* Sections */
.section { padding: 84px 0; }
.section h2 { font-size: 40px; margin: 0 0 12px; letter-spacing: -0.01em; text-align: center; }
.section .lede, .section > p { color: var(--muted); max-width: 880px; margin: 0 auto 10px; text-align: center; }

/* Hero */
.hero { position: relative; padding: 140px 0 120px; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,0.05); background:
  radial-gradient(1200px 420px at 10% -10%, rgba(94, 224, 255, 0.14), transparent 65%),
  radial-gradient(1000px 480px at 120% 10%, rgba(77, 219, 168, 0.12), transparent 60%),
  linear-gradient(180deg, #08101c 0%, #050c15 70%, #040910 100%);
}
.hero::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 120px 120px; opacity: .4; z-index: -1; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 32px; align-items: center; }
.hero-copy h1 { font-size: clamp(34px, 5vw, 60px); margin: 12px 0 14px; letter-spacing: -0.01em; }
.hero-copy p { color: var(--muted); margin: 0 0 18px; max-width: 720px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border: 1px solid rgba(94, 224, 255, 0.32); border-radius: 999px; font-size: 13px; font-weight: 700; color: #b9e7ff; background: rgba(94, 224, 255, 0.08); box-shadow: var(--ring); }
.hero-cta-row, .cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0 10px; }
.stat-row { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.stat { padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); min-width: 150px; }
.stat .value { display: block; font-weight: 800; font-size: 20px; color: var(--accent); }
.stat .label { color: var(--muted); font-size: 14px; }
.hero-panel { position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: 20px; padding: 18px; box-shadow: var(--shadow); overflow: hidden; }
.hero-panel::after { content:""; position:absolute; inset:-30%; background: radial-gradient(circle at 20% 10%, rgba(94, 224, 255, 0.18), transparent 55%), radial-gradient(circle at 90% 90%, rgba(73, 219, 168, 0.18), transparent 50%); mix-blend-mode: screen; pointer-events: none; }
.hero-panel h3 { margin: 0 0 6px; }
.hero-panel p { margin: 0 0 8px; color: var(--muted); }
.hero-panel .panel-list { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 8px; position: relative; z-index: 1; }
.hero-panel .panel-list li { padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06); display: flex; align-items: center; gap: 10px; }
.hero-panel .panel-list li.is-link { padding: 0; background: transparent; border: none; }
.hero-panel .panel-list .panel-link { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06); color: inherit; text-decoration: none; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.hero-panel .panel-list .panel-link:hover { transform: translateY(-1px); background: rgba(94,224,255,0.08); border-color: rgba(94,224,255,0.3); }
.hero-panel .pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,0.06); border: 1px solid var(--line); font-weight: 700; }
.hero-panel .panel-divider { height: 1px; background: rgba(255,255,255,0.08); margin: 14px 0; }
.hero-panel.panel-highlight { border-color: rgba(94,224,255,0.38); box-shadow: 0 0 0 1px rgba(94,224,255,0.18) inset, 0 26px 70px rgba(0,0,0,0.6); background: linear-gradient(180deg, rgba(10,18,30,0.95), rgba(6,11,18,0.98)); }
.hero-panel.panel-highlight .pill { color: #c6f6ff; border-color: rgba(94,224,255,0.4); background: rgba(94,224,255,0.12); }
.jump-links { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.jump-link { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 12px; font-weight: 800; color: var(--text); text-decoration: none; border: 1px solid rgba(94,224,255,0.35); background: rgba(94,224,255,0.08); box-shadow: inset 0 0 0 1px rgba(94,224,255,0.18); transition: transform .18s ease, background .2s ease, box-shadow .2s ease; }
.jump-link:hover { transform: translateY(-1px); background: rgba(94,224,255,0.14); box-shadow: 0 0 0 2px rgba(94,224,255,0.22) inset; }
.hero-media { position: relative; border-radius: 18px; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); height: 100%; min-height: 320px; background-size: cover; background-position: center; }
@media (max-width: 960px) { .hero { padding: 120px 0 100px; } .hero-grid { grid-template-columns: 1fr; } .hero-panel, .hero-media { min-height: auto; } }
@media (max-width: 640px) { .hero { padding: 96px 0 80px; } }

/* Media showcase */
.media-showcase { padding: 44px 0 68px; }
.media-grid { display: grid; grid-template-columns: 1.35fr 0.65fr; gap: 18px; }
.media-card { position: relative; border-radius: 20px; overflow: hidden; border: 1px solid var(--line); background: var(--panel); box-shadow: var(--shadow); min-height: 220px; }
.media-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.media-card::after { content:""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,9,16,0.05), rgba(4,9,16,0.6)); pointer-events: none; }
.media-card:hover img { transform: scale(1.05); }
.media-label { position: absolute; left: 16px; bottom: 16px; background: rgba(4,9,16,0.72); border: 1px solid rgba(255,255,255,0.14); padding: 6px 12px; border-radius: 999px; font-weight: 700; font-size: 13px; color: #e9f2ff; }
.media-stack { display: grid; gap: 18px; }
.media-main { min-height: 360px; }
@media (max-width: 900px) { .media-grid { grid-template-columns: 1fr; } .media-main { min-height: 260px; } }

/* Cards */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; }
.card { position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); overflow: hidden; transition: transform .2s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease; }
.card::before { content:""; position:absolute; inset:0; border-radius: inherit; background: linear-gradient(145deg, rgba(94,224,255,0.12), rgba(77,219,168,0.06), transparent 65%); opacity: .9; pointer-events: none; }
.card h3 { margin: 0 0 8px; font-size: 22px; letter-spacing: -0.01em; position: relative; z-index: 1; }
.card p { margin: 0; color: var(--muted); position: relative; z-index: 1; }
.card-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 2px 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); position: relative; z-index: 1; }
.card-link { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.card-cta { margin-top: auto; font-weight: 800; color: var(--accent); letter-spacing: .01em; }
.card-link:hover .card-cta { color: var(--accent-2); }
.card-list { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 6px; position: relative; z-index: 1; }
.card-list li { position: relative; padding-left: 16px; color: var(--muted); }
.card-list li::before { content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background: var(--accent); box-shadow: 0 0 8px rgba(94,224,255,0.6); }
.card-list a { color: var(--text); text-decoration: none; border-bottom: 1px dashed rgba(120,170,255,0.4); }
.card-list a:hover { border-bottom-color: transparent; }
.card .img, .card .card-media { width: 100%; height: 220px; border-radius: 14px; margin: 12px 0; background-size: cover; background-position: center; background-repeat: no-repeat; border: 1px solid var(--line); box-shadow: var(--ring); overflow: hidden; position: relative; z-index: 1; }
.card .img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.media-collage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 10px; background: linear-gradient(180deg, rgba(8,16,26,0.9), rgba(4,9,16,0.95)); overflow: hidden; }
.media-collage .media-tile { border-radius: 12px; background-repeat: no-repeat; background-position: center; background-size: contain; background-color: rgba(9,16,26,0.6); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04); }
.card:hover { transform: translateY(-4px); box-shadow: 0 0 0 2px rgba(94,224,255,0.18) inset, 0 28px 64px rgba(0,0,0,0.55); border-color: rgba(140,190,255,0.35); background: rgba(12, 22, 36, 0.92); }

.section.section-highlight { background: radial-gradient(600px 220px at 12% -10%, rgba(94,224,255,0.16), transparent 60%), linear-gradient(180deg, rgba(8,16,26,0.92), rgba(4,9,16,0.96)); border: 1px solid rgba(120,170,255,0.2); border-radius: 22px; box-shadow: 0 22px 60px rgba(0,0,0,0.55); padding: 56px 0; }
.section.section-highlight h2::after { content:""; display:block; width:72px; height:2px; margin:10px auto 0; border-radius:999px; background: linear-gradient(90deg, var(--accent), transparent); }


/* Tabs */
.tabs { margin-top: 26px; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.tab-btn { padding: 10px 16px; border-radius: 12px; border: 1px solid var(--line); background: rgba(255,255,255,0.05); color: var(--text); cursor: pointer; font-weight: 800; }
.tab-btn.active { background: linear-gradient(135deg, var(--accent), #2b74ff); color: #031018; box-shadow: 0 12px 30px rgba(94,224,255,0.35); border-color: transparent; }
.tabpanel { display: none; margin-top: 22px; }
.tabpanel.active { display: block; }
.tabpanel .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }
.tabpanel .ph { height: 320px; border-radius: 14px; border: 1px solid var(--line); box-shadow: var(--ring); background-size: cover; background-position: center; background-repeat: no-repeat; }
@media (max-width: 800px) { .tabpanel .wrap { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .cards { grid-template-columns: 1fr; } .section { padding: 70px 0; } }

.more-btn { display: inline-block; margin-top: 12px; text-decoration: none; }
@media (max-width: 480px) { .more-btn { width: 100%; text-align: center; } }

/* Modal Contact */
:root {
  --mc-bg: rgba(4, 8, 16, 0.82);
  --mc-card: #0b1424;
  --mc-card-2: #0a111f;
  --mc-text: #f3f6ff;
  --mc-muted: #a9b5c9;
  --mc-border: rgba(150,210,255,0.26);
  --mc-primary-1: #6bd7ff;
  --mc-primary-2: #c5f2ff;
  --mc-primary-3: #5a7bff;
  --mc-shadow: 0 34px 96px rgba(0,0,0,.6);
  --mc-glow: rgba(120,200,255,.35);
}
.modal-contact-overlay { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; background: radial-gradient(800px 280px at 50% 20%, rgba(120,200,255,.16), transparent 70%), var(--mc-bg); backdrop-filter: blur(6px); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.modal-contact-overlay::before { content:""; position: absolute; inset: 0; background: radial-gradient(600px 260px at 15% 15%, rgba(90,160,255,.14), transparent 70%); pointer-events: none; }
.modal-contact-overlay.is-open, .modal-contact-overlay.is-visible { opacity: 1; pointer-events: auto; }
.modal-contact { position: relative; width: min(680px, 92vw); background: radial-gradient(140% 160% at 10% -30%, rgba(120,200,255,.22), transparent 55%), linear-gradient(180deg, rgba(11,19,34,.96), rgba(8,13,24,.98)); color: var(--mc-text); border: 1px solid transparent; border-radius: 22px; box-shadow: var(--mc-shadow); padding: 32px 30px; transform: translateY(24px) scale(0.96); opacity: 0; transition: transform .45s cubic-bezier(.16,1,.3,1), opacity .35s ease; overflow: hidden; z-index: 1; }
.modal-contact::before { content:""; position:absolute; inset:0; padding:1px; border-radius: inherit; background: linear-gradient(140deg, rgba(160,220,255,.85), rgba(90,140,255,.22), rgba(255,255,255,.08)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; opacity: .8; }
.modal-contact::after { content:""; position:absolute; inset:0; background: radial-gradient(520px 140px at 20% -15%, rgba(130,210,255,.35), transparent 70%); pointer-events: none; }
.modal-contact-overlay.is-open .modal-contact, .modal-contact-overlay.is-visible .modal-contact { transform: translateY(0) scale(1); opacity: 1; }
.modal-contact h2 { margin: 0 0 16px; font-size: clamp(22px, 3.2vw, 32px); font-weight: 800; letter-spacing: .01em; text-align: center; }
.modal-contact h2::after { content:""; display:block; width: 72px; height: 2px; margin: 12px auto 0; border-radius: 999px; background: linear-gradient(90deg, rgba(140,210,255,.6), transparent); }
.modal-contact-close { position: absolute; top: 12px; right: 14px; width: 40px; height: 40px; border-radius: 12px; border: 1px solid rgba(140,200,255,.35); background: rgba(8,14,26,.72); color: var(--mc-text); font-size: 22px; line-height: 1; cursor: pointer; transition: background .2s ease, transform .2s ease, border-color .2s ease; }
.modal-contact-close:hover { background: rgba(120,170,255,.16); border-color: rgba(170,220,255,.7); transform: translateY(-1px); }
.modal-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 10px; position: relative; z-index: 1; }
.modal-contact-form .mc-field { display: grid; gap: 8px; }
.modal-contact-form .mc-field:nth-of-type(3) { grid-column: 1 / -1; }
.modal-contact-form .mc-btn,
.modal-contact-form .mc-status,
.modal-contact-form .mc-gdpr { grid-column: 1 / -1; }
.mc-field span { display: block; font-weight: 700; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: #c2cee0; }
.mc-field input, .mc-field textarea { width: 100%; padding: 16px 16px; border-radius: 14px; border: 1px solid rgba(140,200,255,.25); background: linear-gradient(180deg, rgba(10,16,30,.98), rgba(7,11,20,.98)); color: var(--mc-text); outline: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 14px 28px rgba(0,0,0,.3); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease; }
.mc-field input::placeholder, .mc-field textarea::placeholder { color: rgba(190,205,225,.55); }
.mc-field input:hover, .mc-field textarea:hover { border-color: rgba(170,220,255,.55); }
.mc-field input:focus, .mc-field textarea:focus { border-color: var(--mc-primary-1); box-shadow: 0 0 0 4px rgba(110,190,255,.24), 0 16px 36px rgba(0,0,0,.38); background: linear-gradient(180deg, rgba(14,22,38,.98), rgba(9,14,24,.98)); }
.mc-field textarea { min-height: 140px; resize: vertical; }
.mc-btn { margin-top: 4px; padding: 16px 22px; border-radius: 16px; background: linear-gradient(90deg, var(--mc-primary-1), var(--mc-primary-2)); color: #04101c; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; border: none; cursor: pointer; box-shadow: 0 18px 44px rgba(70,180,255,.45); position: relative; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.mc-btn::after { content:""; position:absolute; inset:0; background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.6) 45%, transparent 100%); transform: translateX(-120%); transition: transform .7s ease; }
.mc-btn:hover { transform: translateY(-1px); box-shadow: 0 22px 52px rgba(70,180,255,.6); }
.mc-btn:hover::after { transform: translateX(120%); }
.mc-btn:active { transform: translateY(0); }
.mc-btn:disabled { opacity: .7; cursor: not-allowed; box-shadow: none; }
.mc-status { margin: 4px 2px 0; color: var(--mc-muted); font-size: .95rem; min-height: 1.2em; text-align: center; }
.mc-gdpr { margin: 6px 2px 0; color: var(--mc-muted); font-size: .9rem; text-align: center; }
@media (max-width: 720px) {
  .modal-contact { padding: 26px 22px; }
  .modal-contact-form { grid-template-columns: 1fr; }
}

/* Reveal */
.reveal { opacity: 1; transform: none; }
.has-js .reveal { opacity: 0; transform: translateY(14px); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.85,.2,1); }
.has-js .reveal.in-view { opacity: 1; transform: none; }

/* About page */
.about-page .section h2 { text-align: left; }
.about-page .about-values h2 { text-align: center; }
.about-page .about-hero { text-align: center; max-width: 920px; }
.about-page .about-hero h1 { font-size: 42px; margin: 0 0 8px; }
.about-page .about-hero .lede { color: var(--muted); margin: 0 auto; }
.about-page .about-hero.card { padding: 26px 28px; }
.about-page .about-hero.card:hover { transform: none; box-shadow: var(--shadow); border-color: var(--line); }
.about-page .about-intro-slim { max-width: 980px; margin: 0 auto; }
.about-page .about-timeline h2 { text-align: center; }
.about-page .about-intro-slim h2 { text-align: center; }
.about-page .prose { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }
.about-page .prose p { color: var(--muted); }
.about-page .about-intro-slim .prose { text-align: center; }
.about-page .about-intro-slim .ticks { display: inline-grid; text-align: left; margin: 14px auto 0; }
.about-page .ticks { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 8px; }
.about-page .ticks li { position: relative; padding-left: 20px; }
.about-page .ticks li::before { content:""; position: absolute; left: 0; top: 10px; width: 8px; height: 8px; border-radius: 50%; background: #3ea0ff; box-shadow: 0 0 10px rgba(62,160,255,.7); }
.about-page .card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); transition: transform .2s ease, box-shadow .25s ease, border-color .25s ease; }
.about-page .card:hover { transform: translateY(-3px); box-shadow: 0 24px 56px rgba(0,0,0,.5); border-color: rgba(140,190,255,.35); }
.about-page .about-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; max-width: 980px; margin: 0 auto; }
@media (max-width: 780px) { .about-page .about-stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .about-page .about-stats { grid-template-columns: 1fr; } }
.about-page .stat { text-align: center; padding: 18px 16px; }
.about-page .stat .num { font-size: 1.8rem; font-weight: 900; }
.about-page .stat .label { color: var(--muted); }
.about-page .timeline { list-style: none; margin: 0 auto; padding: 0; max-width: 980px; display: grid; gap: 14px; }
.about-page .timeline.slim li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; }
.about-page .timeline .dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 12px; background: #3ea0ff; box-shadow: 0 0 10px rgba(62,160,255,.7); }
.about-page .timeline .body { padding: 12px 14px; }
.about-page .timeline-slider { position: relative; max-width: 980px; margin: 0 auto 18px; padding: 28px 24px 22px; --timeline-line-y: 28px; }
.about-page .timeline-track { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; z-index: 3; min-height: 70px; }
.about-page .timeline-track::before { content:""; position: absolute; left: 10px; right: 10px; top: var(--timeline-line-y); height: 2px; background: rgba(120,170,255,.28); }
.about-page .timeline-tick { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0 6px; border: 0; background: none; cursor: pointer; font-weight: 800; font-size: .95rem; color: var(--muted); }
.about-page .timeline-tick::before { content:""; width: 10px; height: 10px; border-radius: 50%; background: #3ea0ff; box-shadow: 0 0 10px rgba(62,160,255,.6); margin-top: calc(var(--timeline-line-y) - 5px); }
.about-page .timeline-year-label,
.about-page .timeline-indicator-year { display: inline-flex; align-items: center; justify-content: center; padding: 6px 14px; border-radius: 999px; background: rgba(10,18,30,.92); border: 1px solid rgba(120,170,255,.22); box-shadow: 0 12px 24px rgba(0,0,0,.35), inset 0 0 12px rgba(80,160,255,.12); }
.about-page .timeline-tick.is-active { color: #eaf3ff; }
.about-page .timeline-tick.is-active::before { width: 12px; height: 12px; background: #79c2ff; box-shadow: 0 0 14px rgba(120,200,255,.9); }
.about-page .timeline-tick.is-active .timeline-year-label { color: #f5fbff; border-color: rgba(120,200,255,.6); box-shadow: 0 14px 28px rgba(0,0,0,.4), 0 0 18px rgba(120,200,255,.35); }
.about-page .timeline-indicator { position: absolute; top: calc(var(--timeline-line-y) - 12px); left: 10px; width: 0; height: 0; transform: translateX(-50%); transition: left var(--indicator-duration, 900ms) cubic-bezier(.22,.9,.2,1); z-index: 4; pointer-events: none; }
.about-page .timeline-indicator::before { content:""; position: absolute; left: 50%; top: 0; transform: translateX(-50%); width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 12px solid #79c2ff; filter: drop-shadow(0 0 10px rgba(120,200,255,.8)); }
.about-page .timeline-indicator-year { position: absolute; left: 50%; top: -8px; transform: translate(-50%, -100%); color: #f5fbff; border-color: rgba(120,200,255,.55); box-shadow: 0 14px 28px rgba(0,0,0,.4), 0 0 18px rgba(120,200,255,.35); }
.about-page .timeline-range { position: absolute; left: 24px; right: 24px; top: calc(var(--timeline-line-y) - 11px); width: calc(100% - 48px); height: 22px; background: transparent; z-index: 2; -webkit-appearance: none; appearance: none; }
.about-page .timeline-range:focus { outline: none; }
.about-page .timeline-range::-webkit-slider-runnable-track { height: 2px; background: transparent; }
.about-page .timeline-range::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #f2f7ff; border: 2px solid #3ea0ff; box-shadow: 0 0 14px rgba(62,160,255,.65); margin-top: -8px; }
.about-page .timeline-range::-moz-range-track { height: 2px; background: transparent; }
.about-page .timeline-range::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #f2f7ff; border: 2px solid #3ea0ff; box-shadow: 0 0 14px rgba(62,160,255,.65); }
.about-page .timeline-cards { max-width: 980px; margin: 0 auto; }
.about-page .timeline-cards .timeline-card { padding: 18px 22px; text-align: center; }
.about-page .timeline-cards.is-animated { position: relative; overflow: hidden; }
.about-page .timeline-cards.is-animated .timeline-card { position: absolute; top: 0; left: 0; right: 0; opacity: 0; transform: translateY(14px) scale(.985); filter: blur(2px); pointer-events: none; transition: opacity .4s ease, transform .55s cubic-bezier(.22,.9,.2,1), filter .45s ease; }
.about-page .timeline-cards .timeline-card h3 { margin-left: auto; margin-right: auto; }
.about-page .timeline-cards .timeline-card p { margin-left: auto; margin-right: auto; max-width: 720px; }
.about-page .timeline-cards.is-animated .timeline-card.is-active { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); pointer-events: auto; }
.about-page .timeline-cards.is-animated .timeline-card.is-exiting { opacity: 0; transform: translateY(-10px) scale(.99); filter: blur(2px); }
.about-page .timeline-year { font-size: 1.05rem; font-weight: 900; letter-spacing: .02em; color: #79c2ff; margin-bottom: 4px; }
.about-page .values-grid { display: grid; gap: 14px; grid-template-columns: repeat(3,1fr); max-width: 980px; margin: 0 auto; }
@media (max-width: 980px) { .about-page .values-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .about-page .values-grid { grid-template-columns: 1fr; } }
.about-page .value .icon.mini { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #3ea0ff; background: rgba(62,160,255,.10); border: 1px solid rgba(62,160,255,.35); box-shadow: inset 0 0 10px rgba(62,160,255,.14); }
.about-page .value p { color: var(--muted); }
.about-page .about-certs h2 { text-align: center; margin-bottom: 10px; }
.about-page .about-certs .lede { text-align: center; color: var(--muted); margin-bottom: 22px; }
.about-page .cert-grid { display: grid; gap: 14px; grid-template-columns: repeat(3,1fr); max-width: 980px; margin: 0 auto; }
@media (max-width: 1000px) { .about-page .cert-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .about-page .cert-grid { grid-template-columns: 1fr; } }
.about-page .cert h3 { margin: 0; font-size: 1.05rem; }
.about-page .cert p { margin: 0; color: var(--muted); }
.about-page .cert a.btn-ghost { display: inline-block; border-radius: 12px; border: 1px solid rgba(80,160,255,.35); padding: 10px 14px; text-decoration: none; font-weight: 800; color: var(--text); transition: background .2s ease, transform .15s ease; }
.about-page .cert a.btn-ghost:hover { background: rgba(80,160,255,.08); transform: translateY(-1px); }

/* Grid layout for parts */
.parts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 24px; }
.part { position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 16px; text-align: center; box-shadow: var(--shadow); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; transition: transform .18s ease, box-shadow .25s ease, border-color .25s ease; }
.part:hover { transform: translateY(-3px); border-color: rgba(140,190,255,.35); box-shadow: 0 0 0 2px rgba(100,170,255,.18) inset, 0 28px 64px rgba(0,0,0,.55); }
.part .img { width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.part .img img { max-height: 100%; max-width: 100%; object-fit: contain; }
.part--bigimg .img { height: 260px; margin-bottom: -36px; overflow: visible; display: grid; place-items: center; border-radius: 12px; }
.part--bigimg .img img { max-width: 86%; max-height: 115%; filter: drop-shadow(0 18px 28px rgba(0,0,0,.45)); transform: translateY(12px); transition: transform .25s ease, filter .25s ease; }
.part--bigimg:hover .img img { transform: translateY(6px) scale(1.03); filter: drop-shadow(0 22px 34px rgba(62,160,255,.35)); }
.part--gold:hover .img img { filter: drop-shadow(0 22px 34px rgba(255,210,90,.45)); }

/* Servis & Baterie shared helpers */
.page-intro { text-align: center; max-width: 900px; margin: 0 auto 28px; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.shiny-card, .panel { position: relative; border-radius: 18px; overflow: hidden; background: var(--panel); padding-bottom: 6px; transition: transform 0.3s ease, box-shadow 0.3s ease; box-shadow: var(--shadow); border: 1px solid var(--line); }
.shiny-card img { width: 100%; height: 200px; object-fit: cover; border-top-left-radius: 16px; border-top-right-radius: 16px; }
.shiny-card .body { padding: 16px 18px 14px; text-align: left; }
.shiny-card h3 { margin: 0 0 6px; color: #ffffff; font-size: 18px; }
.shiny-card p { margin: 0; color: #9cabc0; font-size: 14px; line-height: 1.55; }
.shiny-card::before { content:""; position:absolute; inset:0; z-index:0; padding:2px; background: linear-gradient(125deg,#3af,#6cf,#09f,#6cf,#3af); background-size: 280% 280%; animation: borderFlow 7s linear infinite; -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0.7; }
.shiny-card:hover { transform: translateY(-6px); box-shadow: 0 26px 70px rgba(0,0,0,0.9); }
@keyframes borderFlow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

/* Contact cards */
.k-card { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: var(--shadow); transition: transform .2s ease, box-shadow .25s ease; }
.k-card:hover { transform: translateY(-3px); box-shadow: 0 0 0 2px rgba(100,180,255,.18) inset, 0 24px 56px rgba(0,0,0,.5); }
.k-link { color: var(--text); text-decoration: none; border-bottom: 1px dashed rgba(120,170,255,.45); }
.k-link:hover { border-bottom-color: transparent; }

/* Footer */
.footer { padding: 28px 0; color: #8fa5c4; text-align: center; border-top: 1px solid var(--line); background: linear-gradient(180deg, rgba(8,16,26,0.9), rgba(4,9,16,0.95)); }
.footer-inner { display: flex; flex-direction: column; gap: 8px; align-items: center; }
.footer-links { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; font-weight: 600; }
.footer-links a { color: #a3b7d4; text-decoration: none; border-bottom: 1px dashed rgba(120,170,255,0.4); }
.footer-links a:hover { color: var(--text); border-bottom-color: transparent; }
.legal-link { color: var(--text); text-decoration: none; border-bottom: 1px dashed rgba(120,170,255,0.4); }
.legal-link:hover { border-bottom-color: transparent; }

/* Utilities */
.pill-row { display: flex; gap: 10px; flex-wrap: wrap; }
.pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,0.05); font-weight: 700; color: #dbe8ff; }
.badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.06); font-size: 13px; }

@media (max-width: 1024px) { .cards { grid-template-columns: repeat(2, 1fr); } .hero-copy h1 { font-size: clamp(30px, 7vw, 54px); } }
@media (max-width: 640px) { .cards { grid-template-columns: 1fr; } .nav a { margin-left: 0; } }

@media (max-width: 840px) {
  .container { padding: 0 20px; }
  .nav { flex-direction: column; align-items: center; }
  .nav-items { width: 100%; justify-content: center; }
  .nav-logo img { height: 72px; max-width: 200px; }
  .hero-cta-row, .cta-row, .stat-row, .jump-links { justify-content: center; }
  .hero-copy p { max-width: 100%; }
  .hero-panel { padding: 16px; }
  .stat { min-width: 0; }
}

@media (max-width: 640px) {
  .container { padding: 0 18px; }
  .section { padding: 64px 0; }
  .section h2 { font-size: clamp(26px, 7vw, 32px); }
  .section .lede, .section > p { font-size: 0.98rem; }
  .nav a, .nav-link { padding: 8px 10px; font-size: 0.96rem; }
  .nav-logo img { height: 60px; max-width: 160px; }
  .hero { padding: 96px 0 78px; }
  .hero-copy h1 { font-size: clamp(28px, 8.5vw, 40px); }
  .hero-copy p { font-size: 0.98rem; }
  .hero-panel .panel-list li,
  .hero-panel .panel-list .panel-link { padding: 9px 10px; }
  .media-collage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card { padding: 16px; }
  .card .img, .card .card-media { height: 200px; }
}

@media (max-width: 520px) {
  .nav { gap: 8px; }
  .nav-items { justify-content: center; }
  .hero-cta-row .btn, .cta-row .btn { width: 100%; }
  .stat-row { gap: 10px; }
  .stat { width: 100%; }
  .about-page .timeline-slider { padding: 22px 16px 18px; }
  .about-page .timeline-track { gap: 6px; }
  .about-page .timeline-year-label,
  .about-page .timeline-indicator-year { padding: 4px 10px; font-size: 0.78rem; }
  .about-page .timeline-tick { font-size: 0.85rem; }
  .about-page .timeline-range { left: 16px; right: 16px; width: calc(100% - 32px); }
  .about-page .timeline-cards .timeline-card { padding: 16px; }
}
