:root {
  --brand-red: #a9212c;
  --brand-red-bright: #c62f3e;
  --ink: #141414;
  --paper: #f7f5f1;
  --line: rgba(20, 20, 20, .12);
}

html { scroll-behavior: smooth; }
body { color: var(--ink); background: #fff; -webkit-font-smoothing: antialiased; }
a, button { transition: color .22s ease, background-color .22s ease, transform .22s ease, opacity .22s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(198, 47, 62, .42);
  outline-offset: 4px;
}

.navbar { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.navbar .container { max-width: 1320px; padding-left: 28px; padding-right: 28px; }
.navbar-brand img { width: 58px; height: auto; object-fit: contain; }
.navbar-brand span { margin-left: 12px; font-size: 15px; letter-spacing: .13em; }
.nav-link { position: relative; letter-spacing: .06em; }
.nav-link::after { content: ''; position: absolute; left: 50%; right: 50%; bottom: -7px; height: 2px; background: var(--brand-red-bright); transition: left .22s ease, right .22s ease; }
.nav-link:hover::after, .nav-link:focus-visible::after { left: 13px; right: 13px; }
.dropdown-menu { border: 0; border-top: 2px solid var(--brand-red); box-shadow: 0 18px 46px rgba(0,0,0,.15); }

.owl-carousel.full .owl-slide,
.owl-carousel.full > .section-fullscreen,
.owl-carousel.full .section-fullscreen { background-position: center; }
.owl-carousel.full .section-fullscreen > [class*='bg-black'] { background: linear-gradient(90deg, rgba(7,8,10,.66), rgba(7,8,10,.25) 58%, rgba(7,8,10,.42)); }
.owl-carousel.full h1 { font-family: 'STSong', 'Songti SC', 'SimSun', serif; letter-spacing: .16em; text-shadow: 0 3px 24px rgba(0,0,0,.35); }
.owl-carousel.full .lead { max-width: 720px; line-height: 1.9; letter-spacing: .06em; }
.owl-carousel.full .position-middle { backdrop-filter: blur(2px); }

.top-info { background: var(--paper) !important; }
.top-info .info { padding-top: 78px; padding-bottom: 78px; }
.top-info h2, .section-title h2 { font-family: 'STSong', 'Songti SC', 'SimSun', serif; line-height: 1.3; }
.top-info h2::before { content: 'ORIENTAL JUSTICE'; display: block; margin-bottom: 16px; color: var(--brand-red); font: 600 11px/1.2 Arial,sans-serif; letter-spacing: .28em; }
.top-info p { max-width: 580px; font-size: 16px; line-height: 2; color: #555; }
.article-card { overflow: hidden; background: #fff; border: 1px solid rgba(20,20,20,.07); border-radius: 2px; }
.article-card img { width: 100%; height: 178px; object-fit: cover; filter: saturate(.76) contrast(1.04); }
.article-card:hover img { transform: scale(1.035); }
.article-card img { transition: transform .45s ease; }
.badge { background: rgba(169,33,44,.09); color: var(--brand-red); }

.specials { position: relative; background-position: center; }
.specials::before { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, rgba(9,10,12,.90), rgba(9,10,12,.48)); }
.specials > * { position: relative; }

.button { border-radius: 1px !important; font-weight: 600; letter-spacing: .08em; }
.button-reveal-right-dark:hover { transform: translateY(-2px); }
footer { border-top: 3px solid var(--brand-red); }

img { max-width: 100%; }
.image-fallback { background: linear-gradient(145deg, #222 0%, #3a2024 100%) !important; }
.image-fallback-label { display: flex; min-height: 86px; align-items: center; justify-content: center; padding: 14px; color: #fff; font-size: 13px; line-height: 1.6; text-align: center; letter-spacing: .05em; }
.ti-arrow-right::before { content: '→'; font-family: Arial, sans-serif; }
.ti-arrow-left::before { content: '←'; font-family: Arial, sans-serif; }
.ti-arrow-up::before { content: '↑'; font-family: Arial, sans-serif; }
.ti-arrow-down::before { content: '↓'; font-family: Arial, sans-serif; }
.ti-email::before { content: '✉'; font-family: Arial, sans-serif; }
.ti-location-pin::before { content: '⌖'; font-family: Arial, sans-serif; }
.submit-result #success { display: inline-block; margin-top: 16px; color: #626262; font-size: 13px; }
.send_msg[role='button'] { cursor: pointer; }

@media (max-width: 991px) {
  .navbar { padding: 12px 0; }
  .navbar .container { padding-left: 18px; padding-right: 18px; }
  .navbar-brand img { width: 46px; }
  .navbar-brand span { font-size: 12px; letter-spacing: .08em; }
  .owl-carousel.full h1 { font-size: clamp(2.55rem, 12vw, 4.4rem); letter-spacing: .1em; }
  .owl-carousel.full .lead { padding: 0 22px; font-size: 16px; }
  .top-info .info { padding: 58px 24px 42px; }
  .article-card { width: min(78vw, 320px) !important; }
}

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