:root{
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --ink:#111111;
  --ink-soft:#222222;
  --sub:#4D4D4D;
  --line:#E8E8E8;
  --line-soft:#F2F2F2;
  --accent:#111111;
  --accent-soft:#F5F5F5;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman","Songti SC",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --header-h:74px;
  --maxw:1360px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input{font-family:inherit;}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:120;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.header-inner{max-width:var(--maxw);margin:0 auto;padding:0 32px;height:var(--header-h);display:flex;align-items:center;gap:40px;}
.wordmark{display:flex;align-items:center;}
.wordmark .logo-img{display:block;height:44px;width:auto;}
.wordmark.small .logo-img{height:30px;}
.main-nav{display:flex;align-items:center;gap:34px;margin-left:14px;font-size:14px;}
.nav-item{color:var(--ink-soft);letter-spacing:.06em;position:relative;padding:26px 0;transition:color .25s;}
.nav-item:hover{color:var(--accent);}
.nav-item.has-drop{position:relative;}
.nav-item.has-drop:hover .drop{opacity:1;visibility:visible;transform:translateY(0);}
.drop{position:absolute;top:calc(100% - 8px);left:-22px;min-width:230px;background:var(--surface);border:1px solid var(--line);padding:14px 0;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.28s;box-shadow:0 22px 46px -28px rgba(0,0,0,.3);}
.drop a{display:flex;justify-content:space-between;align-items:center;padding:9px 24px;font-size:13.5px;color:var(--ink-soft);}
.drop a:hover{background:var(--accent-soft);color:var(--accent);}
.drop a em{font-style:normal;font-size:11px;color:#B4B0A8;letter-spacing:.08em;}
.header-tools{margin-left:auto;display:flex;align-items:center;gap:16px;}
.search-input{width:180px;border:1px solid var(--line);background:transparent;border-radius:0;padding:9px 14px;font-size:13px;outline:none;transition:.25s;}
.search-input:focus{border-color:var(--accent);width:220px;}
.menu-btn{display:none;flex-direction:column;gap:5px;padding:8px;}
.menu-btn span{display:block;width:20px;height:1.5px;background:var(--ink);}
.mobile-nav{display:none;border-top:1px solid var(--line);padding:18px 32px 26px;background:var(--surface);}
.mobile-nav.open{display:block;}
.mobile-nav h5{font-size:11px;letter-spacing:.22em;color:var(--sub);margin:16px 0 10px;font-weight:500;}
.mobile-nav a{display:block;padding:8px 0;font-size:14.5px;}

/* ---------- layout ---------- */
main{min-height:60vh;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.section{padding:78px 0;}
.section-sm{padding:52px 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:38px;gap:20px;flex-wrap:wrap;}
.section-head h2{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:.04em;}
.section-head .eyebrow{font-size:11px;letter-spacing:.32em;color:var(--sub);text-transform:uppercase;margin-bottom:10px;}
.more-link{font-size:13px;color:var(--sub);border-bottom:1px solid var(--line);padding-bottom:2px;letter-spacing:.06em;transition:.25s;}
.more-link:hover{color:var(--accent);border-color:var(--accent);}

.breadcrumb{font-size:12.5px;color:var(--sub);letter-spacing:.08em;padding:26px 0 0;}
.breadcrumb a:hover{color:var(--accent);}
.breadcrumb span.sep{margin:0 9px;color:#C9C5BD;}

/* ---------- hero ---------- */
.hero{position:relative;height:min(74vh,620px);min-height:430px;overflow:hidden;background:#E9E6E0;}
.hero img{width:100%;height:100%;object-fit:cover;}
.hero-veil{position:absolute;inset:0;background:linear-gradient(to right,rgba(20,18,16,.58),rgba(20,18,16,.12) 62%,rgba(20,18,16,0));}
.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.hero-copy .eyebrow{color:rgba(255,255,255,.82);font-size:11.5px;letter-spacing:.4em;margin-bottom:22px;}
.hero-copy h1{font-family:var(--serif);color:#fff;font-size:clamp(34px,4.4vw,58px);font-weight:400;line-height:1.24;letter-spacing:.03em;max-width:15em;}
.hero-copy p{color:rgba(255,255,255,.9);margin-top:22px;max-width:32em;font-size:15px;}
.hero-actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;font-size:13.5px;letter-spacing:.14em;border:1px solid transparent;transition:.3s;}
.btn-solid{background:#fff;color:var(--ink);}
.btn-solid:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;}
.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff;}
.btn-line{border-color:var(--ink);color:var(--ink);}
.btn-line:hover{background:var(--ink);color:#fff;}
.btn-accent{background:var(--accent);color:#fff;}
.btn-accent:hover{background:#6F5B41;}

/* ---------- category entries ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cat-card{display:block;overflow:hidden;background:#fff;}
.cat-card img{width:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;padding:8%;transition:transform 1.1s ease;}
.cat-card:hover img{transform:scale(1.03);}
.cat-card-body{padding:12px 8px 20px;color:var(--ink);}
.cat-card-body h3{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:.05em;}
.cat-card-body .en{font-size:10.5px;letter-spacing:.3em;opacity:.8;margin-top:4px;text-transform:uppercase;}
.cat-card-body .cnt{font-size:12px;opacity:.85;margin-top:12px;letter-spacing:.08em;}

/* ---------- brand wall ---------- */
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.brand-cell{background:var(--bg);padding:40px 34px;transition:.35s;display:block;}
.brand-cell:hover{background:var(--surface);}
.brand-cell h3{font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:.07em;}
.brand-cell .meta{font-size:11.5px;color:var(--sub);letter-spacing:.16em;margin-top:8px;}
.brand-cell p{font-size:13.5px;color:var(--sub);margin-top:16px;line-height:1.75;}
.brand-cell .go{font-size:11.5px;letter-spacing:.2em;color:var(--accent);margin-top:18px;display:inline-block;}

/* ---------- product grid ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 22px;}
.prod-grid.cols3{grid-template-columns:repeat(3,1fr);}
.prod-card{display:block;background:transparent;}
.prod-thumb{position:relative;background:#fff;aspect-ratio:4/3;overflow:hidden;}
.prod-thumb img{width:100%;height:100%;object-fit:contain;object-position:center;padding:6%;transition:transform 1s ease,opacity .4s;}
.prod-card:hover .prod-thumb img{transform:scale(1.03);}
.prod-thumb .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#BEBAB2;font-size:11px;letter-spacing:.2em;}
.prod-meta{padding:16px 2px 0;}
.prod-brand{font-size:10.5px;letter-spacing:.26em;color:var(--accent);text-transform:uppercase;}
.prod-name{font-size:15px;margin-top:6px;letter-spacing:.03em;color:var(--ink);}
.prod-sub{font-size:12px;color:var(--sub);margin-top:3px;}
.prod-load{display:flex;justify-content:center;margin-top:46px;}
.load-more{padding:14px 44px;border:1px solid var(--line);font-size:13px;letter-spacing:.16em;color:var(--ink-soft);transition:.3s;background:var(--surface);}
.load-more:hover{border-color:var(--accent);color:var(--accent);}

/* ---------- filters ---------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:22px 0 30px;border-bottom:1px solid var(--line);margin-bottom:36px;}
.chip{padding:9px 20px;border:1px solid var(--line);font-size:13px;color:var(--ink-soft);letter-spacing:.06em;transition:.25s;background:transparent;}
.chip:hover{border-color:var(--accent);color:var(--accent);}
.chip.active{background:var(--ink);border-color:var(--ink);color:#fff;}
.filter-label{font-size:11.5px;letter-spacing:.22em;color:var(--sub);margin-right:6px;}

/* ---------- page head ---------- */
.page-head{padding:44px 0 30px;border-bottom:1px solid var(--line);}
.page-head h1{font-family:var(--serif);font-size:clamp(28px,3.4vw,42px);font-weight:400;letter-spacing:.04em;}
.page-head .en{font-size:11.5px;letter-spacing:.3em;color:var(--sub);text-transform:uppercase;margin-top:12px;}
.page-head p{color:var(--sub);margin-top:18px;max-width:44em;font-size:14.5px;}

/* ---------- brand hero ---------- */
.brand-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:0;border:1px solid var(--line);background:var(--surface);margin-top:34px;}
.brand-hero-img{background:#fff;aspect-ratio:16/10;}
.brand-hero-img img{width:100%;height:100%;object-fit:contain;object-position:center;padding:3%;}
.brand-hero-body{padding:44px 42px;display:flex;flex-direction:column;justify-content:center;}
.brand-hero-body h1{font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:.06em;}
.brand-hero-body .meta{font-size:11.5px;letter-spacing:.2em;color:var(--sub);margin-top:12px;text-transform:uppercase;}
.brand-hero-body p{color:var(--ink-soft);margin-top:22px;font-size:14.5px;}
.brand-stats{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap;}
.brand-stats div span{display:block;font-family:var(--serif);font-size:26px;color:var(--accent);}
.brand-stats div em{font-style:normal;font-size:11.5px;letter-spacing:.16em;color:var(--sub);}

/* ---------- series group ---------- */
.series-block{margin-bottom:64px;}
.series-title{display:flex;align-items:baseline;gap:16px;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--line-soft);}
.series-title h3{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:.05em;}
.series-title span{font-size:11.5px;color:var(--sub);letter-spacing:.16em;}

/* ---------- product detail ---------- */
.pd-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:54px;padding:36px 0 20px;}
.pd-gallery-heading,.pd-views-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:var(--ink);font-size:12px;letter-spacing:.13em;margin-bottom:13px;}
.pd-gallery-heading span:last-child,.pd-views-label span{color:var(--sub);font-size:11px;letter-spacing:.05em;}
.pd-gallery .main{position:relative;background:#fff;aspect-ratio:4/3;overflow:hidden;}
.pd-gallery .main img{width:100%;height:100%;object-fit:contain;object-position:center;padding:4%;cursor:zoom-in;}
.view-large{position:absolute;right:18px;bottom:18px;background:#fff;border:1px solid var(--line);padding:10px 15px;color:var(--ink);font-size:12px;letter-spacing:.1em;box-shadow:0 5px 18px rgba(0,0,0,.07);}
.view-large:hover,.view-large:focus-visible{border-color:var(--ink);outline:none;}
.view-large span{margin-left:10px;font-size:15px;}
.pd-views-label{margin:26px 0 12px;}
.pd-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.pd-thumbs button{background:#fff;aspect-ratio:4/3;overflow:hidden;border:1px solid transparent;cursor:pointer;}
.pd-thumbs button.active{border-color:var(--accent);}
.pd-thumbs img{width:100%;height:100%;object-fit:contain;object-position:center;padding:5%;transition:transform .5s ease;}
.pd-thumbs button:hover img{transform:scale(1.035);}
.pd-info .pd-brand{font-size:11.5px;letter-spacing:.28em;color:var(--accent);text-transform:uppercase;}
.pd-info h1{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.2;margin-top:14px;letter-spacing:.03em;}
.pd-info .pd-en{font-size:13px;color:var(--sub);letter-spacing:.14em;margin-top:10px;}
.pd-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;}
.pd-tags a{font-size:12px;padding:5px 14px;background:var(--accent-soft);color:var(--accent);letter-spacing:.06em;}
.pd-desc{color:var(--ink-soft);margin-top:26px;font-size:14.5px;line-height:1.85;}
.spec-table{width:100%;border-collapse:collapse;margin-top:30px;font-size:14px;}
.spec-table th{text-align:left;font-weight:500;color:var(--sub);font-size:12.5px;letter-spacing:.1em;padding:12px 0;width:38%;border-bottom:1px solid var(--line-soft);vertical-align:top;}
.spec-table td{padding:12px 0;border-bottom:1px solid var(--line-soft);color:var(--ink-soft);}
.pd-contact{margin-top:34px;padding:26px 28px;background:var(--surface);border:1px solid var(--line);}
.pd-contact h4{font-family:var(--serif);font-size:19px;font-weight:400;letter-spacing:.05em;}
.pd-contact p{font-size:13.5px;color:var(--sub);margin-top:10px;}
.pd-contact .row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px;}
.pd-contact .row:last-of-type{border-bottom:none;}
.pd-contact .row b{font-weight:500;color:var(--ink);}

/* ---------- content pages ---------- */
.prose{max-width:760px;padding:24px 0 40px;}
.prose h2{font-family:var(--serif);font-size:27px;font-weight:400;margin:44px 0 16px;letter-spacing:.04em;}
.prose h3{font-size:16px;font-weight:500;margin:30px 0 10px;}
.prose p{color:var(--ink-soft);margin:14px 0;}
.prose ul{margin:14px 0 14px 20px;color:var(--ink-soft);}
.prose li{margin:8px 0;}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:34px 0;}
.step-cell{background:var(--bg);padding:30px 24px;}
.step-cell .no{font-family:var(--serif);font-size:26px;color:var(--accent);}
.step-cell h4{font-size:15px;font-weight:500;margin:12px 0 8px;}
.step-cell p{font-size:13px;color:var(--sub);line-height:1.7;}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:30px 0;}
.info-card{background:var(--surface);border:1px solid var(--line);padding:28px 26px;}
.info-card h4{font-size:12px;letter-spacing:.2em;color:var(--sub);text-transform:uppercase;}
.info-card p{margin-top:12px;font-size:16px;font-family:var(--serif);letter-spacing:.04em;}

/* ---------- empty ---------- */
.empty{padding:90px 0;text-align:center;color:var(--sub);}
.empty h3{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--ink);margin-bottom:12px;}

/* ---------- footer ---------- */
.site-footer{margin-top:90px;border-top:1px solid var(--line);background:var(--surface);}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:60px 32px 44px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
.footer-col h4{font-size:11.5px;letter-spacing:.22em;color:var(--sub);margin-bottom:16px;font-weight:500;}
.footer-col ul{list-style:none;}
.footer-col li{margin:9px 0;font-size:13.5px;color:var(--ink-soft);}
.footer-col a:hover{color:var(--accent);}
.foot-desc{font-size:13px;color:var(--sub);margin-top:16px;max-width:22em;}
.footer-bottom{max-width:var(--maxw);margin:0 auto;padding:22px 32px 40px;border-top:1px solid var(--line-soft);font-size:12px;color:#9A968E;line-height:1.8;}
.footer-bottom p+p{margin-top:6px;}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;background:rgba(16,15,14,.94);display:none;align-items:center;justify-content:center;z-index:300;padding:40px;}
.lightbox.open{display:flex;}
.lightbox-open{overflow:hidden;}
.lightbox img{max-width:calc(100vw - 150px);max-height:85vh;object-fit:contain;}
.lb-close{position:absolute;top:22px;right:30px;color:#fff;font-size:34px;line-height:1;opacity:.8;}
.lb-close:hover{opacity:1;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:64px;color:#fff;font-size:46px;line-height:1;opacity:.8;}
.lb-nav:hover,.lb-nav:focus-visible{opacity:1;outline:1px solid #fff;}
.lb-nav[hidden]{display:none;}
.lb-prev{left:18px;}
.lb-next{right:18px;}
.lb-count{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-size:12px;letter-spacing:.2em;}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .prod-grid{grid-template-columns:repeat(3,1fr);}
  .footer-inner{grid-template-columns:1fr 1fr;gap:32px;}
  .pd-layout{grid-template-columns:1fr;gap:34px;}
  .brand-hero{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:820px){
  .main-nav{display:none;}
  .menu-btn{display:flex;}
  .header-inner{gap:18px;padding:0 20px;}
  .wrap{padding:0 20px;}
  .hero-copy{padding:0 20px;}
  .search-input{width:130px;}
  .search-input:focus{width:150px;}
  .cat-grid{grid-template-columns:1fr;}
  .brand-grid{grid-template-columns:1fr;}
  .prod-grid,.prod-grid.cols3{grid-template-columns:repeat(2,1fr);gap:20px 14px;}
  .section{padding:54px 0;}
  .info-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;padding:44px 20px 30px;}
  .footer-bottom{padding:20px 20px 34px;}
  .brand-hero-body{padding:30px 24px;}
  .pd-info h1{font-size:29px;}
  .section-head h2{font-size:25px;}
  .series-block{margin-bottom:44px;}
  .lightbox{padding:16px;}
  .lightbox img{max-width:calc(100vw - 44px);max-height:78vh;}
  .lb-nav{top:auto;bottom:20px;transform:none;width:48px;height:48px;font-size:36px;}
  .lb-prev{left:18px;}
  .lb-next{right:18px;}
  .lb-count{bottom:36px;}
}
