/* ================================================================
   尖刀营销 · 全站统一样式表 app.css
   顺序：全局基础 → 响应式覆盖（断点由大到小）→ 多页共用 → 页面专属
   ================================================================ */
@import "iconfont.css";
/* ===== 全局样式 ===== */
:root {
--red:#E60012;
--dark-red:#C90010;
--ink:#25272a;
--muted:#666b70;
--paper:#f0f1f2;
--line:#dcdfe2;
--max:1500px;
--i-window-height:100vh;
}
* {
box-sizing:border-box;
}
html {
scroll-behavior:smooth;
}
body {
margin:0;
background:var(--paper);
color:var(--ink);
font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
line-height:1.75;
-webkit-font-smoothing:antialiased;
}
h1,h2,h3,p {
margin:0;
}
a {
color:inherit;
text-decoration:none;
}
button {
font:inherit;
cursor:pointer;
border:0;
color:inherit;
}
img {
display:block;
max-width:100%;
}
button,a {
-webkit-tap-highlight-color:transparent;
}
a:focus-visible,button:focus-visible {
outline:3px solid var(--red);
outline-offset:4px;
}
[hidden] {
display:none!important;
}
.wrap {
width:min(calc(100% - 48px),var(--max));
margin-inline:auto;
}
.section {
padding:85px 0;
}
.section_top {
padding-top:35px;
}
.section-head {
text-align:center;
margin:0 auto 38px;
max-width:1100px;
}
.kicker {
display:inline-flex;
align-items:center;
gap:10px;
font-size:13px;
font-weight:700;
color:var(--red);
}
.kicker:before,.section-head .kicker:after {
content:"";
width:25px;
height:2px;
background:currentColor;
}
.section-head h2 {
font-size:clamp(32px,4.2vw,64px);
line-height:1.15;
margin-top:16px;
text-wrap:balance;
}
.section-head p {
max-width:760px;
margin:20px auto 0;
color:var(--muted);
font-size:15px;
}
.btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:26px;
min-height:50px;
padding:12px 23px;
border-radius:9px;
background:var(--red);
color:white;
font-size:14px;
font-weight:650;
border:1px solid transparent;
}
.btn:hover {
background:var(--dark-red);
}
.btn.outline {
background:transparent;
border-color:#aaa;
color:var(--ink);
}
.btn.white {
background:#fff;
color:var(--red)!important;
}
.center-action {
display:flex;
justify-content:center;
margin-top:34px;
}
.text-link {
display:inline-flex;
gap:16px;
color:var(--red);
font-size:13px;
font-weight:650;
}
.text-link:hover {
text-decoration:underline;
}
.note {
font-size:12px;
color:var(--muted);
text-align:center;
margin-top:24px;
}
.skip {
position:fixed;
top:-100px;
left:20px;
z-index:100;
background:white;
padding:12px;
}
.skip:focus {
top:12px;
}
video {
display:inline-block;
}
.list-paddingleft-2 {
margin-top:0;
padding-left:0;
}
.list-paddingleft-2 li {
list-style:inherit;
}
blockquote {
padding:1.2rem;
background-color:#f2f2f2;
font-family:"PingFang SC","\5FAE\8F6F\96C5\9ED1","Microsoft YaHei","微软雅黑";
font-size:var(--font-16);
border-left:0.4rem solid var(--font-active-color);
display:flex;
align-items:center;
margin-bottom:1.6rem;
}
blockquote p {
margin:0 !important;
}
p+blockquote {
margin-top:1.2rem;
}
.img_animate {
position:relative;
overflow:hidden;
display:block;
width:100%;
}
.img_animate img {
display:block;
width:100%;
height:100%;
object-fit:cover;
position:absolute;
left:0;
top:0;
transition:all 0.5s ease-in-out 0s;
}
.img_animate.contain img {
object-fit:contain;
}
.img_animate:hover img {
transform:scale(1.02);
}
.picture-hover-animate {
display:block;
position:relative;
overflow:hidden;
}
.picture-hover-animate:after {
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
display:block;
visibility:visible;
width:16rem;
height:16rem;
margin:auto;
content:'';
transition:all 0.6s ease-in-out;
transform:scale(6);
opacity:1;
border:8rem solid rgba(0,0,0,0.1);
border-radius:8rem;
}
.picture-hover-animate:hover:after {
visibility:hidden;
opacity:0;
border:0 solid rgba(0,0,0,0.1);
}
.lazy_preloader {
width:32px;
height:32px;
position:absolute;
left:50%;
top:50%;
margin-left:-16px;
margin-top:-16px;
z-index:10;
box-sizing:border-box;
border:4px solid #000;
border-radius:50%;
border-top-color:transparent;
transform-origin:50%;
animation:preloader-spin 1s infinite linear;
}
@keyframes preloader-spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
.slide_img_down::after,.slide_img_right::after {
display:block;
content:" ";
position:absolute;
left:0;
bottom:0;
width:100%;
height:100%;
background:#fff;
z-index:99;
}
.slide_img_down_active::after {
height:0;
transition:all 1s cubic-bezier(0.4,0,0.2,1);
}
.slide_img_right_active::after {
width:0;
transition:all 1s cubic-bezier(0.4,0,0.2,1);
}
.fade_in,.fade_in_left,.fade_in_right,.fade_in_up,.fade_in_down,.slide_in_up,.zoom_in_up {
opacity:0;
}
.animate__animated {
opacity:1;
}
input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill {
-webkit-box-shadow:0 0 0 100rem white inset;
}
.layui-input:focus,.layui-textarea:focus {
border-color:var(--font-active-color) !important;
box-shadow:0 0 0 0.3rem rgba(22,183,119,0.08);
}
.layui-layer-photos-prev,.layui-layer-photos-next {
color:rgba(0,0,0,0.6) !important;
transform:scale(1);
background:#787878;
color:#fff !important;
border-radius:50%;
font-size:var(--font-20) !important;
display:flex;
justify-content:center;
align-items:center;
width:4rem!important;
height:4rem !important;
}
.layui-layer-photos-toolbar h3 {
display:inline-block;
margin:0;
font-size:var(--font-12);
}
.layui-layer-photos-toolbar a {
display:none;
}
.layer-layer-photos-main img {
background-color:#fff;
}
.skin_qrcode{width:320px;}
.skin_qrcode .layui-layer-content{text-align:center;padding:10px 10px 20px;}
.skin_qrcode img{width:100%;margin:0 auto 10px;}
.header {
position:sticky;
top: 0;
left: 0;
inset:0 0 auto;
background:var(--red);
color:white;
z-index:40;
}
.header.scrolled {
background:var(--dark-red);
box-shadow:0 8px 25px #4e000c28;
box-shadow:0 6px 22px #00000012;
}
.header-inner {
height:76px;
display:flex;
align-items:center;
gap:25px;
}
.brand {
display:flex;
align-items:center;
gap:17px;
margin-right:auto;
flex-shrink:0;
}
.brand img {
width:137px;
filter:brightness(0) invert(1);
}
.brand span {
font-size:14px;
border-left:1px solid #ffffff65;
padding-left:15px;
border-color:#c9c9c9;
color:#111;
}
.nav {
display:flex;
gap:20px;
font-size:16px;
white-space:nowrap;
}
.nav a {
position:relative;
padding:15px 0;
color:#111;
}

