:root { --savoy-red:#ed1c2e; --deep-red:#b60e1d; --ink:#171717; --muted:#777; --line:#e5e5e5; --max:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.skip-link { position:fixed; top:-60px; left:18px; z-index:999; padding:12px 18px; color:#fff; background:#111; }
.skip-link:focus { top:12px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.site-header { position:sticky; top:0; z-index:100; box-shadow:0 5px 18px rgba(0,0,0,.12); }
.utility-bar { height:34px; color:#666; background:#fff; }
.utility-inner { display:flex; align-items:center; justify-content:flex-end; gap:12px; width:min(calc(100% - 48px),var(--max)); height:100%; margin:auto; font-size:11px; }
.utility-inner span { width:1px; height:11px; background:#ccc; }
.utility-inner a:hover { color:var(--savoy-red); }
.navigation-bar { height:108px; color:#fff; background-color:#f00; background-image:var(--original-menu-bg); background-repeat:no-repeat; background-position:center; background-size:1024px 108px; }
.navigation-inner { display:flex; align-items:center; width:min(calc(100% - 48px),var(--max)); height:100%; margin:auto; }
.brand { flex:0 0 156px; }
.brand span { display:block; width:136px; height:58px; background:var(--logo-image) center/contain no-repeat; }
.primary-nav { display:flex; align-self:stretch; margin-left:auto; }
.primary-nav a { position:relative; display:flex; align-items:center; padding:0 20px; color:#fff; font-size:15px; font-weight:700; white-space:nowrap; }
.primary-nav a::after { position:absolute; right:20px; bottom:20px; left:20px; height:2px; background:#fff; content:""; transform:scaleX(0); transition:transform .2s; }
.primary-nav a:hover::after,.primary-nav a:focus-visible::after { transform:scaleX(1); }
.menu-toggle { display:none; }

.hero { padding:56px 24px 72px; background:linear-gradient(#f6f6f6,#fff); }
.slider { position:relative; width:min(100%,1024px); margin:auto; outline:none; }
.slides { position:relative; aspect-ratio:1025/532; overflow:hidden; isolation:isolate; background:transparent; box-shadow:0 28px 70px rgba(0,0,0,.2); }
.slide { position:absolute; inset:-1px; background-position:center; background-size:cover; background-repeat:no-repeat; opacity:0; transform:scale(1.015); transition:opacity .65s,transform .9s; }
.slide.is-active { z-index:1; opacity:1; transform:scale(1); }
.slide-one { background-image:var(--slide-1); }
.slide-two { background-image:var(--slide-2); }
.slide-three { background-image:var(--slide-3); }
.slider-arrow { position:absolute; top:50%; z-index:3; display:grid; place-items:center; width:54px; height:72px; padding:0; color:#fff; background:rgba(0,0,0,.62); border:0; font-size:46px; line-height:1; transform:translateY(-50%); cursor:pointer; transition:background .2s; }
.slider-arrow:hover,.slider-arrow:focus-visible { background:var(--savoy-red); }
.slider-arrow.previous { left:18px; }
.slider-arrow.next { right:18px; }
.slider-dots { position:absolute; right:0; bottom:-36px; left:0; display:flex; justify-content:center; gap:9px; }
.slider-dots button { width:8px; height:8px; padding:0; background:#bbb; border:0; border-radius:50%; cursor:pointer; }
.slider-dots button.is-active { width:30px; background:var(--savoy-red); border-radius:9px; }

.section-inner { width:min(calc(100% - 48px),var(--max)); margin:auto; }
.movie-section { padding:115px 0 125px; }
.section-heading { margin-bottom:44px; text-align:center; }
.section-heading p { margin:0 0 12px; color:var(--savoy-red); font-size:11px; font-weight:800; letter-spacing:.22em; }
.section-heading h1,.section-heading h2 { margin:0; font-size:clamp(38px,5vw,68px); letter-spacing:-.045em; }
.section-heading.compact { margin-bottom:38px; text-align:left; }
.section-heading.compact h2 { font-size:clamp(34px,4vw,54px); }
.movie-frame { width:min(100%,900px); margin:auto; padding:12px; background:#171717; box-shadow:0 26px 65px rgba(0,0,0,.18); }
.movie-frame video { display:block; width:100%; aspect-ratio:16/9; background:#000; object-fit:contain; }

.group-section { padding:105px 0 120px; background:#f4f4f4; }
.group-links { display:grid; grid-template-columns:repeat(2,1fr); background:#fff; border-top:1px solid #d7d7d7; border-left:1px solid #d7d7d7; }
.group-links a { display:grid; grid-template-columns:48px 1fr auto; align-items:center; min-height:126px; padding:24px 30px; border-right:1px solid #d7d7d7; border-bottom:1px solid #d7d7d7; transition:color .2s,background .2s; }
.group-links a:hover,.group-links a:focus-visible { color:#fff; background:var(--savoy-red); }
.group-links span { color:var(--savoy-red); font-size:11px; font-weight:800; }
.group-links a:hover span,.group-links a:focus-visible span { color:#fff; }
.group-links strong { font-size:20px; }
.group-links i { font-size:24px; font-style:normal; }

.site-footer { color:#d0d0d0; background:#222; border-top:4px solid var(--savoy-red); }
.footer-inner { width:min(calc(100% - 48px),var(--max)); margin:auto; padding:54px 0 28px; }
.footer-map { display:grid; grid-template-columns:repeat(7,1fr); gap:0; padding-bottom:42px; border-bottom:1px solid #444; }
.footer-map > div { min-height:118px; padding:0 20px; border-left:1px solid #444; }
.footer-map > div:first-child { padding-left:0; border-left:0; }
.footer-map strong { display:block; margin-bottom:18px; color:#fff; font-size:14px; }
.footer-map a { display:block; margin:9px 0; color:#aaa; font-size:11px; line-height:1.5; }
.footer-map strong a { color:#fff; font-size:14px; }
.footer-map a:hover { color:#fff; }
.footer-meta { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:26px; color:#888; font-size:11px; }
.footer-meta p { margin:0; }
.weibo { padding:9px 13px; color:#fff; border:1px solid #555; font-size:10px; letter-spacing:.12em; }

@media (max-width:1050px) {
  .navigation-bar { height:74px; background-position:right center; background-size:auto 74px; }
  .navigation-inner { width:calc(100% - 36px); }
  .brand { flex-basis:145px; }
  .brand span { width:124px; height:52px; }
  .menu-toggle { position:relative; z-index:102; display:block; width:46px; height:46px; margin-left:auto; padding:8px; color:#fff; background:transparent; border:0; }
  .menu-toggle span { display:block; height:2px; margin:6px 0; background:currentColor; transition:transform .2s,opacity .2s; }
  .menu-toggle.is-open span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
  .menu-toggle.is-open span:nth-child(2) { opacity:0; }
  .menu-toggle.is-open span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
  .primary-nav { position:fixed; top:108px; right:0; left:0; display:block; height:calc(100vh - 108px); margin:0; padding:24px 28px 48px; color:#202020; background:#f7f6f3; visibility:hidden; opacity:0; transform:translateY(-10px); transition:opacity .2s,transform .2s,visibility .2s; overflow-y:auto; }
  .primary-nav.is-open { visibility:visible; opacity:1; transform:translateY(0); }
  .primary-nav a { min-height:62px; padding:0 4px; color:#222; border-bottom:1px solid #dedbd5; font-size:18px; }
  .primary-nav a:hover,.primary-nav a:focus-visible { color:var(--savoy-red); }
  .primary-nav a::after { display:none; }
  .footer-map { grid-template-columns:repeat(4,1fr); row-gap:34px; }
}

@media (max-width:680px) {
  .utility-inner { width:calc(100% - 28px); }
  .navigation-inner,.section-inner,.footer-inner { width:calc(100% - 36px); }
  .hero { padding:28px 0 58px; }
  .slider { width:100%; }
  .slides { box-shadow:none; }
  .slider-arrow { width:42px; height:58px; font-size:38px; }
  .slider-arrow.previous { left:8px; }
  .slider-arrow.next { right:8px; }
  .movie-section { padding:82px 0 90px; }
  .section-heading { margin-bottom:30px; }
  .section-heading h1 { font-size:42px; }
  .movie-frame { padding:6px; }
  .group-section { padding:80px 0 90px; }
  .group-links { grid-template-columns:1fr; }
  .group-links a { min-height:104px; padding:20px; }
  .group-links strong { font-size:17px; }
  .footer-inner { padding-top:42px; }
  .footer-map { grid-template-columns:repeat(2,1fr); }
  .footer-map > div,.footer-map > div:first-child { min-height:0; padding:0 14px 24px; border-left:0; border-bottom:1px solid #3b3b3b; }
  .footer-meta { display:block; }
  .footer-meta p { margin-top:22px; line-height:1.7; }
}

@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important} }
