/* Shared Chinese typography and PC alignment. */
.cn-copy {font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif;line-height:1.75;}
.cn-copy :is(h1,h2,h3,h4,p,a,button,span){letter-spacing:normal;}
.cn-copy :is(h1,h2,h3){word-break:normal;overflow-wrap:normal;line-break:strict;text-wrap:pretty;}
.cn-copy :is(.display,.heading,.display-medium,.editorial-title){line-height:1.32;letter-spacing:0;font-weight:400;}
.cn-copy .editorial-title{font-size:clamp(32px,3.35vw,58px);}
.cn-copy :is(.copy,.lead,.hero-intro){line-height:1.85;max-width:36em;}
.cn-copy :is(.btn,.text-link,.main-nav a,.utility-nav a,.filter-group label,.filter-reset,.secondary-collections,.material-focus-links){font-size:14px;}
.cn-copy .btn{white-space:normal;line-height:1.5;text-align:left;}
.cn-copy :is(.section-head,.page-hero-grid,.company-statement,.approach-grid){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;}
.cn-copy :is(.section-head,.page-hero-grid)>:last-child{padding-top:0;margin-top:0;}
.cn-copy :is(.section-head,.page-hero-grid) .copy{margin-top:0;}
.cn-copy .section-link{display:inline-flex;margin-top:24px;}
.cn-copy .approach-steps article{grid-template-columns:36px minmax(0,1fr);gap:24px;align-items:baseline;}
.cn-copy .approach-steps article>span{padding:0;line-height:1.5;font-size:14px;font-variant-numeric:tabular-nums;}
.cn-copy .approach-steps h3{font-family:inherit;font-size:28px;line-height:1.5;margin:0 0 12px;}
.cn-copy .approach-steps p{font-size:16px;max-width:none;line-height:1.85;}
.cn-copy .partner-card{padding-inline:0;}
.cn-copy .partner-name{font-size:14px;}
.cn-copy .library-top{align-items:start;gap:20px;flex-wrap:wrap;}
.cn-copy .library-top .price-cta{font-size:14px;text-decoration:underline;text-underline-offset:5px;}
.cn-copy .hero-editorial-copy h1{font-size:clamp(38px,4.45vw,76px);line-height:1.32;letter-spacing:0;}
.cn-copy .hero-editorial-copy .button-row{align-items:baseline;}
.cn-copy .hero-editorial-copy{min-width:0;}
.cn-copy .quality-card{min-height:0;display:flex;flex-direction:column;gap:0;padding:0;background:transparent;}
.cn-copy .quality-card .num{font-size:14px;line-height:1.5;margin:0 0 12px;font-variant-numeric:tabular-nums;}
.cn-copy .quality-card>div{padding:24px 0;}
.cn-copy .quality-card h3{margin:0 0 12px;font-size:24px;}
.cn-copy .quality-card p{font-size:16px;line-height:1.8;}
.module-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--paper-2);}
.module-photo.document-photo{object-fit:contain;padding:24px;}
.cn-copy .resource-card{min-height:0;padding:0;display:flex;flex-direction:column;gap:0;background:transparent;}
.cn-copy .resource-card>div{padding:24px 0;display:flex;flex-direction:column;flex:1;}
.cn-copy .resource-card h2{font-size:26px;line-height:1.4;margin:0 0 12px;}
.cn-copy .resource-card p{font-size:16px;line-height:1.8;margin-bottom:24px;}
.cn-copy .resource-card .status{margin-top:auto;font-size:14px;padding-top:18px;border-top:1px solid var(--line);}
.visual-page-hero{position:relative;isolation:isolate;overflow:hidden;background:#30382e;color:white;}
.visual-page-hero>.page-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.visual-page-hero:after{content:'';position:absolute;inset:0;background:rgba(16,22,16,.58);z-index:-1;}
.visual-page-hero :is(.copy,.eyebrow){color:white;}
.sourcing-map{margin:36px 0 0;background:#f5f5f1;padding:clamp(20px,4vw,56px);}
.sourcing-map svg{display:block;width:100%;height:auto;}
.sourcing-map img{display:block;width:100%;height:auto;}
.cn-copy .capability-block,.cn-copy .capability-block.reverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);}
.cn-copy .capability-block.reverse .cap-label,.cn-copy .capability-block.reverse .cap-content{order:initial;}
.cn-copy .cap-label h2{font-size:clamp(28px,3vw,48px);line-height:1.4;}
.cn-copy .contact-details>h2{font-size:32px;line-height:1.4;}
.process-sequence{font-size:16px;margin:0 0 28px;line-height:1.8;}
.sourcing-map figcaption{font-size:14px;color:var(--muted);margin-top:16px;}
.showroom-location{margin:32px 0 0;padding-top:24px;border-top:1px solid var(--line);}
.showroom-location h3{font-size:22px;margin:0 0 12px;}
.showroom-location p{font-size:16px;line-height:1.85;}
.showroom-location a{display:inline-flex;margin-top:14px;font-size:14px;text-decoration:underline;text-underline-offset:5px;}
.footer-showroom{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);}
.project-carousel .carousel-slide[hidden]{display:none!important;}
.project-carousel .carousel-slide>a{display:block;}
.project-carousel .carousel-slide img{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;display:block;}
.carousel-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 0;}
.carousel-controls button{min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;padding:10px 16px;font:inherit;font-size:14px;}
.carousel-controls button:hover{background:var(--ink);color:var(--paper);}
.carousel-buttons{display:flex;gap:8px;flex-wrap:wrap;}
.carousel-status{font-size:14px;font-variant-numeric:tabular-nums;}
@media(min-width:901px){.cn-copy .section-head>:last-child,.cn-copy .page-hero-grid>:last-child{padding-top:36px;}.cn-copy .approach-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}.cn-copy .approach-grid .editorial-title{font-size:clamp(30px,3vw,52px);}.cn-copy .quality-grid,.cn-copy .resource-grid{gap:32px;}}
@media(max-width:900px){.cn-copy :is(.section-head,.page-hero-grid,.company-statement,.approach-grid){grid-template-columns:1fr;gap:28px;}.cn-copy .editorial-title br{display:none;}.cn-copy .quality-grid,.cn-copy .resource-grid{grid-template-columns:1fr;gap:32px;}.module-photo{max-height:440px;}.cn-copy .page-hero .display{font-size:clamp(36px,6vw,60px);}}
@media(max-width:650px){.cn-copy .hero-editorial-copy h1{font-size:clamp(30px,8.8vw,48px);}.project-carousel .carousel-slide img{aspect-ratio:1.15;}.carousel-controls{align-items:start;flex-direction:column;}.cn-copy .editorial-title{font-size:32px;}}
@media(max-width:900px){.cn-copy .capability-block,.cn-copy .capability-block.reverse{grid-template-columns:1fr;gap:28px;}}
