:root {
    --bs-primary: #009688;
    --bs-link-color: #009688;
    --bs-link-hover-color: #00796b;
    --brand-primary: #009688;
    --brand-primary-dark: #00796b;
    --brand-accent: #26c6da;
    --brand-dark: #0d1b2a;
    --brand-gradient: linear-gradient(135deg, #009688, #26c6da);
    --bs-font-sans-serif: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { color: var(--brand-dark); font-family: var(--bs-font-sans-serif); overflow-wrap: anywhere; }
.btn-primary { --bs-btn-bg: var(--brand-primary); --bs-btn-border-color: var(--brand-primary); --bs-btn-hover-bg: var(--brand-primary-dark); --bs-btn-hover-border-color: var(--brand-primary-dark); --bs-btn-active-bg: var(--brand-primary-dark); }
.text-bg-primary, .badge.text-bg-primary { background-color: var(--brand-primary) !important; color: #fff !important; }
.text-primary { color: var(--brand-primary) !important; }
.gradient-text { background: var(--brand-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.gradient-text-on-dark { color: var(--brand-accent); }
.brand-accent { color: var(--brand-primary); }
.letter-spaced { letter-spacing: .08em; }
.section-tag { display: inline-block; padding: .35rem .9rem; border-radius: 999px; background: rgba(0,150,136,.12); color: var(--brand-primary-dark); font-weight: 600; font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; margin-bottom: .75rem; }
.section-heading { max-width: 52rem; }
.site-section { padding: 4.5rem 0; }
.hero-section { background: radial-gradient(ellipse 60% 50% at 85% 20%, rgba(38,198,218,.12), transparent), radial-gradient(ellipse 50% 60% at 10% 90%, rgba(0,150,136,.1), transparent); }
.hero-node-icon, .service-icon { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: .9rem; background: rgba(0,150,136,.12); color: var(--brand-primary); font-size: 1.4rem; }
.service-card .service-icon { width: 3.5rem; height: 3.5rem; }
.service-card a, .career-card a { color: var(--brand-primary); }
.service-card:hover, .product-card:hover, .hero-node:hover { transform: translateY(-4px); transition: transform .2s ease, box-shadow .2s ease; }
.trusted-section { background: var(--brand-dark); color: #fff; }
.trusted-logo { color: rgba(255,255,255,.55); letter-spacing: .12em; font-size: .95rem; }
.process-number { font-size: 2rem; line-height: 1; }
.tech-badge { padding: .6rem 1.1rem; border: 1px solid rgba(0,150,136,.25); background: rgba(0,150,136,.08); color: var(--brand-primary-dark); font-size: .9rem; }
.avatar-circle { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--brand-gradient); color: #fff; font-size: .9rem; flex-shrink: 0; }
.cta-box { background: radial-gradient(ellipse 50% 80% at 90% 10%, rgba(38,198,218,.25), transparent), var(--brand-dark); }
.footer-muted { color: rgba(255,255,255,.62); }
.site-navbar { z-index: 1030; }
.site-navbar.is-scrolled { box-shadow: 0 .25rem .75rem rgba(13,27,42,.08); }
.project-image { width: 100%; height: 210px; object-fit: cover; }
.content-body { overflow-wrap: anywhere; }
.content-body img, .content-body iframe { max-width: 100%; }
.admin-shell { min-height: 70vh; }
.back-to-top { position: fixed; right: 1rem; bottom: 1rem; z-index: 1020; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; color: #fff; background: var(--brand-primary); opacity: 0; visibility: hidden; transition: opacity .2s ease; }
.back-to-top.is-visible { opacity: 1; visibility: visible; }

@media (max-width: 991.98px) {
    .site-navbar .container { position: relative; }
    .site-navbar .navbar-collapse { position: absolute; z-index: 1050; inset: 100% 0 auto; max-height: calc(100vh - 4.5rem); overflow-y: auto; padding: .75rem 1rem 1rem; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); border-top: 0; border-radius: 0 0 .75rem .75rem; box-shadow: 0 .5rem 1rem rgba(13,27,42,.12); }
}
@media (max-width: 767.98px) {
    .site-section { padding: 3rem 0; }
    .display-4 { font-size: clamp(2.2rem, 11vw, 3.5rem); }
    .row.g-5 { --bs-gutter-x: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
