/* WordPress collections on the designer's September 2026 visual system. */
.designer-collections { --muted:#5c5467; }
.designer-collections .page-title { overflow-wrap: anywhere; }
.designer-collections .breadcrumbs { margin-bottom:24px; color:#d8d2df; font-size:12px; }
.designer-collections .breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.designer-collections .breadcrumbs li { display:flex; gap:8px; }
.designer-collections .breadcrumbs li + li::before { content:'/'; opacity:.55; }
.designer-collections .breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.designer-collections .collection-hero-links { display:flex; flex-wrap:wrap; gap:16px 30px; margin-top:32px; font-size:14px; }
.collection-hero-links a { color:inherit; text-decoration:underline; text-underline-offset:5px; }
.collection-section-heading { margin-bottom:46px; }
.collection-section-heading .section-title { margin-bottom:25px; }
.collection-count { margin-bottom:20px; }
.collection-empty { padding:32px; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); }
.collection-empty h2 { font-family:Manrope,sans-serif; font-size:clamp(28px,4vw,44px); line-height:1.15; }
.collection-empty p { color:var(--muted); }
.collection-tools { margin-bottom:46px; }
.designer-collections .archive-filters { display:flex; flex-wrap:wrap; gap:8px; width:auto; max-width:none; margin:0 0 46px; }
.designer-collections .archive-filters a { padding:10px 16px; color:var(--ink); background:transparent; border:1px solid var(--line); border-radius:999px; font-size:14px; text-decoration:none; }
.designer-collections .archive-filters a:hover,.designer-collections .archive-filters a[aria-current] { color:var(--white); background:var(--ink); border-color:var(--ink); }
.designer-collections .pagination { margin-top:64px; }
.designer-collections .pagination .nav-links,.designer-collections .page-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.designer-collections .page-numbers,.designer-collections .page-links a,.designer-collections .page-links .current { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; padding:10px 14px; border:1px solid var(--line); border-radius:10px; background:var(--white); color:var(--ink); font-size:14px; text-decoration:none; }
.designer-collections .page-numbers.current,.designer-collections .page-links .current { background:var(--ink); color:var(--white); border-color:var(--ink); }
.designer-collections .page-numbers:hover { border-color:var(--brand); }
.designer-collections .page-numbers.dots { border:0; background:transparent; }
.designer-search { max-width:620px; }
.designer-search label { display:block; margin-bottom:8px; font-size:13px; font-weight:600; }
.designer-search .search-form__controls { display:flex; gap:10px; }
.designer-search input { width:100%; min-width:0; min-height:50px; padding:12px 16px; color:var(--ink); background:var(--white); border:1px solid var(--line); border-radius:10px; }
.designer-search button { flex-shrink:0; min-width:76px; padding:12px 18px; color:var(--white); background:var(--ink); border:1px solid currentColor; border-radius:10px; cursor:pointer; }
.designer-search input:focus { outline:3px solid var(--lilac); outline-offset:2px; }
.page-hero .designer-search { margin-top:32px; }
.page-hero .designer-search button { color:var(--ink); background:var(--white); border-color:var(--white); }
.designer-collections .not-found .page-hero,.not-found.designer-collections .page-hero { min-height:100svh; }
.not-found .button-row { margin-top:32px; }
.blog-featured .insight-meta { color:#eee4ff; gap:14px; }
.blog-featured-content p { color:#eee4ff; }
.article-card { display:flex; flex-direction:column; min-width:0; }
.article-card .article-meta { gap:14px; color:#5c5467; }
.article-card h3 { margin-bottom:24px; font-family:Manrope,sans-serif; font-size:28px; font-weight:500; letter-spacing:-.04em; line-height:1.12; }
.article-card .text-link { align-self:flex-start; margin-top:auto; }
.article-card:nth-child(4n + 4) .article-meta { color:#d8d2df; }
.designer-collections .article-hero .page-title { font-size:clamp(48px,8vw,112px); }
.article-dates { margin:24px 0 0; color:#d8d2df; font-size:14px; }
.article-cover { margin-top:70px; text-align:center; }
.article-cover img { display:block; width:auto; max-width:min(100%,760px); max-height:650px; margin:auto; border-radius:var(--radius); object-fit:contain; }
.article-aside .article-toc { margin:0; padding:0; border:0; background:none; font-size:13px; }
.article-aside .article-toc :is(h2,h3,strong) { display:block; margin:0 0 14px; color:var(--ink); font-family:inherit; font-size:13px; font-weight:700; }
.article-aside ul,.article-aside ol { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.article-aside a { display:inline-block; overflow-wrap:anywhere; }
.article-aside a:hover { color:var(--brand); }
.article-aside a:focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
.article-body { min-width:0; overflow-wrap:anywhere; }
.article-body h2 { margin:64px 0 20px; font-size:36px; letter-spacing:-.04em; line-height:1.15; }
.article-body h3 { margin:44px 0 16px; font-size:25px; }
.article-body blockquote { margin:55px 0; padding:35px 0 35px 32px; background:transparent; color:var(--brand); border-left:3px solid var(--brand); font-size:27px; line-height:1.35; }
.article-body ul,.article-body ol { margin:24px 0; padding-left:1.4em; color:#4d474e; }
.article-body li + li { margin-top:10px; }
.article-body a { color:var(--brand-dark); text-decoration:underline; text-underline-offset:3px; }
.article-body img { max-width:100%; height:auto; }
.article-body iframe,.article-body video { max-width:100%; }
.article-body table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.article-body td,.article-body th { min-width:9rem; padding:12px; border:1px solid var(--line); text-align:left; overflow-wrap:normal; word-break:normal; }
.article-body table:focus-visible { outline:3px solid var(--brand); outline-offset:4px; }
.article-body .table-scroll-hint { margin:24px 0 8px; color:var(--muted); font-size:14px; }
.article-body .table-scroll-hint[hidden] { display:none; }
.article-body h2,.article-body h3 { scroll-margin-top:120px; }
.entry-content :is(h2,h3).grimor-empty-heading { margin-block:0; padding-block:0; min-height:0; font-size:0; line-height:0; }
.article-body pre { overflow:auto; padding:20px; background:var(--paper-2); }
.portfolio-card__link { display:block; height:100%; }
.portfolio-card__link:focus-visible { outline:3px solid var(--brand); outline-offset:7px; border-radius:var(--radius); }
/* A project without source photography has an intentional text card. */
.portfolio-card--text .portfolio-card__link { display:flex; min-height:280px; padding:28px; color:var(--ink); background:#f1eafb; border:1px solid var(--line); border-radius:var(--radius); }
.portfolio-card--text .portfolio-meta { align-self:stretch; align-items:flex-end; width:100%; padding:0; margin:0; gap:18px; }
.portfolio-card--text .portfolio-meta h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; overflow-wrap:anywhere; }
.portfolio-card--text .grimor-icon-arrow { color:var(--brand); }
.portfolio-card--text .portfolio-card__link:hover { background:#e8ddf9; }
@media(max-width:600px) { .portfolio-card--text .portfolio-card__link { min-height:230px; padding:24px; } }
/* Revision: show the project image itself, without an added colored frame. */
.portfolio-card:nth-child(n) .portfolio-image { padding:0; border:0; background:transparent; }
.portfolio-card .portfolio-image img { display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; border-radius:0; box-shadow:none; }
.portfolio-card__link:hover .portfolio-image img { filter:brightness(1.03); }
.project-detail__cover { display:flex; flex-direction:column; align-items:center; margin:0; padding:clamp(24px,5vw,70px); border-radius:var(--radius); background:var(--lilac); }
.project-detail__cover a { max-width:100%; }
.project-detail__cover a:focus-visible { outline:3px solid var(--brand-dark); outline-offset:6px; border-radius:8px; }
.project-detail__cover img { display:block; width:auto; max-width:min(100%,var(--project-image-width)); height:auto; margin:auto; border-radius:8px; }
.project-detail__cover figcaption { margin-top:24px; color:#4d474e; text-align:center; font-size:13px; }
.project-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.4fr); gap:clamp(32px,7vw,100px); }
.project-overview--facts-only { grid-template-columns:1fr; }
.project-facts { margin:0; }
.project-facts > div { padding:24px 0; border-bottom:1px solid var(--line); }
.project-facts > div:first-child { padding-top:0; }
.project-facts dt { margin-bottom:8px; color:var(--muted); font-size:13px; }
.project-facts dd { margin:0; font-size:18px; }
.project-facts ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.project-facts a { text-decoration:underline; text-underline-offset:4px; }
.project-archive-content > p { max-width:790px; margin-bottom:36px; color:var(--muted); font-size:18px; }
.reference-directory { background:var(--paper-2); }
.reference-directory .section-title .accent { color:var(--brand); }
.directory-count { margin:0 0 24px; color:var(--muted); font-size:13px; }
.reference-directory .reference-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
.reference-directory .reference-card { min-width:0; padding:24px 18px; background:var(--white); border:1px solid var(--line); border-radius:16px; text-align:center; }
.reference-directory .reference-card a,.reference-directory .reference-static { display:flex; height:100%; flex-direction:column; align-items:center; justify-content:center; gap:18px; }
.reference-directory .reference-card a:focus-visible { outline:3px solid var(--brand-dark); outline-offset:5px; border-radius:4px; }
.reference-directory .reference-card img { display:block; width:auto; max-width:100%; height:75px; max-height:100px; margin:0 auto 12px; object-fit:contain; }
.reference-logo-filters { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.reference-logo-purple { flood-color:var(--brand,#6732d1); }
.reference-directory .reference-card img { filter:url(#grimor-reference-black); }
.reference-directory .reference-card:focus-within img { filter:url(#grimor-reference-purple); }
@media(hover:hover) {
  .reference-directory .reference-card:hover img { filter:url(#grimor-reference-purple); }
}
/* Imported 190 × 180 sprites put the normal 190 × 90 logo above its hover frame. */
.reference-directory .reference-card img[width="190"][height="180"] { width:100%; max-width:190px; height:auto; max-height:none; aspect-ratio:190 / 90; object-fit:cover; object-position:center top; }
/* Keep names available to assistive technology while showing only the logos. */
.reference-directory .reference-domain { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.reference-directory .reference-card[hidden] { display:none; }
.reference-directory__content > p { max-width:790px; color:var(--muted); }
@media(max-width:1020px) {
  .article-shell > .article-aside--related:last-child { display:block; grid-column:2; position:static; border-top:1px solid var(--line); padding-top:24px; }
  .reference-directory .reference-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(min-width:761px) {
  .article-aside--index { max-height:calc(100vh - 144px); max-height:calc(100dvh - 144px); overflow-y:auto; overscroll-behavior:contain; padding-right:8px; }
}
@media(max-width:760px) {
  .designer-collections .collection-hero-links { gap:14px 24px; }
  .designer-collections .article-hero .page-title { font-size:clamp(44px,12vw,84px); }
  .designer-collections .article-shell { grid-template-columns:1fr; }
  .article-shell > .article-aside--index { display:block; position:static; padding:24px; background:var(--paper-2); border-radius:var(--radius); }
  .article-shell > .article-aside--related:last-child { grid-column:1; }
  .article-cover { margin-top:40px; }
  .article-body h2 { font-size:30px; }
  .article-body blockquote { font-size:23px; padding-left:22px; }
  .project-overview { grid-template-columns:1fr; }
  .reference-directory .reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .reference-directory .reference-card { padding:20px 14px; }
  .designer-collections .pagination { margin-top:40px; }
}
@media(prefers-reduced-motion:reduce) { .article-card,.portfolio-image img { transition:none; } }

/* Match the complete page to the amount and size of its saved content. */
.collection-more { margin-top:44px; }
.collection-more .button { color:var(--white); background:var(--ink); }
.collection-more .button > span { display:none; }
.portfolio-grid--selected,.portfolio-grid--catalogue,.project-archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:58px 24px; }
.portfolio-grid--selected .portfolio-meta h2,.portfolio-grid--catalogue .portfolio-meta h2,.project-archive-grid .portfolio-meta h2 { font-size:clamp(24px,3vw,36px); line-height:1.2; }
.portfolio-grid--selected .portfolio-image,.portfolio-grid--catalogue .portfolio-image,.project-archive-grid .portfolio-image { aspect-ratio:16 / 11; }
.project-archive-grid .portfolio-meta p { font-size:16px; }
/* Older Local content uses a saved image list. Keep its layout consistent too. */
ul.project-archive-grid { margin:0; padding:0; list-style:none; }
.project-archive-grid > .reference-card { min-width:0; padding:0; border:0; background:transparent; }
.project-archive-grid > .reference-card a { display:block; }
.project-archive-grid > .reference-card img { display:block; width:100%; height:auto; aspect-ratio:16 / 11; margin-bottom:21px; object-fit:cover; border-radius:var(--radius); }
.project-archive-grid > .reference-card .reference-domain { display:block; font:500 clamp(24px,3vw,36px)/1.2 Manrope,sans-serif; letter-spacing:-.04em; }
/* The home selection uses the same image-first, two-column presentation. */
.designer-home .work-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:58px 24px; border:0; }
.designer-home .work-card { display:flex; min-width:0; flex-direction:column; align-items:stretch; gap:21px; padding:0; border:0; }
.designer-home .work-visual { order:-1; width:100%; aspect-ratio:16 / 11; background:transparent; }
.designer-home .work-visual::after { content:none; }
.designer-home .work-visual img { display:block; filter:none; transform:none; }
.designer-home .work-card:hover .work-visual img { transform:scale(1.04); }
.designer-home .work-meta { min-height:0; gap:10px; }
.designer-home .work-meta h3 { margin-bottom:8px; font-size:clamp(24px,3vw,36px); line-height:1.2; }
.designer-home .work-meta p { margin-bottom:16px; color:#c8c1d3; }
.designer-home .work-index { color:#c8c1d3; }
.designer-collections .collection-hero-compact { min-height:0; padding-top:170px; padding-bottom:70px; }
.designer-collections .collection-hero-compact .page-title { max-width:1100px; font-size:clamp(48px,6.2vw,88px); }
.projects-index > .section,.project-archive-index > .section { padding-block:76px; }
.reference-directory--compact .reference-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.reference-directory--compact .reference-card { padding:16px 10px; border-radius:12px; }
.reference-directory--compact .reference-card a { gap:8px; }
.reference-directory--compact .reference-card img { height:62px; margin-bottom:0; }
.reference-directory--compact .reference-card img[width="190"][height="180"] { width:150px; max-width:100%; height:auto; }
.reference-directory--compact .reference-domain { font-size:12px; }
.reference-directory--compact .collection-section-heading { margin-bottom:30px; }
.reference-directory--compact .section-title { font-size:clamp(40px,5vw,72px); }
.directory-toggle { margin-top:28px; color:var(--ink); border:1px solid var(--ink); background:transparent; cursor:pointer; }
.directory-toggle::after { content:'+'; }
.directory-toggle[aria-expanded="true"]::after { content:'−'; }
.directory-toggle[hidden] { display:none; }
.reference-directory--compact { scroll-margin-top:100px; }
.article-detail .article-hero { min-height:0; padding-top:172px; padding-bottom:76px; }
.designer-collections.article-detail .article-hero .page-title { max-width:1120px; font-size:clamp(48px,6.3vw,88px); }
.article-detail article > .section { padding-block:76px; }
.article-detail .article-body { font-size:20px; line-height:1.65; }
.article-detail .article-body--long-intro > p:first-child { color:#4d474e; font:inherit; letter-spacing:normal; }
.article-detail .article-body h2:not(.grimor-empty-heading) { margin:48px 0 18px; font-size:32px; }
.article-detail .article-body h3:not(.grimor-empty-heading) { margin:36px 0 16px; font-size:25px; }
.article-detail .article-body hr { margin:32px 0; border:0; border-top:1px solid var(--line); }
.article-detail .article-body p[data-grimor-spacer="true"] { margin:0; padding:0; min-height:0; font-size:0; line-height:0; }
.article-index summary { display:block; color:var(--ink); font-weight:700; margin-bottom:18px; }
.article-index summary::marker { content:''; }
.article-index summary::-webkit-details-marker { display:none; }
.article-index .article-toc > p:first-child,.article-index .article-toc > strong:first-child,.article-index .article-toc > h2:first-child { display:none; }
.article-cta { padding-top:40px; }
.project-record { padding-block:70px; }
.project-record__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:clamp(36px,6vw,80px); align-items:start; }
.project-record__grid--compact { grid-template-columns:minmax(300px,420px) minmax(0,1fr); }
.project-record__grid--no-image { grid-template-columns:1fr; }
.project-record__grid--image-only { grid-template-columns:1fr; max-width:540px; }
.project-record .project-detail__cover { padding:32px; }
.project-record .project-detail__cover figcaption { max-width:280px; line-height:1.5; font-size:12px; }
.project-record__information h2 { margin:0 0 24px; font:500 clamp(30px,3vw,44px)/1.12 Manrope,sans-serif; letter-spacing:-.04em; }
.project-record__information .eyebrow { margin-bottom:18px; }
.project-record__information .article-body { font-size:18px; line-height:1.65; }
.project-record__information .article-body > p:first-child { font:inherit; letter-spacing:normal; }
.project-record__information .project-facts { margin-top:28px; }
.project-record__visit { margin-top:28px; }
.project-related { padding-top:36px; padding-bottom:76px; }
.project-related .section-title { font-size:clamp(40px,5vw,68px); }
@media(max-width:1020px) {
  .reference-directory--compact .reference-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .portfolio-grid--selected,.portfolio-grid--catalogue,.project-archive-grid,.designer-home .work-list { grid-template-columns:1fr; gap:38px; }
  .designer-collections .collection-hero-compact,.article-detail .article-hero { padding-top:140px; padding-bottom:54px; }
  .designer-collections .collection-hero-compact .page-title,.designer-collections.article-detail .article-hero .page-title { font-size:clamp(40px,10.8vw,72px); }
  .article-detail article > .section { padding-block:44px; }
  .article-detail .article-shell { gap:32px; }
  .article-detail .article-body { font-size:20px; }
  .article-detail .article-aside--index { padding:0; background:transparent; border:1px solid var(--line); border-radius:12px; }
  .article-index summary { display:flex; justify-content:space-between; align-items:center; padding:18px 20px; margin:0; cursor:pointer; }
  .article-index summary::after { content:'+'; font-size:20px; }
  .article-index[open] summary::after { content:'−'; }
  .article-index__links { padding:0 20px 22px; }
  .article-index__links .article-toc a { padding:4px 0; }
  .article-detail .article-body h2:not(.grimor-empty-heading) { font-size:28px; }
  .reference-directory--compact .reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reference-directory--compact .reference-card { padding:14px 10px; }
  .project-record__grid,.project-record__grid--compact { grid-template-columns:1fr; gap:30px; }
  .project-record .project-detail__cover { max-width:460px; width:100%; padding:24px; }
  .project-record { padding-block:44px; }
}

/* Preserve complete queries, including an unbroken URL or long word. */
.search-index .page-lead { overflow-wrap:anywhere;word-break:normal; }
/* Collection titles use one scale on both sides of the former 760px boundary. */
.designer-collections .collection-hero-compact .page-title,
.designer-collections.article-detail .article-hero .page-title { font-size:clamp(40px,calc(25.08px + 4.37vw),88px); }

.article-detail .article-body h2.imported-heading-h3 { margin:36px 0 16px;font-size:25px;line-height:1.2;letter-spacing:-.035em; }
.article-detail .article-body h2.imported-heading-h4 { margin:0 0 1.33em;font:700 1em/1.65 "DM Sans","Helvetica Neue",Arial,sans-serif;letter-spacing:normal; }
