:root{--red:#a90000;--ink:#262626;--muted:#777;--line:#dedede;--paper:#fff;--wash:#f6f6f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{height:102px;background:#fff;display:flex;align-items:center;gap:54px;padding:0 max(24px,calc((100% - 1200px)/2));position:relative;z-index:2}.brand{display:flex;align-items:center;gap:11px;min-width:205px}.brand-mark{width:47px;height:47px;border:6px solid var(--red);border-right-color:transparent;border-radius:50%;transform:rotate(-25deg);position:relative}.brand-mark:after{content:"";position:absolute;width:23px;height:23px;border:5px solid #222;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;top:6px;left:8px}.brand-name{font-size:24px;font-weight:700;letter-spacing:-1px}.nav{display:flex;align-items:stretch;height:100%;gap:2px}.nav a{padding:0 18px;display:flex;align-items:center;font-size:15px;white-space:nowrap}.nav a:hover,.nav a.active{background:var(--red);color:#fff}.menu-toggle{display:none}.hero{position:relative}.hero img{width:100%;height:435px;object-fit:cover}.hero-caption{background:var(--red);color:#fff;text-align:center;padding:48px 20px 42px}.hero-caption h1{font-size:31px;line-height:1.3;font-weight:400;margin:0 0 16px}.hero-caption p{font-size:18px;font-weight:700;margin:0}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:68px;max-width:1180px;margin:58px auto 70px;padding:0 20px}.quick-links a{border:1px solid #777;padding:13px;text-align:center;font-size:16px;transition:.25s}.quick-links a:hover{background:var(--red);border-color:var(--red);color:#fff}.section{padding:74px 20px}.section.alt{background:var(--wash)}.container{max-width:1180px;margin:0 auto}.section-head{text-align:center;margin-bottom:40px}.section-head h2{font-size:28px;font-weight:400;margin:0;color:#222}.section-head .en{font-size:13px;letter-spacing:2px;color:#aaa;margin-top:3px}.section-head .rule{width:52px;height:2px;background:var(--red);margin:15px auto 0}.intro{max-width:980px;margin:0 auto;text-align:center;color:#555}.stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:760px;margin:44px auto 0;text-align:center}.stat strong{display:block;color:var(--red);font-size:42px;line-height:1}.stat span{font-size:15px;color:#666}.actions{text-align:center;margin-top:36px}.btn{display:inline-block;border:1px solid var(--red);color:var(--red);padding:9px 26px;margin:0 7px;transition:.25s}.btn:hover{background:var(--red);color:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{background:#fff;min-height:164px;padding:25px 22px;border-top:3px solid var(--red);box-shadow:0 2px 8px #0000000d}.service h3{margin:0 0 8px;font-size:18px;font-weight:400}.service p{margin:0;color:#777;font-size:14px}.partner-track{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.partner{height:78px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#888;font-weight:700;background:#fff}.events{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.event{border:1px solid var(--line);padding:20px;background:#fff}.event h3{font-size:17px;font-weight:400;margin:0 0 10px;line-height:1.45}.event p{font-size:13px;color:#777;margin:0}.media-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.media-card{padding:22px;border-left:3px solid var(--red);background:#fff}.media-card h3{margin:0;font-weight:400;font-size:18px}.media-card p{color:#777;margin:5px 0 0}.news-list{list-style:none;padding:0;margin:30px 0 0}.news-list li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.news-list time{color:#999}.peripheral{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.peripheral a{background:#2e3d40;color:#fff;min-height:170px;padding:28px;display:flex;align-items:flex-end;font-size:20px;position:relative;overflow:hidden}.peripheral a:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#a90000aa,#26363a99);opacity:.75}.peripheral span{position:relative}.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-list{list-style:none;padding:0;margin:0;color:#555}.contact-list li{margin:7px 0}.map{min-height:280px;background:url('../images/venue.svg') center/cover no-repeat;border:1px solid var(--line)}footer{background:#252d2f;color:#ddd;padding:48px 20px}.footer-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}.footer-title{color:#fff;font-size:18px;margin:0 0 15px}.footer-copy{color:#abb4b4;font-size:13px}.float-service{position:fixed;right:0;top:40%;background:#f0342b;color:#fff;padding:12px 10px;z-index:5;text-align:center;font-size:13px}.float-service b{display:block;font-size:20px}.breadcrumb{max-width:1180px;margin:0 auto;padding:26px 20px;color:#999;font-size:14px}.inner{padding:0 20px 80px}.page-title{text-align:center;font-size:30px;font-weight:400;margin:10px 0 40px}.split{display:grid;grid-template-columns:240px 1fr;gap:40px}.side-nav{border-right:1px solid var(--line)}.side-nav a{display:block;padding:12px 18px;border-bottom:1px solid var(--line)}.side-nav a.active,.side-nav a:hover{color:#fff;background:var(--red)}.content h3{font-size:22px;font-weight:400;margin:0 0 14px}.content p{color:#555}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{border:1px solid var(--line);background:#fff}.product-thumb{height:160px;background:linear-gradient(135deg,#dfe7e5,#94a9ad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px}.product-card h3{font-size:16px;font-weight:400;padding:14px 16px;margin:0}.list-layout{max-width:980px;margin:0 auto}.article{max-width:900px;margin:0 auto}.article h1{text-align:center;font-size:28px;font-weight:400}.meta{text-align:center;color:#999;font-size:13px;margin:10px 0 35px}.article p{color:#555;text-indent:2em}.login-box{max-width:560px;margin:0 auto;border:1px solid var(--line);padding:35px}.field{display:flex;align-items:center;border-bottom:1px solid var(--line);margin-bottom:20px}.field label{width:80px;color:#777}.field input{border:0;outline:0;padding:10px 0;flex:1;font-size:15px}.searchbar{display:flex;max-width:600px;margin:0 auto 35px}.searchbar input{flex:1;padding:12px;border:1px solid var(--line)}.searchbar button{border:0;background:var(--red);color:#fff;padding:0 25px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery div{height:100px;background:#eef1ef;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#8b9290}
@media(max-width:900px){.site-header{height:auto;min-height:56px;padding:10px 20px;justify-content:space-between;gap:10px}.brand{min-width:0}.brand-name{font-size:18px}.brand-mark{width:36px;height:36px;border-width:5px}.nav{display:none;position:absolute;left:0;right:0;top:56px;background:#fff;height:auto;flex-direction:column;box-shadow:0 8px 12px #0002}.nav.open{display:flex}.nav a{padding:12px 22px;border-bottom:1px solid #eee}.menu-toggle{display:block;border:0;background:none;font-size:25px;color:var(--red)}.hero img{height:230px}.hero-caption{padding:33px 15px 43px}.hero-caption h1{font-size:22px}.hero-caption p{font-size:14px}.quick-links{grid-template-columns:repeat(4,1fr);gap:48px;margin:57px auto 30px;padding:0 24px}.section{padding:48px 16px}.section-head{margin-bottom:2px}.stats{grid-template-columns:1fr;gap:20px}.service-grid,.events,.media-grid,.peripheral,.contact,.footer-grid,.split{grid-template-columns:1fr}.partner-track{grid-template-columns:repeat(3,1fr)}.side-nav{border-right:0;border-bottom:1px solid var(--line)}.product-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.page-title{font-size:25px}.float-service{top:auto;bottom:20px}}
@media(max-width:520px){.product-grid{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr}.partner-track{grid-template-columns:repeat(2,1fr)}}

/* Reference-aligned finishing pass */
.site-header{box-shadow:0 1px 0 rgba(0,0,0,.04)}
.nav a{min-width:94px;justify-content:center;padding:0 12px}
.nav a.active{height:50px;align-self:center}
.hero-caption{position:relative;overflow:hidden}
.hero-caption h1{display:flex;align-items:center;justify-content:center;gap:58px}
.hero-caption h1:before,.hero-caption h1:after{content:"";display:block;width:218px;height:3px;background:#fff;flex:0 0 auto}
.hero-caption p{letter-spacing:.15px}
.quick-links a{height:50px;display:flex;align-items:center;justify-content:center}
.section-head h2{letter-spacing:.3px}
.section-head .en{letter-spacing:2.8px}
.intro{line-height:2.05}
.service{transition:transform .25s ease,box-shadow .25s ease}
.service:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(0,0,0,.09)}
.partner{transition:border-color .25s ease,color .25s ease,background .25s ease}
.partner:hover{border-color:var(--red);color:var(--red);background:#fffafa}
.event{transition:transform .25s ease,box-shadow .25s ease}
.event:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.content>img{margin:20px auto 36px}
.inner .page-title{margin-bottom:48px}
.article{padding-top:4px}
.article h1{line-height:1.35}
@media(max-width:900px){.nav a{min-width:0;justify-content:flex-start}.nav a.active{height:auto;align-self:stretch}.hero-caption h1{gap:16px}.hero-caption h1:before,.hero-caption h1:after{width:42px;height:2px}.quick-links a{height:48px}.section-head{margin-bottom:32px}}
@media(max-width:520px){.hero-caption h1{display:block}.hero-caption h1:before,.hero-caption h1:after{display:none}.hero-caption p{line-height:1.5}.inner .page-title{margin-bottom:34px}}

/* Use local raster photography for the visual surfaces. */
.hero img{content:url('../images/hero-city.jpg')}
.map{background-image:url('../images/venue-hall.jpg')}
.contact-section{background:#fafaf8}.contact-panel{align-items:stretch;gap:0;max-width:1080px;margin:34px auto 0;background:#fff;border:1px solid #e4e4df;box-shadow:0 16px 36px rgba(38,38,38,.06)}.contact-info{padding:42px 48px 38px;position:relative}.contact-kicker{display:block;color:var(--red);font-size:11px;letter-spacing:2.5px;margin-bottom:13px}.contact-info h3{font-size:25px;font-weight:400;line-height:1.35;margin:0 0 11px}.contact-info>p{color:#777;font-size:14px;max-width:430px;margin:0 0 25px}.contact-list{border-top:1px solid #ecece8;padding-top:10px}.contact-list li{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:baseline;margin:0;padding:9px 0;border-bottom:1px solid #f0f0ec;font-size:14px}.contact-list li span{color:#999;font-size:12px}.contact-list li b{font-weight:400;color:#333}.contact-cta{display:inline-flex;align-items:center;gap:20px;margin-top:24px;color:var(--red);font-size:13px;border-bottom:1px solid #e9b6b6;padding-bottom:4px}.contact-cta span{font-size:18px;line-height:1}.contact-panel>.map{min-height:100%;position:relative;background-position:center;background-size:cover}.map:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(169,0,0,.08),rgba(24,44,48,.28))}.map-badge{position:absolute;z-index:1;left:24px;bottom:24px;background:#fff;padding:14px 17px;min-width:210px;box-shadow:0 8px 22px rgba(0,0,0,.14)}.map-badge b,.map-badge small,.map-badge span{display:block}.map-badge b{font-size:14px;font-weight:400}.map-badge small{color:#777;font-size:12px;margin-top:2px}.map-badge span{color:var(--red);font-size:11px;margin-top:8px}.contact-note{max-width:1080px;margin:20px auto 0;padding:16px 20px;border-left:3px solid var(--red);background:#fff;color:#777;display:flex;gap:20px;align-items:baseline}.contact-note span{color:#333;font-size:14px;white-space:nowrap}.contact-note p{margin:0;font-size:13px}.contact-page-intro{color:#666;margin:0 auto 28px;text-align:center}.contact-page .contact-panel{margin-top:0}
@media(max-width:900px){.contact-panel{grid-template-columns:1fr}.contact-panel>.map{min-height:300px}.contact-info{padding:32px 24px}.contact-note{display:block}.contact-note p{margin-top:6px}}
@media(max-width:520px){.contact-info h3{font-size:22px}.contact-list li{grid-template-columns:72px 1fr;gap:9px;font-size:13px}.map-badge{left:16px;bottom:16px;min-width:0;right:16px}}

#thisForm{display:block;overflow:hidden;max-width:1080px;margin:28px auto 0;padding:30px 40px 34px;background:#fff;border:1px solid #e4e4df;box-shadow:0 12px 30px rgba(38,38,38,.07)}
#thisForm:before{content:'咨询表单';display:block;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid #ecece8;color:#222;font-size:18px;font-weight:400}
#thisForm>div{padding:0;display:flex;flex-direction:column;gap:14px}
#thisForm>div:first-of-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#thisForm>div:last-of-type{margin-top:16px}
#thisForm input,#thisForm textarea{width:100%;border:1px solid #dcded9;border-radius:0;background:#fafaf8;color:#333;font:inherit;padding:12px 14px;outline:0;transition:border-color .2s,background .2s,box-shadow .2s}
#thisForm input::placeholder,#thisForm textarea::placeholder{color:#a2a6a2}
#thisForm input:focus,#thisForm textarea:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 3px rgba(169,0,0,.08)}
#thisForm textarea{min-height:132px;resize:vertical;line-height:1.7}
#thisForm button{display:block;min-width:142px;margin:8px auto 0;white-space:nowrap}
@media(max-width:900px){#thisForm{margin-top:24px;padding:26px 24px 30px}#thisForm>div:first-of-type{grid-template-columns:1fr;gap:12px}}
@media(max-width:520px){#thisForm{padding:22px 16px 26px}#thisForm:before{margin-bottom:16px;font-size:17px}#thisForm>div:last-of-type{margin-top:12px}#thisForm button{width:100%;max-width:240px}}
.detail-copy{max-width:980px;margin:0 auto;color:#555}.detail-copy p{margin:0 0 14px;text-align:center}.highlight-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:34px auto 0}.highlight-row>div{border-left:3px solid var(--red);padding:14px 16px;background:#fff}.highlight-row b{display:block;font-size:17px;font-weight:400;margin-bottom:5px}.highlight-row span{display:block;color:#777;font-size:13px;line-height:1.6}.section-lead{max-width:850px;margin:0 auto 28px;text-align:center;color:#666}.service a{display:inline-block;margin-top:12px;color:var(--red);font-size:13px}.product-card p{padding:0 16px 16px;margin:0;color:#777;font-size:13px;line-height:1.6}.event-tag{display:inline-block;color:var(--red);font-size:12px;letter-spacing:.5px;margin-bottom:8px}.event small{display:block;color:#999;font-size:12px;margin-top:14px}.media-card span{display:block;color:#777;font-size:13px;margin-top:10px}.news-list li a{display:flex;flex-direction:column;gap:2px}.news-list li em{font-style:normal;color:#888;font-size:12px}.peripheral a span{display:flex;flex-direction:column;gap:5px}.peripheral a b{font-weight:400}.peripheral a small{font-size:12px;color:#eee}.form-note{font-size:13px;color:#888;margin:24px 0 0}.audience-content h3{font-size:21px;font-weight:400;margin-top:38px}
@media(max-width:900px){.highlight-row{grid-template-columns:1fr;gap:12px}.detail-copy p{text-align:left}.section-lead{margin-bottom:22px}}

/* Ambient motion and viewport reveals */
.hero img{animation:hero-drift 14s ease-in-out infinite alternate;transform-origin:center center}
.hero-caption h1:before,.hero-caption h1:after{animation:line-pulse 3.8s ease-in-out infinite}
.brand-mark{animation:mark-breathe 4.6s ease-in-out infinite}
.brand{min-width:58px;gap:0}
.brand-logo{width:54px;height:54px;object-fit:contain}
@media(max-width:900px){.brand-logo{width:42px;height:42px}}
@media(min-width:901px){
  .site-header{position:relative}
  .site-header .nav{
    position:absolute;
    left:50%;
    top:0;
    height:100%;
    transform:translateX(-50%);
    justify-content:center;
  }
  .site-header .nav a{justify-content:center;text-align:center}
}
.float-service{animation:service-float 3.6s ease-in-out infinite}
.quick-links a{position:relative;overflow:hidden}
.quick-links a:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.35) 50%,transparent 75%);transform:translateX(-120%);animation:link-sheen 6s ease-in-out infinite}
.quick-links a:nth-child(2):after{animation-delay:1.2s}.quick-links a:nth-child(3):after{animation-delay:2.4s}.quick-links a:nth-child(4):after{animation-delay:3.6s}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s cubic-bezier(.22,.7,.25,1);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}
.reveal .service,.reveal .event,.reveal .partner,.reveal .media-card,.reveal .product-card{animation:card-rise .6s both;animation-play-state:paused;animation-delay:calc(var(--reveal-delay,0ms) + 100ms)}
.reveal.is-visible .service,.reveal.is-visible .event,.reveal.is-visible .partner,.reveal.is-visible .media-card,.reveal.is-visible .product-card{animation-play-state:running}
.reveal .service:nth-child(2),.reveal .event:nth-child(2),.reveal .partner:nth-child(2),.reveal .media-card:nth-child(2),.reveal .product-card:nth-child(2){animation-delay:calc(var(--reveal-delay,0ms) + 170ms)}
.reveal .service:nth-child(3),.reveal .event:nth-child(3),.reveal .partner:nth-child(3),.reveal .media-card:nth-child(3),.reveal .product-card:nth-child(3){animation-delay:calc(var(--reveal-delay,0ms) + 240ms)}
.reveal .service:nth-child(4),.reveal .event:nth-child(4),.reveal .partner:nth-child(4),.reveal .product-card:nth-child(4){animation-delay:calc(var(--reveal-delay,0ms) + 310ms)}
@keyframes hero-drift{0%{transform:scale(1.02) translate3d(-.5%,0,0)}100%{transform:scale(1.07) translate3d(.5%,-1%,0)}}
@keyframes line-pulse{0%,100%{opacity:.6;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1)}}
@keyframes mark-breathe{0%,100%{transform:rotate(-25deg) scale(1)}50%{transform:rotate(-25deg) scale(1.06)}}
@keyframes service-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes link-sheen{0%,35%{transform:translateX(-120%)}65%,100%{transform:translateX(120%)}}
@keyframes card-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.reveal .news-list li{opacity:0;transform:translateX(-12px);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--reveal-delay,0ms) + 90ms)}
.reveal.is-visible .news-list li{opacity:1;transform:none}
.reveal.is-visible .news-list li:nth-child(2){transition-delay:calc(var(--reveal-delay,0ms) + 150ms)}
.reveal.is-visible .news-list li:nth-child(3){transition-delay:calc(var(--reveal-delay,0ms) + 210ms)}
.reveal.is-visible .news-list li:nth-child(4){transition-delay:calc(var(--reveal-delay,0ms) + 270ms)}
.reveal.is-visible .news-list li:nth-child(5){transition-delay:calc(var(--reveal-delay,0ms) + 330ms)}
.reveal.is-visible .news-list li:nth-child(6){transition-delay:calc(var(--reveal-delay,0ms) + 390ms)}
.reveal.is-visible .page-title,.reveal.is-visible .section-lead{animation:text-rise .65s both}
@keyframes text-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Exhibition details visual refinement */
.section:has(.detail-copy){position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff 72%,#fbfbf8 100%)}
.section:has(.detail-copy):before{content:"DETAIL / 01";position:absolute;top:30px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:3px;color:#b8b8b1;opacity:.8}
.section:has(.detail-copy) .section-head{margin-bottom:30px}
.section:has(.detail-copy) .section-head .rule{width:76px;height:3px;box-shadow:0 0 0 5px rgba(169,0,0,.06)}
.detail-copy{position:relative;max-width:900px;padding:0 24px;margin:0 auto;color:#555}
.detail-copy:before{display:none}
.detail-copy p{font-size:16px;line-height:2.05;text-align:left;margin:0 0 18px;color:#555}
.detail-copy p:first-child{font-size:17px;color:#333}
.detail-copy .detail-kicker{display:block;margin-bottom:10px;color:var(--red);font-size:11px;letter-spacing:2.4px;font-weight:700}
.detail-copy h3{margin:0 0 14px;font-size:27px;font-weight:400;line-height:1.35;color:#252525}
.detail-copy .detail-lead{font-size:18px;line-height:1.85;color:#333;margin-bottom:12px}
.detail-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:22px;padding-top:16px;border-top:1px solid #e7e7e1;color:#777;font-size:12px}
.detail-meta span{display:inline-flex;gap:7px;align-items:center}.detail-meta b{color:#252525;font-size:11px;letter-spacing:1px}
.highlight-row{position:relative;max-width:980px;margin:36px auto 0;gap:0;border-top:1px solid #e6e6e0;border-bottom:1px solid #e6e6e0;background:#fff}
.highlight-row>div{min-height:112px;padding:20px 24px;border:0;border-right:1px solid #ecece7;background:transparent;transition:background .25s ease,transform .25s ease}
.highlight-row>div:last-child{border-right:0}
.highlight-row>div:hover{background:#fffafa;transform:translateY(-3px)}
.highlight-row b{color:#333;font-size:16px}
.highlight-row span{font-size:13px;line-height:1.8}
.stats{position:relative;max-width:820px;margin:42px auto 0;padding:18px 0;border-top:1px solid #ecece7;border-bottom:1px solid #ecece7}
.stat{position:relative;padding:4px 22px}
.stat+.stat:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:1px;background:#e2e2dc}
.stat strong{font-size:39px;letter-spacing:.5px}
.stat span{display:block;margin-top:8px;color:#888;font-size:13px;letter-spacing:.5px}
.section:has(.detail-copy) .actions{margin-top:34px}
.section:has(.detail-copy) .actions .btn{min-width:138px;padding:10px 22px;background:#fff}
.section:has(.detail-copy) .actions .btn:first-child{background:var(--red);color:#fff}
.section:has(.detail-copy) .actions .btn:first-child:hover{background:#850000}
.section:has(.detail-copy) .actions .btn:last-child:hover{background:#fff1f1}
@media(max-width:900px){.section:has(.detail-copy):before{top:18px}.detail-copy{padding:0 16px}.detail-copy:before{display:none}.detail-copy p,.detail-copy p:first-child{font-size:15px;line-height:1.9}.highlight-row{border:1px solid #e6e6e0}.highlight-row>div{min-height:0;border-right:0;border-bottom:1px solid #ecece7;padding:16px 18px}.highlight-row>div:last-child{border-bottom:0}.stats{margin-top:30px;padding:12px 0}.stat+.stat:before{display:none}.stat strong{font-size:36px}.section:has(.detail-copy) .actions .btn{min-width:124px}}
@media(max-width:900px){.detail-copy h3{font-size:24px}.detail-copy .detail-lead{font-size:16px}.detail-meta{gap:8px 16px}}
@media(max-width:520px){.section:has(.detail-copy):before{display:none}.section:has(.detail-copy) .section-head{margin-bottom:26px}.detail-copy{padding:0}.highlight-row{margin-top:26px}.highlight-row>div{padding:14px 16px}.stats{gap:8px}.stat{padding:4px 0}.section:has(.detail-copy) .actions{display:flex;flex-direction:column;gap:10px;align-items:center}.section:has(.detail-copy) .actions .btn{margin:0;width:min(100%,240px)}}

/* Local image and icon presentation */
.detail-copy:after{content:"";display:block;height:230px;margin:32px auto 4px;background:linear-gradient(90deg,rgba(20,38,42,.08),rgba(169,0,0,.08)),url('../images/venue-hall.jpg') center/cover no-repeat;border:1px solid #e7e7e1;box-shadow:0 12px 28px rgba(35,45,45,.12)}
.detail-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,500px);gap:54px;align-items:stretch;max-width:1080px;margin:0 auto 12px}
.detail-text{min-width:0;padding:4px 0}
.detail-text p{font-size:16px;line-height:2.05;text-align:left;margin:0 0 18px;color:#555}
.detail-text p:first-child{font-size:17px;color:#333}
.detail-gallery{position:relative;min-height:300px;overflow:hidden;background:#26383b;border:1px solid #e4e4df;box-shadow:0 14px 30px rgba(35,45,45,.12)}
.detail-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .8s ease,transform 5s ease}
.detail-slide.is-active{opacity:1;transform:scale(1)}
.detail-gallery:after{display:none}
.detail-dots{position:absolute;z-index:2;right:18px;bottom:17px;display:flex;gap:7px}
.detail-dots button{width:26px;height:3px;padding:0;border:0;background:rgba(255,255,255,.55);cursor:pointer;transition:width .25s ease,background .25s ease}
.detail-dots button.is-active{width:44px;background:#fff}
.detail-gallery:hover .detail-slide.is-active{transform:scale(1.045)}
.highlight-row>div{position:relative;padding-top:56px}
.highlight-row>div:before{content:"";position:absolute;top:18px;left:24px;width:26px;height:26px;background:center/contain no-repeat}
.highlight-row>div:nth-child(1):before{background-image:url('../images/icon-calendar.svg')}
.highlight-row>div:nth-child(2):before{background-image:url('../images/icon-location.svg')}
.highlight-row>div:nth-child(3):before{background-image:url('../images/icon-network.svg')}
.service{position:relative;padding-left:74px}
.service:before{content:"";position:absolute;left:22px;top:25px;width:32px;height:32px;background:center/contain no-repeat;transition:transform .25s ease}
.service:nth-child(1):before{background-image:url('../images/service-travel.svg')}
.service:nth-child(2):before{background-image:url('../images/service-logistics.svg')}
.service:nth-child(3):before{background-image:url('../images/service-translation.svg')}
.service:nth-child(4):before{background-image:url('../images/service-advertising.svg')}
.service:nth-child(5):before{background-image:url('../images/service-audience.svg')}
.service:nth-child(6):before{background-image:url('../images/service-booth.svg')}
.service:after{content:"查看服务  →";position:absolute;right:22px;bottom:18px;color:var(--red);font-size:12px;letter-spacing:.5px;opacity:0;transform:translateX(-8px);transition:opacity .25s ease,transform .25s ease}
.service:hover{border-top-color:#d71414;background:#fff;transform:translateY(-7px);box-shadow:0 14px 28px rgba(110,0,0,.13)}
.service:hover:before{transform:translateY(-4px) scale(1.08);transition:transform .25s ease}
.service:hover:after{opacity:1;transform:translateX(0)}
.service:hover h3{color:var(--red)}
.service:hover p{color:#555;padding-right:8px}
.event{position:relative;padding-top:52px}
.event:before{content:"";position:absolute;top:20px;right:20px;width:26px;height:26px;background:url('../images/icon-calendar.svg') center/contain no-repeat;opacity:.78}
.event:after{content:"查看详情  →";position:absolute;right:20px;bottom:17px;color:var(--red);font-size:12px;letter-spacing:.5px;opacity:0;transform:translateX(-8px);transition:opacity .25s ease,transform .25s ease}
.event:hover{border-color:#dca0a0;border-top:3px solid var(--red);padding-top:50px;transform:translateY(-7px);box-shadow:0 14px 28px rgba(110,0,0,.13)}
.event:hover:before{opacity:1;transform:translateY(-4px) rotate(-7deg);transition:transform .25s ease,opacity .25s ease}
.event:hover:after{opacity:1;transform:translateX(0)}
.event:hover h3{color:var(--red)}
.event:hover p{color:#555;padding-right:4px}
.event:hover small{color:#7d0000}
.media-card{position:relative;padding-right:58px}
.media-card:after{content:"";position:absolute;right:20px;top:22px;width:26px;height:26px;background:url('../images/icon-camera.svg') center/contain no-repeat;opacity:.8}
.peripheral a:after{content:"";position:absolute;right:24px;top:24px;width:42px;height:42px;background:center/contain no-repeat;opacity:.95}
.peripheral a:nth-child(1):after{background-image:url('../images/icon-transit.svg')}.peripheral a:nth-child(2):after{background-image:url('../images/icon-hotel.svg')}.peripheral a:nth-child(3):after{background-image:url('../images/icon-passport.svg')}
.peripheral a:hover:after{transform:translateY(-3px);transition:transform .25s ease}
.section.alt:has(.peripheral){position:relative;background:#263436 url('../images/venue-hall.jpg') center/cover no-repeat}
.section.alt:has(.peripheral):before{content:"";position:absolute;inset:0;background:rgba(25,38,40,.82)}
.section.alt:has(.peripheral)>.container{position:relative;z-index:1}
.section.alt:has(.peripheral) .section-head h2{color:#fff}.section.alt:has(.peripheral) .section-head .en{color:rgba(255,255,255,.62)}
.section.alt:has(.peripheral) .section-head .rule{background:#fff}
.peripheral{gap:24px}.peripheral a{min-height:220px;border:1px solid rgba(255,255,255,.26);background-color:#26383b;background-position:center;background-size:cover;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.peripheral a:nth-child(1){background-image:url('../images/hero-city.jpg')}.peripheral a:nth-child(2){background-image:url('../images/venue-hall.jpg')}.peripheral a:nth-child(3){background-image:url('../images/hall-map.svg')}
.peripheral a:before{background:linear-gradient(180deg,rgba(22,34,36,.18) 10%,rgba(22,34,36,.88) 100%);opacity:1;transition:background .35s ease}
.peripheral a:hover{transform:translateY(-8px);border-color:rgba(255,255,255,.8);box-shadow:0 16px 30px rgba(0,0,0,.28)}
.peripheral a:hover:before{background:linear-gradient(180deg,rgba(169,0,0,.16),rgba(22,34,36,.9) 100%)}
.peripheral a span{z-index:1}.peripheral a b{font-size:21px}.peripheral a small{font-size:13px;color:rgba(255,255,255,.82)}
@media(max-width:900px){.detail-copy:after{height:190px;margin-top:26px}.service{padding-left:68px}.service:before{left:20px}.highlight-row>div{padding-top:52px}.peripheral a:after{right:20px;top:20px}}
@media(max-width:520px){.detail-copy:after{height:160px}.event{padding-top:46px}.event:before{top:16px;right:16px}.media-card{padding-right:50px}}
@media(max-width:900px){.detail-feature{grid-template-columns:1fr;gap:26px}.detail-gallery{min-height:280px}.detail-text p,.detail-text p:first-child{font-size:15px;line-height:1.9}}
@media(max-width:520px){.detail-feature{gap:20px}.detail-gallery{min-height:210px}.detail-gallery:after{left:12px;top:12px;font-size:9px}.detail-dots{right:12px;bottom:12px}.detail-dots button{width:22px}.detail-dots button.is-active{width:34px}}

/* Keep the exhibition details section styling after the split layout */
.section:has(.detail-feature){position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff 72%,#fbfbf8 100%)}
.section:has(.detail-feature):before{content:"DETAIL / 01";position:absolute;top:30px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:3px;color:#b8b8b1;opacity:.8}
.section:has(.detail-feature) .section-head{margin-bottom:30px}
.section:has(.detail-feature) .section-head .rule{width:76px;height:3px;box-shadow:0 0 0 5px rgba(169,0,0,.06)}
.section:has(.detail-feature) .highlight-row{position:relative}
.section:has(.detail-feature) .actions{margin-top:34px}
.section:has(.detail-feature) .actions .btn{min-width:138px;padding:10px 22px;background:#fff}
.section:has(.detail-feature) .actions .btn:first-child{background:var(--red);color:#fff}
.section:has(.detail-feature) .actions .btn:first-child:hover{background:#850000}
.section:has(.detail-feature) .actions .btn:last-child:hover{background:#fff1f1}
@media(max-width:900px){
  .section:has(.detail-feature):before{top:18px}
  .section:has(.detail-feature) .actions .btn{min-width:124px}
}
@media(max-width:520px){
  .section:has(.detail-feature):before{display:none}
  .section:has(.detail-feature) .section-head{margin-bottom:26px}
  .section:has(.detail-feature) .actions{display:flex;flex-direction:column;gap:10px;align-items:center}
  .section:has(.detail-feature) .actions .btn{margin:0;width:min(100%,240px)}
}

/* Exhibitor image wall */
.partner-image{padding:0;overflow:hidden;background:#f8f8f5;border-color:#e2e2dc}
.partner-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease,filter .3s ease}
.partner-image:hover{border-color:var(--red);background:#fff}
.partner-image:hover img{transform:scale(1.055);filter:contrast(1.04)}
@media(max-width:900px){.partner-image{height:86px}}

/* Media image cards */
.media-with-image{display:grid;grid-template-columns:1fr;grid-template-rows:176px auto auto 1fr;min-height:322px;padding:0;border:1px solid #e5e5df;border-left:3px solid var(--red);background:#fff;overflow:hidden;box-shadow:none;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.media-with-image .media-image{grid-row:1;width:100%;height:176px;object-fit:cover;transition:transform .42s ease,filter .42s ease}
.media-with-image h3,.media-with-image p,.media-with-image span{grid-column:1;padding:0 22px}
.media-with-image h3{grid-row:2;margin:19px 0 4px;font-size:18px;font-weight:400;color:#272727}
.media-with-image p{grid-row:3;margin:0;color:#989898;font-size:12px;line-height:1.5}
.media-with-image span{grid-row:4;align-self:end;margin:15px 0 20px;color:#626262;font-size:13px;line-height:1.7}
.media-with-image:after{right:15px;top:15px;width:31px;height:31px;padding:7px;border-radius:50%;background-color:rgba(255,255,255,.93);background-size:17px 17px;box-shadow:0 3px 10px rgba(0,0,0,.12);opacity:1}
.media-with-image:hover{border-color:#d9a4a4;border-left-color:var(--red);transform:translateY(-6px);box-shadow:0 14px 28px rgba(70,33,33,.12)}
.media-with-image:hover .media-image{transform:scale(1.06);filter:saturate(1.08) contrast(1.03)}
.media-with-image:hover h3{color:var(--red)}
@media(max-width:900px){.media-with-image{grid-template-columns:190px 1fr;grid-template-rows:auto auto 1fr;min-height:154px}.media-with-image .media-image{grid-column:1;grid-row:1 / span 3;height:154px}.media-with-image h3,.media-with-image p,.media-with-image span{grid-column:2}.media-with-image h3{grid-row:1;margin:20px 0 3px}.media-with-image p{grid-row:2}.media-with-image span{grid-row:3;margin:10px 0 18px}.media-with-image:after{top:12px;left:145px;right:auto}}
@media(max-width:520px){.media-with-image{grid-template-columns:128px 1fr;min-height:122px}.media-with-image .media-image{height:122px}.media-with-image h3{margin-top:15px;font-size:16px;padding:0 16px}.media-with-image p,.media-with-image span{padding:0 16px}.media-with-image span{margin:6px 0 13px;font-size:12px}.media-with-image:after{left:92px;top:9px;width:27px;height:27px;padding:6px;background-size:15px 15px}}

/* Inner page layout */
body:has(#app){background:#f7f7f4}
body:has(#app) .site-header{height:88px;background:#fff;border-bottom:1px solid #ecece7}
body:has(#app) .hero-caption{min-height:240px;padding:78px 20px 70px;background:var(--red)}
body:has(#app) .hero-caption h1{font-size:29px}
body:has(#app) .hero-caption p{font-size:14px;font-weight:400;opacity:.88}
body:has(#app) .breadcrumb{max-width:1120px;padding:18px 0;color:#999;font-size:13px}
body:has(#app) .inner{max-width:1120px;margin:0 auto;padding:0 0 84px}
body:has(#app) .inner-heading{position:relative;margin:0 0 34px;padding:25px 0 22px;border-bottom:1px solid #deded8}
body:has(#app) .inner-heading:after{content:"";position:absolute;left:0;bottom:-1px;width:72px;height:3px;background:var(--red)}
body:has(#app) .inner-heading>span{color:#aaa;font-size:11px;letter-spacing:2.5px}
body:has(#app) .inner .page-title{text-align:left;font-size:31px;line-height:1.3;margin:0 0 34px;padding:24px 0 20px;border-bottom:1px solid #deded8;color:#222;position:relative}
body:has(#app) .inner .page-title:after{content:"";position:absolute;left:0;bottom:-1px;width:72px;height:3px;background:var(--red)}
body:has(#app) .breadcrumb{border-bottom:1px solid #e8e8e2}
body:has(#app) .content,body:has(#app) .service-grid,body:has(#app) .product-grid,body:has(#app) .events,body:has(#app) .media-grid,body:has(#app) .peripheral,body:has(#app) .contact-panel,body:has(#app) .article,body:has(#app) .login-box{background:#fff}
body:has(#app) .content{padding:34px 42px;border:1px solid #e4e4df}
body:has(#app) .content>p:first-child{margin-top:0}
body:has(#app) .content h3{margin-top:30px}
body:has(#app) .content>img{width:100%;max-height:420px;object-fit:cover;margin:20px auto 30px;border:1px solid #e2e2dc}
body:has(#app) .service-grid{grid-template-columns:repeat(3,1fr);gap:18px;border:0;background:transparent}
body:has(#app) .service-grid .service{min-height:182px;border:1px solid #e4e4df;background:#fff;box-shadow:0 4px 14px rgba(30,35,35,.06)}
body:has(#app) .service-grid .service:hover{box-shadow:0 14px 28px rgba(110,0,0,.13)}
body:has(#app) .product-grid{grid-template-columns:repeat(3,1fr);gap:18px;background:transparent}
body:has(#app) .product-card{box-shadow:0 4px 14px rgba(30,35,35,.06);transition:transform .25s ease,box-shadow .25s ease}
body:has(#app) .product-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px rgba(30,35,35,.12)}
body:has(#app) .events{grid-template-columns:repeat(2,1fr);gap:18px;background:transparent}
body:has(#app) .event{min-height:188px;box-shadow:0 4px 14px rgba(30,35,35,.06)}
body:has(#app) .media-grid{grid-template-columns:repeat(3,1fr);gap:18px;background:transparent}
body:has(#app) .news-list{padding:12px 24px;margin-top:22px;background:#fff;border:1px solid #e4e4df}
body:has(#app) .peripheral{gap:18px;background:transparent}
body:has(#app) .peripheral a{min-height:210px}
body:has(#app) .article{max-width:900px;padding:42px 64px;border:1px solid #e4e4df;box-shadow:0 5px 18px rgba(30,35,35,.05)}
body:has(#app) .article h1{font-size:30px;padding-bottom:22px;border-bottom:1px solid #ecece7}
body:has(#app) .article h3{font-size:21px;font-weight:400;margin:30px 0 10px}
body:has(#app) .article p{font-size:16px;line-height:2.05}
body:has(#app) .login-box{max-width:580px;padding:42px 48px;border:1px solid #e4e4df;box-shadow:0 5px 18px rgba(30,35,35,.05)}
body:has(#app) .searchbar{max-width:760px}
body:has(#app) footer{margin-top:0}
@media(max-width:900px){body:has(#app) .breadcrumb{padding:16px 20px}body:has(#app) .inner{padding:0 20px 64px}body:has(#app) .inner-heading{padding-top:18px}body:has(#app) .service-grid{grid-template-columns:repeat(2,1fr);gap:16px}body:has(#app) .media-grid{grid-template-columns:1fr}body:has(#app) .content{padding:28px 24px}body:has(#app) .article{padding:34px 30px}}
@media(max-width:520px){body:has(#app) .hero-caption h1{font-size:21px}body:has(#app) .inner{padding:0 14px 54px}body:has(#app) .inner .page-title{font-size:26px}body:has(#app) .service-grid{grid-template-columns:1fr;gap:14px}body:has(#app) .product-grid{grid-template-columns:1fr}body:has(#app) .events{grid-template-columns:1fr}body:has(#app) .content{padding:22px 18px}body:has(#app) .article{padding:28px 20px}body:has(#app) .article h1{font-size:24px}}

/* Homepage carousel and inner-page banner */
.hero-carousel{height:435px;position:relative;overflow:hidden;background:#27383a}
.hero-carousel .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 6s ease}
.hero-carousel .hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-carousel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,26,28,.06),rgba(15,26,28,.22));pointer-events:none}
.hero-dots{position:absolute;z-index:2;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px}
.hero-dots button{width:28px;height:3px;padding:0;border:0;background:rgba(255,255,255,.52);cursor:pointer;transition:width .25s ease,background .25s ease}
.hero-dots button.is-active{width:48px;background:#fff}
body:has(#app) .hero-caption{position:relative;background:#29393b url('../images/venue-hall.jpg') center 48%/cover no-repeat;overflow:hidden}
body:has(#app) .hero-caption:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,48,50,.86),rgba(35,48,50,.58),rgba(169,0,0,.62))}
body:has(#app) .hero-caption h1,body:has(#app) .hero-caption p{position:relative;z-index:1}
@media(max-width:900px){body:has(#app) .hero-caption{min-height:180px;padding:54px 20px 48px}body:has(#app) .hero-caption h1{font-size:25px}.hero-carousel{height:230px}.hero-dots{bottom:12px}.hero-dots button{width:22px}.hero-dots button.is-active{width:38px}}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide{transition:none}.hero-dots{display:none}}

/* Product catalog refinement */
body:has(#app) .searchbar{
  max-width:none;
  margin:0 0 18px;
  padding:10px;
  border:1px solid #e2e2dc;
  background:#fff;
  box-shadow:0 4px 14px rgba(30,35,35,.045);
}
body:has(#app) .searchbar:before{
  content:"CATALOG SEARCH";
  align-self:center;
  padding:0 17px 0 10px;
  color:#a7a7a0;
  font-size:10px;
  letter-spacing:1.7px;
  white-space:nowrap;
}
body:has(#app) .searchbar input{
  min-width:0;
  height:42px;
  padding:0 14px;
  border:0;
  border-left:1px solid #edede8;
  outline:0;
  color:#333;
  background:#fff;
  font-size:14px;
}
body:has(#app) .searchbar input::placeholder{color:#aaa}
body:has(#app) .searchbar input:focus{background:#fffafa}
body:has(#app) .searchbar button{
  min-width:92px;
  height:42px;
  border:0;
  background:var(--red);
  color:#fff;
  font-size:13px;
  letter-spacing:1px;
  cursor:pointer;
  transition:background .25s ease,transform .25s ease;
}
body:has(#app) .searchbar button:hover{background:#820000;transform:translateY(-1px)}
body:has(#app) .section-lead{
  max-width:none;
  margin:0 0 27px;
  padding-left:2px;
  text-align:left;
  color:#85857e;
  font-size:13px;
}
body:not(:has(#app)) .section-head{margin-bottom:20px}
body:not(:has(#app)) .section:has(.detail-copy) .section-head{margin-bottom:20px}
@media(max-width:520px){body:not(:has(#app)) .section-head,body:not(:has(#app)) .section:has(.detail-copy) .section-head{margin-bottom:16px}}
body:has(#app) .product-grid{
  align-items:stretch;
  gap:22px;
}
body:has(#app) .product-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:346px;
  overflow:hidden;
  border:1px solid #e1e1db;
  background:#fff;
  box-shadow:0 5px 16px rgba(30,35,35,.055);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
body:has(#app) .product-card:after{
  content:"查看展品  →";
  display:block;
  margin:auto 18px 17px;
  padding-top:11px;
  border-top:1px solid #eee;
  color:var(--red);
  font-size:12px;
  letter-spacing:.4px;
  opacity:.72;
  transform:translateX(-5px);
  transition:opacity .25s ease,transform .25s ease;
}
body:has(#app) .product-card:hover{
  border-color:#d9a4a4;
  transform:translateY(-7px);
  box-shadow:0 16px 30px rgba(95,28,28,.13);
}
body:has(#app) .product-card:hover:after{opacity:1;transform:translateX(0)}
body:has(#app) .product-thumb{
  position:relative;
  height:auto;
  aspect-ratio:1.72 / 1;
  flex:0 0 auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:16px 18px;
  background:#36474a center/cover no-repeat;
  background-image:linear-gradient(180deg,rgba(20,34,36,.08),rgba(20,34,36,.73)),url('../images/hero-city.jpg');
  color:#fff;
  font-size:31px;
  font-weight:700;
  letter-spacing:1px;
  text-shadow:0 2px 8px rgba(0,0,0,.28);
}
body:has(#app) .product-thumb:before{
  content:"PRODUCT";
  position:absolute;
  top:15px;
  left:17px;
  color:rgba(255,255,255,.88);
  font-size:10px;
  letter-spacing:2.2px;
  font-weight:400;
}
body:has(#app) .product-thumb:after{display:none}
body:has(#app) .product-card:nth-child(2n) .product-thumb{
  background-image:linear-gradient(180deg,rgba(20,34,36,.08),rgba(169,0,0,.48)),url('../images/venue-hall.jpg');
}
body:has(#app) .product-card:nth-child(3n) .product-thumb{background-position:center 58%}
body:has(#app) .product-card h3{
  padding:17px 18px 6px;
  margin:0;
  color:#252525;
  font-size:18px;
  line-height:1.4;
  font-weight:400;
  transition:color .25s ease;
}
body:has(#app) .product-card:hover h3{color:var(--red)}
body:has(#app) .product-card p{
  display:-webkit-box;
  overflow:hidden;
  min-height:42px;
  padding:0 18px;
  margin:0;
  color:#777;
  font-size:13px;
  line-height:1.65;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
@media(max-width:900px){
  body:has(#app) .searchbar:before{padding-left:7px;padding-right:12px}
  body:has(#app) .product-grid{gap:16px}
}
@media(max-width:520px){
  body:has(#app) .searchbar{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px}
  body:has(#app) .searchbar:before{grid-column:1 / -1;padding:0 2px 3px}
  body:has(#app) .searchbar input{border-left:0;border:1px solid #edede8}
  body:has(#app) .searchbar button{min-width:78px}
  body:has(#app) .product-card{min-height:0}
  body:has(#app) .product-thumb{aspect-ratio:1.9 / 1}
  body:has(#app) .product-card h3{font-size:17px;padding-top:15px}
}

body:not(:has(#app)) .media-card,
body:not(:has(#app)) .media-with-image{
  border-left:1px solid #e5e5df;
  padding-right:0;
}
body:not(:has(#app)) .media-with-image:after,
body:not(:has(#app)) .media-card:after{
  display:none;
}

/* Homepage peripheral cards: reveal-on-hover instead of lift */
body:not(:has(#app)) .peripheral a{
  transform:none;
  box-shadow:none;
  transition:border-color .35s ease,background-size .6s ease;
}
body:not(:has(#app)) .peripheral a:before{
  background:linear-gradient(180deg,rgba(22,34,36,.16) 8%,rgba(22,34,36,.9) 100%);
  transition:background .35s ease;
}
body:not(:has(#app)) .peripheral a span{
  display:block;
  width:100%;
  padding-bottom:5px;
  transform:translateY(14px);
  transition:transform .35s ease;
}
body:not(:has(#app)) .peripheral a span:after{
  content:"";
  display:block;
  width:0;
  height:2px;
  margin-top:12px;
  background:#d71a1a;
  transition:width .35s ease;
}
body:not(:has(#app)) .peripheral a small{
  display:block;
  max-height:0;
  margin-top:14px;
  overflow:hidden;
  opacity:0;
  transform:translateY(8px);
  transition:max-height .35s ease,opacity .3s ease,transform .35s ease;
}
body:not(:has(#app)) .peripheral a:hover{
  transform:none;
  border-color:rgba(255,255,255,.72);
  box-shadow:none;
  background-size:108% auto;
}
body:not(:has(#app)) .peripheral a:hover:before{
  background:linear-gradient(180deg,rgba(22,34,36,.04) 5%,rgba(22,34,36,.78) 100%);
}
body:not(:has(#app)) .peripheral a:hover:after{transform:none}
body:not(:has(#app)) .peripheral a:hover span{transform:translateY(0)}
body:not(:has(#app)) .peripheral a:hover span:after{width:46px}
body:not(:has(#app)) .peripheral a:hover small{
  max-height:30px;
  opacity:1;
  transform:translateY(0);
}

/* Homepage media news list hover feedback */
body:not(:has(#app)) .news-list li{
  position:relative;
  padding-left:14px;
  transition:padding-left .25s ease,background .25s ease;
}
body:not(:has(#app)) .news-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:3px;
  height:0;
  background:var(--red);
  transform:translateY(-50%);
  transition:height .25s ease;
}
body:not(:has(#app)) .news-list li a{
  transition:transform .25s ease,color .25s ease;
}
body:not(:has(#app)) .news-list li time{
  transition:color .25s ease;
}
body:not(:has(#app)) .news-list li:hover{
  padding-left:20px;
  background:#fffafa;
}
body:not(:has(#app)) .news-list li:hover:before{height:26px}
body:not(:has(#app)) .news-list li:hover a{
  color:var(--red);
  transform:translateX(3px);
}
body:not(:has(#app)) .news-list li:hover time{color:var(--red)}
@media(max-width:520px){
  body:not(:has(#app)) .news-list li{padding-left:11px}
  body:not(:has(#app)) .news-list li:hover{padding-left:16px}
}

/* Media center refinement */
body:has(#app) .media-grid{
  align-items:stretch;
  gap:22px;
  margin-bottom:28px;
}
body:has(#app) .media-with-image{
  position:relative;
  min-height:354px;
  grid-template-rows:190px auto auto 1fr;
  border:1px solid #e1e1db;
  box-shadow:0 5px 16px rgba(30,35,35,.055);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
body:has(#app) .media-with-image .media-image{
  height:190px;
  filter:saturate(.84) contrast(1.02);
  transition:transform .5s ease,filter .5s ease;
}
body:has(#app) .media-with-image:before{
  content:"MEDIA / 2026";
  position:absolute;
  z-index:2;
  top:15px;
  left:17px;
  padding:4px 8px;
  color:#fff;
  background:rgba(28,40,42,.72);
  font-size:10px;
  letter-spacing:1.4px;
}
body:has(#app) .media-with-image h3{
  margin:18px 0 5px;
  color:#252525;
  font-size:19px;
  line-height:1.4;
  transition:color .25s ease;
}
body:has(#app) .media-with-image h3::first-letter{color:var(--red)}
body:has(#app) .media-with-image p{
  color:#a0a09a;
  font-size:11px;
  letter-spacing:1.4px;
  text-transform:uppercase;
}
body:has(#app) .media-with-image span{
  margin:16px 0 20px;
  color:#64645f;
  font-size:13px;
  line-height:1.75;
}
body:has(#app) .media-with-image:hover{
  border-color:#d9a4a4;
  transform:translateY(-7px);
  box-shadow:0 16px 30px rgba(95,28,28,.13);
}
body:has(#app) .media-with-image:hover .media-image{
  transform:scale(1.07);
  filter:saturate(1.08) contrast(1.04);
}
body:has(#app) .media-with-image:hover h3{color:var(--red)}
body:has(#app) .media-with-image:after{
  display:none;
}
body:has(#app) .news-list{
  margin-top:0;
  padding:0 26px;
  border:1px solid #e1e1db;
  box-shadow:0 4px 14px rgba(30,35,35,.045);
}
body:has(#app) .news-list:before{
  content:"LATEST UPDATES";
  display:block;
  padding:18px 0 12px;
  border-bottom:2px solid #2f3d3f;
  color:#85857e;
  font-size:11px;
  letter-spacing:2px;
}
body:has(#app) .news-list li{
  position:relative;
  align-items:center;
  gap:24px;
  padding:17px 0 16px 16px;
  border-bottom:1px solid #ecece7;
  transition:padding-left .25s ease,background .25s ease;
}
body:has(#app) .news-list li:last-child{border-bottom:0}
body:has(#app) .news-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:23px;
  width:3px;
  height:22px;
  background:var(--red);
  opacity:.35;
  transition:opacity .25s ease,height .25s ease;
}
body:has(#app) .news-list li:hover{
  padding-left:22px;
  background:#fffafa;
}
body:has(#app) .news-list li:hover:before{height:30px;opacity:1}
body:has(#app) .news-list li a{
  min-width:0;
  flex:1;
  gap:4px;
}
body:has(#app) .news-list li a::first-line{color:#333}
body:has(#app) .news-list li em{
  display:-webkit-box;
  overflow:hidden;
  color:#8c8c86;
  font-size:12px;
  line-height:1.6;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
}
body:has(#app) .news-list time{
  flex:0 0 86px;
  color:#aaa;
  font-size:12px;
  text-align:right;
  letter-spacing:.3px;
}
@media(max-width:900px){
  body:has(#app) .media-with-image{
    min-height:170px;
    grid-template-columns:210px 1fr;
    grid-template-rows:auto auto 1fr;
  }
  body:has(#app) .media-with-image .media-image{height:170px}
  body:has(#app) .media-with-image:before{top:13px;left:13px}
}
@media(max-width:520px){
  body:has(#app) .media-grid{gap:14px;margin-bottom:20px}
  body:has(#app) .media-with-image{
    min-height:142px;
    grid-template-columns:118px 1fr;
  }
  body:has(#app) .media-with-image .media-image{height:142px}
  body:has(#app) .media-with-image:before{
    top:9px;
    left:9px;
    padding:3px 5px;
    font-size:8px;
    letter-spacing:1px;
  }
  body:has(#app) .media-with-image h3{margin:14px 0 3px;font-size:16px}
  body:has(#app) .media-with-image p{font-size:10px}
  body:has(#app) .media-with-image span{margin:7px 0 13px;font-size:12px}
  body:has(#app) .news-list{padding:0 15px}
  body:has(#app) .news-list li{display:block;padding:14px 0 13px 13px}
  body:has(#app) .news-list li:before{top:19px;height:18px}
  body:has(#app) .news-list time{display:block;margin-top:7px;text-align:left}
}
/* Navigation-specific content cards and detail layouts */
.service-grid .service{display:block;color:inherit;text-decoration:none}
.detail-cover{width:100%;max-height:420px;object-fit:cover;margin:0 0 28px;border:1px solid var(--line)}
.media-detail-page .article{max-width:960px}
.media-detail-page .s_content{font-size:16px;line-height:2;color:#454545}
.media-detail-page .s_content p{text-indent:2em;margin:0 0 1.2em}
.service-detail-page .s_content{font-size:16px;line-height:2;color:#454545}
@media(max-width:520px){.detail-cover{max-height:240px;margin-bottom:20px}.media-detail-page .s_content,.service-detail-page .s_content{font-size:15px;line-height:1.9}}
/* Navigation-specific content cards and detail layouts */
.service-grid .service{display:block;color:inherit;text-decoration:none}
.detail-cover{width:100%;max-height:420px;object-fit:cover;margin:0 0 28px;border:1px solid var(--line)}
.media-detail-page .article{max-width:960px}
.media-detail-page .s_content{font-size:16px;line-height:2;color:#454545}
.media-detail-page .s_content p{text-indent:2em;margin:0 0 1.2em}
.service-detail-page .s_content{font-size:16px;line-height:2;color:#454545}
.service-detail-page .s_content p{text-indent:2em;margin:0 0 1.2em}
@media(max-width:520px){.detail-cover{max-height:240px;margin-bottom:20px}.media-detail-page .s_content,.service-detail-page .s_content{font-size:15px;line-height:1.9}}

.detail-article{max-width:960px;padding:42px 64px;background:#fff;border:1px solid #e4e4df;box-shadow:0 5px 18px rgba(30,35,35,.05)}
.detail-article .article-heading h1{margin:0;text-align:center;font-size:30px;line-height:1.4;font-weight:400;color:#222}
.detail-article .article-heading .meta{margin:12px 0 28px;padding-bottom:22px;border-bottom:1px solid #ecece7}
.detail-article .s_content{overflow-wrap:anywhere}
.detail-article .s_content img{height:auto!important;max-width:100%;margin:18px auto}
.detail-article .actions{border-top:1px solid #ecece7;padding-top:24px}
@media(max-width:900px){.detail-article{padding:34px 30px}}
@media(max-width:520px){.detail-article{padding:28px 20px}.detail-article .article-heading h1{font-size:24px}.detail-article .article-heading .meta{margin-bottom:20px;padding-bottom:16px}}

.footer-grid{grid-template-columns:1.2fr .8fr .8fr .45fr}.footer-qrcode img{width:96px;height:96px;object-fit:cover;background:#fff;padding:4px}
.float-service{width:58px;min-height:76px;right:18px;top:42%;padding:10px 8px;border-radius:8px 0 0 8px;box-shadow:0 8px 22px rgba(120,0,0,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:background .25s ease,transform .25s ease}.float-service b{font-size:21px;line-height:1.1}.float-service span{font-size:12px;line-height:1.2}.float-service:hover,.float-service:focus-within,.float-service:focus{background:#c51e18;transform:translateX(-2px);outline:none}.float-qrcode{position:absolute;right:calc(100% + 12px);top:50%;width:150px;padding:10px;background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translate(8px,-50%);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}.float-qrcode:after{content:"";position:absolute;right:-7px;top:50%;width:12px;height:12px;background:#fff;border-top:1px solid #eee;border-right:1px solid #eee;transform:translateY(-50%) rotate(45deg)}.float-qrcode img{width:130px;height:130px;object-fit:contain}.float-service:hover .float-qrcode,.float-service:focus .float-qrcode,.float-service:focus-within .float-qrcode{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,-50%)}
@media(max-width:520px){.float-service{right:6px;width:40px;min-height:52px;padding:7px 5px;border-radius:6px 0 0 6px}.float-service b svg{width:18px;height:18px}.float-service span{font-size:10px}.float-qrcode{position:fixed;right:52px;top:auto;bottom:12px;width:112px;padding:7px;transform:translateY(8px)}.float-qrcode img{width:98px;height:98px}.float-service:hover .float-qrcode,.float-service:focus .float-qrcode,.float-service:focus-within .float-qrcode{transform:translateY(0)}}

.float-service b svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

body:not(:has(#app)) .service-grid .service{border-top:0}

.event:hover{border-color:var(--line);border-top:1px solid var(--line);padding-top:20px;transform:translateY(-7px) scale(1.015);box-shadow:0 16px 30px rgba(30,35,35,.16)}

@media(max-width:520px){.float-service{min-height:42px;padding-top:5px;padding-bottom:5px}.float-service b svg{width:16px;height:16px}.float-service span{line-height:1}}
@media(max-width:520px){.float-service{height:52px!important;min-height:0!important;max-height:52px!important;box-sizing:border-box;overflow:visible}}

footer{padding:56px 20px 22px;background:linear-gradient(135deg,#202a2c,#29383a);border-top:4px solid var(--red)}
footer .footer-grid{grid-template-columns:1.25fr 1fr 1fr .6fr;gap:48px;align-items:start}
footer .footer-title{position:relative;margin:0 0 18px;padding-bottom:10px;font-size:17px;font-weight:400;letter-spacing:.5px}
footer .footer-title:after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:#d94b43}
footer .footer-copy{line-height:1.9}
footer .footer-copy a{transition:color .2s ease}
footer .footer-copy a:hover{color:#fff}
footer .footer-qrcode img{display:block;width:104px;height:104px;padding:6px;border-radius:4px}
footer .footer-record{max-width:1180px;margin:38px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);text-align:center;color:#9da9a9}
@media(max-width:900px){footer .footer-grid{grid-template-columns:repeat(2,1fr);gap:30px}}
@media(max-width:520px){footer{padding:38px 18px 18px}footer .footer-grid{grid-template-columns:1fr;gap:24px}footer .footer-qrcode img{width:92px;height:92px}footer .footer-record{margin-top:28px;padding-top:14px;font-size:12px}}
.breadcrumb{display:flex;align-items:center;gap:10px}.breadcrumb-home{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--red);border:1px solid #e5c2c0;border-radius:50%;transition:background .2s ease,color .2s ease}.breadcrumb-home svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.breadcrumb-home:hover{background:var(--red);color:#fff}.breadcrumb-separator{color:#bbb}

body:has(#app) .hero-caption[style]{background-position:center;background-size:cover}
