@font-face { font-family:'DM Sans'; font-style:normal; font-weight:500; font-display:swap; src:url('/assets/fonts/dm-sans-medium.ttf') format('truetype'); }
.copy-project { border:1px solid currentColor; border-radius:25px; padding:10px 18px; min-height:44px; font-size:12px; }
.copy-feedback { display:block; font-size:11px; color:inherit; line-height:1.6; }
.copy-feedback:empty { display:none; }
.copy-feedback input { display:block; width:100%; min-width:190px; max-width:100%; font:inherit; color:var(--ink); background:var(--paper); padding:10px; border:1px solid var(--line); }
.catalog-brand-heading { grid-column:1/-1; margin:20px 0 -10px; border-top:1px solid var(--line); padding-top:20px; display:flex; align-items:center; justify-content:space-between; }
.catalog-brand-heading h3 { margin:0; font-size:24px; font-weight:500; letter-spacing:-.7px; }
.catalog-brand-heading span { color:var(--muted); font-size:10px; }
.catalog-entry { min-width:0; }
.catalog-entry .catalog-card { width:100%; }
.catalog-share-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin-top:13px; font-size:11px; }
.catalog-share-actions>a { border-bottom:1px solid var(--line); padding:13px 0; }
.catalog-share-actions .copy-project { font-size:10px; padding:8px 13px; border-color:var(--line); }
.catalog-share-actions .copy-feedback { flex-basis:100%; }
.catalog-directory-link { display:inline-flex; align-items:center; min-height:44px; font-size:12px; border-bottom:1px solid var(--line); margin-top:12px; }
.viewer-links { flex-wrap:wrap; align-items:center; text-decoration:none; }
.viewer-links>a { text-decoration:underline; padding:12px 0; }
.viewer-links .copy-feedback { width:100%; }
.project-breadcrumb { display:flex; gap:14px; align-items:center; font-size:12px; padding:27px 0; color:var(--muted); }
.project-breadcrumb a { min-height:44px; display:inline-flex; align-items:center; }
.project-page-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; padding:15px 0 35px; }
.project-page-heading .small { color:var(--muted); }
.project-page-heading h1 { font-size:clamp(35px,4.5vw,70px); letter-spacing:-.05em; line-height:1.05; font-weight:500; margin:18px 0; max-width:1000px; }
.page-role { color:var(--muted); font-size:13px; margin:0; }
.project-page-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; flex-shrink:0; gap:16px; max-width:300px; font-size:12px; }
.project-page-actions .copy-feedback { flex-basis:100%; }
.project-page-image { display:block; width:100%; padding:0; position:relative; background:#e4e7de; }
.project-page-image>img { width:100%; max-height:76svh; object-fit:contain; }
.project-page-image .watch-pill { left:auto; right:24px; }
.original-source { display:inline-flex; min-height:48px; align-items:center; font-size:12px; text-decoration:underline; text-underline-offset:5px; margin:15px 0; }
.project-case-study { border-top:1px solid var(--line); padding:40px 0; max-width:1100px; }
.project-case-study .cs-label { color:var(--muted); }
.project-case-study .cs-text { color:var(--ink); font-size:16px; line-height:1.8; }
.project-case-study .cs-row { margin-bottom:30px; }
.related-projects { border-top:1px solid var(--line); padding-top:30px; }
.related-projects>h2 { font-size:28px; font-weight:500; letter-spacing:-1px; }
.sharing-heading { padding:50px 0 30px; }
.sharing-heading .small { color:var(--muted); }
.sharing-heading h1 { font-size:clamp(45px,6vw,82px); letter-spacing:-.055em; font-weight:500; margin:15px 0; }
.brand-jump { display:flex; flex-wrap:wrap; gap:8px 25px; padding-bottom:35px; }
.brand-jump a { font-size:12px; display:inline-flex; align-items:center; min-height:44px; border-bottom:1px solid var(--line); }
.brand-group { scroll-margin-top:25px; border-top:1px solid var(--line); padding:28px 0 42px; }
.brand-group-heading { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:25px; }
.brand-group-heading h2 { font-size:30px; font-weight:500; letter-spacing:-.8px; margin:0; }
.brand-group-heading>.small { color:var(--muted); }
.brand-projects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px 25px; }
.brand-project { min-width:0; }
.brand-project img { width:100%; height:auto; border:1px solid var(--line); }
.brand-project h3 { font-size:22px; letter-spacing:-.6px; font-weight:500; line-height:1.15; margin:20px 0 8px; }
.brand-project p { font-size:12px; color:var(--muted); margin:0 0 15px; }
.brand-project>.copy-project { border-color:var(--line); }
.brand-project .copy-feedback { margin-top:10px; }
@media(max-width:1000px) { .brand-projects { grid-template-columns:repeat(2,minmax(0,1fr)); } .project-page-heading { align-items:start; } .project-page-actions { max-width:170px; } }
@media(max-width:700px) {
 .project-breadcrumb { padding:15px 0; font-size:11px; }
 .project-page-heading { display:block; padding:5px 0 25px; }
 .project-page-heading h1 { font-size:40px; margin:15px 0; }
 .project-page-actions { max-width:none; justify-content:flex-start; margin-top:20px; }
 .project-page-image .watch-pill { right:12px; bottom:12px; font-size:11px; padding:12px 16px; }
 .project-case-study { padding:25px 0; }
 .project-case-study .cs-row { grid-template-columns:1fr; gap:12px; }
 .project-case-study .cs-text { font-size:14px; }
 .brand-projects { grid-template-columns:1fr; gap:30px; }
 .brand-group-heading h2 { font-size:26px; }
 .sharing-heading { padding-top:30px; }
 .brand-jump { gap:5px 20px; }
 .brand-group { padding:25px 0 35px; }
 .catalog-brand-heading h3 { font-size:21px; }
 .catalog-share-actions { gap:5px 13px; }
}
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400; font-display:swap; src:url('/assets/fonts/dm-sans-regular.ttf') format('truetype'); }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:700; font-display:swap; src:url('/assets/fonts/dm-sans-bold.ttf') format('truetype'); }
