/* Studio Proyectos — frontend */
html.spa-has-portfolio{scrollbar-gutter:stable}
.spa-portfolio{
  --spa-bg:#fff;--spa-text:#111;--spa-muted:#777;--spa-line:#cfcfcf;--spa-accent:#111;
  --spa-card-hover-text:#111;
  --spa-index-title-font:Georgia,"Times New Roman",serif;--spa-index-title-style:italic;--spa-index-title-size:110px;--spa-index-title-color:#111;
  --spa-index-subtitle-font:"Helvetica Neue",Helvetica,Arial,sans-serif;--spa-index-subtitle-style:normal;--spa-index-subtitle-size:18px;--spa-index-subtitle-color:#777;
  --spa-card-title-font:"Helvetica Neue",Helvetica,Arial,sans-serif;--spa-card-title-style:normal;--spa-card-title-size:21px;--spa-card-title-color:#111;
  --spa-card-meta-font:"Helvetica Neue",Helvetica,Arial,sans-serif;--spa-card-meta-style:normal;--spa-card-meta-size:14px;--spa-card-meta-color:#777;
  --spa-detail-title-font:Georgia,"Times New Roman",serif;--spa-detail-title-style:italic;--spa-detail-title-size:158px;--spa-detail-title-color:#111;
  --spa-detail-location-font:"Helvetica Neue",Helvetica,Arial,sans-serif;--spa-detail-location-style:normal;--spa-detail-location-size:124px;--spa-detail-location-color:#111;
  --spa-detail-eyebrow-font:Georgia,"Times New Roman",serif;--spa-detail-eyebrow-style:italic;--spa-detail-eyebrow-size:66px;--spa-detail-eyebrow-color:#111;
  --spa-detail-intro-font:"Helvetica Neue",Helvetica,Arial,sans-serif;--spa-detail-intro-style:normal;--spa-detail-intro-size:18px;--spa-detail-intro-color:#777;
  width:100%;max-width:1800px;min-width:0;margin:0 auto;padding:34px clamp(20px,3.5vw,64px) 80px;
  box-sizing:border-box;overflow-x:clip;background:var(--spa-bg);color:var(--spa-text);font-family:"Helvetica Neue",Arial,sans-serif
}
.spa-portfolio *{box-sizing:border-box;min-width:0}.spa-portfolio button,.spa-portfolio select{font:inherit}
.spa-toolbar{display:flex;flex-wrap:wrap;gap:18px 24px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--spa-line);padding-bottom:16px;margin-bottom:42px;max-width:100%}
.spa-filter-group{display:flex;flex:1 1 420px;min-width:0;flex-wrap:wrap;gap:18px}.spa-filter,.spa-inline-filter{border:0!important;background:transparent!important;background-color:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0;color:var(--spa-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;cursor:pointer}.spa-filter.is-active,.spa-filter:hover,.spa-filter:focus,.spa-inline-filter:hover,.spa-inline-filter:focus{color:var(--spa-text);background:transparent!important;background-color:transparent!important}.spa-filter:focus-visible,.spa-inline-filter:focus-visible,.spa-project-open:focus-visible,.spa-back:focus-visible,.spa-page-nav:focus-visible,.spa-page-number:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.spa-project-picker-label{display:flex;flex:0 1 auto;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--spa-muted);max-width:100%}.spa-project-picker{border:0;border-bottom:1px solid var(--spa-text);background:transparent;color:var(--spa-text);padding:7px 28px 7px 4px;min-width:220px;max-width:100%}
.spa-index-heading{max-width:760px;margin-bottom:42px}.spa-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--spa-muted);margin:0 0 9px}.spa-index-heading h2{font-size:var(--spa-index-title-size)!important;line-height:.9;font-family:var(--spa-index-title-font)!important;font-style:var(--spa-index-title-style)!important;font-weight:400;color:var(--spa-index-title-color)!important;margin:0 0 28px}.spa-index-heading>p:last-child{font-family:var(--spa-index-subtitle-font)!important;font-style:var(--spa-index-subtitle-style)!important;font-size:var(--spa-index-subtitle-size)!important;line-height:1.5;color:var(--spa-index-subtitle-color)!important;max-width:620px}
.spa-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 22px;width:100%;max-width:100%}.spa-project-card{min-width:0;max-width:100%;overflow:hidden}.spa-project-card[hidden]{display:none!important}
/* Important: themes often apply a generic blue background/border radius to button:hover. These rules isolate project cards from the active theme. */
.spa-portfolio button.spa-project-open,.spa-portfolio button.spa-project-open:hover,.spa-portfolio button.spa-project-open:focus,.spa-portfolio button.spa-project-open:active,.spa-portfolio button.spa-related-item,.spa-portfolio button.spa-related-item:hover,.spa-portfolio button.spa-related-item:focus,.spa-portfolio button.spa-related-item:active{display:block;width:100%;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;text-align:left;color:inherit;cursor:pointer;appearance:none;-webkit-appearance:none}
.spa-project-cover{display:block;aspect-ratio:4/3;overflow:hidden;background:#efefef}.spa-project-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:none}.spa-project-open:hover .spa-project-cover img{transform:none}
.spa-card-meta{display:grid;gap:6px;padding-top:14px;border-top:1px solid var(--spa-line);margin-top:12px;font-family:var(--spa-card-meta-font)!important;font-style:var(--spa-card-meta-style)!important;font-size:var(--spa-card-meta-size)!important;color:var(--spa-card-meta-color)!important;transition:color .2s ease}.spa-card-meta strong{font-family:var(--spa-card-title-font)!important;font-style:var(--spa-card-title-style)!important;font-size:var(--spa-card-title-size)!important;font-weight:500;color:var(--spa-card-title-color)!important;transition:color .2s ease}.spa-card-meta>span:last-child{font-family:var(--spa-card-meta-font)!important;font-style:var(--spa-card-meta-style)!important;font-size:var(--spa-card-meta-size)!important;color:var(--spa-card-meta-color)!important;transition:color .2s ease}.spa-card-category{font-family:var(--spa-card-meta-font)!important;font-style:var(--spa-card-meta-style)!important;font-size:var(--spa-card-meta-size)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--spa-card-meta-color)!important;transition:color .2s ease}
.spa-project-open:hover .spa-card-meta,.spa-project-open:hover .spa-card-meta strong,.spa-project-open:hover .spa-card-meta>span,.spa-project-open:focus-visible .spa-card-meta,.spa-project-open:focus-visible .spa-card-meta strong,.spa-project-open:focus-visible .spa-card-meta>span{color:var(--spa-card-hover-text)!important}

