:root{--ink:#242526;--brown:#674b39;--tan:#c59b77;--line:#dcdad7;--paper:#f8f8f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ae8058;outline-offset:5px}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper)}.brand{font:26px Georgia,serif;letter-spacing:.14em}.brand span{display:block;text-align:center;font:10px/2 Arial,sans-serif;letter-spacing:.45em}header nav{display:flex;gap:36px;font-size:14px}.headercontact{border-bottom:1px solid var(--ink);font-size:14px;padding:5px 0}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:var(--ink);color:white}.hero-copy{padding:64px 10% 64px}.eyebrow{font-size:12px;letter-spacing:.19em;margin:0 0 24px}.hero .eyebrow{color:var(--tan)}h1{font:clamp(50px,5.5vw,84px)/1.06 Georgia,serif;margin:0 0 25px;letter-spacing:-.035em}h1 em{font-weight:normal;color:var(--tan)}.hero-desc{color:#ddd9d5;max-width:360px;margin:0 0 35px;font-size:16px}.primary{display:inline-block;background:var(--brown);color:white;padding:15px 25px;font-size:14px;border:1px solid #b68b68}.hero .primary{background:var(--tan);color:#202020;border-color:var(--tan)}.primary:hover{filter:brightness(1.12)}.hero-product{background:#765740;display:flex;flex-direction:column;justify-content:center;padding:55px 9% 30px}.hero-image{background:white;aspect-ratio:1;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:contain}.hero-caption{display:flex;justify-content:space-between;padding-top:20px;font-size:12px;letter-spacing:.15em;color:#eee3d9}.catalog{padding:70px 5% 30px}.catalog-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.catalog-intro .eyebrow{color:var(--brown);margin-bottom:10px}h2{font:36px/1.2 Georgia,serif;margin:0}.catalog-intro>p{text-align:right;color:#666;font-size:14px;margin:0}.categorynav{display:flex;flex-wrap:wrap;gap:10px 28px;padding:18px 0 22px;border-bottom:1px solid var(--line);font-size:14px}.categorynav a:hover{color:var(--brown)}.category{padding-top:48px}.sectionhead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}.sectionhead h2{font-size:29px}.sectionhead span{color:#696969;font-size:14px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px}.photo{display:block;aspect-ratio:1;background:white;overflow:hidden;border:1px solid #efeeec}.photo img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.photo:hover img{transform:scale(1.05)}.cardinfo{padding:16px 0}.sku{font-size:12px;color:#78716b;letter-spacing:.07em}.card h3{font-size:16px;font-weight:500;margin:6px 0 3px}.color{font-size:14px;color:#75716d;margin:0 0 15px}.purchase{border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.purchase span{color:#6c645e}.purchase a{color:var(--brown);border-bottom:1px solid #997254;padding:2px 0}.contact{background:var(--ink);color:white;padding:55px 5%;display:flex;justify-content:space-between;gap:30px;margin-top:35px}.contact .eyebrow{color:var(--tan)}.contact h2{font-size:40px}.contact p:not(.eyebrow){max-width:490px;color:#c9c7c5}.contactlinks{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:18px}.contact .primary{background:var(--tan);color:var(--ink)}.phone{font-size:20px;letter-spacing:.06em}footer{padding:30px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:#6a645f}.footerbrand{font:19px Georgia,serif;letter-spacing:.13em;color:var(--ink)}@media(min-width:1600px){main,header,footer{max-width:1600px;margin:auto}}@media(max-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy{padding:45px 9%}.hero-product{padding:35px 8%}.hero{min-height:520px}.purchase{font-size:12px}}@media(max-width:700px){header{height:80px;padding:0 5%}.brand{font-size:19px}header nav{display:none}.brand span{font-size:9px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:40px 6%}.hero-copy h1 br:nth-child(2){display:none}h1{font-size:57px}.hero-desc{max-width:420px}.hero-product{padding:25px 12% 22px}.hero-image{max-height:350px;aspect-ratio:1;width:100%;margin:auto}.hero-caption{font-size:12px}.catalog{padding:42px 5% 20px}.catalog-intro{align-items:start;gap:20px}.catalog-intro h2{font-size:29px}.catalog-intro>p{display:none}.categorynav{gap:12px 20px;font-size:14px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.sectionhead h2{font-size:25px}.sectionhead span{font-size:12px}.card h3{font-size:14px}.sku{font-size:12px}.purchase{align-items:start;flex-direction:column;font-size:14px}.color{font-size:12px}.contact{flex-direction:column;padding:40px 6%}.contact h2{font-size:34px}footer{flex-wrap:wrap;justify-content:start;gap:15px 28px}.category{padding-top:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

.hero-product.lifestyle{position:relative;padding:0;min-height:600px;overflow:hidden}.lifestyle .hero-image{position:absolute;inset:0;aspect-ratio:auto;background:#493a30}.lifestyle .hero-image img{object-fit:cover;object-position:center 52%}.lifestyle .hero-caption{position:absolute;bottom:0;left:0;right:0;padding:45px 30px 24px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:white}@media(max-width:1000px){.hero-product.lifestyle{min-height:520px}}@media(max-width:700px){.hero-product.lifestyle{min-height:530px}.lifestyle .hero-image{max-height:none;width:100%;margin:0}.lifestyle .hero-image img{object-position:center 55%}}
.hero-product.lifestyle{aspect-ratio:4/5;min-height:0}.lifestyle .hero-image img{object-fit:contain;object-position:center}.lifestyle .hero-image{background:#242526}@media(max-width:1000px){.hero-product.lifestyle{min-height:0}}@media(max-width:700px){.hero-product.lifestyle{min-height:0;aspect-ratio:4/5}.lifestyle .hero-image img{object-position:center}}


/* Comfortable touch targets without changing the catalog layout. */
.headercontact,.categorynav a,.purchase a{min-height:44px;display:inline-flex;align-items:center}
.categorynav a{padding:8px 0}
.cardinfo{min-width:0}.card h3{overflow-wrap:anywhere}
@media(max-width:360px){header{gap:12px}.brand{font-size:17px;letter-spacing:.12em}.headercontact{flex-shrink:0}}

/* Product details retain the catalog's quiet, warm-toned editorial style. */
.details-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin:-7px 0 9px;font-size:13px;color:var(--brown);text-decoration:underline;text-underline-offset:4px}
.details-link span{font-size:16px;text-decoration:none}
button{font:inherit}
button:focus-visible,.product-image-viewport:focus-visible{outline:3px solid #ae8058;outline-offset:4px}
html.product-dialog-open{overflow:hidden;scrollbar-gutter:stable}
.product-dialog,.product-image-dialog{padding:0;border:1px solid var(--line);color:var(--ink);background:var(--paper);overscroll-behavior:contain;box-shadow:0 24px 100px #0005}
.product-dialog:not([open]),.product-image-dialog:not([open]){display:none}
.product-dialog::backdrop,.product-image-dialog::backdrop{background:rgba(22,20,18,.72)}
.product-dialog{width:min(1080px,calc(100% - 48px));max-width:none;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);margin:auto;overflow:auto}
.product-dialog-topline{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 20px;background:var(--paper);border-bottom:1px solid var(--line)}
.product-back,.dialog-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--ink);background:transparent;border:0;cursor:pointer}
.product-back{gap:10px;padding:0 8px;font-size:13px}
.product-back:hover,.dialog-close:hover{color:var(--brown);background:#eeece9}
.dialog-close{font:30px/1 Arial,sans-serif;padding:0 10px;flex-shrink:0}
.product-layout{display:grid;grid-template-columns:1.08fr 1fr;min-width:0}
.product-visual{display:flex;align-items:center;justify-content:center;min-width:0;background:#fff;border-right:1px solid var(--line)}
.product-image-button{position:relative;display:block;width:100%;padding:18px 18px 55px;border:0;background:white;cursor:zoom-in}
.product-image-button img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.product-image-hint{position:absolute;bottom:18px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#6c645e}
.product-image-hint>span{font-size:18px}
.product-information{min-width:0;padding:40px 36px 28px}
.product-information .eyebrow{margin-bottom:16px;color:var(--brown);font-size:11px;letter-spacing:.18em}
.product-information h2{font-size:clamp(28px,3vw,39px);line-height:1.14;overflow-wrap:anywhere}
.product-reference{margin:13px 0 0;font-size:12px;letter-spacing:.045em;color:#746b64}
.product-price{font-size:25px;line-height:1.3;margin:29px 0 24px;color:var(--ink)}
.product-specifications{margin:0;border-top:1px solid var(--line)}
.product-specifications>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.product-specifications dt{color:#746b64}
.product-specifications dd{margin:0;overflow-wrap:anywhere}
.product-specification-note{font-size:12px;color:#746b64;margin:17px 0 0;line-height:1.6}
.product-actions{margin-top:30px}
.product-order{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px 18px}
.product-actions>p{margin:12px 0 0;font-size:12px;line-height:1.6;color:#746b64}
.product-image-dialog{width:min(1120px,calc(100% - 32px));max-width:none;height:calc(100vh - 32px);height:calc(100dvh - 32px);max-height:none;margin:auto;background:white;overflow:hidden}
.product-image-dialog[open]{display:flex;flex-direction:column}
.image-dialog-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:8px 15px 8px 22px;border-bottom:1px solid var(--line)}
.image-dialog-topline p{font-size:13px;margin:0;overflow-wrap:anywhere;line-height:1.5}
.product-image-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:white}
.product-image-viewport img{display:block;width:100%;height:100%;object-fit:contain;margin:auto}
.product-image-viewport.is-zoomed img{width:max(1000px,150%);height:auto;max-width:none;object-fit:initial;margin:0}
.image-dialog-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:9px 18px;border-top:1px solid var(--line);background:var(--paper)}
.image-dialog-controls button{border:0;background:transparent;color:var(--brown);min-height:44px;padding:8px 4px;cursor:pointer;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.image-dialog-controls button:hover{color:var(--ink)}
@media(max-width:760px){
 .product-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}
 .product-dialog-topline{padding:5px 10px}
 .product-layout{grid-template-columns:1fr}
 .product-visual{border-right:0;border-bottom:1px solid var(--line)}
 .product-image-button{padding:10px 20px 42px}
 .product-image-button img{width:100%;height:min(48vh,380px);height:min(48dvh,380px);aspect-ratio:auto}
 .product-image-hint{bottom:12px}
 .product-information{padding:25px 23px 26px}
 .product-information h2{font-size:32px}
 .product-information .eyebrow{margin-bottom:12px}
 .product-price{margin:23px 0 21px}
 .product-actions{margin-top:25px}
 .product-image-dialog{width:calc(100% - 16px);height:calc(100vh - 16px);height:calc(100dvh - 16px)}
 .image-dialog-topline{padding-left:15px}
 .image-dialog-controls{padding:7px 13px;gap:10px}
}
@media(max-width:360px){
 .product-information{padding:23px 18px}
 .product-information h2{font-size:29px}
 .product-specifications>div{grid-template-columns:76px minmax(0,1fr);gap:10px;font-size:13px}
 .image-dialog-controls button{font-size:12px}
}

/* Progressive catalog search: the full collection remains usable without JS. */
[hidden]{display:none!important}
.catalog-search{max-width:680px;margin:0 0 18px}
.catalog-search label{display:block;margin:0 0 10px;font-size:14px;color:var(--brown)}
.catalog-search-field{display:flex;gap:12px;align-items:center;border-bottom:1px solid #9b928a;padding-bottom:4px}
.catalog-search input{min-width:0;width:100%;min-height:48px;border:0;border-radius:0;background:transparent;color:var(--ink);font:16px/1.5 Arial,sans-serif;padding:10px 4px;-webkit-appearance:none;appearance:none}
.catalog-search input::placeholder{color:#746b64;opacity:1}
.catalog-search input:focus-visible{outline:2px solid #ae8058;outline-offset:2px}
.catalog-search button{min-height:44px;border:0;background:transparent;color:var(--brown);padding:8px 6px;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;flex-shrink:0}
.catalog-search p{font-size:12px;color:#746b64;margin:10px 0 0;min-height:18px}
.catalog-empty{padding:24px 20px;border:1px solid var(--line);font-size:14px;max-width:680px}
@media(max-width:360px){.catalog-search-field{gap:6px}.catalog-search input{font-size:16px}.catalog-search button{font-size:12px;padding-inline:2px}}
