:root {
  --site-ink: #0a1830;
  --site-navy: #071a32;
  --site-blue: #1278db;
  --site-orange: #ff6500;
  --site-muted: #627187;
  --site-line: #dbe3ec;
  --site-soft: #f4f7fa;
  --site-max: 1360px;
}

/* Unified secondary-page system. The homepage and Lingdong family keep their
   purpose-built layouts. */
body:not(.home-page):not(.page-product-lingdong) main {
  color: var(--site-ink);
  background: #fff;
}

body:not(.home-page):not(.page-product-lingdong) main :where(h1, h2, h3, p, li, strong, span) {
  min-width: 0;
  letter-spacing: 0;
  overflow-wrap: break-word;
}

body:not(.home-page):not(.page-product-lingdong) .section,
body:not(.home-page):not(.page-product-lingdong) .entry-section,
body:not(.home-page):not(.page-product-lingdong) .product-detail-rich,
body:not(.home-page):not(.page-product-lingdong) .solution-detail-section {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

body:not(.home-page):not(.page-product-lingdong) .section-title,
body:not(.home-page):not(.page-product-lingdong) .entry-section-head,
.solution-section-head {
  display: block !important;
  width: 100%;
  max-width: 820px;
  margin-bottom: 36px;
}

body:not(.home-page):not(.page-product-lingdong) .section-title h2,
body:not(.home-page):not(.page-product-lingdong) .entry-section-head h2,
.solution-section-head h2 {
  margin: 10px 0 14px;
  color: var(--site-ink) !important;
  font-size: clamp(34px, 3.4vw, 48px) !important;
  line-height: 1.16 !important;
  font-weight: 800;
  letter-spacing: 0 !important;
}

body:not(.home-page):not(.page-product-lingdong) .section-title p,
body:not(.home-page):not(.page-product-lingdong) .entry-section-head p,
.solution-section-head p {
  color: var(--site-muted) !important;
  font-size: 17px;
  line-height: 1.8;
}

/* Shared editorial cover for standard secondary pages. */
body:not(.home-page) .page-hero {
  min-height: 420px !important;
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

body:not(.home-page) .page-hero h1 {
  max-width: 720px !important;
  font-size: clamp(44px, 4.6vw, 64px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body:not(.home-page) .page-hero .lead {
  max-width: 700px;
  font-size: 18px !important;
  line-height: 1.78 !important;
}

/* Product center: five clear product lines before the catalogue. */
.page-products .product-v2-hero {
  min-height: 500px !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  background: #fff !important;
}

.page-products .product-v2-hero > :first-child {
  padding: 52px max(32px, calc((100vw - var(--site-max)) / 2)) 52px max(32px, calc((100vw - var(--site-max)) / 2)) !important;
}

.page-products .product-v2-hero h1 {
  max-width: 600px;
  font-size: clamp(44px, 4.4vw, 62px) !important;
  line-height: 1.08 !important;
}

.page-products .product-v2-visual,
.page-products .product-v2-visual img {
  height: 500px !important;
  min-height: 500px !important;
}

.page-products .product-v2-visual div {
  left: 30px !important;
  right: auto !important;
  bottom: 28px !important;
  max-width: 470px;
  padding: 20px 24px !important;
  background: rgba(255, 255, 255, .94) !important;
  color: var(--site-ink) !important;
}

.page-products .product-v2-overview {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}

.page-products .product-v2-group-grid {
  display: block !important;
  margin-top: 28px;
  border-top: 1px solid var(--site-line);
}

.page-products .product-v2-group-grid article,
.page-products .product-v2-group-grid article:first-child {
  display: grid !important;
  grid-template-columns: 64px minmax(210px, .72fr) minmax(260px, 1fr) minmax(260px, 1fr);
  gap: 24px;
  align-items: center;
  min-height: 0 !important;
  padding: 26px 0 !important;
  color: var(--site-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--site-line) !important;
}

.page-products .product-v2-group-grid article span {
  color: var(--site-blue) !important;
  font-size: 14px;
  font-weight: 800;
}

.page-products .product-v2-group-grid article h3,
.page-products .product-v2-group-grid article:first-child h3 {
  margin: 0;
  color: var(--site-ink) !important;
  font-size: 24px;
}

.page-products .product-v2-group-grid article p,
.page-products .product-v2-group-grid article:first-child p {
  margin: 0;
  color: var(--site-muted) !important;
  line-height: 1.7;
}

.page-products .product-v2-group-grid article strong,
.page-products .product-v2-group-grid article:first-child strong {
  color: var(--site-ink) !important;
  line-height: 1.6;
}

.page-products .product-v2-list {
  padding-top: 78px !important;
  padding-bottom: 88px !important;
  background: var(--site-soft) !important;
}

.page-products .product-v2-card-grid {
  gap: 20px !important;
  margin-top: 36px;
}

.page-products .product-v2-card,
.page-products .product-v2-card.featured {
  border: 1px solid var(--site-line) !important;
  border-radius: 6px !important;
}

.page-products .product-v2-card img,
.page-products .product-v2-card.featured img {
  height: 260px !important;
}

.page-products .product-v2-card div { padding: 24px !important; }
.page-products .product-v2-card h3 { margin: 10px 0 10px; font-size: 26px; }
.page-products .product-v2-card p { min-height: 82px; }

/* Industry entries share one calmer, image-led rhythm. */
.industry-entry.v3 .entry-hero {
  min-height: 510px !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

.industry-entry.v3 .entry-copy {
  padding: 58px max(38px, calc((100vw - var(--site-max)) / 2)) 58px max(38px, calc((100vw - var(--site-max)) / 2)) !important;
}

.industry-entry.v3 .entry-copy h1 {
  max-width: 650px;
  font-size: clamp(42px, 4vw, 58px) !important;
  line-height: 1.1 !important;
}

.industry-entry.v3 .entry-copy p { font-size: 17px !important; line-height: 1.8 !important; }

.industry-entry.v3 .entry-visual {
  min-height: 510px;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.industry-entry.v3 .entry-visual > img { width: 100%; height: 100%; min-height: 510px; object-fit: cover; }
.industry-entry.v3 .entry-visual-panel { left: 28px !important; right: 28px !important; bottom: 26px !important; }

.entry-need-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--site-line);
}

.entry-need-grid article {
  min-height: 210px;
  padding: 28px !important;
  border-right: 1px solid var(--site-line) !important;
}
.entry-need-grid article:last-child { border-right: 0 !important; }

.entry-solution-list {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}

.entry-solution-list a {
  display: grid !important;
  grid-template-columns: minmax(170px, 42%) 1fr !important;
  min-height: 260px;
  overflow: hidden;
  border-radius: 6px !important;
}

.entry-solution-list img { width: 100%; height: 100% !important; object-fit: cover; }
.entry-solution-list a > div { padding: 26px !important; }
.entry-product-rail a { border-radius: 6px !important; }
.entry-product-rail img { aspect-ratio: 16 / 10; object-fit: cover; }

.entry-delivery { padding-top: 72px !important; padding-bottom: 72px !important; }
.entry-delivery-head h2 { font-size: clamp(34px, 3.4vw, 48px) !important; }
.entry-process-list li { min-height: 190px; padding: 28px 24px 30px; }

/* Product detail pages: product first, then proof and configuration. */
body[class*="page-product-"]:not(.page-product-lingdong) .product-detail-v2 {
  min-height: 500px !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
}

body[class*="page-product-"]:not(.page-product-lingdong) .product-detail-v2 > :first-child {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

body[class*="page-product-"]:not(.page-product-lingdong) .product-detail-v2 h1 {
  font-size: clamp(44px, 4.6vw, 62px) !important;
  line-height: 1.08 !important;
}

body[class*="page-product-"]:not(.page-product-lingdong) .product-detail-v2 > img {
  height: 500px !important;
  min-height: 500px !important;
  padding: 34px;
  object-fit: contain !important;
  background: var(--site-soft) !important;
}

body[class*="page-product-"]:not(.page-product-lingdong) .product-detail-grid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
}

body[class*="page-product-"]:not(.page-product-lingdong) .product-detail-grid article {
  min-height: 170px;
  padding: 30px 34px !important;
}

body[class*="page-product-"]:not(.page-product-lingdong) .detail-two-col { gap: 34px !important; }
body[class*="page-product-"]:not(.page-product-lingdong) .detail-panel,
body[class*="page-product-"]:not(.page-product-lingdong) .detail-media-card { border-radius: 6px !important; }

/* Solution index and reusable solution-detail template. */
.solution-v2-hero {
  position: relative;
  min-height: 500px !important;
  padding: 72px max(32px, calc((100vw - var(--site-max)) / 2)) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  background: linear-gradient(90deg, rgba(5, 20, 39, .96) 0%, rgba(5, 20, 39, .86) 48%, rgba(5, 20, 39, .18) 100%), url('assets/cases/xiqing-news.jpg') center / cover no-repeat !important;
}

.solution-v2-hero h1 {
  max-width: 720px;
  margin: 12px 0 20px;
  color: #fff;
  font-size: clamp(44px, 4.4vw, 62px) !important;
  line-height: 1.08;
}

.solution-v2-hero p { max-width: 720px; color: #d8e3ef; font-size: 18px; line-height: 1.8; }
.solution-v2-hero .crumbs { color: #bdcada; }

.solution-v2-overview,
.solution-v2-lane {
  padding: 72px max(32px, calc((100vw - var(--site-max)) / 2)) !important;
}

.solution-v2-industry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.solution-v2-industry-grid a {
  position: relative;
  min-height: 340px;
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  background-position: center;
  background-size: cover;
  isolation: isolate;
}

.solution-v2-industry-grid a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(5, 20, 39, .9), rgba(5, 20, 39, .08)); }
.solution-v2-industry-grid a:first-child { background-image: url('assets/cases/studio-college.jpg'); }
.solution-v2-industry-grid a:last-child { background-image: url('assets/home-review-v2/smart-classroom-v2.jpg'); }
.solution-v2-industry-grid h3 { margin: 8px 0 10px; color: #fff; font-size: 36px; }
.solution-v2-industry-grid p { max-width: 580px; margin: 0; color: #e2eaf3; line-height: 1.7; }

.solution-v2-lane:nth-of-type(even) { background: var(--site-soft); }
.solution-v2-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--site-line); }
.solution-v2-grid article { min-height: 250px; padding: 30px; border-right: 1px solid var(--site-line); border-bottom: 1px solid var(--site-line); }
.solution-v2-grid article:nth-child(3n) { border-right: 0; }
.solution-v2-grid span { color: var(--site-blue); font-size: 13px; font-weight: 800; }
.solution-v2-grid h3 { margin: 34px 0 12px; font-size: 27px; }
.solution-v2-grid p { color: var(--site-muted); line-height: 1.7; }
.solution-v2-grid a { color: var(--site-blue); font-weight: 750; text-decoration: none; }

.solution-detail-hero {
  min-height: 500px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  background: #fff;
}

.solution-detail-hero-copy {
  padding: 58px max(38px, calc((100vw - var(--site-max)) / 2));
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.solution-detail-hero h1 { max-width: 620px; margin: 12px 0 18px; font-size: clamp(44px, 4.4vw, 62px); line-height: 1.08; }
.solution-detail-hero p { max-width: 620px; color: var(--site-muted); font-size: 18px; line-height: 1.8; }
.solution-detail-hero figure { min-height: 500px; margin: 0; overflow: hidden; }
.solution-detail-hero figure img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }

.solution-detail-nav { padding: 0 max(32px, calc((100vw - var(--site-max)) / 2)); display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--site-line); border-bottom: 1px solid var(--site-line); }
.solution-detail-nav a { padding: 20px 18px; color: var(--site-ink); text-align: center; text-decoration: none; border-right: 1px solid var(--site-line); }
.solution-detail-nav a:last-child { border-right: 0; }
.solution-detail-nav a:hover { color: var(--site-blue); background: var(--site-soft); }

.solution-detail-section { padding-left: max(32px, calc((100vw - var(--site-max)) / 2)); padding-right: max(32px, calc((100vw - var(--site-max)) / 2)); }
.solution-detail-section.alt { background: var(--site-soft); }
.solution-story-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; align-items: start; }
.solution-story-grid h2 { margin: 0; font-size: clamp(34px, 3.4vw, 48px); line-height: 1.16; }
.solution-story-grid > div > p { color: var(--site-muted); font-size: 17px; line-height: 1.8; }
.solution-point-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--site-line); }
.solution-point-list article { min-height: 160px; padding: 26px 28px; border-right: 1px solid var(--site-line); border-bottom: 1px solid var(--site-line); }
.solution-point-list article:nth-child(even) { border-right: 0; }
.solution-point-list span { color: var(--site-blue); font-size: 13px; font-weight: 800; }
.solution-point-list h3 { margin: 22px 0 8px; font-size: 23px; }
.solution-point-list p { margin: 0; color: var(--site-muted); line-height: 1.65; }

