html[data-theme="light"] {
    color-scheme: light;
    --theme-scene-art: url("../images/backgrounds/day-software.svg");
    --theme-surface: #fff;
    --theme-muted: #596579;
    --theme-border: #e1e6ed;
    --theme-bg: #fff;
    --theme-surface-raised: #f6f8fa;
    --theme-text: #182230;
    --theme-header: rgba(255, 255, 255, .96);
    --theme-card-surface: #fff;
    --theme-card-text: #182230;
    --theme-card-muted: #596579;
    --theme-card-border: #e1e6ed;
    --theme-card-art-surface: #f7f9fc;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --theme-scene-art: url("../images/backgrounds/night-software.svg");
    --bg: #292b30;
    --bg-alt: #303238;
    --ink: #f0f1f3;
    --ink-muted: #c2c5cb;
    --line: #4b4f56;
    --surface: #383a40;
    --surface-raised: #42454c;
    --shell-header: rgba(18, 20, 24, .86);
    --popup-glass-surface: #303238;
    --popup-glass-border: #4b4f56;
    --popup-glass-scrim: rgba(10, 11, 13, .68);
    --popup-glass-shadow: 0 24px 76px rgba(0, 0, 0, .42);
    --premium-bg: #292b30;
    --premium-surface: #383a40;
    --premium-surface-strong: #383a40;
    --premium-line: #4b4f56;
    --premium-shadow-sm: 0 12px 30px rgba(0, 0, 0, .2);
    --premium-shadow-lg: 0 20px 56px rgba(0, 0, 0, .32);
    --premium-text: #f0f1f3;
    --premium-muted: #c2c5cb;
    --theme-card-surface: #383a40;
    --theme-card-text: #f0f1f3;
    --theme-card-muted: #c2c5cb;
    --theme-card-border: #4b4f56;
    --theme-card-art-surface: #303238;
    --theme-surface: #383a40;
    --theme-muted: #c2c5cb;
    --theme-border: #4b4f56;
    background: #292b30;
}

html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] main,
html[data-theme="dark"] .page-home,
html[data-theme="dark"] .page-products,
html[data-theme="dark"] .page-search,
html[data-theme="dark"] .page-about,
html[data-theme="dark"] .page-news,
html[data-theme="dark"] .page-news-detail,
html[data-theme="dark"] .page-product-detail,
html[data-theme="dark"] .page-legal,
html[data-theme="dark"] .page-contact,
html[data-theme="dark"] .page-not-found {
    color: var(--ink);
    background-color: #292b30 !important;
}

html[data-theme="dark"] body {
    background-image: none !important;
}

html[data-theme="dark"] body::before {
    background: none;
}

html[data-theme="dark"] main :is(h1, h2, h3, h4, h5, h6) {
    color: #f0f1f3 !important;
}

html[data-theme="dark"] main :is(p, li, time, small, label, blockquote, .eyebrow, .meta, .app-description, .app-desc, .article-summary, .article-content, .hero-proof) {
    color: #c2c5cb !important;
}

html[data-theme="dark"] main :is(.text-link, .quiet-link, .article-content a, .article-footer a, .related-news-card h3 a) {
    color: #8ab8ff !important;
}

html[data-theme="dark"] .site-header {
    border-color: rgba(174, 185, 202, .2) !important;
    background: rgba(18, 20, 24, .82) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .3), inset 0 1px rgba(255, 255, 255, .055) !important;
    backdrop-filter: blur(22px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
}

html[data-theme="dark"] .site-header::before {
    background: linear-gradient(90deg, transparent, rgba(196, 207, 224, .38), transparent);
}

html[data-theme="dark"] .site-header .desktop-nav a,
html[data-theme="dark"] .site-header .mobile-nav a {
    color: #d2d5da !important;
}

html[data-theme="dark"] .site-header .desktop-nav a:hover,
html[data-theme="dark"] .site-header .mobile-nav a:hover,
html[data-theme="dark"] .site-header .desktop-nav a.active,
html[data-theme="dark"] .site-header .mobile-nav a.active {
    color: #f5f6f7 !important;
    background: rgba(255, 255, 255, .1) !important;
}

html[data-theme="dark"] .site-header .search-toggle,
html[data-theme="dark"] .site-header .menu-toggle,
html[data-theme="dark"] .site-header .theme-toggle {
    border: 1px solid rgba(190, 201, 218, .24);
    color: #f0f1f3;
    background: rgba(255, 255, 255, .075);
}

html[data-theme="dark"] .site-header .search-toggle:hover,
html[data-theme="dark"] .site-header .menu-toggle:hover,
html[data-theme="dark"] .site-header .theme-toggle:hover,
html[data-theme="dark"] .site-header .mobile-menu[open] .menu-toggle {
    border-color: rgba(210, 220, 235, .42);
    background: rgba(255, 255, 255, .14);
}

html[data-theme="dark"] .site-header .menu-toggle span {
    background: #f0f1f3;
}

html[data-theme="dark"] .page-home .hero-proof {
    --hero-proof-emphasis: #f0f1f3;
}

html[data-theme="dark"] .site-header .mobile-nav {
    border-color: rgba(174, 185, 202, .24);
    background: rgba(25, 27, 32, .94);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .48);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
}

