/* 山与山公共页面 v2610. Existing business copy, figures and console are outside this layer. */
:root {
  --m2-paper: #f2eee6;
  --m2-sheet: #fffdf8;
  --m2-ink: #191713;
  --m2-muted: #625b52;
  --m2-line: #d3cbbc;
  --m2-accent: #b33223;
  --m2-sans: 'Microsoft YaHei','PingFang SC',sans-serif;
  --m2-serif: 'Songti SC','STSong','SimSun',serif;
  --m2-gutter: clamp(18px,4.5vw,72px);
}
body[data-public-page] { -webkit-text-size-adjust:100%; }
body[data-public-page] :where(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid #b33223; outline-offset:5px;
}
body[data-public-page] :where(.dark,.hero,.closing,.site-footer,.footer) :where(a,button,summary):focus-visible {
  outline-color:#f1cfab;
}
body[data-public-page] :where(button,summary,input,select) { touch-action:manipulation; }
body[data-public-page] :where(main,section,[id]) { scroll-margin-top:calc(var(--m2-nav-height,82px) + 76px); }
body[data-public-page] :where(h1,h2,h3) { text-wrap:balance; }
body[data-public-page] :where(p,li) { overflow-wrap:break-word; }
body[data-public-page] :where(dialog) {
  border:1px solid var(--m2-line); border-radius:4px;
  max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px);
}
body[data-public-page] :where(.dialog-close,.contact-close,.image-dialog-close) {
  min-width:44px; min-height:44px;
}
body[data-public-page] .m2-table-scroll {
  max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain;
  scrollbar-gutter:stable; margin-block:16px;
}
body[data-public-page] .m2-table-scroll:focus-visible { outline:3px solid var(--m2-accent); outline-offset:3px; }
body[data-public-page] .m2-table-scroll table { margin-block:0; }
body[data-public-page] :where(.section-links,.chapter-links,.operations-local-links) a {
  min-height:44px; display:inline-flex; align-items:center;
}
body[data-public-page] :where(summary) { min-height:48px; }
body[data-public-page] :where(.footer-links a,.footer-links button,.back-top) {
  min-height:44px; align-items:center;
}
/* Landing pages share typography and spacing; their chapter composition stays distinct. */
body[data-public-page] :where(.chapter,.section) :where(.intro,.lead,.service-intro) {
  max-width:46em; line-height:1.85;
}
body[data-public-page='home'] { --pine:#191713; --gold:#f1cfab; --white:#fffdf8; }
body[data-public-page='home'] .hero { min-height:690px; max-height:980px; }
body[data-public-page='home'] .hero-copy { max-width:1360px; padding-top:64px; padding-bottom:126px; }
body[data-public-page='home'] .hero h1 { max-width:900px; font-size:clamp(40px,5.2vw,72px); line-height:1.25; letter-spacing:0; }
body[data-public-page='home'] .hero-lead { max-width:620px; font-size:18px; line-height:1.85; }
body[data-public-page='home'] .route { min-height:245px; padding-block:32px; }
body[data-public-page='home'] .route h3 { max-width:14em; font-size:clamp(28px,2.5vw,38px); line-height:1.5; }
body[data-public-page='home'] .route p { max-width:36em; font-size:16px; }
body[data-public-page='home'] .route strong { min-height:44px; margin-top:16px; }
body[data-public-page='home'] .chapter-head { align-items:flex-end; gap:32px; }
body[data-public-page='home'] .chapter-note { font-size:16px; line-height:1.75; }
body[data-public-page='home'] .tool-list small { font-size:15px; line-height:1.7; }
body[data-public-page='home'] .report-preview { transform:none; padding:32px; }
body[data-public-page='home'] .service-fold { border-inline:0; }
body[data-public-page='home'] .contact-section { background:#e8e0d3; }
body[data-public-page='home'] .contact-section .section-no { color:var(--m2-accent); }
body[data-public-page='home'] .footer { background:var(--m2-ink); }
/* Method: a readable directory, rather than a second marketing hero. */
body[data-public-page='method'] .method-hero { padding-top:calc(var(--m2-nav-height,82px) + 52px); padding-bottom:44px; }
body[data-public-page='method'] .method-hero h1 { font-family:var(--m2-serif); font-size:clamp(36px,4.2vw,62px); letter-spacing:0; line-height:1.4; }
body[data-public-page='method'] .system-flow { margin-top:36px; border-block:1px solid var(--m2-line); background:transparent; padding-block:24px; }
body[data-public-page='method'] .system-flow>div { border:0; border-radius:0; background:transparent; padding:12px 16px; }
body[data-public-page='method'] .system-flow p { font-size:16px; line-height:1.8; }
body[data-public-page='method'] .catalog-tabs { display:flex; flex-wrap:wrap; gap:8px; }
body[data-public-page='method'] .catalog-tabs button { min-height:48px; border-radius:3px; font-size:16px; }
body[data-public-page='method'] .catalog-note { max-width:54em; font-size:16px; line-height:1.8; }
body[data-public-page='method'] .catalog-section { padding-block:44px 72px; }
/* Service: keep each complete service and its original delivery boundaries. */
body[data-public-page='operations'] .hero { min-height:600px; }
body[data-public-page='operations'] .hero h1 { font-size:clamp(38px,4.7vw,68px); line-height:1.35; letter-spacing:0; }
body[data-public-page='operations'] .hero-lead { max-width:38em; font-size:18px; line-height:1.85; }
body[data-public-page='operations'] .result-index { border-inline:0; border-radius:0; box-shadow:none; }
body[data-public-page='operations'] .result-row { padding-block:26px; min-height:100px; }
body[data-public-page='operations'] .service-brief { border-radius:2px; box-shadow:none; padding:28px; }
body[data-public-page='operations'] .service-brief p { font-size:16px; line-height:1.85; }
body[data-public-page='operations'] .service-work { margin-top:36px; }
body[data-public-page='operations'] .execution-list { gap:24px 36px; }
body[data-public-page='operations'] .service-details>summary { min-height:88px; }
body[data-public-page='operations'] .service-details>summary small { font-size:15px; line-height:1.7; }
body[data-public-page='operations'] .text-consult { min-height:48px; display:inline-flex; align-items:center; margin-top:24px; }
/* Education: preserve real-store photographs and separate learning paths. */









body[data-public-page='edu-intro'],body[data-public-page='edu-solution'] {
  --forest:#191713; --forest2:#27231f; --forest3:#382d26;
  --paper:#f2eee6; --paper2:#e8e0d3; --gold:#f1cfab;
  --cream:#fffdf8; --ink:#191713;
}
body[data-public-page='edu-intro'] .hero h1 { font-size:clamp(38px,4.5vw,64px); letter-spacing:0; line-height:1.4; }
body[data-public-page='edu-intro'] .reveal { opacity:1!important; transform:none!important; }
body[data-public-page='edu-intro'] .course,body[data-public-page='edu-intro'] .bonus { border-radius:3px; }
body[data-public-page='edu-solution'] .detail-hero h1 { font-size:clamp(36px,4.5vw,64px); line-height:1.4; letter-spacing:0; }
/* The existing mobile sheet declares these three heading properties important. */
@media(max-width:767px) {
  body[data-public-page='edu-solution'] .detail-hero h1 { font-size:clamp(36px,4.5vw,64px)!important; line-height:1.4!important; letter-spacing:0!important; }
}
/* Partnership: a quiet distinction between partnership choices and delivery. */
body[data-public-page='corp'] .hero h1 { font-size:clamp(38px,4.3vw,64px); line-height:1.4; letter-spacing:0; }
body[data-public-page='corp'] .mode-grid { gap:0; border-top:1px solid var(--m2-line); }
body[data-public-page='corp'] .mode { border:0; border-bottom:1px solid var(--m2-line); border-radius:0; box-shadow:none; background:transparent; padding:36px; }
body[data-public-page='corp'] .mode+.mode { border-left:1px solid var(--m2-line); }
body[data-public-page='corp'] .mode .lead { font-size:18px; }
body[data-public-page='corp'] .foundation-row { padding-block:22px; }
body[data-public-page='corp'] .fold>summary { min-height:76px; }
body[data-public-page='corp'] .fit-grid { gap:40px; }
/* Report directory: original latest/archive/search relations, less visual competition. */
body[data-public-page='report'] .cover { min-height:440px; }
body[data-public-page='report'] .cover h1 { font-size:clamp(38px,4.4vw,64px); line-height:1.4; letter-spacing:0; }
body[data-public-page='report'] .cover-intro { font-size:18px; line-height:1.85; max-width:40em; }
body[data-public-page='report'] .directory-heading { align-items:baseline; gap:24px; }
body[data-public-page='report'] .industry-spread { border-radius:0; box-shadow:none; }
body[data-public-page='report'] .industry-issue { padding:32px; }
body[data-public-page='report'] .store-report-group { border-radius:0; box-shadow:none; }
body[data-public-page='report'] .store-report-link { min-height:76px; padding-block:22px; }
body[data-public-page='report'] .archive-tools { position:relative; padding-block:20px; gap:20px; }
body[data-public-page='report'] .filter-buttons { gap:8px; }
body[data-public-page='report'] .filter-buttons button { min-height:44px; padding:10px 16px; border-radius:3px; }
body[data-public-page='report'] .search-field input { min-height:48px; border-radius:3px; }
body[data-public-page='report'] .archive-row { padding-block:22px; }
body[data-public-page='report'] .archive-copy p { font-size:15px; line-height:1.8; }
body[data-public-page='report'] #archive-fold { scroll-margin-top:160px; }
/* Proposal index: keep approved full-bleed scenes, reveal the directory earlier. */
body[data-public-page='plan'] .hero { height:auto; min-height:560px; max-height:none; }
body[data-public-page='plan'] .hero-inner { padding-top:calc(var(--m2-nav-height,82px) + 56px); padding-bottom:56px; }
body[data-public-page='plan'] .hero h1 { font-size:clamp(40px,5vw,72px); line-height:1.3; letter-spacing:0; }
body[data-public-page='plan'] .hero h1>span { display:inline; }
body[data-public-page='plan'] .hero h1>span+span::before { content:'\A'; white-space:pre; }
body[data-public-page='plan'] .hero-subtitle { font-size:20px; line-height:1.8; margin-top:24px; }
body[data-public-page='plan'] .hero-action { min-height:48px; margin-top:20px; }
body[data-public-page='plan'] .proposals { display:block; background:var(--m2-paper); }
body[data-public-page='plan'] .section-label { padding-block:32px; color:var(--m2-ink); }
body[data-public-page='plan'] .project-link { min-height:520px; height:auto; }
body[data-public-page='plan'] .project-inner { min-height:520px; height:auto; margin-inline:auto; padding-block:56px 72px; }
body[data-public-page='plan'] .project-title { font-size:clamp(27px,2.5vw,38px); line-height:1.5; letter-spacing:0; }
body[data-public-page='plan'] .project-title>span { display:block; }
body[data-public-page='plan'] .project-title .project-title-separator { display:none; }
body[data-public-page='plan'] .result-number { font-size:clamp(64px,6.5vw,96px); }
body[data-public-page='plan'] .project-result { margin-top:26px; }
body[data-public-page='plan'] .project-facts { gap:8px; margin-top:20px; }
body[data-public-page='plan'] .project-facts>span+span { border:0; padding-left:0; }
body[data-public-page='plan'] .project-shade { background:linear-gradient(90deg,#191713f0,#191713c2 38%,#19171336 76%),linear-gradient(0deg,#191713a8,transparent 60%); }
body[data-public-page='plan'] .scene-caption { right:var(--m2-gutter); left:var(--m2-gutter); width:fit-content; max-width:calc(100% - var(--m2-gutter)*2); }
body[data-public-page='plan'] .method-path h3 { font-family:var(--m2-sans); font-size:19px; }
body[data-public-page='plan'] .method-path p { font-size:16px; line-height:1.8; }
/* Published documents retain their individual, approved chapter/data design. */
body[data-public-page='document'] :where(.table-wrap,.table-scroll,.data-table-wrap) { max-width:100%; overflow-x:auto; }
/* Legacy weekly reports use grid items whose automatic minimum follows wide tables. */
body[data-public-page='document'].report-weekly :where(.analysis-stack,.analysis-section,.first-level-charts>.chart-box) { min-width:0; }
body[data-public-page='document'] :where(.concrete-table,.evidence-scroll) { min-width:0; max-width:100%; overflow-x:auto; }
body[data-public-page='document'] :where(details>summary) { cursor:pointer; }
@media(max-width:960px) {
  body[data-public-page='plan'] .proposals { grid-template-columns:1fr; }
  body[data-public-page='plan'] .project-link { min-height:570px; }
  body[data-public-page='plan'] .project-inner { padding-block:36px 72px; }
  body[data-public-page='plan'] .project-title>span { display:inline; }
  body[data-public-page='plan'] .project-title>span:last-child { display:block; }
}
@media(max-width:680px) {
  body[data-public-page] :where(.hero-lead,.hero-copy>p,.intro,.lead,.service-intro,.chapter-note,.catalog-note) { font-size:16px; line-height:1.85; }
  body[data-public-page] :where(dialog) { padding:24px 20px; }
  body[data-public-page='home'] .hero { min-height:640px; max-height:none; }
  body[data-public-page='home'] .hero-copy { padding-top:48px; padding-bottom:116px; }
  body[data-public-page='home'] .hero h1 { font-size:40px; line-height:1.4; }
  body[data-public-page='home'] .route { min-height:0; padding-block:24px; }
  body[data-public-page='home'] .route p { font-size:16px; }
  body[data-public-page='home'] .chapter-note { font-size:16px; }
  body[data-public-page='home'] .contact-section { padding-block:48px; }
  body[data-public-page='method'] .method-hero { padding-top:calc(var(--m2-nav-height,72px) + 30px); }
  body[data-public-page='method'] .method-hero h1 { font-size:36px; }
  body[data-public-page='method'] .system-flow { gap:10px; padding-block:16px; }
  body[data-public-page='operations'] .hero { min-height:560px; }
  body[data-public-page='operations'] .service-brief { padding:22px 18px; }
  body[data-public-page='operations'] .result-row { padding-block:22px; }
  body[data-public-page='operations'] .service-details>summary { min-height:88px; }
  
  
  body[data-public-page='corp'] .hero h1 { font-size:38px; }
  body[data-public-page='corp'] .mode { padding:28px 0; }
  body[data-public-page='corp'] .mode+.mode { border-left:0; }
  body[data-public-page='report'] .cover { min-height:480px; }
  body[data-public-page='report'] .industry-issue { padding:24px 20px; }
  body[data-public-page='report'] .archive-tools { flex-direction:column; align-items:stretch; }
  body[data-public-page='report'] .filter-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  body[data-public-page='report'] .filter-buttons button { padding-inline:8px; }
  body[data-public-page='report'] .directory-heading { flex-wrap:wrap; gap:12px; }
  body[data-public-page='plan'] .hero { min-height:480px; }
  body[data-public-page='plan'] .hero-inner { padding-top:calc(var(--m2-nav-height,72px) + 44px); padding-bottom:36px; }
  body[data-public-page='plan'] .hero h1 { font-size:40px; line-height:1.4; }
  body[data-public-page='plan'] .hero-subtitle { font-size:18px; margin-top:20px; }
  body[data-public-page='plan'] .project-link { min-height:0; }
  body[data-public-page='plan'] .project-inner { min-height:0; padding-block:36px 72px; }
  body[data-public-page='plan'] .project-title { font-size:30px; }
  body[data-public-page='plan'] .project-description { font-size:16px; line-height:1.85; }
  body[data-public-page='plan'] .project-facts>span { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  body[data-public-page] *,body[data-public-page] *::before,body[data-public-page] *::after {
    scroll-behavior:auto!important; animation:none!important; transition:none!important;
  }
}
