/* Leisheng interface refinement: quiet framing, legible specifications, native controls. */
:root{
  --ls-ground:#f7f5ef;
  --ls-paper:#faf9f5;
  --ls-navy:#0b3553;
  --ls-ink:#234c65;
  --ls-secondary:#526875;
  --ls-divider:#c9d5da;
  color-scheme:light;
}
body{color:var(--ls-ink);font-size:15px;text-rendering:optimizeLegibility}
button,a,input,summary{touch-action:manipulation}
button,a{transition:color .16s ease,background-color .16s ease,border-color .16s ease}
button:hover,a:hover{opacity:1}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--ls-navy);outline-offset:4px;
}
h1,h2,h3,h4{text-wrap:balance}
p{overflow-wrap:break-word}
section[id],h2[id],h3[id]{scroll-margin-top:28px}
.header nav a{display:inline-flex;align-items:center;min-height:44px;padding-block:10px;font-size:13px}
.language{min-width:50px;min-height:44px;font-size:12px;background:transparent}
.header nav a:hover,.hero-secondary:hover,.textlink:hover,.photo-download:hover,.jiji-download:hover{color:var(--ls-navy);text-decoration:underline;text-underline-offset:5px}
.brand{white-space:nowrap}
.hero .intro,.company-story p,.line-content p,.contact>div>p:last-child{font-size:14px;line-height:1.9;max-width:64ch;color:var(--ls-secondary)}
.hero h1{line-height:1.08;max-width:12.5ch}
.hero h1:lang(zh-CN){max-width:100%}
.hero .intro{max-width:48ch}
.hero-visual figcaption{font-size:11px;letter-spacing:.04em;color:var(--ls-secondary);line-height:1.6}
.hero-foot{font-size:11px;letter-spacing:.02em;line-height:1.8;color:var(--ls-secondary)}
.hero-secondary{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
.eyebrow,.jiji-eyebrow{font-size:11px;letter-spacing:.09em;line-height:1.7}
.company-story .company-lead{font-size:17px;line-height:1.8;color:var(--ls-ink)}
.strength p,.section-intro,.line-content p{font-size:14px;line-height:1.85}
.strength h3{font-size:17px}
.strength>span{color:var(--ls-secondary);font-size:18px}
.routes span,.routes p{font-size:12px;line-height:1.75;color:var(--ls-secondary)}
.routes h3{font-size:27px;line-height:1.35;margin-block:8px}
.routes>a{min-width:0}
.section-head>div,.section-head>p,.company-story,.line-content>div,.contact>div{min-width:0}
.section-head .section-intro{max-width:46ch}
.card-meta,.jiji-product-meta,.results-row,.jiji-results{font-size:12px;letter-spacing:.02em;line-height:1.6;color:var(--ls-secondary);font-variant-numeric:tabular-nums}
.card-sub,.jiji-product-card .jiji-card-spec{font-size:13px;line-height:1.7;color:var(--ls-secondary)}
.card-tag{font-size:11px;line-height:1.5;letter-spacing:.03em;color:var(--ls-navy)}
.card-meta,.jiji-product-meta{flex-wrap:wrap}
.card-meta>span:last-child,.jiji-product-meta>span:last-child{white-space:nowrap}
.filters button,.jiji-category-filters button,.view-tabs button,.jiji-view-tabs button{font-size:12px;min-height:44px;min-width:44px;padding:11px 14px}
.filters button:hover,.jiji-category-filters button:hover,.view-tabs button:hover,.jiji-view-tabs button:hover{border-color:var(--ls-navy)}
.filters button[aria-pressed=true],.jiji-category-filters button[aria-pressed=true]{color:#fff}
.search>span{font-size:11px;line-height:1.5;top:-19px;color:var(--ls-secondary)}
.search input{font-size:14px;min-height:46px;line-height:1.6}
.search:focus-within{outline:2px solid var(--ls-navy);outline-offset:4px}
.search input:focus-visible{outline:0}
.colour-note,.catalogue-download>span,.jiji-products-heading>p,.jiji-category p{font-size:13px;line-height:1.8;color:var(--ls-secondary)}
.jiji-category .textlink{font-size:12px;display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
.showall,.jiji-showall-row button{font-size:13px;line-height:1.6;min-height:48px}
.showall:hover,.jiji-showall-row button:hover{border-color:var(--ls-navy);background:#eef1ef}
.contact-name{font-size:34px}
.contact-card>p{font-size:13px;line-height:1.7;color:var(--ls-secondary)}
.contact-card>a,.contact-card>button{font-size:14px;line-height:1.6;min-height:56px;overflow-wrap:anywhere}
.contact-card small{font-size:11px;letter-spacing:.04em;flex-basis:90px;flex-shrink:0}
.contact-card>a:hover,.contact-card>button:hover{background:#edf0ed}
.contact-card>button span{font-size:12px}
#copystatus{font-size:12px;line-height:1.7}
footer{font-size:11px;line-height:1.8}
.footer-details>a{min-height:44px;font-size:12px;align-items:center;padding-block:10px}
footer>a{display:inline-flex;align-items:center;min-height:44px}
dialog{overscroll-behavior:contain;scrollbar-gutter:stable}
.modal-head,.jiji-modal-head{background:var(--ls-ground)}
.modal-head,.jiji-modal-head>span{font-size:11px;letter-spacing:.06em;line-height:1.7}
.modal-head button,.jiji-modal-head button{min-width:44px;min-height:44px}
.modal-details>p,.jiji-other-name{font-size:14px;line-height:1.8}
.photo-caption,.jiji-photo-caption,.unit-explain,.modal-details .unit-explain,.jiji-unit-note,.sample-note{font-size:12px;line-height:1.8;color:var(--ls-secondary)}
.photo-download,.jiji-download{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.6;padding-block:10px}
.variant-heading{font-size:12px;letter-spacing:.04em}
.variant-list button{font-size:12px;min-height:44px}
.specs>div,.jiji-specs>div{font-size:14px;line-height:1.7;gap:20px;padding-block:12px;font-variant-numeric:tabular-nums}
.specs dt,.jiji-specs dt{color:var(--ls-secondary)}
.specs dd,.jiji-specs dd{color:var(--ls-navy);font-weight:500}
.enquire .button,.jiji-enquiry a{font-size:13px;min-height:48px;line-height:1.6}
.typeset-card,.jiji-sample-card{font-variant-numeric:tabular-nums}
.sc-table dt,.jiji-sample-card dt{font-size:12px}
.sc-table dt small,.jiji-sample-card dt small{font-size:11px}
.sc-note,.jiji-card-note{font-size:11px;line-height:1.8}
@media(max-width:1000px){
 .header{gap:20px}.header nav{gap:20px}
 .hero h1{font-size:clamp(40px,5.4vw,58px)}
 .company-story .company-lead{font-size:16px}
 .hero-foot{gap:10px}.hero-foot span+span{padding-left:10px}
}
@media(max-width:650px){
 body{font-size:14px}
 .header{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));gap:10px;min-height:80px}
 .brand{font-size:14px;letter-spacing:.08em;gap:7px}.brand img{width:34px;height:41px}
 .brand small{font-size:10px;letter-spacing:.2em}
 .header nav{gap:10px;margin-left:auto}.header nav a{font-size:11px;min-height:44px}
 .language{min-width:44px;padding:8px;font-size:11px;margin-left:0}
 .hero{padding-block:29px 32px;gap:24px}
 .hero h1{font-size:clamp(37px,10.5vw,46px);line-height:1.09;max-width:13ch;margin:18px 0}
 .hero h1:lang(zh-CN){font-size:32px;line-height:1.4;max-width:100%}
 .hero .intro,.company-story p,.line-content p,.contact>div>p:last-child{font-size:14px;line-height:1.85}
 .hero .button{font-size:13px;min-height:48px;padding:12px 19px}
 .hero-secondary{font-size:13px;margin-top:19px}
 .hero-actions{gap:18px}
 .hero-visual figcaption{font-size:11px;letter-spacing:0;gap:12px;flex-wrap:wrap}
 .hero-foot{font-size:11px;gap:8px;line-height:1.9}
 .hero-foot span+span{padding-left:8px}
 .company-heading h2{font-size:31px;line-height:1.35}
 .company-story .company-lead{font-size:16px;line-height:1.8}
 .strength p,.section-intro,.mills .section-intro{font-size:13px;line-height:1.85}
 .strength h3{font-size:17px}
 .eyebrow,.jiji-eyebrow{font-size:11px;letter-spacing:.06em}
 .routes span{font-size:11px}.routes p{font-size:12px;line-height:1.7}
 .routes h3{font-size:21px;line-height:1.4}
 .routes{gap:16px}
 .card-meta,.jiji-product-meta{font-size:11px;line-height:1.6;gap:4px 8px;letter-spacing:0;margin-top:12px}
 .product-card h3,.jiji-product-card h4{font-size:22px;line-height:1.35}
 .card-sub,.jiji-product-card .jiji-card-spec{font-size:12px;line-height:1.7}
 .card-tag{font-size:10px;padding:5px 7px;letter-spacing:0}
 .grid,.jiji-product-grid{row-gap:30px}
 .results-row,.jiji-results{font-size:11px;letter-spacing:0;line-height:1.7}
 .results-row>span:last-child{max-width:145px}
 .filters button,.jiji-category-filters button,.view-tabs button,.jiji-view-tabs button{font-size:12px;min-height:44px;padding:10px 12px}
 .colour-note,.catalogue-download>span,.jiji-products-heading>p,.jiji-category p{font-size:12px}
 .jiji-category .textlink{font-size:12px}
 .catalogue-download .button{font-size:12px;min-height:48px;max-width:100%;white-space:normal;text-align:center}
 .contact-name{font-size:32px}.contact-card>a,.contact-card>button{font-size:13px;gap:8px}
 .contact-card small{flex-basis:72px;font-size:10px}
 footer{font-size:11px}.footer-details>a{font-size:11px}
 .modal-head,.jiji-modal-head{padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right))}
 .modal-head,.jiji-modal-head>span{font-size:10px}
 .modal-content,.jiji-modal-layout{padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .modal-details>p,.jiji-other-name{font-size:14px}
 .specs>div,.jiji-specs>div{font-size:13px}
 .photo-caption,.jiji-photo-caption,.modal-details .unit-explain,.jiji-unit-note{font-size:12px}
 .enquire .button,.jiji-enquiry a{font-size:13px;min-height:48px}
}
@media(max-width:374px){
 .header{gap:7px;padding-inline:14px}.brand{font-size:12px}.brand img{width:29px;height:35px}.brand small{font-size:10px;letter-spacing:.16em}
 .header nav{gap:7px}.header nav a{font-size:11px}.language{font-size:11px;min-width:44px;padding:7px}
 .hero-actions{gap:13px}.hero .button,.hero-secondary{font-size:12px}
 .contact-card small{flex-basis:64px}
 .card-meta>span:last-child{white-space:normal}
}
.catalogue-directory-link{margin:18px 0 22px;font-size:14px}
.catalogue-directory-link a{display:inline-flex;align-items:center;min-height:44px;gap:8px;text-underline-offset:5px}
.catalogue-directory-link a::after{content:'↗';font-size:16px}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 button,a,.card-image>img,.jiji-product-photo img{transition:none}
}

.contact-card>#wechat small{flex-basis:96px;white-space:nowrap}