html[data-theme="dark"] .mobile-nav-heading {
    border-color: #4b4f56;
}

html[data-theme="dark"] .mobile-nav-heading > span {
    color: #f0f1f3;
}

html[data-theme="dark"] .mobile-nav-heading small {
    color: #c2c5cb;
}

.theme-toggle {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    padding: 0;
    border: 1px solid #dce5df;
    border-radius: 9px;
    color: #25332e;
    background: #f7f9f7;
    cursor: pointer;
}

.theme-icon {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.theme-icon-sun,
html[data-theme="dark"] .theme-icon-moon {
    display: none;
}

html[data-theme="dark"] .theme-icon-sun {
    display: block;
}

.theme-toggle:focus-visible {
    outline: 2px solid #0f766e;
    outline-offset: 3px;
}

html[data-theme="dark"] .theme-toggle:focus-visible {
    outline-color: #93c5fd;
}

html[data-theme="dark"] :is(.home-hero, .products-hero, .search-hero, .about-hero, .page-news .news-hero, .detail-hero, .page-product-detail .app-hero) {
    color: #f0f1f3;
    border-color: #4b4f56 !important;
    background-color: #292b30 !important;
    background-image: linear-gradient(135deg, #34363c, #292b30 76%) !important;
}

html[data-theme="dark"] :is(.portfolio-section, .news-section, .search-results-section, .about-story, .about-portfolios, .about-values, .page-news .news-section, .page-product-detail .landing-section, .page-product-detail .more-section, .page-product-detail .showcase-section, .page-product-detail .note-section) {
    color: #f0f1f3;
    background: #292b30 !important;
}

html[data-theme="dark"] :is(.legal-hero, .contact-hero, .not-found-page) {
    color: #f0f1f3;
    background-color: #292b30 !important;
    background-image: linear-gradient(135deg, #34363c, #292b30 76%) !important;
}

html[data-theme="dark"] :is(.legal-nav, .legal-content, .related-links, .contact-primary-card, .contact-channel-card, .contact-guidance, .contact-tip) {
    border-color: #4b4f56 !important;
    color: #f0f1f3 !important;
    background: #383a40 !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .24);
}

html[data-theme="dark"] .legal-content :is(h2, h3, h4) {
    color: #f0f1f3 !important;
}

html[data-theme="dark"] .legal-nav a,
html[data-theme="dark"] .related-links a {
    color: #a9caff !important;
}

html[data-theme="dark"] .contact-tip :is(.eyebrow, p) {
    color: #c2c5cb;
}

html[data-theme="dark"] .breadcrumbs {
    color: #aeb4bf;
}

html[data-theme="dark"] .breadcrumbs a {
    color: #c2c5cb !important;
}

html[data-theme="dark"] .breadcrumbs a:hover {
    color: #a9caff;
}

html[data-theme="dark"] .page-news .news-read-link {
    color: #a9caff;
}

html[data-theme="dark"] .page-contact .detail-icon {
    border: 1px solid #4b596a;
    color: #a9caff !important;
    background: #303843;
}

html[data-theme="dark"] .page-contact .mail-icon {
    border-color: #4b596a;
    color: #a9caff !important;
    background: #303843;
}

html[data-theme="dark"] .page-contact .contact-email {
    color: #a9caff !important;
}

html[data-theme="dark"] .page-contact .contact-primary-card .eyebrow,
html[data-theme="dark"] .page-contact .detail-card .eyebrow {
    color: #a9caff !important;
}

html[data-theme="dark"] .legal-content {
    box-shadow: 0 12px 34px rgba(0, 0, 0, .24);
}

html[data-theme="dark"] .legal-content .last-updated {
    color: #aeb4bf !important;
}

html[data-theme="dark"] .page-contact .contact-main {
    background: #292b30;
}

html[data-theme="dark"] :is(.collection-panel, .glass-card, .app-card, .news-card, .search-result-card, .identity-tile, .portfolio-card, .product-card, article[class*="card"]:not(.related-news-card), .value-card, .feature-card, .faq-card, .note-card, .article-card, .detail-message, .related-news, .news-live-note, .news-story-count, .news-empty-state, .web-app-launch, .collection-app) {
    border-color: #4b4f56 !important;
    color: #f0f1f3 !important;
    background-color: #383a40 !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .24) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

html[data-theme="dark"] .collection-heading,
html[data-theme="dark"] .collection-heading span:last-child {
    color: #c2c5cb !important;
}

html[data-theme="dark"] .collection-app:hover {
    border-color: #5a5e66 !important;
    background: #42454c !important;
}

html[data-theme="dark"] .collection-app-copy .collection-app-name,
html[data-theme="dark"] .collection-app-arrow {
    color: #f0f1f3 !important;
}

html[data-theme="dark"] .collection-app-copy small {
    color: #c2c5cb !important;
}

html[data-theme="dark"] .app-card {
    border-color: #4b4f56 !important;
    color: #f0f1f3 !important;
    background: #383a40 !important;
    background-image: none !important;
}

html[data-theme="dark"] .app-card::before {
    background-image: linear-gradient(100deg, rgba(56, 58, 64, .92), rgba(56, 58, 64, .78) 66%, rgba(56, 58, 64, .86)), var(--app-card-art) !important;
    filter: grayscale(.35);
    opacity: .56;
}

html[data-theme="dark"] .app-card :is(h3, .app-description) {
    color: #f0f1f3 !important;
}

html[data-theme="dark"] .app-card .app-description {
    color: #c2c5cb !important;
}

html[data-theme="dark"] .app-card .app-icon,
html[data-theme="dark"] .collection-app > img {
    border-color: #555a62;
}

html[data-theme="dark"] .category-badge,
html[data-theme="dark"] .platform-availability-badge {
    border-color: #555a62;
    color: #f0f1f3;
    background: #42454c;
}

html[data-theme="dark"] :is(.contact-band, .products-contact, .about-footer-cta, .page-news .news-contact, .page-product-detail .landing-cta) {
    border-color: #4b4f56 !important;
    color: #f0f1f3;
    background: #303238 !important;
}

html[data-theme="dark"] :is(.contact-band, .products-contact, .about-footer-cta, .page-news .news-contact, .page-product-detail .landing-cta) :is(h1, h2, h3, p, .eyebrow) {
    color: #f0f1f3 !important;
}

html[data-theme="dark"] .consent-panel {
    --consent-accent: #8edaff;
    --consent-accent-surface: #21304c;
    --consent-primary: #63cdff;
    --consent-primary-text: #121a2b;
    --theme-surface-raised: #42454c;
}

html[data-theme="dark"] :is(.search-page-form, .header-search-form, .search-dialog-panel, .search-pagination, .news-pagination, .news-page-control, .article-navigation-link, .showcase-arrow, input, textarea, select) {
    border-color: #555a62 !important;
    color: #f0f1f3 !important;
    background-color: #42454c !important;
}

html[data-theme="dark"] .site-search-dialog {
    border-color: #4b4f56;
    color: #f0f1f3;
    background: #303238 !important;
    box-shadow: 0 24px 76px rgba(0, 0, 0, .5);
}

html[data-theme="dark"] .site-search-dialog::backdrop {
    background: rgba(10, 11, 13, .7);
}

html[data-theme="dark"] .search-dialog-heading h2,
html[data-theme="dark"] .search-dialog-eyebrow {
    color: #f0f1f3;
}

html[data-theme="dark"] :is(input, textarea, select)::placeholder {
    color: #abb0b9;
}

html[data-theme="dark"] :is(.button-secondary, .showcase-arrow, .article-navigation-link, .news-page-control) {
    border-color: #555a62 !important;
    color: #f0f1f3 !important;
    background: #42454c !important;
}

html[data-theme="dark"] :is(.button-secondary, .showcase-arrow, .article-navigation-link, .news-page-control):hover {
    background: #50545b !important;
}

html[data-theme="dark"] :is(.news-card-cover, .news-card-visual, .article-cover, .showcase-visual, .news-card-placeholder, .product-art-placeholder) {
    border-color: #4b4f56;
    background-color: #303238;
}

html[data-theme="dark"] .detail-reading-layout .article-deck {
    border-left-color: #7db2ff;
    color: #c2c5cb !important;
    background: #303238;
}

html[data-theme="dark"] .detail-hero::before {
    background: linear-gradient(180deg, rgba(41, 43, 48, .88), rgba(41, 43, 48, .8) 52%, rgba(41, 43, 48, .94)), url("../images/hero/abstract/news-detail.png") center/cover no-repeat;
}

html[data-theme="dark"] .related-news-card,
html[data-theme="dark"] .related-news-card h3 a {
    color: #f0f1f3;
}

@media (max-width: 760px) {
    .site-header .header-actions {
        gap: 8px;
    }
}

@media (prefers-reduced-motion: no-preference) {
    html,
    body,
    .site-header,
    .theme-toggle {
        transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    }
}

.app-card.product-card {
    display: grid !important;
    min-width: 0;
    min-height: 390px !important;
    grid-template-rows: 190px minmax(0, 1fr);
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid var(--theme-card-border) !important;
    border-radius: 18px !important;
    color: var(--theme-card-text) !important;
    background: var(--theme-card-surface) !important;
    background-image: none !important;
    box-shadow: 0 12px 30px rgba(20, 28, 40, .1) !important;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.app-card.product-card::before {
    display: none !important;
}

.app-card.product-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--card-accent) 55%, var(--theme-card-border)) !important;
    box-shadow: 0 18px 38px rgba(20, 28, 40, .17) !important;
}

.product-card:focus-visible {
    outline: 3px solid var(--card-accent);
    outline-offset: 4px;
}

.product-card-art {
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
    overflow: hidden;
    isolation: isolate;
    background-color: color-mix(in srgb, var(--card-tint) 74%, var(--theme-card-art-surface));
    background-image: radial-gradient(circle at 50% 115%, color-mix(in srgb, var(--card-accent) 21%, transparent), transparent 70%);
}

.product-card-art::before {
    position: absolute;
    z-index: 0;
    inset: -42%;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, transparent 0 52px, color-mix(in srgb, var(--card-accent) 17%, transparent) 53px 54px);
    content: "";
}

.product-card-art::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: var(--app-card-art, none) center / cover no-repeat;
    content: "";
    opacity: .13;
}

