.catalog-home { background:#241f1c; color:#f3efea; font-family:Arial,Helvetica,sans-serif; padding:64px 28px 72px; }
.catalog-home * { box-sizing:border-box; }
.catalog-shell { max-width:1160px; margin:auto; }
.catalog-home a { color:inherit; }
.catalog-home a:focus-visible { outline:2px solid #e5ccae; outline-offset:6px; }
.catalog-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; color:#bfb4aa; font-size:15px; margin-bottom:44px; }
.catalog-breadcrumb a { text-decoration:none; }
.catalog-kicker { color:#bfb4aa; font-size:13px; font-weight:700; letter-spacing:.16em; margin:0 0 20px; text-transform:uppercase; }
.catalog-title { font-size:clamp(42px,6.4vw,82px); line-height:1.03; font-weight:400; letter-spacing:-.04em; max-width:850px; margin:0; color:#f3efea; }
.catalog-intro { display:flex; align-items:end; justify-content:space-between; gap:28px; margin:28px 0 40px; }
.catalog-intro p { font-size:clamp(20px,2.3vw,26px); line-height:1.4; max-width:720px; color:#dfd8d0; margin:0; }
.catalog-intro a { font-size:16px; white-space:nowrap; text-underline-offset:6px; padding:10px 0; }
.catalog-cover { margin:0; }
.catalog-cover img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.catalog-cover figcaption { margin-top:12px; color:#bfb4aa; font-size:14px; }
.catalog-collection { margin-top:76px; scroll-margin-top:110px; }
.catalog-collection-head { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding-top:30px; border-top:1px solid #5d5047; }
.catalog-collection h2 { font-size:clamp(33px,4.2vw,52px); line-height:1.1; letter-spacing:-.025em; font-weight:400; margin:0; color:#f3efea; }
.catalog-collection-head span { font-size:14px; color:#bfb4aa; white-space:nowrap; }
.catalog-collection-lead { color:#bfb4aa; font-size:20px; line-height:1.45; max-width:680px; margin:18px 0 34px; }
.catalog-sample { display:grid; grid-template-columns:minmax(240px,.68fr) minmax(0,1fr); gap:clamp(32px,6vw,76px); padding:8px 0 48px; }
.catalog-sample-visual { display:block; }
.catalog-sample-photo { display:block; width:100%; aspect-ratio:4/5; }
.catalog-sample-copy { align-self:center; }
.catalog-sample-number { margin:0 0 16px; font-size:14px; font-weight:700; letter-spacing:.08em; color:#bfb4aa; }
.catalog-sample h3 { font-size:clamp(30px,3.5vw,44px); font-weight:400; letter-spacing:-.025em; line-height:1.12; color:#f3efea; margin:0 0 20px; }
.catalog-sample h3 a { text-decoration:none; }
.catalog-sample-text { margin:0; font-size:21px; line-height:1.5; color:#dfd8d0; max-width:560px; }
.catalog-sample dl { margin:26px 0; }
.catalog-sample dt { color:#bfb4aa; font-size:15px; margin-bottom:8px; }
.catalog-sample dd { color:#f3efea; font-size:23px; margin:0; }
.catalog-open { display:inline-flex; gap:36px; align-items:center; justify-content:space-between; border:1px solid #97897b; padding:17px 22px; text-decoration:none; font-size:17px; min-height:54px; }
.catalog-open:hover { background:#342d28; }
.catalog-media-note { margin:14px 0 0; color:#bfb4aa; font-size:14px; }
.catalog-help { border-top:1px solid #5d5047; margin-top:18px; padding-top:36px; display:flex; justify-content:space-between; align-items:center; gap:32px; }
.catalog-help h2 { font-size:clamp(26px,3vw,36px); font-weight:400; color:#f3efea; margin:0 0 12px; }
.catalog-help p { font-size:19px; line-height:1.45; color:#bfb4aa; margin:0; max-width:620px; }
.catalog-help a { flex-shrink:0; }
.catalog-color-note { margin:34px 0 0; color:#bfb4aa; font-size:14px; }
@media(max-width:700px) {
 .catalog-home { padding:32px 24px 48px; }
 .catalog-breadcrumb { font-size:14px; margin-bottom:32px; }
 .catalog-intro { display:block; margin:24px 0 30px; }
 .catalog-intro a { display:inline-block; margin-top:18px; }
 .catalog-cover img { aspect-ratio:4/3; }
 .catalog-collection { margin-top:48px; }
 .catalog-collection-head { align-items:start; flex-direction:column; gap:14px; }
 .catalog-collection-lead { font-size:19px; }
 .catalog-sample { grid-template-columns:1fr; gap:26px; }
 .catalog-sample-photo { aspect-ratio:1; }
 .catalog-help { align-items:start; flex-direction:column; gap:24px; }
 .catalog-open { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .catalog-home { scroll-behavior:auto; } }

.catalog-download-guide { border-top:1px solid #5d5047; padding-top:30px; margin:8px 0 40px; }
.catalog-download-guide h2 { color:#f3efea; font-size:clamp(26px,3vw,36px); line-height:1.2; font-weight:400; margin:0 0 18px; }
.catalog-download-guide p { max-width:880px; margin:12px 0 0; color:#bfb4aa; font-size:18px; line-height:1.55; }