.nav a.active {
color:var(--red);
}
.nav a.active:after {
display:block;
content:"";
position:absolute;
bottom:8px;
left:0;
right:0;
height:2px;
background:var(--red);
display:none;
}
.nav a:hover {
color:var(--red);
}
.header-contact,.menu-toggle {
background:none;
border:1px solid #ffadb3;
padding:9px 15px;
border-radius:7px;
color:white;
font-size:14px;
white-space:nowrap;
border-color:#b5b5b5;
color:#111;
}
.menu-toggle {
display:none;
min-height:42px;
}
.header a:focus-visible,.header button:focus-visible {
outline-color:white;
outline-color:var(--red);
}
body.menu-open,body.modal-open {
overflow:hidden;
}
.hero {
height:min(900px,100svh);
min-height:650px;
background:#150306;
position:relative;
overflow:hidden;
color:white;
}
.hero-slide {
position:absolute;
inset:0;
}
.hero-slide>img {
width:100%;
height:100%;
object-fit:cover;
object-position:center;
}
.hero-shade {
position:absolute;
inset:0;
background:linear-gradient(90deg,#15030685,transparent 75%);
}
.hero-content {
position:absolute;
inset:0;
display:flex;
align-items:center;
padding:150px 0 100px;
}
.hero-copy {
max-width:920px;
}
.hero .kicker {
font-size:16px;
color:white;
}
.hero h1 {
font-size:clamp(42px,5.7vw,82px);
line-height:1.3;
font-weight:750;
letter-spacing:-.04em;
margin:20px 0 25px;
}
.hero h1 span {
display:block;
white-space:nowrap;
}
.hero h1 .accent {
color:#ff676c;
}
.hero-lead {
max-width:610px;
font-size:16px;
color:#e4d7d9;
margin-bottom:28px;
}
.hero-actions {
display:flex;
gap:14px;
flex-wrap:wrap;
}
.hero-actions .outline {
color:white;
border-color:#ffffff85;
}
.hero-caption {
position:absolute;
bottom:88px;
left:50%;
transform:translateX(-50%);
background:#25272ad9;
padding:9px 18px;
border-radius:8px;
font-size:13px;
color:#fff;
white-space:nowrap;
}
.hero-slide.project {
background:#eceef0;
padding-top:76px;
padding-bottom:85px;
}
.hero-slide.project>img {
object-fit:contain;
}
.hero-controls {
width:max-content;
position:absolute;
bottom:22px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:3px;
align-items:center;
}
.hero-dot {
width:38px;
height:38px;
display:grid;
place-items:center;
background:transparent;
}
.hero-dot:after {
content:"";
width:11px;
height:11px;
border:1px solid #fff;
border-radius:50%;
background:#ffffff55;
box-shadow:0 1px 6px #0007;
}
.hero-dot[aria-pressed=true]:after {
background:white;
}
.hero-play {
white-space:nowrap;
background:#25272ad9;
color:white;
padding:7px 13px;
border:1px solid #ffffff50;
border-radius:6px;
font-size:11px;
margin-left:10px;
}
.hero-dot:focus-visible,.hero-play:focus-visible {
outline-color:white;
}
.index_banner_swiper {
position:relative;
}
.index_banner_swiper .swiper-slide,.banner {
overflow:hidden;
-webkit-user-select:none !important;
user-select:none !important;
position:relative;
}
.index_banner_swiper .swiper-slide::before {
display: block;
content:'';
padding-bottom: calc(var(--i-window-height) - 76px);
}
.banner::before {
display: block;
content:'';
padding-bottom: 42.71%;
}
.index_banner_swiper .swiper-slide picture,.index_banner_swiper .swiper-slide .img ,.banner img {
display:block;
width:100%;
height:100%;
position:absolute;
left:0;
top:0;
object-fit:cover;
z-index:1;
overflow:hidden;
object-fit:cover;
object-position:center;
}
.index_banner_swiper .swiper-slide .hero-content,.banner .hero-content {
position:absolute;
inset-block:0;
left:0;
right:0;
display:flex;
align-items:center;
padding-block:140px 100px;
z-index:1;
color:#fff;
}
.index_banner_swiper .swiper-slide .kicker,.banner .kicker {
font-size:16px;
color:white;
}
.index_banner_swiper .swiper-slide .hero-content h1 {
font-size:clamp(48px,6.7vw,90px);
font-weight:750;
line-height:1.3;
margin:20px 0 32px;
}
.banner .hero-content h1 {
font-size:clamp(36px,5.7vw,80px);
line-height:1.3;
text-wrap:balance;
font-weight:750;
margin:20px 0 32px;
}
.index_banner_swiper .swiper-slide h1 span,.banner h1 span {
color:#ff676c;
}
.index_banner_swiper .swiper-slide .hero-subtitle ,.banner .hero-subtitle {
max-width:78%;
color:#eee1e1;
font-size:16px;
line-height:1.9;
margin:-10px 0 30px;
}
.index_banner_swiper .index_banner_pagination {
position:absolute;
bottom:28px;
width:100%;
display:flex;
justify-content:center;
gap:5px;
z-index:100;
}
.index_banner_swiper .index_banner_pagination .swiper-pagination-bullet {
background:rgba(0,0,0,.3);
border:rgba(255,255,255,.7) solid 1px;
opacity:1;
width:12px;
height:12px;
}
.index_banner_swiper .index_banner_pagination .swiper-pagination-bullet-active {
background: #fff !important;
}
.index_banner_prev,.index_banner_next {
width:calc((100vw - var(--max)) / 2);
height:100%;
position:absolute;
left:0;
top:0;
z-index:5;
cursor:none;
overflow:hidden;
}
.index_banner_next {
left:auto;
right:0;
}
.index_banner_prev span,.index_banner_next span {
display:block;
position:absolute;
right:0;
bottom:0;
width:2vw;
height:2vw;
background-image:url(../img/cursor.svg);
background-size:contain;
background-repeat:no-repeat;
background-position:center;
opacity:0;
}
.index_banner_next span {
transform:rotate(180deg);
}
.cases-section {
background:#fafafa;
}
.case-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:0;
width:calc(100% - 72px);
margin-inline:36px;
grid-template-columns:repeat(2,minmax(0,1fr));
width:min(calc(100% - 48px),var(--max));
margin-inline:auto;
gap:38px 30px;
gap:30px;
}
.case-card {
min-width:0;
display:flex;
flex-direction:column;
background:#f0f1f2;
overflow:hidden;
border:1px solid var(--line);
border:0;
background:none;
}
.case-open {
display:block;
background:#e8eaed;
position:relative;
width:100%;
padding:0;
overflow:hidden;
text-align:left;
aspect-ratio:1/1;
aspect-ratio:4/3;
}
.case-open img {
width:100%;
height:100%;
object-fit:contain;
transition:transform .4s;
}
.case-open:hover img {
transform:scale(1.03);
}
.case-image-label {
position:absolute;
bottom:0;
left:0;
right:0;
padding:18px 23px;
background:linear-gradient(transparent,#25272adb);
color:white;
display:flex;
justify-content:space-between;
align-items:center;
}
.case-image-label strong {
font-size:23px;
}
.case-image-label span {
font-size:12px;
}
.case-copy {
padding:26px 27px;
padding:24px 28px;
flex:1;
}
.category {
font-size:11px;
color:var(--red);
}
.case-copy h3 {
font-size:23px;
line-height:1.45;
margin:10px 0 17px;
}
.case-copy p {
font-size:13px;
color:var(--muted);
margin:10px 0;
}
.case-copy p b {
display:block;
color:var(--ink);
font-size:12px;
margin-bottom:3px;
}
.case-copy .text-link {
margin-top:13px;
background:none;
padding:0;
margin-top:0;
}
.filters {
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
margin-bottom:30px;
}
.filter {
padding:7px 18px;
background:transparent;
border:1px solid #c8cbd0;
border-radius:999px;
font-size:12px;
}
.filter[aria-pressed=true] {
background:var(--red);
border-color:var(--red);
color:#fff;
}
.service-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:20px;
}
.service-card {
display:block;
padding:29px 27px;
border:1px solid var(--line);
border-radius:16px;
background:#fafafa;
position:relative;
}
.service-card:hover {
border-color:var(--red);
}
.service-icon {
color:var(--red);
width:66px;
height:66px;
margin-bottom:20px;
stroke:currentColor;
fill:none;
stroke-width:3;
stroke-linecap:round;
stroke-linejoin:round;
}
.service-number {
position:absolute;
top:28px;
right:27px;
font:600 24px Arial;
color:var(--red);
}
.service-card h3 {
font-size:26px;
line-height:1.4;
font-size:26px;
}
.service-card p {
font-size:14px;
color:var(--muted);
margin:12px 0 20px;
font-size:14px;
color:#454b52;
margin:12px 0 18px;
}
.service-card .text-link {
font-size:12px;
}
.service-extra {
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
margin-top:28px;
}
.service-extra span {
font-size:12px;
border:1px solid #c8cbd0;
padding:6px 15px;
border-radius:99px;
background:var(--red);
border-color:var(--red);
color:#fff;
}
.method-section {
background:var(--red);
color:white;
}
.method-section .kicker,.method-section .section-head p {
color:#fff;
}
.word-pair {
display:grid;
grid-template-columns:1fr 1fr;
gap:24px;
}
.word-card {
display:flex;
gap:25px;
background:#fff;
color:var(--ink);
padding:35px;
border-radius:18px;
align-items:center;
}
.word-character {
font-size:100px;
font-weight:750;
color:var(--red);
line-height:1.1;
flex-shrink:0;
}
.word-card h3 {
font-size:25px;
margin-bottom:12px;
}
.word-card p {
font-size:14px;
color:var(--muted);
font-size:18px;
line-height:1.8;
}
.method-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:0 32px;
margin-top:38px;
}
.method-item {
border-top:1px solid #ffffff55;
padding:24px 0;
}
.method-item small {
font-size:11px;
color:#ffc1c7;
font-size:20px;
line-height:1.5;
font-size:28px;
font-weight:700;
}
.method-item h3 {
font-size:23px;
margin:8px 0;
}
.method-item p {
font-size:13px;
color:#ffe4e7;
font-size:16px;
line-height:1.85;
}
.method-bottom {
text-align:center;
font-size:21px;
margin-top:24px;
font-size:24px;
line-height:1.7;
}
.team-section {
background:#fafafa;
}
.team-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px;
}
.team-card {
border:1px solid var(--line);
border-radius:16px;
overflow:hidden;
background:#fff;
}
.team-photo {
aspect-ratio:1;
background:#282828;
overflow:hidden;
}
.team-photo img {
width:100%;
height:100%;
object-fit:cover;
}
.team-copy {
padding:25px 27px;
}
.team-copy h3 {
font-size:26px;
line-height:1.4;
}
.team-copy h3 small {
font-size:12px;
font-weight:500;
color:var(--red);
margin-right:10px;
font-size:inherit;
font-weight:inherit;
}
.team-copy .role {
font-size:13px;
margin:12px 0;
color:var(--ink);
}
.team-copy p {
font-size:13px;
color:var(--muted);
}
.experience-strip {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px;
border-top:1px solid var(--line);
margin-top:36px;
padding-top:26px;
border-top:0;
}
.experience-strip strong {
font-size:18px;
color:var(--red);
font-size:28px;
line-height:1.4;
}
.experience-strip p {
font-size:13px;
color:var(--muted);
margin-top:8px;
}
.process-section {
background:#120a0c;
color:white;
position:relative;
isolation:isolate;
}
.process-section:before {
content:"";
position:absolute;
inset:0;
background:linear-gradient(#101317b3,#101317db),var(--process-art) center/cover;
z-index:-1;
}
.process-section .kicker {
color:#fff;
}
.process-section .section-head p {
color:#c5cbd1;
}
.flow {
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:24px;
margin-top:46px;
}
.flow article {
border-left:1px solid #ffffff40;
padding-left:20px;
display:flex;
flex-direction:column;
align-items:flex-start;
}
.flow article:first-child {
border:0;
padding-left:0;
}
.flow .step {
display:inline-block;
background:var(--red);
border-radius:99px;
font-size:11px;
padding:3px 12px;
flex:none;
}
.flow strong {
display:block;
font:500 64px/1.2 Arial;
color:#f46a74;
margin:18px 0;
flex:none;
}
.flow h3 {
font-size:23px;
margin-bottom:15px;
min-height:65px;
}
.flow p {
font-size:13px;
color:#c5cbd1;
font-size:18px;
line-height:1.85;
flex:1;
}
.flow small {
display:block;
font-size:11px;
color:#f6a9af;
border-top:1px solid #ffffff30;
margin-top:20px;
padding-top:13px;
align-self:stretch;
font-size:12px;
margin-top:22px;
min-height:36px;
}
.process-section .note {
color:#aab1bb;
}
.insights-layout {
display:grid;
grid-template-columns:1fr 1fr;
gap:42px;
align-items:stretch;
}
.insights-art {
position:relative;
aspect-ratio:6/5;
background:#160002;
overflow:hidden;
}
.insights-art img {
width:100%;
height:100%;
object-fit:cover;
}
.article-list {
display:grid;
grid-template-rows:repeat(5,1fr);
border-top:1px solid #bcc2c8;
}
.article-row {
display:flex;
align-items:center;
gap:18px;
width:100%;
padding:14px 0;
background:transparent;
border-bottom:1px solid #bcc2c8;
text-align:left;
}
.article-row:hover {
background:#e7e9ec;
}
.article-number {
font:13px Arial;
color:var(--red);
width:23px;
flex-shrink:0;
}
.article-copy {
flex:1;
min-width:0;
}
.article-copy small {
font-size:10px;
color:var(--red);
}
.article-copy h3 {
font-size:17px;
line-height:1.6;
font-weight:550;
margin-top:3px;
}
.article-arrow {
font-size:20px;
color:#90979e;
}
.contact-section {
background:#fff;
}
.contact-grid {
display:grid;
grid-template-columns:1.1fr 1fr;
gap:70px;
align-items:center;
}
.contact-copy h2 {
font-size:clamp(32px,4.2vw,60px);
line-height:1.2;
margin:18px 0 22px;
font-size:clamp(32px,3.5vw,50px);
max-width:100%;
font-size:clamp(30px,3.1vw,46px);
text-wrap:balance;
white-space:nowrap;
font-size:clamp(26px,2.05vw,36px);
text-wrap:nowrap;
}
.contact-copy p {
font-size:15px;
color:var(--muted);
}
.contact-topics {
display:flex;
gap:9px;
flex-wrap:wrap;
margin-top:25px;
}
.contact-topics span {
border:1px solid var(--line);
border-radius:99px;
padding:5px 13px;
font-size:12px;
}
.contact-card {
padding:32px;
border:1px solid var(--line);
border-radius:18px;
display:grid;
grid-template-columns:1fr 150px;
gap:24px;
background:var(--paper);
}
.phone {
font:500 30px Arial;
color:var(--red);
display:block;
margin:13px 0 18px;
white-space:nowrap;
}
.contact-card .email {
font-size:13px;
display:block;
margin-bottom:23px;
}
.contact-card small {
font-size:12px;
color:var(--muted);
}
.qr {
margin:0;
text-align:center;
font-size:11px;
}
.qr img {
width:150px;
aspect-ratio:1;
object-fit:contain;
background:white;
padding:8px;
border-radius:10px;
}
.qr figcaption {
margin-top:10px;
}
.office {
grid-column:1/-1;
border-top:1px solid #d1d4d8;
padding-top:20px;
font-size:12px;
color:var(--muted);
}
.footer {
background:#25272a;
color:#c8cdd2;
padding:48px 0 26px;
background:#666;
color:#fff;
padding:55px 0 25px;
background:var(--red);
color:#fff;
}
.footer-row {
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
font-size:12px;
}
.footer-brand img {
width:120px;
filter:brightness(0) invert(1);
margin-bottom:18px;
}
.footer-links {
display:flex;
gap:22px;
flex-wrap:wrap;
}
.footer a:hover {
color:#fff;
}
.footer-bottom {
border-top:1px solid rgba(255,255,255,.25);
margin-top:30px;
padding-top:22px;
font-size:11px;
display:flex;
justify-content:space-between;
gap:24px;
display:flex;
justify-content:space-between;
flex-wrap:wrap;
gap:24px;
font-size:11px;
}
.back-top {
position:fixed;
right:20px;
bottom:20px;
z-index:80;
width:44px;
height:44px;
border-radius:50%;
background:var(--dark-red);
color:white;
box-shadow:0 4px 14px #6d001224;
font-size:22px;
}
.mobile-bar {
display:none;
}
dialog {
border:0;
border-radius:18px;
padding:0;
width:850px;
max-width:calc(100% - 32px);
max-height:calc(100svh - 48px);
color:var(--ink);
background:#fafafa;
box-shadow:0 20px 80px #0004;
}
.dialog-inner {
padding: 33px;
}
dialog::backdrop {
background:#17191bcc;
backdrop-filter:blur(5px);
}
.dialog-head {
display:flex;
align-items:center;
justify-content:space-between;
padding:18px 28px;
position:sticky;
top:0;
background:#fafafa;
border-bottom:1px solid var(--line);
z-index:1;
font-size:12px;
color:var(--muted);
}
.dialog-head button {
width:38px;
height:38px;
border-radius:50%;
font-size:26px;
background:#e9ebed;
}
.dialog-body {
padding:28px;
}
.dialog-body h2 {
font-size:30px;
line-height:1.4;
margin:10px 0 22px;
}
.dialog-body h3 {
font-size:20px;
margin:25px 0 10px;
}
.dialog-body p {
font-size:15px;
color:var(--muted);
}
.dialog-image {
width:100%;
max-height:360px;
object-fit:contain;
background:#eceef0;
border-radius:10px;
}
.dialog-foot {
font-size:12px;
color:var(--muted);
border-top:1px solid var(--line);
margin-top:28px;
padding-top:18px;
}
.dialog-title {
display: flex;
justify-content: space-between;
align-items: center;
gap: 18px;
}
.privacy-text .article_box {
margin-top: 30px;
}
.close-dialog {
position: relative !important;
width: 36px;
height: 36px;
flex-shrink: 0;
background: none;
font-size: 32px;
display: flex;
align-items: center;
justify-content: center;
}
.case-principle {
padding:30px 30px 26px;
background:#fff;
text-align:center;
display:block;
width:100%;
padding:34px 24px;
background:transparent;
}
.case-principle h3 {
font-size:38px;
line-height:1.3;
color:var(--red);
margin-bottom:16px;
font-size:42px;
color:var(--red);
margin-bottom:23px;
}
.case-principle p {
font-size:15px;
color:var(--muted);
line-height:1.85;
font-size:18px;
line-height:1.9;
color:#454b52;
}
.case-copy .case-judgment {
font-size:14px;
line-height:1.85;
margin:10px 0 16px;
}
.service-intro-line {
display:block;
display:inline;
}
.team-photo-pending {
background:#e9ecef;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
color:#7a828c;
gap:12px;
}
.team-photo-pending svg {
width:105px;
height:105px;
fill:none;
stroke:#a2a9b1;
stroke-width:2;
}
.team-photo-pending strong {
font-size:26px;
font-weight:500;
}
.team-photo-pending span {
font-size:12px;
font-family:Arial,sans-serif;
}
.method-section .section-head h2 {
max-width:1050px;
margin-inline:auto;
}
.header,.header.scrolled {
background:#eee;
color:#111;
background:#eee;
}
.header .brand img {
filter:url(#logo-brand-red);
}

.header-contact:hover,.menu-toggle:hover {
background:#ddd;
color:#111;
}
.concept-placeholder {
aspect-ratio:1/1;
display:grid;
place-items:center;
background:#dfe3e7;
border:1px dashed #afb7bf;
color:var(--ink);
position:relative;
isolation:isolate;
display:flex;
align-items:flex-end;
justify-content:flex-start;
}
.concept-placeholder:before,.service-image-placeholder:before {
content:"";
position:absolute;
inset:0;
background:linear-gradient(145deg,#ffffff30,transparent 65%);
z-index:-1;
pointer-events:none;
}
.case-principle p span {
display:block;
}
.image-dimension {
position:absolute;
top:18px;
left:20px;
font:12px/1.6 Arial,sans-serif;
color:#69747e;
letter-spacing:.02em;
}
.concept-placeholder:hover,.service-image-placeholder:hover {
border-color:var(--red);
}
.service-image-placeholder {
aspect-ratio:4/3;
display:flex;
align-items:flex-end;
background:#dfe3e7;
position:relative;
isolation:isolate;
overflow:hidden;
border:1px dashed #afb7bf;
padding:28px 27px;
border-radius:0;
aspect-ratio:1/1;
}
.service-overlay {
position:relative;
width:100%;
}
.service-intro-line+.service-intro-line:before {
content:"　";
}
.footer-top {
display:grid;
grid-template-columns:1.1fr .65fr 1.15fr .65fr;
gap:40px;
}
.footer-logo {
width:139px;
margin-bottom:24px;
}
.footer-intro h2 {
font-size:25px;
line-height:1.4;
}
.footer-intro p,.footer-contact p {
font-size:12px;
line-height:1.9;
margin-top:15px;
color:#fff;
}
.footer-nav {
display:flex;
flex-direction:column;
align-items:flex-start;
gap:8px;
font-size:13px;
}
.footer-top h3 {
font-size:15px;
margin-bottom:13px;
}
.footer-contact .phone {
color:#fff;
font-size:24px;
margin:0 0 18px;
}
.footer-contact .text-link {
color:#fff;
margin-top:20px;
}
.footer-wechat {
max-width:200px;
}
.qr-image-wrap {
background:#fff;
padding:8px;
border-radius:10px;
}
.qr-image-wrap img {
width:100%;
height:auto;
}
.footer-wechat p {
font-size:12px;
text-align:center;
margin-top:12px;
}
.footer-bottom button {
font-size:inherit;
padding:0;
background:none;
color:inherit;
}
/*
laypage
*/
#laypage {
width:100%;
padding:0;
grid-column:1 / -1;
}
#laypage .layui-laypage-default {
margin-top:30px;
width:100%;
}
.layui-laypage-default {
display:flex;
justify-content:center;
align-items:center;
margin:30px 0 0;
}
.layui-laypage-default a {
width:32px;
height:32px;
padding:0;
margin:0 8px;
border-radius:50% !important;
display:flex;
align-items:center;
justify-content:center;
}
.layui-laypage-default a:hover {
color:var(--red);
}
.layui-laypage-default a.page-num {
padding:0;
}
.layui-laypage-default a.page-num-current {
background-color:var(--red);
color:#fff;
border:none;
}
.layui-laypage-default span {
width:32px;
height:32px;
margin:0;
margin:0 8px;
padding:0;
border:none;
color:var(--font-color);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
}
.layui-laypage-default .layui-laypage-curr .layui-laypage-em {
background-color:var(--red);
left:0;
top:0;
padding:0;
border-radius:50% !important;
}
.error_x {
padding:30px 0;
display:flex;
justify-content:center;
align-items:center;
width:100%;
grid-column:1 / -1;
font-size:14px;
}
.error_x i {
margin-right:5px;
font-size:16px;
color:var(--red);
}
.layui-flow-more {
width:100%;
margin:30px auto 0;
grid-column:1 / -1;
}
.layui-flow-more a cite {
padding:5px 50px;
background-color:var(--dark-red);
color:#fff;
border-radius:9px;
}
.layui-flow-more a cite i {
font-size:18px;
color:#fff;
}
.contact_from .layui-form-item {
margin:0;
position:relative;
}
.contact_from .layui-form-item .layui-textarea {
resize:none;
}
.lay-textarea-word-limit {
position:absolute;
right:8px;
bottom:5px;
color:#5f5f5f;
font-size:10px;
user-select:none;
line-height:1.6;
}
.layui-fixbar {
margin:0;
padding:0;
font-size:18px;
}
.layui-fixbar li {
width:44px;
height:44px;
line-height:inherit;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
position:relative;
background-color:var(--dark-red);
color:#fff;
margin-top:5px;
font-size:16px;
display:flex;
flex-direction:column;
align-items:center;
line-height:1.4;
font-family:Arial,Helvetica,sans-serif !important;
}
.layui-fixbar .fonttop {
margin-top:5px;
overflow:hidden;
box-shadow:0 4px 14px #6d001224;
}
.layui-fixbar li:before {
font-size:18px;
line-height:1;
font-family:'iconfont' !important;
}
.layui-fixbar .layui-fixbar-top:before {
font-size:20px;
height:44px;
height:44px;
display:flex;
align-items:center;
justify-content:center;
}
.article_box h1 {
font-size:32px;
font-weight: bold;
}
.article_box h2 {
font-size:24px;
font-weight: bold;
}
.article_box h3 {
font-size:19px;
font-weight: bold;
}
.article_box h4 {
font-size:16px;
font-weight: bold;
}
.article_box h5 {
font-size:14px;
font-weight: bold;
}
.article_box h6 {
font-size:12px;
font-weight: bold;
}
.article_box p, .article_box h1,.article_box h2,.article_box h3,.article_box h4,.article_box h5,.article_box h6 {
margin-bottom: 16px;
}
.concept-placeholder .case-principle {
width:100%;
text-align:left;
padding:40px;
position:relative;
z-index:1;
}
.concept-placeholder .case-principle h3,.concept-placeholder .case-principle p,.concept-placeholder .case-principle p span,.concept-placeholder .image-dimension {
color:#fff;
}
.concept-placeholder:before {
background:linear-gradient(180deg,transparent 35%,#343c4659 100%);
}
.header-contact {
border-color:var(--red);
}
.service-overlay p {
margin-bottom:0;
}
.stats-section {
padding:64px 0 45px;
background:#fafafa;
}
.stats-grid {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:35px;
}
.stats-grid article {
position:relative;
padding:6px 0;
}
.stats-grid article+article:before {
content:"";
position:absolute;
left:-18px;
top:12px;
bottom:9px;
width:1px;
background:#d7d9dd;
}
.stat-value {
display:flex;
align-items:baseline;
gap:6px;
line-height:1;
}
.stat-value strong {
display:inline-flex;
align-items:baseline;
font-family:Arial,sans-serif;
font-size:clamp(54px,6.5vw,98px);
font-weight:600;
line-height:1;
font-variant-numeric:tabular-nums;
color:var(--counter-color);
}
.stat-value>span {
font-size:20px;
color:#64696f;
}
.stats-grid h3 {
font-size:16px;
font-weight:550;
margin-top:18px;
}
.stats-grid article:nth-child(1) {
--counter-color:#E60012;
}
.stats-grid article:nth-child(2) {
--counter-color:#B81830;
}
.stats-grid article:nth-child(3) {
--counter-color:#D64F58;
}
.stats-grid article:nth-child(4) {
--counter-color:#8D2234;
}
.counter-reel {
display:inline-block;
overflow:hidden;
height:1em;
line-height:1;
width:.56em;
vertical-align:bottom;
}
.counter-track {
display:block;
transform:translateY(0);
transition:transform 1.8s cubic-bezier(.18,.78,.25,1);
will-change:transform;
}
.counter-digit {
display:block;
height:1em;
line-height:1;
text-align:center;
}
.counter-suffix {
display:inline-block;
line-height:1;
}
.stat-value .counter-reel,.stat-value .counter-track,.stat-value .counter-digit,.stat-value .counter-suffix {
font-size:inherit;
color:inherit;
}
#cases .center-action .btn.outline {
background:var(--red);
border-color:var(--red);
color:#fff;
}
#cases .center-action .btn.outline:hover {
background:var(--dark-red);
border-color:var(--dark-red);
color:#fff;
}
.word-image-slot {
width:110px;
aspect-ratio:1/1;
flex:0 0 110px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
border:1px dashed #b6bec6;
background:#edf0f2;
color:#7a838c;
text-align:center;
font:12px/1.7 Arial,sans-serif;
gap:6px;
}
.word-image-slot small {
font-size:12px;
}
.footer-wechat .qr-image-wrap img {
filter:grayscale(1) brightness(.65) contrast(100);
}
.contact-copy h2>span {
display:block;
}
.header .brand,.header .brand:focus,.header .brand:focus-visible {
outline:none;
box-shadow:none;
border:0;
}
.header .brand:focus-visible img {
opacity:.75;
}
.method-item:nth-child(-n+3) {
border-top:0;
}
.contact-card .qr img {
filter:grayscale(1) brightness(.65) contrast(100) opacity(.8);
}
.footer .footer-logo {
filter:brightness(0) invert(1);
}
.contact-phone-options {
position:relative;
margin-top:0;
min-height:50px;
}
.contact-phone-options>summary {
list-style:none;
cursor:pointer;
width:122px;
white-space:nowrap;
padding:12px 16px;
}
.contact-phone-options>summary::-webkit-details-marker {
display:none;
}
.contact-phone-options>summary:focus-visible {
outline:3px solid var(--red);
outline-offset:4px;
}
.contact-phone-list {
position:absolute;
left:136px;
top:50%;
transform:translateY(-50%);
display:grid;
gap:8px;
}
.contact-phone-list a {
font:600 16px/1.4 Arial,sans-serif;
color:var(--red);
white-space:nowrap;
}
.contact-phone-list a:hover {
color:var(--dark-red);
}
body.secondary {
background:var(--paper);
}

