.projects-page{--portfolio-width:1600px;--portfolio-gutter:var(--page-gutter);background:var(--color-paper);color:var(--color-charcoal)}.projects-portfolio{max-width:var(--portfolio-width);padding:clamp(46px, 5.7vw, 86px) var(--portfolio-gutter) clamp(60px, 8vw, 120px);margin-inline:auto}.projects-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:clamp(32px,4.5vw,66px);display:flex}.projects-heading .eyebrow{margin-bottom:16px}.projects-heading h1{letter-spacing:-.075em;font-size:clamp(72px,11.8vw,180px);line-height:.88}.projects-heading-aside{max-width:320px;padding-bottom:4px}.projects-heading-aside>p{letter-spacing:-.02em;font-size:clamp(16px,1.38vw,21px);line-height:1.45}.projects-explore,.projects-gallery-heading>a{align-items:center;gap:18px;min-height:44px;text-decoration:underline 1px;display:inline-flex}.projects-explore{margin-top:12px;font-size:14px}.projects-explore .arrow,.projects-gallery-heading .arrow{flex-basis:16px;width:16px;height:16px}.projects-gallery-heading{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 14px;min-height:58px;display:flex}.projects-gallery-heading>a{gap:8px;font-size:12px}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(44px,5.3vw,86px) clamp(14px,2.1vw,32px);display:grid}.project{grid-column:span 5;min-width:0}.project-large{grid-column:span 7}.project:nth-child(4n+2){padding-top:clamp(38px,6.2vw,96px)}.project:nth-child(4n+3){padding-top:clamp(30px,4.5vw,72px)}.project-open{display:block;position:relative}.project-image{aspect-ratio:4/5;background:var(--color-sand);position:relative;overflow:clip}.project-large .project-image{aspect-ratio:1.28}.project-image picture,.project-image img{width:100%;height:100%}.project-image img{object-fit:cover}.project-open-label{background:var(--color-paper);min-height:44px;color:var(--color-charcoal);align-items:center;gap:22px;padding:10px 14px;font-size:12px;display:flex;position:absolute;inset:auto 16px 16px auto}.project figcaption{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:start;gap:10px 16px;margin-top:16px;padding-top:15px;display:flex}.project figcaption h2{letter-spacing:-.045em;font-size:clamp(24px,2.5vw,38px);line-height:1.13}.project figcaption p{color:#1a202ccc;margin-top:8px;font-size:13px}.project-category{margin-top:5px}.projects-experience{padding:clamp(60px, 7.5vw, 112px) var(--portfolio-gutter);background:var(--color-charcoal);color:var(--color-paper)}.projects-experience-inner{max-width:calc(var(--portfolio-width) - var(--portfolio-gutter) * 2);grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);margin-inline:auto;display:grid}.projects-experience-intro{align-self:start}.projects-experience-intro .eyebrow{color:var(--color-sand);margin-bottom:22px}.projects-experience h2,.projects-invitation h2{letter-spacing:-.055em;font-size:clamp(36px,4.9vw,75px);line-height:1.05}.projects-experience-intro>p:not(.eyebrow){max-width:36ch;color:var(--color-cool);margin-block:20px;font-size:15px}.projects-experience-intro>.text-link{font-size:13px}.project-record{border-top:1px solid #ffffff3d}.project-record:last-child{border-bottom:1px solid #ffffff3d}.project-record summary{cursor:pointer;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:16px;padding-block:25px;list-style:none;display:grid}.project-record summary::-webkit-details-marker{display:none}.project-record-heading>span{color:var(--color-cool);margin-top:8px;font-size:13px;display:block}.project-record-heading>.project-record-title{color:inherit;font-family:var(--font-headline);letter-spacing:-.025em;margin:0;font-size:clamp(20px,1.85vw,28px);line-height:1.25}.project-record-toggle{border:1px solid #ffffff4d;border-radius:50%;width:32px;height:32px;position:relative}.project-record-toggle:before,.project-record-toggle:after{content:"";background:currentColor;height:1px;position:absolute;top:calc(50% - .5px);left:8px;right:8px}.project-record-toggle:after{transition:rotate .3s;rotate:90deg}.project-record[open] .project-record-toggle:after{rotate:0deg}.project-record[open] .project-record-title,.project-record summary:hover .project-record-title{color:var(--color-sand)}.project-record-body{padding-bottom:26px}.project-record-body>p{max-width:42ch;font-size:15px}.project-record-body dl{flex-wrap:wrap;gap:12px 36px;margin:18px 0 0;display:flex}.project-record-body dt{text-transform:uppercase;letter-spacing:.1em;color:var(--color-cool);font-size:10px}.project-record-body dd{margin:5px 0 0;font-size:13px}.projects-invitation{max-width:var(--portfolio-width);padding:clamp(60px, 7.5vw, 112px) var(--portfolio-gutter);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:26px 60px;margin-inline:auto;display:flex}.projects-invitation-aside{width:330px;max-width:100%}.projects-invitation-aside>p{max-width:33ch;margin-bottom:20px;font-size:15px}.projects-contact-button{border:1px solid var(--color-charcoal);background:var(--color-charcoal);min-height:54px;color:var(--color-white);align-items:center;gap:14px;padding:14px 18px;font-size:14px;transition:background-color .25s;display:flex}.projects-contact-button .arrow{margin-inline-start:auto}.projects-contact-button:hover{background:var(--color-black)}.projects-contact-button:focus-visible{outline-color:var(--color-charcoal)}html:has(.project-viewer[open]){overflow:hidden}.project-viewer{background:var(--color-charcoal);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--color-white);border:0;margin:0;padding:0;position:fixed;inset:0}.project-viewer::backdrop{background:var(--color-charcoal)}.project-viewer-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(216px,310px);gap:24px clamp(24px,4vw,68px);height:100%;padding:20px clamp(24px,4vw,68px) 32px;display:grid}.project-viewer-header{border-bottom:1px solid #ffffff38;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.project-viewer-header .eyebrow>span{color:var(--color-cool)}.project-viewer-close{min-height:44px;color:inherit;background:0 0;border:1px solid #ffffff5c;align-items:center;gap:20px;padding:6px 12px;font-size:13px;display:flex}.project-viewer-close>span{font-size:28px;line-height:1}.project-viewer-stage{background:#0000002e;place-items:center;min-width:0;min-height:0;display:grid;position:relative}.project-viewer-image{object-fit:contain;width:100%;height:100%;min-height:0}.project-viewer-image[hidden],.project-viewer-error[hidden]{display:none}.project-viewer-stage[aria-busy=true]:after{content:"Cargando imagen…";background:var(--color-charcoal);white-space:nowrap;padding:8px 14px;font-size:13px;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.project-viewer-error{max-width:35ch;padding:16px;font-size:14px}.project-viewer-error a{text-decoration:underline}.project-viewer-aside{align-self:center;min-width:0}.project-viewer-caption .eyebrow{color:var(--color-sand)}.project-viewer-caption h2{margin-block:12px;font-size:clamp(30px,3vw,44px)}.project-viewer-caption>p:last-child{color:var(--color-paper);font-size:14px}.project-viewer-controls{gap:10px;margin-block:24px;display:flex}.project-viewer-controls button{width:52px;height:48px;color:inherit;background:0 0;border:1px solid #fff6;font-size:24px;line-height:1}.project-viewer-controls button:hover,.project-viewer-close:hover{background:var(--color-paper);color:var(--color-charcoal)}.project-viewer-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.project-viewer-thumbnails button{background:0 0;border:1px solid #0000;min-width:0;min-height:44px;padding:3px}.project-viewer-thumbnails button[aria-pressed=true]{border-color:var(--color-sand)}.project-viewer-thumbnails img{aspect-ratio:4/5;object-fit:cover;opacity:.66;width:100%;height:auto}.project-viewer-thumbnails button[aria-pressed=true] img,.project-viewer-thumbnails button:hover img{opacity:1}@media (hover:hover) and (pointer:fine){.project-open-label{opacity:0;transition:opacity .35s, translate .45s var(--ease-out);translate:0 6px}.project:first-child .project-open-label,.project-open:hover .project-open-label,.project-open:focus-visible .project-open-label{opacity:1;translate:0}}@media (prefers-reduced-motion:no-preference){.projects-heading{animation:portfolio-in .85s var(--ease-out) both}.projects-heading:focus-within{animation:none}.project-image img{transition:transform 1s var(--ease-out)}.project-record[open] .project-record-body{animation:portfolio-in .45s var(--ease-out)}.project-viewer[open]{animation:.28s ease-out viewer-in}@keyframes portfolio-in{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes viewer-in{0%{opacity:0}to{opacity:1}}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.project-open:hover .project-image img{transform:scale(1.035)}}@media (width<=1000px){.projects-heading-aside{max-width:245px}.projects-experience-inner{gap:32px}}@media (width<=760px),(height<=560px){.project-viewer-shell{grid-template-rows:auto auto 1fr;grid-template-columns:1fr;gap:15px;height:auto;min-height:100%;padding:12px 18px 20px}.project-viewer-header{padding-bottom:10px}.project-viewer-close{gap:12px;padding-inline:10px}.project-viewer-stage{height:clamp(160px,49dvh,540px)}.project-viewer-aside{grid-template-columns:minmax(0,1fr) auto;align-self:start;align-items:center;gap:16px 12px;display:grid}.project-viewer-caption h2{margin-block:8px;font-size:26px}.project-viewer-caption>p:last-child{font-size:12px}.project-viewer-controls{gap:6px;margin:0}.project-viewer-controls button{width:44px;height:44px}.project-viewer-thumbnails{grid-column:1/-1;width:min(100%,310px)}.project-viewer-thumbnails img{aspect-ratio:4/3}}@media (width<=700px){.projects-page{--portfolio-gutter:22px}.projects-portfolio{padding-top:38px}.projects-heading{flex-direction:column;align-items:start;gap:24px;margin-bottom:20px}.projects-heading h1{font-size:clamp(58px,17vw,110px)}.projects-heading-aside{max-width:38ch;padding:0}.projects-explore{margin-top:5px}.projects-gallery-heading{min-height:52px}.projects-gallery-heading .eyebrow{letter-spacing:.12em;font-size:9px}.projects-gallery-heading>a{font-size:11px}.project-grid{grid-template-columns:1fr;gap:36px}.project,.project-large{grid-column:auto}.project:nth-child(n){padding-top:0}.project-image,.project-large .project-image{aspect-ratio:4/5}.project:last-child .project-image{aspect-ratio:1}.project-open-label{gap:12px;font-size:11px;inset:auto 12px 12px auto}.project figcaption{margin-top:12px;padding-top:11px}.project-category{font-size:9px}.projects-experience-inner{grid-template-columns:1fr;gap:30px}.project-record summary{padding-block:22px}}
