.projects-page .projects-banner{position:relative;isolation:isolate;overflow:hidden}
.projects-banner::before{content:"";position:absolute;inset:0 0 0 43%;z-index:-1;background:url('/assets/data-flow.svg') 65% 50%/cover no-repeat;opacity:.28;pointer-events:none}
.projects-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--navy) 25%,#071225cc 58%,#07122555);pointer-events:none}
.projects-page .projects-content{padding-top:54px}
.projects-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.projects-section-heading h2{font-size:29px;letter-spacing:-.9px}
.projects-section-heading>div>p{font-size:15px;color:var(--muted);margin-top:9px}
.projects-result-count{font-size:14px;color:var(--muted);white-space:nowrap;padding-bottom:4px}
.projects-result-count strong{font-size:20px;color:var(--blue);font-weight:680;margin-inline:4px}
.projects-controls{padding:0 0 28px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.projects-categories{min-inline-size:0;padding:0;margin:0;border:0}
.projects-category-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.projects-category-buttons button{display:inline-flex;align-items:center;gap:11px;min-height:44px;padding:10px 19px;background:#fff;color:#4d6075;border:1px solid var(--line);border-radius:30px;font-size:14px;line-height:1.5;transition:background .18s,border-color .18s,color .18s}
.projects-category-buttons button>span{font-size:11px;opacity:.75;font-variant-numeric:tabular-nums}
.projects-category-buttons button:hover{border-color:#8fb6e6;background:#f4f8fd}
.projects-category-buttons button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.projects-search-row{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:16px;align-items:end}
.projects-year-field,.projects-query-field{min-width:0;display:grid;gap:8px}
.projects-year-field label,.projects-query-field label{font-size:12px;font-weight:600;color:#50657d}
.projects-year-field select,.projects-query-field input{font-family:var(--font);min-width:0;width:100%;height:46px;border:1px solid #c8d3df;border-radius:7px;padding:10px 13px;background:#fff;color:var(--ink);font-size:14px;line-height:1.5}
.projects-year-field select{padding-right:26px;cursor:pointer}
.projects-query-controls{display:flex;gap:8px;min-width:0}
.projects-query-controls input{flex:1}
.projects-query-controls input::placeholder{color:#788696;opacity:1}
.projects-query-controls .small-button{flex-shrink:0;min-width:76px;min-height:46px}
.projects-reset{height:46px;padding:10px 5px;border:0;background:none;font:inherit;font-size:13px;color:#50657d;text-decoration:underline;text-underline-offset:4px}
.projects-reset:hover{color:var(--blue)}
.projects-page select:focus-visible,.projects-page summary:focus-visible{outline:3px solid #3991ff;outline-offset:4px}
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.project-card{min-width:0;display:flex;flex-direction:column;padding:29px 30px 25px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 5px 22px #10243d04;overflow-wrap:anywhere;scroll-margin-top:120px;transition:border-color .2s,box-shadow .2s}
.project-card:hover,.project-card:focus-within{border-color:#9cbbe0;box-shadow:0 8px 25px #1638570a}
.project-card:target{border-color:var(--blue);box-shadow:0 0 0 3px #0564df12}
.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:21px;min-height:27px}
.project-category{display:inline-flex;align-items:center;background:#edf4fd;color:#245b99;padding:4px 10px;border-radius:5px;font-size:11px;font-weight:600;line-height:1.6}
.project-year{font-size:12px;color:#64788f;letter-spacing:.2px;white-space:nowrap;font-variant-numeric:tabular-nums}
.project-card h3{font-size:23px;font-weight:650;letter-spacing:-.65px;line-height:1.5;color:var(--ink);text-wrap:pretty}
.project-facts{display:grid;gap:8px;padding:18px 0 0;margin:18px 0 0;border-top:1px solid #e8edf2}
.project-facts>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;font-size:13px;line-height:1.75}
.project-facts dt{color:#687b90;font-weight:400}
.project-facts dd{margin:0;color:#344c65;font-weight:550}
.project-summary{font-size:14px;color:var(--muted);line-height:1.9;margin-top:18px}
.project-scope{margin-top:22px;border-top:1px solid #e8edf2;border-bottom:1px solid #e8edf2}
.project-scope summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:49px;padding:13px 0;list-style:none;color:#344c65;font-size:13px;font-weight:600;cursor:pointer;user-select:none}
.project-scope summary::-webkit-details-marker{display:none}
.project-scope summary::marker{content:""}
.project-scope summary:hover{color:var(--blue)}
.project-scope summary svg{width:17px;height:17px;transition:transform .2s}
.project-scope[open] summary svg{transform:rotate(180deg)}
.project-scope ul{padding:0 0 18px 18px;margin:0;display:grid;gap:7px;color:var(--muted);font-size:13px;line-height:1.85}
.project-scope li::marker{color:#6385ab}
.project-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 20px;margin-top:24px}
.project-inquiry{display:inline-flex;align-items:center;gap:18px;min-height:36px;font-size:13px;font-weight:600;color:#1c5caa}
.project-inquiry:hover{text-decoration:underline;text-underline-offset:5px}
.project-inquiry svg{width:15px;height:15px}
.project-source{display:inline-flex;align-items:center;gap:5px;min-height:36px;font-size:11px;color:#65798e;text-decoration:underline;text-underline-offset:3px}
.project-source:hover{color:var(--blue)}
.project-source>span:last-child{font-size:14px}
.projects-empty{margin-block:8px 0}
.projects-contact{margin-top:64px;padding:35px 38px;display:flex;justify-content:space-between;align-items:center;gap:32px;background:#f3f7fc;border:1px solid #e5edf7;border-radius:16px}
.projects-contact-eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:600;color:#557da9;margin-bottom:11px}
.projects-contact h2{font-size:26px;letter-spacing:-.7px;line-height:1.5}
.projects-contact>div>p:last-child{font-size:14px;color:var(--muted);line-height:1.85;margin-top:8px}
.projects-contact>.button{flex-shrink:0;font-size:13px;gap:26px;white-space:nowrap}
@media(max-width:1000px){.project-card{padding:25px 24px 22px}.project-card h3{font-size:21px}.projects-contact{padding:30px}.project-facts>div{grid-template-columns:62px minmax(0,1fr);gap:10px}}
@media(max-width:800px){.projects-page .projects-content{padding-top:38px}.projects-section-heading{align-items:flex-start;gap:15px}.projects-section-heading h2{font-size:26px}.projects-section-heading>div>p{font-size:13px}.projects-result-count{padding-top:7px}.projects-search-row{grid-template-columns:145px minmax(0,1fr) auto;gap:12px}.projects-grid{grid-template-columns:1fr;gap:18px}.project-card{padding:26px}.project-card h3{font-size:22px}.projects-contact{margin-top:44px;gap:24px}.projects-contact h2{font-size:23px}.projects-contact>.button{padding:13px 18px;gap:18px}}
@media(max-width:600px){.projects-banner::before{left:20%;opacity:.2}.projects-search-row{grid-template-columns:minmax(0,1fr) auto;gap:16px 12px}.projects-year-field{grid-column:1;grid-row:1}.projects-reset{grid-column:2;grid-row:1;padding-inline:8px}.projects-query-field{grid-column:1/-1;grid-row:2}.projects-category-buttons{gap:7px;margin-bottom:20px}.projects-category-buttons button{padding:9px 15px;font-size:12px;gap:8px}.projects-contact{align-items:flex-start;flex-direction:column;padding:27px 25px}.projects-contact>.button{min-height:45px}.projects-section-heading{flex-wrap:wrap;gap:10px 20px}.projects-result-count{padding:0;margin-left:auto}}
@media(max-width:480px){.projects-page .projects-content{padding-top:32px}.projects-section-heading h2{font-size:25px}.projects-section-heading>div>p{font-size:12px}.projects-section-heading{margin-bottom:23px}.projects-result-count{font-size:12px}.projects-result-count strong{font-size:17px}.projects-controls{padding-bottom:24px;margin-bottom:24px}.project-card{padding:23px 21px 20px;border-radius:13px}.project-card-top{margin-bottom:17px}.project-card h3{font-size:20px;letter-spacing:-.55px}.project-facts>div{font-size:12px;grid-template-columns:58px minmax(0,1fr)}.project-summary{font-size:13px}.project-card-footer{gap:8px 16px;margin-top:19px}.project-inquiry{font-size:12px;gap:12px}.projects-contact h2{font-size:22px}.projects-contact>div>p:last-child{font-size:13px}.projects-contact{margin-top:34px}.projects-year-field select,.projects-query-field input{font-size:14px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-scope summary svg,.projects-category-buttons button{transition:none}}
