.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.chapter-mode main>#projek.projects{display:flex;align-items:center;padding:18px clamp(24px,5vw,88px) 12px;background:#f9f9f7;overflow:hidden}
#projek .project-shell{display:grid;grid-template-rows:36px 44px minmax(0,1fr) 22px 92px;gap:12px;width:100%;max-width:1440px;height:100%;min-height:0;margin:0 auto}
#projek .projects-heading{display:flex;align-items:center;padding:0;margin:0;min-height:0}
#projek .projects-heading h2{font-size:1.65rem;line-height:1.2;letter-spacing:-.035em;margin:0;color:var(--ink)}
#projek .project-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0}
#projek .project-filters{display:flex;gap:18px;align-items:center;min-width:0}
#projek .project-filters>div{display:flex;gap:8px;align-items:center;min-width:0}
#projek .project-filters label{font-size:.75rem;color:var(--muted);white-space:nowrap}
#projek .project-filters select{border:1px solid var(--rule);background:transparent;border-radius:0;min-height:44px;font:inherit;font-size:.8rem;padding:8px 24px 8px 10px;max-width:215px}
#projek #project-year{width:130px}#projek #project-service{width:190px}
#projek #project-list{grid-row:3;min-height:0;width:100%;height:100%;margin:0;padding:0 14px;overflow:auto;overscroll-behavior:contain;border:1px solid #d1d2ce;scrollbar-width:thin;scrollbar-color:var(--red) transparent;background:#fff;scroll-padding-top:60px}
#projek #project-list:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.project-register{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:left;font-size:.875rem;line-height:1.6}
.project-register caption{text-align:left}.project-register th{position:sticky;top:0;z-index:1;background:#fff;padding:17px 12px;border-bottom:3px solid var(--red);font-size:.8rem;font-weight:600;color:var(--ink)}
.project-register th:nth-child(1){width:8%}.project-register th:nth-child(2){width:45%}.project-register th:nth-child(3){width:18%}.project-register th:nth-child(4){width:29%}
.project-register td{vertical-align:top;padding:20px 12px;border-bottom:1px solid var(--rule);overflow-wrap:anywhere;transition:background-color .15s ease}
.project-register tr:last-child td{border-bottom:0}.project-register tbody tr:hover td,.project-register tbody tr:focus-within td{background:#fcf0f1}
.project-register td p{font-size:inherit;line-height:inherit;margin:0}.record-year,.record-location{color:var(--muted)}.record-year{font-size:.75rem;font-variant-numeric:tabular-nums}.record-client>p{font-size:.8rem!important;line-height:1.55!important}
.record-details{margin-top:8px}.record-details summary{font-size:.7rem;min-height:32px;display:inline-flex;align-items:center;gap:8px;color:var(--red);cursor:pointer;list-style:none}.record-details summary::after{content:'+';font-size:1rem}.record-details[open] summary::after{content:'−'}.record-details dl{font-size:.75rem;margin:4px 0 0}.record-details dl>div+div{margin-top:8px}.record-details dt{color:var(--muted);font-size:.65rem}.record-details dd{margin:0;line-height:1.5}
#projek .project-register-footer{grid-row:4;display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--muted)}#projek .project-register-footer p{margin:0;font-size:.65rem;line-height:1.4}
#projek .client-strip{grid-row:5;display:grid;grid-template-columns:90px minmax(0,1fr) 44px;align-items:center;gap:18px;border-top:1px solid var(--rule);padding-top:10px;min-width:0;min-height:0}
#projek .client-strip h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.02em;font-weight:500;line-height:1.4;margin:0}
#projek .client-marquee{width:100%;overflow:hidden;padding:0;border:0;min-width:0;outline-offset:2px}
#projek .client-track{display:flex;width:max-content;animation:client-drift 38s linear infinite}
#projek .client-logo-row{display:flex;flex:none;list-style:none;margin:0;padding:0}
#projek .client-logo-row li{width:170px;padding:0 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}
#projek .client-mark{width:120px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
#projek .client-logo-row .client-mark img{width:auto;height:auto;max-width:108px;max-height:42px;object-fit:contain}
#projek .client-logo-row span{max-width:145px;min-height:26px;font-size:.6rem;line-height:1.3;color:var(--muted)}
#projek .client-marquee:hover .client-track,#projek .client-marquee:focus-within .client-track,#projek .motion-paused .client-track,.chapter-mode #projek:not(.is-active) .client-track{animation-play-state:paused}
#client-motion{width:44px;height:44px;border:0;background:none;color:var(--muted);font-size:1.05rem;padding:0;cursor:pointer}
#client-motion:hover{color:var(--red)}
@keyframes client-drift{to{transform:translateX(-50%)}}
#projek #project-map{grid-row:3;min-height:0}#projek.map-view .project-filters{display:none}#projek.map-view .project-shell{grid-template-rows:36px 44px minmax(0,1fr) 92px}#projek.map-view .client-strip{grid-row:4}
#projek .state-map-intro>div{position:static}#projek .state-map-intro{margin-bottom:6px}#projek .state-table-scroll .table-scope{font-size:.8rem;line-height:1.55;margin:6px 0;color:var(--ink)}
@media(min-width:1700px){.project-register{font-size:1rem}.record-client>p{font-size:.875rem!important}}
@media(max-width:1050px){#projek .project-filters label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#projek .project-filters{gap:10px}.project-register th:nth-child(1){width:9%}.project-register th:nth-child(2){width:43%}.project-register th:nth-child(3){width:19%}.project-register th:nth-child(4){width:29%}.project-register td{padding:17px 10px;font-size:.8rem}.record-client>p{font-size:.75rem!important}#projek .client-logo-row li{width:145px}}
@media(max-width:700px){.chapter-mode main>#projek.projects{padding:12px 20px 8px}#projek .project-shell{grid-template-rows:30px 94px minmax(0,1fr) 20px 76px;gap:8px}#projek .projects-heading h2{font-size:1.4rem}#projek .project-tools{display:grid;grid-template-columns:1fr;grid-template-rows:44px 44px;gap:6px}#projek .view-switch{justify-self:start}#projek .project-filters{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:10px}#projek .project-filters>div{display:block}#projek #project-service,#projek #project-year{width:100%;max-width:100%;font-size:.75rem}#projek #project-list{padding:0 12px;scroll-padding-top:0}.project-register,.project-register tbody{display:block}.project-register thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.project-register tr{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:15px 0;gap:7px 12px;border-bottom:1px solid var(--rule)}.project-register tr:last-child{border:0}.project-register td{display:block;border:0;padding:0;font-size:.82rem}.project-register .record-year{grid-column:2;grid-row:1;font-size:.7rem;color:var(--red)}.project-register .record-location{grid-column:1;grid-row:1;font-size:.7rem}.project-register .record-scope{grid-column:1/-1;grid-row:2}.project-register .record-client{grid-column:1/-1;grid-row:3}.record-client::before{content:'Client';display:block;color:var(--muted);font-size:.6rem;margin:5px 0 2px}.record-client>p{font-size:.72rem!important}.record-details{margin-top:3px}.record-details summary{min-height:36px}.project-register .data-message{grid-column:1/-1}#projek .project-register-footer p{font-size:.55rem}#projek .client-strip{grid-template-columns:48px minmax(0,1fr) 36px;gap:6px;padding-top:7px}#projek .client-strip h3{font-size:.55rem}#projek .client-logo-row li{width:112px;padding:0 8px}#projek .client-logo-row img{width:64px;height:29px}#projek .client-logo-row span{font-size:.5rem;min-height:23px}#client-motion{width:36px;min-height:44px}#projek.map-view .project-shell{grid-template-rows:30px 44px minmax(0,1fr) 76px}#projek.map-view .project-tools{display:flex}#projek .state-map-intro{display:flex;gap:10px}#projek .state-map-intro p{font-size:.65rem;max-width:160px}#projek .state-map-intro select{max-width:135px}#projek .state-table-scroll .table-scope{font-size:.75rem}}
@media(max-height:650px) and (min-width:701px){#projek .project-shell{grid-template-rows:30px 44px minmax(0,1fr) 18px 65px;gap:6px}#projek .client-logo-row img{height:28px}#projek .client-logo-row span{font-size:.5rem}#projek.map-view .project-shell{grid-template-rows:30px 44px minmax(0,1fr) 65px}}
@media(prefers-reduced-motion:reduce){#projek .client-track{animation:none}#projek .client-marquee{overflow-x:auto}#projek .client-logo-row[aria-hidden=true],#client-motion{display:none}#projek .client-strip{grid-template-columns:90px minmax(0,1fr)}.project-register td{transition:none}}
.record-details{margin-top:0}.record-details summary{display:block;position:relative;padding-right:20px;min-height:44px;font-size:.8rem;line-height:1.55;color:var(--ink)}.record-details summary::after{position:absolute;right:0;top:0;color:var(--red)}.record-details summary:hover{color:var(--red)}
@media(max-width:700px){.record-details summary{font-size:.72rem;min-height:44px}#projek .client-mark{width:88px;height:30px}#projek .client-logo-row .client-mark img{max-width:82px;max-height:30px}}
@media(max-height:650px) and (min-width:701px){#projek .client-mark{height:30px}#projek .client-logo-row .client-mark img{max-height:30px}}