.product-card-category {
    position: absolute;
    z-index: 1;
    top: 20px;
    left: 22px;
    color: var(--card-accent-strong);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.product-card-art > img {
    position: relative;
    z-index: 1;
    width: 88px;
    height: 88px;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 22px;
    object-fit: cover;
    box-shadow: 0 14px 28px rgba(20, 28, 40, .2);
    transition: transform .2s ease;
}

.product-card:hover .product-card-art > img {
    transform: translateY(-3px) rotate(-3deg);
}

.product-card-art-arrow {
    position: absolute;
    z-index: 1;
    right: 20px;
    bottom: 17px;
    color: var(--card-accent-strong);
    font-size: 1.2rem;
}

.product-card-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 22px 24px 20px;
}

.product-card-copy h3 {
    margin: 0 0 10px !important;
    color: var(--theme-card-text) !important;
    font-size: 1.08rem;
    font-weight: 720;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.product-card-description {
    display: -webkit-box;
    min-height: 3.3em;
    overflow: hidden;
    color: var(--theme-card-muted);
    font-size: .88rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--theme-card-border);
    color: var(--card-accent-strong);
    font-size: .78rem;
    font-weight: 650;
}

.product-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

html[data-theme="dark"] .app-card.product-card {
    border-color: #4b4f56 !important;
    background: #383a40 !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .2) !important;
}

