/* Mainland typography and identity, preserving the approved Taiwan design. */
body { font-family: -apple-system, BlinkMacSystemFont, "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif; }
body:has(.ql-home) .ql-header { margin-bottom: 0; }
.ql-home .ql-hero-copy { padding-block: 80px 100px; }
.ql-home .ql-hero-columns { min-height: 610px; }
.ql-header .ql-company-name { font-size: 19px; letter-spacing: .015em; white-space: nowrap; }
.ql-header .ql-company-sub { font-size: 12px; letter-spacing: .07em; }
.ql-header .ql-brand { flex-shrink: 0; gap: 16px; }
.cn-resource-note { margin-top: 20px !important; padding: 16px 20px; border-left: 3px solid #29527d; background: #f0f3f7; font-size: 16px !important; line-height: 1.8; color: #3b4956; }
.cn-inquiry-panel { background: #f3f5f8 !important; border-color: #d9dee5 !important; }
.cn-inquiry-panel h2 { margin-bottom: 18px; }
.cn-inquiry-panel p { line-height: 1.9; }
.cn-inquiry-panel .wp-block-buttons { margin-block: 24px 14px; }
.ql-contact-page-wrap .cn-wechat-panel { padding: 24px; border: 1px solid #d9dee5; }
.cn-wechat-panel .cn-wechat-instruction { font-size: 16px; margin: 0; }
.cn-wechat-qr { margin: 18px auto 14px; width: 100%; max-width: 360px; background: #fff; }
.cn-wechat-qr img { display: block; width: 100%; height: auto; object-fit: contain; }
.cn-wechat-save { display: inline-block; padding: 8px 14px; border: 1px solid #b6c4d2; color: #233e5b; font-size: 14px; text-decoration: none; }
.cn-wechat-save:hover { background: #e7edf4; }
.cn-wechat-panel .cn-wechat-help { margin: 12px 0 0; font-size: 14px; color: #52616e; }
.cn-wechat-alternatives { margin-top: 22px; padding-top: 20px; border-top: 1px solid #d9dee5; }
.cn-wechat-alternatives p { margin: 0; font-size: 16px; }
.cn-wechat-alternatives .wp-block-buttons { margin-bottom: 0; gap: 10px; flex-wrap: wrap; }
.cn-contact-caption { font-size: 14px; color: #5a626a; }
.cn-footer-secondary { color: #b9c3cc; font-size: 14px; line-height: 2; }
.ql-contact-dock .ql-dock-line { background: #233e5b !important; color: white !important; }
.ql-line-action .wp-block-button__link { background: #233e5b !important; }
.ql-video-dialog-bottom { flex-wrap: wrap; gap: 14px; }

/* Supplied photos from the Jia Shan office and product display. */
.cn-home-company-photo { margin: 34px 0 0; }
.cn-home-company-photo img { display: block; width: 100%; height: min(42vw, 400px); min-height: 240px; object-fit: cover; object-position: center 55%; }
.cn-home-company-photo figcaption,
.cn-about-showroom figcaption,
.cn-company-gallery figcaption,
.cn-company-entrance figcaption { margin-top: 10px; color: #5c6974; font-size: 14px; line-height: 1.6; }
.cn-about-showroom img { height: 330px; object-fit: cover; object-position: center 55%; }
.cn-company-gallery { margin-top: 58px; padding: 36px 0 54px; border-top: 1px solid #dce3e8; }
.cn-company-gallery h2 { margin: 8px 0 24px; font-size: clamp(24px, 3vw, 32px); line-height: 1.4; }
.cn-company-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.cn-company-gallery figure { margin: 0; }
.cn-company-gallery img { display: block; width: 100%; height: 290px; object-fit: cover; object-position: center; background: #f1f3f5; }
.cn-company-gallery figure:first-child img { object-position: center 40%; }
.cn-company-entrance { margin: 46px 0 0; max-width: 780px; }
.cn-company-entrance img { display: block; width: 100%; height: auto; }
@media (max-width: 782px) {
  .ql-home .ql-hero-copy { padding-block: 55px 65px; }
  .ql-home .ql-hero-columns { min-height: 0; }
  .ql-header .ql-brand { gap: 12px; min-width: 0; }
  .ql-header .ql-brand-wordmark { width: 112px; }
  .ql-header .ql-company-name { font-size: 16px; }
  .ql-header .ql-company-sub { font-size: 12px; }
  .cn-home-company-photo { margin-top: 24px; }
  .cn-home-company-photo img { height: auto; min-height: 0; }
  .cn-about-showroom img { height: 260px; }
  .cn-company-gallery { margin-top: 36px; padding-block: 28px 38px; }
  .cn-company-gallery-grid { grid-template-columns: 1fr; gap: 26px; }
  .cn-company-gallery img { height: 260px; }
  .cn-company-entrance { margin-top: 34px; }
}
@media (max-width: 360px) {
  .ql-header .ql-brand-wordmark { width: 70px; }
  .ql-header .ql-company-name { white-space: normal; max-width: 140px; }
  .ql-header .ql-company-sub { max-width: 140px; }
}
@media (max-width: 480px) {
  .ql-header .ql-brand-wordmark { width: 83px; }
  .ql-header .ql-company-name { font-size: 14px; }
  .ql-header .ql-company-sub { font-size: 12px; letter-spacing: 0; }
  .ql-header .ql-brand { gap: 8px; }
  .ql-header .ql-company-lockup { padding-left: 8px; }
  .ql-header .ql-header-inner { padding-inline: 14px; gap: 8px; }
}

/* Mainland company facts and product priorities. */
.cn-priority { padding-block: 66px; }
.cn-priority h2 { font-size: clamp(25px,3vw,36px); margin: 10px 0 28px; }
.cn-priority-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid #dbe0e5; }
.cn-priority-grid > a { display: block; padding: 30px 28px; color: #172e45; text-decoration: none; background: #f6f7f9; }
.cn-priority-grid > a + a { border-left: 1px solid #dbe0e5; }
.cn-priority-grid > a:hover { background: #eaf0f6; }
.cn-priority-grid span { font-size: 13px; color: #566879; }
.cn-priority-grid h3 { font-size: 22px; margin: 16px 0 12px; }
.cn-priority-grid p { font-size: 15px; line-height: 1.8; color: #52616e; }
.cn-priority-grid b { display: block; font-size: 14px; margin-top: 22px; font-weight: 600; }
.cn-price-note { margin-top: 20px; font-size: 15px; color: #536270; }
.cn-map-link { display: inline-block; margin-top: 8px; font-weight: 600; color: #1d4d79; }
.ql-contact-field-value a { line-height: 1.9; }
.ql-footer .cn-footer-secondary a { color: #dce5ee; }

/* Video library using the established layout. */
.ql-featured-videos { background: linear-gradient(120deg,#e9edf1,#f7f8fa); color: #233545; }
.ql-featured-grid,.ql-machining-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ql-featured-card { cursor: pointer; aspect-ratio: 16/11; font-family: inherit; }
.ql-featured-card .ql-play-circle { top: 37%; }
.ql-featured-card:hover .ql-play-circle { color: #233e5b; }
.cn-video-duration { position: absolute; z-index: 3; top: 12px; right: 12px; background: rgb(0 0 0 / .75); color: white; padding: 3px 7px; border-radius: 3px; font: 12px/1.5 Arial,sans-serif; }
.ql-video-thumbnail { cursor: pointer; }
.ql-video-thumbnail .cn-video-duration { top: auto; bottom: 8px; right: 8px; }
.ql-machining-card-links { min-height: 100px; }
.cn-video-description { font-size: 14px; line-height: 1.7; color: #445563; margin: 0; }
.ql-video-link { cursor: pointer; font-family: inherit; }
.ql-video-series { border-color: #ccd5df; color: #294d71; }
.ql-video-page [hidden],.ql-video-dialog [hidden] { display: none !important; }
.ql-player video { width: 100%; height: 100%; display: block; background: #000; object-fit: contain; }
.cn-video-retry,.cn-requested-video { font: inherit; border: 1px solid #bac7d3; border-radius: 3px; background: #fff; color: #20476d; padding: 8px 14px; cursor: pointer; }
.cn-player-status { min-height: 24px; }
.cn-original-title { margin-top: 10px; color: #5d6873; font-size: 14px; line-height: 1.6; }
.cn-original-title summary { cursor: pointer; }
.cn-original-title p { margin: 8px 0 0; overflow-wrap: anywhere; }
.ql-video-model,.ql-machining-card h3 { overflow-wrap: anywhere; }
.ql-video-dialog.is-portrait { max-width: 660px; }
.ql-video-dialog.is-portrait .ql-player { aspect-ratio: auto; height: min(65dvh,720px); }
.ql-process-filters { flex-wrap: wrap; }
.ql-video-dialog-bottom { min-height: 65px; }
button:focus-visible,a:focus-visible,select:focus-visible { outline: 3px solid #4679b0; outline-offset: 4px; }

/* Direct WeChat consultation on every page. */
.ql-contact-dock .ql-dock-wechat { background: #233e5b; color: #fff; }
.ql-contact-dock .ql-dock-wechat:hover { background: #315776; color: #fff; }
.ql-home .cn-hero-wechat .wp-block-button__link { background: #233e5b; border-color: #233e5b; color: #fff; }
.cn-wechat-dialog { width: calc(100vw - 32px); max-width: 530px; max-height: calc(100dvh - 32px); margin: auto; padding: 24px; border: 1px solid #c5cfd8; border-radius: 4px; overflow-y: auto; box-sizing: border-box; background: #fff; color: #111; }
.cn-wechat-dialog::backdrop { background: rgb(10 20 30 / .65); }
.cn-wechat-dialog-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.cn-wechat-dialog h2 { margin: 0; font-size: 26px; line-height: 1.4; }
.cn-wechat-close { width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 1px solid #d5dde3; background: #fff; color: #111; font: 28px/1 sans-serif; cursor: pointer; }
.cn-wechat-dialog-intro { margin: 12px 0 0; font-size: 16px; line-height: 1.7; }
.cn-wechat-dialog-qr { display: block; width: 100%; max-width: 440px; height: auto; margin: 14px auto; }
.cn-wechat-dialog #cn-wechat-dialog-help { font-size: 14px; line-height: 1.8; color: #485766; margin: 14px 0; }
.cn-wechat-dialog-contact { margin: 0; padding-top: 14px; border-top: 1px solid #dbe2e8; font-size: 15px; }
.cn-wechat-dialog-contact a { color: #111; }
.cn-wechat-close:focus-visible { outline: 3px solid #4679b0; outline-offset: 3px; }

/* Video language and ordering controls. */
.ql-video-filters .ql-process-filters { flex-basis: 100%; }
.cn-video-selects { display: flex; flex-wrap: wrap; gap: 18px 28px; width: 100%; }
.cn-video-selects .ql-series-filter { font-size: 14px; min-width: 0; }
.cn-video-language { display: inline-block; font-size: 14px; margin: 0 0 8px 8px; color: #5b6b78; }
.cn-video-reset { min-height: 44px; padding: 8px 18px; font: inherit; color: #233e5b; border: 1px solid #aebfce; background: #fff; cursor: pointer; }
.cn-catalog-shortcuts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.cn-catalog-shortcuts a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid #c6d2dc; font-size: 14px; line-height: 1.5; color: #233e5b; text-decoration: none; }
.cn-catalog-shortcuts a:hover { background: #edf2f6; }
@media (max-width: 650px) {
  .cn-wechat-dialog { padding: 18px; }
  .cn-video-selects { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
  .cn-video-selects .ql-series-filter { justify-content: space-between; }
  .cn-video-selects .ql-series-filter select { width: min(66%,240px); }
  .ql-contact-dock a { font-size: 14px; padding-inline: 6px; }
  .cn-catalog-shortcuts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1000px) {
  .ql-featured-grid,.ql-machining-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cn-priority-grid > a { padding-inline: 18px; }
  .cn-priority-grid h3 { font-size: 19px; }
}
@media (max-width: 650px) {
  .ql-featured-grid,.ql-machining-grid,.cn-priority-grid { grid-template-columns: 1fr; }
  .cn-priority-grid > a + a { border-left: 0; border-top: 1px solid #dbe0e5; }
  .cn-priority { padding-block: 44px; }
  .ql-video-page .ql-wrap { padding-inline: 22px; }
  .ql-featured-card { aspect-ratio: 16/10; }
  .ql-video-section-heading { align-items: flex-start; gap: 12px; }
  .ql-video-section-heading p { letter-spacing: .03em; }
  .ql-contact-details-native h2 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .ql-featured-card img,.ql-video-thumbnail img { transition: none; }
}

/* Full-width TaeguTec MAXI-TANG official photograph, selected from option 4. */
:root {
  --ql-ink: #193248;
  --ql-dark: #142c42;
  --ql-green: #2b5b82;
  --ql-accent: #c8d9e8;
  --ql-line: #d5dfe7;
  --ql-ui-ink: #193248;
  --ql-ui-text: #526373;
  --ql-ui-line: #d5dfe7;
  --ql-ui-silver: #f1f5f8;
  --ql-ui-blue: #2b5b82;
}
body .ql-header, body:has(.ql-home) .ql-header { background: #fff; border-bottom-color: #d5dfe7; }
.ql-header .ql-company-name { color: #193248; }
.ql-header .ql-company-sub { color: #526373; }
.ql-header .ql-nav { color: #263f55; }
.ql-header .ql-nav a:hover, .ql-header .ql-nav a[aria-current="page"] { color: #2b5b82; }
.ql-header .ql-nav .ql-nav-cta, body:has(.ql-home) .ql-header .ql-nav .ql-nav-cta { color: #fff; background: #193248; border-color: #193248; }
.ql-header .ql-nav .ql-nav-cta:hover, body:has(.ql-home) .ql-header .ql-nav .ql-nav-cta:hover { background: #2b5b82; border-color: #2b5b82; }
.ql-home .ql-hero {
  background-color: #16222e;
  background-image: linear-gradient(90deg, rgba(8,17,26,.84) 0%, rgba(8,17,26,.77) 31%, rgba(8,17,26,.57) 48%, rgba(8,17,26,.10) 75%, rgba(8,17,26,.12) 100%), url('hero-maxi-tang.jpg');
  background-size: cover;
  background-position: center 50%;
  background-repeat: no-repeat;
  color: #fff;
  overflow: hidden;
  border: 0;
}
.ql-home .ql-hero::before { content: none; }
.ql-home .ql-hero-columns { display: flex; align-items: center; gap: 0; min-height: max(650px, calc(100svh - var(--ql-header-height, 120px) - 42px)); padding-block: 88px; box-sizing: border-box; }
.ql-home .ql-hero-copy { flex: 0 1 auto; width: min(58%, 660px); max-width: 100%; min-width: 0; padding: 0; }
.ql-home .ql-title { color: #fff; font-size: clamp(2.2rem, 4.3vw, 3.7rem); font-weight: 750; line-height: 1.24; letter-spacing: -.025em; text-shadow: none; }
.ql-home .ql-hero .ql-kicker { color: #c8d9e8; font-size: .875rem; letter-spacing: .05em; }
.ql-home .ql-hero .ql-authority { color: #e2eaf2; background: transparent; border-color: #65819b; }
.ql-home .ql-hero .ql-intro { color: #dce6ef; font-size: 1rem; line-height: 1.9; max-width: 36rem; }
.ql-home .ql-hero .wp-block-buttons { gap: 12px; margin-top: 32px; }
.ql-home .ql-hero .wp-block-button__link { min-width: 0; font-size: 1rem; padding: 13px 20px; color: #193248; background: #fff; border-color: #fff; }
.ql-home .ql-hero .wp-block-button__link:hover { color: #193248; background: #e1eaf2; border-color: #e1eaf2; transform: none; }
.ql-home .ql-hero .cn-hero-wechat .wp-block-button__link { color: #fff; background: #345d80; border-color: #91afc8; }
.ql-home .ql-hero .cn-hero-wechat .wp-block-button__link:hover { background: #426f95; border-color: #b1c9dc; }
.ql-home .ql-hero .is-style-outline .wp-block-button__link { color: #fff; background: transparent; border-color: #91a8bc; }
.ql-home .ql-hero .is-style-outline .wp-block-button__link:hover { color: #fff; background: #2d4e6b; border-color: #c8d9e8; }
.ql-home .ql-hero .ql-hero-visual { display: none; }
.ql-home .ql-rail { margin-top: 0; background: #fff; border-bottom: 1px solid #d5dfe7; }
.ql-home .ql-rail > .ql-wrap { background: #fff; box-shadow: none; padding-block: 30px; }
.ql-home .ql-rail-title { color: #193248; }
.cn-priority h2 { color: #193248; }
.cn-priority-grid { gap: 18px; border: 0; background: transparent; }
.cn-priority-grid > a, .cn-priority-grid > a + a { background: #f1f5f8; color: #193248; border: 1px solid #d5dfe7; border-top: 3px solid #345d80; }
.cn-priority-grid > a:hover { background: #e8f0f6; }
.cn-priority-grid > a span, .cn-priority-grid > a b { color: #2b5b82; }
.ql-home .ql-range-section, .ql-home .ql-resources-home { background: #f1f5f8; }
.ql-home .ql-brands-section, .ql-home .ql-about, .ql-home .ql-contact-renewed { background: #fff; }
.ql-home .ql-range-card, .ql-home .ql-resource-card { border-color: #d5dfe7; background: #fff; }
.ql-inquiry-known { background: #193248; }
.ql-contact-dock a:last-child, .ql-contact-dock .ql-dock-wechat { color: #fff; background: #193248; }
.ql-contact-dock a:last-child:hover, .ql-contact-dock .ql-dock-wechat:hover { color: #fff; background: #2b5b82; }
.ql-footer { background: #112638; color: #afc3d4; }
.ql-footer strong { color: #fff; }
.ql-footer a { color: #d7e3ec; }
@media (max-width: 782px) {
  .ql-home .ql-hero {
    background-image: linear-gradient(180deg, rgba(8,17,26,.77), rgba(8,17,26,.61)), url('hero-maxi-tang.jpg');
    background-position: 60% center;
  }
  .ql-home .ql-hero-columns { min-height: max(580px, calc(100svh - var(--ql-header-height, 120px) - 42px)); padding-block: 56px 64px; }
  .ql-home .ql-hero-copy { width: 100%; padding: 0; }
  .ql-home .ql-title { font-size: clamp(2rem, 6.5vw, 3.2rem); }
  .ql-home .ql-rail > .ql-wrap { padding-block: 22px; }
}
