:root{font-family:Arial,Helvetica,sans-serif;color:#1d1d1d;background:#fff;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #333;outline-offset:5px}header{height:120px;display:flex;align-items:center;justify-content:space-between;padding:20px 4%;gap:30px}.brand{display:flex;align-items:center;gap:18px}.brand strong{font-size:64px;letter-spacing:-5px;font-weight:700;line-height:1}.brand strong span{font-size:13px;letter-spacing:0;vertical-align:top;margin-left:6px;display:inline-block;padding-top:10px}.brand-sub{font-size:12px;letter-spacing:2px;margin-top:8px}nav{display:flex;gap:35px;font-size:14px}nav sup{font-size:10px;margin-left:4px;color:#888}nav a:hover,.text-link:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.location{font-size:12px;color:#666}.hero{padding:0 4%}.hero-image{position:relative;display:block;width:100%;height:calc(100svh - 205px);min-height:400px;max-height:850px;padding:0;text-align:left;overflow:hidden;background:#ddd}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%;transition:transform 1s}.hero-image:hover img{transform:scale(1.015)}.hero-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.42))}.image-label{position:absolute;bottom:35px;left:35px;z-index:1;color:#fff;font-size:36px;letter-spacing:-1px}.image-label small{display:block;font-size:13px;letter-spacing:0;margin-top:12px}.image-action{position:absolute;right:35px;bottom:40px;color:#fff;z-index:1;font-size:13px;border-bottom:1px solid #aaa;padding-bottom:5px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 0;font-size:12px}.counter{display:flex;gap:16px;align-items:center;color:#666}.counter button{font-size:12px;padding:0}.projects{padding:100px 4% 110px;scroll-margin-top:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #bbb;padding-top:20px;margin-bottom:45px}.section-heading h1{font-size:26px;letter-spacing:-.6px;font-weight:400;margin:0}.section-heading>span{font-size:12px;color:#777}.project-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px}.project{padding:0;text-align:left}.photo{height:390px;position:relative;overflow:hidden;background:#eee}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project:hover img{transform:scale(1.04)}.photo>span{position:absolute;top:15px;left:15px;color:#fff;font-size:12px;text-shadow:0 1px 8px #000}.caption{display:flex;justify-content:space-between;align-items:baseline;margin-top:20px}.caption h2{font-size:23px;font-weight:400;letter-spacing:-.6px;margin:0}.caption span{font-size:12px;color:#666}.project p{font-size:13px;color:#777;line-height:1.7;margin:10px 0}.studio,.contact{margin:0 4%;padding:60px 0 90px;border-top:1px solid #bbb;display:grid;grid-template-columns:1fr 2fr;gap:30px}.eyebrow{font-size:13px;padding-top:8px}.studio h2{font-size:clamp(30px,3.5vw,50px);font-weight:400;letter-spacing:-1.7px;line-height:1.16;margin:0 0 45px}.studio-text{display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:800px}.studio-text p{font-size:16px;line-height:1.65;margin:0 0 30px;color:#555}.text-link{font-size:13px;border-bottom:1px solid #999;padding-bottom:5px}.contact{padding-top:55px;padding-bottom:85px}.contact h2{font-size:clamp(40px,5vw,70px);font-weight:400;letter-spacing:-2px;margin:0 0 30px}.email{font-size:clamp(24px,3vw,40px);border-bottom:1px solid #aaa;padding-bottom:6px}.contact p{color:#777;font-size:14px;margin-top:35px}footer{display:flex;justify-content:space-between;gap:20px;background:#f2f2f2;padding:28px 4%;font-size:12px;color:#666}dialog{border:0;padding:30px;width:calc(100% - 60px);max-width:1300px;max-height:92svh;color:#222}dialog::backdrop{background:rgba(0,0,0,.7)}.dialog-top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:30px}.dialog-top button span{font-size:22px;margin-left:20px}.detail-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:45px}#detail-image{width:100%;height:60svh;object-fit:contain;background:#fff}.detail-info>span{font-size:13px;color:#777}.detail-info h2{font-size:44px;font-weight:400;letter-spacing:-1px;margin:20px 0}.detail-info p{font-size:16px;line-height:1.65}.detail-info dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:14px;border-top:1px solid #ccc;padding-top:25px;margin:30px 0}.detail-info dd{margin:0}.detail-info a{font-size:14px;border-bottom:1px solid #999}.detail-info small{display:block;color:#777;font-size:12px;margin-top:25px}.gallery-controls{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:15px}.gallery-controls button{font-size:12px;padding:5px 0}@media(min-width:1500px){.photo{height:480px}}@media(max-width:900px){header{height:100px}.brand strong{font-size:50px}.brand-sub,.location{display:none}nav{gap:22px}.hero-image{height:65svh}.hero-bottom>span:nth-child(2){display:none}.project-grid{gap:18px}.photo{height:290px}.studio,.contact{grid-template-columns:1fr 3fr}.detail-layout{gap:25px}}@media(max-width:600px){header{height:90px;padding:18px 5%;gap:15px}.brand strong{font-size:44px}nav{gap:16px;font-size:13px}nav sup{display:none}.hero{padding:0 5%}.hero-image{height:65svh;min-height:350px}.image-label{left:20px;bottom:25px;font-size:30px}.image-label small{font-size:12px;max-width:220px;line-height:1.5}.image-action{display:none}.hero-bottom{font-size:12px}.counter{gap:10px}.projects{padding:65px 5%}.section-heading h1{font-size:23px}.project-grid{grid-template-columns:1fr;gap:35px}.photo{height:400px}.studio,.contact{margin:0 5%;grid-template-columns:1fr;gap:30px;padding:35px 0 55px}.studio h2{letter-spacing:-1px}.studio-text{grid-template-columns:1fr;gap:0}.studio h2{margin-bottom:30px}footer{flex-wrap:wrap;line-height:1.7;padding:25px 5%}dialog{width:calc(100% - 20px);padding:20px}.detail-layout{grid-template-columns:1fr}#detail-image{height:42svh}.detail-info h2{font-size:35px}.detail-info dl{margin:25px 0}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

.original-logo{display:block;width:293px;height:auto;max-width:100%}.mission{max-width:700px;margin:10px 0 40px}.mission h3{font-size:16px;font-weight:400}.mission p{font-size:16px;line-height:1.65;color:#555}.career{margin:30px 0 35px;max-width:800px}.career details{border-top:1px solid #ccc}.career summary{cursor:pointer;padding:20px 0;font-size:18px}.career summary>span{float:right;color:#777;font-size:12px;margin-top:4px}.career ul{list-style:none;padding:0;margin:0 0 25px}.career li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:13px 0;font-size:14px}.career li>span{color:#888}.career small{display:block;font-size:13px;color:#777;line-height:1.6;margin-top:6px}.press-links,.social-links{display:flex;gap:25px;font-size:14px;margin:20px 0 30px}.press-links a,.social-links a{border-bottom:1px solid #aaa;padding-bottom:4px}.project-grid{row-gap:50px}@media(max-width:900px){.original-logo{width:230px}}@media(max-width:600px){.original-logo{width:140px}.career summary{font-size:16px}.career summary>span{font-size:12px}.career li{grid-template-columns:45px 1fr;gap:12px}}

header{height:100px}.original-logo{width:250px;height:auto}.hero-image{height:calc(100svh - 175px)}.hero-bottom{padding:22px 0}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 22px}.photo{height:auto!important;aspect-ratio:4/3}.caption{margin-top:14px}.caption h2{font-size:18px;letter-spacing:-.3px}.project p{font-size:14px;line-height:1.5}.projects{padding-top:70px;padding-bottom:80px}.section-heading{margin-bottom:30px}.section-heading h1{font-size:24px}.studio,.contact{padding:45px 0 60px;grid-template-columns:1fr 3fr}.studio h2,.contact h2{font-size:30px;font-weight:400;letter-spacing:-.6px;line-height:1.25;margin-bottom:28px}.studio-copy{max-width:760px}.studio-copy p,.mission p{font-size:16px;line-height:1.75;color:#555;margin:0 0 18px}.mission{max-width:760px;margin:32px 0}.mission h3{font-size:20px;letter-spacing:-.3px;margin:0 0 20px}.email{font-size:25px}.full-records{margin:0 0 25px!important}.career .full-records li{display:block;padding:14px 0;font-size:14px;line-height:1.7;border-bottom:1px solid #eee}.career .full-records a:hover{text-decoration:underline;text-underline-offset:4px}.career summary{font-size:18px}.text-cover{background:#f1f1f1;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:18px;text-align:left}.text-cover .cover-number{font-size:12px;color:#999}.text-cover .cover-name{font-size:clamp(18px,2vw,28px);line-height:1.2;letter-spacing:-.6px;max-width:95%}.text-cover .cover-type{font-size:12px;color:#777}.detail-info h2{font-size:32px}.detail-info dl{font-size:14px}.original-ficha{margin:25px 0;font-size:14px;line-height:1.65;border-top:1px solid #ccc;padding-top:18px}.original-ficha summary{cursor:pointer}.original-ficha p{font-size:14px;margin:15px 0}.no-gallery{padding:45px 25px;display:flex;align-items:center;justify-content:center;background:#f3f3f3;height:45svh;font-size:16px;color:#777;line-height:1.6}#contact-form{margin-top:35px;max-width:760px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;font-size:14px;color:#555;margin:0 0 25px}input,textarea{display:block;resize:vertical;width:100%;font:inherit;font-size:16px;color:#222;border:0;border-bottom:1px solid #bbb;background:#fafafa;padding:12px 10px;margin-top:10px;border-radius:0}input:focus,textarea:focus{outline:1px solid #777}.form-submit{display:flex;align-items:center;justify-content:space-between;gap:25px}.form-submit span{font-size:12px;color:#777;max-width:270px;line-height:1.6}.form-submit button{padding:12px 18px;border:1px solid #555;font-size:14px}.form-submit button:hover{background:#222;color:white}.detail-layout.no-photos{grid-template-columns:1fr}.detail-layout.no-photos>div:first-child{display:none}.detail-layout.no-photos .detail-info{max-width:760px}.project-nav{display:flex;justify-content:space-between;border-top:1px solid #ccc;padding-top:20px;margin-top:25px;font-size:13px}.image-label{font-size:30px}.image-label small{font-size:14px}.image-action{font-size:14px}.gallery-controls button{font-size:14px}nav{font-size:14px}header .location{font-size:14px}@media(max-width:1000px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.original-logo{width:210px}}@media(max-width:750px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio,.contact{grid-template-columns:1fr;gap:20px}.studio>.eyebrow,.contact>.eyebrow{display:none}.original-logo{width:180px}header{height:90px}.detail-layout{grid-template-columns:1fr}}@media(max-width:600px){.original-logo{width:140px}.hero-image{height:60svh;min-height:330px}.project-grid{gap:30px 16px}.caption h2{font-size:17px}.caption>span{display:none}.project p{font-size:14px}.section-heading h1{font-size:22px}.text-cover{padding:12px}.text-cover .cover-name{font-size:20px}.studio h2,.contact h2{font-size:26px}.email{font-size:22px}.form-row{grid-template-columns:1fr;gap:0}.form-submit{align-items:flex-start}.text-cover .cover-type{display:none}}@media(max-width:360px){.project-grid{grid-template-columns:1fr}nav{gap:12px;font-size:12px}.original-logo{width:120px}}

.hero-bottom>span:nth-child(2){display:flex}

/* Frame Casa Texcal around the house rather than the sky. */
.project .photo img[src="assets/texcal-user-cover.webp"]{object-position:50% 75%}

.section-heading .section-title,.studio>.section-title,.contact>.section-title{font-family:inherit;font-size:24px;font-weight:400;letter-spacing:-.6px;line-height:1.25;margin:0;padding:0}
.studio,.contact{padding-top:20px}
@media(max-width:750px){.section-heading .section-title,.studio>.section-title,.contact>.section-title{font-size:22px}.studio,.contact{padding-top:20px}}

.publication-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px}

header>nav{margin-left:auto}

.project p{font-size:.8125rem}

.studio>div,.contact>div{padding-top:48px}
@media(max-width:750px){.studio>div,.contact>div{padding-top:12px}}

.detail-info{display:flex;flex-direction:column;min-height:max(60svh,480px)}
.detail-info .project-nav{margin-top:auto;flex-shrink:0}
.detail-info #detail-credit{margin-bottom:25px}
@media(max-width:750px){.detail-info{min-height:480px}}

.detail-info .project-nav button{padding:0;line-height:1.2}
@media(min-width:751px){#detail-image{height:max(60svh,480px);display:block}.detail-info{height:max(60svh,480px);min-height:0;align-self:start}}

.hero-image img[src="assets/homepage-01.webp"]{object-position:50% 100%}

/* Mobile entrance: give the wordmark its own row and keep the work in view. */
@media(max-width:600px){
  header{height:auto;min-height:112px;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:24px 5% 20px}
  header .brand{width:100%}
  header .original-logo{width:240px;max-width:80%;height:auto}
  header>nav{margin-left:0;width:100%;justify-content:space-between;gap:20px;font-size:14px}
  .hero-image{height:auto;min-height:0;max-height:none;aspect-ratio:4/3}
  .image-label{left:16px;bottom:18px;font-size:20px;letter-spacing:-.3px;max-width:calc(100% - 32px)}
  .image-label small{font-size:11px;margin-top:7px;max-width:none;line-height:1.4}
  .hero-bottom{padding:12px 0 0;gap:8px;font-size:11px}
  .counter{gap:8px}
  .counter button{font-size:11px;min-height:36px}
  .projects{padding-top:28px}
  .section-heading{padding-top:16px;margin-bottom:22px}
}

@media(min-width:601px){
  .image-label{font-size:24px;letter-spacing:-.4px}
  .image-label small{font-size:12px;margin-top:9px}
}

.menu-toggle{display:none}
.mobile-welcome{display:none}
@media(max-width:600px){
  body.welcome-open{overflow:hidden}
  .welcome-open .mobile-welcome{display:block;position:fixed;inset:0;z-index:100;width:100%;height:100dvh;padding:0;overflow:hidden;text-align:left;background:#222}
  .mobile-welcome picture,.welcome-photo{display:block;width:100%;height:100%}
  .welcome-photo{object-fit:cover;object-position:50% 60%}
  .mobile-welcome:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.15),transparent 25%,transparent 75%,rgba(0,0,0,.25));pointer-events:none}
  .welcome-logo{position:absolute;z-index:1;top:max(28px,env(safe-area-inset-top));left:5%;width:240px;max-width:75%;height:auto;background:transparent}
  .welcome-prompt{position:absolute;z-index:1;bottom:max(32px,env(safe-area-inset-bottom));left:0;width:100%;text-align:center;color:#fff;font-size:12px;letter-spacing:.4px}
}
@media(max-width:600px){
  header{position:relative;flex-direction:row;align-items:center;justify-content:space-between;min-height:88px;gap:12px;padding:22px 5%}
  header .brand{width:auto;min-width:0}
  header .original-logo{width:240px;max-width:100%}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;flex-shrink:0;padding:8px}
  .menu-toggle span{display:block;width:24px;height:1.5px;background:currentColor;transition:transform .2s,opacity .2s}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  header>nav{display:none;position:absolute;z-index:10;top:100%;left:5%;right:5%;width:auto;margin:0;padding:12px 20px 18px;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;flex-direction:column;align-items:stretch;gap:0;font-size:16px}
  header>nav.is-open{display:flex}
  header>nav a{padding:14px 0}
  #contact-form{display:none}
}

.project .photo img[src="assets/texcal-cover-web-74.webp"]{object-position:50% 80%}

.project .photo img[src="assets/antonio-de-la-pena-y-reyes-cover-oct06.webp"]{object-position:50% 50%}

.project .photo img[src="assets/vertiz1032-cover-oct06.webp"]{object-position:50% 50%}

.project .photo img[src="assets/fernando-iglesias-calderon-cover-oct06.webp"]{object-position:50% 50%}

.project .photo img[src="assets/casa-espigones-cover-oct06.webp"]{object-position:50% 50%}

.project .photo img[src="assets/texcal-cover-oct06.webp"]{object-position:50% 80%}