.secondary .header-contact[aria-current=page] {
color:var(--red);
}
.sub-hero {
height:760px;
min-height:560px;
position:relative;
color:#fff;
display:flex;
align-items:center;
background:#160206;
isolation:isolate;
padding:150px 0 90px;
}
.sub-hero>img {
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:-2;
}
.sub-hero:after {
content:"";
position:absolute;
inset:0;
z-index:-1;
background:linear-gradient(90deg,#140206a8,transparent 85%);
}
.sub-hero .kicker {
color:#fff;
}
.sub-hero h1 {
font-size:clamp(44px,4.5vw,76px);
line-height:1.25;
max-width:940px;
margin:20px 0 27px;
letter-spacing:-.035em;
}
.sub-hero h1 span {
color:#ff737b;
}
.sub-hero p {
font-size:17px;
max-width:650px;
color:#e4d7d9;
margin:0 0 30px;
}
.sub-bar {
background:#fff;
border-bottom:1px solid var(--line);
position:sticky;
top:76px;
z-index:25;
}
.sub-bar .wrap {
display:flex;
align-items:center;
justify-content:space-between;
gap:25px;
min-height:65px;
}
.breadcrumbs {
font-size:12px;
color:#6c7177;
white-space:nowrap;
}
.sub-links {
display:flex;
gap:27px;
font-size:13px;
overflow:auto;
white-space:nowrap;
}
.sub-links a {
padding:18px 0;
}
.sub-links a:hover {
color:var(--red);
}
.secondary section[id] {
scroll-margin-top:162px;
}
.sub-white {
background:#fff;
}
.sub-paper {
background:var(--paper);
}
.sub-red {
background:var(--red);
color:#fff;
}
.sub-red .kicker,.sub-red .section-head p {
color:#fff;
}
.sub-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px;
}
.sub-card {
background:#fff;
border:1px solid var(--line);
padding:30px;
border-radius:16px;
min-width:0;
}
.sub-card .num {
font:700 28px Arial;
color:var(--red);
display:block;
margin-bottom:20px;
}
.sub-card h3 {
font-size:25px;
line-height:1.4;
margin-bottom:16px;
}
.sub-card p,.sub-card li {
font-size:16px;
line-height:1.85;
color:var(--muted);
}
.sub-card ul {
padding-left:1.1em;
margin:16px 0 0;
}
.sub-card a {
margin-top:20px;
}
.service-jumps {
display:grid;
grid-template-columns:repeat(6,1fr);
gap:12px;
}
.service-jumps a {
padding:20px 12px;
background:var(--paper);
border:1px solid var(--line);
text-align:center;
border-radius:10px;
font-size:15px;
}
.service-jumps a:hover {
color:var(--red);
border-color:var(--red);
}
.service-jumps b {
display:block;
font:700 26px Arial;
color:var(--red);
margin-bottom:10px;
}
.split {
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}
.split.reverse .split-art {
order:2;
}
.split-art {
aspect-ratio:1;
background:#e0e4e8;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
border:1px dashed #acb5be;
color:#7b8792;
gap:10px;
font-size:13px;
overflow:hidden;
}
.split-art img {
width:100%;
height:100%;
object-fit:contain;
}
.split-copy .kicker {
margin-bottom:12px;
}
.split-copy h2 {
font-size:clamp(34px,3.3vw,54px);
line-height:1.2;
margin:5px 0 20px;
}
.split-copy>p {
font-size:17px;
line-height:1.9;
color:var(--muted);
}
.split-copy h3 {
font-size:18px;
margin:25px 0 8px;
}
.split-copy ul {
padding-left:1.15em;
font-size:16px;
color:var(--muted);
line-height:1.9;
}
.deliver {
border-left:3px solid var(--red);
padding-left:18px;
margin:25px 0;
}
.deliver p {
font-size:15px;
color:var(--muted);
}
.page-cta {
text-align:center;
padding:65px 0;
background:var(--red);
color:#fff;
}
.page-cta h2 {
font-size:clamp(30px,3.5vw,52px);
line-height:1.3;
}
.page-cta p {
margin:18px auto 25px;
font-size:16px;
max-width:680px;
}
.page-cta .btn {
background:#fff;
color:var(--red);
}
.secondary .case-grid {
width:100%;
grid-template-columns:repeat(2,minmax(0,1fr));
margin:0;
gap:30px;
}
.project-card {
background:#fff;
border:1px solid var(--line);
}
.project-card>a {
display:block;
}
.project-art {
aspect-ratio:1;
overflow:hidden;
background:#e3e7ea;
}
.project-art img {
width:100%;
height:100%;
object-fit:contain;
transition:transform .3s;
}
.project-card:hover img {
transform:scale(1.025);
}
.project-info {
padding:27px;
}
.project-info small {
font-size:12px;
color:var(--red);
}
.project-info h3 {
font-size:28px;
margin:9px 0 12px;
}
.project-info p {
font-size:15px;
color:var(--muted);
}
.project-info .text-link {
margin-top:20px;
}
.filter-bar {
display:flex;
align-items:center;
gap:12px;
flex-wrap:wrap;
justify-content: center;
margin-bottom:30px;
}
.filter-bar button ,.filter-bar a {
background:#fff;
border:1px solid var(--line);
border-radius:99px;
padding:9px 20px;
font-size:13px;
}
.filter-bar button[aria-pressed=true] ,.filter-bar a[aria-pressed=true]  {
background:var(--red);
color:#fff;
border-color:var(--red);
}
.filter-bar input {
margin-left:auto;
padding:10px 14px;
font:inherit;
width:260px;
}
.news-search-form {
width:100%;
margin:0;
box-sizing:border-box;
border-radius:16px;
border:1px solid #c2c8ce;
border-radius:8px;
background:#fff;
overflow: hidden;
}
.news-search-form input {
border: none!important;
box-shadow: none!important;
border-radius: 0;
}
.news-search-form button {
background:var(--red);
color:#fff;
border-color:var(--red);border-radius:0 ;font-size: 18px;padding: 5px 15px;
}
.article-index {
display:grid;
grid-template-columns:1fr 280px;
gap:45px;
}
.reading-list {
border-top:1px solid #bdc4cb;
}
.reading-item {
display:block;
border-bottom:1px solid #bdc4cb;
padding:26px 0;
}
.reading-item small {
font-size:12px;
color:var(--red);
}
.reading-item h3 {
font-size:25px;
margin:8px 0 10px;
}
.reading-item p {
font-size:15px;
color:var(--muted);
}
.reading-item:hover h3 {
color:var(--red);
}
.reading-side {
background:white;
border:1px solid var(--line);
padding:28px;
align-self:start;
position:sticky;
top:170px;
}
.reading-side h3 {
font-size:21px;
margin-bottom:20px;
}
.reading-side a {
display:block;
border-bottom:1px solid var(--line);
padding:13px 0;
font-size:14px;
}
.reading-side a:hover {
color:var(--red);
}
.faq-list {
max-width:950px;
margin:auto;
}
.faq-list details {
background:#fff;
border:1px solid var(--line);
border-radius:12px;
margin-bottom:14px;
padding:20px 25px;
}
.faq-list summary {
cursor:pointer;
font-size:19px;
font-weight:600;
}
.faq-list p {
font-size:16px;
line-height:1.9;
color:var(--muted);
margin-top:15px;
}
.fact-row {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:26px;
}
.fact-row article {
border-left:3px solid var(--red);
padding-left:22px;
}
.fact-row strong {
font-size:24px;
}
.fact-row p {
margin-top:14px;
font-size:16px;
color:var(--muted);
}
.secondary .contact-copy h2 {
white-space:normal;
font-size:clamp(32px,3.5vw,50px);
}
.secondary .contact-card {
grid-template-columns:1fr 150px;
}
.secondary .stats-section {
padding:65px 0;
}
.secondary .word-card p {
font-size:18px;
}
.secondary .team-grid {
align-items:stretch;
}
.secondary .method-item h3 {
font-size:26px;
}
.secondary .method-item p {
font-size:16px;
}
.detail-hero {
background:#303236;
color:white;
padding:70px 0;
}
.detail-hero h1 {
font-size:clamp(24px,4vw,50px);
line-height:1.25;
max-width:1100px;
margin:18px 0;
}
.detail-hero p {
font-size:15px;
color:#c4cbd2;
}
.detail-layout {
display:grid;
grid-template-columns:minmax(0,1fr) 280px;
gap:50px;
align-items:start;
}
.detail-article {
background:#fff;
padding:30px;
border:1px solid var(--line);
min-width:0;
}
.detail-article h2 {
line-height:1.4;
margin:32px 0 14px;
}
.detail-article p {
font-size:18px;
line-height:2;
color:#555e67;
margin:0 0 18px;
}
.detail-cover {
background:#edf0f2;
width:100%;
max-height:550px;
object-fit:contain;
}
.detail-aside {
background:#fff;
border:1px solid var(--line);
padding:25px;
position:sticky;
top:150px;
}
.detail-aside h3 {
font-size:20px;
margin-bottom:15px;
}
.detail-aside a {
display:block;
font-size:14px;
padding:12px 0;
border-bottom:1px solid var(--line);
}
.outlineNameList .outlineName.active {
color:var(--red);
}
.reader-meta{display:flex;gap:24px;font-size:12px;color:#c4cbd2;margin-bottom:20px}
.reader-meta i{font-size: 12px;}
.reader-bottom{display:flex;gap:25px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:28px}
.social_share{display:flex;justify-content:flex-end;align-items:center}
.social_share a{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:18px;width:32px;height:32px;border-radius:50%;text-align:center;background-color:var(--paper);color:rgba(0,0,0,0.6);transition:all 300ms ease-in-out 0s}
.social_share a:not(:first-child){margin-left:15px}
.social_share .digg_a{font-size:15px;line-height:.8}
.social_share .digg_a span{font-size:12px}
.social_share .digg_a em{font-size:11px;font-style:normal;margin-top:3px}
.social_share a:hover{background-color:var(--red);transition:all 0.2s ease;color:#fff}
.social-share-icon{position:relative}
.wechat-qrcode{display:none;border:1px solid #eee;position:absolute;z-index:9;top:-200px;left:50%;transform:translateX(-50%);width:150px;font-size:16px;text-align:center;background-color:#fff;box-shadow:0 2px 10px #aaa;transition:all 200ms;color:#999}
.wechat-qrcode h4{font-weight:normal;height:40px;font-size:15px;background-color:#f3f3f3;margin:0;padding:0;display:flex;justify-content:center;align-items:center}
.wechat-qrcode .qrcode{width:100%;padding:10px}
.wechat-qrcode .qrcode canvas{width:100%;display:block}
.wechat-qrcode .help{color:#999}
.social-share-icon:hover .wechat-qrcode{display:block}
.wechat-qrcode:after{content:'';position:absolute;left:50%;margin-left:-6px;bottom:-13px;width:0;height:0;border-width:8px 6px 6px 6px;border-style:solid;border-color:#fff transparent transparent transparent}
.empty-state {
padding:35px;
text-align:center;
color:var(--muted);
background:white;
border:1px solid var(--line);
}
.footer-product-btn {
margin-top:22px;
}
#case-list .case-grid {
grid-template-columns:repeat(3,minmax(0,1fr));
gap:0;
width:calc(100% - 72px);
margin-inline:36px;
}
#case-list .project-card {
border:0;
background:transparent;
}
#case-list .project-card>a {
position:relative;
aspect-ratio:1/1;
overflow:hidden;
isolation:isolate;
}
#case-list .project-art {
position:absolute;
inset:0;
width:100%;
height:100%;
}
#case-list .project-art img {
object-fit:cover;
}
#case-list .project-card>a:after {
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
opacity:0;
transition:opacity .25s;
z-index:1;
pointer-events:none;
}
#case-list .project-info {
position:absolute;
inset:0;
display:flex;
flex-direction:column;
justify-content:flex-end;
padding:30px;
opacity:0;
z-index:2;
pointer-events:none;
transition:opacity .25s;
text-shadow:0 1px 4px #0006;
}
#case-list .project-info small,#case-list .project-info h3,#case-list .project-info p,#case-list .project-info .text-link {
color:#fff;
}
#case-list .project-info h3 {
font-size:28px;
}
#case-list .project-card>a:hover:after,#case-list .project-card>a:hover .project-info,#case-list .project-card>a:focus-visible:after,#case-list .project-card>a:focus-visible .project-info {
opacity:1;
}
#case-list .category-entry-grid {
gap:0;
width:calc(100% - 72px);
margin-inline:36px;
}
.category-entry>a {
display:block;
position:relative;
aspect-ratio:1;
overflow:hidden;
background:#e8ebee;
}
.category-art {
position:absolute;
inset:0;
}
.category-art>img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .35s;
}
.category-entry>a:hover img {
transform:scale(1.035);
}
.category-frame {
position:absolute;
inset:24px;
border:1px dashed #a9b0b8;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
color:#7c858f;
gap:12px;
padding-bottom:40px;
}
.category-frame span {
font-size:16px;
}
.category-frame strong {
font-size:22px;
font-weight:500;
}
.category-frame em {
font-size:15px;
font-style:normal;
}
.category-label {
position:absolute;
bottom:0;
left:0;
right:0;
padding:28px 30px;
background:linear-gradient(transparent,#2228);
color:white;
display:flex;
align-items:center;
justify-content:space-between;
gap:15px;
}
.category-label h3 {
font-size:28px;
margin:0;
}
.category-label span {
font-size:14px;
}
.category-entry:has(.category-frame) .category-label {
background:transparent;
color:#25282c;
}
.category-projects[hidden] {
display:none;
}
.category-project-grid {
gap:24px;
}
.category-empty {
text-align:center;
color:var(--muted);
padding:45px 0;
font-size:18px;
}
.team-wide-frame {
width:100%;
aspect-ratio:2/1;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:16px;
background:#e8ebee;
border:1px dashed #a9b0b8;
color:#7c858f;
}
.team-wide-frame strong {
font-size:24px;
font-weight:500;
}
.team-wide-frame span {
font-size:22px;
}
.team-wide-frame small {
font-size:16px;
}
.company-profile {
max-width:1000px;
margin:0 auto 48px;
}
.company-profile h3 {
font-size:26px;
margin:0 0 20px;
}
.company-profile p {
font-size:18px;
line-height:1.9;
color:var(--muted);
margin:0 0 18px;
}
#articles .article-filter-bar {
display:grid;
grid-template-columns:minmax(0,1fr) 280px;
gap:45px;
align-items:start;
}
.article-filters {
display:flex;
flex-wrap:wrap;
gap:12px;
}

