:root {
  --red: #ef3124;
  --red-bright: #ff0000;
  --seal: #8f3026;
  --ink: #222;
  --dark: #101118;
  --bronze: #b58a4a;
  --gold: #c7a166;
  --text: #333;
  --text-2: #666;
  --muted: #999;
  --border: #e5e5e5;
  --surface: #f9f9f9;
  --paper: #f7f3ea;
  --white: #fff;
  --container: 1200px;
  --shadow: 0 18px 40px rgba(27, 22, 18, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--white);
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { line-height: 1.35; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.section { padding: 30px 0; }
.section-soft {
  background-color: var(--surface);
  background-image: radial-gradient(circle at 1px 1px, rgba(143, 48, 38, .05) 1px, transparent 0);
  background-size: 28px 28px;
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Header */
.paper-header {
  height: 120px;
  background-color: var(--paper);
  background-image:
    linear-gradient(90deg, rgba(143, 48, 38, .025) 1px, transparent 1px),
    linear-gradient(rgba(143, 48, 38, .018) 1px, transparent 1px),
    radial-gradient(circle at 15% 30%, rgba(181, 138, 74, .09), transparent 24%),
    radial-gradient(circle at 82% 60%, rgba(143, 48, 38, .07), transparent 20%);
  background-size: 34px 34px, 34px 34px, auto, auto;
}
.header-inner { position: relative; display: flex; align-items: center; justify-content: space-between; height: 100%; gap: 30px; }
.brand { display: flex; align-items: center; gap: 14px; flex: 0 1 auto; min-width: 0; color: var(--seal); }
.brand-seal { flex: 0 0 auto; width: 86px; height: 86px; }
img.brand-seal { width: 140px; height: auto; max-height: 86px; object-fit: contain; }
.brand-copy { min-width: 0; }
.brand-copy strong { display: block; color: #252525; font-family: "Songti SC", SimSun, serif; font-size: 30px; line-height: 1.2; letter-spacing: 1px; white-space: nowrap; }
.brand-copy strong span { margin-left: 4px; font-size: 25px; font-weight: 400; }
.brand-copy small { display: block; margin-top: 5px; color: #555; font-size: 14px; letter-spacing: 2px; }
.header-call { flex: 0 0 526px; min-width: 0; }
.header-rating-query { width: 100%; }
.header-rating-query > label { display: block; margin-bottom: 9px; color: #333; font-size: 16px; line-height: 16px; }
.header-rating-query-fields { display: grid; grid-template-columns: 240px 210px 60px; align-items: center; gap: 8px; }
.header-rating-query-fields input { width: 240px; min-width: 0; height: 34px; line-height: 34px; padding: 0 9px; color: var(--text); background: #fff; border: 1px solid #e7e6e6; border-radius: 3px; outline: none; font-size: 14px; }
.header-rating-query-fields input::placeholder { color: #777; }
.header-rating-query-fields input:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(239,49,36,.12); }
.header-rating-query-captcha { display: grid; grid-template-columns: 112px 90px; align-items: center; gap: 8px; min-width: 0; }
.header-rating-query-captcha input { width: 112px; }
.header-rating-query-captcha img { width: 90px; height: 34px; background: #fff; border-radius: 3px; cursor: pointer; object-fit: fill; }
.header-rating-query-fields button { height: 34px; padding: 0 10px; color: #fff; background: var(--red-bright); border: 0; border-radius: 3px; font-size: 14px; transition: background .2s ease; }
.header-rating-query-fields button:hover { background: #d90000; }
.menu-toggle { display: none; width: 44px; height: 40px; padding: 9px; color: var(--red); background: transparent; border: 1px solid rgba(143, 48, 38, .5); }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: currentColor; }

/* Navigation */
.site-nav { position: relative; z-index: 100; padding: 8px 0; background: var(--ink); }
.site-nav::after {
  position: absolute; top: 100%; right: 0; left: 0; height: 20px; z-index: 2; content: "";
  background:
    radial-gradient(circle at 10px 0, #8d3c24 0 5px, #c18b42 6px 8px, transparent 9px) 0 0 / 20px 20px repeat-x,
    linear-gradient(to bottom, rgba(18, 14, 12, .92), transparent);
  pointer-events: none;
}
.site-nav ul { display: grid; grid-template-columns: repeat(10, 1fr); margin: 0; padding: 0; list-style: none; }
.site-nav a { position: relative; display: grid; place-items: center; height: 44px; color: var(--white); font-size: 16px; white-space: nowrap; }
.site-nav a::before, .site-nav a::after { position: absolute; inset: 4px; border: 1px solid transparent; content: ""; opacity: 0; transition: opacity .2s ease, border-color .2s ease; }
.site-nav a::after { inset: 8px 2px; border-width: 0 3px; }
.site-nav a:hover::before, .site-nav a:hover::after, .site-nav a.is-active::before, .site-nav a.is-active::after { opacity: 1; border-color: var(--red); }
.site-nav a:hover, .site-nav a.is-active { color: #fff; background: rgba(239, 49, 36, .16); }

/* Banners */
.inside-banner { position: relative; display: grid; place-items: center; height: 300px; overflow: hidden; color: var(--white); background: var(--dark) url("../images/inside-banner.png") center / cover no-repeat; }
.inside-banner::before { position: absolute; inset: 0; content: ""; background:
  radial-gradient(circle at 15% 75%, rgba(181, 138, 74, .22), transparent 28%),
  radial-gradient(circle at 80% 30%, rgba(143, 48, 38, .17), transparent 24%),
  linear-gradient(110deg, rgba(7, 7, 9, .92), rgba(19, 20, 28, .72)); }
.banner-about { background-color: #1b1310; }
.banner-products { background-color: #171315; }
.banner-guide { background-color: #12131b; }
.banner-news { background-color: #18120f; }
.banner-contact { background-color: #151416; }
.banner-art { position: absolute; inset: 0; overflow: hidden; opacity: .45; }
.banner-art .arch { position: absolute; right: -70px; bottom: -210px; width: 600px; height: 600px; border: 80px solid rgba(199, 161, 102, .16); border-radius: 50%; }
.banner-art .vessel { position: absolute; left: 10%; bottom: -170px; width: 260px; height: 330px; border: 18px solid rgba(181, 138, 74, .2); border-radius: 40% 40% 20% 20%; transform: rotate(-8deg); }
.banner-art .vessel::before { position: absolute; top: -80px; left: 45px; width: 130px; height: 90px; border: 16px solid rgba(181, 138, 74, .2); border-bottom: 0; content: ""; }
.banner-title { position: relative; z-index: 3; text-align: center; }
.banner-title h1 { margin-bottom: 20px; font-size: 32px; font-weight: 600; }
.banner-title p { margin-bottom: 18px; font-family: Arial, sans-serif; font-size: clamp(40px, 5vw, 60px); font-weight: 300; line-height: 1; text-transform: uppercase; }
.seal-divider { display: flex; align-items: center; justify-content: center; gap: 14px; color: var(--seal); }
.seal-divider::before, .seal-divider::after { width: 105px; height: 1px; background: currentColor; content: ""; }
.seal-divider span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid currentColor; border-radius: 50%; font-family: serif; }

/* Section headings */
.section-heading { margin-bottom: 36px; text-align: center; }
.section-heading h2 { margin-bottom: 5px; font-size: 30px; }
.section-heading p { margin-bottom: 8px; color: var(--muted); font-size: 12px; line-height: 1.2; text-transform: uppercase; }
.section-heading.light h2 { color: var(--white); }
.section-heading.light p { color: rgba(255,255,255,.55); }
.section-heading.light .seal-divider { color: var(--red); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; min-height: 42px; padding: 9px 22px; color: var(--white); background: var(--red); border: 1px solid var(--red); border-radius: 4px; font-size: 16px; transition: transform .2s ease, background .2s ease; }
.btn:hover { background: #c9251a; transform: translateY(-1px); }
.btn-dark { background: var(--ink); border-color: var(--ink); }
.btn-outline { background: transparent; border-color: rgba(255,255,255,.55); }

/* Hero */
.hero { position: relative; height: 650px; overflow: hidden; background: #111; }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility .55s ease; }
.hero-slide.active { opacity: 1; visibility: visible; }
.hero-link, .hero-picture { display: block; width: 100%; height: 100%; }
.hero-picture img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.jade-disc { position: relative; width: 330px; height: 330px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #d9d1a9, #6f7452 54%, #303d37 78%); border: 22px solid rgba(255,255,255,.08); box-shadow: 0 35px 80px rgba(0,0,0,.4), inset 0 0 0 2px rgba(230,220,170,.3); }
.jade-disc::before { position: absolute; top: 50%; left: 50%; width: 90px; height: 90px; border-radius: 50%; background: #13171a; box-shadow: 0 0 0 10px rgba(230,220,170,.12); content: ""; transform: translate(-50%,-50%); }
.jade-disc::after { position: absolute; inset: 46px; border: 1px dashed rgba(235,225,185,.34); border-radius: 50%; content: ""; }
.bronze-vessel { position: relative; width: 310px; height: 320px; background: linear-gradient(145deg, #7c633b, #2f392e 60%, #131b18); border-radius: 28% 28% 20% 20%; box-shadow: 0 35px 80px rgba(0,0,0,.5); }
.bronze-vessel::before { position: absolute; top: -95px; left: 65px; width: 180px; height: 115px; border: 22px solid #6d5938; border-bottom: 0; border-radius: 40px 40px 0 0; content: ""; }
.bronze-vessel::after { position: absolute; inset: 55px 40px; border: 2px solid rgba(199,161,102,.42); background: repeating-linear-gradient(45deg, transparent 0 12px, rgba(199,161,102,.12) 13px 14px); content: ""; }
.statue { position: relative; width: 220px; height: 400px; background: linear-gradient(145deg, #8c7349, #3b382d 55%, #171a18); border-radius: 48% 48% 20% 20%; box-shadow: 0 35px 80px rgba(0,0,0,.5); }
.statue::before { position: absolute; top: -84px; left: 64px; width: 92px; height: 105px; background: linear-gradient(145deg, #a08251, #3b382d); border-radius: 50% 50% 45% 45%; content: ""; }
.statue::after { position: absolute; top: 76px; left: 45px; width: 130px; height: 170px; border: 2px solid rgba(199,161,102,.38); border-radius: 50%; content: ""; }
.hero-controls { position: absolute; right: 0; bottom: 28px; left: 0; z-index: 6; }
.hero-controls .container { display: flex; align-items: center; justify-content: space-between; }
.hero-arrows, .hero-dots { display: flex; gap: 10px; }
.hero-arrow { width: 46px; height: 46px; color: var(--white); background: rgba(0,0,0,.42); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; font-size: 24px; }
.hero-dot { width: 13px; height: 13px; padding: 0; background: transparent; border: 2px solid var(--bronze); border-radius: 50%; }
.hero-dot.active { background: var(--red); border-color: var(--red); }

/* Product components */
.product-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.product-tabs button, .product-tabs a { position: relative; min-width: 112px; height: 40px; padding: 0 14px; overflow: hidden; color: var(--text); background: var(--border); border: 0; border-radius: 3px; font-size: 16px; }
.product-tabs button::before, .product-tabs a::before { position: absolute; inset: 0 50%; background: var(--red); content: ""; transition: inset .25s ease; }
.product-tabs button span, .product-tabs a span { position: relative; z-index: 2; }
.product-tabs button:hover, .product-tabs button.active, .product-tabs a:hover, .product-tabs a.active { color: var(--white); }
.product-tabs button:hover::before, .product-tabs button.active::before, .product-tabs a:hover::before, .product-tabs a.active::before { inset: 0; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px 20px; }
.product-card { display: block; min-width: 0; background: #f5f5f5; transition: box-shadow .25s ease, transform .25s ease; }
.product-card[hidden] { display: none; }
.product-card:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.product-visual { position: relative; display: grid; place-items: center; aspect-ratio: 285 / 315; overflow: hidden; background: linear-gradient(145deg, #f8f8f8, #e6e4df); }
.product-visual > img { width: 100%; height: 100%; object-fit: cover; }
.product-art { position: relative; transition: transform .3s ease; }
.product-card:hover .product-art { transform: scale(1.05); }
.product-art.disc { width: 66%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #a8a27d, #556152 58%, #2c342f); box-shadow: 0 18px 30px rgba(0,0,0,.2); }
.product-art.disc::before { position: absolute; top: 50%; left: 50%; width: 25%; height: 25%; border-radius: 50%; background: #eee; content: ""; transform: translate(-50%,-50%); }
.product-art.vase { width: 45%; height: 68%; background: linear-gradient(145deg,#8c7045,#354139 62%,#151a18); border-radius: 22% 22% 35% 35%; box-shadow: 0 18px 30px rgba(0,0,0,.25); }
.product-art.vase::before { position: absolute; top: -12%; left: 30%; width: 40%; height: 18%; background: #62593f; border-radius: 6px 6px 0 0; content: ""; }
.product-art.statue-small { width: 38%; height: 72%; background: linear-gradient(145deg,#9b7443,#3e4233 60%,#181b18); border-radius: 48% 48% 18% 18%; box-shadow: 0 18px 30px rgba(0,0,0,.25); }
.product-art.statue-small::before { position: absolute; top: -14%; left: 30%; width: 40%; height: 22%; background: #735d3e; border-radius: 50%; content: ""; }
.product-art.weapon { width: 78%; height: 18%; background: linear-gradient(90deg,#2f3a36,#777763,#292e2c); transform: rotate(-8deg); box-shadow: 0 12px 20px rgba(0,0,0,.18); }
.product-art.weapon::before { position: absolute; left: 12%; top: -55%; width: 22%; height: 210%; background: #4c4b3d; content: ""; }
.product-art.seal { width: 45%; height: 55%; background: linear-gradient(145deg,#7d6240,#30372f); box-shadow: 0 18px 30px rgba(0,0,0,.25); }
.product-art.seal::before { position: absolute; left: 18%; top: -28%; width: 64%; height: 34%; background: #6c593c; border-radius: 50% 50% 0 0; content: ""; }
.product-art.ornament { width: 62%; height: 45%; border: 18px solid #7c6743; border-radius: 50% 10% 50% 10%; transform: rotate(-12deg); }
.product-card-info { min-height: 98px; padding: 18px 12px; text-align: center; }
.product-card-info h3 { margin-bottom: 7px; font-size: 17px; transition: color .2s ease; }
.product-card:hover h3 { color: var(--red); }
.product-card-info p { margin-bottom: 0; color: var(--text-2); }
.more-row { margin-top: 36px; text-align: center; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 44px; }
.pagination a, .pagination span { display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 8px; color: var(--ink); background: #e6e6e6; border-radius: 36px; }
.pagination .wide { min-width: 110px; }
.pagination .active, .pagination a:hover { color: var(--white); background: var(--red); }

/* Home specialty sections */
.team-stage { position: relative; overflow: hidden; }
.team-stage::before { position: absolute; right: 0; bottom: -250px; left: 0; height: 430px; background: linear-gradient(180deg, transparent, rgba(181,138,74,.08)); content: ""; }
.expert-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.expert-card { position: relative; z-index: 2; min-width: 0; padding: 16px 16px 22px; background: rgba(255,255,255,.94); border-top: 3px solid var(--red); box-shadow: var(--shadow); text-align: center; }
.expert-avatar { display: grid; place-items: center; width: 100%; aspect-ratio: 3 / 4; margin: 0 auto 16px; overflow: hidden; color: var(--gold); background: radial-gradient(circle at 50% 36%,rgba(199,161,102,.24),transparent 22%),linear-gradient(145deg,#27231f,#11161b); border: 1px solid rgba(143,48,38,.3); font-family: serif; font-size: 46px; }
.expert-avatar img { width: 100%; height: 100%; object-fit: cover; }
.expert-card h3 { margin-bottom: 5px; font-size: 19px; }
.expert-card p { margin-bottom: 0; color: var(--muted); }
.expert-more { position: relative; z-index: 2; grid-column: 1 / -1; margin-top: 12px; text-align: center; }
.fast-submit { position: relative; min-height: 470px; overflow: hidden; color: var(--white); background: #0f0801; }
.fast-inner { position: relative; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); align-items: center; gap: 72px; min-height: 470px; padding: 42px 0; }
.fast-copy { width: 100%; min-width: 0; }
.fast-copy h2 { margin-bottom: 5px; font-size: 28px; }
.fast-copy .en { color: rgba(255,255,255,.72); font-size: 12px; text-transform: uppercase; }
.fast-copy .rating-query-form { gap: 16px; margin-top: 24px; }
.fast-copy .rating-query-row { grid-template-columns: 108px minmax(0,1fr); gap: 16px; }
.fast-copy .rating-query-label { font-size: 17px; letter-spacing: 1px; }
.fast-copy .rating-query-form input { height: 44px; padding: 0 14px; border-width: 1px; border-radius: 4px; font-size: 15px; }
.fast-copy .rating-captcha-fields { grid-template-columns: minmax(180px,1fr) 150px; gap: 14px; }
.fast-copy .rating-captcha-image { height: 44px; }
.fast-copy .rating-query-actions { padding-left: 124px; }
.fast-copy .rating-query-button { min-width: 116px; min-height: 40px; padding: 7px 18px; font-size: 14px; }
.fast-visual { display: flex; align-items: center; justify-content: center; height: 386px; min-width: 0; overflow: hidden; }
.fast-visual img { width: auto; height: 100%; max-width: 100%; object-fit: contain; }
.rating-query-form { display: grid; gap: 24px; width: 100%; margin-top: 34px; }
.rating-query-row { display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: center; gap: 26px; }
.rating-query-label { color: var(--white); font-size: 30px; font-weight: 700; letter-spacing: 2px; }
.rating-query-form input { width: 100%; height: 66px; padding: 0 24px; color: var(--text); background: #fff; border: 2px solid rgba(80,80,80,.28); border-radius: 7px; box-shadow: inset 0 1px 2px rgba(0,0,0,.08); outline: none; font-size: 21px; }
.rating-query-form input:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(143,48,38,.14); }
.rating-captcha-fields { display: grid; grid-template-columns: minmax(220px,245px) minmax(180px,300px); align-items: center; gap: 28px; }
.rating-captcha-image { display: block; width: 100%; height: 66px; object-fit: cover; background: #fff; cursor: pointer; }
.rating-query-actions { padding-left: 216px; }
.rating-query-button { min-width: 150px; border: 0; }
.query-panel-form .rating-query-form { max-width: 820px; margin: 28px auto 0; text-align: left; }
.query-panel-form .rating-query-label { color: var(--ink); font-size: 22px; }
.query-panel-form .rating-query-actions { padding-left: 216px; }
.news-home-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 38px; }
.date-news { margin: 0; padding: 0; list-style: none; }
.date-news li { display: grid; grid-template-columns: 102px 1fr; padding: 15px 0; border-bottom: 1px dotted #ccc; }
.date-box { color: #5a5a5a; font-family: Arial; }
.date-box b { display: block; font-size: 58px; line-height: 1; transition: color .2s ease; }
.date-box span { font-size: 13px; }
.news-summary { padding: 4px 0 0 20px; border-left: 1px solid #c8c8c8; }
.news-summary h3 { margin-bottom: 7px; overflow: hidden; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; transition: color .2s ease; }
.news-summary p { display: -webkit-box; margin-bottom: 0; overflow: hidden; color: var(--text-2); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.date-news li:hover .date-box b, .date-news li:hover h3 { color: var(--red); }
.featured-news { position: relative; min-height: 430px; overflow: hidden; background: linear-gradient(145deg,#2b2723,#11151b); }
.featured-news .artifact-window { position: absolute; inset: 0; display: grid; place-items: center; }
.featured-news .artifact-window .statue { transform: scale(.72); }
.featured-news-copy { position: absolute; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 100px 1fr; min-height: 95px; color: var(--white); background: rgba(0,0,0,.72); }
.featured-date { display: grid; place-items: center; color: var(--white); background: var(--red); font-family: Arial; }
.featured-date b { display: block; font-size: 50px; line-height: .9; }
.featured-news-copy div:last-child { padding: 18px 22px; }
.featured-news-copy h3 { margin-bottom: 8px; font-size: 18px; }
.featured-news-copy p { margin-bottom: 0; color: rgba(255,255,255,.72); }
.partner-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.partner-card { display: grid; place-items: center; min-height: 120px; color: #777; background: var(--white); border: 1px solid var(--border); font-family: serif; font-size: 20px; filter: grayscale(1); transition: filter .2s ease, border-color .2s ease; }
.partner-card:hover { filter: none; border-color: var(--red); }
.partner-image-card { min-height: 0; overflow: hidden; }
.partner-image-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease; }
.partner-image-card:hover img { transform: scale(1.03); }
.contact-band { color: var(--white); background: linear-gradient(115deg,#121417,#271b18); }
.contact-band-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; }
.friendly-links { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.friendly-links a { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 58px; padding: 12px 16px; color: rgba(255,255,255,.82); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); transition: background .2s ease, border-color .2s ease; }
.friendly-links a:hover { background: rgba(239,49,36,.14); border-color: var(--red); }
.friendly-links strong { color: var(--white); font-size: 15px; }
.friendly-links span { overflow: hidden; color: rgba(255,255,255,.5); font-family: Arial, sans-serif; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.message-form { display: grid; gap: 16px; }
.form-line { display: grid; grid-template-columns: 110px 1fr; min-height: 52px; overflow: hidden; background: var(--white); border-radius: 4px; }
.form-line label { padding: 13px 10px; color: var(--text); }
.form-line label em { color: var(--red); font-style: normal; }
.form-line input, .form-line textarea { width: 100%; padding: 13px 5px; background: transparent; border: 0; outline: none; resize: vertical; }
.form-line textarea { min-height: 130px; }
.contact-info h3 { color: var(--white); font-size: 20px; }
.contact-info ul { margin: 26px 0; padding: 0; list-style: none; color: #ccc; }
.contact-info li { margin: 10px 0; }
.qr-row { display: flex; gap: 22px; }
.qr-card { text-align: center; }
.qr-code { display: grid; grid-template-columns: repeat(7,1fr); gap: 2px; width: 116px; height: 116px; padding: 8px; background: var(--white); }
.qr-code i { background: #222; }
.qr-code i:nth-child(3n), .qr-code i:nth-child(5n) { background: transparent; }
.qr-card span { display: block; margin-top: 8px; color: #ccc; }

/* About */
.about-intro { display: grid; grid-template-columns: 1fr 520px; gap: 70px; align-items: center; }
.about-copy h2 { font-size: 30px; }
.about-copy .en { color: var(--muted); font-size: 12px; text-transform: uppercase; }
.about-copy .body { margin-top: 34px; color: #4e4e4e; font-size: 15px; line-height: 1.9; }
.about-visual { position: relative; height: 580px; padding: 30px 30px 0 0; }
.about-visual::before { position: absolute; top: 0; right: 0; width: 220px; height: 220px; border-top: 4px double var(--seal); border-right: 4px double var(--seal); content: ""; }
.museum-room { position: relative; display: grid; place-items: center; height: 100%; overflow: hidden; background: linear-gradient(145deg,#1a1d20,#36251e); }
.museum-room::before { position: absolute; inset: 0; background: repeating-linear-gradient(90deg,transparent 0 84px,rgba(199,161,102,.06) 85px 86px); content: ""; }
.museum-room .bronze-vessel { transform: scale(.82); }
.advantages { color: var(--ink); background: linear-gradient(120deg,#eee7db,#d8c8ae); }
.advantage-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; margin-top: 55px; }
.advantage { display: grid; place-items: center; width: 160px; height: 160px; margin: auto; padding: 18px; text-align: center; background: var(--paper); border: 2px solid var(--bronze); clip-path: polygon(25% 4%,75% 4%,96% 25%,96% 75%,75% 96%,25% 96%,4% 75%,4% 25%); transition: color .25s ease, background .25s ease; }
.advantage:hover { color: var(--white); background: var(--red); }
.advantage strong { font-size: 24px; }
.qualification { background: var(--surface); }
.timeline { position: relative; width: min(1000px,100%); margin: 40px auto 0; }
.timeline::before { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: #bababa; content: ""; }
.timeline-item { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 180px; border-top: 1px solid #bababa; }
.timeline-item:first-child { border-top: 0; }
.timeline-item::before { position: absolute; top: 34px; left: 50%; width: 13px; height: 13px; background: var(--red); border: 4px solid var(--surface); border-radius: 50%; content: ""; transform: translateX(-50%); }
.timeline-visual { display: grid; place-items: center; margin: 28px 34px; color: var(--seal); background: var(--paper); border: 1px solid var(--border); font-family: serif; font-size: 42px; }
.timeline-copy { align-self: center; padding: 30px; }
.timeline-copy time { color: var(--red); font-weight: 700; }
.timeline-copy h3 { margin: 7px 0; }
.timeline-item:nth-child(even) .timeline-visual { grid-column: 2; }
.timeline-item:nth-child(even) .timeline-copy { grid-column: 1; grid-row: 1; text-align: right; }

/* Details and rich content */
.content-panel { margin: 60px auto; background: var(--white); border: 1px solid var(--border); }
.content-panel-head { padding: 24px 20px; color: var(--red); background: var(--surface); border-bottom: 1px solid var(--border); font-size: 18px; font-weight: 700; }
.rich-content { max-width: 1080px; margin: auto; padding: 36px 28px 56px; font-size: 15px; line-height: 1.9; }
.rich-content > h2 { margin-bottom: 44px; text-align: center; font-size: 26px; }
.rich-content h3 { margin: 42px 0 18px; font-size: 21px; }
.rich-content h4 { margin: 30px 0 12px; font-size: 17px; }
.rich-content table { width: 100%; margin: 28px 0; border-collapse: collapse; }
.rich-content th, .rich-content td { padding: 14px; border: 1px solid var(--border); vertical-align: top; }
.rich-content th { background: var(--surface); }
.accordion-list { display: grid; gap: 12px; margin: 60px auto; }
.accordion-item { border: 1px solid var(--border); }
.accordion-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 76px; padding: 18px 20px; color: var(--red); background: var(--surface); border: 0; font-size: 18px; font-weight: 700; text-align: left; }
.accordion-trigger span:last-child { color: var(--muted); font-size: 24px; }
.accordion-item.open .accordion-trigger span:last-child { transform: rotate(45deg); }
.accordion-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.accordion-body > div { overflow: hidden; }
.accordion-item.open .accordion-body { grid-template-rows: 1fr; }

/* Product detail */
.detail-card { margin: 30px 0 60px; border: 1px solid var(--border); }
.detail-head { padding: 32px; text-align: center; background-color: var(--surface); background-image: repeating-linear-gradient(135deg,rgba(0,0,0,.025) 0 2px,transparent 2px 5px); }
.detail-head h2 { margin-bottom: 10px; font-size: 26px; }
.detail-meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 22px; color: var(--text-2); }
.detail-body { padding: 30px; }
.main-art-display { display: grid; place-items: center; min-height: 650px; background: linear-gradient(145deg,#fbfbfb,#f0eee9); }
.main-art-display > img { width: 100%; max-height: 720px; object-fit: contain; }
.main-art-display .product-art.disc { width: 48%; max-width: 520px; }
.detail-fields { display: grid; grid-template-columns: repeat(4,1fr); margin: 30px 0; border: 1px solid var(--border); }
.detail-field { padding: 18px; border-right: 1px solid var(--border); }
.detail-field:last-child { border-right: 0; }
.detail-field small { display: block; color: var(--muted); }
.detail-field strong { display: block; margin-top: 5px; }
.prev-next { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 25px; border-top: 1px solid var(--border); }
.prev-next div a { display: block; margin: 6px 0; }
.related { padding-bottom: 70px; }

/* News */
.news-list { margin: 0; padding: 0; list-style: none; }
.news-list li { background: var(--surface); }
.news-list li:nth-child(even) { background: var(--white); }
.news-item { display: grid; grid-template-columns: 200px minmax(0,1fr) 30px; align-items: center; gap: 24px; padding: 30px 0; }
.news-text { min-width: 0; }
.news-text h2 { margin-bottom: 8px; overflow: hidden; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; transition: color .2s ease; }
.news-text p { display: -webkit-box; margin-bottom: 0; overflow: hidden; color: var(--text-2); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.news-arrow { color: var(--red); font-size: 24px; }
.news-thumb { position: relative; display: grid; place-items: center; width: 200px; height: 150px; overflow: hidden; background: linear-gradient(145deg,#29241f,#11151a); border-radius: 5px; border: solid 1px #11151a;}
.news-item:hover .news-text h2 { color: var(--red); }
.article-card { margin: 60px auto; border: 1px solid var(--border); }
.article-head { padding: 34px 30px; text-align: center; background: var(--surface); }
.article-head h1 { margin-bottom: 12px; font-size: 30px; }
.article-body { max-width: 1000px; margin: auto; padding: 40px 30px 60px; font-size: 16px; line-height: 1.9; }
.article-body p { margin-bottom: 20px; }
.article-illustration { position: relative; display: grid; place-items: center; min-height: 420px; margin: 30px 0; overflow: hidden; background: linear-gradient(145deg,#1c1f21,#34241d); }
.article-illustration .bronze-vessel { transform: scale(.75); }

/* Search result */
.search-result { padding: 76px 0 90px; }
.search-swiper { --slides-per-view: 5; position: relative; padding: 0 52px; }
.search-swiper-viewport { overflow: hidden; touch-action: pan-y; }
.search-swiper .swiper-wrapper { display: flex; column-gap: 18px; transition: transform .35s ease; will-change: transform; }
.search-swiper .swiper-slide { flex: 0 0 calc((100% - 72px) / 5); min-width: 0; }
.search-photo { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--surface); }
.search-swiper-button { position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; color: var(--white); background: rgba(34,34,34,.88); border: 0; border-radius: 50%; font-size: 27px; line-height: 1; transform: translateY(-50%); transition: background .2s ease, opacity .2s ease; }
.search-swiper-button:hover { background: var(--red); }
.search-swiper-button:disabled { opacity: .28; cursor: default; }
.search-swiper-button[hidden] { display: none; }
.swiper-button-prev { left: 0; }
.swiper-button-next { right: 0; }
.search-info { margin: 56px 0 0; border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.search-info-row { display: grid; grid-template-columns: 140px minmax(0,1fr); min-height: 58px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.search-info dt, .search-info dd { display: flex; align-items: center; margin: 0; padding: 13px 18px; }
.search-info dt { justify-content: flex-end; color: #444; background: #fafafa; border-right: 1px solid var(--border); font-size: 16px; }
.search-info dd { font-size: 16px; font-weight: 700; }

/* Contact page */
.contact-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin: 60px auto; }
.contact-page-grid .section-heading { text-align: left; }
.contact-page-grid .seal-divider { justify-content: flex-start; }
.contact-page-grid .seal-divider::after { display: none; }
.contact-qrs { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.contact-qrs .qr-code { width: 140px; height: 140px; margin: auto; }
.contact-details h3 { margin-bottom: 24px; font-size: 20px; }
.contact-details dl { display: grid; gap: 14px; }
.contact-details div { display: grid; grid-template-columns: 78px 1fr; }
.contact-details dt { font-weight: 700; }
.contact-details dd { margin: 0; color: var(--text-2); }
.map-panel { position: relative; min-height: 360px; margin-bottom: 70px; overflow: hidden; background:
  linear-gradient(45deg,transparent 47%,rgba(143,48,38,.18) 48% 52%,transparent 53%) 0 0/70px 70px,
  linear-gradient(-45deg,transparent 47%,rgba(181,138,74,.16) 48% 52%,transparent 53%) 0 0/70px 70px,
  #ebe7df;
}
.map-marker { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 70px; height: 70px; color: var(--white); background: var(--red); border: 8px solid rgba(255,255,255,.55); border-radius: 50% 50% 50% 0; font-family: serif; font-size: 22px; transform: translate(-50%,-60%) rotate(-45deg); }
.map-marker span { transform: rotate(45deg); }
.map-info { position: absolute; right: 30px; bottom: 30px; padding: 20px 24px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); }

/* Footer */
.site-footer { position: relative; min-height: 322px; overflow: hidden; color: #ccc; background-color: var(--ink); background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.045) 1px, transparent 0); background-size: 18px 18px; border-top: 3px solid var(--red); }
.footer-crest { position: absolute; top: -110px; left: 50%; display: grid; place-items: center; width: 220px; height: 220px; color: rgba(143,48,38,.42); border: 3px solid rgba(143,48,38,.32); border-radius: 50%; transform: translateX(-50%); }
.footer-crest span { margin-top: 95px; font-family: serif; font-size: 56px; }
.footer-inner { position: relative; z-index: 2; padding: 82px 0 50px; text-align: center; }
.footer-services { font-size: 17px; letter-spacing: 3px; }
.footer-services i { margin: 0 18px; color: var(--red); font-style: normal; }
.footer-seal { display: grid; place-items: center; width: 70px; height: 70px; margin: 24px auto; color: var(--seal); border: 2px solid var(--seal); border-radius: 50%; font-family: serif; font-size: 28px; }
.footer-copy { color: #999; }
.footer-copy span { font-family: Arial; font-size: 12px; }
.footer-social { display: flex; justify-content: center; gap: 14px; margin-top: 20px; }
.footer-social a { display: grid; place-items: center; width: 34px; height: 34px; color: #ddd; border: 1px solid #666; border-radius: 50%; }
.footer-social a:hover { color: var(--white); background: var(--red); border-color: var(--red); }
.back-top { position: fixed; right: 22px; bottom: 22px; z-index: 500; width: 48px; height: 48px; color: var(--white); background: var(--ink); border: 1px solid #555; border-radius: 50%; opacity: 0; visibility: hidden; transition: opacity .2s ease; }
.back-top.visible { opacity: 1; visibility: visible; }
.site-toast { position: fixed; top: 50%; left: 50%; z-index: 1000; max-width: min(360px, calc(100vw - 32px)); padding: 14px 20px; color: var(--white); background: rgba(34,34,34,.95); border-left: 4px solid var(--red); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translate(-50%, calc(-50% + 12px)); transition: .2s ease; }
.site-toast.show { opacity: 1; visibility: visible; transform: translate(-50%, -50%); }

@media (max-width: 1199px) {
  .paper-header { height: 120px; }
  .header-inner { gap: 20px; }
  img.brand-seal { width: 120px; }
  .brand-copy strong { font-size: 30px; }
  .brand-copy strong span { font-size: 21px; }
  .header-call { min-width: 0; }
  .site-nav a { font-size: 14px; }
  .product-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 991px) {
  .paper-header { height: 86px; }
  .header-inner { gap: 18px; }
  .brand { flex: 1 1 auto; }
  .brand-seal { width: 62px; height: 62px; }
  img.brand-seal { width: 62px; height: auto; max-height: 62px; }
  .brand-copy strong { font-size: 24px; }
  .brand-copy strong span { font-size: 19px; }
  .brand-copy small { font-size: 11px; }
  .header-call { display: none; }
  .menu-toggle { display: block; flex: 0 0 auto; }
  .site-nav { position: fixed; top: 86px; right: 0; bottom: 0; left: 0; padding: 12px 18px; overflow-y: auto; background: rgba(0,0,0,.62); opacity: 0; visibility: hidden; transition: .2s ease; }
  .site-nav.open { opacity: 1; visibility: visible; }
  .site-nav::after { display: none; }
  .site-nav .container { width: min(520px,100%); margin-right: 0; }
  .site-nav ul { display: block; padding: 8px 16px; background: var(--ink); }
  .site-nav li { border-bottom: 1px solid rgba(255,255,255,.08); }
  .site-nav a { justify-content: start; height: 48px; padding-left: 18px; }
  .site-nav a::before, .site-nav a::after { display: none; }
  .site-nav a.is-active { border-left: 3px solid var(--red); }
  .product-grid { grid-template-columns: repeat(3,1fr); }
  .expert-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .news-home-grid, .contact-band-grid, .about-intro, .contact-page-grid { grid-template-columns: 1fr; }
  .about-visual { width: min(600px,100%); margin: auto; }
  .advantage-grid { grid-template-columns: repeat(2,1fr); }
  .news-item { grid-template-columns: 180px minmax(0,1fr); }
  .news-arrow { display: none; }
  .news-thumb { width: 180px; height: 135px; }
  .detail-fields { grid-template-columns: repeat(2,1fr); }
  .detail-field:nth-child(2) { border-right: 0; }
  .detail-field:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .fast-inner { grid-template-columns: minmax(0,1.25fr) minmax(240px,.75fr); gap: 42px; }
  .fast-visual { height: 340px; }
}

@media (max-width: 767px) {
  .container { width: min(100% - 30px,var(--container)); }
  .brand-copy strong { font-size: 21px; }
  .brand-copy strong span { font-size: 17px; }
  .inside-banner { height: 300px; }
  .banner-title p { font-size: 34px; }
  .hero { height: 590px; }
  .section { padding: 52px 0; }
  .section-heading h2 { font-size: 26px; }
  .product-tabs { flex-wrap: nowrap; justify-content: start; margin-right: -15px; margin-left: -15px; padding: 0 15px 8px; overflow-x: auto; }
  .product-tabs button, .product-tabs a { flex: 0 0 auto; }
  .product-grid { grid-template-columns: repeat(2,1fr); gap: 15px; }
  .product-card-info { min-height: 92px; padding: 14px 8px; }
  .product-card-info h3 { font-size: 15px; }
  .team-stage { min-height: auto; }
  .expert-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
  .expert-card { padding: 12px 12px 18px; }
  .expert-avatar { font-size: 38px; }
  .fast-inner { grid-template-columns: 1fr; min-height: auto; gap: 34px; padding: 48px 0; }
  .fast-copy { max-width: 620px; margin: 0 auto; }
  .fast-copy .rating-query-row { grid-template-columns: 100px minmax(0,1fr); gap: 14px; }
  .fast-copy .rating-query-actions { padding-left: 114px; }
  .fast-visual { height: 330px; }
  .rating-query-row { grid-template-columns: 132px minmax(0,1fr); gap: 18px; }
  .rating-query-label { font-size: 23px; }
  .rating-query-actions, .query-panel-form .rating-query-actions { padding-left: 150px; }
  .news-home-grid { gap: 28px; }
  .date-news li { grid-template-columns: 76px 1fr; }
  .date-box b { font-size: 42px; }
  .partner-grid { grid-template-columns: repeat(2,1fr); }
  .contact-band-grid { gap: 42px; }
  .qr-row { flex-wrap: wrap; }
  .about-visual { height: 420px; }
  .advantage-grid { gap: 12px; }
  .timeline::before { left: 18px; }
  .timeline-item { grid-template-columns: 1fr; padding-left: 42px; }
  .timeline-item::before { left: 18px; }
  .timeline-item:nth-child(even) .timeline-visual, .timeline-item:nth-child(even) .timeline-copy { grid-column: auto; grid-row: auto; text-align: left; }
  .timeline-visual { min-height: 130px; margin: 20px 0; }
  .timeline-copy { padding: 10px 0 28px; }
  .rich-content { padding: 28px 18px 42px; }
  .table-scroll { overflow-x: auto; }
  .detail-head { padding: 24px 16px; }
  .detail-body { padding: 18px; }
  .main-art-display { min-height: 420px; }
  .prev-next { display: block; }
  .prev-next .btn { margin-top: 18px; }
  .news-item { grid-template-columns: 150px minmax(0,1fr); gap: 16px; }
  .news-thumb { width: 150px; height: 112px; }
  .news-text h2 { white-space: normal; }
  .search-result { padding: 48px 0 58px; }
  .search-swiper { --slides-per-view: 1; padding: 0; }
  .search-swiper .swiper-wrapper { column-gap: 0; }
  .search-swiper .swiper-slide { flex-basis: 100%; }
  .search-swiper-button { width: 40px; height: 40px; background: rgba(34,34,34,.78); }
  .swiper-button-prev { left: 10px; }
  .swiper-button-next { right: 10px; }
  .search-info { margin-top: 32px; }
  .search-info-row { grid-template-columns: 88px minmax(0,1fr); min-height: 52px; }
  .search-info dt, .search-info dd { padding: 11px 12px; font-size: 14px; }
  .article-card { margin: 40px auto; }
  .article-head h1 { font-size: 25px; }
  .article-body { padding: 30px 18px 45px; font-size: 15px; }
  .contact-qrs { grid-template-columns: 1fr; }
  .map-info { right: 15px; bottom: 15px; left: 15px; }
  .footer-services { font-size: 14px; letter-spacing: 1px; }
}

@media (max-width: 479px) {
  .brand-seal { width: 52px; height: 52px; }
  img.brand-seal { width: 52px; height: auto; max-height: 52px; }
  .brand-copy strong { font-size: 19px; }
  .brand-copy strong span { display: block; margin-left: 0; font-size: 14px; }
  .brand-copy small { display: none; }
  .inside-banner { height: 300px; }
  .banner-title h1 { font-size: 19px; }
  .banner-title p { font-size: 28px; }
  .seal-divider::before, .seal-divider::after { width: 68px; }
  .product-grid { grid-template-columns: 1fr; }
  .expert-card h3 { font-size: 16px; }
  .expert-card p { font-size: 12px; line-height: 1.6; }
  .fast-copy h2 { font-size: 25px; }
  .fast-copy .rating-query-form { gap: 15px; }
  .fast-copy .rating-query-row { grid-template-columns: 1fr; gap: 7px; }
  .fast-copy .rating-query-label { font-size: 15px; }
  .fast-copy .rating-query-form input, .fast-copy .rating-captcha-image { height: 42px; }
  .fast-copy .rating-query-form input { padding: 0 12px; font-size: 14px; }
  .fast-copy .rating-captcha-fields { grid-template-columns: minmax(0,1fr) 118px; gap: 9px; }
  .fast-copy .rating-query-actions { padding-left: 0; }
  .fast-visual { height: 290px; }
  .rating-query-form { gap: 18px; }
  .rating-query-row { grid-template-columns: 1fr; gap: 9px; }
  .rating-query-label, .query-panel-form .rating-query-label { font-size: 20px; }
  .rating-query-form input, .rating-captcha-image { height: 56px; }
  .rating-query-form input { padding: 0 15px; font-size: 17px; }
  .rating-captcha-fields { grid-template-columns: minmax(0,1fr) 130px; gap: 10px; }
  .rating-query-actions, .query-panel-form .rating-query-actions { padding-left: 0; }
  .featured-news-copy { grid-template-columns: 78px 1fr; }
  .partner-grid { grid-template-columns: 1fr; }
  .form-line { grid-template-columns: 90px 1fr; }
  .advantage-grid { grid-template-columns: 1fr; }
  .pagination { gap: 8px; }
  .pagination .wide { min-width: 80px; padding: 0 10px; }
  .pagination a:not(.wide):nth-of-type(n+4) { display: none; }
  .detail-fields { grid-template-columns: 1fr; }
  .detail-field { border-right: 0; border-bottom: 1px solid var(--border); }
  .detail-field:last-child { border-bottom: 0; }
  .main-art-display { min-height: 340px; }
  .main-art-display .product-art.disc { width: 70%; }
  .contact-details div { grid-template-columns: 68px 1fr; }
  .news-item { grid-template-columns: 120px minmax(0,1fr); gap: 12px; }
  .news-thumb { width: 120px; height: 90px; }
  .news-text h2 { margin-bottom: 4px; font-size: 16px; }
  .news-text p { -webkit-line-clamp: 3; font-size: 12px; line-height: 1.6; }
  .friendly-links a { display: block; }
  .friendly-links span { display: block; margin-top: 3px; }
}

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