:root{--ink:#272421;--paper:#f5f2ed;--white:#fff;--line:#ded8d0;--muted:#746d65;--caslon:"Adobe Caslon Pro","Adobe Caslon",Caslon,Georgia,serif;--grotesk:"Neue Haas Grotesk Text Pro","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--grotesk)}
header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:20}.mark{font:400 25px/1 var(--caslon);color:inherit;text-decoration:none}.mark em{font-style:italic}.topnav{display:flex;gap:26px}.topnav a{font-size:12px;color:inherit;text-decoration:none}
.project-index{display:flex;justify-content:flex-end;gap:clamp(13px,1.7vw,27px);padding:26px 7vw 0}.project-index a{color:#9a9289;text-decoration:none;font-size:10px;letter-spacing:.08em;padding:5px 0;border-bottom:1px solid transparent;transition:.2s ease}.project-index a:hover,.project-index a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.project-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:38px 7vw 62px;align-items:end}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}.project-intro h1{font:400 clamp(42px,5.7vw,80px)/.94 var(--caslon);letter-spacing:-.035em;margin:0}.dek{font:400 clamp(18px,2vw,27px)/1.35 var(--caslon);max-width:680px;margin:0 0 8px}.project-number{margin-top:26px;font-size:11px;color:var(--muted);letter-spacing:.08em}
.hero{min-height:640px;background:var(--paper);display:grid;grid-template-columns:1.35fr .65fr;gap:16px;padding:16px;overflow:hidden}.hero figure{margin:0;background:#fff;min-height:0;overflow:hidden}.hero .primary{grid-row:span 2}.hero img{width:100%;height:100%;object-fit:cover;display:block}.hero .contain img{object-fit:contain;padding:3.5%;background:#fff}.hero.single{display:block;padding:clamp(25px,5vw,74px)}.hero.single figure{height:min(72vw,760px)}.hero.single img{object-fit:contain}
.hero.two{grid-template-columns:1.25fr .75fr}.hero.two .primary{grid-row:auto}.hero.two figure{height:640px}
.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.meta div{background:#fff;padding:28px 4vw}.meta span{display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.meta p{margin:0;font-size:13px;line-height:1.55}
.story{padding:92px 8vw}.story-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:9vw;max-width:1320px;margin:auto}.story h2{font:400 clamp(29px,3.5vw,48px)/1.05 var(--caslon);margin:0}.copy h3{font:400 23px/1.2 var(--caslon);margin:0 0 16px}.copy p{font-size:16px;line-height:1.72;margin:0 0 34px;max-width:760px}.deliverables{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px;border-top:1px solid var(--line);margin-top:36px}.deliverables div{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}
.impact{background:var(--paper);padding:76px 8vw}.impact-inner{display:grid;grid-template-columns:.65fr 1.35fr;gap:9vw;max-width:1320px;margin:auto}.impact h2{font:400 18px/1.2 var(--caslon);margin:0}.impact p{font:400 clamp(25px,3vw,42px)/1.22 var(--caslon);margin:0;max-width:900px}.more-info{display:inline-block;margin-top:30px;padding-bottom:5px;border-bottom:1px solid currentColor;color:var(--ink);font-size:11px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.more-info:hover{opacity:.6}
.project-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.project-nav a{padding:32px 5vw;color:inherit;text-decoration:none;font:400 19px/1.2 var(--caslon)}.project-nav a:last-child{text-align:right;border-left:1px solid var(--line)}.project-nav small{display:block;font:10px/1.2 var(--grotesk);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
footer{padding:44px 5vw;background:#fff;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.embedded-project header,.embedded-project footer{display:none}.embedded-project body{background:#fff}.embedded-project .project-index{padding-top:24px}
@media(max-width:760px){header{height:66px}.project-index{justify-content:flex-start;overflow-x:auto;padding:18px 6vw 0;gap:18px}.project-index a{flex:0 0 auto}.project-intro,.story-grid,.impact-inner{grid-template-columns:1fr}.project-intro{padding:32px 6vw 44px;gap:26px}.hero,.hero.two{min-height:0;grid-template-columns:1fr}.hero .primary{height:68vw;grid-row:auto}.hero figure,.hero.two figure{height:52vw}.meta{grid-template-columns:1fr}.story,.impact{padding:62px 7vw}.story-grid,.impact-inner{gap:32px}.deliverables{grid-template-columns:1fr}.project-nav a{font-size:16px;padding:25px 6vw}footer{display:block;line-height:1.8}}

/* Full-width project hero and supporting image gallery */
.hero,.hero.single,.hero.two{position:relative;display:block;width:100%;min-height:0;padding:0;background:var(--paper)}
.hero figure,.hero.single figure,.hero.two figure,.hero .primary{width:100%;height:clamp(520px,66vw,920px);margin:0;grid-row:auto}
.hero figure:not(.primary):not(:first-of-type){display:none}
.hero img,.hero.single img,.hero.two img,.hero .contain img{width:100%;height:100%;padding:0;object-fit:cover;background:var(--paper)}
.hero-mark{position:absolute;right:clamp(22px,5vw,72px);bottom:clamp(22px,5vw,68px);z-index:2;display:flex;align-items:center;justify-content:center;max-width:min(280px,34vw);padding:18px 24px;background:rgba(255,255,255,.92);box-shadow:0 10px 34px rgba(39,36,33,.09);backdrop-filter:blur(8px)}
.hero-mark img{width:auto!important;height:auto!important;max-width:190px;max-height:86px;object-fit:contain!important;background:transparent!important}
.hero-mark span{font:400 clamp(17px,2vw,25px)/1.05 var(--caslon);letter-spacing:-.02em;text-align:center}
.library-hero figure{background:#f3f0eb}.library-hero img{object-fit:contain;background:#f3f0eb}.girltalk-hero img{object-fit:cover}
.gallery-item.contain img{object-fit:contain;padding:10%;background:#f3f0eb}
.project-gallery{padding:0 3vw 92px;background:#fff}
.project-gallery-inner{max-width:1500px;margin:0 auto}
.project-gallery h2{font:400 18px/1.2 var(--caslon);margin:0 0 22px}
.gallery-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(8px,1.2vw,18px)}
.gallery-item{display:block;aspect-ratio:1;overflow:hidden;background:var(--paper);cursor:zoom-in}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.gallery-item:hover img{transform:scale(1.025);filter:brightness(1.025)}
.crop-left img{object-position:left center}.crop-right img{object-position:right center}.crop-top img{object-position:center top}.crop-bottom img{object-position:center bottom}
.lightbox{width:min(94vw,1500px);height:min(92vh,1000px);padding:0;border:0;background:transparent;overflow:visible}
.lightbox::backdrop{background:rgba(22,20,18,.92)}
.lightbox img{display:block;width:100%;height:100%;object-fit:contain}
.lightbox-close{position:fixed;top:20px;right:24px;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.18);color:#fff;font:300 26px/1 var(--grotesk);cursor:pointer}
@media(max-width:900px){.gallery-row{grid-template-columns:repeat(3,1fr)}.gallery-item:nth-child(4),.gallery-item:nth-child(5){grid-column:auto}.project-gallery{padding:0 5vw 70px}}
@media(max-width:760px){.hero figure,.hero.single figure,.hero.two figure,.hero .primary{height:78vw;min-height:390px}.hero-mark{right:18px;bottom:18px;max-width:45vw;padding:12px 16px}.hero-mark img{max-width:120px;max-height:55px}.gallery-row{grid-template-columns:repeat(2,1fr);gap:10px}.gallery-item:last-child{grid-column:span 2;aspect-ratio:2/1}.project-gallery{padding:0 6vw 62px}}

/* Shared gallery viewer: preserve the complete artwork at every screen size. */
.lightbox{width:96vw;max-width:1600px;height:94dvh;max-height:none;padding:52px 64px 12px;box-sizing:border-box;color:#fff}
.lightbox-stage{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;gap:14px;min-height:0}
.lightbox-stage img{width:100%;height:0;flex:1;min-height:0;object-fit:contain;touch-action:pan-y}
.lightbox-stage figcaption{flex:none;text-align:center;font:400 14px/1.5 var(--grotesk);max-width:70ch;color:#fff}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#171717b8;color:#fff;cursor:pointer;font:300 32px/1 Arial,sans-serif}
.lightbox-close{top:0;right:0}.lightbox-prev{left:0;top:45%}.lightbox-next{right:0;top:45%}
.lightbox button[hidden]{display:none}.lightbox button:hover{background:#444}.lightbox button:focus-visible,.gallery-item:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.gallery-court .gallery-item{aspect-ratio:4/5;background:#f5f5f3}
.gallery-court .gallery-item img{object-fit:contain;object-position:center;padding:0}
@media(max-width:760px){.lightbox{padding:50px 4px 62px;width:96vw;height:94dvh}.lightbox-prev,.lightbox-next{top:auto;bottom:0}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}.gallery-court .gallery-item:last-child{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}.gallery-item:hover img{transform:none}}

/* Keep the supplied Court photograph top-aligned and the building complete. */
.court-hero figure.primary{height:68vw;min-height:0}
.court-hero figure.primary img{object-position:center top}
@media(max-width:760px){.court-hero figure.primary{height:100vw;min-height:0}}

/* Court thumbnails crop to squares; the viewer retains original proportions. */
.gallery-court .gallery-item,.gallery-court .gallery-item:last-child{aspect-ratio:1;grid-column:auto}
.gallery-court .gallery-item img{object-fit:cover}

.court-process .process-intro{max-width:780px;line-height:1.65;margin:0 0 32px}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.process-grid figure{margin:0}.process-grid a{display:block;cursor:zoom-in;border:1px solid #e5e5e5}.process-grid img{display:block;width:100%;height:auto}.process-grid h3{font-size:16px;margin:20px 0 10px}.process-grid p{font-size:15px;line-height:1.6;margin:0}.process-grid a:focus-visible{outline:2px solid currentColor;outline-offset:4px}@media(max-width:760px){.process-grid{grid-template-columns:1fr;gap:32px}}

.gallery-six .gallery-row{grid-template-columns:repeat(6,minmax(0,1fr))}.gallery-six .gallery-item:last-child{grid-column:auto;aspect-ratio:1}@media(max-width:900px){.gallery-six .gallery-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.gallery-six .gallery-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared gallery caption treatment. */
.project-gallery figcaption,.project-gallery figcaption h3,.project-gallery figcaption p{font-family:Georgia,serif;font-size:12px;font-weight:400;font-style:italic;line-height:1.5;color:#777}

.lightbox-stage video{width:100%;height:0;flex:1;min-height:0;object-fit:contain}.lightbox-stage [hidden]{display:none!important}

.lightbox-publications{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin-top:9px}.lightbox-publications a{color:#fff;text-decoration:underline;text-underline-offset:4px;font:400 13px/1.5 Georgia,serif}.lightbox-publications a:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* One shared project navigation and main menu. */
.mark img{display:block;width:42px;height:48px;object-fit:contain;filter:invert(1)}
.project-index{flex-wrap:wrap;gap:12px 22px}.project-index a{font-size:12px}.project-number a{color:inherit;text-underline-offset:4px}.topnav a{font-size:14px}.project-intro>*{min-width:0}
@media(max-width:600px){header{padding:12px 5vw;height:auto;min-height:76px;gap:18px}.topnav{gap:14px;flex-wrap:wrap;justify-content:flex-end}.topnav a{font-size:13px}.mark img{width:32px;height:40px}.project-index{gap:9px 14px}.project-index a{font-size:11px}.project-nav a{overflow-wrap:anywhere}}