.news-search-form {
display:flex;
align-items:center;
justify-content:center;
}
#articles .reading-side {
border-radius:16px;
min-height:500px;
padding:28px;
box-sizing:border-box;
}
#articles .reading-side a {
padding-block:20px;
line-height:1.65;
}
.company .company-profile-split {
max-width:none;
display:grid;
grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
gap:60px;
align-items:center;
text-align:left;
}
.company-profile-copy {
text-align:left;
}
.company-image-frame {
width:100%;
aspect-ratio:1/1;
box-sizing:border-box;
background:#e8ebee;
border:1px dashed #a9b0b8;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:16px;
color:#7c858f;
text-align:center;
}
.company-image-frame strong {
font-size:24px;
font-weight:500;
}
.company-image-frame span {
font-size:22px;
}
.company-image-frame small {
font-size:16px;
}
.faq summary::marker {
color:#E60012;
}
.faq summary::-webkit-details-marker {
color:#E60012;
}
.business-contact .business-contact-layout {
display:grid;
grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
gap:48px;
align-items:start;
align-items:stretch;
}
.business-contact-info .contact-copy {
margin-bottom:28px;
position:relative;
}
.business-contact-info .contact-copy h2 {
font-size:40px;
line-height:1.3;
margin-top:0;
}
.business-contact-info .contact-copy>p {
margin-top:16px;
}
.business-contact-info .contact-card {
padding:28px;
grid-template-columns:minmax(0,1fr) 130px;
gap:24px;
}
.business-contact-info .contact-card .phone {
font-size:28px;
}
.business-contact-info .contact-card .office {
margin:0;
padding-top:20px;
}
.business-contact-info .contact-phone-list {
position:static;
margin:12px 0 0;
padding:14px;
position:absolute;
left:136px;
top:50%;
transform:translateY(-50%);
margin:0;
padding:0;
gap:6px;
width:max-content;
}
.company-location {
margin:0;
display:flex;
align-self:stretch;
}
.company-map-frame {
aspect-ratio:4/3;
background:#e8ebee;
border:1px dashed #a9b0b8;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:14px;
color:#7c858f;
text-align:center;
}
.company-map-frame strong {
font-size:24px;
font-weight:500;
}
.company-map-frame>span {
font-size:20px;
}
.company-map-frame>.map-pin {
font-size:48px;
color:var(--red);
line-height:1;
}
.company-map-frame small {
font-size:16px;
}
.company-location figcaption {
padding-top:22px;
}
.company-location figcaption strong {
font-size:18px;
}
.company-location figcaption p {
margin:10px 0 0;
line-height:1.8;
color:var(--muted);
font-size:16px;
}
.client-brand-section {
padding:48px 0 64px;
background:#f5f6f7;
}
.client-logo-grid {
display:grid;
grid-template-columns:repeat(6,minmax(0,1fr));
gap:18px;
margin:0;
padding:0;
list-style:none;
}
.client-logo-cell {
aspect-ratio:2/1;
position:relative;
overflow:hidden;
min-width:0;
border-radius:10px;
background:white;
border:1px solid #dfe2e6;
}
.client-logo-grid .client-logo-cell img {
position:absolute;
height:auto;
max-width:none;
object-fit:contain;
left:50%;
top:50%;
transform:translate(-50%,-50%);
filter:none;
}
.secondary .client-brand-section {
background:#fff;
}
.business-contact-info .contact-copy .kicker {
position:absolute;
top:-34px;
left:0;
}
.company-location .company-map-frame {
width:100%;
height:100%;
aspect-ratio:auto;
box-sizing:border-box;
}
.business-contact-info .contact-phone-list a {
font-size:15px;
}
.experience-strip article>strong {
display:flex;
align-items:center;
gap:14px;
}
.experience-strip .experience-icon {
width:48px;
height:48px;
flex:0 0 48px;
color:#E60012;
}
.experience-strip article>p {
margin-top:14px;
}
.header .header-contact,.secondary .header .header-contact[aria-current=page] {
background:#E60012;
border-color:#E60012;
color:#fff;
}
.header .header-contact:hover,.secondary .header .header-contact[aria-current=page]:hover {
background:#c60010;
border-color:#c60010;
color:#fff;
}
.secondary .sub-hero {
height:min(900px,100svh);
min-height:650px;
box-sizing:border-box;
padding:150px 0 100px;
align-items:center;
}
.secondary .sub-hero>img {
object-fit:cover;
object-position:center;
}
.secondary .sub-hero:after {
background:linear-gradient(90deg,#15030685,transparent 75%);
}
.client-brand-section .section-head {
margin-bottom:32px;
max-width:1200px;
max-width:var(--max);
}
.client-brand-section .section-head .client-brand-summary {
max-width:1100px;
margin:18px auto 0;
color:#777;
font-size:15px;
line-height:1.9;
text-align:center;
}
.word-card .word-image-filled {
background:transparent;
border:0;
padding:0;
}
.word-image-filled img {
display:block;
width:100%;
height:100%;
object-fit:contain;
}
.method-section .word-pair {
position:relative;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:0;
}
.method-section .word-pair::after {
content:"";
position:absolute;
left:50%;
top:16px;
bottom:16px;
width:1px;
background:#fff;
pointer-events:none;
content:none;
display:none;
}
.method-section .word-card {
min-width:0;
background:transparent;
color:#fff;
border:0;
border-radius:0;
box-shadow:none;
padding:20px 32px;
gap:24px;
align-items:center;
}
.method-section .word-card:first-child {
padding-left:0;
}
.method-section .word-card:last-child {
padding-right:0;
}
.method-section .word-card>div {
min-width:0;
flex:1 1 0;
min-width:0;
}
.method-section .word-card h3,.method-section .word-card p {
color:#fff;
}
.method-section .word-card .word-image-slot {
width:247.5px;
flex:0 0 247.5px;
}
.method-section .word-card .word-image-filled img {
filter:drop-shadow(1px 0 0 rgba(255,255,255,.8)) drop-shadow(-1px 0 0 rgba(255,255,255,.8)) drop-shadow(0 1px 0 rgba(255,255,255,.8)) drop-shadow(0 -1px 0 rgba(255,255,255,.8)) drop-shadow(0 4px 6px rgba(65,0,0,.4));
}
.method-section .word-card+.word-card {
border:0;
}
.method-section .method-grid {
gap:24px;
margin-top:38px;
align-items:stretch;
}
.method-section .method-item {
min-width:0;
background:#fff;
border:0;
border-radius:16px;
padding:28px;
color:var(--ink);
box-shadow:none;
}
.method-section .method-item small {
display:block;
color:var(--red);
font-size:28px;
font-weight:700;
line-height:1.5;
}
.method-section .method-item h3 {
color:var(--ink);
}
.method-section .method-item p {
color:#666;
}
.method-section .word-card h3 {
width:100%;
box-sizing:border-box;
border-bottom:1px solid rgba(255,255,255,.85);
padding-bottom:12px;
margin-bottom:12px;
}
.company-image-frame.company-image-filled {
display:block;
border:0;
background:#e6e3df;
overflow:hidden;
}
.company-image-filled img {
display:block;
width:100%;
height:100%;
aspect-ratio:1;
object-fit:cover;
}
.team-members .experience-strip article {
text-align:center;
}
.team-members .experience-strip article>strong {
flex-direction:column;
align-items:center;
justify-content:center;
gap:18px;
font-size:28px;
line-height:1.4;
}
.team-members .experience-strip .experience-icon {
width:88px;
height:88px;
flex:0 0 88px;
color:#E60012;
}
.team-members .experience-strip article>strong>span {
color:#000;
}
.team-members .experience-strip article>p {
margin:16px auto 0;
max-width:350px;
text-align:center;
}
body main .section-head>p,body main #cases .section-head>p,body main .client-brand-section .section-head .client-brand-summary {
font-size:16px;
}
.process-section .flow article small {
font-size:16px;
line-height:1.7;
}
.method-section .section-head h2 .packaging-keyword {
color:#ffb3b8;
}
.experience .service-card.service-image-filled {
border:0;
background:#231b16;
isolation:isolate;
}
.experience .service-card.service-image-filled:before {
content:none;
}
.experience .service-image-filled .service-card-image {
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:-2;
}
.experience .service-image-filled:after {
content:"";
position:absolute;
inset:42% 0 0;
background:linear-gradient(transparent,rgba(14,10,7,.42) 40%,rgba(14,10,7,.94));
z-index:-1;
pointer-events:none;
}
.experience .service-image-filled .service-overlay {
position:relative;
z-index:1;
}
.experience .service-image-filled h3 {
color:#fff;
}
.experience .service-image-filled p {
color:rgba(255,255,255,.86);
margin-bottom:0;
}
.split-art.split-art-filled {
border:0;
background:transparent;
padding:0;
gap:0;
}
.split-art.split-art-filled img {
display:block;
flex:none;
width:100%;
height:100%;
object-fit:contain;
object-position:center;
}
.detail-article .article-summary {
font-size:19px;
color:#333;
padding:20px 22px;
background:#f5f6f7;
border-left:3px solid #E60012;
}
.detail-article .article-byline {
font-size:14px;
color:#777;
border-top:1px solid #ddd;
padding-top:20px;
margin-top:32px;
}
.detail-article section {
scroll-margin-top:155px;
}
.article-toc a {
display:block;
font-size:14px;
line-height:1.7;
margin:0 0 12px;
}
.case-detail-page main {
background:#fff;
}
.case-detail-page .case-heading {
padding:72px 0;
background:#f9f9f9;
width:100%;
padding:70px 0;
}
.case-detail-page .case-overview {
display:grid;
grid-template-columns:36% 1fr;
gap:8%;
min-height:430px;
width:min(1024px,88%);
max-width:1200px;
margin:0 auto;
grid-template-columns:40% 1fr;
gap:8%;
width:min(calc(100% - 48px),var(--max));
max-width:var(--max);
min-height:300px;
}
.case-detail-page .case-overview-title {
padding-top:3px;
}
.case-detail-page .case-heading h1 {
font-size:clamp(25px,2.4vw,34px);
font-weight:500;
line-height:1.55;
letter-spacing:0;
margin:18px 0;
font-size:24px;
}
.case-detail-page .case-heading #entryMeta {
font-size:15px;
color:#777;
line-height:1.8;
margin:0;
max-width:330px;
max-width:470px;
font-size:16px;
line-height:1.85;
}
.case-detail-page .case-overview-copy {
display:flex;
flex-direction:column;
justify-content:space-between;
gap:40px;
justify-content:flex-start;
gap:30px;
gap:34px;
}
.case-detail-page #caseIntroduction p {
font-size:18px;
line-height:1.95;
color:#282828;
margin:0 0 20px;
font-size:16px;
line-height:1.9;
font-size:18px;
line-height:1.9;
color:#41464b;
}
.case-detail-page #caseIntroduction p:last-child {
margin-bottom:0;
}
.case-detail-page .case-project-facts {
margin:0;
}
.case-detail-page .case-project-facts>div {
display:grid;
grid-template-columns:80px 1fr;
gap:15px;
margin-top:12px;
font-size:14px;
line-height:1.8;
margin-top:14px;
grid-template-columns:72px minmax(0,1fr);
}
.case-detail-page .case-project-facts dt {
color:#777;
}
.case-detail-page .case-project-facts dd {
margin:0;
color:#222;
overflow-wrap:anywhere;
}
.case-detail-page .case-story {
background:#fff;
width: min(calc(100% - 48px),var(--max));
margin:0 auto;
}
.case-detail-page .case-project-image {
width:100%;
margin:0 auto 44px;
}
.case-detail-page .case-project-image:last-child {
margin-bottom:0;
}
.case-detail-page .case-project-image img {
display:block;
width:100%;
height:auto;
object-fit:contain;
}
.case-detail-page .case-project-nav {
padding:40px 0;
border-bottom:1px solid #e5e5e5;
background:#fff;
}
.case-detail-page .case-project-nav>.wrap {
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
gap:28px;
}
.case-detail-page .case-neighbor {
display:flex;
flex-direction:column;
gap:8px;
min-width:0;
color:#222;
}
.case-detail-page .case-neighbor:last-child {
text-align:right;
}
.case-detail-page .case-neighbor span {
font-size:13px;
color:#777;
}
.case-detail-page .case-neighbor strong {
font-size:16px;
font-weight:500;
}
.case-detail-page .case-directory {
font-size:14px;
color:#222;
padding:12px 20px;
border:1px solid #ddd;
border-radius: 7px;
}
.case-detail-page .case-related {
padding:72px 0 80px;
background:#fff;
scroll-margin-top:120px;
}
.case-detail-page .case-related-head {
position:relative;
text-align:center;
margin-bottom:40px;
}
.case-detail-page .case-related-head .kicker {
font-size:12px;
letter-spacing:2px;
color:#999;
}
.case-detail-page .case-related-head h2 {
font-size:28px;
line-height:1.4;
font-weight:500;
margin:12px 0 0;
}
.case-detail-page .case-pagination {
position:absolute;
right:0;
bottom:0;
display:flex;
align-items:center;
gap:18px;
}
.case-detail-page .case-pagination[hidden],.case-detail-page [hidden] {
display:none!important;
}
.case-detail-page .case-pagination button {
width:44px;
height:44px;
border:1px solid #ccc;
background:#fff;
font-size:22px;
cursor:pointer;
}
.case-detail-page .case-pagination button:hover:not(:disabled) {
background:#E60012;
color:#fff;
border-color:#E60012;
}
.case-detail-page .case-pagination button:disabled {
opacity:.3;
cursor:default;
}
.case-detail-page .case-related-track {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:20px;
}
.case-detail-page .case-related-card {
display:block;
min-width:0;
color:#252628;
text-decoration:none;
}
.case-detail-page .case-related-card img {
display:block;
width:100%;
aspect-ratio:1;
object-fit:cover;
background:#eee;
transition:opacity .2s;
}
.case-detail-page .case-related-card:hover img {
opacity:.85;
}
.case-detail-page .case-related-card h3 {
font-size:18px;
line-height:1.6;
font-weight:500;
margin:16px 0 6px;
}
.case-detail-page .case-related-card p {
font-size:13px;
color:#777;
line-height:1.7;
margin:0;
}
.case-detail-page a:focus-visible,.case-detail-page .case-pagination button:focus-visible {
outline:2px solid #E60012;
outline-offset:5px;
}
.case-detail-page .case-brand-logo {
display:block;
width:220px;
max-width:100%;
height:72px;
object-fit:contain;
object-position:left center;
margin:0 0 38px;
}
.case-detail-page .case-brand-mark {
height:88px;
margin-bottom:38px;
display:flex;
align-items:center;
overflow:hidden;
height:123.75px;
}
.case-detail-page .case-brand-mark .case-brand-logo {
width:220px;
height:110px;
margin:0;
object-fit:contain;
object-position:left center;
}
.case-detail-page .case-brand-name {
font-size:32px;
font-weight:600;
letter-spacing:.04em;
line-height:1.4;
color:#333;
}
.case-detail-page .case-brand-mark .case-brand-logo-pearl {
width:280px;
height:auto;
max-width:none;
align-self:flex-start;
flex:none;
transform:translate(-50px,-70px);
mix-blend-mode:multiply;
}
.case-detail-page .case-logo-placeholder {
width:220px;
height:88px;
flex:none;
display:flex;
align-items:center;
justify-content:center;
border:1px dashed #b9bdc2;
color:#969ba1;
font-size:12px;
letter-spacing:.04em;
background:transparent;
height:auto;
aspect-ratio:2 / 1;
flex-direction:column;
gap:4px;
line-height:1.5;
}
.case-detail-page .case-logo-ratio {
font-size:15px;
color:#737a82;
}
.case-detail-page .case-logo-pixels {
font-size:11px;
letter-spacing:0;
}
.case-detail-page .case-logo-pixels-mobile {
display:none;
}
.secondary .sub-hero h1 {
font-size:clamp(42px,5.7vw,82px);
line-height:1.3;
font-weight:750;
letter-spacing:-.04em;
}
body main .section-head>h2,body main #cases .section-head>h2,body main .method-section .section-head>h2 {
font-size:clamp(30px,3.1vw,44px);
line-height:1.15;
}
.case-detail-page .case-study {
background:#fff;
padding:62px 0 52px;
}
.case-detail-page .case-step {
display:block;
color:#E60012;
font-size:13px;
font-weight:600;
letter-spacing:.04em;
line-height:1.5;
}
.case-detail-page .case-analysis-grid {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:72px;
}
.case-detail-page .case-analysis-block {
min-width:0;
padding:0 0 30px;
border-bottom:1px solid #dce0e4;
}
.case-detail-page .case-analysis-block h2 {
font-size:28px;
font-weight:600;
line-height:1.45;
margin:14px 0 16px;
}
.case-detail-page .case-analysis-block p,.case-detail-page .case-reason-content>p,.case-detail-page .case-strategy-card p,.case-detail-page #caseApplicationText {
font-size:16px;
line-height:1.95;
color:#60666d;
}
.case-detail-page .case-reason {
display:grid;
grid-template-columns:220px minmax(0,1fr);
gap:42px;
margin:42px 0 50px;
padding:34px 38px;
background:#f3f4f5;
border-left:3px solid #E60012;
}
.case-detail-page .case-reason-label>p {
font-size:20px;
font-weight:600;
line-height:1.5;
margin-top:14px;
}
.case-detail-page .case-reason-content h2 {
font-size:clamp(25px,2.2vw,34px);
font-weight:600;
line-height:1.5;
letter-spacing:-.01em;
margin:0 0 16px;
color:#222;
}
.case-detail-page ul {
display:flex;
flex-wrap:wrap;
gap:10px 20px;
list-style:none;
padding:0;
}
.case-detail-page ul li {
display:flex;
align-items:baseline;
gap:8px;
font-size:15px;
line-height:1.7;
color:#777;
border:0;
border-radius:0;
padding:0;
}
.case-detail-page ul li::before {
display:block;
content:"";
flex:0 0 5px;
width:5px;
height:5px;
border-radius:50%;
background:#E60012;
align-self:flex-start;
margin-top:.65em;
}
.case-detail-page .case-study-heading {
margin-bottom:26px;
}
.case-detail-page .case-study-heading h2 {
font-size:30px;
line-height:1.45;
font-weight:600;
margin:12px 0 0;
}
.case-detail-page .case-strategy-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:48px;
}
.case-detail-page .case-strategy-card {
padding:0;
border:0;
background:transparent;
min-width:0;
}
.case-detail-page .case-value-label {
font-size:13px;
font-weight:600;
color:#E60012;
line-height:1.5;
}
.case-detail-page .case-strategy-card h3 {
font-size:21px;
line-height:1.5;
font-weight:600;
margin:14px 0;
}
.case-detail-page .case-application {
padding:52px 0;
background:#f4f5f6;
margin-top:44px;color: #60666d;
}
.case-detail-page .case-application-layout {
display:grid;
grid-template-columns:1fr 2fr;
gap:70px;
}
.case-detail-page .case-application h2 {
font-size:28px;
line-height:1.5;
font-weight:600;
margin-top:14px;
}

