.projects-page{width:min(100% - 5rem,80rem);margin-inline:auto;padding-block:clamp(7rem,9vw,9rem) 5.5rem}.projects-page-header .eyebrow{margin-bottom:1.25rem}.projects-page-header h1{letter-spacing:-.045em;font-size:clamp(2.4rem,4.1vw,4rem);font-weight:650;line-height:1.12}.projects-page-intro{max-width:60rem;color:rgb(var(--c-ink-soft));margin-top:1.35rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.8}.projects-page-nav{border-bottom:1px solid rgb(var(--c-line));gap:2.6rem;margin-top:2.4rem;display:flex}.projects-page-nav a{color:rgb(var(--c-ink-soft));border-bottom:2px solid #0000;margin-bottom:-1px;padding:.7rem .15rem 1rem;font-weight:550;transition:color .18s,border-color .18s;display:inline-flex}.projects-page-nav a:hover,.projects-page-nav a:focus-visible{color:rgb(var(--c-accent));border-bottom-color:rgb(var(--c-accent))}.projects-page:not(:has(#engineering-practice:target)) .projects-page-nav a:first-child{color:rgb(var(--c-accent));border-bottom-color:rgb(var(--c-accent))}.projects-page:has(#engineering-practice:target) .projects-page-nav a:last-child{color:rgb(var(--c-accent));border-bottom-color:rgb(var(--c-accent))}.projects-research,.projects-practice{scroll-margin-top:6rem}.project-case{border-bottom:1px solid rgb(var(--c-line));align-items:center;gap:clamp(2rem,4vw,4rem);padding-block:clamp(2.5rem,4vw,4rem);display:grid}.project-case-lead{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr)}.project-case-publication{grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}.project-case-copy{min-width:0}.project-case-context{color:rgb(var(--c-accent));letter-spacing:.03em;font-size:.9rem;font-weight:550}.project-case h2{letter-spacing:-.035em;margin-top:1.1rem;font-size:clamp(1.85rem,2.8vw,2.65rem);font-weight:650;line-height:1.25}.project-case-lead h2{font-size:clamp(2.6rem,4vw,3.65rem)}.project-case-subtitle{margin-top:.55rem;font-size:clamp(1.1rem,1.7vw,1.4rem);font-weight:500;line-height:1.55}.project-case-summary{max-width:33rem;color:rgb(var(--c-ink-soft));margin-top:1.4rem;font-size:1rem;line-height:1.85}.project-case-publication-meta{color:rgb(var(--c-ink-soft));align-items:flex-start;gap:.7rem;margin-top:1.35rem;font-size:.9rem;line-height:1.75;display:flex}.project-case-publication-meta svg{color:rgb(var(--c-accent));flex-shrink:0;margin-top:.15rem}.project-case-contribution{color:rgb(var(--c-ink-soft));align-items:flex-start;gap:.8rem;margin-top:1.65rem;font-size:.95rem;line-height:1.8;display:flex}.project-case-contribution>svg{color:rgb(var(--c-accent));flex-shrink:0;margin-top:.15rem}.project-case-contribution-label{color:rgb(var(--c-ink));font-weight:550}.project-case-links{flex-wrap:wrap;align-items:center;gap:.7rem 1.3rem;margin-top:1.75rem;display:flex}.project-primary-link,.project-evidence-link{justify-content:center;align-items:center;gap:.7rem;min-height:2.85rem;font-size:.9rem;font-weight:550;transition:color .18s,background-color .18s;display:inline-flex}.project-primary-link{background:rgb(var(--c-accent));color:rgb(var(--c-bg));border-radius:999px;padding:.65rem 1.5rem}.project-primary-link:hover{background:rgb(var(--c-accent-strong))}.project-evidence-link{color:rgb(var(--c-accent));padding:.6rem .15rem}.project-evidence-link:hover{color:rgb(var(--c-accent-strong));text-underline-offset:.25rem;text-decoration:underline}.project-case-methods{flex-wrap:wrap;gap:.6rem;margin-top:1.65rem;display:flex}.project-case-methods li{background:rgb(var(--c-accent) / .055);color:rgb(var(--c-ink-soft));border-radius:999px;padding:.4rem .85rem;font-size:.75rem}.project-case-media{border:1px solid rgb(var(--c-line));background:rgb(var(--c-surface));border-radius:.8rem;min-width:0;padding:.85rem;overflow:hidden}.project-case-media figcaption{color:rgb(var(--c-ink-faint));margin-top:.65rem;font-size:.75rem;line-height:1.65}.project-forecast-image{aspect-ratio:1.2;background:#fff;border:1px solid #e6e9ec;border-radius:.35rem;width:100%;position:relative;overflow:hidden}.project-case-publication .project-case-copy{grid-area:1/2}.project-case-publication .project-case-media{grid-area:1/1}.project-ffa-media{padding:1rem}.project-ffa-sequence{gap:1rem}.project-ffa-sequence>div:first-child{width:100%;max-width:23rem}.project-ffa-sequence [data-ffa-timeline]{padding-inline:.1rem}.project-ffa-media figcaption{margin-top:1rem}.projects-practice{padding-top:clamp(2.7rem,4.8vw,4.5rem)}.practice-header{grid-template-columns:minmax(0,1fr) minmax(18rem,23rem);align-items:start;gap:2rem;display:grid}.practice-header h2{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:650;line-height:1.25}.practice-header p{color:rgb(var(--c-ink-soft));margin-top:.6rem;font-size:1.05rem;line-height:1.8}.practice-controls{min-width:0}.practice-search{border:1px solid rgb(var(--c-line));color:rgb(var(--c-ink-faint));background:rgb(var(--c-surface) / .55);border-radius:999px;align-items:center;gap:.65rem;padding:.6rem 1rem;display:flex}.practice-search:focus-within{outline:2px solid rgb(var(--c-accent));outline-offset:3px}.practice-search svg{flex-shrink:0}.practice-search input{width:100%;min-width:0;color:rgb(var(--c-ink));background:0 0;border:0;outline:none;font-size:.875rem;line-height:1.5}.practice-search input::placeholder{color:rgb(var(--c-ink-faint))}.practice-filters{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.85rem;display:flex}.practice-filters button{color:rgb(var(--c-ink-soft));border:1px solid #0000;border-radius:999px;min-height:2.5rem;padding:.5rem .85rem;font-size:.8rem;transition:background-color .18s,color .18s}.practice-filters button:hover{color:rgb(var(--c-accent));background:rgb(var(--c-accent) / .055)}.practice-filters button[aria-pressed=true]{background:rgb(var(--c-accent));color:rgb(var(--c-bg))}.practice-result-count{color:rgb(var(--c-ink-faint));margin-block:1rem .65rem;font-size:.75rem}.practice-list{margin:0;padding:0;list-style:none}.practice-row{-moz-column-gap:2rem;border-bottom:1px solid rgb(var(--c-line));grid-template-columns:8rem minmax(0,1fr) auto;align-items:center;column-gap:2rem;padding:1.7rem 1.25rem;display:grid}.practice-row-illustrated{background:rgb(var(--c-surface) / .8);border:1px solid rgb(var(--c-line));border-radius:.8rem;grid-template-columns:8rem 11rem minmax(0,1fr) auto;margin-bottom:.4rem;padding-block:1.15rem}.practice-year{color:rgb(var(--c-ink-soft));font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem}.practice-thumbnail{border-radius:.5rem;height:7rem;margin:0;position:relative;overflow:hidden}.practice-copy{min-width:0}.practice-copy h3{font-size:1.1rem;font-weight:600;line-height:1.5}.practice-copy h3 a{transition:color .18s}.practice-copy h3 a:hover{color:rgb(var(--c-accent))}.practice-summary{color:rgb(var(--c-ink-soft));margin-top:.3rem;font-size:.925rem;line-height:1.7}.practice-methods{color:rgb(var(--c-ink-faint));margin-top:.8rem;font-size:.8rem;line-height:1.6}.practice-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:.6rem 1.2rem;max-width:22rem;display:flex}.practice-detail-link{min-height:2.75rem;color:rgb(var(--c-accent));white-space:nowrap;justify-content:flex-end;align-items:center;gap:.7rem;font-size:.85rem;font-weight:500;display:inline-flex}.practice-detail-link svg{flex-shrink:0;transition:transform .18s}.practice-detail-link:hover svg{transform:translate(3px)}.practice-empty{border-block:1px solid rgb(var(--c-line));text-align:center;min-height:15rem;color:rgb(var(--c-ink-soft));flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;padding:2rem;display:flex}.practice-empty button{color:rgb(var(--c-accent));border:1px solid rgb(var(--c-line));border-radius:999px;align-items:center;gap:.7rem;min-height:2.75rem;padding-inline:1rem;display:inline-flex}@media (max-width:1099px){.projects-page{width:calc(100% - 4rem)}.practice-row{-moz-column-gap:1.25rem;grid-template-columns:6.75rem minmax(0,1fr) 9rem;column-gap:1.25rem;padding-inline:.8rem}.practice-row-illustrated{grid-template-columns:6.75rem 9.5rem minmax(0,1fr) 7rem}.practice-actions{flex-direction:column;align-items:flex-end;gap:.25rem}.project-case{gap:2rem}}@media (max-width:799px){.projects-page{width:calc(100% - 2.5rem);padding-top:6.75rem;padding-bottom:3.5rem}.projects-page-header .eyebrow{margin-bottom:1rem}.projects-page-nav{gap:2rem;margin-top:1.7rem}.project-case{grid-template-columns:minmax(0,1fr);gap:1.8rem;padding-block:2.4rem}.project-case-publication .project-case-copy,.project-case-publication .project-case-media{grid-area:auto}.project-case h2{margin-top:.8rem}.project-case-subtitle{max-width:35rem}.project-case-summary{max-width:none;margin-top:1rem}.project-case-contribution{margin-top:1.2rem}.project-case-links,.project-case-methods{margin-top:1.3rem}.project-case-media{justify-self:center;width:100%;max-width:37rem}.project-ffa-sequence>div:first-child{max-width:21rem}.practice-header{grid-template-columns:minmax(0,1fr);gap:1.4rem}.practice-controls{max-width:30rem}.practice-filters button{padding-inline:.75rem;font-size:.8rem}.practice-row{grid-template-columns:6.5rem minmax(0,1fr);row-gap:.65rem;padding:1.3rem .5rem}.practice-row .practice-copy{grid-column:2}.practice-actions{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center;max-width:none}.practice-row-illustrated{-moz-column-gap:1.2rem;grid-template-columns:7.25rem minmax(0,1fr);column-gap:1.2rem;padding:1rem}.practice-row-illustrated .practice-year{grid-column:1/-1}.practice-thumbnail{grid-area:2/1;height:6.5rem}.practice-row-illustrated .practice-copy{grid-area:2/2}.practice-row-illustrated .practice-actions{grid-column:2}.practice-copy h3{font-size:1rem}}@media (max-width:479px){.projects-page-header h1{font-size:2.2rem}.projects-page-intro{font-size:.975rem}.project-case h2{font-size:1.75rem}.project-case-lead h2{font-size:2.7rem}.project-case-summary{font-size:.925rem}.project-case-subtitle{font-size:1.05rem}.project-case-media{padding:.65rem}.project-primary-link{padding-inline:1.2rem}.project-case-links{gap:.5rem 1rem}.project-case-contribution{font-size:.875rem}.project-case-publication-meta{font-size:.825rem}.practice-row{grid-template-columns:minmax(0,1fr);row-gap:.5rem}.practice-row .practice-copy,.practice-row .practice-actions{grid-column:1}.practice-row .practice-year{font-size:.85rem}.practice-row-illustrated{grid-template-columns:6.25rem minmax(0,1fr);gap:.65rem 1rem}.practice-row-illustrated .practice-year{grid-column:1/-1}.practice-row-illustrated .practice-copy{grid-area:2/2}.practice-row-illustrated .practice-actions{grid-column:1/-1}.practice-row-illustrated .practice-methods{margin-top:.5rem;font-size:.7rem}.practice-summary{font-size:.875rem}}@media (max-width:359px){.practice-row-illustrated{grid-template-columns:minmax(0,1fr)}.practice-row-illustrated .practice-thumbnail{grid-area:2/1;height:8rem}.practice-row-illustrated .practice-copy{grid-area:3/1}.practice-row-illustrated .practice-actions{grid-column:1}}@media (prefers-reduced-motion:reduce){.projects-page *,.projects-page :before,.projects-page :after{scroll-behavior:auto;transition:none!important}}
