/* Generated by scripts/build-page-styles.py; edit the source styles. */
/* Source: styles.css */
:root{--bg: #f4f6f8;
  --surface: #ffffff;
  --surface-soft: #eef2f5;
  --ink: #111a24;
  --ink-soft: #5b6878;
  --line: #d7dee6;
  --accent: #006d77;
  --accent-dark: #0d3b4a;
  --max: 1200px;}
*{box-sizing: border-box;}
html,body{margin: 0;
  padding: 0;
  overflow-x: hidden;}
body{font-family: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;}
img,video{max-width: 100%;}
a{color: inherit;}
.topbar{position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(1rem, 3vw, 2.8rem);
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(17, 26, 36, 0.08);
  backdrop-filter: blur(10px);}
.brand{display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  text-decoration: none;}
.brand small{display: block;
  margin-top: 0.08rem;
  color: var(--ink-soft);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;}
.desktop-nav{display: inline-flex;
  gap: clamp(0.9rem, 2vw, 1.5rem);}
.desktop-nav a{text-decoration: none;
  color: var(--ink-soft);
  font-size: 0.92rem;
  font-weight: 700;}
.desktop-nav a:hover,.desktop-nav a.active{color: var(--ink);}
.menu-btn{position: relative;
  width: 2.35rem;
  height: 2.35rem;
  display: none;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border: 1px solid rgba(17, 26, 36, 0.14);
  background: #fff;}
.menu-btn span{position: absolute;
  left: 50%;
  top: 50%;
  width: 1rem;
  height: 2px;
  margin: 0;
  background: var(--ink);
  transition: transform 0.2s ease;}
.menu-btn span:first-child{transform: translate(-50%, calc(-50% - 4px));}
.menu-btn span:last-child{transform: translate(-50%, calc(-50% + 4px));}
.menu-btn.is-open span:first-child{transform: translate(-50%, -50%) rotate(45deg);}
.menu-btn.is-open span:last-child{transform: translate(-50%, -50%) rotate(-45deg);}
.mobile-menu{position: fixed;
  inset: 72px 0 auto;
  z-index: 40;
  display: grid;
  gap: 0.45rem;
  padding: 0.85rem 1rem 1rem;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid var(--line);
  transform: translateY(-120%);
  transition: transform 0.25s ease;}
.mobile-menu.is-open{transform: translateY(0);}
.mobile-menu a{text-decoration: none;
  font-weight: 700;
  padding: 0.25rem 0;}
main{padding-top: 72px;}
.section{width: min(var(--max), calc(100% - 2.4rem));
  margin-left: auto;
  margin-right: auto;}
@keyframes legacy-hero-in {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
h1,h2,h3{margin: 0;
  font-family: "Noto Sans SC", sans-serif;
  line-height: 1.18;}
h1{font-size: 3.75rem;
  max-width: 12ch;}
h2{font-size: 2.35rem;}
.section{padding: clamp(3.2rem, 7vw, 5.4rem) 0;
  border-top: 1px solid rgba(17, 26, 36, 0.05);}
.desktop-nav{gap: clamp(0.65rem, 1.2vw, 1.05rem);}
.desktop-nav a{white-space: nowrap;}
@media (max-width: 760px) {
.topbar{height: 64px;}
main{padding-top: 64px;}
.desktop-nav{display: none;}
.menu-btn{display: grid;}
.mobile-menu{inset: 64px 0 auto;}
h1{max-width: none;
    font-size: 2.35rem;}
}
@media (prefers-reduced-motion: reduce) {
*,*::before,*::after{animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;}
}
@media (max-width: 1100px) {
.desktop-nav{display: none;}
.menu-btn{display: grid;}
}
.mobile-contact-bar{position: fixed;
  left: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 60;
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  padding: 0.55rem;
  border: 1px solid rgba(17, 26, 36, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 42px rgba(17, 26, 36, 0.18);
  backdrop-filter: blur(12px);}
.mobile-contact-bar a{display: inline-flex;
  min-height: 2.6rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 800;}
.mobile-contact-bar a:first-child{background: var(--accent-dark);
  color: #fff;}
.mobile-contact-bar a:last-child{color: var(--ink);
  background: var(--surface-soft);}
@media (max-width: 760px) {
body{padding-bottom: 4.75rem;}
.section{width: min(var(--max), calc(100% - 1.25rem));}
.mobile-contact-bar{display: grid;}
}
:root{--bg: #f4f6f8;
  --surface: #ffffff;
  --surface-soft: #edf2f4;
  --ink: #111a24;
  --ink-soft: #566373;
  --line: #d4dce4;
  --accent: #006d77;
  --accent-dark: #064854;
  --status: #c06a22;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --space-page: clamp(1.25rem, 4vw, 3.75rem);
  --font-body: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-latin: "Manrope", "Noto Sans SC", sans-serif;}
body{font-family: var(--font-body);
  background: var(--bg);
  letter-spacing: 0;}
h1,h2,h3{font-family: var(--font-latin);
  letter-spacing: 0;}
:focus-visible{outline: 3px solid rgba(0, 109, 119, 0.38);
  outline-offset: 3px;}
.topbar{height: 68px;
  padding: 0 var(--space-page);
  background: rgba(255, 255, 255, 0.96);
  border-bottom-color: rgba(17, 26, 36, 0.1);
  backdrop-filter: blur(14px);}
main{padding-top: 68px;}
.brand small{letter-spacing: 0;
  text-transform: none;}
.desktop-nav{align-items: center;
  gap: clamp(0.55rem, 1vw, 0.9rem);}
.desktop-nav a{display: inline-flex;
  min-height: 2.25rem;
  align-items: center;
  padding: 0 0.2rem;
  font-size: 0.9rem;
  letter-spacing: 0;}
.menu-btn,.mobile-contact-bar,.mobile-contact-bar a{border-radius: var(--radius-md);}
.section{padding: clamp(3.1rem, 6vw, 5.8rem) 0;
  border-top-color: rgba(17, 26, 36, 0.08);}
.section h2{max-width: 18ch;
  font-size: clamp(2rem, 4.2vw, 4.1rem);
  line-height: 1.06;}
@media (max-width: 1080px) {
.desktop-nav{display: none;}
.menu-btn{display: grid;}
}
@media (max-width: 760px) {
.topbar{height: 64px;
    padding: 0 1rem;}
main{padding-top: 64px;}
.brand small{display: none;}
.mobile-menu{inset: 64px 0 auto;
    padding: 0.9rem 1rem 1.15rem;}
.mobile-menu a{min-height: 2.65rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(17, 26, 36, 0.08);}
.section h2{font-size: clamp(1.9rem, 8vw, 2.55rem);}
}
@media (prefers-reduced-motion: reduce) {
[data-reveal]{opacity: 1 !important;
    transform: none !important;
    animation: none !important;}
}
@media (max-width: 1100px) {
html:not(.legacy-menu-ready) .menu-btn{display: none !important;}
html:not(.legacy-menu-ready) .mobile-menu{position: static;
    inset: auto;
    transform: none;}
}
/* Source: site-v3.css */
:root{--yt-ink:var(--color-ink, #172334); --yt-muted:var(--color-muted, #526273);
 --yt-line:var(--color-rule, #d7dfe8); --yt-paper:var(--color-paper, #fff);
 --yt-ground:var(--color-ground, #f3f6fa); --yt-blue:var(--color-brand, #2053b6);
 --yt-cyan:var(--color-brand, #2053b6); --yt-orange:var(--color-focus, #a34712);
 --yt-max:var(--content-max, 1280px);}
body.site-v3{background: var(--yt-paper);
  color: var(--yt-ink);
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.6;}
.site-v3 main{padding-top: 0 !important;}
.site-v3 *,.site-v3 *::before,.site-v3 *::after{box-sizing: border-box;}
.site-v3 a{color: inherit; text-decoration: none;}
.site-v3 img{display: block; max-width: 100%;}
.site-v3 button{font: inherit;}
.site-v3 .v3-wrap{width: min(var(--yt-max), calc(100% - var(--page-gutter, 32px) * 2)); margin: 0 auto;}
.site-v3 .topbar{position: relative; z-index: 30; height:auto; padding:0; min-height: 78px; border-bottom: 1px solid #e1e6e9; background: #fff;}
.site-v3 .topbar-inner{width: min(var(--yt-max), calc(100% - var(--page-gutter, 32px) * 2)); min-height: 78px; margin: 0 auto; display: flex; flex-wrap:wrap; align-items: center; justify-content: space-between; gap: 24px;}
.site-v3 .brand{display: inline-flex; align-items: center; min-width: 190px; min-height: 44px; gap: 12px; font-size: 17px; font-weight: 800; letter-spacing: 0;}
.site-v3 .brand img{width: 37px; height: 37px; object-fit: contain;}
.site-v3 .main-nav{display: flex; flex-wrap:wrap; align-items: center; gap: 29px; font-size: 15px;}
.site-v3 .main-nav a{position: relative; display:inline-flex; align-items:center; justify-content:center; min-width:44px; white-space:nowrap; padding: 29px 0 26px; color: #28343d;}
.site-v3 .main-nav a::after{content: ""; position: absolute; left: 0; right: 0; bottom: 20px; height: 2px; background: var(--yt-orange); transform: scaleX(0); transform-origin: left; transition: transform .22s ease;}
.site-v3 .main-nav a:hover::after,.site-v3 .main-nav a:is([aria-current="page"], [aria-current="true"])::after{transform: scaleX(1);}
.site-v3 .v3-consult{display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--yt-ink); border-radius: var(--radius-control); background: var(--yt-ink); color: #fff; font-size: 14px; font-weight: 700; transition: background .2s ease, border-color .2s ease;}
.site-v3 .v3-consult:hover{background: var(--yt-orange); border-color: var(--yt-orange);}
.site-v3 .menu-toggle{position: relative; display: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--yt-line); border-radius: 4px; background: transparent; color: var(--yt-ink); font-size: 0;}
.site-v3 .menu-toggle::before,.site-v3 .menu-toggle::after{content: ""; position: absolute; left: 50%; top: 50%; width: 17px; height: 2px; background: currentColor; transition: transform .2s ease;}
.site-v3 .menu-toggle::before{transform: translate(-50%, -4px);}
.site-v3 .menu-toggle::after{transform: translate(-50%, 4px);}
.site-v3 .menu-toggle.is-open::before{transform: translate(-50%, 0) rotate(45deg);}
.site-v3 .menu-toggle.is-open::after{transform: translate(-50%, 0) rotate(-45deg);}
.site-v3 .v3-footer{padding: 29px 0; background: #0a1118; color: #aebbc1; font-size: 13px;}
.site-v3 .v3-footer-inner{width: min(var(--yt-max), calc(100% - var(--page-gutter, 32px) * 2)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px;}
.site-v3 a:focus-visible,.site-v3 button:focus-visible{outline: 3px solid #ff9c63; outline-offset: 4px;}
@media (max-width: 1080px) {
.site-v3 .main-nav{gap: 18px;}
.site-v3 .brand{min-width: auto; font-size: 15px;}
}
@media (max-width: 1080px) {
.site-v3 .menu-toggle{display: block;}
.site-v3 .main-nav{position: absolute; top: 78px; left: 0; right: 0; display: none; padding: 12px 32px 22px; border-bottom: 1px solid #ced8dc; background: #fff; box-shadow: 0 12px 22px rgba(16,25,35,.1);}
.site-v3 .main-nav.is-open{display: grid;}
.site-v3 .main-nav a{min-height: 46px; padding: 12px 0; color: var(--yt-ink);}
.site-v3 .main-nav a::after{display: none;}
.site-v3 .topbar .v3-consult{display: none;}
}
@media (max-width: 760px) {
.site-v3 .v3-wrap,.site-v3 .topbar-inner,.site-v3 .v3-footer-inner{width: min(100% - 36px, var(--yt-max));}
.site-v3 .topbar,.site-v3 .topbar-inner{min-height: 66px;}
.site-v3 .brand{gap: 8px; font-size: 14px;}
.site-v3 .brand img{width: 31px; height: 31px;}
.site-v3 .menu-toggle{display: block;}
.site-v3 .main-nav{position: absolute; top: 66px; left: 0; right: 0; display: none; padding: 12px 18px 22px; border-bottom: 1px solid #ced8dc; background: #fff; box-shadow: 0 12px 22px rgba(16,25,35,.1);}
.site-v3 .main-nav.is-open{display: grid;}
.site-v3 .main-nav a{padding: 12px 0; color: var(--yt-ink);}
.site-v3 .main-nav a::after{display: none;}
.site-v3 .topbar .v3-consult{display: none;}
.site-v3 .v3-footer-inner{align-items: flex-start; flex-direction: column;}
}
@media (prefers-reduced-motion: reduce) {
.site-v3 *,.site-v3 *::before,.site-v3 *::after{scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important;}
}
@media (max-width: 1080px) {
html:not(.menu-ready) .site-v3 .menu-toggle{display: none !important;}
html:not(.menu-ready) .site-v3 .main-nav{display: grid;}
}
/* Source: case-record-v4.css */
:root{--v4-record-paper: var(--yt-paper, #ffffff);
  --v4-record-soft: var(--yt-ground, #f3f5f6);
  --v4-record-ink: var(--yt-ink, #101923);
  --v4-record-muted: var(--yt-muted, #647280);
  --v4-record-line: var(--yt-line, #d9e0e5);
  --v4-record-blue: var(--yt-blue, #006d77);
  --v4-record-orange: var(--yt-orange, #ef6b2e);
  --v4-record-dark: #111a24;
  --v4-record-display: Manrope, Arial, sans-serif;}
.site-v3.case-record{background: var(--v4-record-paper); color: var(--v4-record-ink);}
.site-v3.case-record .record-hero{padding: 78px 0 86px; background: var(--v4-record-dark); color: #fff;}
.site-v3.case-record .record-hero-grid{display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 68px; align-items: center;}
.site-v3.case-record .record-crumb{margin: 0 0 20px; color: #becbd1; font-size: 13px;}
.site-v3.case-record .record-crumb a{color: #fff; text-decoration: underline; text-underline-offset: 3px;}
.site-v3.case-record .record-hero h1{max-width: 660px; margin: 0; font-size: 64px; line-height: 1.1;}
.site-v3.case-record .record-hero-copy > p:not(.record-kicker):not(.record-crumb){max-width: 590px; margin: 22px 0 0; color: #d7e3e7; font-size: 17px;}
.site-v3.case-record .record-hero-media{position: relative; overflow: hidden; aspect-ratio: 1.45; margin: 0; background: #24323d;}
.site-v3.case-record .record-hero-media img{width: 100%; height: 100%; object-fit: cover;}
.site-v3.case-record .record-hero-media::after{content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.42); pointer-events: none;}
.site-v3.case-record .record-section{padding: 96px 0;}
.site-v3.case-record .record-section--soft{background: var(--v4-record-soft);}
.site-v3.case-record .record-section-head{display: grid; grid-template-columns: minmax(0, .82fr) minmax(280px, 1.18fr); gap: 74px; align-items: end; margin-bottom: 42px;}
.site-v3.case-record .record-section h2{margin: 0; font-size: 48px; line-height: 1.13;}
.site-v3.case-record .record-section-head > p{margin: 0; color: var(--v4-record-muted);}
.site-v3.case-record .record-copy-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px;}
.site-v3.case-record .record-copy-block{padding-top: 22px; border-top: 2px solid var(--v4-record-blue);}
.site-v3.case-record .record-copy-block h3{margin: 0 0 11px; font-size: 22px;}
.site-v3.case-record .record-copy-block p{margin: 0; color: var(--v4-record-muted);}
.site-v3.case-record .record-copy-block ul{display: grid; gap: 10px; margin: 0; padding-left: 20px; color: var(--v4-record-muted);}
.site-v3.case-record .record-gallery{display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 18px;}
.site-v3.case-record .record-gallery-main,.site-v3.case-record .record-gallery-side figure{margin: 0; background: #24323d;}
.site-v3.case-record .record-gallery-main img,.site-v3.case-record .record-gallery-side img{width: 100%; height: 100%; object-fit: cover;}
.site-v3.case-record .record-gallery-main{min-height: 560px;}
.site-v3.case-record .record-gallery-side{display: grid; gap: 18px;}
.site-v3.case-record .record-gallery-side figure{min-height: 270px;}
.site-v3.case-record .record-gallery video{display: block; width: 100%; height: 100%; object-fit: cover; background: #101821;}
.site-v3.case-record .record-gallery figcaption{padding: 10px 12px; color: #fff; background: var(--v4-record-dark); font-size: 12px;}
.site-v3.case-record .record-brief{display: grid; grid-template-columns: minmax(0, .8fr) minmax(280px, 1.2fr); gap: 74px; align-items: start;}
.site-v3.case-record .record-brief h2{font-size: 46px;}
.site-v3.case-record .record-brief ul{display: grid; gap: 12px; margin: 0; padding-left: 20px; color: var(--v4-record-muted);}
.site-v3.case-record :is(a, button):focus-visible{outline: 3px solid var(--v4-record-orange); outline-offset: 4px;}
@media (max-width: 1080px) {
.site-v3.case-record .record-hero h1{font-size: 52px;}
.site-v3.case-record .record-section h2{font-size: 40px;}
.site-v3.case-record .record-brief h2{font-size: 40px;}
.site-v3.case-record .record-hero-grid,.site-v3.case-record .record-section-head,.site-v3.case-record .record-brief{gap: 38px;}
}
@media (max-width: 760px) {
.site-v3.case-record .record-hero{padding: 57px 0 0;}
.site-v3.case-record .record-hero-grid,.site-v3.case-record .record-section-head,.site-v3.case-record .record-brief{grid-template-columns: 1fr;}
.site-v3.case-record .record-hero-copy{padding-bottom: 51px;}
.site-v3.case-record .record-hero h1{font-size: 38px;}
.site-v3.case-record .record-hero-copy > p:not(.record-kicker):not(.record-crumb){font-size: 16px;}
.site-v3.case-record .record-hero-media{margin: 0 -32px; aspect-ratio: 1.25;}
.site-v3.case-record .record-section{padding: 64px 0;}
.site-v3.case-record .record-section h2{font-size: 32px;}
.site-v3.case-record .record-brief h2{font-size: 31px;}
.site-v3.case-record .record-section-head{gap: 18px; margin-bottom: 28px;}
.site-v3.case-record .record-copy-grid{grid-template-columns: 1fr;}
.site-v3.case-record .record-copy-block{padding-top: 18px;}
.site-v3.case-record .record-gallery{grid-template-columns: 1fr;}
.site-v3.case-record .record-gallery-main{min-height: 0; aspect-ratio: 1.05;}
.site-v3.case-record .record-gallery-side{grid-template-columns: repeat(2, minmax(0, 1fr));}
.site-v3.case-record .record-gallery-side figure{min-height: 0; aspect-ratio: 1;}
}
@media (prefers-reduced-motion: reduce) {
.site-v3.case-record *,.site-v3.case-record *::before,.site-v3.case-record *::after{transition-duration: .01ms !important;}
}
/* Source: site-content-v1.css */
.site-v3.case-record .record-hero{padding:40px 0;background:var(--color-ground);color:var(--color-ink)}
.site-v3.case-record .record-hero-grid{gap:40px}
.site-v3.case-record .record-hero h1{font-size:var(--type-page);letter-spacing:0}
.site-v3.case-record .record-crumb{color:var(--color-muted);margin-bottom:12px}
.site-v3.case-record .record-crumb a{color:var(--color-brand)}
.site-v3.case-record .record-hero-copy>p:not(.record-crumb){color:var(--color-muted);font-size:16px}
.site-v3.case-record .record-section{padding:var(--section-gap) 0}
.site-v3.case-record .record-section-head{display:block;margin-bottom:24px}
.site-v3.case-record :is(.record-section h2,.record-brief h2,.record-cta h2){font-size:var(--type-section);line-height:1.3}
.site-v3.case-record .record-hero-media{aspect-ratio:auto;background:transparent}
.site-v3.case-record .record-hero-media img{height:auto;max-height:400px;object-fit:contain}
.site-v3.case-record .record-hero-media::after{display:none}
.site-v3.case-record .record-gallery-main,.site-v3.case-record .record-gallery-side figure{min-height:0}
.site-v3.case-record .record-gallery img{height:auto;object-fit:contain}
@media(max-width:760px){
.site-v3.case-record .record-hero{padding:28px 0}
.site-v3.case-record .record-hero-grid,.site-v3.case-record .record-brief{grid-template-columns:1fr;gap:24px}
}
.site-v3.case-record .record-hero-copy > p:not(.record-kicker):not(.record-crumb){color:var(--color-muted)}
.site-v3.case-record .record-gallery{align-items:start}
.site-v3.case-record .record-gallery-side{align-content:start}
.site-v3.case-record .record-gallery figure{align-self:start}
.site-v3.case-record .record-hero-media{width:100%;margin:0}
/* Source: case-media-viewer.css */
.site-v3.case-record .record-gallery figure{aspect-ratio:auto;}
.case-media-open{position:relative; display:block; color:var(--color-paper);}
.case-media-open img{display:block;}
.case-media-open::after{content:"查看原图 ↗"; position:absolute; right:12px; bottom:12px; padding:8px 12px; border:1px solid #ffffff80; border-radius:var(--radius-control); background:var(--color-ink); color:var(--color-paper); font:14px/1.4 var(--font-body);}
.case-media-open:hover::after{background:var(--color-brand);}
.case-media-open:focus-visible{outline-offset:5px;}
.case-viewer{box-sizing:border-box; width:calc(100% - 48px); max-width:1600px; height:calc(100dvh - 48px); max-height:1100px; margin:auto; padding:0; border:1px solid var(--color-rule); border-radius:4px; background:var(--color-ink); color:var(--color-paper); overflow:hidden;}
.case-viewer::backdrop{background:#172334e8;}
.case-viewer[open]{display:grid; grid-template-rows:auto minmax(0,1fr) auto;}
.case-viewer-head{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; align-items:center; padding:12px 20px; border-bottom:1px solid #ffffff40;}
.case-viewer-heading{min-width:0; flex:1;}
.case-viewer-heading h2{margin:0; color:var(--color-paper); font:600 16px/1.5 var(--font-body);}
.case-viewer-count{display:block; margin-top:2px; font:14px/1.4 var(--font-data); color:#d7dfe8;}
.case-viewer-regions{grid-column:1 / -1; min-width:0;}
.case-viewer-region-choices{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;}
.case-viewer-region-choices button{min-width:0; overflow-wrap:anywhere;}
.case-viewer-region-choices button[aria-pressed="true"]{background:var(--color-brand); border-color:var(--color-paper);}
.case-viewer-regions p{margin:8px 0 0; color:#d7dfe8; font:14px/1.5 var(--font-body);}
.case-viewer button,.case-viewer-source{display:inline-flex; justify-content:center; align-items:center; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid #ffffff66; border-radius:var(--radius-control); background:transparent; color:var(--color-paper); font:14px/1.3 var(--font-body); cursor:pointer;}
.case-viewer button:hover,.case-viewer-source:hover{background:var(--color-brand);}
.case-viewer button:disabled{opacity:.4; cursor:default;}
.case-viewer :is(button,a):focus-visible{outline:3px solid #fff; outline-offset:3px;}
.case-viewer-stage{overflow:auto; overscroll-behavior:contain; min-height:0; min-width:0; background:#101923; touch-action:pan-x pan-y pinch-zoom;}
.case-viewer-canvas{display:grid; place-items:center; min-width:100%; min-height:100%; width:max-content; padding:16px; box-sizing:border-box;}
.case-viewer-image{display:block; max-width:none; max-height:none; flex:none; object-fit:contain;}
.case-viewer-error{margin:20px;}
.case-viewer-controls{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; padding:12px 20px; border-top:1px solid #ffffff40;}
.case-viewer-zoom{min-width:52px; text-align:center; font:14px/1.4 var(--font-data);}
.case-viewer-source{margin-left:auto; text-decoration:underline; text-underline-offset:4px;}
@media(max-width:760px) {
.case-viewer{width:100%; height:100dvh; max-height:none; max-width:none; border:0; border-radius:0;}
.case-viewer-head{gap:12px; padding:12px 16px;}
.case-viewer-controls{gap:8px; padding:12px 16px max(12px,env(safe-area-inset-bottom));}
.case-viewer-source{margin-left:0;}
}
/* Source: site-entry-v1.css */
html.entry-document{overflow-x: visible;}
.site-v3.entry-page{font-family: var(--font-body); color: var(--color-ink); background: var(--color-paper); overflow-x: visible;}
.site-v3.entry-page main{overflow: visible;}
.site-v3.entry-page .topbar{display: block; padding: 0;}
.site-v3.entry-page .main-nav a::after{background: var(--color-brand);}
.site-v3.entry-page .v3-consult{background: var(--color-brand); border-color: var(--color-brand);}
.site-v3.entry-page .entry-mobile-menu{display: none;}
.site-v3.entry-page summary.menu-toggle{cursor: pointer; list-style: none;}
.site-v3.entry-page summary.menu-toggle::-webkit-details-marker{display: none;}
.site-v3.entry-page .entry-mobile-menu[open] .menu-toggle::before{transform: translate(-50%,0) rotate(45deg);}
.site-v3.entry-page .entry-mobile-menu[open] .menu-toggle::after{transform: translate(-50%,0) rotate(-45deg);}
.site-v3.entry-page :is(.v3-wrap,.topbar-inner){width: min(var(--content-max),calc(100% - var(--page-gutter)*2));}
html:not(.js) .site-v3.entry-page [data-product-search]{display: none;}
html:not(.js) .site-v3.entry-page [data-case-controls]{display: none;}
.site-v3.entry-page .v3-footer{background: var(--color-paper); color: var(--color-muted); border-top: 1px solid var(--color-rule);}
.site-v3.entry-page [id]{scroll-margin-top: 32px;}
.site-v3.entry-page :is(h1,h2,h3,p,a,li,strong,span){overflow-wrap: anywhere;}
.site-v3.entry-page :focus-visible{outline: 3px solid var(--color-focus); outline-offset: 3px;}
.site-v3.entry-page .case-viewer :focus-visible{outline-color: var(--color-paper);}
@media(max-width:1080px) {
html.entry-document .site-v3.entry-page .main-nav,.site-v3.entry-page .v3-consult{display: none;}
.site-v3.entry-page .entry-mobile-menu{display: block;}
html.entry-document .site-v3.entry-page summary.menu-toggle{display: block !important;}
.site-v3.entry-page .entry-mobile-nav{position: absolute; top: 100%; left: 0; right: 0; display: grid; padding: 12px var(--page-gutter) 20px; border-bottom: 1px solid var(--color-rule); background: var(--color-paper);}
.site-v3.entry-page .entry-mobile-nav a{display: flex; align-items: center; min-height: 46px; padding: 12px 0; font-size: 15px;}
.site-v3.entry-page .entry-mobile-nav a[aria-current]{color: var(--color-brand); font-weight: 700;}
}
@media(prefers-reduced-motion:reduce) {
.site-v3.entry-page *,.site-v3.entry-page *::before,.site-v3.entry-page *::after{animation: none !important; transition: none !important; scroll-behavior: auto !important;}
}
/* Source: legacy-public-v1.css */
.site-v3.entry-page.case-record .record-hero{background: var(--color-paper); padding-block: 48px;}
.site-v3.entry-page.case-record .record-hero-grid{gap: 48px;}
.site-v3.entry-page.case-record .record-hero h1{color: var(--color-brand); font-size: var(--type-page); line-height: 1.3;}
.site-v3.entry-page.case-record .record-hero-media{background: var(--color-ground); overflow: visible;}
.site-v3.entry-page.case-record .record-hero-media img{height: auto; max-height: none; width: 100%; max-width: min(100%,var(--media-max-width)); object-fit: contain; display: block; margin-inline: auto;}
.site-v3.entry-page.case-record .record-section--soft{background: var(--color-ground);}
.site-v3.entry-page.case-record .record-copy-grid{gap: 32px 48px;}
.site-v3.entry-page.case-record .record-copy-block{border-top: 1px solid var(--color-rule);}
.site-v3.entry-page.case-record .record-copy-block h3{font-size: var(--type-card);}
.site-v3.entry-page.case-record .record-gallery{gap: 32px; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);}
.site-v3.entry-page.case-record .record-gallery figure{min-width: 0; min-height: 0; aspect-ratio: auto; background: var(--color-paper);}
.site-v3.entry-page.case-record .record-gallery-side{gap: 32px;}
.site-v3.entry-page.case-record .record-gallery img{width: 100%; max-width: min(100%,var(--media-max-width)); height: auto; object-fit: contain; margin-inline: auto; display: block;}
.site-v3.entry-page.case-record .case-media-open{display: block;}
.site-v3.entry-page.case-record .case-media-open::after{content: "查看原图 ↗"; position: static; display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; margin: 8px 12px; color: var(--color-brand); background: var(--color-paper); border: 1px solid var(--color-rule); border-radius: var(--radius-control); font-size: 14px;}
.site-v3.entry-page.case-record .record-gallery figcaption{color: var(--color-muted); background: var(--color-paper); font-size: 14px; padding: 12px;}
.site-v3.entry-page.case-record .record-gallery video{width: 100%; height: auto; object-fit: contain; display: block;}
.site-v3.entry-page .v3-footer a{min-height: 44px; display: inline-flex; align-items: center; color: var(--color-brand);}
@media(max-width:760px) {
.site-v3.entry-page.case-record .record-hero{padding-block: 32px;}
.site-v3.entry-page.case-record .record-hero-grid{gap: 24px;}
.site-v3.entry-page.case-record :is(.record-gallery,.record-gallery-side){grid-template-columns: minmax(0,1fr);}
.site-v3.entry-page.case-record .record-copy-grid{gap: 24px;}
}
/* Source: case-reading-view.css */
.site-v3 .case-reading-index{width: calc(100% - var(--page-gutter) * 2); max-width: var(--content-max); margin-inline: auto; padding-block: 24px; border-block: 1px solid var(--color-rule);}
.site-v3 .case-reading-nav{display: flex; flex-wrap: wrap; gap: 8px 16px;}
.site-v3 .case-reading-nav a{display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; font-size: 16px; line-height: 1.5; border: 1px solid var(--color-rule); border-radius: var(--radius-control); color: var(--color-brand); background: var(--color-paper); text-decoration: none;}
.site-v3 .case-reading-nav a[aria-selected="true"]{color: var(--color-paper); background: var(--color-brand); border-color: var(--color-brand);}
.site-v3 .case-reading-panel[hidden]{display: none;}
.site-v3 .case-reading-panel:focus-visible{outline: 3px solid var(--color-focus); outline-offset: -3px;}
.site-v3 :is(.record-hero h1,.detail-hero h1){text-wrap: balance;}
.site-v3.entry-page.case-record .record-hero-copy{padding-bottom: 0;}
.site-v3 .case-hero-actions{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px;}
.site-v3 .case-hero-actions a{display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 20px; border: 1px solid var(--color-brand); border-radius: var(--radius-control); font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--color-brand); background: var(--color-paper); text-decoration: none;}
.site-v3 .case-hero-actions a:first-child{color: var(--color-paper); background: var(--color-brand);}
@media(max-width:760px) {
.site-v3 .case-reading-index{padding-block: 16px;}
.site-v3 .case-reading-nav{gap: 8px;}
}
.site-v3 .case-title-unit{display: inline-block; max-width: 100%;}
.site-v3 :is(.record-crumb,.detail-hero .breadcrumb) a{display:inline-flex; align-items:center; min-width:44px; min-height:44px;}
.site-v3:is(.case-material,.case-record) .v3-consult{background: var(--color-brand); border-color: var(--color-brand);}
.site-v3 .case-project-contact{padding-block: var(--section-gap); background: var(--color-ground); color: var(--color-ink);}
.site-v3 .case-project-contact-inner{width: min(var(--content-max),calc(100% - var(--page-gutter) * 2)); margin-inline: auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 32px;}
.site-v3 .case-project-contact h2{margin: 0; font-size: var(--type-section); line-height: 1.4;}
.site-v3 .case-project-contact-links{display: grid; justify-items: start; gap: 12px; min-width: 0;}
.site-v3 .case-project-contact-links a{display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; padding: 10px 16px; border: 1px solid var(--color-brand); border-radius: var(--radius-control); font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--color-brand); background: var(--color-paper); overflow-wrap: anywhere; text-decoration: none;}
.site-v3 .case-project-contact-links a:first-child{background: var(--color-brand); color: var(--color-paper);}
.site-v3 .case-project-contact-facts{display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--color-muted); font-size: 14px;}
.site-v3 .case-project-footer{background: var(--color-paper); color: var(--color-muted); border-top: 1px solid var(--color-rule);}
.site-v3 .case-project-footer .v3-footer-inner{flex-wrap: wrap; gap: 12px 24px;}
.site-v3 .case-project-footer-nav{display: flex; flex-wrap: wrap; gap: 8px 20px;}
.site-v3 .case-project-footer-nav a{display: inline-flex; align-items: center; min-height: 44px; color: var(--color-brand); text-decoration: underline; text-underline-offset: 4px;}
.site-v3.entry-page.case-record .record-gallery{grid-template-columns: minmax(0,1fr); gap: 32px;}
.site-v3.entry-page.case-record .record-gallery-main{width: min(100%,960px); justify-self: center;}
.site-v3.entry-page.case-record .record-gallery-side{grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start;}
.site-v3.entry-page.case-record .record-task-brief{display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; align-items: start;}
.site-v3.entry-page.case-record .record-task-brief .record-section-head{display: block; margin: 0;}
.site-v3.entry-page.case-record .record-task-brief .record-copy-grid{grid-template-columns: minmax(0,1fr);}
.site-v3.entry-page.case-record .record-config-map{grid-template-columns: minmax(0,1fr); gap: 0;}
.site-v3.entry-page.case-record .record-config-map .record-copy-block{display: grid; grid-template-columns: minmax(120px,1fr) minmax(0,3fr) minmax(160px,1.4fr); align-items: start; gap: 16px 32px; padding-block: 24px;}
.site-v3.entry-page.case-record .record-config-map h3{margin: 0;}
.site-v3.entry-page.case-record .record-config-map p{margin: 0;}
.site-v3.entry-page.case-record .record-config-map .record-copy-block:not(:has(.record-config-evidence)) p{grid-column: 2 / -1;}
.site-v3.entry-page.case-record .record-config-evidence{display: inline-flex; align-items: center; justify-self: start; min-height: 44px; padding-block: 8px; color: var(--color-brand); font-size: 16px; line-height: 1.6; text-decoration: underline; text-underline-offset: 4px;}
.site-v3.entry-page.case-record .record-condition-map{list-style: none; padding: 0; margin: 0; gap: 0;}
.site-v3.entry-page.case-record .record-condition-map li{display: grid; grid-template-columns: minmax(112px,1fr) minmax(0,3fr); gap: 16px 24px; margin: 0; padding-block: 20px; border-top: 1px solid var(--color-rule);}
.site-v3.entry-page.case-record .record-condition-map strong{color: var(--color-ink); font-weight: 600;}
.site-v3.entry-page.case-record .record-condition-map span{color: var(--color-muted);}
@media(max-width:760px) {
.site-v3 .case-project-contact-inner{grid-template-columns: minmax(0,1fr); gap: 24px;}
.site-v3 .case-project-contact-links{justify-items: stretch;}
.site-v3 .case-project-footer .v3-footer-inner{align-items: flex-start;}
.site-v3 .case-project-footer-nav{gap: 8px 16px;}
.site-v3.entry-page.case-record .record-gallery-side{grid-template-columns: minmax(0,1fr);}
.site-v3.entry-page.case-record .record-task-brief{grid-template-columns: minmax(0,1fr); gap: 24px;}
.site-v3.entry-page.case-record .record-config-map .record-copy-block{grid-template-columns: minmax(0,1fr); gap: 8px; padding-block: 20px;}
.site-v3.entry-page.case-record .record-config-map .record-copy-block:not(:has(.record-config-evidence)) p{grid-column: auto;}
.site-v3.entry-page.case-record .record-condition-map li{grid-template-columns: minmax(0,1fr); gap: 8px; padding-block: 20px;}
}
.site-v3.entry-page.case-record .case-result-detail{border:1px solid var(--color-rule); background:var(--color-paper);}
.site-v3.entry-page.case-record .case-result-detail > summary{min-height:44px; padding:12px 16px; color:var(--color-brand); font-size:16px; font-weight:700; line-height:1.5; cursor:pointer;}
.site-v3.entry-page.case-record .case-result-detail > summary:focus-visible{outline:3px solid var(--color-focus); outline-offset:3px;}
.site-v3.entry-page.case-record .case-result-detail[open] > summary{border-bottom:1px solid var(--color-rule);}
.site-v3.entry-page.case-record .case-primary-detail{width:min(100%,960px); justify-self:center;}
/* Source: case-inspection-map.css */
.site-v3 .case-inspection-map{min-width: 0; margin: 0; padding: 0; border: 0;}
.site-v3 .case-inspection-map legend{padding: 0; margin-bottom: 12px; color: var(--color-ink); font: 600 16px/1.5 var(--font-body);}
.site-v3 .case-inspection-options{display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-bottom: 16px;}
.site-v3 .case-inspection-options label{position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 46px; padding: 8px 10px; border: 1px solid var(--color-rule); border-radius: var(--radius-control); color: var(--color-brand); background: var(--color-paper); font: 600 16px/1.5 var(--font-body); text-align: center; cursor: pointer;}
.site-v3 .case-inspection-options input{margin: 0; accent-color: var(--color-brand);}
.site-v3 .case-inspection-zoom{display:flex; justify-content:center; align-items:center; min-width:44px; min-height:44px; margin:12px 0; padding:8px 12px; border:1px solid var(--color-brand); border-radius:var(--radius-control); background:var(--color-paper); color:var(--color-brand); font:600 16px/1.5 var(--font-body); text-align:center;}
.site-v3 .case-inspection-stage{position: relative; display: block; width: 100%; max-width: min(100%,var(--media-max-width)); margin-inline: auto;}
.site-v3 .case-inspection-overlay{position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;}
.site-v3 .case-inspection-overlay g{visibility: hidden;}
.site-v3 .case-inspection-overlay rect{fill: none;}
.site-v3 .case-inspection-halo{stroke: var(--color-paper); stroke-width: 5;}
.site-v3 .case-inspection-outline{stroke: var(--color-brand); stroke-width: 2;}
.site-v3 .case-inspection-notes p{margin: 0; padding: 12px; color: var(--color-muted); font-size: 16px; line-height: 1.6;}
@supports selector(:has(input:checked)) {
.site-v3 .case-inspection-options input{position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer;}
.site-v3 .case-inspection-options label:has(input:checked){color: var(--color-paper); background: var(--color-brand); border-color: var(--color-brand);}
.site-v3 .case-inspection-options label:has(input:focus-visible){outline: 3px solid var(--color-focus); outline-offset: 3px;}
.site-v3 .case-inspection-notes{display: grid;}
.site-v3 .case-inspection-notes p{grid-area: 1 / 1; visibility: hidden;}
.site-v3 .case-inspection-map:has(input[value="a"]:checked) [data-region="a"],.site-v3 .case-inspection-map:has(input[value="b"]:checked) [data-region="b"],.site-v3 .case-inspection-map:has(input[value="c"]:checked) [data-region="c"]{visibility: visible;}
}
