/* Shared presentation: discreet controls, sentence case and a contact footer. */
html body.editorial-page *{text-transform:none!important}
html body.editorial-page .editorial-header{background:var(--header-bg);-webkit-backdrop-filter:blur(22px) saturate(125%);backdrop-filter:blur(22px) saturate(125%)}
html[data-theme="dark"]{--header-bg:rgba(0,0,0,.76)}
html[data-theme="light"]{--header-bg:rgba(242,241,240,.76)}
.contact-footer{scroll-margin-top:calc(var(--header-height,80px) + 24px)}
html body.editorial-page .contact-footer,html body.inicio-page .contact-footer{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:30px var(--gutter);margin:32px auto 0;max-width:var(--max);border-top:1px solid var(--line);background:var(--bg)}
.footer-directory{display:flex;gap:clamp(24px,5vw,80px);flex-wrap:wrap}
.footer-email{display:flex;flex-direction:column;gap:6px;font-size:.875rem;overflow-wrap:anywhere}
.footer-email span{font-size:.8125rem;color:var(--muted)}
.footer-socials{display:flex;align-items:center;gap:8px}
.footer-social{width:44px;height:44px;display:grid;place-items:center;color:var(--text);border-radius:50%;border:1px solid transparent}
a.footer-social:hover{border-color:var(--line);background:var(--surface)}
.footer-social.is-pending{color:var(--muted);opacity:.65}
.footer-social img{width:22px;height:22px;object-fit:contain}
.home-media{position:relative}
html body.editorial-page .gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;padding:0;margin:0;border-radius:50%;border:1px solid var(--line);background:var(--header-bg);color:var(--text);font-size:20px;opacity:1;z-index:5;cursor:pointer;backdrop-filter:blur(12px)}
html body.editorial-page .gallery-arrow:hover{background:var(--surface)}
.gallery-arrow[data-home-prev],html body.editorial-page .gallery-arrow.carousel-prev{left:12px}
.gallery-arrow[data-home-next],html body.editorial-page .gallery-arrow.carousel-next{right:12px}
.gallery-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;padding:4px 48px;min-height:40px}
html body.editorial-page .gallery-dot{display:grid;place-items:center;width:28px;height:36px;min-width:28px;min-height:36px;margin:0;padding:0;border:0!important;background:none!important;border-radius:0;cursor:pointer}
.gallery-dot span{display:block;width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.45;transition:opacity .2s,width .2s}
.gallery-dot[aria-pressed="true"] span{width:8px;height:8px;background:var(--text);opacity:1}
.gallery-dot:hover span{opacity:1}
html body.inicio-page .feature-controls{position:relative;display:flex;justify-content:center;align-items:center;width:100%;margin:0;gap:0}
html body.inicio-page .feature-controls .gallery-dots{padding:0 44px}
html body.inicio-page .gallery-pause{position:absolute;right:0;top:50%;transform:translateY(-50%);width:36px;height:36px;min-width:36px;min-height:36px;border:0;background:none;padding:0;font-size:18px;color:var(--muted)}
html body.inicio-page .home-feature{gap:12px}
html body.inicio-page .feature-bottom{padding:0;gap:0}
html body.inicio-page .home-project-info h2{margin:0 0 8px}
.media-viewer__dots{max-width:70%;padding:0;justify-content:center;color:#fff}
.media-viewer__dots .gallery-dot[aria-pressed=true] span{background:#fff}
html body.editorial-page .media-viewer__topbar{justify-content:center;position:relative}
.media-viewer__actions{margin-left:auto}
.media-viewer__dots{position:absolute;left:50%;transform:translateX(-50%)}
.archive-vertical a{grid-template-columns:1fr!important}
@media(max-width:700px){html body.editorial-page .contact-footer{align-items:flex-start;flex-direction:column;gap:16px;padding:26px var(--gutter)}.footer-directory{gap:20px}.footer-socials{margin-left:-10px}.gallery-dots{padding-inline:12px}.media-viewer__dots{max-width:65%}}
@media(prefers-reduced-motion:reduce){.gallery-dot span{transition:none}}

.home-feature:not(.is-enhanced) .gallery-arrow{display:none}
.project-carousel>.gallery-arrow{top:calc((100% - 48px)/2)}

@media(max-width:700px){html body.inicio-page .home-main{min-height:0}.media-viewer__dots{position:static;transform:none;max-width:100%;order:2;width:100%}html body.editorial-page .media-viewer__topbar{flex-wrap:wrap}.media-viewer__actions{margin-left:auto}}

/* Brand exception and project metadata without the removed number column. */
html body.editorial-page .editorial-brand [data-brand-fallback]{display:block!important;font-family:"Urbanist",Arial,sans-serif;font-weight:900;font-size:14px;letter-spacing:.025em;text-transform:uppercase!important;white-space:nowrap}
html body.editorial-page .editorial-brand .brand-wordmark{display:none!important}
html body.editorial-page .project-info-main{display:block;flex:1;min-width:0}
html body.editorial-page .project-info-main>div{width:100%;min-width:0}
html body.editorial-page .project-info h2{word-break:normal;overflow-wrap:normal}
html body.editorial-page .project-info>span{flex-shrink:0}
@media(max-width:700px){html body.editorial-page .editorial-brand [data-brand-fallback]{font-size:12px}.project-info{gap:16px}}

/* Flush-left project information and a distinct footer hierarchy. */
html body.editorial-page .project-info{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left}
html body.editorial-page .project-info-main{width:100%;padding-top:0}
html body.editorial-page .project-info-main::before{content:none}
html body.editorial-page .project-credits{margin:16px 0 0;padding:0;text-align:left}
html body.editorial-page .project-credits p,html body.editorial-page .project-info p{margin-left:0;padding-left:0;text-indent:0}
html body.editorial-page .footer-email{color:var(--text);font-size:14px}
html body.editorial-page .footer-email span{color:var(--muted);font-size:12px;opacity:.8}
.project-description{max-width:62ch;margin:24px 0 32px;font-family:var(--font-body);font-size:var(--text-body);line-height:1.7;color:var(--text);white-space:pre-line;text-align:left}

/* Consistent project identifiers; metadata remains flush left. */
html body.editorial-page .project-id{font-family:var(--font-metadata);font-size:12px;font-weight:400;color:var(--muted);letter-spacing:.02em;vertical-align:middle;font-variant-numeric:tabular-nums;white-space:nowrap}
html body.editorial-page h1 .project-id,html body.editorial-page h2 .project-id{margin-right:10px}
html body.editorial-page .archive-vertical a{grid-template-columns:32px minmax(0,1fr)!important;gap:10px}

/* Iteración 51: recorrido más amplio y navegación agrupada. */
html body.inicio-page .home-main{width:100%;max-width:var(--max);padding-inline:var(--gutter)}
html body.inicio-page .home-media{width:100%}
html body.inicio-page .home-image-link img{object-fit:cover}
html body.editorial-page .archive-layout{display:block}
html body.editorial-page .editorial-theme{gap:3px}
html body.editorial-page .editorial-theme button{font-size:11px;width:28px;min-width:28px;min-height:32px;height:32px;padding:4px;color:var(--muted);border:0;background:transparent}
html body.editorial-page .editorial-theme button[data-theme-choice]{width:auto;padding:4px 8px}
.site-menu{position:relative}
.site-menu summary{width:40px;height:40px;display:grid;place-items:center;cursor:pointer;list-style:none;color:var(--muted)}
.site-menu summary::-webkit-details-marker{display:none}
.hamburger-icon{width:19px;height:13px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative}
.hamburger-icon::before{content:"";position:absolute;left:0;right:0;top:5px;border-top:1px solid currentColor}
.site-menu-panel{position:absolute;right:0;top:calc(100% + 12px);width:min(280px,calc(100vw - 36px));padding:22px;background:var(--bg);border:1px solid var(--line);box-shadow:0 12px 40px #0002;z-index:30}
.menu-label{font-size:12px;color:var(--muted);margin:0 0 12px}
.menu-appearance{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
html body.editorial-page .site-menu .archive-vertical a{font-size:14px;padding:9px 0}
html body.editorial-page .home-project-info h2 a::after,html body.editorial-page .project-info h2 a::after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:.4em;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);vertical-align:.12em;opacity:.6}
@media(max-width:700px){html body.inicio-page .home-main{padding-inline:var(--gutter)}.site-menu-panel{top:calc(100% + 8px)}}

/* Hamburger only on mobile; original desktop archive rail. */
@media(min-width:701px){html body.editorial-page .site-menu{display:none}html body.editorial-page .archive-layout{display:grid}}
@media(max-width:700px){html body.editorial-page .desktop-appearance{display:none}html body.editorial-page .archive-rail{display:none}html body.editorial-page .archive-layout{display:block}}

/* Graphic rhythm: overlined IDs and evenly spaced principle rows. */
html body.editorial-page .project-info h2{display:flex;align-items:flex-start;gap:14px}
html body.inicio-page .home-project-info h2{display:flex;align-items:flex-start;justify-content:center;gap:14px}
html body.editorial-page .project-info h2>.project-id,html body.inicio-page .home-project-info h2>.project-id{display:inline-block;position:relative;flex-shrink:0;margin:4px 0 0;line-height:1.5;padding:0}
html body.editorial-page .project-info h2>.project-id::before,html body.inicio-page .home-project-info h2>.project-id::before{content:"";position:absolute;top:-8px;left:0;width:100%;border-top:1px solid currentColor;opacity:.8}
html body.nosotros-page .principles-compact{border-bottom:0}
html body.nosotros-page .principles-compact>div,html body.nosotros-page .principles-compact>div:first-child,html body.nosotros-page .principles-compact>div:not(:last-child),html body.nosotros-page .principles-compact>div:nth-child(2n){margin:0;padding:28px 0;border:0;border-top:1px solid var(--line);align-items:start;column-gap:24px;row-gap:12px}
html body.nosotros-page .principles-compact>div:last-child{border-bottom:1px solid var(--line)}
html body.nosotros-page .principles-compact>div>span{padding-top:3px}
html body.nosotros-page .principles-compact h3,html body.nosotros-page .principles-compact p{margin:0;padding:0}
@media(max-width:700px){html body.nosotros-page .principles-compact>div{column-gap:18px}}

/* The rule aligns with the title; the identifier hangs below it. */
html body.editorial-page .project-info h2>.project-id,html body.inicio-page .home-project-info h2>.project-id{margin-top:0;padding-top:8px}
html body.editorial-page .project-info h2>.project-id::before,html body.inicio-page .home-project-info h2>.project-id::before{top:0}

html body.editorial-page .project-info h2>.project-id,html body.inicio-page .home-project-info h2>.project-id{margin-top:6px}
@media(max-width:700px){html body.editorial-page .project-info h2>.project-id,html body.inicio-page .home-project-info h2>.project-id{margin-top:4px}}

/* Match the home title's line box to the project-heading alignment. */
html body.inicio-page .home-project-info h2,html body.inicio-page .home-project-info h2>a{line-height:1.18}

/* Mobile home photographs reach the same page edges as project galleries. */
@media(max-width:700px){html body.inicio-page .home-media{width:calc(100% + var(--gutter) * 2);margin-inline:calc(var(--gutter) * -1)}}

/* Editable theme-specific branding. */
html body.editorial-page .editorial-brand .brand-wordmark:not([hidden]){display:block!important;width:auto;max-width:170px;height:28px;object-fit:contain}
html body.editorial-page .editorial-brand [data-brand-fallback][hidden],html body.editorial-page .editorial-brand .brand-wordmark[hidden]{display:none!important}
/* Symmetrical space above and below keeps the photo centered. */
html body.inicio-page .home-main{display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);min-height:calc(100svh - var(--header-height,64px));gap:0;padding-block:0}
html body.inicio-page .home-feature{display:contents}
html body.inicio-page .home-heading{grid-row:1;align-self:end;padding:16px 0}
html body.inicio-page .home-heading h1{margin:0}
html body.inicio-page .home-media{grid-row:2}
html body.inicio-page .home-after{grid-row:3;align-self:start;padding:12px 0 24px}
html body.inicio-page [data-home-slides]{height:clamp(220px,52svh,650px)}
html body.editorial-page .project-info h2{margin-bottom:14px}
html body.editorial-page .project-info{gap:4px}
html body.editorial-page .project-credits{margin-top:8px}
@media(max-width:700px){html body.inicio-page [data-home-slides]{height:clamp(220px,40svh,420px)}html body.editorial-page .editorial-brand .brand-wordmark:not([hidden]){height:24px;max-width:135px}}

html body.inicio-page .home-main{height:calc(100svh - var(--header-height,64px))}

.project-context{margin:28px 0 40px}.project-context.has-documentary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,64px);align-items:start}.project-context .project-description{margin:0}.project-documentary{display:grid;gap:24px}.project-documentary figure{margin:0}.project-documentary img{display:block;width:100%;height:auto}.project-documentary figcaption{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5}@media(max-width:700px){.project-context.has-documentary{grid-template-columns:1fr}}