html[data-theme="dark"] .product-card-art {
    background-color: color-mix(in srgb, var(--card-accent) 16%, #303238);
    background-image: radial-gradient(circle at 50% 115%, color-mix(in srgb, var(--card-accent) 28%, transparent), transparent 70%);
}

html[data-theme="dark"] .product-card-art::before {
    background: repeating-radial-gradient(circle, transparent 0 52px, color-mix(in srgb, var(--card-accent) 25%, transparent) 53px 54px);
}

html[data-theme="dark"] .product-card-category,
html[data-theme="dark"] .product-card-art-arrow,
html[data-theme="dark"] .product-card-footer {
    color: color-mix(in srgb, var(--card-accent) 55%, #fff);
}

html[data-theme="dark"] .product-card-footer {
    border-color: #4b4f56;
}

html[data-theme="dark"] main :is(.about-portfolio-card, .detail-card, .contact-tip, .value-card, .feature-card, .faq-card, .note-card, .legal-nav, .legal-content, .related-links, .news-card, .news-live-note, .news-story-count, .news-empty-state, .article-card, .related-news, .related-news-card, .search-result-card, .contact-primary-card, .contact-channel-card, .contact-guidance) {
    border-color: #4b4f56 !important;
    color: #f0f1f3 !important;
    background-color: #383a40 !important;
}

html[data-theme="dark"] main :is(.detail-card, .contact-tip, .about-portfolio-card, .value-card, .feature-card, .faq-card, .note-card, .legal-nav, .legal-content, .related-links, .news-live-note, .news-story-count, .news-empty-state, .article-card, .related-news, .related-news-card, .contact-primary-card, .contact-channel-card, .contact-guidance) :is(h1, h2, h3, h4, p, li, small, time, strong, span) {
    color: inherit;
}

html[data-theme="dark"] main :is(.about-portfolio-card, .value-card) {
    border-color: #4b4f56 !important;
    color: #f0f1f3 !important;
    background: #383a40 !important;
    background-image: none !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .24) !important;
}

html[data-theme="dark"] main :is(.about-portfolio-card, .value-card) :is(h3, p) {
    color: #f0f1f3 !important;
}

html[data-theme="dark"] main :is(.about-portfolio-card, .value-card) p {
    color: #c2c5cb !important;
}

html[data-theme="dark"] main .value-icon {
    border: 1px solid #596171;
    color: #a9caff !important;
    background: #303744 !important;
}

html[data-theme="dark"] .page-home .collection-panel,
html[data-theme="dark"] .page-home .collection-app {
    border-color: #4b4f56 !important;
    color: #f0f1f3 !important;
    background: rgba(48, 50, 56, .92) !important;
}

html[data-theme="dark"] .page-home .collection-app:hover {
    background: #42454c !important;
}

html[data-theme="dark"] .page-home .collection-app > img {
    border-color: #555a62;
    background: #f0f1f3;
}

html[data-theme="dark"] .page-home .collection-app-copy .collection-app-name {
    color: #f0f1f3;
}

html[data-theme="dark"] .page-home .collection-app-copy small,
html[data-theme="dark"] .page-home .collection-heading,
html[data-theme="dark"] .page-home .collection-heading span:last-child {
    color: #c2c5cb;
}

html[data-theme="dark"] .page-home .portfolio-card,
html[data-theme="dark"] .page-home .portfolio-card h3,
html[data-theme="dark"] .page-about .about-portfolio-card h3,
html[data-theme="dark"] .page-about .about-portfolio-card,
html[data-theme="dark"] .page-products .portfolio-card {
    color: #f0f1f3 !important;
}

html[data-theme="dark"] .page-home .portfolio-card p,
html[data-theme="dark"] .page-about .about-portfolio-card p {
    color: #c2c5cb !important;
}

html[data-theme="dark"] .page-products .portfolio-intro .app-total,
html[data-theme="dark"] .page-products .portfolio-intro p {
    color: #c2c5cb !important;
}

html[data-theme="dark"] .page-contact .contact-main,
html[data-theme="dark"] .page-contact .contact-details-grid {
    color: #f0f1f3;
}

html[data-theme="dark"] main :is(.featured-section, .values-section, .contact-main) {
    color: #f0f1f3;
    background: #292b30 !important;
}

html[data-theme="dark"] .page-contact .detail-card {
    background: #383a40 !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .24) !important;
}

html[data-theme="dark"] .page-product-detail.product-design {
    --product-ink: #f0f1f3;
    --product-muted: #c2c5cb;
    color: #f0f1f3 !important;
    background: #292b30 !important;
}

html[data-theme="dark"] .page-product-detail.product-design :is(.landing-section, .features-section, .audience-section, .note-section, .product-questions, .product-discover) {
    border-color: #4b4f56 !important;
    color: #f0f1f3 !important;
    background: #292b30 !important;
}

html[data-theme="dark"] .page-product-detail.product-design :is(.features-section, .audience-section) {
    background: #303238 !important;
}

html[data-theme="dark"] .page-product-detail.product-design :is(.feature-card, .audience-grid ul, .note-card, .product-contact-panel) {
    border-color: #4b4f56 !important;
    color: #f0f1f3 !important;
    background: #383a40 !important;
}

html[data-theme="dark"] .page-product-detail.product-design :is(.product-facts, .product-facts > div, .product-answers details, .product-questions) {
    border-color: #4b4f56 !important;
}

html[data-theme="dark"] .page-product-detail.product-design .product-facts :is(dt, dd),
html[data-theme="dark"] .page-product-detail.product-design .product-answers summary {
    color: #c2c5cb !important;
}

html[data-theme="dark"] .page-product-detail.product-design .product-brand-stage {
    border-color: rgba(196, 207, 224, .18);
}

html[data-theme="dark"] .page-product-detail.product-design .product-contact-panel :is(h2, p) {
    color: #f0f1f3 !important;
}

html[data-theme="dark"] .page-contact :is(.contact-email, .contact-tip p),
html[data-theme="dark"] .page-news :is(.news-card-summary, .news-post-meta, .news-live-note),
html[data-theme="dark"] .page-news-detail :is(.article-meta, .article-caption, .article-deck) {
    color: #c2c5cb !important;
}

@media (max-width: 700px) {
    .product-card-copy {
        padding: 19px 18px 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-card.product-card,
    .product-card-art > img {
        transition: none;
    }
}

html[data-theme="light"] :is(.home-hero, .products-hero, .search-hero, .about-hero, .page-news .news-hero, .legal-hero, .contact-hero, .not-found-page, .page-product-detail .app-hero) {
    background-color: #eef4f5 !important;
    background-image: linear-gradient(105deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .73) 48%, rgba(255, 255, 255, .18) 100%), var(--theme-scene-art) !important;
    background-position: center, center;
    background-repeat: no-repeat;
    background-size: cover;
}

html[data-theme="dark"] :is(.home-hero, .products-hero, .search-hero, .about-hero, .page-news .news-hero, .legal-hero, .contact-hero, .not-found-page, .page-product-detail .app-hero) {
    background-color: #292b30 !important;
    background-image: linear-gradient(105deg, rgba(41, 43, 48, .94) 0%, rgba(41, 43, 48, .78) 48%, rgba(41, 43, 48, .28) 100%), var(--theme-scene-art) !important;
    background-position: center, center;
    background-repeat: no-repeat;
    background-size: cover;
}

html[data-theme] .products-hero::before,
html[data-theme] .search-hero::before,
html[data-theme] .about-hero::before,
html[data-theme] .contact-hero::before,
html[data-theme] .legal-hero::before,
html[data-theme] .not-found-page::before,
html[data-theme] .detail-hero::before,
html[data-theme] .page-news .news-hero::before,
html[data-theme] .page-news .news-hero::after,
html[data-theme] .page-product-detail .app-hero::before {
    display: none !important;
}

@media (max-width: 700px) {
    html[data-theme] :is(.home-hero, .products-hero, .search-hero, .about-hero, .page-news .news-hero, .detail-hero, .legal-hero, .contact-hero, .not-found-page, .page-product-detail .app-hero) {
        background-position: 58% center, 58% center;
    }
}

.page-products .portfolio-section {
    padding-block: clamp(32px, 4.5vw, 58px);
    border-bottom: 1px solid var(--theme-border);
    background: color-mix(in srgb, var(--accent, #64748b) 4%, var(--theme-surface)) !important;
}

.page-products .portfolio-section.alternate {
    background: color-mix(in srgb, var(--accent, #64748b) 7%, var(--theme-surface)) !important;
}

html[data-theme="dark"] .page-products .portfolio-section {
    border-color: var(--theme-border) !important;
    background: #292b30 !important;
}

html[data-theme="dark"] .page-products .portfolio-section.alternate {
    background: #303238 !important;
}

.page-products .portfolio-layout,
.page-products .portfolio-layout.reverse {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
}

.page-products .portfolio-layout.reverse .portfolio-intro,
.page-products .portfolio-layout.reverse .apps-grid {
    grid-column: auto;
    grid-row: auto;
}

.page-products .portfolio-intro {
    display: grid;
    max-width: none;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    grid-template-areas: "icon copy count";
    align-items: center;
    gap: 0 18px;
    float: none;
    width: 100%;
}

.page-products .portfolio-section {
    background: var(--theme-surface) !important;
}

.page-products .portfolio-section.alternate {
    background: var(--theme-surface-raised) !important;
}

.page-products .portfolio-icon-wrap {
    grid-area: icon;
    width: 64px;
    height: 64px;
    margin: 0;
    float: none;
    border-radius: 18px;
}

.page-products .portfolio-copy {
    grid-area: copy;
    min-width: 0;
    width: 100%;
    max-width: none;
}

.page-products .portfolio-intro .eyebrow {
    display: block;
    margin-bottom: 3px;
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.page-products .portfolio-intro h2 {
    margin: 0;
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    letter-spacing: -.04em;
}

.page-products .portfolio-intro p {
    margin: 5px 0 0;
    color: var(--theme-muted);
    font-size: .92rem;
    overflow-wrap: normal;
    word-break: normal;
}

.page-products .app-total {
    grid-area: count;
    justify-self: end;
    margin: 0;
    padding: 9px 13px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--theme-border));
    border-radius: 999px;
    color: var(--strong);
    background: color-mix(in srgb, var(--accent) 8%, var(--theme-surface));
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}

.page-products .apps-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 238px), 1fr));
    align-items: stretch;
    justify-items: start;
    gap: 18px;
}

