@charset "UTF-8";

/* Shared website theme, aligned with the AI idea incubator. Load after page styles. */
:root {
  color-scheme: light;
  --ink: #263e35;
  --text: #36423d;
  --green: #466b53;
  --green-hover: #345841;
  --muted: #717e70;
  --line: #e1e7dc;
  --paper: #fafbf8;
  --surface: #fff;
  --soft: #f3f5ef;
  --selected: #e6eddd;
  --shadow: 0 4px 18px #263e3506;
  --primary-color: var(--green);
  --secondary-color: #78925e;
  --accent-color: #6d8658;
  --dark-color: var(--ink);
  --light-color: var(--soft);
  --text-color: var(--text);
  --gradient-1: linear-gradient(135deg, #466b53, #65805a);
  --gradient-2: linear-gradient(135deg, #eef3e7, #f3f5ef);
  --gradient-3: linear-gradient(135deg, #466b53, #78925e);
  --pc-bg0: var(--paper);
  --pc-bg1: var(--soft);
  --pc-text: var(--text);
  --pc-muted: var(--muted);
  --pc-card: var(--surface);
  --pc-stroke: var(--line);
  --pc-glow: var(--shadow);
}

html { scroll-padding-top: 100px; }
body.sage-theme {
  background: var(--paper);
  color: var(--text);
  font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.8;
}
button, input, select, textarea { font-family: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a { color: var(--green); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid #7b9b69; outline-offset: 4px; }
::selection { background: #dce8d1; color: var(--ink); }
.container { width: 1200px; max-width: 100%; }

/* Shared navigation and brand. */
.header, .header--alaeye {
  position: fixed; inset: 0 0 auto; height: 78px; overflow: visible;
  background: #fff; border-bottom: 1px solid var(--line); backdrop-filter: none;
  padding: 0 !important; box-shadow: none !important;
}
.header .container {
  width: 100%; max-width: 1600px; height: 100%; padding: 0 30px;
  display: flex; align-items: center; justify-content: space-between; gap: 30px;
}
.site-brand { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; text-decoration: none; }
/* Crop only the source image's white margins; keep the entire logo in proportion. */
.brand-logo { display: block; width: 180px; height: 54px; object-fit: cover; object-position: center; }
.header .nav, .header .nav ul { height: 100%; }
.header .nav ul { display: flex; align-items: stretch; gap: 32px; }
.header .nav li { margin: 0; display: flex; }
.header .nav ul li a.nav-link {
  display: flex; align-items: center; gap: 7px; padding: 0; height: 100%;
  font-size: 13px; font-weight: 400; white-space: nowrap;
  background: none; color: #667169; border: 0; border-radius: 0;
  box-shadow: none; text-shadow: none; transform: none;
}
.header .nav ul li a.nav-link:hover, .header .nav ul li a.nav-link.active { color: var(--green); background: none; }
.header .nav ul li a.nav-link.active { font-weight: 600; }
.header .nav-link::before { display: none; }
.header .nav-link::after {
  content: ""; position: absolute; inset: auto 0 0; height: 3px;
  width: auto; background: var(--green); border-radius: 3px;
  transform: none; opacity: 0; box-shadow: none; filter: none;
}
.header .nav-link.active::after { opacity: 1; }

.header-note { font-size: 11px; color: #7e8a76; white-space: nowrap; }
.header-note span { font-size: 22px; margin-right: 9px; vertical-align: middle; color: #9dac8a; }
.header .menu-toggle { color: var(--green); background: var(--soft); border: 1px solid var(--line); box-shadow: none; border-radius: 8px; padding: 6px 10px; font-size: 20px; cursor: pointer; }

/* Quiet surfaces, green accents and readable typography. */
.section-title, .intro-title, .pc-hero__title, .pc-section__title,
.ala-panel__title h1, .notice-text h3, .title-line {
  background: none; -webkit-text-fill-color: currentColor; color: var(--ink);
  text-shadow: none; font-weight: 500;
}
.section-title { font-size: 28px; }
.section-subtitle, .intro-subtitle { color: var(--muted); }
.divider { width: 42px; height: 3px; background: #9caf87; border-radius: 3px; box-shadow: none; }
.btn, .btn-neon, .btn-ghost, .notice-btn { border-radius: 9px; font-weight: 500; text-shadow: none; transition: background .2s, border-color .2s, transform .2s; }
.btn-primary, .btn-secondary, .btn--primary, .btn--primary-circle, .btn-neon, .notice-btn, .back-to-top {
  background: var(--green); color: #fff; border: 1px solid var(--green); box-shadow: 0 3px 6px #2348280d;
}
.btn-primary:hover, .btn-secondary:hover, .btn--primary:hover, .btn--primary-circle:hover,
.btn-neon:hover, .notice-btn:hover, .back-to-top:hover {
  background: var(--green-hover); border-color: var(--green-hover); box-shadow: 0 3px 8px #23482812; transform: translateY(-1px);
}
.btn--sub, .btn--ghost, .btn-ghost { background: var(--soft); color: var(--green); border: 1px solid var(--line); box-shadow: none; }
.btn--sub:hover, .btn--ghost:hover, .btn-ghost:hover { background: var(--selected); color: var(--green); border-color: #bdcdb2; box-shadow: none; }
.back-to-top { border-radius: 12px; width: 42px; height: 42px; }
.particles-container, .pc-canvas, .pc-hero__glow, #particles-canvas, .grid-overlay,
.glow-effect, .ala-bg, .header-bg, .footer-bg, .notice-decoration, .icon-pulse { display: none; }
.company-intro::before, .company-intro::after, .intro-text p::before, .intro-text p::after,
.intro-text strong::after, .intro-text em::after, .value-card::before, .kpi::before,
.pc-card::before, .ala-panel::before, .doc-card::after, .ala-notice-banner::before,
.notice-btn::before, .qr-card::before, .qr-card::after, .qr-image-wrapper::before,
.highlight-tagline::before, .highlight-tagline::after { display: none; }

/* Company introduction. */
.company-intro { padding: 144px 0 80px; background: var(--paper); animation: none; }
.intro-header { margin-bottom: 32px; }
.intro-title { font-size: clamp(26px, 3vw, 38px); letter-spacing: 1px; line-height: 1.5; }
.intro-subtitle { font-size: 14px; }
.intro-text { color: var(--text); font-size: 14px; line-height: 2.1; letter-spacing: .3px; text-shadow: none; }
.intro-text p, .intro-text p:hover {
  padding: 22px 26px; background: #fff; border: 1px solid var(--line);
  border-left: 3px solid #a6ba90; border-image: none; border-radius: 10px;
  box-shadow: var(--shadow); animation: none; backdrop-filter: none; transform: none;
}
.intro-text strong, .intro-text em { background: none; -webkit-text-fill-color: currentColor; color: var(--green); text-shadow: none; }
.team-section { margin-top: 68px; }
.team-grid { gap: 22px; }
.team-member, .value-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.team-member:hover, .value-card:hover { background: #fff; border-color: #bdcdb2; box-shadow: 0 8px 22px #263e350c; transform: translateY(-3px); }
.member-photo { background: var(--soft); }
.member-photo::after { display: none; }
.member-info { padding: 22px 18px; }
.member-name, .value-title { color: var(--ink); }
.member-position { color: var(--green); font-size: 13px; }
.member-bio, .value-description { color: var(--muted); }
.values-section { margin-top: 80px; }
.value-card { padding: 32px 26px; }
.value-icon, .section-icon, .info-icon { background: #eef3e7; border: 1px solid var(--line); color: #6d8658; box-shadow: none; animation: none; }
.value-icon { width: 58px; height: 58px; border-radius: 16px; font-size: 24px; }
.value-title { font-size: 18px; }
.value-description { font-size: 14px; line-height: 1.9; }

/* Product catalogue, filters and detail drawer. */
.pc-hero { min-height: auto; padding: 138px 0 64px; background: var(--paper); }
.pc-hero__badge, .hero-badge, .ala-chip--primary { background: #eff4e8; border: 1px solid #dfe7d6; color: #658051; box-shadow: none; }
.pc-hero__badge .dot, .pulse-dot { background: #8ca77a; box-shadow: none; animation: none; }
.pc-hero__badge .pulse { display: none; }
.pc-hero__title { font-size: clamp(32px, 3.4vw, 46px); line-height: 1.4; }
.pc-hero__title-sub { font-size: 19px; color: var(--green); }
.pc-hero__desc { font-size: 14px; max-width: 780px; color: var(--muted); }
.kpi, .pc-card, .pc-toolbar, .pc-note, .contact-card { background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); border-radius: 12px; backdrop-filter: none; }
.kpi { padding: 20px; }
.kpi__num { color: var(--green); font-weight: 500; font-size: 30px; }
.kpi__label, .pc-section__subtitle, .pc-card__tagline, .pc-bullets,
.pc-price__label, .pc-price__note, .m span, .pc-note__text, .contact-card__left p { color: var(--muted); }
.pc-section { background: var(--soft); padding: 64px 0; border-top: 1px solid var(--line); }
.pc-section__title { font-size: 28px; }
.pc-section--contact { background: var(--paper); }
.chip, .tab, .pc-search, .pc-card__more { background: var(--paper); border-color: var(--line); color: var(--green); box-shadow: none; border-radius: 8px; }
.tab:hover, .tab.active, .pc-card__more:hover { background: var(--selected); border-color: #bccdae; color: var(--green); }
.pc-search input { color: var(--text); }
.pc-search input::placeholder, .pc-search i { color: var(--muted); }
.pc-card:hover { border-color: #bdcdb2; transform: translateY(-3px); }
.pc-card__top { padding: 22px 20px 14px; gap: 12px; }
.pc-card__body { padding: 0 20px 20px; }
.pc-card__icon { background: #eaf0e4; color: #688255; border: 1px solid #dfe7d6; box-shadow: none; width: 42px; height: 42px; border-radius: 12px; }
.pc-card__more { width: 30px; height: 30px; flex-shrink: 0; }
.pc-card__title { font-size: 17px; color: var(--ink); }
.pc-card__tagline, .pc-bullets { font-size: 13px; }
.pc-bullets strong { color: var(--ink); }
.pc-metrics { background: var(--paper); border-color: var(--line); border-radius: 8px; }
.m b { color: var(--green); font-size: 13px; }
.m span { font-size: 12px; }
.pc-price { background: #f1f5eb; border-color: #dfe7d6; border-radius: 8px; }
.pc-price__old { color: #7c8776; text-decoration-color: #a7b69b; }
.pc-price__new { color: var(--green); background: #e5eddc; border-color: #d3dfc9; box-shadow: none; font-size: 14px; border-radius: 6px; }
.pc-note__icon { color: #7a9564; }
.contact-card__left h2 { color: var(--ink); }
.pc-drawer__overlay { background: #263e3559; backdrop-filter: blur(3px); }
.pc-drawer__panel { background: var(--paper); border-color: var(--line); backdrop-filter: none; overflow-y: auto; }
.pc-drawer__close { color: var(--green); background: var(--soft); border-color: var(--line); border-radius: 8px; }
.pc-drawer__content { color: var(--text); }
.pc-drawer__content p { color: var(--muted); }
.pc-detail-box { margin-top: 14px; padding: 16px; border-radius: 10px; background: #fff; border: 1px solid var(--line); }
.pc-detail-box--price { background: #f1f5eb; }
.pc-detail-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-weight: 600; }
.pc-detail-dot { width: 8px; height: 8px; border-radius: 50%; background: #8ca77a; }
.pc-detail-list { margin: 0; padding-left: 18px; line-height: 1.9; color: var(--muted); }

/* Academic and intellectual property workspace. */
.ala-notice-banner { margin-top: 78px; padding: 26px 0 0; background: var(--paper); backdrop-filter: none; }
.notice-banner-content { background: #eff4e8; border-color: #dfe7d6; border-radius: 12px; box-shadow: none; padding: 20px 24px; gap: 20px; }
.notice-icon { background: #e4ecd9; border-color: #d2dfc6; border-radius: 12px; width: 48px; height: 48px; flex-shrink: 0; }
.notice-icon i { color: var(--green); text-shadow: none; animation: none; font-size: 23px; }
.notice-text h3 { font-size: 17px; }
.notice-text p { color: var(--muted); font-size: 13px; }
.notice-btn { font-size: 13px; padding: 10px 18px; }
.ala-layout { background: var(--paper); color: var(--text); }
.ala-main { gap: 22px; }
.ala-panel, .ala-chat, .ip-card, .upload-card { background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); border-radius: 12px; backdrop-filter: none; }
.ala-panel__title h1 { font-size: 25px; }
.ala-panel__title h1 span { color: var(--green); font-size: 20px; }
.ala-panel__title p, .kpi-label, .field label, .group-label, .memory-sub,
.chat-ai__meta p, .quick-prompts span, .ip-card__header p, .upload-card__header p,
.upload-label, .dropzone-inner .hint, .upload-file-meta, .upload-safe { color: var(--muted); opacity: 1; }
.ala-panel__kpis { min-width: 135px; }
.kpi-item, .ala-toolbar { background: var(--soft); border: 1px solid var(--line); box-shadow: none; border-radius: 9px; }
.kpi-value { color: var(--green); }
.ala-select, .ala-input, #ala-chat-input, #upload-note {
  background: #fff; color: var(--text); border-color: #d9e2d2; border-radius: 8px; min-width: 0;
}
.ala-select { max-width: 100%; }
.ala-input::placeholder, #ala-chat-input::placeholder, #upload-note::placeholder { color: #81907b; }
.ala-select option { background: #fff; color: var(--text); }
.ala-toolbar .field, .field-control, .field-inline, .input-row { min-width: 0; }
.title-suggestions button, .ala-tab, .radio-pill span, .quick-btn, .ip-step, .upload-type {
  background: var(--paper); color: var(--green); border-color: var(--line); border-radius: 7px; box-shadow: none;
}
.title-suggestions button:hover, .ala-tab.active-main, .ala-tab:hover,
.radio-pill input:checked + span, .quick-btn:hover, .ip-step.active, .upload-type.selected {
  background: var(--selected); color: var(--green); border-color: #aebe9e; box-shadow: none;
}
.doc-card { background: var(--paper); border-color: var(--line); border-radius: 9px; text-align: left; }
.doc-card.selected { background: #eaf0e4; border-color: #a8bd96; }
.doc-icon { background: #eaf0e4; border: 1px solid #dce5d2; color: #6d8658; border-radius: 8px; flex-shrink: 0; }
.doc-text h3, .memory-title, .chat-ai__meta h2, .ip-card__header h3,
.upload-card__header h3, .dropzone-inner p, .upload-file-name { color: var(--ink); }
.doc-text p { color: var(--muted); }
.ala-footer { border-color: var(--line); }
.slider { background: #d7e0ce; border-color: #ccd8c2; }
.slider::before { background: #fff; box-shadow: 0 1px 3px #263e351a; }
.switch input:checked + .slider { background: #8faa7b; border-color: #8faa7b; }
.chat-ai__avatar { background: #eaf0e4; color: #6d8658; border: 1px solid var(--line); border-radius: 12px; }
.chat-ai__avatar .ring { display: none; }
.ala-chat__messages { background: var(--paper); border: 1px solid var(--line); border-radius: 9px; padding: 14px 10px; }
.ala-message--ai .ala-message__bubble { background: #fff; border: 1px solid var(--line); color: var(--text); }
.ala-message--user .ala-message__bubble { background: #eaf0e4; color: var(--ink); }
.ala-message--ai .ala-message__avatar, .ala-message--user .ala-message__avatar { background: #e4ecd9; color: var(--green); flex-shrink: 0; }
.ip-step-content, .upload-dropzone, .upload-file-item { background: var(--paper); border-color: var(--line); color: var(--text); }
.upload-dropzone.dragover { background: #eaf0e4; border-color: #9eb58c; box-shadow: 0 0 0 2px #dce8d1; }
.dropzone-icon, .upload-safe i { color: #7a9564; }
.ala-typing span { background: #8faa7b; }

/* Contact cards and QR previews. */
.contact-main { padding-top: 126px; background: var(--paper); }
.contact-hero .hero-content { display: block; padding: 0; }
.contact-title { color: var(--ink); font-size: clamp(30px, 3vw, 38px); font-weight: 500; margin: 10px 0; }
.contact-hero .hero-description { color: var(--muted); margin: 0 auto 22px; font-size: 14px; }
.highlight-tagline { background: #eff4e8; color: var(--green); border: 1px solid #dfe7d6; box-shadow: none; text-shadow: none; }
.qr-section { margin-bottom: 44px; opacity: 1; transform: none; }
.qr-section .section-header { margin-bottom: 24px; }
.section-icon { border-radius: 14px; width: 48px; height: 48px; font-size: 20px; }
.qr-section .section-title { color: var(--ink); font-size: 25px; }
.qr-section .section-subtitle { color: var(--muted); margin-bottom: 14px; }
.qr-card, .info-card { background: #fff; border-color: var(--line); border-radius: 12px; box-shadow: var(--shadow); backdrop-filter: none; }
.qr-card:hover, .info-card:hover { background: #fff; border-color: #b7cba7; box-shadow: 0 8px 20px #263e350c; transform: translateY(-3px); }
.qr-image-wrapper { border: 1px solid var(--line); border-radius: 10px; box-shadow: none; }
.qr-card:hover .qr-image-wrapper { transform: none; box-shadow: none; }
.qr-label, .info-card h3 { color: var(--ink); }
.info-card p { color: var(--muted); }
.info-icon { width: 48px; height: 48px; border-radius: 12px; font-size: 22px; }
.qr-modal { background: #263e3566 !important; backdrop-filter: blur(5px); }
.qr-modal img { background: #fff; padding: 16px; box-shadow: 0 12px 40px #263e3526 !important; }

/* Footer and shared dialogs. */
.footer { background: var(--soft); border-top: 1px solid var(--line); color: var(--muted); padding: 48px 0 20px; }
.footer .container { max-width: 100%; width: 1200px; }
.footer .site-brand { margin-bottom: 20px; }
.footer-about p, .footer-links a, .footer-links li, .footer-bottom { color: var(--muted); }
.footer-links h3 { color: var(--ink); font-size: 15px; }
.footer-links h3::after { background: #a6ba90; height: 2px; }
.footer-links a:hover { color: var(--green); text-shadow: none; }
.footer-bottom { border-color: var(--line); font-size: 12px; }
.social-links a, .social-link { background: #e8efdf; color: var(--green); box-shadow: none; border: 1px solid #dce5d2; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 7px; }
.social-links a:hover, .social-link:hover { background: var(--green); color: #fff; box-shadow: none; }
.modal-content { border: 1px solid var(--line); background: #fff; border-radius: 12px; }
.modal-header { background: var(--soft); color: var(--ink); border-bottom: 1px solid var(--line); }
.close-modal { color: var(--green); }

@media (max-width: 1200px) {
  .header-note { display: none; }
  .header .nav ul { gap: 26px; }
}
@media (max-width: 1280px) {
  .ala-panel__header { flex-wrap: wrap; }
  .ala-panel__kpis { flex-direction: row; flex-wrap: wrap; width: 100%; }
  .ala-panel__kpis .kpi-item { flex: 1; min-width: 120px; }
}
@media (max-width: 768px) {
  html { scroll-padding-top: 83px; }
  .header, .header--alaeye { height: 63px; }
  .header .container { padding: 0 18px; gap: 16px; }
  .site-brand { gap: 8px; }
  .brand-logo { width: 145px; height: 44px; }
  .header .nav { position: fixed; inset: 63px 0 auto; height: auto; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 10px 20px #263e350a; }
  .header .nav ul { flex-direction: column; gap: 0; height: auto; padding: 10px 18px 18px; }
  .header .nav li { margin: 0; }
  .header .nav ul li a.nav-link { width: 100%; padding: 12px 16px; border-radius: 7px; }
  .header .nav ul li a.nav-link.active { background: var(--selected); }
  .header .nav-link::after { display: none; }
  .company-intro { padding: 104px 0 48px; }
  .intro-header { margin-bottom: 24px; }
  .intro-text p { padding: 18px 20px; }
  .team-section, .values-section { margin-top: 48px; }
  .section-title { font-size: 25px; }
  .pc-hero { padding: 106px 0 40px; }
  .pc-hero__title-sub { font-size: 17px; }
  .pc-section { padding: 40px 0; }
  .kpi { padding: 16px; }
  .kpi__label { font-size: 12px; }
  .pc-hero__chips { gap: 7px; }
  .chip { font-size: 12px; }
  .ala-notice-banner { margin-top: 63px; padding-top: 20px; }
  .ala-notice-banner .container, .ala-layout .container { max-width: 100%; padding-left: 18px; padding-right: 18px; }
  .notice-banner-content { padding: 18px; gap: 12px; }
  .notice-icon { width: 40px; height: 40px; }
  .notice-text { min-width: 180px; }
  .notice-action { width: 100%; }
  .ala-panel { padding: 18px 14px; }
  .ala-panel__title h1 { font-size: 23px; }
  .ala-panel__title h1 span { display: block; margin-left: 0; font-size: 18px; }
  .ala-panel__kpis .kpi-item { min-width: 0; padding: 8px; }
  .ala-actions .btn { width: 100%; }
  .ala-select, .ala-input { width: 100%; }
  #ala-chat-input { width: 0; min-width: 0; }
  .ala-chat__input .btn--primary-circle { width: 40px; flex: 0 0 40px; padding: 0; }
  .contact-main { padding-top: 99px; }
  .contact-hero { padding-top: 0; }
  .qr-grid { padding: 0; }
  .qr-section .section-subtitle { font-size: 13px; }
  .footer { padding-top: 36px; }
  .footer-content { gap: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .sage-theme *, .sage-theme *::before, .sage-theme *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}