.solution-architecture { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 44px; align-items: center; }
.solution-architecture img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.solution-architecture ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--site-line); }
.solution-architecture li { padding: 20px 0; display: grid; grid-template-columns: 48px 1fr; gap: 14px; border-bottom: 1px solid var(--site-line); }
.solution-architecture li span { color: var(--site-blue); font-weight: 800; }
.solution-architecture li strong { display: block; margin-bottom: 5px; font-size: 20px; }
.solution-architecture li p { margin: 0; color: var(--site-muted); line-height: 1.6; }

.solution-product-line { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.solution-product-line a { padding: 28px; color: var(--site-ink); text-decoration: none; background: #fff; border: 1px solid var(--site-line); }
.solution-product-line img { width: 100%; aspect-ratio: 16 / 10; margin-bottom: 20px; object-fit: cover; }
.solution-product-line h3 { margin: 0 0 8px; font-size: 24px; }
.solution-product-line p { margin: 0; color: var(--site-muted); line-height: 1.65; }

.solution-outcome-row { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--site-line); border-bottom: 1px solid var(--site-line); }
.solution-outcome-row article { min-height: 160px; padding: 28px; border-right: 1px solid var(--site-line); }
.solution-outcome-row article:last-child { border-right: 0; }
.solution-outcome-row strong { display: block; margin-bottom: 12px; font-size: 22px; }
.solution-outcome-row p { margin: 0; color: var(--site-muted); line-height: 1.65; }

/* Cases, videos, downloads and contact now share the same spacing and scale. */
.page-cases .case-page-hero { min-height: 400px !important; }
.page-cases .case-spotlight-section,
.page-cases .section.light { padding-top: 72px !important; padding-bottom: 72px !important; }
.page-cases .case-card img { height: 240px !important; }
.page-content .video-v2-hero { min-height: 390px !important; padding-top: 70px !important; padding-bottom: 70px !important; }
.page-content .video-v2-hero h1 { font-size: clamp(44px, 4.5vw, 62px) !important; }
.page-downloads .page-hero,
.page-contact .page-hero { min-height: 420px !important; }

/* Language guard for longer English and Russian copy. */
body.lang-en main :where(h1, h2, h3, p, li, strong),
body.lang-ru main :where(h1, h2, h3, p, li, strong) { max-width: 100%; overflow-wrap: break-word; }
body.lang-en .product-v2-hero h1,
body.lang-ru .product-v2-hero h1,
body.lang-en .entry-copy h1,
body.lang-ru .entry-copy h1,
body.lang-en .solution-detail-hero h1,
body.lang-ru .solution-detail-hero h1 { font-size: clamp(38px, 3.6vw, 54px) !important; }

@media (max-width: 980px) {
  .page-products .product-v2-hero,
  .industry-entry.v3 .entry-hero,
  .solution-detail-hero { grid-template-columns: 1fr !important; }

  .page-products .product-v2-hero > :first-child,
  .industry-entry.v3 .entry-copy,
  .solution-detail-hero-copy { padding: 48px 28px !important; }

  .page-products .product-v2-visual,
  .page-products .product-v2-visual img,
  .industry-entry.v3 .entry-visual,
  .industry-entry.v3 .entry-visual > img,
  .solution-detail-hero figure,
  .solution-detail-hero figure img { height: 420px !important; min-height: 420px !important; }

  .page-products .product-v2-group-grid article,
  .page-products .product-v2-group-grid article:first-child { grid-template-columns: 54px 1fr 1fr; }
  .page-products .product-v2-group-grid article strong { grid-column: 2 / -1; }
  .entry-solution-list { grid-template-columns: 1fr !important; }
  .solution-v2-grid,
  .solution-product-line { grid-template-columns: repeat(2, 1fr); }
  .solution-v2-grid article:nth-child(3n) { border-right: 1px solid var(--site-line); }
  .solution-v2-grid article:nth-child(even) { border-right: 0; }
  .solution-story-grid,
  .solution-architecture { grid-template-columns: 1fr; gap: 36px; }
  .solution-outcome-row { grid-template-columns: 1fr 1fr; }
  .solution-outcome-row article:nth-child(2) { border-right: 0; }
  .solution-outcome-row article:nth-child(-n+2) { border-bottom: 1px solid var(--site-line); }
}

@media (max-width: 760px) {
  body:not(.home-page):not(.page-product-lingdong) .section,
  body:not(.home-page):not(.page-product-lingdong) .entry-section,
  body:not(.home-page):not(.page-product-lingdong) .product-detail-rich,
  body:not(.home-page):not(.page-product-lingdong) .solution-detail-section { padding: 50px 20px !important; }

  body:not(.home-page) .page-hero { min-height: 0 !important; padding: 52px 20px !important; }
  body:not(.home-page) .page-hero h1 { font-size: 38px !important; }
  .page-products .product-v2-hero h1,
  .industry-entry.v3 .entry-copy h1,
  .solution-detail-hero h1 { font-size: 38px !important; }

  .page-products .product-v2-visual,
  .page-products .product-v2-visual img,
  .industry-entry.v3 .entry-visual,
  .industry-entry.v3 .entry-visual > img,
  .solution-detail-hero figure,
  .solution-detail-hero figure img { height: 300px !important; min-height: 300px !important; }

  .page-products .product-v2-group-grid article,
  .page-products .product-v2-group-grid article:first-child { display: block !important; padding: 24px 0 !important; }
  .page-products .product-v2-group-grid article h3 { margin: 8px 0 10px; }
  .page-products .product-v2-group-grid article strong { display: block; margin-top: 10px; }
  .page-products .product-v2-card-grid { grid-template-columns: 1fr !important; }
  .page-products .product-v2-card p { min-height: 0; }
  .entry-need-grid { grid-template-columns: 1fr 1fr !important; }
  .entry-need-grid article:nth-child(even) { border-right: 0 !important; }
  .entry-solution-list a { grid-template-columns: 1fr !important; }
  .entry-solution-list img { aspect-ratio: 16 / 9; }
  .entry-process-list { grid-template-columns: 1fr !important; }
  .entry-process-list li { min-height: 0; border-right: 0 !important; border-bottom: 1px solid var(--site-line); }

  body[class*="page-product-"]:not(.page-product-lingdong) .product-detail-v2 { display: flex !important; flex-direction: column !important; }
  body[class*="page-product-"]:not(.page-product-lingdong) .product-detail-v2 > :first-child { padding: 46px 20px !important; }
  body[class*="page-product-"]:not(.page-product-lingdong) .product-detail-v2 > img { height: 320px !important; min-height: 320px !important; padding: 20px; }

  .solution-v2-hero { min-height: 420px !important; padding: 52px 20px !important; }
  .solution-v2-hero h1 { font-size: 38px !important; }
  .solution-v2-overview,
  .solution-v2-lane { padding: 50px 20px !important; }
  .solution-v2-industry-grid,
  .solution-v2-grid,
  .solution-product-line,
  .solution-point-list,
  .solution-outcome-row { grid-template-columns: 1fr !important; }
  .solution-v2-industry-grid a { min-height: 300px; padding: 26px; }
  .solution-v2-grid article,
  .solution-v2-grid article:nth-child(n),
  .solution-point-list article,
  .solution-outcome-row article { border-right: 0 !important; border-bottom: 1px solid var(--site-line) !important; }
  .solution-detail-nav { padding: 0; grid-template-columns: 1fr 1fr; }
  .solution-detail-nav a { border-bottom: 1px solid var(--site-line); }
}
