/*
Theme Name: ZSFER Living
Theme URI: https://zsfer.cn
Author: Yuhuan Taijie Hardware
Description: Premium product catalog and editorial WordPress theme for storage hardware.
Version: 1.0.0
Text Domain: zsfer-living
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root { --ink:#20251f; --muted:#6f746c; --cream:#f3f1ea; --line:rgba(32,37,31,.16); --sage:#657461; --deep:#223129; --serif:'Playfair Display',Georgia,serif; --sans:'DM Sans',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.site-shell { overflow:hidden; }
.site-header { position:absolute; z-index:10; top:0; left:0; right:0; height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; color:white; }
.brand { display:flex; align-items:center; gap:11px; font-weight:600; letter-spacing:.12em; font-size:12px; }
.brand em { font-family:var(--serif); font-size:13px; font-weight:500; letter-spacing:0; }
.brand-mark { display:grid; place-items:center; width:30px; height:30px; border:1px solid currentColor; border-radius:50%; font-size:10px; letter-spacing:-.04em; }
.main-nav { display:flex; align-items:center; gap:33px; font-size:12px; letter-spacing:.06em; }
.main-nav a:not(.nav-apply), .back-link { opacity:.82; transition:opacity .2s; }
.main-nav a:hover { opacity:1; }
.nav-apply { border-bottom:1px solid currentColor; padding-bottom:5px; display:flex; gap:5px; align-items:center; }
.menu-toggle { display:none; color:inherit; border:0; background:none; }
.hero { position:relative; min-height:100vh; background-size:cover; background-position:center; display:flex; align-items:center; padding:130px 10vw 70px; color:white; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,25,18,.68),rgba(16,25,18,.05) 72%),linear-gradient(0deg,rgba(16,25,18,.35),transparent 35%); }
.hero-content { position:relative; max-width:590px; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:600; opacity:.76; margin:0 0 22px; }
.eyebrow.dark { color:var(--sage); opacity:1; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--serif); font-weight:500; line-height:1.08; }
h1 { font-size:clamp(56px,8vw,116px); letter-spacing:-.05em; margin:0 0 28px; }
h1 i,h2 i { font-weight:500; }
.hero-copy { width:min(340px,100%); font-size:15px; line-height:1.75; opacity:.82; margin-bottom:34px; }
.pill-button { display:inline-flex; align-items:center; gap:17px; padding:14px 20px; border-radius:99px; font-size:12px; letter-spacing:.06em; transition:transform .2s,background .2s; }
.pill-button:hover { transform:translateY(-2px); }
.pill-button.light { color:var(--ink); background:#f7f5ee; }
.pill-button.dark { background:var(--deep); color:#f7f5ee; }
.hero-footer { position:absolute; bottom:35px; left:10vw; right:10vw; display:flex; justify-content:space-between; font-size:10px; letter-spacing:.14em; opacity:.8; }
.scroll-label { display:flex; align-items:center; gap:8px; }
.intro { background:var(--cream); padding:145px 10vw 120px; }
.section-kicker { color:var(--sage); font-size:10px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:55px; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:end; }
.intro h2,.collections h2,.statement h2,.cta-section h2 { font-size:clamp(46px,6vw,86px); letter-spacing:-.055em; margin-bottom:0; }
.intro-body { max-width:350px; color:var(--muted); line-height:1.8; }
.text-link { display:inline-flex; gap:12px; align-items:center; color:var(--ink); border-bottom:1px solid var(--line); padding-bottom:10px; margin-top:18px; font-size:12px; letter-spacing:.04em; }
.stat-row { display:flex; gap:12vw; border-top:1px solid var(--line); margin-top:110px; padding-top:25px; }
.stat-row strong { display:block; font:500 45px var(--serif); }
.stat-row strong span { font-size:20px; }
.stat-row small { color:var(--muted); font-size:11px; }
.collections { background:#dddcd3; padding:120px 5vw 140px; }
.collection-head { display:flex; justify-content:space-between; align-items:end; padding:0 5vw; margin-bottom:60px; }
.collection-head .eyebrow { margin-bottom:16px; }.muted-index { color:var(--muted); font-size:10px; letter-spacing:.12em; }
.category-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }.category-card { min-height:350px; position:relative; overflow:hidden; color:white; }.card-1 { grid-column:span 7; min-height:530px; }.card-2,.card-3 { grid-column:span 5; }.card-4,.card-5 { grid-column:span 6; }
.category-card img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .6s cubic-bezier(.23,1,.32,1); }.category-card:hover img { transform:scale(1.045); }.card-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,18,12,.65),transparent 65%); }.category-meta { position:absolute; bottom:25px; left:28px; right:28px; display:flex; align-items:end; justify-content:space-between; }.category-meta > span { align-self:start; font-size:10px; opacity:.75; }.category-meta h3 { font:500 30px var(--serif); margin:0; }.category-meta p { opacity:.7; margin:5px 0 0; font-size:11px; }.card-arrow { opacity:.8; }
.statement { background:var(--deep); color:#f6f3ea; display:grid; grid-template-columns:1.1fr .9fr; min-height:680px; }.statement-image { background-size:cover; background-position:center; min-height:520px; }.statement-copy { padding:12vw 9vw; align-self:center; }.statement-copy h2 { margin-bottom:28px; }.statement-copy > p:not(.eyebrow) { color:rgba(246,243,234,.68); line-height:1.8; max-width:330px; }.statement-copy .pill-button { margin-top:20px; color:var(--deep); }
.journal { padding:140px 10vw; }.journal-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:12vw; align-items:center; }.journal-image { aspect-ratio:1.2; background-size:cover; background-position:center; margin-bottom:27px; }.journal-tag { color:var(--sage); text-transform:uppercase; letter-spacing:.16em; font-size:10px; }.journal h3 { font:500 33px var(--serif); margin-bottom:10px; }.journal-note { border-left:1px solid var(--line); padding-left:7vw; }.journal-note p { font:500 35px/1.2 var(--serif); max-width:350px; }.journal-note span { color:var(--muted); font-size:11px; }
.cta-section { text-align:center; background:#cfc7b8; padding:140px 20px 155px; }.cta-section .eyebrow { color:var(--sage); }.cta-section h2 { margin-bottom:35px; }.cta-section .pill-button { background:var(--deep); color:white; }
.footer { background:#1b241e; color:#eef0e8; padding:70px 5vw 35px; display:grid; grid-template-columns:1fr 1fr; gap:60px; }.footer-links { display:flex; flex-direction:column; gap:8px; font-size:12px; color:rgba(238,240,232,.68); }.footer > p { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.16); padding-top:20px; color:rgba(238,240,232,.45); font-size:10px; margin:0; }
.apply-page { min-height:100vh; background:var(--cream); }.apply-header { position:relative; color:var(--ink); border-bottom:1px solid var(--line); }.back-link { display:flex; align-items:center; gap:8px; font-size:12px; }.apply-main { padding:120px 10vw 100px; display:grid; grid-template-columns:.8fr 1fr; gap:12vw; max-width:1400px; margin:auto; }.apply-aside h1 { font-size:clamp(60px,8vw,112px); margin-bottom:30px; }.apply-aside > p:not(.eyebrow) { max-width:330px; color:var(--muted); line-height:1.8; }.apply-contact { margin-top:80px; display:flex; flex-direction:column; gap:7px; font-size:12px; }.apply-contact span { color:var(--sage); text-transform:uppercase; letter-spacing:.14em; font-size:10px; margin-bottom:7px; }.apply-form { display:flex; flex-direction:column; gap:26px; padding-top:24px; }.apply-form label { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--sage); }.apply-form input,.apply-form select,.apply-form textarea { display:block; width:100%; border:0; border-bottom:1px solid var(--line); background:transparent; padding:12px 0; outline:0; color:var(--ink); font-size:15px; letter-spacing:0; text-transform:none; resize:vertical; }.apply-form input:focus,.apply-form textarea:focus,.apply-form select:focus { border-color:var(--deep); }.apply-form .pill-button { border:0; align-self:flex-start; cursor:pointer; margin-top:8px; }.apply-form small { color:var(--muted); font-size:10px; }.success-card { align-self:center; background:#ded8ca; padding:60px; }.success-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:var(--deep); color:white; margin-bottom:40px; }.success-card h2 { font-size:48px; }.success-card p:not(.eyebrow) { color:var(--muted); max-width:320px; }
@media(max-width:700px){ .site-header { height:74px; padding:0 22px; }.menu-toggle { display:block; }.main-nav { display:none; position:absolute; top:74px; left:0; right:0; padding:26px 22px 30px; background:var(--deep); flex-direction:column; align-items:flex-start; gap:20px; }.main-nav.is-open { display:flex; }.hero { min-height:760px; padding:110px 22px 60px; background-position:62% center; }.hero-footer { left:22px; right:22px; }.intro { padding:95px 22px 85px; }.intro-grid,.statement,.journal-grid,.apply-main { grid-template-columns:1fr; gap:50px; }.intro h2,.collections h2,.statement h2,.cta-section h2 { font-size:52px; }.stat-row { gap:0; justify-content:space-between; margin-top:75px; }.stat-row strong { font-size:36px; }.collections { padding:90px 16px; }.collection-head { padding:0 6px; margin-bottom:35px; }.category-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.category-card,.card-1,.card-2,.card-3,.card-4,.card-5 { grid-column:auto; min-height:250px; }.card-1 { grid-column:span 2; min-height:380px; }.category-meta { left:15px; right:15px; bottom:15px; }.category-meta h3 { font-size:22px; }.statement-image { min-height:350px; }.statement-copy { padding:75px 22px 85px; }.journal { padding:90px 22px; }.journal-note { padding:30px 0 0; border-left:0; border-top:1px solid var(--line); }.journal-note p { font-size:30px; }.cta-section { padding:100px 22px; }.footer { padding:55px 22px 30px; grid-template-columns:1fr; gap:40px; }.footer > p { grid-column:auto; }.apply-main { padding:90px 22px 70px; }.apply-aside h1 { font-size:68px; }.apply-contact { margin-top:45px; }.success-card { padding:35px 25px; }.success-card h2 { font-size:40px; } }
@media(prefers-reduced-motion:no-preference){ .reveal { animation:rise .8s both; } @keyframes rise { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} } }

.brand-dark { color:var(--ink); }
.content-page,.space-page { min-height:100vh; background:var(--cream); }
.content-header { height:88px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.content-hero { padding:135px 10vw 110px; background:linear-gradient(135deg,#e8e3d7 0%,#f3f1ea 55%,#d7ddd2 100%); }
.content-hero h1 { max-width:780px; font-size:clamp(54px,8vw,112px); margin:0 0 28px; }
.content-hero > p { max-width:520px; color:var(--muted); font-size:17px; line-height:1.8; margin-bottom:35px; }
.content-sections { padding:20px 10vw 110px; }
.content-section { display:grid; grid-template-columns:110px 1fr 180px; gap:35px; align-items:start; border-top:1px solid var(--line); padding:42px 0; }
.content-number { color:var(--sage); letter-spacing:.14em; font-size:11px; }
.content-section h2 { font:500 35px var(--serif); margin:0 0 13px; }
.content-section p { max-width:590px; color:var(--muted); line-height:1.8; margin:0; }
.content-section .text-link { justify-self:end; margin-top:0; }
.content-bottom-cta { background:var(--deep); color:#f6f3ea; padding:120px 10vw; }
.content-bottom-cta h2 { font-size:clamp(55px,8vw,105px); margin-bottom:36px; }
.content-bottom-cta .eyebrow.dark { color:#b6c7b7; }
.space-header { position:absolute; z-index:3; width:100%; color:#fff; border-bottom-color:rgba(255,255,255,.2); }
.space-hero { min-height:86vh; position:relative; display:flex; align-items:end; padding:150px 10vw 100px; color:#fff; background:linear-gradient(90deg,rgba(15,25,18,.82),rgba(15,25,18,.18)),url('assets/images/bomeda-hero.webp') center/cover; }
.space-hero-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,25,18,.45),transparent 52%); }
.space-hero-copy { position:relative; max-width:690px; }
.space-hero h1 { margin:0 0 25px; }
.space-hero-copy > p:not(.eyebrow) { max-width:420px; line-height:1.8; opacity:.86; margin-bottom:32px; }
.space-intro { padding:130px 10vw 120px; display:grid; grid-template-columns:1fr 1.1fr; gap:9vw; align-items:start; }
.space-intro .section-kicker { margin:0; }
.space-intro h2 { font-size:clamp(55px,7vw,98px); margin:0 0 32px; }
.space-body { color:var(--muted); line-height:1.85; max-width:420px; margin:0; }
.space-process { display:grid; grid-template-columns:1fr 1fr; gap:10vw; padding:110px 10vw; background:#dddcd3; }
.space-process h2 { font-size:clamp(50px,6vw,85px); }
.space-steps { display:flex; flex-direction:column; gap:30px; }
.space-steps > div { border-top:1px solid var(--line); padding-top:20px; display:grid; grid-template-columns:50px 1fr; column-gap:18px; }
.space-steps span { color:var(--sage); font-size:11px; }
.space-steps h3 { font:500 27px var(--serif); margin:0 0 5px; }
.space-steps p { color:var(--muted); margin:0; grid-column:2; line-height:1.7; }
@media(max-width:700px){
  .content-header { height:74px; padding:0 22px; }
  .content-hero { padding:95px 22px 75px; }
  .content-hero h1 { font-size:56px; }
  .content-hero > p { font-size:15px; }
  .content-sections { padding:0 22px 75px; }
  .content-section { grid-template-columns:40px 1fr; gap:12px; padding:30px 0; }
  .content-section h2 { font-size:28px; }
  .content-section .text-link { grid-column:2; justify-self:start; }
  .content-bottom-cta { padding:80px 22px; }
  .space-hero { min-height:760px; padding:110px 22px 75px; background-position:63% center; }
  .space-hero h1 { font-size:65px; }
  .space-intro,.space-process { display:block; padding:85px 22px; }
  .space-intro h2 { font-size:56px; margin-top:42px; }
  .space-body { margin-top:35px; }
  .space-process h2 { font-size:55px; margin-bottom:55px; }
}

.blog-hero { padding:130px 10vw 95px; background:#dddcd3; }.blog-hero h1 { font-size:clamp(58px,8vw,110px); margin:0 0 25px; }.blog-hero > p:last-child { max-width:500px; color:var(--muted); font-size:17px; }
.article-grid { padding:75px 10vw 120px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.article-card { background:#f8f6ef; border:1px solid var(--line); transition:transform .25s, box-shadow .25s; }.article-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(32,37,31,.1); }.article-cover { aspect-ratio:1.18; background-size:cover; background-position:center; }.article-card-body { padding:23px; }.article-meta { display:flex; justify-content:space-between; gap:12px; color:var(--sage); text-transform:uppercase; letter-spacing:.12em; font-size:10px; }.article-meta time { color:var(--muted); letter-spacing:.03em; text-transform:none; }.article-card h2 { font:500 28px/1.15 var(--serif); margin:18px 0 12px; }.article-card p { color:var(--muted); font-size:13px; line-height:1.7; margin:0 0 14px; }.article-card .text-link { margin-top:5px; }
.article-detail-hero { padding:80px 10vw 100px; display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:center; background:#dddcd3; }.article-detail-cover { aspect-ratio:1.2; background-size:cover; background-position:center; }.article-detail-hero h1 { font-size:clamp(48px,6vw,85px); margin:20px 0; }.article-detail-hero p { max-width:420px; color:var(--muted); font-size:17px; line-height:1.8; }.article-body { max-width:760px; margin:0 auto; padding:100px 22px 130px; }.article-body .lead { font:500 28px/1.45 var(--serif); color:var(--ink); }.article-body h2 { font-size:36px; margin:55px 0 14px; }.article-body p { color:var(--muted); line-height:1.9; }.article-body blockquote { border-left:2px solid var(--gold); margin:45px 0; padding:12px 30px; font:500 28px/1.4 var(--serif); color:var(--sage); }
.space-materials { padding:115px 10vw; display:grid; grid-template-columns:1fr 1.1fr; gap:9vw; background:#f3f1ea; }.space-materials h2 { font-size:clamp(50px,6vw,80px); margin:0 0 22px; }.space-materials > div:first-child > p:last-child { color:var(--muted); line-height:1.8; max-width:390px; }.material-table { border-top:1px solid var(--line); }.material-table > div { display:grid; grid-template-columns:110px 1fr; gap:10px; padding:20px 0; border-bottom:1px solid var(--line); }.material-table span { color:var(--sage); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }.material-table strong { font:500 20px var(--serif); }.material-table small { grid-column:2; color:var(--muted); font-size:11px; }
.quick-quote { padding:95px 10vw; display:grid; grid-template-columns:1fr 1fr; gap:10vw; background:#cfc7b8; }.quick-quote h2 { font-size:clamp(48px,6vw,78px); margin:0 0 20px; }.quote-copy { color:#596158; max-width:330px; line-height:1.8; }.quick-quote form { display:flex; flex-direction:column; gap:17px; }.quick-quote label { color:var(--sage); text-transform:uppercase; letter-spacing:.1em; font-size:10px; }.quick-quote input,.quick-quote select,.quick-quote textarea { display:block; width:100%; border:0; border-bottom:1px solid rgba(32,37,31,.25); background:transparent; padding:10px 0; color:var(--ink); outline:0; resize:vertical; }.quick-quote button { border:0; align-self:flex-start; margin-top:8px; }.quote-success { align-self:center; padding:25px; }.quote-success h3 { font:500 38px var(--serif); margin:0 0 10px; }.quote-success p { color:var(--muted); }.floating-contact { position:fixed; z-index:30; right:24px; bottom:24px; display:flex; align-items:center; gap:9px; background:#244b35; color:#fff; border-radius:99px; padding:13px 17px; box-shadow:0 12px 30px rgba(18,44,27,.25); font-size:12px; transition:transform .2s, box-shadow .2s; }.floating-contact:hover { transform:translateY(-3px); box-shadow:0 18px 36px rgba(18,44,27,.33); }.social-links { display:flex; gap:18px; flex-wrap:wrap; color:rgba(238,240,232,.68); font-size:12px; }.social-links a:hover { color:white; }
@media(max-width:700px){ .article-grid { grid-template-columns:1fr; padding:55px 22px 80px; }.blog-hero { padding:95px 22px 70px; }.blog-hero h1 { font-size:58px; }.article-detail-hero { grid-template-columns:1fr; padding:50px 22px 70px; gap:35px; }.article-detail-hero h1 { font-size:50px; }.article-body { padding-top:70px; }.space-materials,.quick-quote { display:block; padding:80px 22px; }.space-materials h2,.quick-quote h2 { font-size:54px; }.material-table { margin-top:50px; }.quick-quote form { margin-top:45px; }.floating-contact { right:15px; bottom:15px; padding:12px 14px; }.floating-contact span { display:none; }.site-footer .social-links { margin-top:20px; } }

.nav-dropdown-wrap { position:relative; height:100%; display:flex; align-items:center; }
.nav-menu-trigger { display:flex; align-items:center; gap:5px; border:0; background:transparent; color:inherit; cursor:pointer; font:inherit; font-size:12px; letter-spacing:.06em; padding:14px 0; }
.nav-menu-trigger span { opacity:.82; }.nav-menu-trigger svg { transition:transform .2s; }.nav-menu-trigger svg.rotated { transform:rotate(180deg); }
.nav-dropdown { position:absolute; top:56px; left:50%; transform:translate(-50%,-8px); width:240px; padding:10px 0; background:#fff; color:var(--ink); box-shadow:0 18px 38px rgba(20,25,20,.16); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s, transform .18s, visibility .18s; }
.nav-dropdown.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.nav-dropdown a { display:flex; align-items:center; justify-content:space-between; padding:12px 18px; font-size:13px; border-left:3px solid transparent; transition:background .18s,border-color .18s; }.nav-dropdown a:hover { background:#f2eee4; border-left-color:#c5a22b; }.nav-dropdown a svg { opacity:.42; }
@media(max-width:700px){ .nav-dropdown-wrap { width:100%; display:block; }.nav-menu-trigger { width:100%; justify-content:space-between; padding:0; }.nav-dropdown { position:static; transform:none; width:100%; margin-top:12px; box-shadow:none; display:none; }.nav-dropdown.is-visible { display:block; opacity:1; visibility:visible; pointer-events:auto; }.nav-dropdown a { padding:10px 15px; } }

.product-showcase { padding:80px 10vw 20px; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; background:#f3f1ea; }.product-tile { background:#e5e1d7; display:grid; grid-template-columns:1fr 1fr; min-height:270px; }.product-tile-image { background-size:cover; background-position:center; min-height:270px; }.product-tile > div:last-child { padding:28px; align-self:center; }.product-tile h2 { font:500 27px/1.1 var(--serif); margin:0 0 10px; }.product-tile p:not(.eyebrow) { color:var(--muted); font-size:12px; margin:0; }.product-tile .text-link { margin-top:22px; }
@media(max-width:700px){ .product-showcase { display:block; padding:55px 22px 0; }.product-tile { grid-template-columns:1fr; margin-bottom:14px; }.product-tile-image { min-height:220px; }.product-tile > div:last-child { padding:22px; } }

.article-seo-title,.article-keywords { color:var(--sage); font-size:11px; letter-spacing:.06em; margin:0 0 8px; }.article-keywords { color:var(--muted); margin-bottom:35px; }.article-body section h2 { margin-top:48px; }.article-checklist { background:#e9e5da; padding:28px 32px; margin:50px 0; }.article-checklist h2 { margin:0 0 14px; font-size:30px; }.article-checklist ul { margin:0; padding-left:18px; color:var(--muted); line-height:1.9; }

.application-showcase { padding:80px 10vw 120px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; background:#f3f1ea; }.application-tile { position:relative; min-height:330px; overflow:hidden; display:flex; align-items:end; padding:24px; color:#fff; }.application-tile > div { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s cubic-bezier(.23,1,.32,1); }.application-tile:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(12,19,14,.7),transparent 62%); }.application-tile:hover > div { transform:scale(1.045); }.application-tile span,.application-tile svg { position:relative; z-index:1; }.application-tile span { font:500 28px var(--serif); }.application-tile svg { margin-left:auto; opacity:.8; }.contact-details { padding:105px 10vw; display:grid; grid-template-columns:1fr 1fr; gap:10vw; background:#dddcd3; }.contact-details h2 { font-size:clamp(48px,6vw,78px); margin:0 0 22px; }.contact-details p:not(.eyebrow) { color:var(--muted); max-width:390px; line-height:1.8; }.contact-detail-list { border-top:1px solid var(--line); }.contact-detail-list > div { display:grid; grid-template-columns:130px 1fr; gap:18px; padding:20px 0; border-bottom:1px solid var(--line); }.contact-detail-list span { color:var(--sage); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }.contact-detail-list strong,.contact-detail-list a { font:500 20px var(--serif); }.contact-detail-list a:hover { text-decoration:underline; }
@media(max-width:700px){ .application-showcase { display:block; padding:55px 22px 80px; }.application-tile { min-height:250px; margin-bottom:12px; }.contact-details { display:block; padding:80px 22px; }.contact-detail-list { margin-top:45px; }.contact-detail-list > div { grid-template-columns:1fr; gap:7px; } }

.catalog-layout { display:grid; grid-template-columns:240px 1fr; gap:46px; padding:55px 5vw 120px; background:#fff; align-items:start; }.catalog-sidebar { position:sticky; top:20px; border-top:1px solid var(--line); }.catalog-label { font-size:15px; padding:15px 0; margin:0; border-bottom:1px solid var(--line); }.catalog-group { border-bottom:1px solid var(--line); }.catalog-group button { width:100%; display:flex; justify-content:space-between; align-items:center; padding:16px 0; border:0; background:transparent; color:var(--ink); text-align:left; font:500 14px var(--sans); cursor:pointer; }.catalog-group a { display:block; padding:7px 0 7px 14px; color:var(--muted); font-size:12px; line-height:1.4; transition:color .18s; }.catalog-group a:hover { color:var(--sage); }.catalog-group:first-of-type button { color:var(--sage); }.catalog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px 18px; }.catalog-card { min-width:0; scroll-margin-top:30px; }.catalog-image { aspect-ratio:1 / 1; background:#f5f3ec center/cover no-repeat; margin-bottom:14px; transition:transform .35s, box-shadow .35s; }.catalog-card:hover .catalog-image { transform:translateY(-3px); box-shadow:0 12px 25px rgba(25,30,25,.12); }.catalog-card > p { margin:0 0 6px; color:var(--sage); font-size:10px; letter-spacing:.12em; }.catalog-card h2 { font:500 21px/1.2 var(--serif); margin:0 0 11px; }.catalog-link { color:var(--muted); font-size:11px; border-bottom:1px solid var(--line); padding-bottom:6px; }.catalog-link:hover { color:var(--ink); border-color:var(--ink); }
@media(max-width:800px){ .catalog-layout { display:block; padding:25px 22px 80px; }.catalog-sidebar { position:relative; top:auto; margin-bottom:35px; }.catalog-group a { display:none; }.catalog-group:first-of-type a { display:block; }.catalog-grid { grid-template-columns:repeat(2,1fr); gap:26px 12px; }.catalog-card h2 { font-size:18px; }.catalog-image { margin-bottom:10px; } }

.catalog-results { min-width:0; }.catalog-toolbar { display:grid; grid-template-columns:auto minmax(220px,1fr) auto; gap:24px; align-items:end; border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:24px; }.catalog-toolbar .catalog-label { border:0; padding:0 0 5px; text-transform:uppercase; color:var(--sage); font-size:10px; letter-spacing:.12em; }.catalog-toolbar strong { font:500 22px var(--serif); }.catalog-toolbar strong span { color:var(--muted); font:400 11px var(--sans); }.catalog-search { display:flex; border-bottom:1px solid var(--line); }.catalog-search input { min-width:0; width:100%; border:0; background:transparent; outline:0; padding:10px 0; font-size:13px; }.catalog-search button,.catalog-empty button { border:0; background:transparent; color:var(--sage); font-size:11px; cursor:pointer; }.catalog-filters { display:flex; gap:8px; }.catalog-filters select { border:1px solid var(--line); background:transparent; padding:10px 26px 10px 10px; color:var(--ink); font-size:11px; max-width:145px; }.catalog-image-wrap { position:relative; overflow:hidden; aspect-ratio:1; background:#f5f3ec; }.catalog-card .catalog-image { width:100%; height:100%; margin:0; }.catalog-hover { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:end; padding:16px; color:#fff; opacity:0; background:linear-gradient(0deg,rgba(20,29,22,.86),rgba(20,29,22,.1)); transition:opacity .22s; }.catalog-card:hover .catalog-hover { opacity:1; }.catalog-hover-image { position:absolute; inset:0; z-index:-1; background:center/cover; opacity:.35; transform:scale(1.05); }.catalog-hover span { font-size:12px; }.catalog-hover small { color:rgba(255,255,255,.72); font-size:10px; margin-top:5px; }.catalog-spec { color:var(--muted); display:block; font-size:10px; margin:-5px 0 6px; }.catalog-empty { padding:70px 20px; text-align:center; background:#f5f3ec; }.catalog-empty h2 { font-size:35px; }.catalog-empty p { color:var(--muted); }.catalog-empty button { border-bottom:1px solid var(--sage); padding-bottom:4px; }
@media(max-width:900px){ .catalog-toolbar { grid-template-columns:1fr; gap:14px; }.catalog-filters { flex-wrap:wrap; }.catalog-filters select { flex:1; max-width:none; } }

.inquiry-cart { position:fixed; z-index:25; top:18px; right:22px; display:flex; align-items:center; gap:8px; padding:10px 14px; color:#f7f5ee; background:var(--deep); border-radius:99px; box-shadow:0 8px 24px rgba(20,30,22,.2); font-size:11px; }.inquiry-cart b { min-width:19px; height:19px; display:grid; place-items:center; border-radius:50%; background:#d8b84b; color:var(--deep); font-size:10px; }.catalog-actions { display:flex; justify-content:space-between; align-items:center; gap:8px; }.inquiry-add { border:1px solid var(--line); padding:7px 8px; background:transparent; color:var(--sage); cursor:pointer; font-size:10px; white-space:nowrap; }.inquiry-add:hover { background:var(--deep); color:#fff; border-color:var(--deep); }.filter-toggle { display:none; border:1px solid var(--line); background:transparent; padding:9px 11px; color:var(--sage); font-size:11px; }.product-detail-page { min-height:100vh; background:var(--cream); }.product-detail-hero { padding:80px 10vw 105px; display:grid; grid-template-columns:1.05fr .95fr; gap:9vw; align-items:center; background:#e7e3d8; }.product-detail-image { aspect-ratio:1; background:#f8f7f1 center/cover no-repeat; }.product-detail-copy h1 { font-size:clamp(55px,7vw,98px); margin:15px 0 25px; }.product-detail-copy > p:not(.eyebrow) { max-width:430px; color:var(--muted); line-height:1.85; }.detail-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-top:30px; }.detail-actions button { cursor:pointer; border:0; }.detail-download { display:inline-flex; align-items:center; gap:8px; padding:13px 0; background:transparent; border-bottom:1px solid var(--line)!important; color:var(--ink); font-size:12px; }.product-spec-grid { padding:70px 10vw; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }.product-spec-grid > div { padding:25px; background:var(--cream); min-height:110px; }.product-spec-grid span { display:block; color:var(--sage); text-transform:uppercase; letter-spacing:.12em; font-size:10px; margin-bottom:12px; }.product-spec-grid strong { font:500 19px var(--serif); }.product-detail-notes { padding:120px 10vw; max-width:900px; }.product-detail-notes h2 { font-size:clamp(48px,6vw,80px); margin:0 0 28px; }.product-detail-notes > p:not(.eyebrow) { max-width:510px; color:var(--muted); line-height:1.85; margin-bottom:30px; }.selected-inquiry { margin-top:50px; padding:18px; background:#e8e3d7; }.selected-inquiry > span { display:block; color:var(--sage); font-size:10px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:12px; }.selected-inquiry > div { display:grid; grid-template-columns:58px 1fr 20px; gap:8px; align-items:center; border-top:1px solid var(--line); padding:10px 0; }.selected-inquiry strong { font-size:10px; color:var(--sage); }.selected-inquiry small { font-size:11px; }.selected-inquiry button { border:0; background:none; cursor:pointer; color:var(--muted); }
@media(max-width:700px){ .inquiry-cart { top:auto; bottom:22px; right:22px; }.inquiry-cart span { display:none; }.catalog-toolbar { grid-template-columns:1fr 1fr; }.catalog-toolbar > div:first-child { grid-column:1/-1; }.catalog-search { grid-column:1/-1; }.filter-toggle { display:inline-flex; align-items:center; justify-content:center; gap:6px; }.catalog-filters { display:none; grid-column:1/-1; }.catalog-filters.is-open { display:flex; }.catalog-filters select { width:100%; }.product-detail-hero { display:block; padding:35px 22px 75px; }.product-detail-image { margin-bottom:42px; }.product-detail-copy h1 { font-size:58px; }.product-spec-grid { grid-template-columns:1fr 1fr; padding:22px; }.product-spec-grid > div { padding:18px 13px; }.product-spec-grid strong { font-size:16px; }.product-detail-notes { padding:80px 22px; }.product-detail-notes h2 { font-size:52px; }.detail-actions { align-items:flex-start; flex-direction:column; }.catalog-actions { display:block; }.catalog-actions .inquiry-add { margin-top:8px; width:100%; }.selected-inquiry { margin-top:35px; } }

/* WordPress integration */
body.admin-bar .site-header{top:32px}.wp-site-blocks{padding:0}.site-header .main-nav{max-width:1000px}.main-nav a{opacity:.86}.product-description{color:var(--muted);line-height:1.85;margin-bottom:30px}.product-description p{margin-bottom:18px}.catalog-card[hidden],.catalog-empty[hidden]{display:none!important}.catalog-image-link{display:block}.application-tile b{position:relative;z-index:1;margin-left:auto;font-weight:400}.empty-inquiry{color:var(--muted);font-size:11px;margin:0}.selected-inquiry [data-selected-products]>div{display:grid;grid-template-columns:72px 1fr 24px;gap:8px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.selected-inquiry [data-selected-products] button{border:0;background:transparent;cursor:pointer}.content-section .wp-block-heading{font:500 35px var(--serif)}.article-body img{max-width:100%;height:auto}.article-body ul{color:var(--muted);line-height:1.9}.article-body .wp-block-heading{font-size:36px;margin:55px 0 14px}.woocommerce-notices-wrapper,.woocommerce-breadcrumb,.woocommerce-result-count,.woocommerce-ordering{display:none}.post-type-archive-product .content-header{position:relative}.single-product .content-header{position:relative}
@media(max-width:1100px){.site-header{height:auto;min-height:88px}.main-nav{gap:16px;font-size:10px;padding-right:105px}.inquiry-cart{top:20px}}
@media(max-width:700px){body.admin-bar .site-header{top:46px}.site-header .main-nav{padding-right:22px}.content-header .main-nav{position:absolute;top:74px;left:0;right:0;background:var(--deep);color:white;padding:26px 22px;z-index:20;flex-direction:column;align-items:flex-start}.content-header .main-nav.is-open{display:flex}.footer-links span{font-size:12px;color:rgba(238,240,232,.68)}.catalog-sidebar{max-height:215px;overflow:auto}.product-detail-image{background-size:contain}.selected-inquiry
 [data-selected-products]>div{grid-template-columns:65px 1fr 20px}}
@media(max-width:700px){.inquiry-cart{top:auto!important;bottom:22px!important;right:22px!important;width:auto!important;height:auto!important;min-height:0!important}.inquiry-cart span:not([data-inquiry-count]){display:none}.inquiry-cart b{flex:0 0 19px}.floating-contact{bottom:74px}}