.page-products .app-card.product-card {
    width: 100%;
    max-width: 370px;
    min-height: 350px !important;
    grid-template-rows: 166px minmax(0, 1fr);
    border-radius: 16px !important;
}

@media (max-width: 620px) {
    .page-products .portfolio-intro {
        grid-template-columns: 54px minmax(0, 1fr);
        grid-template-areas: "icon copy" ". count";
        gap: 0 13px;
        float: none;
    }

    .page-products .portfolio-icon-wrap {
        grid-area: icon;
        width: 54px;
        height: 54px;
        border-radius: 16px;
    }

    .page-products .portfolio-icon-wrap img {
        width: 46px;
        height: 46px;
    }

    .page-products .portfolio-copy {
        grid-area: copy;
    }

    .page-products .portfolio-intro p {
        font-size: .85rem;
    }

    .page-products .app-total {
        grid-area: count;
        justify-self: start;
        margin-top: 12px;
    }
}

.legal-layout {
    max-width: 1120px;
    grid-template-columns: 220px minmax(0, 760px);
    justify-content: center;
}

.legal-content {
    min-width: 0;
    padding: clamp(24px, 3vw, 40px);
    border: 1px solid #e5e9ef;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(24, 34, 48, .06);
}

.legal-content .legal-section h2 {
    font-size: 1.22rem;
    line-height: 1.35;
}

