.official-footer {
  display: grid;
  grid-template-columns: minmax(240px, 1.4fr) minmax(350px, 2fr) auto;
  gap: 28px 36px;
  align-items: start;
}
.official-footer .brand { margin-bottom: 18px; }
.official-footer-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.official-footer-nav h3 { margin-bottom: 14px; font-size: 1rem; }
.official-footer-nav ul { margin: 0; padding: 0; list-style: none; }
.official-footer-nav li { margin-top: 7px; font-size: .875rem; }
.official-footer a:hover, .official-contact a:hover { text-decoration: underline; }
.official-contact { display: grid; gap: 9px; margin: 0; font-size: .875rem; }
.official-contact > div { display: grid; grid-template-columns: 5.8em minmax(0, 1fr); gap: 8px; }
.official-contact dt { color: var(--muted); }
.official-contact dd { margin: 0; }
.official-contact .contact-numbers { display: flex; flex-wrap: wrap; gap: 0 12px; }
.official-contact .text-link { display: inline-block; font-size: inherit; }
.contact-qr { width: 128px; max-width: 100%; color: var(--muted); font-size: .75rem; }
.contact-qr img { padding: 5px; background: white; }
.contact-qr figcaption { margin-top: 5px; }
.contact-panel .contact-qr { margin: 18px 0; }
.inquiry-layout .contact-panel .official-contact a { display: inline; }
.official-team-grid, .official-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.official-team-grid { margin-top: 24px; }
.official-team-grid figure { background: #e6ebe5; display: grid; place-items: center; }
.official-team-grid img { width: 100%; aspect-ratio: 3 / 2; object-fit: contain; }
.official-news-grid article { border: 1px solid var(--line); background: #f7f8f3aa; }
.official-news-grid article a { display: block; height: 100%; }
.official-news-grid article a:hover h3 { text-decoration: underline; }
.official-news-grid img { width: 100%; aspect-ratio: 8 / 5; object-fit: cover; background: #e6ebe5; }
.official-news-grid article a > div { padding: 18px; }
.official-news-grid time { font-size: .8rem; color: var(--muted); }
.official-news-grid h3 { margin-top: 6px; line-height: 1.35; }
.official-news-grid p { margin: 10px 0 14px; color: var(--muted); }
.official-news { padding-block: clamp(52px, 7vw, 96px); }
#company-profile, #company-history, #company-team, #company-news, #contact-details, #inquiry-form { scroll-margin-top: 108px; }
@media (max-width: 1100px) {
  .official-footer { grid-template-columns: minmax(230px, 1fr) minmax(300px, 1.5fr); }
  .official-footer > .contact-qr { grid-column: 1; }
}
@media (max-width: 780px) {
  .official-footer { grid-template-columns: 1fr auto; gap: 24px 14px; }
  .official-footer-nav { grid-row: 2; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .official-footer > .contact-qr { grid-column: 2; width: 96px; }
  .official-team-grid, .official-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 450px) {
  .official-footer, .official-news-grid { grid-template-columns: 1fr; }
  .official-footer > .contact-qr { grid-column: 1; }
}
.official-history h2 { margin-bottom: clamp(28px, 4vw, 56px); }
.timeline-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(12px, 4vw, 48px);
  padding: clamp(24px, 4vw, 56px);
  border-block: 1px solid #bdc7be;
  background: #f5f7f2a8;
}
.timeline-body > button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #9ba89d;
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
}
.timeline-body > button:hover:not(:disabled) { border-color: var(--ink); background: #e2e9e1; }
.timeline-copy { min-height: 8.4rem; align-content: center; text-align: center; }
.timeline-copy h3 {
  display: grid;
  justify-items: center;
  gap: 10px;
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  line-height: 1.35;
}
.timeline-copy time {
  color: #3b5846;
  font-size: clamp(1.8rem, 4vw, 3.4rem);
  font-variant-numeric: tabular-nums;
}
.timeline-copy p { margin: 9px auto 0; max-width: 36em; color: #46564b; font-size: clamp(1rem, 1.6vw, 1.125rem); }
.timeline-years {
  display: grid;
  grid-template-columns: repeat(11, minmax(0, 1fr));
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}
.timeline-years li { min-width: 0; }
.timeline-year {
  position: relative;
  width: 100%;
  min-height: 52px;
  padding: 19px 1px 2px;
  border: 0;
  border-top: 1px solid #a4b3a6;
  background: transparent;
  color: #45544a;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.timeline-year::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #718577;
}
.timeline-year:is(:hover,[aria-pressed="true"]) { color: #263d2f; background: #dbe6dc80; }
.timeline-year[aria-pressed="true"]::before { width: 13px; height: 13px; background: #315942; outline: 3px solid #e8efe6; }
.catalog-archive-link { margin-top: 24px; text-align: center; }
:lang(zh) #main :is(h1,h2,h3) {
  text-wrap: balance;
  line-break: strict;
  letter-spacing: -.025em;
}
:lang(zh) #main :is(.lead,.brand-hero-lead,.story-body p,.timeline-copy p,.official-news-grid p) {
  text-wrap: pretty;
  line-break: strict;
  line-height: 1.72;
}
:lang(zh) #main :is(.page-heading,.brand-hero-copy,.story-title,.home-contact,.home-studio-section,.home-process-section,.brand-product-section,.home-partners,.technical-section,.factory-source-section,.cooperation,.official-news,#company-team) .eyebrow {
  display: none;
}
:lang(zh) .brand small { display: none; }
:lang(zh) .contact-sheet-head,
:lang(zh) .contact-sheet-name small,
:lang(zh) .catalog-total small,
:lang(zh) .gallery-footnote > span:last-child,
:lang(zh) .sole-hero-topline > span:first-child { display: none; }
:lang(zh) .sole-hero-topline { justify-content: flex-end; }
:lang(zh) #main :is(.caption,.subtle,.gallery-footnote,.factory-source-caption) { font-size: .9375rem; }
.official-contact { font-size: .9375rem; }
.official-contact > div { grid-template-columns: max-content minmax(0, 1fr); gap: 12px; }
.contact-qr { font-size: .875rem; }
@media (max-width: 720px) {
  .timeline-body { padding-inline: 12px; gap: 8px; }
  .timeline-copy { min-height: 11rem; }
  .timeline-body > button { width: 36px; height: 36px; }
  .timeline-years { grid-template-columns: repeat(6, minmax(0, 1fr)); row-gap: 16px; }
  .timeline-year { font-size: .9375rem; }
}
