@font-face {
  font-family:'演示悠然小楷';
  src:url('/assets/yanshi-youran-xiaokai.woff2') format('woff2');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

@font-face {
  font-family:'Zhi Mang Xing';
  src:url('/assets/zhimangxing-regular.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
:root {
  --brand-red: #E4131C; --brand-red-hover: #C10E16; --ink-navy: #0A1A2F; --ink-black: #071322;
  --warm-white: #F6F5F3; --gray-white: #FAFAF9; --text-dark: #14202E; --text-secondary: #55606C;
  --text-tertiary: #7A838D; --text-muted: #9AA3AD; --border: #E3E1DD; --red-tint: #FEF3F3;
  --white: #fff; --white-muted: rgba(255,255,255,.78); --white-border: rgba(255,255,255,.38);
  --font: 'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Source Han Sans SC','Noto Sans SC',sans-serif;
  --font-en: 'Helvetica Neue',Arial,sans-serif; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --pad:64px; --radius:4px; --pill:999px; color-scheme:light;
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--warm-white); color:var(--text-dark); font:14px/1.9 var(--font); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
a,button { touch-action:manipulation; -webkit-tap-highlight-color:rgba(228,19,28,.16); }
a:focus-visible,button:focus-visible { outline:3px solid var(--brand-red); outline-offset:4px; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { text-wrap:balance; }
h2 { font-size:30px; line-height:1.4; margin-bottom:var(--s4); }
p+p { margin-top:var(--s4); }
img { display:block; max-width:100%; object-fit:cover; }
svg { flex-shrink:0; }
.container { max-width:1440px; margin-inline:auto; padding-inline:max(var(--pad),env(safe-area-inset-left)) max(var(--pad),env(safe-area-inset-right)); }
.en { font-family:var(--font-en); font-size:11px; line-height:1.7; letter-spacing:.14em; text-transform:uppercase; }
.preview-notice { color:var(--text-dark); background:var(--gray-white); font-size:12px; padding:var(--s2) var(--s5); text-align:center; }
.skip-link { position:fixed; top:var(--s2); left:var(--s2); transform:translateY(-180%); z-index:20; padding:var(--s3); background:var(--white); }
.skip-link:focus { transform:none; }
.site-header { background:var(--ink-navy); color:var(--white); position:relative; z-index:5; }
.home .site-header { background:transparent; margin-bottom:-112px; }
.home .home-hero { padding-top:112px; }
.header-row { display:flex; align-items:center; justify-content:space-between; gap:var(--s5); min-height:112px; }
.brand { display:flex; flex-direction:column; min-width:180px; justify-content:center; min-height:64px; }
.brand-logo { width:218px; height:auto; object-fit:contain; }
.primary-nav { display:flex; align-items:center; gap:var(--s6); }
.primary-nav a { display:inline-flex; align-items:center; min-height:48px; position:relative; white-space:nowrap; color:var(--white-muted); font-size:15px; }
.primary-nav a[aria-current] { color:var(--white); }
.primary-nav a[aria-current]::after { content:''; height:2px; background:var(--brand-red); position:absolute; bottom:0; left:0; right:0; }
.phone { display:inline-flex; align-items:center; justify-content:center; gap:var(--s2); border:1px solid var(--white-border); border-radius:var(--pill); min-height:48px; padding:var(--s2) var(--s5); white-space:nowrap; font-size:15px; font-variant-numeric:tabular-nums; }
.phone svg { color:var(--brand-red); }
.menu-toggle { display:none; }
.hero { background:var(--ink-navy); color:var(--white); min-height:450px; position:relative; isolation:isolate; overflow:hidden; }
.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; z-index:-1; }
.hero-image { object-position:75% center; }
.hero-shade { background:linear-gradient(90deg,var(--ink-navy) 10%,rgba(10,26,47,.82) 38%,rgba(10,26,47,.16) 85%); }
.hero-content { padding-top:var(--s7); padding-bottom:var(--s8); position:relative; }
.hero h1 { font-size:46px; line-height:1.3; font-weight:700; max-width:900px; }
.hero h1 em { font-style:normal; color:var(--brand-red); }
.breadcrumb { color:var(--white-muted); margin-bottom:var(--s4); font-size:13px; }
.breadcrumb a { display:inline-flex; align-items:center; min-height:48px; }
.hero .en { color:var(--white-muted); margin-top:var(--s3); }
.hero .positioning { font-size:19px; font-weight:500; margin-top:var(--s6); margin-bottom:var(--s4); }
.positioning::before { content:''; width:44px; height:3px; background:var(--brand-red); display:block; margin-bottom:var(--s5); }
.hero .button { margin-top:var(--s5); }
.hero-caption { position:absolute; bottom:var(--s2); right:var(--s5); background:var(--ink-black); color:var(--white-muted); font-size:11px; padding:var(--s1) var(--s2); }
.home-hero { min-height:492px; }
.home-hero h1 { font-size:56px; line-height:1.24; }
.home-hero .hero-content { padding-top:var(--s6); }
.home-hero .breadcrumb { font-size:14px; letter-spacing:.28em; margin-bottom:var(--s5); }
.hero-signature { position:absolute; right:var(--s7); top:var(--s6); text-align:right; }
.actions { display:flex; gap:var(--s4); align-items:center; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:var(--s4); min-height:48px; padding:var(--s3) var(--s6); background:var(--brand-red); color:var(--white); border:1px solid transparent; border-radius:var(--pill); font-size:15px; font-weight:500; }
.secondary { background:transparent; border-color:var(--white-border); }
.dark { background:var(--ink-navy); }
.text-link { display:inline-flex; align-items:center; gap:var(--s2); min-height:48px; font-weight:500; }
.capabilities { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--s4); margin-top:var(--s5); }
.capability { min-width:0; background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:var(--s5) var(--s3); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--s3); text-align:center; }
.capability strong { font-size:15px; }
.capability .en { font-size:9px; color:var(--text-secondary); overflow-wrap:anywhere; }
.capability.selected { border-color:var(--brand-red); background:var(--red-tint); }
.capability.selected svg { color:var(--brand-red); }
.capability-strip { margin-top:0; gap:0; background:var(--ink-black); color:var(--white); border-top:2px solid var(--brand-red); }
.capability-strip .capability { background:transparent; border:0; border-right:1px solid var(--white-border); border-radius:0; padding:var(--s5) var(--s2); }
.capability-strip .en { color:var(--white-muted); }
.brand-section { padding-block:var(--s7) var(--s5); background:var(--warm-white); }
.brand-grid { display:grid; grid-template-columns:1.15fr 1fr .9fr; align-items:center; gap:var(--s7); }
.brand-grid h2 { font-size:24px; }
.brand-grid p { color:var(--text-secondary); }
.stats { display:flex; justify-content:space-around; gap:var(--s5); text-align:center; }
.stats>div { display:flex; flex-direction:column; gap:var(--s2); }
.stats strong { color:var(--brand-red); font-size:30px; line-height:1.2; font-variant-numeric:tabular-nums; }
.stats strong small { font-size:15px; }
.stats .en { color:var(--text-secondary); font-size:9px; }
.brand-statement { text-align:center; display:flex; flex-direction:column; gap:var(--s2); }
.brand-statement strong { font-size:24px; color:var(--brand-red); }
.brand-statement .en { font-size:9px; color:var(--text-secondary); }
.home-selections { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) .6fr; gap:var(--s4); padding-bottom:var(--s7); }
.image-card { display:block; position:relative; overflow:hidden; border-radius:3px; background:var(--ink-navy); color:var(--white); min-height:132px; }
.image-card img { width:100%; height:240px; }
.image-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,rgba(7,19,34,.9) 100%); }
.image-label { position:absolute; left:var(--s4); right:var(--s3); bottom:var(--s4); z-index:1; }
.image-label strong { display:block; font-size:17px; line-height:1.5; }
.image-label .en { display:block; font-size:9px; color:var(--white-muted); }
.illustration { position:absolute; z-index:1; top:var(--s2); right:var(--s2); font-size:11px; padding:0 var(--s2); color:var(--white); background:var(--ink-black); }
.home-selections .image-card img { height:156px; }
.home-selections .image-label strong { font-size:15px; }
.more-cases { display:flex; align-items:center; justify-content:center; gap:var(--s2); min-height:48px; border:1px solid var(--border); background:var(--white); border-radius:3px; }
.more-cases span { color:var(--brand-red); }
.section { padding-block:var(--s7); }
.section-intro { color:var(--text-secondary); margin-bottom:var(--s5); }
.scene-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s4); }
.capability-section { background:var(--gray-white); }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--s5); flex-wrap:wrap; margin-bottom:var(--s5); }
.section-heading h2 { margin:0; }
.case-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s5); }
.case-list p { color:var(--text-secondary); padding-top:var(--s3); }
.case-card { min-width:0; }
.case-card .image-label strong { font-size:16px; }
.case-hero h1,.article-hero h1 { max-width:1050px; }
.hero-description { max-width:680px; margin-top:var(--s5); }
.case-story { display:grid; grid-template-columns:1.2fr 1fr; gap:var(--s8); }
.source-note { color:var(--text-secondary); font-size:12px; margin-top:var(--s4); }
.case-story ul { padding-left:var(--s5); }
.case-story h3 { margin-top:var(--s5); }
.scope-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; gap:var(--s5); }
.scope-list li { padding-block:var(--s5); border-top:1px solid var(--border); }
.scope-list h3 { font-size:17px; margin-top:var(--s4); }
.scope-number { color:var(--brand-red); font:19px var(--font-en); }
.prose-text { max-width:70ch; }
.delivery-base { margin-top:var(--s6); }
.image-zoom { position:absolute; right:var(--s2); bottom:var(--s2); color:var(--white); background:var(--ink-navy); padding:var(--s1) var(--s3); border-radius:var(--pill); }
.gallery-item { overflow:hidden; }
.gallery-item img { aspect-ratio:3/2; }
.timeline { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s7); }
.timeline li { border-top:1px solid var(--border); padding-top:var(--s5); }
.timeline strong { font-size:24px; color:var(--brand-red); }
.timeline p { margin-top:var(--s4); }
.office-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s5); }
figure { margin:0; }
.office-gallery img { width:100%; height:260px; }
figcaption { padding-top:var(--s3); }
.addresses dt:not(:first-child) { margin-top:var(--s5); }
.addresses dd { margin-top:var(--s1); }
.other-phones { display:flex; gap:var(--s5); flex-wrap:wrap; }
.social-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s7); }
.social-grid figure { padding:var(--s5); background:var(--white); border:1px solid var(--border); }
.social-grid img { height:320px; width:100%; object-fit:contain; }
.social-grid figcaption { text-align:center; }
.article-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s6); }
.article-category { display:block; font-size:12px; color:var(--text-secondary); margin-top:var(--s5); margin-bottom:var(--s2); }
.article-body { max-width:980px; font-size:16px; }
.article-lead { font-size:19px; }
.article-body>section { padding-top:var(--s7); scroll-margin-top:var(--s5); }
.article-toc { margin-top:var(--s7); padding:var(--s5); background:var(--gray-white); border:1px solid var(--border); }
.article-toc h2 { font-size:19px; }
.article-toc a { display:flex; align-items:center; min-height:48px; }
.article-next { margin-top:var(--s7); padding-top:var(--s5); border-top:1px solid var(--border); display:flex; flex-wrap:wrap; align-items:center; gap:var(--s5); }
.article-related { display:flex; flex-direction:column; align-items:flex-start; }
.case-search { margin-block:var(--s6); }
.case-search label { display:block; font-size:15px; font-weight:500; margin-bottom:var(--s2); }
.case-search>div { display:flex; gap:var(--s3); }
.case-search input { min-width:0; flex:1; min-height:48px; padding:var(--s3) var(--s4); border:1px solid var(--border); border-radius:var(--radius); font:16px var(--font); background:var(--white); color:var(--text-dark); }
.case-search input:focus-visible { outline:2px solid var(--brand-red); outline-offset:2px; }
.case-search input::placeholder { color:var(--text-secondary); }
.reset-search,.pagination button { min-height:48px; padding:var(--s2) var(--s5); background:var(--white); color:var(--text-dark); border:1px solid var(--border); border-radius:var(--pill); }
.results-count { margin-bottom:var(--s5); color:var(--text-secondary); scroll-margin-top:var(--s5); }
.pagination { display:flex; justify-content:center; gap:var(--s5); align-items:center; margin-top:var(--s7); }
.pagination button:disabled { color:var(--text-tertiary); background:var(--gray-white); cursor:default; }
.filters a span { font-size:12px; opacity:.8; margin-left:var(--s2); }
.case-meta { font-size:16px; margin-top:var(--s5); }
.underline { border-bottom:3px solid var(--brand-red); padding-bottom:var(--s2); display:inline-block; }
.overview { background:var(--gray-white); }
.overview-grid { display:grid; grid-template-columns:1fr 4fr; gap:var(--s6); align-items:center; }
.overview h2 { margin:0; }
.overview dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; }
.overview dl>div { border-left:1px solid var(--border); padding:var(--s2) var(--s5); }
dt { color:var(--text-secondary); font-size:13px; }
dd { margin:var(--s2) 0 0; font-size:16px; font-weight:500; }
.gallery { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--s4); }
.gallery-item { grid-column:span 2; position:relative; min-width:0; }
.gallery-item:nth-child(-n+2) { grid-column:span 3; }
.gallery img { width:100%; height:auto; aspect-ratio:3/2; border-radius:3px; }
.gallery-links { margin-top:var(--s5); margin-bottom:0; }
.lightbox { width:min(1100px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:var(--s4); border:1px solid var(--white-border); background:var(--ink-black); color:var(--white); overscroll-behavior:contain; }
.lightbox::backdrop { background:rgba(7,19,34,.92); }
.lightbox-toolbar,.lightbox-controls { display:flex; align-items:center; justify-content:space-between; gap:var(--s4); }
.lightbox h2 { font-size:19px; margin:0; }
.lightbox-image { width:100%; height:min(65dvh,660px); object-fit:contain; }
.lightbox-controls p { font-size:13px; text-align:center; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; min-width:48px; min-height:48px; background:transparent; border:1px solid var(--white-border); color:var(--white); border-radius:var(--radius); font-size:24px; }
.gallery-open { overflow:hidden; }
.filters { display:flex; gap:var(--s3); flex-wrap:wrap; margin-bottom:var(--s6); }
.filters a { display:inline-flex; align-items:center; min-height:48px; padding:var(--s2) var(--s5); border:1px solid var(--border); border-radius:var(--pill); }
.filters a[aria-current] { background:var(--ink-navy); color:var(--white); }
.empty-state { min-height:240px; }
.service-overview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s7); }
.service-overview article { border-bottom:1px solid var(--border); padding-bottom:var(--s5); scroll-margin-top:var(--s5); }
.service-overview .en { color:var(--text-secondary); }
.service-overview h2 { margin-top:var(--s2); }
.prose { max-width:1000px; }
.prose p+h2 { margin-top:var(--s6); }
.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s7); }
.contact-grid .phone { border-color:var(--border); margin-block:var(--s5); }
.site-footer { background:var(--ink-black); color:var(--white-muted); padding-block:var(--s6) max(var(--s6),env(safe-area-inset-bottom)); }
.footer-row { display:flex; justify-content:space-between; align-items:center; gap:var(--s5); }
.footer-row>a:last-child { display:inline-flex; align-items:center; min-height:48px; }
.footer-row p { font-size:13px; }
.footer-row small { font-size:11px; }
@media(hover:hover) and (pointer:fine) {
  .button,.capability,.image-card { transition:transform 160ms ease-out; }
  .button:hover { background:var(--brand-red-hover); transform:translateY(-2px); }
  .secondary:hover { background:rgba(255,255,255,.08); border-color:var(--white); }
  .dark:hover { background:var(--ink-black); }
  .capability:hover,.image-card:hover { transform:translateY(-2px); }
  .primary-nav a:hover,.phone:hover { color:var(--white); border-color:var(--white); }
  .contact-grid .phone:hover,.text-link:hover,.filters a:hover,.more-cases:hover { color:var(--brand-red); }
  .icon-button:hover { background:var(--ink-navy); }
}
@media(max-width:1439px) { :root { --pad:48px; } .primary-nav { gap:var(--s5); } .header-row { gap:var(--s4); } .brand { min-width:160px; } .header-phone { padding-inline:var(--s4); } }
@media(max-width:1199px) {
  :root { --pad:32px; }
  .header-row { flex-wrap:wrap; min-height:96px; padding-block:var(--s3); }
  .home .site-header { background:var(--ink-navy); margin-bottom:0; }
  .home .home-hero { padding-top:0; }
  .brand { margin-right:auto; }
  .primary-nav { order:4; width:100%; justify-content:space-between; }
  .js .primary-nav { display:none; }
  .js .primary-nav.is-open { display:flex; }
  .js .menu-toggle { display:grid; place-items:center; position:relative; padding:0; background:transparent; border:1px solid var(--white-border); border-radius:var(--pill); width:48px; height:48px; color:var(--white); line-height:0; }
  .js .menu-toggle::before,.js .menu-toggle::after,.js .menu-toggle span { content:''; display:block; width:22px; height:2px; border-radius:2px; background:currentColor; transition:transform 160ms ease,opacity 160ms ease; }
  .js .menu-toggle::before,.js .menu-toggle::after { position:absolute; }
  .js .menu-toggle::before { transform:translateY(-7px); }
  .js .menu-toggle::after { transform:translateY(7px); }
  .js .menu-toggle[aria-expanded="true"]::before { transform:rotate(45deg); }
  .js .menu-toggle[aria-expanded="true"]::after { transform:rotate(-45deg); }
  .js .menu-toggle[aria-expanded="true"] span { opacity:0; transform:scaleX(.2); }
  .hero-signature { display:none; }
  .brand-grid { grid-template-columns:1.2fr 1fr; gap:var(--s6); }
  .brand-statement { grid-column:1/-1; }
  .home-selections { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .more-cases { grid-column:1/-1; }
  .capabilities { gap:var(--s2); }
  .capability-strip { gap:0; }
  .capability strong { font-size:14px; }
  .overview-grid { grid-template-columns:1fr; }
  .overview dl>div:first-child { border:0; padding-left:0; }
}
@media(max-width:767px) {
  :root { --pad:20px; }
  .header-row { min-height:84px; gap:var(--s3); }
  .brand { min-width:0; }
  .brand-logo { width:clamp(144px,42vw,180px); }
  .header-phone { width:48px; padding:0; }
  .header-phone span { display:none; }
  .primary-nav,.js .primary-nav.is-open { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s2) var(--s5); }
  .primary-nav a { justify-content:center; }
  .hero { min-height:0; }
  .hero-content { padding-top:var(--s6); padding-bottom:var(--s8); }
  .hero h1 { font-size:36px; }
  .home-hero h1 { font-size:36px; }
  .home-hero .breadcrumb { font-size:12px; letter-spacing:.08em; }
  .hero .positioning { font-size:16px; }
  .hero-image { object-position:72% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(10,26,47,.96),rgba(10,26,47,.66)); }
  .hero-caption { font-size:10px; }
  .home-hero .actions { display:grid; grid-template-columns:1fr 1fr; gap:var(--s3); }
  .home-hero .button { padding-inline:var(--s2); font-size:14px; gap:var(--s2); }
  .capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .capability-strip .capability { border-bottom:1px solid var(--white-border); padding:var(--s5) var(--s2); }
  .brand-grid { grid-template-columns:1fr; gap:var(--s6); }
  .brand-grid h2 { font-size:24px; }
  .brand-statement { grid-column:auto; padding-block:var(--s4); }
  .home-selections { grid-template-columns:1fr; }
  .home-selections .image-card img { height:192px; }
  .home-selections .image-label strong { font-size:19px; }
  .home-selections .more-cases { min-height:64px; }
  h2 { font-size:24px; }
  .scene-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .scene-grid .image-card img { height:180px; }
  .image-label { left:var(--s3); }
  .image-label strong { font-size:16px; }
  .case-list { grid-template-columns:1fr; }
  .case-story,.timeline { grid-template-columns:1fr; gap:var(--s6); }
  .scope-list,.office-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .office-gallery img { height:180px; }
  .social-grid,.article-list { grid-template-columns:1fr; }
  .social-grid { max-width:360px; }
  .case-search>div { display:grid; grid-template-columns:1fr auto; }
  .case-search input { grid-column:1/-1; width:100%; }
  .article-body { font-size:16px; }
  .article-body h2 { font-size:22px; }
  .overview dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s5) 0; }
  .overview dl>div { padding-inline:var(--s4); }
  .overview dl>div:nth-child(odd) { border:0; padding-left:0; }
  .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s3); }
  .gallery-item,.gallery-item:nth-child(-n+2) { grid-column:span 1; }
  .gallery-item:first-child { grid-column:1/-1; }
  .gallery-item .illustration { font-size:10px; top:var(--s1); right:var(--s1); padding-inline:var(--s1); }
  .service-overview,.contact-grid { grid-template-columns:1fr; }
  .footer-row { flex-direction:column; align-items:flex-start; gap:var(--s4); }
  .lightbox { padding:var(--s2); width:calc(100% - 16px); }
  .lightbox-controls { gap:var(--s2); }
}
@media(max-width:480px) { .home-hero h1 { font-size:clamp(28px,7.8vw,36px); } .hero h1 { overflow-wrap:anywhere; } .scene-grid { gap:var(--s3); } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* Customer artwork proportions: broad canvas, compact opening, curved red transition. */
.brand-wave { height:80px; margin-top:-80px; position:relative; z-index:1; pointer-events:none; }
.brand-wave svg { display:block; width:100%; height:100%; }
.wave-ribbon { fill:var(--brand-red); }
.wave-base { fill:var(--ink-black); }
.home .capability-strip { border-top:0; position:relative; z-index:1; padding-inline:var(--pad); }
.home .capability-strip .capability { border-right:0; position:relative; }
.home .capability-strip .capability:not(:last-child)::after { content:''; position:absolute; right:0; top:24px; bottom:24px; width:1px; background:var(--white-border); }
.home .capability-strip .capability:nth-child(2) svg { color:var(--brand-red); }
.home .capability-strip .capability { display:grid; grid-template-rows:28px 24px minmax(32px,auto); align-content:start; justify-items:center; align-items:start; }
.home .capability-strip .capability strong { line-height:24px; }
.home .capability-strip .capability .en { line-height:16px; }
.preview-notice { background:var(--ink-black); color:var(--white-muted); padding:8px 20px; }
.case-title { text-decoration:underline; text-decoration-color:var(--brand-red); text-decoration-thickness:3px; text-underline-offset:12px; }
.case-hero h1 { max-width:760px; }
.case-story { border-top:1px solid var(--border); }
.brand-section { position:relative; isolation:isolate; overflow:hidden; background-color:var(--warm-white); background-image:url('/assets/brand-ink-landscape-safe.png'); background-repeat:no-repeat; background-position:center 78%; background-size:cover; }
.brand-statement { position:relative; min-width:0; width:100%; min-height:136px; justify-self:center; justify-content:center; align-items:flex-end; text-align:right; padding:18px 0 18px 32px; border-left:1px solid var(--border); }
.brand-statement::before { display:none; }
.brand-statement-mark { display:none; }
.brand-statement strong { order:1; max-width:none; margin-bottom:clamp(14px,2vw,30px); font-family:'演示悠然小楷','Zhi Mang Xing',var(--font); font-size:clamp(30px,3.45vw,60px); font-weight:400; line-height:1.08; letter-spacing:.02em; color:var(--brand-red); white-space:nowrap; transform:rotate(-5deg); transform-origin:right center; }
.brand-statement strong::after { display:none; }
.brand-statement .en { order:3; position:relative; width:min(230px,66%); margin-top:10px; text-align:center; font-size:9px; letter-spacing:.16em; color:var(--text-secondary); }
.brand-more-link { position:relative; width:max-content; margin-top:6px; padding:0 2px; border:0; border-radius:0; background:transparent; color:var(--text-dark); font-weight:600; letter-spacing:.02em; transition:color 160ms ease; }
.brand-more-link::before { content:''; width:28px; height:2px; margin-right:2px; background:var(--brand-red); }
.brand-more-link::after { content:''; position:absolute; right:2px; bottom:7px; left:40px; height:1px; background:var(--text-dark); opacity:.22; transform-origin:left; transition:opacity 160ms ease,transform 160ms cubic-bezier(.23,1,.32,1); }
.brand-more-link span { color:var(--brand-red); font-size:16px; transition:transform 160ms cubic-bezier(.23,1,.32,1); }
.brand-more-link:active { color:var(--brand-red); }
.stats svg { color:var(--brand-red); align-self:center; }
.stats>div+div { border-left:1px solid var(--border); }
.stats>div { flex:1; align-items:center; padding-inline:12px; }
.brand-grid>.stats { gap:0; }
.brand-grid .stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.brand-grid .stats>div { min-width:0; padding-inline:8px; }
.brand-grid .stats strong { font-size:clamp(22px,1.8vw,30px); white-space:nowrap; }
.brand-grid .stats .en { overflow-wrap:anywhere; }
@media(max-width:1199px) and (min-width:768px) {
 .brand-grid .stats>div { padding-inline:4px; }
 .brand-grid .stats>div>span:not(.en) { font-size:11px; }
 .brand-grid .stats .en { font-size:7px; }
}
@media(max-width:1023px) and (min-width:768px) {
 .brand-grid .stats { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:18px; }
 .brand-grid .stats>div:nth-child(3) { border-left:0; }
}
@media(max-width:767px) {
 .brand-grid .stats { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:24px; }
 .brand-grid .stats>div:nth-child(3) { border-left:0; }
}
@media(min-width:1200px) {
  .home .brand-grid { grid-template-columns:1fr 1.4fr 1.1fr; gap:24px; }
  .home .brand-section { padding-block:24px 8px; }
  .home .brand-grid h2 { font-size:22px; line-height:1.35; }
  .home .brand-grid p { font-size:12px; line-height:1.65; }
  .brand-grid .text-link { font-size:12px; min-height:48px; }
  .stats strong { font-size:26px; }
  .stats>div { gap:4px; }
  .stats>div>span:not(.en) { font-size:13px; }
  .stats .en { font-size:8px; line-height:1.4; }
}
@media(max-width:1199px) {



}
@media(min-width:1200px) {
  .container { max-width:1920px; }
  .home .header-row { min-height:96px; align-items:center; }
  .home .site-header { margin-bottom:-96px; }
  .home .home-hero { padding-top:96px; min-height:0; }
  .home-hero .hero-content { padding-top:8px; padding-bottom:88px; }
  .home-hero .breadcrumb { margin-bottom:16px; font-size:12px; }
  .home-hero h1 { font-size:clamp(40px,3vw,56px); line-height:1.24; }
  .home-hero .hero-english { margin-top:8px; }
  .home-hero .positioning { margin-top:20px; margin-bottom:0; }
  .home-hero .positioning::before { margin-bottom:16px; }
  .home-hero .button { margin-top:24px; }
  .home-hero .hero-image { width:100%; left:0; right:0; object-position:center; }
  .home-hero .hero-shade { background:linear-gradient(90deg,rgba(10,26,47,.62) 0%,rgba(10,26,47,.28) 42%,rgba(10,26,47,0) 72%); }
  .home-hero .hero-signature { right:var(--pad); top:8px; }
  .home .capability-strip .capability { padding-block:16px; }
  .home .brand-section { padding-block:24px 16px; }
  .home .brand-grid { grid-template-columns:1.1fr 1fr 1fr; gap:32px; }
  .home .brand-grid h2 { font-size:24px; margin-bottom:8px; }
  .home .brand-grid p { max-width:44ch; line-height:1.7; }
  .home .home-selections { gap:8px; padding-bottom:24px; }
  .home-selections .image-card { min-height:96px; }
  .home-selections .image-card img { height:96px; }
  .home-selections .image-label { bottom:16px; }
  .gallery img { aspect-ratio:2/1; }
  .gallery:has(.gallery-item:nth-child(6):last-child) .gallery-item:nth-child(n+3) { grid-column:span 3; }
  .case-hero .hero-content { padding-block:32px 48px; }
  .case-hero { min-height:400px; }
  .overview { padding-block:32px; }
}
@media(max-width:1199px) {
  .brand-wave { height:48px; margin-top:-48px; }
}
@media(max-width:767px) {
  .home .capability-strip { padding-inline:0; }
  .home .capability-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home .capability-strip .capability { padding:16px 6px; }
  .home .capability-strip .capability:nth-child(n+4) { border-bottom:0; }
  .home .capability-strip .capability:nth-child(3n)::after { display:none; }
  .home .capability-strip .capability .en { font-size:8px; line-height:14px; letter-spacing:.1em; }
  .case-title { text-underline-offset:8px; }
}
@media(min-width:1200px) {
  .home .brand-grid { grid-template-columns:1fr 1.3fr 1.15fr; gap:24px; }
  .home .brand-section { padding-block:20px 8px; }
  .home .brand-grid h2 { font-size:22px; line-height:1.35; }
  .home .brand-grid p { font-size:12px; line-height:1.65; }
}

/* One continuous artwork; keep the desktop brand row at intermediate widths. */
@media(min-width:768px) {
 .home .brand-grid { grid-template-columns:29fr 33fr 38fr; gap:16px; }
 .home .brand-statement { grid-column:auto; align-self:stretch; }
 .home .brand-statement strong { transform:translateX(10px) rotate(-5deg); }
 .home .brand-section { padding-block:16px 8px; }
 .home .brand-grid h2 { font-size:clamp(17px,1.5vw,22px); }
 .home .brand-grid p { font-size:12px; line-height:1.65; }
 .home .brand-grid .stats { align-self:center; }
 .home .brand-statement .en { margin-top:0; }
}
@media(max-width:767px) {
 .home .brand-statement { min-height:0; align-items:flex-start; text-align:left; padding:30px 0 8px; border-left:0; border-top:1px solid var(--border); }
 .home .brand-statement strong { margin-bottom:0; font-size:clamp(36px,10.5vw,48px); transform:rotate(-3deg); transform-origin:left center; }
 .home .brand-statement .en { width:auto; margin-top:10px; text-align:left; }
}
@media(hover:hover) and (pointer:fine) {
 .brand-more-link:hover { color:var(--brand-red); }
 .brand-more-link:hover::after { opacity:.55; transform:scaleX(.72); }
 .brand-more-link:hover span { transform:translateX(3px); }
}

@media(min-width:768px) {
 .home .brand-section { min-height:clamp(190px,14vw,260px); }
 .home .brand-grid { grid-template-columns:28fr 42fr 30fr; gap:16px; }
 .home .brand-grid .stats { padding-inline:8px; }
}

/* Expanded case panoramas: preserve full image without stretching. */
.expanded-case-hero { display:grid; min-height:0; align-items:center; }
.expanded-case-hero .hero-image { position:relative; inset:auto; width:100%; height:auto; object-fit:contain; grid-area:1 / 1; }
.expanded-case-hero .hero-content { grid-area:1 / 1; width:100%; padding-block:28px; }
.expanded-case-hero .hero-shade { z-index:0; }
.expanded-case-hero .hero-content { z-index:1; }
.expanded-case-hero h1 { max-width:620px; font-size:clamp(26px,2.8vw,40px); }
.expanded-image-note { padding:6px 20px; font-size:12px; color:var(--text-secondary); }
@media(max-width:767px) {
 .expanded-case-hero .hero-image { grid-area:2 / 1; z-index:0; }
 .expanded-case-hero .hero-shade { display:none; }
 .expanded-case-hero .hero-content { grid-area:1 / 1; }
}
/* Service overview: full-card links with clear image and action hierarchy. */
.service-overview { gap:28px; }
.service-overview article { border:0; padding:0; min-width:0; }
.service-card { display:flex; flex-direction:column; height:100%; background:var(--white); border:1px solid var(--border); border-radius:8px; overflow:hidden; box-shadow:0 3px 12px rgba(10,26,47,.035); transition:border-color 180ms ease-out,box-shadow 180ms ease-out; }
.service-card-visual { position:relative; aspect-ratio:2.5; overflow:hidden; background:var(--ink-navy); }
.service-card-visual img { width:100%; height:100%; object-fit:cover; transition:transform 240ms ease-out; }
.service-card-visual::after { content:''; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,rgba(7,19,34,.8)); }
.service-card-lead { position:absolute; z-index:1; bottom:18px; left:28px; right:24px; font-size:14px; color:#fff; }
.service-card-body { padding:28px; display:flex; flex-direction:column; flex:1; align-items:flex-start; }
.service-overview .service-card h2 { font-size:28px; margin:8px 0 14px; line-height:1.35; }
.service-card-body > p { color:var(--text-secondary); margin:0 0 24px; }
.service-card-action { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:40px; min-height:46px; padding:9px 18px; background:var(--brand-red); color:white; border-radius:4px; font-weight:600; }
.service-card-action > span { font-size:22px; line-height:1; }
.service-card:focus-visible { outline:3px solid var(--brand-red); outline-offset:4px; }
.service-card:active .service-card-action { background:var(--brand-red-hover); }
@media(hover:hover) and (pointer:fine) {
 .service-card:hover { border-color:#bac0c7; box-shadow:0 10px 28px rgba(10,26,47,.10); }
 .service-card:hover .service-card-visual img { transform:scale(1.025); }
 .service-card:hover .service-card-action { background:var(--brand-red-hover); }
}
@media(max-width:767px) {
 .service-overview { gap:24px; }
 .service-card-body { padding:22px; }
 .service-card-lead { left:22px; right:22px; bottom:14px; font-size:12px; }
 .service-overview .service-card h2 { font-size:25px; }
 .service-card-action { width:100%; }
}
