/* ==========================================================================
   关于页首屏高度
   hero 文案较 index 更少，796px 桌面高度下方留白偏大；
   仅 ≥1200px 收窄为 680px（与 index 首屏一致），窄屏沿用模板断点高度。
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  .home-slider-area .home-slider-container .home-slider-wrapper.slider-default .slider-content-two-area.about-hero-slide {
    height: 680px;
  }
}

/* Shared finishing layer: preserve each page's layout and brand palette. */
:root {
  --site-ink: #263449;
  --site-muted: #637185;
  --site-line: #e4e8ed;
  --site-ease: cubic-bezier(.2, .8, .2, 1);
}
html:has(.site-header) { scroll-behavior: smooth; }
.has-site-header [hidden] { display: none !important; }
.has-site-header :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 2px solid #bc7b20; outline-offset: 4px;
}
.has-site-header :is(button,summary,a) { touch-action: manipulation; }
.has-site-header :is(h1,h2,h3) { text-wrap: balance; }
.has-site-header .section-title .title { line-height: 1.4; }
.has-site-header .section-title .sub-title { letter-spacing: .08em; }
.has-site-header :is(.btn-theme,.ux-button,.cta-button) {
  transition: transform .22s var(--site-ease), box-shadow .22s ease, background-color .22s ease, color .22s ease;
}
.has-site-header :is(.btn-theme,.ux-button,.cta-button):active { transform: translateY(1px); }
.has-site-header .testimonial-area .testimonial-item {
  border: 1px solid #e5e9ee; border-radius: 12px;
  padding: 28px; margin-bottom: 24px; width: 100%;
  box-shadow: 0 5px 20px #26344905;
}
.has-site-header .testimonial-area .row > div:has(> .testimonial-item) { display: flex; }
.has-site-header .testimonial-area .testi-author { margin-bottom: 20px; }
.has-site-header .testimonial-area .testi-info { padding: 0; }
.has-site-header .testimonial-area .testi-quote { display: none; }
.has-site-header .testimonial-item .desc { font-style: normal; font-size: 15px; line-height: 1.9; color: #4f5e70; }
.has-site-header .testimonial-item .testi-info .title { line-height: 1.5; color: var(--site-ink); }
.has-site-header .rating-box { color: #bb801e; }
/* Tutorials retain their illustrated, open layout instead of a second box around the image. */
.has-site-header .product-category-item { margin-bottom: 34px; }
.has-site-header .product-category-item .thumb { max-width: 100%; height: auto; aspect-ratio: 1; }
.has-site-header .product-category-item .thumb::before { display: none; }
.has-site-header .product-category-item .thumb img { object-fit: cover; aspect-ratio: 1; transition: transform .4s var(--site-ease); }
.has-site-header .product-category-item .content { margin-top: 20px; }
.has-site-header .product-category-item .content .title { font-size: 18px; line-height: 1.55; min-height: 56px; margin-bottom: 6px; }
.has-site-header .product-category-item .t_desc { height: auto; min-height: 68px; margin: 12px 0 18px; color: #657285; font-size: 14px; line-height: 1.8; }
.has-site-header .product-category-item .ux-button { min-height: 42px; }
.site-section-lead { color: var(--site-muted); font-size: 17px; line-height: 1.9; }
.site-skip {
  position: fixed; top: 8px; left: 16px; z-index: 1100; transform: translateY(-160%);
  padding: 10px 18px; border-radius: 8px; background: #f5c26b; color: #263449;
}
.site-skip:focus { transform: none; }
.site-reading-progress {
  position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px;
  background: #f5c26b; transform: scaleX(0); transform-origin: left; pointer-events: none;
}
.has-site-header .scroll-to-top {
  width: 44px; height: 44px; line-height: 42px; padding: 0;
  border: 1px solid #d8c9a5; border-radius: 12px; background: #fffaf2; color: #82571a;
  box-shadow: 0 5px 20px #26344918; right: 22px; bottom: 22px;
}
.has-site-header .scroll-to-top:not(.show) { visibility: hidden; pointer-events: none; }
.has-site-header .scroll-top { border: 1px solid #d8c9a5; }
/* FAQ answers remain in the document and can be expanded independently. */
.has-site-header .testimonial-item.site-faq-card { padding: 0; margin-bottom: 16px; border: 1px solid #e5e9ee; box-shadow: none; }
.site-faq summary {
  list-style: none; position: relative; cursor: pointer; padding: 21px 52px 21px 24px;
  font-size: 16px; font-weight: 600; color: var(--site-ink); line-height: 1.7;
}
.site-faq summary::-webkit-details-marker { display: none; }
.site-faq summary::after {
  content: '+'; position: absolute; right: 22px; top: 21px; color: #a56c18;
  font-size: 22px; font-weight: 400; line-height: 1.2; transition: transform .22s ease;
}
.site-faq[open] summary::after { transform: rotate(45deg); }
.site-faq[open] summary { color: #98631b; }
.site-faq > .testi-content { padding: 0 24px 20px; }
.site-faq .desc > img[src*="quote"] { display: none; }
.has-site-header .site-faq .desc { margin: 0; font-size: 14px; }
@media (hover: hover) and (pointer: fine) {
  .has-site-header .product-category-item:hover .thumb img { transform: scale(1.035); }
  .has-site-header :is(.btn-theme,.ux-button,.cta-button):hover { box-shadow: 0 6px 18px #a16d1d20; }
  .site-faq summary:hover { background: #f5c26b0d; }
}
@media (max-width: 760px) {
  .site-faq summary { padding: 18px 44px 18px 18px; font-size: 15px; }
  .site-faq summary::after { right: 18px; top: 19px; }
  .site-faq > .testi-content { padding: 0 18px 18px; }
  .has-site-header .scroll-to-top { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); }
  .has-site-header :is(.btn-theme,.ux-button) { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.site-header) { scroll-behavior: auto; }
  .has-site-header *, .has-site-header *::before, .has-site-header *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
  .has-site-header :is(.lab-price-card,.teaching-lab-card,.pain-item,.product-category-item,.testimonial-item,.ux-button,.btn-theme,.cta-button):hover { transform: none; }
}
@media print {
  .site-header,.site-skip,.scroll-to-top { display: none !important; }
}

/* Pricing is a comparison surface: align actions and use one quiet emphasis. */
.has-site-header .lab-price-card {
  display: flex; flex-direction: column; padding: 32px 28px;
  border: 1px solid #e0e5eb; box-shadow: 0 6px 22px #26344907;
}
.has-site-header .lab-price-card h3 { font-size: 22px; line-height: 1.5; }
.has-site-header .lab-price-card.recommend { border: 1px solid #c89b50; box-shadow: 0 8px 28px #a5782110; }
.has-site-header .lab-price-card .recommend-tag { background: #f5c26b; color: #5c411b; font-weight: 600; padding: 4px 16px; }
.has-site-header .lab-price-card .price-num { color: #263449; font-variant-numeric: tabular-nums; margin-top: 14px; }
.has-site-header .lab-price-card ul { flex: 1; margin-top: 22px; }
.has-site-header .lab-price-card .btn { min-height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 7px; font-size: 14px; }
.has-site-header .lab-price-card .btn-primary { background: #f5c26b; border-color: #f5c26b; color: #263449; }
.has-site-header .lab-price-card .btn-outline-primary { background: #fff; border-color: #cbd4df; color: #40536b; }
.has-site-header .lab-price-card .btn:hover { background: #fff3de; border-color: #c89b50; color: #694c21; }
.has-site-header .pain-item { box-shadow: none; border: 1px solid #e6ebf0; padding: 28px 22px; }
.has-site-header .pain-item h4 { line-height: 1.6; }
.has-site-header .section-title .sub-title { color: #9a6b28; }
.has-site-header .teaching-lab-card { box-shadow: none; background: linear-gradient(120deg, #fff, #f5f8fb); }
@media (max-width: 991px) {
  .has-site-header .home-slider-area .home-slider-container .home-slider-wrapper.slider-default .slider-content-two-area:has(.ux-hero-art) {
    height: auto; min-height: 0; padding-block: 40px;
  }
  .has-site-header .home-slider-area .home-slider-container .home-slider-wrapper.slider-default .slider-content-two-area:has(.ux-hero-art) .slider-content {
    margin-top: 0; margin-bottom: 24px;
  }
  .has-site-header .slider-content-two-area:has(.ux-hero-art) .slider-thumb { margin-top: 0; }
  .has-site-header .slider-content-two-area:has(.ux-hero-art) .slider-thumb .ux-hero-art { margin: 0 auto; max-width: 520px; }
}
@media (max-width: 760px) {
  .has-site-header .testimonial-area .testimonial-item { padding: 24px; margin-bottom: 16px; }
  .has-site-header .lab-price-card { padding: 28px 24px; }
  .has-site-header .product-category-item .content .title { min-height: 0; }
  .has-site-header .product-category-item .t_desc { min-height: 0; max-width: 300px; margin-inline: auto; }
  .has-site-header .slider-thumb table { width: 100%; table-layout: fixed; }
  .has-site-header .slider-thumb td { overflow-wrap: anywhere; }
  .has-site-header .site-search-dialog input[type="search"] { font-size: 16px; }
}
@media (max-width: 575px) {
  /* A compact media row makes the tutorial library easier to scan on a phone. */
  .has-site-header .product-category-item {
    display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 20px;
    text-align: left; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid #edf0f3;
  }
  .has-site-header .product-category-item .thumb { width: 88px; align-self: start; margin-top: 4px; }
  .has-site-header .product-category-item .content { margin: 0; font-size: 12px; color: #738091; }
  .has-site-header .product-category-item .content .title { font-size: 17px; color: #263449; margin-bottom: 4px; }
  .has-site-header .product-category-item .t_desc { margin: 8px 0 12px; font-size: 13px; line-height: 1.8; }
  .has-site-header .product-category-item .ux-button { padding-inline: 14px; min-height: 44px; }
}
.has-site-header .product-category-item .ux-primary.vip { color: #674913 !important; }
.has-site-header .site-tutorial-level { margin: 0; color: #6e7988; font-size: 13px; }
.has-site-header .site-tutorial-level font { color: #a77529 !important; }
@media (min-width: 576px) {
  .has-site-header .product-category-area .row > .col:has(> .product-category-item) { display: flex; }
  .has-site-header .product-category-item { display: flex; flex-direction: column; width: 100%; align-items: center; }
  .has-site-header .product-category-item .content { display: flex; flex-direction: column; flex: 1; width: 100%; }
  .has-site-header .product-category-item .t_desc { flex: 1; }
  .has-site-header .product-category-item .ux-button { align-self: center; }
}
/* The legacy template resets Bootstrap's column top margin; restore vertical gutters. */
.has-site-header .row.g-3 { row-gap: 16px; }
.has-site-header .row.g-4 { row-gap: 24px; }
.has-site-header .row:has(> div > .lab-price-card) { row-gap: 32px; }
.has-site-header .lab-price-card h4 { font-size: 22px; line-height: 1.5; }
@media (max-width: 768px) {
  .has-site-header:has(.applyBottom) .scroll-to-top { bottom: calc(86px + env(safe-area-inset-bottom)); }
  .has-site-header .applyBottom.site-cta-covered { visibility: hidden; pointer-events: none; }
}
@media (max-width: 575px) {
  .has-site-header .product-category-area .row-gutter-43 { margin-inline: 0; }
  .has-site-header .product-category-area .row-gutter-43 > .col { padding-inline: 0; }
}
#site-calculator-error { color: #ad342e; font-size: 14px; margin: 12px 0; }
.has-site-header #accountCount[aria-invalid="true"] { border-color: #ad342e !important; }
.site-compare-tools { display: none; }
@media (max-width: 760px) {
  .site-compare-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; }
  .site-compare-tools label { font-size: 14px; color: #263449; font-weight: 600; }
  .site-compare-tools select { flex: 1; padding: 10px 12px; min-height: 44px; font-size: 16px; border: 1px solid #cbd4df; border-radius: 8px; background: white; color: #263449; }
  .site-compare-tools p { flex-basis: 100%; margin: 0; font-size: 12px; color: #657285; }
  .has-site-header .comparison-table.site-compare-one { min-width: 0; table-layout: fixed; }
  .site-compare-one tr > :not(:first-child):not(.site-compare-current) { display: none; }
  .has-site-header .site-compare-one th:first-child { width: 32% !important; }
  .has-site-header .site-compare-one th.site-compare-current { width: 68% !important; }
}
.has-site-header .home-slider-area .desc { text-wrap: balance; }
@media (max-width: 575px) {
  .has-site-header .common-features { padding: 24px 18px; }
}
