.jone-projects-page>.jone-section-heading{margin-bottom:1.75rem}
.jone-projects-page .jone-section-heading__title{font-size:clamp(1.875rem,2.35vw,2.625rem);line-height:1.25;letter-spacing:-.045em}
.jone-projects-page .jone-section-heading>.jone-eyebrow{font-size:.6875rem;letter-spacing:.14em}
.jone-project-tabs{width:fit-content;max-width:100%;margin-bottom:1.25rem;padding:.25rem;border-radius:999px;background:var(--jone-surface)}
.jone-project-tabs>ul{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;margin:0;padding:0}
.jone-project-tabs a{display:flex;align-items:center;min-height:44px;padding:.625rem 1.25rem;border:0;border-radius:999px;color:var(--jone-muted);font-size:.875rem;line-height:1.5;text-decoration:none}
.jone-project-tabs a[aria-current=page]{color:var(--jone-accent);background:var(--jone-panel);font-weight:600;text-decoration:none}
.jone-project-tabs a:hover{color:var(--jone-accent);text-decoration:none}
/* Labels share a 20px row; the optional search hint stays below the aligned controls. */
.jone-project-filters{display:grid;grid-template-columns:minmax(16rem,1.4fr) repeat(3,minmax(0,1fr)) auto;align-items:start;gap:1rem;margin:0 0 2rem;padding:1.5rem;border:0;border-radius:12px;background:var(--jone-panel)}
.jone-project-filters>.jone-field{min-width:0;grid-template-rows:1.25rem 48px;align-content:start;gap:.5rem}
.jone-project-filters .jone-field__label{font-size:.8125rem;line-height:1.5}
.jone-project-filters .jone-field__control{height:48px;min-height:48px;padding:.75rem .875rem;border:1px solid var(--jone-line);border-radius:8px;background:var(--jone-bg);font-size:.875rem;line-height:1.5}
.jone-project-filters select.jone-field__control{padding-inline-end:2rem}
.jone-project-filters .jone-field__hint{font-size:.75rem;line-height:1.6}
.jone-project-filter-actions{display:flex;align-items:center;gap:.5rem;padding-top:1.75rem}
.jone-project-filter-actions>.jone-action{height:48px;min-height:48px;padding:.75rem 1.125rem;border-radius:8px;white-space:nowrap}
.jone-project-filter-actions>.jone-action--text{border:0;color:var(--jone-muted);text-decoration:none}
.jone-project-filter-actions>.jone-action--text:hover{color:var(--jone-accent);background:var(--jone-bg)}
.jone-project-active{margin:0 0 1.5rem}
.jone-project-active ul,.jone-project-field-links ul{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:0}
.jone-project-active a,.jone-project-field-links a{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;font-size:.875rem}
.jone-project-active a{padding:.5rem .875rem;border-radius:999px;background:var(--jone-panel);font-size:.8125rem;text-decoration:none}
.jone-project-active a:hover{background:var(--jone-panel-hover)}
.jone-project-results>.jone-result-count{margin-bottom:1.25rem;font-size:.875rem}
.jone-project-list{gap:1.25rem;align-items:stretch}
.jone-project-list>li{min-width:0}
.jone-project-card{height:100%;padding:0;border:0}
.jone-project-card .jone-card__media{aspect-ratio:16/10;margin:0;padding:1rem;border-radius:8px;background:#fff}
.jone-project-card .jone-image{object-fit:contain;filter:none}
.jone-project-card .jone-card__content{padding:1.25rem 0 0}
.jone-project-card .jone-card__meta{gap:.375rem 1rem;font-size:.75rem;line-height:1.7}
.jone-project-card .jone-card__title{font-size:1.25rem;font-weight:500;line-height:1.5;word-break:keep-all}
.jone-project-card .jone-card__summary{margin-top:.875rem;font-size:.875rem;line-height:1.8;word-break:keep-all}
@media(min-width:1280px){
  .jone-project-card:has(.jone-card__media){display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}
  .jone-project-card:has(.jone-card__media) .jone-card__content{padding:0 0 0 1.5rem}
  .jone-project-card .jone-card__media{align-self:stretch;aspect-ratio:auto;min-height:200px}
  .jone-project-card .jone-card__media .jone-image{height:auto;max-height:260px}
}
.jone-project-breadcrumb{margin-bottom:3rem;font-size:.875rem;color:var(--jone-muted)}
.jone-project-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.jone-project-breadcrumb li+li::before{content:"/";margin-right:.5rem;color:var(--jone-muted)}
.jone-project-detail>.jone-section-heading{max-width:1050px}
.jone-project-detail .jone-section-heading__title{max-width:25ch;font-size:clamp(2rem,3.3vw,3.25rem)}
.jone-project-metadata{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:4rem}
.jone-project-description,.jone-project-captures,.jone-project-connections{margin-top:4.5rem}
.jone-project-detail section>h2{font-size:clamp(1.5rem,2.5vw,2rem);margin-bottom:1.5rem}
.jone-project-description p{max-width:72ch;white-space:pre-line}
.jone-project-description__body{margin-top:2rem;max-width:76ch;color:var(--jone-muted)}
.jone-project-description__body h3{margin-top:2rem;margin-bottom:1rem;color:var(--jone-text)}
.jone-project-gallery figure>a{position:relative;padding:.5rem;border:1px solid var(--jone-line)}
.jone-project-gallery figure>a:hover,.jone-project-gallery figure>a:focus-visible{border-color:var(--jone-accent)}
.jone-project-gallery .jone-image{max-height:390px;object-fit:contain;filter:none}
.jone-project-technology-links{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}
.jone-project-technology-links a{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--jone-line);text-decoration:none}
.jone-project-return{margin-top:4rem}
.jone-gallery-dialog{width:min(1160px,calc(100% - 2rem));max-width:none;max-height:calc(100dvh - 2rem);padding:0;border:1px solid var(--jone-control-line);background:var(--jone-bg);color:var(--jone-text);box-shadow:var(--jone-shadow);overflow:auto}
.jone-gallery-dialog:not([open]){display:none}
.jone-gallery-dialog::backdrop{background:color-mix(in srgb,var(--jone-bg) 85%,transparent)}
.jone-gallery-dialog__head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--jone-bg);padding:1rem 1.5rem;border-bottom:1px solid var(--jone-line)}
.jone-gallery-dialog__head h2{font-size:1.25rem}
.jone-gallery-dialog__head button{flex:none;font-size:1.75rem}
.jone-gallery-position,.jone-gallery-dialog__caption,.jone-gallery-error{margin:.75rem 1.5rem;color:var(--jone-muted);font-size:.875rem}
.jone-gallery-dialog__image{display:grid;place-items:center;min-height:100px;padding:0 1.5rem}
.jone-gallery-dialog__image img{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;filter:none}
.jone-gallery-error{color:var(--jone-danger)}
.jone-gallery-dialog__controls{position:sticky;bottom:0;display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;background:var(--jone-bg);padding:1rem 1.5rem;border-top:1px solid var(--jone-line)}
.jone-gallery-dialog__controls>a{margin-left:auto}
@media(max-width:1100px){.jone-project-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.jone-project-filters>.jone-field:first-of-type{grid-column:1/-1}.jone-project-filter-actions{grid-column:1/-1;justify-content:flex-end;padding-top:0}.jone-project-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.jone-project-tabs>ul{gap:.75rem 1.5rem}.jone-project-metadata{grid-template-columns:1fr}.jone-gallery-dialog__image img{max-height:55dvh}}
@media(max-width:560px){.jone-project-filters{grid-template-columns:1fr;padding:1.25rem}.jone-project-filter-actions>.jone-action{flex:1 1 auto}.jone-project-list{grid-template-columns:1fr}.jone-project-technology-links{grid-template-columns:1fr}.jone-project-tabs{width:100%;border-radius:12px}.jone-project-tabs>ul{display:grid;grid-template-columns:1fr}.jone-project-tabs a{justify-content:center;white-space:normal;text-align:center;border-radius:8px}.jone-project-description,.jone-project-captures,.jone-project-connections{margin-top:3rem}.jone-gallery-dialog__head,.jone-gallery-dialog__controls{padding:1rem}.jone-gallery-dialog__image{padding:0 .5rem}.jone-gallery-dialog__controls>a{margin-left:0}.jone-gallery-dialog__controls .jone-action{flex:1 1 auto}.jone-project-breadcrumb{margin-bottom:2rem}}
