/* The homepage keeps its original desktop map and uses the index on phones. */
.experience-index-mobile{display:none}
@media(max-width:740px){
  .portfolio-views>.view-toolbar,.portfolio-views>#map-view,.portfolio-views>#projects-view{display:none!important}
  .portfolio-views>.experience-index-mobile{display:block}
}
.dev-section-label{font-size:12px;letter-spacing:.1em;line-height:1.5;color:var(--muted);font-weight:500}
.dev-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.dev-sidebar{padding:26px 22px;background:var(--soft);display:flex;flex-direction:column;border-right:1px solid var(--line);gap:18px}
.dev-company-filters{display:grid;gap:4px;margin-inline:-8px}
.dev-company-filters button{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:42px;width:100%;border-radius:6px;padding:9px 12px;gap:12px;text-align:left;font-size:16px;transition:color .18s,background .18s}
.dev-company-filters button:before{content:"";position:absolute;width:2px;left:0;top:11px;bottom:11px;background:var(--accent);opacity:0;transition:opacity .18s}
.dev-company-filters button[aria-pressed=true]{background:var(--blue-bg);color:var(--accent)}
.dev-company-filters button[aria-pressed=true]:before{opacity:1}
.dev-company-filters button:hover{color:var(--accent)}
.dev-count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}
[aria-pressed=true]>.dev-count{color:var(--accent)}
.dev-focus{padding-top:22px;border-top:1px solid var(--line)}
.dev-focus-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dev-focus-filters button{border:1px solid var(--line);border-radius:5px;padding:7px 9px;font-size:14px;line-height:1.3;text-align:left;transition:color .18s,border-color .18s,background .18s}
.dev-focus-filters button:hover{border-color:var(--accent);color:var(--accent)}
.dev-focus-filters button[aria-pressed=true]{color:var(--accent);background:var(--blue-bg);border-color:var(--accent)}
.dev-insight{display:flex;gap:8px;margin-top:auto;padding-top:24px;min-height:142px}
.dev-insight-mark{color:var(--accent);font-size:22px;line-height:1.2}
.dev-insight p{font-size:14px;line-height:1.55;color:var(--muted);margin:0;max-width:28ch}
.dev-gallery-area{min-width:0;display:flex;flex-direction:column;padding:20px 24px 18px}
.dev-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;min-height:20px}
#dev-selection-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.dev-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;flex:1}
.dev-column{min-width:0;display:flex;flex-direction:column;gap:12px;position:relative}
.dev-column-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line);position:relative}
.dev-column-heading:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .26s}
.dev-column.is-related .dev-column-heading:after{transform:scaleX(1)}
.dev-column-heading strong{font-size:16px;font-weight:500}
.dev-column-heading span{font-size:12px;color:var(--muted)}
.dev-card{display:block;width:100%;padding:0;text-align:left;min-width:0;transition:opacity .23s;cursor:pointer}
.dev-card.is-dimmed{opacity:.32}
.dev-card:hover,.dev-card:focus-visible{opacity:1}
.dev-cover{display:block;position:relative;width:100%;aspect-ratio:1024/543;border-radius:7px;overflow:hidden;border:1px solid var(--line);background:var(--soft);isolation:isolate;transition:border-color .22s}
.dev-cover img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:luminosity;opacity:.85;transition:filter .35s,opacity .35s}
.dev-cover:after{content:"";position:absolute;inset:0;background:var(--accent);mix-blend-mode:color;opacity:.45;pointer-events:none;transition:opacity .3s}
.dev-card:hover .dev-cover img,.dev-card:focus-visible .dev-cover img{filter:none;mix-blend-mode:normal;opacity:1}
.dev-card:hover .dev-cover:after,.dev-card:focus-visible .dev-cover:after{opacity:0}
.dev-card:hover .dev-cover,.dev-card:focus-visible .dev-cover{border-color:var(--accent)}
.dev-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-top:10px;min-height:2.7em;font-size:14px;line-height:1.35;transition:color .2s}
.dev-card-title-text{background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size .24s}
.dev-card-title .dev-arrow{opacity:0;transform:translateX(-5px);transition:opacity .2s .1s,transform .2s .1s;flex:none}
.dev-card:hover .dev-card-title,.dev-card:focus-visible .dev-card-title{color:var(--accent)}
.dev-card:hover .dev-card-title-text,.dev-card:focus-visible .dev-card-title-text{background-size:100% 1px}
.dev-card:hover .dev-arrow,.dev-card:focus-visible .dev-arrow{opacity:1;transform:none}
.dev-cover-nda{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(ellipse at center,var(--blue-bg),var(--soft));color:var(--accent)}
.dev-cover-nda:after{display:none}.dev-cover-nda svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}
.dev-cover-nda span{font-size:12px;letter-spacing:.15em;color:var(--muted)}
.dev-gallery-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;line-height:1.4}
.dev-legend{display:flex;align-items:center;gap:8px}.dev-legend i{width:12px;height:2px;background:var(--accent);display:block;flex:none}
.dev-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1700px){.dev-workspace{grid-template-columns:290px minmax(0,1fr)}.dev-sidebar{padding:30px}.dev-gallery-area{padding:30px}.dev-gallery{gap:28px}}
@media(max-width:1150px){.dev-workspace{grid-template-columns:220px minmax(0,1fr)}.dev-sidebar{padding:22px 16px}.dev-gallery-area{padding:22px 20px}.dev-gallery{gap:16px}.dev-column-heading{flex-wrap:wrap;gap:4px}}
@media(max-width:950px){
  .dev-workspace{display:block}
  .dev-sidebar{min-width:0;border-right:0;border-bottom:1px solid var(--line);display:block}
  .dev-company-filters,.dev-focus-filters{display:flex;flex-wrap:nowrap;gap:8px;max-width:100%;margin:10px 0 0;padding:2px 1px 8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
  .dev-company-filters button,.dev-focus-filters button{flex:0 0 auto;width:auto;white-space:nowrap;min-height:44px}
  .dev-company-filters button{gap:18px}
  .dev-focus{min-width:0;margin-top:14px;padding-top:16px;border-top:1px solid var(--line)}
  .dev-gallery{gap:18px}
}
@media(max-width:740px){.dev-gallery{grid-template-columns:1fr}.dev-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dev-column-heading{grid-column:1/-1;flex-wrap:nowrap;margin-top:6px}.dev-card-title{min-height:2.7em}.dev-company-filters button{font-size:14px}.dev-sidebar{padding:20px}.dev-gallery-area{padding:20px}.dev-gallery-heading{margin-bottom:16px}}
@media(max-width:430px){.dev-company-filters button{padding:8px;gap:9px}.dev-focus-filters{gap:6px}.dev-gallery-heading{align-items:flex-start}.dev-gallery-heading>.dev-section-label{max-width:18ch}.dev-cover-nda{gap:8px}.dev-cover-nda svg{width:26px;height:26px}.dev-column{gap:12px}.dev-gallery-area,.dev-sidebar{padding:16px}}
@media(prefers-reduced-motion:reduce){.dev-workspace *,.dev-workspace *:before,.dev-workspace *:after{transition:none!important;animation:none!important}}
/* Reserve enough space for either language without moving the cards. */
.dev-gallery-footer{min-height:52px;align-items:center}.dev-gallery-footer .dev-insight{min-height:0;padding:0;margin:0;max-width:100%}.dev-gallery-footer .dev-insight p{max-width:75ch}.dev-sidebar{justify-content:flex-start}.dev-insight-mark{line-height:1.4}

/* Company choices read as a single row of compact, selectable tabs. */
@media(max-width:950px){
  .dev-company-filters button{justify-content:flex-start;gap:6px;padding:8px 11px;border:1px solid var(--line);background:var(--surface);border-radius:7px;font-weight:500}
  .dev-company-filters button:before{display:none}
  .dev-company-filters button[aria-pressed=true]{border-color:var(--accent);background:var(--blue-bg);box-shadow:inset 0 0 0 1px var(--accent)}
  .dev-company-filters .dev-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;border-radius:4px;background:var(--soft);font-size:11px;line-height:1}
  .dev-company-filters button[aria-pressed=true]>.dev-count{background:var(--accent);color:var(--bg)}
  .dev-company-filters button:focus-visible,.dev-focus-filters button:focus-visible{outline-offset:-3px}
}