html[data-theme="dark"] .legal-content {
    border-color: #4b4f56;
    background: #383a40;
}

@media (max-width: 800px) {
    .legal-layout {
        grid-template-columns: 1fr;
    }

    .legal-content {
        padding: 24px;
    }
}

@media (max-width: 480px) {
    .legal-content {
        padding: 20px;
        border-radius: 16px;
    }
}

.site-header {
    background: rgba(248, 250, 253, .76) !important;
    box-shadow: 0 10px 32px rgba(20, 30, 46, .1), inset 0 1px rgba(255, 255, 255, .88) !important;
    backdrop-filter: blur(28px) saturate(165%) !important;
    -webkit-backdrop-filter: blur(28px) saturate(165%) !important;
}

html[data-theme="dark"] .site-header {
    background: rgba(18, 20, 26, .74) !important;
    box-shadow: 0 10px 34px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .09) !important;
}

.site-header::before {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .82), transparent);
}

.brand {
    position: relative;
    display: block;
    width: 212px;
    height: 53px;
    flex: 0 0 212px;
    align-items: center;
}

.brand .brand-logo-light,
.brand .brand-logo-dark {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transition: opacity .24s ease, transform .32s ease, visibility 0s linear .24s;
}

.brand .brand-logo-light {
    display: block;
    object-fit: contain;
    opacity: 1;
}

.brand .brand-logo-dark {
    display: flex;
    align-items: center;
    gap: 10px;
    opacity: 0;
    transform: translateY(2px);
    visibility: hidden;
}

.brand .brand-logo-dark > img {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    object-fit: contain;
}

.brand-wordmark {
    display: grid;
    gap: 3px;
    min-width: 0;
    color: #f1f5fb;
}

.brand-wordmark strong {
    font-size: 1.24rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .025em;
}

.brand-wordmark strong span {
    color: #32c9ef;
}

.brand-wordmark small {
    color: #c0ccd9;
    font-size: .39rem;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .12em;
    white-space: nowrap;
}

html[data-theme="dark"] .brand .brand-logo-light {
    opacity: 0;
    transform: translateY(-2px);
    visibility: hidden;
}