.case-detail-page .case-deliverables {
display:flex;
gap:10px 28px;
flex-wrap:wrap;
list-style:none;
padding:0;
margin:0;
}
.case-detail-page .case-deliverables li {
font-size:14px;
line-height:1.8;
color:#646b73;
}
.case-detail-page .case-project-facts>div:first-child {
margin-top:0;
}
.case-detail-page .case-summary h2 {
font-size:21px;
line-height:1.5;
font-weight:600;
margin:0 0 14px;
}


.case-detail-page .case-related-browser {
display:grid;
grid-template-columns:44px minmax(0,1fr) 44px;
gap:20px;
align-items:center;
}
.case-detail-page .case-related-browser .case-related-track {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:24px;
overflow:visible;
padding:0;
scroll-snap-type:none;
}
.case-detail-page .case-related-arrow {
display:flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
padding:0;
border:1px solid #cbd0d5;
background:#fff;
color:#333;
font-size:24px;
line-height:1;
cursor:pointer;
border-radius:50%;
background:var(--dark-red);
border-color:var(--dark-red);
color:#fff;
font-size:22px;
box-shadow:0 4px 14px #6d001224;
}
.case-detail-page .case-related-arrow:hover:not(:disabled) {
background:#E60012;
color:#fff;
border-color:#E60012;
}
.case-detail-page .case-related-arrow:disabled {
color:#b7bdc4;
background:#f5f6f7;
cursor:default;
background:#f5f6f7;
border-color:#d7dce2;
color:#b7bdc4;
box-shadow:none;
}
.case-detail-page .case-related-placeholder-art {
width:100%;
aspect-ratio:1;
border:1px dashed #b8bfc7;
background:#f7f8f9;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:10px;
color:#8a929c;
text-align:center;
padding:14px;
font-size:13px;
line-height:1.5;
}
.case-detail-page .case-related-placeholder-art strong {
font-size:24px;
line-height:1.3;
font-weight:500;
color:#747e89;
}
.case-detail-page .case-related-placeholder h3,.case-detail-page .case-related-placeholder p {
color:#9299a1;
}
.case-detail-page .case-related-page {
text-align:center;
margin-top:24px;
font-size:13px;
line-height:1.5;
color:#7c838c;
}
.case-detail-page .case-arrow-chevron {
display:block;
width:22px;
height:22px;
line-height:22px;
text-align:center;
transform-origin:center;
}
.case-detail-page .case-arrow-chevron-left {
transform:rotate(-90deg);
}
.case-detail-page .case-arrow-chevron-right {
transform:rotate(90deg);
}
.case-detail-page .case-related-arrow:focus-visible {
outline:2px solid #E60012;
outline-offset:4px;
}