.spa-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;margin:56px 0 8px;padding-top:22px;border-top:1px solid var(--spa-line);width:100%;max-width:100%}.spa-pagination[hidden]{display:none!important}.spa-page-numbers{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.spa-portfolio .spa-page-nav,.spa-portfolio .spa-page-number{appearance:none;-webkit-appearance:none;border:0!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;color:var(--spa-muted);padding:7px 4px!important;cursor:pointer;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.06em}.spa-portfolio .spa-page-number{min-width:30px;border-bottom:1px solid transparent!important;font-size:13px;letter-spacing:0}.spa-portfolio .spa-page-number.is-active{color:var(--spa-text);border-bottom-color:var(--spa-text)!important}.spa-portfolio .spa-page-nav:hover,.spa-portfolio .spa-page-nav:focus,.spa-portfolio .spa-page-number:hover,.spa-portfolio .spa-page-number:focus{color:var(--spa-text);background:transparent!important}.spa-portfolio .spa-page-nav:disabled{opacity:.32;cursor:default}.spa-page-ellipsis{color:var(--spa-muted);padding:0 2px}.spa-page-status{flex-basis:100%;text-align:center;color:var(--spa-muted);font-size:11px;letter-spacing:.04em;margin-top:3px}
.spa-back{border:0!important;background:transparent!important;background-color:transparent!important;box-shadow:none!important;border-radius:0!important;color:var(--spa-muted);padding:0!important;margin:0 0 34px;cursor:pointer}.spa-back:hover,.spa-back:focus{color:var(--spa-text);background:transparent!important}
.spa-project-header{padding-top:10px}.spa-title-zone h1{font-family:var(--spa-detail-title-font)!important;font-style:var(--spa-detail-title-style)!important;font-weight:400;font-size:var(--spa-detail-title-size)!important;color:var(--spa-detail-title-color)!important;line-height:.78;letter-spacing:-.045em;margin:0;text-transform:uppercase}.spa-location-title{font-family:var(--spa-detail-location-font)!important;font-style:var(--spa-detail-location-style)!important;font-size:var(--spa-detail-location-size)!important;font-weight:300;color:var(--spa-detail-location-color)!important;line-height:.95;letter-spacing:-.045em;text-transform:uppercase;margin-top:16px}.spa-breadcrumb{display:flex;align-items:center;gap:16px;margin-top:62px;font-size:12px;color:var(--spa-muted)}
.spa-project-summary{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(520px,1.35fr);gap:clamp(50px,8vw,140px);margin-top:82px;align-items:start}.spa-editorial-intro h2{font-family:var(--spa-detail-eyebrow-font)!important;font-style:var(--spa-detail-eyebrow-style)!important;font-size:var(--spa-detail-eyebrow-size)!important;font-weight:400;color:var(--spa-detail-eyebrow-color)!important;line-height:.98;letter-spacing:-.025em;margin:0 0 28px;max-width:600px}.spa-editorial-intro p{margin:0;font-family:var(--spa-detail-intro-font)!important;font-style:var(--spa-detail-intro-style)!important;color:var(--spa-detail-intro-color)!important;font-size:var(--spa-detail-intro-size)!important;line-height:1.5;max-width:640px}.spa-tech-block h3,.spa-related h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em;font-weight:500;border-bottom:1px solid var(--spa-text);padding-bottom:10px;margin:0}.spa-tech-block dl{margin:0}.spa-tech-row{display:grid;grid-template-columns:32% 1fr;gap:20px;border-bottom:1px dotted var(--spa-text);padding:12px 0}.spa-tech-row dt{color:var(--spa-muted);text-transform:uppercase;font-size:13px}.spa-tech-row dd{margin:0;text-align:right;font-family:"Courier New",monospace;font-size:14px;line-height:1.2;white-space:normal}
.spa-media-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(320px,.95fr);gap:clamp(38px,6vw,88px);margin-top:82px;align-items:start;max-width:100%}.spa-gallery-stage{position:relative;aspect-ratio:16/10;background:#f1f1f1;overflow:hidden}.spa-gallery-slide{position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity .25s ease}.spa-gallery-slide.is-active{opacity:1;pointer-events:auto}.spa-gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}.spa-gallery-prev,.spa-gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:72px;border:0;background:rgba(255,255,255,.82);color:#333;font-size:50px;font-weight:200;line-height:1;cursor:pointer}.spa-gallery-prev{left:0}.spa-gallery-next{right:0}.spa-gallery-count{position:absolute;right:12px;bottom:10px;background:rgba(255,255,255,.86);padding:7px 9px;font-size:12px}.spa-gallery-thumbs{display:flex;gap:10px;overflow:auto;padding-top:12px;max-width:100%}.spa-gallery-thumb{width:90px;height:64px;padding:0;border:1px solid transparent;background:transparent;opacity:.48;cursor:pointer;flex:0 0 auto}.spa-gallery-thumb.is-active{opacity:1;border-color:var(--spa-text)}.spa-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.spa-related-item{display:grid!important;grid-template-columns:130px 1fr;gap:16px;padding:16px 0!important;border-bottom:1px solid var(--spa-line)!important}.spa-related-thumb{display:block;aspect-ratio:1.2/1;overflow:hidden;background:#f1f1f1}.spa-related-thumb img{width:100%;height:100%;object-fit:cover;display:block}.spa-related-copy{display:flex;flex-direction:column;gap:6px}.spa-related-copy small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--spa-muted)}.spa-related-copy strong{font-size:20px;line-height:1.08}.spa-related-copy>span{color:var(--spa-muted);font-size:14px;line-height:1.35}.spa-long-content{max-width:980px;margin:80px auto 0;font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.65}.spa-no-images,.spa-empty{padding:60px;border:1px solid var(--spa-line);color:var(--spa-muted);text-align:center}.spa-cover-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#f1f1f1,#fafafa)}
@media(max-width:1100px){.spa-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spa-project-summary{grid-template-columns:1fr;gap:48px}.spa-media-layout{grid-template-columns:1fr}.spa-related{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.spa-related h3{grid-column:1/-1}.spa-index-heading h2{font-size:min(var(--spa-index-title-size),10vw)!important}.spa-title-zone h1{font-size:min(var(--spa-detail-title-size),11vw)!important}.spa-location-title{font-size:min(var(--spa-detail-location-size),9vw)!important}.spa-editorial-intro h2{font-size:min(var(--spa-detail-eyebrow-size),7vw)!important}}
@media(max-width:700px){.spa-pagination{gap:10px}.spa-page-status{margin-top:7px}.spa-portfolio{padding:24px 18px 60px}.spa-toolbar{align-items:flex-start;flex-direction:column}.spa-filter-group{flex-basis:auto}.spa-project-picker-label{width:100%;justify-content:space-between}.spa-project-picker{min-width:0;flex:1;max-width:250px}.spa-project-grid{grid-template-columns:1fr;gap:34px}.spa-breadcrumb{margin-top:36px;flex-wrap:wrap}.spa-project-summary{margin-top:52px}.spa-tech-row{grid-template-columns:1fr;gap:6px}.spa-tech-row dd{text-align:left}.spa-media-layout{margin-top:54px}.spa-related{grid-template-columns:1fr}.spa-related-item{grid-template-columns:108px 1fr}.spa-gallery-prev,.spa-gallery-next{width:40px;height:58px;font-size:40px}.spa-index-heading h2{font-size:min(var(--spa-index-title-size),18vw)!important}.spa-title-zone h1{font-size:min(var(--spa-detail-title-size),16vw)!important;line-height:.86}.spa-location-title{font-size:min(var(--spa-detail-location-size),13vw)!important}.spa-editorial-intro h2{font-size:min(var(--spa-detail-eyebrow-size),11vw)!important}}
