@font-face{font-family:'Switzer';src:url('fonts/Switzer-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

*{box-sizing:border-box;margin:0;letter-spacing:.015em;word-spacing:.001em;-webkit-font-smoothing:antialiased}html,body{height:100%;background:#d9d9d9;color:#000;font:14px/1.25 'Switzer',Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:1px solid #000;outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}body{padding:15px}#app{min-height:100%;position:relative}h1,h2,h3{font:inherit}.frame{display:inline-flex;align-items:center;position:relative;padding:0 1px;line-height:1.125;white-space:nowrap}.frame:before,.frame:after{content:'';width:calc(1ch - 1px);height:1.25em;border:1px solid #000}.frame:before{border-right:0}.frame:after{border-left:0}.frame span{border-top:1px solid transparent;border-bottom:1px solid transparent}.frame:hover span{border-color:#000}.gallery{height:calc(100svh - 30px);position:relative;background:#fff;overflow:hidden}.gallery-header{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;z-index:3;line-height:1.125}.counter{display:flex;justify-content:space-between;width:10ch;font-variant-numeric:tabular-nums}.image-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.image-stage img{width:auto;height:auto;max-width:66.666%;max-height:calc(100% - 120px);object-fit:contain;user-select:none}.image-next{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;z-index:1}.image-prev{position:absolute;left:0;top:50px;bottom:0;width:15%;z-index:2;cursor:w-resize}.close{position:fixed;right:25px;top:25px;width:30px;height:30px;z-index:20}.close:before,.close:after{position:absolute;content:'';width:40px;height:1px;background:#000;top:14px;left:-5px;transform:rotate(45deg)}.close:after{transform:rotate(-45deg)}.studio{padding:10px 10px 20px;background:#d9d9d9;min-height:179px}.address{padding-right:50px}.address .contact{margin-top:1em}.bio-toggle{margin-top:30px}.bio{font:16px/1.25 'Switzer',Arial,Helvetica,sans-serif;max-width:1000px;padding:25px 0 5px}.bio p+p{margin-top:1em}.bio[hidden]{display:none}.panel{position:relative;background:#fff;padding:10px;min-height:calc(100svh - 209px)}.project{display:grid;grid-template-columns:16.66667% 83.33333%;padding-top:10px}.project-number{display:flex;align-items:flex-start;justify-content:space-between;flex-direction:column;padding-bottom:50px}.project-number .frame{margin-top:5px}.project-content{font-family:'Switzer',Arial,Helvetica,sans-serif;padding-bottom:60px}.fact{display:grid;grid-template-columns:20% 60%;font-size:1.25rem;line-height:1.25}.fact dt,.fact dd{margin:0}.image-links{display:flex;flex-wrap:wrap;align-items:start}.image-link{font:1.25rem/1.25 'Switzer',Arial,Helvetica,sans-serif;padding:5px 5px 1px;margin:2px 5px 10px 0;color:#fff;background:#000;border:1px solid #000;display:inline-block}.image-link:hover,.image-link:focus-visible{color:#000;background:#fff}.project-copy{font-size:16px;line-height:1.25;margin-left:20%;width:60%;max-width:1000px}.project-copy p+p{text-indent:20px}.credits{margin-top:20px}.credits p{text-indent:20px}.index-switch{position:fixed;left:25px;bottom:40px;z-index:10;background:#fff}.index-title{font-family:'Switzer',Arial,Helvetica,sans-serif;margin:0 0 10px 16.66667%;color:#777}.index-row{display:grid;grid-template-columns:16.66667% 83.33333%;background:#fff}.index-row .row-no{padding-top:13px}.index-row .row-content{border-top:1px solid #d9d9d9;padding:10px 0;font-family:'Switzer',Arial,Helvetica,sans-serif}.index-row .fact{font-size:16px}.index-row .project-title:hover{text-decoration:underline;text-underline-offset:3px}.index-row .image-link{font-size:1rem;padding:3px 4px 1px;margin-bottom:3px}.index-panel{padding-bottom:60px}.index-row .fact dd{overflow-wrap:anywhere}.project-footer{margin:20px 0 0 20%;width:60%;display:flex;justify-content:space-between;font:14px 'Switzer',Arial,Helvetica,sans-serif}.gallery button:focus-visible{outline-offset:-6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(min-width:1450px){html,body{font-size:16px}.project-copy{font-size:16px}}@media(max-width:819px){html,body{font-size:14px}body{padding:8px}.gallery{height:calc(100svh - 16px)}.gallery-header{top:8px;left:8px;right:8px}.image-stage img{max-width:calc(100% - 16px);max-height:50svh}.close{right:17px;top:18px;width:22px;height:22px}.close:before,.close:after{width:28px;top:10px;left:-3px}.studio{padding:8px 8px 20px;min-height:175px}.address{font-size:13px}.bio-toggle{margin-top:24px}.panel{padding:8px;min-height:calc(100svh - 191px)}.project{grid-template-columns:1fr;gap:20px}.project-number{padding-bottom:0;flex-direction:row}.fact{grid-template-columns:30% 70%;font-size:17px}.project-copy{margin:12px 0 0;width:100%;font-size:16px}.project-content{padding-bottom:65px}.index-switch{left:16px;bottom:24px}.project-footer{margin:30px 0 0;width:100%;font-size:13px}.index-title{margin-left:0}.index-row{grid-template-columns:1fr;padding-bottom:18px}.index-row .row-no{padding-top:20px}.index-row .row-content{border:0}.index-row+.index-row{border-top:1px solid #d9d9d9}.image-link{font-size:16px}.index-row .fact{font-size:16px}.index-row .image-link{font-size:14px}.bio{font-size:16px}}@media(min-width:500px) and (max-width:819px){.image-stage img{max-width:66.666%;max-height:calc(100% - 40px)}}@media(prefers-reduced-motion:no-preference){.image-stage img{animation:fade-in .22s ease-out}@keyframes fade-in{from{opacity:.5}to{opacity:1}}}
.project-image-controls{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:25px;z-index:4;background:#fff;font-size:14px;white-space:nowrap}.project-image-controls button{padding:10px;font-size:20px}.project-image-controls button:disabled{opacity:.22;cursor:default}.image-next:disabled,.image-prev:disabled{cursor:default}
.bio:not([hidden]){display:grid;grid-template-columns:230px minmax(0,1fr);gap:35px;align-items:start}.bio-portrait img{display:block;width:100%;height:auto}.bio-portrait figcaption{font:13px/1.3 'Switzer',Arial,Helvetica,sans-serif;margin-top:8px}.bio-writing p+p{margin-top:1em}@media(max-width:627px){.bio:not([hidden]){grid-template-columns:1fr;gap:24px}.bio-portrait{max-width:200px}}

/* Kahane: restrained typography, open navigation and a quieter project sheet. */
html,body{background:#e5e5e3;letter-spacing:0}body{padding:18px}.gallery{height:calc(100svh - 36px)}.gallery-header{top:20px;left:22px;right:22px;align-items:center}.wordmark{font-size:17px;letter-spacing:-.55px;line-height:1.2}.gallery-header>.frame{font-size:14px}.gallery>.counter{position:absolute;bottom:24px;left:24px;z-index:3;width:auto;gap:12px;font-size:12px;color:#777}.gallery>.counter span+span:before{content:'/';margin-right:12px;color:#aaa}.image-stage img{max-height:calc(100% - 142px);max-width:69%}.frame{padding:2px 0;line-height:1.35;border-bottom:1px solid transparent}.frame:before,.frame:after{display:none}.frame span,.frame:hover span{border:0}.frame:hover{border-bottom-color:currentColor}.studio{background:#e5e5e3;padding:20px 22px 30px;min-height:204px}.address{font-size:14px;line-height:1.5;letter-spacing:0}.address .contact{margin-top:14px}.bio-toggle{margin-top:20px;font-size:13px}.panel{padding:32px 24px;min-height:calc(100svh - 240px)}.project{grid-template-columns:12% 88%;padding-top:0}.project-number{font-size:13px;color:#73736e}.project-heading{font:normal 32px/1.15 'Switzer',Arial,Helvetica,sans-serif;letter-spacing:-.8px;margin:0 0 32px;max-width:700px}.project-content>dl{max-width:750px}.project-content .fact{grid-template-columns:24% 76%;font:14px/1.55 'Switzer',Arial,Helvetica,sans-serif;margin-bottom:4px}.fact dt{color:#73736e}.project-copy{margin:30px 0 0 24%;width:62%;max-width:580px;font-size:17px;line-height:1.5;letter-spacing:0}.project-copy p+p{text-indent:0}.credits{border-top:1px solid #e5e5e3;margin-top:28px;padding-top:16px;font:13px/1.6 'Switzer',Arial,Helvetica,sans-serif;color:#666}.credits p{text-indent:0}.image-links{gap:5px}.image-link{font:13px/1.4 'Switzer',Arial,Helvetica,sans-serif;color:#222;background:transparent;border:0;border-bottom:1px solid #bdbdb8;padding:5px 8px;margin:2px 0 5px;min-width:30px;text-align:center}.image-link:hover,.image-link:focus-visible,.image-link.is-current{background:#222;color:#fff;border-bottom-color:#222}.project-footer{margin-left:24%;width:62%;max-width:580px;margin-top:30px}.index-switch{left:42px;bottom:32px;padding:3px 0;border-bottom:1px solid #222;font-size:13px}.index-title{margin-left:12%;font:normal 26px 'Switzer',Arial,Helvetica,sans-serif;color:#222;margin-bottom:25px}.index-row{grid-template-columns:12% 88%;padding:8px 0}.index-row .row-content{border-color:#ddd}.index-row .fact{font:14px/1.5 'Switzer',Arial,Helvetica,sans-serif}.index-row .project-title{font:20px/1.35 'Switzer',Arial,Helvetica,sans-serif}.index-row .image-link{font-size:12px}.close{right:42px;top:38px;width:20px;height:20px}.close:before,.close:after{width:26px;left:-3px;top:10px}.bio{font:17px/1.5 'Switzer',Arial,Helvetica,sans-serif;padding-top:30px}.bio-portrait figcaption{font:12px/1.4 'Switzer',Arial,Helvetica,sans-serif}.project-image-controls{bottom:16px;font-size:13px}
@media(max-width:819px){body{padding:9px}.gallery{height:calc(100svh - 18px)}.gallery-header{top:18px;left:17px;right:17px}.wordmark{font-size:16px}.image-stage img{max-width:calc(100% - 32px);max-height:60svh}.gallery>.counter{left:18px;bottom:23px;font-size:11px;gap:8px}.gallery>.counter span+span:before{margin-right:8px}.studio{padding:18px 17px 26px;min-height:210px}.panel{padding:26px 18px;min-height:calc(100svh - 228px)}.project{grid-template-columns:1fr;gap:16px}.project-heading{font-size:28px;margin-bottom:25px}.project-content .fact{grid-template-columns:26% 74%;font-size:14px}.project-copy{margin:25px 0 0;width:100%;font-size:17px;line-height:1.5}.project-footer{margin:28px 0 0;width:100%}.index-title{margin-left:0}.index-row{grid-template-columns:1fr}.index-row .fact{font-size:14px}.index-switch{left:27px;bottom:22px}.close{top:28px;right:27px}.bio{font-size:16px}.project-image-controls{gap:12px;left:auto;right:12px;transform:none;bottom:9px}.project-image-controls button{font-size:20px}.project-image-controls span{font-size:12px}}
/* Licensed architectural display lettering, paired with Switzer for reading. */
.wordmark,.project-heading,.index-title,.index-row .project-title{font-family:'Switzer',Arial,Helvetica,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.035em}
.wordmark{font-size:14px;line-height:1.25}.project-heading{line-height:1.25;overflow-wrap:break-word}.index-row .project-title{font-size:22px;line-height:1.4}.project-copy,.bio{font-family:'Switzer',Arial,Helvetica,sans-serif}
@media(max-width:819px){.wordmark{font-size:14px}.project-heading{font-size:28px}.index-row .project-title{font-size:20px}}
.project-heading{font-size:20px;line-height:1.35}
.index-row .project-title{font:inherit}
.home-index{position:absolute;left:24px;bottom:20px;z-index:4;font-size:12px;color:#777}
.home-gallery>.counter{left:24px;right:auto;bottom:49px}
.project-copy>p+p{margin-top:1em}
@media(max-width:819px){.home-index{left:18px;bottom:19px;font-size:11px}.home-gallery>.counter{left:18px;right:auto;bottom:48px}}
.image-stage img[src*="assets/police-station-premia-de-mar/"]{filter:grayscale(1)}