.case_swiper_box{position: relative;}
.case_swiper .img::before{display: block;content: '';padding-bottom: 100%;}
.case_swiper h3{font-size: 18px;line-height: 1.6;font-weight: 500; margin: 16px 0 6px;}
.case_swiper p{font-size: 13px;color: #777;line-height: 1.7; margin: 0;}
.case_swiper_box .swiper-button-next,.case_swiper_box .swiper-button-prev{display: flex;align-items: center;justify-content: center;width: 44px;height: 44px;background-color:#f5f6f7;border: #d7dce2 solid 1px;border-radius: 50%;margin-top: -5%;}
.case_swiper_box .swiper-button-next::after,.case_swiper_box .swiper-button-prev::after{font-size: 18px;color:#b7bdc4;}
.case_swiper_box .swiper-button-next{right: -70px;}
.case_swiper_box .swiper-button-prev{left: -70px;}
.case_swiper_box .swiper-pagination{position: relative;bottom: 0;color: #7c838c;font-size: 13px;margin-top: 20px;}
.case_swiper_box .swiper-button-lock{ display: none;}


#case-list [hidden] {
display:none!important;
}
#case-list .case-category-results {
grid-template-columns:repeat(3,minmax(0,1fr));
gap:0;
}
#case-list .category-page-controls {
display:flex;
align-items:center;
justify-content:center;
gap:24px;
margin-top:32px;
}
#case-list .category-page-controls>span {
font-size:13px;
color:#868d96;
line-height:1.5;
min-width:44px;
text-align:center;
}
#case-list .category-page-arrow {
display:flex;
align-items:center;
justify-content:center;
width:38px;
height:38px;
padding:0;
border:1px solid #cbd0d5;
border-radius:50%;
background:#fff;
color:#555;
font-size:22px;
cursor:pointer;
}
#case-list .category-page-arrow:hover:not(:disabled) {
background:#E60012;
border-color:#E60012;
color:#fff;
}
#case-list .category-page-arrow:disabled {
background:#f6f7f8;
color:#bac0c7;
cursor:default;
}
#case-list .category-page-arrow:focus-visible {
outline:2px solid #E60012;
outline-offset:4px;
}
#case-list .category-page-chevron {
display:block;
width:22px;
height:22px;
line-height:22px;
text-align:center;
transform-origin:center;
}
#case-list .category-page-chevron-left {
transform:rotate(-90deg);
}
#case-list .category-page-chevron-right {
transform:rotate(90deg);
}
#case-list .category-reserved-art {
aspect-ratio:1;
width:100%;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:12px;
border:1px dashed #b9c0c8;
background:#f6f7f8;
color:#929ba5;
font-size:14px;
line-height:1.5;
}
#case-list .category-reserved-art strong {
font-size:28px;
font-weight:500;
color:#7e8994;
}
.split-visual {
min-width:0;
position:relative;
}
.split.reverse .split-visual {
order:2;
}
.service-case-link {
position:absolute;
right:24px;
bottom:24px;
z-index:1;
display:block;
width:fit-content;
margin:0;
padding:7px 12px;
color:#fff;
background:rgba(0,0,0,.48);
border-radius:4px;
font-size:14px;
line-height:1.7;
}
.service-case-link:hover {
text-decoration:underline;
text-underline-offset:4px;
}
.service-case-link:focus-visible {
outline:2px solid #E60012;
outline-offset:5px;
}
#case-list .case-category-results .category-label {
justify-content:flex-end;
}
.company-crosslink-lead {
margin:0 0 4px;
font-size:13px;
line-height:1.7;
color:var(--muted);
}
.company-crosslink {
margin-top:24px;
display:flex;
flex-direction:column;
align-items:flex-start;
gap:12px;
}
.company-crosslink .btn {
gap:10px;
}
.company-crosslink-alt {
font-size:13px;
color:var(--muted);
text-decoration:underline;
text-underline-offset:3px;
font-weight:500;
}
.company-crosslink-alt:hover {
color:var(--red);
}
.contact-card .site-link {
display:inline-block;
margin-top:10px;
font-size:13px;
color:var(--red);
font-weight:650;
text-decoration:none;
}
.contact-card .site-link:hover {
text-decoration:underline;
}
.footer-cta-row {
display:flex;
align-items:center;
flex-wrap:wrap;
gap:18px;
margin-top:22px;
}
.footer-cta-row .footer-product-btn {
margin-top:0;
}
.footer-crosslinks {
display:flex;
flex-direction:column;
gap:7px;
font-size:12px;
}
.footer-crosslinks a {
color:inherit;
text-decoration:none;
opacity:.85;
}
.footer-crosslinks a:hover {
opacity:1;
text-decoration:underline;
}
.productInquiry {
width:min(760px,100%);
padding:32px;
border:0;
border-radius:12px;
color:#25282c;
background:#fff;
box-sizing:border-box;
}
.productInquiry::backdrop {
background:#0009;
}
.inquiry-header {
display:flex;
gap:24px;
justify-content:space-between;
align-items:flex-start;
margin-bottom:28px;
}
.inquiry-kicker {
color:#E60012;
font-size:12px;
}
.inquiry-header h2 {
font-size:34px;
line-height:1.2;
margin:10px 0 12px;
}
.inquiry-header p {
font-size:15px;
color:#757b83;
margin:0;
}
.inquiry-close {
background:transparent;
border:0;
font-size:30px;
cursor:pointer;
line-height:1;
padding:0 5px;
color:#555;
}
.inquiry-fields {
display:grid;
grid-template-columns:1fr 1fr;
gap:22px;
}
.inquiry-field {
display:flex;
flex-direction:column;
gap:10px;
font-size:15px;
}
.inquiry-field b,.inquiry-needs b ,.layui-form-select dl dd.layui-this{
color:var(--red);
}
.inquiry-field small,.inquiry-needs small {
font-size:12px;
color:#8a9098;
margin-left:8px;
font-weight:400;
}
.inquiry-full {
grid-column:1/-1;
}
.inquiry-field input,.inquiry-field select,.inquiry-field textarea {
width:100%;
box-sizing:border-box;
border:1px solid #d5d9df;
border-radius:6px;
background:#fafafa;
padding:12px;
font:inherit;
color:#25282c;
}
.inquiry-field textarea {
resize:vertical;
line-height:1.7;
}
.inquiry-field input:focus,.inquiry-field select:focus,.inquiry-field textarea:focus {
outline:2px solid #e6001238;
border-color:#E60012;
}
.inquiry-needs {
border:0;
padding:0;
margin:0;
min-width:0;
}
.inquiry-needs legend {
font-size:15px;
margin-bottom:12px;
}
.inquiry-choices {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:10px;
}
.inquiry-choices .layui-form-checkbox {
display:flex;
align-items:center;
justify-content: flex-end;
gap:8px;
flex-direction: row-reverse;
padding:12px;
background:#fafafa;
border:1px solid #d5d9df;
border-radius:6px;
font-size:14px;
cursor:pointer;
}
.inquiry-choices .layui-form-checked[lay-skin="primary"] > i {
  border-color:var(--red) !important;
  background-color: var(--red);
  color: #fff;
}
.inquiry-choices .layui-form-checkbox i{position: relative;}
.inquiry-choices .layui-form-checkbox:hover i {border-color:var(--red);}
.inquiry-choices input {
accent-color:#E60012;
width:16px;
height:16px;
margin:0;
}
.inquiry-choices label:has(input:checked) {
border-color:#E60012;
background:#fff5f6;
}
.inquiry-note {
font-size:12px;
line-height:1.8;
color:#7c828a;
margin:24px 0 18px;
}
.inquiry-note span {
font-size:11px;
}
.inquiry-actions {
display:flex;
align-items:center;
gap:20px;
}
.inquiry-actions .btn,.inquiry-copy {
background:#E60012;
color:white;
border:0;
}
.inquiry-reset {
background:none;
border:0;
color:#757b83;
cursor:pointer;
font-size:14px;
}
.inquiry-result {
margin-top:24px;
background:#f5f6f7;
padding:22px;
border-radius:8px;
}
.inquiry-result[hidden] {
display:none;
}
.inquiry-result h3 {
font-size:18px;
margin:0 0 10px;
}
.inquiry-result p {
font-size:14px;
line-height:1.7;
color:#757b83;
}
.inquiry-result pre {
white-space:pre-wrap;
overflow-wrap:anywhere;
font:14px/1.8 inherit;
}
.inquiry-copy-status {
font-size:13px;
color:#757b83;
margin-left:12px;
}
/* ===== 多页共用样式 ===== */
:where([data-page="about"]) *, :where([data-page="cases"]) *, :where([data-page="contact"]) *, :where([data-page="insights"]) *, :where([data-page="planning"]) *, :where([data-page="services"]) * {
-webkit-user-drag:none !important;
}
:where([data-page="about"]) [data-sp-bindable="database"], :where([data-page="cases"]) [data-sp-bindable="database"], :where([data-page="contact"]) [data-sp-bindable="database"], :where([data-page="insights"]) [data-sp-bindable="database"], :where([data-page="planning"]) [data-sp-bindable="database"], :where([data-page="services"]) [data-sp-bindable="database"] {
outline:1px dashed #0088ff;outline-offset:2px;border-radius:4px;
}
:where([data-page="about"]) [data-sp-bindable="database"] *, :where([data-page="cases"]) [data-sp-bindable="database"] *, :where([data-page="contact"]) [data-sp-bindable="database"] *, :where([data-page="insights"]) [data-sp-bindable="database"] *, :where([data-page="planning"]) [data-sp-bindable="database"] *, :where([data-page="services"]) [data-sp-bindable="database"] * {
pointer-events:none !important;transition:none !important;animation:none !important;
}
:where([data-page="about"]) [data-sp-bindable="database"], :where([data-page="cases"]) [data-sp-bindable="database"], :where([data-page="contact"]) [data-sp-bindable="database"], :where([data-page="insights"]) [data-sp-bindable="database"], :where([data-page="planning"]) [data-sp-bindable="database"], :where([data-page="services"]) [data-sp-bindable="database"] {
transition:none !important;animation:none !important;
}
/* 巨大的 404，中间那个 0 用品牌红点缀 */
.nf-code{display:flex;align-items:baseline;justify-content:center;font-size:clamp(92px,17vw,186px);font-weight:800;line-height:.9;letter-spacing:-.045em;color:var(--navy);-webkit-user-select:none;user-select:none}
.nf-code .nf-zero{color:var(--red)}
.nf-kicker{margin-top:18px}
.nf-title{font-size:clamp(23px,3.2vw,36px);font-weight:700;line-height:1.35;margin:12px 0 0;color:var(--ink)}
.nf-desc{font-size:15px;line-height:1.9;color:var(--muted);margin:14px 0 0;max-width:520px}
/* {info} 由程序最后一步替换，为空时靠 :empty 隐藏，不留空白段落 */
.nf-info{font-size:12px;line-height:1.8;color:#9aa0a6;margin:12px 0 0;word-break:break-all}
.nf-info:empty{display:none}
.nf-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}
.nf-links{margin-top:46px;padding-top:26px;border-top:1px solid var(--line);width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 26px}
.nf-links>span{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.nf-links a{font-size:14px;font-weight:600;color:var(--ink);transition:color .2s}
.nf-links a:hover{color:var(--red)}


/* 网站地图 */
.sitemap{background:var(--paper)}
.sm-quick{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.sm-quick a{display:inline-flex;align-items:center;min-height:40px;padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;transition:color .2s,border-color .2s,transform .2s}
.sm-quick a:hover{color:var(--red);border-color:var(--red);transform:translateY(-2px)}
.sm-grid{display:flex;flex-wrap:wrap;gap:18px}
.sm-card{flex:1 1 320px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px 22px;transition:box-shadow .25s,transform .25s}
.sm-card:hover{box-shadow:0 14px 36px rgba(48,50,54,.10);transform:translateY(-3px)}
.sm-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:19px;font-weight:700;line-height:1.4}
.sm-card-title a{color:var(--ink);text-decoration:none;transition:color .2s}
.sm-card-title a:hover{color:var(--red)}
.sm-card .sm-chip{display:inline-flex;align-items:center;gap:6px;margin:0 8px 8px 0;padding:5px 12px;border-radius:6px;background:var(--paper);font-size:13px;color:var(--navy);text-decoration:none;transition:background .2s,color .2s}
.sm-card .sm-chip:hover{background:var(--red);color:#fff}

.friend_link{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 18px;margin-top:34px;padding-top:30px;border-top:1px solid rgba(255,255,255,.25);font-size:11px;color:rgba(255,255,255,.8)}
.friend_link:not(:has(a)){display:none}
.friend_link-label{color:rgba(255,255,255,.8);font-weight:550}
.friend_link a{color:rgba(255,255,255,.8)}
.friend_link a:hover{color:#fff}


/* 404 页 */
.notfound{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:76px 0 92px;background:var(--paper);text-align:center}
.nf-wrap{max-width:760px;display:flex;flex-direction:column;align-items:center}
/* 巨大的 404，中间那个 0 用品牌红点缀 */
.nf-code{display:flex;align-items:baseline;justify-content:center;font-size:clamp(92px,17vw,186px);font-weight:800;line-height:.9;letter-spacing:-.045em;color:var(--navy);-webkit-user-select:none;user-select:none}
.nf-code .nf-zero{color:var(--red)}
.nf-kicker{margin-top:18px}
.nf-title{font-size:clamp(23px,3.2vw,36px);font-weight:700;line-height:1.35;margin:12px 0 0;color:var(--ink)}
.nf-desc{font-size:15px;line-height:1.9;color:var(--muted);margin:14px 0 0;max-width:520px}
/* {info} 由程序最后一步替换，为空时靠 :empty 隐藏，不留空白段落 */
.nf-info{font-size:12px;line-height:1.8;color:#9aa0a6;margin:12px 0 0;word-break:break-all}
.nf-info:empty{display:none}
.nf-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}
.nf-links{margin-top:46px;padding-top:26px;border-top:1px solid var(--line);width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 26px}
.nf-links>span{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.nf-links a{font-size:14px;font-weight:600;color:var(--ink);transition:color .2s}
.nf-links a:hover{color:var(--red)}

/* 这张卡片要放地图，强制占满整行，避免后台调整栏目顺序后被挤成 1/3 宽 */
.sm-card:has(.contact-layout){flex:1 1 100%}
/* 搜索首页（search_index.html）：居中的搜索框 + 上方「产品 / 文章」分类。
   分类是 form 里的同名 radio（name="scode"），选中项随表单提交，不需要 JS。 */
.search-landing{display:flex;align-items:center;justify-content:center;min-height:58vh}
.search-box{width:100%;max-width:760px;margin:0 auto;text-align:center}
.search-tabs{position:relative;display:inline-flex;gap:4px;padding:5px;margin-bottom:24px;background:#fff;border:1px solid var(--line);border-radius:999px}
.search-tabs input{position:absolute;width:1px;height:1px;opacity:0}
.search-tabs label{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 30px;border-radius:999px;font-size:15px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.search-tabs input:checked+label{background:var(--red);color:#fff}
.search-tabs input:focus-visible+label{outline:2px solid var(--red);outline-offset:2px}
/* 输入框基于 layui-input（layui.css 在前、app.css 在后）；搜索按钮是输入框内的放大镜图标 */
.search-form{position:relative}
.search-input{width:100%;height:54px;line-height:normal;padding:0 56px 0 20px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:16px;color:var(--ink)}
.search-input::placeholder{color:#9aa0a6}
/* layui 对 .layui-input:focus 用了 !important 且是它的绿色(#16b777)，这里同用 !important 抢回品牌红 */
.search-input:focus{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(230,0,18,.08)}
/* 图标按钮绝对定位在输入框右侧内部；右侧内边距(56px)即为它预留的点击区 */
.search-icon-btn{position:absolute;top:0;right:0;bottom:0;width:56px;display:grid;place-items:center;background:transparent;color:#9aa0a6;transition:color .2s}
.search-icon-btn:hover,.search-icon-btn:focus-visible{color:var(--red)}
.search-icon-btn .iconfont{font-size:22px;line-height:1}

/* ===== 通用响应式（断点由大到小） ===== */
@media (min-width:1600px){
.hero h1 {
font-size:90px;
}
.secondary .sub-hero h1 {
font-size:90px;
}
}

@media (min-width:1021px){
.case-detail-page .header-inner {
display:grid;
grid-template-columns:40% 1fr;
gap:8%;
}
.case-detail-page .case-header-navigation {
display:flex;
align-items:center;
min-width:0;
gap:0;
justify-content:space-between;
}
.case-detail-page .header-inner .brand {
justify-self:start;
}
.case-detail-page .case-overview {
grid-template-columns:40% 1fr;
gap:8%;
}
.case-detail-page .case-header-navigation .nav {
display:contents;
}
.header .nav {
flex:0 0 calc(60% - 125px);
justify-content:space-between;
gap:0;
}
.header .header-contact {
flex-shrink:0;
margin-left: 3%;
}
#articles .article-filter-bar,#articles .article-index {
grid-template-columns:minmax(0,1fr) clamp(280px,30%,442px);
gap:45px;
}
#articles .article-filter-bar input,#articles .reading-side {
width:100%;
min-width:0;
}
body main .detail-layout {
grid-template-columns:minmax(0,1fr) 375px;
gap:30px;
}
body main .detail-layout>.detail-aside {
width:100%;
min-width:0;
}
}

@media (max-width:1200px){
.brand span {
display:none;
}
.header-inner {
gap:20px;
}
.nav {
gap:17px;
font-size:14px;
}
.contact-grid {
gap:32px;
}
.contact-card {
padding:24px;
grid-template-columns:1fr 125px;
gap:18px;
}
.qr img {
width:125px;
}
.phone {
font-size:27px;
}
}

@media (max-width:1020px){
.nav {
display:none;
position:fixed;
inset:76px 0 0;
padding:25px;
overflow:auto;
flex-direction:column;
gap:0;
font-size:21px;
background:#eee;
}
.nav.open {
display:flex;
}
.nav a {
border-bottom:1px solid #ffffff30;
padding:17px 10px;
border-bottom-color:#ccc;
}
.menu-toggle {
display:block;
}
.section-head h2 {
font-size:46px;
}
.hero {
height:760px;
min-height:0;
}
.hero h1 {
font-size:60px;
}
.hero-slide>img {
object-position:65% center;
}
.hero-shade {
background:linear-gradient(90deg,#150306bf,#15030610);
}
.case-copy h3 {
font-size:21px;
}
.team-copy {
padding:22px;
}
.team-copy h3 {
font-size:24px;
}
.word-card {
padding:25px;
gap:20px;
}
.word-character {
font-size:85px;
}
.flow {
gap:18px;
}
.flow h3 {
font-size:20px;
}
.flow article {
padding-left:15px;
}
.insights-layout {
gap:28px;
}
.contact-grid {
grid-template-columns:1fr;
}
.contact-card {
grid-template-columns:1fr 150px;
gap:25px;
}
.qr img {
width:150px;
}
.case-copy {
padding:22px;
}
.case-principle h3 {
font-size:36px;
}
.case-principle p {
font-size:16px;
}
.service-image-placeholder {
padding:24px;
}
.footer-top {
grid-template-columns:1fr 1fr;
gap:33px;
}
.flow p {
font-size:18px;
}
.concept-placeholder .case-principle {
padding:30px;
}
.word-image-slot {
width:90px;
flex-basis:90px;
font-size:10px;
}
.contact-copy h2 {
font-size:36px;
}
.sub-hero {
height:670px;
}
.sub-hero h1 {
font-size:54px;
}
.sub-links {
gap:20px;
}
.split {
gap:30px;
}
.service-jumps {
grid-template-columns:repeat(3,1fr);
}
.article-index {
grid-template-columns:1fr 220px;
gap:28px;
}
.detail-layout {
grid-template-columns:1fr 230px;
gap:25px;
}
.sub-card {
padding:25px;
}
.sub-grid {
gap:18px;
}
.reading-item h3 {
font-size:22px;
}
#articles .article-filter-bar {
grid-template-columns:minmax(0,1fr) 220px;
gap:28px;
}
.company .company-profile-split {
gap:30px;
}
#business-contact .business-contact-layout {
gap:28px;
}
.business-contact-info .contact-card {
grid-template-columns:1fr 100px;
padding:22px;
gap:16px;
}
.business-contact-info .contact-card .phone {
font-size:24px;
}
.business-contact-info .contact-copy h2 {
font-size:34px;
}
.client-logo-grid {
grid-template-columns:repeat(4,minmax(0,1fr));
gap:14px;
}
.secondary .sub-hero {
height:760px;
min-height:0;
}
.secondary .sub-hero>img {
object-position:65% center;
}
.secondary .sub-hero:after {
background:linear-gradient(90deg,#150306bf,#15030610);
}
.method-section .word-card {
padding-inline:24px;
gap:18px;
}
.method-section .word-card .word-image-slot {
width:202.5px;
flex-basis:202.5px;
}
.case-detail-page .case-header-navigation {
display:contents;
}
.secondary .sub-hero h1 {
font-size:60px;
}
body main .section-head>h2,body main #cases .section-head>h2,body main .method-section .section-head>h2 {
font-size:clamp(30px,3.1vw,44px);
}
.case-detail-page .case-analysis-grid {
gap:34px;
}
.case-detail-page .case-reason {
grid-template-columns:160px minmax(0,1fr);
gap:28px;
padding:28px;
}
.case-detail-page .case-strategy-grid {
gap:28px;
}
.case-detail-page .case-strategy-card {
padding:0;
}
.case-detail-page .case-strategy-card h3 {
font-size:19px;
}
.case-detail-page .case-application-layout {
gap:30px;
}
.case-detail-page .case-related-browser {
grid-template-columns:36px minmax(0,1fr) 36px;
gap:14px;
}
.case-detail-page .case-related-browser .case-related-track {
gap:16px;
}
.case-detail-page .case-related-arrow {
width:36px;
height:36px;
}
}

@media (max-width:720px){
.wrap {
width:calc(100% - 30px);
}
.header-inner {
gap:12px;
}
.brand img {
width:126px;
}
.header-contact {
font-size:11px;
padding:9px 12px;
}
.menu-toggle {
font-size:12px;
padding:9px 12px;
}
.hero {
height:760px;
}
.hero-content {
align-items:flex-start;
padding:165px 0 95px;
}
.hero-copy {
width:100%;
}
.hero h1 {
font-size:clamp(29px,7.5vw,54px);
letter-spacing:-.045em;
margin:20px 0;
}
.hero .kicker {
font-size:13px;
}
.hero-lead {
font-size:14px;
max-width:430px;
}
.hero-shade {
background:linear-gradient(180deg,#150306aa,#15030640);
}
.hero-slide>img {
object-position:72% center;
}
.hero-actions {
gap:10px;
}
.hero-actions .btn {
font-size:12px;
padding:12px 17px;
gap:16px;
}
.hero-caption {
font-size:11px;
max-width:calc(100% - 40px);
white-space:normal;
width:max-content;
}
.hero-controls {
bottom:22px;
}
.hero-play {
font-size:10px;
padding:7px 9px;
margin-left:4px;
}
.hero-dot {
width:32px;
}
.section {
padding:58px 0;
}
.section_top {
padding-top:25px;
}
.section-head {
margin-bottom:30px;
}
.section-head h2 {
font-size:clamp(29px,8.5vw,42px);
line-height:1.2;
}
.section-head p {
font-size:14px;
}
.kicker {
font-size:11px;
}
.case-copy h3 {
font-size:25px;
}
.case-copy p {
font-size:14px;
}
.case-open {
border-radius:0;
aspect-ratio:1/1;
}
.service-card {
padding:22px 17px;
}
.service-number {
font-size:20px;
top:23px;
right:17px;
}
.service-icon {
width:50px;
height:50px;
}
.service-card .text-link {
gap:8px;
font-size:13px;
}
.word-pair {
grid-template-columns:1fr;
gap:18px;
}
.word-card {
padding:24px;
align-items:flex-start;
gap:18px;
}
.word-character {
font-size:78px;
}
.word-card h3 {
font-size:22px;
}
.method-grid {
grid-template-columns:1fr 1fr;
gap:0 22px;
margin-top:30px;
}
.method-item h3 {
font-size:18px;
}
.team-grid {
grid-template-columns:1fr;
gap:24px;
}
.team-copy {
padding:24px;
}
.team-copy h3 {
font-size:26px;
}
.experience-strip {
grid-template-columns:1fr;
gap:22px;
}
.flow {
grid-template-columns:1fr;
gap:24px;
margin-top:32px;
}
.flow article,.flow article:first-child {
border-left:3px solid #f46a74;
padding-left:20px;
position:relative;
display:block;
padding-right:0;
}
.flow strong {
position:absolute;
top:0;
font-size:40px;
margin:0;
right:0;
}
.flow h3 {
font-size:25px;
margin:12px 0;
min-height:0;
padding-right:55px;
}
.insights-layout {
grid-template-columns:1fr;
gap:27px;
}
.article-list {
grid-template-rows:repeat(5,auto);
}
.article-row {
min-height:95px;
}
.article-copy h3 {
font-size:17px;
}
.contact-grid {
gap:30px;
}
.contact-card {
padding:23px;
grid-template-columns:1fr 114px;
gap:18px;
}
.qr img {
width:114px;
}
.phone {
font-size:24px;
}
.contact-card .email {
font-size:11px;
}
.footer-row {
display:block;
}
.footer-links {
margin-top:24px;
gap:18px;
}
.footer-bottom span {
display:block;
margin-top:10px;
margin:0;
}
.back-top {
bottom:82px;
right:16px;
}
.mobile-bar {
display:flex;
position:fixed;
bottom:0;
left:0;
right:0;
z-index:35;
background:white;
border-top:1px solid var(--line);
padding:10px 16px calc(10px + env(safe-area-inset-bottom));
gap:10px;
}
.mobile-bar a {
flex:1;
min-height:42px;
display:flex;
align-items:center;
justify-content:center;
border:1px solid var(--red);
border-radius:7px;
font-size:13px;
color:var(--red);
}
.mobile-bar a:last-child {
background:var(--red);
color:white;
}
body.menu-open .mobile-bar,body.modal-open .mobile-bar {
display:none;
}
.dialog-body {
padding:22px;
}
.dialog-body h2 {
font-size:25px;
}
.dialog-head {
padding:15px 22px;
}
.case-grid {
grid-template-columns:1fr;
gap:24px;
}
.case-copy {
padding:21px 22px;
}
.case-copy .case-judgment {
font-size:13px;
}
.case-image-label strong {
font-size:23px;
}
.method-section .section-head h2 {
font-size:clamp(25px,7.1vw,34px);
}
.case-principle {
padding:40px 18px 24px;
}
.case-principle h3 {
font-size:32px;
margin-bottom:18px;
}
.case-principle p {
font-size:14px;
}
.image-dimension {
top:14px;
left:15px;
font-size:10px;
}
.service-grid {
grid-template-columns:1fr;
gap:20px;
}
.service-image-placeholder {
padding:26px 23px;
aspect-ratio:1/1;
}
.service-card h3 {
font-size:26px;
}
.service-card p {
font-size:14px;
}
.service-intro-line {
font-size:12px;
white-space:nowrap;
}
.service-intro-line+.service-intro-line:before {
content:"　";
}
.flow p {
font-size:18px;
}
.flow small {
margin-top:18px;
min-height:0;
}
.footer-top {
grid-template-columns:1fr;
gap:32px;
}
.footer-wechat {
width:160px;
}
.footer {
padding-bottom:100px;
}
.footer-bottom {
font-size:10px;
gap:15px;
}
.footer-logo {
width:134px;
}
.concept-placeholder .case-principle {
padding:26px 23px;
}
.concept-placeholder .case-principle h3 {
margin-bottom:14px;
}
.word-card p {
font-size:18px;
}
.stats-section {
padding:42px 0 20px;
}
.stats-grid {
grid-template-columns:1fr 1fr;
gap:28px 24px;
}
.stats-grid article+article:before {
display:none;
}
.stat-value strong {
font-size:50px;
}
.stat-value>span {
font-size:16px;
}
.stats-grid h3 {
font-size:13px;
margin-top:13px;
}
.word-image-slot {
width:78px;
flex-basis:78px;
font-size:9px;
}
.method-item p {
font-size:16px;
}
.contact-copy h2 {
white-space:normal;
text-wrap:balance;
font-size:clamp(27px,7.4vw,34px);
}
.method-bottom {
font-size:24px;
}
.team-copy h3 small {
font-size:inherit;
}
.method-item:nth-child(3) {
border-top:1px solid #ffffff55;
}
.method-item:nth-child(-n+2) {
border-top:0;
}
.method-item small {
font-size:28px;
font-weight:700;
}
.experience-strip strong {
font-size:28px;
}
.contact-phone-list {
position:static;
transform:none;
margin-top:16px;
}
.contact-phone-list a {
font-size:16px;
}
.sub-hero {
height:670px;
padding-top:145px;
align-items:flex-start;
}
.sub-hero h1 {
font-size:clamp(35px,9vw,51px);
margin-top:20px;
}
.sub-hero p {
font-size:15px;
}
.sub-hero>img {
object-position:65% center;
}
.sub-hero:after {
background:linear-gradient(180deg,#140206a8,#14020650);
}
.sub-bar .wrap {
display:block;
padding:14px 0 0;
}
.sub-links {
font-size:12px;
gap:20px;
}
.sub-links a {
padding:10px 0 15px;
}
.breadcrumbs {
font-size:11px;
}
.sub-grid,.split,.fact-row,.detail-layout,.article-index {
grid-template-columns:1fr;
}
.split {
gap:30px;
}
.split.reverse .split-art {
order:0;
}
.split-copy h2 {
font-size:34px;
}
.split-copy>p {
font-size:16px;
}
.service-jumps {
grid-template-columns:repeat(2,1fr);
gap:12px;
}
.secondary .case-grid {
grid-template-columns:1fr;
gap:24px;
}
.project-info {
padding:23px;
}
.project-info h3 {
font-size:26px;
}
.reading-item h3 {
font-size:22px;
}
.reading-side,.detail-aside {
position:static;
}
.filter-bar input {
width:100%;
margin:0;
}
.filter-bar button ,.filter-bar a {
padding:8px 15px;
}
.secondary .contact-card {
grid-template-columns:1fr 114px;
}
.detail-article {
padding:24px;
}
.detail-hero {
padding-top:135px;
}
.detail-article p {
font-size:17px;
}
.sub-card p,.sub-card li {
font-size:16px;
}
.secondary .method-item h3 {
font-size:21px;
}
.sub-bar {
position:relative;
top:0;
}
.secondary section[id] {
scroll-margin-top:96px;
}
.fact-row {
gap:28px;
}
#case-list .case-grid {
grid-template-columns:1fr;
width:calc(100% - 48px);
margin-inline:24px;
}
#case-list .project-info {
inset:auto 0 0;
opacity:1;
padding:22px;
background:linear-gradient(transparent,#25272ad9);
}
#case-list .project-info h3 {
font-size:24px;
}
#case-list .project-info p {
font-size:13px;
}
#case-list .project-info .text-link {
display:none;
}
.category-label {
padding:24px;
}
.category-label h3 {
font-size:24px;
}
.category-frame strong {
font-size:20px;
}
.team-wide-frame {
gap:10px;
}
.team-wide-frame strong {
font-size:17px;
}
.team-wide-frame span {
font-size:16px;
}
.team-wide-frame small {
font-size:13px;
}
#articles .article-filter-bar {
grid-template-columns:1fr;
gap:18px;
}
.company-profile h3 {
font-size:22px;
}
.company-profile p {
font-size:16px;
}
.company .company-profile-split {
grid-template-columns:1fr;
gap:28px;
}
#business-contact .business-contact-layout {
grid-template-columns:1fr;
gap:32px;
}
.business-contact-info .contact-card {
grid-template-columns:minmax(0,1fr) 110px;
}
.company-map-frame strong {
font-size:20px;
}
.company-map-frame>span {
font-size:17px;
}
.client-brand-section {
padding:32px 0 40px;
}
.client-logo-grid {
grid-template-columns:repeat(3,minmax(0,1fr));
gap:12px;
}
.client-logo-cell {
border-radius:8px;
}
.company-location .company-map-frame {
height:auto;
aspect-ratio:4/3;
}
.business-contact-info .contact-copy .kicker {
position:static;
}
.business-contact-info .contact-copy h2 {
margin-top:20px;
}
.experience-strip .experience-icon {
width:40px;
height:40px;
flex-basis:40px;
}
.secondary .sub-hero {
height:760px;
min-height:0;
padding:165px 0 95px;
align-items:flex-start;
}
.secondary .sub-hero>img {
object-position:72% center;
}
.secondary .sub-hero:after {
background:linear-gradient(180deg,#150306aa,#15030640);
}
.client-brand-section .section-head {
margin-bottom:24px;
}
.client-brand-section .section-head .client-brand-summary {
margin-top:14px;
font-size:14px;
}
.method-section .word-pair {
grid-template-columns:1fr;
}
.method-section .word-card {
padding:20px 0;
gap:20px;
}
.method-section .word-card+.word-card {
border-top:1px solid #fff;
}
.method-section .word-card .word-image-slot {
width:175.5px;
flex-basis:175.5px;
}
.method-section .method-grid {
gap:16px;
margin-top:30px;
}
.method-section .method-item {
padding:20px;
border-radius:14px;
}
.team-members .experience-strip .experience-icon {
width:72px;
height:72px;
flex-basis:72px;
}
.team-members .experience-strip article>strong {
gap:14px;
}
.detail-article .article-summary {
font-size:17px;
padding:16px;
}
.case-detail-page .case-overview {
display:block;
min-height:0;
}
.case-detail-page .case-overview-title {
margin-bottom:28px;
}
.case-detail-page .case-heading h1 {
margin:12px 0;
font-size:25px;
}
.case-detail-page #caseIntroduction p {
margin-bottom:16px;
font-size:16px;
}
.case-detail-page .case-project-facts>div {
font-size:13px;
gap:10px;
}
.case-detail-page .case-project-image {
margin-bottom:20px;
}
.case-detail-page .case-project-nav {
padding:26px 0;
}
.case-detail-page .case-project-nav>.wrap {
grid-template-columns:1fr 1fr;
gap:22px;
}
.case-detail-page .case-directory {
grid-column:1/-1;
grid-row:2;
text-align:center;
justify-self:center;
}
.case-detail-page .case-neighbor:last-child {
grid-column:2;
grid-row:1;
}
.case-detail-page .case-neighbor strong {
font-size:14px;
}
.case-detail-page .case-related {
padding:40px 0;
}
.case-detail-page .case-related-head {
margin-bottom:26px;
}
.case-detail-page .case-related-head h2 {
font-size:24px;
}
.case-detail-page .case-pagination {
display:none;
}
.case-detail-page .case-related-track {
display:flex;
overflow-x:auto;
gap:16px;
scroll-snap-type:x mandatory;
padding:4px 0 16px;
overscroll-behavior-x:contain;
}
.case-detail-page .case-related-card {
flex:0 0 76%;
scroll-snap-align:start;
}
.case-detail-page .case-heading {
width:100%;
padding:30px 0;
margin-top:0;
}
.case-detail-page .case-brand-logo {
width:180px;
height:60px;
margin-bottom:28px;
}
.case-detail-page .case-brand-mark {
margin-bottom:28px;
height:101.25px;
}
.case-detail-page .case-brand-name {
font-size:28px;
}
.case-detail-page .case-brand-mark .case-brand-logo:not(.case-brand-logo-pearl) {
width:180px;
height:88px;
}
.case-detail-page .case-logo-placeholder {
width:180px;
}
.case-detail-page .case-logo-pixels-desktop {
display:none;
}
.case-detail-page .case-logo-pixels-mobile {
display:block;
}
#case-list .category-entry-grid {
width:calc(100% - 48px);
margin-inline:24px;
}
.secondary .sub-hero h1 {
font-size:clamp(29px,7.5vw,54px);
letter-spacing:-.045em;
}
body main .section-head>h2,body main #cases .section-head>h2,body main .method-section .section-head>h2 {
font-size:26px;
line-height:1.4;
}
main .section-head h2 br {
display:none;
}
.case-detail-page .case-heading #entryMeta {
font-size:15px;
}
.case-detail-page .case-study {
padding:34px 0;
}
.case-detail-page .case-analysis-grid {
grid-template-columns:1fr;
gap:26px;
}
.case-detail-page .case-analysis-block {
padding-bottom:24px;
}
.case-detail-page .case-analysis-block h2 {
font-size:23px;
margin:10px 0 12px;
}
.case-detail-page .case-analysis-block p,.case-detail-page .case-reason-content>p,.case-detail-page .case-strategy-card p,.case-detail-page #caseApplicationText {
font-size:15px;
line-height:1.9;
}
.case-detail-page .case-reason {
grid-template-columns:1fr;
gap:20px;
padding:24px 20px;
margin:28px 0 34px;
}
.case-detail-page .case-reason-label>p {
margin-top:8px;
font-size:17px;
}
.case-detail-page .case-reason-content h2 {
font-size:25px;
margin-bottom:14px;
}
.case-detail-page .case-evidence {
gap:8px 16px;
margin-top:18px;
}
.case-detail-page .case-study-heading h2 {
font-size:24px;
}
.case-detail-page .case-strategy-grid {
grid-template-columns:1fr;
gap:28px;
}
.case-detail-page .case-strategy-card {
padding:0;
}
.case-detail-page .case-strategy-card h3 {
margin:10px 0;
font-size:20px;
}
.case-detail-page .case-application {
padding:34px 0;
margin-top:20px;
}
.case-detail-page .case-application-layout {
grid-template-columns:1fr;
gap:20px;
}
.case-detail-page .case-application h2 {
font-size:24px;
margin-top:10px;
}
.case-detail-page .case-deliverables {
gap:8px 20px;
}
.case-detail-page .case-overview-copy {
gap:26px;
}
.case-detail-page .case-summary h2 {
font-size:20px;
margin-bottom:12px;
}
.case-detail-page .case-related-browser {
grid-template-columns:28px minmax(0,1fr) 28px;
gap:10px;
}
.case-detail-page .case-related-browser .case-related-track {
grid-template-columns:repeat(2,minmax(0,1fr));
gap:22px 14px;
}
.case-detail-page .case-related-browser .case-related-card {
flex:none;
}
.case-detail-page .case-related-card h3 {
font-size:15px;
line-height:1.5;
margin-top:12px;
}
.case-detail-page .case-related-card p {
font-size:12px;
}
.case-detail-page .case-related-placeholder-art {
font-size:11px;
gap:6px;
padding:8px;
}
.case-detail-page .case-related-placeholder-art strong {
font-size:20px;
}
.case-detail-page .case-related-page {
margin-top:20px;
}
.case-detail-page .case-related-arrow {
width:28px;
height:28px;
font-size:20px;
}
.case-detail-page .case-arrow-chevron {
width:20px;
height:20px;
line-height:20px;
}
.case-detail-page #main {
padding-top:76px;
}
#case-list .case-category-results {
grid-template-columns:1fr;
}
#case-list .category-page-controls {
margin-top:24px;
gap:20px;
}
.split.reverse .split-visual {
order:0;
}
.service-case-link {
right:16px;
bottom:16px;
}
.footer-cta-row {
gap:12px;
}
.company-crosslink .btn {
font-size:13px;
padding:13px 18px;
min-height:auto;
}
.productInquiry {
padding:24px;
max-height:calc(100dvh - 24px);
}
.inquiry-fields {
grid-template-columns:1fr;
gap:18px;
}
.inquiry-header h2 {
font-size:28px;
}
.inquiry-header p {
font-size:13px;
}
.inquiry-choices {
grid-template-columns:repeat(2,1fr);
}
.inquiry-choices label {
padding:11px 8px;
font-size:13px;
}
.friend_link{margin-top:26px;padding-top:18px;gap:10px 15px;font-size:10px}
/* 404 页 */
.notfound{padding:46px 0 60px}
.nf-desc{font-size:13px;line-height:1.85}
.nf-actions{margin-top:26px}
.nf-actions .btn{width:100%;max-width:300px}
.nf-links{margin-top:34px;padding-top:22px;gap:10px 20px}
.nf-links a{font-size:13px}
/* 网站地图 */
.sm-card{flex:1 1 100%;padding:22px 20px 18px}
.sm-card-title{font-size:17px}
.sm-contact{gap:16px}
.sm-contact .contact-panel{padding:18px 16px}
.sm-contact .contact-panel h3{font-size:18px}
.sm-contact .contact-qr{grid-template-columns:144px minmax(0,1fr);gap:12px}
.sm-contact .contact-map{min-height:200px}
/* 搜索首页 */
.search-landing{min-height:40vh}
.search-tabs{margin-bottom:18px}
.search-tabs label{min-height:36px;padding:0 22px;font-size:14px}
.search-input{height:48px;padding:0 50px 0 16px;font-size:15px}
.search-icon-btn{width:50px}
.search-icon-btn .iconfont{font-size:20px}
}

