/* BETONIX visual foundation v1: cinematic public shell, compact navigation and visitor theme. */
:root {
    color-scheme: light;
    --v1-page: #f3f7f7;
    --v1-surface: #ffffff;
    --v1-surface-soft: #edf3f3;
    --v1-ink: #092735;
    --v1-copy: #526b75;
    --v1-line: #d8e3e5;
    --v1-shadow: 0 18px 48px rgba(5, 37, 50, .09);
}

html[data-color-mode="dark"] {
    color-scheme: dark;
    --v1-page: #061821;
    --v1-surface: #0b2631;
    --v1-surface-soft: #0e303c;
    --v1-ink: #eff8f8;
    --v1-copy: #a9bec5;
    --v1-line: #23434e;
    --v1-shadow: 0 20px 56px rgba(0, 0, 0, .25);
}

html { scroll-behavior: smooth; }
body { background: var(--v1-page); color: var(--v1-ink); transition: background-color .25s ease, color .25s ease; }
main { overflow: clip; }
.skip-link { position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 15px; color: #071f29; border-radius: 9px; background: #8ee077; transform: translateY(-150%); }
.skip-link:focus { color: #071f29; transform: translateY(0); }

/* Public header */
.site-header-v1 { position: sticky; z-index: 1000; top: 0; border-bottom: 1px solid var(--v1-line); background: color-mix(in srgb, var(--v1-surface) 94%, transparent); box-shadow: 0 8px 28px rgba(5, 37, 50, .05); backdrop-filter: blur(18px); }
.site-utility { color: #a8bdc4; background: #071f2a; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-utility .container { display: flex; min-height: 30px; align-items: center; gap: 22px; }
.site-utility .container span:nth-child(2) { color: #6f8992; }
.site-utility a { margin-left: auto; color: #74d4c2; letter-spacing: .04em; }
.site-header-v1 .navbar { min-height: 70px; padding: .48rem 0; }
.site-header-v1 .navbar-brand img { width: 156px; height: auto; }
.site-header-v1 .nav-link { position: relative; color: var(--v1-ink); font-size: .78rem; font-weight: 650; }
.site-header-v1 .nav-link:after { content: ""; position: absolute; right: .45rem; bottom: .42rem; left: .45rem; height: 2px; border-radius: 4px; background: #159781; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.site-header-v1 .nav-link:hover:after, .site-header-v1 .nav-link:focus-visible:after { transform: scaleX(1); }
.site-header-v1 .dropdown-toggle:after { position: static; display: inline-block; width: 0; height: 0; margin-left: .255em; border: .3em solid transparent; border-top-color: currentColor; vertical-align: -.18em; transform: none; }
.site-header-v1 .dropdown-menu { color: var(--v1-ink); border-color: var(--v1-line); background: var(--v1-surface); box-shadow: var(--v1-shadow); }
.site-header-v1 .dropdown-item, .site-header-v1 .dropdown-item-text { color: var(--v1-ink); }
.site-header-v1 .dropdown-item:hover { color: var(--v1-ink); background: var(--v1-surface-soft); }
.nav-actions { display: flex; align-items: center; gap: 8px; }
.nav-icon-action, .theme-switch { display: grid; width: 37px; height: 37px; flex: 0 0 auto; place-items: center; padding: 0; color: var(--v1-ink); border: 1px solid var(--v1-line); border-radius: 50%; background: var(--v1-surface); transition: color .2s, border-color .2s, background .2s, transform .2s; }
.nav-icon-action:hover, .theme-switch:hover { color: #159781; border-color: #159781; transform: translateY(-1px); }
.nav-icon-action svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.theme-switch { position: relative; cursor: pointer; }
.theme-switch span { position: absolute; transition: opacity .18s, transform .18s; }
.theme-switch-sun { opacity: 1; transform: scale(1); }
.theme-switch-moon { opacity: 0; transform: scale(.65); }
html[data-color-mode="dark"] .theme-switch-sun { opacity: 0; transform: scale(.65); }
html[data-color-mode="dark"] .theme-switch-moon { opacity: 1; transform: scale(1); }
.mobile-header-actions { display: flex; align-items: center; gap: 8px; }
.navbar-toggler { border-color: var(--v1-line); }
html[data-color-mode="dark"] .navbar-toggler-icon { filter: invert(1); }
html[data-color-mode="dark"] .site-header-v1 .navbar-brand img { filter: brightness(0) invert(1); }

/* Cinematic hero */
.theme-labrix .hero-carousel { min-height: 840px; background: #051e29; }
.theme-labrix .hero-slide:before { background-image: linear-gradient(90deg, rgba(3, 26, 36, .99) 0%, rgba(3, 29, 40, .9) 37%, rgba(3, 29, 40, .38) 65%, rgba(3, 29, 40, .12) 100%), linear-gradient(0deg, rgba(2, 21, 29, .45), transparent 55%), var(--hero-image); background-position: center, center, center right; }
.theme-labrix .hero-slide-inner { min-height: 840px; padding-top: 75px; padding-bottom: 245px; }
.theme-labrix .hero-carousel .hero-content { max-width: 820px; }
.theme-labrix .hero-carousel .hero-content h1, .theme-labrix .hero-carousel .hero-content h2 { max-width: 820px; margin: 18px 0; font-size: clamp(3rem, 5.1vw, 5.35rem); line-height: 1.01; }
.theme-labrix .hero-carousel .hero-content h2 { font-size: clamp(2.8rem, 4.7vw, 4.9rem); }
.theme-labrix .hero-carousel .hero-content > p { max-width: 670px; color: #d2e0e4; }
.theme-labrix .hero-actions { margin-top: 27px; }
.theme-labrix .hero-actions .btn { min-height: 48px; padding: .7rem 1.15rem; }
.theme-labrix .hero-stats { gap: 30px; margin-top: 39px; padding-top: 20px; }
.theme-labrix .hero-carousel-controls { bottom: 150px; }
.hero-domain-strip { position: absolute; z-index: 6; right: 0; bottom: 23px; left: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.hero-domain-strip > a { display: flex; min-width: 0; min-height: 94px; align-items: center; gap: 12px; padding: 15px 13px; color: #fff; border: 1px solid rgba(255, 255, 255, .17); border-radius: 15px; background: rgba(5, 36, 47, .72); box-shadow: 0 14px 30px rgba(0, 0, 0, .14); backdrop-filter: blur(12px); transition: transform .22s, border-color .22s, background .22s; }
.hero-domain-strip > a:hover, .hero-domain-strip > a:focus-visible { color: #fff; border-color: #70d7c4; background: rgba(9, 56, 68, .9); transform: translateY(-4px); }
.hero-domain-icon { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; color: #77e0cd; border-radius: 10px; background: rgba(101, 212, 194, .1); }
.hero-domain-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.hero-domain-strip strong, .hero-domain-strip small { display: block; overflow: hidden; text-overflow: ellipsis; }
.hero-domain-strip strong { font-size: .86rem; white-space: nowrap; }
.hero-domain-strip small { margin-top: 3px; color: #9eb5bc; font-size: .67rem; white-space: nowrap; }
.labrix-marquee { border-color: #173c49; background: #082632; }

/* Section rhythm and card surfaces */
.section { padding: 88px 0; }
.section-heading { margin-bottom: 34px; }
.section-heading h2, .service-offers-heading h2 { color: var(--v1-ink); letter-spacing: -.035em; }
.section-heading p, .service-offers-heading p { color: var(--v1-copy); }
.article-home-section, .service-offers, #uzmanliklar, .solution-partners { color: var(--v1-ink); background: var(--v1-page); }
.article-home-section:nth-of-type(even) { background: var(--v1-surface-soft); }
.public-article-card, .expertise-card.expertise-card-v2, .service-offer-card, .solution-partner-card { color: var(--v1-ink); border-color: var(--v1-line); background: var(--v1-surface); box-shadow: var(--v1-shadow); }
.service-offer-card:hover, .service-offer-card:focus-visible { color: var(--v1-ink); }
.public-article-card p, .expertise-card p, .service-offer-body p, .solution-partner-copy p { color: var(--v1-copy); }
.expertise-card-v2 .expertise-card-body h3, .service-offer-body h3, .solution-partner-copy h3 { color: var(--v1-ink); }
.technical { color: var(--v1-ink); background: var(--v1-surface); }
.technical-card { color: var(--v1-ink); border-color: var(--v1-line); background: var(--v1-surface-soft); }
.technical-card p { color: var(--v1-copy); }
.cta { color: #092735; border: 0; background: linear-gradient(115deg, #9ae184, #74d4c2); box-shadow: 0 24px 55px rgba(48, 141, 110, .18); }
.cta p { color: #31564f; }
.service-offers-heading { margin-top: 58px; }
.solution-partners { border-color: var(--v1-line); }
.solution-partner-logo { border-color: var(--v1-line); background: #fff; }
.project-showcase { margin: 14px 0; }
.site-footer { border-top: 1px solid #12333e; }

/* Common public pages in dark mode */
html[data-color-mode="dark"] .contact-page,
html[data-color-mode="dark"] .about-page,
html[data-color-mode="dark"] .knowledge-page,
html[data-color-mode="dark"] .member-panel { background: var(--v1-page); }
html[data-color-mode="dark"] .contact-form-card,
html[data-color-mode="dark"] .about-intro,
html[data-color-mode="dark"] .knowledge-results,
html[data-color-mode="dark"] .knowledge-result-card,
html[data-color-mode="dark"] .article-content-card { color: var(--v1-ink); border-color: var(--v1-line); background: var(--v1-surface); }
html[data-color-mode="dark"] .contact-form-heading h2,
html[data-color-mode="dark"] .contact-form-grid label { color: var(--v1-ink); }
html[data-color-mode="dark"] .contact-form-grid input,
html[data-color-mode="dark"] .contact-form-grid select,
html[data-color-mode="dark"] .contact-form-grid textarea { color: var(--v1-ink); border-color: var(--v1-line); background: var(--v1-surface-soft); }

@media (max-width: 1199.98px) {
    .site-header-v1 .navbar-collapse { margin-top: 10px; padding: 12px 14px 18px; border: 1px solid var(--v1-line); border-radius: 16px; background: var(--v1-surface); box-shadow: var(--v1-shadow); }
    .site-header-v1 .nav-actions { align-items: stretch; flex-direction: column; margin: 8px 0 0; }
    .site-header-v1 .nav-actions .login-link { text-align: left; }
}

@media (max-width: 991.98px) {
    .site-utility .container span:nth-child(2) { display: none; }
    .theme-labrix .hero-carousel { min-height: 940px; }
    .theme-labrix .hero-slide-inner { min-height: 940px; align-items: flex-start; padding-top: 82px; padding-bottom: 330px; }
    .theme-labrix .hero-carousel-controls { bottom: 230px; }
    .hero-domain-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hero-domain-strip > a { min-height: 88px; }
}

@media (max-width: 767.98px) {
    .site-utility { display: none; }
    .site-header-v1 .navbar { min-height: 64px; }
    .site-header-v1 .navbar-brand img { width: 140px; }
    .theme-labrix .hero-carousel { min-height: 1020px; }
    .theme-labrix .hero-slide-inner { min-height: 1020px; padding-top: 58px; padding-bottom: 385px; }
    .theme-labrix .hero-carousel .hero-content h1, .theme-labrix .hero-carousel .hero-content h2 { font-size: clamp(2.45rem, 11vw, 3.7rem); }
    .theme-labrix .hero-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
    .theme-labrix .hero-carousel-controls { bottom: 283px; }
    .hero-domain-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .hero-domain-strip > a { min-height: 78px; padding: 11px; }
    .hero-domain-strip small { font-size: .61rem; }
    .section { padding: 66px 0; }
    .section-heading.split, .service-offers-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
    .cta { align-items: flex-start; padding: 34px 25px; }
}

@media (max-width: 420px) {
    .mobile-header-actions .btn { display: none; }
    .theme-labrix .hero-carousel { min-height: 1060px; }
    .theme-labrix .hero-slide-inner { min-height: 1060px; }
    .hero-domain-icon { width: 30px; height: 30px; }
    .hero-domain-strip strong { font-size: .76rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .hero-slide:before, .hero-domain-strip > a, .service-offer-card, .expertise-card { transition: none !important; transform: none !important; }
}
