/* The catalogue shares the official typography and palette with the film site. */
.catalog-page{background:var(--paper)}.catalog-page [hidden]{display:none!important}
.library-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px var(--gutter);border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}
.library-header>a img{width:205px}.library-header nav{display:flex;align-items:center;gap:28px;font-size:12px}.library-header a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.library-header-right{display:flex;align-items:center;gap:30px}.library-header-right nav{gap:13px}.library-contact{padding:16px 20px;border:1px solid var(--line);font-size:12px}.library-contact span{margin-left:20px}
.library-shell{padding:32px var(--gutter) 90px;max-width:1800px;margin:auto}.library-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:28px}.library-breadcrumb a:hover{text-decoration:underline}.library-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;margin-bottom:32px}.library-intro h1{font-size:clamp(55px,5.3vw,80px);margin-top:12px}.library-intro h1 em{color:#8d6c3c}.library-intro p:not(.eyebrow){max-width:430px;line-height:1.85;color:var(--muted);font-size:14px}.library-edition{display:block;font-family:var(--label);letter-spacing:.1em;font-size:10px;margin-top:22px}
.library-categories{display:grid;grid-template-columns:repeat(5,1fr);border-block:1px solid var(--line);margin-bottom:24px}.library-categories a{position:relative;min-height:82px;padding:16px 18px;display:flex;justify-content:space-between;gap:20px;align-items:center;line-height:1.45;font-size:13px;border-right:1px solid var(--line)}.library-categories a:first-child{padding-left:0}.library-categories a:last-child{border-right:0}.library-categories a[aria-current=page]::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:3px;background:var(--gold)}.library-categories a[aria-current=page]{font-weight:600}.library-categories small{font-size:10px;opacity:.55}
.library-tools{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding-bottom:22px}.library-tools label{display:grid;gap:10px;font-size:11px}.library-search{flex:1;min-width:220px;max-width:400px}.library-tools input,.library-tools select{width:100%;height:46px;background:transparent;border:1px solid var(--line);padding:0 14px;border-radius:0;color:var(--ink)}.library-tools select{min-width:160px}.library-reset{font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:14px}.library-results-line{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:22px 0 28px}.library-results-line p{font-size:12px;color:var(--muted);line-height:1.6}.library-results-line h2{font-family:var(--sans);font-size:14px;letter-spacing:0;font-weight:400;line-height:1.5}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 30px}
.pattern-card{min-width:0}.pattern-picture{display:block;aspect-ratio:1.2;background:#eeeae1;overflow:hidden;position:relative}.pattern-picture img{height:100%;width:100%;object-fit:contain;padding:18px;transition:transform .45s}.pattern-picture:hover img{transform:scale(1.025)}.pattern-picture::after{content:'↗';position:absolute;right:13px;bottom:13px;font-size:18px;background:var(--paper);width:34px;height:34px;display:grid;place-items:center}.pattern-card-meta{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:18px 0 12px}.pattern-card h3{font-size:22px;font-family:var(--serif);font-weight:400;letter-spacing:0}.pattern-card-meta p{font-size:11px;color:var(--muted);text-align:right}.pattern-swatches{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.pattern-swatches button{width:34px;height:34px;padding:7px;border:1px solid transparent;border-radius:50%}.pattern-swatches button span{display:block;width:100%;height:100%;border-radius:50%;border:1px solid #0001;background:var(--swatch)}.pattern-swatches button[aria-pressed=true]{border-color:var(--ink)}.pattern-color-name{font-size:10px;color:var(--muted);margin:9px 0 0;min-height:14px}.library-more{display:block;border:1px solid var(--ink);padding:17px 38px;margin:50px auto 0;font-size:12px}.library-more:hover,.library-primary:hover{background:var(--gold);color:var(--ink)}.library-empty{padding:70px 20px;text-align:center;border:1px solid var(--line);grid-column:1/-1}.library-empty h2{font-size:36px}.library-empty p{margin:20px 0;line-height:1.7;color:var(--muted)}.library-loading{padding:120px var(--gutter);line-height:1.8}.library-stock-note{padding:20px 24px;border-left:2px solid var(--gold);background:#eeebe4;font-size:13px;line-height:1.8;margin-bottom:28px}
.pattern-detail{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,1fr);gap:clamp(30px,5vw,80px);align-items:start}.pattern-gallery{position:sticky;top:25px}.pattern-large{width:100%;height:min(66vw,670px);display:grid;place-items:center;position:relative;background:#ede9e0;padding:30px;cursor:zoom-in}.pattern-large img{object-fit:contain;width:100%;height:100%;min-height:0;max-height:610px}.pattern-large span{position:absolute;bottom:16px;right:18px;background:var(--paper);font-size:11px;padding:10px 14px}.pattern-image-caption{display:flex;justify-content:space-between;gap:20px;padding:15px 0;font-size:11px;line-height:1.6;color:var(--muted)}.pattern-info h1{font-size:clamp(52px,5.5vw,80px);margin:20px 0 12px;overflow-wrap:anywhere}.pattern-info .pattern-tone{font-size:18px;font-family:var(--serif);color:#85663d;margin-bottom:25px}.pattern-info>p{font-size:13px;line-height:1.85;color:var(--muted)}.pattern-variants{border:0;padding:0;margin:30px 0}.pattern-variants legend{font-size:12px;margin-bottom:15px;display:block}.pattern-variant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pattern-variant{border:1px solid var(--line);padding:7px;min-width:0;text-align:left}.pattern-variant img{width:100%;height:78px;object-fit:contain;background:#eeeae1}.pattern-variant span{display:block;font-size:10px;margin:9px 2px 3px;line-height:1.4}.pattern-variant[aria-pressed=true]{border:2px solid #91713f;padding:6px;background:#eee8de}.pattern-variant:hover{border-color:#91713f}.pattern-primary-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.library-primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--ink);color:var(--paper);padding:18px 24px;min-height:48px;font-size:12px;border:1px solid var(--ink)}.library-secondary{font-size:12px;border:1px solid var(--line);padding:15px}.pattern-facts{margin:28px 0 0;border-top:1px solid var(--line)}.pattern-facts div{display:flex;justify-content:space-between;gap:22px;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5}.pattern-facts dt{color:var(--muted)}.pattern-facts dd{margin:0;text-align:right}.pattern-note{margin-top:18px;font-size:10px!important;line-height:1.7!important}.pattern-status{min-height:22px;font-size:11px!important;margin-top:12px}.pattern-related{border-top:1px solid var(--line);margin-top:70px;padding-top:45px}.pattern-related-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.pattern-related h2{font-size:42px}.pattern-related-heading p{font-size:12px;color:var(--muted);max-width:300px;line-height:1.7}
.library-footer{background:var(--ink);color:var(--paper);padding:42px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:35px}.library-footer img{width:230px}.library-footer p,.library-footer>a:last-child{font-size:11px;line-height:1.8}
/* A visual entrance to the library within the cinematic home page. */
.catalog-teaser{background:var(--paper);color:var(--ink)}.catalog-teaser-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.catalog-teaser-intro p{max-width:340px;line-height:1.85;font-size:14px}.catalog-teaser-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.catalog-teaser-card{display:block;min-width:0}.catalog-teaser-card img{height:240px;object-fit:contain;background:#eae6de;padding:15px;transition:transform .4s}.catalog-teaser-card:hover img{transform:translateY(-5px)}.catalog-teaser-card span{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-top:18px;font-size:13px;line-height:1.5}.catalog-teaser-card small{display:block;margin-top:8px;font-size:10px;color:var(--muted)}
@media(min-width:1600px){.library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pattern-related .library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.library-header>nav{display:none}.library-header-right{gap:20px}.library-grid{gap:32px 20px}.library-intro{gap:30px}.pattern-detail{grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:30px}.catalog-teaser-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-teaser-card img{height:230px}.library-categories a{padding-inline:10px;font-size:11px;gap:8px}}
@media(max-width:760px){.library-header{min-height:80px;padding-block:20px}.library-header>a img{width:165px}.library-header-right .library-contact{display:none}.library-shell{padding-top:30px}.library-breadcrumb{margin-bottom:30px}.library-intro{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.library-intro h1{font-size:62px}.library-intro p:not(.eyebrow){max-width:530px}.library-categories{display:flex;overflow-x:auto;scrollbar-width:thin;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter)}.library-categories a{flex:0 0 155px;min-height:85px;padding:18px 14px;font-size:12px}.library-categories a:first-child{padding-left:0}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 15px}.library-tools{gap:15px}.library-tools select{min-width:140px}.library-search{max-width:none;min-width:180px}.library-tools label{flex:1}.library-results-line{align-items:start}.library-results-line p{text-align:right;font-size:11px}.pattern-picture{aspect-ratio:1}.pattern-picture img{padding:10px}.pattern-card-meta{display:block;margin:13px 0 8px}.pattern-card-meta p{text-align:left;margin-top:6px;font-size:10px}.pattern-card h3{font-size:23px}.pattern-swatches{gap:1px}.pattern-swatches button{width:32px;height:32px;padding:7px}.pattern-detail{grid-template-columns:1fr;gap:22px}.pattern-gallery{position:static}.pattern-large{height:440px;padding:20px}.pattern-large img{max-height:400px}.pattern-info h1{font-size:64px;margin-top:16px}.pattern-variant-grid{grid-template-columns:repeat(3,1fr)}.pattern-variant img{height:105px}.pattern-related-heading{display:block}.pattern-related-heading p{margin-top:18px}.pattern-related h2{font-size:38px}.library-footer{flex-direction:column;align-items:start;gap:24px}.catalog-teaser-intro{display:block}.catalog-teaser-intro p{margin-top:25px}.catalog-teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.catalog-teaser-card img{height:210px}.catalog-teaser-card span{font-size:12px}}
@media(max-width:400px){.library-header>a img{width:145px}.library-intro h1{font-size:52px}.library-tools label{flex-basis:100%}.library-grid{gap:26px 12px}.pattern-picture img{padding:7px}.pattern-swatches button{width:32px;height:32px}.pattern-large{height:340px}.pattern-large img{max-height:300px}.pattern-variant img{height:85px}.pattern-primary-row>*{width:100%}.catalog-teaser-card img{height:170px}}
@media(prefers-reduced-motion:reduce){.pattern-picture img,.catalog-teaser-card img{transition:none}}

.pattern-back{display:inline-block;margin:0 0 28px;font-size:12px;padding-block:8px;text-underline-offset:5px}.pattern-back:hover{text-decoration:underline}

@media(max-width:760px){.library-edition{display:none}.library-tools .library-search{flex-basis:100%}.library-tools label:not(.library-search){flex:1;min-width:0}.library-tools .library-reset{flex:0 0 auto}.library-intro{gap:16px}.library-breadcrumb{margin-bottom:22px}}

.pattern-card h3{overflow-wrap:anywhere}.library-empty h1{font-size:clamp(38px,6vw,64px)}

@media(max-width:760px){.library-categories{overflow-y:hidden}}

.pattern-code-review{border-left:2px solid var(--gold);padding:12px 15px;background:#eee8de;margin-bottom:18px;line-height:1.7;font-size:12px}

@media(max-width:760px){.library-shell:has(.library-intro) .library-breadcrumb{display:none}.library-intro>div:last-child{display:none}.library-intro{display:block}.library-shell:has(.library-intro){padding-top:24px}}

.content-video{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain;background:#191c21}.pattern-video{margin-top:24px}.content-video[hidden]{display:none}

/* Video embeds share the same image proportions and full-screen controls. */
.youtube-video{position:relative;width:100%;min-height:200px;aspect-ratio:16/9;background:#171b20;overflow:hidden}.youtube-video iframe{display:block;width:100%;height:100%;min-height:200px;border:0}.youtube-fallback{position:relative;display:block;padding:8px 12px;background:#252a32;color:#fff;font:12px/1.4 sans-serif;text-align:right}.youtube-video{padding-bottom:34px;box-sizing:content-box}.youtube-form{padding:24px;background:#efede6;border:1px solid #d8d4cb}.youtube-form h3{margin-top:0}.youtube-form [data-youtube-player]:not(:empty){margin-top:20px}.youtube-form .youtube-video{max-width:720px}.video-field .youtube-video{max-width:640px}.media-card:has(.youtube-video){align-self:start}