@media (max-width:480px){
.method-section .word-card {
flex-direction:column;
align-items:center;
gap:16px;
}
.method-section .word-card>div {
width:100%;
}
.method-section .method-grid {
grid-template-columns:1fr;
}
}

@media (max-width:380px){
.contact-card {
grid-template-columns:1fr;
}
.qr {
width:140px;
}
.qr img {
width:140px;
}
.office {
grid-column:1;
}
.header-contact {
padding:8px;
}
.header-inner {
gap:8px;
}
.brand img {
width:113px;
}
.hero h1 {
font-size:clamp(25px,7.5vw,30px);
}
.secondary .contact-card {
grid-template-columns:1fr;
}
.business-contact-info .contact-phone-list {
left:130px;
}
.business-contact-info .contact-phone-list a {
font-size:13px;
}
.secondary .sub-hero h1 {
font-size:clamp(25px,7.5vw,30px);
}
}

@media (max-width:360px){
.service-intro-line {
font-size:11px;
}
.service-intro-line+.service-intro-line:before {
content:" ";
}
body main .section-head>h2,body main #cases .section-head>h2,body main .method-section .section-head>h2 {
font-size:22px;
}
}

@media (hover:none){
#case-list .project-info {
opacity:1;
inset:auto 0 0;
background:linear-gradient(transparent,#25272ad9);
}
}

