/* TIRAY visual layer. Layout and uploaded media remain owned by the base site. */
[data-site-theme="tiray"] {
  --tiray-primary: #1976d2;
  --tiray-primary-soft: rgba(25, 118, 210, 0.14);
  --tiray-bg: #2d2e30;
  --tiray-surface: #38393c;
  --tiray-surface-deep: #1f2022;
  --tiray-text: #ffffff;
  --tiray-text-muted: rgba(255, 255, 255, 0.68);
  --tiray-border: rgba(255, 255, 255, 0.12);

  /* Bridge both existing visual token sets; do not override geometry tokens. */
  --bg-primary: var(--tiray-bg);
  --bg-secondary: var(--tiray-surface-deep);
  --bg-tertiary: var(--tiray-surface);
  --bg-card: var(--tiray-surface);
  --bg-card-hover: var(--tiray-surface-deep);
  --color-primary: var(--tiray-primary);
  --color-primary-dark: var(--tiray-primary);
  --color-primary-light: var(--tiray-primary-soft);
  --color-primary-dim: var(--tiray-primary-soft);
  --color-accent: var(--tiray-primary);
  --text-primary: var(--tiray-text);
  --text-secondary: var(--tiray-text-muted);
  --text-muted: var(--tiray-text-muted);
  --border-color: var(--tiray-border);
  --border-hover: var(--tiray-primary);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.12);
  --shadow-md: 0 6px 20px rgba(0, 0, 0, 0.18);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.22);
  --shadow-xl: 0 16px 40px rgba(0, 0, 0, 0.28);
  --inner-ink: var(--tiray-text);
  --inner-blue: var(--tiray-primary);
  --inner-blue-deep: var(--tiray-primary);
  --inner-navy: var(--tiray-surface-deep);
  --inner-muted: var(--tiray-text-muted);
  --inner-line: var(--tiray-border);
  --inner-surface: var(--tiray-surface);
  background: var(--tiray-bg);
  color: var(--tiray-text);
}