html body.editorial-page .editorial-brand [data-theme-logo][hidden]{display:none!important}
html body.editorial-page .editorial-brand .brand-wordmark:not([hidden]){height:32px;max-width:220px}@media(max-width:700px){html body.editorial-page .editorial-brand .brand-wordmark:not([hidden]){height:28px;max-width:170px}}

/* Version 60: taller presentation, full image width and invisible container. */
html body.inicio-page .home-main{height:auto;min-height:calc(100svh - var(--header-height,64px));grid-template-rows:minmax(80px,1fr) auto minmax(160px,1fr)}
html body.inicio-page .home-media,html body.inicio-page [data-home-slides],html body.inicio-page .home-image-link{background:transparent;border:0;box-shadow:none}
html body.inicio-page [data-home-slides]{width:100%;aspect-ratio:3/2;height:auto;min-height:280px;max-height:70svh}
html body.inicio-page .home-image-link img{width:100%;height:auto;max-height:none;min-height:0;inset:auto 0;top:50%;transform:translateY(-50%);object-fit:initial}
@media(max-width:700px){html body.inicio-page [data-home-slides]{aspect-ratio:3/2;min-height:280px;max-height:64svh}}

/* Compact caption and a centered composition within the first screen. */
html body.inicio-page .home-main{display:flex;flex-direction:column;justify-content:center;height:var(--home-available,calc(100svh - var(--header-height,64px)));min-height:0;gap:0;padding-block:16px;box-sizing:border-box}
html body.inicio-page .home-heading{flex:none;align-self:stretch;padding:0 0 12px}
html body.inicio-page .home-heading:has(h1:empty){display:none}
html body.inicio-page .home-media{flex:none;align-self:center}
html body.inicio-page [data-home-slides]{height:var(--home-stage-height,50svh);min-height:0;max-height:none;aspect-ratio:auto}
html body.inicio-page .home-after{flex:none;align-self:stretch;padding:0;min-width:0}
html body.inicio-page .home-project-info h2{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.25;margin:0 0 5px;gap:10px}
html body.inicio-page .home-project-info .feature-meta{font-size:.6875rem;line-height:1.45;margin:0;color:var(--muted)}
html body.inicio-page .home-project-info h2>.project-id{font-size:.625rem;padding-top:8px;margin-top:0;min-width:26px}
html body.inicio-page .home-image-link img{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:auto;max-width:none;max-height:none;object-fit:initial}
html body.inicio-page .home-image-link img[data-orientation="portrait"]{width:auto;height:100%}
html body.inicio-page .feature-controls .gallery-dots{padding:0 36px;min-height:36px}
html body.inicio-page .gallery-pause{right:4px}

html body.inicio-page .feature-controls .gallery-dots{padding-inline:0}

/* Reserve the complete presentation before images and scripts load. */
html body.inicio-page .home-main{height:calc(100svh - var(--header-height,67px))}
html body.inicio-page .home-media{height:min(66vw,70svh);flex:0 1 auto;min-height:0}
html body.inicio-page [data-home-slides]{height:100%}
html body.inicio-page .home-after{min-height:88px}
html body.inicio-page .feature-controls{min-height:36px;display:flex!important}
html body.inicio-page .home-heading{min-height:44px}
@media(max-width:700px){html body.inicio-page .home-main{height:calc(100svh - var(--header-height,109px))}html body.inicio-page .home-after{min-height:104px}}