@media (prefers-reduced-motion:reduce){
html {
scroll-behavior:auto;
}
*,*:before,*:after {
transition:none!important;
}
.case-detail-page .case-related-card img {
transition:none;
}
}

/* ===== 页面专属 ===== */
:where([data-page="whitepaper-2026"]) .whitepaper-cover {
display:block;
max-height:none;
aspect-ratio:1;
object-fit:cover;
height: auto;
}
:where([data-page="whitepaper-2026"]) .whitepaper-lead {
padding:24px 0;
border-bottom:1px solid #ddd;
}
:where([data-page="whitepaper-2026"]) .detail-article section {
scroll-margin-top:130px;
}
:where([data-page="whitepaper-2026"]) .whitepaper-action {
border-top:1px solid #ddd;
margin-top:30px;
}
:where([data-page="whitepaper-2026"]) .detail-aside nav a {
line-height:1.6;
}
:where([data-page="whitepaper-2026"]) .detail-hero {
background:linear-gradient(120deg,#26070d,#151316);
}
:where([data-page="insights"]) #featured .whitepaper-feature {
color:inherit;
text-decoration:none;
}
:where([data-page="insights"]) #featured .whitepaper-feature .split-art {
display:block;
aspect-ratio:1;
border:0;
background:#251010;
gap:0;
}
:where([data-page="insights"]) #featured .whitepaper-feature .split-art img {
display:block;
width:100%;
height:100%;
object-fit:cover;
}
:where([data-page="insights"]) #featured .whitepaper-feature:focus-visible {
outline:3px solid #E60012;
outline-offset:6px;
}
:where([data-page="insights"]) #featured .whitepaper-feature:hover .btn {
background:#b9000e;
}
:where([data-page="insights"]) #featured .split-copy .kicker {
margin-bottom:12px;
}
:where([data-page="insights"]) #featured .whitepaper-feature .split-copy h2 {
font-size:clamp(26px,2.15vw,34px);
line-height:1.35;
white-space:nowrap;
}
:where([data-page="contact"]) .company-location .company-map-connected {
display:flex;
flex-direction:column;
position:relative;
min-height:420px;
border:1px solid #dfe2e6;
border-radius:16px;
overflow:hidden;
background:#f2f3f4;
gap:0;
text-align:left;
color:#25282c;
}
:where([data-page="contact"]) .company-map-embed {
display:block;
flex:1 1 auto;
width:100%;
min-height:300px;
border:0;
background:#e8ebee;
}
:where([data-page="contact"]) .company-map-info {
display:flex;
align-items:center;
gap:12px;
flex-wrap:wrap;
width:100%;
box-sizing:border-box;
padding:20px;
background:#fff;
border-top:1px solid #e4e6e8;
}
:where([data-page="contact"]) .company-map-info>div {
flex:1 1 100%;
}
:where([data-page="contact"]) .company-map-info strong {
font-size:18px;
font-weight:600;
}
:where([data-page="contact"]) .company-map-info p {
font-size:13px;
color:#666;
line-height:1.7;
margin:6px 0 0;
}
:where([data-page="contact"]) .company-map-info .btn {
font-size:13px;
padding:12px 18px;
white-space:nowrap;
}
:where([data-page="contact"]) .company-map-route {
font-size:13px;
color:#E60012;
}
:where([data-page="contact"]) #cooperation.process-section {
background-color:#171313;
background-image:linear-gradient(rgba(12,10,12,.18),rgba(12,10,12,.38)),url("../img/hz_bg.jpg");
background-position:center;
background-size:cover;
background-repeat:no-repeat;
}
:where([data-page="contact"]) #cooperation.process-section::before {
content:none;
display:none;
}
.business-contact .business-contact-info .contact-card {
background:transparent;
border:0;
border-radius:0;
box-shadow:none;
padding:0;
column-gap:24px;
}
.business-contact .contact-card .office {
margin-left:0;
margin-right:0;
}
:where([data-page="contact"]) .company-map-static {
position:relative;
display:block;
flex:1 1 auto;
min-height:300px;
width:100%;
overflow:hidden;
background:#edf0eb;
}
:where([data-page="contact"]) .company-map-static img {
position:absolute;
inset:0;
display:block;
width:100%;
height:100%;
object-fit:cover;
object-position:center;
}
:where([data-page="contact"]) .company-map-static:focus-visible {
outline:3px solid #E60012;
outline-offset:-3px;
}

:where([data-page="home"]) #team .team-wide-frame {
width:100vw;
max-width:none;
margin-left:calc(50% - 50vw);
height:auto;
aspect-ratio:16/6;
box-sizing:border-box;
}
:where([data-page="home"]) #contact .contact-card {
grid-template-columns:1fr;
}
:where([data-page="home"]) #team a.team-wide-frame {
text-decoration:none;
}
:where([data-page="home"]) #team a.team-wide-frame:focus-visible {
outline:3px solid var(--red);
outline-offset:-4px;
}
:where([data-page="home"]) .client-brand-section {
background:#fafafa;
}
:where([data-page="home"]) .hero-play {
background:transparent;
border:0;
border-radius:0;
box-shadow:none;
}
:where([data-page="home"]) #cases {
padding:64px 0;
}
:where([data-page="home"]) #cases .section-head {
margin-bottom:32px;
}
:where([data-page="home"]) #cases .section-head h2 {
font-size:clamp(32px,3.5vw,48px);
line-height:1.2;
}
:where([data-page="home"]) #cases .section-head p {
margin-top:16px;
}
:where([data-page="home"]) #cases .case-grid {
grid-template-columns:repeat(4,minmax(0,1fr));
gap:24px;
width:100%;
margin:0;
}
:where([data-page="home"]) #cases .case-card {
border:0;
background:none;
}
:where([data-page="home"]) #cases .principle-preview {
aspect-ratio:auto;
display:flex;
flex-direction:column;
background:transparent;
border:0;
overflow:visible;
color:#25282c;
}
:where([data-page="home"]) #cases .principle-art {
width:100%;
aspect-ratio:3/2;
background:#e8ebee;
border:1px dashed #adb5bf;
box-sizing:border-box;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:10px;
color:#7c858f;
font-size:15px;
}
:where([data-page="home"]) #cases .principle-art small {
font-size:12px;
}
:where([data-page="home"]) #cases .principle-copy {
display:block;
padding-top:20px;
}
:where([data-page="home"]) #cases .principle-copy h3 {
font-size:26px;
line-height:1.3;
margin:0 0 10px;
color:#25282c;
}
:where([data-page="home"]) #cases .principle-copy p {
font-size:15px;
line-height:1.7;
color:#757b83;
margin:0;
}
:where([data-page="home"]) #cases .center-action {
margin-top:30px;
}
:where([data-page="home"]) #cases .principle-preview:hover .principle-art {
border-color:#E60012;
}
:where([data-page="home"]) #cases .principle-preview:focus-visible {
outline:2px solid #E60012;
outline-offset:6px;
}
:where([data-page="home"]) #cases .principle-art {
aspect-ratio:1/1;
}
:where([data-page="home"]) #cases .principle-copy p span {
display:block;
}
:where([data-page="home"]) #cases .principle-preview {
cursor:default;
}
:where([data-page="home"]) #cases .principle-preview:hover .principle-art {
border-color:#adb5bf;
}
:where([data-page="home"]) #cases .principle-copy {
position:relative;
margin-top:20px;
padding:0 0 0 18px;
border-left:2px solid #E60012;
box-sizing:border-box;
}
:where([data-page="home"]) #cases .principle-copy h3 {
margin-top:0;
}
:where([data-page="home"]) #team .experience-strip article {
text-align:center;
}
:where([data-page="home"]) #team .experience-strip article>strong {
flex-direction:column;
align-items:center;
justify-content:center;
gap:18px;
}
:where([data-page="home"]) #team .experience-strip .experience-icon {
width:88px;
height:88px;
flex:0 0 88px;
}
:where([data-page="home"]) #team .experience-strip article>p {
margin:16px auto 0;
max-width:350px;
text-align:center;
}
:where([data-page="home"]) #team .experience-strip article>strong>span {
color:#000;
}
:where([data-page="home"]) .client-brand-section .section-head {
margin-bottom:32px;
max-width:var(--max);
}
:where([data-page="home"]) main .section-head {
max-width:var(--max);
margin-bottom:32px;
}
:where([data-page="home"]) main .section-head h2 {
font-size:clamp(32px,4.2vw,64px);
line-height:1.15;
margin-top:16px;
text-wrap:balance;
}
:where([data-page="home"]) main .section-head p, :where([data-page="home"]) main #cases .section-head p {
max-width:1100px;
margin:18px auto 0;
font-size:15px;
line-height:1.9;
text-align:center;
}
:where([data-page="home"]) #team .team-wide-frame {
display:block;
border:0;
background:#a7a9ad;
overflow:hidden;
}
:where([data-page="home"]) #team .team-wide-frame img {
display:block;
width:100%;
height:100%;
aspect-ratio:16/6;
object-fit:contain;
object-position:center;
}
:where([data-page="home"]) .process.process-section:before {
background:linear-gradient(rgba(12,10,12,.32),rgba(12,10,12,.58)),var(--process-art) center/cover no-repeat;
}
.process.process-section {
background-color:#171313;
background-image:linear-gradient(rgba(12,10,12,.18),rgba(12,10,12,.38)),url("../img/hz_bg.jpg");
background-position:center;
background-size:cover;
background-repeat:no-repeat;
}
:where([data-page="home"]) .process.process-section::before {
content:none;
display:none;
}
:where([data-page="home"]) #cases .principle-art-filled {
display:block;
background:#241011;
border:0;
overflow:hidden;
}
:where([data-page="home"]) #cases .principle-art-filled img {
display:block;
width:100%;
height:100%;
object-fit:cover;
aspect-ratio:1/1;
}
:where([data-page="home"]) #services .service-card.service-image-filled {
border:0;
background:#231b16;
isolation:isolate;
}
:where([data-page="home"]) #services .service-card.service-image-filled:before {
content:none;
}
:where([data-page="home"]) #services .service-image-filled .service-card-image {
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:-2;
}
:where([data-page="home"]) #services .service-image-filled:after {
content:"";
position:absolute;
inset:42% 0 0;
background:linear-gradient(transparent,rgba(14,10,7,.42) 40%,rgba(14,10,7,.94));
z-index:-1;
pointer-events:none;
}
:where([data-page="home"]) #services .service-image-filled .service-overlay {
position:relative;
z-index:1;
}
:where([data-page="home"]) #services .service-image-filled h3 {
color:#fff;
}
:where([data-page="home"]) #services .service-image-filled p {
color:rgba(255,255,255,.86);
margin-bottom:0;
}

/* ===== 页面专属响应式（断点由大到小） ===== */
@media (max-width:1020px) and (min-width:721px){
:where([data-page="home"]) main .section-head h2 {
font-size:46px;
}
}

@media (max-width:1020px){
:where([data-page="insights"]) #featured .whitepaper-feature .split-copy h2 {
white-space:normal;font-size:clamp(26px,3.3vw,34px);
}
}

@media (max-width:720px){
:where([data-page="contact"]) .company-location .company-map-connected {
aspect-ratio:auto;height:460px;min-height:0;
}
:where([data-page="contact"]) .company-map-embed {
min-height:260px;
}
:where([data-page="contact"]) .company-map-info {
padding:16px;
}
:where([data-page="contact"]) .company-map-static {
min-height:260px;
}
}

@media (max-width:720px){
:where([data-page="home"]) #cases {
padding:48px 0;
}
:where([data-page="home"]) #cases .case-grid {
grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px;
}
:where([data-page="home"]) #cases .section-head h2 {
font-size:30px;
}
:where([data-page="home"]) #cases .principle-copy {
padding-top:14px;
}
:where([data-page="home"]) #cases .principle-copy h3 {
font-size:21px;
}
:where([data-page="home"]) #cases .principle-copy p {
font-size:13px;
}
:where([data-page="home"]) #cases .principle-art {
font-size:13px;gap:7px;
}
:where([data-page="home"]) #cases .principle-art small {
font-size:10px;
}
:where([data-page="home"]) #cases .principle-copy {
margin-top:16px;padding-left:12px;
}
:where([data-page="home"]) #team .experience-strip .experience-icon {
width:72px;height:72px;flex-basis:72px;
}
:where([data-page="home"]) #team .experience-strip article>strong {
gap:14px;
}
:where([data-page="home"]) main .section-head, :where([data-page="home"]) main #cases .section-head {
margin-bottom:24px;
}
:where([data-page="home"]) main .section-head h2, :where([data-page="home"]) main #cases .section-head h2, :where([data-page="home"]) main .method-section .section-head h2 {
font-size:clamp(29px,8.5vw,42px);line-height:1.2;
}
:where([data-page="home"]) main .section-head p, :where([data-page="home"]) main #cases .section-head p, :where([data-page="home"]) main .client-brand-section .section-head .client-brand-summary {
margin-top:14px;font-size:14px;
}
:where([data-page="home"]) #team .team-wide-frame {
aspect-ratio:16/9;
}
:where([data-page="home"]) #team .team-wide-frame img {
aspect-ratio:16/9;object-fit:cover;object-position:center;
}
}

@media (max-width:var(--max)){
:where([data-page="home"]) .brand span {
display:none;
}
:where([data-page="home"]) .header-inner {
gap:20px;
}
:where([data-page="home"]) .contact-grid {
gap:32px;
}
:where([data-page="home"]) .contact-card {
padding:24px;grid-template-columns:1fr 125px;gap:18px;
}
:where([data-page="home"]) .qr img {
width:125px;
}
:where([data-page="home"]) .phone {
font-size:27px;
}
}