/* Shared by fresh app exports and the automated website refresh. */
/* Product reading: a full-width introduction, exact source sizes, and a compact aside. */
body.pattern-product-page .pattern-story{grid-template-columns:minmax(0,1fr) 240px;gap:28px 48px}
.pattern-product-page .pattern-story__heading{grid-column:1/-1;position:static;display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.pattern-product-page .pattern-story__heading .eyebrow{display:none}
.pattern-product-page .pattern-story__heading h2{max-width:none;font-size:30px;margin:0;line-height:1.2}
.pattern-product-page .pattern-story__heading>p:last-child{max-width:42ch;margin:0;font-size:12px}
.pattern-product-page .pattern-story__copy>p.pattern-copy__intro[data-product-prose],.pattern-product-page .pattern-story__copy>p.pattern-copy__note[data-product-prose]{max-width:76ch;margin:0 0 18px;padding:0;border:0;font-size:16px;line-height:1.75;color:var(--ink)}
.pattern-motifs{margin:26px 0 32px;padding:22px 0;border-block:1px solid var(--line)}
.pattern-motifs h3{font:600 23px/1.3 var(--display);margin:0 0 14px}
.pattern-product-page .pattern-motifs ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px;padding:0;margin:0;list-style:none}
.pattern-product-page .pattern-motifs li{padding:0 0 0 14px;margin:0;font-size:14px;line-height:1.55;position:relative;color:var(--muted)}
.pattern-product-page .pattern-motifs li:before{content:'•';position:absolute;left:0;top:0;width:auto;height:auto;border:0;transform:none;color:var(--link)}
.pattern-specifications__item--wide{grid-column:1/-1}
.pattern-product-page .pattern-specifications dt{letter-spacing:0;text-transform:none;font-size:13px;color:var(--muted)}
.pattern-product-page .pattern-specifications__item--table{border:0;padding:12px 0 20px}
.pattern-product-page .pattern-specifications__item--table dd{display:block}
.pattern-size-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left;line-height:1.55}
.pattern-size-table caption{text-align:left;font:600 19px/1.4 var(--display);color:var(--ink);padding:0 0 14px}
.pattern-size-table th,.pattern-size-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.pattern-size-table thead th{font-size:12px;font-weight:600;color:var(--muted);background:var(--soft)}
.pattern-size-table tbody th{font-weight:500;width:40%;color:var(--ink)}
.pattern-size-table td{font-variant-numeric:tabular-nums;white-space:nowrap}
.pattern-product-page .pattern-specifications .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1040px){body.pattern-product-page .pattern-story{grid-template-columns:minmax(0,1fr)}.pattern-product-page .pattern-story__heading{display:block}.pattern-product-page .pattern-story__heading>p:last-child{max-width:none;margin-top:10px}}
@media(max-width:600px){
 .pattern-product-page .pattern-story__heading h2{font-size:26px}
 .pattern-product-page .pattern-story__copy>p.pattern-copy__intro[data-product-prose],.pattern-product-page .pattern-story__copy>p.pattern-copy__note[data-product-prose]{font-size:15px}
 .pattern-product-page .pattern-motifs ul{grid-template-columns:1fr}
 .pattern-size-table,.pattern-size-table tbody{display:block}
 .pattern-size-table caption{display:block;font-size:19px}
 .pattern-size-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .pattern-size-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:14px 0;border-bottom:1px solid var(--line)}
 .pattern-size-table tbody th{grid-column:1/-1;width:auto;padding:0 0 4px;border:0}
 .pattern-size-table td{display:block;padding:0;border:0;white-space:normal;font-size:14px}
 .pattern-size-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;margin-bottom:3px}
}
.chart-sample{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,72px);align-items:center;margin:64px 0;padding:40px 0;border-block:1px solid var(--line)}
.chart-sample h2{font-family:var(--display);font-size:clamp(28px,3.4vw,44px);line-height:1.12;margin:12px 0 20px}
.chart-sample__copy>p:not(.eyebrow){max-width:40ch;font-size:15px;line-height:1.65;color:var(--muted)}
.chart-sample__copy>p.chart-sample__note{font-size:12px}
.chart-sample__copy>a{display:inline-block;margin-top:8px;font-size:13px;font-weight:650;color:var(--link)}
.chart-sample__examples{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.chart-sample figure{margin:0;min-width:0}
.chart-sample img{width:100%;height:auto;aspect-ratio:1;border-radius:8px;display:block;border:1px solid var(--line)}
.chart-sample figcaption{padding:12px 0;font-size:12px;font-weight:600;color:var(--ink)}
.filterbar__row{grid-template-columns:minmax(200px,1fr) minmax(145px,.5fr) minmax(145px,.5fr) auto}
.filterbar__row.has-category{grid-template-columns:minmax(240px,1fr) minmax(160px,.5fr) minmax(145px,.5fr) minmax(145px,.5fr) auto}
.filterbar__result{align-self:end;font-size:12px;white-space:nowrap}
.filterbar__result .filterbar__count{margin:0}
.filterbar__reset{padding:6px 0;border:0;background:none;color:var(--link);font:inherit;cursor:pointer;text-decoration:underline;min-height:28px}
.filterbar__reset:disabled{opacity:.45;cursor:default}
.set-bonus__preview{display:block;width:100%;padding:0;border:0;background:none;color:inherit;cursor:zoom-in;position:relative}
.set-bonus__preview>img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.set-bonus__preview>span{position:absolute;bottom:12px;right:12px;padding:6px 10px;border-radius:20px;background:#12122cdb;color:#fff;font-size:12px}
.mobile-purchase{display:none}
.pattern-preview-note{grid-column:1/-1;display:flex;align-items:baseline;gap:10px;margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.pattern-preview-note strong{white-space:nowrap;font-weight:600;color:var(--ink)}
.guide-project{display:flex;align-items:center;gap:24px}
.guide-project__image{flex:0 0 160px;align-self:flex-start}
.guide-project__image img{display:block;width:160px;height:160px;object-fit:cover;border-radius:8px}
.guide-project__name{font-weight:650;color:var(--ink)}
.guide-project__name small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}
.guide-project__collection{display:block;width:fit-content;margin-top:16px;text-underline-offset:4px}
.set-scope-note{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0 20px}
.set-details-link{display:inline-block;font-size:13px;color:var(--link);margin:12px 0 0;text-underline-offset:4px}
.set-description{margin-top:56px;scroll-margin-top:110px}
.set-contents__head h2{font-size:clamp(26px,3vw,38px)}
.set-description__section{display:grid;grid-template-columns:minmax(160px,.32fr) minmax(0,1fr);gap:32px;padding:24px 0;border-top:1px solid var(--line)}
.set-description__section h3{font-family:var(--display);font-size:23px;margin:0;line-height:1.3}
.set-description__text{max-width:78ch;font-size:15px;line-height:1.7;color:var(--muted)}
.set-description__text p{margin:0 0 14px}
.set-description__text p:last-child{margin-bottom:0}
.set-description__text ul,.set-description__text ol{padding-left:22px;margin:12px 0}
.set-description__text li{padding-left:6px;margin-bottom:9px}
.set-description__text li::marker{color:var(--link)}
.set-description__text a{color:var(--link);text-underline-offset:4px}
.set-description__section--files{background:color-mix(in srgb,var(--link) 5%,var(--paper));padding:28px;border-block:1px solid var(--line)}
.set-description__section--files ul{columns:2;column-gap:32px}
.set-description__section--files li{break-inside:avoid}
.home-collections__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 20px}
.home-collections__grid>a{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:12px;font-weight:650;line-height:1.4}
.home-collections__grid img{width:64px;height:64px;object-fit:cover;border-radius:6px;flex:none}
.home-collections__grid small{display:block;margin-top:5px;font-size:10px;font-weight:400;color:var(--muted)}
.home-collections__grid>a:hover{color:var(--link)}
@media(max-width:1100px){.home-collections__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filterbar__row,.filterbar__row.has-category{grid-template-columns:repeat(2,minmax(0,1fr))}.filterbar__field--search{grid-column:1/-1}}
@media(max-width:720px){
 .pattern-preview-note{display:block;font-size:11px;margin-top:10px}
 .pattern-preview-note strong{margin-right:7px}
 .guide-project{display:block}
 .guide-project__image{float:right;margin:0 0 12px 16px}
 .guide-project__image img{width:80px;height:80px}
 .guide-project>div:after{content:'';display:block;clear:both}
 .set-description{margin-top:36px}
 .set-description__section{grid-template-columns:1fr;gap:14px;padding:22px 0}
 .set-description__section--files{padding:22px 18px}
 .set-description__section--files ul{columns:1}
 .chart-sample{grid-template-columns:1fr;gap:22px;margin:36px 0;padding:26px 0}
 .chart-sample__copy>p:not(.eyebrow){max-width:none}
 .chart-sample h2 br{display:none}
 .chart-sample__examples{gap:12px}
 .filterbar__row,.filterbar__row.has-category{gap:12px}
 .home-collections__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
 .home-collections__grid img{width:48px;height:48px}
 .home-collections__grid>a{font-size:11px;gap:8px}
 .mobile-purchase:not([hidden]){position:fixed;display:flex;align-items:center;justify-content:space-between;gap:12px;bottom:0;left:0;right:0;z-index:35;padding:10px max(16px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -4px 22px #00000010}
 .mobile-purchase__price{display:grid;font-size:19px;font-weight:700;line-height:1.25}
 .mobile-purchase__price small{font-size:10px;font-weight:500;color:var(--muted)}
 .mobile-purchase .btn-buy{min-height:44px;padding:12px 18px;font-size:13px;white-space:nowrap}
 body.has-mobile-purchase{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 body:has(dialog[open]) .mobile-purchase{display:none}
}
