.projects-directory-section{display:grid;gap:2rem;scroll-margin-top:7rem}.projects-directory{min-width:0}.projects-directory:focus{outline:none}.projects-directory-controls{min-width:0;margin:0;padding:0;border:0}.projects-directory-toolbar{display:flex;align-items:stretch;justify-content:space-between;gap:1rem}.projects-directory-search{position:relative;flex:1 1 380px;max-width:740px}.projects-directory-search>svg{position:absolute;left:1.15rem;top:50%;width:1.15rem;height:1.15rem;transform:translateY(-50%);color:var(--color-action);pointer-events:none}.projects-directory-search input{display:block;width:100%;min-height:54px;margin:0;padding:.85rem 1rem .85rem 3.1rem;border:1px solid var(--color-border);border-radius:.85rem;background:var(--color-surface);color:var(--color-foreground);font:inherit;font-size:1rem}.projects-directory-search input::-moz-placeholder{color:var(--color-muted-foreground);opacity:1}.projects-directory-search input::placeholder{color:var(--color-muted-foreground);opacity:1}.projects-directory-view{display:inline-flex;align-items:center;gap:.25rem;flex:0 0 auto;padding:.3rem;border:1px solid var(--color-border);border-radius:.85rem;background:var(--color-surface)}.projects-directory-view button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:44px;padding:.6rem 1.05rem;border:1px solid transparent;border-radius:.55rem;color:var(--color-muted-foreground);background:transparent;font:inherit;font-size:.86rem;cursor:pointer}.projects-directory-view svg{width:1rem;height:1rem}.projects-directory-view button[aria-pressed=true]{color:var(--color-action-foreground);background:var(--color-action)}.projects-directory-view button:hover:not([aria-pressed=true]){color:var(--color-foreground);border-color:var(--color-border)}.projects-directory-browse{display:flex;gap:1.5rem;margin-top:1.5rem;border-bottom:1px solid var(--color-border)}.projects-directory-browse button{display:inline-flex;align-items:center;gap:.6rem;min-height:52px;padding:.8rem 0;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--color-muted-foreground);font:inherit;font-size:.95rem;cursor:pointer}.projects-directory-browse button[aria-pressed=true]{border-bottom-color:var(--color-action);color:var(--color-foreground)}.projects-directory-browse button span{font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--color-muted-foreground)}.projects-directory-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem}.projects-directory-tags{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.projects-directory-tags button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.6rem .95rem;border:1px solid var(--color-border);border-radius:2rem;color:var(--color-foreground);background:var(--color-surface);font:inherit;font-size:.8rem;cursor:pointer}.projects-directory-tags button[aria-pressed=true]{background:var(--color-action);border-color:var(--color-action);color:var(--color-action-foreground)}.projects-directory-tags button:hover{border-color:var(--color-action)}.projects-directory-tags svg{width:.85rem;height:.85rem}.projects-directory-tag-help{margin:.6rem 0 0;color:var(--color-muted-foreground);font-size:.75rem;line-height:1.6}.projects-directory-clear{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.65rem .9rem;border:1px solid transparent;border-radius:.65rem;color:var(--color-foreground);background:transparent;font:inherit;font-size:.8rem;cursor:pointer}.projects-directory-clear svg{width:.95rem;height:.95rem}.projects-directory-clear:hover:not(:disabled){color:var(--color-action);background:var(--color-surface)}.projects-directory-clear:disabled{opacity:.42;cursor:default}.projects-directory-results-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block:1.65rem 1.15rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.projects-directory-results-meta p{margin:0;color:var(--color-muted-foreground);font-size:.82rem;line-height:1.5}.projects-directory-results-meta strong{color:var(--color-foreground);font-weight:600;font-variant-numeric:tabular-nums}.projects-directory-results-meta p:last-child{font-size:.75rem}.projects-directory-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.projects-directory-card-shell{display:flex;min-width:0}.projects-directory-card-shell>.projects-directory-card{width:100%}.projects-directory-card-shell[data-exiting=true]{pointer-events:none}.projects-directory-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--color-border);border-radius:1.05rem;overflow:hidden;background:var(--color-surface)}.projects-directory-card-media{position:relative;margin:.5rem .5rem 0;overflow:hidden;border-radius:.65rem}.projects-directory-image{position:relative;aspect-ratio:16 / 9;width:100%;overflow:hidden;background:var(--color-surface-strong, var(--color-surface))}.projects-directory-image img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.projects-directory-image-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;color:var(--color-action);background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--color-action) 17%,transparent),transparent 60%),repeating-linear-gradient(0deg,transparent,transparent 38px,color-mix(in srgb,var(--color-border) 45%,transparent) 39px,transparent 40px),var(--color-surface)}.projects-directory-image-fallback>span{font-family:var(--font-heading),Georgia,serif;font-size:clamp(3rem,5.5vw,6rem);letter-spacing:-.06em;line-height:1}.projects-directory-image-fallback>small{font-size:.53rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-muted-foreground)}.projects-directory-category{position:absolute;top:.8rem;left:.8rem;max-width:calc(100% - 1.6rem);padding:.4rem .7rem;border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);border-radius:100px;background:color-mix(in srgb,var(--color-background) 93%,transparent);color:var(--color-foreground);font-size:.64rem;line-height:1.35;backdrop-filter:blur(8px);overflow-wrap:anywhere}.projects-directory-card-body{display:flex;flex-direction:column;flex:1;padding:1.25rem}.projects-directory-card-heading{display:flex;flex-direction:column;align-items:start;gap:.5rem}.projects-directory-card h3{margin:0;font-size:clamp(1.45rem,2.15vw,1.9rem);font-weight:500;line-height:1.12;letter-spacing:-.02em;overflow-wrap:anywhere}.projects-directory-case-status{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-muted-foreground);font-size:.62rem;letter-spacing:.04em}.projects-directory-case-status:before{content:"";display:block;width:.32rem;height:.32rem;border:1px solid currentColor;border-radius:50%}.projects-directory-case-status.is-published{color:var(--color-action)}.projects-directory-case-status.is-published:before{background:currentColor}.projects-directory-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:1rem 0;color:var(--color-muted-foreground);font-size:.87rem;line-height:1.65}.projects-directory-services{display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0;list-style:none}.projects-directory-services li{max-width:100%;padding:.3rem .55rem;border:1px solid var(--color-border);border-radius:.35rem;color:var(--color-muted-foreground);font-size:.62rem;line-height:1.4;overflow-wrap:anywhere}.projects-directory-more{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;min-height:48px;margin-top:auto;padding:1.25rem 0 .05rem;border:0;color:var(--color-action);background:transparent;text-align:left;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.projects-directory-more:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}.projects-directory-more svg{width:1.1rem;height:1.1rem}.projects-directory[data-ready=false] .projects-directory-more{display:none}.projects-directory-card:has(.projects-directory-more:focus-visible){outline:2px solid var(--color-action);outline-offset:4px;border-color:var(--color-action)}.projects-directory-more:focus-visible{outline:none}.projects-directory-fallback{position:relative;z-index:2;margin-top:1rem;border-top:1px solid var(--color-border)}.projects-directory-fallback summary{min-height:44px;padding-block:.8rem;cursor:pointer;font-size:.9rem}.projects-directory-fallback>p{margin-block:.8rem;font-size:.85rem;line-height:1.7}.projects-directory-empty{display:grid;justify-items:center;gap:1rem;padding:clamp(2.5rem,6vw,5rem) 1.5rem;border:1px dashed var(--color-border);border-radius:1rem;text-align:center;background:var(--color-surface)}.projects-directory-empty>svg{width:2.2rem;height:2.2rem;color:var(--color-action)}.projects-directory-empty h3{margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:500}.projects-directory-empty p{max-width:43ch;margin:0;color:var(--color-muted-foreground);font-size:.95rem;line-height:1.7}.projects-directory-empty button{display:inline-flex;align-items:center;gap:.8rem;min-height:44px;padding:.7rem 1rem;border:1px solid var(--color-action);border-radius:2rem;background:var(--color-action);color:var(--color-action-foreground);font:inherit;font-size:.85rem;cursor:pointer}.projects-directory-empty button svg{width:1rem;height:1rem}.projects-directory-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:1rem}.projects-directory-table{table-layout:fixed;width:100%;border-collapse:collapse;text-align:left}.projects-directory-table th,.projects-directory-table td{padding:1.2rem;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.projects-directory-table thead th{border-bottom:1px solid var(--color-border);color:var(--color-muted-foreground);background:var(--color-surface);font-size:.67rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.projects-directory-table tbody tr+tr{border-top:1px solid var(--color-border)}.projects-directory-table tbody tr{background:var(--color-background)}.projects-directory-table tbody tr:hover{background:var(--color-surface)}.projects-directory-table tbody th{font-weight:400}.projects-directory-table td{color:var(--color-muted-foreground);font-size:.8rem;line-height:1.6}.projects-directory-table th:first-child{width:39%}.projects-directory-table .projects-directory-col-category{width:20%}.projects-directory-table .projects-directory-col-services{width:auto}.projects-directory-table .projects-directory-col-action{width:8.5rem;text-align:right}.projects-directory-table-title{display:block;color:var(--color-foreground);font-family:var(--font-heading),Georgia,serif;font-size:1.35rem;line-height:1.15}.projects-directory-table-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.5rem;color:var(--color-muted-foreground);font-size:.77rem;line-height:1.55}.projects-directory-table-more{display:inline-flex;align-items:center;justify-content:end;gap:.4rem;min-height:44px;padding:.55rem 0 .55rem .4rem;border:0;background:transparent;color:var(--color-action);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.projects-directory-table-more svg{width:1rem;height:1rem;flex:0 0 auto}.projects-directory-mobile-category{display:none}.projects-directory-dialog{width:min(1140px,calc(100vw - 3rem));max-width:none;max-height:calc(100dvh - 3rem);margin:auto;padding:0;overflow:auto;border:1px solid var(--color-border);border-radius:1.25rem;background:var(--color-background);color:var(--color-foreground);box-shadow:0 28px 100px #0008;overscroll-behavior:contain}.projects-directory-dialog::backdrop{background:#090b0cbb;backdrop-filter:blur(8px)}.projects-directory-dialog[open]{display:block}.projects-directory-dialog-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.4rem;border-bottom:1px solid var(--color-border);background:var(--color-background)}.projects-directory-dialog-toolbar>span{color:var(--color-muted-foreground);font-size:.63rem;text-transform:uppercase;letter-spacing:.12em}.projects-directory-dialog-toolbar>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border:1px solid var(--color-border);border-radius:50%;color:var(--color-foreground);background:var(--color-surface);cursor:pointer}.projects-directory-dialog-toolbar>button:hover{color:var(--color-action);border-color:var(--color-action)}.projects-directory-dialog-toolbar svg{width:1.15rem;height:1.15rem}.projects-directory-detail-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.8rem,4vw,3.5rem);align-items:start;padding:clamp(1.4rem,3vw,2.8rem)}.projects-directory-detail-media{position:sticky;top:6rem;min-width:0}.projects-directory-image--large{aspect-ratio:4 / 3;border:1px solid var(--color-border);border-radius:.7rem}.projects-directory-detail-caption{display:flex;justify-content:space-between;gap:1rem;padding-top:.8rem;color:var(--color-muted-foreground);font-size:.65rem;line-height:1.5}.projects-directory-detail-copy{min-width:0}.projects-directory-detail-kicker{margin:0 0 .8rem;color:var(--color-action);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em}.projects-directory-detail-copy h2{margin:0;color:var(--color-foreground);font-size:clamp(2.2rem,4.3vw,4rem);font-weight:500;letter-spacing:-.035em;line-height:1.02;overflow-wrap:anywhere}.projects-directory-detail-summary{margin:1.2rem 0;color:var(--color-foreground);font-size:1.05rem;line-height:1.65}.projects-directory-detail-copy .projects-directory-services{margin-block:1.3rem 1.7rem}.projects-directory-detail-copy .projects-directory-services li{font-size:.7rem}.projects-directory-description p{margin-block:1rem;color:var(--color-muted-foreground);font-size:.9rem;line-height:1.8}.projects-directory-detail-actions{display:flex;flex-wrap:wrap;align-items:start;gap:.85rem;margin-top:1.8rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.projects-directory-cta{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:.75rem 1.05rem;border:1px solid var(--color-border);border-radius:2rem;color:var(--color-foreground);background:var(--color-background);font:inherit;font-size:.79rem;font-weight:500;line-height:1.4;text-align:center;text-decoration:none}.projects-directory-cta svg{width:1.05rem;height:1.05rem;flex:0 0 auto}.projects-directory-cta--primary{border-color:var(--color-action);color:var(--color-action-foreground);background:var(--color-action)}.projects-directory-cta:not(:disabled):hover{border-color:var(--color-action);box-shadow:0 0 0 1px var(--color-action)}.projects-directory-cta:disabled{opacity:.48;cursor:not-allowed}.projects-directory-image img.projects-directory-image-dark{display:none}.dark .projects-directory-image img.projects-directory-image-dark{display:block}.dark .projects-directory-image img.projects-directory-image-light{display:none}.projects-directory :is(input,select,button,summary,a):focus-visible,.projects-directory-dialog :is(button,a):focus-visible{outline:2px solid var(--color-action);outline-offset:4px}.projects-directory .projects-directory-more:focus-visible{outline:none}.ui-reduced .projects-directory-category,.ui-reduced .projects-directory-dialog::backdrop{backdrop-filter:none}@media(hover:hover)and (pointer:fine){.ui-immersive .projects-directory-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.ui-immersive .projects-directory-image img{transition:transform .45s ease}.ui-immersive .projects-directory-card:has(.projects-directory-more:hover){transform:translateY(-3px);border-color:var(--color-action);box-shadow:0 15px 35px color-mix(in srgb,var(--color-action) 10%,transparent)}.ui-immersive .projects-directory-card:has(.projects-directory-more:hover) img{transform:scale(1.025)}}@media(max-width:1100px){.projects-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-directory-detail-layout{grid-template-columns:.85fr 1.15fr;gap:1.8rem}}@media(max-width:900px){.projects-directory-col-services{display:none}.projects-directory-table th:first-child{width:auto}.projects-directory-table .projects-directory-col-category{width:25%}.projects-directory-dialog{width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem)}.projects-directory-detail-layout{grid-template-columns:1fr}.projects-directory-detail-media{position:static}.projects-directory-image--large{aspect-ratio:16 / 8}}@media(max-width:650px){.projects-directory-toolbar{flex-direction:column;gap:.8rem}.projects-directory-search{flex-basis:auto;max-width:none}.projects-directory-view{align-self:start}.projects-directory-filters{gap:.8rem}.projects-directory-tags{flex-basis:100%}.projects-directory-tags button{padding-inline:.85rem}.projects-directory-clear{margin-left:auto;min-height:44px}.projects-directory-results-meta{margin-top:1rem}.projects-directory-results-meta p:last-child{display:none}.projects-directory-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.projects-directory-card-media{margin:.4rem .4rem 0}.projects-directory-image{aspect-ratio:16 / 9}.projects-directory-card h3{font-size:1.85rem}.projects-directory-card-body{padding:1.2rem}.projects-directory-summary{margin-block:.8rem}.projects-directory-col-category{display:none}.projects-directory-table th,.projects-directory-table td{padding:1rem .85rem}.projects-directory-table .projects-directory-col-action{width:7.3rem}.projects-directory-table-title{font-size:1.2rem}.projects-directory-table-summary{font-size:.73rem}.projects-directory-mobile-category{display:block;margin-top:.45rem;color:var(--color-action);font-size:.65rem}.projects-directory-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);border-radius:1rem}.projects-directory-dialog-toolbar{padding:.65rem 1rem}.projects-directory-dialog-toolbar>span{max-width:24ch;font-size:.57rem;line-height:1.6}.projects-directory-detail-layout{padding:1rem 1.2rem 1.5rem;gap:1.8rem}.projects-directory-image--large{aspect-ratio:16 / 10}.projects-directory-detail-copy h2{font-size:clamp(2.2rem,10vw,3.5rem)}.projects-directory-detail-summary{font-size:1rem}.projects-directory-detail-actions{flex-direction:column;align-items:stretch}.projects-directory-cta{width:100%}}@media(prefers-reduced-motion:reduce){.projects-directory-card-shell{opacity:1!important;transform:none!important}.projects-directory-card-shell[data-exiting=true]{display:none}.projects-directory *,.projects-directory-dialog *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.ui-reduced .projects-directory-card-shell{opacity:1!important;transform:none!important}.ui-reduced .projects-directory-card-shell[data-exiting=true]{display:none}.ui-reduced .projects-directory *,.ui-reduced .projects-directory-dialog *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
