
/* UX pass: explicit surface colours and usable interaction states */
html{scrollbar-gutter:stable}
html:has(dialog[open]){overflow:hidden}
.quick-dialog{--bg:#f3f1ea;--fg:#202725;--sub:#4b5752;--accent:#304e3c;background:#f3f1ea;color:#202725;border:1px solid #a4ada4;border-radius:12px;padding:28px;width:min(620px,calc(100vw - 32px));max-height:calc(100svh - 40px);box-shadow:0 20px 90px #0007}
.quick-dialog::backdrop{background:#0a110edb;backdrop-filter:blur(5px)}
.quick-dialog .quick-content{clear:both;color:#202725}
.quick-dialog h2{color:#202725;font-size:clamp(27px,4vw,40px);line-height:1.13;letter-spacing:-.035em;margin:14px 0 20px;overflow-wrap:anywhere}
.quick-dialog p,.quick-dialog .quick-content p{color:#3f4b45;font-size:17px;line-height:1.75;margin:0 0 26px;text-align:left;max-width:54ch}
.quick-dialog .eyebrow{color:#5b6248;font-size:11px;line-height:1.5}
.quick-dialog .btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 18px;margin:0 8px 10px 0;white-space:normal;border:1px solid #2e4937;border-radius:5px;background:#2e4937;color:#fff;font-size:14px;font-weight:700;text-decoration:none}
.quick-dialog .btn+.btn{background:transparent;color:#2e4937}
.quick-dialog .btn:hover{background:#1a3223;color:#fff}
.quick-dialog .btn+.btn:hover{background:#dfe6db;color:#1a3223}
.quick-dialog .dialog-close{position:static;float:none;display:flex;align-items:center;justify-content:center;margin:0 0 18px auto;min-width:82px;min-height:44px;border:1px solid #9aa69b;border-radius:5px;padding:8px 13px;background:#e8ece2;color:#26382c;font:600 14px/1.3 "Archivo",system-ui,sans-serif}
.quick-dialog .dialog-close:hover{background:#d3ddce;color:#14221a}
.quick-dialog :focus-visible{outline:3px solid #215c39;outline-offset:4px}
.quick-dialog :is(a,button){-webkit-tap-highlight-color:transparent}
.quick-look{display:inline-flex;align-items:center;min-height:44px;padding:9px 0;color:#ffc477;font-size:14px;border-bottom-color:#ba8241}
.quick-look:hover{color:#fff;border-bottom-color:#fff}
.quick-look:focus-visible,.filters button:focus-visible,.search-label input:focus-visible,.bar :focus-visible{outline:3px solid #ffc477;outline-offset:4px}
.filters button{min-height:44px;font-size:14px;padding:9px 17px}
.search-label{font-size:14px}.search-label input{font-size:16px;min-height:44px;color:#f0f2ef;border-color:#8c968c}
.search-label input::placeholder{color:#b9c0b8;opacity:1}
#project-count{font-size:14px;color:#bcc5b9}
.select .group{font-size:13px;color:#c2c9bd;letter-spacing:.11em}
.levels .yr{color:#b5bdb0;font-size:13px}
.levels .r{color:#c7cdbf}
.card-summary{font-size:15px;color:#c4cebf}
.levels li{padding-bottom:24px}
.reset-projects{min-height:44px;padding:10px 16px;border:1px solid #9ba68f;border-radius:5px;color:#e6ecd9;background:#30372c;font:600 14px/1.4 "Archivo",system-ui,sans-serif;margin:0 0 20px}
.reset-projects:hover{background:#e6ecd9;color:#20271c}
.no-results{color:#e7eadf;border-color:#6f7d67;background:#282f23;line-height:1.6}
.case-details>summary{min-height:48px;padding:12px 0;font-size:16px;line-height:1.5}
.case-details>summary:hover{text-decoration:underline;text-underline-offset:5px}
.case-details>summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.current-case details>summary{min-height:44px;cursor:pointer;font-weight:700;padding:10px 0}
.current-case details>summary:hover{text-decoration:underline}
.current-case .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;font-size:14px;border-radius:3px;white-space:normal}
.current-case :focus-visible,.about :focus-visible,.hero-banner :focus-visible{outline:3px solid #215c39;outline-offset:5px}
.current-case.lex-case :focus-visible{outline-color:#65417d}
.scope-note,.current-case .status{font-size:14px;color:#4d5a50;line-height:1.65}
.gallery figcaption{font-size:13px;line-height:1.5}
#lb button{min-height:44px;min-width:80px;border-radius:4px;color:#17221a;background:#f0f3e7;font:700 14px/1.4 "Archivo",sans-serif}
#lb p{color:#e4e9df;font-size:14px;line-height:1.5}
.banner-kicker,.banner-topline{color:#535f50}
.banner-topline{font-size:11px}
.banner-tabs button{min-height:48px;font-size:12px;color:#53624f}
.banner-tabs button[aria-pressed=true]{color:#213b27}
.banner-tabs button>span{opacity:1}
.banner-current small,.banner-now>div>small{color:#56664d;font-size:12px}
.banner-now>div>small{font-size:10px}
.banner-current strong,.banner-now>div>span{font-size:14px}
.banner-current>a{min-height:56px;padding:4px 0}
.banner-intro h1 small{color:#606b59}
.banner-experience{color:#4e6048}
.bar nav a{display:inline-flex;align-items:center;min-height:40px}
.bar .motion{min-height:40px;font-size:12px;border-color:#899581;color:#e6eddf}
.bar .motion:hover{background:#36432f}
.project-detail-page{overflow-x:clip}
.project-detail-page .back{color:#46564a;min-height:44px;padding:10px 0;margin-bottom:24px}
.project-detail-page .status,.project-detail-page .side dt,.project-detail-page .cover figcaption,.project-detail-page .next p{color:#46564a;font-size:14px;line-height:1.65}
.project-detail-page.lex .status{color:#51435e}
.project-detail-page .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-size:15px}
.project-detail-page .side nav a{min-height:38px;display:flex;align-items:center;padding:5px 0;font-size:14px}
.project-detail-page header nav a{min-height:44px;display:flex;align-items:center}
.project-detail-page summary{min-height:48px}
.project-detail-page :focus-visible{outline-color:#215c39}
.project-detail-page header :focus-visible{outline-color:#ffc477}
.project-detail-page .skip{color:#1b2118;background:#ffb85c}
.project-detail-page dialog button{color:#17221a;min-height:44px;min-width:80px;border-radius:4px}
@media(max-width:760px){
html{scroll-padding-top:135px}
.bar{flex-wrap:wrap;gap:4px;padding:9px 18px 8px;min-height:0}
.bar .me{width:100%;min-height:24px;display:flex;align-items:center;font-size:16px}
.bar nav{width:100%;display:flex;justify-content:space-between;gap:6px;font-size:13px}
.bar nav a[href="#about"],.bar nav a[target],.bar nav a:not(:last-child){display:inline-flex}
.bar nav a{font-size:13px;min-height:40px}
.bar .motion{min-width:67px;max-width:none;font-size:11px;line-height:1.3;padding:5px 8px}
.hero.hero-banner{padding-top:132px}
.case{scroll-margin-top:115px}
.banner-current small{font-size:12px}
.banner-tabs button{font-size:11px}
.quick-dialog{padding:20px;max-height:calc(100svh - 24px);width:calc(100vw - 24px)}
.quick-dialog p{font-size:16px;line-height:1.75}
.quick-dialog h2{font-size:29px}
.quick-dialog .btn{width:100%;margin-right:0}
.search-label input{min-width:0;width:100%}
.explore-tools{position:static;gap:14px}
.current-case .links{gap:10px}
.current-case .btn{max-width:100%;font-size:14px}
.project-detail-page header{flex-wrap:wrap;gap:3px}
.project-detail-page header .name{width:100%}
.project-detail-page header nav{width:100%;justify-content:space-between}
.project-detail-page{scroll-padding-top:130px}
.project-detail-page .side nav{gap:4px 16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