[data-site-theme="tiray"] body {
  background: var(--tiray-bg);
  color: var(--tiray-text);
  font-family: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

/* Header and the existing mobile panel. White image backplates preserve Logo legibility. */
[data-site-theme="tiray"] .navbar,
[data-site-theme="tiray"] .nav-links {
  background: var(--tiray-bg);
  border-color: var(--tiray-border);
}

[data-site-theme="tiray"] .navbar.scrolled {
  background: var(--tiray-surface-deep);
  box-shadow: var(--shadow-md);
}

[data-site-theme="tiray"] .navbar.scrolled .nav-links {
  background: var(--tiray-surface-deep);
}

[data-site-theme="tiray"] .navbar .nav-logo-mark,
[data-site-theme="tiray"] .navbar .nav-logo-text {
  background: var(--tiray-text);
  border-radius: 4px;
}

[data-site-theme="tiray"] .nav-logo {
  color: var(--tiray-text);
}

[data-site-theme="tiray"] .nav-logo-text span:first-child {
  color: var(--tiray-text);
  font-size: 16px;
}

[data-site-theme="tiray"] .nav-logo-text span:last-child {
  font-size: 12px;
}

[data-site-theme="tiray"] .nav-links a,
[data-site-theme="tiray"] .lang-switch {
  color: var(--tiray-text-muted);
  font-size: 14px;
  border-color: var(--tiray-border);
  border-radius: 6px;
}

[data-site-theme="tiray"] .nav-links a:hover,
[data-site-theme="tiray"] .nav-links a.active {
  color: var(--tiray-primary);
  background: var(--tiray-primary-soft);
}

[data-site-theme="tiray"] .nav-toggle span {
  background: var(--tiray-text);
}

/* Existing section surfaces and decoration, without altering Banner images. */
[data-site-theme="tiray"] .hero,
[data-site-theme="tiray"] .products,
[data-site-theme="tiray"] .careers,
[data-site-theme="tiray"] .inner-content,
[data-site-theme="tiray"] .company-section {
  background: var(--tiray-bg);
}

[data-site-theme="tiray"] .about,
[data-site-theme="tiray"] .news,
[data-site-theme="tiray"] .company-section:nth-child(even) {
  background: var(--tiray-surface-deep);
}

[data-site-theme="tiray"] .inner-hero {
  background: var(--tiray-surface-deep);
  color: var(--tiray-text);
}

[data-site-theme="tiray"] .inner-hero::before,
[data-site-theme="tiray"] .about::before,
[data-site-theme="tiray"] .careers::before,
[data-site-theme="tiray"] .product-image::before,
[data-site-theme="tiray"] .careers-visual::before,
[data-site-theme="tiray"] .news-card-image::after {
  background: none;
}

[data-site-theme="tiray"] .scroll-progress,
[data-site-theme="tiray"] .app-card::before,
[data-site-theme="tiray"] .tech-tab-indicator {
  background: var(--tiray-primary);
  box-shadow: none;
}

[data-site-theme="tiray"] .section-title,
[data-site-theme="tiray"] .about-content h2,
[data-site-theme="tiray"] .product-info h2,
[data-site-theme="tiray"] .careers-text h2,
[data-site-theme="tiray"] .inner-hero__title,
[data-site-theme="tiray"] .inner-hero h1,
[data-site-theme="tiray"] .inner-section-heading h2,
[data-site-theme="tiray"] .content-detail .detail-title {
  color: var(--tiray-text);
  font-size: 34px;
  font-weight: 700;
  line-height: 1.3;
}

/* These existing homepage subheadings set sizes inline. Override typography only. */
[data-site-theme="tiray"] .tech-section .section-title,
[data-site-theme="tiray"] .applications .section-title,
[data-site-theme="tiray"] .careers .container > .reveal > h3 {
  font-size: 24px !important;
}

[data-site-theme="tiray"] .tech-text h3,
[data-site-theme="tiray"] .content-detail h2,
[data-site-theme="tiray"] .contact-details h2,
[data-site-theme="tiray"] .contact-map-panel h2 {
  color: var(--tiray-text);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

[data-site-theme="tiray"] .about-feature h4,
[data-site-theme="tiray"] .tech-advantage h4,
[data-site-theme="tiray"] .app-card h3,
[data-site-theme="tiray"] .news-card h3,
[data-site-theme="tiray"] .job-title h4,
[data-site-theme="tiray"] .culture-grid h3,
[data-site-theme="tiray"] .content-card h2,
[data-site-theme="tiray"] .news-row h2,
[data-site-theme="tiray"] .job-row h2,
[data-site-theme="tiray"] .content-detail h3 {
  color: var(--tiray-text);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}

[data-site-theme="tiray"] .section-eyebrow,
[data-site-theme="tiray"] .inner-hero__eyebrow,
[data-site-theme="tiray"] .eyebrow,
[data-site-theme="tiray"] .card-kicker,
[data-site-theme="tiray"] .inner-section-heading > p {
  color: var(--tiray-primary);
  font-size: 13px;
}

[data-site-theme="tiray"] .section-desc,
[data-site-theme="tiray"] .about-copy,
[data-site-theme="tiray"] .about-content p,
[data-site-theme="tiray"] .product-info > p,
[data-site-theme="tiray"] .careers-text p,
[data-site-theme="tiray"] .tech-text p,
[data-site-theme="tiray"] .inner-hero__description,
[data-site-theme="tiray"] .inner-hero > .inner-container > p:last-child,
[data-site-theme="tiray"] .detail-richtext,
[data-site-theme="tiray"] .detail-body,
[data-site-theme="tiray"] .feature-list {
  color: var(--tiray-text-muted);
  font-size: 16px;
  line-height: 1.8;
}

/* Cards and list rows retain their original grids, borders and image sizing. */
[data-site-theme="tiray"] .about-feature,
[data-site-theme="tiray"] .product-spec,
[data-site-theme="tiray"] .tech-flow-step,
[data-site-theme="tiray"] .tech-advantage,
[data-site-theme="tiray"] .app-card,
[data-site-theme="tiray"] .news-card,
[data-site-theme="tiray"] .careers-benefit,
[data-site-theme="tiray"] .job-item,
[data-site-theme="tiray"] .culture-grid article,
[data-site-theme="tiray"] .content-card,
[data-site-theme="tiray"] .news-row a,
[data-site-theme="tiray"] .job-row,
[data-site-theme="tiray"] .contact-details,
[data-site-theme="tiray"] .contact-map-panel {
  background: var(--tiray-surface);
  color: var(--tiray-text);
  border-color: var(--tiray-border);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
}

[data-site-theme="tiray"] .about-feature:hover,
[data-site-theme="tiray"] .product-spec:hover,
[data-site-theme="tiray"] .tech-flow-step:hover,
[data-site-theme="tiray"] .tech-advantage:hover,
[data-site-theme="tiray"] .app-card:hover,
[data-site-theme="tiray"] .news-card:hover,
[data-site-theme="tiray"] .careers-benefit:hover,
[data-site-theme="tiray"] .job-item:hover,
[data-site-theme="tiray"] .content-card:hover,
[data-site-theme="tiray"] .news-row a:hover,
[data-site-theme="tiray"] .job-row:hover {
  background: var(--tiray-surface);
  border-color: var(--tiray-primary);
  box-shadow: var(--shadow-lg);
}

/* Keep alternate text readable when a news image is empty or unavailable. */
[data-site-theme="tiray"] .news-row img {
  color: var(--tiray-text);
  background-color: var(--tiray-surface-deep);
}

[data-site-theme="tiray"] .product-image,
[data-site-theme="tiray"] .news-card-image,
[data-site-theme="tiray"] .careers-visual {
  background: var(--tiray-surface);
  border-color: var(--tiray-border);
  border-radius: 8px;
}

[data-site-theme="tiray"] .app-card p,
[data-site-theme="tiray"] .news-card p,
[data-site-theme="tiray"] .culture-grid p,
[data-site-theme="tiray"] .content-card p:not(.card-kicker),
[data-site-theme="tiray"] .news-row p:not(.card-kicker),
[data-site-theme="tiray"] .job-row p,
[data-site-theme="tiray"] .job-meta,
[data-site-theme="tiray"] .careers-benefit span,
[data-site-theme="tiray"] .tech-flow-text {
  color: var(--tiray-text-muted);
  font-size: 14px;
}

[data-site-theme="tiray"] .about-feature p,
[data-site-theme="tiray"] .tech-advantage p,
[data-site-theme="tiray"] .product-spec-label,
[data-site-theme="tiray"] .news-card-date,
[data-site-theme="tiray"] .job-title p,
[data-site-theme="tiray"] .job-row dt,
[data-site-theme="tiray"] .job-meta dt,
[data-site-theme="tiray"] .contact-details dt {
  color: var(--tiray-text-muted);
  font-size: 13px;
}

[data-site-theme="tiray"] .product-spec-value,
[data-site-theme="tiray"] .milestone-year {
  color: var(--tiray-primary);
  font-size: 24px;
}

[data-site-theme="tiray"] .job-salary {
  color: var(--tiray-text);
  font-size: 20px;
}

[data-site-theme="tiray"] .app-card-tag,
[data-site-theme="tiray"] .news-card-category {
  color: var(--tiray-text);
  background: var(--tiray-primary-soft);
  border-radius: 4px;
  font-size: 12px;
}

/* Existing controls and their active, hover and keyboard-focus states. */
[data-site-theme="tiray"] .btn,
[data-site-theme="tiray"] .inner-button,
[data-site-theme="tiray"] .tech-tab,
[data-site-theme="tiray"] .category-pills a,
[data-site-theme="tiray"] .pagination-wrap a,
[data-site-theme="tiray"] .pagination-wrap span {
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
}

[data-site-theme="tiray"] .btn-primary,
[data-site-theme="tiray"] .inner-button,
[data-site-theme="tiray"] .back-to-top {
  background: var(--tiray-primary);
  color: var(--tiray-text);
  box-shadow: var(--shadow-sm);
}

[data-site-theme="tiray"] .btn-primary:hover,
[data-site-theme="tiray"] .inner-button:hover,
[data-site-theme="tiray"] .back-to-top:hover {
  background: var(--tiray-primary);
  color: var(--tiray-text);
  box-shadow: 0 0 0 3px var(--tiray-primary-soft), var(--shadow-md);
}

[data-site-theme="tiray"] .btn-outline,
[data-site-theme="tiray"] .category-pills a,
[data-site-theme="tiray"] .pagination-wrap a,
[data-site-theme="tiray"] .pagination-wrap span,
[data-site-theme="tiray"] input,
[data-site-theme="tiray"] select,
[data-site-theme="tiray"] textarea {
  color: var(--tiray-text-muted);
  background: var(--tiray-surface);
  border-color: var(--tiray-border);
}

[data-site-theme="tiray"] .btn-outline:hover,
[data-site-theme="tiray"] .tech-tab:hover,
[data-site-theme="tiray"] .tech-tab.active {
  color: var(--tiray-text);
  background: var(--tiray-primary-soft);
  border-color: var(--tiray-primary);
}

[data-site-theme="tiray"] .category-pills a:hover,
[data-site-theme="tiray"] .category-pills .is-active,
[data-site-theme="tiray"] .pagination-wrap a:hover,
[data-site-theme="tiray"] .pagination-wrap .active span {
  color: var(--tiray-text);
  background: var(--tiray-primary);
  border-color: var(--tiray-primary);
}

[data-site-theme="tiray"] .pagination-wrap .disabled span {
  color: var(--tiray-text-muted);
  opacity: 0.6;
}

[data-site-theme="tiray"] a:focus-visible,
[data-site-theme="tiray"] button:focus-visible,
[data-site-theme="tiray"] input:focus-visible,
[data-site-theme="tiray"] select:focus-visible,
[data-site-theme="tiray"] textarea:focus-visible {
  outline-color: var(--tiray-primary);
}

[data-site-theme="tiray"] .banner-arrow {
  color: var(--tiray-text);
  background: var(--tiray-surface-deep);
  border-color: var(--tiray-border);
}

[data-site-theme="tiray"] .banner-arrow:hover,
[data-site-theme="tiray"] .banner-dot.active {
  background: var(--tiray-primary);
  border-color: var(--tiray-primary);
  box-shadow: var(--shadow-md);
}

[data-site-theme="tiray"] .banner-dot {
  background: var(--tiray-text-muted);
}

/* Detail pages keep their transparent, unboxed reading area. */
[data-site-theme="tiray"] .content-detail {
  color: var(--tiray-text);
  background: transparent;
}

[data-site-theme="tiray"] .detail-meta,
[data-site-theme="tiray"] .article-detail > .eyebrow {
  color: var(--tiray-text);
  background: var(--tiray-primary-soft);
  font-size: 13px;
  border-radius: 6px;
}

[data-site-theme="tiray"] .detail-lead,
[data-site-theme="tiray"] .content-detail .lead {
  color: var(--tiray-text-muted);
  border-color: var(--tiray-border);
  font-size: 16px;
  line-height: 1.8;
}

[data-site-theme="tiray"] .detail-section,
[data-site-theme="tiray"] .content-detail section,
[data-site-theme="tiray"] .parameter-grid,
[data-site-theme="tiray"] .parameter-grid > div,
[data-site-theme="tiray"] .job-meta,
[data-site-theme="tiray"] .contact-details dl > div {
  border-color: var(--tiray-border);
}

[data-site-theme="tiray"] .parameter-grid dt {
  color: var(--tiray-text-muted);
  font-size: 14px;
}

[data-site-theme="tiray"] .parameter-grid dd,
[data-site-theme="tiray"] .job-meta dd,
[data-site-theme="tiray"] .detail-richtext strong,
[data-site-theme="tiray"] .detail-richtext b {
  color: var(--tiray-text);
}

[data-site-theme="tiray"] .detail-richtext table,
[data-site-theme="tiray"] .detail-richtext td,
[data-site-theme="tiray"] .detail-body table,
[data-site-theme="tiray"] .detail-body td {
  color: var(--tiray-text-muted);
  background: var(--tiray-bg);
  border-color: var(--tiray-border);
  font-size: 14px;
}

[data-site-theme="tiray"] .detail-richtext th,
[data-site-theme="tiray"] .detail-body th {
  color: var(--tiray-text);
  background: var(--tiray-surface);
  border-color: var(--tiray-border);
  font-size: 14px;
}

[data-site-theme="tiray"] .breadcrumb {
  color: var(--tiray-text-muted);
  font-size: 14px;
}

[data-site-theme="tiray"] .breadcrumb a,
[data-site-theme="tiray"] .contact-details a,
[data-site-theme="tiray"] .detail-richtext a,
[data-site-theme="tiray"] .detail-body a {
  color: var(--tiray-primary);
}

[data-site-theme="tiray"] .breadcrumb a:hover,
[data-site-theme="tiray"] .contact-details a:hover,
[data-site-theme="tiray"] .detail-richtext a:hover,
[data-site-theme="tiray"] .detail-body a:hover {
  color: var(--tiray-text);
  text-decoration: underline;
}

[data-site-theme="tiray"] .empty-state,
[data-site-theme="tiray"] .map-placeholder {
  background: var(--tiray-surface);
  color: var(--tiray-text-muted);
  border-color: var(--tiray-border);
  border-radius: 8px;
  font-size: 14px;
}

[data-site-theme="tiray"] .contact-map {
  background: var(--tiray-surface-deep);
  border-radius: 8px;
}

[data-site-theme="tiray"] .timeline-list {
  border-color: var(--tiray-border);
}

[data-site-theme="tiray"] .timeline-list li::before {
  background: var(--tiray-primary);
  border-color: var(--tiray-bg);
  box-shadow: 0 0 0 3px var(--tiray-primary-soft);
}

/* Footer */
[data-site-theme="tiray"] .footer {
  background: var(--tiray-surface-deep);
  color: var(--tiray-text-muted);
  border-color: var(--tiray-border);
}

[data-site-theme="tiray"] .footer-col h4 {
  color: var(--tiray-text);
  font-size: 16px;
}

[data-site-theme="tiray"] .footer-brand p,
[data-site-theme="tiray"] .footer-col a,
[data-site-theme="tiray"] .footer-contact-item {
  color: var(--tiray-text-muted);
  font-size: 14px;
}

[data-site-theme="tiray"] .footer-bottom {
  border-color: var(--tiray-border);
}

[data-site-theme="tiray"] .footer-bottom p,
[data-site-theme="tiray"] .footer-bottom-links a,
[data-site-theme="tiray"] .footer-bottom-links span {
  color: var(--tiray-text-muted);
  font-size: 13px;
}

[data-site-theme="tiray"] .footer a:hover {
  color: var(--tiray-text);
}

@media (max-width: 768px) {
  [data-site-theme="tiray"] .section-title,
  [data-site-theme="tiray"] .about-content h2,
  [data-site-theme="tiray"] .product-info h2,
  [data-site-theme="tiray"] .careers-text h2,
  [data-site-theme="tiray"] .inner-hero__title,
  [data-site-theme="tiray"] .inner-hero h1,
  [data-site-theme="tiray"] .inner-section-heading h2,
  [data-site-theme="tiray"] .content-detail .detail-title {
    font-size: 28px;
  }
}
