/* Tianyi: cloth, workshop photographs and clear manufacturing specifications. */
:root { --ink:#19364b; --body:#405362; --muted:#5a6b76; --brand:#244e66; --paper:#fff; --wash:#f1f4f5; --line:#d4dfe3; --gold:#a98850; --display:Georgia,'Times New Roman',serif; --sans:'Segoe UI',Arial,sans-serif; --wrap:1280px; }
* { box-sizing:border-box; }
html { scroll-behavior:auto; scroll-padding-top:24px; }
body { margin:0; background:var(--paper); color:var(--body); font-family:var(--sans); font-size:1rem; line-height:1.7; overflow-wrap:anywhere; }
img,video { display:block; max-width:100%; height:auto; }
img { color:var(--ink); background:#e9edef; }
figure { margin:0; min-width:0; }
figcaption { padding:9px 0 0; color:var(--muted); font-size:.8125rem; line-height:1.5; }
a { color:inherit; text-underline-offset:5px; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a,button,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #9d712f; outline-offset:5px; }
[hidden] { display:none !important; }
h1,h2,h3,h4 { color:var(--ink); margin:0 0 18px; line-height:1.2; font-weight:600; }
h1,h2 { font-family:var(--display); font-weight:400; letter-spacing:-.025em; }
h1 { font-size:clamp(2.35rem,4.3vw,4.25rem); }
h2 { font-size:clamp(1.9rem,3vw,2.8rem); }
h3 { font-size:1.25rem; line-height:1.35; }
h4 { font-size:1.05rem; }
h1 em,h2 em { color:var(--brand); font-style:normal; }
p { margin:0 0 18px; }
ul,ol { padding-left:22px; }
li { margin-bottom:8px; }
.wrap { width:min(var(--wrap),calc(100% - 96px)); margin-inline:auto; }
.narrow { max-width:850px; }
.section { padding-block:80px; }
.section-bottom { padding-bottom:80px; }
.wash { background:var(--wash); }
.dark { background:var(--ink); color:#dce5eb; }
.dark h2,.dark h3,.dark .eyebrow,.dark a { color:#fff; }
.eyebrow,.tag,.footer-label,.step-number { color:var(--brand); font-size:.8125rem; letter-spacing:.095em; text-transform:uppercase; font-weight:600; }
.eyebrow { margin-bottom:18px; }
.lead { font-size:1.2rem; line-height:1.65; max-width:760px; }
.body-intro { font-size:1.125rem; }
.small-note,.editorial-note { font-size:.875rem; color:var(--muted); line-height:1.6; }
.editorial-note { max-width:900px; padding:16px 20px; background:var(--wash); border-left:3px solid var(--gold); margin:26px 0 0; }
.skip-link { position:absolute; z-index:20; top:-100px; left:16px; padding:12px 20px; background:var(--ink); color:white; }
.skip-link:focus { top:12px; }
.review-notice { background:#e9eff2; color:var(--brand); display:flex; justify-content:space-between; gap:12px; padding:6px max(24px,calc((100% - var(--wrap))/2)); font-size:.75rem; line-height:1.5; }
.site-header { background:white; border-bottom:1px solid var(--line); position:relative; z-index:10; }
.header-inner { min-height:94px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding-block:18px; }
.wordmark { display:inline-flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; font-size:1.7rem; font-weight:700; line-height:1; letter-spacing:-.04em; }
.brand-copy { display:flex; flex-direction:column; gap:7px; }
.wordmark .brand-sub { font-size:.75rem; letter-spacing:.17em; font-weight:500; }
.brand-mark { width:37px; height:43px; border:1px solid var(--ink); position:relative; display:grid; place-items:center; font-family:Georgia,serif; font-size:1.6rem; font-weight:400; }
.brand-mark::after { content:''; position:absolute; inset:4px; border:1px dashed #8195a2; }
.main-nav { display:flex; align-items:center; flex-wrap:wrap; gap:26px; font-size:.875rem; }
.main-nav a { text-decoration:none; padding:9px 0; border-bottom:2px solid transparent; }
.main-nav a:hover,.main-nav a.is-active { color:var(--brand); border-bottom-color:var(--gold); }
.main-nav .nav-contact { padding:10px 18px; background:var(--ink); color:#fff; border:1px solid var(--ink); border-radius:3px; }
.main-nav .nav-contact:hover,.main-nav .nav-contact.is-active { color:#fff; background:var(--brand); border-color:var(--brand); }
.menu-toggle { display:none; border:1px solid var(--line); padding:9px 14px; border-radius:3px; background:#fff; color:var(--ink); }
.main-nav { margin-left:auto; }
.header-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.language-switch { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px; border:1px solid var(--line); border-radius:3px; color:var(--ink); font-size:.875rem; line-height:1.4; text-decoration:none; }
.language-switch:hover { background:var(--wash); border-color:var(--brand); }
.language-switch svg { flex-shrink:0; }
html:lang(zh-CN) { --sans:'Microsoft YaHei','PingFang SC',Arial,sans-serif; --display:'Songti SC',SimSun,'Microsoft YaHei',serif; }
html:lang(zh-CN) h1,html:lang(zh-CN) h2 { letter-spacing:0; line-height:1.4; }
/* Chinese headings wrap by their own wording, rather than English phrase breaks. */
html:lang(zh-CN) h1 br,html:lang(zh-CN) h2 br { display:none; }
html:lang(zh-CN) .eyebrow,html:lang(zh-CN) .tag,html:lang(zh-CN) .footer-label,html:lang(zh-CN) .step-number,html:lang(zh-CN) .case-number { letter-spacing:.03em; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; background:var(--ink); color:#fff; text-decoration:none; border:1px solid var(--ink); border-radius:3px; font-weight:600; font-size:.9375rem; transition:background .15s; }
.button:hover { background:var(--brand); }
.button-light { color:var(--ink); background:#fff; border-color:#fff; }
.button-light:hover { background:#e7edf0; }
.button-outline { background:transparent; color:var(--ink); }
.button-outline:hover { background:var(--wash); }
.text-link { color:var(--ink); text-decoration:underline; font-weight:600; font-size:.9375rem; display:inline-block; padding-block:8px; }
.hero { display:grid; grid-template-columns:1fr 1.12fr; align-items:center; gap:60px; padding-block:62px; }
.hero-intro { max-width:560px; }
.hero-visual img { width:100%; aspect-ratio:1.35; object-fit:cover; }
.home-hero { gap:0; padding-top:42px; padding-bottom:42px; grid-template-columns:.92fr 1.1fr; }
.home-hero .hero-copy { padding:35px 54px 35px 0; }
.home-hero h1 { font-size:clamp(2.35rem,4.1vw,3.85rem); }
html:lang(zh-CN) .home-hero h1 { font-size:clamp(2rem,3.3vw,3.125rem); }
html:lang(zh-CN) .home-hero h1 br:first-of-type { display:initial; }
.home-hero .hero-visual img { aspect-ratio:1.08; object-position:50% 50%; }
.hero-footnote { padding-top:22px; margin-top:30px; border-top:1px solid var(--line); color:var(--muted); font-size:.875rem; }
.support-band { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--line); padding-block:23px; gap:24px; }
.support-band p { margin:0; font-size:.9375rem; color:var(--ink); }
.support-band p + p { border-left:1px solid var(--line); padding-left:24px; }
.support-band span { display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:.07em; margin-bottom:5px; color:var(--muted); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:36px; }
.section-heading h2 { margin-bottom:0; }
.section-heading > *,.hero > *,.support-band > *,.footer-grid > *,.capability-list > * { min-width:0; }
.section-intro { max-width:410px; margin:0; }
.split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:72px; }
.split > * { min-width:0; }
.split img { width:100%; aspect-ratio:1.5; object-fit:cover; }
.three-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.three-columns article { min-width:0; padding-top:22px; border-top:2px solid var(--line); }
.three-columns p:last-child { margin-bottom:0; }
.product-pair,.product-grid,.scenario-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:34px; }
.product-grid { grid-template-columns:repeat(3,1fr); gap:28px; }
.collection-card { min-width:0; }
.collection-card figure img { width:100%; aspect-ratio:1.27; object-fit:cover; transition:filter .2s; }
.collection-card a:hover img { filter:brightness(.97); }
.collection-copy { padding-top:21px; }
.collection-copy h3 { margin-bottom:10px; font-size:1.4rem; }
.collection-copy h3 a { text-decoration:none; }
.collection-copy .eyebrow { margin-bottom:9px; }
.collection-copy p { margin-bottom:12px; }
.feature-copy { margin-top:32px; display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center; }
.feature-copy p { max-width:690px; margin:0; }
.capability-list { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:28px; }
.capability-list h3 { font-size:1.0625rem; margin-bottom:8px; }
.capability-list p { font-size:.9375rem; margin-bottom:0; }
.compact-steps { list-style:none; margin:0; padding:0; }
.compact-steps li { display:grid; grid-template-columns:40px 1fr; gap:22px; padding:22px 0; border-top:1px solid var(--line); margin:0; }
.compact-steps span { color:var(--gold); font-family:var(--display); font-size:1.45rem; }
.compact-steps h3 { margin-bottom:8px; }
.compact-steps p { margin:0; }
.case-preview { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.case-preview article { border:1px solid var(--line); background:white; }
.case-preview img { width:100%; aspect-ratio:1.8; object-fit:cover; }
.case-preview .case-copy { padding:28px; }
.case-preview figcaption { padding-inline:16px; }
.case-copy .eyebrow { margin-bottom:12px; }
.case-copy h3 { font-size:1.4rem; }
.case-stat { color:var(--ink); font-weight:600; margin-bottom:10px; }
.cta-band { background:var(--ink); color:#e4ebef; padding:50px 0; }
.cta-band h2,.cta-band .eyebrow { color:white; }
.cta-band h2 { font-size:2.1rem; }
.cta-inner { display:flex; justify-content:space-between; align-items:center; gap:36px; }
.cta-inner p:last-child { margin:0; }
.cta-inner .button { flex-shrink:0; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:12px; padding-top:23px; color:var(--muted); font-size:.8125rem; }
.breadcrumb a { text-decoration:none; }
.page-heading { padding-block:50px; max-width:var(--wrap); }
.page-heading h1 { max-width:900px; }
.page-heading .lead { margin-bottom:0; }
.category-hero { padding-top:44px; }
.category-nav { display:flex; flex-wrap:wrap; border-block:1px solid var(--line); gap:28px; padding-block:14px; font-size:.875rem; }
.category-nav a { padding:6px 0; text-decoration:none; }
.category-nav a[aria-current] { font-weight:700; color:var(--ink); border-bottom:2px solid var(--gold); }
.product-editorial,.case-study { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:64px; padding-block:44px; }
.product-editorial + .product-editorial { border-top:1px solid var(--line); }
.product-editorial img,.case-study img { width:100%; aspect-ratio:1.4; object-fit:cover; }
.product-editorial.reverse figure { order:2; }
.plain-list { padding-left:20px; }
.woven-strip { display:grid; grid-template-columns:.8fr 1fr; gap:64px; align-items:center; }
.woven-strip img { width:100%; aspect-ratio:1.4; object-fit:cover; }
.tag { display:inline-block; padding:3px 9px; background:var(--wash); font-size:.75rem; letter-spacing:.06em; }
.detail-list,.case-facts,.contact-person { margin:0; }
.detail-list > div,.case-facts > div { padding:17px 0; border-top:1px solid var(--line); }
dt { color:var(--ink); font-weight:600; }
dd { margin:5px 0 0; }
.product-detail-photo { margin-bottom:35px; }
.product-detail-photo img { width:100%; max-height:490px; object-fit:cover; }
.enquiry-guide { padding:30px; background:var(--wash); }
.faq details,.enquiry-guide details { border-bottom:1px solid var(--line); padding:16px 0; }
summary { color:var(--ink); cursor:pointer; padding-right:18px; font-weight:600; }
details p { margin:14px 0 0; }
.process-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.process-grid li { border-top:2px solid var(--line); padding-top:20px; margin:0; }
.process-grid h3 { margin:12px 0; }
.step-output { color:var(--ink); font-size:.875rem; margin-bottom:0; font-weight:600; }
.quality-row { display:grid; grid-template-columns:.8fr 1.2fr 1fr; gap:28px; border-bottom:1px solid var(--line); padding:22px 0; }
.quality-row h3,.quality-row p { margin:0; }
.quality-head { font-weight:600; background:var(--wash); padding:15px 20px; color:var(--ink); }
.stacked-articles article { padding:20px 0; border-top:1px solid var(--line); }
.stacked-articles h3 { margin-bottom:10px; }
.stacked-articles p { margin:0; }
.dark .stacked-articles article { border-color:#506472; }
.factory-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:38px 32px; }
.factory-grid img { width:100%; aspect-ratio:1.5; object-fit:cover; }
.factory-grid h3 { margin:20px 0 10px; }
.factory-grid p { margin-bottom:0; }
.factory-overview { margin-bottom:55px; }
.factory-overview img { width:100%; max-height:600px; object-fit:cover; }
.video-block video { width:100%; background:#19364b; aspect-ratio:16/9; object-fit:contain; }
.video-block video:focus-within { outline:3px solid #9d712f; outline-offset:5px; }
.video-block figcaption { color:var(--muted); }
.media-chapters { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-top:24px; }
.media-chapters span { font-size:.8125rem; color:var(--muted); display:block; }
.media-chapters p { margin:0; color:var(--ink); }
.case-panel { background:white; border:1px solid var(--line); padding:30px; }
.case-number { font-size:.875rem; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.case-results { margin-top:25px; padding:22px; background:var(--wash); }
.case-results h3 { font-size:1rem; }
.case-results ul { margin-bottom:0; }
.scenario-grid article { border:1px solid var(--line); padding:28px; }
.about-heading { padding-block:50px; display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:60px; }
.about-facts { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); gap:32px; padding-block:28px; }
.about-facts p { margin-bottom:8px; }
.about-facts .eyebrow { margin-bottom:10px; }
.about-facts small { font-size:.875rem; color:var(--muted); }
.contact-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:70px; }
.contact-person > div { padding-bottom:20px; }
.email-pending,.email-ready { padding:22px; background:var(--wash); border-left:3px solid var(--gold); margin:14px 0 25px; }
.email-pending p { margin-bottom:7px; color:var(--ink); font-weight:600; }
.email-pending small { font-size:.875rem; }
.email-ready a { display:block; color:var(--ink); font-weight:600; overflow-wrap:anywhere; }
.email-label { display:block; }
.brief-panel { padding:34px; background:var(--wash); }
.brief-list { list-style:none; margin:0; padding:0; }
.brief-list li { padding:18px 0; border-bottom:1px solid var(--line); }
.brief-list h3 { font-size:1.0625rem; margin-bottom:8px; }
.brief-list p { margin:0; }
.enquiry-form { margin-top:28px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field { display:flex; flex-direction:column; gap:7px; margin-bottom:20px; min-width:0; }
.field label { color:var(--ink); font-size:.875rem; font-weight:600; }
.field label span { font-weight:400; color:var(--muted); }
.field input,.field select,.field textarea { width:100%; min-width:0; padding:11px 12px; background:#fff; color:var(--ink); border:1px solid #a6b8c3; border-radius:3px; }
.field textarea { resize:vertical; min-height:120px; }
.form-note { color:var(--muted); font-size:.875rem; margin-top:14px; }
.brief-result { border-top:2px solid var(--line); margin-top:30px; padding-top:24px; }
.brief-output { width:100%; min-height:340px; color:var(--ink); background:white; border:1px solid #a6b8c3; padding:15px; font-family:var(--sans); font-size:.9375rem; resize:vertical; }
.brief-result .actions { gap:12px; margin-top:14px; }
.status-message { color:var(--ink); font-size:.875rem; margin-top:14px; }
.site-footer { background:#edf2f4; padding-top:55px; color:var(--body); }
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr .9fr; gap:38px; padding-bottom:45px; }
.footer-grid p { font-size:.9375rem; }
.footer-grid > div > a:not(.wordmark) { display:block; font-size:.875rem; text-decoration:none; margin:8px 0; }
.footer-grid > div > a:hover { text-decoration:underline; }
.footer-grid .wordmark { margin-bottom:24px; }
.footer-label { margin-bottom:18px; }
.footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px; border-top:1px solid #cad6dc; padding-block:20px; font-size:.8125rem; }
.footer-bottom p { margin:0; }
@media (max-width:1100px) {
  .wrap { width:calc(100% - 64px); }
  .main-nav { gap:18px; }
  .hero { gap:35px; }
  .home-hero { gap:0; }
  .home-hero .hero-copy { padding-right:35px; }
  .split,.contact-grid { gap:42px; }
  .section { padding-block:64px; }
  .header-inner { gap:18px; }
}
@media (max-width:850px) {
  .wrap { width:calc(100% - 48px); }
  .header-inner { min-height:82px; }
  .header-inner { gap:12px; }
  .header-actions { order:1; gap:8px; margin-left:auto; }
  .menu-toggle { padding:9px 10px; font-size:.875rem; }
  .main-nav { order:2; margin-left:0; }
  .main-nav { width:100%; justify-content:flex-start; gap:10px 25px; }
  .js .menu-toggle { display:block; }
  .js .main-nav { display:flex; padding-top:14px; border-top:1px solid var(--line); }
  .hero { grid-template-columns:1fr 1fr; gap:30px; }
  .home-hero { gap:25px; }
  .home-hero .hero-copy { padding:0; }
  .home-hero h1 { font-size:2.6rem; }
  .hero-visual img,.home-hero .hero-visual img { aspect-ratio:.88; }
  .hero-footnote { margin-top:24px; padding-top:18px; }
  .support-band { grid-template-columns:1fr 1fr; gap:20px; }
  .support-band p + p { padding-left:0; border:none; }
  .section-heading { gap:35px; align-items:flex-start; }
  .section-intro { max-width:330px; }
  .product-grid { gap:20px; }
  .collection-copy h3 { font-size:1.15rem; }
  .three-columns { gap:22px; }
  .split { gap:35px; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .product-editorial,.case-study,.woven-strip { gap:35px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .contact-grid { grid-template-columns:1fr; gap:40px; }
  .about-heading { gap:35px; }
}
@media (max-width:620px) {
  .wrap { width:calc(100% - 40px); }
  .review-notice { padding:6px 20px; flex-direction:column; gap:1px; font-size:.75rem; }
  .review-notice span:last-child { display:none; }
  .header-inner { padding-block:16px; min-height:76px; }
  .wordmark { font-size:1.55rem; }
  .brand-mark { width:32px; height:38px; }
  .main-nav { gap:0; flex-direction:column; align-items:stretch; }
  .main-nav a { padding:12px 0; font-size:1rem; }
  .main-nav .nav-contact { text-align:center; margin-top:12px; }
  .hero { grid-template-columns:1fr; gap:27px; padding-block:35px; }
  .home-hero h1 { font-size:2.5rem; }
  html:lang(zh-CN) .home-hero h1 { font-size:clamp(1.875rem,8.5vw,2.25rem); }
  .home-hero { display:flex; flex-direction:column; gap:20px; align-items:stretch; }
  .home-hero .hero-copy { display:contents; }
  .home-hero .eyebrow { order:0; margin:0; }
  .home-hero h1 { order:1; margin:0; }
  .home-hero .lead { order:2; margin:0; }
  .home-hero .actions { order:3; margin:0; }
  .home-hero .hero-visual { order:4; }
  .home-hero .hero-intro { order:5; margin:0; }
  .home-hero .hero-footnote { order:6; margin:0; padding-top:18px; }
  .hero-visual img,.home-hero .hero-visual img { aspect-ratio:1.35; }
  .hero-footnote { margin:23px 0 0; }
  .lead { font-size:1.125rem; }
  h1 br,h2 br { display:none; }
  .actions { gap:14px 20px; margin-top:23px; }
  .support-band { gap:18px; padding-block:21px; }
  .support-band p { font-size:.875rem; }
  .support-band span { font-size:.75rem; }
  .section { padding-block:48px; }
  .section-bottom { padding-bottom:48px; }
  .section-heading { flex-direction:column; gap:20px; margin-bottom:27px; }
  .section-intro { max-width:none; }
  .product-grid,.product-pair,.split,.three-columns,.case-preview,.scenario-grid,.factory-grid,.about-heading,.product-editorial,.case-study,.woven-strip,.about-facts { grid-template-columns:1fr; gap:30px; }
  .collection-card figure img { aspect-ratio:1.5; }
  .collection-copy h3 { font-size:1.35rem; }
  .collection-copy { padding-top:17px; }
  .capability-list { gap:20px; }
  .three-columns article { padding-top:18px; }
  .cta-inner { flex-direction:column; align-items:flex-start; gap:24px; }
  .cta-band { padding-block:38px; }
  .cta-band h2 { font-size:1.9rem; }
  .page-heading { padding-block:36px; }
  .product-editorial,.case-study { padding-block:28px; }
  .product-editorial.reverse figure { order:0; }
  .category-nav { gap:8px 20px; }
  .process-grid { grid-template-columns:1fr; gap:25px; }
  .quality-head { display:none; }
  .quality-row { grid-template-columns:1fr; gap:10px; padding-block:22px; }
  .case-preview .case-copy { padding:22px; }
  .case-panel,.scenario-grid article { padding:23px; }
  .about-heading { padding-block:36px; }
  .about-facts { padding-block:26px; gap:24px; }
  .about-facts > div + div { padding-top:20px; border-top:1px solid var(--line); }
  .factory-grid { gap:32px; }
  .factory-overview { margin-bottom:30px; }
  .media-chapters { grid-template-columns:1fr 1fr; gap:18px; }
  .brief-panel { padding:24px 20px; }
  .form-grid { grid-template-columns:1fr; gap:0; }
  .enquiry-guide { padding:24px 20px; }
  .footer-grid { gap:28px 22px; }
  .footer-grid > div:first-child { grid-column:1 / -1; }
  .footer-grid > div:last-child { grid-column:1 / -1; }
  .footer-bottom { flex-direction:column; font-size:.8125rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