html[data-theme="dark"] .brand .brand-logo-dark {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    transition-delay: 0s;
}

.site-header .desktop-nav a,
.site-header .search-toggle,
.site-header .menu-toggle,
.site-header .theme-toggle {
    transition: color .2s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.site-header .desktop-nav a:hover,
.site-header .desktop-nav a:focus-visible {
    background: rgba(68, 92, 122, .1);
    box-shadow: inset 0 0 0 1px rgba(68, 92, 122, .12);
}

html[data-theme="dark"] .site-header .desktop-nav a:hover,
html[data-theme="dark"] .site-header .desktop-nav a:focus-visible,
html[data-theme="dark"] .site-header .mobile-nav a:hover,
html[data-theme="dark"] .site-header .mobile-nav a:focus-visible {
    color: #fff !important;
    background: rgba(214, 228, 248, .15) !important;
    box-shadow: inset 0 0 0 1px rgba(214, 228, 248, .2);
}

html[data-theme="dark"] .site-header .mobile-nav {
    border-color: rgba(198, 211, 231, .28);
    background: rgba(24, 28, 36, .82);
    box-shadow: 0 22px 56px rgba(0, 0, 0, .46), inset 0 1px rgba(255, 255, 255, .1);
    backdrop-filter: blur(28px) saturate(165%);
    -webkit-backdrop-filter: blur(28px) saturate(165%);
}

.site-search-dialog {
    background: #f8fafc !important;
    backdrop-filter: blur(34px) saturate(160%);
    -webkit-backdrop-filter: blur(34px) saturate(160%);
}

.site-search-dialog::backdrop {
    background: rgba(29, 39, 54, .32);
    backdrop-filter: blur(8px) saturate(125%);
    -webkit-backdrop-filter: blur(8px) saturate(125%);
}

html[data-theme="dark"] .site-search-dialog {
    border-color: rgba(191, 207, 229, .25);
    background: #202732 !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .55), inset 0 1px rgba(255, 255, 255, .12);
}

html[data-theme="dark"] .search-dialog-panel {
    background: transparent !important;
}

html[data-theme="dark"] .site-search-dialog::backdrop {
    background: rgba(8, 11, 16, .58);
    backdrop-filter: blur(10px) saturate(135%);
    -webkit-backdrop-filter: blur(10px) saturate(135%);
}

html[data-theme="dark"] .search-result-card {
    color: #f0f1f3;
}

html[data-theme="dark"] .search-result-card:hover,
html[data-theme="dark"] .search-result-card:focus-visible {
    background: rgba(190, 211, 242, .13);
}

html[data-theme="dark"] .search-result-copy .search-result-name {
    color: #f0f1f3 !important;
}

html[data-theme="dark"] .search-result-copy small {
    color: #c2cbd8 !important;
}

html[data-theme="dark"] .search-result-category {
    border-color: rgba(190, 207, 229, .22);
    color: #e0e9f7 !important;
    background: rgba(190, 207, 229, .12);
}

html[data-theme="dark"] .search-no-results {
    color: #e7ebf1;
}

.search-no-results[hidden] {
    display: none !important;
}

html[data-theme="dark"] .search-dialog-footer {
    border-color: rgba(190, 207, 229, .2);
    color: #c4ccd8;
    background: rgba(17, 21, 28, .56);
}

html[data-theme="dark"] main a:not(.button):not(.app-card):not(.product-card):not(.news-card-cover):not(.web-app-launch):not(.collection-app):not(.news-page-control):not(.news-contact-link):hover,
html[data-theme="dark"] main a:not(.button):not(.app-card):not(.product-card):not(.news-card-cover):not(.web-app-launch):not(.collection-app):not(.news-page-control):not(.news-contact-link):focus-visible {
    color: #e2edff !important;
    text-decoration-color: currentColor;
    text-underline-offset: .2em;
}

html[data-theme="dark"] .page-news .news-card h3 a,
html[data-theme="dark"] .page-news .news-read-link {
    color: #c7dcff !important;
}

html[data-theme="dark"] .page-news .news-card h3 a:hover,
html[data-theme="dark"] .page-news .news-card h3 a:focus-visible,
html[data-theme="dark"] .page-news .news-read-link:hover,
html[data-theme="dark"] .page-news .news-read-link:focus-visible {
    color: #fff !important;
    text-decoration: underline;
    text-underline-offset: .2em;
}

@keyframes app-card-enter {
    from {
        opacity: 0;
        translate: 0 14px;
    }

    to {
        opacity: 1;
        translate: 0 0;
    }
}

@keyframes app-section-enter {
    from {
        opacity: 0;
        translate: 0 10px;
    }

    to {
        opacity: 1;
        translate: 0 0;
    }
}

.page-products .portfolio-intro,
.page-product-detail .app-hero .container {
    animation: app-section-enter .55s cubic-bezier(.2, .7, .25, 1) both;
}

.page-products .apps-grid > .product-card {
    animation: app-card-enter .58s cubic-bezier(.2, .7, .25, 1) both;
}

.page-products .apps-grid > .product-card:nth-child(2) {
    animation-delay: 55ms;
}

.page-products .apps-grid > .product-card:nth-child(3) {
    animation-delay: 110ms;
}

.page-products .apps-grid > .product-card:nth-child(4) {
    animation-delay: 165ms;
}

.page-products .apps-grid > .product-card:nth-child(5) {
    animation-delay: 220ms;
}

.page-products .apps-grid > .product-card:nth-child(6) {
    animation-delay: 275ms;
}

.page-product-detail .landing-section,
.page-product-detail .features-section,
.page-product-detail .showcase-section {
    animation: app-section-enter .65s cubic-bezier(.2, .7, .25, 1) both;
}

@media (max-width: 760px) {
    .brand {
        width: 184px;
        height: 46px;
        flex-basis: 184px;
    }

    .brand .brand-logo-dark {
        gap: 7px;
    }

    .brand .brand-logo-dark > img {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .brand-wordmark strong {
        font-size: 1.08rem;
    }

    .brand-wordmark small {
        font-size: .33rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .brand .brand-logo-light,
    .brand .brand-logo-dark,
    .page-products .portfolio-intro,
    .page-products .apps-grid > .product-card,
    .page-product-detail .app-hero .container,
    .page-product-detail .landing-section,
    .page-product-detail .features-section,
    .page-product-detail .showcase-section {
        animation: none;
        transition: none;
    }
}

@media (prefers-reduced-transparency: reduce) {
    .site-header,
    .site-search-dialog,
    html[data-theme="dark"] .site-header,
    html[data-theme="dark"] .site-search-dialog {
        background: #f8fafc !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html[data-theme="dark"] .site-header,
    html[data-theme="dark"] .site-search-dialog {
        background: #202329 !important;
    }
}

.brand .brand-logo-light,
.brand .brand-logo-dark {
    display: block;
    object-fit: contain;
    transform: none;
    transition: opacity .24s ease, visibility 0s linear .24s;
}

.brand .brand-logo-dark {
    opacity: 0;
    visibility: hidden;
}

html[data-theme="dark"] .brand .brand-logo-light {
    opacity: 0;
    visibility: hidden;
}

html[data-theme="dark"] .brand .brand-logo-dark {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.brand-footer-logo-dark {
    visibility: hidden;
}

html[data-theme="dark"] .brand-footer {
    --footer-background: #121a2b;
    --footer-glow: rgba(34, 96, 151, .2);
    --footer-text: #e4e9ed;
    --footer-link: #c3cdd4;
    --footer-link-hover: #63cdff;
    --footer-muted: #a4b0b8;
    --footer-heading: #f1f4f5;
    --footer-line: rgba(255, 255, 255, .13);
    --footer-accent: #63cdff;
    --footer-social-surface: #182438;
    --footer-social-hover-border: rgba(121, 212, 255, .55);
    --footer-social-hover-surface: rgba(121, 212, 255, .1);
}

html[data-theme="dark"] .brand-footer-logo-light {
    opacity: 0;
    visibility: hidden;
}

html[data-theme="dark"] .brand-footer-logo-dark {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 760px) {
    .brand-footer-logo {
        width: 190px;
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .brand .brand-logo-light,
    .brand .brand-logo-dark,
    .brand-footer-logo img {
        transition: none;
    }
}

/* Shared brand accents leave product-specific colors unchanged. */
:root {
    --brand-blue: #087cbd;
    --brand-indigo: #303477;
    --brand-focus: #087cbd;
    --premium-accent: linear-gradient(120deg, #087cbd, #303477);
    --primary-from: #087cbd;
    --primary-to: #303477;
    --shell-accent: #087cbd;
}

html[data-theme="dark"] {
    --brand-focus: #63cdff;
    --shell-accent: #63cdff;
}

.site-header {
    background: #f3f6fc !important;
    border-bottom: 1px solid #dce5f1;
}

html[data-theme="dark"] .site-header {
    background: #121a2b !important;
}

.site-header .desktop-nav a:hover,
.site-header .desktop-nav a.active,
.site-header .mobile-nav a:hover,
.site-header .mobile-nav a.active {
    color: #075f91 !important;
    background: #e4eef9;
}

html[data-theme="dark"] .site-header .desktop-nav a:hover,
html[data-theme="dark"] .site-header .desktop-nav a.active,
html[data-theme="dark"] .site-header .mobile-nav a:hover,
html[data-theme="dark"] .site-header .mobile-nav a.active {
    color: #8edaff !important;
    background: #21304c !important;
}

.site-header .search-toggle,
.site-header .theme-toggle,
.site-header .menu-toggle {
    color: #263a56;
    border-color: #d5dfed;
    background: #eaf0f8;
}

html[data-theme="dark"] .site-header .search-toggle,
html[data-theme="dark"] .site-header .theme-toggle,
html[data-theme="dark"] .site-header .menu-toggle {
    color: #dceaff;
    border-color: #354862;
    background: #21304c;
}

.site-header a:focus-visible,
.site-header button:focus-visible,
.site-header summary:focus-visible {
    outline-color: var(--brand-focus);
}

.site-header .mobile-nav a.active::after {
    background: var(--brand-focus);
}

::selection {
    color: #fff;
    background: #303477;
}
