:root{--blue:#466de4;--text:#4b4b4b}*{box-sizing:border-box}body{margin:0;background:white;color:var(--text);font-family:Georgia,'Times New Roman',serif}a{color:inherit;text-decoration:none}aside{position:fixed;left:4.9vw;top:10.5vh;width:180px}.identity{color:var(--blue);display:inline-block}.identity strong{display:block;font-family:Arial,sans-serif;font-size:39px;line-height:1.15;letter-spacing:-1px}.identity span{display:block;font-size:21px;line-height:1.15;margin-top:3px}nav{margin-top:62px;display:flex;flex-direction:column;gap:16px;font-family:Arial,sans-serif;font-size:16px}nav a[aria-current=page]{font-weight:600}.social{margin-top:48px;color:#aaa;font:bold 16px Arial,sans-serif}.social a:hover{color:var(--blue)}main{margin-left:23%;width:73%;padding-top:5vh;padding-bottom:80px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 0}.tile{display:block;text-align:center}.square{width:100%;aspect-ratio:1;background:white;display:grid;place-items:center}.square img{width:100%;height:100%;object-fit:contain;transition:opacity .28s ease}.square.inset img{width:62%;height:80%;object-fit:contain}.tile:hover img,.tile:focus-visible img{opacity:.38}.tile h2{font-size:17px;line-height:1.4;font-weight:400;margin:20px 8px 7px}.year{font-family:Arial,sans-serif;font-size:14px;color:#aaa;margin:0}.project-page{width:51.5%;margin:7.8vh auto 0}.sequence{display:flex;flex-direction:column;gap:65px}.sequence figure{margin:0}.sequence img{width:100%;height:auto;display:block}.sequence figcaption{font-size:12px;line-height:1.6;color:#999;margin-top:14px}.project-text{margin:55px 0;line-height:1.8;font-size:15px}.project-text h1{font-weight:400;font-size:23px;line-height:1.4}.project-nav{display:flex;justify-content:space-between;gap:25px;margin-top:65px;border-top:1px solid #eee;padding-top:22px;font-size:13px}.project-nav a:hover,nav a:hover{color:var(--blue)}.contact-page{width:51.5%;margin:6.7vh auto 0;font-family:Arial,sans-serif}label{display:block;font-size:16px;margin-bottom:12px}input,textarea{display:block;width:100%;border:1px solid #e9e9e9;border-radius:3px;font:16px Arial,sans-serif;padding:17px 13px;color:#555;background:#fff;margin-bottom:36px}input::placeholder,textarea::placeholder{color:#bbb}textarea{min-height:170px;resize:vertical}button{padding:11px 35px;background:white;border:1px solid #aabfff;color:var(--blue);font:20px Georgia,serif;cursor:pointer}button:hover{background:#f4f6ff}.contact-note{font-size:12px;color:#888;line-height:1.7;max-width:440px;margin-top:22px}.contact-note a{color:var(--blue)}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}#status{font-size:13px;color:var(--blue);line-height:1.6}@media(min-width:1700px){aside{top:10.5vh}.tile h2{font-size:18px}}/* Desktop geometry measured from the 2048 px reference: gallery x=522,
width=1349, square=449.7; row starts y=54 and 629. White background retained. */
@media(min-width:1001px){
 aside{left:8.98vw;top:6.55vw;width:180px}
 main{margin-left:25.49%;width:65.87%;padding-top:2.637vw}
 .gallery{column-gap:0;row-gap:2.2vw}
 .tile h2{margin-top:1.56vw;margin-bottom:7px}
 .tile{min-width:0}
 .square{aspect-ratio:1/1}
 .square.inset img{width:56%;height:80%}
 .contact-page,.project-page{width:49.5%}
 .contact-page{margin-top:4.3vw}
 .project-page{margin-top:5.1vw}
 input{height:56px;padding:16px 13px;margin-bottom:40px}
 textarea{height:176px;min-height:176px;margin-bottom:39px}
 label{margin-bottom:12px;line-height:20px}
 nav{margin-top:62px;gap:16px}
 .social{margin-top:48px}
}
@media(max-width:1000px){aside{left:4%;width:150px}.identity strong{font-size:32px}.identity span{font-size:18px}main{margin-left:25%;width:71%}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page,.contact-page{width:83%}}@media(max-width:600px){aside{position:static;width:auto;padding:30px 6%;display:flex;justify-content:space-between;align-items:flex-start}.identity strong{font-size:29px}.identity span{font-size:16px}nav{margin-top:7px;font-size:12px;gap:17px}.social{display:none}main{margin:0;width:100%;padding:5px 6% 55px}.gallery{gap:30px 8px}.tile h2{font-size:14px;margin-top:10px}.year{font-size:12px}.square.inset img{width:78%;height:85%}.project-page,.contact-page{width:100%;margin:30px 0 0}.sequence{gap:35px}.project-text{margin:35px 0}.project-nav{font-size:12px}.contact-page input,.contact-page textarea{font-size:16px}}@media(prefers-reduced-motion:reduce){.square img{transition:none}}

/* User-selected typography. Adobe project supplies the webfont faces.
   Light (300) will resolve automatically once enabled in the same Adobe kit. */
.tile h2,.project-text h1{font-family:"adelle",Georgia,serif;font-size:14px;font-weight:400}
.identity strong{font-family:"proxima-nova",Arial,sans-serif;font-size:30px;font-weight:700;letter-spacing:normal}
.identity span{font-family:"adelle",Georgia,serif;font-size:14px;font-weight:400}
nav{font-family:"proxima-nova",Arial,sans-serif;font-size:14px;font-weight:300}
nav a[aria-current="page"]{font-weight:700}
.year{font-family:"proxima-nova",Arial,sans-serif;font-size:12px;font-weight:300}
nav{gap:8px}

.social{display:flex;align-items:center;gap:22px}.social a{display:inline-flex;align-items:center;justify-content:center;min-width:18px;min-height:24px}.social svg{display:block}
@media(max-width:600px){.social{display:none}}

.social{gap:12px}
.identity:hover strong,.identity:focus-visible strong{font-weight:300}
.tile h2,.project-text h1{font-weight:300}
.page-footer{margin-left:25.49%;width:65.87%;padding:15px 0 45px;text-align:center}
.top-button{padding:10px 16px;border:0;background:transparent;color:#888;font-family:"proxima-nova",Arial,sans-serif;font-size:12px;font-weight:300;cursor:pointer}
.top-button:hover{background:transparent;color:var(--blue)}
@media(max-width:1000px){.page-footer{margin-left:25%;width:71%}}
@media(max-width:600px){.page-footer{margin-left:0;width:100%;padding-bottom:30px}}
.identity span{font-weight:100}

/* Project detail typography; nine pixels of leading above the font size. */
.project-text{font-family:"proxima-nova",Arial,sans-serif;font-size:12px;font-weight:400;line-height:21px}
.project-text h1{font-family:"proxima-nova",Arial,sans-serif;font-size:16px;font-weight:100;line-height:25px;text-transform:uppercase;color:#000;margin:0 0 9px}
.project-text .year{font-family:"proxima-nova",Arial,sans-serif;font-size:12px;font-weight:100;line-height:21px;color:#999;margin:0 0 18px}
.project-text p:not(.year){margin:0 0 18px}
.project-nav{font-family:"proxima-nova",Arial,sans-serif;font-size:12px;font-weight:400;color:#999}
.project-text h1{font-weight:300;margin-bottom:3px}
/* Full-format project images align with the complete gallery width. */
.project-page{width:100%;margin:0 auto}
.sequence{gap:12px}
.sequence img{width:100%;height:auto;object-fit:contain}
.project-text{width:49.5%;margin:55px auto}
.project-nav{width:49.5%;margin:65px auto 0}
.project-text h1{font-size:14px;line-height:23px}
@media(min-width:1001px){.project-page{margin-top:.9vw}}
@media(max-width:1000px){.project-text,.project-nav{width:83%}}
@media(max-width:600px){.project-page{margin-top:30px}.project-text,.project-nav{width:100%}.project-text{margin:35px 0}.sequence{gap:12px}}
.project-text{width:800px;max-width:100%;margin-left:auto;margin-right:auto}
/* Contact proportions measured from the supplied 2048px reference. */
.contact-page{font-family:"proxima-nova",Arial,sans-serif}
.contact-page label{font-family:"proxima-nova",Arial,sans-serif;font-size:14px;font-weight:300;line-height:20px;margin-bottom:12px;color:var(--text)}
.contact-page input:not([type="hidden"]),.contact-page textarea{font-family:"proxima-nova",Arial,sans-serif;font-size:14px;font-weight:300;line-height:20px;padding:17px 13px;border:1px solid #e9e9e9;border-radius:2px}
.contact-page input:not([type="hidden"]){height:56px;margin-bottom:41px}
.contact-page textarea{height:177px;min-height:177px;margin-bottom:40px}
.contact-page button[type="submit"]{font-family:"adelle",Georgia,serif;font-size:14px;font-weight:400;line-height:20px;width:146px;height:48px;padding:0;border:1px solid #aabfff;border-radius:0}
.contact-page .contact-note{font-family:"proxima-nova",Arial,sans-serif;font-size:12px;font-weight:300;line-height:20px;margin-top:22px}
@media(min-width:1001px){.contact-page{width:49.7%;margin-top:4.3vw}}
@media(max-width:600px){.contact-page input:not([type="hidden"]),.contact-page textarea{font-size:16px}.contact-page input:not([type="hidden"]){margin-bottom:30px}}
.project-nav{width:800px;max-width:100%;margin-left:auto;margin-right:auto}

.menu-toggle{display:none}
@media(max-width:600px){
 aside{position:relative;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;padding:40px 4.55% 0;min-height:134px;width:100%}
 .identity strong{font-size:30px;line-height:34px}
 .identity span{display:none}
 .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:40px;margin:-3px -5px 0 0;padding:5px;border:0;background:transparent;color:#555}
 .menu-toggle:hover{background:transparent}
 .menu-toggle span{display:block;width:32px;height:2px;background:currentColor}
 .navigation-wrap{display:none;width:100%;padding:20px 0 28px}
 .menu-open .navigation-wrap{display:block}
 .navigation-wrap nav{margin-top:0;gap:12px;font-size:14px}
 .navigation-wrap .social{display:flex;margin-top:22px;gap:12px}
 main{margin:0;width:100%;padding:0 4.55% 55px}
 .gallery{grid-template-columns:1fr;gap:30px}
 .square.inset img{width:56%;height:80%}
 .project-page{width:100%;margin:0}
 .sequence{gap:8px}
 .sequence figure,.sequence img{width:100%;margin:0}
 .project-text{margin:35px auto;width:100%;max-width:800px}
 .project-nav{width:100%;max-width:800px;margin-top:40px}
 .contact-page{width:100%;margin:0}
 .page-footer{width:100%;margin:0;padding:10px 4.55% 30px}
}

/* iPhone correction: relative headers must not inherit desktop top/left offsets. */
@media(max-width:600px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 aside{position:relative;inset:auto;left:auto;top:auto;right:auto;bottom:auto;height:134px;min-height:134px;padding:40px 4.55% 0;margin:0;z-index:10;background:#fff}
 main{position:relative;clear:both;padding-top:0}
 .project-page{margin-top:0}
 .contact-page{padding-top:36px;margin-top:0}
 .contact-page label{font-size:14px;line-height:20px;margin-bottom:8px}
 .contact-page input:not([type="hidden"]){height:48px;padding:13px;margin-bottom:23px}
 .contact-page textarea{height:179px;min-height:179px;padding:17px 13px;margin-bottom:23px}
 .contact-page button[type="submit"]{width:148px;height:42px}
 body.mobile-menu-open{overflow:hidden}
 .menu-open .navigation-wrap{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;width:100%;height:100vh;height:100dvh;padding:0;background:#fff;overflow-y:auto;overscroll-behavior:contain}
 .menu-open .navigation-wrap nav{margin:0 0 70px;align-items:center;gap:42px;font-size:28px;line-height:42px;font-weight:300;text-align:center}
 .menu-open .navigation-wrap nav a{color:#999}
 .menu-open .navigation-wrap nav a[aria-current="page"]{color:#333;font-weight:400}
 .menu-open .navigation-wrap .social{position:absolute;bottom:0;left:0;width:100%;height:102px;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid #f3f3f3;display:flex;justify-content:center;gap:60px;margin:0}
 .menu-open .navigation-wrap .social svg{width:18px;height:18px}
 .menu-open .menu-toggle{position:fixed;top:37px;right:calc(4.55% - 5px);z-index:101;margin:0}
 .menu-open .menu-toggle span{position:absolute;width:26px}
 .menu-open .menu-toggle span:nth-child(1){transform:rotate(45deg)}
 .menu-open .menu-toggle span:nth-child(2){opacity:0}
 .menu-open .menu-toggle span:nth-child(3){transform:rotate(-45deg)}
}
.sequence{gap:36px}
@media(max-width:600px){.sequence{gap:24px}}

.sequence{gap:72px}
@media(max-width:600px){.sequence{gap:48px}}
.project-text .figure-list{list-style:none;padding:0;margin:24px 0 0;font-family:"proxima-nova",Arial,sans-serif;font-size:12px;font-weight:400;line-height:21px;color:#999}
.figure-list li{margin:0 0 6px}

.sequence figcaption{font-family:"proxima-nova",Arial,sans-serif;font-size:12px;font-weight:400;line-height:21px;color:#999;text-align:right;margin-top:12px}
.project-source{text-decoration:underline;text-underline-offset:3px}
.project-source:hover{color:var(--blue)}

.gallery .tile h2{margin-top:0}
